python工具软件二进制安全 [2022] 基于NLP的威胁检出引擎 NLP引擎出自于我的一个简单的想法 - 既然人可以通过汇编看出软件是否是病毒 那么机器是否可以通过汇编看呢? 为了让机器能看得懂代码,我首先想到的是非常经典的NLP分类问题,所谓的NLP分类问题,就是训练的时候给一堆词语+词频,推理的时候先把句子中的词语分出来,再然后计算这些词语的词频,最后得出这条句子属于什么类别的结论 阅读全文 2022-03-17 huoji 1 条评论
系统安全二进制安全 [2021]为什么InstDrv.exe这个驱动加载工具绿色版被各个杀毒软件厂商报毒 写驱动的朋友应该或多或少的使用过"InstDrv.exe",或者叫做驱动加载工具绿色版 ![](https://key08.com/usr/uploads/2021/10/4018118908.png) 图标 ![](https://key08.com/usr/uploads/2021/10/1545487343.png) 不幸的是这玩意在VT上被各种杀毒软件报毒,包括defender,火绒,深信服等... ![](https://key08.com/usr/uploads/2021/10/1943224816.png) 这倒没什么,毕竟这很正常,奇怪的来了, 自己制作的启发引擎到最后也把这个报毒了? 什么原理? ### shap 目前很多的启发引擎都被是"基于神经网络",说白了就是塞一大堆东西,也不知道是啥,反正让机器给出一个0或者1就完事了,但是这样你也懂的,黑盒,完全不可见,包括我自己制作的杀毒引擎也是黑盒.好在存在,shap是一个神经网络查看工具,可以查看神经网络偏向哪个特征,方便调参 [由于保密协议问题,我不能展示我的神经网络的模型,但是可以用一下其他人的] ![](https://key08.com/usr/uploads/2021/10/4003497191.png) 使用shap工具查看神经网络,左边是特征类型,中间是权重 根据我的看法,是因为这个instdrv这个工具,**他的"代码段与总体积"的比率太小,被很多杀毒软件的启发引擎归类为病毒类** 这就是困扰多年的驱动加载工具绿色版报毒的原因 这种是属于"无法分辨"的软件,这也是为什么目前的启发引擎误报如此之大的原因,无法分辨是指绿色软件的特征是病毒的特征,你没有其他的办法分辨,一个东西,看起来像兔子,行为也像兔子,说话也像兔子,但是他就是一只猫,这没啥办法,只能通过人工加白. 阅读全文 2021-10-03 huoji 0 条评论
系统安全工具软件二进制安全C/C++一线开发 [2021]检测Cobalt Strike只使用40行代码 无文件落地的木马主要是一段可以自定位的shellcode组成,特点是没有文件,可以附加到任何进程里面执行。一旦特征码被捕获甚至是只需要xor一次就能改变特征码.由于传统安全软件是基于文件检测的,对目前越来越多的无文件落地木马检查效果差. **基于内存行为特征的检测方式,可以通过检测执行代码是否在正常文件镜像区段内去识别是否是无文件木马.由于cobaltstrike等无文件木马区段所在的是private内存,所以在执行loadimage回调的时候可以通过堆栈回溯快速确认是否是无文件木马** 检测只需要40行代码: 1. 在loadimagecallback上做堆栈回溯 2. 发现是private区域的内存并且是excute权限的code在加载dll,极有可能,非常有可能是无文件木马或者是shellcode在运行 核心代码如下: 阅读全文 2021-07-25 huoji 0 条评论