Code Blue 2017 カンファレンス参加レポート
11月9~10日に開催された日本のセキュリティカンファレンスであるCode Blue 2017に参加してきました。
備忘録的に興味深かった内容をさらっと書いておこうかと思います。ちゃんと理解できていない部分もあるので、間違っている可能性もあるとご理解ください。
基調講演:サイバースペースにおける国家主権
サイバー犯罪と国家の主権に関する話。書いていたメモが消えたので、感想だけ軽く……。
講演者はNATO法律顧問であり、航空宇宙、海事、サイバー戦略および政策に関して企業として組織に助言しているとのこと。 陸・海・空の軍事関係にサイバー空間を足してどう対応していくべきかを考える。 原子力潜水艦や船舶、衛星などの実際の攻撃事例が面白かった。 様々な課題がありますが、協力していきましょうというのはよくある国際社会とサイバー犯罪に関する講演の結論です。 今回も教育や学習という面でこのカンファレンスを通じて理解を深めましょうといった内容で、最初の基調講演としてはふさわしい内容だったのではないでしょうか。
参考URL
Galileo atomic clocks failed: What can we learn from it?
FACT CHECK: Did Russia Hack the GPS System of the USS John McCain to Cause a Collision?
Step-Oriented Programming による任意コード実行の可能性
講演者の坂井弘亮氏は独自組み込みOS「KOZOS」を作成している。それと、SECCONの実行委員の方。
- 組み込み機器はデバッグポートが有効になっていると基本的になんでも行えてしまう
ので、リリースの際にはデバッグポートは使えないようにしましょう
コードを実行できないからと言って、安全ではなく、SOP(Step-Oriented Programming)という方法で攻撃ができる(一般的な名称ではない?)
- 組み込み機器ではRSPプロトコルを使ってリモートデバッグを行う
- 組み込みのデバッグではプログラムカウンタを簡単にいじれるので、ROPのように既存のコードを使ったコード実行が容易
- SECCONでSOPを利用して解く問題を出したところ、みんなSOPを利用して問題を解いていたので、この手法自体は誰もが簡単に思いつくものである
技術的な内容は難しかったですが、SECCONの問題の解説はなかなか面白かったです。 実際にリモートデバッグを使ったコード実行のデモを行っていたので、漠然と何をやっているのかは理解できました。 組み込み機器に対する攻撃手法はあまり詳しくありませんが、普段 Exploit する人たちからしたら、今回の攻撃の手法はROPからすぐに思いつくのかなあという感想。
参考URL
Howto: GDB Remote Serial Protocol
産業制御システムに対するStuxnet以来最大の脅威
Industroyerという産業システムを狙ったマルウェアの解析に関する話
- 産業システムを狙うマルウェアとしては、Stuxnet → HAVEX(Dragonfly) → BlackEnergy → Industroyer といった大きな事例があった
- 各マルウェアは産業システムで行う破壊活動の内容の違いがある
- 産業システムと言っても管理はWindowsで行われており、そこが狙われる
- (正直 Industroyer のペイロードの解説などはちょっと理解ができなかった)
- Industroyer というマルウェアはとても多機能で、後からモジュールをロードできる
- 攻撃者は多数のモジュールを用意し、攻撃対象に合わせたモジュールをロードし、目的を達成する
結局のところ、狙われているのはWindowsであり、今回の解析対象もWindowsマルウェアでした。 質疑で日本も標的になりうるかとい質問に、個別システムのモジュールを攻撃者が用意することができれば、どんなシステムも標的になりうるという点が印象深かった。
参考URL
停電の原因は産業制御システム狙うマルウェアか 「Stuxnet以来、最大の脅威」 - ITmedia エンタープライズ
産業制御システムに最大級の脅威をもたらすマルウェア「インダストロイヤー」 | マルウェア情報局
WIN32/INDUSTROYER A new threat for industrial control systems
日本を狙うAPT攻撃の全体像 - APT攻撃インシデントSTIXデータベース
JPCERTの方の発表。日本で行われたAPTの利用されたマルウェア、攻撃キャンペーン、Threat Actorなどを紐づけて全体像を把握するための仕組みをつくりましたと言う内容
- ここ数年日本で活動していた Blue termite、APT17、Tick/Daserf、ChChes が対象
- STIX形式で各内容まとめてみると、攻撃者の動向が把握できる
- 各キャンペーンの活動時期をTimelineとして並べるデモを行った
ただ、標的型攻撃のインシデント詳細をそこまで大量に持っているのはJPCERTくらいじゃないかと思う。問題提起がそもそもJPCERTの内部の問題なんじゃ……。 JPCERTの持っている情報も機微なものが含まれるので、そのまま公開はできないとのこと。 手軽な情報共有の基盤を作ったのなら分かるが、STIX形式の入力は現状「頑張って」やっているそうで、頑張らなきゃ使えないシステムは普及しないのでは……。 JPCERT以外の組織での利用シーンはあまり思いつかないのが正直なところ。 マルウェアの挙動なんかは面白かったので、もう少し掘り下げてほしかったけど、そこは次の講演者の発表で。
参考URL
脅威情報構造化記述形式STIX概説:IPA 独立行政法人 情報処理推進機構
攻撃者の行動を追跡せよ -行動パターンに基づく横断的侵害の把握と調査-
引き続きJPCERTの方の発表。
- 攻撃者の利用するツールはマルウェア以外(正規のツール、コマンド)も多くあり、それらは検知が困難
- 攻撃者が侵入後行う活動に着目し、どのようなコマンドが実行されるかを調査
・初期調査
tasklist ⇒ 仮想環境の検知など
・探索活動
dir ⇒ 欲しいファイルの探索
net ⇒ ローカルネットワークの探索
ping⇒ネットワーク内のホストを探すため
echo⇒スクリプトファイル(powershell)の作成
dumpel、LogParser(デフォルトでは入っていない)
cscript ⇒ ログオンイベントの探索
・感染拡大
at,schtasks ⇒ コマンド実行
・痕跡の削除
del
wevtutil ⇒ イベントログの削除(イベントログを見ることもできるので、他の用途でも利用される)
- こうしたマルウェアの挙動を見るにはイベントログがもっとも有用
- ただし、デフォルトではコマンドの内容までは取れないので、監査ポリシーの設定は必要
- Sysmonというツールを併用するとよい
- 攻撃者によってイベントログが削除されることを考えて、イベントログサスクリプションを利用する
さすが、JPCERTは見ている量が違うなと。 ちゃんとやっているその内容も逐次公開してくれているので、ありがたい限りです。 ほとんどはJPCERTのサイトで公開している内容ですが、こうして改めて話を聞く機会があるのはとてもうれしい。
参考URL
インシデント調査のための攻撃ツール等の実行痕跡調査に関する報告書(第2版)公開(2017-11-09)
Sysmon - Windows Sysinternals | Microsoft Docs
インサイドShell:.NETハッキング技術を応用したPowerShell可視性の向上
- マルウェアダウンローダーのEXEファイルからjavascriptへの変遷
- Powershellがダウンローダーや横展開で利用されているが、Powershell自体は正規のプロセスのため検知が難しい
- ASMIという機能が提供されており、Powershellを利用した攻撃の防御に有効
- ただ、Windows 10のみ、Powershell v5のみという制約があり、また、ASMIをバイパスする手段も存在する
- .NETネイティブコードをフックして対象外のWindows、Powershellのバージョンで動作するASMIを実装する
- Powershellコードの実行時のメソッドをフックすることで、難読化されたスクリプトを解除した状態で表示できる
スライド、実際のコードは公開されています。ASMIという機構については知らなかったので、勉強になりました。 Powershellは最近攻撃によく利用されるので、勉強しなくちゃならないなーと。
参考URL
DotNetHooking/CodeBlue_1110_JP.pdf at master · tandasat/DotNetHooking · GitHub
GitHub - tandasat/DotNetHooking
Releases · PowerShell/PowerShell · GitHub
国産IT資産管理ソフトウェアの(イン)セキュリティ
リクルートのRed Teamに所属する西村宗晃氏の講話。国産IT資産管理ソフトウェアと聞くと、最近注意喚起のあった某社製品を思い浮かべますが、今回の話はそれではなく、(その事例に端を発してはいますが、)国産IT資産管理ソフトウェア一般に色々な脆弱性がありますという内容。
- IT資産管理ソフトウェアとは
社員のPCを一元管理するためのソフトウェア
ソフトウェアファイルの管理、デバイスの利用制限、プログラムの配布(アップデート配信)、社員のPCの遠隔操作といった機能と持つ(話者曰く、つまりMeterpreterみたいなもの)
通常、社内のイントラ内で利用しているが、持ち出し用のPCでUSBタイプのモデムを使うなど、グローバルIPが振られたときに攻撃される恐れがある。
IT資産管理ソフトウェアの通信
・クライアントPCの遠隔操作用通信
・管理操作(管理者が専用クライアントソフトから管理機へアクセス)
・クライアントPCからのインベントリ情報の送信、管理指示(定常的な通信)
・管理機からの指示(緊急でのクライアントへの命令など)
- 国産IT資産管理ソフトウェアの脆弱性
実際にいくつかの国産IT資産管理ソフトウェアに見つかった脆弱性の紹介
管理機通信の偽装
クライアントPCと管理機は暗号化された独自プロトコルを利用して通信しているが、暗号化通信の鍵がインストーラに埋め込まれており、復号可能。
復号した通信に管理機のドメインとポートが書いてあり、そこを書き換えることで管理機を偽装することができた。
鍵は全て共通のものを利用しており、製品を利用している他社のPCにも同じことができる。クライアントPCの遠隔操作
クライアントPCとVNCで接続するタイプのソフトウェアだが、認証がかけられていなかった。試したところ、特定のバージョンのVNCで接続すると、簡単にリモート接続ができてしまった。管理機へのアクセスの不備
管理機へ認証なしでアクセスが可能だった。さらに、管理機にSQLインジェクションの脆弱性があり、社員のPCの情報をすべて見ることができるようになっていた。管理機との通信の悪用
通信内容は暗号化されているが、暗号方式が脆弱であったり、Windows のCryptAPIを利用しており、APIをフックするといった手法で暗号が解かれることがある。一度暗号化を解いてしまうと、SQLインジェクションや管理者のパスワードを窃取されるなどの攻撃が行われる。
また、管理機に社員番号のディレクトリが作成されるようなタイプのソフトウェアでは、社員番号にディレクトリパスを指定することでディレクトリトラバーサルが可能な事例も存在した。
- こうしたソフトウェアは体験版を個人で取り寄せることも可能で、おそらく攻撃者もそうやって脆弱性を探している
例のソフトウェアの脆弱性の話をするのかと思っていましたが、予想とは違っていました。ただ、なかなか面白い内容で、こういうソフトウェアって意外と脆弱性多いんだな、と率直に思いました。 別にIT資産管理ソフトウェアだけでなく、他の国産ソフトウェアもきっと似たような事例はあるんじゃないかと思っています。特定の国を狙った標的型攻撃にその国でよく利用されていているソフトウェアをハックする方法は以前からありますし、最近は特に増えている気もします。 今回のようなRed Teamの活動の重要性が分かりました。
基調講演: OSSによる自動車の自動運転化 –
車のネットワークをハックして自動運転を行おうというオープンソースプロジェクトの紹介
- 各社の公開資料や自動車のリバースエンジニアリング(OpenDBC)から自動車を運転するためのAPIを作る
- 運転に必要なAPI:ブレーキ、ガス、ステアリングを既存APIをもとに組み立てる
- cabana:自動車のハッキングのためのオープンソースのPythonライブラリ
- openpilotのデモ
主に自動運転の話でしたが、リバースエンジニアリングや、自動車のAPIなど、普段聞かない話は面白かったです。 法整備や国ごとの特色など、課題は多そうですが、自動運転は未来の技術として期待したいです。
参考URL
GitHub - commaai/opendbc: democratize access to car decoder rings
Find the pattern in the S-Boxes and write a short program to generate them with - Pastebin.com
openpilot/SAFETY.md at devel · commaai/openpilot · GitHub
9 minutes of openpilot. unedited. - YouTube
聞いていないけど興味があった講演(参考資料だけ)
■SSRFの新時代 - 有名プログラミング言語内のURLパーサーを攻撃!
https://www.blackhat.com/docs/us-17/thursday/us-17-Tsai-A-New-Era-Of-SSRF-Exploiting-URL-Parser-In-Trending-Programming-Languages.pdf
■マン・イン・ザ・NFC
DEF CON 25 - Haoqi Shan, Jian Yuan - Man in the NFC - YouTube
■大義のために:趣味と実益のためのVMware RPCインターフェースの活用
https://ruxcon.org.au/assets/2017/slides/ForTheGreaterGood.pdf
■商用ホワイトボックス暗号方式" に対する "鍵回復攻撃"
Practical attacks on commercial white-box cryptography solutions
https://eprint.iacr.org/2015/753.pdf
■Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
GitHub - linkedin/qark: Tool to look for several security related Android application vulnerabilities
trueseeing 2.0.9 : Python Package Index
全体の感想
日本の国内外問わず、セキュリティに関するさまざまなトピックを聞くことができました。普段聞かない領域の話も多くあり、とても勉強になりました。 今回は特に日本の事例が面白かったです。 色々なセキュリティの記事やニュースを見ていると国外のすごい人は色々いますが、国内にもすごい人はいるなあ、と感じました。 これからもセキュリティ業界をますます発展させていきたいですね。