操作系統(tǒng)中發(fā)現(xiàn)40個(gè)0day漏洞,三星開(kāi)發(fā)人員到底在干什么?Tizen是三星自家的操作系統(tǒng),目前上百萬(wàn)的三星產(chǎn)品都安裝了這種操作系統(tǒng),但一名安全研究人員近期在Tizen系統(tǒng)中發(fā)現(xiàn)了四十個(gè)此前未被發(fā)現(xiàn)的0day漏洞。
就在上個(gè)月,維基解密泄漏的CIA內(nèi)部文檔曝光了這一間諜機(jī)構(gòu)目前正在通過(guò)三星智能電視監(jiān)控用戶的事實(shí),而Vault 7也將美國(guó)中央情報(bào)局推倒了輿論的風(fēng)口浪尖。注:中情局特工必須物理訪問(wèn)到目標(biāo)電視,并用USB存儲(chǔ)棒安裝惡意軟件之后才可以完成攻擊,而且老款三星電視同樣會(huì)受到影響。
但現(xiàn)在的情況就更加嚴(yán)重了,因?yàn)橐幻陨邪踩珜<医谠谌亲约业牟僮飨到y(tǒng)Tizen中發(fā)現(xiàn)了四十個(gè)此前未被發(fā)現(xiàn)的漏洞,即0day漏洞,而這些漏洞將允許攻擊者遠(yuǎn)程劫持目前市場(chǎng)上的數(shù)百萬(wàn)臺(tái)新款三星智能電視、智能手表以及智能手機(jī),甚至連那些即將發(fā)布的三星產(chǎn)品都會(huì)受到這些漏洞的影響。需要注意的是,這些漏洞將允許攻擊者在無(wú)需物理訪問(wèn)目標(biāo)設(shè)備的情況下完成攻擊。
實(shí)際上,對(duì)于三星Galaxy系列智能手機(jī)和三星平板等產(chǎn)品而言,三星一直都在試圖降低對(duì)Google以及Android操作系統(tǒng)的依賴。在俄羅斯、印度和孟加拉等國(guó),目前大約有三千多萬(wàn)臺(tái)三星智能電視、智能手表和智能手機(jī)安裝了Tizen操作系統(tǒng),而公司計(jì)劃今年向市場(chǎng)投放一千萬(wàn)臺(tái)Tizen手機(jī)。除此之外,三星公司在今年年初還對(duì)外宣布,三星將會(huì)在即將推出的新款智能洗衣機(jī)和智能冰箱中安裝Tizen操作系統(tǒng)。
這可能是我所見(jiàn)過(guò)的寫得最糟糕的代碼
根據(jù)這位名叫Amihai Neiderman的以色列安全專家所透露的信息,這個(gè)操作系統(tǒng)中卻存在很多嚴(yán)重的安全漏洞,而這些漏洞將允許攻擊者輕易舉地入侵安裝了Tizen操作系統(tǒng)的設(shè)備。
他在接受Motherboard的采訪時(shí)表示:“Tizen的代碼可能是我所見(jiàn)過(guò)的寫得最糟糕的代碼了,開(kāi)發(fā)人員在這里把所有能犯的錯(cuò)誤全部都犯了一遍。你可以從這些代碼中看到,寫這些代碼的人就像是剛從大學(xué)畢業(yè)一樣,在編程方面沒(méi)有任何的經(jīng)驗(yàn),而且也根本不懂安全。”
所有的這些漏洞將允許攻擊者遠(yuǎn)程入侵三星設(shè)備,并實(shí)現(xiàn)遠(yuǎn)程代碼執(zhí)行。而其中有一個(gè)漏洞最為嚴(yán)重,這個(gè)漏洞存在于三星的TizenStore應(yīng)用(三星的官方應(yīng)用商店,用于下載或更新Tizen設(shè)備中的軟件)中。Deiderman表示,在這個(gè)漏洞的幫助下,他可以劫持商城中的軟件并向三星智能電視發(fā)送惡意代碼。因?yàn)門izenStore在運(yùn)行時(shí)需要設(shè)備的最高權(quán)限,而這對(duì)于黑客來(lái)說(shuō)絕對(duì)是一個(gè)攻擊利器。這也就意味著,你可以用惡意代碼來(lái)更新目標(biāo)設(shè)備的Tizen系統(tǒng)。
雖然TizenStore也有自己的身份驗(yàn)證機(jī)制,并以此來(lái)確保只有經(jīng)過(guò)授權(quán)的三星軟件才能在設(shè)備中安裝,但Neiderman還發(fā)現(xiàn)了一個(gè)堆溢出漏洞,而這個(gè)漏洞將允許他繞過(guò)系統(tǒng)的驗(yàn)證機(jī)制。
雖然之前也有很多研究人員對(duì)三星產(chǎn)品的安全性進(jìn)行了審查,也發(fā)現(xiàn)了很多問(wèn)題,但是Tizen卻逃過(guò)了安全社區(qū)的法眼,這很可能是由于Tizen系統(tǒng)此前還沒(méi)有得到廣泛使用所導(dǎo)致的。
Neiderman是以色列Equus Software公司的首席研究專家,他的主要研究方向是Android安全。他大約在八個(gè)月之前便開(kāi)始研究Tizen代碼了,因?yàn)樗?dāng)時(shí)購(gòu)買了一臺(tái)安裝了Tizen系統(tǒng)的三星智能電視。當(dāng)時(shí),三星只會(huì)在新上市的智能電視和智能手表中安裝Tizen系統(tǒng),而且使用Tizen的智能手機(jī)也只在幾個(gè)有限的國(guó)家地區(qū)內(nèi)銷售。
你可以用惡意代碼更新Tizen系統(tǒng)
三星的第一批Tizen手機(jī)首先的印度地區(qū)進(jìn)入市場(chǎng),隨后便廣銷于南非、尼泊爾、以及亞洲和印尼的部分地區(qū)。而且有跡象表明,近期三星公司計(jì)劃在拉丁美洲、中東和歐洲部分地區(qū)投放Tizen手機(jī),最終也會(huì)在美國(guó)地區(qū)上市。除此之外,三星也在積極推動(dòng)Tizen應(yīng)用的開(kāi)發(fā)進(jìn)度,并且會(huì)對(duì)TizenStore商店中下載量排名前一百的移動(dòng)應(yīng)用開(kāi)發(fā)者提供一萬(wàn)美金的獎(jiǎng)勵(lì)。
在對(duì)智能電視的Tizen代碼進(jìn)行了短暫的分析之后,Neiderman便發(fā)現(xiàn)了很多嚴(yán)重的問(wèn)題,而好奇心也促使他購(gòu)買了幾臺(tái)Tizen手機(jī),因?yàn)樗蚕肱宄@些漏洞將允許他做哪些事情。
他表示:“Tizen系統(tǒng)中的絕大部分代碼都是從之前老版本的三星代碼項(xiàng)目中借鑒過(guò)來(lái)的,其中就包括三星已停用的Bada移動(dòng)手機(jī)操作系統(tǒng)。你可以從代碼中看到,開(kāi)發(fā)人員借鑒了大部分的Bada代碼,而且還嘗試將這些代碼直接應(yīng)用到Tizen系統(tǒng)中。”
三星的開(kāi)發(fā)人員到底在干什么?
但是,在他所發(fā)現(xiàn)的四十個(gè)安全漏洞中,最為嚴(yán)重的一個(gè)漏洞存在于Tizen中新編寫的代碼,而且這個(gè)漏洞也存在了兩年之久。除此之外,絕大多數(shù)漏洞都是由開(kāi)發(fā)人員在二十年前的編碼錯(cuò)誤所導(dǎo)致的,這也意味著三星公司缺乏最基本的代碼開(kāi)發(fā)以及安全審核規(guī)范,因?yàn)槿绻麄冇邢鄳?yīng)的規(guī)范,那又怎么會(huì)出現(xiàn)這么愚蠢的錯(cuò)誤呢?
他在此也給出了一個(gè)例子,即Tizen系統(tǒng)中對(duì)函數(shù)strcpy()的使用?!癝trcpy()”是一個(gè)用來(lái)在內(nèi)存中復(fù)制數(shù)據(jù)的函數(shù),而開(kāi)發(fā)人員在使用這個(gè)函數(shù)時(shí)并沒(méi)有檢查內(nèi)存是否有足夠的空間去寫入數(shù)據(jù),而這個(gè)問(wèn)題將導(dǎo)致出現(xiàn)緩沖區(qū)溢出漏洞。Neiderman認(rèn)為,由于這個(gè)函數(shù)中存在漏洞,所以現(xiàn)在幾乎已經(jīng)沒(méi)有人會(huì)使用它了,但是Tizen代碼中幾乎到處都有strcpy()的身影,鬼知道三星的開(kāi)發(fā)人員在干什么。
除此之外,他還發(fā)現(xiàn)開(kāi)發(fā)人員在傳輸某些特定數(shù)據(jù)時(shí)并沒(méi)有使用SSL加密來(lái)保護(hù)通信鏈接的安全性。雖然他們?cè)趥鬏斈承?shù)據(jù)時(shí)使用了SSL加密,但是他們沒(méi)有在最需要保護(hù)的數(shù)據(jù)上使用SSL加密。Neiderman認(rèn)為,他們?cè)诖_定需要加密保護(hù)的對(duì)象時(shí)犯了很多錯(cuò)誤,而這并不是編碼疏忽所造成的,而是他們有意識(shí)地在某些地方不使用SSL。
后話
Neiderman大約在一個(gè)月之前聯(lián)系了三星公司,并報(bào)告了他所發(fā)現(xiàn)的全部漏洞,但是他當(dāng)時(shí)只收到了三星公司的一封自動(dòng)回復(fù)郵件。而Motherboard在與這家韓國(guó)公司取得聯(lián)系之后,三星公司的一位發(fā)言人通過(guò)電子郵件回復(fù)到:“三星電子對(duì)產(chǎn)品的安全以及客戶的隱私是非常重視的。我們會(huì)定期檢查我們系統(tǒng)的安全問(wèn)題,如果我們發(fā)現(xiàn)了潛在的安全漏洞,我們會(huì)立刻對(duì)此進(jìn)行調(diào)查并盡快解決相關(guān)問(wèn)題?!?/span>
在這篇文章發(fā)出之后,三星公司又發(fā)表了一份聲明:“我們目前正在與Neiderman先生合作,并盡量在最短的時(shí)間內(nèi)修復(fù)這些潛在的安全漏洞。除此之外,我們也會(huì)通過(guò)智能電視漏洞獎(jiǎng)勵(lì)計(jì)劃來(lái)與全世界的安全專家一同提升三星產(chǎn)品的安全性。”
Neiderman表示,他這幾天一直都在與三星聯(lián)系,并且與公司分享了一些包含漏洞的代碼段。而且他還表示,三星公司在大規(guī)模部署Tizen系統(tǒng)之前,應(yīng)該對(duì)Tizen代碼進(jìn)行完整的安全審查。因?yàn)閷?duì)于三星來(lái)說(shuō),Tizen絕對(duì)是他們的重中之重,因?yàn)樾驴畹腉alaxy手機(jī)將默認(rèn)搭載Tizen系統(tǒng),而就目前的情況來(lái)看,Tizen似乎難以承擔(dān)這一重任。