black duck概要のご紹介 · 2018-12-06 ·...
TRANSCRIPT
Black Duck 概要のご紹介
2018年10月日本電気株式会社
3 © NEC Corporation 2018
Black Duckの構成
Visibility Module ・OSSの検知・セキュリティ脆弱性情報・ライセンスの種類とリスク・運用リスク・レポート機能
Policy Module ・ポリシー管理・修正状況のトラック・通知機能の設定
Security Module
・セキュリティ脆弱性情報の追加
・セキュリティ関連機能
License ComplianceModule
・スニペットマッチング(OSS部分流⽤検知機能)・ライセンスの修正情報
の出⼒・ライセンス関連機能
Open Source Integrations
・IDE・SCM/Repo・Build/CI・Package Managers・QA/Issue Tracking
4 © NEC Corporation 2018
Black Duckの機能概要
▌多種多様なOSSの自動検出機能 (Visibility Module)l業界最大規模のOSS情報DB Black Duck KnowledgeBase™と、
独自のスキャン機構を組み合わせた、⾼速かつ⾼精度なOSS検出機能を搭載。▌既知脆弱性の検出・通知機能 (Security Module)l脆弱性DBとしてNVDと独自脆弱性DBの2種類を参照。l検出された脆弱性情報は、すぐに担当者へメールで通知。
▌ライセンス管理機能(License Compliance Module)l開発製品ごとにOSSのライセンス情報の管理・編集が可能lスニペット・マッチング(OSS部分流用の検知機能)lカスタム・ライセンスの作成
▌ポリシー管理機能 (Policy Module)l社内で定めたOSSの利用ルール(GPLedなOSSは利用禁⽌、○○というOSSは利用禁⽌等)を、
ポリシーとしてBlackDuckに登録することで、検出されたOSSに対する自動判定が可能。l脆弱性検出時と同様、ポリシー違反時も担当者へメールで通知。
▌豊富な連携プラグイン (Integrations)l CIツールをはじめ、パッケージマネージャ、IDE、リポジトリマネージャなどといった、
様々な開発支援ツール群とBlackDuckを直接連携。l開発シーンに合わせた形でBlackDuckを統合。
Black Duckは、開発製品で利用しているOSSの検出から、脆弱性の検出・監視まで自動で⾏います。
5 © NEC Corporation 2018
構成イメージと特徴
…src……src……src……src……src……src……src……src……src……src…
…src……src……src……src……src…
…src……src……src……src……src… 独自…src……src……src……src……src… OSSA…src……src……src……src……src… OSSB
お客様のソースコード9dd9e5…|491402…|0d2b3a…|6d173e…|37f80fd…|3e8028…|3e510e…|dc0c6b…|a33ef2…|1dc171…|Cf607b…|
データセンターBlackDuckサーバー
・Synopsys社データセンター上のDBを利⽤した⾼速なOSS照合、自動特定(※)検査対象のソースコードは社外に送信されません。
・ライセンス違反リスク、セキュリティリスクを平易なUIで可視化
JIRAチケットなど、既存開発環境と
容易に連携
・迅速な脆弱性情報入手、影響製品特定
・ポリシーベースのアラート
・過去資産の容易な移⾏
移⾏ツール
・Jenkinsなど8種のCIツールと連携し、ビルドのタイミングでBlackDuckで自動スキャンCIツール
連携
"Jenkins logo" by jenkins.io(https://jenkins.io/) is licensed under CC BY-SA 3.0
ハッシュ生成
6 © NEC Corporation 2018
BlackDuckの運⽤イメージ(開発・SI)
開発・SI 出荷 保守
▌製品開発・システム構築時、利用OSSに脆弱性が存在するかどうか確認l利用している(する予定)OSSに脆弱性が存在することが分かっていれば、早い段階で
『脆弱性が対策されたバージョンを使う or 他のOSS等を代わりに使う』といった対策を打つことができます。
・Apache v2.4.17・OpenSSL v1.0.0r
...
プロジェクトとOSSリストを作成
Open SSL v1.0.0rには脆弱性有り
最新版のOpenSSLを使うように修正
・Apache v2.4.17・OpenSSL v1.0.0s
...
既知の脆弱性無し
Black Duckサーバ Black Duckサーバ
7 © NEC Corporation 2018
BlackDuckの運⽤イメージ(開発・SI)
開発・SI 出荷 保守
▌製品開発・システム構築時に含まれているOSSの確認l利用している(する予定)以外のOSSの検出がある場合、意図しないOSSに早い段階で
対処でき、訴訟などのOSSライセンスに関するリスクを下げることが可能です。
クライアントPC
お客様のソースコード
ハッシュ
…src……src……src……src……src……src……src……src……src……src…
…src……src……src……src……src…
…src……src……src……src……src…
…src……src……src……src……src…
…src……src……src……sr c……src…
独自OSSAOSSB
Hubスキャナ
BDS DB
…src……src……src……src……src…
…src……src……src……src……src…
独自OSSA
利用予定OSSリスト 検出OSSリスト
差分を確認
ハッシュ情報を生成しサーバに格納BDSのDBと照合し、OSSのリスト作成
Black Duckサーバ
8 © NEC Corporation 2018
BlackDuckの運⽤イメージ(開発・SI)
開発・SI 出荷 保守
▌各種CIツールと連携することでの作業効率化l JenkinsなどのCIツールとBlackDuckを連携させることで
日々のビルド作業に加えてBlackDuckでのスキャン&チェック処理も自動化
BlackDuckサーバ CIツール
ビルドのたびに自動スキャン&チェック
ポリシー(※)に違反していればアラート(→ビルドエラー) ・2/1のビルド → 成功
・2/3のビルド → 成功・2/7のビルド → 失敗⇒2/3〜2/7のコミット分にポリシー
違反の原因あり⇒⾒直しが必要な範囲を限定できます
※ポリシーとは…『重大な脆弱性を含むOSSが検出されるとアラートを出す』『GPLでライセンスされているOSSが検出されるとアラートを出す』といったような、お客様が自由に登録できるルールのことです。
9 © NEC Corporation 2018
BlackDuckの運⽤イメージ(出荷)
開発・SI 出荷 保守
▌出荷時、既知の脆弱性は対策済みであることを確認l社内における出荷プロセスにおいて、 BlackDuckの脆弱性レポートを
確証に利用することもできます。
Black Duckサーバ
レポート出⼒
既知の脆弱性はゼロ→出荷OK
10 © NEC Corporation 2018
BlackDuckの運⽤イメージ(出荷)
開発・SI 出荷 保守
▌出荷時、意図しないOSSの混入がないことを確認l社内における出荷プロセスにおいて、 BlackDuckの脆弱性レポートを確証に利用すること
もできます。
Black Duckサーバ
レポート出⼒
・意図しないOSSの混入はゼロ・各ライセンス条件に対処済み
→出荷OK
11 © NEC Corporation 2018
BlackDuckの運⽤イメージ(保守)
開発・SI 出荷 保守
▌出荷済み製品で利用しているOSSの脆弱性も引き続き監視l過去に出荷した製品・システムで利用しているOSSに新たに脆弱性情報が公開されると、
その情報がユーザに対して通知されます。l各脆弱性情報に対応状況を記録しておくことで、対応済みかどうかが一目で分かります。
Black Duckサーバ
Aという製品のバージョン2に含まれているOSS Xに新たに脆弱性情報が公開されました。バージョンアップあるいは回避策を講じる必要があります。
・すぐに製品を修正しよう・お客様への通知も急がないと
新規公開脆弱性情報対象:製品Aバージョン:2OSS名:OSS X
・CVE-2015-****・CVE-2015-****
…
12 © NEC Corporation 2018
保守フェーズにおけるSecurity Moduleの有効性
▌実例)2017年3月に公開されたApache Struts2の脆弱性(CVE-2017-5638)l国内の様々なサイトで情報漏えいの引き⾦となった事例l最初の情報公開から攻撃が開始されるまでの期間が2日程度l都税クレジットカードお支払サイト、住宅⾦融支援機構(以上はGMOペイメントゲートウェイ運営)、
日本貿易振興機構(JETRO)、日本郵便、ニッポン放送など、3/17までに7組織、計約80万件の個人情報が流出。(参照:http://tech.nikkeibp.co.jp/it/atcl/column/14/346926/032100893/)
Apache Foundationが脆弱性情報を公開
Black Duck独自DBも同情報を公開
PoC(攻撃コード)が一般公開される
NVDで脆弱性情報公開
IPAからの注意喚起情報
3/6 3/7 3/8 3/11国内のサイトを標的とした
攻撃が発生
Black Duck Security Module(独自DB利⽤)ならいち早く脆弱性対応に着手できます
攻撃リスク