Struts、Seasar2で開発された業務システムを利用し続けるリスクと、移行に向けたアプローチ

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


デファクトスタンダードとして多くの企業システムに採用されてきたApache Struts。これによって開発された業務システムは、相次ぐサポート終了によるセキュリティリスクが増大しています。

未来図編集部

サポートの切れたフレームワークを継続して使用することには大きなリスクが伴いますが、依然としてStruts/Seasar2を利用しアプリケーションを使い続けている企業も多いのが現状です。

【ウェビナー】【ユーザ部門向け】Struts脆弱性放置の危険 、どのように対応していくべきか? ~Strutsマイグレーションを起点とした、モダナイゼーションの実現~

Struts脆弱性放置の危険 、
どのように対応していくべきか?
~Strutsマイグレーションを起点としたモダナイゼーションの実現~


本動画では、StrutsからSpring MVCへのマイグレーション手法詳しく解説します。自動変換ツールを駆使し、現行機能を維持したまま、低リスク・高品質・短期間でのシステム刷新を実現します。

目次

Apache Strutsの誕生と普及の背景

Apache Strutsは、2001年にApache Software FoundationによってリリースされたJavaベースのWebアプリケーションフレームワークです。このフレームワークは、Webアプリケーション開発の効率化を目的として誕生し、当時の業務システム分野では画期的な存在でした。特にMVC(Model-View-Controller)アーキテクチャの実装を簡素化する点が評価され、2000年代半ばにはデファクトスタンダードとして多くの企業システムに採用されました。

Strutsには初代のStruts1と改良版であるStruts2の2つのバージョンが存在しますが、Struts1は2013年にサポートが終了。Struts2は引き続き利用されてきました。

未来図編集部

しかし、モダンなフレームワークに比べ、その保守性やセキュリティ面での課題が次第に顕著となっていきました。

相次ぐ指摘!頻繁に見つかる「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ファイアウォールを停止させ、マルウェアをダウンロードして実行させるコード」など悪意ある事例が数多く見つかっていることを伝えています。実際にクレジットカード情報や個人情報の流出といった非常に深刻な被害が発生しています。

2024年12月には、Struts2にファイルアップロード処理の不備による脆弱性が公開されました。詳しくはIPA(情報処理推進機構)による脆弱性対策情報(JVN)を参照してください。
Apache Struts 2のファイルアップロード処理に不備(S2-067)(2024年12月12日現在の情報)

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

Seasar2のサポート終了

また、Strutsのように、2000年代に構築した企業向けJavaシステムの開発で頻繁に利用されてきたSeasar2が提供するプロダクトの多くが2016年9月26日 をもってサポート終了を迎えました。

未来図編集部

Struts同様に新たな脆弱性が発生してもセキュリティパッチや修正版が提供されないため、Seasar2を使い続けることは大きなリスクとなっています。

【ホワイトペーパーダウンロード】 移行事例多数 Strutsからのフレームワーク移行をワンストップで実現!

\移行事例、多数掲載/
Strutsからのフレームワーク移行実現


セキュリティリスクも多数抱えているStruts/Seasar2を利用したアプリケーションを使い続けていませんか?本資料ではStrutsマイグレーションの成功事例を交えながら、具体的な解決策をご紹介します。レガシーシステムから脱却する最初の一歩としていかがでしょうか。

2024年以降のStrutsサポート終了問題とは

2024年以降のStrutsサポート終了問題とは

Struts2に関する正式なサポートは、最新版を除いてほぼ終了状態に近づいています。2024年以降も旧バージョンの利用を続ける企業ではさらなるリスクを抱えることが確実視されています。この「EOL(End of Life)」に伴い、新たな脆弱性が発見されても修正パッチが提供されなくなるため、セキュリティ対策が事実上不可能となります。

EOLについては下記の記事でも解説しています。

業務システムや基幹システムにStruts2を使用している企業においては、サポート終了後もこれを放置することで、データ流出システムダウンといった重大な事態を招く可能性があります。この問題を軽視することは、結果的に顧客との信頼を損ない、経済的損失のみならず社会的信用も失うリスクを増大させる結果となるでしょう。

セキュリティ事故の事例と経済的損失

セキュリティ事故の事例と経済的損失

これまでにApache Strutsの脆弱性が悪用された事例の中でも特に注目されたのは、2017年に発生した米国企業の大規模データ漏洩事件です。この事件では、Strutsの未修正の脆弱性をついた攻撃によって1億4千万件以上の個人情報が流出し、甚大な損害が生じました。攻撃を受けた企業はその後法的責任を追及され、巨額の賠償費用を負うこととなりました。

さらに、このような事件は直接的な金銭的損失のみならず、顧客や株主からの信頼喪失、ブランドイメージの悪化といった深刻な二次的影響も引き起こします。その対策として多額のセキュリティコストを要することもあり、結果として企業全体の成長戦略に大きな支障を及ぼすことになります。

未来図編集部

このような背景から、Strutsを用いた業務システムの継続利用は極めて危険であり、早急な移行計画が必要とされています。

Struts業務システムを利用し続けるリスク

Struts業務システムを利用し続けるリスク

企業が直面するセキュリティリスク

Apache Strutsを利用した業務システムを運用し続ける最大のリスクは、セキュリティ脆弱性です。2023年に報告された「CVE-2023-50164」のような深刻な脆弱性は、新たなセキュリティパッチが提供されない環境下で使用する場合、リモートコード実行(RCE)や機密データ漏えいなどのリスクを引き起こします。特に、基幹業務を担うようなWebシステムでStrutsを使用している企業にとって、このような脅威は経済的損失や社会的信用失墜につながりかねません。既にサポート終了(EOL)となっているフレームワークの利用継続は、セキュリティ対策として推奨されません。

保守・運用にかかるコストの増加

サポートが終了したStrutsを使い続けると、保守や運用にかかるコストが急増します。たとえば、脆弱性が発見された場合、適切な対策が自社で対応される必要があるため、特別な技術力を持つエンジニアを確保しなければなりません。また、独自にセキュリティパッチを作成する場合も多くの工数が発生します。加えて、古いフレームワークを維持するだけで開発コストが高騰し、結果としてIT投資のリソースを消耗します。この負担により、新技術への移行やモダン化に向けた予算や人材が不足し、企業全体の競争力が低下する可能性があります。

設計書やドキュメント不在による困難

Strutsを使用しているシステムの多くは開発から長年が経過しているため、設計書やドキュメントが整備されていないことが少なくありません。こうした状況では、移行や変更を検討する際にシステムの全容を把握するのが困難になり、計画策定や工数見積もりに多大な労力が要求されます。また、ドキュメントが欠如している場合、現行システムの運用中に不具合が発生しても迅速な対応が難しくなります。このようなリスクを放置することは、業務システムの安定稼働における障壁となり得ます。

責任追及と社会的信用喪失のリスク

Struts業務システムの利用を続ける中で重大なセキュリティインシデントが発生した場合、企業は大きな責任を問われる可能性があります。特に、基幹業務システムから大規模な情報漏えいが発生すれば、顧客や取引先からの信頼が一瞬で失われ、社会的信用を回復するには莫大な時間とコストが必要です。さらに、法的責任や規制への対応が求められるケースもあり、企業の運営そのものに深刻な打撃を与える可能性があります。長年使用されていたSeasar2やStruts1も、サポート終了後にリスクを無視した結果としての問題を引き起こした事例がいくつか存在します。これを教訓に、現行の脆弱なフレームワークの早急な移行を検討することが求められています。

【ホワイトペーパーダウンロード】 移行事例多数 Strutsからのフレームワーク移行をワンストップで実現!

\移行事例、多数掲載/
Strutsからのフレームワーク移行実現


セキュリティリスクも多数抱えているStruts/Seasar2を利用したアプリケーションを使い続けていませんか?本資料ではStrutsマイグレーションの成功事例を交えながら、具体的な解決策をご紹介します。レガシーシステムから脱却する最初の一歩としていかがでしょうか。

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

そこで、シーイーシーでは、Struts/Seasar2フレームワークで構築された既存アプリケーションを引き続き安全に利用できるように、最新フレームワークのデファクトスタンダードである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マイグレーションの特長

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

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

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

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

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

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

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

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

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

【ホワイトペーパーダウンロード】 移行事例多数 Strutsからのフレームワーク移行をワンストップで実現!

\移行事例、多数掲載/
Strutsからのフレームワーク移行実現


セキュリティリスクも多数抱えているStruts/Seasar2を利用したアプリケーションを使い続けていませんか?本資料ではStrutsマイグレーションの成功事例を交えながら、具体的な解決策をご紹介します。レガシーシステムから脱却する最初の一歩としていかがでしょうか。

サービス提供の流れ

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

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

Struts系フレームワークに関する相談会はこちらから

移行事例多数掲載お役立ち資料はこちらから

【ウェビナー】【ユーザ部門向け】Struts脆弱性放置の危険 、どのように対応していくべきか? ~Strutsマイグレーションを起点とした、モダナイゼーションの実現~

Struts脆弱性放置の危険 、
どのように対応していくべきか?
~Strutsマイグレーションを起点としたモダナイゼーションの実現~


本動画では、StrutsからSpring MVCへのマイグレーション手法詳しく解説します。自動変換ツールを駆使し、現行機能を維持したまま、低リスク・高品質・短期間でのシステム刷新を実現します。

Struts、Seasar2関連のよくある質問

Strutsのサポートは終了しましたか?

Struts1のサポートは2013年4月に終了しました。Struts1は2001年にリリースされ、当時はJavaのWebアプリケーション開発における標準的なフレームワークとして広く利用されていました。しかし、技術進化への対応が進まず、現在もStruts1を利用し続けることはセキュリティ上の大きなリスクとなります。Struts1以外にも、Struts2は継続的なサポートが提供されていますが、日々のセキュリティ更新への対応が重要です。

Struts2のサポートは終了しましたか?

Struts2のサポートは公式には終了しておらず、最新バージョンにおいてセキュリティ更新が提供されています。ただし、古いバージョンのStruts2では既にサポートされていないものもあり、その場合は最新バージョンへのアップグレードが推奨されます。Struts2の過去の脆弱性には深刻なものも多く、公開された脆弱性情報を利用した攻撃事例も報告されています。そのため、最新のサポートポリシーに基づくセキュリティ対策が必要です。

Seasar2のサポートが終了する理由は何ですか?

Seasar2のサポートが終了した理由は、主にメンテナンスの停止と他のフレームワークへの技術移行の流れによるものです。Seasar2はかつて日本国内で多くのシステム開発に利用されていましたが、新しい技術トレンドに追随しきれず、2016年9月26日に公式サポートが終了しました。また、プロジェクトの管理主体の変更や、それに伴うリソース確保の困難さも要因として挙げられます。サポート終了後はセキュリティ脆弱性への対応が行われず、リスクが増大するため、移行が強く推奨されています。

Seasarのサポート期限はいつまでですか?

Seasar2の公式サポートは2016年9月26日で終了しました。これ以降、セキュリティ更新やバグ修正は提供されていないため、現在もSeasar2を使用している場合はシステム全体に脆弱性が存在する可能性が高まっています。サポート終了後もドキュメントやソースコードは公開され続けているものの、それだけではセキュリティリスクを解消できないため、Spring Frameworkなどのサポートが継続的に提供されるフレームワークへの移行が急務と言えます。

サポート切れしたフレームワークの継続利用は危険!早急な移行を検討しましょう

Strutsをはじめとする2000年代に構築されたフレームワークの多くは、現在ではサポートが終了しており、新たな脆弱性が発見されても修正が行われない状況です。これにより、これらのフレームワークを利用し続けることは、情報漏えい不正アクセスといった深刻なリスクを伴うものとなっています。さらに、これらのリスクは企業の信頼性や業務の継続性に直接的な影響を及ぼす可能性があります。

こうした背景を踏まえ、依然としてStrutsやSeasar2などのレガシーシステムを使用する企業は、早急に移行を検討することが重要です。特に、安全性・効率性を兼ね備えた移行手法を提供しているSpring MVCへのマイグレーションは、現行機能を維持したままセキュリティを強化し、低リスクでシステムを刷新する現実的な選択肢といえます。

これを契機に、組織全体のIT基盤を見直し、モダナイゼーションを進める第一歩としてみてはいかがでしょうか。安全で持続可能なシステム運用を実現するために専門的なサポートを受けながら、移行を進めることをおすすめします。

Struts系フレームワークに関する相談会はこちらから

関連サービス情報

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

お問い合わせ

マイグレーション関連のコラムはこちら

マイグレーション関連のダウンロード資料はこちら

  • URLをコピーしました!
目次