• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

ニュース解説

知るほどに怖くなる!?Struts2脆弱性のメカニズム

大森 敏行=日経NETWORK 2017/05/12 日経NETWORK

 JavaのWebアプリケーションフレームワーク「Apache Struts2」の脆弱性を原因とする情報流出が後を絶たない。例えば、情報通信研究機構(NICT)は2017年5月2日、378人分の個人情報が流出した恐れがあると公表した。Struts2の脆弱性を悪用された事案は、公表されている分だけでこれで12件目だという。

 単に情報が流出するだけではない。漏洩したクレジットカード番号が使われ、金銭被害が発生するケースも出てきている。

 2017年3月から5月にかけて発生している情報漏洩のほとんどの原因は、3月9日に公開された「S2-045」(および実質的にほぼ同じ脆弱性である「S2-046」)である。Struts2では、これまでに多くの脆弱性が報告されてきた。情報処理推進機構(IPA)は「Apache Struts2 の脆弱性対策情報一覧」というページでそれらの脆弱性をまとめている。

 一覧表をながめていると、「任意のコードを実行される脆弱性」と記されたものが多い。「Remote Code Execution」(RCE)と言われるタイプの脆弱性だ。大きな問題を引き起こしているS2-045もそうである。

 Webアプリケーションでたびたび報告されるクロスサイトスクリプティングの脆弱性では、実行されるのはJavaScriptのコードだ。これに対し、Struts2のRCEで実行されるのはJavaのコード(正確にはJavaのオブジェクトのプロパティにアクセスしたりメソッドを実行したりするコード)である。攻撃者が任意のコードを実行できてしまうと危険なのは言うまでもない。

 ここで不思議に思った人もいるだろう。「Javaのコードはコンパイルしなければ動かないのではないか」と。その通りである。だが、Struts2の脆弱性では、コンパイルなしでRCEが成り立ってしまう。そのカギを握るのが、Struts2が内部で多用している「OGNL」(Object Graph Navigation Language)というライブラリだ。

ここから先はITpro会員(無料)の登録が必要です。

次ページ 強力すぎるOGNLの機能
  • 1
  • 2
  • 3

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

ITpro SPECIALPR

What’s New!

経営

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

クラウド

運用管理

設計/開発

サーバー/ストレージ

クライアント/OA機器

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

セキュリティ

もっと見る