(1)データベースからのダウンロード禁止
情報漏えいのリスクが高まるのは、情報をコピー(複製、印刷、メール送信など)するときです。
その理由は、情報管理における連鎖が途切れてしまう可能性があるからです。また、情報が増えることで管理コストが増大することもリスクを増やします。
データベースシステムで情報漏えいリスクが高まるのは、データをダウンロードしたりバックアップを取ったりする時です。
ベネッセコーポレーションでは顧客データベースからのダウンロードを制限していたと報告されています。ただし、これでは保守ができませんので、管理者には何らかの権限が与えられ、ダウンロードができるようになっていたようです。
ここでの着眼点は2点です。
ひとつは管理者権限の与え方です。管理者IDが個別に与えられていることが重要です。管理者IDは1つ(例えば、adminやrootなど)で管理者業務を用のものを共通で使っているとなると、行動を把握することができません。この状況では、パスワードの変更が容易でないために、管理者IDの不正利用がされやすくなってしまいます。
もう1つは、管理者IDの権限について、どのような業務ができるのかという点です。担当者ごとに別のIDが与えられ、許可されている業務が異なるのであれば問題ありませんが、すべての業務を実行できるということになると、権限を超えた業務が実施できることになってしまいます。
管理者IDは個別に与えられ、それぞれの業務に応じた権限が割り当てられていることが重要です。
さらに、バックアップの管理やログの管理も重要になってきます。
データベース上ではID単位で管理ができている企業でも、バックアップデータには比較的多くのエンジニアがアクセスできることがあります。バックアップデータもデータベース内のデータと同様のアクセス権を設定できるようにしなければいけません。
これはログについても同様です。ログデータには、処理したデータの内容が記載されることがあります。特に個人情報の場合はどのデータを操作したのかについて、データに与えられたインデックス(IDなどのキーとなるデータ)をもとに名寄せすることで、意味のあるデータを作り出せてしまいます。以前にこの方法で、キャッシュカードを偽造されてしまうという事件が発生しました。システムの開発時に必要なログデータと、運用時に必要なログデータは異なります。これらのログへのアクセス権についても、相応の注意が必要になってきます。
(2)デバイスの制限
シンフォームでは、データベースに接続できるPCを制限していたようです。 そしてそのPCからのデータ持ち出しができないように、USBメモリなどの外部メディアの接続なども制限されていたように報道されています。
しかしながら、今回は犯人のスマートフォンを接続することで情報の持ち出しに成功してしまいました。以前から情報を持ち出そうと思っていた犯人が偶然スマートフォンを接続した際に、外部メディアとして利用できることに気がついたということです。
たとえば、デジタルカメラなどではマスストレージモードというのがあり、USBメモリのように振る舞って、PCにデータを送ったり、PCからデータを保存したりすることができます。このような振る舞いをするデバイスであれば、USBメモリを禁止にしておくことで同様に接続の禁止ができます。
スマートフォンもUSB経由で接続されるために同じように制限されるかもしれないと考えていたのかもしれませんが、導入していたアプリケーションでは制限されなかったようです。
これはAndroidスマートフォンの接続がUSBメモリの振る舞いを模したものではなく、別の接続形式であったことが考えられます。また、AndroidはOSのバージョンが複数あり、それによる接続形式の違いなどもあったかもしれません。どちらにせよ、スマートフォンが接続され、外部メディアとして利用されるかもしれないということが想定されていなかったのが問題だったといえるでしょう。
このような制限を行う場合に、ブラックリスト方式、ホワイトリスト方式があります。ブラックリスト方式とは、制限するものをリストにするやり方です。この場合は制限するものをリストに載せなければいけませんので、頻繁な更新が必要になります。一方でホワイトリスト方式では、許可するものだけをリストにするやり方です。頻繁な更新が必要ありませんが、許可するデバイスが多い場合に設定が面倒になります。
どちらが良いかはその環境によりけりですが、今回の場合はブラックリスト方式で、その更新がうまくいってなかったのが問題だと判断することができます。