Submit Search
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
0 likes
2,050 views
Developers Summit
Developers Summit 2020 KANSAI【B-4】松岡様のセッション資料です。
Technology
Read more
1 of 37
Download now
Downloaded 14 times
1
2
3
4
5
Most read
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Most read
35
36
Most read
37
More Related Content
PDF
DDDをScrumで廻す あるいは ScrumをDDDで廻す
Kiro Harada
PDF
マイクロサービス 4つの分割アプローチ
増田 亨
PDF
MagicOnion入門
torisoup
PDF
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
PDF
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
Koichiro Matsuoka
PDF
ChatGPTは思ったほど賢くない
Carnot Inc.
PPTX
世界一わかりやすいClean Architecture
Atsushi Nakamura
PDF
ドメイン駆動設計 失敗したことと成功したこと
BIGLOBE Inc.
DDDをScrumで廻す あるいは ScrumをDDDで廻す
Kiro Harada
マイクロサービス 4つの分割アプローチ
増田 亨
MagicOnion入門
torisoup
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
Koichiro Matsuoka
ChatGPTは思ったほど賢くない
Carnot Inc.
世界一わかりやすいClean Architecture
Atsushi Nakamura
ドメイン駆動設計 失敗したことと成功したこと
BIGLOBE Inc.
What's hot
(20)
PPTX
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
Tokoroten Nakayama
PDF
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
PPTX
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
sairoutine
PDF
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
PPTX
GraphQLのsubscriptionで出来ること
Shingo Fukui
PDF
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
PDF
マルチテナントのアプリケーション実装〜実践編〜
Yoshiki Nakagawa
PDF
Ml system in_python
yusuke shibui
PDF
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
PDF
ウォーターフォールとアジャイルのフェアな比較
Yoshitaka Kawashima
PPTX
DeNAの最新のマスタデータ管理システム Oyakata の全容
sairoutine
PDF
なぜ「マイクロサービス“化”」が必要なのか
Yusuke Suzuki
PPTX
5分で解るセキュアコーディング
Yasuo Ohgaki
PDF
俺も エクストリームプログラミング入門
Fumihiko Kinoshita
PDF
人生がときめくAPIテスト自動化 with Karate
Takanori Suzuki
PDF
【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~
Unity Technologies Japan K.K.
PPTX
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
PDF
世界でいちばんわかりやすいドメイン駆動設計
増田 亨
PDF
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Yoshifumi Kawai
PDF
Elasticsearchを使うときの注意点 公開用スライド
崇介 藤井
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
Tokoroten Nakayama
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
sairoutine
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
GraphQLのsubscriptionで出来ること
Shingo Fukui
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
マルチテナントのアプリケーション実装〜実践編〜
Yoshiki Nakagawa
Ml system in_python
yusuke shibui
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
ウォーターフォールとアジャイルのフェアな比較
Yoshitaka Kawashima
DeNAの最新のマスタデータ管理システム Oyakata の全容
sairoutine
なぜ「マイクロサービス“化”」が必要なのか
Yusuke Suzuki
5分で解るセキュアコーディング
Yasuo Ohgaki
俺も エクストリームプログラミング入門
Fumihiko Kinoshita
人生がときめくAPIテスト自動化 with Karate
Takanori Suzuki
【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~
Unity Technologies Japan K.K.
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
世界でいちばんわかりやすいドメイン駆動設計
増田 亨
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Yoshifumi Kawai
Elasticsearchを使うときの注意点 公開用スライド
崇介 藤井
Ad
Similar to 【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
(20)
PDF
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
Developers Summit
PDF
GTMF 2015: バグを減らそう。テストを楽にしよう。静的解析が開発者を救う。 | 日本シノプシス合同会社
Game Tools & Middleware Forum
PDF
セキュリティ担当者が見たAWS re:Inforce 2019
Yusuke Karasawa
PDF
ソースコード検査に耐えるコードとは?
Yasuo Ohgaki
PPTX
Klocworkのご紹介
Masaru Horioka
PDF
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)
Developers Summit
PPTX
静的解析ツールKlocwork によるCERT-C/CWE対応
Masaru Horioka
PDF
初めてのWebプログラミング講座
DIVE INTO CODE Corp.
PDF
IPv6 アプリケーション開発入門
v6app
PDF
New Integration "X" 新インテグレーションソリューション
motani_kamakura
PDF
2019 1101 dev_io_tokyo_30min_slideshare
Shinichiro Kawano
PDF
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
PDF
2019 1102 jaws_festa_f-secure10min_lt_slideshare
Shinichiro Kawano
PDF
PHPカンファレンス2014セキュリティ対談資料
Yasuo Ohgaki
PPTX
品質と開発スピードの両立と、OSSのリスク低減策のご紹介 / GTMF2019
Game Tools & Middleware Forum
PDF
NIST Cybersecurity Framework 概要
You&I
PDF
20200928 aibid (rtb app install) sales deck (jp) v shared
Masayuki Tsuchikawa
PPTX
Security measures
shusuke-ichikawa
PDF
2019 1009 f-secure_ali_eater_tokyo13_slideshare
Shinichiro Kawano
PDF
エンタープライズソフトウェア開発とOSS
Hiroshi Nakamura
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
Developers Summit
GTMF 2015: バグを減らそう。テストを楽にしよう。静的解析が開発者を救う。 | 日本シノプシス合同会社
Game Tools & Middleware Forum
セキュリティ担当者が見たAWS re:Inforce 2019
Yusuke Karasawa
ソースコード検査に耐えるコードとは?
Yasuo Ohgaki
Klocworkのご紹介
Masaru Horioka
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)
Developers Summit
静的解析ツールKlocwork によるCERT-C/CWE対応
Masaru Horioka
初めてのWebプログラミング講座
DIVE INTO CODE Corp.
IPv6 アプリケーション開発入門
v6app
New Integration "X" 新インテグレーションソリューション
motani_kamakura
2019 1101 dev_io_tokyo_30min_slideshare
Shinichiro Kawano
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
2019 1102 jaws_festa_f-secure10min_lt_slideshare
Shinichiro Kawano
PHPカンファレンス2014セキュリティ対談資料
Yasuo Ohgaki
品質と開発スピードの両立と、OSSのリスク低減策のご紹介 / GTMF2019
Game Tools & Middleware Forum
NIST Cybersecurity Framework 概要
You&I
20200928 aibid (rtb app install) sales deck (jp) v shared
Masayuki Tsuchikawa
Security measures
shusuke-ichikawa
2019 1009 f-secure_ali_eater_tokyo13_slideshare
Shinichiro Kawano
エンタープライズソフトウェア開発とOSS
Hiroshi Nakamura
Ad
More from Developers Summit
(20)
PDF
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
Developers Summit
PDF
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
Developers Summit
PDF
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
Developers Summit
PDF
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
Developers Summit
PDF
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
Developers Summit
PDF
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
Developers Summit
PDF
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
Developers Summit
PDF
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
Developers Summit
PDF
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
Developers Summit
PDF
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
Developers Summit
PDF
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
Developers Summit
PDF
【15-A-1】ドラゴンクエストXを支える失敗事例
Developers Summit
PDF
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
Developers Summit
PDF
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
Developers Summit
PDF
【B-5】モダンな開発を実現するツールチェーンのご紹介
Developers Summit
PDF
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
Developers Summit
PDF
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
Developers Summit
PDF
【B-2】AI時代におけるエンジニアの生存戦略
Developers Summit
PDF
【B-2】AI時代のエンジニア生存戦略
Developers Summit
PDF
【A-1】AIを支えるGPUコンピューティングの今
Developers Summit
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
Developers Summit
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
Developers Summit
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
Developers Summit
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
Developers Summit
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
Developers Summit
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
Developers Summit
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
Developers Summit
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
Developers Summit
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
Developers Summit
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
Developers Summit
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
Developers Summit
【15-A-1】ドラゴンクエストXを支える失敗事例
Developers Summit
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
Developers Summit
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
Developers Summit
【B-5】モダンな開発を実現するツールチェーンのご紹介
Developers Summit
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
Developers Summit
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
Developers Summit
【B-2】AI時代におけるエンジニアの生存戦略
Developers Summit
【B-2】AI時代のエンジニア生存戦略
Developers Summit
【A-1】AIを支えるGPUコンピューティングの今
Developers Summit
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
1.
⽇本シノプシス合同会社 Software Integrity Group 松岡正⼈ オープンソース開発で フリー静的解析ツールを使ってみる
2.
© 2019 Synopsys,
Inc. 2 • Synopsysのご紹介 • 脆弱性によって何が起こったか? • 無償利⽤可能な静的解析ツール”Coverity scan” • 商⽤製品”Coverity“との⽐較 • まとめ アジェンダ
3.
© 2019 Synopsys,
Inc. 3 Synopsysのご紹介
4.
© 2019 Synopsys,
Inc. 4 シノプシス:市場と技術のリーダー シリコン設計 および検証 シリコン IP ソフトウェア インテグリティ 新興市場のリーダー 広範なポートフォリオ 15〜20%の成⻑率 世界 2位のIPベンダー 2桁の成⻑率 業界のリーダー 1桁後半の成⻑率 6年 約10%の売り上げ 16年 約20%の売り上げ 31年 約65%の売り上げ
5.
© 2019 Synopsys,
Inc. 5 FY19 売上⾼: ~$3.4B 従業員数: ~14,200 保有特許数: ~3,250 “Silicon to Software™” 半導体設計からソフトウェア開発に⾄る領域をカバー Canada Chile Japan 303 S. Korea Russia China 1,212 India 2,847 Armenia Israel Europe 2,576 Southeast Asia 854 Taiwan USA 4,671 電⼦設計⾃動化(EDA)ツール およびサービスで業界1位 広範な半導体設計資産(IP) ポートフォリオ インタフェース、アナログ、組 み込みメモリーおよび物理IPで 業界1位 Gartnerʼs Magic Quadrant for application security testingにお けるリーダー 事業所数: ~130 $ 0 500 1,000 1,500 2,000 2,500 3,000 3,500 4,000 '10 '11 '12 '13 '14 '15 '16 '17 '18 '19 '20E * $Millions
6.
© 2019 Synopsys,
Inc. 6 • 2015年 • Heartbleedを発⾒した 技術とチーム • 2014年 • セキュリティと品質、 静的解析のリーダー • 2016年 • 400⼈以上の セキュリティ専⾨家 • マネージドサービスと プロフェッショナルサー ビス • 2017年 • OSSセキュリティと リスク管理ツールと 専⾨家 セキュリティと品質はシノプシスのDNA • 2020年 • 先進的なDAST技術 • Web API のセキュリティ
7.
© 2019 Synopsys,
Inc. 7 ソフトウェア開発・セキュリティ市場でのポジション ソフトウェア静的解析、コンポジション解析、総合セキュリティテストでリーダーの評価 Forrester Wave Static Application Security Testing Forrester Wave Software Composition Analysis Gartner Magic Quadrant Application Security Testing https://www.synopsys.com/software-integrity/resources/analyst- reports/2020-gartner-magic-quadrant.html https://www.synopsys.com/software-integrity/resources/analyst- reports/forrester-software-composition-analysis-2019.html?cmp=pr- sig
8.
© 2019 Synopsys,
Inc. 8 多彩な業界でソフトウェアのセキュリティと品質を牽引 モバイルおよび コンシューマ機器 エンタープライズ ソフトウェアおよび ネットワーク ⾼信頼性システム ⾦融サービス
9.
© 2019 Synopsys,
Inc. 9 脆弱性によって何が起こったか?
10.
© 2019 Synopsys,
Inc. 10 脆弱性を悪⽤されるサイバーインシデントは最⼤のビジネスリスク サイバーインシデントは最⼤のリスクに https://www.agcs.allianz.com/content/dam/onemarketing/agcs/agcs/reports/Allianz-Risk-Barometer-2019.pdf
11.
© 2019 Synopsys,
Inc. 11 プリンターのハッキング • 記事では、可能な攻撃について解説 • Shodanでインターネットからアクセス可能 なプリンターは「30,532ノード」; – 318@オーストラリア – 8910@⽶国 • 「PRET」を使えば、プリンターに保存され た⽂書にアクセスできる – https://www.youtube.com/watch?v=DwKzSO4yA_s • DoS攻撃含めたプリンターへの攻撃だけでな く、プリンターを介しての攻撃に悪⽤される ことが⼤きなリスク オフィスプリンターもホームプリンターもネットワークにつながっている https://www.csoonline.com/article/3502543/could-you-be-hacked-by-your-printer.html
12.
© 2019 Synopsys,
Inc. 12 URGENT/11、組み込みOSの致命的な脆弱性 医療機器にも⼤きな影響、FDA(⽶国⾷品医薬品局)が警告 https://www.fda.gov/news-events/press-announcements/fda-informs-patients-providers-and-manufacturers-about-potential-cybersecurity-vulnerabilities • 影響のあった組み込みOS – VxWorks (by Wind River) – Operating System Embedded (OSE) (by ENEA) – INTEGRITY (by GreenHills) – ThreadX (by Microsoft) – ITRON (by TRON) – ZebOS (by IP Infusion) • CVE⼀覧 – CVE-2019-12256、CVE-2019-12255、CVE- 2019-12260、CVE-2019-12261、CVE-2019- 12263、CVE-2019-12257 – CVE-2019-12258、CVE-2019-12262、CVE- 2019-12264、 CVE-2019-12259、CVE-2019- 12265
13.
© 2019 Synopsys,
Inc. 13 Ripple20、TCP/IPライブラリの重⼤な脆弱性 数億台の組み込み機器に影響 https://blog.kaspersky.co.jp/ripple20-vulnerabilities/28699/ • イスラエルのJSOF社が発⾒ – Black Hat USA, August 2020にて公開予定 • CVE⼀覧 – CVE-2020-11896〜11914(19個) • 影響のあるメーカーの⼀覧 – https://www.jsof-tech.com/ripple20/#ripple- whitepaper • ⽇本では図研エルミック社の「KASAGO」が 対象 – https://www.elwsc.co.jp/news/4136/
14.
© 2019 Synopsys,
Inc. 14 GDPR規制とIoT(ネットワーク化された機器) • GDPRは機器に対するセキュリティ対策を規定 していないが、個⼈情報取扱規程に準ずる必要 がある • Global Privacy Enforcement Networkの調査で は300台以上の機器から以下の課題が⾒つかっ た(2016年) – 59% は個⼈情報の取得、使⽤、開⽰の説明が不適 当 – 68% はデータ格納の説明が不適当 – 72% はデータの消去⽅法の説明が不適当 – 38% はプライバシーの懸念についての問い合わせ 先が⽰されていない • 違反した場合の制裁⾦ – 1000 万ユーロ以下、または、 直前の会計年度の 全世界の売上総額の2%以下の⾦額のいずれか⾼ 額の⽅ – https://www.ppc.go.jp/enforcement/infoprovision/laws/GDPR/ IoT化された機器が増えることで個⼈情報やデータ漏洩のリスクは増⼤している https://eugdprcompliant.com/internet-of-things-era-of-gdpr/
15.
© 2019 Synopsys,
Inc. 15 無償利⽤可能な静的解析ツール”Coverity scan”
16.
© 2019 Synopsys,
Inc. 16 そもそも静的解析ってなんだっけ? 静的解析とは、ソースコードを解析して以下 のことを調べる: • コーディング・エラー • セキュリティ上の問題 • テストが不⼗分な⾏、ファイル、関数
17.
© 2019 Synopsys,
Inc. 17 そもそも静的解析ってなんだっけ? 1. 最初に、コードをスキャン 2. 次に、呼び出しや依存関係を計算
18.
© 2019 Synopsys,
Inc. 18 そもそも静的解析ってなんだっけ? 3. 続いて、コード内のすべての可能なパスを計算 • ⾔語によるが、if-else、caseあるいはswitchなどによってパスが ノードとともに追加される 4.最後に、すべてのパスを通って⽋陥(バグ)を探す
19.
© 2019 Synopsys,
Inc. 19 • 例: char buf[10], cp_buf[10]; fgets(buf, 10, stdin); strcpy(cp_buf, buf); • ⼀部の関数の戻りを確認する必要がある。 • チェックに失敗すると、プログラムのクラッシュ、ハッカーによる深刻なセキュリティの悪⽤、 または意図しないプログラムの動作が発⽣する可能性がある。 主なバグ ‒ CHECKED_RETURN (11%) 静的解析でどんなことがわかるか? fgets()でエラーが発⽣した場合、 また、bufがnullで終了していない場合は 「バッファオーバーフロー」
20.
© 2019 Synopsys,
Inc. 20 静的解析でどんなことがわかるか? • デッドコードは、実⾏されないコードブロッ クがある場合に発⽣する。 • 開発者にプログラミングエラーがあり、その 原因となる条件がfalseであることが保証さ れていることがわかる。 • 開発者は誤った仮定をすることもできる。 主なバグ ‒ デッドコード
21.
© 2019 Synopsys,
Inc. 21 静的解析でどんなことがわかるか? • i2c_read()にエラーがあるとどうなるか? • チームは何が適切かについてどのように同意 するか? • bufは常に0x0に初期化されるか? CHECK_RETURN ‒ どのように処理するか(CID17995)
22.
© 2019 Synopsys,
Inc. 22 例えば、Pythonの開発者達は使っている • Coverityの静的コード分析はコードを実⾏せず、 代わりに、抽象的な解釈を使⽤して、コードの 制御フローとデータフローに関する情報を取得 する。 • プログラムが取る可能性のあるすべてのコード パスをたどることができる。 • たとえば、アナライザーは、malloc()が後で free()で解放する必要があるメモリを返すこと を理解している。 • すべての分岐と関数呼び出しをたどって、考え られるすべての組み合わせがメモリを解放する かどうかを確認する。 • アナライザーは、リソースリーク(メモリ、 ファイル記述⼦)、NULL逆参照、解放後の使 ⽤、未チェックの戻り値、デッドコード、バッ ファーオーバーフロー、整数オーバーフロー、 初期化されていない変数など、あらゆる種類の 問題を検出できる。 Coverity scanを使ってCコードを解析している https://devguide.python.org/coverity/
23.
© 2019 Synopsys,
Inc. 23 Coverity scanにアカウントを作成 webブラウザーでscan.coverity.comへアクセス https://scan.coverity.com/ アカウントを作るには、 右上の「Sign Up」ボタンをクリックする 名前、メール、パスワー ドを⼊⼒して「Sign Up」 をクリック GitHubのアカウントでもOK
24.
© 2019 Synopsys,
Inc. 24 プロジェクトを選択する “contributor” じゃないとスキャンできません! Coverity scanを使っているプロジェクト はここから選択できる 試しに”tomcat”を検索してみる
25.
© 2019 Synopsys,
Inc. 25 スキャンレポートを⾒てみる Tomcatのプロジェクトのスキャン結果レポート 検索結果の⼀覧から、 Apache Tomcatのプロジェクトのリンク(左端)を クリックしてレポートを表⽰ プロジェクトのスキャンをいつから始めた か、最後のスキャンしたビルド、⾔語、リ ポジトリなどの基礎情報
26.
© 2019 Synopsys,
Inc. 26 スキャンレポートを⾒てみる メトリクスは全体とコンポーネント毎で確認できる 対象バージョン、スキャンした⽇付、⾏数、バグ密度、 新たに発⾒されたバグ、総数、修正済みなど コンポーネントごとの⾏数やバグ密度
27.
© 2019 Synopsys,
Inc. 27 スキャンレポートを⾒てみる CWEトップ25ごと、コンポーネントごとの内訳 CWEのIDをクリックするとMITREのページ へジャンプ!
28.
© 2019 Synopsys,
Inc. 28 スキャンのためのビルドツールを使う • ⾔語を選択してビルドツールをダウンロード • ビルドツールでアップロード⽤のパッケージ を作成 – MacOSだと右の画⾯のようになる ビルドツールをダウンロードして環境を構築する
29.
© 2019 Synopsys,
Inc. 29 スキャンのためのビルドツールを使う ビルドツールをダウンロードして環境を構築する • パッケージの作成に成功したかどうか念のた めに”tail cov-int/build-log.txt”で確認してお く • ビルドで⽣成される”cov-int”の中⾝はこんな 感じ • ”cov-int“をzipで圧縮して出来上がり
30.
© 2019 Synopsys,
Inc. 30 スキャンのためのビルドツールを使う ビルドツールをダウンロードして環境を構築する • Coverity scanにビルドをアップロードするに は、マニュアルでやってみる – コマンドラインから⾃動実⾏もできる • ビルドの設定に失敗するとこのあと”failed” メールが⾶んでくる • ⾔語の指定やライセンスの種別の指定に注意 すること
31.
© 2019 Synopsys,
Inc. 31 スキャンのためのビルドツールを使う スキャン成功!バグを⾒てみよう • メトリクスを確認する • 最終解析⽇は2020年8⽉14⽇ • バグは11 • スキャンしたコードは7464⾏ • バグ密度は”1.48” • “View Defects”をクリックして詳細を確認
32.
© 2019 Synopsys,
Inc. 32 バグを確認する • 212175 DOM-ベース・XSS • 別のユーザーが表⽰またはアクセスしたWebペー ジ上で任意のJavaScriptを実⾏できます。セッ ションのハイジャック、DOMでの機密データの開 ⽰、キーボードとマウスのイベントの表⽰が可能 になる可能性があります。 • xmlHttp.onreadystatechange:信頼できないユー ザー提供のデータが、JavaScriptを実⾏できるコ ンテキストに挿⼊されます。(CWE-79) バグの詳細が表⽰される(ただし英語)
33.
© 2019 Synopsys,
Inc. 33 商⽤製品”Coverity“との⽐較
34.
© 2019 Synopsys,
Inc. 34 商⽤版Coverity v.s. 無償版Coverity scan • ⾔語サポートの豊富さ • フレームワークのサポート 当然のことながらできることに⼤きな差がある
35.
© 2019 Synopsys,
Inc. 35 商⽤版Coverityのメリット • 商⽤版はIDEから直接呼び出すことができる • もちろん各種コンパイラーをサポート • JenkinsでCI/CDパイプラインに統合可能 • JIRAなどと連動も容易 • CERT、MISRAなどのコーディング規約に基 づいたコーディングエラーも調べてくれる • もちろん、UIやヘルプなどのドキュメントも ⽇本語版が提供されている • 技術サポートが得られる(無償版にはないの で基本⾃⼰解決) IDEやJenkins、JIRAなどといった開発環境との統合が容易
36.
© 2019 Synopsys,
Inc. 36 まとめ
37.
© 2019 Synopsys,
Inc. 37 • そもそも静的解析は開発者の作業、コードがちゃんと書けているか教えてくれる – ⾃分の書いたコードが既知の脆弱性を抱えているかどうかを教えてくれる – コードレビューにかかる時間を劇的に短縮してくれる – 機能が正常に動作することをテストするものではないので、単体テストはもちろん必要 • 商⽤版の静的解析ツールを使ったことがないなら、Coverity scanのようなツールは便利 – でも、OSSにしか使⽤できないので、商⽤コードのスキャンはこれではできない • それでも、IDEから直接利⽤できるなど商⽤版のメリットは⼤きい – 業界ごとの規定や規制、認証制度などに沿ったコードの品質であることを⽰すためのチェッカーやレ ポート機能 – すぐに使える各種ツールとの連携の⾃動化機能 まとめ
Download