Movatterモバイル変換


[0]ホーム

URL:


日経クロステック(xTECH)
  1. 日経クロステック トップ
  2. ソフト開発
  3. ソフトに脆弱性が生まれるワケ
  4. Struts2の脆弱性、いまだに見つかる本当の理由

Struts2の脆弱性、いまだに見つかる本当の理由

日経NETWORK
  • コピーしました

 ソフトウエアの脆弱性が悪用された実例として、Webアプリケーションフレームワーク「Struts2」の脆弱性について見ていこう。2017年3月9日に公開された「S2-045」というStruts2の脆弱性が原因で、2017年3月以降、多くの情報漏洩事件が起こっている。クレジットカード番号の流出で金銭被害が出た事例もある。Strut2ではこれまでも多くの脆弱性が報告されている。S2-045を含め、多くはリモートコード実行の脆弱性だ。

 Struts2にリモートコード実行の脆弱性が多いのは、内部で「OGNL」というライブラリを利用しているためだ。OGNLは、Javaに似たコードをコンパイルなしで実行する。Struts2ではデータの処理にOGNLを多用している。このため、Struts2に脆弱性があると、例えば攻撃者がHTTPリクエストに埋め込んだ悪意のあるコードがOGNLによって実行されてしまう。

Struts2が備えるOGNL機能がコードを実行
Struts2が備えるOGNL機能がコードを実行
Struts2ではJavaに似たコードをコンパイルなしで実行する「OGNL」というライブラリが使われている。ところがStruts2に脆弱性があると、攻撃者がHTTPリクエストに埋め込んだ悪意のあるコードがOGNLによって実行されてしまう。
[画像のクリックで拡大表示]

 OGNLで実行されるコードを埋め込む「OGNLインジェクション」の例を示したのが下の図だ。2013年に報告された「S2-013」という脆弱性を悪用する攻撃コードである。攻撃者はHTTPリクエストのパラメーターの値にOGNLコードを埋め込む。すると、OGNLがパラメーターを処理する際にコードが実行されてしまう。

埋め込んだOGNLコードが実行されてしまうOGNLインジェクションの例
埋め込んだOGNLコードが実行されてしまうOGNLインジェクションの例
2013年に報告された「S2-013」という脆弱性があると、HTTPリクエストのパラメーターの値として渡したOGNLコードが実行されてしまう。ここでは「hacked」という文字列を出力している。
[画像のクリックで拡大表示]

 実際のOGNLコードの内容を見てみよう。URLエンコードをデコードし、見やすいように整形したコードを示した。最初の3行で、コードを実行できるようにするため権限を変更している。OGNLインジェクションでよく見られる特徴的なコードだ。続いて、攻撃者が実行したい処理を記述する。

▼多くの脆弱性が報告されている
情報処理推進機構(IPA)は「Apache Struts2 の脆弱性対策情報一覧」(https://www.ipa.go.jp/security/announce/struts2_list.html)というWebページにStruts2の脆弱性をまとめている。
▼OGNL
Object Graph Navigation Languageの略。
▼URLエンコード
URLでは使えない文字を使う際に行われるエンコード。正確にはパーセントエンコーディングと呼び、RFC3986のSection 2.1で定義されている。
▼攻撃者が実行したい処理
ここではサンプルとして「hacked」という文字列を出力している。
  • コピーしました

あなたにお薦め

今日のピックアップ

日経クロステック Active注目記事

おすすめのセミナー

セミナー一覧

注目のイベント

おすすめの書籍

書籍一覧

日経BOOKプラスの新着記事

日経クロステック Special

What's New

経営

クラウド

アプリケーション/DB/ミドルウエア

運用管理

設計/開発

サーバー/ストレージ

クライアント/OA機器

ネットワーク/通信サービス

セキュリティ

「AIエフェクト」と「R&Dフロントライン」を創刊!

日経クロステック、リニューアルをお得に体験できるキャンペーンのご紹介

ピックアップ

PR
年額プランが最大7,800円お得!
30以上のメディアが全て読める『日経BP Insight』
メルマガ登録で欲しい情報を深く、効率良く
「重要な記事をいち早く入手したい」というあなたに! 5つの活用法

ランキング IT

ランキング一覧

日経クロステック NEXT
日経BP Insight
日経クロステック ラーニング セミナー&eラーニング
日経TechFind
日経BP イベント&セミナー
日経クロステック トレンド&オピニオン
日経クロステック コミックス
ITイノベーターズ
日経BP 総合研究所

この機能は会員登録(無料)で使えるようになります

フォロー連載・特集

設定


[8]ページ先頭

©2009-2025 Movatter.jp