提取字符串 *** 在恶意软件分析中的应用-黑客接单平台

访客5年前黑客文章446
现在逆向工程师、安全剖析人员和事情呼应人员在剖析歹意软件二进制文件时,现已具有了许多老练的东西。在进行歹意软件剖析时,为了逐渐搜集有关二进制文件功用的头绪,规划对应的检测办法,并确认终究的环境办法,他们会相继运用这些东西。最常用的初始进程便是经过字符串程序检查它的可打印字符。假如二进制文件履行比方打印过错音讯、连接到URL、创立注册表项或将文件复制到特定方位等操作,那么它一般会包括一些有助于未来剖析的字符串。 注:字符串程序在NT和Win2K上作业时,意味着可履行文件和方针文件会屡次嵌入UNICODE字符串,运用规范ASCII字符串或grep程序无法轻松检查。字符串只扫描你传递的文件,以获取默许长度为3或更多UNICODE(或ASCII)字符的UNICODE(或ASCII)字符串。 请注意,该办法也适用于Windows 95。 手动过滤掉这些相关字符串或许十分耗时且简略犯错,尤其是考虑到以下的3种状况: 1.相关字符串呈现的频率比不相关字符串呈现的频率少得多; 2.较大的二进制文件能够输出数万个独自的字符串; 3.关于“相关”的界说,在不同的剖析师之间或许存在明显差异; 在履行歹意软件剖析时,查询人员绝不想错失任何一个重要的头绪,有了这些头绪,不光能够削减剖析时所用的时刻,并且还能得出完好和正确的剖析定论。在这篇文章中,咱们将展现FireEye Data Science (FDS)和FireEye Labs Reverse Engineering (FLARE)团队最近协作的效果——怎么运用提取字符串办法来简化剖析进程。 要害进程 1.在歹意软件上运转字符串程序会不可避免地发生与重要字符串混杂的字符串,而这些字符串只要在对整个输出成果进行挑选和筛查之后才干被发现。而本文介绍的新机器学习模型能够依据字符串与歹意软件剖析的相关性主动对字符串进行排序,然后大大加速这一挑选进程。 2.了解哪些字符串是相关的,一般需求经验丰富的剖析人员,但运用提取字符串办法能够让这个进程变得适当简略; 3. 本文介绍的新机器学习模型能够优先考虑各个歹意软件样本的字符串输出,这些样本是依据FireEye逆向工程师7年以来编写的相关字符串数据集。 字符串程序的作业原理 字符串程序回来的每个字符串都是由3个或更多字符组成的序列表明的,以null结束符结束,与周围的上下文和文件格局无关。这意味着这些字符串是不能被人们所阅览出来的,而核算机也只能将字符序列标识为字符串。例如,假如接连的字节0x31、0x33、0x33、0x37、0x00呈现在二进制文件中,字符串能够将把这些接连的字节解说为“1337”。从这个示例中能够看到,这些ASCII字符并不会实在的表明该字符串自身。不过它们能够表明内存地址、CPU指令,乃至程序运用的数据。字符串程序会让剖析人员过滤掉输出中呈现的无关字符串。例如,从歹意软件剖析师的视点来看,图1中列出的来自歹意二进制代码示例的字符串中,只要少量几个是和歹意行为相关的。 字符串输出中包括44个和样本相关的字符串,其间SHA-256值为eb84360ca4e33b8bb60df47ab5ce962501ef3420bc7aab90655fd507d2ffcedd。 依据降序相关性对字符串进行排序将使剖析师的剖析进程变得愈加简略,这样,他们只需求将注意力会集在列表顶部最相关的字符串上,而疏忽下面的一切内容。可是,完结字符串主动排序的使命并非易事。相关字符串的空间对错结构化和巨大的,而规划精心调整的规矩来强有力地解说它们之间一切或许的改变,将是一个艰巨的使命。 对字符串输出进行排序 对字符串输出进行排序的使命能够在机器学习(ML)结构中进行,这个结构称为学习排序(learning to rank, LTR) 。LTR(Learning torank)学习排序是一种监督学习(SupervisedLearning)的排序办法。LTR现已被广泛运用到文本发掘的许多范畴,比方IR中排序回来的文档,引荐体系中的候选产品、用户排序,机器翻译中排序候选翻译成果等等。IR范畴传统的排序办法一般经过结构相关度函数,然后依照相关度进行排序。影响相关度的要素许多,比方上面说到的tf,idf,dl等。有许多经典的模型来完结这一使命,比方V *** ,Boolean model,概率模型等。关于传统的排序办法,很难交融多种信息,比方向量空间模型以tf*idf作为权重构建相关度函数,就很难运用其他信息了,并且假如模型中参数比较多,也会使得调参十分困难,并且很或许会呈现过拟合现象。所以人们很天然的想到了用机器学习(Machine Learning)来处理这一问题,所以就有了Learning to rank。机器学习办法很简略交融多种特征,并且有老练深沉的理论基础。 处理LTR问题的一种办法是运用 GBDT(Gradient Boosting Decision Tree),GBDT(Gradient Boosting Decision Tree) 又名 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由多棵决策树组成,一切树的定论累加起来做终究答案。它在被提出之初就和SVM一同被认为是泛化才能(generalization)较强的算法。近些年更由于被用于搜索排序的机器学习模型而引起咱们重视。GBDT中的树都是回归树,不是分类树,这点对了解GBDT适当重要(虽然GBDT调整后也可用于分类但不代表GBDT的树是分类树)。GBDT的中心就在于,每一棵树学的是之前一切树定论和的残差,这个残差便是一个加猜测值后能得实在值的累加量。比方A的实在年纪是18岁,但之一棵树的猜测年纪是12岁,差了6岁,即残差为6岁。那么在第二棵树里咱们把A的年纪设为6岁去学习,假如第二棵树真的能把A分到6岁的叶子节点,那累加两棵树的定论便是A的实在年纪;假如第二棵树的定论是5岁,则A依然存在1岁的残差,第三棵树里A的年纪就变成1岁,持续学。 GBDT经过梯度下降的办法,不断学习下降丢失的决策树,终究将每棵猜测树的加权和作为一个调集。具有LTR方针函数的GBDT能够学习类概率来核算每个字符串的预期相关性,然后能够用它对给定的字符串输出进行排序。 在图2的初始train()进程中,超越25000个二进制文件经过字符串程序运转,终究生成包括超越1800万个字符串的练习数据。然后,每个练习样本对应于该输入文件上的字符串程序输出的ASCII和Unicode字符串的串联列表。为了练习模型,这些原始字符串被转换为包括天然语言处理特征(如香农熵和字符共现频率)的数字向量,以及特定于域的信号,如存在危害指示符(例如文件途径,IP地址,URL)等,格局字符串,导入和其他相关标志。[1][2]黑客接单网

相关文章

我被老公欺骗好难受,他赌博坐牢半年回来不久还欠

if ;then下载一个存在漏洞的 Spring Cloud Config,下载地址如下: 3、在受影响版本的系统上启用网络级身份验证(NLA);启用NLA后,攻击者需要使用目标系统上的有效账户对远程...

探究根据.NET下妙用DLL处理映射完成后浸透权限保持

0×01 前语 笔者在“探究.NET完成一句话木马”系列文章中,运用一般处理程序(当然也不限于ashx,asmx照样可用)的时分发现一处功用点能够自定义文件类型映射,再合作强壮的csc和js编译器就能...

XSS进犯的解决方法

 在我上一篇《前端安全之XSS进犯》文中,并没有把XSS进犯的处理办法说完好,而XSS的进犯又那么形形色色,有没有一招“独孤九剑”能够抗衡,究竟那么多状况场景,开发人员无法逐个照料过来,而今日经过阅览...

在香港做一个网络赌搏的软件违法吗?

搭建环境,简单复现一下ubuntu利用该漏洞,攻击者可安装程序、查看、更改或删除数据、或者创建拥有完全用户权限的新帐户。 这个漏洞存在诱惑力可想而知,只要POC放出,就能够在大多数人没来得及更新的情况...

黑客先接单后付钱_生死狙击黑客去哪里找

2018年6月,国外安全研讨人员揭露了运用Windows 10下才被引进的新文件类型“.SettingContent-ms”履行恣意指令的进犯技巧,并揭露了POC。 而该新式进犯办法被揭露后就马上被黑...

未来电脑,找黑客抢黄金电影,全民k歌找黑客

8、/Database/#newasp.mdbfunction test_get() { BGP安全性有待进一步提高 当你阅读网页(这取决于界说的方针规模)时,经过主动扫描经过署理的恳求就能发现...