Cryptology Academy · レッスン

平文プロトコル:攻撃者に見えるもの

暗号化されていないHTTP、FTP、Telnet通信を実際にWiresharkでキャプチャし、調査します。

レッスン 1/413 ステップ

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

HTTP:すべてが筒抜け

HTTPは、すべてのデータを暗号化されていないASCIIテキストとして送信します。HTTP経由でログインフォームを送信すると、ブラウザーはユーザー名とパスワードを平文で含むPOSTリクエストを送信します。同じネットワークセグメント上にいる人や、ユーザーとサーバーの間にあるルーターは、認証情報、セッションCookie、機密性の高いフォームデータを含むリクエスト全体を読み取れます。

Telnet:レガシーなリモートアクセス

Telnetは、SSHが登場する前に標準的に使われていたリモートターミナルプロトコルです。Telnetセッションで入力したすべてのキー入力は、暗号化されていない1つのTCPパケットとしてサーバーに送信されます。ネットワーク通信を傍受した攻撃者は、ログイン時のユーザー名とパスワードだけでなく、入力されたすべてのコマンドや表示されたすべての出力行も見ることができます。そのため、暗号による防御なしにセッションを完全に乗っ取ることが可能です。

FTP:平文で送信される認証情報

FTPでは、TCPポート21上でUSERコマンドに続けてPASSコマンドを送信し、認証します。FTPログインをパケットキャプチャすると、認証情報を正確に確認できます。ファイル転送チャネルをFTPSで暗号化していても、最初の認証交換によってパスワードがあらゆる傍受者に知られてしまいます。レガシーなFTPサーバーは企業環境でよく見つかり、認証情報を容易に窃取できる標的になります。

STARTTLSなしのPOP3とIMAP

TLSを使用しないPOP3(ポート110)とIMAP(ポート143)では、メールの認証情報とメッセージ本文全体が平文で送信されます。暗号化されていないメールサーバー設定のまま、ユーザーがコーヒーショップのWi-Fiでメールクライアントを開くと、ダウンロードしたすべてのメールをネットワーク上の他のデバイスから読み取ることができます。POP3S(ポート995)とIMAPS(ポート993)にアップグレードすると、接続開始時からTLSが使用されます。

SSLなしの生SQL接続

MySQL(ポート3306)やPostgreSQL(ポート5432)などのデータベースサーバーは、デフォルトで暗号化されていない接続を受け付けます。SSLを必須にせずデータベースへ接続するアプリケーションサーバーは、機密性の高い個人データを含むクエリとその結果を、ネットワーク上で平文のまま送信します。内部ネットワークは信頼できると見なされることが多いものの、攻撃者は足がかりを1つ得るだけで、直ちにデータベース通信の盗聴を開始できます。

レガシーLDAPトラフィック

ポート389で動作するLDAP(Lightweight Directory Access Protocol)は、ディレクトリへのクエリと認証情報を平文で送信します。認証にActive Directoryを使用する企業環境では、LDAP bind操作によってユーザー名とパスワードが内部ネットワーク上に露出する可能性があります。ポート636のLDAPSはTLSを使用し、ポート389のSTARTTLSは接続をアップグレードできますが、これらが常に強制されているとは限りません。

TLSと認証なしのRedis

Redisはデフォルトで、認証もTLSも使用せずにポート6379で待ち受けます。パスワードなしでネットワークに公開されたRedisインスタンスでは、あらゆるクライアントが保存されたすべてのキーを読み取り、任意のコマンドを実行し、設定ファイルを書き換えることさえ可能です。Redis 6.0(2020年)でTLSサポートが追加されるまで、キャッシュデータやセッショントークンを含むRedisのすべての通信は、ネットワーク上で完全に露出していました。

認証なしのMemcached

広く使われているキャッシュ層であるMemcachedには、組み込みの認証機構がなく、すべてのデータをTCPポート11211上で平文のASCIIテキストとして送信します。通常、開発者はネットワークファイアウォールによるアクセス制限に頼りますが、インターネットに公開された設定不備のMemcachedインスタンスが、増幅型DDoS攻撃やデータ窃取に悪用されてきました。セッションデータやAPIレスポンスを含む、キャッシュされたすべての内容は、そのポートに到達できる人なら誰でも見ることができます。

暗号化なしでUDPを使用するSyslog

従来のsyslogは、認証も暗号化もないUDPポート514を使用します。ネットワーク上で送信されるシステムログは、経路上にいる誰からでも読み取り、変更、偽造が可能です。syslog通信を傍受できる攻撃者は、セキュリティイベントをリアルタイムで読み取ったり、追跡を隠すために偽のログエントリを注入したりできます。RFC 5425ではTLS上でsyslogを使用する方法が定義されていますが、多くのシステムはいまだにレガシーな平文プロトコルを使用しています。

攻撃者から見た平文トラフィック

1か所のネットワーク観測地点から平文プロトコルの通信をキャプチャするだけで、攻撃者は環境を包括的に把握できます。複数のサービスのユーザー名とパスワード、元のパスワードなしでリプレイ可能なセッショントークン、転送中の機密データ、ネットワーク内部のアーキテクチャまで確認できます。これらの情報は、標的システムと一切やり取りせずに受動的に収集できます。

組織が今も平文プロトコルを使い続ける理由

平文通信のリスクが何十年も前から知られているにもかかわらず、アップグレードできないレガシーシステム、大規模環境における設定の複雑さ、高スループットの内部リンクでの性能上の懸念、内部ネットワークは信頼できるという前提などの理由から、暗号化されていないプロトコルは使われ続けています。ネットワークセグメンテーションとゼロトラストアーキテクチャの原則は、内部トラフィックも外部トラフィックと同じように厳しく検査することで、この前提を否定します。

平文プロトコル

次のプロトコルとポートの組み合わせのうち、デフォルトで認証情報を平文送信するものはどれですか。

平文プロトコル:重要なポイント

HTTP、Telnet、FTP、POP3、IMAP、生のデータベース接続、LDAP、Redis、Memcached、syslogは、いずれもデフォルトでは暗号化なしでデータを送信します。ネットワーク経路上のあらゆる観測者が、認証情報、セッショントークン、機密データを読み取ることができます。これらすべてのプロトコルには、TLSで保護された同等の仕組みがあります。内部ネットワークを信頼するという前提は危険です。ゼロトラストの原則では、すべてのトラフィックが傍受される可能性があるものとして扱います。

無料で開始

AI チューターと学ぶ Cryptology Academy — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
67
レッスン
261

よくある質問

「平文プロトコル:攻撃者に見えるもの」レッスンは無料ですか?

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

「平文プロトコル:攻撃者に見えるもの」で何を学びますか?

暗号化されていないHTTP、FTP、Telnet通信を実際にWiresharkでキャプチャし、調査します。 ブラウザで直接実行するハンズオンコードでCryptology Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「平文プロトコル:攻撃者に見えるもの」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

  1. 平文プロトコル:攻撃者に見えるもの
  2. パケットキャプチャの仕組み
  3. 暗号化通信の分析
  4. DNSセキュリティ:DoHとDoT
← Cryptology Academyに戻る