LoginSignup
3
2

More than 5 years have passed since last update.

CODE BLUE 2017レポート(DAY2前篇)

Last updated at Posted at 2017-11-10

こんにちは、ひろかずです。
昨日に引き続き、CODE BLUE 2017のDAY2をレポートします。

5階では各種コンテストが催されているとのことです。
年々新たな取組がなされていますね!

お品書き

  • "商用ホワイトボックス暗号方式" に対する "鍵回復攻撃"
  • LG vs. Samsung スマートTV: あなたを追跡できるのはどちら?

=== 今回はここまで ===

  • インサイドShell:.NETハッキング技術を応用したPowerShell可視性の向上
  • 国産IT資産管理ソフトウェアの(イン)セキュリティ
  • Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes -
  • OSSによる自動車の自動運転化

"商用ホワイトボックス暗号方式" に対する "鍵回復攻撃"

アン・サンファン - Sanghwan Ahn -

イントロダクション

商用のホワイトボックスソリューションでは、攻撃はなかなか成功しない状況だった。
サイドチャネルアタックを使って、攻撃に成功(鍵回復)した。
この成功は初めてである。

アプリケーションセキュリティは2fa等様々な方式で保護されている
鍵はハードウェアに格納されている
システムの保護が不十分であれば、メモリから鍵情報を抜くことができる
データが暗号化されても、鍵がメモリに格納されているので、情報は読み取れる。

ホワイトボックス脅威モデル

攻撃者は

  • バイナリを完全に見える
  • 暗号アルゴリズムにアクセスできる
  • 実行環境を完全に制御できる
  • 何度もクエリを事項できる

信頼できる実行環境(TEE)は、ほぼ安全だがサポートされるデバイスは少ない
ホワイトボックス暗号(WBC)は、学術レベルの実装は破られているが、商用WBCへの攻撃成功は事例がない

ハードウェアにあまりにも依存するのは危険。
WBCはアプリケーションレベルで実装されるべき。

ホワイトボックス暗号は、データだけでなく、アルゴリズムそのものも暗号化されている。
攻撃者は、何処に鍵があるのかわからず、抽出することも困難。

鍵とデータ、0-255の数字でスクランブルかけた(Sbox)ものがTboxになる。
通常のAES暗号と同じオペレーションが使われる。
テーブルベースのAES暗号実装では、Tboxを通じて暗号化が行われる。
Tbox(すなわちSbox)が破られると、鍵の復号化が可能になる。

ホワイトボックスAES実装は、外部の入力値をエンコードし、デコードすることができる。

多数Tboxを用意する(Lookup Table)ことで、攻撃者が鍵を解読することを更に困難にできる。

既存の攻撃

table-decomposition
全てのTboxを分散関数で計算し、鍵を抽出する手法がある。

power anakysis(電力解析)
電力消費と途中の計算結果を基に、シミュレートされたデータを比較する手法
もっとも強力
保護されていないAES暗号は、途中計算結果の直列が0,1で表現される。
機密データと1バイトの256鍵推測の消費電力との相関で、鍵を抽出することができる。

fault analysis
中間データを変更して、誤りを発生させる

既存の研究

ソフトウェアの実行トレースを観察することで、リバースエンジニアリングなしでプリミティブを読み取ることができる

商用のWBC実装を対象にした攻撃

実装方式は2つ

  • シンプル暗号モード(パフォーマンス重視)
  • コンプレックス暗号モード(複雑さ重視)

ラウンド演算解析

  • シンプル暗号モードでは、ラウンド演算パターンを見出すことはできなかった。

テイント解析

  • データフローと使われたコードから解析する。
  • シンプル暗号モードにて、平文トレースでは簡単に暗号プリミティブを見る事ができた。
  • 可視化するとただのfor文の繰り返しに見えた
  • シンプル暗号モードでは、鍵を抽出することができた。
  • コンプレックス暗号モードでは無理だった

fault analysis

  • コンプレックス暗号モードでは何処に失敗を注入するかわからないので、使えなかった
  • リバースエンジニアリングを通じて、失敗を注入することができ、その出力結果から鍵を復元することができた

まとめ

WBCは強力でコストパフォーマンスに優れるので、考慮点としては

  • マスター鍵を流用しない
  • 鍵をハードコートしない
  • IVを固定しない

そして、外部エンコードを利用して、電力解析とfault analysisを使えないようにする
WBベース公開鍵アルゴリズムを使用する
コード、データの完全性

デバイスバインディングについては、研究が行き届いていないので、調査が必要。

LG vs. Samsung スマートTV: あなたを追跡できるのはどちら?

イ・サンミン - Sangmin Lee -

いろいろあって書けませんでした!
内容は資料を参照してください!

続きます!

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2