0Pricing
Ethical Hacking Academy · レッスン

静的解析

文字列とヘッダー

「静的解析」はCoddyKit上の無料Ethical Hacking Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはEthical Hacking Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ethical Hacking Academyコースには全4レッスンが含まれています。

静的解析とは

静的解析では、マルウェアのサンプルを実行せずに調べます。ファイルの内容、構造、メタデータを検査し、どのような動作をする可能性があるかを把握します。

未知のコードを実行するより安全で、通常はマルウェア調査の最初の手順になります。

安全に作業する

静的解析であっても、隔離された環境で実施する必要があります。機密データのない専用の解析用VMを使用し、可能であればネットワークを無効にしてください。

決して普段使っているマシンでマルウェアを解析しないでください。誤実行や悪意のあるアーカイブによって、マシンが侵害される可能性があります。

サンプルのハッシュ化

まず、ファイルのハッシュ(MD5、SHA-1、SHA-256)を計算します。ハッシュはサンプルを識別し、脅威インテリジェンスデータベースで検索するための指紋です。

ハッシュだけをVirusTotalに送信すれば、サンプル自体をアップロードせずに済みます。

sha256sum sample.exe

文字列の抽出

stringsコマンドは、バイナリから表示可能なテキストを取り出します。URL、IPアドレス、ファイルパス、レジストリキー、エラーメッセージなどが見つかることがあります。

これらの痕跡から、マルウェアの機能やコマンドアンドコントロールのインフラストラクチャーを推測できます。

strings -n 8 sample.exe | less

ファイル種別の特定

ファイル拡張子を信用してはいけません。fileを使用し、マジックバイトも確認して、実際の形式を確かめてください。

Windowsの実行ファイルはMZ(PE形式)で始まり、ELF Linuxバイナリは0x7F ELFで始まります。種別を把握すると、その後の解析方針を決めやすくなります。

file sample.exe
# sample.exe: PE32 executable (GUI) Intel 80386

PEヘッダー

Windowsの実行ファイルはPortable Executable(PE)形式を使用します。ヘッダーには、セクション、エントリーポイント、タイムスタンプなどの情報が記述されています。

PEview、pefile、PE-bearなどのツールを使えば、この構造を解析できます。

import pefile
pe = pefile.PE('sample.exe')
print(pe.FILE_HEADER.TimeDateStamp)

インポートとIAT

Import Address Table(IAT)には、プログラムが他のDLLから呼び出すAPI関数が一覧されています。これは、動作を推測するための最も有力な手がかりの1つです。

InternetOpenUrl、CreateProcess、RegSetValueなどのインポートから、ネットワーク通信、実行、永続化が示唆されます。

セクションとエントロピー

PEファイルは、.text(コード)、.data、.rsrc(リソース)などのセクションに分かれています。

セクションのエントロピーが高い場合、パッキングや暗号化が行われていることが多く、実行時まで本当のコードが隠されている可能性があります。

文字列もインポートも少ない場合

読み取り可能な文字列がほとんどなく、インポートもほぼ存在しない場合、そのサンプルはパックされている可能性が高いです。パックされたマルウェアは、実行時にメモリ上で自身を展開します。

つまり、静的解析だけではすべてを明らかにできません。後で動的解析とアンパックが必要になります。

YARAルール

YARAルールは、マルウェアファミリーを分類・検出するための文字列やバイト列のパターンを記述します。サンプルをルールセットに照合すれば、既知の脅威をすばやく特定できます。

アナリストは、静的解析で見つけた痕跡をもとに、カスタムルールを作成することもあります。

yara malware_rules.yar sample.exe

調査結果の記録

静的解析を通して、ハッシュ、疑わしい文字列、インポート、セクションの異常など、すべての痕跡を記録してください。これらはIOCとなり、次の手順に役立ちます。

適切な記録があれば、サンプルを既知のファミリーと関連付けたり、後で再調査するときに同じ作業を繰り返さずに済んだりします。

クイックチェック

セクションのエントロピーが高い場合、通常何を示しているか思い出してください。

まとめ

これで、マルウェアの静的解析について理解できました。

  • 隔離されたVMで、サンプルを実行せずに調べます。
  • ハッシュを計算し、文字列を抽出して、ファイル種別を確認します。
  • PEヘッダー、インポート(IAT)、セクションを解析し、高いエントロピーからパッキングの可能性を判断します。
  • YARAを使って既知のファミリーを分類します。

次は動的解析で、マルウェアの動作を観察します。

よくある質問

「静的解析」レッスンは無料ですか?

はい。「静的解析」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ethical Hacking Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ethical Hacking Academyコースには全4レッスンが含まれています。

「静的解析」で何を学びますか?

文字列とヘッダー ブラウザで直接実行するハンズオンコードでEthical Hacking Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Ethical Hacking Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのEthical Hacking Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「静的解析」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このEthical Hacking Academyレッスンでコードを書いて実行できますか?

はい。すべてのEthical Hacking Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 静的解析
  2. 動的解析
  3. 逆アセンブルの基礎
  4. アンパッキング
← Ethical Hacking Academyに戻る