産業用制御デバイスで用いられる Embedded TCP/IP スタックに深刻な脆弱性

Critical Flaws Affect Embedded TCP/IP Stack Widely Used in Industrial Control Devices

2021/08/03 TheHackerNews — サイバー・セキュリティ研究者たちが公開した 14件の脆弱性は、TCP/IP スタックに影響を与えるものであり、製造工場および、発電所、水処理施設、重要インフラなどで使用されているものであり、また、200社以上のベンダーが製造した、数百万台の OT 機器に影響を与えるものである。

この INFRA:HALT と呼ばれる脆弱性は、NicheStack を対象としており、リモートコード実行および、サービス拒否、情報漏洩、TCP スプーフィング、DNS キャッシュ・ポイズニングなどを、攻撃者に提供する可能性がある。NicheStack (別名:InterNiche stack) は、産業機器のインターネット接続を実現するために設計された、組み込みシステム用のクローズド・ソースの TCP/IP スタックであり、Siemens / Emerson / Honeywell / Mitsubishi Electric / Rockwell Automation / Schneider Electric などの、大手の産業自動化ベンダーの PLC などの製品に組み込まれている。

今日、発表された共同レポートの中で、JFrog とForescout 研究者たちは、「これらの脆弱性を悪用する攻撃者により、ビルの空調システムが破壊されたり、製造業などの重要なインフラで使用されるコントローラが乗っ取られたりする可能性がある。攻撃が成功すると、OT 機器や ICS 機器がオフラインになり、ロジックが乗っ取られる。続いて、乗っ取られた機器により、ネットワーク上の通信先にマルウェアが拡散される可能性も生じる」と述べている。NicheStack のバージョン 4.3 未満には、INFRA:HALT の脆弱性が存在する。2021年3月の時点では、問題を持つ約 6,400台の OT 機器がオンラインにさらされ、インターネットに接続されており、その大半がカナダ/米国/スペイン/スウェーデン/イタリアに所在している。

今回の 14件の脆弱性は、以下の通りである。

・CVE-2020-25928 (CVSS score: 9.8) – An out-of-bounds read/write when parsing DNS responses, leading to remote code execution
・CVE-2021-31226 (CVSS score: 9.1) – A heap buffer overflow flaw when parsing HTTP post requests, leading to remote code execution
・CVE-2020-25927 (CVSS score: 8.2) – An out-of-bounds read when parsing DNS responses, leading to denial-of-service
・CVE-2020-25767 (CVSS score: 7.5) – An out-of-bounds read when parsing DNS domain names, leading to denial-of-service and information disclosure
・CVE-2021-31227 (CVSS score: 7.5) – A heap buffer overflow flaw when parsing HTTP post requests, leading to denial-of-service
・CVE-2021-31400 (CVSS score: 7.5) – An infinite loop scenario in the TCP out of band urgent data processing function, causing a denial-of-service
・CVE-2021-31401 (CVSS score: 7.5) – An integer overflow flaw in the TCP header processing code
・CVE-2020-35683 (CVSS score: 7.5) – An out-of-bounds read when parsing ICMP packets, leading to denial-of-service
・CVE-2020-35684 (CVSS score: 7.5) – An out-of-bounds read when parsing TCP packets, leading to denial-of-service
・CVE-2020-35685 (CVSS score: 7.5) – Predictable initial sequence numbers (ISNs) in TCP connections, leading to TCP spoofing
・CVE-2021-27565 (CVSS score: 7.5) – A denial-of-service condition upon receiving an unknown HTTP request
・CVE-2021-36762 (CVSS score: 7.5) – An out-of-bounds read in the TFTP packet processing function, leading to denial-of-service
・CVE-2020-25926 (CVSS score: 4.0) – The DNS client does not set sufficiently random transaction IDs, causing cache poisoning
・CVE-2021-31228 (CVSS score: 4.0) – The source port of DNS queries can be predicted to send forged DNS response packets, causing cache poisoning

この情報公開により、数百万台のインターネット接続機器を支えるプロトコル・スタックに、セキュリティ上の欠陥があることが確認されたのは6回目のことである。これは、インターネットやネットワーク接続機能を提供するために、多様なベンダーがファームウェアに組み込んでいる、広範囲で用いられる TCP/IP スタックの、セキュリティ調査の結果でもある。ProjectMemoria 呼ばれる組織的な研究活動があり、その一環として発見されたバグのセットでもある。

URGENT/11
Ripple20
AMNESIA:33
NUMBER:JACK
NAME:WRECK

C言語ライブラリを管理している HCC Embedded は、これらの問題に対処するためのソフトウェア・パッチをリリースしているが、脆弱なバージョンのスタックを使用しているデバイス・ベンダーが、アップデートされたファームウェアを顧客に出荷するまでには、かなりの時間がかかる可能性があるようだ。研究者たちは、「INFRA:HALT を完全に防御するためには、脆弱なデバイスにパッチを適用する必要がありますが、サプライチェーン・ロジスティクスや OT 機器の重要性を考慮すると困難なものとなる」と指摘している。Forescout が緩和策として提供するのは、NicheStack を実行しているデバイスを検出するための、アクティブ・フィンガー・プリントを使用した、オープンソースのスクリプトである。また、脆弱なデバイスによるリスクを軽減するために、セグメンテーション・コントロールを実施し、すべてのネットワーク。トラフィックを監視し、悪意のパケットを検出することが推奨されている。

なんというか、大手の産業システム・ベンダーが、オールスターという感じで揃っています。これから、各ベンダーによる大量の脆弱性情報が出てくると思うと、ちょっと頭が痛くなります。ところで、文中のリンクである URGENT/11、Ripple20、AMNESIA:33、NUMBER:JACK、NAME:WRECK ですが、今回のバグセット INFRA:HALT の前に ProjectMemoria が見つけたものなのでしょうか? それぞれに、それらしい名前がついていて、タイミングもずれているので、おろらく、そうなんだろうと推測します。