关于大数据安全的架构,先需要回答如下几个问题:
1、采用什么大数据工具或大数据生态圈来支撑整个结构
2、我们需要收集什么样的数据来分析相关安全问题
3、需要采用什么样的AI算法来支撑无特征威胁的分析
4、采用什么样的分类、形式来展示相关安全问题
5、怎么样对安全问题进行响应以形成相关闭环,进而提升解决安全问题的能力
对于上述问题我是这么理解的(仅就个人观点而言):
1、推荐采用基于Spark的大数据生态圈来实施(ELK结构当然也可以,但ElasticSearch本身并没有类似MapReduce能力;Logstash的单机性能实在堪忧);即使用Flume或自我开发的LogParser作为日志标准化工具对日志进行元数据分解,应用Kafka作为日志传递工具,使用Spark RDD进行相关分析,SparkR或MLlib作为机器学习工具,Mesos作为资源调度器,Zookeeper作为HA工具(如果需要的话),HDFS作为最终的处理存储工具;
2、需要收集PCAP、经分析的网络元数据(主要为网络会话信息,包括应用协议信息,如DNS、HTTP/HTTPS、SMTP/IMAP/POP3、SSH、SSL/TLS、Telnet等,特别对于可能存在反弹连接的情况)、IDS/IPS、防火墙(其实已经不太必要)、操作系统自身运行(含端口、进程信息)、服务器数据库/NoSQL、中间件、防毒网关/软件(含沙箱执行结果)、其它应用(主要是用户使用或自研的系统)等等;需建立用户和终端的对应关系;至于各类系统的漏洞到底是否需要采集,这个可能不一定,因为现在多数都是使用0day进行***,即使扫出了漏洞也未必管用;
3、在Spark中,AI算法主要包含四类:回归、分类、聚类(无监督)、协同过滤,我认为可能安全问题主要聚焦在分类和聚类上,特别对于聚类而言(不能指望用户懂的太多,所以无监督的最好),我们只需要知道好和不好的就可以了;举例而言,可以对于某个终端的行为进行画像,即对其网络行为(连入/连出)、系统行为(端口、服务信息)、应用行为(登录的应用系统及其动作,这个需要采集相关应用系统日志;邮件收发情况等);
4、至于采用什么形式来展现安全问题,这个就太多了,具体可参考Splunk相关样例,但需要注意的是不要让用户干的太多,但对于每个问题还是可以追溯、导出其原始内容,以方便取证(Forensics);
5、当然对于一般安全问题的处理可以使用工单/短信/邮件等形式进行通知、流转、处理,但在紧急情况下可以直接通过应用网关进行阻断(确认确实是100%安全问题,为什么不使用防火墙阻断,读者可以想想)。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。