8月12日,隨著DEFCON的正式結束,今年全球兩大最頂尖的安全技術愛好者盛宴——Black Hat和DEFCON也相繼落下帷幕。最頂尖的技術交流盛會,自然少不了眾多安全大廠的參與。今年,360依然入選了多個優質議題,主題涵蓋模糊測試、漏洞利用鏈、智能合約、WiFi安全、芯片漏洞、協議安全等內容。
安全牛從中精選出三個有趣的攻防議題,將其核心內容分享給大家。
議題1. 適用于隔離環境下的隱蔽通信方式(Ghost Tunnel)
議題來源:360無線電安全研究院天馬安全團隊研究員 曹鴻健 & 秦明闖
針對隔離網攻擊的議題,總是能吸引安全愛好者的興趣,即使Black Hat并不是該議題——Ghost Tunnel(幽靈隧道)在安全會議上的首次“亮相”。
在今年4月的HITB,360天馬安全團隊就分享了這個適用于隔離網環境下的隱蔽通信議題。利用PC終端的無線模塊,攻擊者可以通過已植入的惡意程序(USB-HID攻擊、釣魚郵件等),調用OS層控制無線模塊的API,通過在管理幀的相應字段替換數據,實現最多每秒255字節的隱蔽數據傳輸。
255字節負載
該攻擊有兩個重要的特點:
一是幾乎不受操作系統(適用win、macOS、Linux)和WiFi模塊廠商的限制,只要設備包含無線模塊,可以說是“通殺”;
二是攻擊是在PC掃描WiFi列表階段實現數據傳輸,不會建立WiFi連接,不會影響現有網絡,且不會更改數據幀內容,所以用戶完全無感知,隱蔽性極強。
不建立WiFi連接
據了解,如果要想發現類似的行為,安全人員需對802.11協議數據包進行分析審計,因為大量安全設備都工作在網絡層,所以主機一旦被植入惡意程序,隱蔽傳輸行為就很難被發現。
相關鏈接:
https://github.com/360PegasusTeam/ghosttunnel
議題2. 以LoRa智能水表為例的安全性分析
議題來源:360無線電安全研究院獨角獸安全團隊研究員 曾穎濤
LoRaWan是一種低功耗、廣域的網絡通信協議,可以滿足物聯網設備在無線通信時,對雙向通信、端到端安全、移動和定位等需求。安全性是IoT設備在通信時的重要需求,所以LoRAWan協議在設計時就重點考慮了這個點,主要包括使用AES算法來確保應用通信和認證過程安全性,以及兩層加密機制:端點設備和網絡服務器共享的一個128位網絡Session密鑰;終端設備間在應用層共享的一個128位應用Session密鑰。
LoRa網絡架構
但是,360獨角獸安全團隊的研究員發現,常見使用LoRa的IoT設備并沒有采用LoraWan這套標準協議,而是廠商自擬的私有協議。
以智能水表為例。LoRa水表的完整架構包括終端、網關、服務器和計費系統四部分。終端通過磁性傳感器進行用水量的計數,網關采集終端的用戶使用數據后,回傳給服務器進行計費。
通過對水表終端和網關設備的硬件拆解,安全研究員找到了用于傳輸LoRa信號的SX1278芯片,并基于對LoRa射頻信號的嗅探,逆向出了水表終端、網關和服務器間的通信協議。
逆向后的協議,暴露出了4個重大安全脆弱點:
LoRa智能水表風險分析
據介紹,該攻擊的實現,有效范圍在3-4公里,所以可以如果有足夠多的嗅探節點,可以相對完整的覆蓋整個小區。目前,廠商除了使用LoRaWan標準協議之外,還可以對所有傳輸的數據內容進行加密處理,并在傳輸的數據中加入計數值和簽名,以最大程度保障設備間通信的安全性。
議題3. 以太坊智能合約重放攻擊
議題來源:360無線電安全研究院獨角獸安全團隊資深安全專家 鄭玉偉
今年6月,360公開了其發現的一系列區塊鏈平臺EOS的高危漏洞,引起了社會各界對智能合約安全性的廣泛關注。但其實,更多的安全工作者早已經走在了這前面。
區塊鏈的安全性這里就不再多做介紹。作為區塊鏈重要的實現基礎,“智能合約”本質上仍是軟件,所以盡早發現安全漏洞及其可能的利用方式,并協助運營者在造成惡劣影響前完成修補,仍是安全工作者目前主要的關注重點。
此次360分享了一種針對以太坊智能合約的“重放攻擊”漏洞,即發生在一個合約上的交易,在另外一個合約上也可以被確認為有效。一些智能合約在生成支付token的過程中,對簽名的適用范圍存在不當設計,導致用戶的簽名濫用,存在交易在合約上被重放的風險,從而給用戶造成經濟損失。
智能合約重放攻擊示意
如上圖所示,用戶A在合約RAContract1上給用戶B轉100個token,由于A沒有以太坊,于是他通過代理C完成這筆交易,并支付C代理3個token作為費用,這會調用transferProxy 這個接口。但是在transferproxy的參數中,簽名值sig僅與發起方A、接收方B、交易金額100、代理費用3、以及nonce(注:一個隨機數)有關,簽名密鑰也只涉及到發起方A的私鑰,與合約本身及代理C沒有任何關系。而合約RAContract2的簽名設計與合約RAContract1相同,所以在合約RAContract1上發生的交易時的簽名,在RAContract2上依然有效。 那么B就可以利用該簽名在RAContract2上發起一筆同樣金額的交易,從而獲得A在RAContract2上的額外100個token。
據360獨角獸安全團隊統計,截止到2018年4月27日,在遍歷以太坊ERC20合約的基礎上,共發現了52個合約存在此重放攻擊風險。這其中,簽名中不包含任何特定信息,即可直接重用的合約共10份,只做了簡單限制(包含固定字符串)的合約共37份。這部分問題合約中,有近一半(24份)在一周內有交易記錄。
據了解,此次發現的智能合約漏洞雖然沒有之前的EOS漏洞影響面大,但在修補難度上,卻遠高于后者。EOS漏洞可以通過系統升級來解決,但智能合約一旦完成部署,根據代碼及法律的邏輯,二進制代碼不能做出任何修改,一旦出現安全問題,只能通過創建新合約(并將原有用戶及資產進行遷移)來解決。這不僅會給發行方增加新合約創建及遷移用戶的成本,還會帶來各交易所在協議和資產方面的同步問題。