CODE BLUE 2018に行ってきた(1日目)

こんにちは、ひろかずです
11月はセキュリティイベントが目白押しですね！

今日は、CODE BLUE 2018に行ってきたのでレポートします。

例によってリアルタイム執筆なので、誤字、脱字、変換ミス、表記揺れはご容赦ください。

会場は早々に満席満席

今年で6回目なんですね！
佐々木良一先生のご挨拶からスタートです

# おしながき

- 基調講演：Cyber Arms Race
- Logon Tracer：可視化と機械学習を使用してActive Directoryのイベントログを分析
- 暗号通貨利用者を標的とした攻撃テクニックの進化
- スマートガンの安全装置をリモートでクラッキングする：セキュアなBLE実装を確認する
- Captive Portalを使用したRCE

# 基調講演：Cyber Arms Race
ミッコ・ヒッポネン

F-secureの人
ハッカーを捕まえるのが仕事
マルウェア、ボットを使ってスパムを送る人を捕まえる
27年間も！

今はIotの革命が起きている
AIによる技術革命がおきるかも（まだ時間がかかるかも。死ぬまでに）

ヘルシンキにF-Secureのサイトを作った時は17番目だった。
wwwが世界を変えると思った。実現した。
インターネットが生まれた時、世界が良くなるユートピアになるだとおもった
誰とでもつながることで、紛争や危機がなくなると思った
違った
戦争や犯罪、スパイ活動、国民の監視が行われる悪夢
恩恵もあるが、誰も悪夢について考えなかった
世論操作、選挙の結果の操作、組織犯罪の膨大な収益
夢が悪魔に変わった
システムを保護するために、たくさんの闘いがある

犯罪者は収益をあげるために民主的な方法を取る
ギャングがクレカ情報を盗む時、場所は関係ないと考える
そういう意味で、誰もを標的にする

口座番号やクレカ情報を盗むのは比較的簡単だが、捕まえられないで収益を上げるのは難しい
資金洗浄の問題

ATMをハックして出したお金を受け取る人を用意する（受け子）
大金だけど、フェラーリは買えない

明らかなトレンドの変化
新しい仮想化を狙うようになった
お金がデータになった
が、仮想通貨が悪いわけではない
お金はツール
使用目的による
犯罪者が仮想通貨に見出している利点
取引所やウォレットを狙う理由は、すでに資金洗浄ができているということ。
フェラーリが買える

犯罪者の力点が、従来型のビジネスから仮想通貨にシフトしたのは、関係が薄い人には朗報
ブロックチェーンは永遠に公的なもので変えることはできない
ブロックチェーンは重要な革新
大きなイノベーションの判断ポイント
聞いた時に当たり前だと思われることが大きなイノベーション
20年前のsatoshi nakamotoの発明

ビットコインのトランザクションをトレースすることは可能。
お金の動きの追跡は簡単に思える
Petyaが不正に資金を送る流れを見てみる
まず、もとのウォレットから６つのウォレットに分かれた
何日かかけて、膨大なウォレットに分かれた
途中でビットコインから別の仮想通貨に変換された時点で追いかけることができなくなった

ランサムウェアのファミリーも膨大に増えている
増えた理由は仮想通貨

詐欺も増えた
暗号通貨を遅らせる詐欺
なりすまし
少額送れば、大金を返すよ詐欺
実際に騙される人がいる
有名人を騙る

暗号通貨を盗まれることも多い
取引所がハッキングされている
攻撃者としては合理的
たくさんお金があるところを狙う
銀行は歴史があって、たくさんの取り組みの積み重ねで、簡単な相手ではなくなっている
取引所は歴史がない。スタッフも少ない。銀行に比べて簡単で、額を稼げる。

取引所への攻撃は、国家も行う
北朝鮮の政府が他社、他企業を襲うということが現実に起こっている
通常の政府は、スパイか戦争行為を行う

新聞で書かれているCyber Warは戦争ではない。
スパイ活動である。
スパイ行為は戦争ではない。
Cyber Warという言葉は、本当の戦争のためにとっておくべき。

戦争の新しい領域
陸,海,空,宇宙は依然残り、サイバー戦争が加わる
戦争の時はこの全てにおいて戦争が起きる

スパイは情報を集める行為
紙情報を得るには物理的に移動する必要がある
が、サイバー空間は物理移動は必要ない
スパイ行為は、物理空間からオンラインに移行したと述べた
間違っていると指摘された
移行はしていない。領域が広がっただけ。

ロシアがウクライナに対して行ったこと
軍部がサイバーを使うのは不思議ではない
サイバー兵器は、効果的で安くて、誰が使ったのかわからない

現実世界の攻撃
戦闘機を送ればバレてしまう
サイバー攻撃では、誰がやったか隠せる
stacksnet
アメリカは今でも否定している。証明できるものではない。

サイバー兵器を使った事例
ペティア(トロイの木馬)を使った攻撃
ある国の社会の無力化が目的
身代金を払っても開放されない
ウクライナのソフトウェア企業を標的にした
medoc(帳簿ソフト、ウクライナ国内向け、政府に対する税務申告をする)
ほぼすべての会社が、このソフトを使っている
この会社を標的にした
6/29にアップデート通知を送った。
一台感染すると、クレデンシャルを盗みながら侵食していく
だが、8月に聞いた話と違う
西側の会社だった
コンテナ海運会社
ウクライナでもビジネスをしていた
medocを使う必要があって、感染した
一瞬で4万台感染
起動できない。遠隔管理もできない。直すには、現地に行かないといけない。
それだけじゃなかった
151のADサーバを失った
バックアップもなかった
151のバックアップがあるのに等しかったと思っていたから
150は上書きされてしまった
見つからなかった1台
ガーナにあった
攻撃時にデータセンターが停電していた
復電時に起動しないようにして、慎重に復旧した

どうすればよかった？
medocの利用はやめられない
自動アップデートが仇になった

ウクライナを狙った攻撃だったが、国外でも致命的な影響を及ぼすものだった。
データ漏えいより大きな被害を受けた。
ロシアのメッセージは、ウクライナで商売すると攻撃するぞ

誰も想定しなかったことだが、我々は想定する必要がある。
F-secureにはこのような事件に対処するチームがある。
ハッキングに気づいて、すぐ来てくれ！と言われるが、1年前からハッキングされてた
なので、すぐ行かなくても一緒だった

チケットマスターの事例
チャットボットがサイトの隅に常駐(JavaScript)
チャットボットの会社がハックされて、JavaScriptが改ざんされた
すべてのページがハックされ、クレカ情報を入力する画面もハックされた
誰もチャットボットにクレカ情報を盗まれるとは思わなかった

クレジットカードのTerminalが改ざんされた事例
換気システムをハッキングした
換気システムはLinuxのような独立したシステム
ネットワークを通じてファイナンシャルシステムにアクセスした

フォーチュン500のすべての企業は、全て攻撃を受けている
10万台もPCがある
どこかにブリッジがあり、侵入口は必ずどこかにある
もはや、コンピュータを守るだけでは追いつかない
あらゆるものがコンピュータになっている
照明、食料工場、いろいろ
コンピュータセキュリティは、社会のセキュリティ
社会は、コンピュータで動いている

新しい攻撃
コネクテッドデバイスのみを標的にする
マルウェアはもはやコンピュータだけを標的にはしていない
Mirai
ボットネットは大規模なDDoS攻撃を行った
ボット化したデバイスは、監視カメラとか
ある電話。
三菱のヒートポンプを使ってますか？正常に動いていますか？
はい。
今、ヒートポンプが外部を攻撃してますよ
cool！
(会場笑)

IoTがネットワークで一番弱いLink
攻撃者は一番弱いところを狙う
スマートなドアベルが急に鳴らされたらみんな気づくかもしれない。

家電を買う時は、値段を気にする
セキュリティを気にするわけではない
ベンダーはセキュリティに投資できない
価格を上げれば競争に負ける
顧客はセキュリティ機能は求めていない
自動的に最悪な状況になるような展開になっている
Telnetなんて誰も使ってないが、IoTがその轍をふんでいる。

すべての企業はソフトウェア企業
成功している企業はデジタル化に成功している企業
つまり、ネットワークを作る時は強いネットワーク、ファイアウォールを作ればいい？
その中は、検知装置はいらない？
思いもよらない方法で侵入されたときに、検知装置が合ってよかったと思う
失敗は考えたくないのはわかるが、失敗を前提として、異常を検知するようにする必要がある
ネットワークにセンサーを用意する
2週間もすれば、通常の状態がわかるようになる。
あるPCがAM4時に起動して、中国にデータが送るような動作を検知した
実際には、ユーザー操作によるもので誤報であったが、顧客は喜んでいた。

ネットワークのセキュリティを高めるために、もっといい仕事をしないといけない
自社や顧客のネットワークセキュリティを高める必要がある
自由で便利なインターネットがあるから
次の世代にどんなインターネットを残そうとしているのか。
考えないといけない

# Logon Tracer：可視化と機械学習を使用してActive Directoryのイベントログを分析
朝長 秀誠, 谷 知亮

インシデントレスポンスの現状
侵入されると多数のPCが侵害されるので、調査に時間がかかる
2017のアプローチ
ADのログを調査する
イベントログには、すべてのログインが記録されるので攻撃調査では重要

侵入のトレンド
Pass-the-ticket
これは、イベントログに記録される？
NO。記録されない。
イベントログから見つけるには、手法を変える必要がある。

イベントログ分析に最適にツールを考える
イベントビューア？
アナライザではないので苦労する
テキストエクスポートして、grep?
データサイズが大きくなるので難しくなる
SIEM？
ログの検索や統計分析はできるが、不正なログを見つけるのは難しい

## ADのイベントログを分析する手法の提案

可視化を用いて分析するアプローチ

### イベントログの可視化

ログオンに関連するイベントログからアカウントとホストを関連付けることで、不正なログオンをあぶり出す
ログオン関連イベントは20近くある
これらを全部監視する必要はある？
ない
６種類のイベントIDを監視することで炙り出せる
これらを見るだけでいいの？
カラムがイベントIDごとに異なるし、内容も違う、空だったり入ってたりする

関連付け
ログオンイベントIDのアカウント名とホストつなぐ
どのホストにどの端末がログインしているかがわかる
1アカウント1ホストのポリシーを用いている場合、適合しているか否かはわかる

でも、現実はそんなに簡単ではない
事故が起きた環境のADログを可視化すると、見れたものじゃない
可視化は分析をサポートするが、分析そのものではない

### イベントログの自動分析

次のアプローチ
疑わしいアカウントを自動的に分析する
インシデントレスポンスに見る、Lateral Movementの3つの共通点

- Windowsコマンドを使う
- ドメイン管理者アカウントを使う
- 同一アカウントを利用し続ける

ビルドイン管理者アカウントを入手するアプローチ

- 組織によっては同一パスワードにしている
- 一つ盗めれば全部にログインできる

同一アカウントを利用し続ける

- 一般ユーザーでも一つのアカウントでたくさんのPCにログインできる

ネットワーク分析

- クラスタリングと中心性があるけど、中心性を用いる
- 中心性を扱うアルゴリズム：PageRankを使う
- PageRankは、重要なWebサイトを分析するアプローチ。アルゴリズムも公開されている。

使ってみたらわかった問題

- 1:1の方がランクが高くなってしまう
- 1:nの方をランクを高くしたかったのに！
- Damoung Factorを使って影響率を調整(0.85を使うと収束が早くなる)

Damoung Factorの要素

- アカウント権限
- 認証タイプ
- ログオンイベントのタイムライン異常
- ログオンイベントの状態遷移の異常検出

アカウント権限

- 管理者権限を高くする

認証タイプ

- NTLM認証を高くする

ログオンイベントのタイムライン異常

- スパイクが起きた時に高くする
- ブルートフォース
- Change Finder
- リアルタイム煙火店の検出できる

ログオンイベントの状態遷移の異常検出

- 3つのステージ
- ログオンしていない,ログオン中(試行),ログオン成功
- 不正ログオンの場合は、3つのステージをきれいに遷移しない
- 隠れマルコフモデル(HMM)
- 過去の状態遷移をイベントIDタイムラインから状態を予測して、状態遷移が異なることが検出できることがわかっていことが

誤検知がある

- そもそも、管理用管理者アカウントがすべてのホストとサーバで使われている場合、そのアカウントのランクが高くなる
- 攻撃者が一つのホストのみに感染した場合、その活動を検出することは困難

### LogonTracer

Python(GUI付き)
DB：Neo4j
今日、v1.2をリリース

ドロップダウンメニューで特定条件の行動を検出できるようにしている
イベントログ検索のメニューを多数用意している
不正アカウントのランキングを可視化感染したホスト空管理者アカウントを悪用する方法を検索
感染ホストから、管理者アカウントにアクセスしたかどうかを見つける

### Demo

Webベース
EVTXかXMLを食わせて分析する
Pythonで起動する(WebUIもコマンドで起動)
ブラウザからアクセス
アカウントごとに表示させたり、ユーザーやIPのランキングも表示される
グラフも画像としてエクスポートできる
グラフもネットワーク分離が表現されたり、NTLMログオンだけを表示もできる
普段使われないドメイン名も検出される
どのアカウントでアノマリスコアが高いかの表現もされる（表で）
各アカウントのイベントIDをグラフとして表示され、ログインスパイク

Gitで公開されてます
https://github.com/JPCERTCC/LogonTracer/wiki

## QA
Azure ADでも使えるの？

- エクスポートできて、イベントIDなどの形態が同じなら使えるのではないか

# 暗号通貨利用者を標的とした攻撃テクニックの進化
フィリップ･マーチン

コインベース社のセキュリティ担当

コインベース社について
取引所。ビットコインとかを扱ってる
アメリカ、ヨーロッパで活動
日本オフィス作った
2500万ユーザー
200万ドルの暗号通貨を守っている
世界最大のCTFをやってる
米国政府、民間で15年セキュリティの仕事やってます

UserTrustチーム
ソーシャルエンジニアリングからも守っている
毎日2000のセキュリティイベントや問い合わせを受けている
うち、50のレポートが上がってくる

すべてのユーザーに2要素認証を求めている

今日は、仮想通貨ユーザーにどんな攻撃があるかを紹介します

## Phishing with 2fa theft
クレデンシャルフィッシング
古典的な手法
コインベースになりすましたサイトに誘導して、クレデンシャルを入力させる。
攻撃者は様々なストーリーを用意する
防御する方法

- デバイスそのものの検証・認証を行うことを勧めたい

## ソーシャルメディアエンジニアリング
いくらか仮想通貨を払い込めば、多額のバックを返す
前金詐欺
チャンネルは様々
ソーシャルメディアを使って、有名人の名前を騙って被害者を信用させようとする
ユーザーはぼちぼち引っかかってる
オンラインに機微な情報を載せることに慣れてきている中で、発生しやすくなっている
防御する方法

- 商用、SSOツールがある
- 送金先を見て、アラートを上げてくれる

## Phone Porting / SIM Swapping
電話会社に連絡して、解約や移動を申請する
姉妹版として、新しい番号に移行してもらうように申請するパターンもある
米国で大きな被害が出ている
メールにアクセスできれば、復旧ラインにアクセスして乗っ取れる
防御するのが難しいソーシャルエンジニアリング
連絡先を乗っ取るということ
電話番号から、乗っ取られたものは判別できない
仮想通貨界隈では、富裕層が標的になる
防御する方法

- NISTも言っているけど、SMSを2FAとして使わない
- SMSを使わないと行けない場合は、電話番号の状態を判別するパートナーサービスを使う
- 社内的なツールも作った

## 発信電話詐欺
ある電話に電話をかけさせる
コインベースやファイナンスサポートを装う電話番号
アカウントやパスワードを聞き出して金銭や通貨を摂取する

## 汚染された検索結果
攻撃的なサイトが検索上位に上がってくるようにする。
ユーザーは自分でアクセスするので、いきなり電話がかかってくるより引っかかる可能性は高い

消費者が何を見そうなのかを考える
検索結果は合法なものが表示されるか
意思決定を誘導する記載がなされてないか

## 興味深い手法
### Google Answer Box汚染
一次情報ではなく、google検索結果に表示される情報
これを汚染すると、誤った連絡先に誘導できる
表示させるテクニックはありそう
Googleの信用度を活用した攻撃

### Google Map Locations汚染
検索結果に誤った情報を挿入しようとしている
間違ったロケーションの近くに来た時だけ発動するので、見つけにくい。
ここ3ヶ月で出てきた攻撃
対策は考え中

### Fake(ニセ)アプリ
プラットフォームの信用度を利用して、ニセのアプリを掴ませようとしている。
一見有用そうに見えるアプリ（作業代行）にID・PWを渡してしまう

### Telegram Orchestrated攻撃
偽の仕事のオファーの連絡

### SMS Phishing攻撃
ビットコインを請求する内容とURL
そのURLを踏むとアカウントを開設する流れになって、できることには全部情報が取られている

## まとめ
攻撃者の手間と利益のバランス
必ずしもマルウェアを作る必要がないということ
トランザクションが成立したら、なくすことは大変

## QA

コインベースのプログラムの価値
どのように顧客を守っている？

- 基本的には公開しているが、簡単に紹介すると
- 2012年からバグバウンティプログラムを通して、金銭を提供している

# スマートガンの安全装置をリモートでクラッキングする：セキュアなBLE実装を確認する
オースチン･フレッチャー, ダニエル･スー

金庫を破るには、破壊しないといけなかったが、IoT金庫はNote PCがあれば開ける
BLE(Bluetooth Low Energy)
様々なデバイスに入っている
コストを抑えて生産される
セキュリティはあまり考慮されない
BLTはやろうと思えばセキュリティ向上できるが、デバイス依存があったりするので、その効力は限定的になってしまう。

LE(廉価モード)
ペアリングメソッド

フェーズ1. 

- 接続前に接続リクエスト・メッセージを送る。この時にセキュリティモードが決まる。
- HWの機能に引っ張られる
- 一時キーが0000
- OOB
- Passkey
- 表示された数字を入力する

フェーズ2.
フェーズ3.

- 将来的に再ペアリングが不要なように、LTKが発行される

ビルドインの対策

- デバイスのアドレスを時々変える
- 必ずしも有効ではない
- 銀行並みの暗号化を使っていても、アプリケーションのコスト(バッテリー消費など)に跳ね返るので必ずしも履行されない。

アプリの話

- 接続したければPinコードを入力する
- 不正なPinコードの入力にペナルティがない
- なら、ブルートフォースが使える
- pythonコードで簡単に破れた

Bluetoothのキャプチャー

- Ubertooth OneとWire sharkでキャプチャできる
- 安いし良いドキュメントが揃ってる
- 通信が暗号化されてないことがわかった
- 暗号化されててもやりようがある
- crackleを使う
- 一時キーをブルートフォースする

Androidアプリケーション

- AndroidのAPKをリバース・エンジニアリングする
- apkmirror.comからダウンロード
- apktoolを使ってjarを起動
- OrderUtilsV20クラスに興味深いキーワードを見つけた(DOORとか)
- ２つの定数に97を加えてパッキングし、97を減らしてアンパックしていた
- アプリと金庫のペアリングシーケンス
- 最後にgetAuthor Command(4バイト)が送られてる
- これを使うと特権コマンドが実行できる(金庫を開ける)

認証には、Pincodeの検証はなかった

- トークンが合致すれば開くなんて雑(暗証番号は無意味)
- 新しいデバイスを買って試したりもした(同じ結果)
- このシリーズなら、同じやり方で開けそう

Goodプラクティスを考える

- メーカーの名前の列を隠す(シリーズをわからないようにする)
- ペアリングの際の追加シーケンス
- Bluetooth4.2セキュアモードを使う
- すべてのデータは暗号化する。Linkレベルであっても。
- 製品をバラされることを想定して、認証を限定する
- クレデンシャルポリシーで、キースペースを広くする
- 無制限にチャレンジできるようにするのは辞めたほうが良い
- 外注業者のセキュリティレベルを疑う
- Upgradeプロセスを確保する(郵送は避けたい)
- BugBountyはいいアイデアかも
- プロのセキュリティ監査を使う
- 責任のある開示プログラムを用意する(脆弱性情報の開示)

## QA
メーカーの反応はどうだった？

- ほとんど拒絶され、軽視され続けた

リモートアップグレード機能はいいアイデアだと思うけど、ダウングレードもできるのでは？

- 慎重にしないといけない
- ハードウェアレベルでの対策が必要(HW暗号化も必要そう)

ガンケースの場合、開かないようにするのは検証した？充電器を使った攻撃は？

- DoSについては検証しなかったが、このシナリオは怖いね

# Captive Portalを使用したRCE
ヨンタオ･ワン, ユンフェイ･ヤン, クンゼ･チャイ

ペガサスは、360セキュリティテクノロジーのレッドチーム
中国語の質問は大歓迎！

## Captive Portalとは
wifiにつなぐと出てくるポータル画面
公共ワイヤレスネットワークで出てくるやつ
HTTPとDNSのリダイレクションをやってる
スタバでも使える
僅かな個人情報を入力して使えるようになる
デバイスから着信すると204を返すが、Captive Portalを使うと302を返すことになる

HotapdとDnsmasqを使う
偽のアクセスポイントを立てる
httpとDNSだけを受け付けるiptables
Webページは自由にカスタムする
自分のデバイスを使ってテストできる

## Exchange
Microsoft Exchangeのこと
たくさんのエンドポイントがある
ユーザー情報へアクセスできるエンドポイントを狙う
MFA認証
Exchange Web Service
Outlookの情報は殆どアクセスできる

注意点

- EWSはデフォルト有効
- NTLM認証もデフォルト有効

攻撃者のアプローチ

- 攻撃者はNTLM認証を中継することで、認証を横取りできる
- Fake APにアクセスさせることで、NTLMリレー攻撃ができる

どうやってRCEする？

- Outlook Home Pageをカスタムして、リモートURLを埋め込む(EWSへのアクセスを得る)
- ActiveXコントロールを使う
- Outlookをリフレッシュしたり、再開した時に動作させることができる
- NTLMリレーtoEWSという方式

## どうやって防御する？

- Open Wifi ネットワークへの自動接続をOFFにする
- KB4011162適用する

今日はここまでです。
お疲れ様でした。