先日、あるミーティングで、長く情報セキュリティの第一線で活躍されている方達と、ネットワークセキュリティーの基本ともいえる境界領域防御の有効性について議論をする機会がありました。標的型攻撃などの最近の攻撃の多くは、従来のワームなどの動作と異なり、ファイアウォールなどの境界領域を突破して、内部ネットワークに直接入ってくるわけですが、このような攻撃に対して、境界領域防御の位置づけを、どのように考えたらよいだろうという議論です。メモを取っていたわけではないので、不正確かもしれませんが、結論は以下のようなものです。
- 境界領域防御は、即効性があり内部対策の負担の少ない有効な対策である
- しかし、昨今の攻撃手法の変化に対しては、内部対策も必要になってきている
当然といえば当然ですが、境界領域防御がダメになったわけではなく、境界領域防御だけでは対策ができない攻撃が顕著化しているという事だと思います。単に「境界領域防御の限界」というと、境界領域防御が必要ないというニュアンスでとられてしまうのかもしれませんが、境界領域+α が求められているのだと思います。
同様の論理的な飛躍が、「出口対策」という言葉の使い方にも見られるように思います。IPA から出ている“「新しいタイプの攻撃」の対策に向けた設計・運用ガイドライン[1]“を根拠として、「出口対策」の必要性だけが強調される事があります。このガイドラインでは「入り口対策(基本的な対策)」をとった上で、そこで防げないものについては、被害が発生・拡大しないように「出口対策」が必要だということを指摘したもので、従来の対策が無力だと言っているわけではありません。当たり前なのですが、「出口対策」だけでは対策になりません。
なお、このガイドラインでは、ネットワーク対策が中心とされており、PC やサーバーといったホスト対策については、ほとんど触れていません。この点については、ずいぶんと議論させていただいたのですが、ホスト対策は環境依存が大きく、ガイドラインに実効性を持たせることが難しいとの判断になりました。現状では難しいとしても、新しく導入するシステムや、重要性の高いシステムについては、ホストレベルの対策を導入していく事が重要だと考えていますので、次回以降では、こちらのガイドラインでは割愛されているホスト対策についても取り上げていこうと考えています。
まずは現状の確認から始めよう
公開セグメントの対策において、以下の二つの視点から現状を確認する。まずは、ログやコンテンツからシステムが置かれている状況を調査し、次にネットワークセキュリティ対策の視点から、必要な対策が取られているか、また、早急に対応すべきところがないかを調査する。
ログやコンテンツの確認
① コンテンツの確認
② 公開サーバーのログの確認
セキュリティ対策状況の確認
③ ノードの洗い出し(ホスト、PC、ネットワークデバイスなど)
④ アクセスコントロールの確認
⑤ アカウント(パスワード)の確認
⑥ 脆弱性の確認
ログとコンテンツの調査: Log Parser
ログやコンテンツの確認のための方法は色々とあるのだが、今回は、マイクロソフトが無償で公開しているツール Log Parser を使った調査方法を紹介する。
Log Parser は、SQL に似た構文を使って、汎用性の高いログ分析を行うことが出来るツール。基本的な入力として、Web サーバーのログ(IIS, W3C, NCSA 等)、イベントログ、ファイルシステム、NETMON, CSV, TSV などが用意されており、出力は、CSV,TSV, XML, グラフ(CHART)、SYSLOG などが用意されている。入力、出力とも拡張が可能で、たとえば PCAP の分析や、snort のログも扱うことができる。
Log Parser は、任意のフォルダーで実行できるので、USB メディアや、ネットワーク共有を使って実行出来る点も、使いやすいと考えている。
Log Parser 2.2 日本語版
http://technet.microsoft.com/ja-jp/scriptcenter/dd919274
Log Parser がグラフ(CHART)を出力するためには、”Office 2003 アドイン : Office Web Components”が必要となる。これも合わせてインストールする。なお、OfficeWeb
Components には、既知の脆弱性があるので、忘れずにセキュリティ更新も行う。
Office 2003 アドイン :Office Web Components
http://www.microsoft.com/downloads/ja-jp/details.aspx?familyid=7287252C-402E-4F72-97A5-E0FD290D4B76&displaylang=ja
Log Parser の使い方は、パラメーターなしで logparser.exe を実行するとことで確認出来る。詳しく取り上げたいところだが、今回は、コマンドの説明は割愛させていただく。logparser –h EXAMPLES と入力することで、豊富な使用例を見る事も出来るのでこちらも参考にしていただきたい。
また、洋書ではあるが、”LOGParser Toolkit[2]” という書籍が出版されている。こちらの書籍も大変参考になる。目的に応じた多数の例示があるため、英語が苦手な方でも、理解しやすい内容になっていると思う。この BLOG の中で紹介している使用例も、この書籍で紹介されている使い方をベースとしている。
以下、Log Parser を使った分析例をいくつか紹介したい。
イベントログ:システムイベントの推移
このグラフは、Log Parser を使って イベントログの System イベントの総数を日次で集計しグラフ化したもの。3/12 にイベントが極端に増えているが、これは東日本大震災の影響による電波時計の停止、停電に備えた電源対策作業が主要なイベントとなっている。この例のように、システムの環境を大局的に見ることに加えて、日時や、イベントの種類、成功・失敗などを使った、詳細な分析を行うこともできる。
このグラフは、この連載でも取り上げている標的型攻撃の検出にも有効かもしれないと考えている。MVP Open Day で、MVP の方と標的型攻撃の見つけ方を議論させていただいたのだが、侵入に成功した際に、Active Directory 等の認証サーバーが攻撃されることが多い事から、認証サーバーの SYSTEM イベントの総数の変化が、侵入をみつけるヒントとして有力ではないかという考えの方が少なくなかった。検証を行ったわけではないので効果のほどは分からないが、以下のコマンドを認証サーバーで実施するだけなので簡単なコマンドで分析が行えるので、試してみる価値はあるように思う。もっとも、認証サーバーに Office Web Components を入れるの無理があるので、リモートで実施するか、いったん CSV 等に出力して、EXCEL 等でグラフ化するのが現実的かもしれない。
グラフを生成したコマンド
LogParser -i:EVT -o:CHART “SELECT TO_DATE(TimeGenerated) as Date, COUNT(*) INTO event.gif FROM System GROUP BY Date ORDER BY Date ASC” |
---|
ファイルシステム:ファイル拡張子の調査
この表は、試験的に稼働させた IIS の inetpub\webroot 以下のファイルの拡張子を集計したもの。この例では、’.txt’, ‘xlsx’という公開情報として見つかっている。もちろん、これ等のファイルを公開することもあるのだが、個人情報を含むファイルをうかつにおかれている可能性もある。webroot 以下の全てのファイルを確認するのが理想ではあるが、ファイル数が多いと現実的ではないので、このような手法で、確認すべきファイルを絞り込んでいく事も、有効な手法と考えている。
File Type Total png 2 htm 2 txt 1 ldf 1 mdf 1 xlsx 1 master 1 css 1 pl 1 |
---|
上記集計は、以下の SQL 文とコマンドを使って実行している。
コマンドファイル:fs-sql.txt |
---|
SELECT [File Type], Count(*) as Total USING TO_LOWERCASE(EXTRACT_EXTENSION(name)) As Type, CASE STRLEN(Type) WHEN 0 THEN ‘No extension’ ELSE Type END AS FROM %source% WHERE (attributes NOT LIKE ‘D%’) GROUP BY ORDER BY Total DESC |
実行例:>logparser file:fs-sql.txt?source=“C:\inetpub\wwwroot\*.*” -i:fs -o:TSV |
このような集計が出たなら、問題となりそうな拡張子を持つファイルを特定する必要がある。Log Parser では、以下のような SQL 文を使って、特定の拡張子を持つファイルを検索することも出来る。
コマンドファイル:fs-sql-type.txt |
---|
SELECT Path, size, CreationTime USING TO_LOWERCASE(EXTRACT_EXTENSION(name)) As Type FROM %source% WHERE Type = ‘%type%’ |
実行例:>logparser file:fs-sql-type.txt?source=“C:\inetpub\wwwroot\*.*"+type=“xlsx” -i:fs -o:TSV |
Path Size CreationTime C:\inetpub\wwwroot\新しいフォルダー\参加者リスト.xlsx 123343 2011-11-29 15:31:16 |
まとめ
今回は、ログやコンテンツを調査するためのツールとして、Log Parser を紹介させていただきました。コンテンツの調査については、今回紹介した内容だけでも、試してみる価値があるように思います。
次回は、Log Parser を使った、ファイルシステム、ログ、イベントログの調査について紹介をする予定です。
[1] 「新しいタイプの攻撃」の対策に向けた設計・運用ガイドライン
http://www.ipa.go.jp/security/vuln/documents/newattack.pdf
[2] Microsoft
Log Parser Toolkit: A complete toolkit for Microsoft’s undocumented loganalysis tool
Gabriele Giuseppini , Mark Burnett , ISBN-10: 1932266526, ISBN-13:978-1932266528