Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
[Security-JAWS用]実践的なAWSセキュリティのインシデントレスポンス環境を作ってみた!
cm-usuda-keisuke
November 24, 2020
Technology
3
1.6k
[Security-JAWS用]実践的なAWSセキュリティのインシデントレスポンス環境を作ってみた!
Security-JAWS 【第19回】 勉強会 2020年11月24日(火)に登壇した際の資料です
https://s-jaws.doorkeeper.jp/events/113783
cm-usuda-keisuke
November 24, 2020
Tweet
Share
More Decks by cm-usuda-keisuke
See All by cm-usuda-keisuke
AWS全体のセキュリティ管理と快適なセキュリティ運用
cmusudakeisuke
2
11k
Security HubとGuardDutyで予防的統制と発見的統制を運用する
cmusudakeisuke
0
1.1k
セキュリティ系アップデートまとめ - CM re:Growth 2021 Online
cmusudakeisuke
0
1.1k
攻撃し続けた僕と検知したりしなかったりするツンデレの君(GuardDuty)の歴史
cmusudakeisuke
0
860
AWSを攻撃したらこうなるのでちゃんと対策しようねって話
cmusudakeisuke
0
1.5k
[2021年版]AWSセキュリティ対策全部盛り[初級から上級まで]
cmusudakeisuke
3
33k
AWSのインシデントレスポンスはここまで進化した!Radware Cloud Native Protectorによるインシデント調査
cmusudakeisuke
1
1.2k
コンテナもサーバーレスも、AWSの各レイヤーの最新セキュリティ
cmusudakeisuke
1
7.3k
AWSアカウントのセキュリティインシデント調査どうする? Amazon Detectiveを利用した調査の勘所
cmusudakeisuke
1
1.7k
Other Decks in Technology
See All in Technology
プロダクトグロースと技術のベースアップを両立させるRettyのアプリ開発スタイル / Achieve Product Growth and Tech Update
imaizume
1
290
ソフトウェアテストで参考にしている67のモノ #scrumniigata / 67 things for software testing
kyonmm
PRO
1
500
ZOZOTOWNのProduction Readiness Checklistと信頼性向上の取り組み / Improvement the reliability of ZOZOTOWN with Production Readiness Checklist
akitok_
5
1.8k
A1A会社紹介資料-2022-05-20
a1a
2
1.1k
How We Foster Reliability in Diversity
nari_ex
PRO
9
2.8k
Building smarter apps with machine learning, from magic to reality
picardparis
4
3.1k
我々はなぜテストをするのか?
kawaguti
PRO
0
540
Who owns the Service Level?
chaspy
5
1.1k
AWS CLI入門_20220513
suzakiyoshito
0
3.9k
220521_SFN_品質文化試論と『LEADING QUALITY』/220521_SFN_Essay_of_Quality_Culture_and_LEADING_QUALITY
mkwrd
0
280
AWS ChatbotでEC2インスタンスを 起動できるようにした
iwamot
0
160
Whats new in Android Media?
myolwin00
2
110
Featured
See All Featured
The Mythical Team-Month
searls
208
39k
Designing Experiences People Love
moore
130
22k
Clear Off the Table
cherdarchuk
79
280k
Put a Button on it: Removing Barriers to Going Fast.
kastner
56
2.3k
Why Our Code Smells
bkeepers
PRO
324
54k
The Most Common Mistakes in Cover Letters
jrick
PRO
4
24k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
4
450
Reflections from 52 weeks, 52 projects
jeffersonlam
337
17k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
119
28k
VelocityConf: Rendering Performance Case Studies
addyosmani
316
22k
Web Components: a chance to create the future
zenorocha
303
40k
A Tale of Four Properties
chriscoyier
149
20k
Transcript
実践的なAWSセキュリティのインシデントレス ポンス環境を作ってみた! Security-JAWS 2020/11/24
今回お届けする内容 • セキュリティ・キャンプという次代を担う情報セキュリティ人材を 発掘・育成する事業で、AWS環境におけるインシデントレスポ ンスをテーマとした講義を行ってみました! • 今回は講義の内容・講義のために作成した演習環境・作成に 当たって苦労した裏話などについてお話しようかと思います。
洲崎俊 洲崎 俊(Shun Suzaki) 三井物産セキュアディレクション株式会社に所属 ペネトレーションテストなどを中心としたセキュリティサービス提供に 従事する、とあるセキュリティエンジニア 公開スライド:http://www.slideshare.net/zaki4649/ Blog:http://tigerszk.hatenablog.com/ 著書(翻訳):詳解HTTP/2
Twitter:とある診断員@tigerszk • ISOG-J WG1 • Burp Suite Japan User Group • OWASP JAPAN Promotion Team • #ssmjp • MINI Hardening Project I‘M A CERTAIN PENTESTER!
臼田佳祐 クラスメソッド株式会社 ・AWS事業本部 ソリューションアーキテクト セキュリティチームリーダー ・Security-JAWS運営 ・好きなサービス: AWS WAFマネージドルール https://dev.classmethod.jp/author/usuda-keisuke/
角田朱生 角田 朱生(つのだ あかき) セキュリティ・キャンプ2012 Webセキュリティクラス卒業。脆弱性診断や 不正利用対策などの業務を経て、現在はモバイル決済サービスのセ キュリティアセスメントに従事。 Twitter: @akakitsunoda
Blog: https://akaki.io/
目次 1. セキュリティ・キャンプとは 2. 講義概要 3. 講義をやってみた感想
1.セキュリティ・キャンプとは
セキュリティ・キャンプとは? 学生に対して情報セキュリティに関する高度な技術教育を実施し、次 代を担う情報セキュリティ人材を発掘・育成する事業 • 独立行政法人情報処理推進機構(IPA)と一般社団法人セキュリティ・キャンプ 協議会が主催 • 2004年に開始され、現在は全国大会を首都圏で毎年1回、2013年に開始され た地方大会を毎年各地で10回程度開催 •
22歳以下の学生から応募選考 • 毎年80人程度、2019年度まで計824名を輩出
今年の全国大会で講義をしました セキュリティ・キャンプ全国大会2020 オンライン 10/18~12/6の毎週末にオンライン開催 https://www.ipa.go.jp/jinzai/camp/2020/zenkoku2020_index.html 講義名: 「なぜWebサイトは乗っ取られたのか?AWS環境における実践 的なインシデントレスポンス」
2.講義概要
どんな講義? 講義受講者に、攻撃者によって侵害されたAWS環境を実際に手 を動かして解析してもらい、AWS環境におけるインシデントレスポ ンスを経験してもらうというもの 演習用の侵害されたAWS環境 受講者 講師 演習用環境を設計・構築 事前に攻撃を実施 侵害されたAWS環境を解析
AWS Cloud
メンバーの主な役割 AWS環境の設計&構築:臼田 サービスアプリケーションの構築:角田 攻撃シナリオ作成&攻撃:洲崎
講義のシナリオ ある日とあるWebサービスを提供している会社のCTOからAWS環境が侵害 されてしまったとの連絡があなたの元に届きます。 「AWSからAbuseレポートが届き、調査した結果、自社のAWS環境上でコイ ンマイナーが動作していることを発見した。急いでコインマイナーは停止し、 とりあえず提供サービスを一時停止した。サービス再開のために、このAWS 環境の調査をきみにお願いしたい!」 スーパーインシデントハンドラーの君に課せられた任務は、このAWS環境で 一体何が起きたのかを解明することだ!
ある会社が提供するアプリケーション セキュアなつぶやき型SNS「Secutter」 主な機能 • ログイン • プロフィール変更 • つぶやき投稿 •
いいね Nginx+PHP+Mysqlで構成
サービスを提供するAWS環境
インシデント発生後の初動対応 • マインニングされていた不正なEC2は即時停止 • Secutterサービスも侵害されている可能性があるため、サービス公開を 停止 • 環境保全のためSecutterアプリケーションが動作していたEC2のAMI バックアップを取得 •
調査用のEC2を作成し、復元した調査対象のEBSをマウント • 調査対象期間のWebサーバーのログ/AWSログをS3バケットに複製 • Athenaでログを解析できるよう準備
初動対応後の環境
解析を通じて以下をまとめてもらう • インシデントによる影響(Secutterサービスは影響を受けてい るのか?) • 不正なEC2が動作していた原因 • サービス再開のための対策案の提案
講義はこんな感じで行いました • 講義の流れ(講義時間:4時間) 1. 座学(AWSセキュリティの基礎・課題概要・ログ解析のポイントなど) 2. 解析TIME 3. インシデントの内容解説 ※解析を行うに当たって必要と思われるAWSに関する基礎知識やAWSセキュリティなどは講義事前
に事前課題としてあらかじめ受講者に学習してもらっていました。 • Slack上で受講者をサポート • AWS環境自体は、自分のペースで好きな時に学習できる ように、開催期間中は開放
3.講義をやってみた感想
頑張ったところ: リアルな環境にこだわった • クラウドならではのインシデン トレスポンスを提供できた ◦ AWSのログとサーバ/OSのログ のハイブリット調査 ◦ ログ分析もfluentdで出して
athenaでやった ◦ GuardDutyやDetectiveを駆使
頑張ったところ: リアルな環境にこだわった • 実際にありそうな環境で実際 にやるオペレーションを想定 ◦ クラウドらしい攻撃を再現
頑張ったところ: リアルな環境にこだわった • 実際にありそうな環境 で実際にやるオペレー ションを想定 ◦ EC2のスナップショットを 使って環境保全 +
調査
こだわったところ • リアルなAWS環境でのインシデントレスポンスを体験 してより現場で役に立つ経験を積んでもらうことを意 識した • でもAWSの知識はどんどん陳腐化していくのでもう一 つ大事なことを盛り込んだ
その時役立つ技術もそうだけど 調査の考え方や勘所が大事
こだわったところ • 以下のようなインシデントレスポンス全般で役に立つ 内容もフォロー ◦ 調査の方針設計 ◦ ログの辿り方 ◦ 報告書の作り方(おまけ)
• AWSに限らず役に立つ経験になることを意識
知見の共有 • GuardDuty/Detectiveを体験するコンテンツは作るの は大変 ◦ 保持期間が90日(約3ヶ月) ◦ 検知させるのが大変 ◦ IAMのイベントは最近全リージョンに出るから火消しが大
変
知見の共有 • 思ったとおりにログを作るのが大変 ◦ リテイクしまくる ◦ なるべくオペレーションを自動化して対応 • ABACでアクセス制御するといい感じにEC2使える (Session
Managerでも良かったけど) AWS の ABAC とは - AWS Identity and Access Management https://docs.aws.amazon.com/ja_jp/IAM/lates t/UserGuide/introduction_attribute-based-acce ss-control.html
知見の共有 • 痕跡を残しつつ悪さされないようにするのが難しい ◦ アクセスキーにpermission boundary設定して守った(わかりづ らくていい) • 学生向けにやるとクレカないとかEducateとか大変 ◦
自己学習してもらうならqwiklabsとか使ってもらう • ログ公開や体感してもらう仕組みを作るのは大変 ◦ いい解決策を知っている人がいたら教えてほしい