エンジニアが知っておくべき4つのデータベース攻撃シナリオ
皆さんの記憶にも新しいかと思いますが、2011年には被害総額が非常に大きな情報漏えい事件が発生しました。あるオンライン・バンキングでは、クレジット・カード利用者、口座番号、連絡先情報が流出した上に流出したカード情報が不正利用され、オンライン・ゲーム・サイトの事例では、クレジット・カード番号をも含む個人情報が流出したことにより、推定被害総額が億や兆を超える事態となっています。2012年もオンライン・ショッピング・サイトでの大規模な個人情報漏えい事件をはじめ、多くの情報漏えい事件が発生しています。このように個人情報だけでなく企業情報も含む情報漏えい事件は後を絶ちませんが、なぜ情報が漏えいしてしまうのか、その原因について考えてみましょう。
先ほどのオンライン・バンキングなどの例は、Webアプリケーションの脆弱性を突かれたものもあり、どちらかと言えばネットワークの境界防御の問題であると考えられる方もいるのではないでしょうか。しかし、漏えいした情報が格納されているところ、すなわちデータベースが直接狙われたとしたらどうでしょう。
近年の情報セキュリティ対策では、いかに安全な閉鎖環境を作るかに大半の投資が行われてきました。閉鎖環境に侵入されないことが前提であるため、閉鎖環境内に置かれたデータベースのセキュリティについてはほとんど対策がなされてこなかった、すなわち、閉鎖環境に侵入されデータベースが攻撃を受けても、防ぐことはおろか気付くことすらできなかったというのが実情ではないでしょうか。このことは、情報漏えい事件の大半が第三者からの通報で発覚していることからも裏付けられます。
以下は、先ほどの「緊急提言:オンラインサービスにおけるデータベースと機密情報の保護」のはじめにからの抜粋です。
従来ファイア・ウォール、IDS/IPS、Web Application Firewall(WAF)等、いわゆる境界防御を中心として考えられてきたインターネット上のセキュリティ対策であるが、攻撃者がそれらを突破し、情報を格納しているデータベースそのものを攻撃することがあるという事実が、今我々の眼前に突きつけられている。既に「境界防御をしっかりしていたので、データベースに対する直接攻撃は想定外だった」というのは、言い訳できない時代に突入しているのである。
上記の提言が公開されてから既に1年を経過しており、この時点では想定しない手法での情報漏えい事件も報告されています。しかし、依然としてデータベースのセキュリティ対策は進んでいないのが実情です。本連載記事では、データベース・セキュリティ・コンソーシアムから公開されている「データベースセキュリティガイドライン 第2.0版」、「緊急提言:オンラインサービスにおけるデータベースと機密情報の保護」、および最近のセキュリティ事案を参考に、あらためて今考えるべきデータベースのセキュリティ対策について提案します。
想定される攻撃シナリオ
個人情報や企業情報、知的財産といった重要な情報が含まれるデータベースから情報を奪取する最近の手口として、以下のようなものが挙げられます。
- なりすましによる詐欺的行為
- Webサーバ、APサーバの脆弱性を攻撃し、サーバへ侵入してデータベースを直接攻撃
- SQLインジェクションによる攻撃
- オンライン・サービスの境界防御を迂回する新たな攻撃(APT)
以下にこれらの攻撃シナリオについて簡単にご紹介します。なお、これらの手口の他にも、
閉鎖環境内にいる権限者が情報を流出させる場合や、リモート保守回線を不正使用するシナリオが考えられますが、ここでは省略します。
(1)なりすましによる詐欺的行為
フィッシング、マルウェア、ソーシャル・エンジニアリング等でID、パスワードを盗み、盗んだID、パスワードでオンライン・サービスにログインしてサービスを不正利用するシナリオです。最近では、金融機関の正規のオンライン・バンキングにログイン直後に暗証番号や契約者情報を入力させる偽画面を表示させ、そこで入力された情報が盗み取られるという事例が報告されています。