大家早上好,我是軒轅。
這兩天,安全圈又曝重大漏洞了?。?!你可能中招了都還不知道。
說這個(gè)漏洞前,請(qǐng)大家思考一個(gè)問題:
【資料圖】
產(chǎn)品經(jīng)理告訴你,需要一個(gè)自動(dòng)檢測(cè)更新的功能,你打算怎么實(shí)現(xiàn)?
這是一個(gè)很常見的功能,包括像微信、瀏覽器等在內(nèi)的常用軟件基本都有這個(gè)功能,經(jīng)常點(diǎn)進(jìn)去就提示你要更新。然后點(diǎn)擊更新按鈕,進(jìn)行升級(jí)。
要實(shí)現(xiàn)這個(gè)功能,最簡(jiǎn)單的邏輯就是,軟件啟動(dòng)的時(shí)候跟后臺(tái)通信,如果發(fā)現(xiàn)更新,就從我們的指定的地址拉取最新的軟件安裝包進(jìn)行安裝,看,簡(jiǎn)單吧。
現(xiàn)在以安全的角度來審視這個(gè)過程,這里面存在什么安全風(fēng)險(xiǎn)嗎?
···
思考五秒鐘
···
首先,如何確保我們是在跟我們真正的后臺(tái)在通信?而不是某個(gè)攻擊者弄的假地址?
其次,如何確保下載的安裝包是正確的,沒有被篡改?
要完成一個(gè)安全的升級(jí)程序,需要確保與我們真實(shí)的后臺(tái)建立通信,并確保下載到的程序確實(shí)是我們的程序,未經(jīng)篡改。
一般來說,我們都會(huì)通過HTTPS通信,并加上數(shù)字簽名校驗(yàn)等手段來確保上面的安全性。
而這兩天曝出漏洞的就是大名鼎鼎的技嘉-GIGABYTE,在檢測(cè)更新這里翻了車。
據(jù)國(guó)外專注固件的網(wǎng)絡(luò)安全廠商Eclypsium披露,他們?cè)谂_(tái)灣制造商技嘉出售的主板固件中發(fā)現(xiàn)了漏洞。
技嘉主板的計(jì)算機(jī)重新啟動(dòng)時(shí),主板固件中的代碼就會(huì)悄悄地啟動(dòng)一個(gè)更新程序,然后這個(gè)更新程序會(huì)下載并執(zhí)行另一個(gè)軟件。
問題就出在這個(gè)更新的機(jī)制上,經(jīng)過逆向分析發(fā)現(xiàn),這個(gè)更新程序?qū)ο螺d的內(nèi)容完全沒有任何校驗(yàn)就直接來運(yùn)行了!
更可笑的是,這個(gè)更新程序允許在一些情況下,不經(jīng)HTTPS,而是直接使用HTTP來下載文件。
假如,黑客通過一些手段,將HTTP中訪問的域名劫持到自己的服務(wù)器上,那技嘉更新程序?qū)?huì)下載到自己提前準(zhǔn)備的惡意程序,可以是一個(gè)勒索病毒,一個(gè)挖礦程序,一個(gè)木馬,一個(gè)任意的程序。因?yàn)榧技胃緵]做校驗(yàn)!
那么使用HTTPS就一定安全了嗎?
不一定。通過逆向分析發(fā)現(xiàn),技嘉并未對(duì)HTTPS建立連接過程中的服務(wù)器證書進(jìn)行校驗(yàn),導(dǎo)致黑客同樣可以構(gòu)建一個(gè)假的HTTPS服務(wù),完成攻擊。
我們平時(shí)使用瀏覽器訪問HTTPS之所以相對(duì)安全,是因?yàn)闉g覽器有幫我們檢查服務(wù)器的證書是否可信,一旦發(fā)現(xiàn)不可信,就會(huì)發(fā)出如下的提醒:
至于瀏覽器是如何驗(yàn)證證書是否可信,大家可以參考我之前寫過的一篇文章:
為了一個(gè)HTTPS,瀏覽器操碎了心!
一個(gè)檢測(cè)更新的功能,想必我們經(jīng)常遇到,很多時(shí)候,程序員為了簡(jiǎn)單省事,都是把功能實(shí)現(xiàn)就不管了。至于安不安全,很少考慮。
這對(duì)于一些小公司,開發(fā)一些簡(jiǎn)單的軟件,用的人也不多,黑客也不會(huì)盯上你。而一旦你的產(chǎn)品用的人多了,那可就要重視起安全問題了。尤其是像微信、抖音這類國(guó)民應(yīng)用,如果發(fā)現(xiàn)這類安全問題,那簡(jiǎn)直是一場(chǎng)災(zāi)難。
所以,程序員們,多了解一些安全知識(shí),沒有壞處。
據(jù)悉,受這一漏洞影響的PC計(jì)算機(jī)將有幾百萬的規(guī)模。如果你的電腦是技嘉主板,趕快去檢查一下吧!
標(biāo)簽: