实战公有云威胁情报系统构建

bt0sea 业务安全 2018年5月3日发布

导语:在没有更多IDC的资源情况下 如何形成自己的情报收集架构体系

0x00  前言

公网威胁情报系统无论是传统的售卖安全设备的厂商还是卖服务的云安全厂商都需自建的一套有价值的系统。

归纳总结一下各位安全厂商的威胁情报收集途径

·爬虫系统

·蜜罐+沙箱

·部署的设备

在没有更多IDC的资源情况下(cert国际出口等),如何形成自己的情报收集架构体系呢?

0x01  威胁情报收集单元详细设计

架构拓扑

归纳威胁情报单元需要集成的公共安全组件

06.png

后台分析&发布平台

07.png

0x02  技术实现

1、蜜罐部署

·ssh蜜罐

cowrie搭建网上很多教程(忽略)。目的是把来至ssh自动化攻击的payload drop sample存储下来,为沙箱分析做准备。

08.png

·安装logstash

rpm -ivh jdk-8u144-linux-x64.rpm
rpm -ivh logstash-6.2.4.rpm

·logstash配置

vim /etc/logstash/conf.d/logstash-cowrie.conf

input {
file {
path => ["/opt/cowrie/log/cowrie.json"]
codec => json
type => "cowrie"
}
}
filter {
}
output {
if [type] == "cowrie" {
elasticsearch {
hosts => ["x.x.x.x:9200"]
}
file {
path => "/tmp/cowrie-logstash.log"
codec => json
}
stdout {
codec => rubydebug
}
}
}

·验证

curl 'http://x.x.x.x:9200/_search?q=cowrie&size=5'

09.png

Web蜜罐:本项不讨论

2、NIDS-suricata部署

yum install suricata

· logstash配置

vim /etc/logstash/conf.d/logstash-cowrie.conf

input {
file {
path => ["/var/log/suricata/eve.json"]
codec => json
type => "suricata"
 }
  
 }
filter {
}
 
output {
if [type] == "suricata" {
elasticsearch {
hosts => ["x.x.x.x:9200"]
}
stdout {
codec => rubydebug
}
file {
path => "/tmp/su-logstash.log"
codec => json
flush_interval => 0
}
}
}

·验证

curl 'http://x.x.x.x:9200/_search?q= suricata &size=5'

10.png

·策略过滤处理

11.png

12.png

3、沙箱部署

Problem One:

沙箱部署在实际云主机环境中目前是无法创建的,因为你在虚拟机环境下再创建虚拟机的话是无法实现,况且各大云厂商也不会开这个先例去搞。动态沙箱同时还需要动态分配对外通讯的IP地址,在环境中需要有DHCP服务器分配IP。所以,在这个VPC环境中需要物理机、DHCP服务器、云主机。这些像啥?边缘计算环境。其实还好了,并没有对BGP网络依赖这么高。主要VPC环境中支持物理机部署就好。虚拟化自己搞就好。

Problem Two:

Linux环境太开放,目前商业沙箱目前都不支持Linux沙箱,只能自己搞。

·静态分析

    ·基本信息

        ·是否为elf类型 =>其他类型使用其他沙箱系统

        ·md5值 => 提交virustotal 查询

    · 静态扫描

        ·yararule扫描

        ·探测壳

        ·虚拟机探测

        ·沙箱探测

        ·AV探测

        ·Malware、APT等

    ·virustotal API =>查询机器学习杀软和传统杀软分类器情况

        ·分别选择了5家在各个领域最牛逼,打分

        ·以virustotal查询结果为判断是否为未知威胁恶意软件

·动态分析

    无论是通过通过virtualbox或者vmware player都无所谓。

        ·是否联网

            ·Inetsim伪造

        ·API跟踪

            ·进入虚拟机执行sysdig/strace

                ·解析文件操作:file_close_info、file_open_info、procexit_info、execve_info、file_access_info

                ·解析网络操作:socket_info、connect_info、DNS操作、http/s、TCP、UDP

                ·其他:大约1000多个API

0x03  总结

需要做的工作还有很多,但是大致的验证基本完成。形成完整的威胁情报,还需要做很多分析工作。突然发现你买的威胁情报还是有价值的。我这只是简单抛砖引玉,希望和搞威胁情报的小伙伴一起讨论一下。

本文为 bt0sea 原创稿件,授权嘶吼独家发布 如若转载,请注明原文地址: http://www.4hou.com/technology/11307.html
点赞 14
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

    caicai 2018-09-04 21:33

    老哥,期待更新呀

    0xtuhao 2018-05-07 12:34

    除了最简单的logstash的配置,其他实战内容都没有。。后续会出详细的部署说明么。。

      bt0sea 2018-05-08 16:58

      回复 @0xtuhao 文章也是边写边实践,后来发现工作量太大了。后续尽量出一版详细的部署说明文档,包括OpenAPI文档。感谢关注