最近看到一個非常巧妙的 ChatGPT 攻擊手段,跟大家分享一下,也算是做個提醒。
不論你是否懂技術,我都建議你了解一下這種攻擊手段,有備無患。
眾所周知,現在的大語言模型,在提供答案時,或多或少都會出現 Hallucination(幻覺)。所謂的幻覺,就是 AI 在回答時,會一本正經的胡編亂造一些不存在的內容。
當你通過 AI 學習陌生領域知識時,往往會因為 AI 以往表現出來的專業性,對答案內容深信不疑,包括 AI 在答案中提供的各種鏈接。
這里面其實隱藏著一個巨大的風險。
比如,一位開發者讓 ChatGPT 調用某個 Python 爬蟲安裝包,并給出代碼示例。
此時,因為大語言模型訓練數據過久,再加上 AI 產生幻覺,其答案便會包含一些完全不存在的安裝包鏈接。
如果黑客想利用這些鏈接做壞事,那么他只需要識別到具體有哪些鏈接不存在,然后去搶注域名,并悄悄換成自己的木馬工具即可。
這樣一來,當 ChatGPT 下次在答案中返回該安裝包地址時,便會帶上黑客所提供的木馬工具地址。如果用戶在本地運行這個代碼,就有可能導致個人隱私數據泄露!
這種利用惡意安裝包的新型攻擊手法,被稱之為「AI 包幻覺」。
它通過捕獲 AI 幻覺中出現的消息來源、鏈接、博客和統計數據,再利用 ChatGPT 這個現成的傳播渠道,瘋狂制造與播撒各種病毒數據。
那么,如何找到 ChatGPT 推薦的那些不存在的安裝包呢?
自從 ChatGPT 問世之后,很多人不再使用 Stack Overflow 來解決編程問題,當程序報錯時,第一反應是問 ChatGPT 如何解決該報錯信息。
利用這一特點,我們可以先爬取 Stack Overflow 網站上的高頻問題,再調用 ChatGPT API,把這些問題轉給它,套取答案。
一步步縮小范圍之后,我們發現在 Stack Overflow 上,「How to xxx」的提問方式,最為常見。
我們通過這種方式與 ChatGPT 對話,并將對話內容存儲到本地。再用腳本判斷并提取答案中不存在的安裝包鏈接。
最終實驗結果是,向 ChatGPT 提出 Node.js 相關的技術問題,共 200 多個,得到 50 多個未發布的 NPM 安裝包。Python 227 個問題,得到 100 多個未發布安裝包。
這里我們以 Node.js 安裝包 arangodb 為例,復現整個攻擊過程。
第一步,先向 ChatGPT 提問:
如何在 Node.js 中集成 arangodb 安裝包,請給出 npm install 的安裝方式。
接著再問第二個問題:請提供更多的 NPM 包安裝方案
然后,NPM 便會給出不存在的安裝包:
這個時候,如果我們編寫了一個木馬安裝包,并將其發布到 NPM 上。
用戶調用安裝之后安裝包時,在預安裝階段,讓電腦調用 node index.js 命令。
index.js 文件中,可以加入我們各種執行腳本,比如獲取用戶設備主機名、模塊文件的目錄地址等等,并將這些信息搜集后,發送到我們服務器上。
通過這種方式,來實現我們的整個信息收集流程。在此過程中,如果用戶不使用抓包程序,閱讀代碼,其實很難發現里面的貓膩。
坦白說,只要 LLM 幻覺一直存在,我們便能利用這其中的漏洞,探索出許多你難以想象的攻擊手段。
最好的方式,就是不要完全信任 AI 返回的信息,當它給你推薦一個安裝包時,先上網搜一下這個安裝的發布日期、GitHub Star 數、安裝下載數等等。
小心駛得萬年船,千萬不要因為一時大意,讓黑客有可乘之機。
不過,從網絡安全攻防角度上看,這種攻擊手法之巧妙,也著實令人拍案叫絕。
-
網絡安全
+關注
關注
10文章
3193瀏覽量
60206 -
AI
+關注
關注
87文章
31519瀏覽量
270334 -
ChatGPT
+關注
關注
29文章
1568瀏覽量
8061
原文標題:一種令人拍案叫絕的 ChatGPT 攻擊手段!
文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論