计算平台上的脚本分类的制作方法

文档序号:37259163发布日期:2024-03-12 20:36阅读:21来源:国知局
计算平台上的脚本分类的制作方法


背景技术:

1、可以训练机器学习模型执行分类任务用于识别给定输入属于哪一类或哪几类。在某些情况下,机器学习模型接收预设的类的列表,而在其他情况下,模型可以被训练以识别类并将具有相似质量的输入放入一个或多个识别的类中。分类任务的范围可以从识别输入是否属于单一类到识别输入是否属于多个类中的一个或多个,以及两者之间的变化。

2、计算平台是计算资源的集合,例如处理器、专用硬件和/或存储器,可以通过网络提供计算服务。计算平台可以根据不同的模式提供服务,包括基础设施即服务(iass)、平台即服务(pass)和软件即服务(sass)。管理计算平台的一个问题是保护平台免受恶性活动的影响,例如防止在平台资源上执行恶性脚本或其他形式的软件。恶性脚本可能会削弱或禁用计算平台的部分或全部服务,还可能对平台上处理和存储的数据造成重大威胁


技术实现思路

1、本公开的方面涉及一种系统,该系统在实际部署软件之前基于预测软件对平台的影响,将软件分类为恶性或良性。本文所述的系统可以接近实时地接收、隔离软件并将其分类为良性或恶性。本公开内容的某些方面基于如本文所述经训练的机器学习模型所预测的影响,即使程序表面上看起来是良性的,也提供了对恶性程序或脚本的准确分类,反之亦然。该系统还可用于隔离和验证到平台的传入脚本或软件,以提供预测的分类,同时不会对涉及平台资源的处理管道或一般平台的用户体验造成实质性影响。分类结果可及时显示或发送到可能受到恶性软件的受挫执行的影响的用户的计算设备上。特别是,分类结果可用于根据输出分类控制脚本在一个或多个计算节点上的部署。例如,可以根据将脚本归类为恶性的输出分类,自动阻断在一个或多个计算节点上部署脚本。随着额外的计算资源被分配给平台的用户,该系统可以进行扩展,以便在新分配的计算节点上提供恶性脚本分类。

2、本公开的方面涉及一种使用与计算平台的计算节点通信的一个或多个处理器进行脚本分类的方法,该方法包括:从计算节点接收脚本;将脚本令牌化为多个令牌;以及

3、使用被训练为对脚本进行分类的分类机器学习模型,生成脚本对计算平台为良性或恶性的输出分类;以及将输出分类发送到计算节点。

4、本公开的方面更多进一步地指向一种系统,特别是配置为执行所提出的方法的系统,该系统包括:与计算平台的计算节点通信的一个或多个处理器,一个或多个处理器被配置为:从计算节点接收脚本;将脚本令牌化为多个令牌;以及使用被训练为对脚本进行分类的分类机器学习模型,生成脚本对计算平台为良性或恶性的输出分类;以及将输出分类发送到计算节点。

5、令牌化脚本可以涉及识别和划分脚本中的字符串部分,以便每个令牌代表脚本的划分部分。因此,令牌化脚本可能生成由多个令牌组成的预处理脚本,分类机器学习模型可能接收这些令牌作为输入以生成输出分类作为输出。例如,分类机器学习模型可以被训练为基于构成脚本中划定字符串部分的令牌的出现和令牌之间的相似性对脚本进行分类。例如,生成输出分类可以包含使用整数向量,该整数向量包含与待分类脚本中一个或多个令牌(未哈希或哈希)的出现次数相对应的元素。

6、一般来说,计算节点可以是包括一个或多个处理器的系统的一部分。计算节点可以包括节点监视器,该节点监视器被配置为针对脚本监控到计算节点的传入流量,并且将脚本发送到一个或多个处理器。

7、计算节点可以是相互通信地耦合的多个计算节点中之一,其中,多个计算节点中的每个计算节点可以包括相应的节点监视器,相应的节点监视器被配置为针对脚本监视到计算节点的传入流量,并且将脚本发送到一个或多个处理器。因此,可以提供多个节点监视器(特别是作为所提的系统的实施例的部分),其中,例如,每个节点监视器可以分别将要令牌化和分类的脚本发送到包括一个或多个处理器并实现分类机器学习模型的系统的计算平台。

8、节点监视器可以进一步被配置为:从一个或多个处理器接收输出分类,并且向计算节点发送包含输出分类的响应。

9、一个或多个处理器可以被配置为向计算节点发送一个或多个:被分类脚本的名称、被分类脚本的至少第一部分的哈希摘要以及被分类脚本的至少第二部分。

10、计算节点可以是虚拟机,其中,节点监视器在虚拟机的用户空间中实现。

11、节点监视器可以是kubernetes守护进程。kubernetes允许自动化软件部署、扩展和管理,例如使用所谓的pod来运行容器。在这种情况下,守护进程是一种控制器,可以管理运行在不同计算节点上的一个或多个pod,例如集群的多个计算节点。

12、在接收脚本时,一个或多个处理器可以被配置为:

13、识别对计算节点的传入函数调用,传入函数调用包括作为函数参数的脚本的文件位置;以及从函数参数中指示的文件位置获取脚本。

14、分类机器学习模型还可以包括:嵌入模型,嵌入模型被训练为将输入脚本映射到输入脚本的对应嵌入向量表示,卷积神经网络,卷积神经网络被配置为接收来自嵌入模型的嵌入,以及前馈网络,前馈网络被配置为接收来自卷积神经网络的输出,前馈网络包括被配置为生成输入脚本的输出分类的一个或多个隐藏层和输出层。

15、卷积神经网络可以包括:包括200个大小为2的滤波器的至少一个卷积层,包括200个大小为3的滤波器的至少一个卷积层,包括200个大小为4的滤波器的至少一个卷积层,以及包括200个大小为5的滤波器的至少一个卷积层。

16、可以使用非脚本语言的语言编写的训练文档语料库来训练嵌入模型。

17、一个或多个处理器进一步被配置为训练分类机器学习模型,其中,在训练分类机器学习模型时,一个或多个处理器被配置为:接收包含多个训练脚本的脚本训练数据;令牌化多个训练脚本以生成多个令牌;对于每个训练脚本,生成训练脚本的相应的整数向量,相应的整数向量包括多个元素,每个元素对应于训练脚本中相应一个或多个令牌或哈希令牌的出现次数;在生成的整数向量和多个二进制向量之间生成映射,每个二进制向量包括多个二进制元素,映射基于将生成的向量投影到比生成的整数向量的维度更低的维度,同时在使用距离函数比较生成的整数向量时维持生成的整数向量之间的相应的相似性;生成一组或多组连接的二进制向量;使用一组或多组连接的二进制向量生成训练脚本的训练集、验证集和测试集,其中,对于每组二进制向量,与组对应的训练脚本要么全部在训练集中,要么全部在验证集中,要么全部在测试集中;以及训练分类机器学习模型以使用生成的训练集、验证集和测试集对脚本进行分类。

18、距离函数可以是余弦距离函数。

19、在生成一组或多组连接的二进制向量时,一个或多个处理器被配置为:移除一个或多个二进制向量,每个二进制向量仅映射到一个相应的整数向量;以及在移除一个或多个二进制向量后,识别由二进制向量空间中的多个二进制向量限定的一个或多个连接的分量。

20、为了生成相应的整数向量,一个或多个处理器被配置为使用局部敏感哈希(lsh)对训练脚本的令牌进行哈希,其中,相应的整数向量的元素由训练脚本的令牌的lsh值索引。

21、在生成训练集、验证集和测试集时,一个或多个处理器被配置为分割:约60%的脚本训练数据到训练集,约20%的脚本训练数据到验证集,以及约20%的脚本训练数据到测试集。

22、所提出的解决方案的方面进一步涉及一个或多个非暂态计算机可读存储介质,一个或多个非暂态计算机可读存储介质包括指令,指令在由一个或多个处理器执行时可操作,以使得一个或多个处理器执行如上文所讨论的方法中的操作。

23、所提出的解决方案进一步涉及一种训练用于脚本分类的机器学习模型的方法,包括:由一个或多个处理器接收包括多个训练脚本的脚本训练数据;由一个或多个处理器令牌化多个训练脚本以生成多个令牌;对于每个训练脚本,由一个或多个处理器生成训练脚本的相应的整数向量,相应的整数向量包括多个元素,每个元素对应于训练脚本中相应一个或多个令牌或哈希令牌的出现次数;由一个或多个处理器生成生成的整数向量和多个二进制向量之间的映射,映射基于将生成的向量投影到比生成的整数向量的维度更低的维度,同时在使用距离函数比较生成的整数向量时维持生成的整数向量之间的相应的相似性;

24、由一个或多个处理器生成一组或多组连接的二进制向量;由一个或多个处理器使用一组或多组连接的二进制向量生成训练脚本的训练集、验证集和测试集,其中,对于每组二进制向量,与组对应的训练脚本要么全部在训练集中,要么全部在验证集中,要么全部在测试集中;以及由一个或多个处理器训练分类机器学习模型以使用生成的训练集、验证集和测试集对脚本进行分类。

25、所提出的解决方案的方面还涉及一种系统,该系统包括一个或多个处理器,一个或多个处理器被配置为执行上述训练机器学习模型的方法。

26、所提出的解决方案的方面进一步涉及一个或多个非暂态计算机可读存储介质,一个或多个非暂态计算机可读存储介质包括指令,指令在由一个或多个处理器执行时可操作,以使得一个或多个处理器执行包括上述训练机器学习模型的方法在内的操作。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1