【注意】このサイトに記載されていることを他人に試すことは「不正アクセス禁止法」に該当する場合があります。詳しくはこちらから

ホワイトハッカーは、バグバウンティでペネトレーションテストの技術を使い一攫千金をめざす(概要編)

ペネトレーションテスト&CTFペネトレーションテスト,バグバウンティ,BugBounty

バグバウンティ(BugBounty)という言葉を聞いたことはありますか?
サイバー攻撃を招くバクを見つけてお金(報奨金)を稼ぎませんか。
 
システム版トレジャーハンターとでもいいましょうか。
実際には「バグハンター」ですね。
 
「財宝」の代わりに「サイバー攻撃を招く脆弱性」を探し出して奨励金を頂くのです。
 
パソコンとネットワーク環境で貴方もバグハンターを目指してみませんか。

バグバウンティ(BugBounty)とは

企業は自社のシステムに対して、「サイバー攻撃を招くシステムの脆弱性」を発見したホワイトハッカーに対して「報奨金」を用意します。
報奨金は脆弱性の重大度によって異なりますが、海外では数千ドルから数百万ドルのまで報奨金が設定されるそうです。
ホワイトッカーは「サイバー攻撃を招くシステムのセキュリティの脆弱性」を発見すると、脆弱性の内容をレポートにして企業に提出します。
企業は脆弱性を確認して報奨金を支払います。
 
「サイバー攻撃を招くシステムの脆弱性」を見つける方法の一つとして、「ペネトレーションテスト」の技術が必要になると考えます。
 
 

サイバー攻撃とは

ブラックハッカーが行う「サイバー攻撃」とは、コンピュータシステム(主にサーバー)を狙う攻撃になります。
ネットワークを経由して、情報漏洩やサイトの改ざん、システムの停止/破壊を行います。
攻撃対象は個人や企業、官公庁などと幅広く攻撃します。
 
代表的なサイバー攻撃を5つご紹介します。
 

マルウェア攻撃

マルウェアは、ウイルス、ワーム、トロイの木馬、ランサムウェア、アドウェア、スパイウェアなどの総称です。
マルウェアを用いて、ユーザー情報の窃盗、暗号化、削除、改ざん、サーバーの乗っ取りなどをおこない、コンピュータシステムを危険にさらします。
 

フィッシング攻撃

ブラックハッカーは、攻撃対象者に不正な電子メールなどを利用して、悪意のあるリンクや添付ファイルを配布します。
悪意のあるリンクのクリックや、添付ファイルを実行することにより、ユーザーのログイン認証やその他の機密情報にアクセスします。
 

MITM(Man-In-The-Middle)攻撃

MITM攻撃は、盗聴攻撃とも呼ばれ、ブラックハッカーが通信を行う2者の間に割り込み、銀行の認証情報などを盗聴してアクセスします。また盗聴した情報を改ざんして通信先の相手に送信します。
 
MITM攻撃は、安全でないWiFiネットワークやマルウェアに感染したデバイスでよく発生します。
ブラックハッカーは、Webトラフィックを妨害し、データを盗むことを目的としています。そのため、公共のオープンWiFiネットワークへの接続は十分にセキュリティを加味して、慎重に行う必要があります。
 

サービス拒否(DoS:Denial of Service)攻撃

サービス拒否攻撃は、大量のデータを送信したり、脆弱性を狙ったデータを送信することにより対象サーバーやネットワークにデータを集中させます。そして、サーバーやネットワークは混乱してアクセスできなくなります。
 

SQLインジェクション攻撃

SQLインジェクション攻撃とは、ブラックハッカーがSQLコマンドを悪用してデータベースへ不正にアクセスし、情報を搾取や改ざん、削除する攻撃手法です。
具体的には、ウェブサイトに設置された「ログイン」や「お問い合わせ」などの入力フォームを利用して、不正SQLコマンドを入力することにより、不正に情報を引き出します。
 
 

ペネトレーションテストの技術の流用

ペネトレーションテストは、主に官公庁や企業などのネットワークにつながったコンピュータシステムやサーバーに対してホワイトハッカーが侵入して「サイバー攻撃」をシミュレートして、脆弱性を見つけ出すことです。
ペネトレーションテストは、ウェブアプリケーションファイアウォール(WAF)を補強するために一般的に使用されます。
ペネトレーションテストは、別名「ペンテスト」とも呼ばれます。
 
ホワイトハッカーは、コマンドやプログラムを用いて、サーバーへ侵入を試みます。
 
侵入で得られた情報は、WAFのセキュリティ・ポリシーの微調整や、検出された脆弱性のパッチ適用に利用することができます。
 
ペネトレーションテストのプロセスは、5つのステージに分けることができます。
これらの技術を流用して脆弱性を見つけるヒントになると考えます。
 

1.計画・偵察(Planning and reconnaissance)

テストの範囲と目標(対象となるシステムと使用するテスト方法を含む)を定義します。
対象システムの仕組みや潜在的な脆弱性を理解するための情報収集(ネットワークやドメイン名、メールサーバなど)を行います。

2.スキャニング(Scanning)

ターゲットとなるサーバーアプリケーションが様々な攻撃に対してどのように反応するかを確認します。一般的に以下の「静的解析」「動的解析」で行われます。

静的解析(tatic analysis)

アプリケーションのコードを検査し、実行中の動作を推定します。これらのツールは、1回でコード全体をスキャンすることができます。
 

動的解析(Dynamic analysis)

実行中のアプリケーションのコードを調査します。アプリケーションのパフォーマンスをリアルタイムに把握できるため、より実用的なスキャン方法といえます。
 

3.アクセス権の獲得(Gaining Access)

クロスサイトスクリプティングやSQLインジェクション、バックドアなどのWebアプリケーション攻撃を使用して、ターゲットの脆弱性を確認します。確認ができたら次に、特権の拡大、データの窃取、トラフィックの傍受など、これらの脆弱性の悪用を試み、その被害状況を把握します。

4.アクセスの維持(Maintaining access)

脆弱性を利用して、バックドアやトロイの木馬などを機能させて、システムへの簡単なアクセスができるか確認します。悪用されたシステムに永続的な利用が可能か否か、つまりブラックハッカーがいつでも簡単に侵入出来て情報が盗みだせる環境を作成します。

5.分析(Analysis)

侵入テストの結果は、詳細なレポートとしてまとめます。
 
レポートの内容として
  • 悪用が出来た脆弱性について
  • アクセスされた機密データ
  • アクセスの維持方法 など
企業はこれらの情報をもとに、企業のWAF設定やセキュリティプログラムを変更して、脆弱性にパッチを当て、将来の攻撃から保護するために役立てます。
 

ホワイトハッカーは、バグバウンティでペネトレーションテストの技術を使い一攫千金をめざす(概要編)のまとめ

バグバウンティの言葉は数年も経つと当たり前のように登場する言葉だと思います。
当然、ブラックハッカーの技術も向上して、バグバウンティを行うホワイトハッカーも常に技術の習得が必要になると思います。
 
でも、今から少しずつでも技術を習得しておけば・・・ムフフフフ
(※いっぱい勉強しないといけません。)
 
わかりますよね。
絶対に、みんなに喜ばれる技術者になれます。
 
※バグバウンティのプログラムに参加して、セキュリティ上のバグを報告することによって報奨金を受け取るサイトをひとつご紹介します。
日本初、バグ報奨金制度のプラットホームバグバウンティ
 
今回は「概要編」でしたが、次から「実践編」に進めたいと思います。
お楽しみにね!!