NICTER プロジェクトでは IoT 機器の脆弱性に関する調査や脆弱性を悪用した攻撃の観測などを行なっています.今回,ASUS 製のルータとその管理用アプリ「ASUS Router App」の DDNS 機能を悪用してルータの認証情報を取得する新しい攻撃手法を発見し,この脆弱性について,製造元である ASUS に正式に報告を行いました.
これを受け ASUS は,2023年7月25日に“Strengthening DDNS Security for RT-AX1800U, RT-AX3000, RT-AX3000 v2, RT-AX86U, TUF-AX3000 and TUF-AX5400” と題するアドバイザリを公開しています.
2023年12月の時点で,世界中に100万台以上のルータがこの問題の影響を受けるリスクがあると推定されています.もし攻撃を受けた場合,ルータの認証情報(ユーザー名とパスワード)が攻撃者によって不正に取得される恐れがあります.しかしながら,ユーザーが自身の認証情報が盗まれたかどうかを直接確認するのは非常に困難です.そのため,ルータの設定が無断で変更されたことを発見するなど,間接的な方法でのみセキュリティ侵害の兆候を検知することが可能です.
本記事では,対策方法について改めて周知するとともに,攻撃手法の概要について紹介します.
なお,この問題は,先日ロンドンで開催された Black Hat Europe 2023 で発表されました.発表スライドは公開されており,この問題についてさらに深く理解したい方はそちらも併せてご参照下さい.
影響を受けるルータ
ベンダーから公開されたアドバイザリーには,RT-AX1800U,RT-AX3000,RT-AX3000 v2,RT-AX86U,TUF-AX3000,TUF-AX5400などのモデルが挙げられています.しかし,これらのモデルに限らず,ASUS Router App を使用して管理される ASUS 製ルータ全体がこの攻撃の影響を受ける可能性があることに注意が必要です.
影響を受けるユーザ
攻撃者はターゲットとなるルータの DDNS の登録情報(IP アドレス)を自身の IP アドレスに書き換えることで,アプリからの通信を傍受します.これにより,ルータの認証情報を不正に取得することが可能になります.
したがって,以下の条件に当てはまるユーザは攻撃を受けるリスクが高まります.
- ASUS Router App を使用し,「リモート接続機能の有効化」を有効にしている1 2
- ASUS Router App を更新せず,古いバージョンのアプリを使用している
- 自宅の WiFi ではなく,外出先などでインターネット回線を使用して ASUS Router App を起動する
対策方法
2023年12月現在,ASUS の DDNS システムは認証プロセスを必要とせず,MAC アドレスだけを使用して IP アドレスの変更が可能です.このため,ユーザが ASUS Router App を起動した際,意図せず攻撃者の IP アドレスに接続するリスクがあります.ユーザがこの種の攻撃を完全に防ぐのは難しいため,以下の対策を講じることが推奨されます.
- ルータのパスワードを変更する
- ASUS Router App の使用を避ける
- ルータの「リモート接続機能の有効化」を無効にする
- Webブラウザなどを使用して,LAN経由でルータの管理画面にアクセスし,ルータの設定を行う
ASUS Router Appの最新版を使用してルータにログインすることで,DDNS のドメイン名生成アルゴリズムが変更され,第三者による推測が困難なドメイン名に自動的に更新されることが確認されています.
しかし,既に認証情報が漏洩しており,ルータが攻撃者に侵害されている可能性も存在します.警視庁からの注意喚起3にもあるように,不審な設定変更がないかを確認することが重要です.見覚えのない設定を発見した場合は,ルーターを初期化し,ファームウェアを最新バージョンに更新することを推奨します.また,その後の初期設定は ASUS Router App を使用せずに行うことが推奨されます.
(参考)問題の詳細について
攻撃が成功する主な原因は,ルータ,アプリ,DDNS サーバーにおける複数の仕様上の問題と脆弱性が発見されたことにあります.
- DDNS のドメイン名が MAC アドレスの MD5 ハッシュで生成されているため,攻撃者による推測が容易
- DDNS サーバに登録される IP アドレスの変更は,MAC アドレスとドメイン名のみで実行でき,これを容易に行うオープンソースのツールも存在する4
- アプリからルータへの接続には TLS が使用されているが,証明書の検証が行われておらず,攻撃者によるなりすましを検知できない
これらの仕様と脆弱性を組み合わせることにより,ルータの認証情報を不正に取得する攻撃方法は以下の手順で示します:
- 攻撃対象となるルータのMACアドレスから,DDNS ドメイン名を特定する
- 特定された DDNS ドメインの IP アドレスを攻撃者の IP アドレスに書き換える
- ユーザーが ASUS Router App を起動すると,DDNS サーバによる名前解決が行われ,DDNS サーバは攻撃者の IP アドレスを返す
- ユーザーのデバイスは自動的に攻撃者の IP アドレスへ接続を試み,この際に Base64 エンコードされたルータの認証情報も送信される
結果として,攻撃者は Base64 でエンコードされたデータをデコードすることにより,ルータの認証情報を取得することが可能です. この取得した認証情報を使用して,攻撃対象ルータにログインし,SSH サーバや VPN サーバ/クライアントなどの設定を変更することでユーザのネットワークを掌握することができます.
おわりに
この事例では,ユーザーが自らが攻撃されたことを気づきにくいという問題点があります.そのため,ASUS 製ルータを使用しているユーザーには,定期的にルータの設定を確認することを強く推奨します.しかし,このような対策だけでは攻撃を完全に防ぐことは難しいです.ASUS のこの事例に限らず,インターネットに接続されたすべての機器において,管理画面を無闇にインターネット上に公開しないこと,もし公開する場合は接続可能な IP アドレスを制限するなどの対策を講じることを推奨します.
-
ASUS Router App を利用してルータの初期設定を行った際,設定完了後に表示される図1の確認画面で「OK」を押下すると,「リモート接続機能」が自動的に有効化されます.このため,意図せずにこの機能を有効にしてしまうユーザーが少なくないと考えられます. ↩︎
-
Shodan を用いて調査を行った結果,インターネット上に管理画面を公開してしまっているASUS製ルータが大量に存在することが明らかになりました.このことは,攻撃の前提条件の一部が多くのホストで成立していることを示しています. ↩︎
-
https://www.keishicho.metro.tokyo.lg.jp/kurashi/cyber/notes/router.html ↩︎