DigiCertが、現実の問題を解決するために、デジタルトラストの確立、管理、拡大をどのように支援しているかをご覧ください。
世界のIT・情報セキュリティリーダーたちが、デジタル技術の信頼性を欠いたセキュリティはセキュリティではないと考えている理由とは?
2023年8月15日よりCertCentralのサインインではユーザ名とパスワードのほかにワンタイムパスワード(OTP)もしくはクライアント証明書の二要素認証による提示が必要となりました。 設定等についてはこちらのKnowledgeを参照ください。
概要
Apache Struts(以下、Strutsと表記)は、Java言語でWebアプリケーションを開発する際に用いられるアプリケーション・フレームワークです。Struts1は2013年4月5日にサポートが終了し、現在サポートされているバージョンはStruts2です。
Struts2は、OGNL (Object Graph Navigation Language)というJavaに似た式言語により簡潔な記述ができるように工夫されていますが、これまでしばしばOGNLにより意図しない操作が可能となる脆弱性が指摘されてきました。2014年3月にS2-020としてClassLoaderを操作される脆弱性が発見され、修正版が公開されましたが、この時点では重大な結果を招く攻撃手法が知られていませんでした。しかし、2014年4月16日に、中国のWebサイトに具体的な攻撃コードが掲載されていることが分かり、緊急性の高い脆弱性に昇格しました。
また、既にサポートが終了しているStruts1についても、類似の攻撃方法により攻撃が可能であることが発見され、CVE-2014-0114と識別されています。攻撃のイメージと影響
中国のWebサイトで発見されたStruts2の脆弱性S2-020に対する攻撃手順の一つを紹介します。一部手順を省略しています。Struts1の脆弱性CVE-2014-0114についても、環境依存ではあるものの、最悪のケースではS2-020と同等の攻撃が可能と考えられています。
脆弱性による影響
この脆弱性による影響の例として下記がありますが、これらに限定されるわけではありません。脆弱性の有無の確認方法
Strutsのバージョンを外部から確認することは困難であるため、Webサーバーにログインして下記のコマンドを実行することが確実な確認方法となります。
# find / -name 'struts2-core*.jar' 【表示の例】 /var/lib/tomcat7/webapps/struts2-blank/WEB-INF/lib/struts2-core-2.3.15.jar
上記の場合、Strutsのバージョンは2.3.15となります。S2-020の影響を避けるバージョンは、2.3.16.1以下です。また、Sturs1には対策バージョンはRed Hat LinuxV.5などに対して出されたパッチがあります。これらを適用していないすべてのバージョンのSturs1がCVE-2014-0114の影響を受ける可能性があります。対策
Struts2を使っている場合、対策としてはStruts 2.3.16.2以上にする必要があります。本稿執筆時点でStrutsの最新バージョンは2.3.16.3です。最新のStrutsを導入することを推奨します。
Struts1を使っている場合、前述したRed Hat LinuxV.5のパッチが公開されています。該当のバージョンをご利用の場合、パッチの適用を行ってください。(2014年6月5日現在、その他のパッチは公開されていません。)
Strutsのバージョンアップが出来ない場合は、回避策の導入により、被害を軽減出来る場合があります。詳しくは、参考文献を参照ください。
なお、デジサートの「クラウド型WAF」では、StrutsのClassLoaderを操作される脆弱性(Struts1の問題を含む)に対してウェブサイトが攻撃を受けるのを防ぐことができます。参考文献
Apache Struts2 の脆弱性対策について(CVE-2014-0094)(CVE-2014-0112)(CVE-2014-0113)
http://www.ipa.go.jp/security/ciadr/vul/20140417-struts.html修正の上再掲しました。
© 2024 DigiCert, Inc. All rights reserved.
リーガルリポジトリ Webtrust 監査 利用条件 プライバシーポリシー アクセシビリティ Cookie 設定 プライバシーリクエストフォーム