亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于B/S架構(gòu)的工業(yè)主機(jī)衛(wèi)士軟件設(shè)計(jì)與實(shí)現(xiàn)

        2022-02-14 12:13:36任軍鋒楊立源
        自動(dòng)化儀表 2022年1期
        關(guān)鍵詞:白名單衛(wèi)士網(wǎng)卡

        任軍鋒,楊立源

        (上海工業(yè)自動(dòng)化儀表研究院有限公司,上海 200233)

        0 引言

        隨著“中國(guó)制造2025”行動(dòng)綱領(lǐng)的推出和近年工業(yè)互聯(lián)網(wǎng)的迅速發(fā)展,全球各地爆發(fā)的工業(yè)互聯(lián)網(wǎng)安全事故讓越來(lái)越多的人意識(shí)到,工業(yè)生產(chǎn)環(huán)境不再是信息孤島,工業(yè)生產(chǎn)環(huán)境的系統(tǒng)安全防護(hù)已經(jīng)迫在眉睫。工業(yè)生產(chǎn)環(huán)境一旦遭到攻擊,造成的損失往往是巨大的。伊朗核電站遭受的震網(wǎng)病毒和富士康工廠遭受的勒索病毒,都是很好的例證。在整個(gè)工業(yè)互聯(lián)網(wǎng)安全防御中,主機(jī)的安全防護(hù)是工業(yè)互聯(lián)網(wǎng)的最后一道防線。

        工業(yè)生產(chǎn)環(huán)境的主機(jī)系統(tǒng)中,運(yùn)行軟件和運(yùn)行環(huán)境相對(duì)固定,但是未知軟件程序的威脅卻是不可預(yù)知的。因此,工業(yè)現(xiàn)場(chǎng)的主機(jī)不適用黑名單規(guī)則,而適用白名單規(guī)則[1]。以當(dāng)前安全的基礎(chǔ)軟件環(huán)境為基準(zhǔn)點(diǎn),分別按照可執(zhí)行的控制文件(包含COM、EXE、OCX、DLL文件)、網(wǎng)卡設(shè)備和U盤(pán)設(shè)備生成多組白名單規(guī)則。采用國(guó)密SM3算法生成各條白名單規(guī)則的指紋信息。主機(jī)衛(wèi)士軟件將實(shí)時(shí)監(jiān)控本機(jī)系統(tǒng)運(yùn)行情況,根據(jù)配置的白名單規(guī)則,實(shí)時(shí)對(duì)運(yùn)行過(guò)程中產(chǎn)生的進(jìn)程事件、U盤(pán)插拔事件、網(wǎng)卡啟用/禁用事件進(jìn)行行為審計(jì),并對(duì)不在白名單內(nèi)的行為事件生成實(shí)時(shí)告警信息。同時(shí),主機(jī)衛(wèi)士支持切換審計(jì)和保護(hù)兩種模式。審計(jì)模式下,系統(tǒng)對(duì)白名單規(guī)則外的事件只生成告警信息,而不會(huì)阻斷該行為。保護(hù)模式下,系統(tǒng)對(duì)白名單規(guī)則外的事件既阻斷該事件行為,又生成阻斷的告警信息。

        1 需求分析和技術(shù)選擇

        1.1 需求分析

        工業(yè)主機(jī)衛(wèi)士的主要功能是基于白名單規(guī)則對(duì)可執(zhí)行文件、U盤(pán)和網(wǎng)卡等進(jìn)行實(shí)時(shí)監(jiān)控。該產(chǎn)品支持審計(jì)和保護(hù)兩種模式。用戶(hù)可以通過(guò)Web頁(yè)面對(duì)指定的、已安裝主機(jī)衛(wèi)士的主機(jī)設(shè)置白名單規(guī)則;通過(guò)切換主機(jī)衛(wèi)士模式,可在Web頁(yè)面查看到實(shí)時(shí)的告警事件和阻斷事件信息。該需求需要分六步實(shí)現(xiàn)。①主機(jī)衛(wèi)士與管理平臺(tái)通信接口服務(wù):選擇性能健壯,耦合度低,簡(jiǎn)潔易用。②瀏覽器/服務(wù)器(browser/server,B/S)分布式架構(gòu)設(shè)計(jì)的擴(kuò)展性:采用Web層、中間件層、主機(jī)層三層架構(gòu)。③白名單規(guī)則的設(shè)計(jì)。④消息應(yīng)用程序編程接口(application programming interface,API)結(jié)構(gòu)流程設(shè)計(jì):消息收發(fā)必須經(jīng)過(guò)確認(rèn),設(shè)置快、慢消息隊(duì)列,以防止消息擁堵。⑤阻斷進(jìn)程和U盤(pán)網(wǎng)卡外設(shè)的技術(shù)方式:選擇Windows API Hook技術(shù),開(kāi)發(fā)便捷,易于擴(kuò)展,且能在真正運(yùn)行前阻斷。⑥數(shù)據(jù)存儲(chǔ):選擇輕量、便捷存儲(chǔ)的數(shù)據(jù)庫(kù),以節(jié)約主機(jī)資源。

        1.2 技術(shù)選擇

        與其他緩存產(chǎn)品相比,Redis消息中間件有以下特點(diǎn):①支持?jǐn)?shù)據(jù)持久化;②支持key-value、列表、集合結(jié)構(gòu)的存儲(chǔ);③支持?jǐn)?shù)據(jù)備份及主從模式部署。主機(jī)衛(wèi)士軟件系統(tǒng)和管理平臺(tái)可以自由設(shè)計(jì)消息結(jié)構(gòu),通過(guò)該Redis消息中間件傳遞數(shù)據(jù),降低了系統(tǒng)和平臺(tái)的端耦合度。主機(jī)衛(wèi)士軟件系統(tǒng)和管理平臺(tái)的接口開(kāi)發(fā)都不受平臺(tái)和開(kāi)發(fā)語(yǔ)言的影響,提高了程序的兼容性和可用性[2]。

        1.2.1 國(guó)密SM3加密算法

        SM3加密算法是我國(guó)自主設(shè)計(jì)的密碼雜湊算法,適用于商用密碼中數(shù)字簽名和驗(yàn)證消息認(rèn)證碼的生成與驗(yàn)證,以及隨機(jī)數(shù)的生成,可滿足多種密碼應(yīng)用的安全需求[3]。在白名單規(guī)則的指紋信息生成部分,主機(jī)衛(wèi)士采用了SM3算法,安全性?xún)?yōu)于MD5和SHA-1算法。

        SQLite數(shù)據(jù)庫(kù)是一個(gè)進(jìn)程內(nèi)的庫(kù),實(shí)現(xiàn)了自給自足的、無(wú)服務(wù)器的、零配置的、事務(wù)性的結(jié)構(gòu)化查詢(xún)語(yǔ)言(structured query language,SQL)數(shù)據(jù)庫(kù)引擎。它具有不依賴(lài)服務(wù)、無(wú)需安裝、跨平臺(tái)、支持標(biāo)準(zhǔn)SQL語(yǔ)句等特點(diǎn),是輕量級(jí)數(shù)據(jù)庫(kù)。主機(jī)衛(wèi)士軟件中主要存儲(chǔ)白名單規(guī)則信息和模式配置信息。SQLite數(shù)據(jù)庫(kù)完全能滿足需求且使用便捷[4]。

        1.2.2 Windows API Hook技術(shù)

        Hook技術(shù)是對(duì)Windows 的 API 進(jìn)行攔截的技術(shù),可以截獲系統(tǒng)中的消息流,如鍵盤(pán)和鼠標(biāo)輸入等。根據(jù)處理消息范圍的不同,攔截技術(shù)可分為L(zhǎng)ocal Hook和Remote Hook。①Local Hook僅能阻斷屬于自身進(jìn)程的事件,使用范圍有限[5]。②Remote Hook不僅可以阻斷自身進(jìn)程事件,還可以阻斷其他進(jìn)程事件。根據(jù)主機(jī)衛(wèi)士白名單外進(jìn)程事件阻斷的需求,Remote Hook更適用[6]。遠(yuǎn)線程插入技術(shù)可以通過(guò)動(dòng)態(tài)庫(kù)的方式實(shí)現(xiàn)。Windows系統(tǒng)中新進(jìn)程的創(chuàng)建都會(huì)調(diào)用CreateProces()函數(shù),通過(guò)寫(xiě)一個(gè)新的函數(shù)CreateProcessNew()注入進(jìn)程,替換原來(lái)調(diào)用的CreateProcess()函數(shù)在進(jìn)程內(nèi)存中的位置。如果可執(zhí)行文件在白名單內(nèi),則CreateProcessNew()函數(shù)正常調(diào)用CreateProcess()函數(shù);反之,則阻止調(diào)用Create Process()函數(shù),以達(dá)到阻斷創(chuàng)建新進(jìn)程的目的[7]。

        2 軟件架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)

        2.1 系統(tǒng)架構(gòu)圖

        系統(tǒng)架構(gòu)如圖1所示。整個(gè)系統(tǒng)分為Web業(yè)務(wù)層、中間件服務(wù)層和主機(jī)群層。Web服務(wù)器通過(guò)Redis通道將控制指令和規(guī)則策略下發(fā)到指定的主機(jī)節(jié)點(diǎn)。主機(jī)節(jié)點(diǎn)在收到指令和規(guī)則策略后,配置主機(jī)安全策略,更新本地主機(jī)數(shù)據(jù)庫(kù)信息。主機(jī)實(shí)時(shí)監(jiān)控本機(jī)運(yùn)行過(guò)中的風(fēng)險(xiǎn)事件和行為,上傳消息至Redis消息中間件。Web業(yè)務(wù)層從中間件服務(wù)層獲取相關(guān)數(shù)據(jù)信息后,實(shí)時(shí)存入主機(jī)衛(wèi)士管理平臺(tái)數(shù)據(jù)庫(kù)(data base,DB)。用戶(hù)可以通過(guò)終端Web瀏覽器實(shí)時(shí)查看各主機(jī)節(jié)點(diǎn)的安全事件詳情。

        圖1 系統(tǒng)架構(gòu)圖Fig.1 System structure diagram

        以上架構(gòu)的層次設(shè)計(jì)可以保證程序有較好的擴(kuò)展性和跨平臺(tái)兼容性。當(dāng)主機(jī)節(jié)點(diǎn)數(shù)據(jù)量增加時(shí),只需增加相應(yīng)的Web服務(wù)器即可滿足一般的擴(kuò)展需求。中間件服務(wù)層的設(shè)計(jì)也讓系統(tǒng)具備跨平臺(tái)兼容性。例如:主機(jī)衛(wèi)士管理平臺(tái)可以支持Linux和Windows這兩種操作系統(tǒng),但是主機(jī)衛(wèi)士軟件系統(tǒng)不需要因?yàn)楣芾砥脚_(tái)操作系統(tǒng)的不一樣而去開(kāi)發(fā)、維護(hù)多套程序。軟件系統(tǒng)與管理平臺(tái)的通信只與Redis消息中間件接口相關(guān),節(jié)約了開(kāi)發(fā)和維護(hù)成本。

        2.2 通信接口流程圖

        通信接口流程如圖2所示。由圖2可知,主機(jī)衛(wèi)士中有獨(dú)立的線程處理數(shù)據(jù)上傳和數(shù)據(jù)接收。對(duì)于不同的業(yè)務(wù)數(shù)據(jù),處理線程和隊(duì)列分為快、慢兩種。這樣既可以保證配置規(guī)則及時(shí)下發(fā)、及時(shí)響應(yīng)需要快速響應(yīng)的消息,又可以保證大批量實(shí)時(shí)告警信息的正常上傳。多線程和隊(duì)列的配合使用,大大提高了程序各環(huán)節(jié)處理數(shù)據(jù)的并發(fā)能力,優(yōu)化了程序性能。

        圖2 通信接口流程圖Fig.2 Flowchart of communication interface

        2.3 技術(shù)要點(diǎn)分析

        2.3.1 接口通信設(shè)計(jì)

        接口通信設(shè)計(jì)滿足消息中轉(zhuǎn)傳輸功能要求,同時(shí)接口不依賴(lài)平臺(tái)和開(kāi)發(fā)語(yǔ)言,具有持久化特點(diǎn)。例如:主機(jī)衛(wèi)士軟件系統(tǒng)和管理平臺(tái)的通信接口部分,主要使用Redis消息中間件,上傳數(shù)據(jù)告警信息,下發(fā)管理平臺(tái)配置信息。確定接口后,主機(jī)衛(wèi)士軟件系統(tǒng)和管理平臺(tái)可以并行開(kāi)發(fā)。主機(jī)衛(wèi)士軟件系統(tǒng)和管理平臺(tái)可以各自專(zhuān)注于自身業(yè)務(wù)功能,而無(wú)需關(guān)注通信層問(wèn)題。而且Redis具有持久化特點(diǎn),即使管理平臺(tái)臨時(shí)發(fā)生故障,軟件系統(tǒng)上傳的數(shù)據(jù)也不會(huì)丟失,從而保證了數(shù)據(jù)的完整性。

        2.3.2 B/S分布式架構(gòu)

        設(shè)計(jì)系統(tǒng)時(shí)要考慮實(shí)際使用場(chǎng)景和后期可擴(kuò)展性。傳統(tǒng)的主機(jī)衛(wèi)士是單機(jī)版的裝機(jī)軟件。對(duì)于主機(jī)分散的工廠生產(chǎn)環(huán)境,沒(méi)有統(tǒng)一的管理平臺(tái),只能靠用戶(hù)查看來(lái)獲取每臺(tái)主機(jī)的告警信息,工作效率極低。采用B/S架構(gòu)模式,一個(gè)Web服務(wù)器可以同時(shí)管理多臺(tái)主機(jī)衛(wèi)士節(jié)點(diǎn)。一次部署完成后,只要通過(guò)管理平臺(tái)就能進(jìn)行統(tǒng)一監(jiān)控,節(jié)約了人力成本。B/S分布式架構(gòu)采用Web層、中間件層、主機(jī)三級(jí)架構(gòu)。當(dāng)主機(jī)數(shù)量增多、出現(xiàn)性能瓶頸時(shí),只需增加服務(wù)器設(shè)備,部署中間件和Web服務(wù)器,就能快速解決性能瓶頸。

        2.3.3 白名單規(guī)則的設(shè)計(jì)

        基于白名單規(guī)則控制主機(jī)安全,就必須保證生成的白名單指紋具有唯一性和安全性。對(duì)于可執(zhí)行文件,不能依賴(lài)于文件名和路徑,而需要根據(jù)文件內(nèi)容生成白名單。SM3算法滿足此需求。文件內(nèi)容、U盤(pán)的系列號(hào)、網(wǎng)卡的媒體訪問(wèn)控制(media access control,MAC)地址都可以作為SM3算法的自變量來(lái)生成指紋信息。

        2.3.4 消息API結(jié)構(gòu)和流程設(shè)計(jì)

        通過(guò)Redis傳輸?shù)南⒔Y(jié)構(gòu)設(shè)計(jì)要具有統(tǒng)一的格式和規(guī)范。所有的請(qǐng)求消息必須有響應(yīng),確認(rèn)消息已送達(dá)。在消息結(jié)構(gòu)中要區(qū)分快發(fā)送的消息和慢發(fā)送的消息。告警信息數(shù)據(jù)量大,時(shí)效性要求略低。因此,可將該類(lèi)數(shù)據(jù)加入慢發(fā)送隊(duì)列。主機(jī)上傳的狀態(tài)數(shù)據(jù)、響應(yīng)消息和管理平臺(tái)下發(fā)的白名單規(guī)則數(shù)據(jù),時(shí)效性要求高,由Web頁(yè)面實(shí)時(shí)等待反饋。因此,將這些數(shù)據(jù)加入快發(fā)送隊(duì)列??臁⒙齼煞N發(fā)送方式的協(xié)作,可保證系統(tǒng)穩(wěn)定、流暢地運(yùn)行。

        2.3.5 阻斷進(jìn)程和U盤(pán)網(wǎng)卡外設(shè)的技術(shù)方式

        對(duì)于阻斷可執(zhí)行文件白名單外的進(jìn)程,需要在進(jìn)程啟動(dòng)前就終止進(jìn)程。Windows API Hook的遠(yuǎn)程動(dòng)態(tài)鏈接庫(kù)(dynamic link library,DLL)注入方式可以滿足該功能。創(chuàng)建參數(shù)與CreateProcess()函數(shù)相同的新函數(shù)CreateProcessNew(),生成待注入的阻斷DLL文件。針對(duì)32位進(jìn)程和64位進(jìn)程注入,需要分別生成32位和64位阻斷DLL。

        調(diào)用Windows API 函數(shù)HANDLE WINAPI CreateRemoteThread(),將動(dòng)態(tài)庫(kù)遠(yuǎn)程注入指定進(jìn)程,例如explorer.exe、taskmgr.exe等。

        EnumProcessModules()函數(shù)則可以列出啟動(dòng)該進(jìn)程所依賴(lài)的DLL、OCX文件,阻斷不在白名單內(nèi)的DLL、OCX文件的調(diào)用和運(yùn)行[7]。

        USB阻斷API函數(shù)為BOOL WINAPI DeviceloControl()。網(wǎng)卡阻斷API函數(shù)為INetConnection類(lèi)的virtual HRESULT STDMETHODCALLTYPE Disconnect(void)=0[8]。

        2.4 消息接口設(shè)計(jì)

        Redis消息接口請(qǐng)求內(nèi)容:

        request =

        {

        "message_id":"99882121",

        #消息ID

        "strategy":

        {

        "strategy_type":1,

        #策略類(lèi)型:1文件,2 USB,3網(wǎng)卡

        "strategy_id":554,

        #策略編號(hào)

        "c_tag":"2",

        #動(dòng)作類(lèi)型:2新建,3模式切換

        "content":["C:\dest"],

        #策略?xún)?nèi)容,與策略類(lèi)型相關(guān)

        "sourceip":"192.168.2.108",

        #接收策略的主機(jī)衛(wèi)士IP

        "event":2

        #事件類(lèi)型

        }

        }

        Redis消息接口響應(yīng)內(nèi)容:

        response =

        {

        "message_id":"99882121",

        #消息ID

        "sourceip":"192.168.2.108",

        #響應(yīng)的主機(jī)衛(wèi)士IP

        "status":1,

        #收到請(qǐng)求:0否,1是

        "result":{}

        #響應(yīng)結(jié)果

        }

        2.5 部署測(cè)試

        按照以上的系統(tǒng)架構(gòu)設(shè)計(jì)軟件,在編碼開(kāi)發(fā)完成后,需要對(duì)整個(gè)軟件需求的功能進(jìn)行部署測(cè)試。建議至少準(zhǔn)備三臺(tái)主機(jī)設(shè)備:一臺(tái)Linux服務(wù)器和兩臺(tái)Windows系統(tǒng)計(jì)算機(jī)。Linux服務(wù)器部署主機(jī)衛(wèi)士管理平臺(tái)、Windows系統(tǒng)計(jì)算機(jī),并安裝主機(jī)衛(wèi)士軟件。部署測(cè)試主要包含四個(gè)部分。

        ①生成白名單規(guī)則功能測(cè)試:該功能是本系統(tǒng)軟件的基本功能。用戶(hù)可以通過(guò)指定IP設(shè)備和路徑自動(dòng)生成主機(jī)衛(wèi)士的可執(zhí)行文件白名單,通過(guò)推薦U盤(pán)和網(wǎng)卡的指紋信息生成外設(shè)USB和網(wǎng)卡的白名單規(guī)則,簡(jiǎn)單易用。

        ②主機(jī)衛(wèi)士審計(jì)模式測(cè)試:使用管理平臺(tái)將主機(jī)衛(wèi)士界面切換到審計(jì)模式下,使系統(tǒng)可以實(shí)時(shí)生成白名單外的進(jìn)程和USB、網(wǎng)卡的告警信息。同時(shí),白名單規(guī)則內(nèi)的程序和外設(shè)可以正常運(yùn)行、加載。

        ③主機(jī)衛(wèi)士保護(hù)模式測(cè)試:管理平臺(tái)將主機(jī)衛(wèi)士界面切換到保護(hù)模式下,系統(tǒng)可以實(shí)時(shí)生成白名單外的進(jìn)程和USB、網(wǎng)卡的告警信息,同時(shí)阻斷白名單規(guī)則內(nèi)的程序和外設(shè)的運(yùn)行和加載。

        ④系統(tǒng)可靠性、健壯性測(cè)試:該測(cè)試是指主機(jī)衛(wèi)士需要對(duì)主機(jī)設(shè)備進(jìn)行7×24 h的實(shí)時(shí)告警和防護(hù),保證主機(jī)衛(wèi)士軟件的正常工作。

        3 結(jié)論

        工業(yè)互聯(lián)網(wǎng)是新一代信息技術(shù) (information technology,IT)與傳統(tǒng)工業(yè)操作技術(shù)(operation technology,OT)全方位深度融合所形成的產(chǎn)業(yè)和應(yīng)用生態(tài)。為了管理和控制的一體化,實(shí)現(xiàn)生產(chǎn)和管理的高效率、高效益,工業(yè)企業(yè)深度融合IT/OT,在拓展了工業(yè)控制系統(tǒng)發(fā)展空間的同時(shí),也帶來(lái)了一系列的工業(yè)網(wǎng)絡(luò)安全問(wèn)題[9]。

        本文基于B/S架構(gòu)的工業(yè)主機(jī)衛(wèi)士軟件設(shè)計(jì),為解決工業(yè)場(chǎng)景下的主機(jī)安全問(wèn)題提供了有效的解決思路。通過(guò)詳細(xì)的需求調(diào)研、分析數(shù)據(jù)、設(shè)計(jì)開(kāi)發(fā)、部署測(cè)試,很好地滿足了工業(yè)場(chǎng)景下主機(jī)防護(hù)的基本需求,是主機(jī)類(lèi)產(chǎn)品研發(fā)的全新的實(shí)例。下一步還可以對(duì)主機(jī)的EventID等事件進(jìn)行審計(jì)分析。本文所提出的軟件設(shè)計(jì)方法,對(duì)實(shí)際問(wèn)題的解決有一定參考價(jià)值。

        猜你喜歡
        白名單衛(wèi)士網(wǎng)卡
        在DDS 中間件上實(shí)現(xiàn)雙冗余網(wǎng)卡切換的方法
        基于白名單的車(chē)道工控系統(tǒng)信息安全解決方案
        風(fēng)中小衛(wèi)士
        我是環(huán)保小衛(wèi)士
        核電廠儀控系統(tǒng)安全防護(hù)策略研究及應(yīng)用
        Server 2016網(wǎng)卡組合模式
        我是環(huán)保小衛(wèi)士
        夜里的衛(wèi)士
        挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專(zhuān)用Dragon網(wǎng)卡
        公布洋大學(xué)“白名單”遠(yuǎn)遠(yuǎn)不夠
        国产丝袜精品丝袜一区二区| 99亚洲男女激情在线观看| 99久久99久久精品国产片果冻| 国产在线观看黄| 一区二区国产视频在线| 国产精品日日做人人爱| 亚洲第一无码xxxxxx| AV成人午夜无码一区二区| 国产精品久久久看三级| 尤物yw午夜国产精品视频| 中国内射xxxx6981少妇| 日本手机在线| 亚洲一区域二区域三区域四| 新婚人妻不戴套国产精品| 国产成人精品日本亚洲11| 久久99精品中文字幕在| 国产日本精品一区二区免费| 999国产精品999久久久久久| 一本大道久久香蕉成人网| 日本国产一区二区三区在线观看| 中文字幕中文字幕777| 国产成人午夜无码电影在线观看 | 欧洲美熟女乱av亚洲一区| 真实单亲乱l仑对白视频| 91精品综合久久久久m3u8| 精品成人av人一区二区三区| 国产七十六+老熟妇| japanese无码中文字幕 | av天堂网手机在线观看| 蜜臀性色av免费| 国模精品无码一区二区二区| 最新日韩人妻中文字幕一区| 国产毛片黄片一区二区三区| 国产97在线 | 免费| 亚洲熟妇久久精品| 亚洲av乱码中文一区二区三区| 婷婷精品国产亚洲av| 国内精品少妇高潮视频| 亚洲精品无码成人a片| 亚洲人成影院在线高清| 91九色中文视频在线观看|