Blueprint | クラウドアプリケーション セキュリティのブループリント
クラウドアプリケーションとAPIを保護するためのベストプラクティスを紹介します。脅威防止、Webアプリケーション保護、APIセキュリティ、可視性の向上により、cyber security を強化しクラウド環境のリスクを低減します。

クラウドアプリケーション セキュリティのブループリント: アーキテクチャとソリューション
SECURE YOUR EVERYTHING
コンテキスト認識型AIによる分析を活用して アプリケーションセキュリティを自動化
2クラウドアプリケーションセキュリティのブループリント
はじめに アプリケーション開発は、クラウドベースの環境の急速な採用によって変貌を遂 げ、発展を続けています。Webアプリケーションとは、その名が示すようにユーザ がWebブラウザ経由でアクセスできるプログラムのことです。これは企業がWeb に存在する上で、非常に大切なものとなっています。Web上で、企業は多くの 場合自社のWebアプリケーションや、アプリケーションの基盤となるサービスにプ ログラムからアクセスすることを可能にする、アプリケーションプログラミングインター フェイス(API)を採用しています。
予想の通り、こうしたWebアプリケーション、Web APIは、サイバー犯罪者の格 好の標的となっています。進化する脅威は、こうしたアプリケーションの構築に 必要となるクラウドサービスの採用によって、その危険度を増しています。クラウ ドWebアプリケーションとAPIの保護(WAAP)サービスは、このような新しい 課題に対処するために、クラウドWebアプリケーションファイアウォールサービスが 進化したものです。
従来のソリューションはルールベース、すなわちすべてのリクエストを別個に分析 し、手動で設定されたルールと照合するものでした。このアプローチでは、スピー ドアップしたアプリケーション開発において問題が生じました。開発者をクラウド ベースのWebアプリケーションシステムに引き寄せたのと全く同じ理由により、攻 撃対象領域も拡大したのです。アプリケーションはこれまでにない速度で進化 しており、より多くのAPIが作成、公開されています。
3クラウドアプリケーションセキュリティのブループリント
クラウドにより、ルールベースのWAFが機能不全に陥る 複雑さを増すアプリケーションを保護するためには、白黒を判断するルールベースのWAFでは以下の理由により、不十分です。
1. クラウドベースのWebアプリケーションは多くの場合、オープンソースリポジトリを含む、複数の出所からのコードを 利用しています。1つのアプリケーションは、独自性の高い単一目的の小さなコードの断片から構築されています が、その数は膨大です。そのため、脆弱性の数も増加する場合があります。オープンソースの場合、広く知られた 脆弱性は容易に悪用される攻撃経路となりかねません。
2.変化のスピードは、以前よりもはるかに速くなっています。現代のクラウドアプリケーションは、1回クリックするだけで 本番環境を構築できます。Githubへのコミットは自動的にテストおよびステージングされ、人の手をほとんど介す ることなく本番環境に展開されます。手動による調整を必要とするアプリケーションセキュリティソリューションでは、 開発のスピードに全くついていくことができません。
3.アプリケーションはますますオープン化し、つながりを持つようになっています。現代のクラウドアプリでは、非常に多 くのリソースが「境界」の外側にあるサードパーティのサービスとやり取りを行っています。アプリケーションが外部との 間でデータを送受信する方法は、以前よりも格段に増加しました。実際のところ、セキュリティを確保する必要が ある境界は数百に及んでいるのです。
4.常に攻撃はその巧妙さを常に増しています。攻撃経路としてのボットやAPIの使用に加え、クラウドでの権限昇 格という大きな問題もあります。アプリケーションに侵入した攻撃者は、他のアプリケーションやリソースのAPIキーを 探します。ロールベースの権限が正しく設定されていないために、リモートコード実行でクラウドでさらに大きな被害 がもたらされる可能性があります。
白か黒かを判断するルールベースのWAFよりも優れた代替品となるのは、ルールの調整を必要とせず、自動化されたデ プロイメント機能を備えたソリューションです。アプリケーションによる自己防御の考え方を採用し、特許出願中のコンテ キスト認識型AIエンジンを搭載したCloudGuard AppSecは、その革新的なテクノロジーによって以下を可能にします。
• デプロイメントを自動化するとともに、手動での調整や誤検出なしでOWASP Top 10をはじめとするアプリケー ション層への攻撃を阻止します。
• アプリケーションの動作を妨げたり、ユーザにフラストレーションを与えたりすることなく、APIへの不正なアクセスや APIの乱用を防止します。
• 悪意のあるボットがカスタマーエクスペリエンスに悪影響を与える前に、ボットを特定して攻撃を防ぎます。
• HTTPベースのCVEと既知の脆弱性悪用を捕捉します。
4クラウドアプリケーションセキュリティのブループリント
コンテキストスコアベースの判定エンジン 機械学習により誤検出を防ぐ CloudGuard AppSecは、複数のパラメータを精査して1つの正確なリスクスコアへとまとめることで、誤検出をなくしま す。最終的なリスクスコアは、複数のエンジンからのインプットによって決定されます。
トランザクションのリスク
ユーザの振る舞いのリスク
集団の振る舞いのリスク
コンテンツのリスク
5クラウドアプリケーションセキュリティのブループリント
トランザクションのリスク—このエンジンはトランザクションまたはリクエストを受け取り、それを攻撃インジケータと 呼ばれる小さな要素に分割します。エンジンには、Web関連の攻撃を構成する最小の要素と、それらの関連性 についての辞書があらかじめ組み込まれています。該当するトランザクションの攻撃インジケータは、エンジンに取り 込まれます。その後、特許出願中の機械学習アルゴリズムを使用し、悪意のある攻撃かどうかが判定されます。 悪意のある攻撃であれば、即座にブロックされます。結果が不明確(多くはこれに該当します)の場合は、判 定のために別のエンジンが使用されます。
ユーザの振る舞いのリスク—このエンジンは、特定のユーザが行ったすべてのリクエストを分析し、そのうちどれが 過去に不正なものであったのかなかったのか、また、いくつの潜在的な攻撃インジケータが含まれていたのかを調 査します。要するに、過去のユーザリクエストにおける不正な行為を分析します。ユーザ別にリスクスコアが算出さ れ、悪意のある行動を取ったユーザはブロックされます。
集団の振る舞いのリスク—このエンジンは、すべてのユーザがサイトとどう対話しているかに基づいて、サイトをマッ ピングします。このサイトのプロファイルでは、異常だと見なされるかもしれない振る舞いが、どのような理由によって アプリの使用に特有の正常な振る舞いであると言えるのかが示されます。たとえば、ある特定のURLが多くの異な るユーザに対して疑わしいと警告されることが分かっている場合、このリクエストが具体的な攻撃である可能性は 低くなります。
信頼されたユーザ—このエンジンは、定義済みの信頼されたユーザから、許可済みのインプットのホワイトリストを 作成することにより、アプリケーションの学習を加速します。
コンテンツのリスク—このエンジンは、特定のアプリケーションの特定のフィールドにおける典型的なコンテンツにつ いて学習します。コンテンツ自体、特に「各フィールドに想定されるパターンはどのようなものか」を深く分析します。 たとえば、あるアプリケーションで想定されるフィールドが、コマンドの実行である場合があります。従来のWAFエン ジンでは、そうしたフィールドの値はリモートコード実行と見なされ、ブロックされます。このエンジンでは対照的に、 特定のフィールドと値の組み合わせが他の多くのユーザによって実行されている場合、そのパターンは正常である として許可されます。同じパラメータを要求した他のソースを確認して、他に何人のユーザが同じような値をリクエ ストしたのかをチェックすることにより、誤検出が排除されます。フィールドのパターンの理解は、上記のいずれかの エンジンから得ることができます。
Webアプリケーションは通常、顧客によって直接利用されるため、この種のコンテキスト分析が極めて重要となります。誤 検出が起きると、実際の顧客がサイトにアクセスできない事態になりかねません。複数のエンジンによるリスク分析を組み 合わせることにより、コンテキストを理解して判定の精度を高めることができます。その結果、セキュリティ管理者は正規の リクエストがブロックされる心配なく、安心して防御モードで運用できるようになります。
6クラウドアプリケーションセキュリティのブループリント
継続的な学習 自動調整 Webアプリケーションについてまず学習モードになります。学習データはエージェントおよびクラウドに保存されます。そのメ カニズムには分散型が採用されています。すなわち、独立して動作する複数のCPUが情報をメモリに保存し、1時間ごと にお互いに情報を同期します。分散化された各CPUで、上記のすべてのエンジンが実行されます。エンジンは、アプリケー ションの詳細(ソース、HTTPメソッド、HTTPリクエストの種類、HTTPリクエストの各キーと値のペア、それらの具体的な 所在地)について詳しく理解します。これらの情報がすべて解析され、エンジンに入力されます。
システムは学習/検知モードで開始します。システムはわずか数日で学習を完了し、ユーザは防御モードに切り替えること ができるようになります。
教師あり学習は、システムが機械学習をアシストして非常に高速な学習を可能にするモードです。このツールは基本的 に、管理者が学習時間を短縮して、速やかに防御モードに移行できるようにするものです。前の週のユーザログを確認 し、重要度が高または緊急である不正なアイテムとして判定されたイベントを特定することにより動作します。そしてイベン ト間の類似性を見つけて、特定のパターンでグループ化された状態でユーザに提示します。パターンの一例としては、ソー スのIPアドレスやメールアドレスといった、特定のソース識別子でグループ化する方法があります。ユーザに提示される際、 推奨される調整も合わせ提示されます。たとえば、「このソース識別子からのリクエストのうちの70%が、緊急とマークされ ました。正しく検出されたもの、すなわち攻撃に対しては不正とマークすると、ブロックされます。誤検出に対しては無害と マークすると、システムが不正とマークしたリクエストが多すぎることを指摘できます。」この方法により、あるリクエストが無 害であるという、機械学習がいずれは到達できたであろう結論をより早期に理解できるよう支援できます。ユーザは教師 あり学習によって、このプロセスを加速できます。
7クラウドアプリケーションセキュリティのブループリント
OpenAPIスキーマの検証 API攻撃の範囲を狭める コンテキスト認識型エンジンおよび学習に加えて、CloudGuard AppSecではAPIスキーマの検証も可能になります。 ユーザは通常JSONファイルの形式で、サーバのAPIの機能を記述したスキーマをアップロードできます。CloudGuard AppSecは、明らかに許可されていないAPIやフィールドを介し、誰かによるアプリケーションへの侵入防止により、このス キーマを確実に施行します。手順としては、スキーマ内のキーを探し、リクエスト内の値が許可されている値と一致するか 確認することにより行われます。以下に、そのようなJSONファイルの一例を示します。
ご覧のように、各フィールドのタイプは明示的に定義されています。例えば、“readingValue”フィールドは最小値が1で、 最大値が100,000の数値である必要があります。
クライアントがサーバに対してPOST 操作を実行するときに、リクエストが ボットによるものか人によるものかを明 確化する、スクリプトの判定結果も
送信されます。
8クラウドアプリケーションセキュリティのブループリント
ボット攻撃 —人か否かを見分ける ボットからの正規のトラフィックを検証する 悪意のあるボットは、分散型サービス不能攻撃から、最新のNikeスニーカーの短時間での買い占めまで、攻撃者によっ てあらゆる用途に用いられています。ボットを使用した自動攻撃は、攻撃者の間で日常的に用いられる手口となってい ます。攻撃者がボットを武器化する方法の例としては、以下のようなものがあります。
• 偵察 • スクレイピング • クレデンシャルスタッフィング • 自動アカウント作成 • トークンのクラッキング
CloudGuard AppSecでは、クライアント側の振る舞い分 析を利用して、人の挙動を見分けています。
クライアントがサーバに接続すると、クライアントはGET操作を 実行します。
クライアントはサーバからページを受 け取りますが、その中にはCheck
Pointが開発したJavascriptが含ま れており、クライアントのブラウザに埋
め込まれます。
このスクリプトが、クライアン トの振る舞い情報を収集
します。
9クラウドアプリケーションセキュリティのブループリント
まとめ アプリケーションは、あらゆる企業にとってビジネスを推進させる大きな原動力ですが、APIの普及によって攻撃対象領域 は急速に拡大しています。DevOpsによってアプリケーションはますます恒常的に更新されるようになり、従来のアプリケー ションセキュリティでは変化のスピードと規模に追従できません。現代のアプリケーションに求められるのは、誤検出を発生 させずに精度の高い保護を提供する、現代に見合ったセキュリティです。現代のクラウドアプリケーションには、Webリクエ ストがくるたびに毎回正しい判定を行うため、アプリケーションやコンテンツ、ユーザの振る舞いについて継続的に学習す る、また完全に自動化されたセキュリティ環境による保護が必要です。
CloudGuardは、コンテキスト認識型AIを活用したアプリケーションセキュリティを提供します。このAIは、リスクスコアを算 出するために、WebアプリケーションやAPIリクエストに関連するすべてのパラメータを調査します。悪意のあるリクエストと そうではないリクエストを自動的に識別することにより、CloudGuardは非常に高い精度での脅威防御を実現し、管理 上のオーバーヘッドを低減します。
今すぐCloudGuard AppSecの無償評価版をお試しいただくか、デモをリクエストください。
インターナショナル本社 5 Ha’Solelim Street, Tel Aviv 67897, Israel | Tel:972-3-753-4555 | Fax: 972-3-624-1100 | Email: info@checkpoint.com チェックポイントソフトウェアテクノロジーズ株式会社 〒105-0001 東京都港区虎ノ門1-2-8 虎の門琴平タワー25F | Tel:03(6205)8340 | E-mail:info_jp@checkpoint.com https://www.checkpoint.com/jp
© 2021 Check Point Software Technologies Ltd. All rights reserved.
IPS保護 プロトコルベースの攻撃と既知の脆弱性を防御する CloudGuard AppSecが提供するIPS保護は、これまで説明してきた保護を補完するものです。アプリケーションの自 己防御は、深い理解と機械学習に基づいてHTTPリクエストの解析を行いますが、検索しているパターン以外の脆弱性 を見逃す可能性があります。IPSは、あらゆる既知の脆弱性を捕捉します。リクエスト内のシグネチャを探すことにより、 悪意のある既知のCVEから防御する機能を提供します。シグネチャがCVEの一部であると判明しているパターンと一致 した場合、リクエストはブロックされます。
CloudGuard AppSecのシグネチャは、HTTPベースです。こうした悪意のあるシグネチャを特定するためにCheck Pointがバックエンドで使用しているのは、リアルタイムのダイナミックなセキュリティインテリジェンスを提供する、協調型ネッ トワークかつクラウドで動作するナレッジベースであるThreatCloudです。
CloudGuard AppSecは、従来のルールベースのWAFから、自動化された自己学習型のWebアプリケーション保護へ と論理的に進化したものです。