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

こんにちは、ひろかずです。
[1日目](https://qiita.com/fnifni/items/628d0e4b5f028aa7f50e)に続いてのレポートです。

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

今日も盛り沢山です！
楽しみですね！

随時更新していきますのでお楽しみに！

# おしながき

- 契約に関わるセキュリティの罪の十戒
- Windowsのセキュリティ機能のbypass ～ たった1つの願いを叶えるために ～
- （多分楽しくて）実益のあるスマートコントラクトのハニーポット」
- CoinMinerはあいまい
- サイバー防御に活用できるOSINTの手法と実践
- ブロックチェーンの標的型攻撃（Hyperledger）
- 暗号通貨ゴールドマイン：あなたの環境は安全？
- 基調講演：パワー、忍耐、粘り強さ：千尋のサイバー空間における大戦略

# 契約に関わるセキュリティの罪の十戒
セバスチアン・アバルバレイ

なぜITのセキュリティを契約書の中で語らなければならないのか？
日々の業務の中で現代において、いろいろな組織が関連している
ITの契約書についても日々関わっている
セキュリティ違反より、契約書に関わることのほうが多いかもしれない
契約書にどのようにセキュリティについて語られているのかを知らないと、契約におけるエスカレーションを知らないと会社を揺るがす脅威に発展する

様々な立場で契約に関わってきた
自分は技術系の背景だが、セキュリティ管理やガバナンスがビジネスに及ぼす影響も見てきた。

## IT契約書における原罪
セキュリティの条項が盛り込まれていない
脚注に言及されている程度
どうなるか？
後々厳しい戦いが起きる
前もって考えておくべき
最初から計画しておかないと、あとでやるのはずっと大変
セキュリティはITサービス・製品すべてに関わる
稼働率やセキュリティを盛り込むべき
ビジネスの契約書に記載されないことは履行されない

## 幻の条項がもたらす危険
多くの契約にて、サプライヤーは顧客のセキュリティ方針に従うものとする
これが危険な理由
本当にやっていることは少ない
なぜなら、ガイドラインやスタンダードが明示されないから
バージョンすら明示されない場合がある
どこにあるのかも明示されていない
契約書内に特定されない場合は、事故に発展することが多い

実際の事例
膨大なセキュリティポリシーを抱えている企業
契約書には書かれていないなかった
セキュリティチームは膨大な時間をかけてサプライヤーと向き合ってきた

新しいバージョンが出てきた場合、誰がそれを負担するか？
契約の中に何らかの変化が起きた時のことを盛り込んでおかなければならない
ポリシーがアップデートされたとき、どうするのかを事前に考えて置かなければならない
ユーザーやサプライヤーとの長いディスカッションが始まる
特にコストを誰が負担するのか

新しくセキュリティアセスメントを課すようにポリシーが改正された。
サプライヤーに膨大な費用の負担が発生するものだった場合、問題になる

大きな契約であっても、契約にサインする前に誰もセキュリティ方針を読んでない
相手を理解し、相手の信頼性を理解するプロセス
ビジネスパートナーを理解するには、相手のポリシーをつぶさに確認する必要がある。
実際に何が要求されていて、自社にとって履行できない内容があればフラグして、修正を求めなければならない。
書類を回してもらって、印鑑を押すだけでは済まない。

金融機関のセキュリティ方針を読んでなかったサプライヤーのケース
デザインが終わって、プロダクト選定に入った時点で、顧客セキュリティチームから拒否された
マイクロセグメンテーションを満たしていなかったので、デザインからやり直しになった
契約は破棄され、サプライヤーは経済的なダメージを負ったが、顧客も遅れによる損失を被った

## サプライヤーはベストプラクティスに遵守するという条項
契約書には書くべきではない
悪魔は細部に宿る
書くなら具体的に書く
OWASP,Microsoftのどのベストプラクティスなのかを、具体的に書く

実際の事例
実行する上で問題が発生した
暗号化のベストプラクティス
Bit数の理解で齟齬があって、交渉に時間がかかり、ハードウェアの買い直しにまで発展した。
契約書には、書いてなかった。

## サプライヤーは、XXの規制に準拠するという条項
PCIDSSとか
多くの場合、サプライヤーは基準や規制を理解していない
準拠することで、どのような費用負担が発生するのか理解していない
そのスコープも理解していない
PCIDSSやGDPRも、そのスコープ内で準拠するということを理解していない
セキュリティのプロとして、基準を翻訳して、何をしなければならないのかを理解させないと行けない
何に準拠しなければならないのかを理解しなければならない
これらの要件を契約書に盛り込まなければならない
規制の枠組みが変わった時に、どのようにするのか（労力やコスト負担とか）

実際の事例
スイスではFIMAという厳しい規制がある
誰がデータに触るのか、スイス外の人間にアクセスさせるのか
契約後に、ストレージ暗号化が必要であることが判明して、ハードウェア買い直しによる費用負担が発生した

## 信頼はするけど検証する
2回チェックする
セキュリティは驚きの連続(歓迎できない)
この問題をどう解決するか？
サプライヤーはとある規制に準拠しなければならない場合
ちゃんと遵守しているという証左を定期的に提示するという条項を盛り込む
測定可能な評価基準を盛り込む
ITではKPIとかSLAとかある。
セキュリティも特定するべき。マトリクスに落とし込むなどして。
監査や侵入テストも十分に行われていない

これらはすべて契約書の中の質問として書く

- 誰が、どれくらいの間隔で、何を、どのように行い
- 誰が、何に基づいて、何を、評価するのか

何が許されていて、何が許されていないのか

- 超過した時のコストは誰が負担するのか
- 何を除外するべきか
- 開発環境だけなのか
- 本番環境に侵入テストをするべきか
- 行っていはいけないタイミングは
- 誰が侵入テストを行うのか
- やって良いことと、いけないことの定義
- 複数の当事者がいる場合、すべてのサプライヤーに侵入テストを課すのは難しい
- 本番環境の侵入テストにおいて、実際に攻撃が成立して訴訟に発展したケースもある

## ITのアウトソース
アウトソース先の問題にはできない
アウトソース契約を受け入れる前に、セキュリティのベースラインを合わせないといけない
ソースコードに問題が合った場合
ソースコード引き継ぎ前の問題はどうするか
もともとなかったセキュリティコントロールの追加を拒否できるようにする

ITシステム全体を請け負って、監査の指摘事項があった
ベースラインを定義していなかったので、請負前の問題に対応させられることになった
膨大なコストが発生した
セキュリティの分界点を定める必要がある

明示されないアクセスルールはコントロールできない
システムに携わるには、政府の認証を受けている必要があるというケース
どのようにそれを確認する？

## 責任というタイトルの映画やドラマ
そんなに人気がある言葉なら契約書にも盛り込もう
映画やSFでは問題が起こりまくっている
セキュリティに携わる人間として、その責任について考える必要がある
ダウンタイムに対する責任とか
ベンダーはできる限り責任を追わないようにしようとする
セキュリティもそう
責任を転嫁しようとしても不可能な時がある
各当事者が起こりうる問題について考えておく必要がある

## 憶測と仮定はしないという教訓
契約書においては、希望を書く場合は、明確に落とし込むこと

実際の事例
アウトソース後もセキュリティが保たれると期待した
顧客がセキュリティ負担を負わなかった部分を負担することになった
どうにかなるだろうとは考えないこと

## もう少しの法則
マーフィーの法則

- 必ず問題は起きる

セキュリティは、ビジネスのためにある

- セキュリティ単体ではない。

セキュリティカルチャーをドライブすることができる。染まることもできる。

- 文化を変えるドライバーになること

セキュリティチームとして、最初から契約にかかわる

- 最初の交渉段階から関わること
- そうしないと、エスカレーションの時に関わることになる
- 最後に言っても交渉当事者が壁になる

良い契約書は、デリバリーする人が関わった契約書

- デリバリーする人が声を挙げられるようにする

契約やリーガルは無関係ではない

- 脅威モデルを作る時は、実際に起こる問題がインプットになる

## QA
すでに結ばれている契約(3-4年前)を変更する時はどうしたらいい？

- 簡単ではない
- ビジネスサイドを巻き込む必要がある

実際変更したケースはある？

- 努力に関わったことはある
- ある意味いい経験
- とても大変だった
- ビジネスサイド、契約担当に、実際の問題を挙げて理解できるように,必要な変更であるというアプローチで交渉した


# Windowsのセキュリティ機能のbypass ～ たった1つの願いを叶えるために ～
小河 哲之

バイパス自体は完全に検知・ブロックできるわけではないので、監視強化などの多層防御が必要

ペネトレーションテスト

- シナリオを想定して、侵入の可否を確認する
- インターネット経由とか、内部犯とか、標的型攻撃とか
- PCを借りてやる場合もある

脆弱性診断

- 網羅的な脆弱性のチェック

## 攻撃者の観点

攻撃者は明確な意思がある
セキュリティをバイパスする
ログイン画面のバイパス
制限された機能のバイパス

標的型攻撃のステップ

- 準備(バイパスは関係ない)
- 潜入
- 横断的侵害(ここが今日の紹介)
- 活動

横断的侵害

- マルウェアに感染したPCを操作して、他のPCを探索して、情報を収集。
- sysprep上のパスワードを狙ったり
- ADのログオンスクリプト
- 最終的にはサーバに侵入して情報を持ち出す

Windowsを守る仕組み

- Applocker
- Software Restriction
- etc

ローカル管理者権限を付与しない
特定のアプリケーションの実行制限
これらによって、

AppLockerの制御対象

- 発行元、ファイルパス、ファイルのハッシュに基づいて、特定の拡張子のファイルの動作を制御できる
- 実行制御する条件を指定するだけ
- Application Identityが動いてないとAppLockerは有効にならない

AppLockerの効果

- cmd.exeなどの使う予定のないツールを制限できる

ドライブアクセスの制限

- Cドライブを非表示にするケース
- コマンドプロンプトでバイパスできる
- エクスプローラでの直接パス指定
- あまりカバレッジはない

アプリケーションの制限の指定

- コマンドを指定して実行の無効化
- プログラムメニューの無効化
- Cドライブ非表示
- IEでソースの表示をして、メモ帳が動く。そこでcmd.exeを呼ぶスクリプトを書いてバイパス
- Edgeではできない
- IEを止めておけばよかったのにね

IEの制限

- Applockerで制限しているケース
- Powershellが動けば、GetもPostもできる
- CHM形式を参照するHTMLヘルパを使えば可読性もある
- hh http://...でアクセスできる
- ブラウザがなくてもなんとかなる
- httpsを認識しないという特徴
- http -> httpsへのリダイレクションなら動く
- hh.exeでtxtやxmlと開くことはできるが、cドライブへのアクセス制限で動かなくなる

Powershellの制限

- ファイルレスの場合、アンチウィルス製品で検知しにくい
- httpsでやられると
- Powershellを使わずにPowershellを実行する
- アンインストールじのアクションとしてPowershellを実行するC#のプログラムをCSC.exeで使う
- PowerShellの実行中は、InstallUtile.exeを使う
- InstallUtile.exeのアンインストールは一般権限で動く
- リバースコネクトを行うスクリプトを実行させることで、shellが取れる

インストールオプションを使ったバイパス

- 管理者権限が必要
- EXEの拡張子を変えたら挙動は変わるか？
- msiファイルとしてcmd.exeをインストールできるようにビルドしてみたが、AppLockerに止められた
- カスタムオプションの存在
- インストールオプションとして、cmd.exeを実行するようにビルドした
- インストール中にコマンドプロンプトが起動して、バイパス成立
- バイパス後の挙動として、cドライブ直下でdirを実行しても見えないが、もう一度プロンプト内でcmd.exeを起動すると、正常に動く
- バイパスしたコマンドプロンプトでなら、AppLockerで制限しているアプリも起動できる

ちなみに

- Applockerでnotepad.exeを実行禁止した場合でも、IEのソース表示で起動可能

忘れがちな設定

- ApplockerでコマンドプロンプトやPowershellやIEを止めている場合
- powershell_ise.exeからPowershellコマンドを呼べるので、事実上バイパス可能

たった一つの願い

- MSからはApplockerの限界という回答だった

どうしたらいいの？

- Applockerでのホワイトリスト運用
- ホワイトリスト運用が難しい場合、他のグループポリシーを併用した上で、Applockerの制限を厳格に設定する
- ネットワークレベルでの制限とか
- 操作ログの監視など多層的なす表を用いて問題を検知する

自己責任の対策(影響はありそう)

- iexplorer.exe
- csc.exe
- cmd.exe
- powershell_ise.exe
- powershell.exe
- MS以外のソフトウェアのインストルール

QA
管理者権限が必要って話だけど、インストール全てにおいて管理者が必要なわけではないので、必ずしも必要ではない

- その視点はなかった

Windows Defenderとかは有効？

- 対策を重ねることは有効

ログは取れる？

- とれるとは思うけど、どのように取れるかはわからない

#（多分楽しくて）実益のあるスマートコントラクトのハニーポット」
ベン・シュミット

公開は控えてってことなので、割愛します。

# CoinMinerはあいまい
トーマス・ロッチア
オムリ・モーヤル

コインマイナーの被害にあった人ー

- 少し居た
- これは基本的には問題

リサーチを初めた時の目標

- 防御戦術を考えるため

## コインマイナーの発祥
この一ヶ月でも、フレッシュアップデートとして、各企業に入り込んでいる
悪意のあるイメージをアップしていて、Dockerストアからダウンロードすると、すでにマイナーが入っている
ビジネスモデル

- GPU、CPU、ASICSを使おうとする
- 正規のユーザーが使おうとしたリソースを使って、利益を上げる
- 自分のリソースを使わなくていい。システムをハイジャックするだけでいい。
- 攻撃者は、正規マイナーと同じように、マイニングプールを使う
- 99%のクリプトマイニングは、MONEROを使っている
- MONEROは、非常に強い匿名性がある。
- warretアドレスは、仮想的な値。ウォレットの中身の金額はわからない。
- MONEROは強いCommunityがあって、様々なツールが提供されている
- MONERO自体は、中立。使う人の問題。
- MONEROは、風評対策でレスポンスチームを立ち上げた

感染ベクトル

- ベクトルは、マルウェア、トロイの木馬、典型的なアプローチ
- ワームの能力に依存
- すべてのコンピュータに感染する必要はない
- 感染したPC毎に収益を上げることができる
- Webマイニング、クリプトジャッキング
- Coin Hiveというサービスを使っている。Javaを使えるPCなら動く。

何が問題か？

- PCが感染すると、マシンリソースを消費すること
- 電力消費がまずは顕著に出る
- クラウドリソースも影響を受ける

コインマイナーの回避戦術

- アンチサンドボックス
- アンチデバンカー

ウォーターマイナー

- トロイの木馬化したオンラインゲーム
- インストールすると、スクリプトが動いて、マイナーをインストール。バックグラウンドで動かす
- XMRigは効率よくパブリックプールにアクセスできる
- 利用者は、ゲームのチートをするくらいのヘビーユーザー
- マシンが遅くなったら、再起動、タスクマネージャを開く。タスクマネージャを開くと、マイナーは止まる。

Evrial

- キーボードをフックして、ウォレットのアドレスを入力すると、自分のウォレットに置き換えてしまう。
- ペーストでも発動する
- おそらくかなり成功したろう。
- 仮想通貨関連のCookieも盗む

UIWIX

- エターナルブルーを使う
- wannercry
- 200以上の回避戦術を使って逃げ続けたマイナー
- トレンドマイクロが発見した
- 回避戦術はブログに公開されている
- 東ヨーロッパを避けるとかもある

XIAOBA

- 中華製？
- 偽アイコンを使ってクリックさせる
- Webサーバにアクセスした時にJavaを読み込んで発動

ゴーストマイナー

- 幾つかのワームを使って、他のマイナーを排除する
- WebLogicの脆弱性を使う
- PowerShellで実行
- 外部からダウンロード
- マイナーキラーというバージョンもある

Adylkuzz

- エターナルブルーを使う

回避戦術

- 基本的にコインマイナーは発見されないようにする
- 見つかる時はCPU使いすぎの時
- シングルスレッドだけを使って細々と収益を上げる
- 業務時間で動く
- キーボードやマウスをフックして、操作中は動かないようにする
- 細かいブラウザタブに紛れる
- タスクバーの下に隠れる
- ほとんどのマイナーは、アンチモニタリングと、メモリインジェクションを用いている
- メモリインジェクションは、活動をさとられないようにメモリ内で活動する

攻撃の検出

- CPU利用率のモニタ
- Minor Killer
- Yara Rulesの検出(XMRig等を検出する。from McAfee)
- トラフィックモニタリング
- コインブロッカーリストのウェブサイトを使う(ドメインIPから合致するかを判定)

機能の拡張

- Smart TVとかIoTデバイスにも対象が広がるだろう。モニタが難しい。
- IoTデバイスをピボットポイント（侵入口）としてつかうことも考えられる
- IPの変更で検出されづらくする

## QA
McAfeeと協働研究ということであるが、一般向けに回避機能は提供されないか？

- まずはブラウザ拡張で提供されるのが良いと思う。

CoinHiveは、サイト利用者の収益源として使われているケースもあるが、今後どのようにするのがいいか？

- CoinHiveの正当性についての疑問については、使い方。
- 承認を求めて、同意を得るならいいのではないか。
- 検知を回避して、コード差し込みでこっそり取るのはいけないというのがコミュニティの意見
- マイニングプールの問題。誰がマイニングプールに入れるかを考えたほうがいいと思う
- エンタープライズにとっては、マイナーでもない限り、いかなるマイニングプールも許容されないだろう。

同意のプロセスは、セキュリティ企業から無視されている（問答無用でJavaScriptは止める）ように見受けられるが、コミュニティは、セキュリティ企業と協調することは考えているか？

- コミュニティのアプローチは、同意を求めて、NGなら止めている。
- いいアイデアがあれば、また会話したい

マイニング通信は暗号化されており、ドメインは変えられる可能性がある。
ネットワークレベルでの検知する仕組みは可能なものであるか？

- 高度な回避技術に対するアプローチで、まだいいものはあまりない。



# サイバー防御に活用できるOSINTの手法と実践
石井 中

情報セキュリティやCSIRTに関わる人ー

- 全体の2割

マルウェア解析などの人ー

- あまり手が上がらない

防御のためには状況の把握が必要で、防御も変えていかないといけない
自組織だけですべてを把握することはできない。

公開情報を収集、分析活用するのがOSINT(公開情報を利用したインテリジェンス)

- だが、公開情報の利用は量、難しさがある
- 今日は実践的な手法を紹介する

## OSINTとは

その前に、インテリジェンスの定義

- サイバーセキュリティに近い安全保障分野では
- 政策立案者に提出される

OSINTとは

- 公開情報から生成され、読み手に合わせて加工される情報

OSINTの利点

- 世の中全体の状況を把握できる
- 成果物を様々な寛永者コミュニティに共有できる(機密情報は含まれない)

OSINTの限界

- 秘密情報の入手は困難
- 精緻な予測も困難

この公演におけるOSINT

- サイバー攻撃の被害を防止、最小限するために公開情報を収集分析して作成し、組織内関係者に共有される成果物

サイクル

- 体制構築
- 要件定義
- 情報収集

体制構築

- チームを組んで複数の視点で分析や検証を行う
- 担当者、レビュア、技術担当者

要件定義

- なんでも良いからはNG
- 目的、手段、成果物、読者を名確認定義する
- 目的：サイバー攻撃による被害の防止・最小化
- 手段：被害の原因と対策を提示。対策実施のための文書を作成、配布
- 作業：情報収集、事例の収集
- 成果物：脆弱性情報、攻撃時レリ
- 読者：セキュリティ担当、CISRT

情報収集

- 短時間でも必ず毎日行う
- 明日やるはダメ。やらない
- 日々の状況を確認して、推移を把握
- 考察で分析スキルが上がる
- 一次情報を見ること
- 情報源を選択して効率的に収集する
- 有識者のSNSも確認
- RSSリーダー、Twitter、検索エンジン(特定できるキーワードを使う)
- 蓄積はEvernoteがおすすめ

分析

- 情報の品質、信頼性網羅性を確認。複数の情報を確認して、一番性格だと思われる情報を集める
- 成果物に応じた分析を実施
- 事象の振り返りあ関連性の推測から、脅威動向が見えてくる
- 攻撃者、同期、攻撃対象、手法をに分類して、予測を立てると全体像が見えてくる

成果物作成

- 読者は専門家とは限らない
- 前提知識を踏まえた説明
- 一意に解釈できる表現
- 文書構成を事前に作成して、読みやすい成果物をすばやく作成する
- 成果物を迅速に配布する手段を事前に確認しておく
- 連絡文書の配布ルート
- 組織内ポータルサイト

フィードバック

- 読者からの問い合わせ、クレームは改善の宝庫
- 反省を活かす
- 適切な情報源だったか？
- 分析アプローチはどうだったか？

## 実施事例

Spector, Meltdown

- ITmediaで公開を見る(正月休暇明け)
- 脆弱性のサービスへの　影響を調査して、結果を報告する方針。深刻な場合は社内共有という方針。
- 技術情報がない。原理が難解。海外サイトは錯綜。
- 発見者の説明を合わせて、脆弱性の原理を読解した
- 悪用にはローカル実行が必要だった
- 夜に一次報告
- 1/5移行に継続調査
- パッチ情報も問題を伴うことが判明
- 社内展開について議論
- 良かった点：公開当日に調べてある程度の影響度を確認できた
- 悪かった点：影響度が低くても社会的な関心が高い事象は情報を共有してほしいという要望

## Tips

OSINT担当者に求められるスキル

- 情報セキュリティの知識やスキル
- 社会情勢の把握
- 学習：第後の洗浄、あなたの知らないセキュリティの非常識
- 英語：文法の錯覚人と頻出単語、英語記事のどっかい
- 国家間の関係とハクディビストに関する知識：マスメディア(NHK BS1国際ニュース、紙の新聞：有識者コメント入り)、書籍

批判的思考を用いた検証

- 著者の狙い
- 前提の妥当性
- 論理の飛躍や矛盾
- 根拠の有無
- 事実と推測や意見との区別

# ブロックチェーンの標的型攻撃（Hyperledger）
ジェイ･ハロ

こちらも公開禁止セッションだったので、割愛します。

# 暗号通貨ゴールドマイン：あなたの環境は安全？
オースチン・マックブライド

# 暗号通貨ゴールドマイン：あなたの環境は安全？
オースチン・マックブライド

cisco umbrella 
280億のDNSトラフィックを処理している
全世界の3%
新しいドメインやオープンDNSにすぐ気づける

暗号通貨のメトリックが上昇している

- ほとんど規制がされていないので、攻撃者

規制について

- 日本が一番始めに包括的な規制を作った
- 他国はまだ規制がない

悪意のあるアクター

- 外部（ウクライナや外国のオペレーター）

暗号通貨の魅力

- そこまで堅牢じゃない
- 匿名性がある
- 資産価値も大きく変動する
- 一晩で30％上昇もある

クリプトマイニング

- 他者の取引を継承して上がりを得る

クリプトジャッキング

- 他者のコンピュータリソースを使ってマイニング

Crypto Traffic

- 業種の分布：大学、エネルギーが多い。古いPCを使っている分野
- 学生、無償の電力、自由にネットワークを使える
- 中小企業に集中している。専門インシデント担当が居ない。ネットワークをモニタリングしていない。
- マイニングの難易度が下がっている
- 市場が下落している。

採掘コスト

- 殆どかからない
- 30％は採掘手数料として取られるが、あとはもらえる
- Coin Hive
- awsだけではなく、PC、スマホ、webサイト

Javascriptのインジェクション

- Webベースは急激にトラフィックが増える
- ソフトウェアベースでは、長期にトラフィックを消費する

Crypto Phishing

- メール、サーチエンジンの広告、チャットのチャンネルなど
- 検索結果にピュー二コード（強調文字や.）を使ってミスリードする
- ワイルドカード証明書配下に紛れさせる手法もある

Googleを使った手法

- Google Adwords
- クリックすると、ランディングページに表示されるサイトは保有している必要がある
- 広告をクリックして飛ばすURLも自分のものにしないと行けない
- Google Adwordsのクレデンシャルをどこかから取れれば、紛れ込ませることができる。

取引所のPhishing詐欺

- binance使ってる？
- bivnanceという詐欺サイトがある
- そっくりなサイト
- wikiまで完璧
- ログインページでクレデンシャルを入力させて、2faも入れさせる。正規サイトにリダイレクションして表示は正しくさせる。
- MITMで摂取する

ここで電源が切れてしまいました。
残念！

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