如何利用ChatGPT提升安全檢測智能化水平

WBOY
發布: 2023-04-26 16:04:08
轉載
2283 人瀏覽過
ChatGPT是什麼

ChatGPT(Chat Generative Pre-trained Transformer)是一款美國OpenAI研發的聊天機器人程序,能夠透過理解和學習人類語言來進行對話,根據聊天的上下文與使用者互動,真正像人類一樣聊天交流。它甚至能完成撰寫郵件、影片腳本、文案、程式碼、論文等任務。

ChatGPT的演算法是基於Transformer架構,這是一種使用自註意力機制處理輸入資料的深度神經網路。 Transformer架構廣泛應用於語言翻譯、文字摘要、問答等自然語言處理任務。 ChatGPT使用了GPT-3.5大規模語言模型(LLM Large Language Model),並在該模型的基礎上,引入強化學習來微調預訓練的語言模型。這裡的強化學習採用的是RLHF(Reinforcement Learning from Human Feedback),也就是手動標註方式。目的是透過其獎勵懲罰機制,讓LLM模型學會理解各種自然語言處理任務,並學會從helpfulness、honest、harmless三個維度判斷什麼樣的答案是優質的。

如何利用ChatGPT提升安全檢測智能化水平

ChatGPT模型的主要訓練流程如下:

  • 首先利用一系列問答對模型進行監督訓練(也叫監督指令微調)。
  • 利用強化學習對模型進一步指令微調,即模型在給定環境中,不斷根據環境的獎勵和懲罰,擬合到一個最適應環境的狀態。具體來說,就是在人類的參與下訓練一個獎賞網絡,這個獎賞網絡具有對多個聊天回復進行好壞排序的能力。
  • 利用這個獎賞網絡,進一步透過強化學習不斷優化模型。

如何利用ChatGPT提升安全檢測智能化水平

安全偵測怎麼做#​​##在安全偵測領域,越來越多的企業組織開始使用人工智慧技術,來幫助偵測網路流量中的潛在威脅。人工智慧的優點在於,它可以處理大量的數據,快速且準確地識別並分類異常流量。透過訓練神經網路模型,人工智慧可以自動化偵測識別網路攻擊、漏洞和惡意軟體等行為,減少人工幹預和誤報,提高檢測的準確性與效率。

目前主流的網路攻擊偵測,核心是基於DPI技術,發展出的針對HTTP存取的偵測(WAF),以及針對作業系統的入侵防禦偵測(IPS)。即部署在應用程式前,在使用者要求到達服務端之前對其進行掃描和過濾,分析校驗每個使用者請求的網路包,確保每個請求的安全有效,對無效或有攻擊行為的請求進行攔截或隔離。目前,常用的攻擊偵測方式如下:

1.簽章偵測技術

基於事先編寫的特定規則或模式(正規表示式)偵測網路流量中的威脅,如病毒、惡意軟體、入侵行為等。但是由於攻擊手段多樣化,有經驗的駭客可以透過一些語句變化來繞過偵測。正規表示式是由關鍵字發展而來的,雖然在一定程度上降低了誤報率,但由於正則表達式是基於字串的過濾,只能檢測預定好的攻擊行為;針對一些比較複雜的注入方法,同樣有漏報率高的問題。

2.流量分析技術

透過同類流量的來源IP、協定類型比例、流量上下行趨勢等基礎元素的建模分析,得到一些異常事件的分析結論。但是流量分析需要對網路流量進行擷取分析,所以需要較高的運算資源和儲存資源,會讓整個系統比較龐大。

3.行為分析技術

透過監視網路流量的行為,偵測出異常活動。例如,偵測出某網路應用程式伺服器存取非業務資料庫、突發大量資料流、頻繁存取嘗試等,進而發現潛在的網路威脅。在這過程中,會誤報一些合法活動(例如臨時下載等),而成熟的行為分析模型需要較長時間來訓練和學習,因此防護效率可能較低。

4.基於語意的規則符合

將偵測引擎設計成SQL語意解釋器或命令列終端,試著理解使用者輸入的內容,判斷是否有可能構成攻擊。目前主要針對SQL注入,使用場景有限。

基於DPI引擎的偵測方式,除了有這些使用限制外,還有多種繞過流量解析引擎進行入侵的方法。例如,利用DPI引擎可能存在的HTTP協定解析缺陷,只辨識80埠為HTTP流量,而Web應用埠在8080上,其HTTP流量會被DPI引擎解析為非HTTP,進而繞過應用層攻擊偵測。

哪些環節可以應用ChatGTP

我們依照DPI引擎的解包流程,將原始流量解析出關鍵字段數據,進行規則比對。如果能匹配到規則,則表示封包有攻擊行為;如果不能匹配,則表示封包風險較低。 DPI引擎收到的流量如下圖:

如何利用ChatGPT提升安全檢測智能化水平

DPI引擎會依照會話將流量分組,在同一個群組的報文,一般為同一五元組的請求回應封包:

如何利用ChatGPT提升安全檢測智能化水平

DPI引擎會將流量依照協定層級進行拆解,直到解析出所有的欄位。

如何利用ChatGPT提升安全檢測智能化水平

DPI引擎會提取其中應用層的明文請求,作為待檢測內容:

如何利用ChatGPT提升安全檢測智能化水平

ChatGPT作為一種大型自然語言處理模型,可以理解HTTP原始封包訊息,這樣無論攻擊出現在URL、Cookies或Referer中,都能順利偵測到。

ChatGPT流量偵測實踐

ChatGPT、New Bing等攻擊判斷模組,會呼叫OpenAI相關API接口,使用提問的方式讓ChatGPT、New Bing等進行攻擊判斷,示意程式碼如下:

import openai
openai.api_key = "sk-Bew1dsFo3YXoY2***********81AkBHmY48ijxu"# api token 用来认证
def get_answer(prompt, max_tokens): # 定义一个获取答案的函数
try:
response = openai.Completion.create(
model = "text-davinci-003", # 模型名称
prompt = prompt,# 问题
temperature = 0.7,
max_tokens = max_tokens,# 返回内容的长度限制
stream = False, # False就是一次性返回, True 就是一个个打出来像打字机, 返回的是迭代器, 需要后面代码处理. 此处没有处理 所以用False
top_p = 1, 
frequency_penalty = 0,
presence_penalty = 0 
)
return 0, response['choices'][0]['text'].strip()# 获取返回值关键返回内容
except Exception as e:# 异常处理
return str(e), None
登入後複製

透過上述函數,就可以達到類似向ChatGPT提問的效果(使用模型為text-davinci-003),如下圖:

如何利用ChatGPT提升安全檢測智能化水平

#ChatGPT會回傳明確的是否存在攻擊行為的結論以及行為描述,這樣就完成了一次攻擊判斷。

如何利用ChatGPT提升安全檢測智能化水平

如上圖,可以將流量中大量需要判斷的請求,分別存入不同的文件,由ChatGPT進行攻擊判讀,範例程式碼如下:

def main(read_dir = 'detect'):# 定义main函数
args = []# 缓存列表
global sign_req, all_req# 识别计数
for rf in walk_dir(read_dir, ['.txt']):# 遍历待检测目录
all_req += 1# 总数据包数自增1
content = read_fileA(rf, 'str')[:2048]# 提取报文文件前2048个字符
key_content = content.split('rnrnrn')[0][:1024]# 提取http请求
if len(key_content) < 10: continue# 如果长度太小就不检测
err, sign, disc = judge_attack(key_content, rf_rst)# 调用ChatGPT接口进行攻击检测
if sign: sign_req += 1# 如果检测到攻击, 攻击计数自增1

print('r' + f' 已检测 {all_req: 4} 个报文, 识别到攻击 {sign_req} 个, 检出率: {sign_req/all_req:0.2%}', end='', flush=True) # 打印结论
登入後複製

如此就可以做到批次封包攻擊偵測。

如何利用ChatGPT提升安全檢測智能化水平

攻擊樣本來自Nuclei對靶機的掃描和全PoC偵測,因為有一些請求從單一封包中確實看不出來是否有威脅。

如何利用ChatGPT提升安全檢測智能化水平

上述情況可能需要更多上下文才能判斷,此次已去除此類無法準確判斷的請求例,盡量給一些人工條件下能夠準確判斷的範例,整體檢測結果如下圖:

如何利用ChatGPT提升安全檢測智能化水平

可見ChatGPT對流量偵測的準確率是非常高的,基本上相當於一個安全專家進行快速判斷,其安全偵測能力值得期待。

有興趣的讀者可以查看完整的專案源碼,連結為:https://github.com/VitoYane/PcapSplit

未來展望

未來,ChatGPT在網路安全中將扮演什麼角色、有什麼影響,我們很難進行準確預測,這取決於它的使用方式和使用意圖。來自人工智慧的威脅並不是一個新問題,對網路安全從業者來說,重要的是及時意識到ChatGPT的潛在風險並採取適當的措施來應對。

安全專家預測,國家背景的駭客將率先在網路攻擊中利用ChatGPT,而該技術最終會在更多的攻擊組織中得到大規模的使用,防守方需要開始研發能夠抵禦此類攻擊的系統。

從網路安全防護的角度來看,企業機構可以採取針對性的應對措施,對ChatGPT等類似模型進行培訓,標記惡意活動和惡意程式碼,同時對其設定難以繞過的護欄。對於ChatGPT引發的威脅,可以提供員工新型的網路意識培訓,掌握辨識社會工程攻擊的知識,以便辨識ChatGPT等人工智慧工具所創造的釣魚攻擊。

當然只是這樣還不夠。 ChatGPT等人工智慧工具會以比人類罪犯更快的速度製造出新的威脅,傳播威脅的速度也將超過網路安全人員的反應速度。企業機構跟上這變化速度的唯一方法,是使用人工智慧來應對人工智慧。

總的來說:一方面,網路安全產業的研究人員、從業者、學術機構和企業組織可以利用ChatGPT的力量進行創新和協作,包括漏洞發現、事件回應和釣魚檢測;另一方面,隨著ChatGPT等工具的發展,未來開發新的網路安全工具更加重要。安全廠商應更積極地開發和部署基於行為(而非規則)的AI安全工具,來偵測人工智慧產生的攻擊。

以上是如何利用ChatGPT提升安全檢測智能化水平的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:51cto.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!