Slide 1

Slide 1 text

GuardDuty RDS Protection について 2023 年 7 月 19 日 JAWS-UG 朝会 #47

Slide 2

Slide 2 text

2 目次 • Amazon GuardDuty とは(おさらい) • GuardDuty RDS Protection とは • GuardDuty RDS Protection の検出(finding)タイプに ついて • 検出後の対応 • まとめ・所感 AWS アーキテクチャアイコンが 新旧入り混じってます すみません!

Slide 3

Slide 3 text

3 Amazon GuardDuty とは (おさらい)

Slide 4

Slide 4 text

4 Amazon GuardDuty とは • AWS アカウント内の異常なアクティビティを自動的に検出する • 様々なログを GuardDuty 側で自動収集 • 利用者側でログを別途有効化する必要はない

Slide 5

Slide 5 text

5 Amazon GuardDuty とは AWS アカウント内の異常なアクティビティを自動的に検出する →ふるまい検知 いつもと違う動きを している奴がいるぞ…!

Slide 6

Slide 6 text

6 Amazon GuardDuty とは AWS アカウント内の異常なアクティビティを自動的に検出する →ふるまい検知 いつもと違う動きを している奴がいるぞ…! 3rd Party 製品だと Acronis Cyber Protect、Cybereason EDR、CrowdStrike、Trend Micro Apex One、FFRI yarai など Amazon GuardDuty

Slide 7

Slide 7 text

7 Amazon GuardDuty とは GuardDuty は検出に特化したサービスのため、検知した後は 利用者自身が該当のリソースを停止・隔離したり被害範囲を特定して 修復する必要がある 検出したので あとは頼む! うわ~ 今止めます~ 急げ~ Amazon GuardDuty

Slide 8

Slide 8 text

8 (余談)Amazon Inspector とは • Amazon Inspector とは • ソフトウェアの脆弱性や意図しないネットワーク露出がないか 継続的にスキャンする脆弱性管理サービス 攻撃されたら突破されそうな 穴があるぞ…! Amazon Inspector

Slide 9

Slide 9 text

9 (余談) GuardDuty or Inspector ? Amazon GuardDuty Amazon Inspector パッチは最新バージョンが適用されていて 脆弱性はないけど、 なんだか怪しいアクセスを繰り返しているぞ 通常通り稼働しているけど、 パッチが古くて脆弱性があるぞ

Slide 10

Slide 10 text

10 Amazon GuardDuty とは • 検出には脅威インテリジェンスフィードや機械学習を使用する • 脅威インテリジェンスフィード • インターネット上で収集された脅威に関する情報を集めたデータベース やサービスのこと • 新しい脅威や攻撃方法、マルウェアの詳細、攻撃者の振る舞い、既知の 悪意ある IP アドレスなどの情報が含まれる 新しい脅威 攻撃方法 マルウェアの詳細 攻撃者の振る舞い 既知の悪意ある IP アドレス : 脅威インテリジェンスフィード 機械学習 通常と違うログを検出した 今までにないアクセスがあった 大量のログイン試行があった

Slide 11

Slide 11 text

11 Amazon GuardDuty とは • 検出結果はコンソールの [Findings] (検出結果) ページ、AWS CLI、 API を使用して表示および管理 • 検出結果タイプ(finding types) • GuardDuty が検出した脅威の種類を表す分類 検出結果タイプ

Slide 12

Slide 12 text

12 (余談)Amazon GuardDuty とは • GuardDuty(ガードデューティ) • Guard:守り、見張り、監視、警護、保護、守衛、番人 • a coast guard:沿岸警備隊 • guardian:守護神、守護者 • Duty:義務、義理、敬意、務め、職務、責務 • call of duty:任務遂行 • duty as a human:人間としての義務 • I‘ll take over your duties.:君の職務を引き継ごう。

Slide 13

Slide 13 text

13 Amazon GuardDuty とは GuardDuty

Slide 14

Slide 14 text

14 GuardDuty RDS Protection とは

Slide 15

Slide 15 text

15 GuardDuty RDS Protection とは • RDS に対するログインアクティビティを監視し、不審なログイン 試行を検知する機能

Slide 16

Slide 16 text

16 GuardDuty RDS Protection とは • GuardDuty RDS Protection を有効化するだけ、追加のリソース の作成等は不要 • データベースのパフォーマンスに影響を与えない • 30 日間は無料で試用できる

Slide 17

Slide 17 text

17 GuardDuty RDS Protection とは • 以下の場合、通常のログイン動作のベースラインを設定するため GuardDuty 側の学習期間が最大 2 週間必要 • 最大 2 週間は異常なログインの結果が検出されない場合がある • 初めて GuardDuty RDS Protection を有効にする場合 • 新しく作成されたデータベース インスタンスがある場合 • 現時点で Aurora MySQL と Aurora PostgreSQL のみの対応とな っており、他の RDS DB エンジンは未対応 • クエリ発行そのもの(不審なクエリ発行など)を検知する機能では ない

Slide 18

Slide 18 text

18 GuardDuty RDS Protection とは • サポートされるデータベースエンジン • Provisioned インスタンスも Serverless インスタンスもサポート サポート対象エンジンバージョン Amazon Aurora DB エンジン 2.10.2 以降 3.2.1 以降 Aurora MySQL 10.17 以降 11.12 以降 12.7 以降 13.3 以降 14.3 以降 Aurora PostgreSQL • 未サポートリージョン • Hyderabad、Spain、Zurich、UAE

Slide 19

Slide 19 text

19 GuardDuty RDS Protection の 検出(finding)タイプについて

Slide 20

Slide 20 text

20 GuardDuty RDS Protection の検出(finding)タイプについて 概要 検出(finding)タイプ クレデンシャルアクセス 異常動作 ログイン成功 CredentialAccess:RDS/AnomalousBehavior.SuccessfulLogin AnomalousBehavior 1 クレデンシャルアクセス 異常動作 ログイン失敗 CredentialAccess:RDS/AnomalousBehavior.FailedLogin 2 クレデンシャルアクセス 異常動作 ブルートフォース成功 CredentialAccess:RDS/AnomalousBehavior.SuccessfulBruteForce 3 クレデンシャルアクセス 悪意のある IP 発信者 ログイン成功 CredentialAccess:RDS/MaliciousIPCaller.SuccessfulLogin MaliciousIPCaller 4 クレデンシャルアクセス 悪意のある IP 発信者 ログイン失敗 CredentialAccess:RDS/MaliciousIPCaller.FailedLogin 5 検出 悪意のある IP 発信者 Discovery:RDS/MaliciousIPCaller 6 クレデンシャルアクセス Tor IP 発信者 ログイン成功 CredentialAccess:RDS/TorIPCaller.SuccessfulLogin TorIPCaller 7 クレデンシャルアクセス Tor IP 発信者 ログイン失敗 CredentialAccess:RDS/TorIPCaller.FailedLogin 8 検出 Tor IP 発信者 Discovery:RDS/TorIPCaller 9

Slide 21

Slide 21 text

21 GuardDuty RDS Protection の検出(finding)タイプについて • Anomalous Behavior:異常動作、異常なふるまい • 通常と違うアクセス • Malicious IP Caller:悪意のある IP 発信者 • Malicious:悪意がある、悪質な • 既知の悪意のある IP アドレスからのアクセス • Tor IP Caller:Tor の IP 発信者 • Tor 出口ノードの IP アドレスからのアクセス • Tor については後ほど!

Slide 22

Slide 22 text

22 GuardDuty RDS Protection の検出(finding)タイプについて CredentialAccess:RDS/AnomalousBehavi or.SuccessfulLogin(クレデンシャルアクセス 異常動作 ログイン成功) ユーザーが異常な方法で RDS データベースに正 常にログインしました。 • 検出結果に関連する異常な動作に応じて重大 度が変わる • 低–ユーザーがプライベート IP アドレスから ログインした場合 • 中–パブリック IP アドレスからログインした 場合 • 高– パブリック IP アドレスからログイン試行 失敗の一貫したパターンの後ログインが成功

Slide 23

Slide 23 text

23 GuardDuty RDS Protection の検出(finding)タイプについて CredentialAccess:RDS/AnomalousBehavior .FailedLogin(クレデンシャルアクセス 異常動作 ログイン失敗) 異常なログイン試行の失敗が 1 回以上観察されま した。

Slide 24

Slide 24 text

24 GuardDuty RDS Protection の検出(finding)タイプについて CredentialAccess:RDS/AnomalousBe havior.SuccessfulBruteForce(クレデン シャルアクセス 異常動作 ブルートフォース 成功) 異常なログイン試行の失敗の一貫したパター ンの後、異常な方法でパブリック IP アドレ スから RDS データベースに正常にログイン しました。

Slide 25

Slide 25 text

25 GuardDuty RDS Protection の検出(finding)タイプについて CredentialAccess:RDS/MaliciousIPCaller. SuccessfulLogin(クレデンシャルアクセス 悪 意のある IP 発信者 ログイン成功) ユーザーが既知の悪意のある IP アドレスから RDS データベースに正常にログインしました。

Slide 26

Slide 26 text

26 GuardDuty RDS Protection の検出(finding)タイプについて CredentialAccess:RDS/MaliciousIPCaller.F ailedLogin(クレデンシャルアクセス 悪意のあ る IP 発信者 ログイン失敗) 悪意のある IP アドレスから RDS データベース へのログインに失敗しました。

Slide 27

Slide 27 text

27 GuardDuty RDS Protection の検出(finding)タイプについて Discovery:RDS/MaliciousIPCaller(検出 悪意のある IP 発信者) 悪意のある IP アドレスが RDS データベースを 探査しましたが、認証は試みられませんでした。

Slide 28

Slide 28 text

28 (補足)Tor の概要 • Tor(トア、The Onion Router) • 匿名通信を可能にするソフトウェア • トラフィックを複数の中間ノードを経由してルーティングすることで 通信元を特定することを困難にする • Tor ネットワークを経由して最終的に通信相手となる Web サーバーや ネットワーク機器を Tor 出口ノードという

Slide 29

Slide 29 text

29 (補足)Tor の概要 • Tor(トア、The Onion Router) • 匿名通信を可能にするソフトウェア • トラフィックを複数の中間ノードを経由してルーティングすることで 通信元を特定することを困難にする • Tor ネットワークを経由して最終的に通信相手となる Web サーバーや ネットワーク機器を Tor 出口ノードという

Slide 30

Slide 30 text

30 GuardDuty RDS Protection の検出(finding)タイプについて CredentialAccess:RDS/TorIPCaller.Succe ssfulLogin(クレデンシャルアクセス Tor IP 発信者 ログイン成功) ユーザーが、Tor 出口ノードの IP アドレスから RDS データベースに正常にログインしました。

Slide 31

Slide 31 text

31 GuardDuty RDS Protection の検出(finding)タイプについて CredentialAccess:RDS/TorIPCaller.Failed Login(クレデンシャルアクセス Tor IP 発信者 ログイン失敗) Tor IP アドレスが RDS データベースへのログ インに失敗しました。

Slide 32

Slide 32 text

32 GuardDuty RDS Protection の検出(finding)タイプについて Discovery:RDS/TorIPCaller(検出 Tor IP 発信者) Tor 出口ノードの IP アドレスがアカウントの RDS データベースをプローブしましたが、認証 の試行は行われませんでした。

Slide 33

Slide 33 text

33 GuardDuty RDS Protection の検出(finding)タイプについて ここまでの検出タイプを見て 何か気づきましたか?

Slide 34

Slide 34 text

34 GuardDuty RDS Protection の検出(finding)タイプについて • RDS Protection で検出される場合、 かなりセキュリテイ的に脆弱なアーキテクチャになっている可能性 • セキュリテイグループのインバウンド通信は 必要なポート・必要な IP アドレス範囲からのみ 許可する • プライベートサブネットに配置する

Slide 35

Slide 35 text

35 検出後の対応

Slide 36

Slide 36 text

36 検出後の対応 • ログインされていない(FailedLogin、Discovery) • 通信経路はあるが、まだクレデンシャルは漏洩していない • 通信経路の遮断 • 必要なソースからのトラフィックのみを許可するように セキュリティグループルールを制限する • データベースを VPC 内のプライベートサブネットに配置する すぐできる! すぐやろう!

Slide 37

Slide 37 text

37 検出後の対応 • ログインされてしまった(SuccessfulLogin) • 通信経路があり、クレデンシャルも漏洩、データも侵害された可能性あり • 通信経路の遮断 • クレデンシャルの変更 • データがどこまで侵害されたか調査 • 必要なソースからのトラフィックのみを許可するように セキュリティグループルールを制限する • データベースユーザーのパスワードを変更する • データベースを VPC 内のプライベートサブネットに配置する • 異常なユーザーによって実行されたアクティビティの利用可能な 監査ログを確認する すぐできる! すぐやろう!

Slide 38

Slide 38 text

38 検出後の対応 • ログインされてしまった(SuccessfulLogin) • 通信経路があり、クレデンシャルも漏洩、データも侵害された可能性あり • 通信経路の遮断 • クレデンシャルの変更 • データがどこまで侵害されたか調査 • 必要なソースからのトラフィックのみを許可するように セキュリティグループルールを制限する • データベースユーザーのパスワードを変更する • データベースを VPC 内のプライベートサブネットに配置する • 異常なユーザーによって実行されたアクティビティの利用可能な 監査ログを確認する バックアップから新しい RDS DB インスタンスを プライベートサブネットに作成する方法もありますが、 マルチ AZ 構成をうまく利用してフェイルオーバーさせるやり方がより簡単です。 • Amazon RDS DB インスタンスをパブリックサブネットから同じ VPC 内のプライベ ートサブネットに移動する方法を教えてください。 • https://repost.aws/ja/knowledge-center/rds-move-to-private-subnet • パブリックサブネットにあるRDSをプライベートサブネットに移動してみた • https://dev.classmethod.jp/articles/lim-rds-change-subnetgroup2-jp/ ※通信断が発生します

Slide 39

Slide 39 text

39 検出後の対応 • ログインされてしまった(SuccessfulLogin) • 通信経路があり、クレデンシャルも漏洩、データも侵害された可能性あり • 通信経路の遮断 • クレデンシャルの変更 • データがどこまで侵害されたか調査 • 必要なソースからのトラフィックのみを許可するように セキュリティグループルールを制限する • データベースユーザーのパスワードを変更する • データベースを VPC 内のプライベートサブネットに配置する • 異常なユーザーによって実行されたアクティビティの利用可能な 監査ログを確認する 検出されてからでは遅いので、 あらかじめ監査ログの保存設定をしておくことを推奨します。 • 既存の Aurora MySQL 互換クラスターの監査ログを有効化し CloudWatch Logs に出 力して CloudWatch Logs Insights でログを抽出する(クエリする)方法 • https://dev.classmethod.jp/articles/aurora-mysql-cluster-audit-logs-cloudwatch-logs- and-query-logs-with-cloudwatch-logs-insights/ データベースの内容がクエリされたか?どのデータベースにクエリが実行された か?データを書き換えられていないか?新しいユーザーを作成されていないか? パスワードを変更されていないか?…など、影響範囲を確認

Slide 40

Slide 40 text

40 まとめ・所感

Slide 41

Slide 41 text

41 まとめ・所感 • GuardDuty の概要をおさらい • Amazon Inspector のこともついでにちょっとおさらい • GuardDuty の名前の由来はちょっとかっこいい • GuardDuty RDS Protection は RDS へのアクセスを監視して 異常なログインアクティビティを検知するもの • クエリ発行そのもの(不審なクエリ発行など)を検知する機能ではない • プライベートサブネットに RDS が配置されていれば RDS Protection の出番はあまりなさそう

Slide 42

Slide 42 text

42 まとめ・所感 • Tor についての概要 • セキュリティは攻撃 First! (by パロアルトネットワークス CTO アジェイ ミスラ氏) • セキュリティ対策はどんな攻撃があるのか知ることから始まる • 今後みなさんが Tor を使うことが一生ないとしても、こういう攻撃がある ということを知ったので一歩前進しました

Slide 43

Slide 43 text

43 ありがとうございました

Slide 44

Slide 44 text

44 参考 • Amazon GuardDuty とは • https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/what-is-guardduty.html • GuardDuty RDS Protection • https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/rds-protection.html • GuardDuty RDS Protection の検出結果タイプ • https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/findings-rds-protection.html • 侵害されたデータベースの修復 • https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/guardduty-remediate-compromised-database-rds.html • The Tor Project • https://www.torproject.org/ • 入門Tor: Torのしくみと企業へのリスク • https://unit42.paloaltonetworks.jp/tor-traffic-enterprise-networks/ • Tor 出口ノードの IP アドレス一覧 • https://check.torproject.org/exit-addresses • Amazon GuardDuty RDS Protection の具体的な検出タイプを調査しました • https://dev.classmethod.jp/articles/guardduty-rds-protection-finding-types/ • Amazon GuardDuty RDS Protection で Tor IP 検出タイプと Malicious IP 検出タイプを検知しました~その他の検出タイプはサンプルを出力しました • https://dev.classmethod.jp/articles/guardduty-rds-protection-torip-finding-types-maliciousip-finding-types-sample/