ホームページ  >  記事  >  運用・保守  >  Struts2フレームワークサイトのリスク分析例

Struts2フレームワークサイトのリスク分析例

王林
王林転載
2023-05-30 12:32:14993ブラウズ

1. 概要

Apache Software Foundation (ASF) がスポンサーとなっているオープン ソース プロジェクトは Struts です。このプロジェクトはジャカルタ プロジェクトの分岐点として開始され、その後 ASF のトップレベル プロジェクトに昇格しました。 Java Servlet/JSP技術を利用し、Java EE WebアプリケーションのModel-View-Controller[MVC]設計パターンに基づいたアプリケーションフレームワーク[Web Framework]を実装した、MVCクラシック設計パターンの代表的な製品です。

Java EE Web アプリケーション開発の初期には、サーブレット テクノロジの使用に加えて、JavaServer Pages (JSP) のソース コードに HTML と Java コードを組み合わせて開発するのが一般的でした。これら 2 つの方法は、パフォーマンス コードとビジネス ロジック コードを混在させる場合に避けられず、初期の開発とその後のメンテナンスに大きな複雑さをもたらします。上記の制約と制限を取り除き、ビジネス ロジック コードをプレゼンテーション層から明確に分離するために、Craig McClanahan は 2000 年に MVC 設計パターンを採用して Struts を開発しました。このフレームワーク製品は、かつては最も広範で人気のある JAVA WEB アプリケーション フレームワークとみなされていました。

Struts2 は、MVC デザイン パターンに基づく Web アプリケーション フレームワークです。本質的にはサーブレットと同等です。MVC デザイン パターンでは、Struts2は、モデルとビューの間のデータ対話を確立するコントローラーとして機能します。 Struts 2 は Struts の次世代製品であり、Struts 1 と WebWork のテクノロジーを統合した新しい Struts 2 フレームワークです。

2. 脆弱性インベントリ

2.1. 脆弱性履歴

Struts2 フレームワークの人気に伴い、開発に Struts2 フレームワークを使用する企業部門が増えています。近年、高リスクの脆弱性が何度も暴露されています。多くの政府機関のサイト、銀行、大手インターネット企業、その他の部門が攻撃を受けています。 2016年12月に京東12Gのユーザーデータが流出、ユーザー名、パスワード、電子メール、QQ番号、電話番号、IDカードなどのデータが数千万件に達した。原因は2013年に遡る。 Struts 2 のセキュリティ脆弱性。当時、国内のほぼすべてのインターネット企業と多数の銀行や政府機関が影響を受け、多数のデータ漏えいが発生しており、struts2 に脆弱性が発生するたびに、主要なインターネット脆弱性プラットフォームにも次のような複数のフィードバックが寄せられました。


Struts2フレームワークサイトのリスク分析例

#Struts2 のコード実行の問題は、Google セキュリティ チームの Meder Kydyraliev がパラメータ インターセプタが次のようなものである可能性があることを発見した 2010 年に遡ります。特殊文字に unicde エンコードを使用することで回避される 「#」のフィルタリングによりコード実行の問題が発生する 公式の脆弱性番号は S2-003、

struts2 の脆弱性履歴を振り返ると、公式の脆弱性番号は S2-003 ではないことがわかりました。まず、開発者にセキュリティに対する意識が低く、基本的なセキュリティ対策は名ばかりでした。第二に、公式の修復措置は強度に欠けており、問題の根本原因を真に解決することなく、単なる場当たり的なものに過ぎないと感じています。さらに、公式のオープン精神は本当に衝撃的で、脆弱性の PoC を公式 Web サイトに直接掲載したことで、多くの人が脆弱性の悪用をさらに検討する機会を与えたことも、問題が深刻化する理由の 1 つです。もっと深刻な。

2.2. Struts2 の脆弱性インベントリ

比較的大きな影響があり、広く悪用されている Struts2 の脆弱性:

CVE-2010-1870XWork ParameterInterceptors バイパスにより OGNLstatement の実行が可能

CVE-2012-0392struts2 DevMod リモート コマンド実行の脆弱性

CVE-2011-3923Struts

CVE-2013-1966Struts2

CVE-2013-2251Struts2

Struts2

Struts2

CNVD-2016-02506、CVE-2016-3081、影響を受けるバージョン Struts 2.3.20 - StrutsStruts 2.3.28 (2.3) .20.3 および 2.3.24.3 を除く)

CVE 番号: CVE-2016-4438 Struts (S2-037) リモート コード実行の脆弱性、影響を受けるバージョン: Struts 2.3.20 - Struts Struts 2.3.28.1

CVE-2017-5638 影響を受けるバージョン: Struts 2.3.5 – Struts 2.3.31

Struts 2.5 – Struts 2.5.10

その他の詳細については、struts2 を参照してください。公式 Web サイトの脆弱性履歴:

https://cwiki.apache.org/confluence/display/WW/Security Bulletins

Struts2フレームワークサイトのリスク分析例

3 . 配布状況

脆弱性が多発している Struts2 フレームワークを考慮し、州内の Struts フレームワークの配布状況に関する調査と統計を実施し、各都市のサイトのフィンガープリンティングを行うことで、Struts フレームワークの使用状況をマッピングしました。


Struts2フレームワークサイトのリスク分析例

## ビッグデータ分析とキーワード識別を組み合わせて、収集した業界を分析しました。 Strust2 サイトの使用条件を調べて、次の図を作成しました。


Struts2フレームワークサイトのリスク分析例

特定のテーブル データ:

1 政府機関 447 28.29% ##2 3 4 5 6 7 #8 通信事業者 114 7.21% 9 インターネット企業 398 25.18% 10 他社 213 13.48 % #上図からわかるように、トップ 3 (注: 他社を除く) は政府機関 (28.29%) とインターネット企業 (25.18%) です。 , 教育機関 (9.8%)
##シリアル番号 業種 数量 割合
教育機関 155 9.80%
金融業 110 6.96%
保険業界 28 1.77%
証券業界 14 0.88%
エネルギー業界 8 0.50%
運輸業 93 5.88%
収集したサイトに対して、Struts2ミドルウェアを使用して脆弱性検出を実施します。今回は、インターネットへの影響が比較的大きい高リスクの脆弱性をいくつか利用し、脆弱性の検証と検出を行います( S2-045、S2-037、S2-032、S2-016)。1580 のサイト サンプルをテストした結果、Struts2 の脆弱性が修復されていないサイトがまだいくつかあることが判明しました。脆弱性が検出されたサイトの統計は次のとおりです。

シリアル番号 #業界 1政府部門 教育機関##3金融業界1 4 インターネット企業25その他24. セキュリティに関する提案
#脆弱性の数
3 2
2
検出の過程で、多くの Web サイトに Stuts2 以前の古い脆弱性がまだ修復されていないことが判明し、Stuts2 の脆弱性のうち、Web サイトの登録ユーザーがハッカー攻撃にさらされることになりました。
状況がますます複雑になるにつれて、情報セキュリティは単なるテクノロジー以上のものが関係する問題となっています。科学技術の発展は諸刃の剣であり、人類に利益をもたらすこともありますが、破壊的な影響をもたらすこともあります。脆弱性の大きな影響に直面して、インターネット業界の情報セキュリティ担当者は、情報を求める警鐘を鳴らすだけで十分です。セキュリティ、常に鳴らしておかなければなりません。

1. 情報システム開発では、良い開発習慣を身につける必要があります。ほとんどの抜け穴は開発段階から存在します。開発プロセス中の過失により、論理的な抜け穴などもシステムに大きな損害をもたらします。セキュリティ危険。

2. Web サイトのデータを適時にバックアップし、システムが攻撃された場合に、攻撃されたシステムをできるだけ早く復元できるようにします。

3. バックグラウンド サービスにウイルス対策ソフトウェアをインストールし、定期的にサーバーでウイルス スキャンを実行し、セキュリティ チェックを待ちます。

4. インターネットの最新の脆弱性をリアルタイムに把握し、情報システムの脆弱性をタイムリーに修復します。

5. システムに対する侵入テストや脆弱性テストなどの作業を定期的に実施し、問題を迅速に発見して適時に修復し、脆弱性がインターネット上に公開されるのを防ぎます。

6. 使用されなくなったシステムは適時にオフラインにします 一般に、古いシステムにはセキュリティの問題が多く、管理が不十分だと大量の機密情報が漏洩する可能性があります。

以上がStruts2フレームワークサイトのリスク分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。