文章目录
- 安全标准和框架
- 1. 国内安全标准:等级保护制度(等保)
- 2. 国际安全标准:ISO27000系列
- 3. NIST安全框架:IDPRR方法
- 4. COBIT与ITIL框架
- 防火墙
- 防火墙的基本作用
- 防火墙的三种主要类型
- 防火墙的防护能力
- 防火墙的盲区
- WAF
- WAF的工作模式
- WAF的核心功能
- 选择WAF的考虑因素
- 当前主流WAF产品及特点
- 1. 开源WAF产品
- 2. 商业WAF产品
- 根据场景选择WAF部署模式
- WAF产品最佳实践与策略优化
- IDS
- 1. IDS的工作原理与类型
- 主机入侵检测系统(HIDS)_ Host-based Intrusion Detection System
- HIDS 的概念和功能
- HIDS 分类与技术差异
- HIDS 最佳实践
- 常用 HIDS 工具
- 2. IPS:入侵防御系统
- 3. 蜜罐:攻击诱导与分析
- 4. WAF与入侵检测体系的协同作用
- 5. 优化Web安全策略
- RASP
- RASP(Runtime Application Self-Protection)概念和原理
- RASP 和 WAF 的对比
- SQL 注入检测的 RASP 实例分析
- RASP 部署的挑战
- 实际应用中的组合方案
- SIEM
- 1. SIEM的作用与技术特点
- 2. SIEM与其他安全产品的结合
- 3. 运营SIEM与提升攻击检测效率
- 4. 提取攻击特征与优化检测规则
- 5. SIEM落地中的挑战
- 6. RASP与SIEM结合,提升安全响应能力
- SDL
- SDL的重要性与背景
- SDL的七个关键步骤
- SDL落地的挑战
- 安全防御工具小结
- 三个典型的安全场景
- 公司发展初期,没有真实攻击
- 公司发展中后期,仍没有真实攻击
- 有真实攻击发生
- 核心策略
- 总结
安全标准和框架
在安全体系建设中,安全框架和标准不仅是衡量企业安全性的指标,还为企业提供了体系建设的思路和指导方向。接下来,将逐一介绍不同的安全标准和框架,并结合它们的设计思路,探讨企业应如何进行安全建设。
1. 国内安全标准:等级保护制度(等保)
等保是中国特有的安全等级制度,企业的安全等级从1到5级不等,安全要求随着等级提高而增加。等保不仅包括技术层面的要求,还包含管理层面的要求。
- 管理与技术相结合:等保将安全要求划分为管理和技术两大类。管理类包括安全管理制度、安全管理机构、安全人员等,技术类涵盖物理安全、网络安全、计算环境安全等。
推动建议:
企业需要确保不仅从技术角度部署安全措施,如防火墙、加密技术,还要从管理角度建立安全机制,如成立安全管理机构并培训安全人员,确保企业安全能从顶层设计到实际落地全面覆盖。
2. 国际安全标准:ISO27000系列
ISO27001是信息安全管理的国际标准,企业可以通过此标准进行信息安全管理的规划、实施和评估。它提供了11个安全方向,覆盖了从安全策略到信息安全事件管理等多个领域。
- PDCA循环管理:ISO27001推荐通过PDCA(计划、执行、检查、改进)管理流程来推动安全建设。
- Plan:制定详细的安全规划,涵盖风险评估、策略制定等;
- Do:按计划落实各类安全措施;
- Check:定期审查安全措施的有效性;
- Action:持续改进不合规或风险较大的部分。
推动建议:
企业可以借助ISO27001的指导,定期审视自身的安全策略,发现安全缺陷后根据PDCA流程进行调整和优化。长期来看,这种迭代的安全体系建设有助于不断提升企业的信息安全水平。
3. NIST安全框架:IDPRR方法
NIST框架提出了IDPRR方法,通过识别(Identify)、保护(Protect)、检测(Detect)、响应(Respond)和恢复(Recover)五个步骤,帮助企业建立全方位的安全防护体系。
- 纵深防御策略:IDPRR强调纵深防御,即通过多层次、独立的防御机制提升整体安全性。任何单一的安全措施都有可能被绕过,因此企业需要在资产识别、网络防护、入侵检测、响应机制等多个环节部署独立的防护措施。
推动建议:
企业在制定安全策略时,可以按照NIST的思路,首先识别核心资产并进行风险评估,接着通过技术手段保护这些资产,同时部署入侵检测系统和应急预案。这样即便某个环节出现漏洞,企业也能快速响应并进行修复。
4. COBIT与ITIL框架
COBIT侧重信息技术管理的内控与审计,适合公司高层管理人员用于审视和控制企业的IT安全管理。ITIL则主要是提升服务质量的标准框架,其中安全作为服务质量的一部分,虽然不专门关注安全问题,但其强调的效率和管理优化与安全建设密切相关。
- 内部控制和服务优化:COBIT和ITIL虽然不直接针对安全,但它们在管理流程优化和内控方面提供了指导,可以帮助企业建立更加健全的管理机制,间接提升整体安全水平。
推动建议:
企业可以利用COBIT框架进行IT审计和内控检查,以确保信息安全策略的实施落地,并通过ITIL优化管理流程,从组织内部提升安全防护的管理效率。
防火墙
防火墙的基本作用
防火墙作为网络安全的第一道防线,部署在网络边界上,负责检测和拦截进出网络的数据包,以此保护网络内部免受外部攻击。它可以根据配置的规则过滤数据包,阻止不符合安全策略的流量进入或离开网络。通过防火墙,企业能够控制哪些服务、IP 和端口可以对外开放,从而减少被攻击的机会。
防火墙的三种主要类型
-
包过滤防火墙
工作在网络层和传输层,过滤通过的 TCP 或 UDP 数据包,依据源 IP、目标 IP、端口号等进行决策。虽然简单有效,但只能对低层级的数据包进行静态判断,无法处理复杂攻击。 -
应用网关防火墙
工作在应用层,以代理的形式接收并转发请求。它可以深入解析应用层的数据(如 HTTP 请求),从而提供更加复杂的安全功能,例如内容监控、认证和协议限制。虽然安全能力强,但性能较低且可能对系统的兼容性产生影响。 -
状态检测防火墙
在包过滤基础上增加了状态跟踪的能力,通过跟踪连接状态来判断多个数据包的关联性。与包过滤防火墙相比,它更加灵活和智能,能够更好地应对网络攻击,但不会深入解析应用层数据,性能上优于应用网关防火墙。
防火墙的防护能力
防火墙可以保护网络边界的安全,通过过滤规则和连接状态识别异常流量,具体可保护以下几个方面:
-
操作系统漏洞的攻击
例如 DDoS 攻击和利用服务漏洞进行的攻击,防火墙可以通过关闭高危端口或限制流量来减少攻击面。 -
非法信息的流动
防火墙可基于规则阻止特定数据的流入或流出,甚至在某些情况下拦截敏感数据或关键词的泄露。 -
限制服务访问和带宽审计
企业可以通过防火墙制定规则,限制外网访问内部服务,并进行流量监控,确保某个服务不会占用过多的带宽资源。
防火墙的盲区
尽管防火墙能够提供强大的保护,但它也存在以下局限性:
-
无法防御授权后的攻击
一旦攻击者通过合法的方式,如爆破登录等方式进入网络内部,防火墙将无法监控到内网的攻击行为。 -
内部网络攻击的无能为力
防火墙通常部署在网络边界,无法防御内部攻击,尤其是绕过防火墙的物理访问或内网传播的恶意软件。 -
自身被攻击的风险
防火墙本身是暴露在外界的,存在被黑客攻击和控制的风险。一旦防火墙被攻破,攻击者可以关闭其防护功能,从而绕过所有安全措施。
WAF
WAF(Web Application Firewall)与传统防火墙的主要区别在于WAF专注于Web应用层的安全,而防火墙则侧重于网络层的安全。
传统防火墙可以有效防御DDoS等网络层攻击,但对于Web应用层的攻击,如SQL注入、XSS等,效果有限。WAF通过对HTTP/HTTPS流量的深度解析,专门针对Web安全问题,提供细粒度的防护。
WAF的工作模式
WAF有三种常见的工作模式:透明代理、反向代理、插件模式。
-
透明代理:
透明代理类似于传统防火墙的工作方式,它位于客户端与服务器之间,无需对客户端或服务端进行调整。透明代理能够解密HTTPS流量,通过代理服务实现流量的拦截和检查,但无法处理认证和内容过滤等高级功能。优点是部署简单,但功能有限。 -
反向代理:
在反向代理模式下,客户端请求首先发送到WAF,WAF解密、检查后再转发给服务器。因为WAF本身扮演Web服务角色,HTTPS证书可以直接部署在WAF上。这种模式具有更强的功能,如身份验证和更高的隔离性,但对硬件要求较高,WAF宕机时会导致服务不可用。 -
插件模式:
插件模式将WAF直接集成到Web服务器的逻辑中,通常使用AOP(面向切面编程)技术来实现。优点是灵活性高、部署简单,但缺点是它与服务器紧密耦合,消耗更多的服务器资源,而且WAF的更新会影响服务端的稳定性。
WAF的核心功能
-
HTTP解析:
WAF可以解析HTTP请求,包括URL、参数、HTTP头信息以及POST数据等。此外,WAF还可以解析JSON、XML等格式,进一步检查深层字段以识别潜在的攻击。它还可以解码UrlEncode等编码数据,以及解密HTTPS内容。 -
Web安全防护:
WAF通过三种主要手段进行防护:- 签名匹配:类似杀毒软件的病毒库,通过样本库比对请求的特征。
- 正则匹配:通过正则表达式匹配潜在攻击特征,如检测SQL注入等。
- 行为分析:分析一段时间内的请求模式,识别异常行为,防止持续性的攻击。
-
审计告警:
WAF能够记录攻击发生的时间、路径和频次,帮助开发者评估Web服务所面临的安全威胁。此外,WAF还可以通过审计日志提供访问统计和性能监控,帮助优化服务。 -
数据保护和虚拟补丁:
WAF可以对HTTP请求和响应的数据进行处理,比如加密Cookie或打码敏感信息。此外,WAF还能通过“虚拟补丁”来暂时防护已知漏洞,在服务器打补丁之前阻止攻击。
选择WAF的考虑因素
选择WAF时,功能的完整性和部署的简便性是关键考量。一个理想的WAF不仅要能拦截大多数Web攻击,还应提供灵活的配置和维护能力,允许开发和运维人员快速应对误报和漏报问题。
当前主流WAF产品及特点
1. 开源WAF产品
-
ModSecurity
- 特点:ModSecurity是一个广泛使用的开源WAF,兼容Apache、Nginx等Web服务器。它以其灵活的规则集和扩展能力闻名,尤其是配合OWASP的核心规则集(CRS)可以有效防护各种常见的Web攻击。
- 优点:免费、社区支持丰富、规则集更新频繁。
- 缺点:需要手动配置和维护,默认规则集可能导致误报,性能依赖服务器硬件。
- 适用场景:适合中小型企业或技术团队,具备一定的Web安全专业知识,能够进行自定义规则的调整。
-
NAXSI
- 特点:NAXSI是专为Nginx设计的开源WAF,它通过简单的白名单和黑名单机制来检测并阻止攻击。
- 优点:轻量级,性能影响较小,适合高流量的Web应用。
- 缺点:规则集不如ModSecurity丰富,功能相对简单。
- 适用场景:适合使用Nginx的中小型企业,追求性能和简单部署的场景。
2. 商业WAF产品
-
F5 Advanced WAF
- 特点:F5是市场上领先的WAF厂商之一,提供多层次的Web防护,包括对SQL注入、XSS等攻击的高级保护。它还支持Bot防护、DDoS缓解和API安全。
- 优点:企业级支持,功能强大,易于与其他网络安全工具集成,性能高。
- 缺点:成本较高,复杂性较高,适合大型企业或关键业务系统。
- 适用场景:适合对安全要求较高的大型企业,尤其是在多层防御需求、API防护、DDoS缓解等复杂场景中。
-
Cloudflare WAF
- 特点:Cloudflare提供基于云的WAF服务,集成在其全球CDN网络上,能够实时防护Web应用免受常见攻击。支持自动更新规则库,并可防御DDoS攻击。
- 优点:基于云端的弹性扩展能力,部署便捷,无需复杂的硬件配置,低延迟。
- 缺点:云服务依赖互联网连接,某些高级功能需要额外付费。
- 适用场景:适合对部署简单、自动化防护有需求的中小型企业,尤其是云原生应用和分布式架构。
-
Imperva WAF
- 特点:Imperva的WAF产品以强大的攻击检测和响应功能著称,支持细粒度的流量分析和定制化规则,具备虚拟补丁功能和全面的合规性支持。
- 优点:提供完善的攻击防护、细致的报告和日志分析,支持PCI DSS等合规性要求。
- 缺点:价格较高,部署复杂。
- 适用场景:适合金融、医疗等对合规要求较高的行业,或者需要细致安全策略的大型企业。
根据场景选择WAF部署模式
-
小型Web应用或初创企业
- 建议产品:ModSecurity + OWASP CRS
- 理由:开源、灵活且无额外成本,可以根据具体应用场景调整规则集,满足基本的Web安全需求。
- 部署模式:透明代理模式
- 这种模式易于部署,适合在资源有限的情况下快速实现基础的Web防护。
- 建议产品:ModSecurity + OWASP CRS
-
中型企业或高流量网站
- 建议产品:NAXSI或Cloudflare WAF
- 理由:NAXSI性能轻量,适合高流量场景;Cloudflare WAF通过云端服务提供保护,部署快速并具备弹性扩展能力。
- 部署模式:反向代理模式
- 在反向代理模式下,可以实现更强的功能和隔离性,同时能通过HTTPS证书直接在WAF上进行解密处理。
- 建议产品:NAXSI或Cloudflare WAF
-
大型企业或关键业务系统
- 建议产品:F5 Advanced WAF或Imperva WAF
- 理由:企业级产品功能齐全,支持复杂的防护需求,包括API安全和Bot管理,适合多层次防御。
- 部署模式:反向代理或插件模式
- 反向代理模式适合将安全防护隔离在外部,而插件模式则适合需要与应用紧密集成的大型系统。
- 建议产品:F5 Advanced WAF或Imperva WAF
WAF产品最佳实践与策略优化
-
定制规则集:
无论选择哪种WAF产品,定制规则是避免误报和提升检测效率的关键。基于应用的特定需求和历史数据进行规则优化,如添加针对特定攻击的正则表达式。 -
虚拟补丁机制:
在漏洞公开后及时使用WAF的虚拟补丁功能,减少系统修复之前的攻击风险。 -
日志与审计分析:
通过分析WAF的日志和告警,及时了解攻击动向和潜在威胁,持续优化防护策略。利用WAF的审计功能跟踪访问流量,分析用户行为,进一步提升安全性。 -
自动化与持续更新:
使用支持自动规则库更新的WAF产品,保证对最新威胁的响应能力,同时结合CI/CD流程,将WAF策略的优化纳入常规开发和发布中,确保持续安全。
IDS
Intrusion Detection System,入侵检测系统
1. IDS的工作原理与类型
入侵检测系统(IDS)的主要目的是检测黑客的攻击行为,分为网络入侵检测系统(NIDS)和主机型入侵检测系统(HIDS)。
-
NIDS:主要部署在网络中的关键节点(如交换机、路由器)上,负责监控流经这些节点的网络流量。它依赖预定义的规则集,通过分析网络包内容来发现可能的攻击。常见的开源工具有Snort和Suricata,它们基于CVE漏洞库更新规则,实时检测外部攻击行为。
-
HIDS:安装在每一台服务器上,监控系统内部的操作,如文件完整性、用户行为、进程活动等。HIDS能够检测黑客通过系统漏洞提升权限、埋下后门的行为。Osquery是一个常用的开源工具,通过SQL语句查询系统数据,帮助进行行为监控。
主机入侵检测系统(HIDS)_ Host-based Intrusion Detection System
HIDS 的概念和功能
主机入侵检测系统(HIDS)是一种监控和分析单个计算机或服务器的活动日志、文件完整性、配置更改、系统调用等,以检测入侵行为或异常活动的安全工具。它与网络入侵检测系统(NIDS)不同,侧重于主机层面的检测,帮助识别未经授权的操作或潜在攻击。
HIDS 分类与技术差异
HIDS 主要分为以下两种类型:
- 基于签名的 HIDS:通过匹配已知攻击模式或签名来检测入侵。这种方法对已知威胁有效,但对未知攻击或零日漏洞可能不敏感。
- 基于行为的 HIDS:通过分析系统的正常行为基线,检测异常的操作或活动。这种方法能够发现未知威胁,但可能会产生更多的误报。
HIDS 最佳实践
为了有效实施 HIDS,可以参考以下最佳实践:
- 系统选择与资源规划:选择适合的 HIDS 工具,并考虑主机的资源占用问题。过高的资源消耗可能影响系统性能。
- 配置日志收集与分析:配置 HIDS 以收集关键日志,如认证、文件系统变更、系统调用等,并定期分析。结合 Syslog、Auditd 等工具可以进一步增强日志记录的深度。
- 文件完整性监控:HIDS 通过文件完整性监控(FIM)来检测关键文件的异常更改。可以利用工具如 Tripwire 或 AIDE 来实现。
- 基线建立与异常检测:设置基线行为,定义正常的操作模式,并通过 HIDS 监控这些基线是否出现异常。
- 警报管理:配置灵敏但不冗余的报警规则,避免误报过多。结合邮件、短信或其他告警系统,确保及时响应。
- 定期更新与维护:定期更新 HIDS 规则库,确保可以识别最新的威胁。
常用 HIDS 工具
- OSSEC:一个开源且功能强大的 HIDS,支持日志分析、文件完整性监控和实时警报,适用于 Linux、Windows、macOS 等操作系统。
- Tripwire:专注于文件完整性监控,广泛用于检测文件篡改、配置变更等,适合企业环境。
- AIDE(Advanced Intrusion Detection Environment):轻量级 HIDS 工具,专注于文件完整性监控和日志分析。
- Wazuh:基于 OSSEC 的扩展,提供增强的日志管理、威胁检测功能,且支持可视化仪表板。
2. IPS:入侵防御系统
在 NIDS 和 HIDS 中加入了拦截的能力,就成了NIPS 和 HIPS,统称为 IPS(Intrusion Prevention System,入侵防御系统)
- IDS 强调的是检测
- IPS 强调的是拦截
IPS是IDS的升级版本,区别在于IPS不仅检测攻击行为,还可以实时阻止攻击。例如,当IPS检测到某个系统或网络中的恶意行为时,它会立即进行拦截(如封锁特定端口、阻止某个IP访问),从而限制攻击的继续。IPS的主动防御功能使其在实际操作中非常有用,特别是在企业的关键资产防护中。
3. 蜜罐:攻击诱导与分析
在 IDS 的检测机制中,我们主要是基于对系统行为和网络请求的分析,判断是否存在攻击行为。这种检测模式会存在两个主要的问题:第一,分析结果总会出现漏报和误判,而这些漏报和误判,不论是对用户还是对安全人员,都会造成极大的困扰;第二,分析的规则都是人工产出的,会存在滞后性。当某种新型攻击出现时,我们很可能无法及时更新 IDS 的检测规则,让 IDS 形同虚设。那么,我们应该如何提升分析的准确性呢?对于未知的攻击,我们又该如何及时发现呢?蜜罐就是一种能满足这两点需求的入侵检测工具。
所谓“蜜罐”,就是一台部署在内网的服务器。这个服务器没有任何保护措施,并且提供带有漏洞的服务,就是为了吸引黑客来攻击它。蜜罐由安全人员部署在网络的各个节点中,理论上,其他开发人员都不会知道蜜罐的存在,也就不会向蜜罐发起任何请求。而黑客入侵内网后,需要对内网进行探测,如果发现蜜罐中的服务有漏洞,自然就会针对蜜罐发起攻击。因此,蜜罐内的一切行为,都是黑客产生的。基于蜜罐的报警和日志,我们就能够及时发现黑客的存在,并且还原出黑客的攻击行为。
蜜罐是一种专门吸引黑客攻击的系统,利用其欺骗性设计,记录所有进入系统的攻击行为。蜜罐分为两类:
- 低交互蜜罐:模拟脆弱的服务,仅提供有限的攻击交互(如虚拟SSH登录),目的是快速识别黑客行为,但不会让黑客深入控制系统。
- 高交互蜜罐:提供真实的服务,允许黑客深入入侵。虽然风险较高,但记录的数据更为详细,可以还原整个攻击过程。
蜜罐的优势在于能够捕获未知攻击行为,不需要依赖已有的规则库,同时,它几乎不会产生误报,能够有效识别真正的攻击。
4. WAF与入侵检测体系的协同作用
WAF(Web应用防火墙)主要用于保护Web应用免受常见的攻击(如SQL注入、跨站脚本攻击)。它通过监控HTTP/HTTPS流量并根据规则进行拦截,防止恶意流量进入Web服务器。WAF与NIDS、HIDS、IPS以及蜜罐相结合,可以形成一套多层防护机制:
-
WAF与NIDS:WAF主要保护Web应用层,NIDS监控更深层次的网络流量。如果黑客通过绕过WAF的方式直接发起网络攻击,NIDS可以捕捉到异常流量。
-
HIDS与蜜罐的结合:在服务器上安装HIDS,监控内部的系统行为。若黑客通过入侵服务器进行权限提升或植入后门,HIDS能及时报警。同时,通过在服务器中部署“微蜜罐”,模拟一些不存在的服务(如虚假的MySQL端口),可以诱导黑客进行攻击,并将攻击行为记录下来。
-
IPS与蜜罐配合:IPS在拦截攻击时,可以将一些可疑行为引导到蜜罐中,让黑客误以为攻击成功,从而进一步收集攻击的详细信息。
在这个入侵检测系统中,NIDS 负责对网络节点进行检测,网络中会包含部署了 HIDS 的系统和蜜罐系统。最终,我们需要通过 ELK 来统一收集各个安全产品的检测日志,实现信息同步。所有 IDS 或者 IPS 的信息都是相互关联的,我们就能够基于这个完整的信息进行全盘的综合分析了。
5. 优化Web安全策略
综合WAF、IDS、IPS和蜜罐的功能,可以构建一套完善的入侵检测和防御体系。企业可以根据以下步骤进行优化:
- 分层部署:在网络边界使用WAF保护Web应用,同时在内部网络节点部署NIDS,进行全面的流量监控。
- 分布式检测:在关键服务器上部署HIDS,对操作系统级别的行为进行实时监控,减少系统内部的盲区。
- 自动化防御:启用IPS功能,实时拦截攻击,确保在第一时间阻止威胁蔓延。
- 引入蜜罐:在网络内多个位置部署蜜罐,模拟脆弱服务,吸引并记录黑客的攻击行为。结合蜜罐的数据,可以对IDS和IPS的规则进行更新,提升防护效果。
RASP
RASP(Runtime Application Self-Protection)概念和原理
RASP 是一种部署在应用程序内的安全解决方案,它通过监控应用运行时的行为,在攻击发生时做出实时响应。与传统的外部安全产品(如WAF)不同,RASP 直接与应用程序耦合,监控应用内的数据流和操作,如SQL查询、反序列化操作等。RASP 常通过在 JVM(Java Virtual Machine) 中使用 Java Agent 来实现,对应用的关键类和方法进行 Hook(挂钩),从而在代码执行过程中检测和防范潜在的攻击。
RASP 和 WAF 的对比
RASP 的优势:
- 上下文感知:RASP 可以直接获取应用的上下文信息,例如用户输入、应用逻辑和运行时状态。它能基于应用的真实执行情况来判断是否存在攻击,从而减少误报和漏报。
- 未知威胁防护:RASP 不依赖预定义的攻击模式或签名,它通过分析应用行为(如 SQL 语句的 Token 化)来检测异常,从而防御未知攻击。
- 无需频繁规则更新:由于 RASP 工作在应用层,不依赖网络层的特征匹配,因此规则相对简单统一,适用于多种应用。
RASP 的劣势:
- 耦合度高,推广困难:RASP 需要与应用程序集成,这往往需要开发人员的配合,例如在启动参数中加入 javaagent。此外,开发人员通常对性能问题有顾虑,导致推广较难。
- 语言与框架的局限性:目前成熟的 RASP 产品主要支持 Java、PHP 和 .Net,对于其他编程语言如 Python 等的支持尚不完善。
- 性能问题:尽管 RASP 的性能影响已经被优化到 5% 以下,但不同的系统和应用架构仍然可能带来兼容性和性能问题。
SQL 注入检测的 RASP 实例分析
RASP 的工作原理通过监控 SQL 语句的执行变化来检测 SQL 注入。例如,RASP 将 SQL 语句进行 Token 化,将语句拆分为关键词和输入部分,然后通过对比正常情况下用户输入的 Token 数量来判断是否存在注入攻击。如果用户输入的 Token 数量过多(例如 or""="
这种万能密码类型的输入),则说明 SQL 逻辑发生了变化,RASP 可以认定这是一次攻击。
示例:
SELECT * FROM Users WHERE Username = "" AND Password = ""or""=""
在这个示例中,用户的输入占据了多个 Token,因此 RASP 能够识别出 SQL 语句的逻辑异常,并进行拦截。
RASP 部署的挑战
RASP 虽然提供了强大的安全防护能力,但其推广面临的最大挑战在于:
- 推广难度:RASP 需要与应用程序高度集成,尤其是在 Java 中需要开发人员手动配置 Java Agent。这种部署方式往往遭遇开发团队的抵触。
- 语言局限:RASP 目前主要支持部分编程语言(如 Java、PHP 和 .Net),对于其他语言的支持仍在发展中。
- 性能影响:尽管现代 RASP 产品宣称其性能影响微乎其微,但某些复杂系统和应用可能仍会受到显著影响。
实际应用中的组合方案
为解决 RASP 推广难的问题,安全团队可以考虑将 RASP 和其他安全产品组合使用。例如,在某些关键的应用模块中局部部署 RASP,并将其输出的攻击特征提供给 WAF,使 WAF 的防御能力得到增强。这样既可以减少 RASP 的推广阻力,也能充分利用其准确的上下文分析能力提升整体防御效果。
SIEM
SIEM(Security Information and Event Management,安全信息和事件管理),通过 SIEM,我们可以将散落于各个系统、设备和安全产品中的日志进行汇总和梳理,快速串联出黑客的完整攻击路径,更高效地完成安全体系运营的工作
1. SIEM的作用与技术特点
SIEM(安全信息和事件管理)系统能够收集和关联来自不同安全设备(如防火墙、入侵检测系统、WAF)的日志,将分散的安全信息汇总并自动化分析,帮助安全团队识别潜在攻击,及时响应。这种集中管理的能力是优化公司安全防护体系的基础之一。
2. SIEM与其他安全产品的结合
- 防火墙:防火墙在外围网络防护中起着关键作用,通过阻止未经授权的流量进入网络。SIEM通过收集防火墙日志并进行关联分析,可以识别特定IP、端口扫描等攻击行为。
- IDS/IPS:入侵检测和防御系统(IDS/IPS)检测和阻止恶意活动。SIEM汇总其检测到的异常流量与其他系统的日志,可以快速定位异常事件的源头。
- WAF:Web应用防火墙主要针对Web应用层的攻击,如SQL注入、XSS等。SIEM通过关联WAF的警报和其他安全设备的日志,构建完整的攻击链路。
- RASP:RASP(Runtime Application Self-Protection)可实时监控和保护应用程序内部的运行状态。RASP与SIEM结合可以在应用层进行深度防御,当SIEM检测到入侵时,可以实时触发RASP进行保护,防止进一步的攻击。
3. 运营SIEM与提升攻击检测效率
安全运营的核心是通过分析和响应安全事件来保护系统。SIEM在安全运营中的主要角色是提供集中化的事件管理平台,帮助运营团队分析、响应和记录攻击事件。通过工单系统、报表功能,SIEM还可以自动化管理安全事件,追踪修复进度和分析潜在威胁。
攻击路径分析:SIEM的核心优势在于能够将不同来源的日志进行关联。例如,入侵检测系统(IDS)发现可疑流量,而防火墙记录了相同IP的多次拒绝请求,通过SIEM可以串联这些事件,识别出攻击者的完整路径,并追踪其后续行为(如系统内的命令执行或恶意操作)。
4. 提取攻击特征与优化检测规则
当黑客的攻击绕过已有防护时,SIEM能够通过日志分析定位异常活动。分析完成后,安全团队可以提取攻击特征,例如恶意IP、特定的攻击命令、HTTP请求的结构等,并据此更新防火墙、IDS、WAF的检测规则,从而补充现有的防护体系。
5. SIEM落地中的挑战
- 数据质量:SIEM需要从大量设备中收集日志,因此需要清楚哪些日志对安全运营有用,避免生成过多无效数据。同时,确保日志记录的完整性和维度完整性,避免出现无法关联或回溯关键事件的情况。
- 人员投入:SIEM的成功运行依赖于安全运营团队的持续参与,特别是在攻击事件的响应、数据分析和规则更新等方面。没有专门的安全团队,SIEM的优势难以发挥。
6. RASP与SIEM结合,提升安全响应能力
RASP技术提供了对运行时环境的实时保护,当SIEM检测到潜在威胁时,可以通过触发RASP加强应用内部的防御能力。比如在识别Web应用中的恶意请求后,SIEM可以通知RASP阻止此请求的执行,从而阻断攻击路径。
SDL
软件开发生命周期 DLC(SoftwareDevelopment Life Cycle)(这个概念的英文缩写种类比较多,为了和 SDL 区分,我们用DLC 代表软件开发生命周期)。SDL 是以软件开发生命周期为基础发展成的安全框架,所以,了解 DLC 能够帮助我们更好地认识 SDL。
2004 年,微软提出了 SDL(Security Development Lifecycle,安全开发生命周期)。因为对安全和隐私的考虑贯穿了整个软件的开发进程,SDL 能够帮助开发人员写出更“安全”的代码,在解决安全合规需求的同时,也能减少由安全问题带来的损失。
SDL的重要性与背景
SDL(Security Development Lifecycle)是在微软2004年提出的,它为软件开发生命周期(DLC)中的安全防护提供了结构化的解决方案。SDL将安全问题从一开始就纳入开发流程,帮助开发团队在需求分析、设计、开发、测试和部署各个环节减少安全漏洞。SDL的核心在于将安全性视为和功能性同等重要的设计因素,贯穿整个软件开发过程。
SDL的七个关键步骤
-
安全培训:安全从培训开始。开发、测试、运维等角色都必须具备基础的安全知识,理解如何在开发中避免引入安全问题。每年至少一次的安全培训内容包括威胁评估、Web安全、隐私保护等。
-
需求分析:在软件需求分析阶段,安全需求被明确纳入。通过定义安全标准(如加密存储、二次认证)、安全指标(上线前无高危漏洞)、以及风险评估,确保系统具备最低限度的安全保障。
-
设计:设计阶段,开发团队根据需求进行架构设计,特别是重点风险部分的防护方案。具体设计内容包括加密算法选择、权限管理、日志记录等方案。此时安全和开发成本需平衡。
-
开发:在开发阶段,通过使用经过审核的工具、限制SQL注入等常见问题的发生,来降低安全风险。同时,通过代码审查(人工或自动)发现潜在的漏洞。
-
测试:测试阶段进行功能性和安全性测试,包括评估软件是否符合最初的设计方案,并通过漏洞扫描和模糊测试确保没有新的安全漏洞出现。
-
部署:在软件上线前,必须做好安全预案。预案内容包括如何应对潜在的数据泄露、系统入侵等安全事件。上线前还要进行最后的安全确认,确保整个流程符合安全要求。
-
响应:一旦上线,安全团队必须实时监控外部威胁和潜在漏洞。安全应急响应小组会处理安全事件,评估并决定是否启动预案,保障系统的安全性。
SDL落地的挑战
尽管SDL是一套完整的安全开发体系,但其实施往往面临开发团队的抵触,原因在于其规章制度化的特性。为实现SDL落地,可以采取以下措施:
-
基于现有流程扩展SDL:如果公司已有DLC流程,逐步将安全内容加入即可,减少开发团队的负担。
-
灵活变通:结合实际情况灵活设计SDL,比如将安全培训纳入技术交流分享会,将安全扫描嵌入代码质量检查中,降低开发流程变动的摩擦。
-
覆盖面取舍:不同业务线可以根据其敏感度调整安全标准,对于非核心业务可使用通用安全清单进行自评,减少工作量。
安全防御工具小结
安全防御工具只是辅助,最终的效果取决于如何选择和实施它们。
三个典型的安全场景
公司发展初期,没有真实攻击
- 安全建设的最优路径是从基础做起,首先建立安全制度,例如SDL(安全开发生命周期)和管理标准(如ISO27001)。
- 小规模团队推动安全的优势包括业务体量小、开发人员少、领导支持,安全制度容易落地。
- 使用必要的防御工具,如防火墙、SIEM、DLP等,来配合制度执行。
公司发展中后期,仍没有真实攻击
- 由于业务成熟、用户增多,推动安全变得困难。此时应通过安全测试、安全演练和合规需求来证明安全工作的重要性,逐步建立影响力。
- 法律法规和合规需求是强有力的推动力,例如日志留存要求、数据分类和加密等。
- 安全工作要以“显著收益”为导向,以说服管理层和同事支持安全发展。
有真实攻击发生
- 在这种情况下,安全工作更多是应急响应。先快速阻断攻击,修复漏洞(例如Web漏洞)。
- 在修复的过程中,逐步升级防御工具,如从WAF到RASP,甚至推广SDL,形成更深层次的防御。
- 整个过程遵循“先快后好”的原则,先用最有效的工具解决大规模问题,再深入提升防御层次。
核心策略
- 安全制度的基础性:不论公司处于哪个阶段,安全制度始终是安全体系的基石。它规范了人的行为,减少人为错误带来的安全风险。
- 工具与制度结合:工具只是手段,制度是根本。两者需结合使用,根据公司的实际情况和需求,制定合理的安全防御策略。
总结
- 安全防御体系建设要因地制宜,不能简单依赖工具,而应结合公司的实际情况、业务发展阶段以及领导层的支持情况进行规划。
- 在不同的场景下,安全工作应从规范人的行为入手,再通过工具和手段不断优化和完善。
- 合规需求是推动安全工作的有效方式,而应急响应则是快速解决问题、升级防御的关键。
最终,设计一个适合公司的安全体系,既是对安全人员技术能力的考验,也是对其与业务发展需求契合度的挑战。