遠程攻擊手法:可接管任意思科1001-X路由器
作者:星期四, 五月 16, 20190

思科1001-X路由器不是家里常見的那種,它更大更貴,負責股票交易所、企業辦公樓和大型購物中心等設施的可靠連接。換句話說,這些設備在組織機構中起著重要作用,包括那些需要處理高度敏感性信息的機構。最近,研究人員披露了一種遠程攻擊方法,可使黑客接管任意1001-X路由器,獲取其上流經的所有數據和指令。

且其影響還不止于此。

為黑掉該型路由器,安全公司 Red Balloon 的研究人員利用了兩個漏洞。第一個漏洞是思科IOS操作系統漏洞 (別跟蘋果的iOS搞混了),能使黑客遠程獲取設備的root權限。這個漏洞的危險性很高,但并不罕見,尤其是對路由器而言,而且通過軟件補丁就可以相對容易地加以修復。

但第二個漏洞就沒那么好對付了。研究人員一旦獲取到root權限,就可以繞過該型路由器最基本的安全防護措施——思科于2013年往企業設備中全面引入的 Trust Anchor。既然找到了在某型設備上繞過該安全防護措施的方法,也就說明只要針對特定設備進行微調,思科遍布全球的成千上萬臺設備都逃不脫 Trust Anchor 可能失效的命運,包括企業路由器、網絡交換機、防火墻等等各種設備。

事實上,攻擊者完全可以運用這倆技術全面入侵這些設備所在的網絡。

此前就披露過思科重大漏洞的 Red Balloon 創始人兼首席執行官 Ang Cui 就曾表示:

我們已經證明可以隱秘且持續地禁用 Trust Anchor。這意味著,我們可以對思科路由器進行任意修改,而 Trust Anchor 依然報告稱該設備可信。這種場景細思極恐,因為幾乎全部思科產品都裝有 Trust Anchor,全部!

拋錨

近些年來,稍具安全意識的公司都開始往主板上添加 “安全飛地”。不同公司的解決方案名稱不同:英特爾有SGX,Arm有TrustZone,蘋果有安全飛地,思科就是 Trust Anchor。

這些安全飛地,要么是計算機常規內存中隔離出來的一片安全區域,要么是一塊獨立芯片——與計算機主處理器分離的安全世外桃源。無論用戶和管理員的系統權限有多高,都不能修改安全飛地中的內容。由于其不可更改的特性,安全飛地可以監管并驗證其他所有東西的完整性。

安全計算工程師通常認為此類機制理論完備、部署高效。但實際上,僅僅依靠單一元素作為整個系統的檢查機制是非常危險的。只要破壞了該安全保障——已在很多公司的實現中證明了此可能性,就等于脫去了設備的關鍵防護,讓設備等于在網絡上裸奔。更糟的是,篡改飛地還可以讓它表現得一切正常,讓攻擊者的破壞活動得以隱秘而持續地進行。

思科1001-X的情形就是這樣。 Red Balloon 團隊特意演示了他們可以破壞該設備的安全啟動過程,也就是 Trust Anchor 實現的在設備啟動時檢查軟硬件協調基本代碼真實性和完整性的功能。該功能是確保攻擊者沒有獲得設備完整控制權的重要途徑。

5月13日,思科發布了針對 Red Balloon 研究人員披露的IOS遠程控制漏洞的修復補丁。該公司宣稱,將為受安全飛地攻擊影響的所有產品系列提供修復。思科拒絕在公開披露之前描述這些修復補丁的性質和推出時機。安全啟動漏洞是否直接影響 Trust Anchor 也尚無定論。思科安全公告顯示,所有補丁都尚有幾個月時間才會發布,該攻擊目前尚無解決方法。即便補丁確實可用之時,也將需要現場重編程才能應用補丁——意味著補丁無法遠程推送,因為它們太底層了。

思科發言人在書面聲明中稱:作為澄清,思科會公布幾個相關的補充性平臺安全功能。其中之一是思科 Secure Boot (安全啟動)——提供系統軟件完整性及真實性的信任根。在特定思科平臺中提供的另一個功能是 Trust Anchor 模塊——向系統提供硬件真實性、平臺身份及其他安全服務。Red Balloon 演示的攻擊中沒有直接涉及 Trust Anchor 模塊。

思科似乎想在其“Trust Anchor Technologies”、“Trustworthy Systems”和“ Trust Anchor module”之間做個區分,闡明其認為僅有安全啟動受該研究所曝漏洞影響的原因。

Red Balloon 研究人員對此表示異議,指出思科的專利及其他文檔表明安全啟動功能就是 Trust Anchor 實現的。Trust Anchor 肯定受此類攻擊影響,因為所有工具都在一個信任鏈中。下面這張思科圖表顯示得很清楚。

這就是他們為什么將之稱為 ‘錨(Anchor)’ 的原因。這東西才不僅僅是個信任浮標。

FPGA之旅

通過篡改 Trust Anchor 核心硬件組件 “現場可編程門陣列(FPGA)”,包含 Red Balloon 首席科學家 Jatin Kataria 和獨立安全研究員 Rick Housley 的研究小組成功繞過了思科的安全啟動防護。計算機工程師往往將FPGA視為神奇魔法,因為它們既有微控制器 (嵌入式設備常用的處理器) 的功用,又可被現場重編程。換句話說,與出廠后就不能被制造商物理修改的傳統處理器不同,FPGA電路是可以在部署之后再做更改的。

FPGA從名為碼流的文件中抽取程序,而碼流文件通常是由思科之類硬件制造商自定義編寫的。為防FPGA被惡意人士重編程,FPGA碼流非常難以從外部加以解釋。它們包含一系列復雜配置指令,物理規定了電路中邏輯門的開關狀態,評估FPGA的安全研究員已經發現,映射FPGA碼流邏輯所需的算力高到無法承受。

但 Red Balloon 的研究人員發現,思科 Trust Anchor 的FPGA實現方式讓他們無需映射出整個碼流。他們發現,思科安全啟動檢測到系統信任受損時會等待100秒——思科工程師設計的暫停,可能是為了獲得足夠的時間以部署故障修復更新,然后物理切斷設備電源。研究人員意識到,通過修改控制該斷電開關的部分碼流,他們可以凌駕于該機制之上。然后設備就可以正常啟動了——即便安全啟動功能確實檢測到了信任受損情況。

這可是個不得了的發現。Trust Anchor 需通過某個物理引腳告知用戶發生了一些不好的事情。所以我們就開始逆向工程每個引腳在主板物理布局上出現的位置。我們禁用某個區域里的所有引腳,再嘗試啟動該路由器,如果路由器仍能正常工作,我們就知道這些引腳都不是我們要找的那個。最終,我們找到了那根重置引腳,反向摸到了控制那根引腳的那部分碼流。

研究人員對6塊1001-X系列路由器主板進行了該試錯工作,每塊主板大約花去他們1萬美元,整個研究經費高到不是普通人能承受的。在主板上進行物理操作和焊接以找出重置引腳的過程中他們還燒掉了兩臺路由器。

攻擊者可以提前做好 Red Balloon 所做的類似工作,在測試設備上開發出遠程漏洞利用程序,然后再部署應用。為發動此類攻擊,黑客會先用遠程root權限漏洞來獲取初始立足點,然后部署第二階段攻擊以繞過安全啟動功能,甚至深入Trust Anchor。而此時,受害者尚毫無理由懷疑自己已經被黑了,因為他們的設備還能正常啟動。

該研究給包含思科在內的所有網絡和IT設備生產商都提了個醒: 這些設計原則不再安全。廠商不能僅僅依賴FPGA實現神奇功能。這些東西太過底層,非常難以檢測。當安全啟動功能被凌駕的時候,設備的所有信任都隨之而逝了。

問題嚴重

思科會發布什么樣的修復補丁尚未可知,但很有可能不對思科硬件架構做物理調整是無法完全緩解該漏洞了。或許未來的產品線中實現的FPGA需要從加密碼流提取程序了吧。這么做會抬高產品部署的金錢和算力成本,但至少能夠防住此類攻擊。

而且,該研究的影響不局限于思科一家。該研究提出的創新概念可能會激發出一系列操縱全球各型產品中FPGA碼流的新方法,包括高風險或敏感環境中的設備。

不過,目前為止還只有思科的設備需要擔心此類攻擊。思科向媒體表示:目前尚無計劃發布審計工具供客戶評估自身設備是否已經遭到攻擊,也沒有證據證明該技術已經出現野生利用案例。

我們做這項研究耗費了數萬美元和三年時間。但資金充裕、動機充分的組織可以全力投入研究,能夠更快地開發出此類攻擊方法。其投資回報可能非常非常之高。

更新:

聲明:思科始終堅持公開透明的原則。當出現安全問題時,我們會公開進行處理,并將其作為首要任務,以幫助我們的客戶第一時間了解所發生的問題及解決辦法。5月13日,思科發布了一份安全公告,指出在思科專有安全啟動功能的一個硬件組件上,存在邏輯處理訪問控制漏洞。思科產品安全突發事件響應團隊(PSIRT)尚未發現任何惡意使用這一漏洞的情況。隨后思科會發布針對此漏洞的修復程序。

相關閱讀

一個路由器竟然被曝10個零日漏洞

忽視無線路由器安全問題 華碩面臨20年審計

 


相關文章

沒有相關文章!

寫一條評論

 

 

0條評論