© 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

【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)

  • 1.
    © 2017 Synopsys,Inc. 1 セキュリティ・テストの自動化によるDevSecOpsの実現 日本シノプシス合同会社 シニアセールスエンジニア 吉井雅人
  • 2.
    © 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); }
  • 3.
    © 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; }
  • 4.
    © 2017 Synopsys,Inc. 4 静的解析ツールの世界市場シェア No.1
  • 5.
    © 2017 Synopsys,Inc. 5 早期のバグ修正で後工程の手間を減らします 設計 開発 QA 製品リリース & 管理 5倍のコスト 10倍のコスト 30倍のコスト Coverity 早い段階で不具合を除去
  • 6.
    © 2017 Synopsys,Inc. 6 DevOpsに存在するアプリケーションセキュリティのギャップ SAST & SCA 開発中にソースとコンポーネ ントに存在する脆弱なコード を見つけて修正する DAST & Pen-test QAおよび運用中に実行中 のアプリケーションで脆弱 な動作をテスト&報告する testcode operatebuild deploy 動的な検証ができない 開発者にやさしくない CI/CD連携ができない
  • 7.
    © 2017 Synopsys,Inc. 7 Seeker (Interactive Application Security Testing)が アプリケーションセキュリティのギャップを埋める SAST & SCA 開発中にソースとコンポーネ ントに存在する脆弱なコード を見つけて修正する DAST & Pen-test QAおよび運用中に実行 中のアプリケーションで脆 弱な動作をテスト&報告 する Seeker IAST CI / CD自動化によるビル ド&QA中のアプリケーショ ンとコードの識別とデータ 漏洩の特定と確認 testcode operatebuild deploy
  • 8.
    © 2017 Synopsys,Inc. 8 DevOpsにセキュリティを組み込む為の課題 テスト結果に誤検知が多いのでトリアージ に時間を要する。 Sec セキュリティテスト用の環境を用意するの が困難。開発プロセスの変更が必要。 セキュリティテストの結果を見てもどこを 修正すればいいかわからない。
  • 9.
    © 2017 Synopsys,Inc. 9 このような課題をどのように解決するか 正確性 連携 対応可能
  • 10.
    © 2017 Synopsys,Inc. 10 Easily Onboard and Get Actionable Results セキュアな ソフトウェアの リリースを支援 1 2 開発者のストレスにならない正確さ 機能テストを実行するだけ 3 開発者が対応可能な情報を提示 誤検知 <5% を実現 特別な環境を用意する必要なし 脆弱性のある行数まで特定
  • 11.
    © 2017 Synopsys,Inc. 11 Easily Onboard and Get Actionable Results セキュアな ソフトウェアの リリースを支援 1 開発者のストレスにならない正確さ
  • 12.
    © 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.
  • 13.
    © 2017 Synopsys,Inc. 13 Easily Onboard and Get Actionable Results セキュアな ソフトウェアの リリースを支援 1 開発者のストレスにならない正確さ 誤検知 <5% を実現
  • 14.
    © 2017 Synopsys,Inc. 14 Easily Onboard and Get Actionable Results セキュアな ソフトウェアの リリースを支援 1 2 開発者のストレスにならない正確さ 機能テストを実行するだけ 誤検知 <5% を実現
  • 15.
    © 2017 Synopsys,Inc. 15 機能テストのバックグラウンドでセキュリティテストを自動的に実行 testcode operatebuild deploy 開発者がコード をコミット 機能テストの 実行 テストの結果に基づい て合否判定 JIRAへの脆弱性 レポート アプリケーションと Seekerをテスト環境 にデプロイ ビルド実行
  • 16.
    © 2017 Synopsys,Inc. 16 Easily Onboard and Get Actionable Results セキュアな ソフトウェアの リリースを支援 1 2 開発者のストレスにならない正確さ 機能テストを実行するだけ 誤検知 <5% を実現 特別な環境を用意する必要なし
  • 17.
    © 2017 Synopsys,Inc. 17 Easily Onboard and Get Actionable Results セキュアな ソフトウェアの リリースを支援 1 2 開発者のストレスにならない正確さ 機能テストを実行するだけ 3 開発者が対応可能な情報を提示 誤検知 <5% を実現 特別な環境を用意する必要なし
  • 18.
    © 2017 Synopsys,Inc. 18 開発者が対応可能な結果を提供 •ソースコードがなくても脆弱性を特定するための詳細な情報を提供 –URL、パラメータ –ファイル名、メソッド、行番号 –誤検知率 < 5% を実現
  • 19.
    © 2017 Synopsys,Inc. 19 Easily Onboard and Get Actionable Results セキュアな ソフトウェアの リリースを支援 1 2 開発者のストレスにならない正確さ 機能テストを実行するだけ 3 開発者が対応可能な情報を提示 誤検知 <5% を実現 特別な環境を用意する必要なし 脆弱性のある行数まで特定
  • 20.
    © 2017 Synopsys,Inc. 20 正確性 連携 対応可能
  • 21.
    © 2017 Synopsys,Inc. 21 Seeker(IAST)でDevSecOpsを実現しましょう! Dev Build Test Dev Build Test Dev Build Test Dev Build Test security security security security
  • 22.