看板 Soft_Job 關於我們 聯絡資訊
原譯文: http://blog.jobbole.com/51708/ 每一部智能手機或其它擁有3G、LTE通迅能力的設備實際上都運行著兩個操作系統, 這是個眾所周知但又很少被提起的話題。 除了那個我們能看的見的系統(Android、iOs、PalmOS),設備上還運行著一個專 門處理無線信號的系統。由於這部分任務是高度依賴時效的,必需有一個實時系統 來處理它們。 這個系統固化在固件中並運行在基頻芯片上。據我所知,此類基頻芯片上運行的系 統都完全是廠商私有的。例如,內置於高通的基頻芯片(MSM6280)中的實時操作 系統叫做AMSS,它是基於其私有的REX內核開發的,共包含69個並行的任務,用來 處理從USB到GPS的所有事務。它運行在一個ARMv5的處理器上。 現在我們的問題很清楚了:人們很難瞭解這些基頻芯片和內置的閉源軟件,也沒有 一個相應的機構來檢查它們。這個現象很奇怪,要知道這個小小的芯片上處理的任 務對於一部移動設備是多麼的重要。你也許會假設這部分實時系統是安全和受到保 護的,但實際並非如此。你的設備上可能有這個世界上最安全的主系統,但你仍有 另一個系統是你不瞭解、也沒有文檔並且是廠商私有的;你所能做的僅僅是去找那 些高通、英飛凌或其它家的支持人員。 基頻軟件的安全問題不是由於某些失誤引起的,從設計之初它就是這樣的。基頻芯片 和無線電的標準是在80年代制定的,90年代完成了根據標準開發的程序——很自然, 這些程序反映的是90年代人們對安全的認知。例如,那時很少有什麼漏洞攻擊,所以 今天人們可以針對漏洞進行肆意的攻擊。更糟糕的是基頻芯片對基站來的信號 (例如手機信號塔)是100%信任的。沒有認證,所有內容都自動是可信的。最後,基 頻芯片通常是主處理器,而運行著應用系統的處理器是從處理器。 所以,我們有一個完備的操作系統,它運行於ARM處理器上,該系統上沒有或只有很少 的漏洞,它完全相信從所連基站上傳來的每一條指令、每一段代碼和數據。這樣的情 況會導致什麼? 有了以上的認知,盧森堡大學安全領域的研究員Ralf-Philipp Weinmann對高通和 英飛凌的基頻芯片軟件進行了反向工程,他很容易的找到了一大堆的漏洞,這些漏洞 涉及各個模塊,每一個都能被加以利用——例如使系統崩潰,甚至讓攻擊者遠程執行 代碼。不要忘了這:這些都是通過無線信號過來的攻擊。其中一個漏洞僅僅只需要從 遠端發送一個73字節的消息就可以執行遠程代碼。 這意味著一些瘋狂的事情都可以基於這些漏洞實現了。例如,你可以使用Hayes指令集 打開自動應答。這是一種在1981年為調制解調器開發的命令式的語言,然而它在今天智 能手機的基頻芯片上卻還在使用!自動應答可以是靜音並且用戶不可見的。 當然,我們也許可以認為那些電信巨頭們的手機信號塔中的基站是安全的,然而事實 是基站正在變得越來越廉價,並且eBay上就能買到——現在甚至連基於開源的基站軟 件都有了。這種基站可以用來對付手機,放一個在鬧市區、金融區或其它機密的地方, 你就可以遠程打開手機、攝像頭、安裝木馬、給昂貴的國際長途號碼打電話/發短信。 相信我,死鎖住目標手機也是可以的。 這是一個非常嚴重的問題,但你卻從未聽說過。這些軟件是如此的底層和複雜,我相信 世界上沒幾個人能真正反裡面的每一處都搞懂。 複雜性導致寫一個自己的基站軟件很困難。僅僅是GSM裡面囊括的標準就夠讓人頭大的了 ,這還不包括其它的。現在你必須加上UMTS、HSDPA等等。每一個標準都涵蓋了一堆荒謬 而複雜的專利。為了確保完成所有這一切,通迅主管部門要求基頻軟件必需通過認證。 面對如此這麼多的阻力,我們不難明白為什麼手機廠商們只是優化並延用那些過時的基 頻芯片和軟件。為了確保兼容性,每一個特性手機上都有相應的處理軟件,但這些處理 軟件實際上是一個黑盒。任何時候有人真正的研究裡面的代碼,就會發現一堆的問題和 臭蟲,也就使人不得不思考這種荒唐的情況什麼時候才能好轉。 希望本文能使大家有一個清醒的認識,無論是發達國家還是發展中國家,移動通迅設備 都是現代社會的基石,可它們的樞軸軟件卻是質量可疑的、不被人瞭解的、完全私有的並 從未在設計上考慮過安全。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 42.70.111.81
realmeat:有趣的論點(笑 11/20 19:50
SlimeEditor:如果沒有對應的稽核機制 那這問題挺實際的 11/20 20:05
zanyking:這...watchdog原來可以實現啊 11/20 20:22
Lordaeron:這還有飛機的導航儀可以透過SDR 和ANDROID 進行RBO 11/20 21:50
Lordaeron: 然後再操控. 11/20 21:50
blackwindy:本來就是後門很多 只要你有心都有機會... 11/20 22:12
abcdefghi:有軟體的地方, 就有bug.... 11/20 23:02
viper9709:沒有程式是沒有bug的... 11/20 23:07
blackwindy:bug能不能拿來利用又是另外一回事吧 通常都DOS而已 11/20 23:13
realmeat:要講白一點好了, 那些driver的code一點都不神秘 11/20 23:44
realmeat:你去要他就會給你, 而且還真他媽的不長, 超短 11/20 23:44
realmeat:跑不起來沒法動還有個FAE的人會來協助你 11/20 23:45
realmeat:然後套進系統內一百個工程師會有一百種方法 11/20 23:45
realmeat:這篇到底是沒碰過底層的幻想文還是大師的論點 11/20 23:46
realmeat:其實我也是搞不太懂 11/20 23:46
Lordaeron:最好要就給. 你連原文以及它的來源都沒看,純自HIGH 11/21 00:24
Lordaeron:但既然你講要就有,哪請你拿一份AMSS 或 REX 來看看吧. 11/21 00:28
saladim:兩位說的是不同東西 通訊跟protocol軟體台灣沒幾家有用自 11/21 00:39
saladim:家的....買來的也不敢改 @_@ 11/21 00:39
minstrelsy:baseband上的rtos碰不到手機os吧? 鑽rtos後門來打電話 11/21 02:25
minstrelsy:好像還有可能, 還能搞到控制手機系統裝木馬就太能扯了. 11/21 02:25
realmeat:protocol根本沒法動架構,這東西是按表操課 11/21 07:04
realmeat:另外是只要拿到code,有些比較龜毛點的人還是會掃過程式碼 11/21 07:12
bxxl:實務上如果漏洞很大,自然就會去處理,到現在應該還好? 11/21 08:45
realmeat:原po的文我只認為有一部分的事實, 其他都是幻想的 11/21 08:55
realmeat:這種真真假假的內容到底是想騙誰? 11/21 08:56
bxxl:而且又不是智慧型手機上的手機模組才有RTOS, wifi, bluetooth 11/21 08:58
realmeat:我只想問的是 原po你曾經用過示波器來debug過嗎? 11/21 08:58
bxxl:wifi/bluetooth等模組也都各有各的,要被走後門也是一樣 11/21 08:59
Lordaeron:我只想問,你有看過原文的LINK 嗎? 11/21 09:53
alan3100:...這文章誰寫的呀 別浪費時間唬爛了 去寫小說吧 11/21 09:56
台灣人是自大還是自? LINK 都附上了, 不會去看, 還可以來嗆, 真的是無言. http://blog.jobbole.com/51708/ 譯文LINK 下方有原文LINK **兩行接在一起** http://www.osnews.com/story/27416/The_second_ operating_system_hiding_in_every_mobile_phone 文章引用的盧森堡大學的研究員發表的影片 http://www.youtube.com/watch?v=fQqv0v14KKY
哪幾位大聲說唬爛的人, 別遇到老外就變孫子哦. 期待你們的大作. ※ 編輯: Lordaeron 來自: 42.70.111.81 (11/21 12:20)
blackwindy:其實就連sim卡都可以hack了 這不太意外 11/21 13:51
alan3100:是是是 國外的月亮又大又圓 孫子甘拜下風 11/21 14:46
cookiesgreat:看看之前的文章就知道了,笑笑就好~ 11/21 14:59
Lordaeron:人有本事之人就拿出證據來反駁,沒本事的人在唬爛. 11/21 15:28
CelestialRel:阿不是有人問你有沒有用過示波器來debug過? 11/21 21:09
Lordaeron:這兩件事的關連是? 我可以反過, 你有沒有用過DEBUG 來 11/21 23:02
Lordaeron:來DEBUG呢? 11/21 23:03
Lordaeron:還有必需明白, 我是[轉] 不是原作, 但我看過所有的 11/21 23:13
Lordaeron:link 認為沒問題才轉文的, 有些人, 想扯開話題. 11/21 23:13
Lordaeron:人家講東, 他扯西. 11/21 23:14
Lordaeron:要judge請發一篇出來反駁,再寄給影片中的作者。 11/21 23:15
realmeat:我是覺得你沒有看出問題點的background 11/22 07:01
realmeat:原文的人發這篇也沒太多實務經驗,看過笑笑就夠了 11/22 07:09
TonyQ:如果有細節的話拿出來討論也不錯~ :Q 11/22 09:41
TonyQ:目前看起來的確是還沒有看到夠明確的駁論 11/22 09:41
Lordaeron:回這種background的就不必了, 你的background又多強呢? 11/22 09:46
Lordaeron:有問題, 拿出來, 回給該研究員, 我等著看好戲. 11/22 09:47
Lordaeron:最少,我沒background 胡亂看成是driver的source. 11/22 09:48
KanoLoa:我也覺得竟然有完全相反的論點,至少提一些東西出來? 11/22 11:42
realmeat:就兩個系統溝通有"真的完全相信"對方這件事就不成立 11/22 12:17
realmeat:至於後面講的一堆根本就是模擬情境 11/22 12:24
realmeat:任何人研究那些代碼都知道那些代碼漏洞一堆, 但解決的人 11/22 12:28
realmeat:是後面把資料接起來使用的工程師 11/22 12:29
realmeat:ic spec開不對, 某些狀況送出垃圾讓系統崩潰請問怎解? 11/22 12:30
realmeat:光這常發生的事, 有沒有覺得很像是你說的狀況 11/22 12:31
Lordaeron:證明你不懂remote buffer overflow. background!! 11/22 12:50
realmeat:還有ARM5這東西...有點古董 11/22 12:52
Lordaeron:有RBO問題的系統,跟你跑什麼CPU 無關. 頂多是你想RUN 的 11/22 13:39
Lordaeron:code的排列不同, 何況是同型的CPU. 11/22 13:40
realmeat:RBO這種需要驗證, 你說的要試看看, 沒那麼理想 11/22 14:12
realmeat:arm的arch要反客為主, 有一堆的黑盒子要解 11/22 14:15
Lordaeron:RBO是很常見的東西, 你要JUDGE人家, 請寫一篇出來 11/22 15:23
Lordaeron:記得先看完人家的VIDEO, 你不會寫成英文, 我幫你譯. 11/22 15:23
Lordaeron:不要在這繞著哪些你不懂的RBO. 11/22 15:24
Lordaeron:RBO 是有internet 就有的萬年問題了. 11/22 15:24
blackwindy:有心都可以做...黑盒子算甚麼 都有人埋程式碼進硬碟了 11/22 16:49
blackwindy:只是值不值得做的問題 CP值太低沒人想弄 除非吃飽太閒 11/22 16:50
chris234:6280...快十年前的chip... 11/23 13:11
Lordaeron:z80 還滿街跑呢, 有問題? 11/23 23:41
Obb: PTT文化充滿肅殺.. FB文化充滿愛與讚 11/24 01:17
Lordaeron:台灣人習慣性嗆, 不管有沒有懂, 先嗆先贏. 11/24 10:45
alan3100:#1IFV0Jiv 11/24 17:13
Lordaeron:我跟版主有梁子的, 你要表達什麼? 表示你的無知? 11/24 19:52
Lordaeron:差點忘了你是哪位無矢放的的人呢 11/24 22:47
TonyQ:請大家還是就事論事~回歸原題吧。 11/27 14:47