SPiDER TM V5.0はセキュリティ監視経験とビックデータのが集約された統合セキュリティ管理ソリューションで検知からログ/ネットワークパケット分析まで一元化された監視環境を構成し、監視業務の機敏性と効率性を高め、同時にインフラ全般に対しての可視性を確保します。
2017年に過去最大規模のサイバー攻撃が世界的に発生した。日本企業もその攻撃を受け企業活動に影響が出るほどであった。その為、国内でも大々的に報道されていた。
海外では医療サービスや公共機関への影響もあり、この攻撃を受け「 ランサムウェア 」という言葉を多くの人が知ることとなった。
不正コード(マルウェア)の中でランサムウェアによる攻撃は多くを占めるようになり、企業をターゲットにしたランサムウェアは増加している。
ランサムウェアについて:http://cyberfortress.jp/2020/07/09/blog-about-ransom/
ランサムウェア に感染したPCやサーバはどのような行為をするのか?一般的にランサムウェアに感染したPCやサーバは新しいプロセスを実行させ、その後、ファイルを暗号化、外部C&Cサーバと通信するなど共通の行為を行う。TeslaCrypt, Locky, Wannacry3つのランサムウェアの共通行為を確認して、このような行為をWindowsイベントログとファイアウォールのログ収集を通じて検知する方法を調べてみよう。
ランサムウェアに感染したPCは、外部C&Cサーバと通信のために長時間連結されたセッションが発生する。このような長時間セッションを制御するためにファイアウォールのセッションタイムアウト設定はTCP3600秒、UDP30秒、ICMP30秒、IP600秒がデフォルトの設定とされている。つまり、トラフィックがないと強制にセッションを切る。
下記の図を見るとhttpsプロトコルから使用するデフォルトポートの443ポートから8864秒の間、内部ユーザーが海外にアクセスしているトラフィックが確認できる。
「検索:log:fw AND duration:[600 TO *] AND protocol:6 NOT (d_country:JP OR d_country:”-“)」
ISP通信事業者によってBlackListで登録される場合ルータやファイアウォールから既に遮断されて繰り返してアクセス試しが発生し、SYN(S+)パケットが持続的に発生しうる。
「検索:log:fw AND tcp_flag:S+ NOT (d_country:JP OR d_country:”-“)」
JS(JavaScript), VB(VisualBasic)形式の不正コードのファイルは通常Drive by Download方法で不正コードファイルの流布元にアクセスして実行ファイルをダウンロード(Dropper)し、実行する。そうしてユーザーPCを感染させた後、暗号化をする。
「検索:log:dns AND s_ip:192.168.1.99(感染したPC)」
WindowsOS基盤のシステムから攻撃者の攻撃経路を把握するためには、Windowsイベントログが必要である。Windowsイベントログは外部からシステムアクセスとアカウント設定変更、不法S/Wのインストール及び実行など侵入/被害時点で発生した様々な情報が保存されている。Windowsイベントログの種類は大きく応用プログラム、システム、セキュリティログの3つで、サービスによってAD, DNSログなどが追加で発生する。それではWindowsログを通じて外部の侵入者が当該システムにログインした瞬間からランサムウェアがインストールされて実行されるまでどのような痕跡が残るか調べてみよう。
Windowsサーバに誰かがログインに成功した痕跡を探すためにはイベントID「4776」を探せばいい。アカウントログオンイベント監査ID4776ではログインしたアカウントとコンピューター名などログイン成功情報を確認することができる。
下記の図を見るとWin2012nameサーバにAdministratorアカウントでログインが成功されたことが確認できる。
「検索:origin:192.168.1.112 AND event_id:4776」
ログオンイベント監査ログではユーザログオン/ログオフまたはネットワークアクセスの各インスタンス監査を残し、ID「4624」で検索すると成功したログインのアカウントとworkgroup, computer name, 呼び出しプロセス、認証情報などログインに成功にした各種情報を確認することができる
Win2012nameサーバのLEESEHOワークグループにAdministratorアカウントがKerberos認証でログインに成功したことが確認できる。
「検索:origin:192.168.1.112 AND event_id:4624」
プロセス追跡監査を通じてプロセスの有効化/終了及び間接的なオブジェクトのアクセスなどイベントに対しての詳細な追跡情報を確認することができる。つまい、管理者も知らないうちに実行される新規プロセスと終了されるプロセスに対して確認ができる。イベントID4886と4869を通じて新規プロセスの作成と終了されるプロセスのモニタリングができる。「図3-16」のようにtaskse.exeプロセスと@WanaDecryptor@.exeなどのプロセスが有効されていることが確認できた。
「検索:origin:192.168.1.112 AND event_id:4688」
イベントID4688と4689を通じて簡単に検索でき、「図3-17」のようにTeslaCryptランサムウェアのファイルである「80.exe」が最初に実行された後、「wlmdr.exe」と「conhost.exe」、「cmd.exe」が連続で実行されたことが確認できる。
80.exeが実行されるとリソースモニタリングツールであるプロセスエクスプローラー「procexp64.exe」を強制終了させることがログを通じて確認できる。
ランサムウェアがファイルを暗号化させた後、感染事実を知らせるためにノートパッドとインターネットエクスプローラーを自動実行させる行為も確認できる。
ランサムウェアに感染した後の共通行為を把握して検知できるルールを設定する。
ルール説明:海外向けのトラフィックの中で送信先のIPアドレスがブラックリストIPの場合検知またはSYNパケットを検知
オブジェクト | 通信方法 | 送信先国 | TI(脅威情報) | セッション | TCP FALGE |
---|---|---|---|---|---|
説明 | 内部→外部 | 海外 | 有害IP | 長期間セッション | SYNパケット |
フィールド | d_direction | d_country | d_ip | duration(秒) | Tcp_flage |
演算子/値 | = / OUT | Not in / JP, – | = / gm クエリ | > / 3600 | = / s |
一つのフィールドから検知したり、オブジェクトで定義することが難しい条件はクエリ形式で直接入力すれば良い。設定方法は[フィールド名 = ‘データ値’]フィールドの属性が文字列であれば「”」を使う。
例) 文字列のフィールド「s_ip = ‘1.2.3.4’」、数字属性のフィールド「d_port = 3389」
例) 「(event_id = 4668) or (event_id = 4776)」
収集されたWindowsイベントからは非認可ログイン監視のためにイベントID「4776」と、プロセス追跡監視を通じて不正コードの感染モニタリングイベントIP「4688」などは直接入力を利用して簡単に設定できる。「security」 という「sublog」タイプからはイベントIDが「4668」の場合を検知する設定である。
通常実行されるプロセス以外に変なプロセスが実行される場合を検知するのであれば、リスト化DBを利用して評判検知を活用すると簡単に区別して検知ができる。
条件定義フィールドと直接入力フィールドはAND関係で動作する。条件定義で作っていたオブジェクトがあれば再び使うこともできて、直接入力からはイベントIDに対しての直接クエリだけ入力してもいい。
条件定義と直接入力は一つの検知条件設定として考えて、オブジェクトを使用するか直接クエリを使用するかは便利性の方で考えれば良い。
ランサムウェアが感染したPCやサーバの行為分析のためにSIEMを活用してWindowsイベントログ、プロセス、ポートとネットワークセキュリティログを活用する方法を調べてみた。
つまり、OS侵入→特定パスにファイル作成→プロセス実行→ポートOpen→外部C&Cと通信する一連の過程をSIEMを通じて簡単に分析ができる。また、ログさえ収集できればどんなフィールドでも制限なく柔軟に検知できる。
SIEM構築もしくは、監視運用の過程からどのような脅威の行為を検知/分析するかを事前定義後、それに合うログ収集対象を選定することはとても大事な流れである。このような流れでSIEMシステムはそのサイトに最適化される。
既存のEvtは、Vista以降からはEvtxで使用されていて、ログファイルのヘッダー及び構成に変更はあるがEvt IDに4096を足すとEvtx形のイベントIDになる。
アカウントログオンイベント監査:アカウントの有効性を検査するコンピューターではなく、他のコンピューターのログオン/ログオフの監査有無を決定する。
Evt ID | Evtx ID | 内容 |
---|---|---|
680 | 4776 | ログイン成功 |
681 | 4777 | ログイン失敗 |
ログオンイベント監査:ユーザーログオン/ログオフまたは、ネットワークアクセスの各インスタンスの監査有無を決定する。成功監査はログオン試しが成功した場合作成されて、この項目は侵入検知の際、活用できる。
Evt ID | Evtx ID | 内容 |
---|---|---|
528 | 4624 | 成功的なログイン |
529 | 4625 | 知らないアカウントか間違ったパスワードを利用したログイン試し |
538 | 4634 | ログオフ |
プロセス追跡監査:プロセスの有効化/終了及び間接的オブジェクトのアクセスなどイベントに対しての詳細な追跡情報を監査する有無を決定する。Windows XP SP2及びサーバ2003 SP1以上からプロセス監査を使用するとWindowsファイアウォール構成要素の動作モード及びステータスに対しての情報も記録する。
Evt ID | Evtx ID | 内容 |
---|---|---|
592 | 4688 | 新規プロセス作成 |
593 | 4689 | プロセス終了 |
594 | 4690 | オブジェクトに対してヒントの重複 |
595 | 4691 | オブジェクトに対して間接的なアクセス |
Written by CYBERFORTRESS, INC.
Tweet