逆向和破解愛國者自加密外接硬碟。 第 1 部分:剖析成部分

逆向和破解外部自加密驅動器是我的老愛好。 過去,我有機會練習Zalman VE-400、Zalman ZM-SHE500、Zalman ZM-VE500等機型。 就在最近,一位同事為我帶來了另一件展品:愛國者(愛國者)SK8671,它是按照典型的設計建造的——一個液晶顯示器和一個用於輸入PIN碼的鍵盤。 這就是結果…

1。 介紹
2. 硬體架構
– 2.1。 主機板
– 2.2。 液晶顯示板
– 2.3。 鍵盤板
– 2.4。 看著電線
3. 攻擊步驟順序
– 3.1。 從 SPI 快閃磁碟機取得資料轉儲
– 3.2。 嗅探通信

逆向和破解愛國者自加密外接硬碟。 第 1 部分:剖析成部分


1。 介紹

逆向和破解愛國者自加密外接硬碟。 第 1 部分:剖析成部分
住房

逆向和破解愛國者自加密外接硬碟。 第 1 部分:剖析成部分
填料

輸入 PIN 碼後即可存取儲存在磁碟上的資料(據稱這些資料已加密)。 關於該設備的一些介紹說明:

  • 如需更改PIN碼,必須在解鎖前按F1;
  • PIN 碼必須包含 6 至 9 位數字;
  • 15 次錯誤嘗試後,磁碟將被清除。

2. 硬體架構

首先,我們將設備分解成多個部分,以了解它由哪些組件組成。 最繁瑣的任務是打開外殼:大量的微型螺絲和塑膠。 打開外殼後,我們看到以下內容(注意我焊接的五針連接器):

逆向和破解愛國者自加密外接硬碟。 第 1 部分:剖析成部分

2.1. 主機板

主機板很簡單:

逆向和破解愛國者自加密外接硬碟。 第 1 部分:剖析成部分

它最值得注意的部分(從上到下看):

  • LCD 指示器連接器 (CN1);
  • 高音揚聲器 (SP1);
  • PM25LD010(規格)SPI快閃記憶體驅動器(U2);
  • 智微JMS539控制器(規格) 用於 USB-SATA (U1);
  • USB 3 連接器 (J1)。

SPI快閃磁碟機儲存JMS539的韌體和一些設定。

2.2. 液晶顯示板

液晶板上沒有什麼值得注意的地方。

逆向和破解愛國者自加密外接硬碟。 第 1 部分:剖析成部分
逆向和破解愛國者自加密外接硬碟。 第 1 部分:剖析成部分

僅有的:

  • 來源不明的 LCD 指示器(可能有中文文字集); 具有順序控制功能;
  • 用於鍵盤板的帶狀連接器。

2.3. 鍵盤板

當檢查鍵盤板時,事情發生了更有趣的轉變。

逆向和破解愛國者自加密外接硬碟。 第 1 部分:剖析成部分

在背面,我們看到一個帶狀連接器,以及一個 Cypress CY8C21434 微控制器 PSoC 1(以下我們簡稱為 PSoC)

逆向和破解愛國者自加密外接硬碟。 第 1 部分:剖析成部分

CY8C21434 使用 M8C 指令集(參見 文件)。 在[產品頁面]( (http://www.cypress.com/part/cy8c21434-24ltxi)表示支持該技術 電容感應 (賽普拉斯的解決方案,適用於電容式鍵盤)。 在這裡您可以看到我焊接的五針連接器 - 這是透過 ISSP 介面連接外部程式設計器的標準方法。

2.4. 看著電線

讓我們弄清楚這裡有什麼聯繫。 為此,只需用萬用電表測試電線:

逆向和破解愛國者自加密外接硬碟。 第 1 部分:剖析成部分

畫在膝蓋上的圖的解釋:

  • PSoC 在技術規格中進行了描述;
  • 下一個連接器,即右側的連接器,是 ISSP 接口,命運的安排,它與互聯網上的描述相對應;
  • 最右邊的連接器是帶狀連接器連接鍵盤板的端子;
  • 黑色矩形是 CN1 連接器的圖,用於連接主機板和 LCD 板。 P11、P13 和 P4 連接到 LCD 板上的 PSoC 腳位 11、13 和 4。

3. 攻擊步驟順序

現在我們知道該磁碟機由哪些元件組成,我們需要:1)確保基本加密功能確實存在; 2)了解加密金鑰是如何產生/保存的; 3) 找到將檢查 PIN 碼的具體位置。

為此,我執行了以下步驟:

  • 從 SPI 快閃磁碟機取得資料轉儲;
  • 嘗試從 PSoC 快閃磁碟機轉儲資料;
  • 驗證 Cypress PSoC 和 JMS539 之間的通訊實際上包含擊鍵;
  • 我確保更改密碼時,SPI快閃磁碟機中沒有任何內容被覆蓋;
  • 懶得從JMS8051逆向539韌體。

3.1. 從 SPI 快閃磁碟機取得資料轉儲

這個過程非常簡單:

  • 將探針連接到快閃記憶體驅動器的引腳:CLK、MOSI、MISO 和(可選)EN;
  • 使用邏輯分析儀與嗅探器進行「嗅探」通訊(我使用 Saleae Logic Pro 16);
  • 解碼SPI協定並將結果匯出到CSV;
  • 利用 解碼_spi.rb解析結果並取得轉儲。

請注意,這種方法在 JMS539 控制器的情況下尤其有效,因為該控制器在初始化階段會從快閃磁碟機載入所有韌體。

$ decode_spi.rb boot_spi1.csv dump
0.039776 : WRITE DISABLE
0.039777 : JEDEC READ ID
0.039784 : ID 0x7f 0x9d 0x21
---------------------
0.039788 : READ @ 0x0
0x12,0x42,0x00,0xd3,0x22,0x00,
[...]
$ ls --size --block-size=1 dump
49152 dump
$ sha1sum dump
3d9db0dde7b4aadd2b7705a46b5d04e1a1f3b125 dump

從 SPI 快閃磁碟機中進行轉儲後,我得出的結論是,它的唯一任務是儲存內建於 8051 微控制器中的 JMicron 控制裝置的韌體。 不幸的是,對 SPI 快閃磁碟機進行轉儲結果是沒有用的:

  • 當 PIN 碼更改時,閃存驅動器轉儲保持不變;
  • 初始化階段之後,裝置不會存取 SPI 快閃磁碟機。

3.2. 嗅探通信

這是尋找哪個晶片負責檢查感興趣的時間/內容的通訊的一種方法。 我們已經知道,USB-SATA 控制器透過連接器 CN1 和兩個焊帶連接到 Cypress PSoC LCD。 因此,我們將探頭連接到三個相應的腿:

  • P4,通用輸入/輸出;
  • P11,I2C SCL;
  • P13,I2C SDA。

逆向和破解愛國者自加密外接硬碟。 第 1 部分:剖析成部分

然後我們啟動Saleae邏輯分析儀並在鍵盤上輸入:「123456~」。 結果,我們看到了下圖。

逆向和破解愛國者自加密外接硬碟。 第 1 部分:剖析成部分

在它上面我們可以看到三個資料交換通道:

  • P4通道上有幾個短突發;
  • 在 P11 和 P13 上 - 幾乎連續的資料交換。

放大通道 P4 上的第一個尖峰(上圖的藍色矩形),我們看到以下內容:

逆向和破解愛國者自加密外接硬碟。 第 1 部分:剖析成部分

這裡你可以看到 P4 上有近 70ms 的單調訊號,乍看之下我覺得它扮演了時脈訊號的角色。 然而,在花了一些時間檢查我的猜測後,我發現這不是時鐘訊號,而是按下按鍵時輸出到高音揚聲器的音訊串流。 因此,這部分訊號本身並不包含對我們有用的信息。 但是,它可以用作指示符來了解 PSoC 何時記錄按鍵操作。

然而,最新的 P4 音訊串流有點不同:它是「無效 pincode」的音訊!

返回按鍵圖,放大最後一個音訊流程圖(再次看到藍色矩形),我們得到:

逆向和破解愛國者自加密外接硬碟。 第 1 部分:剖析成部分

這裡我們在 P11 上看到單調的訊號。 所以看起來這就是時脈訊號。 P13是數據。 請注意蜂鳴聲結束後模式如何變化。 看看這裡發生的事情會很有趣。

使用兩條線的協定通常是 SPI 或 I2C,Cypress 的技術規格指出這些引腳對應於 I2C,我們在我們的案例中看到了這一點:

逆向和破解愛國者自加密外接硬碟。 第 1 部分:剖析成部分

USB-SATA 晶片組不斷輪詢 PSoC 以讀取金鑰的狀態,預設為「0」。 然後,當您按下“1”鍵時,它會變為“1”。 如果輸入錯誤的 PIN 碼,按下「~」後的最終傳輸會有所不同。 然而,目前我還沒有檢查那裡實際傳輸的內容。 但我懷疑這不太可能是加密金鑰。 無論如何,請參閱下一節以了解我如何刪除 PSoC 內部韌體。

來源: www.habr.com

添加評論