クラウド環境への侵入を考える攻撃者が目をつけるポイントは?
攻撃者の目線に立って、オフィスの入り口をうろうろするといった物理的な侵入も含めて制限なしの攻撃を行い、顧客の実際の環境でどのくらいセキュリティが担保されているかを確認する「レッドチーム演習」を提供しているSecureWorks Japan。同社の山崎景太さんによると、AWS環境もその対象に含まれるケースが増えてきたという。
山崎さんによると、Webアプリケーションの脆弱性やOS、ミドルウェアの脆弱性、アクセス制御の不備といった基本的な対策を実施するのは基本中の基本だし、こうした部分を付いての攻撃はいまだに後を絶たない。ただ「だからといって、脆弱性診断や管理をはじめとする対策が徹底されていればインシデントは起きないのかと言うと、そんなことはない」という。
では、AWSも含む環境でどこに目をつけるのかーー攻撃者の視点に立って考えてみると、「AWSなので物理侵入はできません。けれど実際にAWSを運用しているのは、社内のオンプレミス環境や外部の委託先で、リモートオフィスや自宅PCから業務を行う場合もあります。脆弱性対策がされているシステムをわざわざ狙わなくても、こうした端末を乗っ取れば、正規のアクセスルートを使ってSSHなどでサーバにアクセスできてしまいます」(山崎さん)というわけだ。
多くの企業では、インターネットからのアクセスはファイアウォールなどで制御していても、内部の正規端末からの接続は制限されていないことが多い。またアクセスに必要な認証情報も、Webブラウザに記憶させていたり、メモリ上に残されたものを取ってきたり、あるいはマルウェアを用いてMITM攻撃やスクリーンショット取得を行ったりと、窃取する手法は多数あるという。
「メールにパスワード情報が書いてあれば抜かれると考えていいでしょう。チャットや社内開発用gitに上がっているソースコード内に書いてあるパスワードも抜いていきます」(山崎さん)。ひとたび内部の端末を乗っ取れば、あとは内部でアクセス権を取得しては侵害範囲を拡大していき、最終的なターゲットに到達できるという。
さらに同氏は、ソーシャルエンジニアリングでパスワードを関係者に直接尋ねてしまうといったいくつかの「ケーススタディ」を紹介した。その中には、管理コンソールへのログインにMFAを設定していたからといって、決して安心できないケースも含まれている。
「通常のルートユーザーやIAMユーザーでは、コンソールのセッションタイムアウトは12時間になっています。一度ログインした後だと、タブを閉じても、Webブラウザを落としても、PCをシャットダウンしても、12時間のうちなら認証情報なしでログインできてしまいます。なので、正規のユーザーがMFAを使って管理コンソールにアクセスした後に外出したりすると、その間に盗んだWindowsパスワードを使ってRDPでアクセスすれば、コンソールセッションが乗っ取られてしまいます」(山崎さん)。つまり、使った後は確実に「ログアウト」することが重要だという。
このように、クラウドのセキュリティを考えるときには、インターネットからの直接的な攻撃への対策だけでなく、内部からの攻撃に対する堅牢性にも目を向けるべきだと山崎さんは述べ、攻撃者の立場になって「社内ネットワーク経由でバイパスできる可能性はないか」を確認することが重要だとした。
ただ、残念ながらそれでもインシデントは起こり得る。「インシデントを防ぐという考え方もあるが、攻撃を遅延させ、目的達成までの時間を延長させるという考え方もあります。そうして攻撃者が手間取っている間にインシデントレスポンスのプロセスを回すことが重要です」と山崎さん。インシデント対応体制の構築が、オンプレミス環境も含めたセキュリティ対策に役立つとした。
また、インシデントが起こった後の原因調査ではログやデータの保全が重要になる。「AWS EC2に限っては、データの保全や調査対象データの取得は、オンプレミスよりも簡単なくらいです。ボリュームスナップショットを取って、解析を行う部署や業者のAWSのアカウントと共有するだけで解析が開始できます」という。一方でログについては、今回の勉強会で紹介された方法を参考にしつつ「誰が、どこから、いつ、何をしたのかが分かるよう、ログの取得設定が適切にされているかをあらためて確認を」と呼び掛けた。
「アラート多すぎ問題」への対策や自動運転社会を見据えたハッカソンの成果も
WAF製品を提供しているImperva Japanの岩下洋司さんは、AWS WAFにレピュテーション情報を提供するといった形で対策を支援するだけでなく、多くのセキュリティ担当者の頭を悩ませている「セキュリティ装置のアラートが何かと多すぎる問題」の解決に向け、AIや機械学習を活用した新たなソリューションの開発を進めていることを説明した。
「一次切り分けは自動化してアナリストの力を借りずに行い、本当に必要なアラートのみをユーザーが受け取れるようにしたいと考えています。そうして、本当にヤバいものを優先付けて対処できるようにしたい」(岩下さん)
そこでImpervaでは、イベントデータを解析して得られた「法則」「特徴」をアルゴリズム化し、数万単位のアラートを1つ1つ見るのではなく、攻撃の一連の流れをまとめ、シナリオ立てて提示する仕組みを開発中だ。実際に同社SOCで収集した情報に適用してみたところ、5万ものイベント情報を18件のシナリオに絞ることができたという。
Impervaはさらに、さまざまなソースからログを収集すると同時に情報漏洩対策の技術も活用して、流出・漏洩につながる可能性のあるアクティビティを探し出す、内部不正対策のソリューションも開発中だ。こちらの実現はもう少し先の話になるというが、やはりAI/MLを活用し、可視化・レポートやフォレンジックも含めて実現していくという。
また最後のセッション「自動車監視のためのクラウドソリューション(仮)」では、1年かけてセキュリティとモノ作りを掛け合わせたハッカソンに取り組む「SecHack365」の成果の1つが紹介された。電気通信大学の手柴瑞基さんら4人は、自動運転社会を見据え、MLの教師データとして優秀なドライバーの運転情報を収集したり、自動車やそれに対するサイバー攻撃の情報を可視化し、異常を検知する仕組みをAWSを組み合わせて開発したという。
このプロジェクトでは、Raspberry Piで車の情報を収集する車載システムを構築し、CAN通信から自動車のさまざまな情報を収集してSORACOM経由でAWSにアップロード。そこでKinesis StreamやElasticsearch、AWS Lambdaを活用して、速度やエンジン回転数、ハンドル舵角などさまざまな車の状態をKibanaを用いて可視化した。さらに「簡単な攻撃検知のロジックを組み込み、CANの使用帯域の異常値を検知して攻撃と判断するとスマートフォンやSNSにアラートを送る仕組みも作成しました」(手柴さん)。一般ユーザー向けに、Unityを用いた可視化にも取り組んだそうだ。
今回作成したのはまだプロトタイプで、認証の仕組みの欠如やスケールアウト対応などいろいろと技術的な課題も見えてきた。特に、収集した運転情報をTensorFlowを用いて評価したり、検知した異常をGoogle Homeを介して運転手に警告するといった仕組みにはぜひ時間があれば取り組んでみたいという。