CN116720184A - 一种基于生成式ai的恶意代码分析方法及系统 - Google Patents
一种基于生成式ai的恶意代码分析方法及系统 Download PDFInfo
- Publication number
- CN116720184A CN116720184A CN202310469044.8A CN202310469044A CN116720184A CN 116720184 A CN116720184 A CN 116720184A CN 202310469044 A CN202310469044 A CN 202310469044A CN 116720184 A CN116720184 A CN 116720184A
- Authority
- CN
- China
- Prior art keywords
- malicious code
- generated
- model
- feature vector
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 56
- 239000013598 vector Substances 0.000 claims abstract description 68
- 238000012549 training Methods 0.000 claims abstract description 35
- 238000000605 extraction Methods 0.000 claims abstract description 31
- 238000007781 pre-processing Methods 0.000 claims abstract description 18
- 230000003068 static effect Effects 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 15
- 238000010606 normalization Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000011156 evaluation Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000005206 flow analysis Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000000034 method Methods 0.000 abstract description 29
- 238000010276 construction Methods 0.000 abstract description 3
- 230000007786 learning performance Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004140 cleaning Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 230000008451 emotion Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computer Hardware Design (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Virology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种基于生成式AI的恶意代码分析方法及系统,该方法包括以下步骤:收集恶意代码数据并对恶意代码数据进行预处理,获得恶意代码样本,恶意代码样本包括二进制文件和源代码;采用静态分析法对二进制文件进行特征提取,获得第一特征向量,采用TF‑IDF对源代码进行特征提取,获得第二特征向量;构建生成式AI模型,利用第一特征向量和第二特征向量训练生成式AI模型,其中生成式AI模型包括嵌入层、两个LSTM层、输入重复层和全连接层;评估训练完成的生成式AI模型,以及将待测恶意代码输入至生成式AI模型进行分析,最终获得预测结果。本发明具有高效性、准确性、可学习性、可扩展性等优点,能够助力企业的信息安全建设。
Description
技术领域
本申请涉及恶意代码分析技术领域,具体涉及一种基于生成式AI的恶意代码分析方法及系统。
背景技术
随着互联网的飞速发展,恶意代码数量横生,给被受恶意代码攻击的企业和单位造成了极大的困扰。由于恶意代码行为特征复杂多样且恶意代码之间的松散程度不一的问题,使得传统的恶意代码分析存在极高的误报率和复杂性。基于生成式AI的恶意代码分析与研究,是利用AI赋能网络安全能够有效的提升恶意代码的分析能力。通过提取不同恶意代码族的特征数据、数据特征的生成方法以动静运行结合作为基础,保证生成的数据的有效性和完备性。将生成的数据来训练AI模型,形成针对不同恶意代码族类的行为特征规律。从而促进AI助力企业安全建设。
由于恶意代码的种类繁多、行为特征复制多样,因此也存在诸多缺陷,例如:(1)恶意代码样本的获取困难(2)恶意代码存在加密加壳等措施给特征提取造成了困扰(3)恶意代码的分类、聚类、同源及演化的问题对恶意代码的分析造成了困难(4)由于大量的特征数据需要经过多次的模型训练才能形成可靠的特征模型。
鉴于此,本申请提出了一种基于生成式AI的恶意代码分析方法及系统,能够快速分析大量的恶意代码,准确地识别出真正的恶意代码。
发明内容
为了解决现有恶意代码获取、特征提取困难,需经过多次模型训练才能形成可靠的特征模型等问题,本申请提供一种基于生成式AI的恶意代码分析方法及系统,以解决上述技术缺陷问题。
根据本发明的一个方面提出了一种基于生成式AI的恶意代码分析方法,该方法包括以下步骤:
S1、收集恶意代码数据并对恶意代码数据进行预处理,获得恶意代码样本,恶意代码样本包括二进制文件和源代码;
S2、采用静态分析法对二进制文件进行特征提取,获得第一特征向量,采用TF-IDF对源代码进行特征提取,获得第二特征向量;
S3、构建生成式AI模型,利用第一特征向量和第二特征向量训练生成式AI模型,其中生成式AI模型包括嵌入层、两个LSTM层、输入重复层和全连接层;
S4、评估训练完成的生成式AI模型,以及将待测恶意代码输入至生成式AI模型进行分析,最终获得预测结果。
通过上述技术方案,采用静态分析法和TF-IDF对恶意代码样本进行特征提取,可以保证生成的数据特征的有效性和完备。再将生成的数据特征训练生成式AI模型,能够形成针对不同恶意代码族类的行为特征规律。
在具体的实施例中,在步骤S3中,利用第一特征向量和第二特征向量训练生成式AI模型包括以下子步骤:
S31、将步骤S2获得的第一特征向量和第二特征向量输入嵌入层,嵌入层将第一特征向量和第二特征向量转换为低维稠密向量,将每个词或字母表示成向量形式;
S32、第一个LSTM层将每个时间步的输入序列转换为一个固定维度的向量,提取输入序列中的关键特征,并将关键特征传递给输入重复层;
S33、输入重复层将步骤S32中第一个LSTM层输出的关键特征复制多次,用于多次重复生成目标序列;
S34、输入重复层的输出和编码层的输出拼接后,经过第二个LSTM层进行解码,生成完整的目标序列;
S35、全连接层将完整的目标序列进行全连接,并使用sigmoid函数进行激活,最后输出二分类结果。
通过上述技术方案,获得的二分类结果可以用于情感分析、文本分类等任务中。
在具体的实施例中,在步骤S2中,第二特征向量包括标识符、语法结构、关键字和注释,采用TF-IDF对源代码进行特征提取具体包括以下子步骤:
S21、将源代码中的每个特征文档分词,去除无关信息后计算每个词语的TF值,计算表达式为:
TF(t,d)=(词语t在文档d中出现次数)/(文档d的总词数)
S22、计算每个词语的IDF值,计算表达式为:
IDF(t)=log_e(所有文档数/出现了词语t的文档数)
S23、根据TF值和IDF值计算每个词语的TF-IDF值,计算表达式为:
TF-IDF(t,d)=TF(t,d)*IDF(t)。
通过上述技术方案,可以有效地挖掘恶意代码样本的特征,便于进行分类、聚类和推荐等任务
在具体的实施例中,在步骤S2中,采用静态分析法对二进制文件进行特征提取,获得第一特征向量,其中第一特征向量包括API调用、指令序列和函数调用。
在具体的实施例中,在步骤S1中,预处理包括数据清洗,具体包括以下子步骤:
S11、通过md5值行比对识别出相同的文件,去除恶意代码数据中的重复项文件;
S12、删除恶意代码数据中的纯文本块、注释、重复混淆的代码以及不符合规范的语句;
S13、对恶意代码数据进行样本的标准化分类。
通过上述技术方案,可以去除重复项和不必要的信息,并将恶意代码数据转换为可处理的格式。
在具体的实施例中,在步骤S1中对恶意代码数据进行预处理包括采用编码和数据归一化对恶意代码数据进行数据转换,其中归一化的表达式为:
式中,min(x)为恶意代码数据中的最小值,max(x)为恶意代码数据中的最大值,x为恶意代码数据。
通过上述技术方案,可以有效避免某些特征值被过分强调,而导致模型再训练和预测时出现变差。
在具体的实施例中,在步骤S1中,通过网络全流量分析监控系统和开源社区的恶意代码库收集恶意代码数据。
第二方面,本发明提出了一种基于生成式AI的恶意代码分析系统,该系统包括:
预处理模块,用于收集恶意代码数据并对恶意代码数据进行预处理,获得恶意代码样本,恶意代码样本包括二进制文件和源代码;
特征提取模块,用于采用静态分析法对二进制文件进行特征提取,获得第一特征向量,采用TF-IDF对源代码进行特征提取,获得第二特征向量;
模型构建模块,用于构建生成式AI模型,利用第一特征向量和第二特征向量训练生成式AI模型,其中生成式AI模型包括嵌入层、两个LSTM层、输入重复层和全连接层;
评估预测模块,用于评估训练完成的生成式AI模型,以及将待测恶意代码输入至生成式AI模型进行分析,最终获得预测结果。
第三方面,本申请提供了一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述任一项基于生成式AI的恶意代码分析方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述任一项基于生成式AI的恶意代码分析方法的步骤。
与现有技术相比,本发明的有益成果在于:
(1)高效性:生成式AI模型可以快速分析大量的恶意代码,并通过识别恶意代码的共同点和特征来确定其类别,提高分析速度。
(2)可扩展性:生成式AI模型可以按需定制,更具可扩展性和灵活性,能够适应各种变化和新的威胁。
(3)低误报率:生成式AI模型的算法能够准确地识别出真正的恶意代码,从而减少误报率,提高识别准确率。
(4)自学习能力:生成式AI模型可以通过不断地更新数据进行学习,提高自身的准确性和效率,增加准确率和可靠性。
附图说明
通过阅读参照以下附图,所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是根据本申请的基于生成式AI的恶意代码分析方法的流程图;
图2是根据本申请的恶意代码样本的预处理流程图;
图3是根据本申请的特征向量提取示意图;
图4是根据本申请的生成式AI模型训练流程图;
图5是根据本申请的生成式AI模型训练的主要代码示意图;
图6是根据本申请的生成式AI模型的恶意代码预测示意图;
图7是根据本申请的基于生成式AI的恶意代码分析系统的结构图;
图8是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了本申请的基于生成式AI的恶意代码分析方法的流程图,图2示出了本申请的恶意代码样本的预处理流程图,结合参考图1和图2,该方法包括以下步骤:
S1、收集恶意代码数据并对恶意代码数据进行预处理,获得恶意代码样本,恶意代码样本包括二进制文件和源代码。
在本实施例中,通过网络全流量分析监控系统和开源社区的恶意代码库收集恶意代码数据。具体的,可以通过网络全流量分析监控系统收集用于训练、检测和验证的大量二进制代码和数据包。另外一方面利用公开的恶意代码库、社区获取恶意代码样本。
对恶意代码数据的预处理包括数据清洗和数据转换,其中数据清洗包括去重、去噪、标准化标签等步骤。具体的,通过以下方式实现恶意代码的数据清理:
S11、对收集到的恶意代码数据进行去重处理:通过md5值行比对来识别相同的文件,去除恶意代码数据中的重复项文件,获得单一的样本数据。
S12、对去重后的样本数据进行去噪处理:(1)删除纯文本块、注释和符号,删除重复和混淆的代码(2)从成功授权的软件中去除单独的授权信息(3)删除不符合规范的语言结构。
S13、对去噪后的样本数据进行标准化处理:对恶意代码数据进行样本的标准化分类获得标准化样本,例如分成木马、病毒、可疑程序。通过以下方式进行标准化:(1)删除无法标准化的标签(如“不确定”)(2)将所有标签转换为二进制,例如,将“恶意”标签转换为1,将“正常”标签转换为0。(3)将所有标签转换为相同的标准标签,例如,将“病毒”、“蠕虫”和“木马”标签全部转换为“恶意”。
其中,去重是为了去除数据中的重复项,以避免数据之间的相似性干扰生成式AI模型的训练;去噪是为了去除文件中不必要的信息和垃圾代码,以仅保留与恶意代码相关的信息;标准化标签是为了将数据按不同的类型分组,以方便后续特征提取和模型训练。
进一步的,采用编码和数据归一化对恶意代码数据进行数据转换,将步骤S13中的标准化样本转化为特征样本。一方面,针对特征是分类值(例如:字符串或枚举值),将其特征编码为数值,以便于模型进行计算和处理。另一方面,为了避免某些特征值被过分强调,而导致模型再训练和预测时出现变差。因此将特向量值进行数据归一化,数据的归一化具体实现采用了最小-最大归一化。最小-最大归一化是一种线性函数,将数据的值映射到[0,1]的范围内。归一化后的值通过下述公式计算:
式中,min(x)为数据中的最小值,max(x)为数据中的最大值,x为数据。
图3示出了本申请的特征向量提取示意图,结合参考图1和图3,本申请提供的基于生成式AI的恶意代码分析方法还包括:
S2、采用静态分析法对二进制文件进行特征提取,获得第一特征向量,采用TF-IDF对源代码进行特征提取,获得第二特征向量。
特征提取是将数据转换为可处理的特征向量的过程,这些特征能够代表数据的关键特征。在本实施例中,针对不同类型的数据(二进制文件和源代码),特征提取的方式不同。对于二进制文件,利用静态分析的方法获取包括API调用、指令序列、函数调用等在内的第一特征向量。
对于源代码,获取标识符、语法结构、关键字、注释等第二特征向量。特征的提取方式采用TF-IDF(Term Frequency-Inverse Document Frequency)实施步骤如下:
S21、将源代码中的每个特征文档分词,去除无关信息只保留有意义的词语,例如去除停用词和标点符号。然后计算每个词语的TF值,计算表达式为:
TF(t,d)=(词语t在文档d中出现次数)/(文档d的总词数)
S22、计算每个词语的IDF值,计算表达式为:
IDF(t)=log_e(所有文档数/出现了词语t的文档数)
S23、根据TF值和IDF值计算每个词语的TF-IDF值,计算表达式为:
TF-IDF(t,d)=TF(t,d)*IDF(t)。
将每个特征文档表示为一个向量,其中每个维度对应一个词,向量中的值为对应词语的TF-IDF值。通过TF-IDF方法,可以有效地挖掘恶意样本的特征,便于进行分类、聚类和推荐等任务。
在特征提取过程中,为了保证数据完整性和质量,进行正则化和归一化处理。通过定义恶意代码样本数据集,以及定义一个函数normalize,向该函数输入一个数据集并将其最小-最大归一化处理后,返回归一化后的数据。进而实现特征向量的提取,实现方法为先计算数据集的最小值和最大值,然后对每个数据点进行计算。
图4示出了本申请的生成式AI模型训练流程图,图5示出了生成式AI模型训练的主要代码图;结合参考图1、图4和图5,本申请提供的基于生成式AI的恶意代码分析方法还包括:
S3、构建生成式AI模型,利用第一特征向量和第二特征向量训练生成式AI模型,其中生成式AI模型包括嵌入层、两个LSTM层、输入重复层和全连接层。
使用生成式AI模型进行恶意代码样本的训练可以被看作一个序列到序列(Seq2Seq)的问题,其中输入序列是恶意代码样本,输出序列是二进制标签(1表示恶意代码,0表示正常代码)。该生成式AI模型模型整体的结构由嵌入层(Embedding)、两个LSTM层、输入重复层(RepeatVector)、全连接层(Dense)组成,各层的作用如下:
Embedding嵌入层:将输入的样本数据转换为低维稠密向量,将每个词或字母表示成向量形式,以便于神经网络处理。
第一个LSTM层:对输入序列进行编码,将每个时间步的输入序列转换为一个固定维度的向量,提取序列中的关键特征,并将其传递给下一层。
RepeatVector输入重复层:将上一层LSTM的输出复制多次,用于多次重复生成目标序列。
第二个LSTM层:对目标序列进行解码,将上一层的输出和编码层的输出拼接起来,再经过一层LSTM层进行解码,生成完整的目标序列。
Dense全连接层:将上一层的输出进行全连接,并使用sigmoid函数进行激活,输出结果为二分类结果,通常用于情感分析、文本分类等任务中。
在一个具体的实施例中,可通过python按如下方式实现模型训练:
(1)构建模型:使用Sequential类构建一个Seq2Seq模型,包括一个嵌入层(Embedding)、两个LSTM层、一个输入重复层(RepeatVector)和一个全连接层(Dense)。该模型能够处理具有时序信息的文本数据。
(2)编译模型:使用compile()方法对模型进行配置,指定损失函数、优化器和评价指标。
(3)训练模型:使用fit()方法训练模型,并得到模型参数。
(4)保存模型:使用save()方法将模型保存到本地。
(5)加载模型:使用load_model()方法加载模型,并构建内存中的模型。
(6)模型预测:使用predict()方法对新数据进行预测,并得到模型输出结果。
请继续参考图1,本申请提供的基于生成式AI的恶意代码分析方法还包括:
S4、评估训练完成的生成式AI模型,以及将待测恶意代码输入至生成式AI模型进行分析,最终获得预测结果。
评估训练完成的生成式AI模型主要是评估模型的性能和准确性。通常涉及将模型应用于存储在测试集中的未见过的数据样本,并计算其准确性和召回率。进一步的,输入一段恶意代码,将其作为输入传递给生成式AI模型,以确定其是否属于恶意代码。生成式AI模型的输出将以二进制格式表示代码是否具有恶意行为。
图6示出了本申请的生成式AI模型的恶意代码预测示意图,如图6所示,预测流程是先将初始样本数据转换成数字序列,再对数字序列进行pad_sequences处理(pad_sequences()是用于将输入序列标准化长度的函数),将数字序列对齐到固定的长度,保证输入的形状符合模型的要求。使用loaded_model.predict()方法对处理后的序列进行预测(loaded_model.predict()函数是加载模型预测的函数)。最终输出预测结果,输出的每个数值代表模型将该序列判断为属于类别1的概率大小。
继续参考图1,在一个实施例中,以web型恶意木马为例,前期先进行恶意代码数据的收集,先收集一句话木马、变形的一句话木马、复杂的木马。然后对其进行预处理,即对恶意代码数据进行清洗和数据转化以获得恶意代码样本。再进行特征向量的提取,将预处理好的特征样本转化为生成式AI模型算法可识别的特征向量。模型训练是根据提供的特征向量利用生成式AI算法训练成恶意样本特征模型。模型评估训练的满意度和误报率为评估依据重新选择训练模型,恶意代码检测根据最终训练的模型完成恶意代码的检测结果。
综上所述,基于生成式AI的恶意代码分析方法是建立在数据预处理、特征提取、模型训练、模型评估、恶意代码检测等环节的基础之上。该方法具有如下的优点:(1)高效性:生成式AI模型可以快速分析大量的恶意代码,并通过识别恶意代码的共同点和特征来确定其类别,提高分析速度。(2)可扩展性:生成式AI模型可以按需定制,更具可扩展性和灵活性,能够适应各种变化和新的威胁。(3)低误报率:生成式AI模型的算法能够准确地识别出真正的恶意代码,从而减少误报率,提高识别准确率。(4)自学习能力:生成式AI模型可以通过不断地更新数据进行学习,提高自身的准确性和效率,增加准确率和可靠性,能够助力企业的信息安全建设。
进一步参考图7,作为对上述方法的实现,本申请提供了基于生成式AI的恶意代码分析系统的一个实施例,该系统具体可以应用于各种电子设备中。该系统700包括以下模块:
预处理模块710,用于收集恶意代码数据并对恶意代码数据进行预处理,获得恶意代码样本,恶意代码样本包括二进制文件和源代码;
特征提取模块720,用于采用静态分析法对二进制文件进行特征提取,获得第一特征向量,采用TF-IDF对源代码进行特征提取,获得第二特征向量;
模型构建模块730,用于构建生成式AI模型,利用第一特征向量和第二特征向量训练生成式AI模型,其中生成式AI模型包括嵌入层、两个LSTM层、输入重复层和全连接层;
评估预测模块740,用于评估训练完成的生成式AI模型,以及将待测恶意代码输入至生成式AI模型进行分析,最终获得预测结果。
下面参考图8,其示出了适于用来实现本申请实施例的电子设备的计算机系统800的结构示意图。图8示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请所述的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送速率确定单元和警告信息生成单元。其中,这些单元的名称在某种情况下并不构成对该模块本身的限定,例如,发送速率确定单元还可以被描述为“响应于确定通过网闸设备向高密级主机发送数据的进程处于开启状态,确定发送数据的发送速率的单元”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:响应于确定通过网闸设备向高密级主机发送数据的进程处于开启状态,确定发送数据的发送速率;响应于确定发送速率小于预设的第一速率上限阈值且大于预设的第一速率下限阈值,生成警告信息,并将警告信息发送至第一警告设备。
另外,当上述一个或者多个程序被该电子设备执行时,还可以使得该电子设备:响应于确定通过网闸设备接收的、来自低密级主机的数据的进程处于开启状态,确定接收数据的接收速率;响应于确定接收速率小于预设的第二速率上限阈值且大于预设的第二速率下限阈值,生成警告信息,并将警告信息发送至第二警告设备
另外,当上述一个或者多个程序被该电子设备执行时,还可以使得该电子设备:响应于接收到警告信息,生成预设的、与警告信息对应的警告信号;响应于接收到提示信息,生成预设的、与提示信息对应的提示信号;响应于接收到故障信息,生成预设的、与故障信息对应的故障信号。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种基于生成式AI的恶意代码分析方法,其特征在于,包括以下步骤:
S1、收集恶意代码数据并对所述恶意代码数据进行预处理,获得恶意代码样本,所述恶意代码样本包括二进制文件和源代码;
S2、采用静态分析法对所述二进制文件进行特征提取,获得第一特征向量,采用TF-IDF对所述源代码进行特征提取,获得第二特征向量;
S3、构建生成式AI模型,利用所述第一特征向量和第二特征向量训练所述生成式AI模型,其中所述生成式AI模型包括嵌入层、两个LSTM层、输入重复层和全连接层;
S4、评估训练完成的所述生成式AI模型,以及将待测恶意代码输入至所述生成式AI模型进行分析,最终获得预测结果。
2.根据权利要求1所述的基于生成式AI的恶意代码分析方法,其特征在于,在步骤S3中,利用所述第一特征向量和第二特征向量训练所述生成式AI模型包括以下子步骤:
S31、将步骤S2获得的所述第一特征向量和第二特征向量输入所述嵌入层,所述嵌入层将所述第一特征向量和第二特征向量转换为低维稠密向量,将每个词或字母表示成向量形式;
S32、第一个所述LSTM层将每个时间步的输入序列转换为一个固定维度的向量,提取所述输入序列中的关键特征,并将所述关键特征传递给输入重复层;
S33、所述输入重复层将步骤S32中第一个所述LSTM层输出的关键特征复制多次,用于多次重复生成目标序列;
S34、所述输入重复层的输出和编码层的输出拼接后,经过第二个所述LSTM层进行解码,生成完整的目标序列;
S35、所述全连接层将所述完整的目标序列进行全连接,并使用sigmoid函数进行激活,最后输出二分类结果。
3.根据权利要求1所述的基于生成式AI的恶意代码分析方法,其特征在于,在步骤S2中,所述第二特征向量包括标识符、语法结构、关键字和注释,采用TF-IDF对所述源代码进行特征提取具体包括以下子步骤:
S21、将所述源代码中的每个特征文档分词,去除无关信息后计算每个词语的TF值,计算表达式为:
TF(t,d)=(词语t在文档d中出现次数)/(文档d的总词数)
S22、计算每个词语的IDF值,计算表达式为:
IDF(t)=log_e(所有文档数/出现了词语t的文档数)
S23、根据TF值和IDF值计算每个词语的TF-IDF值,计算表达式为:
TF-IDF(t,d)=TF(t,d)*IDF(t)。
4.根据权利要求1所述的基于生成式AI的恶意代码分析方法,其特征在于,在步骤S2中,采用静态分析法对所述二进制文件进行特征提取,获得第一特征向量,其中所述第一特征向量包括API调用、指令序列和函数调用。
5.根据权利要求1所述的基于生成式AI的恶意代码分析方法,其特征在于,在步骤S1中,所述预处理包括数据清洗,具体包括以下子步骤:
S11、通过md5值行比对识别出相同的文件,去除所述恶意代码数据中的重复项文件;
S12、删除所述恶意代码数据中的纯文本块、注释、重复混淆的代码以及不符合规范的语句;
S13、对所述恶意代码数据进行样本的标准化分类。
6.根据权利要求1所述的基于生成式AI的恶意代码分析方法,其特征在于,在步骤S1中对所述恶意代码数据进行预处理包括采用编码和数据归一化对所述恶意代码数据进行数据转换,其中所述归一化的表达式为:
式中,min(x)为所述恶意代码数据中的最小值,max(x)为所述恶意代码数据中的最大值,x为所述恶意代码数据。
7.根据权利要求1所述的基于生成式AI的恶意代码分析方法,其特征在于,在步骤S1中,通过网络全流量分析监控系统和开源社区的恶意代码库收集所述恶意代码数据。
8.一种基于生成式AI的恶意代码分析系统,其特征在于,包括:
预处理模块,用于收集恶意代码数据并对所述恶意代码数据进行预处理,获得恶意代码样本,所述恶意代码样本包括二进制文件和源代码;
特征提取模块,用于采用静态分析法对所述二进制文件进行特征提取,获得第一特征向量,采用TF-IDF对所述源代码进行特征提取,获得第二特征向量;
模型构建模块,用于构建生成式AI模型,利用所述第一特征向量和第二特征向量训练所述生成式AI模型,其中所述生成式AI模型包括嵌入层、两个LSTM层、输入重复层和全连接层;
评估预测模块,用于评估训练完成的所述生成式AI模型,以及将待测恶意代码输入至所述生成式AI模型进行分析,最终获得预测结果。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述基于生成式AI的恶意代码分析方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述基于生成式AI的恶意代码分析方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310469044.8A CN116720184A (zh) | 2023-04-27 | 2023-04-27 | 一种基于生成式ai的恶意代码分析方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310469044.8A CN116720184A (zh) | 2023-04-27 | 2023-04-27 | 一种基于生成式ai的恶意代码分析方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116720184A true CN116720184A (zh) | 2023-09-08 |
Family
ID=87868651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310469044.8A Pending CN116720184A (zh) | 2023-04-27 | 2023-04-27 | 一种基于生成式ai的恶意代码分析方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116720184A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117332419A (zh) * | 2023-11-29 | 2024-01-02 | 武汉大学 | 一种基于预训练的恶意代码分类方法及装置 |
CN117667676A (zh) * | 2023-11-21 | 2024-03-08 | 上海金仕达卫宁软件科技有限公司 | 基于aigc的区块链智能合约ide验证测试方法和系统 |
CN117972699A (zh) * | 2024-03-01 | 2024-05-03 | 国网江苏省电力有限公司电力科学研究院 | 一种基于软件基因的第三方开源组件风险分析方法及系统 |
CN118332552A (zh) * | 2024-06-12 | 2024-07-12 | 北京辰信领创信息技术有限公司 | 恶意代码聚类方法、计算机装置 |
CN118410486A (zh) * | 2024-07-02 | 2024-07-30 | 北京安天网络安全技术有限公司 | 恶意代码识别方法及装置 |
-
2023
- 2023-04-27 CN CN202310469044.8A patent/CN116720184A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117667676A (zh) * | 2023-11-21 | 2024-03-08 | 上海金仕达卫宁软件科技有限公司 | 基于aigc的区块链智能合约ide验证测试方法和系统 |
CN117332419A (zh) * | 2023-11-29 | 2024-01-02 | 武汉大学 | 一种基于预训练的恶意代码分类方法及装置 |
CN117332419B (zh) * | 2023-11-29 | 2024-02-20 | 武汉大学 | 一种基于预训练的恶意代码分类方法及装置 |
CN117972699A (zh) * | 2024-03-01 | 2024-05-03 | 国网江苏省电力有限公司电力科学研究院 | 一种基于软件基因的第三方开源组件风险分析方法及系统 |
CN118332552A (zh) * | 2024-06-12 | 2024-07-12 | 北京辰信领创信息技术有限公司 | 恶意代码聚类方法、计算机装置 |
CN118410486A (zh) * | 2024-07-02 | 2024-07-30 | 北京安天网络安全技术有限公司 | 恶意代码识别方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299273B (zh) | 基于改进seq2seq模型的多源多标签文本分类方法及其系统 | |
US20220094713A1 (en) | Malicious message detection | |
CN116720184A (zh) | 一种基于生成式ai的恶意代码分析方法及系统 | |
CN113360912A (zh) | 恶意软件检测方法、装置、设备及存储介质 | |
CN114968633A (zh) | 异常日志的检测方法及装置 | |
CN117237688A (zh) | 一种基于融合特征的apt恶意样本攻击组织溯源方法 | |
CN114416479A (zh) | 一种基于流外正则化的日志序列异常检测方法 | |
CN116956289B (zh) | 动态调整潜在黑名单和黑名单的方法 | |
CN110674497B (zh) | 一种恶意程序相似度计算的方法和装置 | |
CN115344563B (zh) | 数据去重方法及装置、存储介质、电子设备 | |
CN113886529B (zh) | 一种面向网络安全领域的信息抽取方法及其系统 | |
CN114925757A (zh) | 多源威胁情报融合方法、装置、设备和存储介质 | |
CN116414783A (zh) | 一种日志检测方法、装置、电子设备和存储介质 | |
CN111859896B (zh) | 配方文档检测方法、装置、计算机可读介质及电子设备 | |
CN111199170B (zh) | 配方文件识别方法及装置、电子设备、存储介质 | |
CN114143074A (zh) | webshell攻击识别装置及方法 | |
CN115587358A (zh) | 一种二进制代码相似性检测方法、装置及存储介质 | |
CN117077678B (zh) | 一种敏感词识别方法、装置、设备及介质 | |
US12047406B1 (en) | Processing of web content for vulnerability assessments | |
US11973792B1 (en) | Generating vulnerability check information for performing vulnerability assessments | |
CN111860662B (zh) | 一种相似性检测模型的训练方法及装置、应用方法及装置 | |
CN116611057B (zh) | 数据安全检测方法及其系统 | |
CN113850085B (zh) | 企业的等级评估方法、装置、电子设备及可读存储介质 | |
CN115718696B (zh) | 源码密码学误用检测方法、装置、电子设备和存储介质 | |
CN110795940B (zh) | 一种命名实体识别方法、系统及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |