セキュリティ研究者は、一般的なDNS操作用の機能を提供する2つの主要なC標準ライブラリに、DNSスプーフィング攻撃につながる可能性のある重大な脆弱性を発見した。
Nozomi Networks Labsは、脆弱性を発見したUclibcおよびuClibc-ngのライブラリにおいて、ルックアップやドメイン名からIPアドレスへの変換など、一般的なDNS操作を実行する機能を提供している。
Uclibcは、Linksys、Netgear、Axisなどの大手ベンダーやEmbedded GentooなどのLinuxディストリビューションで使用されている。一方、uClibc-ngは「さまざまな重要インフラ分野に展開されている可能性がある、ルーター向けの一般的なOSであるOpenWRT専用に設計されたフォークだ」と研究者らは記している。
執筆時点で、この脆弱性にはまだパッチが適用されていない。そのため、Nozomi Networks Labsは、脆弱性を再現するためのデバイスの詳細を開示していない。
関連記事:最適なパッチ管理ソフトウェアとツール
DNSスプーフィング攻撃を理解する
ドメインネームシステム(DNS)は、Webを支える基本的な仕組みだ。ブラウザーはDNSを使って、特定のサービスのIPアドレスを取得する。例えば、https://www.esecurityplanet.com/と入力すると、ブラウザーはDNSサービスに問い合わせ、該当するサーバーにアクセスする。
利便性のため、ほとんどのDNSサービスはISPによってデフォルトで提供されており、ユーザーが手動で設定する必要はない。ただし、プライベートDNSサービスを購入することもできる。自分でDNSを設定することも可能だが、仕組みを十分に理解しないまま設定しようとするとセキュリティホールを生む可能性があるため、何をしているのか分かっていない限り推奨されない。
DNSスプーフィング、またはDNSポイズニングは、脅威アクターがDNSサーバーのキャッシュに無許可のIPアドレスを追加するために広く利用している。その目的は、被害者をハッカーが所有する不正なサーバーへリダイレクトし、認証情報を盗んだりマルウェアをインストールしたりすることだ。一時的なものであっても(例:キャッシュの無効化)、多数のデバイスを侵害するには十分な場合がある。
このようなリダイレクトは検知が難しい。そのため、十分に注意を払わなければ、実際には悪意のあるコピーサイトであるにもかかわらず、お気に入りのWebサイトを閲覧していると思い込む可能性がある。
DNSサービスは実際、MITM(Man In The Middle、中間者)攻撃を受けやすい。例えば、当局や政府が違法なWebサイトを閉鎖したい場合、DNSブロッキングを使ってトラフィックを、措置の理由を説明するページへリダイレクトする。
関連記事:DNS攻撃を防ぐ方法
CライブラリのDNS脆弱性
Nozomi Labsは、Cライブラリで行われるDNSルックアップにパターンがあることを発見した(下のスクリーンショット参照)。トランザクションIDはまず増加し、その後0x2にリセットされ、再び増加する。
したがってハッカーは、このようなトランザクションIDを予測し、特定の条件下でDNS攻撃を実行できる可能性がある。
研究者らは、根本原因を突き止めるためにlibuClibc-0.9.33.2を調査し、このパターンを説明する代入処理を発見した。DNSルックアップの実行に使われる関数には、「直前のDNSリクエストのトランザクションIDの値で初期化された」変数が含まれている。
ただし、脆弱性を悪用するにはそれだけでは不十分である。ハッカーは正確な送信元ポートを知り、「正規のDNSリクエストとの競争に勝つ」必要があるため、これはバックドアでも典型的な欠陥コードでもない。
これは、悪用の難易度が通常より高いという意味ではなく、さまざまな要因の組み合わせに左右されるということだ。それでもハッカーは、DNSクライアントにDNS応答を受け入れさせるために不可欠な2つのパラメーター、送信元ポートとトランザクションIDを予測できる。
研究者らは、コードが送信元ポートをランダム化していないことに気づいた。その結果、OSが固定または予測可能な送信元ポートを使用している場合(十分にあり得る)、ポイズニング攻撃が発生する可能性がある。
残念ながら、システムが送信元ポートをランダム化していても、攻撃者はポート値を総当たりで試せるため、これだけでは対策にならない。
以下の記事も参照:オープンソース脆弱性評価ツールのトップ10
DNSの脅威から身を守る方法
執筆時点で、今回もパッチは提供されていない。仮に提供されていたとしても、影響を受ける可能性のあるすべてのデバイスに適用するには、かなりの時間が必要になる。Cライブラリのメンテナーは問題を修正できず、支援を求めている。
Nozomiは一般公開の30日前に、200社を超えるベンダーへこの脆弱性を通知した。
研究者らによると、影響を受けるデバイスは「最新ファームウェアを実行している、よく知られたIoTデバイス」だ。管理者はすべてのベンダー向けに最新のアップデートを適用し、次回のファームウェアリリースを注視する必要がある。
ITの観点からは、ネットワークとDNSのセキュリティを強化するあらゆる対策が推奨される。CISAは包括的なガイドを公開しており、状況の評価に利用できる。
エンドユーザーの観点では、常に警戒を怠らないことが不可欠だ。DNS攻撃の最も明白な兆候は、ブラウザーに表示されるURLが突然変わることだ。
ブラウザーは、あらゆるサイトでHTTPSを強制するよう設定し、見慣れないスペルミスや文法ミス、偽のロゴなど、デザイン上の不審な特徴といった偽ページの痕跡がないか確認するとよい。
残念ながら、まれに完全なクローンのように欺瞞が非常に巧妙で、見た目だけでは脅威を検知できない場合もある。
VPNプロバイダーは現在、既知のマルウェアをブロックし、MITM攻撃を大幅に軽減できる興味深いセキュリティ機能を提供している。いずれにせよ、何か非常に奇妙な点に気づいたら直感を信じ、そのドメインを離れるべきだ。
次に読む:脆弱性管理ツールのトップ





