PPPoE 環境におけるロジテック製ルータのIPアドレス変動事象について

はじめに

Mirai 感染ホスト(国内)が1日に数十~数百回 IP アドレスが変動し,実感染ホスト数以上に観測してしまう問題については過去にブログ1 で紹介しました.本ブログでは,IP アドレスの変動事象の背景にある,フレッツ網における PPPoE 接続と IP アドレス取得のメカニズムと PPPoE セッションの切断を引き起こす機器への負荷について調査した結果を報告します.

※今回の調査は フレッツ回線(PPPoE) にてインターネットに接続する環境を想定して検証を行いました.IPv6 を使用する IPoE 方式や 5G,LTE などのモバイル環境では調査をおこなっておらず,それらの環境で同様の IP アドレス付け替えが発生するのかは不明です.

概要

  • Mirai に感染したロジテック製ルータにおいて,実際には1台の機器が,1日に複数回 IPアドレスが変動することで実数以上のカウントをしてしまう状況が発生している
  • フレッツ網では基本的に PPPoE の切断/再接続によってのみ IP アドレスが変動する.つまり,前述のルータは何らかの原因で PPPoE セッションが1日に何度も切断/再接続を繰り返している
  • 切断/再接続を再現するため,ルータの負荷試験をしたところ,約4500 ppsを超える負荷を与えると PPPoE セッションが切断される(IPアドレスの変動)ことが判明した
  • Mirai の感染が原因で高負荷になり,PPPoE セッションが切断/再接続が発生していると推測される

IPアドレス変動するロジテック製ルータの観測

2021年4月に観測した日本国内の Mirai 感染ホストにおいて,IP アドレスが1日の中で14回変動するロジテック製ルータを確認しました. (ロジテック製ルータの特定方法については,過去のブログ2をご確認ください.) Mirai 感染ホストの送信元 IP アドレスが変動することは,過去にブログで紹介した通りですが,ロジテック製ルータでも発生することが判明したため詳しく調査することにしました.図1にある1日に観測した感染ホストのIPアドレス変動の詳細を示します.

/posts/2022-03/logitec_uuid_ipaddr.png

図1. 観測した Mirai 感染ホストの IP アドレス変動状況

フレッツ回線におけるIPアドレス割当ての仕組み

IP アドレスの変動を確認した Mirai 感染ホストは,フレッツ回線とフレッツ対応のプロバイダのホストであることが確認されました. フレッツでは PPPoE セッションの接続ごとに IP アドレスが変動する契約が一般的34となっており, 当該のプロバイダも基本契約は,PPPoE セッションの接続ごとに IPアドレスが変動するプランでした. NICT でも NTT東日本と NTT西日本の両エリアで当該プロバイダを契約して,PPPoE セッションの切断と再接続をすることでIPアドレスが変動することを確認しました.

PPPoEのキープアライブと切断について

PPPoE の接続シーケンスについて図2に示します.詳細なシーケンスについては,NTT東日本もしくはNTT西日本の技術参考資料56に掲載されているためここでは割愛します.

/posts/2022-03/pppoe_sequence.png

図2. PPPoE の接続シーケンス(NTTの技術参考資料より)

今回行った検証では,網側からのキープアライブ通信に対してルータからの応答が遅延して切断されたとみなされて,切断され PPPoE セッションが再接続されることで IP アドレスが変動することを確認しました. ここでは,PPPoE セッションのキープアライブの仕組みと切断/再接続について簡単に紹介します.

PPPoE 接続では,プロバイダから IP アドレスが割り当てられると,ルータとフレッツ網側がお互いに「LCP Echo-Request パケット」とその応答として「LCP Echo-Reply パケット」を返すことで,セッションを維持しています.図3にフレッツ回線での「LCP Echo-Request パケット」と「LCP Echo-Reply パケット」を示します.

/posts/2022-03/lcp_keepalive.png

図3. キープアライブのパケット

この「LCP Echo-Request パケット」は,ロジテック製ルータでは約2秒間隔で送信され,フレッツ網側からは約1分間隔で送信7されていますが,「LCP Echo-Request パケット」に対して一定時間の応答が無い場合などには切断されたとみなされて切断シーケンスに移行し,「PADT パケット」が送信されたのちにセッションが切断されます.切断後,再度インターネットに対して通信が発生した場合8には,PPPoE の接続シーケンスが開始されます. フレッツ回線でのキープアライブ~切断シーケンス~再接続のパケットを図4に示します.

/posts/2022-03/padt_reconnect.png

図4. 切断シーケンスと再接続のパケット

PPPoE セッション切断の発生条件

ロジテック製ルータ「LAN-WH300N/DR」の脆弱性が存在するファームウェアバージョンを使用して,PPPoE 接続環境を再現し,Mirai に似たパケットをトラフィックジェネレータから送信して検証を実施しました.
試験の内容や検証環境の詳細は本ブログでは割愛しますが,Mirai に感染して DDoS 攻撃することを想定しトラフィックジェネレータから 1454byte のパケットを ロジテック製ルータの LAN 側から WAN 側に 70Mbps 印加したところ,ロジテック製ルータ「LAN-WH300N/DR」は,約 50Mbps (4500pps 程度) 9」で キープアライブ通信に遅延が発生し,PPPoE セッションの切断と再接続が発生 しました.トラフィックジェネレータで計測した結果を図5に示します.

/posts/2022-03/throughput.png

図5. トラフィックジェネレータからパケットを印加した際のグラフ

PPPoE セッション切断時のパケットを確認してみると,トラフィックジェネレータからパケットを印加中は,網側からの「LCP Echo-Request パケット」に対して,ロジテック製ルータは「LCP Echo-Reply パケット」を返すのが遅くなっているのが分かります.

/posts/2022-03/lcp_keepalive_delay.png

図6. 「LCP Echo-Reply パケットの遅延と切断シーケンス

その後,網側はルータの応答がないことから切断シーケンスに移行し,切断されたことが確認できます.(図6の①) また,トラフィックジェネレータからのパケットの送出が終了すると,負荷が下がったタイミングでルータから再接続の処理が実行されているのが分かりました.(図7の②)

/posts/2022-03/padt.png

図7. トラフィック印加終了後の再接続パケット

以上のことから,ロジテック製の「LAN-WH300N/DR」は,マルウェアによる DoS 攻撃命令などで大量にパケット送信を行うと高負荷状態になり,PPPoE セッションが切断され,攻撃終了後に再接続が発生することで IP アドレスが変動している可能性が高いと推測されます.

終わりに

今回の調査では IP アドレスが変動していることをダークネットで観測したロジテック製ルータについて,実機を使用した検証をすることで発生原因を特定することができました. このようなIPアドレスの変動事象は日本だけでなく海外でも確認しており,マルウェア感染などが原因で動作が不安定になり IP アドレス変動が発生する機器は他にも存在しているのかもしれません.


  1. NICTER Blog | 日本国内の Mirai の特徴を持つパケットの送信元 IP アドレス数急増について ↩︎

  2. NICTER Blog | 日本国内の Mirai に感染する機器の観測状況 ↩︎

  3. IPアドレスは固定ですか? | よくあるご質問 | NTT東日本 | フレッツ光 ↩︎

  4. IPアドレスは固定ですか。 | よくあるご質問|フレッツ光公式|NTT西日本 ↩︎

  5. NTT東日本 技術参考資料 IP通信網サービスのインタフェース― フレッツシリーズ ― ↩︎

  6. NTT西日本 技術参考資料 IP 通信網サービスのインタフェース ― フレッツシリーズ ― <光クロス,光ネクスト,光ライト編> ↩︎

  7. キープアライブの送信間隔は,使用するルータ,回線種別,地域などで異なる場合があります. ↩︎

  8. PPPoE セッションの再接続条件は機器や設定により異なります. ↩︎

  9. ppsは参考値となり負荷条件(感染したマルウェア,パケットの種別,無線LANの使用状況など)で変動する可能性があります. ↩︎