GPTSecurity是一個涵蓋了前沿學術研究和實踐經驗分享的社區,集成了生成預訓練Transformer(GPT)、人工智能生成內容(AIGC)以及大語言模型(LLM)等安全領域應用的知識。在這里,您可以找到關于GPT/AIGC/LLM最新的研究論文、博客文章、實用的工具和預設指令(Prompts)。現為了更好地知悉近一周的貢獻內容,現總結如下。
Security Papers
1. 利用大語言模型在灰盒模糊測試中生成初始種子
簡介:灰盒模糊測試作為發現軟件漏洞的首選技術,成功在效率與探索深度之間達成平衡。盡管研究方向長期聚焦于模糊測試技術的改進,然而高質量初始種子的關鍵意義卻始終未得到應有的重視,常被研究人員所忽略。現有的種子生成方法確實存在諸多局限,對于那些具有非標準或自定義輸入格式的程序來說更是如此。
大語言模型(LLMs)在眾多領域掀起了變革浪潮,其在理解并生成跨各個知識領域復雜模式方面所展現出的能力堪稱史無前例。
本文向大家介紹一款新穎的系統 ——SeedMind。它借助大語言模型,以智能生成種子的方式強化灰盒模糊測試。與過往方法不同之處在于,SeedMind 利用大語言模型來創建測試用例生成器,而不是直接生成測試用例。研究者采用了一種迭代式、反饋驅動的方法,引導大語言模型逐步優化測試用例生成過程,目標是擴大代碼覆蓋的深度與廣度。
在 SeedMind 的開發進程中,研究者攻克了一系列關鍵難題,像是輸入格式受限、上下文窗口存在約束,以及保障行為的一致性與對進展的感知能力等問題。經過對實際應用的深入評估后發現,SeedMind 能夠高效運用大語言模型生成高質量測試用例,有力推動了漏洞發現方面的模糊測試工作。其成效與人工創建的種子不相上下,并且相較于現有的基于大語言模型的解決方案,具有顯著優勢。
鏈接:
https://arxiv.org/abs/2411.18143
2. InputSnatch:通過時序側信道攻擊竊取大語言模型服務中的輸入信息
簡介:大語言模型(LLMs)憑借其廣泛的知識儲備和強大的問答能力,在金融、醫療咨詢等對隱私高度敏感的領域得以廣泛應用。當大語言模型進行推理運算時,常常會運用緩存共享方法,通過對相同或相似的推理請求重復使用緩存狀態或響應,以此提升效率。
不過,研究者在研究過程中察覺到,這些緩存機制存在著隱私輸入信息泄露的隱患。由于緩存的存在,響應時間會產生可被觀測到的差異,這一差異恰好成為了基于時序攻擊的有力線索。
在本次研究里,研究者創新性地提出了一種基于時序的側信道攻擊手段,專門用于在大語言模型推理過程中竊取輸入信息。基于緩存的攻擊面臨著一個巨大挑戰,即在極為龐大的搜索空間里構建候選輸入,從而精準命中并成功竊取緩存中的用戶查詢信息。
為了有效應對這些挑戰,研究者設計了兩個核心組件。其中,輸入構造器運用機器學習技術以及基于大語言模型的方法來開展詞匯相關性學習,與此同時,實施經過優化的搜索機制以完成通用輸入構造。而時間分析器則借助帶有異常值剔除功能的統計時間擬合技術,來識別緩存命中模式,并持續提供反饋信息,以便進一步優化構造器的搜索策略。
研究者針對兩種緩存機制開展了實驗,實驗結果清晰地表明,研究者所提出的方法在各類應用場景中均能夠始終保持較高的攻擊成功率。研究者的這項工作充分揭示了與性能優化緊密相關的安全漏洞,著重強調在不斷提升大語言模型推理能力的進程中,務必將隱私和安全問題擺在優先考量的重要位置。
鏈接:
https://arxiv.org/abs/2411.18191
3. 評估并提高大語言模型生成的安全攻擊探測器的魯棒性
簡介:大語言模型(LLMs)在軟件開發領域的應用日益廣泛,常被用于生成諸如攻擊探測器這類實現安全需求的功能。但大語言模型在生成精確代碼方面存在困難,這使得在實際應用場景中,其生成的攻擊探測器會遺漏一些廣為人知的攻擊類型。究其原因,很可能是大語言模型對部分現有攻擊缺乏足夠認知,并且生成的代碼也未曾在實際使用情境下接受評估。
為此,研究者創新性地提出一種新方法,將檢索增強生成(RAG)技術與自排序技術整合到大語言模型的工作流程之中。檢索增強生成借助引入外部知識源的方式,強化輸出結果的魯棒性。而自排序技術受自洽性概念的啟發,能夠生成多條推理路徑,并對這些路徑進行排序篩選,進而確定最具魯棒性的探測器。
研究者開展了廣泛的實證研究,重點針對大語言模型生成的用于檢測網絡安全領域中兩種常見注入攻擊 —— 跨站腳本攻擊(XSS)和 SQL 注入攻擊(SQLi)的代碼。研究結果表明,與基線相比,檢測性能得到了顯著提升,在跨站腳本攻擊和 SQL 注入攻擊檢測的 F2 分數方面,分別提升了多達 71 個百分點和 37 個百分點。
鏈接:
https://arxiv.org/abs/2411.18216
4. RTL-Breaker:評估大語言模型在硬件描述語言(HDL)代碼生成中抵御后門攻擊的安全性
簡介:大語言模型(LLMs)在硬件設計的代碼生成與補全任務中彰顯出了非凡的潛力。實際上,基于大語言模型的硬件描述語言(HDL)代碼生成,已然助力該行業更為高效地達成復雜設計,極大地削減了開發周期中所耗費的時間與精力。然而,伴隨對這種自動化手段依賴程度的與日俱增,嚴峻的安全風險也隨之而來。
需要著重指出的是,鑒于大語言模型需在海量代碼數據集上展開訓練,而這些代碼又大多取自公開的代碼庫,且往往未經過全面細致的驗證,因而大語言模型極易遭受所謂的數據投毒或后門攻擊。具體而言,攻擊者會將惡意代碼注入訓練數據之中,而這些惡意代碼極有可能被嵌入大語言模型所生成的硬件描述語言(HDL)代碼里。如此一來,這一威脅因素便極有可能對整個硬件系統的安全與完整性造成損害。
在本項工作中,研究者精心打造了 RTL-Breaker,這是一款專門針對基于大語言模型的硬件描述語言(HDL)代碼生成的全新后門攻擊框架。RTL-Breaker 深入剖析了這一全新問題的關鍵要點:其一,深入探究各種觸發機制以及它們在插入惡意修改時的有效性;其二,全面考量一般情況下后門攻擊對代碼生成所產生的副作用,也就是對代碼質量造成的影響。RTL-Breaker 著重強調了當下迫切需要實施更為強有力的舉措,以有效防范此類攻擊。基于此,研究者將所構建的框架以及所有相關數據進行了開源處理。
鏈接:
https://arxiv.org/abs/2411.17569
5. PEFTGuard:檢測針對參數高效微調的后門攻擊
簡介:微調對于提升大語言模型(LLMs)在特定領域的性能而言,是極為關鍵的一個過程。在眾多微調方式里,參數高效微調(PEFT)憑借其借助集成低秩適配器來削減計算需求的獨特優勢,正變得愈發流行。像低秩適配器(LoRA)這類輕量級適配器,能夠在開源平臺上實現共享與使用。然而,攻擊者可能會利用這一機制向這些適配器中植入后門,進而引發諸如輸出錯誤信息或者產生有害結果等惡意行為,給相關群體帶來了極為嚴重的安全隱患。遺憾的是,當前專門針對分析這些適配器中的后門模式,或者檢測其中后門程序的研究寥寥無幾。
為了彌補這一研究領域的空白,研究者率先構建了(并且即將對外發布)PADBench。這是一套全面且系統的基準測試集,其中涵蓋了 13300 個適配器,這些適配器通過使用不同的數據集、攻擊策略、參數高效微調方法以及大語言模型進行微調,既有良性的,也有被植入后門的。不僅如此,研究者還創新性地提出了 PEFTGuard,這是全球首個專門針對基于參數高效微調的適配器所設計的后門檢測框架。在 PADBench 上開展的大量評估實驗結果清晰地表明,PEFTGuard 的性能表現顯著優于現有的各類檢測方法,在絕大多數情形下,其檢測準確率近乎完美,能夠達到 100%。尤其值得一提的是,PEFTGuard 在三個重要方面展現出了零樣本遷移能力,這三個方面分別是不同類型的攻擊、參數高效微調方法以及適配器的秩。此外,研究者還深入考量了各種自適應攻擊場景,以此充分證實 PEFTGuard 具備高度的魯棒性。研究者更進一步地探索了若干種可能用于緩解后門威脅的防御措施,最終發現精細混合是其中最為行之有效的方法。研究者由衷地期望,研究者所構建的基準測試集以及提出的檢測方法,能夠為未來大語言模型的后門檢測研究工作提供極具價值的思路與啟發。
鏈接:
https://arxiv.org/abs/2411.17453
6. CleanVul:利用大語言模型啟發式方法在代碼提交中進行自動的函數級漏洞檢測
簡介:對于系統完整性而言,準確識別軟件漏洞起著至關重要的作用。在訓練機器學習模型以檢測這些安全缺陷時,漏洞數據集是不可或缺的,其通常來源于美國國家漏洞數據庫(NVD)或者直接取自 GitHub。不過,這些數據集大多存在較高比例的噪聲,比例一般在 40% 到 75% 之間。這主要是由于在對漏洞修復提交(VFCs)里的所有變更進行標記時,采用了自動且無差別的方式,將其全部認定為與漏洞相關。而出現這種誤分類現象的原因在于,提交中用于修復漏洞的所有變更并非都與安全威脅存在關聯,其中許多變更僅僅是像錯誤修復或者測試改進這類常規性的更新。
本文首次提出了一種利用經過啟發式增強的大語言模型(LLM),從漏洞修復提交里自動識別出與修復漏洞相關變更的方法,該方法的 F1 分數達到了 0.82。研究者把名為 VulSifter 的工具應用于一項大規模研究當中,在這項研究里,研究者對 GitHub 上的 127,063 個存儲庫展開了爬取工作,最終收集到了 5,352,105 次提交。VulSifter 的運作原理是利用大語言模型來理解代碼語義以及上下文信息,同時借助啟發式方法將不相關的變更過濾掉。在此基礎上,研究者進一步開發出了 CleanVul,這是一個借助研究者的大語言模型啟發式增強方法構建而成的高質量數據集,其中包含 11,632 個函數,其準確性高達 90.6%,能夠與諸如 SVEN 和 PrimeVul 等現有的數據集相提并論。
為了對 CleanVul 數據集進行評估,研究者開展了一系列實驗,實驗重點是在 CleanVul 和其他高質量數據集上對多種大語言模型進行微調操作。評估結果表明,在 CleanVul 上經過微調的大語言模型不但具有更高的準確性,而且與在未清理數據集上訓練的模型相比,其泛化能力也更為出色。具體來講,在 CleanVul 上訓練后在 PrimeVul 上進行測試的模型所獲得的準確性,要高于僅在 PrimeVul 上訓練和測試的模型。
鏈接:
https://arxiv.org/abs/2411.17274
7. EnStack:一種用于增強源代碼漏洞檢測的大語言模型集成堆疊框架
簡介:軟件漏洞的自動檢測對提升安全性有著舉足輕重的地位,然而當下的既有方法在面對現代代碼庫的復雜性與多樣性時,常常顯得力不從心。在本文之中,研究者將向大家推介 EnStack,這是一個別出心裁的集成堆疊框架,其借助自然語言處理(NLP)技術來強化漏洞檢測的效能。
研究者的方法巧妙地整合了多個專為代碼理解而預訓練的大語言模型(LLMs),其中包括用于語義剖析的 CodeBERT、專注于結構呈現的 GraphCodeBERT,以及具備跨模態能力的 UniXcoder。在 Draper VDISC 數據集上對這些模型予以微調之后,再運用邏輯回歸、支持向量機(SVM)、隨機森林以及 XGBoost 等元分類器來整合它們的輸出結果,如此一來,EnStack 便能精準且高效地捕捉到那些單個模型可能疏忽遺漏的復雜代碼模式以及潛在漏洞。
這些元分類器將每個大語言模型的優勢加以匯聚融合,進而塑造出一個綜合性的模型,該模型在不同的編程環境下,針對那些細微且復雜的漏洞檢測工作展現出了卓越非凡的表現。實驗數據清晰地表明,EnStack 的性能相較于現有的方法有了極為顯著的提升,在準確率、精確率、召回率以及 F1 分數等關鍵指標上均取得了長足的進步。
這項研究工作充分彰顯了集成大語言模型方法在代碼分析任務里所蘊含的巨大潛力,同時也為運用自然語言處理技術來推動自動漏洞檢測工作的發展貢獻了極具價值的思路與見解。
鏈接:
https://arxiv.org/abs/2411.16561