FacebookやApple、MSまで……Javaの脆弱性を狙う攻撃の手口:川口洋のセキュリティ・プライベート・アイズ(44)(2/2 ページ)
2月になって、FacebookやApple、Microsoftがハッキング被害に遭うという事件が発生しました。共通しているのは、Javaの脆弱性を狙われたこと。そこで今回のコラムでは、Javaの脆弱性を狙った攻撃がどのようなプロセスで行われたのかを解説します。
Javaに対する攻撃をどこでどう止めるか?
Javaに対する攻撃を防ぐ対策を考えるために、今一度、攻撃のプロセスを整理します。一般的には以下のような5段階のプロセスを踏んで攻撃が行われます。
- 攻撃プロセス(1):あるWebサイトを参照した際に攻撃者のサイトに誘導される
- 攻撃プロセス(2):攻撃者のサイトからJavaのコードがダウンロードされる
- 攻撃プロセス(3):パソコンでJavaのコードが実行される
- 攻撃プロセス(4):パソコンにマルウェアがインストールされる
- 攻撃プロセス(5):マルウェア経由で不正に操作される
攻撃プロセス(1)で攻撃者のサイトに誘導されます。今回報道された事件のように正規のサイトが改ざんされ、攻撃者のサイトに誘導に使われることもあれば、巧みな文面にURLが記載されたメールが使用されるケースもあります。メールに記載されたものであれば気付くチャンスもありますが、正規のサイトが悪用された場合にはこのポイントで防ぐことは難しいでしょう。
次に、攻撃プロセス(2)でJavaのコードがパソコンにダウンロードされます。Webサイトのレピュテーション機能やブラックリスト機能を備えたセキュリティ製品やサービスであれば、このポイントの攻撃を防ぐことも可能です。ただし、当然ですが、まったく新規のサイトが攻撃に使用されていた場合、防ぐことはできないでしょう。
Javaのコードがダウンロードされた後は、攻撃プロセス(3)でJavaのコードが実行されます。ここでの対策は大きく分けて以下の3つです。
- Javaが必要ないならJavaをアンインストールしておく
- Javaが必要なら最新版のJavaをインストールする
- 最新版のJavaをインストールできない場合、使用時のみJavaを有効化する。もしくはインターネットに接続しないなど、パソコン自体の利用に制限をかける
やはり一番問題となるのは、古いJavaを使わざるを得ないケースです。必要に応じてJavaを有効化することになりますが、うっかり有効化したままになっているケースも多くありそうです。
最初の2つの選択肢が取れる場合はそもそも問題にならないことが多いですが、今回のようなゼロデイ攻撃のケースを考えると、攻撃コードの実行を防止するマイクロソフトの「EMET」やFFRIの「yarai」のようなセキュリティ製品の機能に期待したいところです。
【関連リンク】
Enhanced Mitigation Experience Toolkit(EMET)
http://support.microsoft.com/kb/2458544/ja
FFR yarai
http://www.fourteenforty.jp/products/yarai/index.htm
少し話がそれますが、経験上「ゼロデイ対策はどうすればいいですか?」というぼんやりとした質問をする方の組織の多くが、基本的なソフトウェアのバージョン管理(アップデート管理)ができていないことが多いです。既知の脆弱性に十分に対応できていないのにゼロデイ攻撃を心配していても仕方ありません。まずはソフトウェアを最新に保つ仕組みを整えましょう。
Javaの脆弱性が悪用されてコードが実行された後は、攻撃プロセス(4)でパソコンにマルウェアがインストールされます。ここで既知のマルウェアがインストールされるのであれば、ウイルス対策ソフトで止めることができます。しかし、攻撃者もウイルス対策ソフトに検知されないマルウェアを作ることが多々ありますので、発見されていないかもしれないと考えておくことが重要です。
マルウェアがインストールされた後は、攻撃プロセス(5)で、マルウェアを経由して攻撃者から不正に操作されます。この段階で情報の漏えいや情報の改ざん、さらなる内部ネットワークへの侵入が行われます。感染したパソコンはインターネットのどこかのサーバと通信を行うことで、攻撃者からの命令を受け取ります。この命令を受け取るところを攻撃プロセス(2)の対策と同様に発見することができれば、被害を軽くすることが可能です。
この5つのプロセスのどこかを断ち切ることができれば、被害を軽減することが可能です。しかし、1カ所を確実に断ち切る対策は難しいため、複数のプロセスを断ち切る方針で対策を考えることをお勧めします。
今一度自分の環境の確認を
企業において非常に広く浸透しているJavaの脆弱性が狙われることで、一般的にはセキュリティレベルが高いと想定される組織にまでハッキング被害が発生しました。このコラムはエンジニアの方が読んでいる割合が多いと思いますので、読者の方は今一度、自分のシステムでJavaが必要なのか、また必要であるならば最新版になっているか確認することをお勧めします。
今回の事件は、フォーラムサイトの管理者アカウントが乗っ取られることによって被害が拡大しました。JSOCのお客さまでも、フォーラムサイトやホスティングサイトがハッキングされる事件が発生しています。次回はホスティングサイトに対する攻撃を取り上げることを夢見ながら、ネタを練るために今日も飲みに行くのでした。
著者プロフィール
川口 洋(かわぐち ひろし)
チーフエバンジェリスト
CISSP
ラック入社後、IDSやファイアウォールなどの運用・管理業務を経て、セキュリティアナリストとして、JSOC監視サービスに従事し、日々セキュリティインシデントに対応。
チーフエバンジェリストとして、セキュリティオペレーションに関する研究、ITインフラのリスクに関する情報提供、啓発活動を行っている。Black Hat Japan、PacSec、Internet Week、情報セキュリティEXPO、サイバーテロ対策協議会などで講演し、安全なITネットワークの実現を目指して日夜奮闘中。
2010年〜2011年、セキュリティ&プログラミングキャンプの講師として未来ある若者の指導に当たる。2012年、最高の「守る」技術を持つトップエンジニアを発掘・顕彰する技術競技会「Hardening」のスタッフとしても参加し、ITシステム運用に関わる全ての人の能力向上のための活動も行っている。
Copyright © ITmedia, Inc. All Rights Reserved.