SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

OWASPでビルトイン・セキュリティ

組み込んだOSSコンポーネントの更新漏れを可視化する「OWASP Dependency Check」

OWASPでビルトイン・セキュリティ 第7回

  • X ポスト
  • このエントリーをはてなブックマークに追加

 昨今のウェブアプリケーションでは、ほとんどの場合、オープンソースのフレームワークやライブラリのような、自社開発ではないパッケージ化された部品(コンポーネント)を組み合わせて構築することでしょう。ですから、もしも既知の脆弱(ぜいじゃく)性が存在するようなコンポーネントを利用してウェブアプリケーションを開発していた場合には、組み込まれたコンポーネントの脆弱性を悪用され、攻撃を受けてしまう可能性が高くなります。

  • X ポスト
  • このエントリーをはてなブックマークに追加

 本稿では、ウェブアプリケーションに組み込まれている脆弱性が存在するコンポーネントの洗い出しに有用な、OWASPコミュニティより公開されているツール「OWASP Dependency Check」の概要および利用方法について解説します。

はじめに

 本連載の第1回では、ウェブアプリケーションにおける重要なインパクトのある10のセキュリティリスクについてまとめた「OWASP Top 10」について紹介しました。

 この「OWASP Top 10」には「A9 既知の脆弱性を持つコンポーネントの使用」という脆弱性項目があるのをご存知でしょうか?

図1 OWASP Top 10:「A9 既知の脆弱性を持つコンポーネントの使用」
図1 OWASP Top 10:「A9 既知の脆弱性を持つコンポーネントの使用」

 この脆弱性項目は、2013年からOWASP Top 10に新たに加わりました。この項目では、稼働しているアプリケーションにおいて脆弱性が報告されているコンポーネントを利用している場合には、既知の脆弱性を悪用され、攻撃を受けてしまう可能性があることについて解説しています。

 存在する脆弱性の内容によって影響度は異なりますが、広く利用されているようなコンポーネントに脆弱性が存在した場合には、攻撃者に狙われる可能性があるでしょう。ここ数年で何度も話題となっているApache Strutsの脆弱性などはまさにその一例です。

 このような脆弱性が悪用されるリスクを軽減するには、以下のような対策が必要です。

  • 定期的なアップデートにより脆弱性が修正された最新バージョンのコンポーネントを利用
  • 脆弱なコンポーネントを使わないこと、あるいは脆弱な機能の無効化など設定変更による脆弱性の回避

 上記を徹底するためには、稼働しているアプリケーションにおける利用コンポーネントの種類の把握、バージョン情報の管理、そして定期的に脆弱性情報を収集する必要があります。しかし、実際に行うことはなかなか大変でしょう。対応したいが、時間や人的リソースが足りないので、正直そこまで手が回らないというようなケースも多いのではないでしょうか。中には、そもそもコンポーネントの使用有無さえ把握していないという場合もあるかもしれません。

 そこで、本稿でご紹介するOWASP Dependency Checkを利用すれば、上記に該当するような脆弱性をある程度自動的に洗い出すことが可能です。OWASP Dependency Checkを利用して、アプリケーションが脆弱なコンポーネントを利用していないか、チェックをしてみましょう!

OWASP Dependency Checkとは

 OWASP Dependency Checkは指定したウェブアプリケーションプロジェクトファイルの依存関係を解析し、アプリケーションが利用している既知の脆弱性が存在するコンポーネントについて報告してくれるツールです。オープンソースライセンスで公開されているため、無料で利用することができます。

 2016年8月1日時点の最新バージョンは1.4.2であり、以下の言語で開発されたプロジェクトファイルへのスキャンに対応しています。

  • Java、.NET
  • Ruby、Node.js、Python、C/C++(CMakeもしくはautoconfを利用している場合のみ)は実験的にサポート

 OWASP Dependency Checkには、CUIツールが提供されています。本稿では主にCUIでのスキャン実行について解説します。なお、後で少し触れますがCUI以外にもビルドツールなどと連携できるようなプラグインも公開されています。

次のページ
OWASP Dependency Checkの動作原理

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
OWASPでビルトイン・セキュリティ連載記事一覧

もっと読む

この記事の著者

洲崎 俊(OWASP Japan)(スザキ シュン)

OWASP Japan Promotion Teamに所属する「とある診断員」。2006年よりセキュリティベンダに入社し、NW及びWebアプリケーションの脆弱性診断を中心としたセキュリティソリューションサービスの提供に携わる。現在はユーザ企業内のセキュリティチームにて、セキュリティエンジニアとしてセ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9608 2016/09/06 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング