安全でないアプリケーションは、ユーザーやシステムをさまざまな種類の損害にさらす可能性があります。悪意のある第三者が脆弱性やセキュリティ機能の不足を利用して損害を与えることを攻撃と呼びます。このガイドでは、さまざまな種類の攻撃について説明し、アプリケーションを保護するために注意すべき点を理解します。
能動的な攻撃と受動的な攻撃
攻撃は能動的と受動的の 2 種類に分けられます。
アクティブな攻撃
アクティブな攻撃では、攻撃者はアプリケーションに直接侵入しようとします。これには、偽 ID を使用して機密データにアクセスする(マスカレード攻撃)から、サーバーに大量のトラフィックをあふれさせてアプリケーションの応答を止める(サービス拒否攻撃)など、さまざまな方法があります。
アクティブな攻撃は、転送中のデータに対しても行われます。攻撃者は、アプリケーション データがユーザーのブラウザに到達する前に改変して、サイトに改ざんされた情報を表示したり、ユーザーを意図しない場所に誘導したりする可能性があります。これはメッセージの変更とも呼ばれます。
パッシブ攻撃
パッシブ攻撃では、攻撃者はアプリケーションから情報を収集または学習しようとしますが、アプリケーション自体には影響しません。
誰かが友人や家族との会話を盗聴し、あなたの私生活、友人は誰で、あなたがどこに集まったか、想像してみてください。ウェブ トラフィックでも同じことができます。攻撃者は、ユーザー名とパスワード、ユーザーの閲覧履歴、交換されたデータを収集するブラウザとサーバー間のデータをキャプチャできます。
攻撃に対する防御
デベロッパーやユーザーに気づかれることなく、攻撃者がアプリに直接損害を与えたり、サイトで悪意のある操作を行ったりする可能性があります。攻撃を検出して保護するための メカニズムが必要です
残念ながら、アプリケーションを 100% 安全にする単一のソリューションはありません。実際には、多くのセキュリティ機能と手法が何層にもわたって使用され、攻撃を阻止または遅延させる(これを多層防御と呼びます)。アプリケーションにフォームが含まれている場合は、ブラウザ、サーバー、最後にデータベースで入力をチェックできます。また、転送中のデータを保護するために HTTPS を使用します。
まとめ
多くの攻撃はサーバーに到達することなく発生する可能性があるため、攻撃が行われているかどうかを検出するのが困難な場合があります。ウェブブラウザには強力なセキュリティ機能が組み込まれています。詳細については、次のトピック「ブラウザが攻撃から軽減される仕組み」をご覧ください。