CodeGuruでOWASPなコードの脆弱性検出

2.8K Views

June 12, 23

スライド概要

CodeGuruはAmazon Web Servicesのサービスで、JavaとPythonのコード内の脆弱性を検出するために使用されます。CodeGuru Reviewerは、機械学習を使用して、OWASP10のセキュリティ脆弱性に基づいて、GitHub、Bitbucket、およびCodeCommitリポジトリ内のコードをスキャンし、潜在的な脆弱性を特定します。このサービスを使用することで、セキュリティ上の問題を把握し、適切に対処することができます。CodeGuruは課金されます。

おすすめタグ:AWS,CodeGuru,セキュリティ,脆弱性,機械学習

profile-image

インフラエンジニア

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

CodeGuruでOWASPな コードの脆弱性検出 篠田 敬廣 1

2.

注意点 • 資料の内容は2023/06/08時点の情報となります • 本登壇で説明する内容は個人の見解も含まれます • 資料の内容にAWS公式と相違があった場合、AWS 公式を正とさせていただきます 2

3.

• セキュリティ用語 • CodeGuruとは • CodeGuruの検証 • 料金 3

4.

Guru:グル • • 語源はインドで「指導者」という意味 英語圏では「達人」など高度なスキル者 Glue:グルー • 接着剤や結合剤 4

5.

ゴール コード内の脆弱性を CodeGuruで検出 5

6.

セキュリティ関連の用語 OWASP CVW Bandit ウェブアプリケーションのセキュ リティに関する情報やベストプ ラクティスを共有する国際的 なコミュニティ セキュリティの脆弱性やパター ンを分類するための枠組み Pythonの脆弱性を検出す るツール 対策を講じるための情報を提 供 XSSやSQLインジェクション などのセキュリティ上の問題や ハードコードされた認証情報、 機密情報の検出 脆弱性を理解し、適切な対 策を講じるための情報とツール を提供 不適切なエスケープや入力 検証の不備による脆弱性も 検出します 6

7.

CodeGuruとは 7

8.

CodeGuru • コードの脆弱性を検出 →Reviewer • 実行コストのかかるコードを特定 →Profiler • コードレビューを自動化 • Java, Python • CodeCommit, GitHub, Bitbucketのリポジトリ対応 8

9.

CodeGuru Reviewer • 機械学習/自動推論でセキュリティの脆弱性を検出 • 脆弱性 (OWASP10) と AWSのセキュリティベストプラクティスに基づいて レコメンデーション • パスワード、API キー、SSH キー、アクセストークン、データベース接続文字列、 JSON ウェブトークンなど機密情報を検出 • リポジトリのフルスキャン/増分スキャン • プルリク時に自動コードレビュー 9

10.

CodeGuruの検証 10

11.

検証の構成とシナリオ CodeGuru Reviewer フルスキャン 評価 11

12.

OWASP を含んだ 脆弱性コードの準備 ChatGPT 12

13.

OWASP10の脆弱性を含んだコード① SQLインジェクション • コードの脆弱性 • user_idパラメータに悪意のあるSQL コードを挿入することで、意図しないク エリが実行され、データベースに対して 不正操作が可能 13

14.

OWASP10の脆弱性を含んだコード② アクセス制御 • コードの脆弱性 • admin以外でもログインできてしまう 14

15.

レビュー結果 15

16.

レビュー結果(詳細)① CWEの参照先リンクも出力してくれる 16

17.

レビュー結果(詳細)② CodeGuruのエンジンで評価した 17

18.

レビュー結果(詳細)③ Banditのツールが評価した 18

19.

料金 19

20.

CodeGuru Reviewerの料金 20

22.

まとめ • ChatGPTで脆弱性を含んだコードを作成 • 機械学習/自動推論でコードの脆弱性を検出 • フルスキャン時間は5~10分 • フルスキャンはコードが少量でも一回$10かかる 22