信息安全相关知识(ATP攻击,挖矿网站的挖掘,Botnet)

APT攻击

特点:

  • 平均发现时长:232天
  • fileless(几乎不进行文件操作):24%的情况会涉及文件操作

病毒查杀的关键在于准确度响应时间

传统的防护措施:

  • 防火墙:基于网络流量分析(对流量进行加密则会失效)
  • 静态特征:提取病毒文件特征码(将文件进行混淆,就可以绕过)
  • 动态特征:沙盒分析(可能与客户环境不同)
  • IP/DNS分析:通过分析IP地址(可以绕过)
响应时间\准确率
防火墙;静态分析 细粒度数据检测;简单行为分析
- 沙盒

端点防御:Endpoint Detection and Response(EDR)

ATP的过程:初步入侵(防火墙等防御之处)、立足、持续侦察扩散、高价值信息获取

基本通过钓鱼的方式进行入侵

解决方案(KEY IDEA):底层动态行为分析(细粒度,机器学习)

HOOKING:不稳定,容易蓝屏,微软不支持,windows不开源

ETW收集数据(本身是微软debug的程序,因此数据不完整):获取API和syscall。

challenge 1:单纯通过syscall和API都难以辨别,完全不同的app可能调用的底层syscall一样;AP的语义很好但是很容易绕过(自己新建一个程序就绕过了)。就需要通过API结合callstack分析行为的语义。用机器学习的方法进行分类。

challenge 2:信息过载

主要针对的是RAT

样本不均衡:负样本:自己跑RAT+混淆;正样本:企业大规模使用的软件+和RAT类似的软件。

通过API+syscall检测出异常行为,然后再tracking出整个过程(forensic event level)。

现在RAT最后都会销毁整个入侵时候的文件,通过日志分析很难察觉是攻击行为,所以需要通过API+syscall分析。

challenge 3:需要追踪是的HUB PROCESS很难找出读写对应的关系,所以很难追踪到源头。

发现后的response:kill进程,删除文件,对于误报(例如Teamviewer)加白名单。

DNSMon Detect Cryptojacking

Cryptojacking

利用网站进行挖矿

网站站长|黑客|中间人|广告商等三方资源控制者
访问网站⇅Miner.js
用户

Structure

实时DNS-异常分析(新出现的域名/突然活跃的域名/flaot-outlier/DNS ralate和已知有问题的DNS相关)-爬虫集群-自动判断(co-domain主站/var变量名称(miner)/加载了哪些资源(流量分析))

flaot-outlier

FLOAT=FQDN Popularity Rank
有效性:分数意味着流行程度
稳定性:排名发生剧烈变动意味着绝对的业务变化

motheds & cases

start with “freecontent.bid”
Co-Rdata: 公用同一个ip资源的网站(3/3)
compose-similarity: 名字类似(7/21)
Ts-Relate: 时间序列相似性
Sub-domain: api/ws.xxxxx.xxx
Realtime Outler: 实时监控所有活跃的挖矿主站

Statistics

Miner Pool: 1k
Miner Site in Alexa Top30w: 600+(0.2%+)
Miner Site in All: 4w+(0.06%+)

结语

从数据中来:跟入分析节点,重要程度,紧要程度,…
到数据中去:由点到面,多维关联,评估标准,…

As Above, So Below, as it is within, so it is without
上行,下效,存乎中,形于外

通过Anglerfish蜜罐发现未知恶意软件威胁

作者:
叶根深
github:zom3y3
[email protected]
360安全研究院
to be a malware hunter!
#Botnet #Pentest #Honeypot

背景

因为IPv4地址和网络端口都可以遍历,网络扫描成为对网络设备信息搜集的主要方法。
越来越多的Botnet集成网络扫描和漏洞利用功能,并瞄准IoT和服务器漏洞,实现分布式扫描和蠕虫式传播
分析互联网扫描数据尤其是IoT和服务器环境,有助于看清Botnet的演变过程
以攻击者的思维去防守

对蜜罐的理解和需求

蜜罐协议模拟是基础,蜜罐数据分析是核心,捕获恶意样本是目的
能够在TCP/UDP全端口捕获未知的恶意扫描软件威胁
程序方便协议扩展,数据结构方便数据分析
模拟被扫描的反应和Botnet做交互

如何设计开发Anglerfish蜜罐

借鉴前人的经验(blackhole)
Anglerfish蜜罐程序框架
模拟应用协议/漏洞(docker shell模拟返回结果立即返回)
Fuzz testing(永远返回Botnet想要的结果)
通过RSS关注最新安全资讯

遇到的问题

如何判断/提升Fuzz testing的成功率
只能对已知的应用协议进行Fuzz testing
Fuzz testing不成功导致会话停止

Anglerfish蜜罐的数据结构

保存三个表(session/downloads/payloads)

对抗案例

恶意样本的下载方式
扫描程序payload数据编码/压缩/加密
扫描程序中的漏洞检测机制
扫描程序中的蜜罐检测机制

实例分析Muhstik Botnet

Botnet扫描检测算法

在一个时间窗口内,计算每个port uniq_scrip和session的线性关系相关系数,线性相关系数越大,越有可能是Botnet(一群Bot扫)
每个session的MD5的线性相关系数,越大越有可能是Botnet(都扫一样的)

展望

实时结合互联网漏洞,捕获更多未知的malware威胁
以Fuzz testing的思想取与扫描软件智能交互

猜你喜欢

转载自blog.csdn.net/SrdLaplace/article/details/83244671
今日推荐