大文字と小文字の混合DNSリクエスト - 私のネットワークにマルウェアがありますか?

大文字と小文字の混合DNSリクエスト - 私のネットワークにマルウェアがありますか?

奇妙なDNSクエリが表示されます。私のネットワーク上のコンピュータのケースはランダムに混在しているようです。

マルウェアに感染する可能性がありますか?

$ sudo tcpdump -n port 53
16:42:57.805038 192.168.5.134.47813 > 192.168.5.2.53: 27738+ A? Www.sApO.PT. (29)
16:42:57.826942 192.168.5.2.53 > 192.168.5.134.47813: 27738 1/0/0 A 213.13.146.142 (45)
16:43:02.813782 192.168.5.2.53 > 192.168.5.134.12193: 17076 1/0/0 A 213.13.146.142 (45)
16:43:06.232232 192.168.5.134.44055 > 192.168.5.2.53: 28471+ A? www.SaPo.pt. (29)
16:43:06.253887 192.168.5.2.53 > 192.168.5.134.44055: 28471 1/0/0 A 213.13.146.142 (45)
16:45:22.135751 192.168.5.134.11862 > 192.168.5.2.53: 48659+ A? wwW.cnn.COm. (29)
16:45:22.190254 192.168.5.2.53 > 192.168.5.134.11862: 48659 2/0/0 CNAME turner-tls.map.fastly.net., (84)
16:45:27.142154 192.168.5.134.34929 > 192.168.5.2.53: 25816+ A? wWw.cnN.com. (29)
16:45:27.168537 192.168.5.2.53 > 192.168.5.134.34929: 25816 2/0/0 CNAME turner-tls.map.fastly.net., (84)
16:45:32.150473 192.168.5.134.29932 > 192.168.5.2.53: 40674+ A? wWw.cnn.cOM. (29)
16:45:32.173422 192.168.5.2.53 > 192.168.5.134.29932: 40674 2/0/0 CNAME turner-tls.map.fastly.net., (84)

答え1

結局のところ、問題を調査した結果、大文字と小文字の混合DNS要求を実行する仮想マシンが、reboundOpenBSDで使用されるDNSプロキシを実行するOpenBSDマシンであることがわかりました。

また、これは一般的な慣行であるように見え、reboundこれらのUnbound大文字と小文字の混合クエリは安全対策としてpydig含まれています。Tor

したがって、この場合、クエリはマルウェアによる結果ではありません。

~から大文字と小文字の混合DNSクエリの使用

これらのクエリは、比較的新しいDNSセキュリティメカニズムである「0x20ビットエンコーディング」をサポートするDNSサーバーの結果であるようです。このメソッドは、ビット値をエンコードするために大文字と小文字を使用して名前を取得しました。ビット0x20がバイトに設定されている場合、文字は小文字です。選択を解除すると、文字は大文字で表示されます。

ホスト名は大文字と小文字を区別しません。ただし、ケースは保存されます。答えは、クエリと同じ大文字と小文字の混合を使用します。

ほとんどすべてのDNSサーバーがこの動作に従うことがわかりました。新しい部分は、一部のDNSサーバーが送信するすべてのクエリに意図的にランダムな値をエンコードし、その値が応答に保存されていることを確認し始めたことです。これにより、クエリ ID に追加ビットが効果的に追加されます。

これは明らかに「ハッキング」ですが、非常に魅力的なものです。 DNSサーバーがこの機能をサポートしている場合は、自動的にさらに「なりすまし抵抗」が得られます。接続されているDNSサーバーは何も変更する必要はありません。 DNSSECとは異なり、これはもちろん実質的な修正ですが、多くの構成タスクが必要であり、各ゾーンに対して構成する必要があります。

~からCalomel - アンバウンドDNSチュートリアル

dns-0x20ケースランダム化とは何ですか?

大文字のランダム化は dns-0x20 とも呼ばれます。これは、ランダム性を得るためにそのホスト名に大文字と小文字を使用する実験的な復元力の方法です。エントロピーの平均増加は約7〜8ビットです。この方法は、現在のDNS管理者が手動で有効にする必要があります。これは、サポートされていない特権サーバー側のため、約0.4%のドメインが応答を受け取らない可能性があるためです。 2番目の例では、セキュリティを向上させるためにdns-0x20を使用して "use-caps-for-id:yes"ディレクティブを有効にします。

これが意味するのは、calomel.orgがCaLOMeL.Orgと同じであり、CaLOMeL.OrgがCALOMEL.ORGと同じであるということです。 Unbound がリモートサーバーにクエリを送信すると、ホスト名文字列がランダムな大文字と小文字で送信されます。リモートサーバーは、すべての文字が小文字であるかのようにホスト名を解決する必要があります。その後、リモートサーバーは、Unboundが送信したのと同じランダムな大文字と小文字を使用してUnboundにクエリを再送信する必要があります。応答のホスト名文字がクエリと同じ形式の場合、dns-0x20 チェックが満たされます。

したがって、DNS中毒攻撃に必要な他のすべてのフィールドに加えて、バインドされていないDNSキャッシュに感染させようとする攻撃者は、クエリの大文字と小文字の混合エンコードとDNS応答が返される時間も推測する必要があります。 dns-0x20は攻撃の難易度を大幅に高めます。

関連質問:Chrome:任意のDNS名を使用したDNSリクエスト:マルウェアですか?

関連情報