セキュアコーディングでは防げない3つの攻撃

F5エコシステム | 2019年7月15日

アプリに関する侵害やデータ漏えいが発生すると、ほぼ必ず開発者に疑いの目が向けられます。多くの場合、その見方は正しいと言えます。インジェクション攻撃やスタックベースのエクスプロイトは、ほぼ必ず安全でないコードに起因します。通常、その原因は「セキュリティルール・ゼロ」に違反していることです。

しかし、侵害のすべてを開発者の責任にすることはできません。実際、開発者が完全にセキュアなコードを作成できたとしても、その他の多くの攻撃から保護するには、アプリケーションサービスが必要です。

これは、アプリケーションセキュリティが多層構造になっているためです。プロトコルやネットワークの原理を悪用する攻撃は、単に「セキュアなコーディング」を行うだけでは防げません。さらに、アプリケーションには悪意のあるリクエストと正当なリクエストを見分けるための可視性がないため、こうした攻撃を検知できないことが多く、セキュリティを一層複雑にしています。

特に、開発者が対応を担うべきではない攻撃が3つあります。こうした攻撃は、可視性とコンテキストを活用できる上流に導入したアプリケーションサービスで検知し、緩和するのが最適です。

ボリューム型DDoS

従来型の分散型サービス拒否攻撃を「ボリューム型」と呼ぶのは、ネットワークの過負荷を狙う攻撃と、スタックの「上位層」に移行してアプリケーション層を狙う攻撃を区別するためです。両者は異なる種類の攻撃であるため、どちらにも対処できる必要がありますが、それぞれに必要なソリューションは大きく異なります。

ボリューム型攻撃とは、いわば集中攻撃です。リクエストを処理するデバイス、インフラストラクチャ、ソフトウェアを過負荷状態にする目的で、特定のサービスに大量のトラフィックを集中させます。その前提となるのは、ハードウェアかソフトウェアか、オンプレミスかクラウドかを問わず、すべてのデバイスのリソースには限りがあるということです。そのため、十分な数のリクエストを送信するとデバイスが過負荷状態に陥り、その配下にあるすべてのものへのアクセスが遮断される可能性があります。

開発者がこの攻撃を効果的に防止できないのは、アプリケーションがネットワーク管理をプラットフォームとホストOSに依存しているためです。ボリューム型DDoS攻撃はそのネットワークスタックを標的とし、共有リソースを大量に消費するため、アプリケーションは攻撃を受けているかどうかを判断するためのリクエスト処理すらほとんど行えなくなります。

セキュアコーディングでは、この攻撃を防ぐことはできません。脆弱性を悪用する攻撃ではなく、システム内のいずれかのコードに問題があるわけでもありません。ハードウェアの存在をどれほど意識しないようにしても、リソースはハードウェアによって提供され、その量には限りがあります。

ボリューム型DDoS攻撃の検知と緩和には、アプリケーションの上流に配置された大容量かつ高性能なアプリケーションサービスが最適です。攻撃元に近いほど効果的です。

エクスプロイトがなければ、セキュアコーディングによる解決策もありません。

レイヤー7 DDoS

スタックを上位のアプリケーション層までたどると、Layer 7(HTTP)DDoSと呼ばれる、悪質なサービス拒否攻撃が存在します。これらの攻撃はシステムの特性を悪用するものですが、脆弱性や安全でないコーディングに起因するわけではないため、対処が厄介です。HTTPと、それを実装するシステムの性質を利用して成立します。

レイヤー7 DDoS攻撃は、一般に低速型と高速型の2種類に分けられます。低速型のレイヤー7 DDoSは、ネットワーク接続の状態が極端に悪いように装い、正規のリクエストに対するレスポンスをゆっくりと受信し続けることで、リソースを消費させます。Webアプリは接続ベースで動作し、その接続を維持するためのリソースにも限りがあるため、この手法によってリソースが消費されます。攻撃者は、十分な数のクライアントから接続して正規のリクエストを送信し、レスポンスを低速で受信することで、アプリケーションのリソースを占有できます。その結果、正規のクライアントはほとんど接続できなくなり、実質的にサービス拒否攻撃が成立します。

この攻撃は特に悪質で、ネットワーク速度と受信速度を比較しない限り、検出が困難です。つまり、上流のアプリケーションサービスはクライアントのネットワーク特性を把握できるため、クライアントが意図的に受信速度を落としているのか、実際にネットワークの問題が発生しているのかを、より正確に判断できます。正当な通信かどうかを見極めることが、この種の攻撃を阻止するうえで極めて重要です。

基本的に、これらの攻撃はプロトコル層(HTTP)の脆弱性を悪用するため、セキュアコーディングでは対処できません。

脆弱性が存在しないため、セキュアコーディングでは対処できません。

クレデンシャルスタッフィング

最後に取り上げるのは、クレデンシャルスタッフィングです。過去数年間に侵害によって漏えいした認証情報は驚くほど多く、この攻撃への対策は極めて重要です。

クレデンシャルスタッフィング攻撃は一般に、既存のユーザー名とパスワードの膨大な漏えいデータを悪用する総当たり攻撃の原理に基づいているため、ボットやツールに依存します。手作業で実行されることはほとんどありません。クレデンシャルスタッフィング攻撃が成功するのは、安全でないコーディングが原因ではありません*。攻撃者が悪用しようとしているのは、不適切なパスワード運用と、進行中の攻撃を認識できないことだけです。

こうした攻撃を検知するには、クライアントが正規の人間によるものではないと判定できる必要があります。そのため、一種の逆チューリングテストとして、自動化システムでは回答できない形式でチャレンジを提示し、CAPTCHAを使用する必要があります。

どれほどセキュアなコーディングを徹底しても、この攻撃の成功を防ぐことはできません。パスワードの運用方法を改善し、攻撃の試みを検知することが、インターネット上で拡大するこの脅威による被害を回避する最善の方法です。

悪用可能なコードがなければ、セキュアコーディングでは対処できません。

*安全でないコーディングにより、クレデンシャルスタッフィング攻撃が可能になる場合があります。実際、侵害の多くはコードに起因する脆弱性によって発生しており、その結果、この攻撃に利用可能な認証情報の膨大なリストが流出しています。

違いを見極めて検知・防御

セキュアコーディングによって攻撃を防げる場合と、防げない場合を見極めることが重要です。攻撃が成功するたびに、開発者だけに責任を負わせ続けることはできないからです。セキュリティにはシステムレベルの思考が必要です。防御すべき攻撃には複数の種類があるため、複数の対策が求められます。

近い将来、ほとんどの組織が直面するさまざまな攻撃から効果的かつ確実に防御するには、攻撃の種類を見極めることが重要です。(1)安全でないコーディングに起因する脆弱性を悪用した攻撃ではない場合、または(2)可視性が不足しているため防御できない場合に、開発者へ対応を無理に求めて時間を浪費してはいけません。

ソースや攻撃対象領域を問わず、適切な場所で適切なセキュリティを提供するサービス群を体系化し、戦略的にセキュリティに取り組む必要があります。

安全を確保してください。

共有
タグ: 2019

著者について

Lori Mac Vittie
Lori Mac Vittie特別技術者兼チーフエバンジェリスト | F5

Lori MacVittieは、F5のOffice of the CTOに所属するDistinguished Engineer兼Chief Evangelistであり、アプリケーションデリバリ、自動化戦略、インフラストラクチャに関する深い専門知識を有しています。AIエージェントのガードレール策定、脆弱なマルチクラウドアーキテクチャの分析、スケーラブルなシステムの限界の検証など、複雑な事柄を明快にすることで知られています。アプリケーション開発、ITアーキテクチャ、ネットワークおよびシステム運用の分野で、30年以上にわたる業界経験を有しています。F5入社前は、受賞歴のあるテクノロジー編集者として活躍していました。 MacVittieはコンピューターサイエンスの修士号を取得しており、セキュリティ、クラウド、エンタープライズアーキテクチャにわたる分野で多数の著作を発表しています。また、テーブルトークゲームとビデオゲームをこよなく愛し、チーズについては遠慮なく強いこだわりを語ります。

Lori Mac Vittieのその他のブログ記事

関連するブログ記事

F5 Application Study Tool:OpenTelemetryによるF5 BIG-IP環境の監視
F5エコシステム | 2025/04/15

F5 Application Study Tool:OpenTelemetryによるF5 BIG-IP環境の監視

F5の新しいオープンソースツールは、BIG-IP環境を詳細に可視化し、データを追跡するとともに、強力でカスタマイズ可能なインサイトを得るための基盤を提供します。

F5 BIG-IPでAI防御を実現
F5エコシステム | 2024/11/13

F5 BIG-IPでAI防御を実現

F5 BIG-IP Advanced WAF、BIG-IP APM、BIG-IP SSL Orchestratorが、生成AIアプリ向けに包括的なセキュリティソリューションを提供する仕組みをご覧ください。

F5 Advanced WAFによるGraphQL APIの保護
F5エコシステム | 2021/08/31

F5 Advanced WAFによるGraphQL APIの保護

ここ数年、多くの組織がデジタルトランスフォーメーションを進めており、COVID-19のパンデミックによってその動きは加速しています。

アプリケーションサービスの現状 通信業界版:リーダーとしての台頭
F5エコシステム | 2019/02/19

アプリケーションサービスの現状 通信業界版:リーダーとしての台頭

通信ネットワークが進化し、さまざまな業界の幅広いユースケースに対応するなか、通信業界の回答者がテクノロジーリーダーとしての存在感を高めていることがわかります。

デジタルトランスフォーメーションは、単なるペーパーレス化ではない
F5エコシステム | 2017/07/10

デジタルトランスフォーメーションは、単なるペーパーレス化ではない

デジタルトランスフォーメーションは、単なるペーパーレス化ではありません。真のモダナイゼーションにアプリケーションアーキテクチャとセキュリティの再構築が必要な理由を、F5ブログでご覧ください。

やめましょう。もう本当にやめましょう。HTTPSはHTTPより高速ではありません。
F5エコシステム | 2016/09/19

やめましょう。もう本当にやめましょう。HTTPSはHTTPより高速ではありません。

もうやめましょう。HTTPSはHTTPより高速ではありません。プロトコルのパフォーマンスに関する微妙な違いと、暗号化トラフィックを適切に最適化する方法については、F5ブログをご覧ください。