如何用ChatGPT分析恶意软件?

ChatGPT对网络安全的影响 新环境下,ChatGPT对网络安全造成了什么影响? 阅读详情

自从我们进入数字化时代以来,恶意软件就一直是计算机应用系统的“心腹大患”。事实上,每一次技术进步都会为恶意行为者提供更多的工具,使得他们的攻击行为更具破坏性。不过,如今生成式人工智能的崛起,似乎让一直以来的趋势发生了逆转。目前,网络安全专业人员正在利用ChatGPT等人工智能工具,分析和对抗恶意软件。

作为具有广泛用途的工具,ChatGPT适用于网络安全等的众多应用场景。下面,我将向您介绍,它可以协助恶意软件分析师执行的三项典型AI任务。这些任务往往可以极大地简化和提高应对恶意软件的能力。

1.创建YARA规则

YARA规则是根据特定模式来检测恶意软件的重要机制。为确保达到适当的威胁检测覆盖率,分析人员往往需要编写出许多不同的规则。不过,编写此类规则并非轻而易举之事,尤其是在时间紧迫之时。

值得庆幸的是,ChatGPT可以快速生成此类规则,从而大幅加快整个流程,并在很大程度上实现了自动化。我们只需向其聊天机器人提供适当的指令即可。当然,大多数情况下,我们仍需要对自己的表述稍加润色。如下图所示,虽然ChatGPT偶尔也会出错,但是总体而言,它对于YARA规则的编写,还是能够起到不小的帮助。

在截图中,ChatGPT并未指定字符串可以使用ASCII和wide两种编码中的具体哪一种,并且在$str4字符串中遗漏了一个额外的问题。不过,这些对于一个能够在几秒钟之内生成的规则而言,足以令人印象深刻,且加快后续工作进程了。

您可以使用如下的提问方式,要求ChatGPT创建对应的规则:

  1. GPT,你能帮我写一条YARA规则吗?我希望检测一个特定的恶意软件样本,该样本具有这样的特征:[可替换为具体特征内容]。
  2. 如何编写一条能准确识别某恶意软件的YARA规则?
  3. 不要解释YARA,请提供一条规则,并概述其逻辑。
2. 编写Suricata规则

Suricata规则是有效地检测和分析恶意软件的另一个重要方式。作为一款出色的工具,ChatGPT在此方面能够提供几乎不亚于初级分析师所编写出的规则。当然,由ChatGPT生成的Suricata规则可能算不上尽善尽美,但是它足以帮助您入门和上手。

从上图的例子中我们可以看出,虽然GhatGPT仍有改进的空间,但是其输出的结果可以被当作一个粗略的草稿,为我们的后续工作打下基础,并节省大量的时间。

您可以使用如下的提问方式,要求ChatGPT创建对应的规则:

  1. ChatGPT,请使用如下信息,生成一条能检测[某个条件]的Suricata 规则:
  • 选项:[指定选项]
  • 行为:[指定行为]
  • 头部:[指定头部]
  1. 请注意,如果无法满足上述条件,就只创建一条检测[某个条件]的规则。
3.了解恶意活动

话说回来,ChatGPT在恶意软件分析方面的更常见用例在于,能够更多地了解不同的威胁,并采取的具体行动。例如,在下面的示例中,我们向ChatGPT询问了恶意软件利用合法实用程序w32tm.exe的方式,该聊天机器人给出了如图所示的可靠回答。

从ChatGPT的上述回答可以看出,它给出了需要怎么做,才能确保正确检测的良好提示。

此外,我为大家构建了一个免费的沙盒。您可以通过链接--ANY.RUN - Interactive Online Malware Sandbox,方便地获取上述信息。该服务旨在让您通过与云端安全的Windows VM(虚拟机)的直接交互,来分析各种可疑文件和链接。

它不仅能够检测到恶意网络流量、进程和注册表的更改,而且可以利用其内置的ChatGPT功能,让你深入了解你所感兴趣的对象,例如:被触发的Suricata规则等。

上图展示的是由ANY.RUN检测到的、借助人工智能生成的针对恶意进程的报告。凭借它,您可以全面地了解恶意软件执行某项活动的方式和原因,以及它对于基础架构安全性的影响。

小结

综上所述,以ChatGPT为代表的聊天机器人一旦被集成到我们日常的工作流程中,势必会大幅提高安全分析师的能力和效率。虽然生成式人工智能目前暂无法给整个恶意软件行业带来灭顶之灾,但是诸如ChatGPT之类的产品,显然已比以往任何时候都更加便于专业人员开展安全审查工作,也使得他们能够更快地应对攻击,进而改善组织的安全态势。

ChatGPT 和隐写术生成恶意软件的威胁和风险以及防范 摘要:本文介绍了使用 ChatGPT 和隐写术生成恶意软件的方法、所带来的威胁和风险,以及针对这种方法的防范措施。优化和混淆恶意软件代码:为降低被检测到的风险,攻击者可能会修改代码的结构和变量名,使得恶意生成的恶意软件可能被用于进行针对性或大规模的网络攻击,给个人和组织带来巨大的经济损失和声誉损害。摘要:本文探讨了使用 ChatGPT 和隐写术生成恶意软件的威胁和风险,以及为应对这些威胁和风险而采取的防范措施。摘要:本文讨论了使用 ChatGPT 和隐写术生成恶意软件的威胁和风险,以及一些可能的防范措施。 阅读详情

相关推荐

Qt Location实战:5分钟搞定地图插件切换与卫星图源加载(附完整代码)

本文是Qt Location开发系列教程的实战指南,详细讲解如何在Qt应用中快速实现地图插件(如Esri、OSM、MapboxGL)的动态切换与卫星图源的加载。通过清晰的代码示例,帮助开发者理解插件机制,解决常见配置问题,并在5分钟内构建出具备交互式地图切换功能的应用程序。

kafka6courier的博客 527

【ChatGPT技术应用分享】如何用ChatGPT分析恶意软件

陈峻(Julian Chen),51CTO社区编辑,具有十多年的IT项目实施经验,善于对内外部资源与风险实施管控,专注传播网络与信息安全知识与经验。

xzs51job的专栏 1229

XC7K325T FPGA硬件设计实战:从板级原理图到高速接口优化

本文以XC7K325T FPGA为核心,详细阐述了从板级原理图设计到高速接口优化的完整硬件实战流程。内容涵盖芯片管脚与电源规划、时钟复位配置电路设计,并重点解析了DDR3内存子系统以及PCIe与光纤接口等高速电路的原理图与PCB设计要点,旨在帮助工程师构建稳定可靠的高性能硬件平台。

python9snake的博客 515

爆火出圈的chatGPT如何在逆向和恶意软件分析中发挥作用

ChatGPT是人工智能研究实验室OpenAI新推出的一种人工智能技术驱动的自然语言处理工具,使用了Transformer神经网络架构,也是GPT-3.5架构,这是一种用于处理序列数据的模型,拥有语言理解和文本生成能力,尤其是它会通过连接大量的语料库来训练模型,这些语料库包含了真实世界中的对话,使得ChatGPT具备上知天文下知地理,还能根据聊天的上下文进行互动的能力,做到与真正人类几乎无异的聊天场景进行交流。ChatGPT对逆向工程师和恶意软件分析师的回答的价值取决于提供给语言模型的上下文信息的数量。

seoppg的博客 2238

【遥感数字图像处理(朱文泉)】各章博文链接汇总及思维导图

遥感数字图像处理(北京师范大学朱文泉教授)课程各章博文笔记汇总,及各章节思维导图

甜子yu的博客 2624

NSGA(非支配排序遗传算法)

在多目标优化问题中,往往存在多个相互冲突的目标需要同时优化。传统的单目标优化算法无法直接应用于这类问题,因此需要专门的多目标优化算法。非支配排序遗传算法(Non-dominated Sorting Genetic Algorithm,NSGA)是一种经典的多目标优化算法,由印度科学家 Kalyanmoy Deb 等人于 1995 年提出。NSGA 通过非支配排序和拥挤度距离来引导种群向 Pareto 最优前沿进化,从而得到一组具有良好分布性和收敛性的 Pareto 最优解。

2979

ChatGPT在代码安全实战中的5个隐藏技巧:从漏洞检测到恶意软件分析

本文深入探讨了ChatGPT在代码安全实战中的5个隐藏技巧,涵盖漏洞检测、安全编码、测试用例生成、恶意软件分析和应急响应。通过具体案例和代码示例,展示了如何利用ChatGPT的上下文理解能力提升安全防护效率,降低误报率,并加速漏洞修复流程。这些技巧为开发者提供了强大的安全工具,特别适用于LLM在安全领域的创新应用。

weixin_29273849的博客 177

单细胞数据互转实战:从Scanpy的h5ad到Seurat对象的四种高效方法

本文针对单细胞数据分析中Scanpy的h5ad格式与Seurat对象互转的常见难题,详细对比了SeuratDisk、anndataR、schard和sceasy四种高效转换方法。文章从实战出发,剖析了每种方法的原理、操作流程、优缺点及避坑指南,并提供了清晰的选型策略,帮助用户根据数据特点选择最佳方案,实现跨平台数据的无缝衔接。

weixin_29099217的博客 450

ChatGPT 主题相关的安卓恶意软件开始涌现

OpenAI 创建了一个名为 Chat Generative Pre-trained Transformer(简称 ChatGPT)的应用程序,该程序由大模型(LLM)驱动,目前已经开发到第四个版本。ChatGPT 于 2022 年 11 月 30 首次公开发布,由于其非凡的交互问答能力,迅速引起了世人的注意。尽管 ChatGPT 的回答并不一定准确,但在前期用户为了使用仍然排了大长队。如此流行的社会风潮,也被攻击者盯上了。

2401_84466336的博客 1419

2015年全国大学生电子设计大赛综合测评题

2015年全国大学生电子设计大赛综合测评题 题目如下: 一、555产生可调方波 555定时器是一种集成电路芯片,常被用于定时器、脉冲产生器和振荡电路。555可被作为电路中的延时器件、触发器或起振元件。 555定时器可组成单稳态电路、多稳态电路和无稳态电路。产生方波其实就是制造一个无稳态电路。 555定时器的引脚功能: 其中: DIS引脚与OUT脚电平一致 TRIG: 当此引脚电压降至1/3VCC(或由控制端决定的阈值电压)时输出端给出高电平。 THR:当此引脚电压升至2/3VCC(或由控制端决定的阈值电压

m0_47066484的博客 3万+

Xilinx IP核 Block Memory Generator v8.4 的使用

本文主要介绍如何使用并初始化 Xilinx 提供的IP核 Block Memory Generator v8.4`,为了确保成功初始化,还对其进行了一个简单的仿真,更多细节请参考官方手册。

高阶近似的博客 1万+

当生成式AI成为逆向工程的加速器:揭秘XLoader恶意软件分析

2025年11月3日。

分享技术点滴 2135

让 ABAP 开发者也能做出高质量 SAP Fiori:到底需要掌握多少前端知识?

文章摘要: 随着SAP技术演进,ABAP开发者的角色边界正在重构。传统SAP GUI时代的全栈开发模式逐渐转向RAP+Fiori Elements的新范式,其中关键技术变化包括: 开发模式转变:从前后端耦合转向RAP模型驱动开发,通过CDS注解实现UI意图表达 分工优化:Fiori Elements模板处理80%标准UI需求,Flexible Programming Model解决20%差异化需求 效率提升:注解驱动开发可在RAP建模阶段同步定义UI结构,大幅缩短交付周期 工具整合:SAP提供从建模到部署的

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 350

ChatGPT与安全

OpenAI没有声明其训练集来源,据称ChatGPT的训练数据包含了网络上的公开数据源,因此在预训练阶段,如果公开数据集被恶意投毒,添加噪声扰动的投毒会引起模型生成文本存在错误、语义不连贯等问题,植入后门的投毒会导致一些字母符号等信号触发模型做出特定行为。进行了一项安全驱动的用户研究(n=58),以评估学生程序员在LLMS的帮助下编写的代码,结果表明,在此设置中的安全影响很小:AI帮助的用户产生关键安全错误的比率不超过控制的10%,这表明LLMS的使用不会引入新的安全风险。

TARO_ZERO的博客 2398

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

ChatGPT将引发网络安全三大革命

自从2022年11月30日OpenAI首次公测ChatGPT至今,短短三个月内,大量参与测试的网络安全专业人士对生成式人工智能的看法从最初的不屑和傲慢,变成了今天的兴奋甚至恐惧。毫无疑问,ChatGPT对于网络安全有着革命性的意义。已经有无数例子说明ChatGPT有能力改变各种黑帽子游戏规则。在首个公开的概念验证中,纽约大学教授Brendan Dolan-Gavitt使用ChatGPT来利用缓冲区溢出漏洞。

xnxqwzy的博客 73

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

人工智能在安全领域的应用

ChatGPT 等 AI 应用在网络安全领域的应用效果明显,其自动编程能力、分析能力及自身集成的知识库能够帮助网络安全从业者提升工作效率,改进组织的网络安全计划。具备恶意软件检测能力。如 ChatGPT 能够分析恶意软件的说明和指令,判断恶意软件中常用的语言模式,从而帮助检测新的恶意软件变体,辅助提升恶意软件检测能力。如通过训练并区分钓鱼邮件的异常特征,可检测出新的网络钓鱼企图。如可以使用 ChatGPT 的语言模型来分析多种来源的大量文本,以识别潜在的网络威胁并了解攻击者使用的战术、技术和程序。

goodxianping的专栏 668

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: 2024年最安全的十个Linux桌面发行版!
下一篇: 云,哪里贵了?
老贾的AI世界
博客等级 码龄7年 3335粉丝 254原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老贾的AI世界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值