安全架构3--甲方基础安全运营平台建设实践
基础安全运营平台是集威胁情报、漏洞检测、入侵感知、主动防御、后门查杀、安全基线、安全大脑于一体的综合安全平台,承担着企业抵御各种网络攻击和防范内部风险的重任。
首先通过威胁情报从外部获取最新的攻击数据和趋势,其次通过漏洞检测统计企业资产并周期性巡检、修补安全漏洞,再基于入侵感知发现各种网络、主机、服务的攻击,随后通过安全大脑统筹分析和自动化响应,一气呵成完成互联网企业的基础安全运营工作。
一、威胁情报
对于互联网企业,掌握威胁情报可以帮助公司及时对公网资产面临的安全威胁进行预警、了解最新的威胁动态,实施积极主动的威胁防御和快速响应策略,结合安全数据的深度分析全面掌握安全威胁态势,并准确的利用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
三、入侵感知
入侵感知技术是一种通过监控一系列与安全相关的异常指标来达到发现入侵目的的手段。
一般可以从被动渠道感知入侵:
- 网络异常,如 DDoS攻击、异常 DNS请求、ARP欺骗
- 主机异常,如暴力破解、反弹shell、系统提权
- 隔离异常,如虚拟机逃逸、容器逃逸
- 应用异常,如命令执行、文件读写、SQL注入
也可以从主动渠道来感知入侵:
如蜜罐、诱饵、蜜签等
3.1 网络流量分析 NTA
常见的网络流量中的攻击有:
- 协议隐患,如BGP协议攻击、CDP协议攻击、MAC地址欺骗、ARP缓存投毒、DHCP饥饿攻击等;
- 拒绝服务,如SYN Flood、UDP Flood、NTP反射攻击、SSDP反射攻击、DNS反射攻击等;
- 探测扫描,如IP扫描、端口扫描、漏洞扫描、病毒传播、挖矿传播、勒索软件传播、暴力破解等;
- APT和C&C通信,如硬编码IP域名、DGA随机域名、DNS tunnel、加密流量分析等;
- 可解密的应用协议攻击,如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下实现进程实时监控主要有如下几种方法:
- 在应用层通过ld.so.preload劫持glibc的execve函数来实现。开源产品有:
exec-logger
- 在应用层通过linux提供的Process Events Connector相关调用来实现。开源产品有:
Extrace
- 在应用层通过Linux Audit提供的接口来实现。有Linux内置的
auditd服务
,开源产品有:Osquery
- 在内核层通过Trancepoint、eBPF或Kprobe来实现。开源产品有:
Sysdig
、Capsule8
- 在内核层通过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类:
- 高度隐蔽性后门Rootkit
- 一般性远程控制后门
- 在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