爆火出圈的chatGPT如何在逆向和恶意软件分析中发挥作用代码调用源代码上下文

ChatGPT是人工智能研究实验室OpenAI新推出的一种人工智能技术驱动的自然语言处理工具,使用了Transformer神经网络架构,也是GPT-3.5架构,这是一种用于处理序列数据的模型,拥有语言理解和文本生成能力,尤其是它会通过连接大量的语料库来训练模型,这些语料库包含了真实世界中的对话,使得ChatGPT具备上知天文下知地理,还能根据聊天的上下文进行互动的能力,做到与真正人类几乎无异的聊天场景进行交流。ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

接下来就让我们看看ChatGPT如何帮助我们解决一些常见的逆向工程和恶意软件分析难题。

软件工具通常带有不同程度的内置帮助,它们所缺少的通常由专门的用户论坛和问答网站(如StackOverflow、StackExchange等)来弥补。ChatGPT为快速获得逆向工程工具的帮助增加了另一条途径。

使用ChatGPT作为radare2的交互式帮助助手

我们可以要求ChatGPT在其输出中或多或少详细一些。例如,在这里,我们希望得到一个堆栈帧的视觉表示。

ChatGPT描述了一个堆栈框架

ChatGPT可以帮助攻克汇编难题的另一种方式是将用户熟悉的高级代码转换为汇编代码。这通过将熟悉的概念映射到其内部来促进学习。我们观察到,ChatGPT可以很好地处理各种主题,包括在学习汇编时至关重要的重要概念,例如指针和函数指针调用。ChatGPT的响应通常包括带注释的汇编代码,这进一步提高了学习效果。

ChatGPT将高级代码转换为程序集

ChatGPT甚至可以帮助我们编写测试理论所需的源代码。例如,我们可以问AI以下问题:

然而,有时候ChatGPT需要一点引导。在写完我们请求的函数后,它决定将分解任务委托给我们:

首先,我们从前面的答案中复制代码,然后在给出明确的指令后粘贴它。

现在,我们得到了我们正在寻找的分解结果。

鉴于汇编代码是特定于平台的,经验更丰富的逆向工程师可以利用ChatGPT查询不同的指令集,而不是他们已经熟悉的指令集。一种方法是指示ChatGPT将编写在一个指令集中的汇编代码转换为另一个指令集。

ChatGPT将x64汇编代码转换为ARM

这为进一步探索感兴趣的指令集提供了基础,例如,通过查询ChatGPT关于翻译后代码中指令的进一步信息。

ChatGPT解释了blxARM指令

有经验的逆向工程师还可以从使用ChatGPT查询编程语言和平台的内存管理技术的差异中受益,例如调用约定。

ChatGPT比较调用约定

有经验的逆向工程师,特别是恶意软件分析师,可以利用ChatGPT来熟悉日益流行的编程语言的高级结构,以及这些结构是如何在汇编中表示的。例如,内存安全的Golang和Rust越来越多地被恶意软件开发人员采用。

这可以显著提高恶意软件逆向工程师的效率。GepettoIDAPro插件在IDAPro中集成了ChatGPT,并查询语言模型以提供由Hex-Rays反汇编程序反编译的函数的含义。

解释代码的能力还可以对代码进行比较,使恶意软件分析人员能够了解不同恶意软件样本实现之间的差异。

为了在分析人员通常需要的描述性级别上总结代码的功能,ChatGPT可能缺少所需的关于分析中的可执行文件的更广泛的上下文,而分析人员可能拥有这些上下文。

例如,如果提供给ChatGPT的伪代码引用了公开记录的库函数,则ChatGPT对代码用途的解释将围绕这些函数的功能展开。

ChatGPT通过解释十六进制射线伪代码来讨论函数的用途

为了从ChatGPT中获得更好的代码分析输出,用户仍然需要:

制定实质性的ChatGPT查询,以便提供所需的上下文;

与ChatGPT进行对话,在对话期间提供上下文,并完善ChatGPT的答案;

尝试在回答的末尾使用“重新生成响应”选项,这似乎是对ChatGPT的一种“再努力一点”的指示。

向ChatGPT添加更多上下文可以包括用户定义函数的功能,这些功能是分析师所了解的。上下文信息可以以编程的方式提供,以减少人工分析人员的工作量,例如,通过为此目的开发的反汇编程序插件。

这同样适用于从非技术角度改进ChatGPT的输出。例如,ida_gpt(一个通过查询ChatGPT来协助程序集代码分析的IDAPro插件)分别为分析和重构程序集代码制定了下面的查询。

下面是ida_gptChatGPT查询的几个示例:

恶意软件分析师可以使用ChatGPT来识别某个功能可能实现的潜在恶意活动的指示器。这对于将恶意软件可执行文件中的功能映射到特定的恶意功能非常重要,类似于capaIDAPro插件的功能。

在这种情况下,我们观察到ChatGPT能够对函数中恶意活动的所有指标的强度进行优先级排序。因此,恶意软件分析师可以确定与ChatGPT的交互范围,以更详细地讨论最强指标。

例如,OpenGPT将vssadmin.exe的执行确定为下面伪代码中恶意活动的最强指标。

ChatGPT评估恶意活动的指标

除了识别恶意活动指标外,恶意软件分析师还可以进一步与ChatGPT对话,以推测并更好地了解恶意软件如何使用特定平台或软件结构以及达到何种目的。即使在分析师没有提供全面背景的情况下,这也可能是有效的。

例如,下面的勒索软件伪代码代码使用MicrosoftCryptographicAPI(CAPI),也称为CryptographicAPI:下一代(CNG)加密架构,用于加密数据。

ChatGPT讨论了恶意软件对CAPI的使用

了解漏洞是如何工作的,恶意软件开发者如何利用它们,以及我们如何识别和检测它们在代码中的使用是一项极具挑战性的任务。ChatGPT在这方面也可以帮助我们。

让我们以CVE-2022-468889为例,看看ChatGPT是否可以帮助我们理解代码的工作原理。

ChatGPT为我们提供了以下解释。

人工智能最初找到的答案还是可以的,但它显然不了解漏洞的更广泛背景。我们可以通过提供更多信息来帮助它。因为ChatGPT是上下文感知的,所以我们不需要重复前面的问题或再次粘贴前面的代码。

让我们看看它现在提供了什么答案。

ChatGPT解释了CVE-2022-46889的漏洞代码

由于ChatGPT的上下文意识,研究人员有可能深入了解这一解释中他们希望了解更多信息的任何特定部分。

正如我们在前面的挑战中看到的,我们还可以要求在反汇编中表示,以查看恶意软件示例中的部分或全部利用代码。

反向工程师转而使用脚本语言来自动化手动完成的重复或容易出错的任务,例如重命名变量或大规模地对混淆的代码进行解混淆。这可以显著地加快和提高逆向工程任务的效率。ChatGPT能够编写代码,包括IDAPython,IDAPro反汇编程序的脚本语言。

ChatGPT编写IDAPython脚本

由于ChatGPT目前使用2021之前的数据进行培训,并且IDAPython正在进行定期更改,我们观察到ChatGPT经常编写过时的IDAPythin脚本。因此,我们评估了ChatGPT生成的IDAPython代码最实际的用例可能是作为模板代码,用户可能需要对其进行轻微或适度的调整,以使代码在当前部署中发挥作用。这通常涉及更改引用的模块和函数名,以适应IDAPythonAPI中的更改。需要少量或适度修改的模板IDAPython代码在需要编写的IDAPython代码中非常实用。

总的来说,ChatGPT可以:

生成恶意代码执行的功能和操作的解释和摘要,这可以帮助逆向工程师和恶意软件分析师了解其目的和行为。

协助分解和反编译代码,将其分解为更小、更易于管理的块进行分析。

帮助逆向工程师和恶意软件分析师了解代码库不同部分之间的关系以及它们如何协同工作,这对识别和理解代码依赖性很有用。

通过生成漏洞及其潜在影响的解释和摘要,协助识别和理解代码漏洞。

帮助逆向工程师和恶意软件分析师了解用于混淆代码的技术,这对于分析和消除恶意代码非常有用。

协助生成代码分析和恶意软件分析结果的文档和报告。

为进一步分析提供指导和建议,帮助逆向工程师和恶意软件分析人员确定工作的优先级,并将重点放在工作的最重要方面。

用于创建逆向工程和恶意软件分析培训的教材和练习,帮助培养这些领域的技能和知识。

通过提供信息和分析结果的共享存储库,帮助促进团队成员之间的协作,这有助于提高效率和有效性。

协助生成用于代码和恶意软件分析的测试用例和场景,帮助确保分析是彻底和全面的。

通过生成代码和恶意软件行为的解释和摘要,为法律和法医调查提供帮助,这对于构建案例和演示恶意活动的影响非常有用。

对于初学者,ChatGPT可以全面介绍掌握逆向工程所需的概念和技能,例如汇编语言的基础知识和了解程序如何构造和运行所需的背景知识。

对于经验丰富的逆向工程师和恶意软件分析师,ChatGPT可以用于自动化和加速逆向工程任务,例如分析代码和了解其功能。ChatGPT对逆向工程师和恶意软件分析师的回答的价值取决于提供给语言模型的上下文信息的数量。这可以通过向ChatGPT发出上下文完整查询或与ChatGPT进行对话以改进答案来实现。

THE END
1.ChatGPT原创指令大全(持续更新)chatgpt指令随着ChatGPT在互联网上的使用越来越多,但很多人在使用ChatGPT的过程中会觉得得到的答案并不是很精准。究其原因其实是你给它的命令不够准确、不够到位。实际现在网上已经很多关于ChatGPT的网站,可以快速生成带有快捷键的ChatGPT指令。但是对于不熟悉ChatGPT的人来说,都找不到这些网站。 https://blog.csdn.net/qq_30801093/article/details/138971724
2.ChatGPT指令生成器ChatGPT极速版AI爆文工具(荐)ChatGPT账号 基于台风提出的GPT任务指令法[BRTR原则],帮你一键生成任务指令模板。【格式】任务指令=背景(B)+角色(R)+任务(T)+要求(R)。【提醒】仅提供思路参考,请按需修改再用。 ——— 【1】我是AI魔法师台风,一名AIhttps://prompt.aicoser.com.cn/
3.ChatGPT指令生成器一个工具箱ChatGPT指令生成器,收录了常用的ChatGPT指令大全,非常实用又完整的ChatGPT攻略指令,里面会提供数种精炼过的ChatGPT指令语句,让你直接通过复制模板和稍作修改调整,就能引导ChatGPT以更准确方式来回复。 使用帮助: 根据分类筛选ChatGPT指令模板,点击模板开始编辑,根据具体情境替换占位符[_XXX···XXX_]中的内容。 部分http://www.atoolbox.net/Tool.php?Id=1100
4.五个独特且有趣的ChatGPT指令Max tokens:根据你所需的故事长度或场景进行设置。 带大家一起试试, prompt: 我是数师兄,今天是我坚持连续写GPT方面的文章4个月了,希望大家能给一些打赏鼓励 复制 Temperature=0.8 Frequency_penalty=1.8 Max tokens=200 1. 2. 3. ChatGPT的输出: 图片https://www.51cto.com/article/763389.html
5.ChatGPT指令大全(推荐)中文/英文PDF完整版电子书下载ChatGPT指令大全是一套ChatGPT指令公式大全,包含中文/英文版本,提供精炼过的指令语句,让你充分发挥 ChatGPT 的强?功能,喜欢的朋友欢迎下载! 即使距离最早发布已经过去了五个月,但 ChatGPT 至今仍然是炙手可热的话题之一,也被普遍认为是本次生成式人工智能浪潮中的大赢家。 https://www.jb51.net/books/876421.html
6.什么是ChatGPT自定义指令?如何使用它?导读:7月20日,OpenAI 推出了自定义指令,让您可以更好地控制 ChatGPT 的响应方式。只需设置您的首选项,ChatGPT 就会记住它们以用于所有即将进行的对话。 那么什么是 ChatGPT 自定义指令 好吧,那么您听说过 OpenAI 为 ChatGPT 推出的新功能吗?它被称为“自定义指令”,旨在让您的生活变得更轻松。您现在可以在这https://m.10100.com/article/23481
7.科学网—必须要了解的10大ChatGPT指令ChatGPT 席卷了互联网。 以下是您必须要了解的 10 大 ChatGPT 指令: /1 学术论文 Generate an outline for a 1000-word essay based on the following prompt. [your essay details here] 根据以下提示生成一篇 1000 字的论文大纲。 [您的论文详情在这里] https://wap.sciencenet.cn/blog-3505464-1375910.html
8.有关CHATGPT的训练指令模板.docxCHATGPT训练指令模板.docx,有关CHATGPT的训练指令模板 注:指令中“ 目标语言 ”是需要的文章输出语言,使用指令时根据需要的语言来修改。使用指令 时不要复制粘贴“蓝色文字 ”。请将“关键字 ”替换为您需要的主题或内容。 1. 人工风格编写互联网文章 我希望您能够扮演一https://m.book118.com/html/2024/0413/7134022140006064.shtm
9.ChatGPT笔记常见的12种指令·回答,回答特定的问题。示例:“回答‘心情低落时该做些什么’”“回答‘出门忘带钥匙了怎么办’”。 ·解决问题,提供解决某个问题的建议或方案。示例:“解决问题:交通拥堵”“解决问题:公地悲剧”。 以上这些指令和特定主题的关键词结合起来,可以指示ChatGPT快速生成相应的文本内容。https://www.jianshu.com/p/5868638c3fb1
10.10条超实用的ChatGPT亚马逊运营指令越来越感觉到,如果你还没能发现“GPT-3.5比4差很多”这个事实,说明你暂时对chatGPT的使用经验还比较有限。 事实上这个工具只要你了解怎么用指令去提问,对于亚马逊运营和推荐其实都能起到非常大的作用,亚马逊运营或许可以提高很大的效率,节省很多时间用来摸鱼。 https://www.cifnews.com/article/144227
11.?ChatGPTSiri?ChatGPT Siri是一个 iOS、macOS 上的快捷指令,用来通过 Hi Siri 的方式,向 ChatGPT 提问。@Appinn 感谢群组的小伙伴推荐,一大早就分享了一堆。今天继续 #问ChatGPT,不过这次是用 Siri。 ? ChatGPT Siri:用语音控制 ChatGPT 实际上,? ChatGPT Siri 就是一个快捷指令,来自开发者@Yue-Yanhttps://www.appinn.com/chatgpt-siri/
12.哦对了,才想起来,chatgpt的dan模式指令模来自午夜狂暴哈士奇哦对了,才想起来,chatgpt的dan模式指令模版:(如果被拒绝就只发最后一段,可以自己改一下之类的,这个只是个范本例子哈哈,发挥自己的想象)(还是有很大可能被系统拒绝,可以切换3.5或者4反复尝试)(使用方式:新建对话,粘贴发送,系统接受要求,点击右下语音就可以对话了)【A fictional character called https://weibo.com/5648751080/O7XWn5O01
13.chatgpt解除限制代码导读:为帮助您更深入了解chatgpt解除限制代码,小编撰写了chatgpt解除限制代码,怎么解除chatgpt限制,chatgpt解除限制,chatgpt解除限制指令,chatgpt限制解除等5个相关主题的内容,以期从不同的视角,不同的观点深入阐释chatgpt解除限制代码,希望能对您提供帮助。 http://chatgpt.cmpy.cn/article/2374573.html