其實,每一個晶片在設計之初都會留有後門(back door),除了designer可以用來偵錯,也可以讓測試工程師(testing engineer)對晶內片的某些功能作一些額外的測試,甚至也可以作為AE/FAE(application engineer)或是行銷(sales/marketing)用來與客戶談判的籌碼。

        一塊晶片上頭通常會有所謂的user mode(一般使用者)與test mode(測試用)這兩種功能,由於user mode是開放給客戶(你也可以說就是我們這些使用者),所以不會留後門,這風險太高了,所以駭客破解所鑽的漏洞就是找test mode來進去。只是,要破解一個晶片內的保護裝置是有一定的難度,除了你要熟悉該晶片的功能與每個腳位的定義之外,test mode的進入方式在出貨時就會被鎖起來。

        再者,test mode的進入方式包含了軟體(software)與硬體(hardware)兩種方式。軟體的部份就是你得要下一連串的命令(command)給晶片,硬體的部份就是使用不同的電壓準位。一般而言,軟/硬體的難度都很高,因為你不知道要下幾道命令才得以進去,或是要給哪些腳位哪種電壓,就算進去了,你也不知道要針對哪幾個功能去作更改畢竟,你不是原先的designer,除非你有門路,拿得到該晶片的設計報告。

        那要怎麼作?我們反其道而行,沒錯,就是找user mode進去,針對上頭的保護裝置!舉例來說,某晶片上的Protect pin這個腳位如果接低電位就可以使得該晶片處於解鎖的狀態,那我們就強破它處於某個高或低的準位,好比這位老兄將一條電線搭上另一條上頭跑有1.8V的電線。

        對一個外人而言,他或許是用試誤法(try by error)並逐一針對不同的晶片找出合適的破解之道,並累積經驗。或許你會問,每一家的晶片設計方式不同,不行這樣用吧。但,你可別忘了,有所謂的IC反向工程(IC reverse),甚至是同一陣營的設計規格不是你抄我,就是我抄你,上下交相賊。只要鎖定該陣營類似規格的晶片就可以找出蛛絲馬跡。

        最後,大公司都是買不同廠商的晶片來兜成一塊,所以他們也無法知道每一家廠商是否對他們誠實以告。有些情況是,他們會派人過來到該購買晶片的公司作電路的複檢(review)來看看是否有user mode或是test mode的後門足以影響正常功能,以避免不必要的危險。


arrow
arrow
    全站熱搜

    msuvictor 發表在 痞客邦 留言(0) 人氣()