Got Some \W+ech?

Could be Japanese. Could be English. Android, セキュリティ, 機械学習などをメインに、たまにポエムったり雑感記載したりします。

July Tech FestaでAWS GuardDutyの話してきた

本日(2018/07/29)、July Tech Festa 2018で「GuardDutyを使ったサイバー攻撃の検出と分析」の話をしてきた。 とりあえず、今年はじめにかんがえていたインフラ関係でアウトプットを出す約束を守れてよかったとおもう、ふいー。 なお、buildersconは落ちた模様...

GuardDutyを使ったサイバー攻撃の検出と分析.pdf - Speaker Deck

今北産業

だいたい以下について話た。

  • AWSでなぜGuardDutyを使うのか
  • 実際のところのGuardDuty
  • 今後、どのように発展させていきたいのか

AWSでなぜGuardDutyを使うのか

  • AWS(というよりIaaS)の世界観だから発現したリソースには、それに応じる脅威がある
  • よって、従来の検知メカニズムに追加対応をする必要がある
  • 要は優先度とリソースの話であり、それを考えると(まだEC2とIAMにしか対応してないといえど)検知の要件からダッシュボード、そして他リソース(LambdaとかLambdaとかLambdaとか)との連携を容易にできるAWS GuardDutyはなかなか良いソリューションになりうる

実際のところのGuardDuty

まあセオリーはセオリーなので、じゃあ実際使ってどうなのか?という話をした。

  • じっさいやすい!(ニンジャスレイヤー風) -> 従来の外部SOCサービスを完全に置き換えた
       * Q&Aのときに検知漏れはないか?ときかれたときに、「そもそも要件がなかったから問題ない」とかいう頓珍漢な回答をしてしまった。
       * ちゃんとGuardDutyテスト攻撃スイート↓があり、そこでテストをすることで検知漏れがないことを確認した、という回答にすればよかった。なお、ちゃんとCloud Formationが動かなかったのでissueをたてたものの一ヶ月弱放置されている模様。
    

github.com

     * まあ、どっちにしろ社内Pentestのとき外部SOCサービスはかすりもしなかったので問題ない。
  • SOCの天敵である誤検知もほぼない -> あったらフィルター作って自動Archiveすればいい。
  • インシデントレスポンスをコード化可能 -> はいはいLambda。とりあえずやったのは以下。基本的にはAPI叩いてるだけです。必要なのは適切なフローを確立させておくこと。あとはただの実装(とデプロイと運用とIAMの設定とその他hogehoge)
      1.  JIRAにインシデントチケット作成
      2. 重要度に応じたSlack通知
      3. Pager Duty連携 <- 正直最近はJIRAと役割がかぶって2重管理になってるなぁと思っている。どちらかによせたい。
      4. 自動的にスナップショットとって、フォレンジック用インスタンスを隔離VPCにたてるところまで書いた。尚、社内ではまだ調整中の模様。
    

今後のGuardDuty

要はとりあえずGuardDutyオンにしておきなよ、影響はないし、という話だが、まだ成長段階。 大きく分けて当社の実装とAWSへの要望になる。

当社の実装

  • インテリジェンスデータを食わせたい
  • JIRAとPagerDutyの役割をはっきりさせたい
  • 全体的にもっと綺麗にしたい <- 今、Goでかいたのをzipにしてuploadする作業を手動でやってるので...
  • Lambdaの構成を考えたい <- モノリシックなLambdaにするか、Pipeでつなげるようにするか。あとエラー処理
  • 実際に攻撃スクリプトを作成
  • https://github.com/awslabs/amazon-guardduty-tester でissueに対する反応がなければ、おれがterraformとgoスクリプトで作りはじめる。

AWSへの要望

  • https://github.com/awslabs/amazon-guardduty-tester <- 頼む!反応してくれ!
  • S3やRDSも頼む(Macieか?)
  • IPブラックリストホワイトリストやめない?ゼロトラストでいかないか
  • 端末情報連携したいなーJamfとかJamfとかADとか。これも基本ゼロトラスト対応のため
  • CloudTrailの移動とかRegionまたぎが地味にめんどいで、マスターアカウントにそれらの情報も集約したい
  • たのむ!各FInding TypeとActionごとのJSONスキーマ例をちゃんと出して...Lambdaのエラーでしか気づけない...
  • 特定の送信元IP/宛先ポートへのDeny通信急増は検知したい。今はGuardDutyの仕様として、6時間毎に結果をまとめられて送るのでわからん。

といったような話をしてきました。

反省

ポジ

  • 自己紹介ページを削ってよかった。あれで30秒、本当に話したいことを増やせた
  • コードの記載はしたけど、あえて読み飛ばした。後ろの人は絶対みえないよね
  • 検知内容の詳細の解説も削ってよかった
  • 時間ぴったしに終わる能力が向上してきた。

ネガ

  • もうちょっとしゃべる練習すればよかった。いったりきたりする説明が多かった気がする
  • 今後のGuardDutyでは文字に頼りすぎた。もうちょっとビジュアルを挟むべきだった
  • 普通に当社の求人出し忘れた

今後はGuardDutyでやりたいことを増やしつつ、もうちょっとCloud NativeやOAuth/OIDC/FIDOなことをやっていくつもり。