クラウドセキュリティの基本 第2回:予防とセキュアな設計
2022年10月13日
0 分で読めます前回のブログ記事「クラウドセキュリティの5つの基本」では、環境を把握することの重要性について解説しました。クラウド環境に存在する可能性のあるセキュリティリスクを明確に理解するには、チームがクラウド環境の包括的なインベントリを作成する必要があります。
それを踏まえて、脆弱性の予防とセキュアな設計を組み合わせ、脅威アクターが組織のクラウドコントロールプレーンに実質的なアクセスを得るのを防ぐことの重要性を見ていきましょう。この考え方は、効果的なクラウドセキュリティの基本です。クラウドネイティブアーキテクチャには、アプリケーションとインフラストラクチャの間に明確な境界がないためです。
つまり、コントロールプレーンの侵害を未然に防ぐために、適切な対策を講じることが不可欠です。セキュリティ上の問題や設計上の問題を後から修正するのは、1)時間とリソースがかかり、2)重大な侵害につながりかねない大きなリスクを伴うため、本質的に危険です。こうした攻撃は数分で発生する可能性があり、進行中の攻撃を特定して阻止するという戦略は現実的ではありません。
この記事では、次の内容を取り上げます。
予防とセキュアな設計が不可欠で、互いに密接に関係する理由
組織がより安全なクラウド環境を設計する方法
設定ミスによる脆弱性の予防とセキュアな設計のベストプラクティス
予防とセキュアな設計が不可欠なのはなぜ?
よく知られたクラウドセキュリティ侵害に関する見出しは、重大なセキュリティインシデントが単一の脆弱性や設定ミスによって引き起こされるかのような印象を与えることがあります。設定ミスを特定して修正するといった予防策は、重要な対策のひとつです。もうひとつの重要な要素は、見落とされがちな、攻撃者にクラウド環境の管理およびオーケストレーション制御を握らせないシステムアーキテクチャを設計することです。
組織はリソースの設定ミスを防ぐために適切な対策を講じるとともに、攻撃者がコントロールプレーンに実質的なアクセスを得られないよう、クラウド環境を設計する必要があります。セキュアな設計がなければ、悪意のある攻撃者はシステム内を横方向に移動し、価値あるデータを見つけて持ち出すことができます。セキュリティインシデントの影響を軽減するだけでなく、セキュアな設計は、開発者がソフトウェア開発ライフサイクル(SDLC)の早い段階でガードレールを実装できるようにし、セキュリティチームの負担を軽減します。
悪意のある攻撃者が環境内を横方向に移動できると、検知を回避しやすくなり、潜伏期間が長引くほか、機密情報や価値の高い資産を盗まれる可能性も高まります。これは近年、深刻な問題となっています。SophosのActive Adversary Playbook 2022によると、侵入者の潜伏期間の中央値は2021年に15日となり、2020年の11日から36%も増加しました。
だからこそ、安全なクラウドインフラストラクチャを事前に設計するための取り組みは、後々大きな効果をもたらします。予防策とセキュアな設計を組み合わせれば、避けられないセキュリティインシデントが重大なニュースになるような侵害に発展するのを防げるだけでなく、安全でないデプロイを修正するためにチームが苦労してアプリケーションを作り直す必要もなくなります。
組織がセキュアなクラウドネイティブ環境を設計するには?
セキュアなクラウドネイティブアーキテクチャを設計するうえでの基本方針は、セキュリティ侵害は避けられず、完全に防ぐことはできないと常に想定して運用することです。それでも、環境へのアクセスに悪用される可能性のある設定ミスを防ぐため、常に警戒を怠らないようにしましょう。
業界のベストプラクティスやコンプライアンスフレームワークに照らしたInfrastructure as Code(IaC)のチェックは、テンプレートがセキュアな設計ガイドラインに準拠していることを確認する有効な方法です。セキュリティ上重要な問題がある場合にビルドや更新を自動的に失敗させる開発時のガードレールも、環境への脆弱性の混入を防ぐために推奨される手段です。
脆弱性の予防とセキュアな設計のベストプラクティス
セキュアなクラウド環境を設計し、設定ミスのある状態でデプロイされるのを防ぐには、次の対策を講じましょう。
リソース間の関係を徹底的に可視化する
IDとアクセス管理(IAM)の可視性を高める
CI/CDパイプラインとIaCにセキュリティガードレールを組み込む
チームのクラウドセキュリティアーキテクトとしてのスキルを高める
リソース間の関係を徹底的に可視化する
SDLCでセキュアな設計を優先するには、環境をマッピングし、設計、IaC、稼働環境に潜むより深刻なリスクを特定しましょう。論理、ネットワーク、ポリシーに関する関係性を結び付けて把握することが重要です。重大なクラウドセキュリティ侵害はすべて、異なるリソースにまたがる複雑な設定ミスを悪用したコントロールプレーンの侵害を伴うからです。
クラウドの設定状態をクエリ可能な形式で維持すれば、複雑なリスクを理解しやすくなります。また、設定、リソース間の関係、セキュリティ上の脆弱性など、クラウド環境で稼働しているリソースについて、チーム間で共通認識を築くこともできます。
IDとアクセス管理(IAM)の可視性を高める
多くのチームは、環境内のIAMレイヤーや、他のリソースに悪影響を及ぼす可能性のある設定ミスを十分に把握できていません。そのため、侵入が発生した場合の影響範囲を正確に見積もったり、既存のリスクを最小化するために必要な変更を理解したりできません。
カスタムIaCルールを活用すれば、IAMロールのリソースが適切に設定されていることを確認できます。たとえば、既存または今後作成されるすべてのIAMロールリソースに、所有者、説明、タイプのタグが付いていることを確認するルールを作成できます。同じルールを使って、タグの追加を忘れたアプリ開発者に通知することもできます。
CI/CDパイプラインとIaCにセキュリティガードレールを組み込む
デプロイ前の設定ミスを防ぐために、他の自動チェックをCI/CDパイプラインに組み込むこともできます。こうしたガードレールは、潜在的な問題がないか環境を継続的に監視するうえでも役立ちます。また、脆弱性が検出されたときに本番システムを以前の状態に戻す、自動ロールバックなどの機能と組み合わせることもできます。これにより、セキュリティインシデントの影響範囲を最小限に抑えられます。
チームのクラウドセキュリティアーキテクトとしてのスキルを高める
脆弱性の予防とセキュアな設計を実現するためにプロセスやテクノロジーを改善するだけでなく、人材のスキル向上も検討しましょう。エンジニアリングチームのメンバーにとって、クラウドセキュリティアーキテクトとしてのスキルを磨くことは大きな価値があります。人気の高いトレーニングや認定資格には、次のようなものがあります。
クラウドセキュリティの5つの基本について詳しく見る
クラウド侵害はすべて、何らかの脆弱性の悪用を伴います。しかし、最初の侵入が起きても、脅威アクターが狙う機密データにすぐアクセスできるわけではありません。つまり、設定ミスやその他の脆弱性は、目的を達成するための手段にすぎません。だからこそ、予防とセキュアな設計に同時に取り組むことが重要です。攻撃者がコントロールプレーンや、最も価値の高い機密データに実質的なアクセスを得るのを防ぎましょう。
クラウドセキュリティの基盤を築く準備はできていますか?
詳しくは、クラウドセキュリティの5つの基本に関するホワイトペーパーをダウンロードしてください。


