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

访客5年前黑客文章408
现在逆向工程师、安全剖析人员和事情呼应人员在剖析歹意软件二进制文件时,现已具有了许多老练的东西。在进行歹意软件剖析时,为了逐渐搜集有关二进制文件功用的头绪,规划对应的检测办法,并确认终究的环境办法,他们会相继运用这些东西。最常用的初始进程便是经过字符串程序检查它的可打印字符。假如二进制文件履行比方打印过错音讯、连接到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]黑客接单网

相关文章

玩转Ysoserial-CommonsCollection的七种利用方式分析-黑客接单平台

CommonsCollection在java反序列化的源流中现已存在了4年多了,关于其间的剖析也是层出不穷,本文旨在整合剖析一下ysoserial中CommonsCollection反序列化缝隙的多种...

邮箱密码破解,哪里有地方找黑客,从哪里找黑客写软件

有经历的tx 在切断上传的时分会看到类似于“-----------------------------30514443229777"的来切割字符串其实这些是multipart/form-data协议的...

代码审计系列第一节

 首要给咱们介绍几款,代码审计常用到的东西,来进行辅佐剖析和代码发掘。首要咱们介绍的是榜首款。 咱们选用的是window集成环境,关于php集成环境,咱们能够自行挑选,我这儿演示只给咱们演示wamp。...

相册破解_深圳黑客在哪里找-北京找黑客深圳户

「相册破解_深圳黑客在哪里找-北京找黑客深圳户」[1][2]黑客接单渠道http://i.camera360.com/oalogin.html?action=logout&redirectUr...

请问我被诈赌搞了万报警钱能拿回来吗?

通过访问策略控制禁止 /_async/* 路径的URL访问Windows 7https://support.microsoft.com/zh-cn/help/4500705/customer-guid...

不收定金的黑客接单_找一个黑客群

运用下面指令能够获取或有可用的模块称号:sudo apt-get install mono-complete三、重出江湖的APT安排不收定金的黑客接单,找一个黑客群 Google Drive虚伪文件同...