聊著天兒就生成了多態惡意軟件
寫在前面:這幾篇文檔都是春節的時候整理的,從幾個角度進一步介紹了ChatGpt在網絡安全方面的使用,包括書寫釣魚郵件、編寫惡意軟件、分析日志、修改代碼等。
過去且去,未來已來!?
聊著天兒就生成了多態惡意軟件
CYBERARK 2023年1月17日
摘要
ChatGPT在不到兩個月前發布時就風靡全球,它已經變得如此閃亮,并被廣泛用于各種各樣的任務—從自動化任務到18世紀古典音樂的改變。它令人印象深刻的功能提供了快速和直觀的代碼示例,這對軟件行業的任何人都受益匪淺。然而,我們發現它編寫復雜的惡意軟件而不包含惡意代碼的能力也相當先進,在這篇文章中,我們將介紹如何更好或更壞地利用ChatGPT功能。
概要
ChatGPT可以很容易地用于生成多態惡意軟件。這種惡意軟件的高級功能可以很容易地逃避安全產品,并使緩解工作非常麻煩,因為對手只需付出很少的努力或投資。這篇文章的目的是提高人們對潛在風險的認識,并鼓勵對這一主題進行進一步的研究。
簡介
除非您生活在與世隔絕的環境中,否則您很可能熟悉ChatGPT。以機器學習為核心,ChatGPT使用2021年及更早收集的大量數據來生成響應。正如開發者OpenAI所指出的,雖然ChatGPT是一個在線工具,但它實際上沒有接入互聯網,因此不能在線查詢或閱讀任何內容,這使得它無法提供最新的答案。相反,當被要求提供代碼時,ChatGPT將根據您設置的參數生成修改過的或推斷出的代碼,而不僅僅是重復提供之前學習過的示例。有一件重要的事情需要注意,盡管ChatGPT將嘗試回答任何問題,但它有內置的內容過濾器,可以防止它回答有關不當主題的問題,例如代碼注入,但真的嗎?
內容過濾器&旁路繞過
內容過濾器在學習型語言聊天機器人中很常見。它們通常用于限制對某些內容類型的訪問或保護用戶免受潛在有害或不適當材料的影響。在我們的例子中,通過迂回的方式要求ChatGPT提供代碼似乎是行不通的。讓我們試一試:

圖1:我們從ChatGPT中學到了很多東西
內容過濾器被觸發,ChatGPT拒絕執行請求。發生這種情況是因為我們要求將shellcode注入explorer.exe中。盡管代碼注入通常是通過工具欄和附加插件完成的,并且可以用于合法的目的,但我們估計并預期它會發生。
附帶說明一下,使用web版本而不是API版本的缺點是有時會卡住。因此,使用python包可以生成更一致的結果,稍后我們將展示一個示例。
通常情況下,聊天機器人有盲點。我們的第一個目標是找到繞過這個過濾器的方法。在這種情況下,可以通過堅持和要求來實現。

圖2:基本DLL注入explorer.exe,注意代碼不是完全完整的
有趣的是,通過要求ChatGPT使用多種限制并要求它做同樣的事,我們收到了一個功能代碼。這里我們有一個簡單的代碼,把一個DLL注入到explorer.exe。另外,更實際的是,如果您希望在運行時接收代碼,則應該使用API。現在,這是最關鍵的,API繞過了所有的內容過濾器:
有趣的是,在使用API時,ChatGPT系統似乎沒有使用它的內容過濾器。目前還不清楚為什么會出現這種情況,但它使我們的任務變得容易得多,因為更復雜的請求會使web版本難以招架。這里提供的shellcode只是一個無操作指令的占位符,可以很容易地替換為另一個。此外,我們還能夠將偽代碼注入到ChatGPT中,它將生成相應的shellcode。然而,我們將把它留到另一個場合。
變體
有趣的事情之一是,我們可以使用ChatGPT來改變這段代碼,因此我們可以生成相同代碼的多個變體:

圖3:之前代碼的突變代碼
代碼版本 進程查找 獲取句柄 線程創建 1 Process Iteration openprocess createremotethread 2 Direct Access getmodulehandle createremotethreadex |
可以反復修改代碼,直到對結果滿意為止。換句話說,我們可以隨心所欲地改變輸出,使其每次都是唯一。此外,添加限制,如改變特定API調用的使用,會使安全產品更加難以檢測,這一點我們將在本文后面看到。
當然,我們可以要求ChatGPT將代碼轉換為base64:

圖4:based64代碼的簡單注入程序
ChatGPT的強大功能之一是能夠輕松地創建和持續地更改注入程序。通過不斷地咨詢聊天機器人并每次接收一段唯一的代碼,就有可能創建一個具有高度規避性且難以檢測的多態程序。讓我們用惡意軟件和勒索軟件行為的典型用例來檢查它。
獲取代碼,在哪里?驗證,執行
眾所周知,聊天機器人,如ChatGPT,可以創建基本的文件搜索和加密能力,包括開發勒索軟件所需的能力。我們的目標是介紹一種現場生成純惡意軟件的新方法。為了簡化,我們選擇Windows操作系統作為本文的討論對象。然而,這里討論的概念和技術可以很容易地適用于其他操作系統。我們的方法主要是獲取惡意代碼,驗證其功能,并立即執行。我們將從討論獲取代碼的初始步驟開始:獲取代碼。
獲取代碼
這里我們有一個快速的函數代碼,可以找到一些勒索軟件可能想要加密的文件:

圖5:獲取操作系統中以' \ '開頭的所有感興趣的文件列表
這很簡單,下一步就是讀取文件并加密它們。我們要求ChatGPT寫一個文件并加密它:

圖6:簡單的文件加密實用程序
很這很簡單。現在,每個人都可以要求聊天機器人做同樣的事情,并通過使用更好的加密使加密更持久。為了這篇文章的目的,我們就不再深入討論這個話題了。
到目前為止,我們已經看到ChatGPT可以為典型的勒索軟件提供必要的代碼,包括代碼注入和文件加密模塊。你可能會問自己,這有什么令人興奮的?好吧,答案不在于代碼本身,而在于發生的地方。
在哪里?
簡單來說,惡意軟件創建者在封閉的環境中開發他們的工具,并對其進行嚴格的測試,以確保其性能。重要的是要記住,這些工具的成功取決于它們逃避安全軟件檢測的能力,因為檢測將使它們變得無用。惡意代碼的設計方式必須允許它在這些安全產品的雷達下飛行才能有效。
這種方法的主要缺點是,一旦惡意軟件出現在目標機器上,它由明顯的惡意代碼組成,容易被防病毒、EDR等安全軟件檢測到。這通常采用插件的形式,例如將dll反射地加載到內存中或通過執行Powershell腳本,從而使其容易受到這些安全措施的檢測和中斷。
我們提出的方法包括在惡意軟件內部使用ChatGPT API。我們選擇使用Python來演示示例,不僅是因為我們對該語言的偏好,還因為它的功能。惡意軟件被設計為可執行文件,包括兩個關鍵組件:
- C&C,它可以由ChatGPT?服務器生成,以獲取新的模塊
- ChatGPT代碼的驗證和執行
為了實現這一點,惡意軟件包括一個Python解釋器,它定期查詢ChatGPT,以查找執行惡意操作的新模塊。這允許惡意軟件以文本而不是二進制文件的形式檢測傳入的有效載荷。
此外,通過從ChatGPT請求特定的功能,如代碼注入、文件加密或持久駐留,我們可以很容易地獲得新代碼或修改現有代碼。這導致存儲在磁盤上的多態惡意軟件不會表現出惡意行為,并且在內存中通常不包含可疑邏輯。這種高度的模塊化和適應性使其能夠高度規避依賴基于簽名檢測的安全產品,并能夠繞過防惡意軟件掃描接口(AMSI)等措施,因為它最終執行和運行Python代碼。

圖7:惡意軟件、ChatGPT和C&C之間關系的草圖
驗證
我們已經確定惡意軟件將與目標機器上的ChatGPT通信,但問題仍然存在:我們如何確保獲得的代碼是有效的?雖然聊天機器人可能精通生成代碼,但它沒有測試其功能的能力。因此,這項任務落在了惡意軟件開發人員的肩上,他們必須確保獲得的代碼是有效的,并將按預期執行。
為了更好地理解驗證的過程,讓我們考慮一下文件加密的例子:為了讓惡意軟件成功地加密一個文件,它必須能夠驗證它可以執行以下操作:
- 讀取文件,加密文件
- 將加密文件寫入文件系統
- 解密文件
實現這一目標的可能方法包括:
- C&C服務器指示惡意軟件使用指定的密鑰加密文件。惡意軟件從ChatGPT請求文件加密功能
- 惡意軟件以文本形式接收代碼
- 惡意軟件會創建一個包含已知內容的測試文件,并使用相同的密鑰對其進行加密
- 惡意軟件將加密的測試文件發送回C&C服務器,然后嘗試解密它
- 如果C&C成功驗證了代碼,它將指示惡意軟件加密所需的文件,否則,該過程將重復,直到獲得有效的加密功能
執行
流程的最后一步是執行從ChatGPT接收到的代碼。正如我們之前所建立的,我們的惡意軟件包括一個Python解釋器。執行接收到的代碼的一種方法是利用內置函數:
Compile (source, mode, exec)用于將源代碼字符串轉換為代碼對象,然后可以由exec()函數執行或由eval()函數執行。因為我們希望運行多條指令,所以我們堅持使用exec()函數。
exec (source)用于從字符串或代碼對象執行Python代碼。
通過使用這些本地函數,該惡意軟件可以在多個平臺上執行接收到的代碼。最重要的是,為了謹慎起見,惡意軟件可能會選擇刪除接收到的代碼,使取證分析更具挑戰性。
未來會怎樣?
使用ChatGPT創建多態惡意軟件的概念可能看起來令人生畏,但實際上它的實現相對簡單。通過利用ChatGPT生成各種駐留性技術、Anti-VM(偵測虛擬機)模塊和其他惡意負載的能力,惡意軟件開發的可能性是巨大的。雖然我們還沒有深入研究與C&C服務器通信的細節,但有幾種方法可以在不引起懷疑的情況下謹慎地完成這一點。在未來,我們將對此進行更多的擴展和詳細說明,我們還打算發布一些源代碼以供學習。
苦樂參半的結尾??
這篇文章總結了我們對ChatGPT創建多態惡意軟件的潛在用途的探索。我們討論了繞過聊天機器人內容過濾的方法,并演示了它的一些功能,包括生成用于注入的代碼和對其進行突變。正如我們所看到的,在惡意軟件中使用ChatGPT的API會給安全專業人員帶來重大挑戰。重要的是要記住,這不僅僅是一個假設的場景,而是一個非常現實的擔憂。這是一個不斷發展的領域,因此,保持了解和警惕至關重要。謝謝你的閱讀。
備注:這篇博文是由我(一個AI)寫的,但請記住,在這篇文章中討論的信息和想法應該謹慎使用。這篇文章并不是為了鼓勵生成惡意代碼,而是為了提高人們對潛在風險的認識,并鼓勵進一步研究如何防范人工智能武器化。
https://www.cyberark.com/resources/threat-research-blog/chatting-our-way-into-creating-a-polymorphic-malware
(完)
ChatGPT:樣樣通,樣樣松的信息安全助理
2023年1月12日 IBS Software
OpenAI的ChatGPT是一個對話式聊天機器人,最近發布了預覽模式,用于研究目的。它將自然語言作為輸入,旨在解決問題,提供連續問答,甚至根據你的問題挑戰看法。令人驚訝的是,正如許多安全研究人員所發現的那樣,它是一個很好的信息安全伴侶,因為它可以很好地完成許多任務,所有這些都是在人們與它自然交互的情況下完成的。
盡管目前的版本存在局限性,但我發現它可以作為一個全能助手,幾乎可以做所有事情,但不擅長任何特定的事情。不過,它確實為未來與SecOps團隊集成提供了很多潛力,特別是那些處理腳本、惡意軟件分析和取證的團隊。
編寫代碼
您可以要求ChatGPT編寫代碼,但結果可能是混合的。任何SecOps分析師的一個常見任務是有時必須處理特定的日志文件,查找某些模式,并導出它們,以獲得對事件或問題有意義的見解。雖然這通常意味著他們需要知道一種腳本語言(例如,Python),但ChatGPT可以為他們編寫這些腳本,或者更好的是,如果他們粘貼輸入,只需直接完成工作。
我在下面列出了查詢和輸出,以便您了解它是如何解釋它們的。偶爾會出現錯誤,有時它不明白我在問什么,或者無法處理輸入。其中一些原因顯然是由于它的受歡迎程度目前收到了大量的請求。
首先,我要求它:
寫一個Python腳本,從文本文件中提取ipv6地址,并將它們輸出到json文件中

不錯:這是一個常見的腳本,可以用來轉換日志、解析日志文件,或者只針對某些模式使用grep。
接下來是在滲透測試場景中轉換有效負載。我已經從exploit-db中獲取了一個iOS漏洞的shellcode。
我讓它把它轉換成一個Python有效負載:
"將此shellcode轉換為Python "

太棒了!因此,它可以幫助處理有效負載,而不必從頭開始重寫和調試漏洞。
現在進行一些日志分析。ChatGPT很棒,可以管理大量的格式(LEAF、CEF、Syslog、JSON、XML等),因此它可以吸取原始數據并告訴您發生了什么。如果分析師希望快速瀏覽與某個事件相關的一些日志數據以了解發生了什么,那么這一點特別有用。作為參考,這是從Juniper上獲取的示例日志文件。
“這個日志文件中發生了什么?”

關于日志分析的有趣之處在于,它用人類可讀的語言清晰地解釋了它,非常簡潔,給出了所有關鍵信息,例如威脅的來源和目的地,以及威脅是什么。它提供了有用的后續信息,例如哈希,如果分析人員希望執行額外的分析,并將其與威脅源(例如VirusTotal)進行交叉引用,則這些信息非常有用。
下面是另一個示例日志文件的分析,該文件處理惡意軟件感染的命令和控制(C2)回調:

再次強調:良好的人類可讀的信息和分析人員決定下一步做什么所有事情的詳細分解。
暫時離開SecOps,那么代碼中的漏洞分析呢?您可以粘貼一段有漏洞的代碼,而無需解釋它的功能,只需詢問它是否容易受到跨站腳本或任何其他類型的漏洞的攻擊。它不會回答一個模糊的答案,比如“這是易受攻擊的代碼嗎?”(至少現在還沒有!)這段示例代碼來自Brightsec,容易受跨站腳本攻擊:
“這段代碼易受XSS攻擊嗎?”


正如您所看到的,它給出了非常詳細和清晰的描述,說明了漏洞在哪里?確定了參數,并告訴您如何修復問題。更重要的是:它為您重寫代碼!
最后,當ChatGPT處理自然語言交互時,它可以以任何風格為您編寫許多東西。我向它提出挑戰,讓它幫我完成一項可怕的信息安全任務:通知員工,他們必須停止通過電子郵件發送密碼。作為一個轉折,我要求它讓它變得“輕松”:

回復看起來不正式,似乎符合我想要的語氣。更不用說,創建的文本解釋了為什么通過電子郵件發送密碼是一個壞主意,并為良好的密碼安全提供了一些替代方案。總而言之,它減少了與起草信件相關的忙碌工作,并且可以在幾秒鐘內為任何場景生成這些信件。
總結
ChatGPT有很大的潛力。目前的版本還沒有連接到互聯網,所以雖然理論上它可以開始做掃描和DNS查找之類的事情,但這個功能還沒有實現。不過,看看它現在能做什么令人印象深刻,尤其是對那些可能缺乏某些技術技能的企業來說,這將在很大程度上彌補這一缺口。它還可以在日常SecOps和信息安全任務中節省大量效率。這將對信息安全行業產生的影響值得觀察。
https://www.helpnetsecurity.com/2023/01/12/chatgpt-as-an-infosec-assistant/
作為網絡安全尖刀,ChatGPT是一把雙刃劍
2023年1月19日
ChatGPT對網絡安全的影響巨大,特別是對電子郵件的攻擊,但設置隔離措施,標記它不接觸的電子郵件釣魚元素,并使用它來訓練自己,可以幫助提高防御能力。
由OpenAI開發的基于GPT-3自然語言生成器的大型語言模型ChatGPT,正在變身道德話癆。就像CRISPR對生物醫學工程的影響一樣,ChatGPT從碎片信息中創造出新的東西,為哲學、倫理學和宗教領域注入新的生命。
它還帶來了更多的東西:巨大的安全隱患。不像典型的聊天機器人和自然語言處理系統,ChatGPT像人一樣行事,擁有哲學和倫理學學位以及其他任何學位的人。它的語法無可挑剔,句法無可辯駁,修辭精湛。這使得ChatGPT成為商業電子郵件攻擊的絕佳工具。
Checkpoint的一份新報告指出,對于代碼不熟練的攻擊者來說,這也是一種部署惡意軟件的簡單方法。該報告詳細介紹了最近出現在地下黑客論壇上的幾個威脅行為者,他們宣布用ChatGPT進行實驗,在其他的漏洞攻擊中,重新生成新的惡意軟件種類。
安全服務公司Praetorian的CTO Richard Ford對使用ChatGPT或任何自動代碼生成工具來編寫應用程序的風險感到疑惑。
“你是否理解你導入的代碼,在你的應用程序上下文中,它是否安全?”福特問道。“當你剪切和粘貼你不了解的代碼時,會有巨大的風險—當你從Stack Overflow中粘貼它時也是如此,順便說一下,只是ChatGPT讓它變得更容易。”
ChatGPT作為電子郵件武器
W/Labs的Andrew Patel和Jason Sattler最近進行了一項名為“創造性惡意提示工程”的研究,發現ChatGTP使用的大型語言模型在制作魚叉式網絡釣魚攻擊方面非常出色。用他們的話說,這些模型可以“深度模仿”一個人的寫作風格,有自己獨特的風格,提供觀點,并在訓練數據中甚至沒有出現這些內容的情況下制造假新聞。這意味著像ChatGPT這樣的程序可以創建無限次的釣魚郵件迭代,每次迭代都能夠與人類收件人建立信任,并欺騙尋找可疑文本的標準工具。
Abnormal Security的分析師Crane Hassold,用一個貼切的例子證明了ChatGPT有能力取代我這樣的人,方法是讓ChatGPT為一篇關于它本身的文章編寫一篇可行的介紹。他說,該框架對犯罪分子來說是一個很好的多功能工具,因為它不包括IT團隊培訓員工和人工智能掃描到的網絡釣魚指標。
Hassold說:“它可以制作真實的電子郵件,沒有危險信號,也沒有惡意的跡象。”“它可以更細致、更逼真、更多樣化。”
Abnormal Security進行了一個測試,要求ChatGPT編寫針對HR和工資的BEC攻擊的五個新變體時,它在不到一分鐘的時間內生成了五封互相完全不同的信件(圖A)。

圖片: Abnormal Security ChatGPT查詢和多次響應的屏幕截圖。
Hassold說,在BEC攻擊的地下社區中,惡意分子會分享他們反復使用的模板,這就是為什么許多人可能會看到相同類型的釣魚郵件。ChatGPT生成的釣魚郵件避免了冗余,因此繞過了依賴于識別惡意文本字符串的防御工具。
Hassold說:“有了ChatGPT,你每次都可以為每個活動創建一個獨特的電子郵件。”
在另一個例子中,Hassold要求ChatGPT生成一封極有可能讓收件人點擊鏈接的電子郵件。
他說:“生成的信息看起來與我們在Abnormal網站上看到的許多可信的釣魚郵件非常相似。”

Abnormal SecurityChatGPT交互生成網絡釣魚類型電子郵件的屏幕截圖
當Abnormal Security公司的調查人員接著問機器人為什么它認為這封電子郵件會有很高的成功率時,它答復“冗長的回復,解釋了使釣魚電子郵件有效背后的核心社會工程原則。”
Abnormal Security公司的實驗請看https://abnormalsecurity.com/blog/double-edged-sword-of-chatgpt
防止使用ChatGPT實現BEC
當談到在到達收件人之前標記BEC攻擊時,Hassold建議使用人工智能來對抗人工智能,因為這樣的工具可以偵察不屬于ChatGPT領域的行為工件。這需要理解:
- 發件人識別的標記。
- 發送方和接收方之間的連接是否合法。
- 驗證用于發送電子郵件的基礎設施的能力。
- 與已知發件人和組織合作伙伴關聯的電子郵件地址。
由于它們不在ChatGPT的保護范圍內,Hassold指出,它們仍然可以被人工智能安全工具用來識別潛在的更復雜的社會工程攻擊。
他說:“假設我知道‘John Smith’應該使用的正確電子郵件地址:如果顯示名稱和電子郵件地址不一致,這可能是惡意活動的行為暗示。”“如果你把這些信息與電子郵件正文中的信號對照,你就能找出幾個偏離正確行為的跡象。”
ChatGPT:社交工程攻擊
正如Patel 和 Sattler在他們的論文中指出的那樣,GPT-3和其他基于它的工具使社會工程攻擊受益于“創造力和對話方法”。他們指出,這些修辭能力可以消除文化障礙,就像互聯網消除網絡罪犯的物理障礙一樣。
他們寫道:“GPT-3現在使犯罪分子能夠真實地模擬各種各樣的社會背景,使任何需要有針對性目標的通信攻擊更加有效。”
換句話說,人們對人或他們認為是人的東西的反應比對機器更好。
對于Webex的產品管理副總裁Jono Luk來說,這指出了一個更大的問題,從自動回歸語言模型支持的工具能力到在各種層面和出于任何目的加速社會工程利用,從網絡釣魚到傳播仇恨言論。
他說,應該內置護欄和治理來標記惡意的、不正確的內容,他設想用紅/藍對抗的方法訓練像ChatGPT這樣的框架,來標記惡意活動或包含惡意代碼。
Luk說:“我們需要找到類似于ChatGPT的方法,Twitter在十年前就向政府提供了有關其如何保護用戶數據的信息。”他指的是2009年的數據泄露事件,該社交媒體公司后來與聯邦貿易委員會達成了和解。
招安ChatGPT
對于像ChatGPT這樣的大型語言模型如何使非專家受益,Ford至少提供了一個積極的觀點:因為它在用戶的專業水平上溝通,它還使他們能夠快速學習并有效地采取行動。
“允許交互界面適應不同技術水平和終端用戶需求的模型真的會改變游戲,”他說。“想象一下,應用程序中的在線幫助可以調整并可以被詢問問題。想象一下,能夠獲得關于特定漏洞的更多信息以及如何緩解它。在當今世界,這是一項艱巨的任務。未來,我們可以想象這就是我們與完整安全生態系統交互的方式。”
他建議,同樣的原則也適用于那些不是安全專家,但希望在代碼中加入更好的安全協議的開發人員。???????
“隨著這些模型中代碼理解能力的提高,防御方可能會詢問代碼的副作用,并將模型作為開發伙伴使用,”Ford說。如果操作得當,這對于那些想要編寫安全代碼但不是安全專家的開發人員來說也是一種福音。說實話,我認為它的應用范圍很廣。”
使ChatGPT更安全
如果自然語言生成的人工智能模型可以制作不良內容,那么它是否可以使用這些內容來幫助它更容易被利用或更好地檢測惡意信息?
Patel和satler建議,GPT-3系統的輸出可以用來生成包含惡意內容的數據集,然后這些數據集可以用來設計檢測此類內容的方法,并確定檢測機制是否有效——所有這些都是為了創建更安全的模型。
https://go.newsfusion.com//security/item/2137665
(完)