[發(fā)明專(zhuān)利]一種工業(yè)控制設(shè)備固件的模糊測(cè)試方法有效
| 申請(qǐng)?zhí)枺?/td> | 202010512591.6 | 申請(qǐng)日: | 2020-06-08 |
| 公開(kāi)(公告)號(hào): | CN111830928B | 公開(kāi)(公告)日: | 2021-07-30 |
| 發(fā)明(設(shè)計(jì))人: | 徐向華;邵帥;朱佳超 | 申請(qǐng)(專(zhuān)利權(quán))人: | 杭州電子科技大學(xué) |
| 主分類(lèi)號(hào): | G05B23/02 | 分類(lèi)號(hào): | G05B23/02 |
| 代理公司: | 杭州君度專(zhuān)利代理事務(wù)所(特殊普通合伙) 33240 | 代理人: | 朱月芬 |
| 地址: | 310018 浙*** | 國(guó)省代碼: | 浙江;33 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 工業(yè) 控制 設(shè)備 模糊 測(cè)試 方法 | ||
本發(fā)明公開(kāi)了一種工業(yè)控制設(shè)備固件的模糊測(cè)試方法。本發(fā)明包括四個(gè)階段:固件下載、可執(zhí)行程序提取、程序模擬運(yùn)行、模糊測(cè)試。本發(fā)明通過(guò)自動(dòng)爬蟲(chóng)下載各制造商設(shè)備固件、遞歸式的提取二進(jìn)制可執(zhí)行文件、模擬執(zhí)行可執(zhí)行文件、固件網(wǎng)絡(luò)服務(wù)模糊測(cè)試的方法。本發(fā)明實(shí)現(xiàn)了對(duì)工業(yè)控制設(shè)備固件中可執(zhí)行程序的高效模糊測(cè)試方法,不需要針對(duì)特定型號(hào)PLC工控固件搭建各種專(zhuān)用嵌入式硬件執(zhí)行環(huán)境,測(cè)試過(guò)程中也不需要手動(dòng)重啟嵌入式設(shè)備,使得整個(gè)模糊測(cè)試過(guò)程更加便捷高效,并且可以方便地實(shí)現(xiàn)大批量并行的漏洞挖掘測(cè)試,以支持大規(guī)模固件漏洞測(cè)試工作。本發(fā)明適用于已有工業(yè)控制系統(tǒng)漏洞挖掘、工業(yè)控制系統(tǒng)的自動(dòng)化測(cè)試等工作。
技術(shù)鄰域
本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù)鄰域,特別涉及基于模糊測(cè)試的工業(yè)控制設(shè)備漏洞挖掘技術(shù)。
背景技術(shù)
據(jù)相關(guān)調(diào)查統(tǒng)計(jì),2018年工業(yè)控制系統(tǒng)中大約95%的可編程邏輯控制器PLC(Programmable Logic Controller)是施耐德(法國(guó))、西門(mén)子(德國(guó))、歐姆龍(日本)等國(guó)外公司的產(chǎn)品,而這些產(chǎn)品多數(shù)是基于實(shí)時(shí)操作系統(tǒng)VxWorks二次定制開(kāi)發(fā)的系統(tǒng)。針對(duì)VxWorks系統(tǒng)的二次開(kāi)發(fā)主要是添加PLC工控設(shè)備所需要的Modbus、Siemens S7、DNP3、HTTP、FTP、SNMP、DHCP等工控網(wǎng)絡(luò)協(xié)議。這些協(xié)議的實(shí)現(xiàn)依賴于工控設(shè)備固件中自帶的工控協(xié)議網(wǎng)絡(luò)服務(wù)程序、Web服務(wù)器程序、Telnet程序、FTP服務(wù)器程序等網(wǎng)絡(luò)協(xié)議功能組件。而PLC控制系統(tǒng)一旦部署在工業(yè)生產(chǎn)過(guò)程中,PLC系統(tǒng)和網(wǎng)絡(luò)協(xié)議組件通常得不到及時(shí)更新,并且多數(shù)PLC系統(tǒng)并未開(kāi)放源代碼,因此,對(duì)市場(chǎng)上各種主流PLC固件進(jìn)行漏洞測(cè)試挖掘分析,及時(shí)發(fā)現(xiàn)可能存在的未知漏洞顯得十分重要。
現(xiàn)有工控固件漏洞挖掘主要有以下方法和問(wèn)題:
1.專(zhuān)利CN105938532A將固件解壓后提取文件中明碼字段、反匯編可執(zhí)行文件、分析固件關(guān)聯(lián)性來(lái)匹配已知漏洞,但是該方法無(wú)法發(fā)現(xiàn)未知的漏洞,專(zhuān)利CN110941832A、CN108989299A也采用類(lèi)似的特征匹配漏洞方法。
2.專(zhuān)利CN109740351A將固件加載至嵌入式設(shè)備運(yùn)行,然后通過(guò)漏洞驗(yàn)證程序?qū)β┒辞鍐沃械拿總€(gè)漏洞進(jìn)行漏洞驗(yàn)證。但是該方法需要在對(duì)應(yīng)的嵌入式硬件設(shè)備上加載、執(zhí)行固件程序。對(duì)于市面上種類(lèi)繁多的PLC工控設(shè)備來(lái)說(shuō),需要搭建與之對(duì)應(yīng)的各種專(zhuān)用嵌入式硬件環(huán)境才能進(jìn)行漏洞測(cè)試挖掘,難以高效實(shí)現(xiàn)種類(lèi)繁多的PLC固件的批量漏洞挖掘測(cè)試。
發(fā)明內(nèi)容
本發(fā)明針對(duì)上述問(wèn)題,提出一種工業(yè)控制設(shè)備固件的模糊測(cè)試方法,包括四個(gè)階段:固件下載、可執(zhí)行程序提取、程序模擬運(yùn)行、模糊測(cè)試。
本發(fā)明所述的固件下載階段,具體包含以下步驟:
1-1.創(chuàng)建固件保存目錄,用于存放下載成功的固件。
1-2.收集Schneider、Siemens、OMRON等制造商各個(gè)型號(hào)的工控設(shè)備網(wǎng)站和FTP網(wǎng)站的地址保存至爬取列表。
1-3.對(duì)爬取列表每一個(gè)地址編寫(xiě)頁(yè)面解析邏輯,提取每一個(gè)固件文件的下載地址,保存至固件下載地址集合。
1-4.使用Python爬蟲(chóng)框架Scrapy從固件下載地址集合中拿出一個(gè)待下載固件地址,Scrapy的調(diào)度器驅(qū)動(dòng)下載器下載固件文件,保存至固件保存目錄。重復(fù)步驟1-4直至固件下載地址集合為空,完成下載地址集合中的所有固件。
本發(fā)明所述可執(zhí)行程序提取階段對(duì)固件進(jìn)行遞歸提取,具體包含以下步驟:
2-1.創(chuàng)建工作目錄,用于存放提取二進(jìn)制可執(zhí)行文件與執(zhí)行所需資源。
2-2.對(duì)固件保存目錄中的每一個(gè)固件文件進(jìn)行可執(zhí)行程序提取操作,具體包括以下步驟:
2-2-1.通過(guò)Linux系統(tǒng)調(diào)用mmap將固件加載至內(nèi)存,將用于定位當(dāng)前識(shí)別固件內(nèi)容的偏移量設(shè)為0。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于杭州電子科技大學(xué),未經(jīng)杭州電子科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010512591.6/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 傳感設(shè)備、檢索設(shè)備和中繼設(shè)備
- 簽名設(shè)備、檢驗(yàn)設(shè)備、驗(yàn)證設(shè)備、加密設(shè)備及解密設(shè)備
- 色彩調(diào)整設(shè)備、顯示設(shè)備、打印設(shè)備、圖像處理設(shè)備
- 驅(qū)動(dòng)設(shè)備、定影設(shè)備和成像設(shè)備
- 發(fā)送設(shè)備、中繼設(shè)備和接收設(shè)備
- 定點(diǎn)設(shè)備、接口設(shè)備和顯示設(shè)備
- 傳輸設(shè)備、DP源設(shè)備、接收設(shè)備以及DP接受設(shè)備
- 設(shè)備綁定方法、設(shè)備、終端設(shè)備以及網(wǎng)絡(luò)側(cè)設(shè)備
- 設(shè)備、主設(shè)備及從設(shè)備
- 設(shè)備向設(shè)備轉(zhuǎn)發(fā)





