サイバー攻撃の手口と対応策
ITライブラリーより (
100冊)
http://www.geocities.jp/ittaizen/itlib1/
(全2冊 1
,
100ページ)
一般社団法人
情報処理学会 正会員
腰山 信一
前編及び 本資料の関連資料は下記を
クリックしてPDF一覧からお入り下さい。
ITライブラリー (
100冊)
http://www.geocities.jp/ittaizen/itlib1/
最初の調査目的は
「ハッカーに何をされたのか
?
」
スナップショットを元に、被害範囲とその内容を調査していきます。
ここでのポイントは、調査目的の明確化です。
まず、やるべきことは被害の特定です。
したがって、最初の調査目的は「ハッカーに何をされたのか? 」を知ることから
始まります。
これらが判明し、次に行うのが「どのように侵入してきたのか? 」などの原因究明を
すべてのことが一瞬で解明することは、よほど「運」があることに加え、「感」がさえて
なければ難しいと思います。
調査を行うにあたり、まず
調査ツールを準備
する必要があります。練習の意味もかねてVMwareやParallelsなどにより仮想環境を構築して
おくことを推奨します。
主な調査ツール ツール名
補足
Sysinternals Suite
SysinternalsはWindows標準のツールでは管理できないシステム情報などを
扱うツールを数多く提供しています。
Process Explorer(次のスライド参照)は、プロセスに関する情報や、プロセス
管理に必要な操作などに必要と思われる機能を数多く盛り込んだプロセス管理
のためのツールです。
補足
Web Historian
さまざまなWebブラウザーのブックマークや履歴をCSV形式で 保存します。
補足
ActivePerl
Windows上で動作するPerl(Practical Extraction Report Language)
インタープリターです。
Perlで記述されたPerlスクリプトをWindows環境で実行できます。
Perlは主にテキストベースのデータの扱いに向いた言語で、Web掲示板な
どのCGIで利用されることが多いです。
Webサーバーソフトと一緒に「ActivePerl」をインストールすると、Perlで記述
されたCGIも動かせるので、プロバイダーのサーバーにCGIをアップする前の
確認用として利用することもできます。
被害調査のアクションフロー ①
29
全体的にどの程度の
PC
が
セキュリティインシデントと言ってもさまざまですが、標的型メールを利用しての
標的型攻撃においては多くの共通項があります。
そのため、調査方法もある程度までは手順化することができます。
具体的には、
被害内容および範囲の特定
侵入時期の特定
侵入経路の特定
などがあります。
前の方のスライドで御説明しましたように、ハッカーはメールを受信したPCの
みを標的としているわけではありません。
そのため、まず被害の全体像をつかんでおく必要があります。
まず、全体像の把握の精度に関してですが、ざっくりでよいです。
もちろん、プロキシのログが詳細に出力されているのであれば、どのような通信 が行われたか解析していくのも方法の1つですが、この作業は後回しでよいです
( ヒューマンリソースが潤沢である場合はそのかぎりではありません )。
まずは、全体的にどの程度のPCが侵害されているのかの把握が先決です。
そういった意味では、精度は保持するブラックリストに依存してしまいますが、
これらのリストと照合するなどでもかまいません。
補足 ブラックリスト
ウイルス、スパムメール、有害なWebサイトを選別(フィルタリング)する際、
あらかじめ悪意のあるとわかっているものをまとめた一覧のことです。
セキュリティソフトなどの検知方法である、パターンマッチングという手法で用い
られます。
セキュリティソフトでは、不正ソフトウェアの検知にパターンマッチングと呼ばれる
方法を用いるのが基本となっています。
これは、すでに見つかっている不正ソフトウェアごとに特徴的となるプログラムの
断片をブラックリストとして集めておき、コンピュータ内のファイルの中にそれに
適合(マッチング)するものがあるかどうかで不正ソフトウェアを見つける方法です。
セキュリティソフトのブラックリストは、「定義ファイル」や「パターンファイル」と
呼ばれています。
しかし、こうしたブラックリストを用いた検知方法は、新種のウイルスの誕生に合わ
せて頻繁に定義ファイルを更新する必要があるうえ、ブラックリストのファイル
なお、ブラックリストとは反対に、安全なことがあらかじめわかっているものを
集めた一覧を使って検知するホワイトリストという手法もあります。
たとえば、携帯メールなどで、アドレス帳に登録のある友達からのメール
だけは 受け取るというのも、ホワイトリストの一例と言えます。
セキュリティソフトは、ブラックリストとホワイトリストはどちらかだけを利用する
というよりも、両方を組み合わせることで、それぞれの欠点を補い、より精度
の高い不正ソフトウェアの検知を行うようにしています。
被害調査のアクションフロー ②
ハッカーが最後に侵害したPCから
次に、サンプリングの必要性についてですが、「被害PCが1、2台であり、被
害から時間が経っていない」のであれば、この項目はスキップしてください。
しかし、もし時聞が経過しており、すでに他のPCへの侵害が確認できているならば、
①標的型攻撃メールを受信したPC
②最後に侵害が確認されているPC
③侵害から時聞が経過していないPC
④ユーザがあまり操作していないPC
⑤機密情報が含まれるPC
などの観点で、①~ ⑤の優先順位で被害PCをサンプリングし、調査の
優先度の高い調査対象PCを絞り込んでください。
これには理由があり、SMB共有による被害を受けた場合、その経路を把握
するには監査ログからネットワークログオンの情報を参考に、「接続元」のPC
つまり、ハッカーが最後に侵害したPCから追跡していくことで、
侵害の深度を知ることができるのです。
ただし、途中で分岐することも 少なくないことは念頭に置いておくべきです。
全体像の把握の段階で、数十台~ 数百台以上の規模の被害範囲であることが
確認された場合も同様に行ってください。
「機密情報の含まれるPC」を優先に考えがちですが、ハッカーは必ずしも「機密情報
の含まれるPC」からデータをアップロードするわけではありませんので、この段階で
補足
SMB
【
Server Message Block
】
SMBとは、ネットワーク(LAN)上の複数のWindowsコンピュータの間で
ファイル共有やプリンタ共有などを行うためのプロトコルおよび通信サービスです。
下位のプロトコルとしてNetBIOSを用い、近年ではNetBIOSはさらに下位の
プロトコルとしてTCP/IPを利用する(NetBT:NetBIOS over TCP/IP)ことが
ほとんどのため、TCP/IP上のサービスおよびプロトコルの一つと言えます。
Microsoft社ではWindows以外のシステムでもSMBが利用できるよう、
SMB互換のプロトコルCIFS(Common Internet File System)を
公開しています。
SambaなどのCIFS対応のソフトウェアを用いればUNIX系OSなどでも
標的型攻撃の被害調査は、主に次の項目を調査します。
ブラックリスト
(ダイナミックDNS、C&Cサーバ、Unknown)
POSTメソッド
定期的な通信の洗い出し
DNS
IPアドレス直打ち
リアルタイムに標的型メールを検出し、被害PCが限定されているのでしたら、 この項目はスキップしでもよいかもしれません。
ただし、標的型メールをリアルタイムに100%検出することは至難の技です。
この現実を考えますと、念のため調べておくことを推奨します。
補足
IP
アドレス直打ち
IP直打ちとは、ネットワークを通じて特定のコンピュータと通信を行う場合に、
ドメイン名ではなくIPアドレスを直接に入力することです。
IPアドレスはインターネットやイントラネット上で特定のホストコンピュータに
IP アドレスは数字の羅列として記述されるため、インターネットへの接続は
IPアドレスをドメイン名に変換し、ある程度意味のある文字列として扱うことが
可能であるようになっています。
ドメイン名が割り当てられている場合も、IPアドレスを直に入力することで
同じホストコンピュータへ接続することはできます。
2011年4月の発生した事件では、違法サイトへのアクセスを遮断する措置が
取られましたが、アクセス遮断に利用されたシステムは違法サイトのドメイン・
URLのみをブラックリストとして使用しており、IPアドレスは対象としていなかっ
ログ解析はインターネットとの境界のログを参照するのが効果的です。
例えば、プロキシやURLフィルタリングのログが一般的だと思います。
被害の全体像を把握しましたら、被害PCの隔離をします。
可能なら、調査対象とする
被害
PC
に関してはネットワークから切断する前
にスナップショット
を取得することをお勧めします。ネットワークから接続したままでスナップショットを取得することの
メリットとして、例えば次のものがあります。
①揮発性データ (メモリダンプなど) から不正プログラムの実行に関する情報が
②不正プログラムが停止や削除されるリスクがなくなる。
③一時ファイルなどがそのまま残っている。
また、デメリットとしては次のものがあります。
①スナップショット取得時間内にさらなる侵害が行われる可能性がある
②被害者が攻撃に気づいて調査を開始したことを、ハッカーに感づかれ
ただし、前者は被害事実が判明した後の作業ですので、例えばファイルのアップ
ロード操作をゲートウェイにより禁止するなどによって被害拡大は緩和することが
できます。
不正プログラムが実行された直後であれば、せいぜい不正プログラムのアップ
デートやネットワーク情報、ファイルリストの取得くらいの操作が行われるどうか
だと思います。
また、逆に侵害後に時間が経過してしまったものに関しては、放置され
リモート操作すらされないこともあります。
ハッカーも慎重ですので、急には被害拡大はしませんので、確実にスナップ
被害調査の
61
タイムライン解析
アクションフロー ③
被害PCを調査し、
どのような攻撃
が行われたかを具体的に洗い出します。そのためには、次のような箇所を調査します。
①タイムライン解析による簡易解析 ②実行ファイルの特定
③Prefetch
④最近開いたファイル ④レジストリ
補足 タイムライン解析
タイムライン解析は、ファイルシステムのタイムスタンプ情報などをもとに、過去の
事象を時系列に整理して、そこから不正アクセスなどの痕跡を調査する手法の
ことです。
伝統的なディスクフォレンジックの中でも基本となる解析手法と言えます。
ファイルシステムは通常 MAC timesと呼ばれるタイムスタンプをメタデータ
として保持しています。
これは Modified、 Accessed、 Changedの頭文字をとったものです。
この情報を調べることによって、いつどのファイルにどのような処理が行わ
れたのか、おおよそのことがわかります。
外部からの不正アクセスや内部犯行、マルウェア感染などの事象が発生した
場合、対象システムのファイルシステムには何らかの痕跡が残ります。
タイムライン解析を行うことによって、何が起きたのか、影響範囲はどの程度
補足 Prefetch Prefetch フォルダ
コンピュータをオンにするたびに、Windows はコンピュータの起動方法、
および よく起動するプログラムを記録します。
Windows は、この情報を複数の小さなファイルとして Prefetchフォルダに
保存します。
次にコンピュータをオンにするとき、Windows はこれらのファイルを参照し、
Prefetch フォルダは、Windows システム フォルダのサブフォルダです。
Prefetch フォルダは自動的に管理されるため、削除したり中身を空にした
りする必要はありません。
このフォルダを空にすると、次にコンピュータをオンにするとき、
Windows およびプログラムを起動するのに長い時間がかかります。
Prefetch ファイルを利用し、起動したアプリの情報を収集 : WinPrefetchView
以下のような情報が確認できます。
・起動したEXE の名前 (= “Process EXE” の列)
・今まで何回起動したか (= “Run Counter” の列)
・アプリが前回起動した時間 (= “Last Run Time” の列)
Prefetch ファイルが保持しているアプリが読み込んだファイル名の情報は、
アプリ起動後約10 秒間の間に読み込んだファイルになります。
・アプリが読み込んだファイル名・パス
補足 レジストリ 【 registry 】
Windowsでシステム(OS)やアプリケーションソフトの設定データなどを
一元管理するデータベースを レジストリ といいます。
レジストリの内部は対象や内容に応じて複数のデータの集合体に分かれ
ており、この集合体をハイブ(hive)といいます。
ハイブの内部はファイルシステムのような階層構造で管理されており、
各項目はキー(key、項目名)と値(value)のセットとして記録されています。
値には複数のデータ型が用意されており、文字列を格納できる文字列値や、
任意のバイト列を格納できるバイナリ値、32ビットのビット列を格納できる
DWORD値などが利用できます。
通常はプログラムが自動的にデータの記録や更新、削除などを行います。
ハッカーの手口の1つ、レジストリ・エディタを使って
被害PCの調査は、本来ならばフォレンジック解析を実施するのがBESTで
すが、多くの場合は調査時間に制約がありますので、簡易的な調査でよい
と思います。
もっとも、簡易的な調査で何も手掛かりが見つからない場合は、本格的に
フォレンジック解析を実施する必要となります。
ネットワークトラフイィクの調査ですが、ネットワーク・フオレンジックのことを
指しています。
ネットワークトラフイック を フルキャプチャし、現状不正な通信が発生して
いないかを確認します。
データストリームからダウンロードおよびアップロードなどされたファイルを
エクスポートし、不正なファイルの送受信がなかったかを調査します。
加えて、RATのハートビートや標的システムに対してコマンド実行の指令が
なかったかなどを調査します。
ネットワークトラフィックのフルキャプチャしたデータを解析することは骨が
補足 ネットワーク・フォレンジック
フォレンジックとは「法廷の」という言葉から発して、「法的な証拠能力がある」と
いう意味で使われるデジタルデータの証拠保全、証拠収集のための活動や機能
のことです。
フォレンジック製品はネットワークを流れるパケットデータをそのまま保存します。
これによって、企業ネットワークから社外秘の情報が流出した場合に、いつ、誰が
どのような形で情報を漏らしたのかを追跡し、情報が流出した瞬間のデータを
そのままの形で生々しく再現することができます。
単純な操作記録ではなく、ネットワーク上の通信を丸ごとデータとして記録する
フォレンジック製品は一般的なログ取得よりも保存するデータ量が多くなるため、
ログ取得ツールよりも容量の大きなストレージを用意する必要があります。
そのため、ストレージと一体化したアプライアンス製品として提供されるのが一般的
であり、ベンダーはユーザー数を目安としたラインアップで製品を提供している場合
が多いです。
また、すべてのプロトコルのパケットを取得し続けるとストレージが足りなくなるため、
SMTPやPOP3など特定のプロトコルのパケットだけをそのまま保存する製品もあり
そのうえ、セキュリティ管理者は「いつ、誰が、どのようなメールを誰に送信したか」
「どのようなWebページを見たのか」「どんなファイルをダウンロード、アップロードし
たか」など、ユーザーの利用状況を様々な条件を指定して検索し、その内容を実際
のユーザーの操作に近い形で確認することができるようになっています。
また、取得したデータはバックアップできるようになっているため、長期間に
わたるデータ保全が可能で、過去のデータも容易に検索することができます。
これによって、セキュリティ管理者は大きな作業負荷を感じることなく、情報漏
えいが発覚した場合に、その時期や内容から漏えいした原因を追及することが
そして、企業は情報漏えいの経緯や責任の所在を具体的な形で明らかに
して説明することができます。
このような形でフォレンジック製品を活用する場合に重要なことは、管理ポリシーを
きちんと決めることです。
「どのような情報を取得し、いつまで保存するのか」など自社の事情に合わせた
そうした基準に従って、企業ネットワーク全体の情報漏えい対策を強化し、その
中にフォレンジック製品をきちんと位置づけて活用することによって、実際に
問題が起きたときの犯人の割り出しが容易になります。
さらに、通信を記録していることを社員に示すことで、故意による情報の流出を
抑止することができると思います。
補足 ハートビート 【 heartbeat 】
ハートビートとは、ネットワーク上で、コンピュータやネットワーク機器が自身が
正常に稼動していることを外部に知らせるために送る信号です。
ネットワークで接続されたコンピュータやネットワーク機器は、通信相手から長時間通
信がないときに、用がないから黙っているのか、ダウンしてしまったのか確認する術が
ありません。
仮想的に通信路(セッション)を形成してデータの送受信を行う コネクション型の
通信の場合、通信終了の合図がないまま相手が異常終了してしまうと、永久に
セッションを閉じることができなくなってしまいます。
このため、多くのプロトコルやアプリケーションでは、用がないときでも一定時間
ごとに「生きている」ことを相手に伝えるための信号を送るように設計されています。
被害調査のアクションフロー ⑤
標的型攻撃被害にかかわらず、セキュリティインシデント(セキュリティ事故)が 発生した場合に参考になるのがプロキシ(Proxy) ログです。
ネットワークの設計にもよりますが、プロキシが回避されることのない構成で、詳細
プロキシログの代表的な解析手法として、次のものがあげられます。
① ブラックリストとの照合( ダイナミックDNS、 C&Cサーバ、Unknown)
② POSTメソッドのエクスポート
③ 定期的な通信の洗い出し
④ 統計的分析
ブラックリストとは過去にサイバー攻撃などに悪用されたURLやIPアドレスを
収集したリストを指しています。
インターネット上に公開されているものも多く、比較的容易に照合が実施で
きます。
チェックしておきたいブラックリストのカテゴリとして、
マルウェア(C&Cサーバ)、ダイナミックDNS は必須です。
ブラックリストは一般に公聞されているものを統合する方法と、独自で作成する
方法があります。
一般に公開されているリストは既知の脅威に対するものですから、当然新たな
脅威に対して用いることは難しいです。
そこで、これらの弱点を補うためのブラックリストを独自に作成します。
独自に作成するブラックリストは、次の観点で作成すると効果があります。
・日本固有の脅威に対するリスト ・ダイナミックDNSのリスト
補足 Webレピュテーション
Webレピュテーションは、Webからの脅威の出所である不正URLへの
アクセスをブロックするWebセキュリティソリューションです。
Webレピュテーションではアンチウイルスソフト会社が脅威情報収集ネット
ワークによって収集した様々な情報を基に、ドメイン、Webページ、Webサイト
に埋め込まれているリンク単位でスコアリングを行いデータベースに登録して
います。
Webレピュテーションは、ユーザがWebサイトにアクセスするなどの通信が発生
する際に自動的に問い合わせを行い、接続先ドメイン、Webサイト、Webページが
不正な場合にはアクセス自体をブロックすることによって不正プログラムによる感染、
ハッカーはサーバーを
隠して時間を稼ぎする
最近のハッカーの手口の1例
サーバーを隠して時間を稼ぎする
ハッカーは、悪意のあるWebサイトが見つからないように工夫しています。
攻撃用のサーバーを見つかりにくくして、なるべく長い期間そのサーバーを
サーバーの存在が公になると、各セキュリティソフトがアクセスを制限し、さらに
セキュリティ・ソフト・ベンダーなどが、サーバーを接続しているインターネット接続
事業者などに働きかけて、アクセスを遮断するといった対策を講じてしまいます。
最近では、高度なテクニックを使ってサーバーを隠す攻撃手法が登場して います。
その一つが、Fast-Fluxです。
Fast-Fluxは、複数台のコンピュータを使ってサーバーを隠す攻撃手法です。
多くの場合、別のハッカーがウイルスを感染させるなどして外部から自由に操作で
これをボットと呼び、それらで構成されるネットワークを ボットネットといいます。
Fast-Fluxでは、ハッカーがDNSサーバーと複数台のプロキシサーバーを
用意します。
このプロキシサーバーは、悪意のあるWebサイトの代理サーバーとして
働くように設定されています。(次のスライドのプロキシA~C)。
つまり、このプロキシサーバーにアクセスすると悪意のあるWebサイトと
同様のアクセス結果をもたらすようになっています。
IP
アドレスが頻繁に
変わる
Fast-Flux
IPアドレスが頻繁に変わるFast-Flux
Fast-Fluxは悪意のあるWebサイトの発見とその対策を遅らせる攻撃手法です。
ハッカーがプロキシを複数用意して、DNSサーバーが問い合わせるたびに
異なるプロキシのIPアドレスを返答します。
既知の脅威
有名なブラックリストをいくつか紹介します。
Malware Domain List
DNS-BH
ZeuS Tracker
SpyEye Tracker
また、最近VirusTotalを買収したGoogle が開発した
「Google Safe Browsing API」 を利用するのもー案です。
Google Safe Browsing APIを使うことで、Googleの持つリストと照合し、指定
したURLかマルウェアの配布サイトかどうかなどを、返すプログラムを作成する
ことができます。
ブラックリストとは既知の脅威に対するリストであるため、標的型攻撃のように
「未知の脅威に対する防御を回避する必要のある攻撃」に、どの程度効果がある
かは疑問の残るところです。
また、従来はGeolocationを利用し、海外ドメインへの通信を不審と判断する方法も
ありましたが、クラウドサービスが一般化した現在ではあまりあてにならないのが現
補足 Google Safe Browsing API
Safe Browsingは、悪意あるプログラム、フィッシング、安全ではないサイト、
マルウェアなどからユーザーを保護することを目的とした機能です。
「Chrome」では、ユーザーを「欺く」ようなソフトウェアをダウンロードしようと
した場合に警告を表示します。
Googleはこれをさらに拡大し、悪意あるソフトウェアのダウンロードを
奨励するWebサイトの訪問についても警告するようになりました。
Safe Browsingは、Googleが持つフィッシング、マルウェア、詐欺的なソフト
ウェアのページリストに、WebサイトのURLを照らし合わせることで機能します。
Googleはユーザーが望まないソフトウェアの定義を、「便利なダウンロードに
見せかけた詐欺的なソフトウェアで、ユーザーが望まない変更をコンピュー
ターに行うことでユーザーのWeb体験を害するもの」としており、このリストを
継続的に更新しています。
さらに、マルウェアに感染したページに誘導するリンクのクリックに対しても
警告するほか、悪意あるリンクを自分のWebサイトに投稿することも防止して
統計学を駆使したログ解析
また不正なログをエクスポートするにあたり、統計分析を用いることは従来か ら利用されている手法です。
侵害を受けてから時聞がかなり経過している場合などは、被害状況を検出で きる可能性があります
この分析方法の弱点として、検出すべき不正通信の件数が、多くもなく、
少なくもない場合は一見するだけでは見つけづらい点があげられます。
そのため、データ送受信量やリクエスト数だけで判断するだけでなく、
他の分析結果と相関分析を行う必要があります。
ハッカーは見つけづらい
作業場所として利用している!②
標的型攻撃ではRATがしばしば利用されることは前の方のスライドで
御説明しましたとおりです。
したがいまして、まずはRATなどに侵害されていないかを調査する必要が
あります。
しかし、攻撃時にアンチウイルスソフトにより検出されなかったために、侵害を
許しているわけですから、再度アンチウイルスソフトにより スキャンしでも発見
される可能性は低いと考えておくべきだと思います。
そこで、次のような点に注目します。
①不自然に作成されたファイルの調査
②ハッカーの作業フォルダの調査
③通常利用されていないツールの利用
④スター卜アップに登録されたプログラム
RATなどに関する調査を行う前に、必要な材料を揃えておきます。
Windowsで、はさまざまな箇所に操作の痕跡が記録されます。
それらの痕跡が残されるファイルを抽出し、それに対して調査を行うように します。
事前に収集しておく主な ファイル および フォルダ は
%SystemRoot%system32¥config
%SystemRoot%Prefetch
%SystemRoot%Taska
%UserProfile%NTUSER.DAT
マルウェアはどこだ!
ハッカーの侵入経路は?
被害日時は?
マルウェアの有無の調査方法は、ハッカーの侵入経路や被害日時などの
情報をどの程度把握しているかで変わってきます。
調査前にどのメールが標的型メールであったか判明している場合は、標的型
メールの添付ファイルを解析することから始める方が、効率よく対応ができます。
また、標的型メールがどのメールであるかまったく検討がつかない場合は、
① FTK Imagerによりレジストリ、イベントログ、Prefetch、Web閲覧履歴な
どの調査対象ファイルを抽出。
② 不正プログラムの作成、不正操作の日時を推察し、攻撃手口や被害の 仮説を立案。
③ レジストリを中心に調査し、不正プログラムのインストールの痕跡を調査。
④ レジストリ、Prefetch、タイムラインファイルから不正プログラムの実行 痕跡を確認。
⑤ FTK Imager により不正プログラムの抽出
⑥ 不正プログラムの解析
タイムラインからの不正プログラムの調査では、作成日時(birth)を基準に読
むと検出しやすいです。
ただし、タイムラインはファイル名のみでの判断となるので、実際は該当
するファイルをエクスポートし、その中身を解析する必要があります。
侵害直後に被害を認識できた場合は、birth に注目してタイムラインを
ハッカーが作成した偽の
偽のシステムファイルを確認するには、例えば、次のタイムラインからの
検出が代表的な例です。
「svchost.exe」 は 「C:¥Windows¥System32」 配下に保存されています。
このsvchost.exeは、ネットワーク関連の基本的なサービスを起動する
ための親プロセスです。
ネットワークに接続する必要のあるプログラムの多くは、このプロセスを 起動しています。
そのため、ウイルスを始めとした不正プログラムは
svchost.exe
のファイル名を偽装し、プロセスを起動する
ことがあります。実はここにヒントがあります。
svchost.exeは重要なシステムプログラムの1つですから、一般的には重要な
Windows Update がないかぎりは 更新が行われることはありません。
つまり、
svchost.exe
が新たに作成されていること
に注意して見ておく必要があります!
ハッカーは被害PCのユーザに発見されないように、ユーザが通常は利用しな
いフォルダ内で作業をします。
つまり、被害の痕跡は、これらのフォルダに残っている可能性があると言えます。
まず、被害PCから探さなければならないファイルを3つあげると、次のものが あります。
・不正プログラム
・ハッカーが残した記録
(ネットワーク情報、ファイルリスト、
キーロガーのログなど)
ハッカーはこれらのファイルを見つけづらい箇所 (フォルダ) に隠しています。
代表的な隠し場所は
%SystemDrive%Recycler
%SystemDrive%RECYCLER.bin
%SystemRoot%Temp
%Temp%
%SystemDrive%¥System Volume Infomation
%SystemDrive%¥(メーカー独自のフォルダ)
ファイルを探し出すだけなら、Windows上で、目的のファイル名を指定
して検索するだけでも十分です。
しかし、往々にして
ファイル名や拡張子は偽装
されています。そのため、FTK Imager Liteなどのファイルの内容が確認できるツールを
FTK Imager Liteで、調査対象のHDDもしくはスナップショットを読み込みます。
次に、前の方のスライドで御説明しました「あやしいフォルダ」内を確認して
いきます (事前に、該当のフォルダをエクスポートしておくことをお勧めします)。
そのため、FTK Imager Liteなどの フォレンジックツール や ディスクエ
ディタなどを利用する方が効率的です。
ただし、残念ながらFTK Imager Liteで、はファイルの検索ができません。
より本格的なファイル検索を行う場合は、有償のデジタル・フォレンジッ
クツールを購入することを推奨します。
また、ファイル名で検索するレベルでしたら、タイムラインファイルを参照
するとよいと思われます。
なお、FKT Imager Liteを標準設定で起動してスナップショッ卜を生成
すると、複数のファイルに分割されて出力されます。
この場合は、先頭のファイルを選択することで、ファイルシステム全体を
ハッカーは高い確率でファイル名を偽装します。 そのため、ファイル名や
拡張子のみで判断せず、ファイルのヘッダ情報を確認します。
Tempフォルダなどは一時的に作成されるファイルが多いため、
「.tmp」拡張子が付与されているファイルばかりとなります。
しかし、実際に、
このなかに不正プログラムがまぎれ込んで
、 いるこ とも少なくありませんので、念のため確認しましょう。多くのプログラムには作成者情報が含まれています。
しかし、
作りが粗い不正プログラム
にはそのような情報が含まれていません。そこで、Microsoft社が配布する「Sigcheck」により、プログラムの署名を
補足
Sigcheck
SysinternalsユーティリティのSigCheckは、1つ以上のファイルやフォルダー
構造に対してセキュリティ関連の機能を実行する、多目的なコンソールユー
ティリティです。
最も重要な役割は、ファイルが信頼できる証明書によってデジタル署名されて
いるかどうかを検証することです。
次のスライドで確認できまするように、SigCheckはカタログ署名に使用された
カタログファイルや署名者の情報、複数のハッシュアルゴリズムを使用した
ファイルハッシュの計算、詳細なバージョン情報の表示も可能です。
ファイルに埋め込まれたマニフェストの表示や、署名されていないファイルを
フォルダーから検索する機能、カンマ区切り値(CSV)形式によるレポート出力
sigcheck -a -i -h C:¥Windows¥explorer.exeの出力結果
通常利用されていない
ツールが利用されている
通常利用されていないツールが利用されている痕跡を探すのも1つの
手段です。
ハッカーは標的ネットワーク内へ深く侵入するために、被害PCから他の
システムへSMB経由で侵入を行うことが多いです。
その際には、普段は使われない管理者用のツールなどが用いられます。
しばしば利用されるのが、Microsoft杜より配布されている「PsExec」です。
本来、このプログラムはシステム管理者がSMB共有を利用してパッチの
適用などを行うために配布されているツールです。
そのため、システム管理のための通常通信であるか、侵入行為であるかの
とは言え、
ドメインコントローラやサーバ群へのアクセス
ドメイン管理者による覚えのないログオン
管理外のネットワークへのアクセス
などがあれば、インシデントトリガーとして考えてよいと思います。
まずは、覚えのないPsExecの実行ファイルがシステム内に存在しないか
確認してみましょう (被害PCはクライアントファイルの有無を確認します)。
攻撃PC psexec.exe
補足
PsExec
PsExecを使用すると、1台または複数のリモートコンピューター上で任意の
プロセスを実行することができます。
PsExecはコンソールアプリケーションの入出力ストリームをリダイレクトするため、
Telnetセッションのように、ローカルで実行する感覚でプロセスを実行できます。
これにより、標準ではローカルコンピューターの操作しかできないコンソール
ユーティリティであっても、リモート対応になります。
この機能の特に効果的な使い方は、リモートシステムのコマンドプロンプト
(cmd.exe)を実行することです。
そうすることで、あたかもローカルコンピューターで実行されているかのように、
リモートシステムのコマンドプロンプトと対話できます。
他の多くのリモート制御ユーティリティとは異なり、PsExecは、操作対象の
コンピューターに エージェントやその他のクライアントソフトウェアを事前に
インストールしておく必要がありません。
PsExecを使用すると、システムアカウント権限でプログラムをローカルまたは
リモートで対話的または非対話的に実行することもできます。
例えば、レジストリエディター(Regedit.exe)をシステムアカウントで実行すると、
HKLM¥SAMやHKLM¥Securityなど、システムアカウントだけがアクセスできる
また、PsExecを使用して非対話型セッション内でプログラムを実行し、
ユーザーログオフ後もそのプログラムを実行し続けることができます。
PsExecには、ユーザーアカウント、特権レベル、優先度レベル、CPUの割
り当てなど、他にも多くのオプションが用意されており、ローカルまたは
リモートで実行するプロセスを制御する手段を提供します。
ハッカーは、仕事が終わると
手練のハッカーは、目的を達すると標的システム上から
「psexecsvc.exe」 を削除してしまうので、気づくまでに時間を要する
場合もあります。
そのような場合は、ページファイル (C:¥Pagefile.sys )やHDDの空き領
域から利用痕跡を検索する、もしくは踏み台となっているシステムを探し
出すことになります。
また、PsExecの場合はプログラムの実行履歴はイベントログに残ります
ので、ログ解析から確認することも可能です。
しかし、イベントログの出力設定にもよりますので、すべてのPC上で
出力されるわけではないことに注意してください。
なお、類似のプログラムとして、LinuxやMacOS上で、動作する
PsExecは侵入検査ツールで著名な「Metasploit」にも組み込まれています。
ハッカーは日常通信にまぎれ、少しずつ
ネットワークを掌握していくのです。
Windows
の
VBScript
に紛れ込む
VBScriptにより作成されたRATのように、Script言語で作成されたRATは
検出しづらいことがあります。
この種のRATが利用された場合、マルウエアでしばしば利用される
文字列を検索することで探します。
ダウンロダーであれば比較的探しやすいかもしれませんが、Windows内
には多くのVBScriptが利用されていますので骨が折れる作業であること
は間違いありません。
Windowsには WMI (Windows Management Intrumentation ) という
システムを管理するためのインターフェイスが用意されています。
プロセスやサービスなどのシステム情報を呼び出す際は、このWMIを利用し ます。
このとき、システム側とWMIのインターフェイスの違いを吸収するために、
監視情報のデータ構造をCIM (Common Information Model )という形
つまり、「監視対象(システム)一CIM --WMI」のような状態になっている ということです。
そして、このWMIの操作はWSI ScriptやVBScriptが利用されます。
ということは、ハッカーはVBScriptでRATの機能を実現しようとしたとき、
この仕組みを利用する可能性があることは容易に想像がつきます。
2012年4月にSymantec社、トレンドマイクロ社より
中国のハッカーグループの「LuckyCat」の活動が報告されました。
実は、このRATは2011年4月から確認されており、約1年間近くも正体が つかめないままでした。
スクリプト言語 で開発された不正プログラムの場合、通常の実行ファイルと
異なり痕跡がはっきりと残らないため、原因究明に時間がかかることがあり
ます。
補足 スクリプト言語 【 scripting language 】
軽量言語 / LL Lightweight Language / 簡易言語
スクリプト言語とは、プログラミング言語の一種で、OSやアプリケーションソフトの
動作や機能などをプログラムの形で記述できるものです。
また、転じて、実行可能形式への変換作業などを省略・自動化したり、少ない
記述量でも実行できるなど、仕様や開発手順が簡略化されたプログラミング言語の
ソフトウェアの動作の自動化などを行なうプログラムを記述する言語はマクロ言語
とも呼ばれ、手動で操作するには面倒な定型的あるいは反復的な処理を自動化
したり、複数の機能を組み合わせて目的に沿った新しい機能を作り出すために使
われることが多いです。
ソフトウェアの機能の一部として提供され、そのソフトウェアの外では実行
できないことが多いです。
補足
VBScript
【
Visual Basic Script
】
VBScriptとは、Microsoft社によって開発されたスクリプト言語です(簡易プロ
グラミング言語)。
同社のWebブラウザであるInternet Explorer上で動作します。
同社のプログラミング言語Visual Basicのサブセット(簡易版)になっており、
さまざまな制限が加えられています。
補足
WMI
【
Windows Management Instrumentation
】
WMIとは、Windowsの機能の一つで、OSやコンピュータに関する様々な
情報を取得したり設定することができるインターフェースです。
システム情報の取得・管理についての業界標準であるWBEM(Web-Based
Enterprise Management)およびCIM(Common Information Model)に準拠し
ており、Windows 2000以降のWindowsが標準で対応しています。
WMIはコマンドラインツールやスクリプト言語などからWindowsの設定情報や
コンピュータの状態などにアクセスするための標準仕様で、管理者がシステム
の状態を把握したり、管理を自動化するスクリプトを記述する際に使われます。
ネットワークを通じて他のコンピュータを管理することもでき、企業内ネットワーク
リモート コンピューターに接続するには、コンソール ツリーの [コンピューター の管理 (ローカル)] を右クリックして、[別のコンピューターへ接続] をクリックし ます。
適切な管理者特権があれば、管理対象のサービスが存在するシステムを 選択できるようになります。
WMI
全 般
このタブでは、システムと WMI につい ての概要情報を確認できます。
バックアップ/復元
WMI で収集された統計情報 は、リポジトリに格納されます。
セキュリティ
[セキュリティ] の設定では、さまざまな レベルの WMI 統計情報にアクセスで
ウイルスを自動的に
スタートアップに登録されたプログラムは、
スタートアップフォルダの配下の
レジストリ
から確認することができます。
レジストリに関しては、Windows標準の
「regedit.exe」や「regedt32.exe」「reg.exe」
でも内容は確認できますが、最終書込み日時情報が確認できないことや、
見た目においてもあまり親切な表示ではありません。
そこで、レジストリを調査する際には、調査専用のツールを利用します。
まず、調査するための レジストリファイル を エクスポートします。
この作業はFTK Imager Lite や、
「The Sleuth Kit」の「icat」コマンド などを利用して行います。
USB
機器の接続履歴を解析しよう!
「RegRipper」はレジストリファイルから調査対象となる箇所をエクスポートし、
表示するためのツールです。
大量のデータを含むレジストリを項目毎に見やすく整形してくれるので、
容易にWindowsの設定状況を把握することができます。
Windowsの設定の他に、USB機器の接続履歴やインストールされている
ソフトウェアの確認など、Windowsの利用履歴を知りたいときに有効なツー
ルです。
Prefetch
フォルダの中を解析しよう!
Prefetch は Windows XP以降から搭載された機能です。
Windows Vista以降は機能向上した「SuperFetch」 が採用されています。
これは一度起動されたプログラムが、次回以降に効率的に起動できるように
あらかじめメモリ上に読み込むために作られるキャッシュの役割を持つファイ
ルです。
したがって、Prefetch (「.pf」拡張子) ファイルが作成されているということは、
そのプログラムは少なからず一度は実行されたことを示します。
Prefetchファイルは、次のジスで管理されています。
%SystemRoot%¥Prefetch (C:¥WINDOWS¥Prefetch)
このフォルダ配下を確認しますと、「.pf」拡張子が付いたファイルが複数存在
しているのが見て取れます(確認できない場合はPrefetch機能が無効である
これらの
Prefetch
ファイル
のなかには、対象プログラムの最終起動日時
、起動回数、 プログラムのパス
などの情報が含まれています。
PrefetchフォルダをFTK Imager Liteで、見てみることができます。
身に覚えのないプログラムが実行されている
(Prefetchファイルが作成されている)、
管理ツールが不自然な時間に実行されている
など、といった情報が読み取ることができます。
補足
Prefetch Prefetch
Windows7には「Prefetch」および「Windows SuperFetch」という高度な
ファイルとキャッシュの管理を行う機能があります。
この機能は、プログラムが高速に起動するだけでなく ディスクデフラグツールとの
連動により、ハードディスクのディスクアクセスの速い場所にプログラムを配置する