Webアプリケーションへの攻撃は、攻撃者に幅広い機会をもたらします。これは、重要な情報や機密情報の盗難です。 経済的利益のためのビジネスロジックの違反。 また、Webアプリケーションへの攻撃の成功は、企業の企業ネットワークへの侵入の前触れになる可能性があります。 この記事では、Webアプリケーション攻撃の進化について説明します。
OWASPトップ10
古典的な脆弱性は現在、OWASP TOP 10リストで表されています。
- A1コードインジェクション
- A2不正な認証とセッション管理
- A3 Crossiteスクリプト
- A4安全でない直接オブジェクト参照
- A5安全でない構成
- A6機密データの漏洩
- A7機能レベルへのアクセス制御の欠如
- A8クロスサイトリクエストフォージェリ
- A9既知の脆弱性を持つコンポーネントの使用
- A10資格のないリダイレクト
Webアプリケーションへの攻撃はこのリストに当てはまりますが、すべてが世界中に広まっているわけではなく、毎日発生しています。
特定の脆弱性を識別する良い例は、非公式のHackerOne開示タイムラインです。 http://h1.nobbd.de/index.php ご覧のとおり、SQLインジェクション、クライアント側の攻撃などが優勢です。
攻撃タイプ
攻撃には、非標的攻撃と標的攻撃の2種類があります。 標的にされていない「エリアをヒット」し、1つまたは2つの攻撃ベクトルを実装しても、必ずしも攻撃の目的が実現するわけではありません。 原則として、それらは原始的です。 特定の脆弱性の悪用、重要なファイルへのアクセス試行などの形で提示されるこのような攻撃を毎日観察しています。
標的型攻撃は、多くのベクトル、攻撃者の高い専門性と効果によって区別されます。 これらは攻撃の総数の約5%を占めていますが、有効性の観点からは、非標的型攻撃よりもはるかに多くなっています。
一般的に、標的型攻撃は自動化され、脆弱性スキャナーから自作のスクリプトやユーティリティまで、さまざまなエクスプロイトシステムを使用して実行されます。 原則として、いくつかの点で異なります(ユーザーエージェント、アプリケーションベクトル、IP範囲)。 たとえば、/ uploadify / uploadify.php-MODXモジュールの脆弱性を特定する試み。
非標的型攻撃の統計は次のとおりです。
最も人気のある攻撃:
- SQLインジェクションを特定する試み:-85%。
- 重要なフォルダーおよびファイルへのアクセスを特定しようとする試み:-7%。
- 既知の(センセーショナルな)エクスプロイトを使用する試み-5%。
- クロスサイトスクリプティング検出の導入を試みます-3%。
これは自動化システムに関するものです。 Webアプリケーションとその脆弱なコンポーネントを知っている攻撃者によってサイトが攻撃された場合、攻撃はより標的を絞った効果的なものになります。
攻撃の進化
Webアプリケーションに対する攻撃の進化は、いくつかの角度から見ることができます。
- Webアプリケーションの複雑さ-結果として、より多くのエラーの機会。
- アーキテクチャの複雑さ-結果として、エラーの機会が増えます。
- 「kulhakery」の普及-その結果、パブリックドメインの素材が増え、攻撃が増えました。
- 明らかな免責。
倫理的枠組みはこの記事の外に残し、技術面についてお話したいと思います。
新しいベクターの出現は、新しいテクノロジーの使用、または古いテクノロジーの脆弱性の特定によるものです。 また、XML外部エンティティなど、いくつかの脆弱性は取り残され、長年使用されない可能性があります。 最初の言及は2002年に遡り 、2009年の特定のベクトル 、2011年から2012 年に大部分の搾取が始まりました。 Yandex、Vkontakte、Uber、その他多くのリソースでXXEの脆弱性が(BugBountyプログラムの一部として)発見されました。
攻撃ベクトルの開発におけるもう1つの重要な要素は、実装された保護装置です。 脆弱性の種類を指定して脆弱なWebアプリケーションをインストールし、保護サービスでWebアプリケーションを保護しました: http : //vulns.XXXXXXXXXXXX.ru 。
http://vulns.XXXXXXXXXXXX.ru/wp-content/plugins/kittycatfish/base.css.php?kc_ad=31&ver=2.0"
脆弱なパラメーターkc_ad。 攻撃者は主に、ジャンルの古典である引用符を使用してインジェクションの存在を検出しようとします。
このサイトには脆弱性がありますが、すぐに悪用することはできないため、攻撃者はデータ改ざん技術を使用して保護機器をバイパスしようとします。
http://vulns.XXXXXXXXXXXX.ru/wp-content/plugins/kittycatfish-2.2/base.css.php?kc_ad=16+group%0aby%0a1%0aUNIO%6e%0aSELEC%74%0achar%0a(107,99,95,97,100,95,99,115,115),(selec%74%0acolumn_name%0afro%6d%0a`%69nformation%5fschem%61`.columns%0awher%65%0atable_name=0x746c5f746f6b656e%0alimit%0a0,1)
また、このような回避策では脆弱性を悪用できないため、攻撃者はますます高度な回避手法を使用し始めています。
これは、次のクエリに変換されます。
http://vulns.XXXXXXXXXXXX.ru/wp-content/plugins/kittycatfish-2.2/kittycatfish.js.php Parameter kc_ad=%27%2F%2A%2A%2FanD%2F%2A%2A%2F3083%2F%2A%2A%2FbEtWEEN%2F%2A%2A%2F3083%2F%2A%2A%2FanD%2F%2A%2A%2F3083--%2F%2A%2A%2FiGqe&ver=2.0
したがって、現時点では、ほとんどすべての既知の脆弱性が悪用されており、アプリケーション開発中の保護メカニズムの導入、および適用されている保護機器に合わせて調整されています。 また、これはWebアプリケーションを攻撃するための多数のツールが原因です。