Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Technical Analysis of SAP Exploit Script Used in JLR, Harrods Hacks

2025年10月01日に「Hacker News」が公開したITニュース「Technical Analysis of SAP Exploit Script Used in JLR, Harrods Hacks」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

JLRやハロッズへのハッキングで利用された、SAPの脆弱性を悪用するスクリプトの技術分析が詳細に解説されている。この攻撃スクリプトは、特定のSAPシステムを標的とし、データの不正操作やシステムへの侵入を可能にするものだ。

ITニュース解説

ニュース記事は、企業の基幹システムとして世界中で利用されているSAPが、どのようにサイバー攻撃の標的となり、実際に被害が出たのかを技術的な観点から詳しく分析している。特に、大手企業であるJLR(Jaguar Land Rover)やHarrodsが受けたハッキング事例で使用されたSAPの脆弱性を悪用するスクリプトの仕組みが明らかにされた。システムエンジニアを目指す者にとって、このような実際の攻撃事例を知ることは、セキュリティの重要性を深く理解し、将来システムを設計したり運用したりする上で非常に貴重な知識となる。

SAPとは、企業が事業活動を行う上で必要となる会計、人事、生産管理、販売管理といった様々な業務プロセスを統合的に管理するためのソフトウェアやシステムを提供するドイツの企業、およびその製品群全体を指す。SAPシステムは、企業の根幹を支える「心臓部」とも言える存在であり、もしここに脆弱性が見つかり攻撃を受けてしまうと、企業全体に計り知れない損害が及ぶ可能性がある。今回のサイバー攻撃で標的となったのは、SAP NetWeaver Application Server Java(AS Java)というSAPシステムを構成するコンポーネントの一部である「Visual Composer Metadata Uploader」という機能であった。SAP NetWeaver AS Javaは、SAPのアプリケーションを実行するための基盤であり、その上で動作するVisual Composer Metadata Uploaderは、アプリケーションのメタデータ、つまりデータの構造や属性、表示形式などを定義する情報をサーバーにアップロードするための役割を持つ。

このVisual Composer Metadata Uploaderには、セキュリティ上の重大な脆弱性が存在した。具体的には、ファイルアップロード機能におけるMIMEタイプ検証の不備と、XML外部エンティティ(XXE)インジェクションの可能性が指摘されている。MIMEタイプとは、インターネット上で送受信されるデータの種類を示す識別子であり、例えば画像ファイルであればimage/jpeg、テキストファイルであればtext/plainといった形で表現される。通常、ファイルアップロード機能では、指定されたMIMEタイプ以外のファイルをアップロードできないように厳格なチェックを行うべきだが、この脆弱性があるシステムでは、攻撃者がMIMEタイプをtext/xmlと偽装しながら、実際にはWebサーバー上で実行可能な悪意あるファイル、具体的にはJSP(JavaServer Pages)ファイルをアップロードすることが可能であった。

JSPファイルとは、Javaのコードを埋め込むことができるWebページの一種で、これがサーバーにアップロードされ、Webサーバーによって実行されてしまうと、攻撃者はこのJSPファイルを介してサーバー上で任意のコマンドを遠隔から実行できるようになる。このような悪意あるJSPファイルは「Webシェル」と呼ばれ、攻撃者が遠隔地からサーバーを操作するための「裏口」や「管理画面」のような役割を果たす。Webシェルが設置されると、攻撃者はサーバー上のファイルの一覧表示、ファイルの読み書き、さらには他のマルウェアのダウンロードや実行など、あらゆるシステム操作が可能になる。これにより、「リモートコード実行(RCE)」、つまり遠隔からのサーバー制御が完全に実現してしまうのである。

ニュース記事では、この攻撃に実際に利用されたPythonスクリプトが技術的に分析されている。この攻撃スクリプトは、Pythonのrequestsライブラリという、HTTPリクエストを簡単に送受信するためのツールを活用して、標的となるSAPシステムへアクセスする。スクリプトの主な目的は、悪意あるJSPファイルをSAPシステムにアップロードし、Webシェルを設置することにある。この攻撃の際には、SSL証明書の検証エラーが発生しても接続を継続できるように、urllib3ライブラリの警告を無効にする設定が使われることがある。これは、攻撃対象のシステムが自己署名証明書などを使用している場合でも、接続を可能にするための回避策である。

具体的なファイルのアップロード方法として、HTTPのPOSTリクエストをmultipart/form-dataという形式でサーバーに送信する。この形式は、Webブラウザがファイルをサーバーにアップロードする際によく使用される標準的な形式である。攻撃者はこのリクエストの中で、アップロードするファイルのMIMEタイプをtext/xmlと偽装しつつ、ファイル名には意図的に.jspという拡張子を付けて送信する。これにより、サーバーはアップロードされたファイルをXML形式のデータだと誤って認識しながらも、ファイル名からJSPファイルとして保存してしまう。アップロードが成功したかどうかを確認するため、攻撃スクリプトはサーバーからのレスポンスをチェックし、Webシェルが正しく配置されたことを確認する。その後、アップロードしたJSPファイルにHTTPリクエストを送信することで、JSPファイル内に埋め込まれたJavaコードを実行させ、例えばls -alのようなシステムコマンドを遠隔から実行してサーバー上のファイルリストを取得するなどの操作を行う。このようにして、攻撃者は標的のSAPシステムを完全に制御下に置くことが可能となる。

このような攻撃の目的は多岐にわたるが、企業の基幹システムであるSAPを狙う場合、顧客データ、財務情報、知的財産など、企業の最も機密性の高い情報を窃取することや、業務システムを停止させて事業活動を妨害することなどが考えられる。JLRやHarrodsのような世界的に知られた大手企業が実際に被害に遭った事実は、この脆弱性の深刻さと、攻撃が広範囲に及ぶ可能性を示している。

システムエンジニアとして、このようなサイバー攻撃からシステムを守るための対策を理解し、実践することは極めて重要である。まず最も基本的な対策は、SAPベンダーから提供されるセキュリティパッチを、リリースされ次第速やかにシステムに適用することである。今回の脆弱性も、既に修正パッチが提供されている。また、システム内で使用されていない不要なコンポーネントや機能は、セキュリティリスクとなるため、可能な限り無効化または削除することが重要である。これにより、攻撃に利用される可能性のある「攻撃対象領域」を最小限に抑えることができる。

さらに、システムへのアクセスに対して、強力な認証メカニズムを導入し、ユーザーやプロセスが必要最小限の権限のみを持つようにする「最小権限の原則」を徹底することも大切である。ネットワークレベルでは、ファイアウォールを用いてSAPシステムへのアクセスを厳しく制限し、信頼できるIPアドレスからの接続のみを許可するなどのアクセス制御を行うべきである。Webアプリケーションファイアウォール(WAF)を導入し、不正なHTTPリクエストパターンを検知・ブロックすることも、Webシェルなどの攻撃を防ぐ上で有効な手段となる。そして、定期的なセキュリティ監査や脆弱性診断を実施し、システム内に潜在するリスクを早期に発見して対処する運用体制を確立することが、サイバー攻撃から重要なシステムを継続的に守る上で非常に重要である。

関連コンテンツ

関連IT用語