999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向嵌入式CGI的命令注入漏洞挖掘研究

2023-04-13 01:59:02常天佑朱濤宋健谷廣宇
計算機時代 2023年4期
關鍵詞:嵌入式

常天佑 朱濤 宋健 谷廣宇

摘? 要: 嵌入式IoT設備系統種類多差別大,系統存在危險數據過濾不嚴格的風險大,攻擊者可通過精心構造的惡意數據包獲取系統的控制權。嵌入式系統的安全性已逐漸成為設備被廣泛采納的最大障礙。針對命令注入型漏洞與程序接收數據密切相關這一特征,本文通過對嵌入式通用網關接口(Common Gateway Interface,CGI)程序接收的數據進行數據流分析,使用污點分析技術研判程序接收的數據是否能夠不經無害處理而到達系統敏感函數,達到檢測CGI程序是否存在命令注入漏洞的目的。

關鍵詞: CGI; 嵌入式; 污點分析; 漏洞挖掘

中圖分類號:TP313.3? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2023)04-01-04

Abstract: Embedded IoT devices have many different kinds of systems, and there is a high risk that the system is not strictly filtered with dangerous data. Attackers can gain control of the system through carefully constructed malicious data packets. Security of embedded systems is emerging as the biggest barrier to widespread adoption. In view of the feature that the command injection vulnerability is closely related to the data received by the program, the data flow received by the embedded common gateway interface (CGI) program is analyzed, and the taint analysis technique is used to determine whether the data received by the program can reach the system sensitive function without harmless processing. The purpose of detecting whether the CGI program has command injection vulnerability is achieved.

Key words: CGI; embedded; taint analysis; vulnerability mining

0 引言

近年來,智能制造,智能家居,智慧醫療等智能化應用推動了越來越多的智能化設備接入互聯網,在IoT Analytics研究報告中預計,到2025年,將有大約270億臺物聯網設備通過網絡互聯,這些網絡互聯的物聯網設備大部分都采用嵌入式系統。未來物聯網嵌入式設備的應用范圍將不斷被拓寬,隨之而來的是大規模安全漏洞[1-4]的出現,這一趨勢給物聯網的發展帶來極大的挑戰。

據360公開安全研究報告顯示,與IoT設備相關的漏洞增長率比漏洞整體增長率高出14.7%[5]。相關研究發現,小而精、低功耗是IoT嵌入式設備追求的目標,因而導致缺少完善的安全機制和防護手段,IoT嵌入式設備的安全隱患逐漸成為其被廣泛采納的最大障礙。在物聯網設備入網前和入網后,發現漏洞并及時修復漏洞,可以保障物聯網設備的安全性。因此,研究IoT嵌入式系統的漏洞挖掘具有極為重要的學術意義和實際應用價值。

針對嵌入式設備的漏洞挖掘是當前網絡安全的研究熱點之一。已有的研究如基于源代碼相似性檢測,是根據已知漏洞代碼特征匹配進行大規模漏洞挖掘[6-8],但這種漏洞挖掘需要提供程序源代碼。COSTIN等在文獻[9]中提出使用靜態分析方法,根據已知漏洞特征對大規模固件進行漏洞挖掘,該方法對已知漏洞的檢測有一定的效果,但是無法檢測到未知的漏洞。學術界比較推崇的是符號執行[10],符號執行分為動態符號執行和靜態符號執行,它能夠以盡可能少的測試用例達到一定的代碼覆蓋率,但符號執行面臨路徑空間爆炸和狀態空間爆炸問題[11],它的開銷非常大。工程界比較推崇基于fuzzing的模糊測試技術,由于嵌入式系統無論在帶寬處理還是計算資源上都遠低于傳統PC系統,Fuzzing這種在傳統PC領域非常成熟的技術對帶寬資源和計算資源要求都非常高,而仿真嵌入式系統是一件具有挑戰的事情,仿真環境通常對系統配置的依賴較多,嵌入式設備的多樣性使得仿真難以具備通用的配置。CHEN等在文獻[12]提出基于已知特征進行系統級仿真環境漏洞檢測的方法。由于仿真環境對系統配置的依賴較多,因而該實驗證明了嵌入式設備的多樣性會使得仿真難以具備通用的配置。在NDSS 2016上推出一個開源工具Firmdyne[13],其在虛擬嵌入式系統方面做出較大的貢獻,但該工具僅適用部分品牌路由器系統的虛擬復現。

本文提出了基于污點分析的嵌入式CGI程序命令注入漏洞挖掘方法,采用污點分析技術研判程序接收的數據是否能夠不經無害處理而到達系統敏感函數,以此檢測出CGI程序是否存在命令注入式漏洞。實驗結果表明本文提出的方法能夠有效挖掘嵌入式CGI程序的命令注入式漏洞。

1 CGI程序的污點分析技術

1.1 CGI程序運行原理

CGI是Web服務器運行時外部程序的規范,按照CGI編寫的程序可擴展服務器功能。CGI程序運行在HTTP服務器中,為HTTP服務器與其他第三方應用程序之間提供數據交換手段。程序的大部分采用C語言編寫,通過系統函數調用來控制設備,以此達到靈活高效又能操控設備的目的。

如圖1所示,Web服務器發送HTTP請求Request到CGI進程,CGI進程把HTTP請求的Header設置為進程的環境變量。HTTP請求的Body正文設置為進程的標準輸入,CGI進程的標準輸出作為HTTP數據包響應Web服務器的請求,這樣CGI程序獲取瀏覽器參數在完成業務邏輯運算或執行相關動作后返回瀏覽器。其中環境變量是指 CGI 程序定義的一組環境變量,通過環境變量可傳遞數據。常用CGI程序環境變量如表1所示。

根據REQUEST_METHOD變量值可判斷CGI請求所采用的請求方法,以決定是通過Stdin還是通過環境變量QUERY_STRING獲取客戶端傳輸數據。當使用ISINDEX查詢或FORM表使用GET方法時,可以通過QUERY_STRING環境變量獲取CGI程序URL中″?″之后的數據;當環境變量METHOD為POST時,CGI 程序通過標準輸入STDIN 讀取數據獲取POST表單信息。通過CONTENT_LENGTH環境變量獲取獲取傳輸數據的字節數,通過CONTENT_TYPE環境變量獲取傳輸數據的編碼類型。CGI程序通過函數environ可以獲得所有的環境變量及其值,通過函數getenv可以獲得指定環境變量的對應值。

1.2 CGI程序的污點分析思路

污點分析作為數據流分析的實踐,是漏洞挖掘的一種有效方法[14],它標記不可信數據為污點數據,通過數據流分析的方法,監控污點數據在程序中的傳播以判斷是否存在命令執行、信息泄露等違反安全的操作。本文采用污點分析的方法,通過分析CGI程序接收的HTTP請求數據包能否以不受限制的方式傳播到系統敏感函數,來研判CGI程序是否存在命令注入漏洞。污點分析可以抽象成三元組的形式,其中,sources作為污點源,代表直接引入不受信任的數據到程序中;sinks為污點匯聚點,代表直接產生安全敏感操作;sanitizers作為無害處理,代表通過數據變形或過濾操作等手段使污點數據傳播不到系統敏感函數中。有效識別污點源和匯聚點是污點分析的前提和保障。圖2為某路由器固件的CGI程序反編譯代碼。

如圖2所示,CGI程序通過getenv函數獲取環境變量的值,該數據值作為程序接收的數據是數據流分析的關鍵。另外Body內容作為程序標準輸入的數據也是數據流分析的重點對象。這些數據作為污點分析抽象三元組的source污染源部分,被視為外部引入的不信任數據。sink污點匯聚點代表直接產生危險的敏感操作,對于嵌入式CGI程序,重點關注system-like此類系統敏感函數。

如圖3所示,system-like系統調用函數的參數作為污點匯聚點是污點分析的最終節點。接下來CGI程序的污點分析就是分析程序中環境變量值和標準輸入值是否能夠不經無害處理傳播到污點匯聚點,即system-like函數參數。如果能,說明程序能夠產生命令注入式安全問題,否則不存在命令注入式安全問題。

1.3 CGI程序的污點分析算法

污點分析算法作為系統的核心,通過解析環境變量和輸入數據進行污染源的識別;通過污染源更新和標記更新進行污點標記的傳播;通過解析系統函數參數進行匯聚點的識別。最后以匯聚結點是否檢測到污點標記來判斷程序是否存在命令注入式安全問題,算法如下。

污點分析算法以CGI程序作為輸入,利用IDA分析引擎反匯編出程序指令集,識別污點輸入源函數,匯聚結點函數,然后針對每一條指令進行污點標記和污點更新,最后以匯聚結點是否檢測到污點標記來判斷程序是否存在命令注入式安全問題。

2 實驗分析

為驗證本文提出方法的有效性,本文在angr工具的基礎上實現原型系統,使用IDA Pro腳本反編譯解析CGI程序。

2.1 實驗環境設置

實驗采用Linux虛擬機,配置intel I7 CPU,內存16G,磁盤64G,操作系統為Ubuntu18.04,完成CGI程序污點源識別、污點標記傳播,匯聚點識別等實驗。

2.2 實驗對象選擇

通過固件下載和硬件讀取的方式收集多個廠家共38個嵌入式設備的CGI程序,詳見表2。選取以下CGI程序作為測試集來進行實驗分析,以此驗證本文方法的可行性和有效性。

2.3 實驗可行性測試

本文選取DIR-815_A1_FW:v1.02b06固件的CGIBIN程序作為測試對象進行分析,該程序存在CNVD-2018-01084遠程命令注入式漏洞。利用binwalk提取固件中的CGIBIN程序,在IDA pro7.5中反編譯結果如圖4所示。

原型系統每執行一條程序指令均進行污點傳播標記,部分污點傳播記錄如圖5所示。

最終原型系統發出了警告,經分析可以看到程序在0x40DF78處引發了漏洞,如圖6所示。

通過上述實驗結果,能夠發現DIR-815_A1_FW:v1.02b06固件中的CGI程序存在命令注入式漏洞,同時在測試其他的CGI程序時具有類似的結果,驗證了本文提出的方法是可行的和有效的。

3 結束語

針對IoT嵌入式系統漏洞突出,人工手段難以應對大量的、類型多樣IoT嵌入式系統的漏洞挖掘,本文針對嵌入式CGI程序命令注入此類典型漏洞,首先對CGI程序的工作原理和環境變量進行分析,然后重點介紹了CGI程序污點分析的思路并設計污點分析的算法,最后通過實驗驗證本文提出的方法能夠有效挖掘嵌入式CGI程序的命令注入漏洞。

參考文獻(References):

[1] HO G, LEUNG D, MISHRA P, et al. Smart locks: Lessons for securing commodity internet of things devices[C]//Proceedings of the 11th ACM Asia Conference on Computer and Communications Security. New York: ACM,2016:461-472

[2] GARTNER. Internet of things (IoT) market[EB/OL].[2017-07-10].https://www.gartner.com/newsroom/id/3598917.

[3] CONSTANTIN L. Hackers found 47 new vulnerabilities in 23 IoT devices at DEFCON [EB/OL]. [2017-05-23].http://www.Csoonline.com/article/3119765/security/hackers-found-47-new-vulnerabilities-in-23-iot-devices-at-defcon.html.

[4] NAWIR M, AMIR A, YAAKOB N, et al. Internet of things(IoT): Taxonomy of security attacks[C]//2016 3rd International Conference on Electronic Design.Piscataway:IEEE,2016:321-326

[5] 360,典型IoT設備網絡安全分析報告,2021

[6] LI H, KWON H, KWON J, et al. CLORIFI: software vulnerability discovery using code clone verification[J]. Concurrency and Computation Practice and Experience,2016,28(6):1900-1917

[7] 甘水滔,秦曉軍,陳左寧,等.一種基于特征矩陣的軟件脆弱性代碼克隆檢測方法[J].軟件學報,2015,26(2):348-363

[8] LI Z, ZOU D, XU S, et al. VulPecker: an automated vulnerability detection system based on code similarity analysis[C]//Conference on Computer Security Applications. Los Angeles: ACM,2016:201-213

[9] COSTIN A, ZADDACH J, FRANCILLON A, et al. Alarge-scale analysis of the security of embedded firmwares[C]//Proceedings of the 23rd USENIX conference on Security Symposium. Berkeley: USENIX Association,2014:95-110

[10] Libo C, Quanpu C, Zhi X.Sharing More and Checking Less: Leveraging Common Input Keywords to Detect Bugs in Embedded Systems[C]//USENIX Security,2021

[11] 葉志斌,嚴波.符號執行研究綜述[J].計算機科學,2018

[12] CHEN D D, WOO M, BRUMLEY D, et al. Towards?automated dynamic analysis for linux-based embedded firmware[C]//Proceedings of Network and Distributed Systems Security Symposium.Reston:ISOC,2016:1-16

[13] Chen D D, Woo M, Brumley D, et al. Towards Automated Dynamic Analysis for Linux-based Embedded Firmware[C]//NDSS,2016

[14] 王蕾,李豐,李煉,等.污點分析技術的原理和實踐應用[J].軟件學報,2017,28(4):860-882

作者簡介:常天佑(1992-),男,河南遂平人,研究生,助理工程師,主要研究方向:網絡安全。

猜你喜歡
嵌入式
Focal&Naim同框發布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
基于嵌入式Linux內核的自恢復設計
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
嵌入式PLC的設計與研究
電子制作(2018年16期)2018-09-26 03:27:18
搭建基于Qt的嵌入式開發平臺
基于嵌入式系統Windows CE的應用程序開發
嵌入式單片機在電機控制系統中的應用探討
電子制作(2017年8期)2017-06-05 09:36:15
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 国产一区二区三区在线观看视频| 一本大道东京热无码av| 91视频青青草| 亚洲第一视频网| 2020国产免费久久精品99| 玖玖精品在线| 亚洲一级毛片在线播放| 天天综合色网| 国产香蕉97碰碰视频VA碰碰看| 亚洲国产成人在线| 欧美日一级片| 久久熟女AV| 91在线播放国产| 99久久99这里只有免费的精品| 欧美精品H在线播放| 国产免费观看av大片的网站| 91精品亚洲| 在线观看国产一区二区三区99| 国产亚洲精品无码专| 国产成人免费视频精品一区二区| 亚卅精品无码久久毛片乌克兰| 人妻丝袜无码视频| 国产一区亚洲一区| 99视频精品在线观看| 午夜视频免费试看| 毛片a级毛片免费观看免下载| 亚洲乱码在线视频| av尤物免费在线观看| 免费无码又爽又黄又刺激网站| 免费jjzz在在线播放国产| 亚洲精品在线观看91| 中文字幕久久精品波多野结| 天堂中文在线资源| 亚洲国产成人久久77| 爽爽影院十八禁在线观看| 国产精品99久久久久久董美香| 手机在线免费毛片| 美女扒开下面流白浆在线试听| 久久免费成人| 国产美女丝袜高潮| 国模视频一区二区| 97成人在线视频| 久久久久夜色精品波多野结衣| 亚洲色图综合在线| 日韩第九页| 欧美成人一级| 四虎在线观看视频高清无码 | 久久精品国产精品青草app| 99在线观看视频免费| 色综合网址| 毛片大全免费观看| 国产免费人成视频网| 又爽又大又黄a级毛片在线视频| 小说 亚洲 无码 精品| 3p叠罗汉国产精品久久| jizz亚洲高清在线观看| 国产中文在线亚洲精品官网| 久久精品视频亚洲| 亚洲小视频网站| 国产爽歪歪免费视频在线观看| 亚洲国产精品VA在线看黑人| 亚洲制服丝袜第一页| 伊人天堂网| 国产精品网址你懂的| 成年人视频一区二区| 亚洲三级成人| 99久久人妻精品免费二区| 在线国产毛片手机小视频| 国产欧美精品专区一区二区| 国产手机在线ΑⅤ片无码观看| 欧美伦理一区| 一区二区三区高清视频国产女人| 午夜综合网| 国产在线第二页| 国产色爱av资源综合区| 亚洲va欧美va国产综合下载| 久久a毛片| 中文字幕在线一区二区在线| 人禽伦免费交视频网页播放| 自拍偷拍欧美| 扒开粉嫩的小缝隙喷白浆视频| 中文字幕调教一区二区视频|