
STARTTLS対応の透過型中間者プロキシ
starttls-mitm は、平文と TLS の両方のトラフィックを透過的にプロキシしてダンプする MITM プロキシです。ユーザーが提供したキーファイルと証明書ファイルを使用して、リモートサーバーになりすまします。中間者攻撃の対象となるデバイスにこの認証局を信頼するようユーザーが明示的に指示する必要があるため、これはセキュリティ上の侵害にはなりません。
最初は平文で中継を開始し、各パケットを検査して ClientHello ヘッダーを探し、見つかった時点でソケットを TLS に変換します。これにより、STARTTLS(平文ハンドシェイク+SSL アップグレード)を使用するプロトコルのプロキシに適しています。これまで XMPP でのみテストされていますが、理論的には IMAP などの他のプロトコルでも動作するはずです。