ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript DDoS 攻撃の原則と防御策の簡単な紹介 (写真とテキスト)

JavaScript DDoS 攻撃の原則と防御策の簡単な紹介 (写真とテキスト)

黄舟
黄舟オリジナル
2017-03-13 16:58:141747ブラウズ

分散型サービス拒否 (DDoS) 攻撃は、Web サイトに対して行われる最も古く、最も一般的な攻撃の 1 つです。 Nick Sullivan は、Web サイトの高速化およびセキュリティ サービスを提供する CloudFlare のシステム エンジニアです。最近、彼は、攻撃者が悪意のある Web サイト、サーバー ハイジャック、中間者攻撃を使用して DDoS 攻撃を仕掛ける方法について書き、HTTPS と「サブリソース インテグリティ (SRI)」と呼ばれる今後の新しい Web テクノロジーの使用方法について説明しました。 Web サイトを保護するテクノロジー攻撃から。

最新の Web サイト上のインタラクションのほとんどは JavaScript から来ています。 Web サイトは、JavaScript コードを HTML に直接追加するか、HTML 要素9be8c280d3dc51bb61988971f6c2aa5c を介してリモートの場所から JavaScript をロードすることによって、インタラクティブな機能を実装します。 JavaScript は HTTP(S) リクエストを発行して Web ページのコンテンツを非同期的に読み込むことができますが、ブラウザを攻撃者の武器に変える可能性もあります。たとえば、次のコードは、侵害された Web サイトにリクエストを大量に送信する可能性があります:

function imgflood() {  
  var TARGET = 'victim-website.com'
  var URI = '/index.php?'
  var pic = new Image()
  var rand = Math.floor(Math.random() * 1000)
  pic.src = 'http://'+TARGET+URI+rand+'=val'
}
setInterval(imgflood, 10)

上記のスクリプトは、ページ上に 1 秒ごとに 10 個のイメージ タグを作成します。このタグは、ランダムな query パラメータを持つ「victim-website.com」を指します。ユーザーがこのコードを含む悪意のある Web サイトにアクセスすると、次の図に示すように、無意識のうちに「victim-website.com」に対する DDoS 攻撃に参加することになります。図書館。帯域幅を節約し、パフォーマンスを向上させるために、サードパーティがホストする JavaScript ライブラリを使用します。

jQuery

は Web 上で最も人気のある JavaScript ライブラリであり、2014 年の時点で Web サイトの約 30% で使用されています。その他の人気のあるライブラリには、Facebook SDK や Google Analytics などがあります。 Web サイトに、サードパーティがホストする JavaScript ファイルを指すスクリプト タグが含まれている場合、Web サイトへのすべての訪問者はそのファイルをダウンロードして実行します。攻撃者が JavaScript ファイルをホストしているサーバーを侵害し、そのファイルに DDoS コードを追加すると、次の図に示すように、すべての訪問者が DDoS 攻撃に参加することになります。 HTTP には、Web サイトが改ざんされたスクリプトの実行を無効にするメカニズムが欠けているためです。この問題を解決するために、浅谈JS DDoS攻击原理与防御W3C

は新しい機能であるサブリソースの整合性を追加することを提案しました。この機能を使用すると、Web サイトは、ダウンロードしたスクリプトが Web サイトが実行したいスクリプトと一致する場合にのみ、ブラウザーにスクリプトを実行するように指示できます。これは、暗号化ハッシュ、次のようなコードによって実現されます:

<script src="https://code.jquery.com/jquery-1.10.2.min.js" 
integrity="sha256-C6CB9UYIS9UJeqinPHWTHVqh/E1uhG5Twh+Y5qFQmYg=" 
crossorigin="anonymous">
暗号化ハッシュはデータのブロックを一意に識別し、同じ暗号化ハッシュを持つファイルは 2 つありません。 プロパティ

integrity は、Web サイトが実行するスクリプト ファイルのパスワード ハッシュを提供します。ブラウザはスクリプトをダウンロードした後、そのハッシュを計算し、その結果の値を整合性によって提供された値と比較します。一致しない場合は、ターゲット スクリプトが改ざんされているため、ブラウザはそのスクリプトを使用できません。ただし、多くのブラウザは現在この機能をサポートしておらず、Chrome と Firefox はこの機能のサポートを追加しています。

浅谈JS DDoS攻击原理与防御中間者攻撃は、攻撃者が悪意のある JavaScript コードを Web サイトに挿入する最新の方法です。ブラウザを通じて Web サイトにアクセスすると、多くのノードを通過します。中間ノードが Web ページに悪意のあるコードを追加すると、以下の図に示すように、中間者攻撃が形成されます。

暗号化テクノロジーは、このコード インジェクションを完全にブロックできます。 HTTPS を使用すると、ブラウザと Web サーバー間のすべての通信が暗号化および認証され、送信中に第三者が Web ページを変更するのを防ぎます。したがって、Web サイトを HTTPS のみに設定し、証明書を保持して検証することで、中間者攻撃を効果的に防ぐことができます。

ネチズンのコメントに返信して、Nick は、SRI と HTTPS は相互に補完しており、両方を同時に使用すると Web サイトの保護を強化できると指摘しました。上記の方法に加えて、DDoS 対策セキュリティ製品を使用して保護を強化することもできます。

以上がJavaScript DDoS 攻撃の原則と防御策の簡単な紹介 (写真とテキスト)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。