数百万台の IoT デバイスの接続に使用されている Java ベースの組み込み 3G システムである Thales の Cinterion EHS8 M2M モジュールの脆弱性が、昨日 IBM の X-Force Red によって明らかにされました。
このバグ(CVE-2020-15858)はタレス社に開示され、2月にIoTベンダー向けに公開されたパッチで修正されました。このバグにより、攻撃者は脆弱なデバイスからコードやその他のリソースを抽出することが可能になります。この情報はリバースエンジニアリングされ、悪用可能な脆弱性や抽出可能な秘密鍵やパスワードが発見される可能性があり、悪意のある人物によるハードウェアの乗っ取りやネットワークへのアクセスにつながる可能性があります。
ビッグブルーの情報セキュリティチームは、脆弱なCinterionモジュールに侵入されると、例えば強制インスリンポンプによる患者への過剰投与や電力網への干渉といった悪質な行為が可能になると主張しました。この脆弱性はEHS8モジュールだけでなく、BGS5、EHS5/6/8、PDS5/6/8、ELS61、ELS81、PLS62といった関連IoTモジュールにも存在します。
このハードウェアは、昨年のジェムアルト買収によってタレスにもたらされました。自動車、エネルギー、医療、通信業界で利用されており、IBMによると、各モジュールにはJava MEインタープリターとフラッシュストレージを内蔵したシステムオンチップ(SoC)が搭載されており、GSM、USB、I2C、SPIなどの様々なインターフェースを備えています。このチップはIPおよびPPP通信もサポートしています。
X-Force Redは、このウィジェットを、物理的なUARTシリアル接続を介して低レベルの「AT」コマンドを受け入れる組み込みJava環境であると説明しました。このチップは、ベンダーやThalesによってインストールされたJava「ミッドレット」と呼ばれるプログラムを実行します。この脆弱性が悪用されると、攻撃者はシステム上で実行されているJavaミッドレットへの完全な読み取りおよび書き込みアクセスが可能になります。
最新の実世界分析で、モノのインターネットはセキュリティ上の悪夢であることが明らかになりました。暗号化されていないトラフィック、ネットワークのクロスオーバー、脆弱なOSなどです。
続きを読む
このバグは、基本的に文字列のサニタイズチェックに欠陥があることに起因しています。X-Force Redによると、ThalesのJavaコードには、パス文字列の4番目の文字がドットであるかどうかをチェックする処理が含まれており、機密性の高い隠しファイル(ファイル名にドットが含まれている)へのアクセスを阻止しようとしています。
「通常、ドットで始まる隠しファイルへのアクセスは拒否されます(例:a:/.hidden_file
)」と、X-Force Redのセキュリティハッカー、アダム・ローリー氏とグジェゴシュ・ウィピッチ氏は水曜日に詳細なアドバイザリで述べています。「しかし、スラッシュをダブルスラッシュに置き換えると(例:a://.hidden_file
)、条件が満たされず、コード実行は文字チェックループにジャンプし、印刷可能な文字すべてに一致します。」
つまり、ドットで始まる隠しファイルへのアクセスを防ぐためのセキュリティチェックは、二重スラッシュを使うことで回避できるということです。Cinterionモジュールを入手した人物は、これを悪用して隠しファイルを読み取るために必要なATコマンドを送信し、その情報を利用して他人の機器にリモートから侵入する手段を講じることができるのです。
タレスが修正プログラムをリリースしたからといって、必ずしもすべてのシステムに適用されているわけではありません。パッチ適用は、利用可能な場合は無線アップデート、またはUSBドライブ経由で行うことができます。IBMのセキュリティ専門家によると、医療機器や産業用制御装置の場合、アップデートプロセスには再認証が必要になるなど、負担がかかる可能性があります。
タレス社は、デジタルアイデンティティ&セキュリティグループのテクノロジーを3万社が利用していると主張しています。その中には、年間約30億台以上のネットワークデバイスの接続を支援するIoT部門の顧客も含まれています。おそらく、まだパッチ適用作業が必要な部分もあるでしょう。®