Apache Strutsで開発された業務システムの脆弱性と継続利用リスク、ご存知ですか?

マイグレーション

Strutsで開発された業務システムを利用し続けるリスクと、移行に向けた現実的なアプローチをお伝えします。

Apache Strutsは、Apache Software Foundationが提供する、JavaでWebアプリケーションを開発するためのソフトウェアフレームワークです。2000年代の半ばには、JavaのWebアプリケーション開発のデファクトスタンダード(事実上の標準)として、広く普及していました。しかし、ソフトウェア技術の進歩とともに頻繁に脆弱性が指摘されるようになり、2013年4月にサポート終了を迎えました。
サポートの切れたフレームワークを継続して使用することには大きなリスクが伴いますが、依然としてStrutsを利用したアプリケーションを使い続けている企業も多いのが現状です。

相次ぐ指摘!頻繁に見つかる「Struts」の脆弱性

Struts系フレームワークにはStruts1とStruts2がありますが、下記のようにいずれも過去に頻繁に脆弱性の指摘を受けています。

Struts1(初代Struts)の脆弱性問題

初代Struts(Struts1)は、2001年に初版がリリースされてから多くのWebアプリケーション開発で利用されてきました。しかし、脆弱性が数多く指摘されるようになり、2013年4月にサポート終了を迎えました。新たな脆弱性が発生してもセキュリティパッチや修正版が提供されないため、Struts1を使い続けることは大きなリスクとなっています。
サポート終了後の2014年には、サーバーの不正操作が可能となる「ClassLoader を操作可能な脆弱性」が発見され、大きな話題となりました。この脆弱性についてはすでにサードパーティからセキュリティパッチが提供されていますが、その後も重大な脆弱性が多数見つかっています。今後もいつ新たな脆弱性が発見されても不思議ではありません。

Struts2(後継Struts)の脆弱性問題

Struts1の後継として2007年にStruts2がリリースされましたが、このStruts2にも何度も脆弱性が見つかっています。
例えば、2017年には「任意のコードを実行できる脆弱性」が見つかりました。報道によれば、2017年3月20日時点で7組織が被害に遭い、情報漏えいした可能性のある個人情報は合計で79万4566件に上っています。あるセキュリティ専門企業は「この脆弱性を突く攻撃が広く横行している」として、「システムに脆弱性があるかどうかを探ろうとするコード」や「Linuxファイアウォールを停止させ、マルウェアをダウンロードして実行させるコード」など悪意ある事例が数多く見つかっていることを伝えています。実際にクレジットカード情報や個人情報の流出といった非常に深刻な被害が発生しています。

このように、Struts1、Struts2とも、重大な脆弱性を数多く指摘されています。フレームワークの脆弱性は甚大な被害をもたらすリスクとなるため、Struts系フレームワークを採用している企業では、可能な限り迅速に根本的な対策を実施することが急務です。
サポートが終了しているStruts1はもちろんのこと、Struts2も引き続き脆弱性の問題が発生する可能性は高いでしょう。2018年8月にも、リモートで任意のコードが実行される脆弱性が新たに指摘され、セキュリティ関連機関から注意喚起が行われています。Struts1を使った既存アプリケーションのセキュリティ対策は、後継のStruts2に置き換えるのではなく、他のフレームワークに移行することが現実的なアプローチだと言えます。

ここが違う!シーイーシーのStrutsマイグレーションサービス

そこで、シーイーシーでは、Strutsフレームワークで構築された既存アプリケーションを引き続き安全に利用できるように、最新フレームワークのデファクトスタンダードであるSpring MVCへ移行するサービスを提供しています。

自動変換ツールを活用し、現行アプリケーションの機能をそのままに、最新のSpring MVCフレームワークに移行します。移行対象となるのは、主にStruts設定ファイルに記述していた画面遷移関連のコードです。

移行対象

  • JSP
  • Actionクラス
  • Actionフォーム
  • TagLibs
  • 設定ファイル(xml)
  • ライブラリファイル

 対応内容

主な対応内容は大きく3つ

 1. 画面表示

Strutsのタグライブラリを、JSTLやSpringタグライブラリに変換

2. 画面遷移

StrutsのActionクラス、Struts-config.xmlなどの定義内容をSpringのControllerクラスに変換

3. 入力チェック

Validation.xml定義内容をBean Validationに変換

シーイーシーのStrutsマイグレーションの特長

1. 自動変換ツールの活用で高品質かつ効率的な移行

自動変換ツールを活用し、Strutsの標準的なソースコードであれば自動的に移行することが可能です。手作業による人為的ミスや手戻りを抑制できるため、高品質かつ効率的なマイグレーションを実現できます。独自にカスタマイズされたStrutsをお使いの場合や、Validationの定義方法に違いがある場合など、お客様の資産に合わせて移行ツールをカスタマイズすることも可能です。

2. Struts部分以外のマイグレーションにも柔軟に対応

Strutsと併せてアプリケーションを構成しているAPサーバー、Java(JDK)、Spring Framework、MyBatisなどのバージョンアップにも対応できます。
また、データベースのバージョンアップや、OracleからSQL Serverなどへのデータベース変更、データベース変更に伴うSQL変換にも対応が可能です。

3. セキュリティ対策に大きな強み

Strutsから脱却するだけでは、セキュリティ対策が十分とは言えません。シーイーシーのトータルセキュリティソリューション「Cyber NEXT」を活用することで、セキュリティ対策を強化できます。シーイーシーはセキュリティサービスプロバイダーとしての使命のもと、最新世代のテクノロジーで、進化し続けるセキュリティの脅威に対抗し、お客様のビジネスを守ります。
トータルセキュリティソリューション「Cyber NEXT」

4. 便利なワンストップ/トータルソリューション

アセスメントから、設計・開発・テスト・導入、運用・保守に至るまで、すべての移行プロセスにワンストップで対応します。
最適なインフラ環境の構築・セキュリティ対策・アプリケーション改修・データ移行など、マイグレーションにまつわるお客様のご要望に、トータルにお応えします。

サービス提供の流れ

まずは無料診断を実施します。作業に着手する前に概算見積をご確認いただけるので安心です。
調査分析・パイロットコンバージョンを実施した後、本格的な対応に移ります。

あらためましてStrutsフレームワークは、2000年代前半に広く浸透しましたが、すでにサポートが終了したStruts 1のみならず後継のStruts 2にも脆弱性が相次いで発見されています。継続して使用することは大きなリスクです。シーイーシーは自動変換ツールを活用した効率的で高品質なStrutsマイグレーションサービスを提供しています。
Struts系フレームワークのセキュリティに不安をお持ちの企業の方は、どうぞお気軽にお問い合わせください。

関連サービス情報


現行システムの延命にとどまらず、戦略的ICT投資が可能なシステムへと再生「Strutsマイグレーションサービス

関連記事一覧