0Pricing
Cyber Security Academy · レッスン

プロトコルの読み取り

TCP、HTTP、DNSを分析します

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

レイヤーごとのプロトコル

ネットワークトラフィックはレイヤーに分かれて構成されています。各パケットは、封筒の中に封筒を重ねるように、下位層のプロトコルの中に上位層のプロトコルを包みます。

トラフィックを読むには、これらのレイヤーを正しい順番で一つずつ読み解きます。

Ethernet -> IP -> TCP -> HTTP
(frame)     (pkt)  (seg)  (data)

TCPハンドシェイク

TCP接続は、SYN、SYN-ACK、ACKによる3ウェイハンドシェイクで始まります。これを確認できれば、実際に接続が確立されたことが分かります。

SYNを送信したのにSYN-ACKの応答がない場合は、閉じたポートか、ファイアウォールによる破棄を示すことがよくあります。

Client -> SYN
Server -> SYN, ACK
Client -> ACK   (connection up)

TCPフラグと状態

TCPのフラグから接続状態が分かります。通信を追跡するために、よく使われるフラグを覚えましょう。

  • SYN:開始。
  • ACK:確認応答。
  • FIN:正常な終了。
  • RST:強制的なリセット。

ストリームを追跡する

WiresharkではTCPストリームを追跡して、ばらばらのパケットではなく、通信を読みやすいテキストとして再構成できます。

パケットを右クリックしてFollowを選択すると、リクエストとレスポンス全体をまとめて確認できます。

Right-click -> Follow -> TCP Stream

HTTPを読む

HTTPトラフィックは、暗号化されていなければ平文です。メソッド、パス、ヘッダー、ボディを直接読み取れます。

そのため、暗号化されていないHTTPは分析に役立つ豊富な情報源である一方、ネットワーク所有者にとってはリスクでもあります。

GET /admin HTTP/1.1
Host: intranet.local
Cookie: session=abc123

HTTP/1.1 200 OK

HTTPSとTLS

HTTPSはHTTPをTLSで包むため、ペイロードは暗号化されます。それでもTLSハンドシェイク、SNIホスト名、証明書は確認できます。

鍵がなければボディは読み取れませんが、メタデータからも状況を読み取れます。

TLS Client Hello
  server_name: bank.example.com  (SNI)
TLS Server Hello + Certificate

DNSを読む

DNSクエリから、ホストが接続しようとしているドメインが分かります。多くの場合、接続が確立される前に確認できます。

クエリとそのレスポンスから、要求された名前と解決されたアドレスが分かります。

DNS query:    A  cdn.example.com
DNS response: cdn.example.com -> 93.184.x.x

指標としてのDNS

DNSは分析者にとって宝の山です。既知の悪性ドメイン、長くランダムに見えるサブドメイン、異常に多いクエリを探すと、不審な動作の手がかりになります。

異常を探す際には、これを大いに活用します。

UDPとICMP

すべてがTCPとは限りません。UDPは接続を確立せず(DNS、DHCP、QUICで使われます)、ICMPはpingや到達不能エラーなどの制御メッセージを運びます。

ICMPの通信量が異常に多い場合は、スキャンやトンネリングの兆候かもしれません。

統計メニューを使う

WiresharkのStatisticsメニューでは、プロトコル階層、通信、エンドポイントなど、キャプチャの概要を確認できます。

まずここから分析を始め、どのプロトコルが大半を占め、どのホストが最も多く通信しているかを確認しましょう。

Statistics -> Protocol Hierarchy
Statistics -> Conversations
Statistics -> Endpoints

メンタルモデルを構築する

優れた分析者は、ネットワークの正常な状態を把握します。正常な状態が分かれば、異常がすぐに目につきます。

プロトコルを流暢に読み取ることが、これから学ぶすべての基礎になります。

クイックチェック

プロトコルの読み取りについての理解度を確認します。

まとめ

ネットワークプロトコルの読み取り方を学びました。

  • トラフィックはレイヤー構造になっています。Ethernet、IP、TCP/UDP、アプリケーションの順です。
  • TCPはSYN、SYN-ACK、ACKで開始し、フラグから状態が分かります。
  • Follow TCP Streamで通信を再構成できます。
  • HTTPは読み取れますが、HTTPSで確認できるのはTLSメタデータとSNIだけです。
  • DNSから接続先が分かり、Statisticsで正常な状態を見つけられます。

次は、異常と悪意のあるトラフィックを検出します。

よくある質問

「プロトコルの読み取り」レッスンは無料ですか?

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

「プロトコルの読み取り」で何を学びますか?

TCP、HTTP、DNSを分析します ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「プロトコルの読み取り」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

  1. パケットのキャプチャ
  2. プロトコルの読み取り
  3. 異常の検知
  4. アーティファクトの抽出
← Cyber Security Academyに戻る