例如 , 如果提供给ChatGPT的伪代码引用了公开记录的库函数 , 则ChatGPT对代码用途的解释将围绕这些函数的功能展开 。
文章插图
ChatGPT通过解释十六进制射线伪代码来讨论函数的用途
为了从ChatGPT中获得更好的代码分析输出 , 用户仍然需要:
制定实质性的ChatGPT查询 , 以便提供所需的上下文;
与ChatGPT进行对话 , 在对话期间提供上下文 , 并完善ChatGPT的答案;
尝试在回答的末尾使用“重新生成响应”选项 , 这似乎是对ChatGPT的一种“再努力一点”的指示 。
向ChatGPT添加更多上下文可以包括用户定义函数的功能 , 这些功能是分析师所了解的 。上下文信息可以以编程的方式提供 , 以减少人工分析人员的工作量 , 例如 , 通过为此目的开发的反汇编程序插件 。
这同样适用于从非技术角度改进ChatGPT的输出 。例如 , ida_gpt(一个通过查询ChatGPT来协助程序集代码分析的IDA Pro插件)分别为分析和重构程序集代码制定了下面的查询 。
下面是ida_gpt ChatGPT查询的几个示例:
文章插图
8.识别代码中的恶意活动
恶意软件分析师可以使用ChatGPT来识别某个功能可能实现的潜在恶意活动的指示器 。这对于将恶意软件可执行文件中的功能映射到特定的恶意功能非常重要 , 类似于capa IDA Pro插件的功能 。
在这种情况下 , 我们观察到ChatGPT能够对函数中恶意活动的所有指标的强度进行优先级排序 。因此 , 恶意软件分析师可以确定与ChatGPT的交互范围 , 以更详细地讨论最强指标 。
例如 , OpenGPT将vssadmin.exe的执行确定为下面伪代码中恶意活动的最强指标 。
文章插图
文章插图
文章插图
ChatGPT评估恶意活动的指标
9.推测功能目的和目标
除了识别恶意活动指标外 , 恶意软件分析师还可以进一步与ChatGPT对话 , 以推测并更好地了解恶意软件如何使用特定平台或软件结构以及达到何种目的 。即使在分析师没有提供全面背景的情况下 , 这也可能是有效的 。
例如 , 下面的勒索软件伪代码代码使用Microsoft Cryptographic API(CAPI) , 也称为CryptographicAPI:下一代(CNG)加密架构 , 用于加密数据 。
文章插图
文章插图
文章插图
ChatGPT讨论了恶意软件对CAPI的使用
10. 了解漏洞并利用代码
了解漏洞是如何工作的 , 恶意软件开发者如何利用它们 , 以及我们如何识别和检测它们在代码中的使用是一项极具挑战性的任务 。ChatGPT在这方面也可以帮助我们 。
让我们以CVE-2022-468889为例 , 看看ChatGPT是否可以帮助我们理解代码的工作原理 。
推荐阅读
- 总结2022年威胁隐私和安全的6大“罪魁祸首”
- 编译器的自动内存管理,静态的GC算法
- 网络安全的未来趋势
- 筷子多长时间换一次比较合适?筷子的标准长度是七寸六分?
- url指的是什么包括哪几个部分 url指的是什么?
- 贝克汉姆|鱼和熊掌都要的贝克汉姆:收了13亿工资却不干活,中途还跑去讨好王室
- 长城结构
- 高空抛物的危害和认识
- 24时计时法
- 自然界的水循环过程包括