ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript_javascript スキルを使用した DDoS 攻撃の原則と防御についての簡単な説明

JavaScript_javascript スキルを使用した DDoS 攻撃の原則と防御についての簡単な説明

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-05-16 15:56:521132ブラウズ

分散型サービス拒否 (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 個のイメージ タグを作成します。このタグは、ランダムなクエリ パラメーターを持つ「victim-website.com」を指します。ユーザーがこのコードを含む悪意のある Web サイトにアクセスすると、次の図に示すように、無意識のうちに「victim-website.com」に対する DDoS 攻撃に参加することになります。


20156493325376.png (900×420)

多くの Web サイトでは、共通の JavaScript ライブラリのセットが使用されています。帯域幅を節約し、パフォーマンスを向上させるために、サードパーティがホストする JavaScript ライブラリを使用します。 jQuery は Web 上で最も人気のある JavaScript ライブラリであり、

2014 年の時点で Web サイトの約 30% で使用されています 。その他の人気のあるライブラリには、Facebook SDKGoogle Analytics などがあります。 Web サイトに、サードパーティがホストする JavaScript ファイルを指すスクリプト タグが含まれている場合、Web サイトへのすべての訪問者はそのファイルをダウンロードして実行します。攻撃者が JavaScript ファイルをホストしているサーバーを侵害し、そのファイルに DDoS コードを追加すると、次の図に示すように、すべての訪問者が DDoS 攻撃に加わることになります。

20156493409662.png (900×586)この攻撃が機能するのは、Web サイトが改ざんされたスクリプトの実行を無効にするメカニズムが HTTP に欠落しているためです。この問題を解決するために、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 はこの機能のサポートを追加しています。

中間者攻撃

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

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

ネットユーザーのコメントに返信したとき

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

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