GoogleのJarlsbergを攻撃し、セキュリティ・ホールの知識を学ぶ


多くの人がハッカーがどのように攻撃してシステムに入ったのかを知りたいと思っています.彼らを助けるために、GoogleはJarlsbergという特殊な実験室を作成しました.その中のアプリケーションはセキュリティの脆弱性でいっぱいで、開発者はそれを利用して潜在的な脆弱性がどのようなものなのか、悪意のあるユーザーがどのようにこれらの脆弱性を利用しているのかを実践的に学ぶことができます.攻撃を免れるにはどうすればいいか.
この実験室はセキュリティ・ホールの異なるタイプをめぐって組織されており、各ホールに対して、ホールを探して攻撃する任務があります.この実験室では、次の3つの主要な技術が使用されています.
  • ブラックボックス:ユーザーはアプリケーションのソースコードが見えないため、サーバの動作方法を推測し、セキュリティ・ホールを利用する必要があります.
  • ホワイトボックス:ソースコード(Python)がオープンソースアプリケーションとして提供されています.ユーザーはコードを読むことができ、弱点を見つけることができます.
  • グレーボックス:実験室では、アプリケーションがどのように作成されているかを示すヒントが表示されますが、完全なソースコードはユーザーに表示されません.

  • Jarlsbergは、アプリケーションの攻撃面を拡大するためにとくせいを大量に使用しています.
  • コードフラグメントのHTML:ユーザーはコードフラグメントに特定のHTMLコードを含めることができます.
  • ファイルアップロード:ユーザは、例えば、彼らのコードセグメントにピクチャを含むファイルをサーバにアップロードすることができる.
  • Web形式の管理:システム管理者はwebインタフェースを使用してシステムを管理することができる.
  • 新規アカウント:ユーザーは自分のアカウントを作成することができます.
  • テンプレート言語:Jarlsbergテンプレート言語(JTL)は、開発者がデータベースに直接接続するテンプレートとしてWebページをより簡単に作成できる新しい言語です.jarlsberg/jtl.pyでJTLに関するドキュメントを見つけることができます.
  • AJAX:Jarlsbergは、AJAXを使用して、ホームページおよびコード・スライス・ページでのリフレッシュを実現します.AJAXの内容に特に注目する必要がなければ、JarlsbergのAJAX部分を無視することができます.

  • Jarlsbergでは、次のセキュリティ・ホールを見つけ、利用し、最終的に修復できます.
  • サイト間スクリプト攻撃(XSS)
  • サイト間偽造要求攻撃(XSRF)
  • サイト間スクリプト攻撃(CSSI)
  • クライアント状態操作攻撃
  • パスパターン発掘攻撃
  • サービス攻撃拒否(DoS)
  • 実行コード攻撃
  • 構成脆弱性
  • AJAX脆弱性攻撃
  • ローカルで実験室を実行して、学習過程全体で実験室を完全にコントロールすることができます.あるいはGoogleのクラウドで砂箱のインスタンスとして実行することもできます.この実験室の大部分はCreative Commons Attribution 3.0プロトコルに基づいて発表されていますが、一部はCreative Commons Attribution-No Derivative Works 3.0プロトコルに基づいて発表されています.これにより、大学で学生や会社の従業員を育成し、セキュリティ・ホールの影響からシステムを理解し、保護することが理想的です.