楊雨橋,趙博,王宇洋,王進杰,向云帆
(1.成都信息工程大學電子工程學院;2.成都信息工程網絡空間安全學院;3.成都信息工程大學控制工程學院,四川 成都 610000)
在2020年的世界信息安全大會上提出“新基建以安全為本”的主題,近年來,利用網絡安全技術對網絡能夠到達的領域的保護已有成效,但在網絡不易到達的硬件安全領域,存在著很多易被發現、易被利用的漏洞,這些安全漏洞會造成巨大的信息泄露以及財產損失,因此本文對電子信息工程在硬件安全中的應用進行探討,具有現實性研究意義。
電子信息工程是利用軟硬件進行信息處理和控制的技術,它往往與計算機技術,物聯網技術,通信技術相結合,不僅出現在人們的日常生活如:智能手機、平板電腦等,還應用于工業控制領域。隨著社會的發展,芯片的能力越來越強,電子信息工程還有很大的發展空間。
硬件安全主要包括硬件設計的安全、固件安全、APP安全、物聯網安全、通信協議安全。硬件設計安全涉及到芯片安全、PCB板的安全、硬中斷安全;固件安全分為OS和非OS,往往通過逆向工程對其分析;APP應用的平臺通常是IOS和安卓,物聯網設備常會用APP進行人機交互,所以APP里可能出現安全隱患;通信安全包括設備各模塊之間的通信、與外部設備的通信、網絡通信和無線電通信的安全。
電子信息工程主要是通過硬件與系統命令相結合的方式處理信息,可以實現信息的批量,快速處理,所以其有便捷性。隨著現代科學技術的不斷發展,硬件設備也隨之進步,處理信息的速度得到更大程度提高的同時,其體積也可以制作的小巧,易攜帶,更加突出了電子信息工程的便捷性。
電子信息工程,可以根據需求對現有行業內的架構進行裁剪拼接,體現其專用性,也可集成多種功能于一體,來適應現實生活中的各種問題,體現出可集成性,總體突出其靈活性。
電子信息工程因為可以處理和應用信息,這一功能決定了電子信息工程覆蓋面廣,對信息進行處理和應用在各個行業中都是需要的。而且,隨著集成電路的發展,電子信息工程可以處理的信息種類和信息量也在迅速增加,覆蓋面會更加的廣闊。
安全問題主要出現在嵌入式的產品中和嵌入式的開發過程中,本節對各個層面面臨的安全問題進行一個簡單的分析總結,如圖1所示。

圖1
(1)硬件層面。在一個嵌入式設備的體系中,硬件層的安全問題,往往是最致命的,如果攻擊者發現硬件底層的漏洞,并加以利用,就可以控制整個設備。
通過調試接口攻擊。調試接口往往是第一項被攻擊的地方,通過不安全的調試接口可以獲得最高權限的shell,進而攻擊者可以進行嚴重的破壞。flash芯片。設備的固件通常儲存在flash芯片上,如果在沒有設置讀-寫保護權限的情況下,攻擊者可以通過技術手段簡單的讀取flash芯片上的固件,進行固件逆向分析,以繞過接口訪問的認證。側信道分析攻擊。硬件進行加密時,會附帶產生一些物理狀態信息,如運行時間、功耗等,攻擊者可以利用上述信息通過其他算法,得到加密硬件所使用的的秘鑰進行破解。節點復制攻擊。Zhou等人指出攻擊者可以使用一個受其控制的虛擬設備替換掉受害者的真實設備,所有來自受害者用戶的控制命令都會暴露給這個虛擬設備,進而暴露給攻擊者.攻擊者還可以遠程接管設備,獲取傳感器讀取到的內容來監控受害者的家,甚至操控智能家居設備,造成數據泄漏。這種新的攻擊方式極大地擴展了嵌入式設備的攻擊層面。
(2)系統層面。固件修改。Basnight等人描述了攻擊者怎樣惡意修改固件,并將其上傳到可編程控制邏輯器上的過程,攻擊者可以通過逆向工程,得到固件更新的規律,由此修改配置文件,進而在固件更新中注入惡意代碼。操作系統。通常嵌入式設備移植的操作系統版本較低,不會及時更新,從而存在版本的漏洞,例如CVE-2017-1000405,攻擊者可以利用此漏洞輕易地繞過常用的漏洞防御方法,并且此漏洞的影響范圍廣,linux2.6.38以上的內核都有可能有此隱患。此外因為硬件空間的限制與符合特定的功能要求,嵌入式設備的操作系統通常經過裁剪與拼接,這符合電子信息工程的靈活性,但也因此可能會留下安全隱患。最后操作系統中存在很多公司自身編寫的驅動程序,拒絕服務攻擊或執行惡意代碼都可能憑借此中漏洞完成。
(3)應用軟件層面。后門。利用設備中存在的用戶名和密碼進行攻擊,例如CVE-2020-29583,Zyxel產品中的后門漏洞,Niels Teusink等人描述了如何利用此漏洞,獲取用戶設備密碼,從而控制設備,這對中小企業無疑是毀滅性的打擊。第三方代碼復用。為了減少嵌入式設備的開發周期和降低開發難度,企業通常會采用第三方組件,但往往安全人員缺少安全意識,忽略組件的安全代碼審計,導致在產品中引入安全問題。例如CVE-2017-5638 第三方組件Apache Struts2曝出的高危漏洞。
(4)網絡服務層面。嵌入式網絡包括像HTTP,MQTT等這樣的上層協議,也含有像Bluetooth,WiFi等下層協議。遠程管理接口不安全。隨著物聯網技術的發展,嵌入式設備常常會提供遠程接口,但大部分是采用弱口令,甚至明文的通信協議。攻擊者可以通過此漏洞,獲取用戶信息,與構建僵尸網絡。暴力搜索。攻擊者通過相關工具,掃描設備開放的端口,對端口的弱密碼進行腳本爆破,達到暴力破解的目的。
根據吳文慶闡述的工程化嵌入式系統開發方法,本節以此探討開發流程中可能存在的安全問題立項與調研。一方面在了解用戶需求的時候,未考慮到用戶的一些誤操作可能會導致設備安全出現問題被攻擊者利用。另一方面,在歸總開發成本時,縮減,甚至抹除硬件安全防護的預算。系統需求分析。在歸納需求時,忽略用于安全防護的功能或措施,系統分析員安全意識薄弱,在編寫《系統需求說明書》時,未編寫合理的安全防護措施。
系統設計與實現。在軟件設計方面和硬件設計方面都有可能因為社會的因素或個人的因素存在安全設計的漏洞,例如在軟件設計方面的Phantom設備攻擊
在硬件設計方面,可能因為設計缺陷存在著無關項硬件木馬。更多請參考3.2節調試、運行與維護。根據聶剛等人的闡述在此階段對設備進行的安全測試多為風險評估服務、安全加固服務、滲透測試服務。根據付明明的闡述,風險評估服務需要大量的安全行業經驗,先進的安全技術以及足夠的時間和資金,對預算不足,工期緊張的項目,會留下部分安全隱患;根據馮溫迪對邊緣設備的安全加固的研究,和周俊禮電力信息網絡安全的加固方案,可以看出很多低級漏洞是在開發初期造成的,設備成型時,再發現進行安全加固,甚至返工,浪費多余的人力物力;很多嵌入式產品是ARM,MIPS,PowerPC結構,對應的滲透工具也運行在相應架構上,且大多運行著如Linux操作系統,RT—Thread,FreeRTOS,uC/OS等 實時操作系統,而在電腦的X86架構上模擬合適的環境對滲透人員也是一個不小的挑戰。不僅如此,對于滲透團隊而言,把太多精力浪費在低級的漏洞上,而對于一些困難并且危害巨大的漏洞往往因為時間的不充足等原因,而無法發現,從而損害被滲透方的利益,與滲透方的名譽。目前,硬件安全從業人員供不應求,滲透測試成本較高,一些初創公司或個人難以承擔。
本節主要討論利用電子信息工程的便捷,靈活,和覆蓋范圍廣的特點,來解決硬件安全領域出現的問題,和彌補傳統信息安全技術對于硬件安全的不足。通過其對設備進行保護,和對設備進行滲透的兩個角度進行討論,如圖2所示

圖2
對于開發者,電子信息技術不止是開發的工具,還可以是保護設備的手段。
(1)硬件層面。“解鈴還須系鈴人”,傳統的安全技術難以對硬件層面進行保護,但我們可以用電子信息工程本身的技術來進行防御。OTP技術。采用OTP(One Time Programmable)儲存單元,利用其只可編程一次的特點對重要的固件等二進制文件進行存儲,防止攻擊者的篡改。
FPGA抗側信道攻擊。FPGA抗側信道攻擊的方法有時鐘擾亂法、高頻電路法、寬總線設計法,隨著社會的進步,時鐘擾亂,高頻電路法已不能滿足當代的安全需求,但寬總線設計法仍可以進行保護,李新超等人描述了一種使用寬總線法FPGA抗側信道攻擊的策略。抵抗硬件木馬。硬件木馬的攻擊,想通過軟件層防御幾乎不可能實現,例如無關項木馬,只能利用電子信息工程本身的技術進行解決,例如屬性驅動的硬件安全驗證方法。偽裝IC。主要通過偽裝IC電路,來對抗IC逆向工程。楊然等人闡述了一種局部偽裝的IC保護方法LPerturb,簡單來說是硬件實現的,對于硬件的混淆。檢測惡意干擾波。在雷達遙感,自動駕駛,車聯網的發展下,毫米波雷達得到了廣泛應用,所以無線電安全變得尤為重要。李方偉等人闡述了干擾態勢感知方案,檢測惡意干擾波,可以利用電子信息工程的便捷性,將此方案用嵌入式方法實現,安裝到實際設備上,使之廣泛使用。
(2)系統層面。關閉串口交互.可以用在啟動配置文件中加入關閉uboot,內核,根文件系統的串口交互腳本,防止通過串口的信息泄露。外部檢測與保護。對于一些空間不足的嵌入式設備,可以利用電子信息工程的便捷性,制作外部嵌入式設備,運行保護程序。定制不同系統漏洞掃描工具。為了適應硬件設備多種多樣的操作系統,可以利用電子信息工程的專用靈活性,制作不同操作系統的便捷式外部嵌入式設備,運行檢測不同系統的掃描工具,通過接口與被檢測設備連接進行檢測。固件反逆向。為了應對固件攻擊,對抗固件逆向需要加強固件反逆向技術,例如崔晨[25]等人闡述的固件中斷向量表重構技術。減少多余驅動程序。為了減少被攻擊者利用的風險,應在保證設備正常穩定運行的基礎上,較少多余的驅動程序。
(3)網絡層面。由3.2.4節介紹,硬件設備的網絡通信多種多樣,并存在安全隱患,為了避免遠程管理接口,暴力搜索等安全隱患,我們就需要雙向的簽名驗證,以檢測設備身份。為了簽名驗證的安全性,可以結合電子信息工程采用硬件級加密算法。例如使用FPGA,將驗證從軟件層移挪到FPGA中,再結合不斷發展的密碼學增加驗證的安全性。這種驗證方法不僅可以體現FPGA并行計算的優勢,提高驗證速度,還因為此方法采用黑盒攻擊破解幾乎不可能,利用逆向工程來獲取設計需要攻擊者較高的技巧和大量的時間。孔特[26]等人闡述了一種Zigbee通信協議中利用FPGA進行硬件認證和加密的算法。
電子信息工程在硬件安全的應用不止對開發者有益處,還對安全滲透者有一定的幫助。
(1)硬件層面。接口集成。為了方便調試被滲透設備,利用電子信息工程的可集成靈活性制做集成UART,JTAG,I2C,SPI等接口的工具,用以滲透調試。發出惡意干擾。根據武玲娟等人對硬件木馬的研究提供的基于頻率掃描的木馬檢測方法,采集設備在不同時鐘頻率下的電路時延,在特定的時鐘頻率下可能會激發硬件木馬,以用來檢測。
(2)系統層面。檢測內核版本,獲取CVE報告。根據3.2.2節描述的問題,可以編寫一個滲透工具,其通過檢測設備內核版本,利用CVE技術尋找版本漏洞,供滲透人員參考。檢測后門。根據3.2.3節描述的問題,可以編寫一個滲透工具,其通過掃描固件二進制文件,尋找用戶名和密碼,以檢查后門。檢測弱密碼,弱口令。根據3.2.4節描述的問題,可以編寫一個掃描設備開放端口的滲透工具,進行暴力搜索,以檢測弱密碼,與弱口令。
結合實際的生產情況與工作環境,本節充分利用電子信息工程的特點對上節提到的部分解決方法進行歸類優化,已得到更切實際的解決措施。
首先制作一個嵌入式設備,為了體現電子信息工程的便捷性,此設備需制作得相對小巧,便于攜帶運送。為了體現電子信息工程的專用靈活性,此設備專用于硬件安全,其功能一方面是設備的防護,另一方面是設備的滲透。同時,移植制作適配此載體的不同操作系統固件,以應對被滲透,和被保護設備操作系統的多樣性。
為了充分體現電子信息工程的可集成靈活性,我們對4節所提及的部分功能分防護和滲透兩方面在5.1節描述的載體上進行集成。
(1)防護功能集成化。其一將4.1.1提到的干擾態勢感知方案用硬件方法實現;其二將4.1.2的關閉串口交互腳本,外部防護程序,漏洞掃描程序,集成到載體上;其三可以內置適當資源的FPGA,用于進行設備硬件的加密與驗證功能。
(2)滲透功能集成化。其一集成4.2.1提及的眾多硬件接口,發射惡意干擾的硬件電路;其二集成4.2.2描述的檢測后門,弱口令,弱密碼,和搜索CVE的程序腳本。
集成到一個嵌入式載體上解決了3.3節描述的安全問題,原因為其便捷性,可以進行快遞運送,在開發過程中隨時隨地進行安全監測,而且對于在內網中運行的設備,也可以進行檢測;此裝置利用電子信息工程的特點降低了滲透測試的成本與技術門檻,提高了安全測試的廣泛性,甚至讓個人開發者也可以享受到安全測試,與滲透人員一起工作提高效率。
綜上所述,加大電子信息工程在硬件安全的應用,不僅對于人們生活,更是對社會發展具有重要影響,利用電子信息工程的特點解決硬件安全中的問題,對當今社會的快速發展具有非常重要意義。