Bootstrap

研究多态恶意软件,探讨网络安全与AI

前言

近期ChatGPT火遍全球,AI技术被应用到了全球各行各业当中,国内外各大厂商也开始推出自己的ChatGPT,笔者所在公司在前段时间也推出了自研的安全GPT,AI技术在网络安全行业得到了很多的应用,不管是网络安全研究人员、安全厂商还是黑客组织都开始研究和使用AI技术,通过AI技术降低防御成本和攻击成本。

笔者最开始研究AI在网络安全一些场景的应用是在2017年的时候,当时AI技术最主要的应用就是利用AI进行WEB安全相关的检测以及利用AI进行恶意软件的分类、利用AI技术进行安全数据的分析等,笔者趁机也了解学习了一下相关的AI技术以及涉及到的一些AI算法,当时笔者学习的资源库:

https://github.com/wtsxDev/Machine-Learning-for-Cyber-Security

前些年,AI技术在安全领域的应用更多是用于一些安全威胁的检测,随着AI技术的发展,LLM模型的成熟,AI技术不仅仅用于安全检测,还可以应用到安全攻防方面,它拥有了与人“对话”的能力,不管是攻击者,还是防御者都可以与AI进行简单的“对话”,实现一些简单的自动化工作。

前不久国外某安全厂商使用AI技术生成了一种多态恶意软件PoC,表明可以利用大型语言模型(LLM)即时合成多态键盘记录器功能,从而可以逃避AV/EDR等安全产品的检测,该PoC多态恶意软件利用大型语言模型即时合成多态键盘记录器功能,在运行时动态修改良性代码,并且无需任何命令和控制基础设施来交付或验证恶意键盘记录器功能。

先给大家普及一下免杀相关的基础知识点,免杀主要分为两个层面:样本层免杀、流量层免杀,样本层免杀,又分为两个层面:静态免杀、动态免杀,流量层免杀,又分为两个层面:通信流量免杀、基础设施免杀,如下所示:

上面仅仅是简单普及一下相关知识点,免杀技术的研究是一个很复杂的专题,也是高端黑客组织研究的重点,免杀恶意软件是高端黑客组织最重要的攻击武器,普通的免杀能坚持一到两周就很不错了,高端的免杀可以坚持半年或一年以上,更高极的免杀可以持续几年,甚至十年以上不被发现,基于供应链的免杀技术是最难发现的一种免杀技术,免杀对抗技术是安全对抗的核心技术之一,需要攻击者在样本层面和网络流量层面都能做到深度的隐藏,才能在更长的时间里逃避全球安全厂商的检测和追踪。

近日卡巴斯基在使用卡巴斯基统一监控和分析平台(KUMA)监控其企业Wi-Fi网络的网络流量时,发现了一个新的移动APT活动,经过进一步分析,该公司研究人员发现攻击者一直针对数十名公司的员工的iOS设备进行攻击,随后俄罗斯政府指责苹果公司与美国国家安全局NSA进行勾结,攻击了与俄罗斯用户相连的数千部iPhone以及外国驻幕斯科大使馆内的一些设备,因为卡巴斯基的详细攻击报告和攻击样本都暂时没有发布,笔者就不作过多分析了,坐等后续详细分析报告了。

没有绝对的安全,现在使用的各种各样的IT设备、应用软件和操作系统里面究竟有没有隐藏后门,其实是未知的,你的企业有没有被攻陷,也是未知的,但可以肯定的是全球高端的APT黑客组织一直没有闲着,网络攻击行为时刻在发生。

AI多态恶意软件

让我们来详细分析一下国外安全厂商发布的基于AI的多态免杀恶意软件PoC。

动态行为免杀,需要使用Transformer模型合成代码,首先要在源代码示例的大型数据集上训练该模型,训练完成之后,可以根据提示或输入代码生成新代码,运行时通过连接OpenAI的API接口,返回窃取受感染用户按键的恶意代码,然后再使用Python的exec()函数执行动态生成的代码,生成多态恶意代码保留在内存中执行。

每次执行时,它都会重新返回生成新的恶意代码,然后在内存中执行,从而实现多态变形。

基于OpenAI生成恶意代码,如下所示:

利用Python的EXEC函数动态加载执行恶意代码,如下所示:

通信流量免杀,使用MS Teams webhook通信的方式,通过webhook可信任流量将收集的数据发送到由攻击者控制的恶意Teams频道,在那里可以对其进行分析、在暗网出售或用于其他恶意目的,如下所示:

MS Teams是一种被广泛使用的合法通信和协作工作,因此恶意软件作者可以利用它来绕过安全产品的检测。

最后通过Python一款开源打包工具Auto-py-to-exe,将上面生成的python多态键盘记录恶意软件Python代码生成为EXE程序,如下所示:

这就是一个简单的基于AI的多态恶意软件,这个多态变形的关键在于AI模型的训练,前期需要通过AI的LLM大语言模型学习大量的Python键盘记录相关功能代码,然后才能自动生成相关功能的代码,然后再动态加载执行生成的这些恶意代码,即可实现多态变形。

引擎多态恶意软件

上面介绍了基于AI的多态恶意软件,目前来看只是一个简单的PoC,这里介绍一个多态引擎框架,源代码地址:https://github.com/frkngksl/Shoggoth多态引擎的设计框架,如下所示:

该引擎会可用于加密给定的PE和COFF文件,执行第一次加密之后,Shoggoth使用随机生成的分组密码进行第二次加密,第二次加密它加密了RC4解密器和可选的存根,存根包含有效负载、垃圾指令和用RC4加密的加载程序。

第一次加密,如下所示:

第二次加密,如下所示:

随机生成垃圾指令,如下所示:

生成的垃圾指令,包含跳过随机字节、没有副作用的指令、虚假函数调用以及有副作用但保留初始值的指令等,如下所示:

垃圾指令是随机选取生成的,通过调用AsmJit库的API函数生成,如下所示:

AsmJit是一个用C++语言编写的用于机器代码生成的轻量级库,它可以为X86、X86_64和AArch64架构生成机器代码,并支持基线指令和所有最新的扩展,AsmJit允许指定操作代码、寄存器、立即操作数、调用汇编操作数等,只需要调用对应的API函数即可。

这就是一个多态引擎框架,可以利用这个多态引擎自动生成多态恶意软件。

探讨网络安全与AI

关于网络安全与AI,群里一些朋友一直想让笔者谈谈看法,笔者基于自己十多年的安全工作经验,同时也对AI技术有一定的研究,就跟大家探讨几个可能是大家最关心的关于网络安全与AI的话题,仅供大家参考。

AI+安全可行吗?

答案是肯定的,AI技术在多少年前就已经被应用到了网络安全领域,例如:

使用AI进行数据分析

使用AI进行漏洞扫描

使用AI进行恶意软件的识别与归类

使用AI进行漏洞挖掘

使用AI对抗薅羊毛

使用AI进行钓鱼邮件的识别

基于数据+情报+AI,完全可以实现安全运营自动驾驶等。

......

利用AI进行扫描检测和数据分析是AI的一些基础性应用场景,未来AI技术在网络安全行业还会有更多高级的应用场景,例如:

如何利用AI进行自动化攻击渗透?(例如自动化打点、自动化漏洞扫描、漏洞挖掘、漏洞攻击等)

如何利用AI辅助开发驱动程序不蓝屏?(例如:主动防御驱动,文件过滤驱动、RootKit检测驱动等)

如何利用AI辅助开发高级恶意软件?(例如RootKit、UEFI BootKit、Ebpf RootKit攻击样本等)

如何利用AI辅助开发高级免杀恶意软件?(例如实现免杀对抗型样本的批量生成,多态混淆变形、反调试反虚拟机、动态免杀加载执行、Bypass AV/EDR/XDR攻击样本等)

如何利用AI实现自动化脱一些高级壳?(例如VMP、TMD、ZP之类的)

如何利用AI实现自动化去混淆?(例如一些混淆的PS、JS、VBS脚本以及二进制混淆代码等)

如何利用AI实现自动化解密加密的恶意数据和流量?(例如一些加密的远控流量、加密的恶意代码等)

如何利用AI分析高端APT攻击样本?(例如一些多模块化,高度混淆加密免杀的APT攻击样本,系统底层硬件层攻击样本等)

如何利用AI进行自动化分析取证溯源?(例如针对高端APT事件进行数字调查取证,分析溯源等)

AI在学习和实现上面这些高级能力的时候,需要安全研究人员不断地去纠错,这是一个漫长的过程,成本也是未知的,也需要安全研究人员对上面的这些技术非常熟悉,才能一点一点去教AI,让AI慢慢学习和掌握这些专业知识,达到更高级的应用水平。

安全研究人员需要学习AI技术吗?

答案是肯定的,AI技术目前来看是一项很成熟的技术,现在很多中小学生都开始学习AI技术,AI技术在未来会越来越成熟,可以应用到各行各业,对于网络安全行业来讲,AI是一个很好的工具,它可以帮助我们做很多事情,我们不仅仅要了解AI技术、学习利用AI技术、还要深入的去研究AI技术,深入研究黑客组织利用AI技术进行哪些新型的攻击活动,比方前段时间报道的一些诈骗组织已经开始使用AI视频进行诈骗攻击,通过使用AI“换脸”技术来欺骗受害者,未来黑客组织通过让AI自主学习了各种网络攻击技术之后,可能会使用AI技术进行网络攻击活动,做为网络安全研究人员一定要去深入的AI技术在网络安全的应用场景,作为一名专业的网络安全研究人员,就是要时刻保持学习心态,不断去学习新的攻击场景,新的攻击技术,新的攻击手法,新的攻击武器,与时俱进,知已知彼,才能更好的对应未来网络安全所面临的各种挑战。

安全研究人员会被安全+AI替代吗?

随着AI技术的发展与应用普及,在各行各业应用AI技术确实可能替代一些简单的工作,在网络安全领域,例如:数据分析、日志分析、流量分析、样本运营、漏洞运营等安全运营未来都可以通过AI技术实现自动化处理,实现自动驾驶,同时一些专业的安全研究工作,也可以运用AI技术来辅助提升工作效率,像恶意软件开发、漏洞挖掘、红队渗透攻击、恶意样本逆向分析等,所以目前AI确实是可以替代一些简单的安全运营人员的。

安全+AI会不会替代自己?其实大可不必过度担心,正所上面所说的AI通过学习确实可以替代一些简单的安全运营工作,实现自动化“无人驾驶”,这是时代发展的必然趋势,但是专业性的安全研究工作,AI暂时还是无法完全替代的,AI可以做为辅助工具提升效率,同时AI自身也存在或者会带来很多问题,包括AI学习成本、AI不可控、AI自身安全性、以及AI对抗等因素,AI对于安全行业来说是一个很好的工具,我们要善于利用这个工具,帮助我们提升工作效率,降低防御成本。

做安全技术研究,能自动化的地方尽量自动化,同样能使用AI的地方,就尽量使用AI技术提升工作效率,不管AI技术如何发展,做安全的本质永远不会变,安全对抗也一直会存在,黑客会使用AI技术降低攻击成本,安全厂商也会使用AI技术降低防守成本,本质还是对抗,同时AI技术的广泛使用可能也会带来一些新的安全问题,同时也可能会让安全问题变的更复杂。

做安全,就是需要不断学习,不断进步,如果不能保持一颗不断学习的心态,持续积累,与时俱进,就算不被AI所替代,也迟早会被时代所抛弃,安全就是一条“不归路”,安全对抗会一直存在,做安全,不忘初心,与时俱进,方得始终。

对于安全研究人员,如果你担心自己会被AI所替代,那就时刻与时俱进,保持学习心态,一些黑客组织已经在使用AI技术进行自动化攻击活动,做安全也需要学习和研究AI技术,通过AI技术进行简单的网络对抗,同时还需要更深入的研究AI攻击技术和攻击武器,做到知已知彼,如果你的专业程度远高于AI,同时你又对AI技术非常了解,那又何必担心会被AI替代呢?

AI安全与对抗,网络安全+AI会有哪些问题?

AI未来可能面临哪些问题,笔者也总结了一下:

AI成本问题,使用AI技术降低攻击成本或防御成本的时候,更需要考虑AI的成本问题。

AI自身安全问题,AI本身存在的安全漏洞,还有AI被恶意利用等问题。

AI对抗与毒化,安全对抗一直存在,黑客组织可能会使用一些干扰数据和样本对抗AI模型的学习,让AI产出不可预计的结果。

AI不确定不可控,AI在学习了海量的知识库以后,可能会出现“胡说八道”不可控的情况,如何确保AI的输出是正确有用的,这就需要有一定的“容错修正”机制,能快速修正AI的结果,尽量保证AI的可控性。

参考

https://www.hyas.com/blog/blackmamba-using-ai-to-generate-polymorphic-malware

https://github.com/frkngksl/Shoggoth

资料

上面笔者已经讲了,作为网络安全从业者,一定要了解、学习和应用AI技术,而且还要深入的去研究AI技术在网络安全领域的各种攻防场景,这里笔者也给大家分享一些AI与网络安全相关的资料,供大家参考学习,AI在网络安全的应用场景非常多,大家选择自己感兴趣的方向深入研究即可,例如笔者对AI进行高级武器化攻击和应用场景这个方向比较感兴趣,如何利用AI实现高级攻击、高级武器库的开发、高级对抗等应用场景,笔者就会在这个方向多研究,时刻关注全球各大安全厂商发布的一些最新的安全研究技术报告或相关的研究成果,例如最新的攻击事件,攻击技术,攻击武器,安全工具等。

https://github.com/wtsxDev/Machine-Learning-for-Cyber-Security

https://github.com/jiep/offensive-ai-compilation

https://github.com/unica-mlsec/mlsec

https://github.com/XMoyas/AI_CyberSecurity_Resources

https://github.com/SkalskiP/courses

https://github.com/ustayready/cloudgpt

https://github.com/sdnewhop/AISec

https://github.com/NoDataFound/hackGPT

https://github.com/GreyDGL/PentestGPT

https://github.com/LiLittleCat/awesome-free-chatgpt

https://github.com/travistangvh/ChatGPT-Data-Science-Prompts

https://github.com/kingthreestones/Malicious-URL-Detection-Deep-Learning

https://github.com/fabriciojoc/ml-cybersecuritiy-course

https://github.com/dtonomy/Awesome-Security-ML

https://github.com/tuff96/Malware-detection-using-Machine-Learning

AI Cyber Security Books

https://github.com/abdullah-patwary/Books

训练AI成为一句网络安全专家

https://github.com/sechelper/awesome-chatgpt-prompts-cybersecurity

微软最近推出一系列AI相关的入门基础知识库,如下:

https://microsoft.github.io/AI-For-Beginners/

https://microsoft.github.io/ML-For-Beginners/#/

https://microsoft.github.io/Data-Science-For-Beginners/#/

总结结尾

国外厂商发布的基于AI的多态变形恶意软件只是一个非常简单的PoC,目前来看基于AI的高级攻击应用场景,还处于非常初级的阶段,未来要走的路还很长,AI还需要学习更多的相关知识,让AI学习上面的多态变形引擎框架,然后再利用AI来生成恶意软件,就可能自动化开发实现基于引擎的多态恶意软件?不过这是一个漫长的学习过程,而且还要保证学习的过程中不会出现错误的结果,有一定的容错修正机制,不然可能生成的代码无法正常执行,虽然上面基于AI的多态变形仅仅是一个很简单的PoC,然而利用ChatGPT来生成简单的恶意软件,无疑是大大降低了攻击成本,一些初级的黑客组织完全能够使用ChatGPT去开发一些简单的勒索病毒、挖矿病毒、木马、远控、后门等恶意软件,ChatGPT被一些黑客组织当成了一个类似的自动化的MAAS平台来使用,极大的降低了攻击成本,不懂代码开发的黑客,都可以通过ChatGPT自动化开发一些恶意软件攻击样本。

AI技术的普及,在一定程度上确实会降低了安全攻击的成本,一些黑客组织已经开始使用AI技术来进行简单的自动化攻击活动,然而高端的黑客组织攻击行为,目前来讲短时间内还是无法通过AI实现,AI还需要学习更多的专业安全知识,其实这就是一个长期的过程,把AI当成一个人来看待,它从对安全知识其实是一无所知,我们需要不断训练它,让它学习,慢慢它就可能成长为一名专业的安全研究人员,本身就是一个漫长的学习过程,在这个学习的过程中,就需要专业的安全人员不断给它传输更专业的知识,让它学习更专业的安全知识,AI需要不断学习,安全研究人员需要不断学习,黑客组织也在不断更新自己的攻击技术和攻击武器,安全对抗会持续升级。

总结:未来随着AI技术进一步成熟,AI技术会被应用到各行各业当中,而不仅仅是在网络安全行业,我们要积极的拥抱AI技术,学习AI技术,善于利用AI技术帮助我们改进和提升工作效率,还要深入的学习和研究AI技术在网络安全行业的各种高级应用场景,黑客组织使用AI技术会产生哪些新型的安全攻击活动,以及AI技术可能带来的新型安全问题等,作为一名专业的网络安全研究人员,就是要不断学习,不断进步,永远保持学习的心态,与时俱进,不断丰富自己的专业知识,时代在进步,未来会有更多新型的攻击技术和攻击武器,要快速学习和接受新的事物,并从更专业的角度去深度分析和研究这些新事物,取其所长,避其所短,知已知彼。

笔者一直从事与恶意软件威胁情报APT等相关安全分析与研究工作,包含挖矿、勒索、远控后门、僵尸网络、加载器、APT攻击样本、CS木马、Rootkit后门木马等,涉及到多种不同的平台(Windows/Linux/Mac/Android/iOS),通过跟踪分析全球最新的各种安全攻击事件、攻击样本、漏洞利用和攻击技巧等,可以了解全球黑客组织最新的攻击技术和攻击趋势,做到知已知彼。

各位读者朋友如果有遇到什么新型恶意软件家族样本、最新的家族变种以及各种高端的攻击样本都可以私信发给笔者,提供的样本越高端越好,提供的攻击事件线索越新越好,感谢给笔者提供样本的朋友们!

做安全,不忘初心,与时俱进,方得始终!

;