前回までに3種類の攻撃手法を紹介し、最後に実証テストの結果だけをまとめて示したが、攻撃手法に関する話を、もう少し具体的に解説したい。
まず初回のFrame Aggregationを利用した攻撃について、その際にも掲載した以下の図にも少し出てくる攻撃の流れについて、細かく見ていこう。
クライアントの場合(上)と、アクセスポイントの場合(下)の攻撃例。出典は"FragAttacks: Presentation at USENIX Security '21"(YouTube)まず、IPv4およびIPv6ホストに対しては、ポートスキャンを行い、暗号化されたTCP SYN/ACK応答の長さに基づいてオープンポートを検出した。一方、IPv4/v6のDual Stack構成のクライアントには、ICMPv6ルーターのアドバタイズメントを注入し、被害者を騙して攻撃者の管理下によるDNSサーバーを使用させることができる。
もう少し正確に言えば、IPv6のステートレスアドレス自動設定を悪用して、悪意のあるDNSサーバーを含むICMPv6ルーターのアドバタイズメントを注入する。これにより、Windows 10、macOS 10.15.4、Linux、Android 8.1およびiOS 13.4.1において、OSが利用しているDNSサーバーを「毒殺」できることが確認されている。
この方式では、被害者が一度でも攻撃者の設置した悪意のあるDNSサーバーを使用すると、攻撃者は全てのトラフィックを自身の管理する悪意のあるサーバーにリダイレクトできるので、事実上クライアントのIPベースのトラフィックを全て傍受できることになる。
ちなみに上では、IPv6ベースで悪意のあるDNSサーバーをホストするとしたが、必要ならばIPv4アドレスでDNS要求に応答させることも可能だ。