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久久国产综合精品女同我| 91九色最新地址| 欧美日本在线播放| 久久黄色免费电影| 欧美va亚洲va香蕉在线| 国产在线自在拍91精品黑人| 国产乱人伦偷精品视频AAA| 无码aⅴ精品一区二区三区| 自拍亚洲欧美精品| 伊人网址在线| 亚洲一道AV无码午夜福利| 国产成人狂喷潮在线观看2345| 青青草国产在线视频| 亚洲综合18p| 欧美日本中文| 成人精品午夜福利在线播放| 91麻豆精品视频| 欧美一级在线看| 伊人91在线| 日韩国产精品无码一区二区三区| 中文字幕av无码不卡免费 | 欧美在线天堂| 免费中文字幕一级毛片| 亚洲精品动漫| 91无码人妻精品一区| 欧美日韩亚洲综合在线观看| 精品国产毛片| 狠狠亚洲五月天| 青青青视频91在线 | 成人国产精品网站在线看| 国产成人区在线观看视频| 免费人欧美成又黄又爽的视频| 国产亚洲美日韩AV中文字幕无码成人 | 国产av一码二码三码无码| 精品人妻系列无码专区久久| 国产高颜值露脸在线观看| 2020精品极品国产色在线观看| 免费毛片网站在线观看| 亚洲香蕉在线| 一区二区三区在线不卡免费| 国产欧美高清| 精品国产成人av免费| 99re经典视频在线| 一本大道香蕉久中文在线播放| 91福利一区二区三区| 久久久久免费看成人影片 | 亚洲欧美不卡视频| 国产精品第一区在线观看| 伊人AV天堂| 亚洲AV无码久久天堂| 青青操国产视频| www.亚洲一区| 91亚洲视频下载| 亚洲天堂网2014| 久青草国产高清在线视频| 狠狠色噜噜狠狠狠狠色综合久 | 色哟哟国产成人精品| 日韩成人在线一区二区| av在线无码浏览| 日韩亚洲综合在线| 凹凸国产分类在线观看| 国产呦视频免费视频在线观看| 91成人在线免费观看| 99久久精品国产麻豆婷婷| 99久久国产综合精品2020| av午夜福利一片免费看| 日韩毛片免费视频| 日韩亚洲高清一区二区| 成人国产精品网站在线看| 国产成人亚洲毛片| 国产成人久久777777| 亚洲欧美一区二区三区蜜芽| 性欧美在线| 亚洲一区二区三区香蕉| 97精品国产高清久久久久蜜芽 | 伊人成人在线| 网友自拍视频精品区| 久久久久免费看成人影片|