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
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
【OpsJAWS】踏み台サーバーって何がうれしいんだっけ?
hssh2_bin
13
5k
【Cyber-sec+】ログの森で出会ったCloudTrail との奇妙な旅
hssh2_bin
1
530
【SecurityJAWS】時間切れで書き切れなかったOCSFの行く末とは
hssh2_bin
2
1.1k
Other Decks in Technology
See All in Technology
SHIFTの課題と目指したい組織像 / 20240827 Rinto Ikenoue
shift_evolve
0
140
データウェアハウス製品のSnowflakeでPythonが動くって知ってました?
foursue
1
150
Eventual Detection Engineering
ken5scal
0
390
日経電子版から始まった内製開発の現在地と向き合っている課題/inhouse
nishiuma
0
230
標準ライブラリの奥深アップデートを掘り下げよう!
logica0419
2
390
バックログを導入し やっぱやめた話
ota42y
0
170
自社開発した大規模言語モデルをどうプロダクションに乗せて運用していくか〜インフラ編〜
pfn
PRO
4
680
Javaにおける関数型プログラミンへの取り組み
skrb
5
110
Namespace, Now and Then
tagomoris
0
170
実践的なバグバウンティ入門
scgajge12
4
2.1k
Discover Your Tailored Platform Strategy with Real-World Practice
hhiroshell
1
130
PlaywrightによるE2Eテスト入門 / Introduction to E2E Testing with Playwright
rhumie
3
910
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
27
1.6k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
24
2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
363
22k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
38
9.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
22
3.9k
Rebuilding a faster, lazier Slack
samanthasiow
78
8.5k
Testing 201, or: Great Expectations
jmmastey
35
6.9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
Building Applications with DynamoDB
mza
89
5.9k
Writing Fast Ruby
sferik
623
60k
Docker and Python
trallard
39
3k
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