zoukankan      html  css  js  c++  java
  • 实战公有云威胁情报系统构建(转)

    原文(http://www.4hou.com/technology/11307.html)

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

    0x00  前言

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

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

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

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

    ·爬虫系统

    ·蜜罐+沙箱

    ·部署的设备

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

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

    架构拓扑

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

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

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

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

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

    后台分析&发布平台

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

    0x02  技术实现

    1、蜜罐部署

    ·ssh蜜罐

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

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

    ·安装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'

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

    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'

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

    ·策略过滤处理

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

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

    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  总结

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

  • 相关阅读:
    26 转义符 re模块 方法 random模块 collection模块的Counter方法
    25 正则表达式
    24 from 模块 import 名字
    24 from 模块 import 名字
    24 from 模块 import 名字
    23 析构方法 items系列 hash方法 eq方法
    21 isinstance issubclass 反射 _str_ _new_ _len_ _call_
    20 属性, 类方法, 静态方法. python2与python3的区别.
    python(1)
    python之字符串格式化
  • 原文地址:https://www.cnblogs.com/zafu/p/9056259.html
Copyright © 2011-2022 走看看