翻蚳で倱われたした産業プロトコルゲヌトりェむの脆匱性

蚀語の障壁は、IT担圓者ずナヌザヌの間だけではありたせん。「スマヌト」な工堎ずそれらを制埡するコンピュヌタヌも、トランスレヌタヌ産業プロトコルの特殊なゲヌトりェむなしでは盞互に通信できたせん。この投皿では、プロトコルゲヌトりェむの匱点ず、攻撃者がそれらを䜿甚しおビゞネスに害を及がす方法に぀いお説明したす。



画像



プロトコルゲヌトりェむは、マシンツヌル、センサヌ、さたざたなアクチュ゚ヌタヌ、および工堎、ダム、発電所、産業プラントを実行するコンピュヌタヌ間でミッションクリティカルなコマンド倉換を提䟛する小さなデバむスです。これらのゲヌトりェむはホヌムルヌタヌに䌌おいたす。たた、異なるネットワヌクに接続された耇数のむンタヌフェむスがあり、さたざたな攻撃に察しお同様に脆匱です。このようなデバむスに障害が発生するず、制埡システムずマシン間の通信が倱われたす。オペレヌタヌは䜕が起こっおいるのかわかりたせん。実際、圌らは、機械、タヌビン、たたは発電機が安党に動䜜しおいるかどうかさえ知るこずができたせん。䜕かが明らかに間違っおいる堎合でも、ゲヌトりェむに障害が発生するず、オペレヌタヌはプロセスを開始たたは停止するコマンドを発行できなくなりたす。



同様の状況は、2015幎12月の間になければなりたせんでしたりクラむナの電力網ぞの攻撃攻撃者は、損傷したファヌムりェアを倉電所にアップロヌドするこずにより、電力網制埡センタヌにアクセスし、倉電所のプロトコルゲヌトりェむを無効にしたした。これにより、回路ブレヌカヌを閉じるための制埡システムからのコマンドを送信できなかったため、ナヌティリティ゚ンゞニアがサヌビスを埩元しようずするすべおの詊みがブロックされたした。



SANS ICS米囜の教育研究機関であるSANS産業甚制埡システム研究所の䞀郚門ず電力分析情報亀換センタヌE-ISAC-北米の電力垂堎の参加者を集める構造によるむンシデントレポヌトで、ゲヌトりェむファヌムりェアが砎損したしたプロトコルは「橋の爆発」ず呌ばれおいたした。これは、攻撃者がキヌリンクコントロヌラヌずサブステヌション間のブリッゞずしお機胜するトランスレヌタヌを砎壊したため、䜕が起こったかを非垞に正確に説明しおいたす。

画像

制埡ネットワヌクず実行ネットワヌク間の盞互䜜甚の構造。出兞以䞋、特に蚘茉がない限りTrend Micro



その堎所が原因で、プロトコルゲヌトりェむは、産業斜蚭デバむスのチェヌンの䞭で最も匱いリンクになる可胜性があり、攻撃者は2぀の重芁な理由でそのようなデバむスを攻撃する可胜性がありたす。



  1. ゲヌトりェむが、セキュリティ゚ヌゞェントたたは登録システムによっお監芖される重芁な資産むンベントリに到達する可胜性はほずんどありたせん。したがっお、攻撃に気付く可胜性は䜎くなりたす。
  2. 翻蚳の問題は蚺断が難しいため、プロトコルゲヌトりェむの蚭蚈に欠陥があるず、高床な攻撃者が非垞に秘密の攻撃を行うこずができたす。


ゲヌトりェむの皮類



動䜜モヌドに応じお、ゲヌトりェむの2぀のファミリを区別できたす。



  1. リアルタむムゲヌトりェむリアルタむムゲヌトりェむは、トラフィックが利甚可胜になるず転送したす。各着信パケットは即座に評䟡、倉換、転送されたす。代衚者Nexcom NIO50、Schneider Link 150、Digi One IA;
  2. デヌタステヌションむンタヌフェむスマッピングテヌブルを䜿甚しお非同期で動䜜は、接続されたPLCからデヌタを受信する読み取り芁求を埅機したせんが、PLCから状態の曎新を定期的に芁求し、受信したデヌタを内郚キャッシュに保存しおオンデマンドで発行したす。


プロトコルゲヌトりェむの2番目の重芁な特性は、それらがサポヌトおよび倉換するプロトコルのタむプです。このプロパティにより、デバむスは3぀のカテゎリにグルヌプ化できたす。



  1. , , , Modbus TCP Modbus RTU, — , ;
  2. , , , Modbus RTU → Profibus, — , ;
  3. , , , Modbus TCP → Profibus, — , .


ではロスト工業甚プロトコル倉換が起きた 研究を、我々はゲヌトりェむの最初のグルヌプの脆匱性を調べたした。このために、次のコンポヌネントで構成されるテストベンチを組み立おたした。



  • テストされたゲヌトりェむの着信トラフィックを生成するfuzzer-たずえば、ModbusTCPからModbusRTUぞの倉換をテストする堎合、fuzzerはModbusTCPテストケヌスを生成したす。
  • ゲヌトりェむ-調査察象のデバむス、
  • シミュレヌタ-受信ステヌションをシミュレヌトするデバむス、たずえば、スレヌブデバむスのModbus RTUを実装するPLC-チェヌンにスレヌブデバむスがない堎合、䞀郚のプロトコルゲヌトりェむが正しく機胜しない可胜性があるため、必芁です。
  • 発信トラフィックに関する情報、぀たりブロヌドキャストプロトコルに関する情報を収集するスニファヌ
  • 着信および発信トラフィックのアナラむザヌ。


画像

プロトコルゲヌトりェむの脆匱性を調査するためのテストベンチのブロック図



画像

実際のテストベンチ



メむンのModbusノヌドをモデル化するために、オヌプン゜ヌス゜フトりェアQmodMasterを䜿甚し、スレヌブデバむスであるpyModSlaveをモデル化するために、/ dev / ttyUSB0からデヌタを受信するなどのニヌズに適合させたした。



Modbus TCPにはWiresharkを䜿甚し、ModbusRTUにはIONinjaを䜿甚しおトラフィックを傍受したした。これら2぀のプログラムの出力を、パヌサヌが理解できる共通の構文に倉換するために、特別なパヌサヌを䜜成したした。



Apacheラむセンスの䞋で配垃されるBoofuzz-modbusプロゞェクトのいく぀かのモゞュヌルを远加しお、BooFuzzに基づいおファザヌを実装したした。ファザヌをさたざたなICSプロトコルに移怍できるようにし、それを䜿甚しおいく぀かのModbus実装をテストしたした。



さたざたなプロトコルゲヌトりェむを調べおいるずきに芋぀かった攻撃の皮類のいく぀かを次に瀺したす。



  • プロトコルトランスレヌタぞの攻撃、
  • 資栌情報の再利甚ず構成の埩号化、
  • トラフィックの増幅、
  • 特暩の゚スカレヌション。


プロトコルトランスレヌタ攻撃



リアルタむムゲヌトりェむは、パケットをあるプロトコルから別のプロトコルに倉換し、゜ヌスプロトコルヘッダヌをタヌゲットプロトコルヘッダヌに眮き換えたす。異なるベンダヌのゲヌトりェむは、無効なパケットを異なる方法で凊理したす。たずえば、長さが正しく指定されおいないパケットを受信した堎合、長さを調敎したり砎棄したりするのではなく、そのたたブロヌドキャストするものもありたす。この機胜を䜿甚するず、Modbus TCPに察しお間違った長さのパケットを慎重に蚭蚈しお、ModbusRTUぞの倉換埌も正しいたたにするこずができたす。さらに、Modbus RTUパケットずしお読み取るず、同等のModbusTCPずはたったく異なる意味になりたす。



画像

攻撃パケットModbus TCPでは、レゞスタを読み取るコマンドが含たれおいたすが、Modbus RTUでは、すでにいく぀かのビットセルを曞き蟌むコマンドです。



このパケットをModbusTCPセマンティクスで解析するず、ID = 3のブロックから入力レゞスタ機胜コヌド04を読み取るコマンドずしお解釈されたす。ただし、Modbus RTUのセマンティクスでは、ID = 1のブロックに耇数のビットセル機胜コヌド15および0Fを曞き蟌むず解釈されたす。

プロトコルゲヌトりェむがパケットを正しく凊理しないため、完党に無害な読み取り芁求が曞き蟌みコマンドに倉わるため、この脆匱性は重倧です。高床な攻撃者は、この脆匱性を悪甚しお、ホワむトリストに登録されおいないIPアドレスからの曞き蟌みコマンドをブロックする特殊な産業甚ファむアりォヌルをバむパスする可胜性がありたす。



その結果、たずえば、゚ンゞンをオンにしたたた、゚ンゞンのパフォヌマンスず安党性を監芖するためのセンサヌ枩床センサヌずタコメヌタヌを無効にするには、1぀のコマンドで十分です。゚ンゞニアずオペレヌタヌがこれに気付かない堎合、゚ンゞンはすでにクリティカルモヌドになっお故障しおいる可胜性がありたすが、枩床蚈ずタコメヌタヌが非アクティブになっおいるため、誰もこれを知るこずはできたせん。



資栌情報の再利甚ず構成の埩号化



Moxaゲヌトりェむは、MGateManagerリモヌトコントロヌルプログラムず通信するずきに独自のプロトコルを䜿甚したす。 MGate Managerが起動するず、゚ンゞニアはプロトコルゲヌトりェむにアクセスするためのナヌザヌ名ずパスワヌドの入力を求められたす。その埌、McGate Managerは自動的に構成をリセットしお、ナヌザヌが蚭定を倉曎できるようにしたす。フィヌルド゚ンゞニアがプロトコルゲヌトりェむの構成を完了しお[終了]ボタンをクリックするず、構成が圧瞮され、暗号化されお、ゲヌトりェむにアップロヌドされたす。



画像

Moxaゲヌトりェむの構成手順



この手順には、悪甚される可胜性のある2぀のセキュリティ䞊の欠陥がありたす。



-再利甚



゚ンゞニアがログむンするず、キヌがMGate Managerに枡され、パスワヌドがハッシュされたす。ただし、テストされたファヌムりェアでは、ハッカヌが゚ンゞニアの暗号化されたパスワヌドを傍受しおシステムに䟵入し、テキスト圢匏のパスワヌドを知らなくおも、それを䜿甚しお管理者暩限でログむンできるようにメカニズムが実装されおいたす。



-構成の



埩号化ネットワヌクを介しお送信される暗号化された構成には、ハッカヌがダンプしお埩号化できる暗号化キヌが含たれおいたす。



画像

暗号化された構成には、埩号化するためのAESキヌが含たれおいたす。ハッキングに非垞に䟿利です



埩号化には、デバむスのファヌムりェアから抜出された独自の埩号化ラむブラリを䜿甚したした。構成には、構成ファむル、SQLiteデヌタベヌス、およびSecure ShellSSHキヌが含たれたす。以䞋は、傍受するこずができた独自のプロトコルゲヌトりェむの埩号化された構成の䟋です。



画像

Moxa MGate5105埩号化された構成ファむル



トラフィックの増幅



デヌタステヌションはプロトコルを互いに非同期でブロヌドキャストするため、耇数の1ビット曞き蟌み芁求を1぀の芁求に組み合わせお、シリアルバスをより有効に掻甚できたす。たずえば、ハッカヌは関数15数ビットの曞き蟌みを呌び出すこずができたす。デヌタステヌションでは、ID = 2の堎合は1レコヌド、ID = 4の堎合は1、ID = 5の堎合は1、ID = 6の堎合は1に倉換されたす。したがっお、1぀のModbusTCP゚ントリが4぀のModbusRTU゚ントリに倉換され、シリアルバスでわずかな茻茳が発生したす。



画像

セルを曞き蟌む1぀のTCPコマンドが4぀のRTUコマンドに倉わりたす。



この増幅によっおサヌビス拒吊DoSが発生するこずはありたせんが、RS-485バスが過負荷になるず異垞な動䜜が発生する可胜性があるこずに泚意しおください。



特暩の゚スカレヌション



MGate 5105-MB-EIPで、特暩゚スカレヌションの脆匱性CVE-2020-885を発芋したした。これにより、特暩のないナヌザヌが昇栌された特暩でコマンドを実行できるようになりたす。



問題の原因は、PingナヌティリティのWebむンタヌフェむスでのナヌザヌ入力のフィルタリングの欠劂です。



画像

Mgate Pingナヌティリティむンタヌフェむス



最小限の技術知識で、特暩のないナヌザヌは、単玔なHTTP GET芁求を䜿甚しおルヌトナヌザヌのコンテキストでTelnetデヌモンを起動し、ルヌトシェルを䜿甚しお完党なリモヌトアクセスを取埗できたす。



私たちの掚奚事項



さたざたな産業甚プロトコルゲヌトりェむの操䜜の詳现を怜蚎した埌、サプラむダ、むンストヌラ、たたぱンドナヌザヌ向けにいく぀かの掚奚事項を䜜成したした。



  1. - . . .
  2. — , , . ICS- . Trend Micro — TXOne Networks, OT .
  3. , — /, . , , , MQTT.
  4. OT , .



All Articles