云南電網(wǎng)有限責(zé)任公司曲靖供電局 朱家山
漏洞攻擊是信息安全領(lǐng)域的典型事件,全球范圍內(nèi),每年因漏洞攻擊帶來的損失不計(jì)其數(shù),甚至產(chǎn)生顛覆性的破壞。2015年,攻擊者通過線上變電站攻擊及線下的電力客服中心進(jìn)行電話DDoS攻擊導(dǎo)致烏克蘭首都及西部地區(qū)140萬居民遭遇了長(zhǎng)達(dá)數(shù)小時(shí)的大規(guī)模停電,造成了巨大的經(jīng)濟(jì)損失。在電網(wǎng)信息化轉(zhuǎn)型的背景下,各供電企業(yè)加大了信息化建設(shè)及改造升級(jí)的力度,隨著信息系統(tǒng)數(shù)量及種類增多,系統(tǒng)之間的信息資源共享使得各系統(tǒng)之間交互更加頻繁,系統(tǒng)的關(guān)聯(lián)關(guān)系呈現(xiàn)復(fù)雜化特征,為電力企業(yè)的信息安全管理帶來極大的挑戰(zhàn)?,F(xiàn)階段,電力企業(yè)高度依賴于信息系統(tǒng),電力系統(tǒng)已經(jīng)演變成集營(yíng)銷管理系統(tǒng)、計(jì)量計(jì)費(fèi)系統(tǒng)、電力MIS系統(tǒng)、電力自動(dòng)化系統(tǒng)等的電力資源整合系統(tǒng),信息系統(tǒng)安全是保障電力系統(tǒng)安全、穩(wěn)定運(yùn)行的基礎(chǔ)。
本文針對(duì)近年來的漏洞信息抽取技術(shù)進(jìn)行了深入的研究,提出了一種基于BERT+CRF模型的漏洞信息結(jié)構(gòu)化抽取的方法,采用人工智能深度學(xué)習(xí)方法進(jìn)行建模,基于序列標(biāo)注模型實(shí)現(xiàn)漏洞關(guān)鍵信息抽取,解決了現(xiàn)有人工手段抽取漏洞信息中人力投入大、漏洞信息精確度不高等問題。
通過從全球范圍內(nèi)權(quán)威的漏洞信息共享平臺(tái)獲取漏洞數(shù)據(jù),對(duì)各平臺(tái)發(fā)布的漏洞信息構(gòu)成要素進(jìn)行分析,整合各漏洞信息共享平臺(tái)的屬性集合,去除漏洞集合中存在冗余的屬性、對(duì)相似性屬性及同類不同名屬性進(jìn)行統(tǒng)一命名,構(gòu)建漏洞信息本體模型。針對(duì)漏洞信息本體模型制定標(biāo)注方案,從漏洞數(shù)據(jù)集中劃分出部分?jǐn)?shù)據(jù)集,進(jìn)行序列標(biāo)注,生成模型訓(xùn)練語料?;谟?xùn)練語料及序列標(biāo)注模型構(gòu)建漏洞信息結(jié)構(gòu)化抽取模型,通過漏洞信息結(jié)構(gòu)化抽取模型從漏洞數(shù)據(jù)集中抽取漏洞關(guān)鍵信息要素?;跇?biāo)注的語料和漏洞本體模型設(shè)計(jì)漏洞關(guān)鍵信息抽取模型的性能評(píng)估方法,對(duì)漏洞信息抽取模型進(jìn)行性能評(píng)估,并基于評(píng)估結(jié)果改進(jìn)及優(yōu)化模型。根據(jù)抽取到的漏洞關(guān)鍵信息及漏洞本體模型構(gòu)建結(jié)構(gòu)化的漏洞數(shù)據(jù)庫(kù)。
構(gòu)建漏洞信息本體模型的過程中,需要從漏洞描述、網(wǎng)絡(luò)安全公告等文本信息中抽取出相關(guān)的實(shí)體、建立各實(shí)體之間的關(guān)聯(lián)關(guān)系。在進(jìn)行實(shí)體的抽取過程中,對(duì)于結(jié)構(gòu)化數(shù)據(jù),需要通過領(lǐng)域本體的抽取方式進(jìn)行本體抽取,對(duì)于非結(jié)構(gòu)化數(shù)據(jù)需要借助信息抽取技術(shù)從非結(jié)構(gòu)化文本中抽取結(jié)構(gòu)化信息。通過領(lǐng)域本體方法進(jìn)行本體的抽取過程中首先對(duì)領(lǐng)域的術(shù)語及術(shù)語之間的關(guān)系進(jìn)行整合,構(gòu)建術(shù)語表,將術(shù)語表中的術(shù)語作為本體的概念集合,并確定概念之間的關(guān)系,將術(shù)語表直接轉(zhuǎn)換為本體集合。對(duì)于非結(jié)構(gòu)化數(shù)據(jù)的信息抽取技術(shù)中,需要用到命名實(shí)體識(shí)別及實(shí)體關(guān)系抽取技術(shù),一種普遍的做法是通過人工預(yù)先標(biāo)注數(shù)據(jù),利用標(biāo)注好的數(shù)據(jù)集訓(xùn)練本體模型,利用訓(xùn)練好的本體模型從非結(jié)構(gòu)化文本中提取命名實(shí)體。
具體實(shí)施步驟如下:(1)選取權(quán)威漏洞信息共享平臺(tái),獲取漏洞信息,構(gòu)建本體漏洞概念的屬性集合,對(duì)各個(gè)漏洞庫(kù)的屬性集合進(jìn)行整合,剔除冗余屬性,對(duì)相似性屬性及同類屬性進(jìn)行合并,定義漏洞必要屬性、可選屬性、關(guān)鍵屬性、非關(guān)鍵屬性,其中必要屬性指指漏洞信息中應(yīng)包括的最少屬性;可選屬性指漏洞的屬性中除了必要屬性之外的屬性;關(guān)鍵屬性指描述和解決該漏洞所需要的關(guān)鍵要素;非關(guān)鍵屬性指漏洞屬性中除了關(guān)鍵屬性之外的屬性。必要屬性:本地編號(hào)、漏洞名稱、危害等級(jí)、發(fā)布時(shí)間、漏洞影響的實(shí)體;可選屬性:漏洞公告、參考網(wǎng)址、補(bǔ)丁、廠商、威脅類型、漏洞來源;關(guān)鍵屬性:漏洞名稱、漏洞簡(jiǎn)介、危害等級(jí)、威脅類型、發(fā)布時(shí)間、漏洞影響的實(shí)體、漏洞補(bǔ)?。环顷P(guān)鍵屬性:廠商、漏洞來源、參考網(wǎng)址。(2)構(gòu)建漏洞實(shí)體詞典,基于CRF模型引入詞典特征構(gòu)建漏洞命名實(shí)體識(shí)別器,識(shí)別漏洞描述中的相關(guān)漏洞概念屬性。(3)對(duì)概念本體的完整性、正確性及可擴(kuò)展性進(jìn)行評(píng)估,保障每個(gè)概念定義清晰,不存在歧義,滿足完整性需求。
表1 漏洞描述文本對(duì)應(yīng)的序列標(biāo)注
從漏洞信息數(shù)據(jù)集中篩選部分樣本進(jìn)行序列標(biāo)注,采用BIO標(biāo)注法,將單個(gè)字符作為最小的標(biāo)注粒度,標(biāo)注每個(gè)字符對(duì)應(yīng)的具體類別,其中類別標(biāo)簽中B開頭的表示詞的起始位置,I開頭表示詞的所有字符中除了起始位置之外的位置,O開頭表示無關(guān)字符。標(biāo)簽中B、I、O之后的表示字符對(duì)應(yīng)的類別,以“-”隔開,其中“entity”表示漏洞影響的實(shí)體名稱,“version-i”表示離散的實(shí)體版本號(hào),“version-b”表示連續(xù)的版本號(hào)的開始版本號(hào),“version-n”表示連續(xù)的版本號(hào)的結(jié)束版本號(hào),“type”表示漏洞影響的類型等。例如漏洞信息短文本描述如下:“該漏洞影響了Pillow的4.0.1和5.1.2之間的版本”,漏洞描述文本對(duì)應(yīng)的序列標(biāo)注如表1所示。
圖1 BERT+CRF模型結(jié)構(gòu)圖
基于標(biāo)注的數(shù)據(jù)訓(xùn)練漏洞關(guān)鍵信息抽取模型,采用BERT+CRF模型結(jié)構(gòu),首先通過BERT模型對(duì)漏洞描述文本進(jìn)行特征提取及編碼,獲得文本對(duì)應(yīng)的字符向量,將之映射為CRF層的發(fā)射概率,經(jīng)過CRF層輸出每個(gè)字符對(duì)應(yīng)的類別概率,最后通過字符及字符的位置關(guān)系及類別得到該文本中包含的漏洞關(guān)鍵信息,BERT+CRF模型結(jié)構(gòu)如圖1所示。
如圖1所示,w表示漏洞描述文本,通過將漏洞描述文本進(jìn)行字符分割處理,分割成單個(gè)字符輸入至BERT模型中,經(jīng)過BERT模型訓(xùn)練,每個(gè)字符得到一個(gè)對(duì)應(yīng)的編碼向量,通過將向量降維到與標(biāo)簽類別數(shù)目相同的維度之后,將向量中的值壓縮至0-1之間作為CRF層的發(fā)射概率,CRF層擬合之后輸出每個(gè)字符對(duì)應(yīng)的標(biāo)簽概率P,最后根據(jù)輸出結(jié)果與定義的標(biāo)簽進(jìn)行合并,獲得漏洞關(guān)鍵信息。
漏洞關(guān)鍵信息抽取模型構(gòu)建完成后,需要從標(biāo)注的漏洞數(shù)據(jù)中隨機(jī)抽取出一部分未參與訓(xùn)練的樣本,用模型抽取出關(guān)鍵信息與標(biāo)注結(jié)果對(duì)比,設(shè)計(jì)對(duì)比的方法,計(jì)算出漏洞抽取模型的精度。
最后,將利用模型抽取到的非結(jié)構(gòu)漏洞關(guān)鍵信息與原來已經(jīng)存在的結(jié)構(gòu)化信息進(jìn)行融合,結(jié)合構(gòu)建的漏洞本體模型中定義的屬性及邏輯關(guān)系構(gòu)建電力企業(yè)內(nèi)部漏洞數(shù)據(jù)庫(kù),支撐信息安全管理工作。
結(jié)語:本文分析了電力企業(yè)在信息安全領(lǐng)域面臨的嚴(yán)峻形勢(shì),提出了一種基于BERT+CRF的漏洞信息結(jié)構(gòu)化抽取方法,通過從全球權(quán)威的漏洞信息共享平臺(tái)獲取漏洞描述文本信息,采用基于序列標(biāo)注的方法對(duì)漏洞描述中的關(guān)鍵信息進(jìn)行抽取,并結(jié)合漏洞本體構(gòu)建電力企業(yè)內(nèi)部漏洞數(shù)據(jù)庫(kù),形成常態(tài)化的漏洞信息收集、分析及通報(bào)工作機(jī)制,提升電網(wǎng)信息系統(tǒng)的安全防范能力及信息安全水平。