こんにちは。AWS CLIが好きな福島です。
はじめに
今回は、GuardDutyのEC2の検出タイプについて、調査したため、ブログに記載いたします。
参考
GuardDuty EC2 の検出結果タイプ - Amazon GuardDuty
GuardDutyとは
GuardDutyとは、脅威検出サービスと呼ばれており、以下のリソースに対する脅威を検出してくれます。
- EC2
- IAM
- S3
- Kubernetes
また、脅威を検出するために以下のログを用います。
- AWS CloudTrail イベントログ
- AWS CloudTrail 管理イベント
- S3 の AWS CloudTrail データイベント
- Kubernetes 監査ログ
- VPC フローログ
- DNS ログ
EC2の検出タイプについて
概要
まず、GuardDutyの検出タイプは以下の通りの記載となります。
種類:サービス名/検出識別子
※上記はドキュメントに記載がある訳ではなく、私が勝手につけた名前となります。
以下の例の場合、種類がBackdoorでサービス名がEC2、検出識別子がC&CActivity.Bとなります。
Backdoor:EC2/C&CActivity.B
また、今回はEC2の検出タイプに関する内容をまとめるため、サービス名は全てEC2となりますが、 サービス名がEC2の中でも、種類は以下の通り、複数存在いたします。
- Backdoor
- Behavior
- CryptoCurrency
- Impact
- Recon
- Trojan
- UnauthorizedAccess
全体
1. Backdoor
名前の通り、バックドアが存在する可能性があることを示唆する検出タイプとなります。
具体的には、以下の検出タイプが存在しており、C&C サーバーと接続していないかやDoS攻撃に利用されていないかを検出してくれます。 また、8個中7個が重要度が高となります。
- Backdoor:EC2/C&CActivity.B
- Backdoor:EC2/C&CActivity.B!DNS
- Backdoor:EC2/DenialOfService.Dns
- Backdoor:EC2/DenialOfService.Tcp
- Backdoor:EC2/DenialOfService.Udp
- Backdoor:EC2/DenialOfService.UdpOnTcpPorts
- Backdoor:EC2/DenialOfService.UnusualProtocol
- Backdoor:EC2/Spambot
2. Behavior
ふるまいを意味する英単語ですが、名前からはイメージがわきづらいかなと思います。
具体的には、以下の検出タイプが存在しており、EC2が通常と異なるポートでリモートホストと通信していないかや大量のトラフィックをリモートホストに送っていないかを検出してくれます。
- Behavior:EC2/NetworkPortUnusual
- Behavior:EC2/TrafficVolumeUnusual
重要度は2つとも中となっております。
3. CryptoCurrency
名前の通り、暗号通貨関連の検出タイプになります。 具体的には、以下の検出タイプが存在しており、暗号通貨の採掘に利用されていることを示唆する検出タイプとなります。
重要度は2つとも高となります。 ただし、対象のEC2がブロックチェーンのアクティビティに関与している場合は、この検出結果はご利用の環境の想定されるアクティビティを示している可能性があります。
- CryptoCurrency:EC2/BitcoinTool.B
- CryptoCurrency:EC2/BitcoinTool.B!DNS
4. Impact
影響を意味する英単語ですが、名前からはイメージがわきづらいかなと思います。
具体的には、以下の検出タイプが存在しており、評判の悪いドメイン名へクエリしていることや多数のIPのポートをスキャン(No.3),Windows Serverに総当たり攻撃をしている(No.6)ことを検出します。
- Impact:EC2/BitcoinDomainRequest.Reputation
- Impact:EC2/MaliciousDomainRequest.Reputation
- Impact:EC2/PortSweep
- Impact:EC2/AbusedDomainRequest.Reputation
- Impact:EC2/SuspiciousDomainRequest.Reputation
- Impact:EC2/WinRMBruteForce
重要度は6個中3個が高となりますが、WinRMBruteForceの検知は、EC2 インスタンスが総当たり攻撃の動作主体である場合はこの検出結果の重要度は「高」になります。
5. Recon
偵察を意味する英単語となり、悪意ある第三者が攻撃する対象を偵察していることを検出タイプになると思われます。
具体的には、以下の検出タイプが存在しており、ポートスキャンされていることを検出してくれます。
- Recon:EC2/PortProbeEMRUnprotectedPort
- Recon:EC2/Portscan
- Recon:EC2/PortProbeUnprotectedPort
3個中1個が重要度が「高」となりますが、PortProbeUnprotectedPortについては、 調査対象のポートが (9200 または 9300) で使用されている場合、検出結果の重要度は [High] (高) になります。
6. Trojan
名前の通り、トロイの木馬が導入されていることを示唆する検出タイプです。
具体的には、以下の検出タイプが存在しており、DGA(ドメイン生成アルゴリズム)を使用したDNSクエリ,機密データを含めたDNSクエリ,ドライブバイダウンロード攻撃,フィッシング攻撃といったものを検出してくれます。
- Trojan:EC2/DGADomainRequest.B
- Trojan:EC2/DGADomainRequest.C!DNS
- Trojan:EC2/DNSDataExfiltration
- Trojan:EC2/DriveBySourceTraffic!DNS
- Trojan:EC2/PhishingDomainRequest!DNS
- Trojan:EC2/BlackholeTraffic
- Trojan:EC2/BlackholeTraffic!DNS
- Trojan:EC2/DropPoint
- Trojan:EC2/DropPoint!DNS
9個中6個が重要度が「高」となります。
7. UnauthorizedAccess
名前の通り、不正アクセス系の検出タイプになります。
具体的には、以下の検出タイプが存在しており、DNS リバイディングを用いたEC2のメタデータの奪取,Torネットワークへの接続,ブルートフォース攻撃を受けている,カスタムした脅威IPアドレスへのアクセスといったものを検出してくれます。
- UnauthorizedAccess:EC2/MetadataDNSRebind
- UnauthorizedAccess:EC2/TorClient
- UnauthorizedAccess:EC2/TorRelay
- UnauthorizedAccess:EC2/MaliciousIPCaller.Custom
- UnauthorizedAccess:EC2/RDPBruteForce
- UnauthorizedAccess:EC2/SSHBruteForce
6個中3個が重要度が「高」となります。
◆補足
TorClient/TorRelayについてですが、そもそもTorとは匿名通信を有効化するソフトウェアとなります。
大量のサーバを経由することで送信元を探らせない感じかと思います。
つまり、TorClient/TorRelayの検知は、対象のEC2が大量サーバの一部になっていることを示唆します。
対応方法
EC2の検出タイプが検知された場合の対応方法をまとめてみました。
EC2が侵害された場合
EC2が侵害された場合は、以下のドキュメントを参考に対応します。
GuardDuty によって検出されたセキュリティ問題の修復 - Amazon GuardDuty
基本的にマルウェアを探し、削除する。削除できなければ、EC2を削除し再作成することが記載されています。
ドキュメントに記載はありませんが、Security Groupのアウトバウンドルールを削除するのも暫定対策としては良いと存じます。
怪しいドメインへクエリを行っている場合
この場合、既にEC2が侵害されているケースもあるかと存じますが、対応としては特定のドメイン名に対するクエリをブロックできるAmazon Route 53 Resolver DNS Firewallの導入が考えられます。
詳細は以下ブログを参照いただけますと幸いです。
ポートスキャンされている場合
この対応または対策としては、Security Groupを正しく設定することとなります。
また、Security Groupが適切に設定されていることを確認できるサービスとして、Security Hubという機能もありますため、合わせて導入を検討すると良いかと存じます。
終わりに
今回は、GuardDutyのEC2の検出タイプに関するブログをまとめました。
どなたかのお役に立てれば幸いです。