技术干货 | 企业安全体系架构实践之道(二)

  • A+
所属分类:云安全
技术干货 | 企业安全体系架构实践之道(二)

前言

作者:武天旭,注册信息安全专家,CSDN安全博客专家。

我本科毕业后的第一家公司是安全行业内非常有名的一家乙方公司,但入职后我才发现,乙方的工作并不是我想象的类型,同时它的离职率也非常高,原因就不多说了,仅仅两年后我也对它说了拜拜(其中一年还是实习)。2018年7月,我有幸来到我的前东家,一个后来在美股上市的公司。彼时公司整体规模已经接近600人,且业务处于疯狂膨胀发展中,但公司安全部才刚刚成立,安全工作处于一切都还没有开始的阶段,于是我非常幸运的从0参与了整个公司的安全体系建设。两年后的今天,我来到我现在的东家,负责公司的安全部,主导公司的安全架构设计和体系建设,因此开始分享自己的甲方安全体系建设思路与建设经验。

在第二家公司我整整干了两年,在这两年的职业生涯里,最大的收获就是练就了自己的全局观。要站在一个更高的角度看待甲方安全,首先要知道甲方安全有哪些方向以及每个安全方向都做什么,要知道安全的每个方向都做什么最好的办法就是动手去做,在这两年的职业生涯中,我撸过硕博论文落地,写过代码,做过合规,搞过渗透,填过问卷,玩过运营……在整个团队中属于做的最杂的,承接了许多无聊到别人不愿意做的工作,但是我却从中学习到了别人学习不到的东西,那就是甲方安全的整体画像。

两年后,公司已经有接近2000人的规模,而我选择了离开,去了一家年轻且富有前景的公司,做了安全部主管,顺利通过试用期并拿到了高绩效,在这里,我将带着我的团队,承载我的愿景,开启新的征程!

安全架构

甲方基础安全运营平台建设实践

基础安全运营平台是集威胁情报、漏洞检测、入侵感知、主动防御、后门查杀、安全基线、安全大脑于一体的综合安全平台,承担着企业抵御各种网络攻击和防范内部风险的重任。

首先通过威胁情报从外部获取最新的攻击数据和趋势,其次通过漏洞检测统计企业资产并周期性巡检、修补安全漏洞,再基于入侵感知发现各种网络、主机、服务的攻击,随后通过安全大脑统筹分析和自动化响应,一气呵成完成互联网企业的基础安全运营工作。

威胁情报

对于互联网企业,掌握威胁情报可以帮助公司及时对公网资产面临的安全威胁进行预警、了解最新的威胁动态,实施积极主动的威胁防御和快速响应策略,结合安全数据的深度分析全面掌握安全威胁态势,并准确的利用SIEM进行威胁追踪和攻击溯源。

1.1 公共情报库

关于情报的收集,一方面可以从开源情报渠道抓取(如VirusTotal、Cymon等),另一方面可以从内部安全组件获取(如WAF、NTA),还可以通过批量扫描、DDoS攻击等渠道获取。


威胁情报收集梳理框架:GOSINT、Spiderfoot

查询Whois及历史DNS信息比较好的工具有:SecurityTrails

查询综合性威胁情报比较好的工具有:IBM X-Force Exchange、Crymon

在综合性互联网端口查询、服务统计方面做的比较好的工具有:SHODAN、Censys、FOFA

在恶意文件、URL、域名、MD5的分析方面做的比较好的工具有:VirusTotal

1.2 漏洞预警

很多漏洞发布往往不会第一时间被录入CVE漏洞库,可以通过CMDB统计自己生产环境用到的各种组件,再对相应的官网漏洞页面和一些黑客发布漏洞POC的论坛或站点进行监控,一旦有新的漏洞出现便通过邮件或短信通知安全团队处理。

1.3 信息泄露

公司管理松散的情况下,经常会有员工将代码上传到GitHub等平台,还有一些黑客拖库后会在暗网上买卖数据,所以需要监控公司的信息泄漏情况。


扫描GitHub信息泄漏的开源工具:Gitrob、小米的x-patrol

对暗网扫描的开源工具有:OnionScan

比较好的综合分析框架有:AIL

漏洞检测

2.1 网络漏洞

可以通过对端口直接进行远程扫描而发现的漏洞,如OpenSSH远程溢出漏洞、MySQL弱口令等。


常见的网络漏洞扫描软件有:Nessus、OpenVAS、Core Impact、Nexpose

另外还有一些专项扫描工具,如:nmap、zmap、masscan

口令破解工具如:medusha、hydra、Ncrack

2.2 主机漏洞

主要是因为机器上安装Linux/Windows系统后不升级导致存在大量的可在本地利用的安全漏洞。


安全合规与漏洞评估软件有:OpenSCAP

CVE漏洞扫描的开源工具有:cvechecker、cve-checker-tool

针对Java组件库进行漏洞检查:OWASP Dependency-Check

针对Javascript和Node.js库进行漏洞检查:Retire.js

针对容器漏洞进行扫描:Anchore

2.3 网站漏洞

常见的网站漏洞扫描器有:AWVS、AppScan、WebInspect
常见的网站漏洞扫描器开源的有:Arachni

入侵感知

入侵感知技术是一种通过监控一系列与安全相关的异常指标来达到发现入侵目的的手段。


一般可以从被动渠道感知入侵:

1、网络异常,如DDoS攻击、异常DNS请求、ARP欺骗

2、主机异常,如暴力破解、反弹shell、系统提权

3、隔离异常,如虚拟机逃逸、容器逃逸

4、应用异常,如命令执行、文件读写、SQL注入


也可以从主动渠道来感知入侵:

如蜜罐、诱饵、蜜签等

3.1 网络流量分析NTA

常见的网络流量中的攻击有:

1、协议隐患,如BGP协议攻击、CDP协议攻击、MAC地址欺骗、ARP缓存投毒、DHCP饥饿攻击等;

2、拒绝服务,如SYN Flood、UDP Flood、NTP反射攻击、SSDP反射攻击、DNS反射攻击等;

3、探测扫描,如IP扫描、端口扫描、漏洞扫描、病毒传播、挖矿传播、勒索软件传播、暴力破解等;

4、APT和C&C通信,如硬编码IP域名、DGA随机域名、DNS tunnel、加密流量分析等;

5、可解密的应用协议攻击,如HTTP攻击、SMTP攻击、MySQL攻击、SMB攻击等。


NTA安全产品:

商业的网络流量分析产品:Greycortex、RSA NetWitness Network、ProtectWise、Moloch

开源的网络流量分析产品:Bro、Apache Spot、Stream4Flow、NetCap

开源的高性能负载均衡产品:Katran、DPVS

开源的网络入侵检测产品:Snort、Suricata

网络流量索引回溯分析:Moloch

3.2 主机入侵检测HIDS

主机层可检测的入侵威胁有很多,如系统提权、异常登录、反弹shell、网络嗅探、内存注入、异常进程行为、异常文件读写、异常网络通信、病毒后门、安全漏洞、配置缺陷等。


开源产品:OSSEC、Osquery、Elastic/beats、sysdig、Capsule8


在linux下实现进程实时监控主要有如下几种方法:

1、在应用层通过ld.so.preload劫持glibc的execve函数来实现。开源产品有:exec-logger

2、在应用层通过linux提供的Process Events Connector相关调用来实现。开源产品有:Extrace

3、在应用层通过Linux Audit提供的接口来实现。有Linux内置的auditd服务,开源产品有:Osquery

4、在内核层通过Trancepoint、eBPF或Kprobe来实现。开源产品有:Sysdig、Capsule8

5、在内核层通过Hook Linux Syscall Table的execve函数指针或LSM框架提供的API来实现。有内置的LSM安全模块,开源产品有:驭龙HIDS、AgentSmith

3.3 欺骗技术

欺骗技术在以往蜜罐技术的基础上进行了加强,运用了诱饵、蜜签和自动化蜜网创建等技术。蜜罐又分为高交互蜜罐和低交互蜜罐,为了达到较高的迷惑性,欺骗技术通常以高交互蜜罐为主。


开源蜜罐产品:Honeytrap、OpenCanary

开源诱饵产品:honeybits

开源蜜签产品:Canarytokens

虚拟机层实现监控的开源软件:LibVMI、rVMI

主动防御

主动防御技术通常以保护为主。在系统默认安全的基础上加入主动防御技术通常有助于拦截已知或未知的安全威胁。

4.1 主机入侵防御HIPS

Linux自带的安全机制:LSM(Linux安全模块,Linux security module)

实现方式:AKO(Additional Kernel Observer)使用动态可加载内核模块(LKM)

开源内核主动防护产品:LKRG(Linux内核运行时保护,Linux Kernel Runtime Guard)

4.2 web应用防火墙WAF

开源产品:ModSecurity(支持Nginx)、OpenStar
基于AI的WAF:Wallarm
开源的反欺诈应用安全产品:Repsheet


DDoS防护的实现:

一般的DDoS都是分层实现的,第一层(前端)可以通过anycast路由协议进行IP的跨地域调度;第二层可以通过硬件或软件的专用DDoS防护设备进行抵御;第三层在WAF上做应用层HTTP DDoS防护。


对于第二层防护,可以采用开源的高性能网络4层负载均衡产品:Katran

对于第三层防护,可以采用开源产品:Tempesta FW应用分发控制器

4.3 运行时应用自保护RASP

与WAF相比,RASP工作在应用程序内部,可以获取更多的程序运行细节,从而可以解决很多WAF误报的问题;另一方面,通过与应用程序关键函数挂钩观察程序行为,也可以解决基于签名的WAF产生的拦截绕过问题,所以RASP在拦截黑客攻击方面强于WAF。但是,在性能、稳定性、DDoS拦截方面,由于传统WAF是独立部署的,因此更具优势。


同时支持Java和PHP的开源产品:OpenRASP

4.4 数据库防火墙DBF

通过数据库防火墙可以拦截SQL注入攻击,对敏感数据脱敏,阻止高危数据删除操作,记录并发现违规行为等。提供了最后一层对SQL注入的安全防护能力。

基于代理模式的开源产品:DBShield、Acre
基于插件模式的开源产品:mysql-audit

后门查杀AV

一般后门大致分为3类:

1、高度隐蔽性后门Rootkit
2、一般性远程控制后门
3、在web环境下执行的Webshell后门


5.1 Rootkit

Rootkit按作用阶段主要分为3种:应用层Rootkit、内核层Rootkit、引导启动型Bootkit(底层Rootkit后门)。这三种Rootkit的检测难度依次递增。


开源工具:

应用层的Rootkit检测:rkhunter、chkrootkit

离线内存Rootkit分析工具:Volatility

Rootkit进程隐藏检测:Linux Process Hunter

全面的Rootkit检测:Tyton、kjackal

5.2 主机后门

主机后门通常为一般性的远程控制应用层后门。这类后门比较多,且往往会和Rootkit技术结合使用。


工具:

Linux后门扫描工具:clamav

开源扫描脚本工具:malscan

开源主机后门检测工具:binaryalert

开源分布式扫描工具:klara

开源威胁情报响应和分析工具:rastrea2r

动态分析检测工具:cuckoo、sandbox

恶意软件企业级自动化分析框架:stoQ

5.3 webshell

webshell即专门的web后门,通常是通过脚本语言编写的,灵活性高且易变形。常见的webshell有PHP、ASP、ASP.NET、JSP、Python、Node.js这些类型的后门。


工具:

开源的PHP webshell检测工具:php-malware-finder
监控文件变动的工具:masc
开源的使用机器学习检测webshell的工具:MLCheckWebshell
在线webshell检测平台:百度的WEBDIR+

安全基线

配置安全问题在安全漏洞中占很大比例,涉及的范围包括网络、操作系统、各种应用服务器、数据库系统等。常见的安全基线包含默认安全配置和安全加固两部分。


工具:

安全基线模板网站:cisecurity

开源的合规软件:Lynis、inSpec

开源的持续审计和配置管理平台:Rudder

安全大脑

安全大脑即安全数据的综合分析与编排自动化响应中心,主要功能包含安全态势感知(SSA)、安全信息和事件管理(SIEM)、安全编排和自动化响应(SOAR)。

7.1 安全态势感知

主要部分是安全大脑的前端展示。安全涉及的数据比较复杂且关联性很强,需要比较好的前端展示框架。


安全大脑需要能够处理涉及多个实体相互作用且关联的复杂安全事件,为此必须综合运用知识图谱、图计算、数据语义化、机器学习等技术才能产生比较好的效果,另外还需要和外部的各种系统(如身份管理和威胁情报等方面的系统)对接,同时还需要安全团队的不断改进。


参考:

前端展示框架:Sqrrl

素材网站:SecViz

JS框架:D3.js、vis.js、three.js

7.2 安全信息和事件管理

产品:

SIEM产品:Splunk、QRadar、LogRhythm

智能决策解决方案:Spark、Flink、Storm


大数据存储和处理项目:Hadoop、ClickHouse

日志数据索引和查询项目:Elasticsearch/Elastic Stack、Graylog

开源的日志安全规则:Sigma

开源的大数据安全解决方案:Elastic、Metron

开源的图数据库项目:HugeGraph


安全编排与自动化响应

智能决策的下一步便是安全编排与自动化响应(SOAR)。


产品:

开源的SOAR产品:StackStorm、MozDef(Mozilla防御平台)

开源的安全运营编排产品:PatrOwl

未完待续技术干货 | 企业安全体系架构实践之道(二)

相关链接:

技术干货 | 企业安全体系架构实践之道(一)

本文始发于微信公众号(安世加):技术干货 | 企业安全体系架构实践之道(二)

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: