チップ復号化は、シングルチップ復号化(IC復号化)としても知られています。公式製品のシングルチップマイクロコンピューターチップは暗号化されているため、プログラムはプログラマーを使用して直接読み取ることができません。
無許可のアクセスまたはマイクロコントローラーのオンチッププログラムへのコピーを防ぐために、ほとんどのマイクロコントローラーには、オンチッププログラムを保護するためにロックビットまたは暗号化されたバイトを暗号化しています。プログラミング中に暗号化ロックビットが有効になっている(ロックされている)場合、マイクロコントローラーのプログラムは、マイクロコントローラー暗号化またはチップ暗号化と呼ばれる共通プログラマーが直接読み取ることはできません。 MCUの攻撃者は、特別な機器または自作の機器を使用し、MCUチップ設計で抜け穴やソフトウェアの欠陥を活用し、さまざまな技術的手段を通じて、チップから重要な情報を抽出してMCUの内部プログラムを取得できます。これはチップクラッキングと呼ばれます。
チップ復号化方法
1.ソフトウェア攻撃
この手法は通常、プロセッサ通信インターフェイスを使用して、これらのアルゴリズムのプロトコル、暗号化アルゴリズム、またはセキュリティホールをエクスプロイトして、攻撃を実行します。ソフトウェア攻撃の成功の典型的な例は、初期のAtmel AT89Cシリーズマイクロコントローラーに対する攻撃です。攻撃者は、この一連のシングルチップマイクロコンピューターの消去操作シーケンスの設計において、抜け穴を利用しました。暗号化ロックビットを消去した後、攻撃者はオンチッププログラムメモリのデータの消去の次の操作を停止し、暗号化されたシングルチップマイクロコンピューターが暗号化されていないシングルチップマイクロコンピューターになり、プログラマーを使用してオンチッププログラムを読み取ります。
他の暗号化方法に基づいて、特定のソフトウェアと協力してソフトウェア攻撃を行うためにいくつかの機器を開発できます。
2。電子検出攻撃
この手法は、通常、通常の動作中のプロセッサのすべてのパワーとインターフェイスの接続のアナログ特性を、高い時間分解能で監視し、電磁放射特性を監視することにより攻撃を実装します。マイクロコントローラーはアクティブな電子デバイスであるため、異なる命令を実行すると、対応する消費電力もそれに応じて変化します。このようにして、特別な電子測定機器と数学的統計的手法を使用してこれらの変更を分析および検出することにより、マイクロコントローラーの特定の重要な情報を取得できます。
3。障害生成技術
この手法は、異常な動作条件を使用してプロセッサをバグし、攻撃を実行するために追加のアクセスを提供します。最も広く使用されている断層を生成する攻撃には、電圧サージと時計の急増が含まれます。低電圧および高電圧攻撃を使用して、保護回路を無効にするか、プロセッサに誤った操作を強制することができます。クロックトランジェントは、保護された情報を破壊せずに保護回路をリセットする場合があります。パワーおよびクロックの過渡現象は、一部のプロセッサでの個々の命令のデコードと実行に影響を与える可能性があります。
4。プローブテクノロジー
このテクノロジーは、チップの内部配線を直接露出し、マイクロコントローラーを観察、操作、干渉して攻撃の目的を達成することです。
便利なため、人々は上記の4つの攻撃技術を2つのカテゴリに分割します。1つは侵入攻撃(物理的攻撃)です。このタイプの攻撃は、パッケージを破壊し、特殊な実験室で半導体テスト装置、顕微鏡、マイクロポジショナーを使用する必要があります。完了するまでに数時間または数週間かかる場合があります。すべてのマイクロプロビング技術は侵襲的な攻撃です。他の3つの方法は非侵襲的攻撃であり、攻撃されたマイクロコントローラーは物理的に損傷しません。非侵入攻撃は、邪魔にならない攻撃に必要な機器が自己構築され、アップグレードされることが多く、したがって非常に安価である可能性があるため、場合によっては特に危険です。
ほとんどの非侵入攻撃では、攻撃者が優れたプロセッサの知識とソフトウェアの知識を持つ必要があります。対照的に、侵略的なプローブ攻撃は多くの初期知識を必要とせず、通常、幅広い製品に対して幅広い同様の手法を使用できます。したがって、マイクロコントローラーへの攻撃は邪魔なリバースエンジニアリングから始まることが多く、蓄積された経験は、より安価で高速ではない非侵入攻撃技術を開発するのに役立ちます。