寄付窓口はこちら

BITBOX: How to Secure Cryptocurrency Exchange #linedevday

linedevday.linecorp.com

f:id:niwatako:20181121131944j:plain

本日はセキュリティの話です。仮想通貨交換所BITBOXのセキュリティの話です。

セキュリティについて詳細にお話しようと考えた理由は皆様の交換所への信頼度が下がっていると感じるからです。

攻撃にあったり詐欺事件が多発しています。

お話して皆様の信頼を勝ち取りたいと思います。

台湾で有名なセキュリティのカンファレンスで発表します。

f:id:niwatako:20181121132116j:plain

私の責任範囲はセキュリティのアーキテクチャ設計やTrusted Computing。

ベスト・オブ・ザ・ベストの教育プログラムで教えている。韓国をハッキング攻撃から守る志のある方に提供している。

LINE、インタートラストセキュリティトラスト、台湾ヒットコンなどで公演してきました。

f:id:niwatako:20181121132247j:plain

LINE の仮想通貨交換所、フレンドリUI、堅牢なセキュリティ。日本と米国以外で提供しています。

ブロックチェーンは世界中の注目を集め攻撃者に価値の高いターゲットになっています。

f:id:niwatako:20181121132312j:plain

毎日多額のお金が交換されています。攻撃されてユーザーが損失を被る。

日本の最近の攻撃では日本において6億ドルの損害が出ています。こうした問題を回避するために、優れたセキュリティエンジニアやLINEハッカーで構成されて、最先端のセキュリティセンターが入っている。

BITBOXはユーザーの資産を守ります。テクノロジ、そしてそうで内面からもです。

どのように攻撃され道守るかのはなしをします。

f:id:niwatako:20181121132446j:plain

交換所の驚異と、私達のセキュリティ戦略。

これを通じて安心していただきたい。

交換所を標的にした攻撃は従来の攻撃と変わらない

f:id:niwatako:20181121132509j:plain

ゼロデイやワンデイをついてくる。フィッシング攻撃で社員の認証情報を取る。それからマルウェア

USBドライブなどから運ばれる。

ウォレットキーを見つけてコピーし、仮想通貨を他人のウォレットに送金し、取引データを改ざんする。

攻撃者が内部にいる場合もある。デベロッパやセキュリティエンジニア、インフラエンジニア、経営者の中にいるかも知れません。

インサイダーは機密を他者に贈り、他のハッカーと共謀して攻撃を仕掛けてくる。

多くの仮想通貨交換所は、いくつかの対策を講じて保護に取り組んでいる。

しかしアーキテクチャには限界がある

f:id:niwatako:20181121132652j:plain

侵入する方は1つ脆弱性を見つければいい。守る側は、すべての脆弱性を見つける必要がある。

複雑なほど、攻撃しやすく守るのが難しくなる。

完ぺきに近くするためにできることは

2つの戦略

f:id:niwatako:20181121132732j:plain

レイヤード、デフェンドインデプス

レイヤードセキュリティ

f:id:niwatako:20181121132747j:plain

すべての防御には不備があると考えて複数の対策を組み合わせお互いの不備を補い合う。

でもどこかのレイヤーに弱さがあれば、他のレイヤーで補う。でもすべての防御層に穴があればつながってしまい、安全でない状況になってしまうかもしれません。

f:id:niwatako:20181121132850j:plain

ディフェンド イン デプス はレイヤードセキュリティも1部。包括的なセキュリティ。

未知の脅威、災害復旧、インサイダー攻撃、ゼロデイ、コンプライアンスなどに対応する

f:id:niwatako:20181121132928j:plain

ディフェンスインデプス

レイヤードセキュリティには、物理セキュリティ、インフラ、アプリケーションサービスセキュリティ、暗号化、2要素認証など。特別には、ウォレットキーを保護すること。攻撃者が乗っ取る事があるかもしれない。それでもキーが守られます。

モニタリングは様々な監視を含みます。コンプライアンスマネロン対策異常検知など、

アシュアランスは外部監査によりユーザーの安全を守ること。場合によっては保険に寄って守ることも行っています。

各社は防御の層をセキュリティツールに寄って増やすことで安全が守れると思われがちですが、こうしたツールがお互いにコミュニケーション取れないのが問題です。

インテグレーションの不備はセキュリティチームが全て見渡せないことで問題になります。それを軽減するために個々のレイヤーのチェックを行っています。

f:id:niwatako:20181121133155j:plain

セキュリティを開発に組み込むことが必要、運用に組み込むことが必要。

セキュリティレビューをリリース直前に行う、そうすると問題が出る。問題が特定できてもリリースが送れることもあります。最悪脆弱性を発見できないことがあります。セキュリティは開発プロセスオペレーションすべてのパートに含まれています。

設計した際

f:id:niwatako:20181121133251j:plain

いくつかの基本的な原則に従いました。

完璧なセキュリティは存在しない。できるだけパーフェクトに近づける。

完璧なセキュリティを築こうと努力しました。

敵は内部にいるという前提で進めました。敵がアプリケーションサービスやAPIを則ってもユーザーアセットを守る。

内部の人はだれも信頼していない。経営者もです。重要なオペレーションは複数の当事者の監視下で行っている。

スクリプトコードは第三者にチェックされる。

最小権限の原則。すべてのロールが分離している。

こちらは私達のネットワークインフラセキュリティアーキテクチャ

f:id:niwatako:20181121133417j:plain

CDNを使っている。オリジナルサーバーロケーションを隠すという利点もある。

ネットワークレイヤーでDDoSアタックを吸収できる。

大抵の攻撃には数秒で対処できる。

複雑なDDoSは対DDoSルーターへリダイレクトする。

他にもいろいろなレイヤーがあります。ファイアウォールやIDS

それから内部ネットワークは完全に分離されています。Zaifなどはまず最初に内部ネットワークに攻撃を試みていました。

内部にアクセスできてもBITBOXネットワークにはアクセスできません。

様々なモニタリングシステムが可動しています。マルウェアスキャナ、インテグリティチェックツールなど。

シームに行われてリアルタイムに監視される。

f:id:niwatako:20181121133623j:plain

鍵を盗めなくする事が重要。

それぞれのコアが別々に分けられていて結合されている。

いずれのサーバーも権限を持った従業員だけがアクセスできる、トークンであってパスワードではない認証。

中間者攻撃を防ぐ

KMSも重要なサービス、暗号化を行っている。インターネットには接続されていません。

ウォレットコアだけが個々につながることが出来ます。

このシステム、KMSシステムへのアクセスもリアルタイムにモニタリングしています。誰も届かないようになっています。

ウォレットキーは生成して保管しています。HMS内です。HMS内ですべて承認されます。攻撃者は入れません。

攻撃者がAPIサーバーをコントロールしても暗号化処理はこの中で動いているので無理です。

マルチシグウォレットを使っています。第三者に預託しています。攻撃者は第三者の鍵もなければ資産を盗めません。

もう一つ重要なのは交換所はきちんとブラックマネーが流れてこない設計が必要、マネロンに使われないようにしないといけません。KYCとKYT

KYT: Known your transaction

顧客が合法かチェックする。制裁リストに含まれていなければ合法的な顧客。

さらに取引所内に預託された資金、引き出される資金もチェック、これでマネロン対策。これがKYT。リスクマネジメントシステムは追って説明します。

ウォレットセキュリティ、3つのウォレットを持っています。ウォーム、ホット、コールドです。

流れてくる預け入れのしさんはウォームウォレットに入ってきます。取引をコールド、ホットにしか贈れません

f:id:niwatako:20181121134035j:plain

引き出しはホットからのみ行われます。

大抵の資金はコールドウォレットに保管されています。インターネットアクセスも出来ません。物理的モニタリングもしています。アクセス権を持った人しか入れません。

最低限のお金だけがほっとウォレットに入っています。攻撃者がほっとウォレットを奪っても影響は少ない。

しかしそれも取られたくない。そこで複数段階の承認プロセス

f:id:niwatako:20181121134145j:plain

すべてのウォレットに対して相当額の金額を一定時間で贈れないように速度と上限を設けている

f:id:niwatako:20181121134211j:plain

ウォームでもホットでもマルチシグウォレットになっています。

一つの鍵しか利用できないタイプがある。これは一つキーを盗むと取引が行えてしまう。でもマルチシグは2つ以上の鍵が必要になる。いくつの署名が全体で存在し、いくつが取引成立に必要かを定義できる。

2/3で成立する。一つはバックアップで、パスフレーズで暗号化されている。KeyVoultに保管され地域分散されている。

ほかは普段のオペレーションに使う。1つはBITBOXが持っている。もう一つは第三者に預託している。

BITBOXの鍵はHMSに入っています。しかも、シャミアの秘密分散法などを使ってシャード化されています。さらに暗号パスフレーズで再暗号化されています。

暗号化アルゴリズムの実行化中でさえ鍵は完全な状態にならない。だれも鍵を知らない状態。複数の管理者が共謀しても、もともとの鍵を再生できません。ホワイトボックス暗号方式です。

ではここから

f:id:niwatako:20181121134532j:plain

我々のリスクマネジメントシステムについて

市場操作を検知します。すべての通貨の流れをモニタリングしています。入るもの、出ていくもの、内部でのトランザクションもモニタリングしています。

重要な問題、鍵が問題になるのはマネロンや市場操作です。

f:id:niwatako:20181121134623j:plain

外部のアドレスの評判をチェックしています。パブリックな台帳を見ることができる。すべての履歴をトラックできる。

要約するとブラックマーケットで使ったウォレット、悪意がある人が使っているものは、ウォレットの流れをチェックすることができる。内部ウォレットが引き出し、預託先がブラックマーケットと関わりがあるかチェックできる。

なにか関係性があった場合取引を拒否します。

これはBinanceの事例です。

f:id:niwatako:20181121134727j:plain

f:id:niwatako:20181121134744j:plain

f:id:niwatako:20181121134749j:plain

f:id:niwatako:20181121134755j:plain

SYSコインを価格操作した。APIキーが漏洩した。盗めたら彼らは攻撃を始めたわけです。Binanceによるとすぐ対応したということでした。

リスクマネジメントシステムが検知してこうしたオペレーションを不可能にした。

Binanceの例から怪しい取引のモニタリングが重要だということがわかります。

f:id:niwatako:20181121134846j:plain

これがリスクマネジメントシステムの一部になっています。

怪しい取引はすべての取引を分析しています。大量に短時間で行われた取引とか、複数取引なのにばらつきが小さい時、怪しいと判断します。

最近、怪しい事例がありました。デジタルトークンLINKをBITBOXを上場したが、ほかの通貨はICOをしていません。リワードシステムを使っています。このLINKトークンはLINEエコシステムですべてのBITBOXの10%相当をトークンとして提供しています。最近ユーザーの中でひじょうにおおくのLINKトークンを使っていたということがありました。こうしたウォッシュトレーディングを見つけるのは難しい。通常の取引かもしれない。

だれがウォッシュトレーディングをしているのか、解析し、彼らのリワードを取り消している。

f:id:niwatako:20181121135114j:plain まとめ

すべてのプロセスにセキュリティが関わっています。

予測予防反応、すべての脅威に対応できるように設計しています

鍵にアクセスできなくなっています、サーバーを則っても出来ない、HMS内部に鍵が保管されているから

取引はすべてモニタリングされていて、なにか起きれば直ちに対処する

複数の対処でインシデントが置きても守る。

資産は保険かけているものもある

BITBOXのセキュリティは最高レベルのエンジニアとハッカーが作りました。4ヶ月で作りましたが、20年以上の経験に基づいて作りました。20年以上、NaverやLINEサービスでセキュリティを培ってきました。

f:id:niwatako:20181121135308j:plain

来年に向けてWhitePaper用意しています。外部から評価をいただきたい。こうした評価をいただくことでユーザーからの信頼を獲得できると信じているからです。

それから、詳細をすべて1時間で説明するのは難しいからです。

マネロンのプロファイルを行っています。もっとブロックチェーンエコシステムをよくできる

他の交換所と共有したい

f:id:niwatako:20181121135409j:plain

我々への理解を深めていただけていれば幸いです。