こんにちは、ひろかずです。
昨日に引き続き、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 -
いろいろあって書けませんでした!
内容は資料を参照してください!
続きます!