火出圈的ChatGPT,如何讓安全檢測(cè)更智能
ChatGPT(Chat Generative Pre-trained Transformer)是一款美國OpenAI研發(fā)的聊天機(jī)器人程序,能夠通過理解和學(xué)習(xí)人類語言來進(jìn)行對(duì)話,根據(jù)聊天的上下文與使用者互動(dòng),真正像人類一樣聊天交流。它甚至能完成撰寫郵件、視頻腳本、文案、代碼、論文等任務(wù)。
ChatGPT的算法基于Transformer架構(gòu),這是一種使用自注意力機(jī)制處理輸入數(shù)據(jù)的深度神經(jīng)網(wǎng)絡(luò)。Transformer架構(gòu)廣泛應(yīng)用于語言翻譯、文本摘要、問答等自然語言處理任務(wù)。ChatGPT使用了GPT-3.5大規(guī)模語言模型(LLM Large Language Model),并在該模型的基礎(chǔ)上,引入強(qiáng)化學(xué)習(xí)來微調(diào)預(yù)訓(xùn)練的語言模型。這里的強(qiáng)化學(xué)習(xí)采用的是RLHF(Reinforcement Learning from Human Feedback),即人工標(biāo)注方式。目的是通過其獎(jiǎng)勵(lì)懲罰機(jī)制,讓LLM模型學(xué)會(huì)理解各種自然語言處理任務(wù),并學(xué)會(huì)從helpfulness、honest、harmless三個(gè)維度判斷什么樣的答案是優(yōu)質(zhì)的。
ChatGPT模型的主要訓(xùn)練流程如下:
- 首先利用一系列問答對(duì)模型進(jìn)行監(jiān)督訓(xùn)練(也叫監(jiān)督指令微調(diào))。
- 利用強(qiáng)化學(xué)習(xí)對(duì)模型進(jìn)一步指令微調(diào),即模型在給定環(huán)境中,不斷根據(jù)環(huán)境的獎(jiǎng)勵(lì)和懲罰,擬合到一個(gè)最適應(yīng)環(huán)境的狀態(tài)。具體來說,就是在人類的參與下訓(xùn)練一個(gè)獎(jiǎng)賞網(wǎng)絡(luò),這個(gè)獎(jiǎng)賞網(wǎng)絡(luò)具有對(duì)多個(gè)聊天回復(fù)進(jìn)行好壞排序的能力。
- 利用這個(gè)獎(jiǎng)賞網(wǎng)絡(luò),進(jìn)一步通過強(qiáng)化學(xué)習(xí)不斷優(yōu)化模型。
在安全檢測(cè)領(lǐng)域,越來越多的企業(yè)組織開始使用人工智能技術(shù),來幫助檢測(cè)網(wǎng)絡(luò)流量中的潛在威脅。人工智能的優(yōu)勢(shì)在于,它可以處理大量的數(shù)據(jù),快速準(zhǔn)確地識(shí)別并分類異常流量。通過訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,人工智能可以自動(dòng)化檢測(cè)識(shí)別網(wǎng)絡(luò)攻擊、漏洞利用和惡意軟件等行為,減少人工干預(yù)和誤報(bào),提高檢測(cè)的準(zhǔn)確性與效率。
當(dāng)前主流的網(wǎng)絡(luò)攻擊檢測(cè),核心是基于DPI技術(shù),發(fā)展出的針對(duì)HTTP訪問的檢測(cè)(WAF),以及針對(duì)操作系統(tǒng)的入侵防御檢測(cè)(IPS)。即部署在應(yīng)用前,在用戶請(qǐng)求到達(dá)服務(wù)端之前對(duì)其進(jìn)行掃描和過濾,分析校驗(yàn)每個(gè)用戶請(qǐng)求的網(wǎng)絡(luò)包,確保每個(gè)請(qǐng)求的安全有效,對(duì)無效或有攻擊行為的請(qǐng)求進(jìn)行攔截或隔離。目前,常用的攻擊檢測(cè)方式如下:
1.簽名檢測(cè)技術(shù)
基于事先編寫的特定規(guī)則或模式(正則表達(dá)式)檢測(cè)網(wǎng)絡(luò)流量中的威脅,如病毒、惡意軟件、入侵行為等。但是由于攻擊手段多樣化,有經(jīng)驗(yàn)的黑客可以通過一些語句變化繞過檢測(cè)。正則表達(dá)式是由關(guān)鍵字發(fā)展而來的,雖然在一定程度上降低了誤報(bào)率,但由于正則表達(dá)式是基于字符串的過濾,只能檢測(cè)預(yù)定好的攻擊行為;針對(duì)一些比較復(fù)雜的注入方法,同樣存在漏報(bào)率高的問題。
2.流量分析技術(shù)
通過對(duì)同類流量的來源IP、協(xié)議類型比例、流量上下行趨勢(shì)等基礎(chǔ)元素的建模分析,得到一些異常事件的分析結(jié)論。但是流量分析需要對(duì)網(wǎng)絡(luò)流量進(jìn)行捕獲分析,所以需要較高的計(jì)算資源和存儲(chǔ)資源,會(huì)使得整個(gè)系統(tǒng)比較龐大。
3.行為分析技術(shù)
通過監(jiān)視網(wǎng)絡(luò)流量的行為,檢測(cè)出異常活動(dòng)。例如,檢測(cè)出某Web應(yīng)用服務(wù)器訪問非業(yè)務(wù)數(shù)據(jù)庫、突發(fā)大量數(shù)據(jù)流、頻繁訪問嘗試等,進(jìn)而發(fā)現(xiàn)潛在的網(wǎng)絡(luò)威脅。在這一過程中,會(huì)誤報(bào)一些合法活動(dòng)(例如臨時(shí)下載等),且成熟的行為分析模型需要較長時(shí)間來訓(xùn)練和學(xué)習(xí),因此防護(hù)效率可能較低。
4.基于語義的規(guī)則匹配
將檢測(cè)引擎設(shè)計(jì)成SQL語義解釋器或命令行終端,嘗試?yán)斫庥脩糨斎氲膬?nèi)容,判斷是否有可能構(gòu)成攻擊。目前主要針對(duì)SQL注入,使用場(chǎng)景有限。
基于DPI引擎的檢測(cè)方式,除了有這些使用限制外,還存在多種繞過流量解析引擎進(jìn)行入侵的方法。例如,利用DPI引擎可能存在的HTTP協(xié)議解析缺陷,只識(shí)別80端口為HTTP流量,而Web應(yīng)用端口在8080上,其HTTP流量會(huì)被DPI引擎解析為非HTTP,從而繞過應(yīng)用層攻擊檢測(cè)。
哪些環(huán)節(jié)可以應(yīng)用ChatGTP
我們按照DPI引擎的解包流程,將原始流量解析出關(guān)鍵字段數(shù)據(jù),進(jìn)行規(guī)則匹配。如果能匹配到規(guī)則,則說明報(bào)文存在攻擊行為;如果不能匹配,則說明報(bào)文風(fēng)險(xiǎn)較低。DPI引擎收到的流量如下圖:
DPI引擎會(huì)按照會(huì)話對(duì)流量進(jìn)行分組,在同一個(gè)組中的報(bào)文,一般為同一五元組的請(qǐng)求響應(yīng)報(bào)文:
DPI引擎會(huì)將流量按照協(xié)議層級(jí)進(jìn)行拆解,直到解析出所有的字段。
DPI引擎會(huì)提取其中應(yīng)用層的明文請(qǐng)求,作為待檢測(cè)內(nèi)容:
ChatGPT作為一種大型自然語言處理模型,可以理解HTTP原始報(bào)文信息,這樣無論攻擊出現(xiàn)在URL、Cookies還是Referer中,都能順利檢測(cè)到。
ChatGPT流量檢測(cè)實(shí)踐
ChatGPT、New Bing等攻擊判斷模塊,會(huì)調(diào)用OpenAI相關(guān)API接口,使用提問的方式讓ChatGPT、New Bing等進(jìn)行攻擊判斷,示意代碼如下:
通過上述函數(shù),就可以達(dá)到類似向ChatGPT提問的效果(使用模型為text-davinci-003),如下圖:
ChatGPT會(huì)返回明確的是否存在攻擊行為的結(jié)論以及行為描述,這樣就完成了一次攻擊判斷。
如上圖,可以將流量中大量需要判斷的請(qǐng)求,分別存入不同的文件,由ChatGPT進(jìn)行攻擊判讀,示例代碼如下:
如此就可以做到批量報(bào)文攻擊檢測(cè)。
攻擊樣本來自Nuclei對(duì)靶機(jī)的掃描和全PoC檢測(cè),因?yàn)橛幸恍┱?qǐng)求從單個(gè)報(bào)文中確實(shí)看不出來是否存在威脅。
上述情況可能需要更多上下文才能判斷,此次已去除此類無法準(zhǔn)確判斷的請(qǐng)求例,盡量給一些人工條件下能夠準(zhǔn)確判斷的樣例,總體檢測(cè)結(jié)果如下圖:
可見ChatGPT對(duì)流量檢測(cè)的準(zhǔn)確率是非常高的,基本上相當(dāng)于一個(gè)安全專家進(jìn)行快速判斷,其安全檢測(cè)能力值得期待。
有興趣的讀者可以查看完整的項(xiàng)目源碼,鏈接為:https://github.com/VitoYane/PcapSplit
未來展望
未來,ChatGPT在網(wǎng)絡(luò)安全中將扮演什么角色、有什么影響,我們很難進(jìn)行準(zhǔn)確預(yù)測(cè),這取決于它的使用方式和使用意圖。來自人工智能的威脅并不是一個(gè)新問題,對(duì)網(wǎng)絡(luò)安全從業(yè)者來說,重要的是及時(shí)意識(shí)到ChatGPT的潛在風(fēng)險(xiǎn)并采取適當(dāng)?shù)拇胧﹣響?yīng)對(duì)。
安全專家預(yù)測(cè),國家背景的黑客將率先在網(wǎng)絡(luò)攻擊中利用ChatGPT,而該技術(shù)最終會(huì)在更多的攻擊組織中得到大規(guī)模的使用,防守方需要開始研發(fā)能夠抵御此類攻擊的系統(tǒng)。
從網(wǎng)絡(luò)安全防護(hù)的角度來看,企業(yè)機(jī)構(gòu)可以采取針對(duì)性的應(yīng)對(duì)措施,對(duì)ChatGPT等類似模型進(jìn)行培訓(xùn),標(biāo)記惡意活動(dòng)和惡意代碼,同時(shí)對(duì)其設(shè)置難以繞過的護(hù)欄。對(duì)于ChatGPT引發(fā)的威脅,可以向員工提供新型的網(wǎng)絡(luò)意識(shí)培訓(xùn),掌握識(shí)別社會(huì)工程攻擊的知識(shí),以便識(shí)別ChatGPT等人工智能工具創(chuàng)造的釣魚攻擊。
當(dāng)然僅僅是這樣還不夠。ChatGPT等人工智能工具會(huì)以比人類罪犯更快的速度制造出新的威脅,傳播威脅的速度也將超過網(wǎng)絡(luò)安全人員的反應(yīng)速度。企業(yè)機(jī)構(gòu)跟上這一變化速度的唯一方法,是使用人工智能來應(yīng)對(duì)人工智能。
總的來說:一方面,網(wǎng)絡(luò)安全行業(yè)的研究人員、從業(yè)者、學(xué)術(shù)機(jī)構(gòu)和企業(yè)組織可以利用ChatGPT的力量進(jìn)行創(chuàng)新和協(xié)作,包括漏洞發(fā)現(xiàn)、事件響應(yīng)和釣魚檢測(cè);另一方面,隨著ChatGPT等工具的發(fā)展,未來開發(fā)新的網(wǎng)絡(luò)安全工具更加重要。安全廠商應(yīng)更積極地開發(fā)和部署基于行為(而非規(guī)則)的AI安全工具,來檢測(cè)人工智能生成的攻擊。