【レポート】AWS によるセキュリティ・オートメーションの実践 #AWSSummit
こんにちは、佐伯です。
2018年5月30日(水)〜2018年6月1日(金)の3日間にわたり、 品川にて開催されているAWS Summit Tokyo 2018に参加しています。今回は「AWS によるセキュリティ・オートメーションの実践」を聴講しましたのでレポートします。
AWS によるセキュリティ・オートメーションの実践
概要
セキュリティの世界では、クラウド技術の台頭によって、今までとは異なる新しい考え方が生まれています。全てのサービスが一貫性のある API を提供することによる高い可視性、クラウドの可用性に裏打ちされた自動拡張するセキュリティ (Security at Scale)、インフラ環境をコード化して再現可能にしたプログラマブルな IT、これらのクラウド技術の特長を合わせた実践例がセキュリティ・オートメーションです。クラウド技術によってもたらされる新しいセキュリティの在り方 を体感してください。AWS セキュリティを用いたオートメーションの最新例を解説します。
レポート
本セッションのポイント
- クラウド時代に必要なオートメーション
- セキュリティ・オートメションのパターン
- オートメーションによるセキュリティ対策のユースケース
クラウド時代に必要なオートメーション
従来はセキュリティポリシーやルールへの準拠が主眼となり、スプレッドシート、ポリシー文書やチェックリスト作成などの作業が多かったが、オートメーションによって大きな労力(Heavy Lifting)な作業が削減できる。
自動化しなければならない更に重要な理由
クラウド時代ではセキュリティ自動化が不可欠になる
- 拡張性
- セキュリティの自動追従
- コスト
- セキュリティも自動化させ、労力・時間を削減
- 信頼性
- 品質の担保、人為的ミスの排除
セキュリティ・オートメションのパターン
- 自動化の最小パターン
- 入力(トリガー)→評価(チェック)→実行(アクション)
セキュリティにおいて自動化したいこと
- 入力(トリガー)
- メトリクスベース(しきい値、異常検知)
- イベントベース(任意、定期)
- ルールベース(例:組織のルールにマッチした際にトリガーを発行するなど)
- 評価(チェック)
- 取得
- 解析
- 比較
- 演算
- 実行(アクション)
- 通知(レポート)
- 確認(スキャン、棚卸し)
- 修正(パッチ適用)
- 対応(隔離、タグ付け)
- 分析(ログ解析)
実現するAWSサービス
- 多種多様なサービスがAWSには存在しており、色々な組み合わせが存在する。
- セキュリティオートメーションを実現するにあたって、ハードウェアやOSが不要なAWS Lambdaが非常に重要になる。
オートメーションによるセキュリティ対策のユースケース
セキュリティリスク要因
- リスクベースアプローチで考える起点
- 驚異
- 標的型攻撃
- マルウェア
- サイバー攻撃
- 脆弱性
- セキュリティホール
- 設定椅子
- 心理的要素
- 情報資産
- 機密情報
- 個人情報
- 知的財産
9つの自動化のユースケース
驚異にまつわるセキュリティオートメーション
- DDoS攻撃
- 不正通信
アプリ層へのDDoS攻撃を緩和
ログ解析からAWS WAFルールを自動適用
- Application Load Balancer、CloudFront→S3へアクセスログを格納
- S3にファイルがPUTされたイベントからLambdaを起動
- AWS Lambdaで閾値を超えたエラー数に紐づくIPアドレスを特定、IPアドレスをもとにAWS WAFにブロックルールを適用
疑わしいIPアドレスからの不正通信
IPブラックリストの自動更新とAWS WAFルールへの反映
- CloudWatch EventでAWS Lambdaを定期実行
- AWS LambdaでSpamhausなどのDROPリストなどを取得、AWS WAFにブロックルールを適用
悪意のあるボットからの防御
ハニーポットに誘導されたアクセスを解析
- ハニーポットを作成し、リクエストをAPI Gatewayで受ける
- AWS Lambdaでアクセスを解析し、ソースIPを取得
- IPアドレスをもとにAWS WAFにブロックルールを適用
悪意のある不正なスキャンを検知
重要度に基づき管理者に通知
- 複数のAWSアカウントを保有している場合、マスターアカウントでGuardDutyを有効にする
- GuardDutyでポートスキャンを検知
- AWS Lambdaで検知結果を解析、重要度低の結果のため通知のみするなど
EC2インスタンスの端末感染検知
感染端末の初期対応と封じ込め
- GuardDutyでC&Cサーバーとの通信を検知
- AWS Lambdaで検知結果からインスタンスIDを取得、AWS Systems Manager Run Commandを実行
- AWS Systems Manager Run commandで3rd PartyのアンチマルウェアAPIなどを呼び出し、マルウェアのスキャンや駆除を実行する
感染被害拡大の抑止
- GuardDutyでC&CサーバーのIPアドレスを取得
- AWS LambdaでブロックするIPアドレスを作成し、AWS WAFにブロックルールを適用
不正ユーザーによるなりすまし
事後分析(レトロスペクティブ分析)の開始
- GuardDutyで不正なAPI呼び出しを検知
- CloudWatch EventでStep Functionsを実行
- AWS Step FunctionsでAWS Lambdaのワークフローを定義
- Amazon SNS: 管理者への通知
- IAM: 該当ユーザー権限制限
- CloudTrail: 過去の操作ログ分析
脆弱性にまつわるセキュリティオートメーション
セキュリティポリシー準拠の確認
許可されていないライブラリの検知
- AWS Systems Manager InventoryをAWS Config Rulesで監視
- Amazon SNSで管理者へメール通知
脆弱性対策
診断からパッチ適用まで自動化
- InspectorからAmazon SNSへPublish
- Amazon SNSからSystems Manager Run commandを実行し、インスタンスにパッチ適用
情報漏えい防止
データ重要度にもとづいたポリシー実行
- Amazon MacieでS3バケットを監視、機密情報の検出
- CloudWatch EventでAWS Lambdaを実行
- AWS Lambdaでバケットポリシーの設定確認やバケットポリシー設定変更(Write権限削除、Read権限制限など)やサーバーサイド暗号化などを実行
対応完了までの時間比較
オンプレミスは対応完了まで非常に時間がかかっていたが、オートメーション化すると圧倒的に対応完了までの時間が短くなる。
- オンプレミス
- ログ取得、分析、関連付け、根本原因追跡、構成準備、修正
- AWS
- イベント発火、ルール評価、アラート通知、関連付け、ベースライン検証、修正
感想
多種多様なサービスを組み合わせることで色々なセキュリティオートメーションを実現できますね!いろんなとこで活躍してるAWS Lambdaは大好きなサービスです!