我们相信恶意软件识别应该是容易进行的、高效的、强大的。 这就是Deepviz想要实现的目标。这篇文章我们向展示我们的SDK(REST API的简单集合)能做什么,如何将它整合到你的事件响应工作流中,比如整合到分析流程。 今天我们通过API来查找最近注册的域名。我们每天会处理大概100,000个新的恶意软件样本来激活我们平台上的数据。 让我们来看一下 {
"apikey": "xxxxxxxxxxxxxxxxxxxxxxxxx",
"timestamp": ["3d"],
"output_filters": ["whois"]
}
我们的API标记出了恶意的域名: {
"status" : "success",
"data" : {
"jgpxwjttbbhw.pw" : {
"score" : {
"good" : 0,
"malicious" : 1
},
"whois" : {
"info" : {
"updated_date" : ["2015-10-27 11:27:19"],
"expiration_date" : ["2016-10-27 23:59:59"],
"contacts" : {
"registrant" : {
"email" : "[email protected]",
"name" : "WhoisGuard Protected"
}
},
"registrar" : ["NAMECHEAP INC"],
"creation_date" : ["2015-10-27 11:27:16"]
}
}
}
}
}
域名 jgpxwjttbbhw.pw在2015年10月27号被注册,两天前,通过WhoisGuard 保护服务器。 让我们查找样本连接域名的信息: {
"apikey": "xxxxxxxxxxx",
"url": ["jgpxwjttbbhw.pw"],
"search_params": ["objects=5", "start_offset=0"]
}
应答: {
"status" : "success",
"data" : {
"Total" : 1,
"MD5" : [
"c8ef44a9193504f54d6988bf9697d137"
]
}
}
查看我们的自动分析结果,很容易发现是一个银行木马由于一些常见的行为比如将代码注入到浏览器,对下面的API 进行hook: HttpQueryInfoA
InternetCloseHandle
InternetReadFile
InternetQueryDataAvailable
HttpSendRequestW
InternetReadFileExA
HttpSendRequestA
同时还在其他的用户模式下hook来在系统中达到隐藏的目的: NtCreateProcessEx
NtCreateThread
NtCreateUserProcess
NtEnumerateValueKey
NtQueryDirectoryFile
NtResumeThread
SDK的另外一个有趣的特性是判断样本与数据库中已有样本的相似性。 {
"status" : "success",
"data" : {
"Total" : 63,
"MD5" : [{
"score" : 0.6564425770308123,
"MD5" : "6e6896529cfaf9979d1681561424a219"
}, {
"score" : 0.5907179346834519,
"MD5" : "c96b5da5917492bb8e3a89e73533ffc5"
}, {
"score" : 0.5857008340059188,
"MD5" : "41fa83e0225888aa1625e4b56e0b2aaf"
}, {
"score" : 0.5782840722495894,
"MD5" : "658a2d388c11db27f72c6ae3ed41ea6d"
}, {
"score" : 0.5647985336918537,
"MD5" : "3a4618e85251904031397b0f94d3fcfb"
}, {
"score" : 0.5050692686262539,
"MD5" : "1dc7d6ad1c1b922f10c4feb831d71805"
}, {
"score" : 0.5038733007327224,
"MD5" : "36c7b218feb15625239adebdb5d85658"
}, {
"score" : 0.4894942157654021,
"MD5" : "7e8c4390b2a057743a0a3170bac850ba"
}, {
"score" : 0.45920310512939877,
"MD5" : "fb4f64565083d2cf7273ed502ad23333"
}, {
"score" : 0.4460298008092125,
"MD5" : "b0a9a4558abf94f214288d79a86a91ca"
} ]
}
}
我们找到了63个不同的MD5值与最初的银行木马相似(为了简洁只列出了一部分)。然而,将样本放到一起进行聚类,可以将它们分成2个族群,也就是它们都是同一族群的,然后再分成两个子组。 
右边A组的8个样本尝试连接到域名 xlcssfufckuh.biz,IP地址82.165.37.127。 通过相似API搜索,我们查找连接IP与域名的所有样本,一共找到了210个唯一的MD5值。 将他们进行聚类,可以发现8个不同的相似家族: 
A组又被聚类为8个子组,加上另外两个开始未被发现的MD5, 6946bf0df54e323cb740a15dc6931bd2 和64f5b0c836d92b72e3ca5944825b3ae1 通过进一步分析这些聚类连接Tianba银行木马,这些样本连接最近注册的域名使用不同的/新的RSA公钥:
MIICITANBgkqhkiG9w0BAQEFAAOCAg4AMIICCQKCAgB603o25wk9mgDqlYdXpufy
CjBBx21hin1BJtiFcvVpLv7v1PomHjYXnODrlhX1u3Yco84hMHeyXoARp6xs5OjY
AppHsjRqNSjBmTIrnjZKO5x9ShCevvCrNLnCckCw13NO9TjRKTmqn08fgfaEpw9c
WYnDh1ydkamFMJZkKk+fOjPbsJqr3Axr06FqpGVIiyQLzPbUpd6eHyMo0LvelwJc
d5E46gFtam/64mBSwzFkOZmZV9zzdy4RE/rhAXqL4/Kd1Srw/FAIBm0N/3BGjMkt
+5l1zhNMrALrn9t1ScCwXuz64fL5x+dT34BvrocFDh/4XcnNNwXcd0mqU9ybvSRm
KTrcD0LBdZgrW8EM0UtU94mejoAXeelDJrldaWGdjlvuIRsPVLFgK6A7yyxD7pRY
P43nS7YE2U9rzhIppffWVG1NqYXwbxfZWy82CVF2qnNaNfhNF2ZMdLKehawdpzO1
5QiTLyxNlAQljMin9TftbHNvpSq6PQrH4jsb3WMX/puIVDTi3bcGG4l4PhmVtCE0
iYRoyVQK7imdI7BHm7vYNnwfwtuGN0LohZP60LWnPPchLo0xN5YjqCgj1x3dqHHF
IMadDUxpgbIH6AnaCQiz9byM1iT/WJ3Vb85gTRu269PLC5/fB84tNIjjrHIR/7KJ
7nWERJ3LHInxWbB+2gkKOwIDAQAB
A组聚类被标识为Tinba的变种连接到随机生成的域名,但确总是会用到相同的URL路径 /n0tru2t76hw2edqj/ A组的MD5如下: c8ef44a9193504f54d6988bf9697d137
658a2d388c11db27f72c6ae3ed41ea6d
c96b5da5917492bb8e3a89e73533ffc5
6e6896529cfaf9979d1681561424a219
36c7b218feb15625239adebdb5d85658
41fa83e0225888aa1625e4b56e0b2aaf
3a4618e85251904031397b0f94d3fcfb
6946bf0df54e323cb740a15dc6931bd2
64f5b0c836d92b72e3ca5944825b3ae1
1dc7d6ad1c1b922f10c4feb831d71805
这些样本共享一个RSA公钥(第一个除外),通过这个样本我们就可以开始深入挖掘了。 Deepviz能够自动识别恶意软件样本多亏了自动聚类平台的AI分类器的支持。 |