サイバー攻撃にはランサムウェアなどの特定のターゲットを対象としたものや、フィッシング詐欺など不特定なもののほか、企業や組織のウェブサイトやサーバーに対して過剰なアクセスやデータを送りつけるサービス拒否攻撃(DDoS)などのボット攻撃などがあり、近年増加の傾向です。これらは金銭的なコストだけでなく、被害にあったことでブランドの評判や顧客の信頼にもダメージを与えかねません。格付けの低下によるコスト増、知的財産の評価損・損失、営業部隊の交渉力低下などの隠れたコストの増加が企業や組織を苦しめる結果となります。

近年増え続けるボット攻撃

特に近年注意すべきはボットを使用した攻撃です。インターネットトラフィックのおよそ1/4は悪性Botと言われています。モバイルやIoTデバイスの普及、パブリッククラウドでホストされる「サーバーレス」アーキテクチャの台頭、マシン間通信への依存度の高まりによって、異なるアプリケーション・アーキテクチャ間の通信を容易にする架け橋として登場したAPIを狙ったボット攻撃が増えており、現在81%の組織がAPIに対する攻撃を報告しており、12カ月間に75%の組織がボット攻撃を受けています。

ボット攻撃にはアカウントの乗っ取りやWebスクレイピング、インベントリ拒否攻撃、アプリケーションDOS攻撃、支払データ悪用、マーケティング分析データの改変などがあります。悪質なボットトラフィックの割合はラドウェアの顧客基盤では2020年上半期には2019年と比較して50%増加しています。

現代のアプリケーションやサービスは、APIの統合と通信に大きく依存しており、APIはアーキテクチャと配信を簡素化することで、ビジネスオペレーションに相乗効果と効率性を提供する一方で、さまざまなリスクと脆弱性が発生しています。APIは、多くの組織にとってアプリケーションのセキュリティリスクの第1位になりつつあります。クラウド、APIの必要性、セキュリティへの可視性の低下の増加により、アプリはますます脆弱性を増しています。

APIの脆弱性

APIの脆弱性には主に4つの要因があります。

1. 認証の欠陥とアカウントの乗っ取り

多くのAPIは、リクエストが本物のユーザーから来た場合、認証状態をチェックしません。攻撃者は、セッションハイジャックやアカウントアグリゲーションなど、さまざまな方法でこのような欠陥を悪用して、本物のAPI呼び出しを模倣します。攻撃者は、APIがどのように呼び出されるかを発見するために、モバイルアプリケーションのリバースエンジニアリングも行います。APIキーがアプリケーションに埋め込まれている場合、API違反が発生する可能性があります。APIキーをユーザー認証に使用してはいけません。サイバー犯罪者は、ユーザーアカウントを乗っ取るためのクレデンシャルスタッフィング攻撃も行います。

2. 堅牢な暗号化の欠如

多くのAPIは、APIクライアントとサーバー間の強固な暗号化を欠いています。攻撃者は中間者攻撃によって脆弱性を悪用します。攻撃者は、暗号化されていない、あるいは保護されていないAPIトランザクションを傍受して、機密情報を盗んだり、トランザクションデータを改ざんしたりします。また、モバイルデバイス、クラウドシステム、マイクロサービスパターンのユビキタスな使用は、多様なウェブアプリケーション間の相互運用性を促進するために複数のゲートウェイが関与しているため、APIセキュリティをさらに複雑にしています。これらすべてのチャネルを流れるデータの暗号化が最も重要です。

3. ビジネスロジックの脆弱性

APIはビジネスロジックの悪用に対して脆弱です。これこそが、専用のボット管理ソリューションが必要な理由であり、ウェブアプリとモバイルアプリの両方に適した検出ヒューリスティックを適用することで、多くのエラー、つまり偽陽性と偽陰性が発生してしまう理由です。

4. 劣悪なエンドポイントセキュリティ

ほとんどのIoTデバイスやマイクロサービスツールは、APIチャネルを介してサーバーと通信するようにプログラムされています。これらのデバイスは、クライアント証明書を使用してAPIサーバー上で自己認証を行います。ハッカーはIoTエンドポイントからAPIを制御しようとし、成功すればAPIの順序を簡単に再シーケンスすることができ、結果としてデータ侵害につながります。

APIに対するボット攻撃の症状

上記のような要因から狙われるAPIに対するボット攻撃の症状としては、以下のようなものがあります。

1.単一のHTTPリクエスト(固有のブラウザ、セッション、またはデバイスからのもの
2.エラーの発生率の増加 (HTTP ステータスコード 404、データ検証の失敗、認証の失敗など)
3.単一の IP アドレスまたは API トークンからの非常に高いアプリケーション使用率
4.大規模で分散したIPアドレスからのAPI利用が急増
5.正規ユーザーと比較して、ユーザー/セッション/IPアドレス/APIトークンに対するGET/POST/HEAD リクエストの割合が高い。

最新のアプリケーションを安全に保つための課題

課題1:ボットを管理する

ラドウェアのWebアプリケーションセキュリティレポートによると、インターネットトラフィックの60%近くがボット生成されており、そのうちの半分は「悪質な」トラフィックに起因しています。組織はネットワークの容量を増やすために投資を行い、最終的には架空の需要に対応しています。人間のトラフィックとボットベースのトラフィックを正確に区別し、「良い」ボット(検索エンジンや価格比較サービスなど)と「悪い」ボットを正確に区別することで、大幅なコスト削減と顧客体験の向上につながります。

ボットは人間の行動を模倣したり、CAPTCHAやその他の課題を回避したりすることができるので、現在は簡単にはいかないでしょう。さらに、動的なIP攻撃は、IPベースの保護を無効にします。クライアント側の JavaScriptを処理できるオープンソースの開発ツール(例えば Phantom JS)を悪用して、ブルートフォース、クレデンシャルスタッフィング、DDoS、その他の自動化されたボット攻撃を行うことがよくあります。

ボットが生成したトラフィックを効果的に管理するためには、ソースのユニークな識別(指紋のようなもの)が必要になります。ボット攻撃では複数のトランザクションが使用されるため、フィンガープリントを使用することで、組織は疑わしいアクティビティを追跡し、違反スコアを属性化し、誤検知率を最小限に抑えた上でブロック/許可の判断を下すことができます。

課題2: APIのセキュリティ

多くのアプリケーションは、API を介して対話するサービスから情報やデータを収集しています。API を介して機密データを転送する場合、50% 以上の組織では、サイバー攻撃を検出するために API を検査も保護もしていません。一般的なAPIのユースケースとして、①IoT 統合②マシン間通信③サーバーレス環境④モバイルアプリケーション⑤イベントドリブンなアプリケーションに脆弱性が存在します。

API の脆弱性はアプリケーションの脆弱性と同様で、注入、プロトコル攻撃、パラメータ操作、無効化されたリダイレクト、ボット生成攻撃などがあります。専用APIゲートウェイは、APIを介して相互作用するアプリケーションサービスの相互運用性を確保するために進化しました。しかし、HTTP の解析、レイヤ 7 の ACL 管理、JSON/XML のペイロードの解析と検証、スキーマの施行、OWASP のトップ 10 脆弱性を完全にカバーするなどの必要なセキュリティ制御を備えた WAF が可能なエンドツーエンドのアプリケーションセキュリティを提供することはできません。これは、正のモデルと負のモデルの両方を使って、主要な API 値を抽出し、検査することによって達成されます。

課題3:サービス拒否

DoS は、アプリケーションを攻撃するのに効率的であることが今でも証明されている古い攻撃ベクトルです。HTTP や HTTPS フラッド、ローアンドスロー攻撃(SlowLoris、LOIC、Torshammer)、ダイナミック IP 攻撃、バッファオーバーフロー、ブルートフォース攻撃など、アプリケーションのサービスを混乱させたい加害者にとって魅力的なテクニックがいくつかあります。IoTボットネットに牽引されて、アプリケーション層攻撃がDDoS攻撃のベクターとして好まれるようになりました。ほとんどのWAFは、保留できるボリュームが一定量しかないため、ステートフルデバイスとなっています。しかし、HTTP/S トラフィックフローを検査し(一部の WAF はベースラインを作成し、未知の脅威に対して非常に効果的)、攻撃や悪意のある試みを検出する能力を持っています。一度攻撃が検出されれば、再び攻撃を侵入させる理由はありません。WAFのミティゲーション容量の制限を補完するために、次の悪質なパケットが自動的にブロックされるように、専用の境界ソリューションが必要になります。これを実現するためには、2つのソリューションが相互に通信する必要があります。

課題4:継続的なセキュリティ

アプリケーションは頻繁に変更されます。継続的なデリバリなどの開発やロールアウトの方法論では、人間の介入や監視なしにアプリケーションが継続的に修正されることになります。動的な状況で機密データを保護するために有効なセキュリティポリシーを維持することは、多くの誤検知を起こさずに非常に困難です。モバイルアプリケーションは、ウェブアプリケーションに比べてはるかに多くの変更が行われていますが、頼りにしているサードパーティ製のアプリが変更されたときにどうやって分かるのでしょうか? リスクを認識するために、可視性を高めようと努力する人もいます。しかし、これは常に可能なことではなく、堅牢なアプリケーション保護は、アプリケーションリソースをマッピングし、可能性のある脅威を分析し、アプリケーションに変更が加えられた場合にはいつでもセキュリティポリシーを作成して最適化する機械学習機能を活用しなければなりません。

上記の課題を克服し、最新のアプリケーションの安全性を維持するためにBot Managerのテクノロジーを利用して正規の通信に紛れ込んだBotトラフィックやボット攻撃の有無を解析する必要があります。

ラドウェアは最新の「2020年アプリケーション&API保護のための重要な能力」レポート*において、4つのユースケースのうち2つのユースケース(APIでは3.57/5、ハイセキュリティユースケースでは3.66/5)において最高得点を獲得しました。

*ガートナー、クラウドWebアプリケーションとAPI保護のための重要な能力、ジェレミー・ドワイン、アダム・ヒルス、ラジプリート・コール、ジョン・ワッツ、2020年11月10日発

著者:ラドウェア アジア太平洋地域セールス担当バイス・プレジデント ヤニヴ・ホフマン