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