https://www.facebook.com/photo.php?fbid=10216019118603397
分享資安前輩 Kuon大大文
剛好上禮拜收到了一座 WD DUO 3TB*2 Raid 1
用戶說沒有設定密碼
就算沒有設定用戶密碼 一樣有eDEK密鑰
預設就是全扇區AES硬體加密
拿起昂貴資料救援設備來分析.
PC3000 跟MRT,從韌體Module 25,38讀出來
WTF?Keyblock (eDEK不正確)解密錯誤...
好 OSSLab Geek Lab還算看得懂論文跟原始碼
eDEK除了韌體外,在硬碟Lba也有備份
https://github.com/andlabs/reallymine/issues/45…
不同晶片的 Keyblock LBA位置
3 TB 5860528160
3 TB 5860529539
3 TB 5860533120
都翻過了 都是00 都沒有eDEK...
學前文Kuon大大查簽名
57 44 76 31
53 59 4D 57
53 49 6E 45
57 44 01 14 都失敗.
https://github.com/andlabs/reallymine/issues/15…
這案子搞到頭有點痛..看起來是都沒有人對WD DUO JMS561做過完整加解密分析.如果如同前文只是主控版損壞那就簡單..晚點再從與Usb to Bridge EEPROM內找看看eDEK
看不懂前文請先看這篇
https://www.osslab.com.tw/wd-usb-aes-recovery/
資料救援真的不一定會100%成功,只是我們會盡力研究與處理.
#OSSLab
咚!
#資料救援
這兩天剛好有朋友資料掉了,也是 WD 外接硬碟系列,來分享我今年的處理過程。
這篇會是個長篇,各位看倌要有心理準備 XD
也因為早就預期是個長篇,所以想了很久卻一直沒有開動。
====
[為什麼需要救援]
7 月份辦公室事故,樓下的高溫粒子沿著 1) 管道間 或 2)玻璃帷幕與牆壁中間的夾縫 亂竄,管道間旁,除了窗戶冷氣外,還堆了一堆易燃雜物 (紙 & 塑膠包材),這些雜物熔點一到自燃,所以我在路邊吃冰淇淋的時候,可以看到火苗從窗戶冒出。
吃冰淇淋的同時,我念茲在茲的只有硬碟(裡面的資料),因為備份用的幾十 TB 硬碟平常是離線儲存,擺在鐵櫃裡,而鐵櫃離火源非常接近....
幸好火源在窗戶旁邊,所以很快被發現並被撲滅。
到我可以進入現場,第一件事情就是開鐵櫃,手摸到鐵櫃的第一感覺,更,鐵櫃是溫熱的 :(
最重要的那顆 16TB 硬碟,是鐵櫃內最靠近火源的角落,連外包裝的紙盒都是燙的...,而且紙盒的底部,黏在鐵櫃上,我用力拔出來...
熔化了 :( 心都涼了!(拍一下驚堂木)
由於 1) 當時已經晚上 6 點左右,雖是夏日但天色已晚,室內當然因為事故無光源 2) 事故中間,開放進入現場不到 5 分鐘又撤離,二次燃燒
所以,為了避免可能的三次燃燒(?),當下我就把 16TB 隨手一扔,連放進可以上鎖的鐵櫃都沒有,先搶救其他設備,逃離現場。
因為我以為沒救了。物理毀損ㄟ...
====
[取出硬碟]
事後回想,把那顆硬碟隨便一丟,是個 #潛在的錯誤,因為如果後來建築物又發生什麼狀況,那硬碟可能就真的找不回來了。
我使用的外接硬碟,是 WD My Book Duo 16TB,USB 3.0,外觀可以參考 [1],是亮銀色的外觀。
事故第一晚,我想來想去,都覺得我太心急了,雖然那個外接盒,看起來快要 1/6 的比例熔掉,像是面積用 3x2 六等份排列時缺了一個角,是真的熔了一些東西。
硬碟外接盒,外包裝是紙盒,紙盒內還有一組保麗龍用來固定硬碟外接盒,紙盒在鐵櫃內,鐵櫃還在,紙盒和鐵櫃接觸面僅有焦掉,代表熔點低於這兩者,Google 查了一下保麗龍和塑膠熔點,研判是保麗龍和塑膠被(鐵櫃傳導熱度)熔掉,溫度僅需要 50C~60C,也查了硬碟工作時溫度,大概還撐得住 70C 高溫。
覺得應該慎重點,隔天就去把那顆熔掉的外接盒帶出來研究。
這個外接盒是自帶 2 顆硬碟的,買來插電就可以使用,所以原本也不知道裡面長什麼樣。
前面所提到的,亮銀色部分,研判是熱塑型塑膠,遇熱整個都軟化變形了,變形完一冷,就又固定住了,也就變得很難拆。
我在拆解的時候,很怕塑膠去黏到硬碟的軟板或是堵住氣孔,那就麻煩了,幸好沒有。原來,塑膠裡面是一個(有各種小孔呈網狀的)鐵盒子,硬碟和控制電路板,都在鐵盒子裡面,變形過的塑膠只有黏在鐵盒子外圍。
鐵盒子打開後,硬碟除了有碳粒附著和焦味外,外觀看起來都沒有受損。硬碟拆下來,我就把鐵盒子和塑膠丟掉了。
====
[資料救援前置作業]
事後回想,那個鐵盒子上面還有控制電路版,我在沒有確認電路板(或上面的 ROM)是壞掉的狀況下,就把它丟掉(因為塑膠碎片整個卡在上面,不想聞那個味道),是個 #潛在的嚴重錯誤。萬一外接盒的 1)控制晶片 2) I/O 演算法 3) 金鑰產生方式,依賴硬體,那我就真的救不回來了!!
獲得硬碟之後,因為外接盒(殘骸和那個鐵盒子)被我丟了,所以要再買一組新的。
當我上去 PCHome 看時 (原本的也是 PCHome 買的),我找到的是 [2],同樣都是 WD My Book Duo 16TB,[1] 和 [2] 的區別在一個是 USB 3.0,新的是 USB 3.1。
舊款 USB 3.0 的在別的購物平台有賣,牌價要 2 萬多,新款 3.1 的只要 1 萬 6。
#第一個抉擇來了,要買新款還是舊款?新款便宜個好幾千元,I/O 傳輸速度還比較快 ...
後來我決定打電話,問 WD 的代理商聯強,我還記得是在高鐵接駁車回台南市區的路上。舊款各種容量它們庫存都還有貨,但 16TB 的只剩一台。
#第二個抉擇來了,如果控制晶片都一樣,要買最小容量 6TB 就好,還是要跟原本一樣,買到 16TB?這關乎到 $$$$$$ 啊 ...
我後來決定買舊款,因為我怕新款的控制晶片不同顆,而且買了一樣容量 16 TB,因為在跟聯強工程師通話過程中,得知一個資訊,我覺得我得 Sector-by-Sector 複製了 ....
聯強:「WD 這個系列有 AES 加密」
我 :「我知道,但我沒有開啟,我也沒設過密碼」
聯強:「#就算你沒有設密碼_它還是有一組預設金鑰_而且是硬體加密」
我 :「...」(我瞬間知道這代表的意義,以及對救援難度的增加!!)
SATA-to-USB 轉接線,由於我手上原本的線材也在辦公室,當然得重買新的,跑去北門路買了 2 條。
====
[第一次救援]
在真的討論救援前,讓大家瞭解一下目前的資料架構。
軟體 -- USB -- 硬體
軟體: Data -- Linux EXT4 -- Linux LUKS -- USB
硬體: USB -- Firmware -- HDD
其中,LUKS 作了一次加密,Firmware 層又作了一次加密。也就是將硬碟拔出外接盒的時候,是 2 層加密,LUKS 的密碼是我設的,外接盒 Firmware 設的密碼,#我不知道!!
舊的外接盒中的硬碟,稱為舊硬碟,新的類推。
由於不知道新的控制晶片,會不會偷偷寫入 metadata 到舊硬碟,我不敢貿然的將舊硬碟插入新的外接盒,所以,我直接用 2 條 USB-to-SATA 傳輸線,採用 Linux dd 整顆對拷。
對了,我在拆舊硬碟的時候,有特別注意硬碟的順序。
每一次 copy 前,我都會檢查 3 次命令列參數和磁碟資訊,看看 if 和 of 有沒有設反 (設反就會把舊硬碟資料覆蓋過去....)
#三十小時過去,16 TB 總算拷完
拷完將新硬碟插回新的外接盒 (儘量不使用舊硬碟),這樣就搞定收工了。
.
.
.
.
.
.
.
.
.
.
.
.
.
(USB 接上電腦) WTF!!!Linux 認不到 LUKS Header,這樣代表在 Firmware 那層的解密就有問題了!我可是 Sector-by-Sector 對拷,怎麼會這樣?
#啟動備案,透過 USB-to-SATA 傳輸線直接對新硬碟 I/O,直接在這層就先破密,不使用外接盒。
為什麼會有備案呢,因為我以前讀過 "got HW crypto? On the (in)security of a Self-Encrypting Drive series" 這系列文件 (參考附圖一),知道 WD 外接盒系列加密演算法有漏洞,想說趁這個機會練習一下。
找了一些 GitHub 專案,要來對 WD 外接盒加密過的硬碟,進行破密,結果一直出現錯誤訊息,回去看 Source Code,發現是 Signature 找不到。
回去對照簡報檔 和 Source Code,發現外接盒 Firmware 會將 Metadata 存到硬碟的尾部,為了識別 Metadata,有一組固定的常數 Signature。
沒有找到 Signature,當然就意味著無法讀取正確的 Metadata。仔細讀過工具的 Source Code,發現沒有支援 8TB 的 offset (用來定位硬碟尾部位置),新增了一組我自己算的 offset,還是沒有找到。
有可能是我算錯,所以我改寫了工具,直接在一個比尾部更大許多的範圍,開始暴力搜尋 Signature,還是沒有找到。
囧了,只好直接拿起 Linux hd 指令,看 hexdump 結果,在我搜尋許多位置後,在 4TB 位置,觀察到一件事,就是 4TB 之後的內容都是 0x00!!
不對啊,我記得我這組外接硬碟使用超過 2/3 了,在有加密的情況下 (而且這個情況是雙重加密),不可能大量的 0x00 啊 ...
我重新思考了所有可能性,最後,發現了一件事情,我新買的 USB-to-SATA 傳輸線,外包裝盒寫著 "支援 4TB",它又沒說是 "最大支援 4TB" 阿 @@ TMD 採到雷!!!
我要找的 signature 會配置在硬碟的尾部,也就是 4TB~8TB 之間,傳輸線讀不到,當然找不到。
====
[第二次救援]
第一次救援的時候,我們家三寶還沒出生,中間那個禮拜特別忙,忙完三寶就出來 "Hello World!!\n" 了,所以,第二次救援已經是在月子中心處理的 XD
這次不用(雷雷的) USB-to-SATA 傳輸線了,請家裡人從光華帶了一台 4bay 的外接盒,有確認支援到單顆 8TB,而且故意挑沒有 RAID 功能。
#RAID!各位看完前面的描述,都沒有人注意到這件事情。WD My Book Duo 的 16TB,是由 2 顆 8TB WD 紅標組成。
當外接盒 WD My Book Duo 插進電腦時,預設只會出現一顆外接硬碟。也就是說,這個外接盒的預設模式,要麼是 JBOD 要麼是 RAID 0 (以下通通簡稱 RAID-like)。這也是我前面提到,我必須特別注意,2 顆 8TB 硬碟順序的原因。
#六十小時過去,真 16 TB 總算拷完
.
.
.
.
.
.
.
.
.
.
.
.
.
(USB 接上電腦) WTF!!!Linux 認不到 LUKS Header,這樣代表在 Firmware 那層的解密就有問題了!我可是 Sector-by-Sector 對拷,怎麼會這樣?
#啟動備案的備案,不對,我沒有備案的備案了阿...
我用前面提到的改寫過的工具,直接在一個比尾部更大許多的範圍,開始暴力搜尋 Signature,還是沒有找到。但硬碟尾部是有亂碼資料沒錯。
重新翻閱文件 "got HW crypto? On the (in)security of a Self-Encrypting Drive series" ,你會發現文件是針對 WD 的 My Book 和 My Passport 系列的外接盒,這些都是單顆硬碟的外接盒。我的是 My Book Duo,多了個 Duo 也就多了個 RAID-like 的行為。
很好,我的情況 no prior art .... 那麼現在的硬體處理資料的流程將會是:
#第一種可能,USB -- AES -- RAID-like -- HDD
#第二種可能,USB -- RAID-like -- AES -- HDD
#第三種可能,USB -- 我不知道 -- HDD
而韌體面,Signature 也有可能換一個未知的,但這點和上面的資料流程,都非得對韌體逆向工程才會知道。
我甚至都已經想過,寫 Linux 上的 FUSE 或 dm-* module,自己疊 RAID-like + AES 的透明轉換層 ... 如果我知道 AES 的 Key 的話,#可是我不知道阿。
坦白說,這個時候,我心都涼了,#我真的覺得救回來的機率很渺茫了。
要特別注意,這時候無論是新硬碟在 WD My Book Duo 裡面或是 4bay 外接盒,都無法正確判斷是 LUKS。
我可是 dd 的說,雖然不是 ddrescue,但拷貝過程就算有 bit error,對解密的錯誤擴散過程,也相當有限阿,除非好死不死,bit error 剛好發生在 Metadata 結構吧。
====
[第三次救援]
#這時候有馬比無馬好,有馬才能當活馬醫 XDD
我想說,好,至少我已經有一份 1:1 的備份了,把舊的硬碟按順序,插上新的 WD My Book Duo。
視窗彈出來了,不是小算盤,是 GNOME Disk 彈出來要求我輸入 LUKS 密碼的輸入框,嘿嘿,輸入密碼,16TB Get Back :)
這次前面有一些錯誤,資料能 100% 救回來,真的是運氣好。另外,也是 WD 的演算法有考慮到一些東西,至少沒有完全依賴控制電路板。
#我都已經準備好要逆向韌體了,雖然好玩,但還是資料救回來比較重要!
====
#自己的硬碟自己救
收工。
[1] https://support.wdc.com/product.aspx?ID=134&lang=en
[2] https://24h.pchome.com.tw/prod/DRAA6H-A9008G9W6?fq=/S/DRAA6H
#牆壁文
同時也有3部Youtube影片,追蹤數超過12萬的網紅朱學恒的阿宅萬事通事務所,也在其Youtube影片中提到,哈哈很久沒聽過這種保密防諜的警語了吧? 【一字外洩、全軍覆沒;一語外洩、身敗名裂】 好啦,最近我看一則暖心新聞卻嚇得我屁滾尿流,並不是因為我個人很容易失禁,而是因為新聞內容表面溫暖,但實際上代表的意義卻讓人十分害怕。 根據中國時報的報導:【日前澎湖馬公港旁一間飲料店,接到海軍下單88杯冬瓜檸檬,...
潛在的嚴重錯誤 在 朱學恒的阿宅萬事通事務所 Youtube 的最佳貼文
哈哈很久沒聽過這種保密防諜的警語了吧? 【一字外洩、全軍覆沒;一語外洩、身敗名裂】
好啦,最近我看一則暖心新聞卻嚇得我屁滾尿流,並不是因為我個人很容易失禁,而是因為新聞內容表面溫暖,但實際上代表的意義卻讓人十分害怕。
根據中國時報的報導:【日前澎湖馬公港旁一間飲料店,接到海軍下單88杯冬瓜檸檬,卻因共軍擾台,官兵臨時出任務無法如約領取,店家大方表示「不生氣」,力挺官兵弟兄保衛國家安全。事件傳開,該飲料店爆紅,被讚為「愛國飲料店」,總統小英今(22日)前往澎湖視察國軍部隊,也特地前往該店買下150杯飲料,慰勞官兵,飲料杯上還有小英署名,寫上「勤務辛苦了,國家感謝你們」。】
好啦我都明白,國家處境危險,需要提高國軍形象,增加三軍統帥力挺國軍的聲浪,軍愛民,民敬軍這種很久沒用的口號和氛圍必須要塑造。
這我都理解。
這篇新聞裡面大概沒人有惡意,但我看到卻是潛在的敵人用這種資訊可以創造出許多的惡意來。
一、子儀艦接到緊急任務必須立即出海,第一個通知的竟然是飲料店。平常時間大家怕得罪民眾也就算了,但是高強度戰備時期,你想也知道是因為解放軍的關係出海,光這一點,對岸就連攔截通訊也不用,看在地社團就知道子儀艦緊急出海啦~~~
二、後續店家沒有計較,事情也完美解決。但另外一家賣海鮮乾麵的退伍海軍沒把消息貼上臉書,事後也不願意透露實際狀況,這才是比較有警覺心的表現。(不過就沒人跟他買一百五十碗麵補償ㄌ)
三、到了這邊大家皆大歡喜,據說子儀艦回港之後還補訂了一百杯飲料。但問題在於有總統府幕僚看到這狀況心生一計,想要趁機大內宣一下激勵士氣。但這個時候風險就大了:首先,你必須至少提前一天跟這家茶飲店訂一百五十杯飲料,然後還告知何時要準備好飲料,還得告知對方何時取,還得預先印好上有三軍統帥蔡英文名諱的標籤來貼在杯子上。
表面上看起來這都沒有甚麼問題,但我來翻譯一下你就知道有多嚴重了,這等於是告知澎湖的一家飲料店,中華民國的最高統帥蔡英文何時會搭乘空軍一號抵達前線離島澎湖!!!! 你是解放軍聽到會有甚麼想法?
當年日本海軍大將山本五十六就是因為行程情報被攔截解密【代號「魔術」的美國海軍情報部門截獲並破譯了包含山本行程詳細資訊的電文,包括到達時間、離埠時間和相關地點】,結果被美軍18架P38圍攻,就這麼被擊落身亡。(影片裡面我講錯啦,山本五十六是反對加入軸心國,反對對美國開戰,但迫不得已規劃了偷襲珍珠港,可是因為一艘航母都沒打掉,根本沒有廢掉美國的大洋空軍作戰能力,間接導致了後來的戰略失控) 大日本帝國海軍失去了最有遠見的將領,就這麼走向敗亡的末日。
四、而且還沒完,巡視的主角是子儀號飛彈巡防艦(舷號:PFG2-1107),為中華民國海軍成功級巡防艦五號艦。很簡單可以查出來它滿編 217人(軍官18人、士官兵180人、飛行機務人員19人)。光從新聞裡面知道它一開始訂了八十八杯飲料,後來訂了一百二十碗乾麵,三軍統帥則是請了一百五十杯飲料。你推估一下就知道,看起來這艘船顯然沒有滿編,否則總統有可能跟多出來的六十七個人說不好意思零錢沒帶夠不能請你們喝飲料嗎? 也就是三軍統帥視察時,船上大概最多一百五十人值勤。透過這個數據就可以知道中華民國海軍前線上,第一線的軍艦也無法滿編,你覺得解放軍會如何運用這數據?
好啦,簡單來說,我這麼好心,就是要呼籲各級幕僚要記住【一字外洩、全軍覆沒;一語外洩、身敗名裂】,做大外宣、大內宣的時候要小心各種不慎外洩情報的可能,除非你真的很恨你老闆,否則這種錯誤還是不要再犯啦~~~~
潛在的嚴重錯誤 在 林佳龍 Youtube 的精選貼文
立法委員林佳龍今日於經濟委員會質詢時強調,台電最糟糕的還不是花錢買廣告,而是花錢買廣告來宣傳錯誤的訊息。林委員說,日前台電為了反擊陳謨星教授對於台灣核能使用方式的批評,就在報紙上買了半版的廣告,拿人民的納稅錢來進行針鋒相對式的回擊,非常不可取。此外,台電在廣告中列出台灣目前核能發電的成本,每度只有0.72,但這不僅遠低於核能科技大國美國的數字,更嚴重低估高階放射性廢棄物的最終處理成本。
林委員指出,目前全世界尚未完工任何一座高階放射性廢棄物的最終處理場,就算是正在興建中的芬蘭,預計也要2020年才能完成,而其預估成本,也高達41億美金,換算超過1200新台幣。此外,美國先前也曾經計畫在內華達州的YUCCA MOUNTAIN設立最終處理場,但最後仍因種種因素,被迫放棄。但已花費的沉沒成本,就高達120億美金。林委員說,像這些資訊,台電應該在廣告中一併提供,好讓國人能夠在資訊充分的情形下做出決策,不能總是報喜不報憂,避重就輕的來宣傳。
此外,林委員也指出,台電對於國際上曾發過的爐心熔毀事件,也極度缺乏掌握。林委員說,根據美國參議院在2011年舉辦公聽會的資料顯示,在人類使用核能發電的歷史中,截至目前為止,共有12座反應爐曾發生過爐心熔毀,範圍遍及美、英、法、德、日及烏克蘭等六國。林委員強調,台電及原能會對國外已發生過的案例不甚了解,錯失能夠降低學習成本的機會,相當可惜,亟待改進。
最後,林委員痛批台電一再引用錯誤資料來為自己辯護,甚至連在總統面前也依然故我。林委員指出,日前台電黃重球董事長在總統府與「媽媽監督核電聯盟」成員座談時,竟引用國科會的一份一般性報告,說目前核四的防海嘯設備已經足夠。但問題是,國科會的該份報告根本就不是針對核四來做的。簡而言之,台電不僅張冠李戴,更是一錯再錯。林委員於總結時表示,台電應遵循經濟委員會日前之決議,盡速就核四廠周遭環境重新進行地質調查,特別是海底火山、斷層等潛在危險。
潛在的嚴重錯誤 在 林佳龍 Youtube 的精選貼文
立法委員林佳龍今天在教育及文化委員會質詢原能會主委蔡春鴻,林佳龍說,原能會曾要求台電依據NTTF建議事項重新評估海嘯危害,但台電除了未進行「古海嘯證據」(Paleo tsunami Evidence)調查外,原能會更擅自引用國家科學委員會發表之「潛在大規模地震所引發海嘯對核電廠之影響」的「模擬研究」,替核電廠場址之防海嘯安全性背書,不願提升防護高度及強度,原能會不但未盡監督台電之責,更移花接木,試圖誤導國人,已經嚴重失職,對蔡春鴻主委予以譴責,並將把相關資料送往監察院調查。
林佳龍表示,原能會利用錯誤的資料張冠李戴,企圖瞞天過海,是為「可惡」,而蔡春鴻來自學術界,使用錯誤的資料替台電背書,是為「可恥」,國人可能會因此死無葬身之地,是為「可怕」,原能會失職,蔡春鴻主委必須下台。
林佳龍說明,依據今年8月原能會出版之「國內核能電廠現有安全防護體制全面體檢方案總檢討方案」附錄十一第94頁所載之原能會第二次審查會議結論,「原能會要求台電依據NTTF建議事項重新評估海嘯危害」,然而,台電除了未進行「古海嘯證據」(Paleo tsunami Evidence)調查,原能會更擅自改而引用國家科學委員會發表之「潛在大規模地震所引發海嘯對核電廠之影響」的「模擬研究」,替核電廠場址之防海嘯安全性背書,不願提升防護高度及強度。
林佳龍說,行文國科會確認後,國科會已於10月22日回文,文中表示,「本會海嘯侵襲評估工作未依照NURGER/CR-6966進行古海嘯證據(Paleo tsunami Evidence)調查,此乃因本會之海嘯模擬研究並非針對我國四座核電廠廠址進行評估」,證實原能會不但未盡監督台電之責,故意欺瞞國人,已經嚴重失職,原能會失職,蔡春鴻主委必須下台。
潛在的嚴重錯誤 在 員工吐槽Facebook使用嚴重錯誤的數據來吸引廣告投放| 呱呱資訊 的推薦與評價
訴訟聲稱Facebook 故意抬高瞭廣告商的“潛在覆蓋率”指標,尤其是未能修正虛假和重復的賬戶。 文件還指出,Facebook 首席運營官謝麗爾 ... ... <看更多>