Magecart などのブラウザー内部の脅威から Web サイトを保護
※ このBlog 記事は2020.1.24に執筆されたMike KaneのBlog記事を翻訳した内容を元に作成しています。
増加するサードパーティスクリプト
現在の Web アプリケーションは外部のコード、サービス、ベンダーをますます多用するようになっており、ブラウザー内で JavaScript コードを実行しています(これをサードパーティスクリプトと呼びます)。身近な例として、Akamai のホームページでは、データを追加するために数十ものスクリプトを実行しています(下図を参照)。 これらのスクリプトの 70% 近くは外部ソースのものです。
Source: https://requestmap.herokuapp.com/render/200107_S4_75af286693538a095b33ac5e4740b0b8/
他の多くのインターネットベース企業と同様、Akamai もサードパーティのスクリプトを使用しています。その理由は、Web 体験を強化できる、追加と変更を簡単に行える、一貫した Web 体験を提供できる、サードパーティによって事前にインテグレーションおよび保守されている、などです。 実際、今日の Web サイトで使用されているスクリプトの平均 56% はサードパーティ製です(Akamai は 68%)。
Source:『Security and Frontend Performance, Challenge of Today: Rise of Third Parties』、Akamai Technologies and O'Reilly Media、2017 年
セキュリティ上の課題
新しい巧妙な攻撃手法を用いるクレジットカードハッカー集団の Magecart は、サードパーティスクリプト攻撃の「代名詞」となっています。
サードパーティスクリプトの提供元は多岐にわたります。サプライチェーンの中には、信頼できるソースもあれば、信頼できないソースもあります。そのため、Web アプリケーションのアタックサーフェスが大幅に拡大し、それを保護することは困難になります。クレジットカード情報を処理するサイトは常にリスクにさらされています。実際、ここ数年で Magecart の被害を受けた数万件のサイトのうち、20% は前回の攻撃から数か月以内に再感染しています。
Source:Sangine Security、2018 年 https://sansec.io/labs/2018/11/12/merchants-struggle-with-magecart-reinfections/
残念ながら、現在のアプリケーション保護ソリューションの多くは、既存の手法を改造することで、ファイアウォールとポリシー制御を通じてサードパーティスクリプトの脅威を防止しようとしています。このアプローチを厳格に適用すると、オープンなビジネス慣行が損なわれ、サードパーティスクリプトの利点が失われてしまいます。逆に、適用が緩すぎると、多くの攻撃を見逃してしまいます。
最良の方法は、スクリプトのレビューとテストを絶えず行うことで、セキュリティチームがスクリプトを正常な状態に維持することですが、これは極めて困難です。
セキュリティチームがサードパーティスクリプト攻撃を検知し緩和するためには、絶え間のない作業を通じて、長い時間をかけて、見えない敵と戦う必要があります。これは、現実的には困難です。そのため現在、サードパーティの JavaScript を通じて悪性コードを Web ページに挿入し、クレジットカードや認証情報のスキミングを行う攻撃手法が猛威を振るっています。2019 年には、1 か月あたり平均 4,800 件の Web サイトがサードパーティ経由のコードインジェクションの被害を受けました。これは、2018 年比で 78% 増となる数字です。
Source:『Symantec 2019 Internet Security Threat Report』
Akamai Page Integrity Manager
Page Integrity Manager は、新しい JavaScript や改変された JavaScript を検知してそのリスクを評価し、機密性の高いフォームに対するサードパーティアクセスを制御し緩和を自動化するためのソリューションです。機械学習モデル、ヒューリスティック分析、シグネチャー、リスク・スコア・モデルを用いて、一連の検知レイヤーを通じてセッション内のすべての JavaScript ワークロードのふるまいを完全に監視します。この高度なアプローチにより、疑わしい悪性のふるまいを特定し、ポリシーベースの制御を通じて自動的に緩和し、Akamai 脅威インテリジェンスに基づいて高い精度で攻撃者をブロックできます。
防止できる脅威
機能
- ふるまい検知テクノロジーが、実ユーザーのセッションにおけるスクリプトの実行を継続的に分析し、疑わしいふるまいや明らかな悪性のふるまいを特定して、セキュリティチームに通知し、タイムリーかつ実用的な知見を提供します。
- ネットワーク送信の監視とスクリプトインテリジェンス:ネットワークリクエストを監視し、自社サイトにアクセスしたユーザーセッションが、実際何をダウンロードし実行しているのかを把握することで、潜在的な脅威を検知できます。
- CVE 検知:オープンな Common Vulnerabilities and Exposures(CVE)データベースと照らし合わせて、Web アプリケーション上のすべての Web リソースを継続的にチェックし、ランタイム JavaScript コードに含まれる既知の脆弱性を特定できます。
- Edge Injectionによる迅速な導入:Page Integrity Manager の検査用JavaScriptは CDN レベルが自動挿入するため、容易に展開できます。Webサーバーでのコーディングは不要です。
- ポリシー管理:Cookie、宛先ネットワーク、ローカルストレージ、機微な情報入力へのアクセスを監視/制限するポリシーを作成して(オプション)、ランタイム JavaScript 実行を制御できます。
Akamai Technologiesでは、このような潜在的なセキュリティの盲点の評価を支援するため、サードパーティコンテンツが貴社Webサイトに与えている影響とリスクを分析したPage Integrity Reportをご提供できます。こちらのページからリクエストください。
スクリプトの脆弱性を軽減するためのその他のリソースについては、Akamai のPage Integrity Managerソリューションページをご確認ください。また、お気軽に弊社窓口までお問い合わせください。