$30 off During Our Annual Pro Sale. View Details »

GuardDuty RDS Protection について/about-GuardDuty-R...

emi
July 19, 2023

GuardDuty RDS Protection について/about-GuardDuty-RDS-Protection

2023/7/19 の JAWS-UG朝会 #47 で発表したスライドです。
https://jawsug-asa.connpass.com/event/274703/

[登壇レポート]「GuardDuty RDS Protection について」という内容で登壇してきました #jawsug_asa
https://dev.classmethod.jp/articles/jawsug-morning-47-report-about-guardduty-rds-protection/

emi

July 19, 2023
Tweet

More Decks by emi

Other Decks in Technology

Transcript

  1. 2 目次 • Amazon GuardDuty とは(おさらい) • GuardDuty RDS Protection

    とは • GuardDuty RDS Protection の検出(finding)タイプに ついて • 検出後の対応 • まとめ・所感 AWS アーキテクチャアイコンが 新旧入り混じってます すみません!
  2. 6 Amazon GuardDuty とは AWS アカウント内の異常なアクティビティを自動的に検出する →ふるまい検知 いつもと違う動きを している奴がいるぞ…! 3rd

    Party 製品だと Acronis Cyber Protect、Cybereason EDR、CrowdStrike、Trend Micro Apex One、FFRI yarai など Amazon GuardDuty
  3. 8 (余談)Amazon Inspector とは • Amazon Inspector とは • ソフトウェアの脆弱性や意図しないネットワーク露出がないか

    継続的にスキャンする脆弱性管理サービス 攻撃されたら突破されそうな 穴があるぞ…! Amazon Inspector
  4. 9 (余談) GuardDuty or Inspector ? Amazon GuardDuty Amazon Inspector

    パッチは最新バージョンが適用されていて 脆弱性はないけど、 なんだか怪しいアクセスを繰り返しているぞ 通常通り稼働しているけど、 パッチが古くて脆弱性があるぞ
  5. 10 Amazon GuardDuty とは • 検出には脅威インテリジェンスフィードや機械学習を使用する • 脅威インテリジェンスフィード • インターネット上で収集された脅威に関する情報を集めたデータベース

    やサービスのこと • 新しい脅威や攻撃方法、マルウェアの詳細、攻撃者の振る舞い、既知の 悪意ある IP アドレスなどの情報が含まれる 新しい脅威 攻撃方法 マルウェアの詳細 攻撃者の振る舞い 既知の悪意ある IP アドレス : 脅威インテリジェンスフィード 機械学習 通常と違うログを検出した 今までにないアクセスがあった 大量のログイン試行があった
  6. 11 Amazon GuardDuty とは • 検出結果はコンソールの [Findings] (検出結果) ページ、AWS CLI、

    API を使用して表示および管理 • 検出結果タイプ(finding types) • GuardDuty が検出した脅威の種類を表す分類 検出結果タイプ
  7. 12 (余談)Amazon GuardDuty とは • GuardDuty(ガードデューティ) • Guard:守り、見張り、監視、警護、保護、守衛、番人 • a

    coast guard:沿岸警備隊 • guardian:守護神、守護者 • Duty:義務、義理、敬意、務め、職務、責務 • call of duty:任務遂行 • duty as a human:人間としての義務 • I‘ll take over your duties.:君の職務を引き継ごう。
  8. 16 GuardDuty RDS Protection とは • GuardDuty RDS Protection を有効化するだけ、追加のリソース

    の作成等は不要 • データベースのパフォーマンスに影響を与えない • 30 日間は無料で試用できる
  9. 17 GuardDuty RDS Protection とは • 以下の場合、通常のログイン動作のベースラインを設定するため GuardDuty 側の学習期間が最大 2

    週間必要 • 最大 2 週間は異常なログインの結果が検出されない場合がある • 初めて GuardDuty RDS Protection を有効にする場合 • 新しく作成されたデータベース インスタンスがある場合 • 現時点で Aurora MySQL と Aurora PostgreSQL のみの対応とな っており、他の RDS DB エンジンは未対応 • クエリ発行そのもの(不審なクエリ発行など)を検知する機能では ない
  10. 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
  11. 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
  12. 21 GuardDuty RDS Protection の検出(finding)タイプについて • Anomalous Behavior:異常動作、異常なふるまい • 通常と違うアクセス

    • Malicious IP Caller:悪意のある IP 発信者 • Malicious:悪意がある、悪質な • 既知の悪意のある IP アドレスからのアクセス • Tor IP Caller:Tor の IP 発信者 • Tor 出口ノードの IP アドレスからのアクセス • Tor については後ほど!
  13. 22 GuardDuty RDS Protection の検出(finding)タイプについて CredentialAccess:RDS/AnomalousBehavi or.SuccessfulLogin(クレデンシャルアクセス 異常動作 ログイン成功) ユーザーが異常な方法で

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

    成功) 異常なログイン試行の失敗の一貫したパター ンの後、異常な方法でパブリック IP アドレ スから RDS データベースに正常にログイン しました。
  15. 25 GuardDuty RDS Protection の検出(finding)タイプについて CredentialAccess:RDS/MaliciousIPCaller. SuccessfulLogin(クレデンシャルアクセス 悪 意のある IP

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

    発信者 ログイン失敗) 悪意のある IP アドレスから RDS データベース へのログインに失敗しました。
  17. 27 GuardDuty RDS Protection の検出(finding)タイプについて Discovery:RDS/MaliciousIPCaller(検出 悪意のある IP 発信者) 悪意のある

    IP アドレスが RDS データベースを 探査しましたが、認証は試みられませんでした。
  18. 28 (補足)Tor の概要 • Tor(トア、The Onion Router) • 匿名通信を可能にするソフトウェア •

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

    トラフィックを複数の中間ノードを経由してルーティングすることで 通信元を特定することを困難にする • Tor ネットワークを経由して最終的に通信相手となる Web サーバーや ネットワーク機器を Tor 出口ノードという
  20. 30 GuardDuty RDS Protection の検出(finding)タイプについて CredentialAccess:RDS/TorIPCaller.Succe ssfulLogin(クレデンシャルアクセス Tor IP 発信者

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

    出口ノードの IP アドレスがアカウントの RDS データベースをプローブしましたが、認証 の試行は行われませんでした。
  22. 34 GuardDuty RDS Protection の検出(finding)タイプについて • RDS Protection で検出される場合、 かなりセキュリテイ的に脆弱なアーキテクチャになっている可能性

    • セキュリテイグループのインバウンド通信は 必要なポート・必要な IP アドレス範囲からのみ 許可する • プライベートサブネットに配置する
  23. 37 検出後の対応 • ログインされてしまった(SuccessfulLogin) • 通信経路があり、クレデンシャルも漏洩、データも侵害された可能性あり • 通信経路の遮断 • クレデンシャルの変更

    • データがどこまで侵害されたか調査 • 必要なソースからのトラフィックのみを許可するように セキュリティグループルールを制限する • データベースユーザーのパスワードを変更する • データベースを VPC 内のプライベートサブネットに配置する • 異常なユーザーによって実行されたアクティビティの利用可能な 監査ログを確認する すぐできる! すぐやろう!
  24. 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/ ※通信断が発生します
  25. 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/ データベースの内容がクエリされたか?どのデータベースにクエリが実行された か?データを書き換えられていないか?新しいユーザーを作成されていないか? パスワードを変更されていないか?…など、影響範囲を確認
  26. 41 まとめ・所感 • GuardDuty の概要をおさらい • Amazon Inspector のこともついでにちょっとおさらい •

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

    CTO アジェイ ミスラ氏) • セキュリティ対策はどんな攻撃があるのか知ることから始まる • 今後みなさんが Tor を使うことが一生ないとしても、こういう攻撃がある ということを知ったので一歩前進しました
  28. 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/