アプリケーション層は、最も信頼性の高い保護です。 ここで遭遇する脆弱性は、多くの場合、複雑なユーザー入力シナリオに依存しているため、侵入検知システムを使用した検知は困難です。 このレベルは、外部から最もアクセスしやすいです。 アプリケーションが正常に機能するには、ポート80(HTTP)またはポート443(HTTPS)を介してアクセスする必要があります。
以下の図では、ファイアウォールと侵入防止システムにもかかわらず、外部からWebアプリケーションに完全にアクセスできます。
2014年には、 SQLインジェクションがこうした攻撃の8.1%を占めました。 これにより、マルウェアとDDoS攻撃の直後に、3番目に多く使用されています。 また、不適切なセキュリティ構成、既知の脆弱性を持つコンポーネントの使用、クロスサイトスクリプティング(XSS)など、他の一般的な攻撃のリストを確認することもできます。 資格のある攻撃者は、これらの脆弱性を簡単に発見し、発見されるリスクなしに悪用することができます。
ほとんどの脆弱性はWebアプリケーションのネイティブコードで発見され、ゼロデイ脆弱性と呼ばれています。 これは、脆弱性が各アプリケーションに固有であり、これまで知られたことがないためです。 これらの攻撃に対する最善の防御策は、安全なアプリケーションを作成することです。 開発者は、アプリケーションで直接保護を作成するために、特定の攻撃がどのように機能するかを認識する必要があります。
開発者にアプリケーションの脆弱性をトレーニングして通知することが、Open Web Application Security Project(OWASP)の主な目標です。 組織は、Webアプリケーションに対する10の最も一般的な攻撃のリストを公開しています。 このリストは3年ごとに更新され、2013年に最後に更新されました。
IBM X-Force Ethical Hackingチームは、これらのレポートを使用して、OWASPリストの各カテゴリに対する一連の攻撃を示す10のビデオの選択を作成しました。 各ビデオには、これらの攻撃を防ぐ方法と、自動化ツールを使用して各タイプの攻撃に対するアプリケーションの露出をテストする方法に関する情報が含まれています。 これらのビデオはもともと内部での使用を目的としていましたが、その後、会社はそれらをインターネットで自由に利用できるようにすることにしました。
私たちはすでに何かについて十分に話しました。ビデオファイル自体に移りましょう。
10.未検証の変換とリダイレクト
このカテゴリの脆弱性は、被害者が悪意のあるWebサイトにだまされるフィッシング攻撃で使用されます。 攻撃者は、実際のサイトのURLを操作して、ユーザーを必要なページにリダイレクトできます。 Jonathan Fitz-Geraldがこの攻撃をどのように示しているかは、以下のビデオで確認できます。
9.既知の脆弱性を持つコンポーネントの使用
このカテゴリには、脆弱性が発見された後もコンポーネントを使用し続けるさまざまなアプリケーションが含まれます。 これらの脆弱性は長い間実証され、公開されているため、攻撃者はそれらを使用するアプリケーションでレガシーコンポーネントの脆弱性を容易に悪用できます。 どんなスクリプトキディでもそのようなハッキングを行うことができます。
8.クロスサイトリクエストフォージェリ
このタイプの攻撃は、ソーシャルプロジェクトと組み合わせて使用されます。 以下のビデオでは、Brennan Brazeauが、ソーシャルメディアと猫の写真を使用して、攻撃者が被害者の銀行口座からお金を盗む方法を示しています。
7.アクセス制御機能の欠如
この場合、アクセス制御によって変更を加える代わりに、より低いレベルまたは未登録のユーザーからより高いレベルの機能が隠されている状況について説明します。 John Zaccatoは、低レベルのユーザーがWebアプリケーション管理インターフェースにアクセスする攻撃を示しています。
6.機密データの露出
移動中および保管中のデータ暗号化はありません。 使用するWebアプリケーションがクレジットカードや認証データなどの機密データを適切に保護していない場合、攻撃者はデータを盗んだり変更したりできます。
5.不正なセキュリティ設定
このビデオでは、サーバーまたはアプリケーション自体の誤った、誤った構成に関連する、非常に危険な別の欠陥カテゴリについて説明します。
4.オブジェクトへの保護されていない直接リンク
このビデオでは、フィッツジェラルドがオブジェクトへの保護されていない直接リンクに対する攻撃を実演します。これにより、攻撃者はファイル名を操作してサーバーからデータを取得できます。 彼がデータベース全体を取得するまで、どのように辛抱強くファイルをダウンロードするかがわかります。
3. Crossiteスクリプト
クロスサイトスクリプティングは、攻撃者が実際のサイトのページにJavaScriptを埋め込むことを可能にする脆弱性の一種です。 そうすることで、サイトのコンテンツを完全に変更して、ユーザー資格情報を他のサーバーに送信できるようになります。 ウォーレンモイニハンは、これを達成する方法を以下に示します。
2.認証の破損とセッション管理
Brazeauは、攻撃者がアプリケーションで使用される認証方法を回避できるようにするプログラミングの欠陥について説明します。
1.注射
インジェクションにより、攻撃者は不正なユーザー入力を介してコマンドバックエンドリクエストを変更できます。 Moynihanは、SQLインジェクションの例をいくつか示し、最も重要なこととして、パスワードを含むユーザーテーブル全体を取得する方法を示します。
以上です。 ご清聴ありがとうございました。