-
タグ
タグ
- セキュリティ
- 人材開発・教育
- システム開発
- アプリ開発
- モバイルアプリ
- DX
- AI
- サイバー攻撃
- サイバー犯罪
- 標的型攻撃
- 脆弱性
- 働き方改革
- 企業市民活動
- 攻撃者グループ
- JSOC
- JSOC INSIGHT
- サイバー救急センター
- サイバー救急センターレポート
- LAC Security Insight
- セキュリティ診断レポート
- サイバー・グリッド・ジャパン
- CYBER GRID JOURNAL
- CYBER GRID VIEW
- ラックセキュリティアカデミー
- すごうで
- ランサムウェア
- ゼロトラスト
- ASM
- EDR
- SASE
- デジタルアイデンティティ
- インシデントレスポンス
- 情シス向け
- 対談
- CIS Controls
- Tech Crawling
- クラウド
- クラウドインテグレーション
- データベース
- アジャイル開発
- DevSecOps
- OWASP
- CTF
- FalconNest
- セキュリティ診断
- IoT
- EC
- サプライチェーンリスク
- スレットインテリジェンス
- テレワーク
- リモートデスクトップ
- アーキテクト
- プラス・セキュリティ人材
- 障がい者採用
- 官民学・業界連携
- カスタマーストーリー
- 白浜シンポジウム
- CODE BLUE
- 情報モラル
- クラブ活動
- 初心者向け
- 趣味
- カルチャー
- 子育て、生活
- 広報・マーケティング
- コーポレート
- ライター紹介
- IR
エンタープライズ・セキュリティサービス事業部の倉持です。
JSOCアナリストグループより、Apache Struts 2における脆弱性 (S2-045、CVE-2017-5638)の被害拡大についてのレポートが投稿されています。重要インシデントは減少傾向にあるものの、Apache Struts2を狙った攻撃は継続して多数の攻撃が行われているようです。また、3月20日には、同様の脆弱性が別の箇所にも存在していることが判明しています(S2-046)。今回問題になった対象バージョンのApache Struts2をお使いのユーザは早期にバージョンアップする事を改めて推奨いたします。
- Apache Struts 2における脆弱性 (S2-045、CVE-2017-5638)の被害拡大について
- 【続報】Apache Struts 2における脆弱性 (S2-045、CVE-2017-5638)の被害拡大について
- 更新:Apache Struts2 の脆弱性対策について(CVE-2017-5638)(S2-045)(S2-046)
(https://warp.ndl.go.jp/info:ndljp/pid/11376004/www.ipa.go.jp/security/ciadr/vul/20170308-struts.html)
OSSコンポーネントの既知の脆弱性
WebアプリケーションはStruts以外にも、様々なOSSコンポーネントを組み合わせて構築されています。Strutsに限らず、こうしたOSSコンポーネントの脆弱性を放置しておくことはセキュリティリスクにつながります。OWASPが発行しているOWASP Top10でも、コンポーネントの既知の脆弱性について「A9 既知の脆弱性を持つコンポーネントの利用」として指摘しています。
「既知の脆弱性を持つコンポーネントの利用」に起因する対策としては、
- 利用しているコンポーネントとバージョンを把握する
- 1で把握したコンポーネントのセキュリティ情報を収集する
- コンポーネントに脆弱性が発見された場合には、バージョンアップなどの対応を行う
というプロセスを構築・運用・維持していく必要があります。とはいえ、何も準備ができていないところからスタートするのは大変です。日々のセキュリティ情報の収集も、それが本業でなければ言うは易し、行うは難しでしょう。
OWASP Dependency Check
そこで今回は、OWASPが提供するDependency Checkというツールを使って、「Webアプリケーションが利用しているコンポーネントとバージョンの把握」「利用しているコンポーネントに既知の脆弱性があるかどうか」を簡易的に実現する方法についてご紹介します。
Dependency Checkは、アプリケーションをスキャンし利用しているコンポーネントを調査します。そして、NVD(National Vulnerability Database)の脆弱性データベースを参照して利用しているコンポーネントに既知の脆弱性があるかどうかをレポートします。現時点ではJavaと.NETをサポートしています。レポートはデフォルトではHTMLで出力されます。
では早速、Dependency Checkを使った調査について解説します。なお、今回はWindowsのコマンドラインからDependency Checkを実行する方法について解説しますが、AntやJenkins、MavenなどのCIツールとの連携も可能です。作業の流れは以下のようになりますが、Java実行環境のインストールについては割愛します。
- Java実行環境をインストールする(なければ)
- Dependency Checkをダウンロードする
- 対象アプリケーションに対して、スキャンを実行する
OWASP Dependency Checkを実行する
OWASP Dependency Checkのサイトからコマンドラインツールをダウンロードし、zipファイルを展開します。binフォルダにあるdependency-check.batをコマンドラインから実行します。コマンドラインから次のように実行します。
dependency-check.bat --project "My App Name" --scan "c:¥java¥application¥lib"
「My App Name」はレポートに出力する際のアプリケーション名ですのでお好みに合わせて変更します。「c:¥java¥application¥lib」にスキャン対象のアプリケーションのパスを指定します。
初回起動時には、NVDから脆弱性情報をダウンロードしてきますので、少し時間がかかります。スキャンが完了すると、スキャン結果がHTMLとしてDependency Checkを実行したフォルダに「dependency-check-report.html」として出力されます。
上部にはスキャン結果のサマリが表示されます。検出されたコンポーネント、バージョンがリストアップされています。「Highest Severity」の欄に脆弱性の深刻度が記載されています。脆弱性の詳細については、コンポーネントのリンクをクリックすることで確認することができます。
今回はインターネットからStrutsによるWebアプリケーション開発のサンプルプロジェクトをダウンロードしたものをスキャンしてみました。結果としてメンテナンスが終了しているStruts1.1や、それ以外にも多数のコンポーネントが既知の脆弱性があるとしてレポートされました。
今回はDependency Checkをコマンドラインから簡単に実行する方法をご紹介しました。とりあえず自社のWebシステムの状況をザックリと把握することが出来ますので、Strutsだけではない、WebシステムのOSSコンポーネントの脆弱性への対応を進める一助としてください。
また、Dependency Checkには多数のオプションがあります。先述したとおりCIツールと連携も可能ですので、日々の開発運用プロセスの中に組み込んでレポートを自働化することもできます。DevSecOpsの実現に向けて取り組んでみてはいかがでしょうか。
タグ
- セキュリティ
- 人材開発・教育
- システム開発
- アプリ開発
- モバイルアプリ
- DX
- AI
- サイバー攻撃
- サイバー犯罪
- 標的型攻撃
- 脆弱性
- 働き方改革
- 企業市民活動
- 攻撃者グループ
- JSOC
- もっと見る +
- JSOC INSIGHT
- サイバー救急センター
- サイバー救急センターレポート
- LAC Security Insight
- セキュリティ診断レポート
- サイバー・グリッド・ジャパン
- CYBER GRID JOURNAL
- CYBER GRID VIEW
- ラックセキュリティアカデミー
- すごうで
- ランサムウェア
- ゼロトラスト
- ASM
- EDR
- SASE
- デジタルアイデンティティ
- インシデントレスポンス
- 情シス向け
- 対談
- CIS Controls
- Tech Crawling
- クラウド
- クラウドインテグレーション
- データベース
- アジャイル開発
- DevSecOps
- OWASP
- CTF
- FalconNest
- セキュリティ診断
- IoT
- EC
- サプライチェーンリスク
- スレットインテリジェンス
- テレワーク
- リモートデスクトップ
- アーキテクト
- プラス・セキュリティ人材
- 障がい者採用
- 官民学・業界連携
- カスタマーストーリー
- 白浜シンポジウム
- CODE BLUE
- 情報モラル
- クラブ活動
- 初心者向け
- 趣味
- カルチャー
- 子育て、生活
- 広報・マーケティング
- コーポレート
- ライター紹介
- IR