Skip to main content
© 2017 Synopsys, Inc. 1
セキュリティ・テストの自動化によるDevSecOpsの実現
日本シノプシス合同会社
シニアセールスエンジニア
吉井雅人
© 2016 Synopsys, Inc. 2
バグはどこにあるでしょう?
ヒント : 引数
#include <stdio.h>
void print(int srcId, int dstId){
printf("source Id is %d. ¥n", srcId);
printf("destination Id is %d. ¥n", dstId);
}
void test() {
int srcId = 1;
int dstId = 2;
print(dstId, srcId);
}
© 2016 Synopsys, Inc. 3
バグはどこにあるでしょう?
ヒント : コピーペースト?
int square(int x) {
return x*x;
}
int example(int a, int b, int x, int y) {
int result = 0;
if (a > 0) {
result = square(a) + square(x);
}
if (b > 0) {
result = square(a) + square(y);
}
return result;
}
© 2017 Synopsys, Inc. 4
静的解析ツールの世界市場シェア No.1
© 2017 Synopsys, Inc. 5
早期のバグ修正で後工程の手間を減らします
設計 開発 QA 製品リリース & 管理
5倍のコスト 10倍のコスト 30倍のコスト
Coverity
早い段階で不具合を除去
© 2017 Synopsys, Inc. 6
DevOpsに存在するアプリケーションセキュリティのギャップ
SAST & SCA
開発中にソースとコンポーネ
ントに存在する脆弱なコード
を見つけて修正する
DAST & Pen-test
QAおよび運用中に実行中
のアプリケーションで脆弱
な動作をテスト&報告する
testcode operatebuild deploy
動的な検証ができない
開発者にやさしくない
CI/CD連携ができない
© 2017 Synopsys, Inc. 7
Seeker (Interactive Application Security Testing)が
アプリケーションセキュリティのギャップを埋める
SAST & SCA
開発中にソースとコンポーネ
ントに存在する脆弱なコード
を見つけて修正する
DAST & Pen-test
QAおよび運用中に実行
中のアプリケーションで脆
弱な動作をテスト&報告
する
Seeker IAST
CI / CD自動化によるビル
ド&QA中のアプリケーショ
ンとコードの識別とデータ
漏洩の特定と確認
testcode operatebuild deploy
© 2017 Synopsys, Inc. 8
DevOpsにセキュリティを組み込む為の課題
テスト結果に誤検知が多いのでトリアージ
に時間を要する。
Sec
セキュリティテスト用の環境を用意するの
が困難。開発プロセスの変更が必要。
セキュリティテストの結果を見てもどこを
修正すればいいかわからない。
© 2017 Synopsys, Inc. 9
このような課題をどのように解決するか
正確性 連携 対応可能
© 2017 Synopsys, Inc. 10
Easily
Onboard and
Get Actionable
Results
セキュアな
ソフトウェアの
リリースを支援
1
2
開発者のストレスにならない正確さ
機能テストを実行するだけ
3 開発者が対応可能な情報を提示
誤検知 <5% を実現
特別な環境を用意する必要なし
脆弱性のある行数まで特定
© 2017 Synopsys, Inc. 11
Easily
Onboard and
Get Actionable
Results
セキュアな
ソフトウェアの
リリースを支援
1 開発者のストレスにならない正確さ
© 2017 Synopsys, Inc. 12
http://...
Seeker
Your Application
Seeker
Enterprise Server
2
3
1 アプリケーションがHTTPリクエストを受
信。
エージェントは、暗号化、SQL、ファイ
ルアクセス、LDAP、XPathなどのセ
キュリティ関連のアクティビティに焦点
を当て、コードとメモリを分析。
結果を能動的に検証され、脆弱なコー
ド行、ランタイムデータ、検証証明ととも
に報告。
2
3
1
Seeker
Agent
The picture can't be displayed.
© 2017 Synopsys, Inc. 13
Easily
Onboard and
Get Actionable
Results
セキュアな
ソフトウェアの
リリースを支援
1 開発者のストレスにならない正確さ
誤検知 <5% を実現
© 2017 Synopsys, Inc. 14
Easily
Onboard and
Get Actionable
Results
セキュアな
ソフトウェアの
リリースを支援
1
2
開発者のストレスにならない正確さ
機能テストを実行するだけ
誤検知 <5% を実現
© 2017 Synopsys, Inc. 15
機能テストのバックグラウンドでセキュリティテストを自動的に実行
testcode operatebuild deploy
開発者がコード
をコミット
機能テストの
実行
テストの結果に基づい
て合否判定
JIRAへの脆弱性
レポート
アプリケーションと
Seekerをテスト環境
にデプロイ
ビルド実行
© 2017 Synopsys, Inc. 16
Easily
Onboard and
Get Actionable
Results
セキュアな
ソフトウェアの
リリースを支援
1
2
開発者のストレスにならない正確さ
機能テストを実行するだけ
誤検知 <5% を実現
特別な環境を用意する必要なし
© 2017 Synopsys, Inc. 17
Easily
Onboard and
Get Actionable
Results
セキュアな
ソフトウェアの
リリースを支援
1
2
開発者のストレスにならない正確さ
機能テストを実行するだけ
3 開発者が対応可能な情報を提示
誤検知 <5% を実現
特別な環境を用意する必要なし
© 2017 Synopsys, Inc. 18
開発者が対応可能な結果を提供
•ソースコードがなくても脆弱性を特定するための詳細な情報を提供
–URL、パラメータ
–ファイル名、メソッド、行番号
–誤検知率 < 5% を実現
© 2017 Synopsys, Inc. 19
Easily
Onboard and
Get Actionable
Results
セキュアな
ソフトウェアの
リリースを支援
1
2
開発者のストレスにならない正確さ
機能テストを実行するだけ
3 開発者が対応可能な情報を提示
誤検知 <5% を実現
特別な環境を用意する必要なし
脆弱性のある行数まで特定
© 2017 Synopsys, Inc. 20
正確性 連携 対応可能
© 2017 Synopsys, Inc. 21
Seeker(IAST)でDevSecOpsを実現しましょう!
Dev
Build
Test
Dev
Build
Test
Dev
Build
Test
Dev
Build
Test
security security security security
Thank You