25138 views
マルウェア解析に必要な素養 ==== 筆者:[友利奈緒 (@K_atc)](https://twitter.com/K_atc) __ターゲットの読者__ マルウェアの感染原理を少し知っている程度、マルウェアの事例をいくつか知っている程度の者で、かつ、ここで得た知識を善行に役立てられる者。 :::danger 怪物と闘う者は、その過程で自らが怪物と化さぬよう心せよ。おまえが長く深淵を覗くならば、深淵もまた等しくおまえを見返すのだ。 (フリードリヒ・ニーチェ) ::: __目標__ マルウェアが絡んだ事情を体系的に学ぶ。攻撃者、防衛者、解析者の各視点から"マルウェア"のチョメチョメを理解する。インターネットで公開しているメリットを活かすため、取り上げる情報はなるべく3年以内程度のものを優先し、古いもの(イカタコウイルスとか…キーロガーとか…)は取り上げないか、簡単に済ませる。 __お断り__ 日本語資料優先なので情報源が偏っています(最近の加筆分はそんなことないですが)。気が向いたときに執筆しているので __気長に完成を待ってください__ 。(裏話をすると、このメモの執筆は勉強と知識の体系化を目的としていますw)  アセンブリ解析を伴う実践的な解析技術は、セキュリティベンダやセキュリティカンファレンスで開催される高額なトレーニングなどで会得できるかと思いますので、そのトレーニングで言及されないと思われるトピックを優先して書いています。  未熟な者が本書を見て攻撃を試すことがないように、試しやすい攻撃技術の説明はかなりぼかして書いています。また、ワームの拡散に関わる脆弱なシステムの探索~ペネトレーション(侵入)までの一連の方法は汎用目的で悪用されるとまずいので解説の対象外とします。必要に応じて部分部分の解説はしますが、知っていることすべては書きません。この内容を会得したい方はSANSのトレーニング(例えば国内でも開催されるSEC504)や、25歳未満の場合はセキュリティ・キャンプの地方大会(※ただしかなりぼかしが効きます)など受講をすることをおすすめします。  個人的な主義で外来語の表記(特に長音付けルール)は[文科省の通達](http://www.mext.go.jp/b_menu/hakusho/nc/k19910628002/k19910628002.html)に従っています。C言語を理解しているものとして話を進めます。 マルウェアと法律 ---- 文字数制限により [マルウェア解析に必要な素養~法律編~](https://hackmd.io/s/Hyv_p8uYb#) に移動しました。 導入 ---- 文字数制限により、 * まずアセンブリ(正確にはELF/PEバイナリ)と英語を読めるようになろう * 計算機アーキテクチャとOSの仕組みを知ろう * 本やインターネットとうまく接しよう * 略語リスト * バイナリ解析環境を整えよう * 他に必要なスキル * マルウェアとは何なのか? は[マルウェア解析に必要な素養~導入編~](https://hackmd.io/s/HkV9t7chW#) に移動しました。 用語 ---- 文字数制限により [マルウェア解析に必要な素養~用語編~](https://hackmd.io/s/rkLiAUdYb#) に移動しました。 マルウェア解析基礎の基礎 ---- 文字数制限により、 * ファイル形式 * ファイルシステム * エンコード、デコード * ステガノグラフィー * ネットワークプロトコル * マルウェア関連でよく出てくるプロトコルやアプリケーション は [マルウェア解析に必要な素養~基礎の基礎編~](https://hackmd.io/s/HkABOISgG#) に移動しました。 マルウェアの分類 ---- 機能で見たときのマルウェアの分類をまとめる。 * バインダ(Binder)型 * ダウンローダ(Downloader)型 … 他のマルウェアを感染機にダウンロードする。初期感染フェーズで登場 * バックドア(Backdoor)型 … 侵入口を用意するタイプ。C2とやりとりするのが特徴 * トロイの木馬/バンキングトロイ(バンキング型トロイの木馬;バンキングトロジャン) * 情報窃取型 … 窃取対象はネットバンキングの口座情報など * 身代金要求型 … ランサムウェア。ファイル・データという資産を人質に金銭を要求する * 暗号化型ランサムウェア * 仮想通貨発掘型 … ビットコインに代表される仮想通貨のマイニング(発掘)を行う。2017年頃から登場? * 偽セキュリティソフト型マルウェア … 「当職はアンチウイルスソフトなり。他のAVを無効化して欲しいナリ」 * ワーム(Worm) … 自己複製機能(拡散機能)があるタイプ * __※気軽に動的解析してはいけないマルウェアランキング第一位__ * ボット(Bot) … C2で命令を受けて攻撃するタイプ→Backdoorに統合しても良さげ * 自己完結型 * スケアウェア/アドウェア/スパイウェア(キーロガー含む) 感染対象によって、以下の分類も可能。 * ブートセクタ感染型 * ファイル感染型 * レジストリ値を操作するタイプも含む * 複合感染型 * Web感染型 * USBメモリ感染型 よくある感じのマルウェアの挙動 ---- **TODO**:基本的にマルウェアは単体ではいろいろしない、複数のマルウェアと協調して事をなすことを述べる **TODO**:ここの内容が古くなってきた。要改訂。 悪性の実行可能ファイルがターゲットのコンピュータでマルウェアを含むファイルを生成することをドロップ(Drop)と表現する。悪性の実行可能ファイルはドロッパー(Dropper)と呼ばれる。 \# dropperとbinderって使い分けられてるのかな… Note: 目的によってはフェーズの移り方が変わるだろうし、まとめ方が難しい ### 感染フェーズ 第一のマルウェアが攻撃ベクター(Attack Vector)を通じてターゲットに侵入する。 #### 能動的感染 ユーザー操作により感染フェーズが始まるときに登場するのはバインダ(Binder)と呼ばれるもので、それがトロイの木馬などのインストーラだとは分からないような細工をする。 例えば、企業のシステム管理部門を騙って追加でインストールが必要なセキュリティソフト(実際はマルウェア)があるとして騙してインストールさせる、圧縮されたファイルと見せかけて裏でマルウェアのインストールを完了する。 例えば、BLACKGEAR(2012年)では、実行ファイルであるバインダをフォルダに見せかけてクリックさせるという手法を取っていたとCODEBLUE 2016でトレンドマイクロの人が話していたと記憶している。 具体的な感染ケースは以下の通り: * 標的型攻撃 * 脅迫じみた広告(「お使いのPCが危険です!」) * 野良DLL、野良インストーラ * USB * [更新:「JS_POWMET」の「ファイルレス活動」、感染経路が USB と特定 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/ar #### 受動的感染 ユーザーが意図せず感染フェーズを開始してしまう場合は、脆弱性を抱えるソフトウェア(オフィスソフト、ブラウザ等)がmaliciousなファイルを読み込んでしまう場合である。 具体的な感染ケースは以下の通り(**TODO**:もっとありそう): * Malvertising * ブラウザーのJavaScriptエンジン/Flash Player/Silverlightの脆弱性を利用するタイプ * 具体例は [RIG EKの節](#rig(リグ;20169〜)) を参照されたし **疑問点**:標的型攻撃において、ドロッパー/バインダと配布形態とバインダが実行するまでの流れ←別章を立てたほうがよさそう #### 自動起動 TODO:レジストリ登録、サービス登録、MBR書き換え TODO ### C&Cフェーズ C&CはCommand & Controlの略称である。C&CはC2とも表記される。 マルウェア(=ボット)がC2サーバーに接続し、攻撃のための設定情報を受け取るフェーズ。Command & Controlの通り、外部サーバーから指令を受ける体をとる場合に、C&Cフェーズがあるという。したがって、自律して動くマルウェアはC&Cフェーズをもたない。ただし、セキュリティベンダー次第ではC2接続先情報を入手するステップもC2フェーズに含める場合がある([という](http://www.atmarkit.co.jp/ait/articles/1607/27/news016.html))。本書はこの解釈を採用する。 C&Cフェーズは次のステップで構成される。 1. マルウェアは、自身に隠されたファーストステージC2への接続先情報を読み出す。ファーストステージC2は、ブログ記事やコメント欄などで"本物の"C2サーバーのありかを示すWebページのことである。ここで読み出す情報の詳細は、[\#ファーストステージC2での情報の秘匿](#ファーストステージC2での情報の秘匿) 参照。 2. 前のステップで得た情報を使ってセカンドステージC2に接続する。セカンドステージC2は、本当のC2の役割を果たすサーバーを指す。 解析時の注意事項: * C2サーバーに接続するための情報を起動時の引数で与えるケースあり(TODO:具体例) #### Domain Generation Algorithm(DGA) 以下の記事が詳しい。DGAについては、とりあえずリンク先を読んでほしい。 http://blog.trendmicro.co.jp/archives/3799 > DGAは接続先ドメイン名生成の仕組みのことで、多くの被害を及ぼしたワーム「WORM_DOWNAD(別名:Conficker)」が用いることで有名になりましたし、最近でも ボットネット「ZeuS」と関連して動作する「PE_LICAT」が利用することが分かっています。では攻撃者がこの DGA の仕組みを用いる理由は何でしょうか。それは明らかに URLフィルタリングへの対策でしょう。 > ※抜粋のために一部改変 DGAネタ: * [Now Mirai Has DGA Feature Built in](http://blog.netlab.360.com/new-mirai-variant-with-dga/) #### ファーストステージC2での情報の秘匿 マルウェア自身が持っているKeyで所定の暗号文を復号して得た平文がファーストステージC2への接続情報の場合もある。 ファーストステージC2の場所と、そこでC2の設定情報をどう暗号化しているのかどうかは、マルウェアによって異なるため、個別にどうなっているのかを見ていくことにする。 ##### BKDR_ELIRKSの場合 BKDR_ELIRKSは、BLACKGEARのバックドアとして機能するマルウェアで、次のような挙動をする[1]。 1. さまざまなブログやミニブログのサービスから、暗号化されている C&C の設定情報を取得 1. 設定情報が復号されると、C&Cサーバへ接続し、攻撃者からの指令を待つ > ![「BKDR_ELIRKS」の暗号化アルゴリズム](http://blog.trendmicro.co.jp/wp-content/uploads/2016/11/161103comment04.png) > 「BKDR_ELIRKS」の暗号化アルゴリズム([1]より) [1] [標的型サイバー攻撃キャンペーン「BLACKGEAR」日本も攻撃対象に | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/13990) #### BKDR_YMALRの場合 `BKDR_ELIRKS` は、BLACKGEARのバックドアとして機能するマルウェアで、`BKFR_ELICKS` と同様の不正活動を実行するが、C2設定情報を得るまでに次のようなステップを経る[1]。 1. BKDR_YMALRには、複数の暗号化された文字列が含まれている 2. 暗号化された文字列は、ブログの URL と識別子を、最初に Base64方式でエンコードし、次に DES方式で暗号化したもの。暗号鍵と初期ベクトルがハードコードされており、どちらも「1q2w3e4r」 3. 暗号文が復号されると、「BKDR_YMALR」は「ELIRKS」と同じアルゴリズムで C&C情報を取得する > ![「BKDR_YMALR」のブログURL と識別子](http://blog.trendmicro.com/trendlabs-security-intelligence/files/2016/10/blackgear6.png) > 「BKDR_YMALR」のブログURL と識別子 > ![「BKDR_YMALR」の復号アルゴリズム](http://blog.trendmicro.co.jp/wp-content/uploads/2016/11/161103comment07.png) > 「BKDR_YMALR」の復号アルゴリズム > ![ブログ投稿記事から取得された「BKDR_YMALR」の C&C設定情報](http://blog.trendmicro.co.jp/wp-content/uploads/2016/11/161103comment08.png) > 「BKDR_YMALR」の復号アルゴリズム > ※図はいずれも[1]より [1] [標的型サイバー攻撃キャンペーン「BLACKGEAR」日本も攻撃対象に | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/13990) ### 攻撃フェーズ 文字通りの意味。C2サーバーを必要とするマルウェアは、この時点でターゲットはボットと化している。つまり、攻撃者からの司令によりDDoS攻撃を仕掛ける(TODO:要確認)。 ### 探索(拡散)フェーズ? TODO #### [shodan](https://www.shodan.io/) TODO TODO:shodanみたいのが原因で電力システムがダウンした話(たしか) ### 実例 #### BLACKGEAR(2012年〜TODO年) (en) [BLACKGEAR Espionage Campaign Evolves, Adds Japan To Target List - TrendLabs Security Intelligence Blog](http://blog.trendmicro.com/trendlabs-security-intelligence/blackgear-espionage-campaign-evolves-adds-japan-target-list/) (ja) [標的型サイバー攻撃キャンペーン「BLACKGEAR」日本も攻撃対象に | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/13990) * 台湾と日本をターゲットにしたキャンペーン #### Emdivi(2014年) 年金機構を狙ったマルウェア TODO ダウンローダー ---- TODO ### ダウンローダーが使うスクリプト言語 * PowerShell * JScript * VBScript * 標的型攻撃 ---- TODO ポイント: * 人を相手にするのでその人が分かる言語に対応せねばならない。必然的に特定の国に対する攻撃となる。 * 攻撃を受けた組織のなかで "1人さえ" 引っかかれば侵入可能となる * メールで言えば開封率0%が必達目標となってしまう。開封を許容するような仕組みづくりが求められる 例: * [IPAテクニカルウォッチ「標的型攻撃メールの例と見分け方」](https://www.ipa.go.jp/files/000043331.pdf) 標的型攻撃の調査レポート: * [CODE BLUE 2015:日本の組織をターゲットにした攻撃キャンペーンの詳細](https://www.jpcert.or.jp/present/2015/20151028_codeblue_ja.pdf) (2015/10/28) * [日本企業を狙う高度なサイバー攻撃の全貌 – BRONZE BUTLER | SecureWorks](https://www.secureworks.jp/resources/rp-bronze-butler) (2017/6/23) ### malspam マルウェア付きのスパムメール。(TODO:ばらまき型マルウェアという分類でもいい気がするんだけどどうなんだろ←たぶんOK?) * [Malware-Traffic-Analysis.net - 2017-06-21 - Hancitor malspam (from "De Leons Transport, Inc.")](http://malware-traffic-analysis.net/2017/06/21/index2.html) (2017/6/21) * [InfoSec Handlers Diary Blog - Malspam pushing Locky ransomware tries HoeflerText notifications for Chrome and FireFox](https://isc.sans.edu/diary/22776) (2017/9/1) * メール→Dropboxを装ったWebページ→偽ブラウザポップアップ→ダウンロード&実行→感染 * HoeflerText notifications 用語化しそう?(Sporaでも同様のポップアップがあった) #### ばらまき型マルウェア TODO。口頭では単に「ばらまき型」と言われがち。 ### スピアフィッシング TODO ### やりとり型攻撃 TODO ### ダブルバウンスメール [情報学広場:情報処理学会電子図書館 - ダブルバウンスメールを活用した悪性メール対策の有効性](https://ipsj.ixsq.nii.ac.jp/ej/index.php?active_action=repository_view_main_item_detail&page_id=13&block_id=8&item_id=175776&item_no=1) ### メール添付ファイルの元ネタ 大学の研究室、学会などのサイトで公開されている個人情報を含んだファイルを元にすることもある。 あとはgoogle検索で「[filetype:xls site:ac.jp](https://www.google.co.jp/search?q=filetype%3Axls+site%3Aac.jp)」とググるとか。 ### 事例集 * [日本学術振興会を騙った標的型攻撃メール 調査メモ | (n)inja csirt](http://csirt.ninja/?p=1103) #### ONI(2017年6月?7月?) * [日本をターゲットにしたGlobeImposterの亜種(”ONI”の正体) | Cylance Japan株式会社](https://www.cylance.com/ja_jp/blog/jp-oni-ransomware-globeimposter.html) (2017/7/6) * [ONI Ransomware Used in Month-Long Attacks Against Japanese Companies](https://www.bleepingcomputer.com/news/security/oni-ransomware-used-in-month-long-attacks-against-japanese-companies/) (2017/10/31) ### TODO: 未分類 [日本人を標的としたAveoマルウェア ファミリを特定](https://www.paloaltonetworks.jp/company/in-the-news/2016/160817_unit42-aveo-malware-family-targets-japanese-speaking-users.html) ### BEC(Business Email Compromise)詐欺 ### BPC(Business Process Compromise)詐欺 TODO: このドキュメントのどこかで取り上げた気がするが ### 水飲み場攻撃 だいぶマイナーな攻撃(呼称)になってしまった。2000年後半はIT Pro等でわりとよく出てきた用語かな。 ある属性の人が利用すると思われるサイトにマルウェアに感染するトラップを仕掛ける攻撃。いつも使っているサイトだから安心という暗黙の了解に付け込む。 下は厳密には水飲み場攻撃では無い気がするが、比較的水飲み場攻撃ぽい。 * dropbooksにマルウェアがアップロードされていた話 * twitterで流れたんだけどどのツイートか思い出せぬ… ### Lateral Movement(Post Exploit) 横展開。組織のネットワークで感染が拡大する。 使われるもの: * SMBの脆弱性 #### 例 プローブにおける攻撃者側の工夫: > 図7(※省略)は図5①(筆者注:WannaCryに感染した端末Aが、ネットワーク上の端末に445/tcpに接続可否を調査するフェーズ)において発生する通信の一部で、DoublePulsarが設置されているかを確認する通信です。この通信は、__SMB通信では通常使用しないコマンド(TRANS2_SESSION_SETUP)13を用いており、TimeoutフィールドおよびMultiplex IDフィールドの値を利用し、バックドアに対して命令を送信します__。 [lac] 参考資料: * [lac] [JSOC INSIGHT vol.17 | セキュリティ対策のラック](https://www.lac.co.jp/lacwatch/report/20170925_001387.html) (2017/9/25) ### Active Directory Pass-the-ticketによるGold Ticketの奪取→ファイルサーバーからの情報漏洩 ### メール送信テク #### 送信元詐称(Fromヘッダ詐称) ##### Mailsploit [Mailsploit](https://www.mailsploit.com/index) 脆弱性の解説はココ。お試し可能。 [送信者を偽装できる脆弱性「Mailsploit」について](https://www.jpcert.or.jp/newsflash/2017120701.html) (2017/12/7) > 「Mailsploit」が悪用された場合、DMARC(DKIM/SPFの認証を用いたプロトコル)やスパムメールのフィルターといった、今までのメール偽装対策で有効とされていた方法でブロックされることなく偽装したメールを送ることができる可能性があり、不審なメールを見分けることが難しくなるケースが考えられます。また、メールヘッダーにASCII文字以外の文字を入れるとそれ以降の文字処理が行われないという問題があり、この問題を悪用することで、従来の対策で検知されることなく送信者を偽装することができます。 情報窃取型マルウェア ---- TODO:(といっても文字通り)。銀行口座情報の窃取が目的の場合は、バンキングトロイ、バンキング型トロイ(の木馬)と呼ばれることもある。 ### URSNIF(Gozi)(2016年~2017年) 読み:あーすにふ。バンキングマルウェアの一種。 解析報告: * [バンキングマルウェア「URSNIF」 解析レポート - NTT Security](https://www.nttsecurity.com/-/media/nttsecurity/files/resource-center/what-we-think/ursnif_20161215.pdf)(2016/12/26) ツール類: [DreamBot・Gozi感染チェックサイト|一般財団法人日本サイバー犯罪対策センター](https://www.jc3.or.jp/info/dgcheck.html) > JC3では、不正送金被害につながるインターネットバンキングマルウェアDreamBot及びGoziによる感染拡大及びこれによる被害の防止のため、DreamBot又はGoziへの感染状況を確認するためのウェブサイトを試験運用しています。 #### URSNIF亜種:DreamBot(2017年) [国内ネットバンキングを狙う新たな脅威「DreamBot」を解析 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/14588)(2017/3/16) [【セキュリティ ニュース】4月修正のOffice脆弱性、不正送金マルウェアの拡散に悪用される(1ページ目 / 全2ページ):Security NEXT](http://www.security-next.com/082874) > 国内を対象とした不正送金マルウェア「DreamBot」の感染活動に、マイクロソフトが4月の月例セキュリティ更新で修正した脆弱性「CVE-2017-0199」が悪用されている。 > > 「CVE-2017-0199」は、「Office」に関する脆弱性で悪用されるとリモートよりコードを実行されるおそれがある。 > > 同脆弱性は、修正プログラムの公開当初よりゼロデイ攻撃が指摘されていたものの、国内における目立った攻撃は確認されていなかった。しかし、4月下旬に攻撃コードが公開されて以降、状況が変わりつつあるようだ TODO: 後で調べる ### EyePyramid(2017年) [イタリアで発生したハッキング事例「EyePyramid」を解析 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/14363) ランサムウェア(Ransomware) ---- システムへのアクセスを制限して、身代金(Ransom)を要求するマルウェア。 ファイルを一方的に暗号化し、復号を条件にビットコインで身代金を支払うことを要求する。親切なことに、ビットコイン初心者でも支払いができるようにステップバイステップで解説するページが付いている。支払いや手順解説はTorで公開されるサイトで行われることもある。 2016年はランサムウェアの話が本当によく出た。2017年に減少傾向?(TODO) [増長する「ランサムウェアビジネス」、2016年の脅威動向を分析 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/14526) 企業に対するアンケート結果では、同じような被害に遭い、…**TODO** **TODO**: 疑問点 * 使っている暗号方式 * IVやKey, IDをどうしているのか? * 検体ごとに固定?ターゲットごとに生成? * 感染経路 概要はここを読んだほうが早いかもしれない: * [IPAテクニカルウォッチ「ランサムウェアの脅威と対策」:IPA 独立行政法人 情報処理推進機構](http://www.ipa.go.jp/security/technicalwatch/20170123.html) ランサムウェアの本が出た(2016/11): [Ransomware - Defending Against Digital Extortion (2016/11; O'Reilly Media)](http://shop.oreilly.com/product/0636920054290.do) TODO: ランサムウェアの動作 資料: * [Cisco Japan Blog » Cerber スパム:すべての原因は ToR に](http://gblogs.cisco.com/jp/2016/12/cerber-spam-tor/) ランサムウェアの最新情報はTwitterで検索すると出てきたりする。 * [Twitterでの \#SAGE ransomeware の検索結果](https://twitter.com/search?q=%23SAGE%20ransomeware&src=typd) * sage mathなどの検索ノイズに注意 ランサムウェア総括: * [新種のランサムウェアによるリスクは、企業のほうが深刻 | Symantec Connect コミュニティ](https://www.symantec.com/connect/ja/node/3706681) (2017/9/1) 身代金の支払状況: * [Tracking desktop ransomware payments](https://www.blackhat.com/docs/us-17/wednesday/us-17-Invernizzi-Tracking-Ransomware-End-To-End.pdf) (2017/7/26) ### Petya(2016年~2017年) [新暗号型ランサムウェア「PETYA」、MBRを上書きしてPCへのアクセス不能に | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/13106) (2016/3/28) このときは特に話題ならず。2017年6月に亜種が猛威を振るいだした。 [大規模な暗号化型ランサムウェア攻撃が欧州で進行中、被害甚大 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/15339) (2017/6/28) ### Locky(2016年) [世界で猛威を振るうランサムウェア「Locky」の再来 | FireEye](https://www.fireeye.jp/company/press-releases/2016/locky-is-back-asking-for-unpaid-debts.html) ### TeslaCrypt(2016年) TODO ### CERBER(2016年〜) ↓ CERBER 4.0 [解析情報:「CERBER」、データベースファイルの暗号化機能を追加 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/14102)(2016/11/28) ### Spora(2017年) 1月から報道が始まり、6月に国内セキュリティベンダから情報が出るようになった。トレンドマイクロは世界では1月から、国内では2月から観測できたと報告した。 [Forbes] [史上最も洗練された「身代金ウィルス」Sporaの恐るべき機能性 (Forbes JAPAN) - Yahoo!ニュース](http://zasshi.news.yahoo.co.jp/article?a=20170115-00014874-forbes-bus_all) (2016/1/15) [Spora Is The Highly-Sophisticated Future Of Ransomware](http://www.forbes.com/sites/leemathews/2017/01/12/spora-is-the-highly-sophisticated-future-of-ransomware/#1750f1c9608b) (2016/1/12) [TM] [2017年第1四半期 セキュリティラウンドアップ | トレンドマイクロ](http://www.trendmicro.co.jp/jp/security-intelligence/sr/sr-2017q1/index.html) Sporaで分かっていること: * 初期はロシア語圏を対象 [Forbes] * エクスプロイトキットで感染 [TM] * 非ドライブバイダウンロード。フォントのインストールを称する形式 [TM] * > 「SPORA」を拡散させるEKサイトでは、使用ブラウザがGoogleChromeだった場合、「使用フォントがインストールされていないため表示が乱れている」という旨のメッセージを表示し、フォントのインストールに見せかけてランサムウェア「SPORA」をインストールさせます。[TM] * ファイル名はChrome font.exe(※筆者の推測) * > 脅迫状の代わりにコンソールを表示し、「ファイルの完全復旧」、「感染回避措置」、「ランサムウェアの削除」、「個別ファイルの復旧」、「ファイル2件のみ無料で復旧」等の選択肢を異なる料金で提示します。「支払い期限」や「支払い方法の選択」も提示され、チャット機能も備えています。コンソールの言語は、感染PCの国別コードに応じて表示されます。 [TM] * IDに国コードが入る(JPなど) * 従来のC2なし (?) 解析報告: * [Explained: Spora ransomware - Malwarebytes Labs | Malwarebytes Labs](https://blog.malwarebytes.com/threat-analysis/2017/03/spora-ransomware/) * ダウンロード可能な検体(welcome to dreamland.scr): https://www.hybrid-analysis.com/sample/e3af616583327f189f2d9e0b1c38199e1f35dda391b6a559253be0fb4410a0e9?environmentId=100 * Virtual BoxのWIndows 8では動作せず(ファイルサイズが0になって何も表示されず終了) * オンラインサンドボックスの解析結果(検体入手可)→[Free Automated Malware Analysis Service - powered by VxStream Sandbox - Viewing online file analysis results for 'Chrome Font.exe'](https://www.hybrid-analysis.com/sample/5a67dbbf83535f21a29adf3e5045da02b115bfce13e790d70f87633cda88c868?environmentId=100) ### WannaCry(2017年) TODO: * [WannaCry: Two Weeks and 16 Million Averted Ransoms Later](https://blog.kryptoslogic.com/malware/2017/05/29/two-weeks-later.html) * [世界各地で発生したランサムウェア WannaCry の感染事案についてまとめてみた - piyolog](http://d.hatena.ne.jp/Kango/20170513/1494700355) [しくじり話]ランサムウェアは暗号化したファイルを復号してくれるという信頼があってこその収益モデルである。そんな中WannaCryはしくじった。暗号通貨により支払いが行われるときは支払い先のアドレス(=口座)がバグにより同じになってしまって(ハードコードされてたアドレスが使われた模様)、誰が支払ったのかが分からなくなってしまった\*。WannaCryを操る攻撃者は、 __TODO__:救済策を用意した(内容忘れた;支払う前に攻撃者にほげほげな方法で連絡してってアナウンスがあったらしいが、記憶が不鮮明)。 \* [20万人以上が感染したランサムウェア「WannaCry」は身代金として約300万円をゲットしていることが明らかに - GIGAZINE](http://gigazine.net/news/20170515-wannacry-ransom-money/), https://twitter.com/threatintel/status/864504502682099716 ### Erebus(2016年~2017年) [1] [続報:暗号化型ランサムウェア「Erebus」が Linux を標的に | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/15273) (2016/6/19) ↓おそらく(感染規模の割に)これが取り上げられている理由 > 2017 年 6 月 10 日、韓国の Web ホスティング企業「NAYANA」が暗号化型ランサムウェア「Erebus(エレブス)(「RANSOM_ELFEREBUS.A」として検出)」による攻撃を受け、同社が管理する153台のLinuxサーバ感染と3,400以上の企業のWebサイトの影響が確認されました。 > > NAYANA は、6月12日、同社の Web サイトで告知し、管理するすべてのサーバのファイルを復号するために、攻撃者が「Bitcoin(ビットコイン、BTC)」で 550BTC(162万米ドル)にも上る高額な身代金を要求していることを明らかにしました。そして6 月 14 日の告知で、攻撃者との交渉の結果、身代金が 397.6BTC(2017 年 6 月 19 日の時点でおよそ 101 万米ドルに相当)に減額され [1] http://www.nayana.com/bbs/set_list.php?b_name=notice にハッカー側との交渉の様子なども報告されている([らしい](https://twitter.com/MasafumiNegishi/status/875547244048465920)) ![NAYANAとハッカーの交渉の様子(?)](https://i.imgur.com/s44ia3r.png "NAYANAとハッカーの交渉の様子(?)") <!-- http://imgur.com/a/57ubV --> NAYANAのその後: <blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">ランサムウェア Erebusに感染した韓国のWebホスティング会社「NAYANA」は1次復号処理が完了したとのこと。ユーザへの補償内容も記載されています。 保証内容を訳したものは画像の通りです。 / <a href="https://t.co/ogOjV0UcYb">https://t.co/ogOjV0UcYb</a> <a href="https://twitter.com/hashtag/1%E4%BA%BACSIRT?src=hash">#1人CSIRT</a> <a href="https://twitter.com/hashtag/NAYANA?src=hash">#NAYANA</a> <a href="https://t.co/AAdmBpkNcX">pic.twitter.com/AAdmBpkNcX</a></p>&mdash; 辻 伸弘(nobuhiro tsuji) (@ntsuji) <a href="https://twitter.com/ntsuji/status/882932341240324097">2017年7月6日</a></blockquote> <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script> ### Mole(2017年4月~?) CryptoMixの亜種(?) [ランサムウェア「Mole」、英大学などが被害--汚染サイトを訪問しただけで感染 - ZDNet Japan](https://japan.zdnet.com/article/35103147/) (2017/6/22) > ランサムウェアがネットワークに侵入できたのは、ユーザーが悪意ある広告をクリックする必要すらなかったのも、理由の1つだ。「Astrum」という脆弱性攻撃ツール(エクスプロイトキット)を利用する攻撃者のせいで、汚染されたサイトを訪問するだけで感染する。 [Ransomware Recap: Expanding Distribution Methods - Security News - Trend Micro USA](https://www.trendmicro.com/vinfo/us/security/news/cybercrime-and-digital-threats/ransomware-recap-expanding-distribution-methods) (2017/4/25) > A CryptoMix variant calling itself Mole (Detected by Trend Micro as CRYPAURA.MOLE) has been detected abusing Google Doc URLs to infect victims. > ### Bad Rabbit(2017年) [新しい暗号化型ランサムウェア「Bad Rabbit」、ネットワーク経由で拡散、ウクライナとロシアなどで確認される | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/16226) (2017/10/25) * 感染経路は図1を参照 * 初期感染は偽インストーラ。横展開はあるが、~~脆弱性を利用しない~~総当たり攻撃とEternalRomance(SMBの脆弱性;2017年3月)を使い分ける(※TMは2017/10/27に初期情報を訂正)。 * 認証情報の抽出→Mimikatz * ディスク暗号化→正規のディスク暗号化ツール「DiskCryptor」 [ランサムウェア「Bad Rabbit」の内部構造を紐解く | MBSD Blog](https://www.mbsd.jp/blog/20171027.html) (2017/10/27) 深く解析している記事。下はTMの記事との差異のみ * > Bad Rabbitは調査の結果、6月に話題となったMBR暗号化ランサムウェア「NotPetya」との類似点が数多く存在することがわかりました。 ### No More Ransom Project https://www.nomoreransom.org/ 身代金はもう払わないぞ!の精神で暗号化解除ツールの開発と配布をするプロジェクト。セキュリティ対策ソフトの開発会社も協力している。 * [「No More Ransom」参加ベンダー4社のランサムウェア復号ツールの無償提供が開始](http://internet.watch.impress.co.jp/docs/news/1035579.html)(INTERNET Watch;2016年12月16日) Webマルウェア ---- 本章では、以下のマルウェアを対象にする * Webサーバー上のコンテンツが改ざんされ、そのサーバーから配布されるマルウェア * 不正広告から配布されるマルウェア(Malvertising) ### 攻撃ベクター * CMSの脆弱性 * CMS=コンテンツ管理システム * CMSの例)Wordpress、Joomla!(ジュームラ)、Drupal(ドルーパル) * CMS自体またはそのプラグインのセキュリティホールが放置されている * 特に有志によるプラグインの脆弱性は開発者に放置されやすい * 管理者アカウントのパスワードが弱い * 「弱い」とはパスワードリスト攻撃(アカウントリスト攻撃)により容易に推測できるようなものを指す * ログイン制限をしていない * 外部からの多数のログイン試行をブロックする機構が無いなど * FTP * パスワードが弱い * (改ざんされた)静的・動的HTML * iframeタグ * scriptタグ * Web広告/不正広告/Malvertising * Flash * JavaScript * 例)Drive-by-Download, Drive-by Mining, Fake Alert * scriptブロック * マイナー(仮想通貨の発掘行為) * 広告に入っていることもあるんだっけ? * 運営者が収益の安定化のために意図的に導入する例もあり? * 例)CoinHive * オープンリダイレクト脆弱性 * [Unvalidated Redirects and Forwards Cheat Sheet - OWASP](https://www.owasp.org/index.php/Unvalidated_Redirects_and_Forwards_Cheat_Sheet) * ブラウザ * see ドライブバイダウンロード攻撃 * ブラウザプラグイン * 有名なプラグインと類似のmaliciousなプラグインとか * 有名なプラグインがmaliciousな動きをしたケースもある * 例: [Chromeの拡張機能Window Resizerがマルウェアを含んでいたことが発覚 - GIGAZINE](http://gigazine.net/news/20140114-window-resizer-malware/) (2014/1/14) ### 感染経路 > (下図は)JPCERT/CCが確認した、代表的なWebサイトへの攻撃です。 ![Webマルウェアの感染経路](https://www.jpcert.or.jp/pr/2016/img/pr160004_picture02.png) ~ 画像は https://www.jpcert.or.jp/pr/2016/pr160004.html より ### ドライブバイダウンロード(Drive-by download;DbD, DbyD) TODO キーワード: * トラフィック * Compromised Site * JavaScriptとブラウザエクスプロイト * God Mode ※場合による * VBScript * PowerShell 情報源: * [DbD/EKの情報を集めるときに見ると良いサイト](https://gist.github.com/koike/2d9e4b40f9ad24ad453b18cc1a3b9832) (by nao_sec kkrnt) 解析例: [NS1] [北朝鮮関連サイトを踏み台とした水飲み場型攻撃 解析レポート](https://www.nttsecurity.com/-/media/nttsecurity/files/resource-center/what-we-think/20170815_%E5%8C%97%E6%9C%9D%E9%AE%AE%E9%96%A2%E9%80%A3%E3%82%B5%E3%82%A4%E3%83%88%E3%81%AE%E3%82%B5%E3%82%A4%E3%83%8F%E3%82%99%E3%83%BC%E6%94%BB%E6%92%83%E3%83%AC%E3%83%9B%E3%82%9A%E3%83%BC%E3%83%88_v1.pdf) by NTT Security (2017/8/23) #### Internet Explorer ##### God Mode #### IEのエクスプロイト→???→ダウンローダー実行 ##### エクスプロイト→イントラネット利用によるGod Mode移行→ダウンローダー実行 TODO ##### エクスプロイト→フラグ書き換えによるGod Mode移行→ダウンローダー実行 例: * [NS1] ### Malvertising 悪意のある広告。TODO:概要。時代により注入されるコードの目的が変わる。 事例: * Astrum EK(2017年) * HookAds攻撃キャンペーン(2017年〜) * Drive-by Mining (2017年〜) * 仮想通貨のマイニングを行うことを目的としたjavaScriptコード(wasm(WebAssembly)含む) * [nao_sec: Looking into Drive-by Mining](http://www.nao-sec.org/2017/09/looking-into-drive-by-mining.html) (2017/9/27) * [攻撃キャンペーン「EITest」によるサポート詐欺サイト、仮想通貨発掘コードを拡散 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/16020) (2017/9/28) * [サイバー攻撃の標的は仮想通貨へ? コインマイナー拡散サイトが約875倍に増加 -INTERNET Watch](https://internet.watch.impress.co.jp/docs/news/1094532.html) (2017/12/1) #### Web広告の形態 TODO: 広告の枠をサイト運営側から購入するタイプと、リアルタイム入札の2種があるのは知ってる。もっと調べないとなぁ。広告効果が低いサイトでは広告単価が低くなるのでチョメチョメな広告が表示されるとかないとか。 キーワード: * 入札 * アドテク * アドネットワーク #### Web広告における収益手段 一般的な話です。ふわふわした理解で書いてるよ。 * クリック課金 * クリック回数に基づいて広告料金が決定 * 例)AdSense? * インプレッション課金 * 表示回数に基づいて広告料金が決定 * アフィリエイト * 広告単価が高く、ブロガーなどが活用している * 例)Pay Per Install(アプリのインストールごとに料金発生)、対象の商品を購入(Amazon、楽天) * 関連: * [実例で学ぶネットの危険:スマホで突然の「ウイルスに感染」表示、開くとどうなる? | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/16382) (2017/11/15) #### Web Browser Fingerprint アドテクノロジー界隈が使っているトラッキング技術だけど参考情報として。 * まずは試してみよう→ https://amiunique.org/ * [Fingerprint解説サイト](https://www.saitolab.org/fp_site/) * [Advanced Tor Browser Fingerprinting](http://jcarlosnorte.com/security/2016/03/06/advanced-tor-browser-fingerprinting.html) * Canvas Fingerprinting * HTML5で追加されたcanvasに文字をレンダリングされたときの画像ハッシュ値を根拠とする * 試されたい方→ https://browserleaks.com/canvas TODO:Exploit Kitと関連してOSやJSエンジンの種類やバージョンを取る方法(本当にこれ使ってるの?←yes) ### Fake Alert(フェイクアラート、偽警告) [1] [実例で学ぶネットの危険:スマホで突然の「ウイルスに感染」表示、開くとどうなる? | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/16382) (2017/11/15) > 偽の警告メッセージで不安をあおって利用者をだます手口全般を「Fake Alert(フェイクアラート、偽警告)」と呼びます [1] #### FakeAV > ウイルス感染を理由に利用者をだます手口は特に「FakeAV」と呼ばれます [1] 警告先でインストールを要求されるアプリがmaliciousというわけではない。アフィリエイトとしてやっていることも。 > サイバー犯罪者にとって、不正アプリではない正規マーケット上のアプリに誘導してインストールさせることに何の意味があるのでしょうか?これは「Pay Per Install(PPI)」と呼ばれるアフィリエイトプログラムなどの利用により、正規アプリをインストールさせることで金銭的利益を得ようとする手口であるものと考えられます。この手法であれば、一般利用者にとっては「迷惑」と感じることがあるかもしれませんが深刻な実害はないため、サイバー犯罪者としては不正活動として追及を受けるリスクを負わずに金銭を得ることが出来ます。 [1] #### TSS (Technical Support Scam) これもそう? ### 「攻撃者の用意したWebサイト」に見られる挙動 #### アンチ検索エンジン * ユーザーエージェントによる制限/リファラの制限に注意 * 検索結果から流入してきたかどうか、など * googlebotなどに不正コードを踏ませないようにする * Googleには検索結果から不正サイトを開こうとしたときに警告を表示してブロックする機能がある。これは攻撃者にとって不都合 #### 解析者避け * 複数回同一IPからアクセスした場合、不正コードが挿入されない場合がある * 時間を空けて何度かアクセスると挿入される場合もあり #### 発信元の国制限 目的は知らないが、国内から改ざんされたサイトにアクセスしても不正コンテンツが挿入されないことがある。 回避テク: * オープンプロキシ * 例)[1]の「図14:国外のIPアドレスが割り当てられたプロキシON/OFF時の応答ページの違い」 [1] [CYBER GRID VIEW Vol.3猛威を振るうRIG Exploit Kitの全貌と対策 | LAC WATCH | 株式会社ラック](https://www.lac.co.jp/lacwatch/report/20170202_001203.html) HTA ---- 本章はmalicous な HTML Applicationsを扱う。 [HTAを利用したワンクリックウエアの新たな手口 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/2729) (2009/4/7) [Smuggling HTA files in Internet Explorer/Edge](https://www.nccgroup.trust/uk/about-us/newsroom-and-events/blogs/2017/august/smuggling-hta-files-in-internet-exploreredge/) (2017/8/) > A HTA file is usually made up of HTML and script such as JScript or VBScript, much like a normal web page. TODO:HTAをよく理解してないのでやってみたい [PowerShell Empireを利用した標的型攻撃 | LAC WATCH | 株式会社ラック](https://www.lac.co.jp/lacwatch/people/20170807_001352.html) (2017/8/7) > 中身はリンク先としてHTML Application (HTA)を実行する機能を持つmshta.exeがIPアドレス(80[.]209[.]252[.]70)を引数として指定されています > HTAファイルは、図7に示す通り、VBScriptを利用して、PowerShellスクリプトを実行します。オプション「-enc」以降のPowerShellスクリプトはコードがエンコードされており、図8(筆者注:省略)がデコードしたものです。 C2サーバー(C&Cサーバー) ---- C2(C&C)はCommand and Controlを意味する。 C2サーバーは単にC2とも呼ばれることもある。 ### 現状(~2016年) __TODO__: * Torの利用状況は? * DNSレベルでマルウェアのアクセスを弾くのもあるね(IIJとどっかのISPだっけ?) * 404エラーベース * ファイアーウォールをかいくぐるため * 404エラー=そこで通信が終了した、そこには何の情報もない、という思い込みを利用 ### Tor .onionにC2サーバーがあるパターン。 例: * WannaCry(Torブラウザをダウンロード) [1] 参考資料: * [JSOC INSIGHT vol.17 | セキュリティ対策のラック](https://www.lac.co.jp/lacwatch/report/20170925_001387.html) (2017/9/25) ### マルウェア配信サーバーとしてのC2? [オンラインストレージサービスの悪用事例、RAT「ADWIND」などが感染 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/15867) (2017/9/11) > サイバー犯罪者は、マルウェアを A360 にホストすることにより、疑われずにマルウェアを送り込むことが可能になります。 感染経路の起点はスパムメール ### C2接続情報を受け取る手段 * バイナリにIPアドレス直書き * バイナリにドメイン名直書き * デッド・ドロップ・リゾルバー(Dead Drop Resolver) ※後述 #### デッド・ドロップ・リゾルバー(Dead Drop Resolver) [マクニカ]より > 攻撃者が、インターネット上で利用可能なブログやコードレポジトリサービスに、暗号化したC2サーバのIPアドレスを掲載し、マルウェアがその情報を読み取ってC2サーバへ接続する手口 例: * Elirks [マクニカ] * see [\#ファーストステージC2での情報の秘匿](#ファーストステージC2での情報の秘匿) * Winnti [マクニカ] 参考情報: * [マクニカ] [セキュリティ研究センターブログ: ブログサービスを悪用する最近の攻撃手口](http://blog.macnica.net/blog/2017/09/post-905a.html) (2017/9/5) ### DNSトンネリング(DNS Tunneling) TODO:同人誌に書いたやつから抜粋 [Detecting DNS Tunneling - detecting-dns-tunneling-34152](https://www.sans.org/reading-room/whitepapers/dns/detecting-dns-tunneling-34152) ### Twitterに潜むC&Cサーバー * とあるExploit Kitがこの手法を使うらしい ### Cookie * [Cookieヘッダーを用いてC&CサーバとやりとりするマルウエアChChes(2017-01-26)](http://www.jpcert.or.jp/magazine/acreport-ChChes.html) ### いろいろ * [Hiding in Plain Paste Site: Malware Encoded as Base64 on Pastebin](https://www.recordedfuture.com/base64-pastebin-analysis/)(Recorded Future; 2016/12/13) * これもC2と言えなくもない? * 中身はPowerShell scripts 攻撃者の事情・思考 ---- マルウェア関連のツールはブラックマーケットで販売されている。そのツールは初心者でも扱える設計になっているという。ビジネスモデルとしては、ツール購入者がそのツールで得た収入の何%を販売者に支払うものがある。 本章では著名な攻撃者に関わるサービスやツールを紹介する。繰り返しになるが、ここで得た情報は悪用してはならないことを肝に銘じること。 ### 電子通貨 ビットコイン(BitCoin)が代表的。匿名性は高いが、台帳が公開されているため何人がいくら支払ったのかを調べやすいのがネック。支払先のアドレス(財布)を感染者ごとに変えることはある。 ### Ransomware as a service(RaaS) ググればいくらでも出るので簡単に。 [暗号化型ランサムウェア「STAMPADO」の価格設定から考える「Ransomware as a service」のビジネス | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/13636)(2016/7/28) > ランサムウェアが金のなる木とみなされるようになり、サイバー犯罪者はこぞって分け前にあずかろうとしています。その結果、知識を持つサイバー犯罪者が、ランサムウェアを利用した自作のサービスを「Ransomware as a Service(RaaS)」として、新人や志望者向け材料キットの形で提供していることが確認されています。 2016年がランサムウェアが重大な脅威として認められた年というのが筆者の印象。重要なデータを人質に取られたために支払いに応じた人が多かった模様… [【海外セキュリティ】 サイバー犯罪の投資対効果と業務パスワードの傾向 - INTERNET Watch](http://internet.watch.impress.co.jp/docs/column/security/710001.html)(2015/7/3) > サイバー犯罪の投資対効果は1425% そうとは書かれてないけど、これもRaaSの話ではないかと。 ### 開発者直々の意見 [攻撃者が考える「良いセキュリティ専門家」とは? - THE ZERO/ONE](https://the01.jp/p0005972/) (2017/10/27) 専門家としての心構えも含めて 攻撃者が用いるテクニック ---- 五十音順で掲載。【無効化済み】は既にシステムがデフォルトで無効化していることを意味する。\*印は別の章で解説している項である。 **TODO**:レイヤー別でまとめたい。カオス。 ### [Windows] UAC回避と権限昇格 [NEUREVTボットの解析 - フォーティネット](http://www.fortinet.co.jp/security_blog/140129-NEUREVT-BOT-ANALYSIS.html) > UACが有効になっているシステムでは、特権を昇格させる必要があっても、このマルウェアはユーザーへのプロンプトを妨害したり、UACを無効化してしまうようなトリックは使いません。その代わり、直接ユーザーに許可を「求め」ます。 > このマルウェアは「Cmd.exe」のプロセスを作成し、マルウェアのファイルパスをコマンドラインの引数に置きます。プロンプトウィンドウがポップアップするということはつまり、Windowsのアプリケーションである「Cmd.exe」が特権昇格を求めていることになります。不注意なユーザーはこのリクエストに許可を与えてしまうでしょう。その後、マルウェアの新たなプロセスが「Cmd.exe」により作成され、「Cmd.exe」のシステム特権を引き継ぎます。 > このマルウェアは次の言語で警告を行うことが可能です。ロシア語、ポルトガル語、ドイツ語、フランス語、オランダ語、アラビア語、ヒンディー語、ペルシャ語、簡体字中国語、トルコ語、インドネシア語、イタリア語、スペイン語、ポーランド語、日本語、ベトナム語 > システムのデフォルトの言語ロケールに基づいてこれらの1つを選択し、ユーザーに疑念を抱かせるような言語の不一致を避けます。 ### [Windows] アイコンとファイル拡張子でのごまかし TODO ### [Windows] autoran.ini 【無効化済み】 TODO ### exif情報 exif情報にマルウェアのコンポーネントを仕込むケースがある。 実例: * [JPGファイルを隠ぺいに利用するWebサーバ専用バックドア「BKDR_ZZPEG」の被害を日本で確認 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/7760) ### \*[Windows] MBR(Master Boot Record)の改竄 TODO:軽い説明 [別章](#MBR)に詳細あり。 ### 画像ファイル 画像ファイルに以下のデータを仕込むことがある。(cf. [\#exif情報](#exif情報)) * C2接続情報などconfigデータ * 例)開くと正常な画像に見えるが、実は終端にマリシャスなデータを隠している(by [JSOC INSIGHT Vol.10 by ラック](http://www.lac.co.jp/security/report/pdf/20160106_jsoc_j001w.pdf)) * 例)HTTP GETするときに、画像ファイルをフェッチするように見せて、実はXORする必要がある(Daserf;[Cyber Grid View Vol.2 by ラック](http://www.lac.co.jp/security/report/pdf/20160802_cgview_vol2_a001t.pdf)) ### [Windows] ショートカット・ファイル TODO 例: * [世界のセキュリティ・ラボから - Windowsショートカット・ファイルの悪用:ITpro](http://itpro.nikkeibp.co.jp/article/COLUMN/20090215/324745/?rt=nocnt) (2009/02/20) * [ドキュメントにないLNKの機能に隠れるJanicab | エキサイトセキュリティ](http://security.excite.co.jp/fsecureblog/article/3148) (原文:2015/4/22) * [LNKファイルを利用してマルウェアをダウンロードする手法が増加中 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/15091) (2017/5/31) ### セキュリティソフトの停止 例: * 「インストールの妨げになるのでセキュリティソフトは停止してください」というようなインストラクションを加える TODO: Emdiviがやってたような気がする…(曖昧な記憶) ### ソーシャルエンジニアリング 真面目な話、人を騙すのは容易い。ゼロ知識から予見することは困難なので、人の悪意はどのような形をしているのかをまじで知ったほうがいいし、身構えやすい。 攻撃ベクター: * 対面 * 電話 * 電子メール * 郵便 * 裁判の訴状(本物) * 架空請求で使われる手口。マルウェアはもう関係ないっす * Webサイト * 公式サイトを装ってマルウェアを配布 * [偽のSymantecブログを通じてMacのマルウェアが配布される | スラド アップル](https://apple.srad.jp/story/17/11/29/063202/) (2017/11/29) TODO:これを専門に扱う本 TODO:情報漏えいしたケースとかを列挙すれば十分かなぁ(←さすがに脱線しすぎてるかな←まあいいんじゃない)→JTBのお漏らしと伊勢志摩サミット [脱線]筆者は小学生の時に2度おもらし事故をしてこの手のやり口にはもう懲りているのです。で、赤の他人にされるお願いごとはすべて純粋な善意によるものであると暗に信じている方、他人の悪意に触れてみてください。<span style="color:gray">ステマになりますが、セキュリティの専門会社などに依頼して社内で標的型攻撃を模擬することも大切です。どうやって行うべきかはその会社のコンサルに相談してください…</span> ### タイポスクワッティング(typosquatting) タイプミスを狙って正規サイト・ソフトウェアになり変わること [PyPIに悪意のあるパッケージがアップロードされていた | スラド デベロッパー](https://developers.srad.jp/story/17/09/17/2142245/) (2017/9/18) pip install こわーい ### \* DNSクエリ TODO ### DNSチェンジャー(DNSサーバー設定改ざん) 2通り: * OSのDNS設定を書き換える * ルーターのDNS設定を書き換える([別章](#狙われるルーター)へ) ### ドメイン名ハイジャック(DNS Hijacking) TODO DNS hijacking using cloud providers (2017/5) https://2017.appsec.eu/presos/Developer/DNS%20hijacking%20using%20cloud%20providers%20%E2%80%93%20no%20verification%20needed%20-%20Frans%20Rosen%20-%20OWASP_AppSec-Eu_2017.pdf ### 日本人が使用しているかチェック 警告のポップアップの言語を適切にするため、等 * キーボード配置 ### Pass-the-Hash パスワードクラッキングの手法の一つ。認証システムではユーザーのパスワードをハッシュ化して保存していることが多い。Pass-the-Hash攻撃はハッシュを元に認証を行う攻撃のこと。 Active Directory関連で、Pass-the-Ticketという攻撃もある。 [Active Directoryに対する攻撃の検知と対策手法のドキュメント、JPCERT/CCが公開 - クラウド Watch](http://cloud.watch.impress.co.jp/docs/news/1049364.html) (2017/3/14) ### パスワードリスト攻撃 あるあるなパスワード・既知のパスワードでアカウントへのログインを試みる古典的な攻撃方法。 ### Hidden Process TODO ### \*[Human] 標的型攻撃 [別章](#標的型攻撃、水飲み場攻撃)参照 ### Pinnig TODO: 正直良く知らん ### ポートスキャン ここにnmapの使い方を書くのは危なすぎるので各自で調べてください。 学内・公共のネットワークでポートスキャンをかけるのやめましょう。あなたの腕試し/技術力誇示の場所ではありません。 #### [Shodan](http://shodan.io/) 攻撃への転用を含めたちゃんとした紹介をするのは危なっかしいので各自で調べてください。 ### hostファイル書き換え TODO ### メモリインジェクション TODO ### XXE(XML External Entity) 2017年のOWASP Top10に入って話題になった。 [XXE攻撃 基本編 | MBSD Blog](https://www.mbsd.jp/blog/20171130.html) (2017/11/30) [XXE 応用編 | MBSD Blog](https://www.mbsd.jp/blog/20171213.html) (2017/12/13) 覚えておくといいWin32 API(Windows API) ---- ### kernel32.dll API name | 機能 | 返り値 :-:|:-:|:-: IsDebuggerPresent | 自プロセスにデバッガがアタッチしているかどうかを調べる<br/>回避可能 | 0: No TODO ### ### 学習に役立つ便利情報 #### HSP Win32APIを使って簡単にプログラミングができるCでもC#でもVBAでもない言語(インタプリタ系)。これを使うとマルウェアライクな挙動をする何かを作れる。 #### WinSpy++ Windowオブジェクトとかの情報をとれる。デバッグに役立つ。プログラムはspyxx.exeという名前でVisualStudioに付属したツール。 Windows Exploitation ---- Windowsでチョメチョメな(※検索避けです)ことをする方法。 ### UAC回避 [NS1] [20170815_北朝鮮関連サイトのサイバー攻撃レポート_v1.pdf](https://www.nttsecurity.com/-/media/nttsecurity/files/resource-center/what-we-think/20170815_%E5%8C%97%E6%9C%9D%E9%AE%AE%E9%96%A2%E9%80%A3%E3%82%B5%E3%82%A4%E3%83%88%E3%81%AE%E3%82%B5%E3%82%A4%E3%83%8F%E3%82%99%E3%83%BC%E6%94%BB%E6%92%83%E3%83%AC%E3%83%9B%E3%82%9A%E3%83%BC%E3%83%88_v1.pdf) > CreateProcessAsUserA() 関数を利用してプロセス名「ocheck.exe」で起動します。起動時にはログオンユーザーのセッションIDに対応した「winlogon.exe」のプロセスIDやアクセストークンを取得し、複製したトークンを利用することでUACを回避してsystem権限でダウンロードしたファイルを実行します [NS1] [Windows Escalate UAC Protection Bypass (In Memory Injection) Abusing WinSXS ≈ Packet Storm](https://packetstormsecurity.com/files/144593/bypassuac_injection_winsxs.rb.txt) (2017/10/12) ### Mimikatz https://github.com/gentilkiwi/mimikatz 攻撃者を知るために使い慣れておくといいかもしれないツール。一番知られている利用例は、 * lsass.exeに残ってるログオンパスワードのクラッキング * pass-the-hash/pass-the-ticket攻撃 かな。READMEに反して、標的型攻撃以外に能がないように見える。単純にexeを置くだけでAVに消されるので、実行するにはAV回避手段が必要。 ### Windowsアプリケーション Zero Day Zen Garden: Windows Exploit Development [Part 1](http://www.shogunlab.com/blog/2017/08/19/zdzg-windows-exploit-1.) [Part 2](http://www.shogunlab.com/blog/2017/08/26/zdzg-windows-exploit-2.html) [Part 3](http://www.shogunlab.com/blog/2017/09/02/zdzg-windows-exploit-3.html) [Part 4](http://www.shogunlab.com/blog/2017/11/06/zdzg-windows-exploit-4.html) #### リモートプロセスへのコードインジェクション [RunPE: How to hide code behind a legit process - Adlice Software](https://www.adlice.com/runpe-hide-code-behind-legit-process/) (2015/7/10) Kernel Exploit ---- ### Dirty COW TODO: OriginalのDitty COW [“Huge Dirty COW” (CVE-2017–1000405) – Bindecy – Medium](https://medium.com/bindecy/huge-dirty-cow-cve-2017-1000405-110eca132de0) (2017/11/27) writeup & PoC バックドア ---- * DoublePulsar(The Shadow Brockers) RAT ---- **TODO**: RAT(Remote Access Trojan) \# 利用したい脆弱性を指定すると勝手にマルウェアを生成するツールがあったような…(Metasploitじゃない方) 本章では2017年までに代表的なRATを紹介する。 TODO:(この用語、死語になってないか) ### Remcos RAT [オンラインストレージサービスの悪用事例、RAT「ADWIND」などが感染 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/15867) (2017/9/11) ### CyberGate https://www.blackhat.com/docs/asia-15/materials/asia-15-Chubachi-Slime-Automated-Anti-Sandboxing-Disarmament-System.pdf "Popular RAT tools" "CyberGate can generates remote access server for targeting host" "Anti-sandbox option enabled" Exploit Kit ---- **TODO**:Exploit Kitとは Exploit KitはEKと略されることもある。 * [DbD/EKの情報を集めるときに見ると良いサイト](https://gist.github.com/koike/2d9e4b40f9ad24ad453b18cc1a3b9832) (by nao_sec kkrnt) トレンドの変化: [Exploit KitおよびScamサイトの衰退とCoinhiveの台頭 – wizSafe Security Signal -安心・安全への道標- IIJ](https://wizsafe.iij.ad.jp/2017/11/120/) (2017/11/9) ### Gate TODO トピック: * CDN事業者と協力したtakedown ### 代表的なEK 本節では2017年現在で代表的なExploit Kitを紹介する。 ※活発な活動期間は「CYBER GRID VIEW Vol.3」(ラック)、「RIGエクスプロイトキット解析レポート」(NTT Security)を参考にした #### Angler(〜2016/6) (オワコンなので興味なし) #### Nutrino(ニュートリノ;2016/6〜2016/9) (オワコンなので興味なし) #### RIG(リグ;2016/9〜) 息が長いEKだな。 > NTTセキュリティ・ジャパン株式会社のSOCでは、2016年9月頃からRIGエクスプロイトキットによる攻撃を多く観測しました。RIGエクスプロイトキットはドライブ・バイ・ダウンロード攻撃を行うためのパッケージの1つであり、改ざんサイトや不正広告から誘導され、マルウェアへの感染を引き起こします。 [NTT] 次表はRIG EKの攻撃ステップを解説したものである([NTT]の表2より引用)。言葉足らずなところは赤字で加筆した。 Step | 説明 :-:|:- ① | 改ざんサイトや広告はユーザ端末からのアクセスを待ち受け、RIGエクスプロイトキットが設置された攻撃サイトに転送する。 ② | 攻撃サイトはJavaScriptコードを送付し、ブラウザ判定を行い<font color=red>条件を満たしていれば</font>③へ進む。 ③ | 攻撃サイトは2つ目のJavaScriptコードを送付し、<font color=red>IEの</font>動作環境をチェックした後、脆弱性を悪用する攻撃を行う。また、並行してFlashファイルを読み込ませる。 ④ | 攻撃サイトは不正なFlashファイルを送付し、脆弱性を悪用する攻撃を行う。 ⑤ | ③もしくは④で脆弱性の悪用に成功した場合、シェルコードを実行してマルウェアのダウンロードとインストールを行う。 補足: * __[NTT] ②のブラウザ判定__ 一般のWeb開発でもされるようなUser-Agentに基づくブラウザ判定([NTT]の図5)とIE固有機能に基づく判定([NTT]の図6)がされる。両者の判定結果は一致しなければならない * __Javascriptに対する脆弱性攻撃__ 利用するのはCVE-2013-2551(〜2017/3)またはCVE-2016-0189+CVE-2015-2419(2017/3〜)。任意メモリ書き換えが可能なのでOSのバージョンを確認した後、ROPチェーンを組む。シェルコードはマルウェアのダウンロードと実行をする。詳細は[NTT]のp.15参照 * __Flashファイルによる脆弱性攻撃__ 使用する脆弱性と難読化手法は検体によって異なる[NTT]。攻撃ステップは次の通り[NTT]。(各詳細が[NTT]でp.17〜p.21の5ページに渡って解説されている) 1. Flashファイルが実行されている環境を調査する。 2. 脆弱性をついて任意のコードを実行可能にする。 3. シェルコードを実行することで、マルウェア感染を引き起こす。 * __シェルコード__ javaScriptとFalshで挿入されるシェルコードは共通。[NTT] * __マルウェアをダンロードするとき__ CreateProcess関数によりcmd.exeを実行。JScriptコードを生成してwscriptを実行する。引数で指定されたUser-Agentを用いてURLにアクセスし、マルウェアをダウンロードする。ダウンロードするマルウェアには多数の種類が報告されているが、SecurityのSOCではCerberが最も多く観測された。[NTT] 解析報告(と対策方法): * [LAC] [CYBER GRID VIEW Vol.3猛威を振るうRIG Exploit Kitの全貌と対策 | LAC WATCH | 株式会社ラック](https://www.lac.co.jp/lacwatch/report/20170202_001203.html) (2017/2/2) * 「図3:攻撃キャンペーンが利用するエクスプロイトキットの変遷(2016年)」もおもしろい * [NTT] [RIGエクスプロイトキット解析レポート(by NTTセキュリティ・ジャパン株式会社)](https://www.nttsecurity.com/-/media/nttsecurity/files/resource-center/what-we-think/rigek-analysis-report.pdf) (2017/5/16) * アングラな市場での調査レポートも載っていておもしろい * [nao-sec] [初めての Rig Exploit Kit リーディング](https://github.com/nao-sec/RigEK) (2017/5/15) * [Twitterでの \#RigEK の検索結果](https://twitter.com/search?q=%23RigEK&src=typd) #### Magnitude TODO #### Sundown(2016年X月~2017年Y月?) [ステガノグラフィの手法を駆使するエクスプロイトキット「Sundown EK」を確認 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/14214) (2017/1/5) #### Sundown-Pirate Exploit Kit(Sundown-Pirate EK)(2017年6月~)※トレンドマイクロでの命名 [不正広告キャンペーン「ProMediads」、新型エクスプロイトキットを利用しランサムウェアなどを拡散 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/15488) (2017/7/24) #### Terror(2017年1月~?) [Terror Evolved: Exploit Kit Matures](https://blogs.cisco.com/security/talos/terror-evolved-exploit-kit-matures) (2017/5/18) [エクスプロイトキット戦国時代! 新興ツールが急速な進化を見せる | THE ZERO/ONE](https://the01.jp/p0005184/) (2017/6/15) #### Astrum EK/Stegano EK(2016年下半期~) [「Astrum EK」の更新を確認。エクスプロイトキット脅威再燃となるか | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/15034) (2017/5/22) [1] [AdGholas Malvertising Campaign Using Astrum EK to Deliver Mole Ransomware | Proofpoint](https://www.proofpoint.com/us/threat-insight/post/adgholas-malvertising-campaign-using-astrum-ek-deliver-mole-ransomware) (2017/6/20) AdGholasという攻撃キャンペーンがAstrum EKを使っていて、Moleランサムウェアが落ちてくるっぽい(→関連:Moleランサムウェア)(TODO:読み間違えてる気がする) > At this point, we began to consider whether AdGholas into Astrum EK (also known as Stegano EK) might be the infection vector, despite the fact that the ransomware payload was inconsistent with the activity of their usual customers who normally spread banking malware. [1] [不正広告キャンペーン「AdGholas」、追跡困難化した脆弱性攻撃の利用で攻撃を拡大 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/15325) (2017/6/27) > 2017年5月15日に、解析回避機能を備えた「Astrum EK」の活動再開が確認されました。そして、それは不正広告キャンペーン「AdGholas」によって拡散されたことがわかりました。「AdGholas」は、ダウンローダやオンライン銀行詐欺ツール(バンキングトロジャン)「URSNIF(別名Dreambot/Gozi)」や「RAMNIT」など多様な不正プログラムを拡散します。 > > 弊社も、CRYPAURAファミリの亜種を確認しています。その中には CRYPTOMIX の亜種、「MOLE」があります。Google ドキュメントの共有URL を悪用して拡散するランサムウェア「MOLE」は、4月下旬に確認されました。 Technical Support Scam ---- TODO (同人誌「TomoriNao Vol.1」で@kkrntが解説している) Root Kit ---- TODO Boot Kit ---- > ブートキットとは、コンピュータの起動ドライブに感染する不正プログラムの一種です。PC などのコンピュータでは電源投入後、まず起動ドライブ内のブートセクタや MBR(マスターブートレコード)などと呼ばれる部分に保存されているプログラムが動き、OS を起動させます。ブートキットはこの仕組みを利用して Windows OS 起動前に不正プログラムを活動開始させます。結果的に Windowsシステム上に不正プログラムのファイルや自動起動設定などの「感染の痕跡」を残さずに不正プログラムを活動させることなどが可能になります。 [1] [1] [国内ネットバンキングを狙う「URSNIF」が新たに「Bootkit」を利用 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/15144) チップレベルのセキュリティ ---- 脱線気味な気もする… ### Intel Management Engine [OS停止時でも攻撃可能?Intel マネジメント・エンジンの脆弱性への対策 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/16567) (2017/12/5) [How to Hack a Turned-Off Computer, or Running Unsigned Code in Intel Management Engine](https://www.blackhat.com/docs/eu-17/materials/eu-17-Goryachy-How-To-Hack-A-Turned-Off-Computer-Or-Running-Unsigned-Code-In-Intel-Management-Engine.pdf) (2017/12/4-7) Metasploit ---- 読み:めたすぷろいと。解析経験が乏しいので攻撃に使われているのか不明だが、攻撃にも使われうるツールなので一応取り上げる。絶対悪用するなよ。 MetasploitはRapid7社の製品で、脆弱性スキャナ、つまりペネトレーションテストをするためのツールである。無料版と有料版(商用版)が用意されており、学習用に軽く使う程度なら無料版で差し支えない。 MSFconsoleはMetasploit Frameworkが抱えている攻撃コードデータベースを利用するためのコンソールである。コマンドラインで指定された設定ファイルを読み込むのではなく、msfconsole(MSFconsoleのコマンド名)で対話しながら攻撃条件を設定することに特徴がある。攻撃コードの検索、設定、実行の各ステップの操作に慣れが必要である上に、msfconsoleの使い方をいい感じにまとめたサイトが無いので(筆者調べ)学習が難しいという印象がある。しかし、次の1冊さえあればMetasploitを大体使いこなせるようになるはずで、筆者はこれをMetasploitを利用する上で必携の一冊と捉えている。 実践 Metasploit――ペネトレーションテストによる脆弱性評価 http://www.oreilly.co.jp/books/9784873115382/ 不正行為の教唆に当たらないようにやり方は伏せるが、MetasploitにはWindows向けにシェルコードを生成する機能がある。そこで生成されたコードをネタに解析するのも面白い(筆者はIIJのインターンでそれをやったことがあって、実際おもしろい動き方をする)。 悪性文書ファイル ---- Maliciousな文書ファイルは、主に研究方面で「悪性文書ファイル」と呼ばれる。maldocとも。 ### VBAマクロ@Microsoft Office 例: * [Metasploitを使ってconnect-back shellを起動するWord文書を作ってみる - ももいろテクノロジー](http://inaz2.hatenablog.com/entry/2015/11/13/225247) * [電卓を起動するWord文書を作ってみる - ももいろテクノロジー](http://inaz2.hatenablog.com/entry/2015/10/12/155137) ### PDF TODO 参考: * [Abusing Adobe Reader’s JavaScript APIs by Abdul-Aziz Hariri & Brian G…](http://www.slideshare.net/codeblue_jp/abusing-adobe-readers-javascript-apis-by-abdulaziz-hariri-brian-gorenc-code-blue-2015) ### RTF リッチテキストファイル。 TODO 気になる子ちゃん: * Webページで利用可能なリッチテキストエディタはExploit可能なのだろうか? PowerShell ---- 急増中。特にダウンローダーがよく使っている [PowerShell マルウェアが急増: 解析したスクリプトの 95.4% が悪質 | Symantec Connect](https://www.symantec.com/connect/tr/blogs/powershell-954-0?page=1) [セキュリティ研究センターブログ: マルウェア解析奮闘記 Powershell多用マルウェアの解析](http://blog.macnica.net/blog/2016/10/powershell-38fc.html) TODO: 概要説明 疑問点(TODO): * PowerShellスクリプトの実行ポリシーによらずこういったコードが実行されてしまうのだろうか? ### 攻撃経路:LNKファイル→PowerShell * [LNKファイルを利用してマルウェアをダウンロードする手法が増加中 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/15091) (2017/5/31) ### 攻撃経路:LNKファイル→HTAファイル→VBScript→PowerShell/RTFファイル→HTAファイル→VBScript→PowerShell * [PowerShell Empireを利用した標的型攻撃 | LAC WATCH | 株式会社ラック](https://www.lac.co.jp/lacwatch/people/20170807_001352.html) (2017/8/7) ### 攻撃経路:Powerpointファイル→リンクをホバー→Powershell * [PowerPoint File Downloads Malware When You Hover a Link, No Macros Required](https://www.bleepingcomputer.com/news/security/powerpoint-file-downloads-malware-when-you-hover-a-link-no-macros-required/) (2017/6/2) * [マウスオーバとマクロを利用、PowerPoint文書閲覧時に感染させる攻撃手法に注意 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/15257) (2017/6/19) ### 難読化と難読化解除 TODO 参考: * `-enc`(頻出) UTF-16をBase64でエンコードしたやつ? ### PowerShell Empire TODO cf. PowerShell Mafia ### WMI TODO JavaScript ---- 標的型メールの添付ファイルとして登場する。 TODO:具体例 ### 難読化 TODO MBR ---- MBR(Master Boot Record) MBRを書き換え、OSよりも先に自分を起動することを目的とする。以降TODO ### 例 [緊急レポート:韓国サイバー攻撃マルウェア詳細解析結果│セキュリティ・リサーチのFFRI(エフエフアールアイ)](http://www.ffri.jp/blog/2013/03/2013-03-27.htm) ファイルシステム ---- ### 復元対策 削除後のセクタにファイルの痕跡を消すことを考える。まさにバイナリ解析から逸脱してフォレンジック対策のお話。 TODO:トピックを集める ### NTFS 代替データストリーム→例:Zone.Identifier #### 隠し領域 ### FAT #### 隠し領域 ### USB Backdoor DNSクエリ ---- [DNSクエリにPowerShellコマンドを乗せて運ぶ攻撃を確認 | マイナビニュース](http://news.mynavi.jp/news/2017/03/07/101/) ### DNSトンネリング TODO スマホアプリに潜むマルウェア ---- ### バックドア型不正アプリ [音声や動画を窃取する Android 端末向けバッグドア型不正アプリ「GhostCtrl」 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/15502) (2017/7/25) [モバイル端末向けランサムウェア「LeakerLocker」、ユーザ情報の流出と引き換えに身代金を要求 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/15624) (2017/8/3) ### ルートキット型不正アプリ [「ZNIU」:脆弱性Dirty COWを突くAndroid端末向け不正アプリを確認 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/16031) (2017/9/29) ### 不正なiOS構成プロファイル(不正プロファイル) [iOS 上で大量のアイコンを作成する不正プロファイル「YJSNPI ウイルス」こと「iXintpwn」を解説 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/16007) (2017/9/26) > iXintpwn 自体は未成年者による悪ふざけや自己顕示目的の産物に過ぎなかったとしても、未署名の構成プロファイルを悪用した手法は注目に値します。 ### 仮想通貨発掘マルウェア [モバイル端末向け仮想通貨発掘マルウェア、Google Play で確認 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/16293) (2017/10/31) 狙われる家庭用ルーター ---- TODO:概要 * 家庭用ルーターの脆弱性 * 管理者アカウントのパスワードが初期のまま * 管理画面にXSS脆弱性 * PHPの任意コード実行脆弱性 * [DNS 設定を書き換えるマルウエア (DNS Changer) 感染に関する注意喚起](https://www.jpcert.or.jp/at/2012/at120008.html) TODO:DNSチェンジャーとは * [DNSチェンジャーの脅威とは | トレンドマイクロ:セキュリティ情報](http://about-threats.trendmicro.com/RelatedThreats.aspx?language=jp&name=How+DNS+Changer+Trojans+Direct+Users+to+Threats) 一見外部からアクセスできないように見えるルーターは、以下の経路によりアクセス可能である。ルーターのセキュリティは重要視されるべきで、内部ネットワークで使っているからそんなに影響がないと思ってはいけない。 * ~~改ざんされた正規サイト→ルーターにアクセス→ルーターのDNS設定書き換え~~ 該当事例発見できず * マルウェア感染済み端末→ルーターにアクセス→ルーターのDNS設定書き換え ルーターにアクセス出来てしまうのは、脆弱性の利用でそれが容易であったり、管理者のアカウントパスワードが初期設定のままであるか、推測が容易なものであるからという理由による。 ### JITON(2016年~;PC&スマホ) * [ニュース - 家庭のルーターやテレビに迫るサイバー攻撃、トレンドマイクロが解説:ITpro](http://itpro.nikkeibp.co.jp/atcl/news/16/110703280/?rt=nocnt) * [家庭用ルータを狙う不正スクリプト「JITON」、国内でも攻撃継続中 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/13114) > 問題の不正な JavaScript は、改ざんされた正規サイトに仕掛けられており、日本国内のサイトにおいても該当の改ざんを確認しています。このような活動は以前にも「家庭用ルータの DNS設定変更を行う不正プログラムを確認」で報告をしていますが、不正サイトへの誘導により、結果として不正プログラム感染や、アカウント認証情報の詐取などの被害に遭う恐れがあります。 ### Switcher(2016年~;Andorid) * [Androidを標的にした新種のマルウェア “Switcher” が発見される。Android経由でWi-Fiルーターを乗っ取りDNS設定を書き換えて詐欺サイトに誘導 | juggly.cn](http://juggly.cn/archives/213740.html) * [Switcher: Android joins the ‘attack-the-router’ club - Securelist](https://securelist.com/blog/mobile/76969/switcher-android-joins-the-attack-the-router-club/) ### Moose(2015年:Linux) 読み:むーす。 * [Linuxルーターを狙うワーム「ムース」がSNSをむさぼり尽くす | マルウェア情報局](https://eset-info.canon-its.jp/malware_info/news/detail/150618.html) ### ルーターの防衛手段 こんなのがある。筆者はTrendMicroの回し者ではない。 [ウイルスバスター for Home Network - トレンドマイクロ](http://safe.trendmicro.jp/products/vbhn.aspx) TODO:このInternals IoTマルウェア ---- IoT機器に対するマルウェア感染は2016年頃からホットになった。2017年で下火になった感。 #### Mirai(2016年) TODO。2016年12月がピーク?(TODO)2017年はMiraiよりもHajimeのイメージ。 2017年のUSENIXでMiraiに関する報告がありそうです。期待ですね。 [Understanding the Mirai Botnet | USENIX](https://www.usenix.org/conference/usenixsecurity17/technical-sessions/presentation/antonakakis) TODOだらけで良ければこちらも→[All about Mirai (Malware) ](https://hackmd.io/s/S122vFpQl#) #### Hajime(2016年9月~) TODO: Miraiの亜種でもなく、Miraiとは正反対らしい TODO: あとで裏取り→[IoTのボットネットの新入りマルウェア「PERSIRAI」 | THE ZERO/ONE](https://the01.jp/p0005224/) ### PERSIRAI(2017年) > OEMで生産されたネットワークカメラを対象にしており、影響のあるモデルは1,000以上になります。PERSIRAI は、既にインターネット上でソースコードが公開されている「MIRAI」から派生したマルウェアとして出現しました。 [1] [1] [IoTの新たな脅威、ネットワークカメラをボット化する「PERSIRAI」の出現 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/14836) ### BrickerBot(2017年) > BrickerBot の場合、IoT機器のストレージ機能とカーネルパラメータの設定を変更する、インターネットへの接続を妨害する、動作速度を低下させる、機器内のファイルを削除するなどの一連の不正な Linuxコマンドを実行することで機器に致命的な改変を加え、最終的に使用不能にします。 [1] [1] [IoT機器を「使用不能」にするマルウェア、「BrickerBot」 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/14757) ### Reaper(2017年) [IoT 機器を狙う「Reaper」、数百万台のネットワーク機器に感染 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/16282) (2017/11/1) > Reaper は、さまざまな、「Internet of Things(モノのインターネット、IoT)」機器に存在する既知の脆弱性を突いて機器を乗っ取り、コマンド&コントロール(C&C)サーバとの通信による遠隔操作を可能にします。 ### 以下ネタ枠 #### Linux.MulDrop.14(2017年) [「Raspberry Pi」を狙うマルウェアが出現--暗号通貨をマイニング - ZDNet Japan](https://japan.zdnet.com/article/35102503/) (2017/6/9) ロシアのDoctor Webがおとりのラズパイで発見。pi:raspberry(Raspbianのデフォルトユーザーとパスワード)で外部からログインできるラズパイをターゲットにする。拡散活動あり。ビットコインではない暗号通貨のマイングもおこなうとのこと。 [Shodanで"ssh raspbian"と検索すると](https://www.shodan.io/search?query=ssh+raspbian)約7万台ヒットするので、目のつけどころはいいのかもしれない。__※勝手にログインするのは不正アクセスなのでやってはいけませんよ__ 狙われる産業システム ---- 産業システムで使われるシステムは外界からの攻撃を想定していない作りであることがあり、それが今になっても使われ続けてしまったためにこのような現状となっている。 産業システム系はカスペルスキーが頑張ってる印象。 ### Stuxnet(2010年) 読み:すたっくすねっと。TODO: (もう古すぎないか…) <!-- 要点(大昔に調べたときの記憶で書いてるのでここの情報は暫定): * USBデバイスを起点に感染 * 未知のWindowsの脆弱性を複数利用 * 特定のネットワーク構成でのみ動作 * PLCの制御コードに不正コードを挿入 * 異常な動作をするような制御命令を出させる * シマンテック、トレンドマイクロから詳細な解析レポートが出ている。シマンテックはStuxnetが動作するようなネットワークを実際に組んで動作検証した --> ### BlackEnergy 2(2010年) TODO ### CrashOverride(2016年) ESETの検出名はWIN32/INDUSTROYERっぽい。 * [JVNTA#99970831: 制御システムを狙う CrashOverride マルウェアの脅威](https://jvn.jp/ta/JVNTA99970831/index.html) (2017/6/13) * [停電の原因は産業制御システム狙うマルウェアか 「Stuxnet以来、最大の脅威」 - ITmedia エンタープライズ](http://www.itmedia.co.jp/enterprise/articles/1706/13/news052.html) (2017/6/13) * > セキュリティ企業のESETは6月12日、ウクライナの首都キエフで2016年12月に発生した停電について、産業制御システムを狙うマルウェアを使ったサイバー攻撃だった公算が大きいと発表した。「Stuxnet以来最大の産業制御システムに対する脅威」と位置付けている。 * [ESET: WIN32/INDUSTROYER - A New Threat for Industrial Control Systems](https://www.welivesecurity.com/wp-content/uploads/2017/06/Win32_Industroyer.pdf) (2017/6/12) * [Welcome to Dragos](https://www.dragos.com/blog/crashoverride/) (2017/6/12) * PDF Report: [CRASHOVERRIDE: Analysis of the Threat to Electric Grid Operations - CrashOverride-01.pdf](https://www.dragos.com/blog/crashoverride/CrashOverride-01.pdf) マルウェア対策(Anti-Malware) ---- ### 積極的対策 積極的なマルウェア対策の主要なアプローチは次の通り。 * 非実行状態のマルウェアの検出 * 詳しくは、後章「マルウェアの検知手法の分類」参照 * メールサーバーでの添付ファイルの検疫 * 例)GMail * 実行状態のマルウェアの検出 * TODO:章を立てねばならぬか… ### 消極的対策 消極的なマルウェア対策の主要なアプローチは次の通り。 #### 物理レベル * プラットフォームレベルの環境の分離(Trusted execution environment;TEE) * ある意味サンドボックスのハードウェア実装ともいえる。最も信頼を置くことになるファームウェア(ブートローダー)がセキュアに実装されていることがすべての前提になる * Intel系:Trusted Execution Technology * ARM系:TrustZone, (ELx Architecture) * 実行コアを共有するものの、実行環境(レジスタ除く)をSecure、Non-Secureに分け、さらに実行レベルを複数段階に分けることを特徴とする * iPhone 5以降で使用されているとされている * (解説したほうがいい?といってもARMv8-Aの方しか分からない) #### 論理レベル/実行環境レベル * サンドボックスによる環境の分離 * ブラウザ:Chrome(確か) * モバイル:iOS, Dalvik VM * Appleは、iOSではアプリごとに監獄ができているのでアンチウイルスが成立するのはありえないという見解 * TODO:App Storeの審査ガイドライン?(プレスみたいので出てた) * ユーザーアプリケーション向け:UWP * TODO: 中身どうなってるんかな。これを突っついている研究者いないんかな #### ネットワークレベル * ネットワークの分離 * DMZ、VLAN * ネットワークトラフィックの監視 * パーソナルファイヤーウォール(要はセキュリティソフトについてくるファイヤーウォール機能) * ファイヤーウォール、IDS、IPS、**TODO** * snort、Surikata (IDS) * 人力部門→MSS(Managed Security Service)、SOC(Security Operation Center) * DNSレベルでのマルウェア通信のシャットアウト * TODO:サービス例 #### アプリケーションレベル * サンドボックス環境でのWebページの事前レンダリング * サービス例 * マクニカ(Menlo Security)[[プレスリリース](http://www.macnica.net/pressrelease/menlosecurity_20150825.html/)]、IIJ[[プレスリリース](http://www.iij.ad.jp/news/pressrelease/2017/0116.html)] * JavaScriptの無害化とサンドボックス内実行 * 例)Google Apps Script(※GAS側で無効化可能) 被感染環境でのマルウェアの検知手法の分類 ---- ### シグネチャ TODO * yara ### ヒューリスティック技術 資料: * たのしいバイナリの歩き方 * ### ログベース(動的解析) TODO: * Symantecがクラウドで動的解析環境を提供しているらしい * クラウドなのは解析基盤を秘密にしたいからだそうで ### 静的解析+機械学習 **TODO**: Cylance(サイランス)PROTECT * [AIで定義ファイル不要の軽さを実現、マルウェア対策ソフト「CylancePROTECT」 -INTERNET Watch](http://internet.watch.impress.co.jp/docs/news/1039391.html) [閑話休題]要は完全なものなど無いという話です。 * CylancePROTECTの輝かしい戦績→ [CylancePROTECT vs. X](https://www.google.co.jp/search?q=CylancePROTECT+vs.+site%3Acylance.com) * タコ殴りにされるCylancePROTECT→[CylancePROTECT vs. X](https://www.symantec.com/connect/blogs/cylanceprotect-symantec-labs-analysis) [余談]機械学習は信頼ならないかも。 <blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">Cylance等の機械学習を使ったAVはある意味で凄い・・<br> <a href="https://twitter.com/hashtag/include?src=hash">#include</a> &lt;stdio.h&gt;<br> int main()<br> {<br> printf(&quot;Hello world!\n&quot;);<br> return 0;<br> } <a href="https://t.co/Z5atznKECP">pic.twitter.com/Z5atznKECP</a></p>&mdash; yamatosecurity (@yamatosecurity) <a href="https://twitter.com/yamatosecurity/status/896293163375001600">August 12, 2017</a></blockquote> [死にゆくアンチウイルスへの祈り | 一生あとで読んでろ](https://ntddk.github.io/2017/09/10/a-prayer-for-the-dying-antivirus/) (2017/9/10) [A cat-and-mouse game on a dataset(by 愛甲健二)](https://github.com/kenjiaiko/secml/blob/master/SecML_web.pdf) (2017/9/10) ※最初の数ページは空白 機械学習とそこで利用するデータセットへの付き合い方。いつごろまで高い検出率を維持できるのかを考えるのも大事。 マルウェア(バイナリ)の表層解析 ---- 表層解析(Surface Analysis)は、バイナリをリバースエンジニアリングすることも、実行することもせず、ただファイルをパースして得られる情報を解析することをいう。解析の初期段階にこれを行う。 表層解析で得ておきたい情報は次の通りである。 * ファイルの形式:PE、ELF、js、ps1、swf、jpg、png… * 対象のCPUアーキテクチャ:x86、x86_64、ARM、… * 実行ファイルの場合→パッカーの有無、パッカーの種類:UPX、ASPack、… * PEの場合→使用しているWindows API * APIの種類が少ないときはパッカーの存在を疑う * スクリプトファイルの場合→難読化の有無 * 画像ファイルの場合→exif情報、ヘッダ * ファイルのmd5、sha1、sha256ハッシュ * ハッシュ値でググったり、Virus Totalにハッシュ値を投げる 表層解析で役立つツールは次の通りである。 * file * linuxのコマンド * ファイルのMIME(ファイルの種類)を表示してくれる * readelf * binutils付属コマンド * `-h`オプション: ELFのヘッダを表示→対象アーキテクチャが分かる * `-s`オプション: シンボル情報(関数など)を表形式で表示 * 同binutilsのnm コマンドの方が楽の可能性がある * PEiD * __32ビットPEファイル限定__。開発停止中 * 主要なパッカーの検出を行える * 【宣伝】64ビットPEほかにも対応した[Yet AnotherなPEiD](https://github.com/K-atc/PEiD/)作りました * yara * 種々のルールでパターンマッチングすることが得意。理論上ファイルの形式を問わないのも強み(Cuckoo SandboxのログもOK) * PEiDの代替になる ? * python-yaraはyaraのpython向けラッパー * strings(コマンド)ないしは解析ツールのstringsウインドウ * どんなAscii文字列が含まれているのかを知ることは重要。解析の省力化につながる * 解析ツール:IDA Pro、x64dbgなど * 呼び出しているWindows APIの一覧がImportsウインドウにあるはず * 010Editor * ファイルをパースしてフィールドごとの値をチェックできたり、フィールドごとに色を付けたりする機能あり。特に画像ファイルや正体不明ファイルの解析向き マルウェアの静的解析とその妨害 ---- 静的解析(Static Aanlysis)は、検体を __実行せずに__ 動作内容を把握することを目標とする解析方法である。実行しないとしても、解析ツールに対する攻撃が存在するため、 __解析環境は解析専用の環境__ であることが望ましい。 手法: * ディスアセンブラ、デコンパイラ(=解析ソフト)の利用 * [#バイナリ解析環境を整えよう](#バイナリ解析環境を整えよう)で述べた通り * シグネチャ * 例:yara anti-静的解析の手法: * IDA Proなどの解析ソフトの脆弱性への攻撃 * パッカー([別章](#パッカー、アンパック)を参照されたし) * 難読化([別章](#難読化と難読化解除)を参照されたし) * 特定の引数・ファイル(復号鍵など)を与えないと動かなくする * TODO:具体的な検体を見つける 参考になる資料: * [Edomae 2015 - マルウェアを解析してみよう](http://www.slideshare.net/SatoshiMimura/edomae-2015) [余談]バイナリ解析ツールへの攻撃: * [IDAの脆弱性とBug Bounty by 千田 雅明](https://www.slideshare.net/codeblue_jp/masaaki-chida-japub) マルウェアの動的解析とその妨害 ---- 動的解析(Dynamic Analysis)は、検体を実行しながら動作内容を把握することを目標とする解析方法である。 手法: * 検体をアンパックして静的解析に回す * メモリインジェクションされたコードを抽出して静的解析に回す * APIコールトレース * Process Monitor(Sysinternals Suiteの1つ) * イベントを収集できるが、簡易的。正確にはAPIでなくイベントのトレース * 全部収集してからフィルターでほしいものを表示するアプローチ * [API Monitor](http://www.rohitab.com/apimonitor) * Win32APIなどの呼出しを引数とともに表示する。引数をHexdumpで見ることができ地味に便利 * 欲しいものを指定してから(kernel32.dllのAPIだけという指定も可能)それだけを収集するアプローチ * サンドボックスでの実行 * [#仮想化技術、サンドボックス](#仮想化技術、サンドボックス) を参照されたし。 * テイント解析(Taint Analysis) * TODO:章を立てる anti-動的解析: * anti-debug * Anti-VM/Anti-Sandbox ### 上記手法を利用できるツール TODO:別の章に移動 #### DECAF #### SLIME Sandbox https://www.blackhat.com/docs/asia-15/materials/asia-15-Chubachi-Slime-Automated-Anti-Sandboxing-Disarmament-System.pdf "SLIME Sandbox fakes different sandbox-related artifacts each malware execution" "SLIME logs instruction per execution" 実際のマルウェア解析例 ---- * [IDA Pro・Responder Pro・Shadow3を用いたマルウェアの解析例 | フォーカスシステムズ サイバーフォレンジックセンター](https://cyberforensic.focus-s.com/support/1284/) * 目次を見れば分かる通り、細かく見ている * [Course: CS-E4330 - Special Course in Information Security - Reverse Engineering Malware, 11.01.2017-05.04.2017, Section: Materials](https://mycourses.aalto.fi/course/view.php?id=13064&section=1) * FsecureのPaolo Palumbo氏による出張講義の資料? * Windowsにおける各種解析テクを実践する講義の模様(ツールが古い…) サンドボックスで安全な解析をする --- ### AppJail系(TODO:←くくりが雑すぎる) [Microsoft didn’t sandbox Windows Defender, so I did | Trail of Bits Blog](https://blog.trailofbits.com/2017/08/02/microsoft-didnt-sandbox-windows-defender-so-i-did/) (2017/8/2) Windows DefenderのスキャナがSYSTEM(Windowsの最上位の権限)で動いていて危なっかしいので、俺がサンドボックスを追加してあげたぜって話? 1枚目のgifはWannaCry検体のシステムへのアクセスを拒否させたってデモかな? ### VM系 ### Hypervisor系 仮想化技術(サンドボックス)を用いた動的解析 ---- [3] 仮想化技術によるマルウェア対策とその問題点(2012年;須崎@横国大) http://www.slideshare.net/suzaki/ss-13589611 ### VM型 #### QEMU [1] 仮想化技術を用いたマルウェア解析(2014年;by ntddk): https://speakerdeck.com/ntddk/jia-xiang-hua-ji-shu-woyong-itamaruueajie-xi * DECAF(QEMUのプラグイン) * テイント解析 * シンボリック実行 おすすめ書籍([1]の受け売り): * [Virtual Machines: Versatile Platforms for Systems and Processes (The Morgan Kaufmann Series in Computer Architecture and Design)](http://www.amazon.co.jp/dp/B006NV2EO0/) [1] * 9,000円 ### Cuckoo かっこう。使いやすくなったバージョン2を使おう。 [マルウェア対策“一部”内製化大解剖(2):Recruit-CSIRTがマルウェアの「培養」用に内製した動的解析環境、その目的と工夫とは (1/2) - @IT](http://www.atmarkit.co.jp/ait/articles/1707/06/news032.html) (2017/7/10) [マルウェア対策“一部”内製化大解剖(終):Cuckoo Sandbox、Selenium WebDriver、bson解析――独自マルウェア解析環境を自動化した際に施した2つの工夫 (1/2) - @IT](http://www.atmarkit.co.jp/ait/articles/1707/28/news011.html) (2017/7/28) ←自社にとって最適な動的解析環境を追求した話 ### VMM型 VMMにトレーサー機能を付けたタイプ。システム全体の動きが分かるのがVM型に対するメリットかな [2] FFR GreenKiller (AVAR 2009@kyoto; by Junichi Murakami) http://www.ffri.jp/assets/files/research/research_papers/avar-2009-murakami.pdf * [BitVisor](http://www.bitvisor.org) * "Open-source VMM software(BSD License)" * "GreenKiller uses BitVisor as a VMM framework" Alkanet: http://www.iwsec.org/mws/2015/pdf/IPSJCSS2015111.pdf rVMI - A New Paradigm For Full System Analysis https://github.com/fireeye/rvmi ### オンラインサンドボックス セットアップが不要で、レポートも見れて、手軽 サービス | ベース | ゲストOS | Poweshell | サンプルログ :---:|:---:|:---:|:---:|:---: [hybrid-analysis.com](https://www.hybrid-analysis.com/) | VxStream | Win7? | Yes | TODO [Deepviz](https://sandbox.deepviz.com/) | Deepviz | Win7 | Yes | TODO [Malwr](https://malwr.com/submission/) | Cuckoo | WinXP | <font color="red">No</font> | TODO 要チェック:eyes:: * [ANY.RUN | Interactive malware hunting service](https://any.run/) * [Free Automated Malware Analysis Sandboxes and Services](https://zeltser.com/automated-malware-analysis/) #### Hybrid Analysis [How to issue a full API key for automated submissions - Hybrid Analysis Knowledge Base - Hybrid Analysis Team](https://team.vxstream-sandbox.com/display/VSKB/How+to+issue+a+full+API+key+for+automated+submissions) 2017/11/24にAPIによる検体提出が可能になった。 ### QEMU **FixMe**:別章に移動するか章として独立? ソースコードを読もうとすると遭難するとの噂。 QEMUのここがクソだよ: * 後方互換性への配慮も無く、その説明もRelease Noteに特に無い。バージョンアップするには温かみある手動パッチが必要 * 例)ヘッダーファイルの消滅を伴う形でQIntとQFloatをQNumに統合@[Commit 01b2ff](https://github.com/qemu/qemu/commit/01b2ffcedd94ad7b42bc870e4c6936c87ad03429) * 1.xと2.x系でディレクトリの構造が様変わり * eventを飛ばすためにC\+\+のTemplete構文を使用(C\+\+初心者殺し) #### ソースコードのディレクトリ構造 TODO:ソースコードリーディングの成果を発揮 #### Dynamic Binary Translation (DBT) QEMUのDynamic Binary Translationがあって良かったねという話: https://speakerdeck.com/ntddk/qemufalsedynamic-binary-translationgaatuteliang-katutanetoiuhua * __"DBTがQEMUの肝"__ * Tiny Code Generator (TCG) * "ゲストのコードを逆アセンブルし中間コードに変換→中間コードをホストのコードに変換" * Translation Block * 基本ブロック的なもの? * TCGで可能なこと:"バイナリをLLVMに逆コンパイル(S2E[ASPLOS11])" * KLEE←S2Eが依存。"与えられたソースコードをLLVMでビルド" ### bhyve <blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">僕がbhyveを広めたいのは、KVMを知ろうとしてQEMUのソースコードを読み始めたまま遭難して帰らぬ人となる若者を増やしたくないからです。</p>&mdash; СЮУ1228 (@syuu1228) <a href="https://twitter.com/syuu1228/status/460748398962806787">2014年4月28日</a></blockquote> ### DECAF QEMU [1.0](https://github.com/sycurelab/DECAF/blob/master/decaf/VERSION)ベースの動的解析環境(S2Eよりもベースのバージョンが古いんだが…)。 GitHub: https://github.com/sycurelab/DECAF 論文を読んでくだされ [DECAF: A Platform-Neutral Whole-System Dynamic Binary Analysis Platform - Semantic Scholar](https://www.semanticscholar.org/paper/DECAF-A-Platform-Neutral-Whole-System-Dynamic-Bina-Henderson-Yan/5425dac9b3b70fe86edf846a7feb5beffa082ca6) 資料: * [DECAFによるマルウェア自動解析 | 一生あとで読んでろ](https://ntddk.github.io/2015/08/16/automated-malware-analysis-using-decaf-in-seccamp15/) ### BitVisor [BitVisor: A Single-VM Lightweight Hypervisor](https://www.bitvisor.org/) 国産ハイパーバイザー。 TODO チェックリスト: * 東大品川研 https://www.os.ecc.u-tokyo.ac.jp/ * Twitter: [品川 高廣](https://twitter.com/utshina2) * BitVisor Summit * BitVisor のAdvent Calendar(12月に有志により開催) ### [Cuckoo](https://cuckoosandbox.org/) 今はCuckoo 2使ってください… __TODO__:マルウェアの動的解析の実例としてもう一度登場させる > Cuckoo Sandbox is an advanced, extremely modular, and 100% open malware analysis system with infinite application opportunities. By default it is able to: > * Analyze many different malicious files (executables, document expoits, Java applets) as well as malicious websites, in Windows, OS X, Linux, and Android virtualized environments. > * Trace API calls and general behavior of the file. > * Dump and analyze network traffic, even when encrypted. > * Perform advanced memory analysis of the infected virtualized system with integrated support for Volatility. > http://www.iwsec.org/mws/2014/files/FFRI_Dataset_2014.pdf > オープンソース(一部非公開)のマルウェア解析システム > * 仮想環境内でマルウェアを実行 > * 実行時のふるまいをモニタリング > * VirusTotal連携、yara連携等 ### FFRI yarai analyzer professional ※商用製品 2017年1月、ver. 2.8よりFFR yarai改め、FFRI yaraiになった。 > http://www.iwsec.org/mws/2014/files/FFRI_Dataset_2014.pdf > * 仮想環境内でマルウェアを実行 > * 実行時のふるまいをモニタリング > * プロセス毎のAPI呼び出し履歴を取得可能 > * 解析対策機能を持つマルウェアを解析可能 > > データの利用例 > * マルウェア検知・分類 > * ベンチマーク > * 自身の自動解析システムとの比較、有効性検証 アンチデバッグ(Anti-debug) ---- TODO 手法: * デバッガのアタッチを検出するAPIの利用 * WindowsだとKernel32のIsDebuggerPresent() * 設定されたブレークポイント数を取得 * Hidden Process * リモートプロセスへのコードインジェクション VM(VMM)検知、Anti-VM、Anti-Sandbox ---- マルウェアはVM(VMM; Virtual Machine Monitor)で動いているかどうかを気にする。VMMで動いていることがわかればおとりの動きをする。そうすることで解析者に自分はマルウェアでないと勘違いさせることができる。そうなれば今後自分を駆除するための努力をさせずにすむ。(TODO:見直し) マルウェアが用いるサンドボックス検知の手法は主に以下の手法がある。 * Execution Environment Fingerprinting * Execution Timing Detection * 特定の仮想環境でしか使用できないCPU命令 * 存在しないドメインに対するアクセス * TODO 上以外に、もっと単純な方法が存在する。意外と効果があるらしい * 起動時間(uptime) * デスクトップのファイルの数や種類 * 画面の比率 ? * キーボードの配列 ? * 壁紙 ? * ユーザー名 ? * コンピュータ名 ? 日本を狙う特定の環境でしか動作しないマルウェアの特徴とは? http://news.mynavi.jp/articles/2016/12/08/malware_kas/ ### Execution Environment Fingerprinting https://www.blackhat.com/docs/asia-15/materials/asia-15-Chubachi-Slime-Automated-Anti-Sandboxing-Disarmament-System.pdf * Sandbox/VM environment specific files * Sandbox/VM environment specific registory keys * Sandbox/VM environment specific devices and its attributes * e.g. QEMU HDD vendor name * Sandbox/VM Speficic I/O port * Sandbox/VM related process * Like vm ware, virtualbox etc. * Using virtual machine implementation specific platform value and reaction * CPUID instruction result * Redpill * using LDT/GDT and IDT incongrusness * interesting research here: Cardinal Pill Testing 追加: * ARP Table * > サンドボックス製品のネットワークは仮想化されており、同じセグメントにはデフォルトゲートウェイのみがあり、ARPテーブルは1行のみというケースが多いようです [1] [1] [マルウェアの視点で見るサンドボックス:合法マルウェアで実感「リアルとサンドボックスの違い」 (2/3) - @IT](http://www.atmarkit.co.jp/ait/articles/1404/18/news004_2.html) ### Execution timing detection https://www.blackhat.com/docs/asia-15/materials/asia-15-Chubachi-Slime-Automated-Anti-Sandboxing-Disarmament-System.pdf * Using clock count differential * Traditional anti-debug technique ### 特定の仮想環境でしか使用できないCPU命令 TODO: 『サイバーセキュリティプログラミング』に書かれている ### 存在しないドメインに対するアクセス WannaCryにて、 > 自身が解析環境で実行されているかを判別するために、存在しないドメインへのアクセスを試みます。サンドボックスなどの解析環境では、存在しないドメインへのアクセスに対して、何らかのレスポンスを返すネットワークを構成することがあるためです。 [lac] #### これを逆手に取ると > 特定のドメインにアクセスができればWannaCryを停止させることができます。そのため、WannaCryが通信を行う未登録のドメインを研究者らが取得し、Sinkhole化させる動きがありました。今回Sinkhole化されたドメインはWannaCryのキルスイッチ・ドメインとも呼ばれています。 [lac] 参考資料: * [lac] [JSOC INSIGHT vol.17 | セキュリティ対策のラック](https://www.lac.co.jp/lacwatch/report/20170925_001387.html) (2017/9/25) ### AlicanAkyol/sems Anti-Sandbox and Anti-Virtual Machine Tool: https://github.com/AlicanAkyol/sems > Once the tool is run in a virtual machine(Virtualbox, Vmware, Qemu), it performs all the checks which are shown below and drops logs to the console about detected signatures until the "control" text is shown. In addition to that a separate .txt file with the finding name is created in the running directory for each detected signatures. Example; vboxBios.txt will be created for virtualbox bios signature. ### デスクトップのファイルを根拠にする TODO:実例 ### VM Evasion TODO:VMからの脱出。 ### MS Office マクロにおけるサンドボックス検知 [1] [「URSNIF」の新手法:マクロを利用してサンドボックス検出を回避 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/16418) (2017/11/20) #### AutoCloseマクロを利用した回避 > AutoClose を利用するマクロでは、文書ファイルが閉じられた後に不正な PowerShellスクリプトが実行されるため、サンドボックスによるマクロの解析の回避が可能になります。この手法は実装が容易なため、多くの不正なマクロで利用される機能になりつつあります。 [1] #### 列挙型変数を利用した回避 > Microsoft Office では、定義済みマクロのための列挙型変数をユーザに提供していますが、一部の列挙型変数は、Microsoft Office の比較的新しいバージョンにのみ存在します。これを利用して、列挙型変数を特定の値と比較することにより、Office のバージョンをチェックすることが可能になります。 [1] Anti-anti-malware ---- AV(Anti-Virus, Antivirus)回避とも。マルウェア対策技術を無力化しうる策(攻撃者のための対抗策)を紹介するが、当然セキュリティソフトで対応されているものもある。 TODO: [CODE BLUE 2014 : マルウエアによる検出回避方法の解説 by 篠塚 大志 HIROSHI SHINOTSUKA](https://www.slideshare.net/codeblue_jp/cb14-hiroshi-shinotsukaja) ### AVの無効化を求める 重要なシステムアップデーそソフトウェアです。インストールを阻害するのでAVを停止してくださいというインストラクションを添える。標的型攻撃にありがち。 ### ファイル拡張子によるスキャナの回避 * スキャナが検査するファイルがexe, dllだけなので別のファイルの拡張子ならOKとか * メールの添付ファイルをスキャンする対象の拡張子に該当しない拡張子をつける [1] [1] Ransomware - Defending Against Digital Extortion (2016/11; O’Reilly Media) ### ヒューリスティック検出の回避 例: * [ランサムウェア「CERBER」、機械学習を利用したセキュリティ対策を回避 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/14661) * > 暗号化型ランサムウェア CERBER は、既に各セキュリティ対策製品によって対策が講じられています。そのため、通常のプロセス上で CERBER自身の不正コード を実行することで振る舞い検知を回避し、自身の検出を困難にさせることを狙ったのです。。 * > 自動解凍アーカイブのファイルや簡易なファイルの利用も同様に、静的な機械学習を用いた検出にとって課題を突きつけられることになります。自動解凍アーカイブのファイルは、ファイルの内容に違いがあっても、どれも類似した構造となります。そして、特定の機能でファイルを復号することも、必ずしも不正な振る舞いでありません。 ### メモリインジェクション(memory injection) 例: * [国内ネットバンキングを狙う「URSNIF」が新たに「Bootkit」を利用 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/15144) #### [malWASH](https://www.usenix.org/conference/woot16/workshop-program/presentation/ispoglou) WOOT'16にてKyriakos K. Ispoglou and Mathias Payer, Purdue Universityによって提案された手法。 TODO ### エクスプロイト保護の回避 使われているのか…? [asintsov: Bypassing Exploit protection of NORTON Security](http://asintsov.blogspot.jp/2016/12/bypassing-exploit-protection-of-norton.html) ### ローダーのハック [特殊なSMBサーバーを使用してマルウェア検出を避ける攻撃「Illusion Gap」 | スラド セキュリティ](https://security.srad.jp/story/17/09/30/1912221/) (2017/10/1) > アンチウイルスプログラムがインストールされたWindows環境でSMBサーバー上の実行ファイルを実行する場合、アンチウイルスプログラムによる安全確認後、Windowsローダーが実行ファイルを起動する。SMBサーバー側ではファイルのリクエストがアンチウイルスプログラムからのものか、Windowsローダーからのものかを識別できるため、前者では安全なファイルを返し、後者で悪意あるファイルを返すことでウイルススキャンをバイパスしてマルウェアを実行させることができるという。 > > We want to serve different files, one for Windows PE Loader and another for the Windows Defender Antivirus over SMB. We can achieve that using a custom implemented SMB server. When a process creation is made by Windows PE Loader, a request will be made to the SMB server for the executable file, and we will serve file A, which is malicious. When Windows Defender requests the executed file, we will serve file B, which is benign. This way, file B will be scanned while file A will be executed. But at first, we have to identify which request is made by whom. (cited from [Illusion Gap – Antivirus Bypass Part 1 - CyberArk](https://www.cyberark.com/threat-research-blog/illusion-gap-antivirus-bypass-part-1/)) ### NTFS junctionで隔離機能を悪用 [ウイルス対策ソフトの欠陥を突いた“#AVGater”、「Windows Defender」には影響なし - 窓の杜](https://forest.watch.impress.co.jp/docs/news/1091603.html) (2017/11/15) [#AVGater vulnerability does not affect Windows Defender Antivirus, MSE, or SCEP – Windows Security blog](https://blogs.technet.microsoft.com/mmpc/2017/11/13/avgater-vulnerability-does-not-affect-windows-defender-antivirus/) (2017/11/13) > This vulnerability can be exploited to restore files that have been detected and quarantined by an antivirus product. To exploit this, malicious applications, including those launched by user-level accounts without administrator privileges, create an NTFS junction from the %System% folder to folder where the quarantined file is located. This NTFS junction can trigger the antivirus product to attempt to restore the file into the %System% folder. ### 偽装ファイル #### 証明書ファイル [セキュリティ研究センターブログ: 防衛関連のファイルを装うマクロマルウェアの新しい手口](http://blog.macnica.net/blog/2017/12/post-8c22.html) (2017/12/4) > ダウンロードしたファイルをwinoowsに付属している証明書関連の操作ができるcertutilコマンドを使い、Base64デコードをします。ダウンロードしてきたファイルの中身は、以下のように証明書に見えますが、実際は、CAB形式の圧縮ファイルでした。攻撃者の意図としては、証明書ファイルのダウンロードに見せかけて検出を回避する事が考えられます。 パッカー、アンパック ---- **検討課題**: * Anti-anti-malware の一種になるが、量がなければそこに合体するのもアリかも? * 暗号化し、実行時に復号する動作方式はここで扱うべきか?(きわどい) TODO 難読化と難読化解除 ---- Anti-(anti-)anti-malwareのお話。 資料: * [1] [QEMUのDynamic Binary Translationがあって良かったねという話 // Speaker Deck](https://speakerdeck.com/ntddk/qemufalsedynamic-binary-translationgaatuteliang-katutanetoiuhua) ### 難読化解除 #### OptiCode[Syscan13]([1]) * "バイナリをLLVM bitcodeに変換" * "LLVMの最適化パスによって難読化を除去" * e.g. "レジスタに無意味な値を挿入する難読化(`-dse, -simplifycfg`)" * e.g. "NOPと投下の命令を挿入する難読化(`-constprop, -instcombine`)" * e.g. "レジスタへの代入をばらけさせる難読化(`-instcombine`)" * Opaque Predicate * "LLVMによる最適化では解除できない" * "常に真(偽)となる条件文を挿入。実行されない箇所にコードを配置するというもの" * "LLVM bitcode に対して symboric execution"して解除 #### Adwind(Javaのマルウェア) ストリーム暗号ベースの難読化を自身に行う。 [JPCERT CC] [Adwindが持つ難読化された文字列の解読(2016-04-25)](https://www.jpcert.or.jp/magazine/acreport-adwind.html) (2016/4/25) * 難読化解除ツール(Python製)を提供 [各OSに対応するJavaのRAT「ADWIND」が再び確認。スパムメールで拡散 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/15445) (2017/7/14) memory-patching ---- TODO:章見直し http://www.ffri.jp/assets/files/research/research_papers/avar-2009-murakami.pdf "We can detect memory-patching by malware" * [Viton, Hypervisor IPS(BlackHatUSA 08)](http://www.fourteenforty.jp/research/research_papers/bh-japan-08-Murakami.pdf) * Manipulate Guest PageTable/PageTableEntry, * To protect memory patching by malicious driver 脆弱性の緩和策:EMET ---- EMETはMicrosoft WindowsのOSおよびWindowsアプリケーションのセキュリティ機能を拡張するためのソフトウェアである。言い換えるとシステムを全域的に脆弱性の影響を緩和するための策である。 <blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">Windows 10を使っても、EMETは必要なセキュリティ対策 <a href="https://t.co/2TMB4nhyfe">pic.twitter.com/2TMB4nhyfe</a></p>&mdash; yamatosecurity (@yamatosecurity) <a href="https://twitter.com/yamatosecurity/status/801994901726498818">November 25, 2016</a></blockquote> <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script> \# Win10のあるタイミングからEMET対応をやめるというアナウンスがあった気がする EMET 4.0の調査 http://www.ffri.jp/assets/files/monthly_research/MR201307_Investigation_into_EMET4.0_JPN.pdf EMETによるSEHOP実装の改良の提案 http://www.ffri.jp/assets/files/research/research_papers/EMETReport.pdf 不正通信の検出 ---- __TODO__:SOCや客先でも使われる技術も載せていきたいぞ… ### IDS #### snort 読み:すのーと。TODO #### Suricata https://suricata-ids.org/ ### SIEM 読み:しーむ。TODO ### ログ [マルウエアDatperをプロキシログから検知する(2017-08-17)](http://www.jpcert.or.jp/magazine/acreport-datper.html) (2017/8/17) C2通信検出の話 [マルウエアDatperの痕跡を調査する~ログ分析ツール(Splunk・ELKスタック)を活用した調査~ (2017-09-25)](http://www.jpcert.or.jp/magazine/acreport-search-datper.html) (2017/9/25) 今時なロブ解析 ### HTTPリクエストヘッダに残る痕跡 TODO ### データセット 参考資料: #### KDD Cup 99 Data > サイバーセキュリティに携わる者なら一度くらいはKDD Cup 99 Dataなるデータセットの名を耳にしたことがあるのではないだろうか.KDD Cupは国際会議SIGKDDによるデータマイニングのコンペで,KDD Cup 99 Dataはそのためのネットワーク侵入検知にまつわるデータ.正常通信と攻撃を分類するタスクが与えられた. > [KDD Cup 99 Dataおぼえがき | 一生あとで読んでろ](http://ntddk.github.io/2016/11/23/kdd-cup-99-data/)(by ntddk) より ### パケットに残る特徴の利用 通信プロトコルのヘッダの特徴に基づく不正通信の検知・分類手法 https://ipsj.ixsq.nii.ac.jp/ej/index.php?active_action=repository_view_main_item_detail&page_id=13&block_id=8&item_id=106530&item_no=1 特徴的なTCP/IPヘッダによるパケット検知ツールtkiwa http://ipsr.ynu.ac.jp/tkiwa/ ### 分類待ち [マルウェア通信検知手法におけるUser-Agentの有効性の一考察](http://www.slideshare.net/recruitcojp/useragent-54370987) マルウェアの不正ネットワークの分析によるルールファイル自動化の設計と実装 https://ipsj.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=108925&item_no=1&page_id=13&block_id=8 特徴量の時間的な状態遷移を考慮したマルウェア感染検知手法に関する研究(修士論文) https://dspace.wul.waseda.ac.jp/dspace/handle/2065/36065 [データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定](http://www.slideshare.net/JubatusOfficial/ss-63592780) 解析者のテクニック ---- TODO: かなりごちゃごちゃしてきた。章を立てて整理せねば。 ### 公的機関からの情報を得る [JPCERT コーディネーションセンター](https://www.jpcert.or.jp/) > 注意喚起、Weekly Report、脆弱性情報(JVN)、JPCERT/CCからのお知らせやイベントの新着情報をまとめて提供 [警察庁セキュリティポータルサイト@police](https://www.npa.go.jp/cyberpolice/) > 警察庁によるセキュリティ情報提供サイト。サイバー犯罪・サイバーテロの未然防止及び被害の拡大防止を図るべく、ネットワークセキュリティに関する様々な情報を提供します。 [警察庁セキュリティポータルサイト@police-インターネット定点観測](https://www.npa.go.jp/cyberpolice/detect/observation.html) 「全国の警察施設のインターネット接続点に設置されたセンサーで観測したアクセス(件数)の平均を集計」したものが表示される。 ### セキュリティベンダーからの情報を得る #### Twitterアカウント TODO #### トレンドマイクロ * [トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/) * [TrendLabs Security Intelligence BlogTrendLabs Security Intelligence Blog](http://blog.trendmicro.com/trendlabs-security-intelligence/) TrendLabsが情報発信して、トレンドマイクロの日本語ブログに掲載されるときは3日~1週間の遅延がある。Twitterの日本アカウントは記事掲載後の翌日にツイートするので、掲載されてからすぐに読みたい場合はRSSを使うのがおすすめ。 <!-- ##### Threat Encycropedia https://www.trendmicro.com/vinfo/us/threat-encyclopedia/ * 検出名から感染経路の予想はつく * ぼかしが多くて役に立たない? --> #### Norton #### Kaspersky #### ESET #### Intel Security #### Cisco ### SOCレポートを読む 日々アップデートされる情報を追っかけていられない人には有用な情報源。 以下筆者おすすめ: * ラック:[JSOC INSIGHT](https://www.lac.co.jp/lacwatch/jsoc_insight/) * 更新頻度:2〜3ヶ月に1回 * 既知情報のサマリーと解析がメイン。解析テクの話もあって新参にはおもしろい * NTT Security:[What We Think](https://www.nttsecurity.com/ja-jp/what-we-think/) * 更新頻度:不定期 * ピンポイントなトピックを扱う。本当に解析が好きな人が書いたんだろうなって感じ * IBM:[Tokyo SOC Report](https://www.ibm.com/blogs/tokyo-soc/) * 更新頻度:半年に1回 * 他にはない毛色。データ量で殴った分析が得意って感じ ### 日本のSecurity Researcherからの情報を得る ???「いつまでもあると思うな二次情報」 * [piyolog](http://d.hatena.ne.jp/Kango/) ※情報セキュリティインシデントにまつわる圧倒的情報量のインテリジェンスに特化 * [辻 伸弘(nobuhiro tsuji)](https://twitter.com/ntsuji)さん * 一人CSIRTこと[(n)inja csirt](http://csirt.ninja/)もよろしく * [nao_sec](https://twitter.com/nao_sec) * [PR] 友利奈緒たちも頑張ってます! ### 世界のSecurity Researcherからの情報を得る TODO * [MalwareMustDie! · MMD Malware Research Blog](http://blog.malwaremustdie.org/) * [Malware-Traffic-Analysis.net](http://www.malware-traffic-analysis.net/) * 悪性通信を見てみたかったらここからpcapを取ってくるといいかも 手元の走り書きメモ: ``` zerophazemalware malwaredontneedcoffee TMMalAnalyst ``` ### インシデントレスポンスとフォレンジック インシデントレスポンス = インシデントに対応すること。IRと略される。 インシデントハンドラー = インデントに対応する人 インシデントハンドリングの実際: * [サイバーレスキュー隊(J-CRAT)分析レポート2016(IPA)](https://www.ipa.go.jp/files/000057175.pdf) (2017/1/27) * [2017 InternetWeek ショーケース (Day 2): 実践インシデント対応 -侵入された痕跡を発見せよ-](https://internetweek.jp/sc-program/day2-takeda.pdf) (2017/6/2) * [インシデント調査のための攻撃ツール等の実行痕跡調査に関する報告書(by JPCERT/CC)](http://www.jpcert.or.jp/research/ir_research.html)/[English Ver.](https://www.jpcert.or.jp/english/pub/sr/ir_research.html) (2017/6/12) [余談]丁寧なマルウェア解析はウン百万円を積めば外部機関がやってくれる。インシデントハンドラー向けの資格に[GCIH](https://www.giac.org/certification/certified-incident-handler-gcih)がある。業務でやってる人は取ってるっぽい。 ### 情報共有の強化 [活動成果|ISOG-J:セキュリティ対応組織(SOC,CSIRT)強化に向けたサイバーセキュリティ情報共有の「5W1H」 v1.0](http://isog-j.org/output/2017/5W1H-Cyber_Threat_Information_Sharing_v1.html) (2017/10/27) > ISOG-JのWG6では情報共有についての課題について議論をし、そもそも情報共有とは何を目的としたもので、最終的にどのように活用されるべきなのかという基本に立ち返り、情報共有の基礎的な概念として「サイバーセキュリティ情報共有における5W1H」という形で整理しなおしました。 #### STIX 脅威情報のデータフォーマット [Introduction to STIX](https://oasis-open.github.io/cti-documentation/stix/intro) > ### What is STIX? > Structured Threat Information Expression (STIX™) is a language and serialization format used to exchange cyber threat intelligence (CTI). STIX is open source and free allowing those interested to contribute and ask questions freely. ### 侵入痕跡調査 [インシデント調査のための攻撃ツール等の実行痕跡調査に関する報告書](https://www.jpcert.or.jp/research/ir_research.html) (2017/11/9) > 本報告書は、実際の攻撃に使われることが多いツールの実行時にどのようなログが残るのか、またどのような設定をすれば十分な情報を含むログを取得できるようになるのかを調査し、まとめています。 > なお、ツール実行時に作成される痕跡(イベントログやフォレンジックアーキテクチャ)の詳細に関しては、「ツール分析結果シート」としてGitHubで公開しています。 > > ツール分析結果シート > https://jpcertcc.github.io/ToolAnalysisResultSheet_jp/ (上の続き) https://twitter.com/jpcert/status/928451244309413888 > インシデント調査のための攻撃ツール等の実行痕跡調査に関する報告書第2版を公開。調査対象の攻撃ツールを49種類に増やし、フォレンジックアーキテクチャやパケットキャプチャの調査も実施しました。^YK #### Mimikatz [IIJ Technical WEEK2017 Mimikatz実行痕跡の発見手法 - 171108_02.pdf](https://www.iij.ad.jp/company/development/tech/techweek/pdf/171108_02.pdf) (2017/11/8) ### 分析者用ツール FAME https://certsocietegenerale.github.io/fame/ > FAME Automates Malware Evaluation > > Meet the open-source malware analysis framework and its user-friendly > web interface. Made by and for incident responders. ### マルウェアのクラスタリング マルウェアをファミリー/亜種で分類する話。 クラスタリングに役立つ情報: * コンパイル日時 * 機械学習向け:ビットマップの特徴、n-gram上の特徴 クラスタリングツールと使用例: * [impfuzzy for Neo4jを利用したマルウエア分析(2017-07-03)](https://www.jpcert.or.jp/magazine/acreport-impfuzzy_neo4j-2.html) (2017/7/3) ### 名前をつける 攻撃者グループ名をつけてみよう! by Akira Miyata(seraph) https://speakerdeck.com/seraph/gong-ji-zhe-gurupuming-wotuketemiyou > AVTOKYO2016での講演資料です。 > 攻撃者に迫るために、どう言った分析を行っているのか、攻撃者グループ名やキャンペーン名を名付けるまでの過程をマルウェア解析等で得た特徴の具体例を交えて紹介します。 > http://ja.avtokyo.org/avtokyo2016/speakers#seraph ### whois ドメインを誰が持っているのかを確認する。過去に遡って調査するには次節を参照されたし。 [余談]誰も所有していないなら自分たちで買って、飛んでくるトラフィックを見てみるのも面白い。 ### ドメイン、IPアドレスのトラッキング #### Passive Total https://www.passivetotal.org/ 登録が必要。無料アカウント(Community Edition)でも利用可。 <span style="color: gray">Company Mail Addressはgmail.comでも通る。</span> 機能と分かること: * __OSINT:__ あるドメインから特定ドメインへの参照(ブログエントリーからのreferlal linkとか) * __Resolusions:__ 特定のIPアドレスに紐付いていたドメイン * __WHOIS:__ whois情報 * __Subdomains:__ サブドメイン * タグ検索: * System Tag(e.g. Blacklist)は検索できない? Community Edision のクォーター設定: * Web Searches: 200 ←連続1時間も使えない厳し目の設定 * API Searches: 15 * Public Projects: 1000 * Private Projects: 1 ### URL Reputation / Web Reputation #### Virus Total 先の説明通り。 Malicious/PhishingなURLはユーザーのコメントを収集すると集められる。マルウェアが降ってくることが多いのでおすすめ。 #### Site Safety Center (Trend Micro) https://global.sitesafety.trendmicro.com/ トレンドマイクロの見解を得るには役立つが、機能が少ない。URLを入れて「今すぐ確認」すると、「トレンドマイクロによるWebサイトの安全性の評価」と「トレンドマイクロによるWebサイトのカテゴリ」が表示される。 トップページに掲載されているTop Malicous URLsは一部が伏せられててURLを収集するには役に立たない。 #### urlquery https://urlquery.net/ Reputationと言うほどではないが、関連として。デマ情報が多い。公開APIは無い? BASIC認証が必要なはずのURLをcompromised siteと報告する怪しさもある。(もしかしてクラックした?) ### zone-h http://www.zone-h.org ### URL検査/サイト検査 #### urlscan https://urlscan.io/ 機能: * サイトのスクリーンショット * Server Locations(サーバーの地理的位置) * HTTPリクエストの一覧 * Outgoing Ling(発リンク) * ブラウザークッキー * 広告を検査するのに便利? Recent scans(https://urlscan.io/result/)を眺めるのも面白い。 [ネタ提供]悪性サイトへの短縮URLに関する調査(n週遅れ) ### プロキシ系 C2サーバーにアクセスすることは、攻撃者に解析者の存在を教えることになることに留意せよ。 #### aguse(アグス) https://www.aguse.jp/ > あやしいサイトや知らないサイトを訪れる前に、URLを入力するだけでサイト背景情報を調査したり、迷惑メールの送付経路を表示したりすることが出来ます。 機能: * 対象のWebページをスクリーンショット(画像)で見られる * マルウェアの検出情報(カスペルスキーを使用) * whois情報とサーバーの位置情報 * サーバー証明書の内容を表形式で表示 ### データ保全ツール(インシデントハンドラー向け) #### 初動対応用データ保全ツール CDIR Collector https://github.com/CyberDefenseInstitute/CDIR 特徴: * 国産のフリーソフト(国産OSS) * 揮発しやすい(書き換わりやすい)データを素早く保全することを目的とする。そのためディスクのフルコピー機能は提供しない * __専門的なツールと英語に疎い日本人でも簡便に扱える__ ようなツールを提供 * 保全されていることを保証するために、ファイルのハッシュ値も残す 参考: * [初動対応用データ保全ツール「CDIR Collector」解説(前編):セキュリティ事故対応における“オープンソース”活用法指南 (1/3) - @IT](http://www.atmarkit.co.jp/ait/articles/1609/15/news006.html) * [初動対応用データ保全ツール「CDIR Collector」解説(後編):セキュリティ事故対応における“オープンソース”活用法指南(応用・解析編) (1/3) - @IT](http://www.atmarkit.co.jp/ait/articles/1609/30/news005.html) ### メモリフォレンジック #### Volatility TODO: Volatilityとその使い方を紹介し、「周辺領域」にあるVolatilityの項を消す 関連: * [既知のマルウエアをメモリイメージから簡易に検知できるツールを開発 ~impfuzzy for Volatility~(2016-11-01)](https://www.jpcert.or.jp/magazine/acreport-impfuzzy_volatility.html) #### Comae Stardust [Comae Stardustで、ゼロから学ぶメモリフォレンジック - セキュリティごった煮ブログ|ネットエージェント](http://www.netagent.co.jp/study/blog/hard/2017727.html) ### DNS偽装 ### C2通信の観測 感染端末の通信で使っていたドメインのうち、失効したドメインを買って(←そう書いてないけど)通信を観測するテクニック。 過去の実施例: * [Avalancheボットネット解体により明らかになった国内マルウエア感染端末の現状(2017-06-12)](http://www.jpcert.or.jp/magazine/irreport-avalanche.html) * > オペレーションアバランチでは、オペレーションに協力する組織がAvalancheボットネットに関わるドメインを取得して、そのドメイン情報をもとにマルウエア感染端末からの通信を観測しています。 ### パケットのキャプチャー Wirehsark, tcpdumpなどを利用する。 ### 可視化 [イベントログを可視化して不正使用されたアカウントを調査 \~LogonTracer\~(2017-11-28)](https://www.jpcert.or.jp/magazine/acreport-logontracer.html) Active Directoryネタ アンチ解析 ---- ### Anti Forensics すること: * セキュリティログの消去 例: * PETYA (2017年) 巨大マルウェアデータベースの構築 ---- :::warning __※注意※__:関係法律の解釈次第では単純所持であっても違法になりうるため、運用には細心の注意を払うこと(データベースサーバーが外部にマルウェアを放流しているなんて状況は、リサーチャーとして以ての外) ::: やらかし その1: [ニュース - ウイルス保管容疑でセキュリティ企業ディアイティの社員逮捕、同社は反論:ITpro](http://itpro.nikkeibp.co.jp/atcl/news/17/110102576/) (2017/11/1) > 京都府警サイバー犯罪対策課などは2017年10月31日、ファイル共有ソフト「Share」の利用者から情報を流出させるウイルスを業務用PCに保管したとして、セキュリティ企業ディアイティの社員を不正指令電磁的記録(ウイルス)保管容疑で逮捕した。容疑者は顧客の依頼を受けてShareに情報が流出していないかを監視するサービスの担当者だった。 > 事件に対するプレス > 2017.11.01 > お知らせ:当社社員の不正指令電磁的記録(ウイルス)保管容疑で逮捕された件について > > 当社ではP2Pネットワークの監視サービスを行なっております。 > > この業務の中で、不正プログラムを取得することがあり、取得した不正プログラムは内部のサーバに保管するシステムになっております。 > この度の警察の嫌疑は不正プログラムの保管です。 > > 当社としては、この取得と保管はファイル流出監視サービスを行うという正当な理由に基づくもので、取得・保管したファイルを他人のコンピュータにおいて実行の用に供する目的はありません。 > したがいまして、不正指令電磁的記録(ウイルス)保管では無いと考えておりますが、警察と協力して事実関係を明らかにしてまいります。 > > 株式会社ディアイティ > 代表取締役社長 三橋 薫 > http://www.dit.co.jp/ (魚拓:https://archive.is/BSNde) [ウイルスで情報流出被害…社員逮捕の会社 : 地域 : 読売新聞(YOMIURI ONLINE)](http://www.yomiuri.co.jp/local/kyoto/news/20171115-OYTNT50263.html) (2017/11/16) > 府警の調べでは、同社は専用ソフトなどを使って外部と遮断する措置を取っていなかった。 - - - 収集方法は、大きく分けて2つある。 ### 誰かに期待する マルウェアは有志により以下のサイトで収集&保管されている。ここでは利用方法の説明は一切せず、紹介に留める。 * Open Malawre: http://www.offensivecomputing.net/, http://openmalware.org/ * [VirusShare](https://virusshare.com) ※招待制 * [malware.lu](https://avcaesar.malware.lu/) * [theZoo](https://github.com/ytisf/theZoo) <!-- [Got a Virus site ? Post it here (Page 1) — Virus eXchange — VX Heaven](http://vxheaven.org/forum/viewtopic.php?id=155) --> ほか: * 「malware dataset」でググる * https://zeltser.com/malware-sample-sources/ * [マルウェア検体を入手する方法について](http://www.japan-secure.com/entry/blog-entry-198.html) 手動でちまちま集めることをいとわない場合は、オンラインサンドボックスの結果に添付されている検体を集めるのも方法の一つである。 特定のファミリーの検体を集めたい場合は、アンチウイルスベンダーのインテリジェンスブログのエントリーの下部に記載されているIOC(Indicator of Compromise)をもとに当該検体を検索エンジンで見つけられるときがある。 #### hashes https://virusshare.com/hashes/ ### 自分で集める :::info サーバーが国内にある場合は、平成23年度時点では __過失__ により他者へのマルウェア感染を引き起こした場合は罪(168条の2)に問われないが、最新の動向に注意すること。 ::: ハニーポットを使う。TODO(以降はよく知らなくもないが、調べながらまとめることになり時間がかかるので後回し)。個人だけででなく、ハニーポットを運用している企業もある。 [閑話休題]ハニーポットを運用している人は自らを「ハニーポッター」と名乗るため見つけやすい。ハニーポットの略称はハニポ。 ハニーポットの情報源: * 総本山:[The Honeynet Project](https://www.honeynet.org/) * まとめ:[paralax/awesome-honeypots](https://github.com/paralax/awesome-honeypots/blob/master/README.md) * 個人ブログ:[www.morihi-soc.net](http://www.morihi-soc.net/) * 『[サイバー攻撃の足跡を分析するハニーポット観察記録](https://www.amazon.co.jp/gp/product/4798049085/)』(森久和昭・著)(2017/1/27)もよろしく? ハニーポット運用に必要なもの: * どんな攻撃を集めたいのかという目的 * ハニーポットによって集められる攻撃の種類が異なる * 攻撃者になった気持ちでShodanやCensysを眺めて、今後きそうなネタを探すのもいいかも(絶対ポート叩くなよ) * 以下ヒント * 筆者注目:ELKスタック(Elastic Search, Logstash, Kibana), S3バケット * 2015か2016年頃から世界的な空前のログ可視化ブームが来ている。セキュリティ設定はあまり言及されていない(ように見える) * 周回遅れ:Wordpress\*, Joomla!\*, Drupal\*, Apache Struts 2\*\*, SCADA\*\*\*, SMB(今からやる人はこの辺がいいかも。成果報告期待してま~す) * \* CMS御三家で、The脆弱性の塊。Wordpressは個人ブログでもよく使われ、Drupalは政府機関も使っているという感じ。攻撃の影響が残るので、Dockerなどの仮想化により破棄&初期化が容易な環境が望ましい * [PR] 筆者の[vuln-wordpress](https://github.com/K-atc/vuln-wordpress)ようにDockerizeするのが1つの方法 * \*\* StrutsはSIerが使いがち。PoCが公開されると攻撃が来るみたい * \*\*\* トレンドマイクロがやってる * n周遅れ:SSH, Telnet(この辺の攻撃情報はみんな集めてるから、発表したところで面白くない) * ありふれているので情報が多く、立てやすい点ではおすすめ * グローバルIPアドレス * VPSやクラウドサービスだとIPアドレスから契約先の事業者とローケーションが分かる * 例)AWSのIPアドレスの範囲:https://docs.aws.amazon.com/ja_jp/general/latest/gr/aws-ip-ranges.html * 1つのグローバルアドレスに公開ポートがたくさんぶら下がっているのは怪しいですよ。数も要検討 * OS * Windows Server + Active Directoryハニポも面白そう * 任意コード実行脆弱性に備えて、セキュリティパッチを必ず当てよう! * 自宅サーバー/VPS/クラウドサーバー * DMZまたはVLAN ※家の中に設置する場合 * ドメイン(※できれば) * 最近失効した有名なドメインが狙い目? * Pastebinなどの不特定多数のアクセスが期待できる情報公開サービス(※あるとよい) * 既存の脆弱性の知識 * 低インタラクティブのハニポでは設置時に必要ない知識かも? * Webアプリ系のハニポでは必須。ログ解析でも大いに役立つ * ログと解析能力 * ハニポを動かす前にログが取れているのかをちゃんと確認 * ログを保存するストレージの空き容量は大丈夫? * 特にEC2インスタンスとラズパイ * クラウドに立てているときはダウンロード容量に注意 * 静的データをS3バケットなどに移動させるなどの対策も考えよう。S3は速度の面でも有利! * フォレンジックの知識の出番か~? IoT機器をターゲットにした攻撃をログするための「IoTPOT」が横浜国立大の情報・物理セキュリティ研究拠点で開発され、論文化している。読んでみたが、試みとして面白い(筆者は、Telnetを想定していることと環境再現方法にさらなる検討の余地があると感じた)。 [IoTPOT: Analysing the Rise of IoT Compromises](https://www.usenix.org/conference/woot15/workshop-program/presentation/pa) (USENIX, WOOT'15) __※注意※__ 利用規約により、ハニーポットなどの脆弱なサーバーをVPS、クラウドサービスで運用することを禁止されている場合があるため、外部サービスでの運用を考えている場合はよく確認し、不明ならば問い合わせること。また、学内のサーバーで運用する場合も、特別な申請が必要な場合があるため識者に相談すること。 * Amazon Web Services (AWS):ハニポOK * [3] 「AWSの適正利用規約及びカスタマーアグリーメントの範囲内における利用であればハニーポットの運用は問題ない。」 * ※許可のないペネトレーションテストは明示的に禁止されているので注意→[侵入テスト - AWS クラウドセキュリティ | AWS](https://aws.amazon.com/jp/security/penetration-testing/) * Microsoft Azure:ハニポOK * [3] 「特定のアプリケーションやサービスに対して個別に許諾や禁止はしていない。 」等。他項目は引用元を参照されたし * Google Cloud Computing * TODO * DigitalOcean:ハニポOK * [Terms of Service Agreement on DigitalOcean](https://www.digitalocean.com/legal/terms/) * 根拠:公式のコミュニティーのチュートリアルにKippoのインストール方法を掲載している(掲載したままにしている) * [How To Install Kippo, an SSH Honeypot, on an Ubuntu Cloud Server | DigitalOcean](https://www.digitalocean.com/community/tutorials/how-to-install-kippo-an-ssh-honeypot-on-an-ubuntu-cloud-server) * 問い合わせ結果(情報Thanks!): * [1] 「セキュアにハニーポットを運用している限りは問題ないけど、十分気をつけろ」(意訳)※原文は引用元に掲載済み * このは(ConoHa):ハニポNG * [ConoHa会員規約](https://www.conoha.jp/agreement/) * [ハニーポットの可否に関する美雲このはのTwitterの発言](https://twitter.com/MikumoConoHa/status/512116623918907392) * > や・・・やめて!くまのプーさんが、寄ってくるじゃないの!!!RT @TwitterID: ConoHaでハニーポットって立ててもいいのかな? * 問い合わせ結果(情報Thanks!): * [1] 「規約違反ではないが、他のお客様に影響する可能性があるので控えてほしい」 * さくらインターネット:ハニポOK * [基本約款](https://www.sakura.ad.jp/agreement/[a]yakkan0_kihon.pdf) あとサーバーを日本国内・国外のどちらに立てるのかという問題がある。法的な問題を起こした場合、サーバーが設置された国の法律にもとづいて判断される。お気をつけいただきたい。 参照: [1] [あなたは、ハニーポットがお好きですか?! // Speaker Deck](https://speakerdeck.com/blackle0pard/anataha-hanipotutogaohao-kidesuka) (2017/8/9) [2] [ハニーポットの運用が規約違反でないか調べてみた](https://blackle0pard.net/v9bnm7/) (2018/8/10) [3] [くろひょうのぶろぐ - ハニーポットの運用が規約違反でないか調べてみた#2](https://blackle0pard.net/wxn7jq/) (2017/10/30, 2017/11/9) #### ハニポ構築参考情報 * [初心者向けハニーポット WOWHoneypot の紹介 // Speaker Deck](https://speakerdeck.com/morihi_soc/chu-xin-zhe-xiang-kehanihotuto-wowhoneypot-falseshao-jie) (2017/11/25) マルウェアに感染したときにすること ---- 企業向けの章になります。 __TODO__:[NIST SP800-83の邦訳](https://www.ipa.go.jp/files/000025349.pdf)、IPAの勧告、[ここの連載](http://itpro.nikkeibp.co.jp/atcl/column/15/110900259/)を元に再構成。「誰が、いつ」するのかを明確にする。 * ネットワークの遮断 * フォレンジックツールの使用 * 公的機関に届け出 * IPA→[届出:ウイルスの届出:IPA 独立行政法人 情報処理推進機構](http://www.ipa.go.jp/security/outline/todokede-j.html) * 今の窓口はJPCERTだったような気も→[JPCERT コーディネーションセンター インシデント対応依頼](https://www.jpcert.or.jp/form/) __NG行為__: * HDD/SSDのフォーマット * 何が起こっていたのかの確認が困難になる最悪手 * (サーバーの)電源遮断 * 個人使用の業務PCをつけっぱにするのはOK?NG? * ランサムウェア感染の場合は、メモリに残存する復号に使える情報が消える可能性があるのでNG。アプリケーションの立ち上げもNG 参考: * [実践、セキュリティ事故対応:ITpro](http://itpro.nikkeibp.co.jp/atcl/column/15/110900259/) ビジネスとして ---- ### 取締役会対策 [ハッキングされたとき、取締役会に説明すべきこと:Gartner Insights Pickup(38) - @IT](http://www.atmarkit.co.jp/ait/articles/1711/10/news009.html) (2017/11/10) > 取締役の関心事は以下の通りだ。 > > 1. 戦略(オペレーションではない) > 1. リスク監督(管理ではない) > 1. ビジネスの結果(技術の詳細ではない) > 1. 明確な責任 > サイバーセキュリティについては、取締役に分かる言葉でビジネスの意思決定および結果と関連付けて説明すべきだ。取締役には、何を知っている必要があり、何を知っている法的義務があるかを解説するとともに、重大なリスクへの管理を徹底する方法があることを伝えて安心させるとよい 周辺領域 ---- ### データセット マルウェア対策のための研究用データセット ~ MWS 2011 Datasets ~ http://www.iwsec.org/mws/2011/manuscript/1A1-1.pdf * マルウェアを提供ししたのはFFRI [[出典](http://www.ffri.jp/assets/files/monthly_research/MR201407_An%20Example%20of%20Antivirus%20Detection%20Rates%20and%20Similarity%20of%20Undetected%20Malware_ENG.pdf)] FFRI Dataset 2014のご紹介 http://www.iwsec.org/mws/2014/files/FFRI_Dataset_2014.pdf TODO: ネットワークパケットの集積データ ### 検知・分類 ロジスティック回帰分析による未知ファイル分類の有効性 http://www.ffri.jp/assets/files/monthly_research/MR201402_Effectiveness%20of%20unknown%20malware%20classification%20by%20logistic%20regression%20analysis_JPN.pdf 動的情報に基づいたマルウェアのクラスタリング http://www.ffri.jp/assets/files/monthly_research/MR201311_Behavioral-based_malware_clustering_JPN.pdf 機械学習のセキュリティ技術応用 http://www.ffri.jp/assets/files/monthly_research/MR201306_Machine_learning_for_computer_security_JPN.pdf Fighting advanced malware using machine learning http://www.ffri.jp/assets/files/research/research_papers/psj13-murakami_EN.pdf #### 機械学習 マルウェアは一種の文字列もしくは画像なので適用できる。 Microsoft Malware Classification Challenge (2015) https://www.kaggle.com/c/malware-classification * 機械学習によりマルウェアを分類するコンテスト * データセットは今でもダウンロードできる(2016年4月現在) #### 異常検知 TODO #### [yara](https://plusvic.github.io/yara/) > The pattern matching swiss knife for malware researchers 平たく言うとファイル中のバイト列の特徴を元に検出・分類するOSSツール install on Arch Linux: ``` sudo pacman -S yara yara-python ``` usage: ``` % yara --help YARA 3.5.0, the pattern matching swiss army knife. Usage: yara [OPTION]... RULES_FILE FILE | DIR | PID Mandatory arguments to long options are mandatory for short options too. -t, --tag=TAG print only rules tagged as TAG -i, --identifier=IDENTIFIER print only rules named IDENTIFIER -n, --negate print only not satisfied rules (negate) -D, --print-module-data print module data -g, --print-tags print tags -m, --print-meta print metadata -s, --print-strings print matching strings -e, --print-namespace print rules' namespace -p, --threads=NUMBER use the specified NUMBER of threads to scan a directory -l, --max-rules=NUMBER abort scanning after matching a NUMBER of rules -d VAR=VALUE define external variable -x MODULE=FILE pass FILE's content as extra data to MODULE -a, --timeout=SECONDS abort scanning after the given number of SECONDS -k, --stack-size=SLOTS set maximum stack size (default=16384) -r, --recursive recursively search directories -f, --fast-scan fast matching mode -w, --no-warnings disable warnings -v, --version show version information -h, --help show this help and exit Send bug reports and suggestions to: vmalvarez@virustotal.com. ``` * yarファイルに __errorがあるときは解析がストップ__(このとき何も表示しない?) するので注意 実行例 \*1: ``` [katc@K_atc originalfile]$ yara -v yara 3.5.0 [katc@K_atc originalfile]$ yara -w ~/malware/rules/index.yar PlugX_RTF_dropper_42fba80f105aa53dfbf50aeba2d73cae maldoc_OLE_file_magic_number PlugX_RTF_dropper_42fba80f105aa53dfbf50aeba2d73cae RTF_Shellcode PlugX_RTF_dropper_42fba80f105aa53dfbf50aeba2d73cae Big_Numbers0 PlugX_RTF_dropper_42fba80f105aa53dfbf50aeba2d73cae Big_Numbers1 PlugX_RTF_dropper_42fba80f105aa53dfbf50aeba2d73cae Big_Numbers3 PlugX_RTF_dropper_42fba80f105aa53dfbf50aeba2d73cae Big_Numbers4 PlugX_RTF_dropper_42fba80f105aa53dfbf50aeba2d73cae contentis_base64 PlugX_RTF_dropper_42fba80f105aa53dfbf50aeba2d73cae with_urls PlugX_RTF_dropper_42fba80f105aa53dfbf50aeba2d73cae without_images PlugX_RTF_dropper_42fba80f105aa53dfbf50aeba2d73cae without_attachments PlugX_RTF_dropper_42fba80f105aa53dfbf50aeba2d73cae ``` この結果では `RTF_Shellcode` が検出されたことが興味深い。筆者はRTFファイルにおけるシェルコードはあまり詳しくないが、アドレス調整のためのnop seld(\x90はIntel系CPUではnop命令に当たる。nop sledはそのnopの連なりのことで、エクスプロイトにおけるテクニックの一つ)による不自然な\x90の連続を根拠として検出したと思われる。以下に `RTF_Shellcode` のルール定義を示す。 ``` // This rule have beed improved by Javier Rascon rule RTF_Shellcode : maldoc { meta: author = "RSA-IR – Jared Greenhill" date = "01/21/13" description = "identifies RTF's with potential shellcode" filetype = "RTF" strings: $rtfmagic={7B 5C 72 74 66} /* $scregex=/[39 30]{2,20}/ */ $scregex=/(90){2,20}/ condition: ($rtfmagic at 0) and ($scregex) } ``` (\*1) 検体→ ac7d02465d0b1992809e16aaae2cd779470a99e0860c4d8a2785d97ce988667b (sha256), [VirusTotal](https://virustotal.com/ja/file/ac7d02465d0b1992809e16aaae2cd779470a99e0860c4d8a2785d97ce988667b/analysis/), [hybrid-analysis](https://www.hybrid-analysis.com/sample/ac7d02465d0b1992809e16aaae2cd779470a99e0860c4d8a2785d97ce988667b?environmentId=100), [YaraRules Anlayzer](https://analysis.yararules.com/analysis/586b8bbfe41a9c3e9aa25467) #### yara rules `RULES_FILE` のファイルはここを利用できる: https://github.com/Yara-Rules/rules/ * [commit 42ce524](https://github.com/Yara-Rules/rules/commit/42ce524845c10649f99b231bb206261ac8522191) 時点では、"./malware/MALW_DirtyCow.yar"のimportをコメントアウトをしないとろくに動かないので注意 オンライン版: https://analysis.yararules.com ごった煮(ライセンス関係不明): https://github.com/mikesxrs/Open-Source-YARA-rules ##### yara ruleを書いてみよう * [Writing YARA rules — yara 3.4.0 documentation](http://yara.readthedocs.io/en/v3.4.0/writingrules.html) TODO:同人誌に書いた内容軽く載せようかな…? ### メモリフォレンジック 資料: * The Art of Memory forensics **TODO**:OSSのフォレンジックツール #### Volatility Volatility Plugin Contest: http://www.volatilityfoundation.org/#!contest/ck3 ### IAT再構築 職人技が光る。 ### 脆弱性の利用を検知する技術 資料: * たのしいバイナリの歩き方 #### ROP検知 FFRI… ### 脆弱性の自動探索のための技術 資料: * [angr, AFL, Driller | 一生あとで読んでろ](http://ntddk.github.io/2016/08/27/angr-afl-driller/) #### [AFL](http://lcamtuf.coredump.cx/afl/) (american fuzzy lop) TODO #### シンボリック実行 シンボリック実行に入門しようとした: http://ntddk.github.io/2014/09/12/symexec-intro/ #### ???(ファジング+シンボリック実行) TODO ### ログ解析技術 TODO:SOC(Security Operation Center)で使われているテクとか無いかな?←SIEMなどの客先の機器をどう使うかが肝なのでは? TODO: 分類待ち ---- 実行環境に応じて動作を変えるマルウェアに関する調査 http://www.ffri.jp/assets/files/monthly_research/MR201405_A_Survey_of_Environment_Sensitive_Malware_JPN.pdf Fuzzy hashingの利用に関する検討及び評価 http://www.ffri.jp/assets/files/monthly_research/MR201403_Consideration_and_evaluation_of_using_fuzzy_hashing_JPN.pdf Freeze Drying for Capturing Environment-Sensitive Malware Alive http://www.ffri.jp/assets/files/research/research_papers/bheu14_chubachi_public_EN.pdf Exploring the x64 http://www.ffri.jp/assets/files/research/research_papers/psj10-murakami_JP.pdf Linuxマルウェアについて - FFRI http://www.ffri.jp/assets/files/monthly_research/MR201501_Latest_Trends_in_Linux_Malware_JPN.pdf 未知ウィルス検知のための新手法と実装(NICT) http://www.nict.go.jp/publication/shuppan/kihou-journal/kihou-vol51no1.2/02-08.pdf [「AngleWare」の出現とオープンソースランサムウェア「Hideen Tear」の比較検証 | MBSD Blog](https://www.mbsd.jp/blog/20170331.html) > 弊社のマルウェア解析チームにて「AngleWare」の検体を入手し解析を行った結果、過去にオープンソースとしてgithubに公開されたことで有名な「Hidden Tear」のコードと酷似する点が複数あることを確認しました。 ### POSマルウェア POS マルウェアについて - 株式会社FFRI http://www.ffri.jp/assets/files/monthly_research/MR201409_Survey%20of%20POS%20Malware_JPN.pdf ### ATMマルウェア [「ATMマルウェア」の実態とその攻撃手口に迫る | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/archives/16318) (2017/11/6) 記事内に詳細レポートへのリンクあり - - - 2017/2/4 章の数が50に達してもおかしくない増加具合だ…(現在40前半) 2017/7/3 文字数が8万を超えた…あと2万文字しか書けないorz 2017/8/8 文字数が9万字を超えた!あと1万字なのでそろそろメモを分割せねば 2017/9/3 文字数が上限の10万字に達した!SEOの都合上、様子を見ながら少しずつ分割を進めていくよ