DGA算法调研&测试

DGA算法调研&测试DGA

DGA(域名生成算法)是一种利用随机字符来生成C2域名,从而逃避域名黑名单检测的技术手段。

而有了DGA域名生成算法,攻击者就可以利用它来生成用作域名的伪随机字符串,这样就可以有效的避开黑名单列表的检测。伪随机意味着字符串序列似乎是随机的,但由于其结构可以预先确定,因此可以重复产生和复制。该算法常被运用于远程控制软件上。

首先攻击者运行算法并随机选择少量的域(可能只有一个),然后攻击者将该域注册并指向其C2服务器。在受害者端恶意软件运行DGA并检查输出的域是否存在,如果检测为该域已注册,那么恶意软件将选择使用该域作为其命令和控制(C2)服务器。如果当前......

Fuse-DFS 编译安装及HDFS Mount

Fuse-DFS 编译安装及HDFS Mount0. 概要

Fuse-DFS 提供了使用 FUSE(用户空间中的文件系统)在UNIX文件系统上映射HDFS的功能。这是个非常实用的功能,我的使用场景是 Neo4j 的Loadcsv能够直接访问HDFS中的文件。

Hadoop 源码中自带了contrib/fuse-dfs模块,只需要简单编译即可在相同系统的其他机器上使用Fuse。

本文使用Hadoop2.0.x 中的Fuse,编译方法与配置使用方法与 1.0.x 不同。

1. 编译Fuse1.1 编译环境准备

Hadoop2.0.x 中Fuse-DFS源码通过Maven编译,需要Pro......

对大量HTTP响应报文聚类分析——simhash算法的Python实现

对大量HTTP响应报文聚类分析——simhash算法的Python实现

上文我们对可能用到的相似性算法做了调研,最后暂定使用simhash作为本次相似性分类的算法。

于是经过一番搜索后,决定不去造轮子,而是直接照搬现成的代码看看效果。

但是现在不论是Google还是百度搜到的simhash的流程介绍都是有问题的(至少对新手来说),Python代码更是千篇一律,来源可能是github上的python-hashes。我不爽的原因很简单,因为我被坑了。。

所以经过对算法流程重新学习,算法代码的review,各种内置hash算法的测试、以及不同hashbits和汉明距离阈值的测试。。。终......

对大量HTTP响应报文聚类分析——针对HTTP报文优化simhash

对大量HTTP响应报文聚类分析——针对HTTP报文优化simhash

上文已经实现了simhash,但是经过测试,并没有达到预期的分类效果。

simhash作为Google用来网页去重的算法,对于长文本效果很不错,而且配合抽屉原理的hash匹配后效率高的惊人。

但是simhash的所有优点对我来说并不一定有用,通过测试发现的问题如下:

http返回报文中夹杂了许多无意义的信息,并不适合直接进行文本相似度计算

经过数据清洗的报文长度过小,simhash算法对于小文本效果并不显著,可能存在误报问题

因为我需要判断的是是否归为一类组件,而不是简单的判断是否相同。 ......

对大量HTTP响应报文聚类分析——相似性算法调研

对大量HTTP响应报文聚类分析——相似性算法调研

对于大量(亿级)HTTP响应报文进行分析,排除重复和相似的报文,提取出有效的信息。

对问题的分析

现在手中有大约72G HTTP响应报文数据 ,我从中提取出5w条作为样本分析,每一条报文被保存在一个以内容MD5作为文件名的文本文件中,HTTP报文包括HTTP响应头(header)和响应包体(html)两部分。

我们如果要对响应报文进行分析,首先要将相似的报文进行聚类,之后对聚类结果进行自动或半自动的分析处理,得到特征指纹以便更大范围的识别。所以我们需要一个对大量数据相似性归类的算法和一个对已有数据训练提取有效信息的算法。

相似性......