【ITパスポート】このような情報漏洩が起こるメカニズム【日立製作所】

プレス発表 ITパスポート試験における個人情報等の漏えいについて:IPA 独立行政法人 情報処理推進機構

2018年2月26日に二つの団体申込者が、ウェブサイトから申込情報をCSVファイルでダウンロードできる機能を同時に利用したところ、双方の申込情報が合わさって記載されたCSVファイルが双方でダウンロードされました。当該CSVファイルには、ITパスポート試験の受験申込者の受験番号、氏名、受験日、受験料金の支払いに用いるチケット番号、また、受験済みの者にあっては成績及び合格証書番号、等が記載されており、これらの個人情報等が漏えいしました。
 同日、当該ファイルをダウンロードした団体申込者の双方から、ITパスポート試験運営業務の再委託先であるコールセンターにダウンロードされた情報に異常がある旨の連絡があり、IPAはITパスポート試験運営業務の委託先である、株式会社日立製作所を経由して報告を受けました。
 IPAは、後日、両団体申込者を訪問し、謝罪するとともに、漏えいした個人情報等が破棄されていることを確認しました。また、システムの不具合については、3月5日に改修し、再発防止措置が完了しました。

あんまり、プログラムに詳しくない人の場合なんでこんな馬鹿な情報漏えいが起こったのか、全くもってわからないと思うので、起こり得る原因について考察してみました ・ω・ (ネタがないとも言う)


データベースエンジニアだとデータベースがトランザクション処理を前提に組まれてるので、あんまりプログラム作成時に同時処理などを意識する必要はないのですが。
ちょっと古いアプリケーションベースでプログラムを作っていた人が、こういうプログラムを作ろうとしたんじゃないかなと思います。・ω・

こういうデータをCSV等のファイルにして出力させるアプリケーションは、
・データベースのクエリ結果をそのまま、整形してダイレクトに出力する方式
・一旦出力を、一時ファイルに変換して出力したものを、ダウンロードさせる仕組み
の2つが考えられます。

前者であれば、あんまり、こういう悲劇的(まぬけ)な情報漏えいはおこらないのですが、
後者の場合、一時ファイルの作り方に手を抜くと、悲劇が起こります。

一番ありがちなのが、一時ファイルの出力名が同じだった場合。
近い時間帯で同時にアクセスする人が居た場合、複合ファイルが出来てしまいます。
まぁ・・・これは流石にないと思いますが。

次が、一時ファイルの出力ファイル名を時間ベースにしてしまった場合。
ファイル名を例えば、tmpHHMMSS.csv とか にしてしまうと、たまたま、同じ秒にアクセスした人が居た場合
同じファイルにアクセスして、複合ファイルが生成されてしまうわけです

まぁ、それを回避するために、一時フォルダ名の生成自体を API に任せてしまったり、ユーザーIDなどの要素を絡めて、重複しないように工夫したりするわけですが、そのあたりの細かい設計シヨウ迄が作り込まれていないシステムで、なおかつ、携わったプログラム作成者にそういう設計思想が無いことが重なると、こういった面白い(まぬけな)プログラムが情報漏えいを引き起こしてくれます ・ω・

とても (見てる分には)楽しいですね

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です