※ 本記事は2017年2月27日に公開されたものです。

さて、このブログではデータベースセキュリティの考え方と実装方法の例を説明してきていますが、実際にお客様に提案をおこなうと、「別の方法で対策をおこなっているから」と言われることがよくあります。いわゆる代替コントロールで対応しているので提案した対策は不要と考えている訳です。

前回のエントリで例示した、ワンタイムパスワードを利用しているので共有アカウントの利用を許容することも代替コントロールの一つの例です。また、「このシステムは外部ネットワークに接続していないからサイバーセキュリティ対策は不要です」というのもネットワーク遮断という物理的な方法で代替コントロールをしようとしている例です。ちなみによくよくヒアリングしてみるとネットワークに接続していないと思っているだけのケースもあります。「ウイルス対策ソフトの定義ファイルの更新はどのようにおこなっていますか?」と聞くと「社内の更新サーバーからダウンロードしています」と答えられることもあります。社内の更新サーバーは結局外部のどこかから定義ファイルを更新しているはずであり、直接外部との接続はなくても間接的に外部と接続されている事はあります。定義ファイルの更新サーバー、データ連携サーバー、運用監視サーバーなど関連するサーバーのネットワーク構成も確認する必要があります。
また、システムが外部と完全に遮断されているために、業務のためにデータを外部に中間ファイルとしてセキュリティが十分担保されていない形で出力し、そこから情報が流出した日本の公共機関の事件や、完全にネットワークは分離していたにもかかわらず、USBデバイス経由で分離されたネットワークにウイルスが蔓延してしまった米軍のオペレーションバックショットヤンキー事件(Operation Buckshot Yankee)なども発生しているので、隔離されていれば安全というわけではありません。

代替コントロールでよく聞く対策のひとつに「アプリケーションで暗号化して、アクセス制御の代替とする」というものがあります。アプリケーションで暗号化しておけば、データベースで検索しても暗号化されたデータが戻るのでデータベース管理者からもデータが見えないため、アクセス制御はおこなう必要はないという考え方です。
たしかに検索しても平文のデータは戻りませんが、この方法では情報の破壊(削除や改ざん)には対応できません。意味のない文字列を変更され、データが破壊されても、それに気付くことも難しいです。また、データパッチなど手動でデータを修正する際には、暗号鍵を使って暗号化したデータを直接データベースに入れます。このデータパッチ処理をデータベース管理者が実施する運用をおこなっている場合にはデータベース管理者は暗号鍵を知っている事になり、暗号化していてもデータベース管理者はデータを復号できてしまいます。

暗号化しても他のアクセス制御などのセキュリティ対策も必要だという考え方が近年明文化されるようになってきました。
たとえば、個人情報は暗号化しても個人情報であり、アクセス制御などの安全管理措置(セキュリティ対策)は必要であることが、平成29年5月30日施行の改正個人情報法に関連して個人情報保護委員会や経済産業省が作成したガイドラインなどにも記載されています。

個人情報の保護に関する法律についてのガイドライン(通則編) (平成28年11月 個人情報保護委員会)

P5 2-1 個人情報報 (法第2条第1項関係)

「個人に関する情報」とは、氏名、住所、性別、生年月日、顔画像等個人を識別する情報に限られず、個人の身体、財産、職種、肩書等の属性に関して、事実、判断、評価を表す全ての情報であり、評価情報、公刊物等によって公にされている情報や、映像、音声による情報も含まれ、暗号化等によって秘匿化されているかどうかを問わない。

個人情報の保護に関する法律についての経済産業分野を対象とするガイドライン (平成28年12月28日厚生労働省・経済産業省告示第2号)

P2 2-1-1.「個人情報」(法第2条第1項関連)

「個人情報」とは、生存する「個人に関する情報」であって、特定の個人を識別することができるもの(他の情報と容易に照合することができ、それにより特定の個人を識別することができるものを含む。)をいう。「個人に関する情報」は、氏名、性別、生年月日等個人を識別する情報に限られず、個人の身体、財産、職種、肩書等の属性に関して、事実、判断、評価を表すすべての情報であり、評価情報、公刊物等によって公にされている情報や、映像、音声による情報も含まれ、暗号化等によって秘匿化されているかどうかを問わない(ただし、「2-2-3-2.安全管理措置(法第20条関連)」の対策の一つとして、高度な暗号化等による秘匿化を講じることは望ましい。)。

個人情報保護委員会は業種を問わず全ての事業者が個人情報を管理するうえで必要な措置を策定し、各事業者を監視・監督する機関です。このガイドラインは全ての事業者が遵守すべきものとなりますが、ここで暗号化されていても個人情報だと明記されており、暗号化はアクセス制御の代替コントロールにはならない事を示しています。また、経済産業省のガイドラインでも同等の記載があり、さらに暗号化はやっておいた方が望ましい、つまり経済産業省は暗号化もアクセス制御も  おこなう必要があるとしています。

代替コントロールを実施するときに注意すべき点は、もともとの対策で軽減できるリスクのすべてを、代替コントロールで十分に対応できているかどうかです。個人アカウントの利用という対策の代替コントロールとして、ワンタイムパスワードを利用する場合、匿名性は排除できますが、個人アカウント利用を前提とした最小権限の原則は実現できないため、共有アカウントを利用していても最小権限の原則を実現するための対策を考慮する必要があります。代替コントロールを選択することで、もともとの対策以上のコストがかかってしまったり、システムが複雑になってしまったりすることもありますので注意が必要です。

代替コントロールに関してはクレジットカード番号情報保護のためのガイドラインであるPCI-DSSでも安易に利用しないように注意がされています。「PCI-DSS 代替コントロール」で検索するとさまざまな専門家が書いた情報にアクセスできますのでこちらもご参照ください。

このブログで記載しているセキュリティ対策(一部私見もありますが、ベースはOracle Databaseのセキュリティ対策のベストプラクティスです)や個人情報保護法のガイドラインなどに記載されている「望まれる手法の例示」で記載されているセキュリティ対策は、リスクに対応するための唯一の方法ではありません。しかし、全体としてセキュリティを担保するための有効な方法として識者が導き出した対策であり、システムの規模や環境に依存してしまうところもありますが、一般的にはもっともリーズナブルなものです。一見大変そうな対策も書かれていますが、安易に代替コントロールの利用に逃げずに、セキュリティ対策をおこなっていただきたいと考えています。

「もくじ」にもどる