企業(yè)接入點(diǎn)制造商Ruckus又補(bǔ)上了一堆指令注入漏洞,這些漏洞可致ZoneDirector控制器和Unleashed AP虛擬控制器被黑客完全掌控。其中一個(gè)漏洞,與去年被披露的Ruckus Web-GUI問題極端相似。雖說任何足夠復(fù)雜的軟件都難免出現(xiàn)漏洞,但仍有幾個(gè)緩解方法可以大幅減小成功漏洞利用的影響。
2017年,沒理由讓某些設(shè)計(jì)缺陷在一個(gè)又一個(gè)產(chǎn)品中不斷復(fù)現(xiàn)。安全人員是時(shí)候開始對(duì)供應(yīng)商期待更多了。
以下幾個(gè)安全操作,我們應(yīng)納入IoT安全基線來考慮:
1. 別再什么都用root權(quán)限來運(yùn)行
或許在嵌入式Linux早期,資源限制讓開發(fā)者不得不放棄傳統(tǒng)基于用戶的安全模式,而轉(zhuǎn)向什么都用root用戶來執(zhí)行。時(shí)至今日,再?zèng)]有任何借口連Web服務(wù)器都以u(píng)id為0的最高權(quán)限來運(yùn)行了。
默認(rèn)情況下,管理界面應(yīng)以較小權(quán)限運(yùn)行,只可執(zhí)行部分特權(quán)操作。只要Ruckus采用了任何形式的權(quán)限分離,就不會(huì)發(fā)生曝出的漏洞被直接用于完全入侵的狀況。
2. 反跨站請(qǐng)求偽造令牌應(yīng)普遍應(yīng)用
跨站請(qǐng)求偽造(CSRF)是嵌入式設(shè)備中最常見的安全缺陷之一。再加上大多數(shù)IoT產(chǎn)品本就設(shè)計(jì)成盲目信任局域網(wǎng),或壓根兒不能恰當(dāng)?shù)仳?yàn)證身份令牌,情況就更嚴(yán)重了。
如果Ruckus在接到漏洞報(bào)告之后就實(shí)現(xiàn)了CSRF防護(hù),這些新漏洞最多也就能算作是內(nèi)部人威脅。然而,現(xiàn)實(shí)是,編寫JavaScript代碼在局域網(wǎng)上定位設(shè)備并中繼轉(zhuǎn)發(fā)攻擊,并不是太難的事。
3. 建立漏洞利用緩解機(jī)制
防御技術(shù)最近幾年有了長足發(fā)展,但沒看到嵌入式設(shè)備對(duì)此有何利用。很多設(shè)備都沒采用地址隨機(jī)化(ASLR)、位置無關(guān)可執(zhí)行文件(PIE),或不可執(zhí)行(NX)之類的技術(shù)。雖然這本身不是什么漏洞,這些技術(shù)也并不完美,但它們確實(shí)抬高了利用內(nèi)存崩潰漏洞的門檻。
當(dāng)然,供應(yīng)商們采用更新一點(diǎn)的技術(shù),比如控制流完整性(CFI),甚或某些運(yùn)行時(shí)殺軟,也很棒。但這不是不采用早在15年前就可供Linux使用的安全功能的理由。
4. 身份驗(yàn)證請(qǐng)求
設(shè)備默認(rèn)來自局域網(wǎng)的請(qǐng)求已通過驗(yàn)證的情況太普遍了。比如說,Belkin WeMo智能開關(guān)就允許用戶家庭網(wǎng)絡(luò)中的任何人進(jìn)行控制,并關(guān)聯(lián)上你的家庭賬戶。Mios Vera智能家居控制器想要啟用任何形式的身份驗(yàn)證,都要求用戶翻遍各設(shè)置選項(xiàng)才能找到,如果其間遇到互聯(lián)網(wǎng)服務(wù)中斷,還會(huì)讓設(shè)備無法使用。
同時(shí),Control4智能家居系統(tǒng)需要身份驗(yàn)證才能登錄App,但設(shè)備卻無需任何令牌或口令,就可以通過基于XML的協(xié)議接受指令。授權(quán)機(jī)制的缺乏或脆弱,再加上CSRF,可使惡意網(wǎng)頁在無需受害者之前已驗(yàn)證過的情況下,就直接操縱設(shè)備。
5. 別再用那么多的HTTP
即便不通過Web瀏覽器訪問設(shè)備,也很有可能有臺(tái)Web服務(wù)器正在運(yùn)行。路由器和智能家居控制器之類設(shè)備的Web管理界面,通常都是攻陷設(shè)備的最大攻擊界面。雖然路由器這種東西的管理界面極少被用到,但HTTP服務(wù)器卻是一直在運(yùn)行,隨時(shí)等待接收請(qǐng)求。
HTTP服務(wù)器的使用意味著,托管惡意Web內(nèi)容的攻擊者(可能是惡意廣告),可以直接向服務(wù)器發(fā)出請(qǐng)求。即便CSRF緩解措施就位,Web服務(wù)器實(shí)現(xiàn)中的漏洞本身,往往就是致命的。
舉個(gè)例子,多款NETGEAR路由器,為其所有管理功能使用了基于時(shí)間戳的CSRF防護(hù),但因?yàn)樵揥eb服務(wù)器中的一個(gè)低級(jí)錯(cuò)誤,這些路由器都可通過CSRF進(jìn)行利用。
理想狀態(tài)下,我們當(dāng)然更希望看到大多數(shù)設(shè)備通信,都從HTTP遷移到更專用的協(xié)議上來,比如消息隊(duì)列遙測傳輸協(xié)議(MQTT),這樣就基本上能對(duì)跨站和跨協(xié)議漏洞利用免疫了。配置頁面之類的情況,或許HTTP/HTTPS是最佳選擇,但既然用到它們的時(shí)候極少,又何必隨時(shí)開啟呢?
一個(gè)簡單的解決方案是,用個(gè)按鈕或其他某種非HTTP觸發(fā)器,來啟動(dòng)管理界面,然后在特定超時(shí)期限后自動(dòng)禁用。
總結(jié)
以上5個(gè)相對(duì)簡單的策略顯然不算完整,但實(shí)現(xiàn)它們確實(shí)可以大幅減小攻擊界面。隨著現(xiàn)實(shí)世界IoT攻擊的增多,比如曾經(jīng)的Mirai和現(xiàn)在的Reaper,限制缺乏基本安全控制的聯(lián)網(wǎng)設(shè)備的增值擴(kuò)散,就顯得越來越重要。