Web安全 - 安全防御工具和体系构建
文章目录
- 安全标准和框架
- 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,形成更深层次的防御。
- 整个过程遵循“先快后好”的原则,先用最有效的工具解决大规模问题,再深入提升防御层次。
核心策略
- 安全制度的基础性:不论公司处于哪个阶段,安全制度始终是安全体系的基石。它规范了人的行为,减少人为错误带来的安全风险。
- 工具与制度结合:工具只是手段,制度是根本。两者需结合使用,根据公司的实际情况和需求,制定合理的安全防御策略。
总结
- 安全防御体系建设要因地制宜,不能简单依赖工具,而应结合公司的实际情况、业务发展阶段以及领导层的支持情况进行规划。
- 在不同的场景下,安全工作应从规范人的行为入手,再通过工具和手段不断优化和完善。
- 合规需求是推动安全工作的有效方式,而应急响应则是快速解决问题、升级防御的关键。
最终,设计一个适合公司的安全体系,既是对安全人员技术能力的考验,也是对其与业务发展需求契合度的挑战。
相关文章:

Web安全 - 安全防御工具和体系构建
文章目录 安全标准和框架1. 国内安全标准:等级保护制度(等保)2. 国际安全标准:ISO27000系列3. NIST安全框架:IDPRR方法4. COBIT与ITIL框架 防火墙防火墙的基本作用防火墙的三种主要类型防火墙的防护能力防火墙的盲区 W…...

服务器数据恢复—raid磁盘故障导致数据库文件损坏的数据恢复案例
服务器存储数据恢复环境&故障: 存储中有一组由3块SAS硬盘组建的raid。上层win server操作系统层面划分了3个分区,数据库存放在D分区,备份存放在E分区。 RAID中一块硬盘的指示灯亮红色,D分区无法识别;E分区可识别&a…...

requests 中data=xxx、json=xxx、params=xxx 分别什么时候用
如果是要做爬虫模拟一个页面提交,看原页面是post还是get,以及Content-Type是什么。 GET 请求 使用 paramsxxx,查询参数会被编码到 URL 中。POST 请求,Content-Type为 application/x-www-form-urlencoded的,使用 dataxx…...

毕设 大数据抖音短视频数据分析与可视化(源码)
文章目录 0 前言1 课题背景2 数据清洗3 数据可视化地区-用户观看时间分界线每周观看观看路径发布地点视频时长整体点赞、完播 4 进阶分析相关性分析留存率 5 深度分析客户价值判断 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕…...

【SQL】深入理解SQL:从基础概念到常用命令
目录 1. SQL基础概念1.1 数据库与表1.2 行与列1.3 数据库与表结构示意图 2. 常用SQL命令3. DML 命令3.1 SELECT语句3.2 INSERT语句3.3 UPDATE语句3.4 DELETE语句 4. DDL 命令3.4.1 CREATE 命令3.4.2 ALTER 命令3.4.3 DROP 命令 5. DCL 命令3.6.1 GRANT 命令3.6.2 REVOKE 命令 学…...

一文看懂计算机中的大小端(Endianess)
文章目录 前言一、什么是大小端二、如何判断大小端三、大小端的转换3.1 使用标准库函数3.2 手动实现大小端转换 前言 本文主要探讨计算机中大小端的相关概念以及如何进行大小端的判断和转换等。 一、什么是大小端 大小端(Endianess)是指计算机系统在存…...

如何给父母安排体检?
总结:给父母安排体检,常规项目针对项目。 其中针对项目是根据父母自身的病史来设计。 如何快速了解这些体检项目?我自己认为最快的方式,自己去医院体检两次,这样对体检的项目有一定的了解,比如这个项目怎么…...

C++之模版进阶篇
目录 前言 1.非类型模版参数 2.模版的特化 2.1概念 2.2函数模版特化 2.3 类模板特化 2.3.1 全特化和偏特化 2.3.2类模版特化应用实例 3.模版分离编译 3.1 什么是分离编译 3.2 模板的分离编译 3.3 解决方法 4. 模板总结 结束语 前言 在模版初阶我们学习了函数模版和类…...

Vue3 中的 `replace` 属性:优化路由导航的利器
嘿,小伙伴们!今天给大家带来一个Vue3中非常实用的小技巧——replace属性的使用方法。在Vue Router中,replace属性可以帮助我们在导航时不留下历史记录,这对于一些特定的应用场景非常有用。话不多说,让我们直接进入实战…...

vite学习教程06、vite.config.js配置
前言 博主介绍:✌目前全网粉丝3W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。 涵盖技术内容:Java后端、大数据、算法、分布式微服务、中间件、前端、运维等。 博主所有博客文件…...

【大数据】Flink CDC 实时同步mysql数据
目录 一、前言 二、Flink CDC介绍 2.1 什么是Flink CDC 2.2 Flink CDC 特点 2.3 Flink CDC 核心工作原理 2.4 Flink CDC 使用场景 三、常用的数据同步方案对比 3.1 数据同步概述 3.1.1 数据同步来源 3.2 常用的数据同步方案汇总 3.3 为什么推荐Flink CDC 3.4 Flink …...

JavaEE: 深入解析HTTP协议的奥秘(1)
文章目录 HTTPHTTP 是什么HTTP 协议抓包fiddle 用法 HTTP 请求响应基本格式 HTTP HTTP 是什么 HTTP 全称为"超文本传输协议". HTTP不仅仅能传输文本,还能传输图片,传输音频文件,传输其他的各种数据. 因此它广泛应用在日常开发的各种场景中. HTTP 往往是基于传输层的…...

OpenStack Yoga版安装笔记(十六)Openstack网络理解
0、前言 本文将以Openstack在Linux Bridge环境下的应用为例进行阐述。 1、Openstack抽象网络 OpenStack的抽象网络主要包括网络(network)、子网(subnet)、端口(port),路由器(rout…...

PEFT库和transformers库在NLP大模型中的使用和常用方法详解
PEFT(Parameter-Efficient Fine-Tuning)库是一个用于有效微调大型预训练语言模型的工具,尤其是在计算资源有限的情况下。它提供了一系列技术,旨在提高微调过程的效率和灵活性。以下是PEFT库的详细解读以及一些常用方法的总结&…...

静止坐标系和旋转坐标系变换的线性化,锁相环线性化通用推导
将笛卡尔坐标系的电压 [ U x , U y ] [U_x, U_y] [Ux,Uy] 通过旋转变换(由锁相环角度 θ P L L \theta_{PLL} θPLL 控制)转换为 dq 坐标系下的电压 [ U d , U q ] [U_d, U_q] [Ud,Uq]。这个公式是非线性的,因为它涉及到正弦和余弦函数。 图片中的推导过程主要…...

AI学习指南深度学习篇-学习率衰减的变体及扩展应用
AI学习指南深度学习篇 - 学习率衰减的变体及扩展应用 在深度学习的训练过程中,学习率的选择对模型的收敛速度和最终效果有重要影响。为了提升模型性能,学习率衰减(Learning Rate Decay)作为一种优化技术被广泛应用。本文将探讨多…...

成都睿明智科技有限公司真实可靠吗?
在这个日新月异的电商时代,抖音作为短视频与直播电商的佼佼者,正以前所未有的速度重塑着消费者的购物习惯。而在这片充满机遇与挑战的蓝海中,成都睿明智科技有限公司以其独到的眼光和专业的服务,成为了众多商家信赖的合作伙伴。今…...

力扣6~10题
题6(中等): 思路: 这个相较于前面只能是简单,个人认为,会print打印菱形都能搞这个,直接设置一个2阶数组就好了,只要注意位置变化就好了 python代码: def convert(self,…...

IntelliJ IDEA 2024.2 新特性概览
文章目录 1、重点特性:1.1 改进的 Spring Data JPA 支持1.2 改进的 cron 表达式支持1.3 使用 GraalJS 作为 HTTP 客户端的执行引擎1.4 更快的编码时间1.5 K2 模式下的 Kotlin 性能和稳定性改进 2、用户体验2.1 改进的全行代码补全2.2 新 UI 成为所有用户的默认界面2.3 Search E…...

C++基础(12)——初识list
目录 1.list的简介(引用自cplusplus官网) 2.list的相关使用 2.1有关list的定义 2.1.1方式一(构造某类型的空容器) 2.1.2方式二(构造n个val的容器) 2.1.3方式三(拷贝构造) 2.1.4…...

系统架构设计师论文《论NoSQL数据库技术及其应用》精选试读
论文真题 随着互联网web2.0网站的兴起,传统关系数据库在应对web2.0 网站,特别是超大规模和高并发的web2.0纯动态SNS网站上已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展…...

产品经理产出的原型设计 - 需求文档应该怎么制作?
需求文档,产品经理最终产出的文档,也是产品设计最终的表述形式。本次分享呢,就是介绍如何写好一份需求文档。 所有元件均可复用,可作为管理端原型设计模板,按照实际项目需求进行功能拓展。有需要的话可分享源文件。 …...

phenylalanine ammonia-lyase苯丙氨酸解氨酶PAL功能验证-文献精读61
Molecular cloning and characterization of three phenylalanine ammonia-lyase genes from Schisandra chinensis 五味子中三种苯丙氨酸解氨酶基因的分子克隆及特性分析 摘要 苯丙氨酸解氨酶(PAL)催化L-苯丙氨酸向反式肉桂酸的转化,是植物…...

柯桥生活口语学习之在化妆品店可以用到的韩语句子
화장품을 사고 싶어요. 我想买化妆品。 어떤 화장품을 원하세요? 您想买什么化妆品。 스킨로션을 찾고 있어요. 我想买化妆水,乳液。 피부 타입은 어떠세요? 您是什么皮肤类型? 민감성 피부예요. 我是敏感性皮肤。 평소에 쓰시는 제품은 뭐예…...

Ubuntu 安装 Docker Compose
安装Docker Compose # 删除现有的 docker-compose(如果存在) sudo rm -f /usr/local/bin/docker-compose # 下载最新的 docker-compose 二进制文件 sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-…...

C++面试速通宝典——7
150. 数据库连接池的作用 数据库连接池的作用包括以下几个方面: 资源重用:连接池允许多个客户端共享有限的数据库连接,减少频繁创建和销毁连接的开销,从而提高资源的利用率。 统一的连接管理:连接池集中管理数据库连…...

毕业设计 大数据电影数据分析与可视化系统
文章目录 0 简介1 课题背景2 效果实现3 爬虫及实现4 Flask框架5 Ajax技术6 Echarts7 最后 0 简介 今天学长向大家介绍一个机器视觉的毕设项目 🚩基于大数据的电影数据分析与可视化系统 项目运行效果(视频): 毕业设计 大数据电影评论情感分析 …...

第三届图像处理、计算机视觉与机器学习国际学术会议(ICICML 2024)
目录 重要信息 大会简介 组织单位 大会成员 征稿主题 会议日程 参会方式 重要信息 大会官网:www.icicml.org 大会时间:2024年11月22日-24日 大会地点:中国 深圳 大会简介 第三届图像处理、计算机视觉与机器学…...

OJ在线评测系统 微服务技术入门 单体项目改造为微服务 用Redis改造单机分布式锁登录
单体项目改造为微服务 什么是微服务 服务:提供某类功能的代码 微服务:专注于提供某类特定功能的代码 而不是把所有的代码放到同一个项目里 会把一个大的项目按照一定的功能逻辑进行划分 拆分成多个子模块 每个子模块可以独立运行 独立负责一类功能 …...

【机器学习】网络安全——异常检测与入侵防御系统
我的主页:2的n次方_ 随着全球互联网和数字基础设施的不断扩展,网络攻击的数量和复杂性都在显著增加。从传统的病毒和蠕虫攻击到现代复杂的高级持续性威胁(APT),网络攻击呈现出更加智能化和隐蔽化的趋势。面对这样的…...