Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【OpsJAWS】EC2 のセキュリティの運用と監視について考えてみた件
Search
Hisashi Hibino
March 11, 2024
Technology
4
1.1k
【OpsJAWS】EC2 のセキュリティの運用と監視について考えてみた件
2024/3/11 OpsJAWS Meetup #27 発表資料
Hisashi Hibino
March 11, 2024
Tweet
Share
More Decks by Hisashi Hibino
See All by Hisashi Hibino
【インフラエンジニアbooks】30分でわかる「AWS継続的セキュリティ実践ガイド」
hssh2_bin
6
1.9k
【ログ分析勉強会】EDR ログで内部不正を検出できるのか、Copilot に聞いてみた
hssh2_bin
2
410
【OpsJAWS】踏み台サーバーって何がうれしいんだっけ?
hssh2_bin
13
5.3k
【Cyber-sec+】ログの森で出会ったCloudTrail との奇妙な旅
hssh2_bin
1
620
【SecurityJAWS】時間切れで書き切れなかったOCSFの行く末とは
hssh2_bin
2
1.3k
Other Decks in Technology
See All in Technology
静的解析で実現した効率的なi18n対応の仕組みづくり
minako__ph
1
210
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
720
Application Development WG Intro at AppDeveloperCon
salaboy
0
200
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
0
210
生成AIが変えるデータ分析の全体像
ishikawa_satoru
0
180
TypeScript、上達の瞬間
sadnessojisan
48
14k
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
950
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
440
LINEヤフーにおけるPrerender技術の導入とその効果
narirou
1
220
電話を切らさない技術 電話自動応答サービスを支える フロントエンド
barometrica
1
150
アジャイルチームがらしさを発揮するための目標づくり / Making the goal and enabling the team
kakehashi
3
170
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
4
250
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
459
33k
GitHub's CSS Performance
jonrohan
1030
460k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Code Review Best Practice
trishagee
64
17k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
The World Runs on Bad Software
bkeepers
PRO
65
11k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Transcript
EC2 のセキュリティの運⽤と監視 について考えてみた件 OpsJAWS Meetup #27 2024年3⽉11⽇(⽉) ログスペクト株式会社 ⽇⽐野 恒
⾃⼰紹介 ⽇⽐野 恒 - Hisashi Hibino Security Architect CISSP, CCSP,
CISA, PMP, 情報処理安全確保⽀援⼠(000999) [執筆] Ø Elastic Stack 実践ガイド [Logstash/Beats 編](インプレス刊) Ø AWS 継続的セキュリティ実践ガイド (翔泳社刊) Ø セキュリティログ分析基盤活⽤⼊⾨(@IT) [略歴] l 2018 年までの 10 年間、IT コンサルティング会社に在籍 l 2019 年より⼤⼿ Web 系ユーザー企業のセキュリティ組織に所属 l 多くのログ基盤やクラウドセキュリティに関するプロジェクトを推進 l 現在はログスペクト株式会社の IT アーキテクトとして活動中 2
本⽇伝えたいこと 3 EC2 のセキュリティ対策を実施することで発⽣するセキュリティ運⽤をイメージできるようにしたい 資 産 棚 卸 リ ス
ク 分 析 リ ス ク 評 価 リスクは 許容範囲内か︖ リスク受容 リスク低減 リスク移転 リスク回避 リスク対応 リスクアセスメントから実施、 リスク受容レベルを下回れるよう リスク対応案を提⽰する リスク低減策を講じる場合 セキュリティ運⽤が漏れなく 付いてくるが、体制が作れず 運⽤されないケースが 意外と多い 課題感
アジェンダ 4 1. 前提として 2. どのようなセキュリティ脅威が想定されるのか 3. AWS サービスを⽤いた予防策とは 4.
AWS サービスを⽤いた検知策とは 5. どのようなセキュリティ運⽤が必要になるか 6. まとめ
Private subnet 前提として 5 インターネット公開されている三層構造の Web アプリケーションシステムの EC2 を対象とする AWS
Cloud Virtual private cloud (VPC) Public subnet DB (RDS) Web App (EC2) ALB IGW 利⽤者 Multi-AZ 検討対象 Internet 機密 【前提事項】 ・インターネットに公開されている(Attack Surface あり) ・不特定多数の利⽤者からの Web 通信を受信する ・EC2 の前には パブリック ALB が配置されている HTTPS
どのようなセキュリティ脅威が想定されるのか 6 外部攻撃 ネットワーク 経由の侵⼊ 不正アクセス マルウェア感染 防護回避 データ破壊 データ暗号化
データ改ざん 情報窃取 探索 ⽔平展開 データ収集 DDoS サービス停⽌ ステップ1: 侵⼊ ステップ2: 拡散 ステップ 3: ⽬標達成 リソース ハイジャック 【参考】MITRE ATT&CK Enterprise Matrix: https://attack.mitre.org/matrices/enterprise/ ※ 内部不正および物理的な侵⼊は対象外としている
AWS サービスを⽤いた予防策とは 7 脅威 予防策 不正アクセス DDoS マルウェア感染 防護回避 探索
⽔平展開 データ収集 サービス停⽌ データ破壊 データ暗号化 データ改ざん リソースハイジャック 情報窃取 # 1 2 3 4 5 6 7 8 9 10 11 12 13 AWS WAF Security Group Network Firewall Network ACL AWS Backup(Vault Lock) AWS Shield EBS Snapshot(Rule Lock) KMS Inspcetor CloudFront ALB(AutoScaling) Security Hub 説明 EC2 内に含まれる脆弱性(CVE)の検出 収集対象のデータのKMSによる暗号化 脆弱性を突く通信や C2 サーバ向け通信の遮断 脆弱性を突く Web 通信をシグネチャで遮断 不要な IP のステートレスでの拒否 DDoS 攻撃の遮断 必要な IP とポートのステートフルでの許可 DDoS 攻撃からオリジンである EC2 の保護 DDoS 攻撃から⾃動スケーリングでの保護 通信制御やバックアップの設定ミスの検出 バックアップからのデータ復元 マシンイメージからのデータ復元 Patch Manager 脆弱性(CVE)に対するパッチ適⽤ IAM IAM Role に不要な権限を付与しない(最⼩権限)
8 脅威 不正アクセス DDoS マルウェア感染 防護回避 探索 ⽔平展開 データ収集 サービス停⽌
データ破壊 データ暗号化 データ改ざん リソースハイジャック 情報窃取 # 1 2 3 4 5 6 7 8 9 10 11 12 13 AWS サービスを⽤いた検知策とは 検知策 GuardDuty CloudWatch(Logs & Metrics) VPC(Flow Logs) ALB(Log & Metrics) VPC Traffic Mirroring AWS WAF(Log & Metrics) Network Firewall (Log & Metrics) CloudFront (Log & Metrics) AWS Shield Advanced 説明 不審なアクティビティ、マルウェア感染の検出 EC2 内の各種ログおよびメトリックによる検出 EC2 通信のフローログによる検出 ALB 経由の不正通信のログによる検出 EC2 通信のフルパケットキャプチャによる検出 脆弱性を突く Web 通信のシグネチャでの検出 脆弱性を突く通信や C2 サーバ向け通信の検出 CloudFront 経由の不正通信のログによる検出 DDoS 攻撃のログ検出 Session Manager(Log) セッションマネージャ経由の操作ログによる検出 CloudTrail(Log) AWS API の監査ログによる検出 Athena S3 に集約した各種ログの分析による検出 QuickSight Athena での分析結果のダッシュボード可視化 SIEM on Amazon OpenSearch Serivce 各種ログを⽤いたセキュリティ監視による検出
どのようなセキュリティ運⽤が必要になるか 9 運⽤ 監視 脆弱性管理 バックアップ取得 ログ取得 設定不備チェック 不正アクセス監視 DDoS攻撃監視
不正操作監視 Inspector によるスキャン結果をもとに調査、重要度に応じてパッチ適⽤を実施する AWS Backup および EBS Snapshot でバックアップを取得する(⼿動取得またはジョブ設定) セキュリティ監視や監査(フォレンジック等)に必要なログの⽋損が起きていないかを確認する Security Hub のコントロールで検出した Findings に致命的な問題がないか設定を確認する GuardDuty、AWS WAF、Network Firewallを⽤いて不正アクセスを監視する AWS Shield、AWS WAF、ALB、CloudFrontを⽤いてDDoS攻撃を監視する セッションアクティビティログや監査ログを⽤いて不正な操作が⾏われていないかチェックする 項⽬ 説明 インシデント対応 監視による検知や監査対応、ユーザー申告などを契機に詳細調査および復旧対応を⾏う # 1 2 3 4 5 7 8 9 マルウェア監視 GuardDuty Malware Protection を⽤いて EBS ベースのマルウェア感染を監視する 6
まとめ 10 ü セキュリティ対策は実施して終わりではなく、正しく運⽤しないと効果が薄れリスクが⾼まる ü EC2 でシステムを組んでいると管理対象が多くなるため、セキュリティ運⽤負荷はそれなりに⾼くなる ü セキュリティ監視には多種多様なログとそれを検知するためのロジックが必要になる 簡単ですが、以下総括です
セキュリティ運⽤は SRE の役割とするのがフィット感が良いが CSIRT を構築し SRE との間で役割分担をしておくべき (特にパッチ適⽤の判断、通信遮断の判断など。また監視は費⽤対効果次第で SOC サービスへのアウトソーシングも検討する)
None
Appendix
【参考】攻撃⼿法の説明 13 # 攻撃⼿法名 説明 1 不正アクセス ネットワーク経由でシステムに侵⼊し、攻撃を実⾏する。 (不正に⼊⼿した認証情報の悪⽤、システムの脆弱性の悪⽤、設定不備の悪⽤など) 2
DDoS 対象となる Web サーバーなどに対し、複数のコンピューターから⼤量のパケットを送りつけ、正常なサービスの提供を妨害する。 3 マルウェア感染 攻撃対象のシステムにマルウェア(不正なプログラム)を感染・動作させる。 4 防護回避 システム侵⼊後の攻撃⾏為をセキュリティ機能で防御や検知させないように回避する。 (アンチウィルスの無効化、ファイアウォール機能の無効化、ログ出⼒機能の無効化、正常なプロセスを悪⽤した偽装⾏為など) 5 探索 攻撃対象のシステムに関する内部環境情報(システムやネットワークの情報など)を取得し、攻撃者の次の⾏動に活⽤する。 (有効なアカウントの検出、ストレージ内オブジェクトのリスト検出、ネットワークデバイスの検出、構成情報の検出など) 6 ⽔平展開 攻撃者が侵⼊⼝となった地点からネットワーク内の他マシンへのマルウェア感染やシステム侵⼊を拡散させる。 (脆弱性の悪⽤、セッションハイジャック攻撃、不正に⼊⼿した認証情報の悪⽤など) 7 データ収集 利⽤価値のあるデータを持ち出すために外部の C2 サーバと通信できるマシンにデータを集め、持ち出し易いように圧縮する。 8 サービス停⽌ ビジネス的な損害を出させるため、対象システムが提供しているサービスが動作しないように停⽌する。 (DDoS攻撃による⾝代⾦要求のための脅しに利⽤するケースなど) 9 データ破壊 ビジネス的な損害を出させるため、対象システムが保持しているデータを復元できないように破壊する。 (システム乗っ取り後の⾝代⾦要求のための脅しに利⽤するケースなど) 10 データ暗号化 ビジネス的な損害を出させるため、対象システムが保持しているデータを使えないように暗号化する。 (システム乗っ取り後の⾝代⾦要求のための脅しに利⽤するケースなど) 11 データ改ざん 対象システムが保持しているデータを書き換える。 (不正な送⾦が来るようにするプログラムを書き換える、Web サイトをマルウェアのダウンロードサイトに書き換えるなど) 12 リソースハイジャック 対象システムのコンピューティングリソースを許可なく利⽤する。 (暗号資産のコインマイニングによるリソースの悪⽤など) 13 情報窃取 対象システムに保存されていた利⽤価値の⾼いデータを外部に持ち出す。 (個⼈情報の不正持ち出し、企業秘密に該当する機微情報の不正持ち出しなど)
【参考】Security Hub の EC2 に関するコントロール(1/2) 14 ID コントロール名 Sevirity CIS
v1.2.0 CIS v1.4.0 PCI-DSS v3.2.1 NIST SP800-53 EC2.1 EBS スナップショットはパブリックに復元できないようにすること をお勧めします Critical - - • • EC2.2 VPC のデフォルトのセキュリティグループでは、インバウンドトラ フィックまたはアウトバウンドトラフィックを許可しないようにす ることをお勧めします High • • • • EC2.3 アタッチされた EBS ボリュームは、保管時に暗号化することをお 勧めします Medium - - - • EC2.4 停⽌した EC2 インスタンスは、指定した期間後に削除する必要が あります Medium - - - • EC2.6 すべての VPC で VPC フローログ記録を有効にすることをお勧めし ます Medium • • • • EC2.7 EBS のデフォルト暗号化を有効にすることをお勧めします Medium - • - • EC2.8 EC2 インスタンスは IMDSv2 を使⽤することをお勧めします High - - - • EC2.9 EC2 インスタンスは、パブリック IPv4 アドレスを未設定にするこ とをお勧めします High - - - • EC2.10 EC2 サービス⽤に作成された VPC エンドポイントを使⽤するよう に EC2 を設定することをお勧めします Medium - - - • EC2.12 未使⽤の EC2 EIP を削除することをお勧めします Low - - • • EC2.13 セキュリティグループは、0.0.0.0/0 または ::/0 からポート 22 へ の⼊⼒を許可しないようにする必要があります High • - • • EC2.14 セキュリティグループは、0.0.0.0/0 または ::/0 からポート 3389 への⼊⼒を許可しないようにする必要があります High • - - - EC2.15 EC2 サブネットは、パブリック IP アドレスを⾃動的に割り当てな いことをお勧めします Medium - - - •
【参考】Security Hub の EC2 に関するコントロール(2/2) 15 ID コントロール名 Sevirity CIS
v1.2.0 CIS v1.4.0 PCI-DSS v3.2.1 NIST SP800-53 EC2.16 未使⽤のネットワークアクセスコントロールリストを削除すること をお勧めします Low - - - • EC2.17 EC2 インスタンスが複数の ENI を使⽤しないようにすることをお 勧めします Low - - - • EC2.18 セキュリティグループは、許可されたポートに対して無制限の着信 トラフィックのみを許可することをお勧めします High - - - • EC2.19 セキュリティグループは、リスクの⾼いポートへの無制限アクセス を許可してはいけません Critical - - - • EC2.20 AWS Site-to-Site VPN 接続⽤の VPN トンネルは、両⽅とも起動 している必要があります Medium - - - • EC2.21 ネットワーク ACL は、0.0.0.0/0 からポート 22、またはポート 3389 への侵⼊を許可しないようにする必要があります Medium - • - • EC2.22 未使⽤の EC2 セキュリティグループを削除することをお勧めしま す Medium - - - - EC2.23 EC2 Transit Gateway が VPC アタッチメントリクエストを⾃動的 に受け付けないようにすることをお勧めします High - - - • EC2.24 EC2 準仮想化インスタンスタイプを使⽤しないことをお勧めします Medium - - - • EC2.25 EC2 起動テンプレートがパブリック IP をネットワークインター フェイスに割り当てないようにすることをお勧めします High - - - • EC2.28 EBS ボリュームをバックアッププランの対象にすることをお勧めし ます Low - - - • EC2.51 EC2 Client VPN エンドポイントでは、クライアント接続ログ記録 が有効になっている必要があります Low - - - •
【参考】GuardDuty EC2 タイプの検出結果(1/2) 16 # 脅威内容 説明 検出結果(Findings) 1 Backdoor
EC2 インスタンスが侵害され、C&C サーバーとの通信、分散型サービス拒否 (DDoS) 攻撃、SMTP でスパムの送信などの悪意ある操作に利⽤されている可能 性のある状態を検出 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 3 CryptoCurrency EC2 インスタンスで、ビットコインまたはその他の暗号通貨関連アクティビティ (コインマイニングなど)を実⾏している可能性のある状態を検出 CryptoCurrency:EC2/BitcoinTool.B CryptoCurrency:EC2/BitcoinTool.B!DNS 4 DefenseEvasion EC2 インスタンスが、Amazon DNS リゾルバーで名前解決する際に、外部の DNS プロバイダーを使⽤したり、HTTPS (DoH) または TLS (DoT) 経由で DNS トラフィックを送信したりする⼿法を使⽤して、不審なアクティビティを隠そう とする可能性のある状態を検出 DefenseEvasion:EC2/UnusualDNSResolver DefenseEvasion:EC2/UnusualDoHActivity DefenseEvasion:EC2/UnusualDoTActivity 5 Impact EC2 インスタンスが、評価の低いドメイン名をクエリしたり、多数の IP アドレ スに対するポート調査、Windows リモート管理総当たり攻撃など、不審な通信を 実施している可能性のある状態を検出 Impact:EC2/AbusedDomainRequest.Reputation Impact:EC2/BitcoinDomainRequest.Reputation Impact:EC2/MaliciousDomainRequest.Reputation Impact:EC2/PortSweep Impact:EC2/SuspiciousDomainRequest.Reputation Impact:EC2/WinRMBruteForce
【参考】GuardDuty EC2 タイプの検出結果(2/2) 17 # 脅威内容 説明 検出結果(Findings) 6 Recon
EC2 インスタンスの保護すべきポートが保護されずに外部からポートスキャンさ れている状態、または EC2 インスタンスが外部に対して不正にポートスキャンを 実⾏している可能性のある状態を検出 Recon:EC2/PortProbeEMRUnprotectedPort Recon:EC2/PortProbeUnprotectedPort Recon:EC2/Portscan 7 Trojan EC2 インスタンスが、トロイの⽊⾺などのマルウェアに感染した疑いがあり、外 部に対して不正な通信や攻撃を実施している可能性のある状態を検出 Trojan:EC2/BlackholeTraffic Trojan:EC2/BlackholeTraffic!DNS Trojan:EC2/DGADomainRequest.B Trojan:EC2/DGADomainRequest.C!DNS Trojan:EC2/DNSDataExfiltration Trojan:EC2/DriveBySourceTraffic!DNS Trojan:EC2/DropPoint Trojan:EC2/DropPoint!DNS Trojan:EC2/PhishingDomainRequest!DNS 8 UnauthorizedAccess EC2 インスタンスが、許可されていない不正なアクセス(脅威リストの IP への 接続、Tor への接続、インスタンスメタデータサービスへのアクセス)を実施し ている疑い、またはブルートフォース攻撃を受けている可能性のある状態を検出 UnauthorizedAccess:EC2/MaliciousIPCaller.Custom UnauthorizedAccess:EC2/MetadataDNSRebind UnauthorizedAccess:EC2/RDPBruteForce UnauthorizedAccess:EC2/SSHBruteForce UnauthorizedAccess:EC2/TorClient UnauthorizedAccess:EC2/TorRelay
参考URL Security Hub EC2 コントロール https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/ec2-controls.html GuardDuty EC2 の検出結果タイプ https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/guardduty_finding-types-ec2.html
セキュリティ対応組織の教科書 第3.1版 https://isog-j.org/output/2023/Textbook_soc-csirt_v3.html 18