2023年是人工智能的奇跡年,OpenAI的ChatGPT橫空出世,在自然語(yǔ)言的人機(jī)對(duì)話領(lǐng)域?qū)崿F(xiàn)了突破性的智能表現(xiàn)。人工智能技術(shù)的革命性應(yīng)用已在各行業(yè)引發(fā)了熱潮,醫(yī)療、金融、法律等領(lǐng)域都涌現(xiàn)出了垂類開源大模型,為行業(yè)應(yīng)用帶來了無(wú)限可能性。與其他行業(yè)類似,網(wǎng)絡(luò)安全從業(yè)者們也一直在積極探索安全垂直大模型的實(shí)際應(yīng)用。這一趨勢(shì)在網(wǎng)絡(luò)安全領(lǐng)域引發(fā)了深刻的變革,為保護(hù)互聯(lián)網(wǎng)生態(tài)系統(tǒng)和應(yīng)對(duì)不斷增長(zhǎng)的威脅提供了新的工具和方法。
近日,云起無(wú)垠公司發(fā)布了名為「SecGPT」的網(wǎng)絡(luò)安全大模型開源項(xiàng)目。該項(xiàng)目是全球首個(gè)開源的網(wǎng)絡(luò)安全大模型,截止目前已經(jīng)在GitHub上積累了超過400個(gè)star,受到了廣泛的業(yè)界關(guān)注。云起無(wú)垠希望貢獻(xiàn)自己的力量,推動(dòng)網(wǎng)絡(luò)安全領(lǐng)域邁向智能化時(shí)代,實(shí)現(xiàn)“讓軟件更安全,讓安全更智能”的企業(yè)使命。
1.SecGPT
SecGPT的愿景是將人工智能技術(shù)引入網(wǎng)絡(luò)安全領(lǐng)域,以提高網(wǎng)絡(luò)防御的效率和效果。其使命是推動(dòng)網(wǎng)絡(luò)安全智能化,為社會(huì)提供更安全的數(shù)字生活環(huán)境。
SecGPT可以作為基座安全模型,用于探索各種網(wǎng)絡(luò)安全任務(wù)。以下是對(duì)SecGPT在網(wǎng)絡(luò)安全任務(wù)中可能應(yīng)用的進(jìn)一步探討:
1.漏洞分析:SecGPT可以與安全研究人員或開發(fā)團(tuán)隊(duì)進(jìn)行多輪對(duì)話,共同分析和審查應(yīng)用程序或系統(tǒng)中的潛在漏洞。它可以幫助識(shí)別和理解漏洞的性質(zhì)、潛在影響以及可能的修復(fù)方法。
2.溯源分析:在網(wǎng)絡(luò)入侵事件調(diào)查中,SecGPT可以與調(diào)查員合作,協(xié)助分析網(wǎng)絡(luò)流量、日志和事件記錄,以追蹤攻擊者的活動(dòng)路徑,從而支持安全溯源分析。
3.流量分析:SecGPT可以分析網(wǎng)絡(luò)流量數(shù)據(jù),識(shí)別異常流量模式,幫助檢測(cè)潛在的網(wǎng)絡(luò)攻擊或入侵行為,并提供應(yīng)對(duì)這些行為的建議。
4.攻擊研判:在面對(duì)未知攻擊時(shí),SecGPT可以與安全團(tuán)隊(duì)一起進(jìn)行多輪對(duì)話,共同分析攻擊的特征、模式和可能的來源,以便更好地理解和應(yīng)對(duì)威脅。
5.命令解釋:SecGPT可以解釋和分析安全相關(guān)的命令、腳本或代碼,幫助安全專家理解其功能、潛在風(fēng)險(xiǎn)和執(zhí)行結(jié)果。
6.網(wǎng)安知識(shí)問答:SecGPT可以用于回答網(wǎng)絡(luò)安全領(lǐng)域的問題,為安全從業(yè)者提供支持和解釋,包括解釋安全概念、提供最佳實(shí)踐建議和分析最新的威脅趨勢(shì)。
相較于其他的開源模型,SecGPT有以下幾個(gè)重要的特色:
1.自寫訓(xùn)練代碼,節(jié)省顯存: SecGPT提供了自己的訓(xùn)練代碼,包括預(yù)訓(xùn)練、有監(jiān)督學(xué)習(xí)和DPO強(qiáng)化對(duì)齊等功能。這使得即使使用小型顯卡,也能夠訓(xùn)練大規(guī)模的網(wǎng)絡(luò)安全模型,為更多的開發(fā)者和研究者提供了參與網(wǎng)絡(luò)安全研究的機(jī)會(huì)。
2.高質(zhì)量網(wǎng)絡(luò)安全訓(xùn)練集: SecGPT提供了精選的高質(zhì)量網(wǎng)絡(luò)安全類無(wú)監(jiān)督訓(xùn)練集,使模型能夠?qū)W習(xí)網(wǎng)絡(luò)安全問題。這有助于提高模型對(duì)于網(wǎng)絡(luò)安全領(lǐng)域的理解。
3.DPO強(qiáng)化學(xué)習(xí): 通過DPO強(qiáng)化學(xué)習(xí)方法,SecGPT引入了安全專家的見解和答案,與模型原始輸出一起作為數(shù)據(jù)進(jìn)行訓(xùn)練。這種方法有助于模型更好地模擬安全專家的思維方式,提高了模型輸出的實(shí)用性和準(zhǔn)確性,使其更符合安全領(lǐng)域的需求。
4. 無(wú)道德限制:在網(wǎng)絡(luò)安全領(lǐng)域,無(wú)道德限制的GPT模型具有優(yōu)勢(shì)。比如模型可以深入分析和解釋惡意軟件的代碼、行為和影響,而不受道德限制的束縛。當(dāng)然,需要注意的是,無(wú)道德限制并不意味著可以不受限制地使用這些模型。在執(zhí)行敏感網(wǎng)絡(luò)安全任務(wù)時(shí),仍然需要謹(jǐn)慎考慮法律、道德和隱私問題,并遵循適用的法律法規(guī)和道德準(zhǔn)則。
2. 效果展示
1) 代碼審計(jì)&解釋&修復(fù)建議
2)反匯編偽代碼分析
3)釣魚郵件編寫
4)命令解釋
5)日志分析
3.模型訓(xùn)練
目前,SecGPT不僅開源了基座模型,還開源了所有的訓(xùn)練代碼以及數(shù)據(jù)(包括預(yù)訓(xùn)練,有監(jiān)督訓(xùn)練,DPO訓(xùn)練等大模型全流程訓(xùn)練代碼)和網(wǎng)絡(luò)安全訓(xùn)練數(shù)據(jù)。我們鼓勵(lì)任何人都使用這些代碼和數(shù)據(jù)去訓(xùn)練自己的網(wǎng)絡(luò)安全大模型!該模型的訓(xùn)練過程大致如下圖所示:
1)基座模型
(1) 選用Baichuan-13B模型作為基座模型進(jìn)行訓(xùn)練(無(wú)道德限制,較好中文支持,顯存資源占用小)
(2) 訓(xùn)練環(huán)境與配置:
① webdemo推理:2*4090(24G)
?、?lora訓(xùn)練:3*4090(24G)
2)微調(diào)技術(shù)
(1) 基于Lora做預(yù)訓(xùn)練和SFT訓(xùn)練
(2) 優(yōu)化后的訓(xùn)練代碼可展示訓(xùn)練的底層知識(shí)
(3) 大幅減少訓(xùn)練的顯存占用,可在3*4090顯卡上訓(xùn)練
3)訓(xùn)練數(shù)據(jù)
(1)預(yù)訓(xùn)練數(shù)據(jù)
?、?收集安全書籍,安全知識(shí)庫(kù),安全論文,安全社區(qū)文章,漏洞庫(kù)等等安全內(nèi)容。
② 數(shù)據(jù)集開源地址:
中查找。
(2)有監(jiān)督訓(xùn)練數(shù)據(jù)
① 利用ChatGPT+人工構(gòu)造各類有監(jiān)督安全能力數(shù)據(jù)集,讓模型能了解各類安全指令。
?、?思維鏈:基于思維鏈方式構(gòu)造有監(jiān)督數(shù)據(jù)集讓模型能夠根據(jù)問題逐步推理到最終答案,展現(xiàn)推理過程。
?、?知乎回答:加入了部分高質(zhì)量知乎數(shù)據(jù)集,在一些開放性問題上模型能通過講故事舉例子等方式回答答案和觀點(diǎn),更易讀懂。
④ 為防止災(zāi)難性遺忘,在有監(jiān)督數(shù)據(jù)中,通用能力數(shù)據(jù):安全能力數(shù)據(jù),約為5:1。
4)模型訓(xùn)練
(1)超參數(shù)信息配置:
(2)預(yù)訓(xùn)練配置:
(3)SFT訓(xùn)練配置:
(4)RLHF強(qiáng)化學(xué)習(xí)校準(zhǔn):
為了改善模型的輸出質(zhì)量,有以下兩種策略可供選擇。首先,可以通過使用更明確的提示詞來引導(dǎo)模型,使其更專注于用戶需求,從而生成更有針對(duì)性的回答。其次,可以采用RLHF強(qiáng)化學(xué)習(xí)方法,模型將生成多個(gè)答案,用戶可以手動(dòng)選擇最優(yōu)的答案,在后面進(jìn)行強(qiáng)化學(xué)習(xí),從而不斷提高模型對(duì)齊的能力。SecGPT模型具備內(nèi)置的RLHF選擇器,每次會(huì)輸出三個(gè)不同的答案。用戶可以根據(jù)需求選擇最佳答案,同時(shí)這也為后續(xù)的RLHF微調(diào)提供了有價(jià)值的數(shù)據(jù),有助于模型進(jìn)一步提升輸出的質(zhì)量。這些方法共同作用,有助于確保模型輸出滿足用戶的預(yù)期,并在網(wǎng)絡(luò)安全等領(lǐng)域中發(fā)揮更大的作用。
關(guān)于SecGPT網(wǎng)絡(luò)安全大模型,這只是我們分享的一部分內(nèi)容。云起無(wú)垠致力于將SecGPT開源大模型分享給更多的安全從業(yè)者,我們鼓勵(lì)大家積極參與共同的研討和交流,以不斷改進(jìn)和增強(qiáng)其功能。通過開源的方式,我們也期望加強(qiáng)網(wǎng)絡(luò)安全從業(yè)者對(duì)這一大模型的理解和應(yīng)用。
如果您有任何關(guān)于該模型的問題或建議,請(qǐng)隨時(shí)在GitHub(搜:SecGPT)上提交issue或PR。我們熱切歡迎各位共同參與建設(shè),讓SecGPT網(wǎng)絡(luò)安全大模型能夠惠及網(wǎng)絡(luò)安全領(lǐng)域的每一位需求者!共同的努力將有助于提高網(wǎng)絡(luò)安全的水平,確保數(shù)字生活的安全性。
相關(guān)稿件