Inspectorを利用した脆弱性管理について
by
koki_minami
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
Inspectorを利⽤した 脆弱性管理について 2024.7.29 AWS事業本部 みなみ
Slide 2
Slide 2 text
Xへの投稿の際は、 ハッシュタグ #cm_odyssey でお願いいたします。 2 お願い
Slide 3
Slide 3 text
⾃⼰紹介 南 宏樹 (みなみ) クラスメソッド株式会社 AWS事業本部コンサルティング部 AWSソリューションアーキテクト ● 最近は基幹システムへのゼロトラスト‧SASEの導⼊や セキュリティのアセスメントなどを⾏っていました。 3
Slide 4
Slide 4 text
みなさん脆弱性と 向き合ってますか? 4
Slide 5
Slide 5 text
アジェンダ 1. 脆弱性の基本 2. 脆弱性診断と脆弱性管理について 3. Inspectorについて 4. 脆弱性管理の理想と現実 5. 脆弱性のトリアージと対応 6. Inspectorを活⽤した脆弱性管理 5
Slide 6
Slide 6 text
脆弱性とは ● プラットフォームの脆弱性 (今回はこっち) ○ OS / ミドルウェア / ライブラリ ● アプリケーションの脆弱性 ○ SQLインジェクション ○ クロスサイトスクリプティング 6
Slide 7
Slide 7 text
頻出ワードについて 7 ● CVE(共通脆弱性識別⼦) ○ CVE-〇〇〇〇-×××× ● CVSS(共通脆弱性評価システム) ○ CVSSスコア ● NVDとJVN(脆弱性情報データベース) ○ NVD(National Vulnerability Database) ○ JVN(Japan Vulnerability Notes)
Slide 8
Slide 8 text
脆弱性の⼀⽣ 8 脆弱性の 発⾒ パッチの 提供 攻撃コード の公開 パッチの 適⽤ CVEの採番 ゼロデイ攻撃 パッチ公開から2⽇以内に5% 1ヶ⽉以内に45%の攻撃が観測
Slide 9
Slide 9 text
脆弱性診断 9 ● リリース前の診断 ○ プラットフォームとアプリケーションの脆弱性を診 断し、修正後にリリース ○ 診断はあくまでも現時点での検出のみ
Slide 10
Slide 10 text
脆弱性診断の限界 10 ● スポット的な診断の問題点 ○ 脆弱性の数と深刻度の増加 ○ 攻撃⼿法の⾼度化
Slide 11
Slide 11 text
脆弱性管理 11 ● システムの理解 ● 脆弱性情報の収集 ● 脆弱性の特定 1. 情報収集 ● リスクの評価 ● 有効な対策についての調査‧確認 2. リスク評価 ● ワークアラウンド(暫定対応 / 緩和策) ● 修正パッチの適⽤ 3. 対応
Slide 12
Slide 12 text
とりあえず脆弱性の検知に Inspector使ってみましょう 12
Slide 13
Slide 13 text
Amazon Inspectorの概要 13 ● OS‧ライブラリの脆弱性、 意図しないネットワークの露出、 コードの脆弱性の検出が可能 ● 対象サービス ○ Amazon EC2 ○ Amazon ECR ○ AWS Lambda ● 数クリックで簡単に有効化することができる Amazon Inspector Amazon EC2 Amazon ECR AWS Lambda
Slide 14
Slide 14 text
EC2のスキャン 14 ● パッケージの脆弱性 ○ OSだけではなく、プログラミング⾔語のパッケージマネージャーでイ ンストールされたパッケージの脆弱性も検出可能 ○ エージェントベースのスキャンだけではなく、エージェントレスス キャンにも対応 (2024年6⽉ GA) ● ネットワーク到達性 ○ インターネット、VPC外のネットワークの到達性のスキャン ○ 公開されているサービス、ポート、プロトコルに基づいて重要度を判 断
Slide 15
Slide 15 text
ECRのスキャン 15 ● ベーシックスキャン (ECRの機能) ○ ClairプロジェクトのCVEデータベースを使⽤ ○ OSパッケージのみ ● 拡張スキャン (Inspectorによるスキャン) ○ 複数のデータベース(Snyk, Github Advisory Database)を使⽤ ○ OSとプログラミング⾔語のパッケージにも対応
Slide 16
Slide 16 text
Lambdaのスキャン 16 ● 標準スキャン ○ コードとレイヤーで脆弱性のあるパッケージが使⽤ されているかスキャン ● コードスキャン ○ Lambdaのコードをセキュリティベストプラクティ スに基づいてスキャン
Slide 17
Slide 17 text
Inspectorを使うメリット 17 ● コストの低減 ● セットアップの簡便性 ○ スキャン漏れを減らせたり、開発環境に対してもス キャンを⾏いやすい為、カバレッジ率の向上 ● AWSの他サービスとの連携が容易
Slide 18
Slide 18 text
スキャンするだけで終わっていませんか? 脆弱性管理が重要です 18
Slide 19
Slide 19 text
理想的な脆弱性管理 19 ● 開発フローへ脆弱性スキャンの組み込み ● 定期的なパッチの適⽤ ● 脆弱性の深刻度、リスクに応じた対応 ○ 緊急度の低い脆弱性の場合は定期的なパッチで対応 ○ 緊急度が中程度の場合は定期パッチよりも短いスパンで対応 ○ 緊急度が⾼いものは最優先で緊急パッチの対応
Slide 20
Slide 20 text
LambdaやECSを利⽤しているケースや モダンな開発現場であれば対応難易度は それほど⾼くない しかし、こんなケースも.... 20
Slide 21
Slide 21 text
現実 21 ● 定期パッチの仕組みがなく、多数の脆弱性が検出されている ● 本番環境のみであり、⼀括でのパッチ適⽤が困難。そのため各 修正に対して個別の動作確認が必要 ● アプリケーションはベンダー管理下にあり、作業が容易でない
Slide 22
Slide 22 text
脆弱性管理の対応⽅針 22 ● そのような状況下の場合「2. リスクの評価」が重要 ● 全てを対応することは現実的ではない為、トリアージ(優先順位付け) を⾏う
Slide 23
Slide 23 text
よくあるトリアージの例 23 ● よくあるトリアージのパターン ○ CVSSスコアが7.0以上の脆弱性のパッチを適⽤しよ う
Slide 24
Slide 24 text
CVSSスコアが7.0以上の脆弱性は多い (実際には50%以上) CVSSスコアだけを利⽤したトリアージは 破綻する可能性が⾼い 24
Slide 25
Slide 25 text
CVSSスコアの問題点 25 ● CVSSスコアが⾼い脆弱性から対応することは悪いことではない、し かし、以下の点も考慮する必要がある ○ 脆弱性を放置するリスク ■ サイバー攻撃の⼤部分はすでに対処⽅法が公開されている既 知の脆弱性を標的としている ■ ゼロデイの脆弱性を狙うより攻撃者としては既知なのに未対 策の脆弱性を使う⽅が効率的
Slide 26
Slide 26 text
CVSSスコアの問題点 26 ○ システム⾃体への影響度を⽰していない ■ 特定のシステム上での実際の影響を考慮していない ○ 実際のリスクを反映していない ■ システムの価値や脅威を考慮しておらず、脆弱性の深刻度のみ に焦点を当てている ○ 対応のガイドラインがない ■ CVSSスコアはあくまでもその脆弱性の深刻度を⽰すのみ。 実際の対応⽅針は組織ごとに決定する必要がある
Slide 27
Slide 27 text
リスクとは 27 ● 脆弱性の深刻度 ○ 脆弱性⾃体の深刻度 (攻撃の容易さ、攻撃の影響など) ● 脅威 ○ 攻撃の普及度など攻撃の可能性(攻撃コードの有無、実際に攻撃が⾏われ たことを⽰す情報) ● 資産重要性 ○ 影響を受ける可能性のあるシステムの特性や情報の重要度 リスク = 「脆弱性の深刻度」×「脅威」×「資産重要性」
Slide 28
Slide 28 text
正しいリスク評価 28 ● 具体的にどのように評価を⾏えばいい? ○ とりあえずCVSSスコアだけで判断するのはやめよう ⼀旦CVSSについておさらいしましょう
Slide 29
Slide 29 text
CVSS Deep Dive 29 ● CVSSは3つの基準で脆弱性の評価を⾏う ○ 基本評価基準 (Base Metrics) ■ 脆弱性固有の特性を評価する基準。時間や環境に依存しない ○ 現状評価基準 (Temporal Metrics) ■ 現時点での脆弱性の状況を評価する基準。時間と共に変化する ○ 環境評価基準 (Environmental Metrics) ■ 特定の環境や組織における脆弱性の影響を評価する基準 ● ⼀般的によく使われるのは基本評価基準から算出されるベーススコア
Slide 30
Slide 30 text
CVSSの正しい利⽤法 30 ● スコアだけではなく、ベクター(評価基準)も確認することが重要 ○ Windows SMBv3 の脆弱性(CVE-2020-0796) ■ CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H Base Score: 9.8 ● ベンダーが出す現状評価基準の確認 ● CVSS Calculatorなどを利⽤して環境評価基準を再計算するのもいい アプローチ⽅法
Slide 31
Slide 31 text
脅威 31 リスク = 「脆弱性の深刻度」×「脅威」×「資産価値」 ● EPSS ● KEVカタログ ● 攻撃コードの有無 ● 最後に攻撃が観測された⽇時 ● JPCERT/CCの早期警戒情報 ● ベンダーからの脆弱性情報の収集 ● X (旧Twitter) リスク = 「脆弱性の深刻度」×「脅威」×「資産重要性」
Slide 32
Slide 32 text
資産重要性 32 リスク = 「脆弱性の深刻度」×「脅威」×「資産価値」 ● システムの資産重要性も考慮するべき ○ 影響を受けるシステムの特性攻撃を受けた場合のビジネ スインパクト リスク = 「脆弱性の深刻度」×「脅威」×「資産重要性」
Slide 33
Slide 33 text
トリアージの⼀例 33 1. KEVカタログやJPCERT/CC等からの警戒情報が出ている もの 2. 攻撃コードが存在し、すでに攻撃が観測されているもの 3. NWから攻撃可能であるもの 4. 緩和策/回避策なし及び権限無しで攻撃可能なもの
Slide 34
Slide 34 text
SSVC 34 ● システムのNW環境‧業務影響、脆弱 性の攻撃状況、攻撃者⽬線の利⽤価 値の4つの情報を⼊⼒として4段階の 対応レベルを出⼒するフレームワー ク SSVC決定⽊
Slide 35
Slide 35 text
対応の基本 35 ● トリアージが出来た後、次にどのような対応をするか? ○ 基本的にパッチの適⽤を⾏うが、パッチの適⽤が出来 ない場合も ■ そもそもパッチが存在しない ■ 諸事情によりパッチの適⽤が難しい
Slide 36
Slide 36 text
対応の種類 36 ● 4種類の基本の対応⽅針 ○ 軽減 ■ 脆弱性のリスクを軽減するための対策 ○ 回避 ■ 脆弱性の影響を受ける機能を⼀時的に停⽌するなど、脆弱性の影響 を回避する対策 ○ 転嫁 ■ リスクの責任や影響を第三者に移転する⽅法 ○ 受容 ■ リスクを受け⼊れ、対応を⾏わない場合
Slide 37
Slide 37 text
Inspectorなどを使って なるべく楽に脆弱性管理をしよう 37
Slide 38
Slide 38 text
Inspectorで取得できる情報 38 ● 使⽤可能な修正 ○ 公式パッチの有無 ● 最後に攻撃された⽇時 ○ 脆弱性を利⽤して最後に攻撃が観測された⽇時 ● 考えられる攻撃 ○ 攻撃コードの有無 ● EPSS ○ 脆弱性が今後30⽇間に悪⽤される確率を数値化した指標 ● ⽶国国⼟安全保障省(CISA)の情報 ○ KEVカタログに追加された⽇付とCISAが定めるパッチ適⽤期限
Slide 39
Slide 39 text
Inspectorスコア 39 ● CVSSを元にAWS上での環境を加味して再計算を⾏う
Slide 40
Slide 40 text
抑制ルール 40 ● 特定の条件に合う脆弱性をダッ シュボードから排除する機能 ● 単なるフィルター機能として利⽤ しないことが重要
Slide 41
Slide 41 text
可視化 41 ● Inspectorのフィルター機能やAthena、QuickSight ● 結果をエクスポートして、エクセルで可視化
Slide 42
Slide 42 text
通知 42 ● SecurityHubを利⽤した通知、SlackやBacklog(課題管 理ツール)への通知や⾃動起票 ○ ノイズにならないように⼯夫する必要がある
Slide 43
Slide 43 text
パッチ適⽤ 43 ● AWS Systems Manager を活⽤した定期的なパッチを適⽤ ● SecurituHubのカスタムアクションから緊急パッチを適⽤させ る仕組み
Slide 44
Slide 44 text
そもそも 44 ● サーバーレスなサービス、マネージドなサービスを積 極的利⽤し、責任範囲をAWSに移す AWS Lambda AWS Fargate Amazon RDS
Slide 45
Slide 45 text
まとめ 45 ● 脆弱性管理の重要性 ● 脆弱性管理の理想と現実 ○ 現実問題すぐにシステム‧仕組みを変えるのは難しい為、 トリアージを⾏いリスクが⾼い脆弱性から対応を⾏う ■ 脆弱性の深刻度ベースのトリアージではなく、リスク ベースのトリアージを⾏う
Slide 46
Slide 46 text
No content
Slide 47
Slide 47 text
No content