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 和端口可以对外开放,从而减少被攻击的机会。

防火墙的三种主要类型

  1. 包过滤防火墙
    工作在网络层和传输层,过滤通过的 TCP 或 UDP 数据包,依据源 IP、目标 IP、端口号等进行决策。虽然简单有效,但只能对低层级的数据包进行静态判断,无法处理复杂攻击。

  2. 应用网关防火墙
    工作在应用层,以代理的形式接收并转发请求。它可以深入解析应用层的数据(如 HTTP 请求),从而提供更加复杂的安全功能,例如内容监控、认证和协议限制。虽然安全能力强,但性能较低且可能对系统的兼容性产生影响。

  3. 状态检测防火墙
    在包过滤基础上增加了状态跟踪的能力,通过跟踪连接状态来判断多个数据包的关联性。与包过滤防火墙相比,它更加灵活和智能,能够更好地应对网络攻击,但不会深入解析应用层数据,性能上优于应用网关防火墙。

在这里插入图片描述


防火墙的防护能力

防火墙可以保护网络边界的安全,通过过滤规则和连接状态识别异常流量,具体可保护以下几个方面:

  1. 操作系统漏洞的攻击
    例如 DDoS 攻击和利用服务漏洞进行的攻击,防火墙可以通过关闭高危端口或限制流量来减少攻击面。

  2. 非法信息的流动
    防火墙可基于规则阻止特定数据的流入或流出,甚至在某些情况下拦截敏感数据或关键词的泄露。

  3. 限制服务访问和带宽审计
    企业可以通过防火墙制定规则,限制外网访问内部服务,并进行流量监控,确保某个服务不会占用过多的带宽资源。

防火墙的盲区

尽管防火墙能够提供强大的保护,但它也存在以下局限性:

  1. 无法防御授权后的攻击
    一旦攻击者通过合法的方式,如爆破登录等方式进入网络内部,防火墙将无法监控到内网的攻击行为。

  2. 内部网络攻击的无能为力
    防火墙通常部署在网络边界,无法防御内部攻击,尤其是绕过防火墙的物理访问或内网传播的恶意软件。

  3. 自身被攻击的风险
    防火墙本身是暴露在外界的,存在被黑客攻击和控制的风险。一旦防火墙被攻破,攻击者可以关闭其防护功能,从而绕过所有安全措施。


在这里插入图片描述


WAF

WAF(Web Application Firewall)与传统防火墙的主要区别在于WAF专注于Web应用层的安全,而防火墙则侧重于网络层的安全。

传统防火墙可以有效防御DDoS等网络层攻击,但对于Web应用层的攻击,如SQL注入、XSS等,效果有限。WAF通过对HTTP/HTTPS流量的深度解析,专门针对Web安全问题,提供细粒度的防护。

WAF的工作模式

WAF有三种常见的工作模式:透明代理、反向代理、插件模式。

  1. 透明代理
    透明代理类似于传统防火墙的工作方式,它位于客户端与服务器之间,无需对客户端或服务端进行调整。透明代理能够解密HTTPS流量,通过代理服务实现流量的拦截和检查,但无法处理认证和内容过滤等高级功能。优点是部署简单,但功能有限。

  2. 反向代理
    在反向代理模式下,客户端请求首先发送到WAF,WAF解密、检查后再转发给服务器。因为WAF本身扮演Web服务角色,HTTPS证书可以直接部署在WAF上。这种模式具有更强的功能,如身份验证和更高的隔离性,但对硬件要求较高,WAF宕机时会导致服务不可用。

  3. 插件模式
    插件模式将WAF直接集成到Web服务器的逻辑中,通常使用AOP(面向切面编程)技术来实现。优点是灵活性高、部署简单,但缺点是它与服务器紧密耦合,消耗更多的服务器资源,而且WAF的更新会影响服务端的稳定性。

WAF的核心功能

  1. HTTP解析
    WAF可以解析HTTP请求,包括URL、参数、HTTP头信息以及POST数据等。此外,WAF还可以解析JSON、XML等格式,进一步检查深层字段以识别潜在的攻击。它还可以解码UrlEncode等编码数据,以及解密HTTPS内容。

  2. Web安全防护
    WAF通过三种主要手段进行防护:

    • 签名匹配:类似杀毒软件的病毒库,通过样本库比对请求的特征。
    • 正则匹配:通过正则表达式匹配潜在攻击特征,如检测SQL注入等。
    • 行为分析:分析一段时间内的请求模式,识别异常行为,防止持续性的攻击。
  3. 审计告警
    WAF能够记录攻击发生的时间、路径和频次,帮助开发者评估Web服务所面临的安全威胁。此外,WAF还可以通过审计日志提供访问统计和性能监控,帮助优化服务。

  4. 数据保护和虚拟补丁
    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部署模式

  1. 小型Web应用或初创企业

    • 建议产品:ModSecurity + OWASP CRS
      • 理由:开源、灵活且无额外成本,可以根据具体应用场景调整规则集,满足基本的Web安全需求。
    • 部署模式透明代理模式
      • 这种模式易于部署,适合在资源有限的情况下快速实现基础的Web防护。
  2. 中型企业或高流量网站

    • 建议产品:NAXSI或Cloudflare WAF
      • 理由:NAXSI性能轻量,适合高流量场景;Cloudflare WAF通过云端服务提供保护,部署快速并具备弹性扩展能力。
    • 部署模式反向代理模式
      • 在反向代理模式下,可以实现更强的功能和隔离性,同时能通过HTTPS证书直接在WAF上进行解密处理。
  3. 大型企业或关键业务系统

    • 建议产品:F5 Advanced WAF或Imperva WAF
      • 理由:企业级产品功能齐全,支持复杂的防护需求,包括API安全和Bot管理,适合多层次防御。
    • 部署模式反向代理或插件模式
      • 反向代理模式适合将安全防护隔离在外部,而插件模式则适合需要与应用紧密集成的大型系统。

WAF产品最佳实践与策略优化

  1. 定制规则集
    无论选择哪种WAF产品,定制规则是避免误报和提升检测效率的关键。基于应用的特定需求和历史数据进行规则优化,如添加针对特定攻击的正则表达式。

  2. 虚拟补丁机制
    在漏洞公开后及时使用WAF的虚拟补丁功能,减少系统修复之前的攻击风险。

  3. 日志与审计分析
    通过分析WAF的日志和告警,及时了解攻击动向和潜在威胁,持续优化防护策略。利用WAF的审计功能跟踪访问流量,分析用户行为,进一步提升安全性。

  4. 自动化与持续更新
    使用支持自动规则库更新的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,可以参考以下最佳实践:

  1. 系统选择与资源规划:选择适合的 HIDS 工具,并考虑主机的资源占用问题。过高的资源消耗可能影响系统性能。
  2. 配置日志收集与分析:配置 HIDS 以收集关键日志,如认证、文件系统变更、系统调用等,并定期分析。结合 Syslog、Auditd 等工具可以进一步增强日志记录的深度。
  3. 文件完整性监控:HIDS 通过文件完整性监控(FIM)来检测关键文件的异常更改。可以利用工具如 Tripwire 或 AIDE 来实现。
  4. 基线建立与异常检测:设置基线行为,定义正常的操作模式,并通过 HIDS 监控这些基线是否出现异常。
  5. 警报管理:配置灵敏但不冗余的报警规则,避免误报过多。结合邮件、短信或其他告警系统,确保及时响应。
  6. 定期更新与维护:定期更新 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和蜜罐的功能,可以构建一套完善的入侵检测和防御体系。企业可以根据以下步骤进行优化:

  1. 分层部署:在网络边界使用WAF保护Web应用,同时在内部网络节点部署NIDS,进行全面的流量监控。
  2. 分布式检测:在关键服务器上部署HIDS,对操作系统级别的行为进行实时监控,减少系统内部的盲区。
  3. 自动化防御:启用IPS功能,实时拦截攻击,确保在第一时间阻止威胁蔓延。
  4. 引入蜜罐:在网络内多个位置部署蜜罐,模拟脆弱服务,吸引并记录黑客的攻击行为。结合蜜罐的数据,可以对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 虽然提供了强大的安全防护能力,但其推广面临的最大挑战在于:

  1. 推广难度:RASP 需要与应用程序高度集成,尤其是在 Java 中需要开发人员手动配置 Java Agent。这种部署方式往往遭遇开发团队的抵触。
  2. 语言局限:RASP 目前主要支持部分编程语言(如 Java、PHP 和 .Net),对于其他语言的支持仍在发展中。
  3. 性能影响:尽管现代 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的七个关键步骤

在这里插入图片描述

  1. 安全培训:安全从培训开始。开发、测试、运维等角色都必须具备基础的安全知识,理解如何在开发中避免引入安全问题。每年至少一次的安全培训内容包括威胁评估、Web安全、隐私保护等。

  2. 需求分析:在软件需求分析阶段,安全需求被明确纳入。通过定义安全标准(如加密存储、二次认证)、安全指标(上线前无高危漏洞)、以及风险评估,确保系统具备最低限度的安全保障。

  3. 设计:设计阶段,开发团队根据需求进行架构设计,特别是重点风险部分的防护方案。具体设计内容包括加密算法选择、权限管理、日志记录等方案。此时安全和开发成本需平衡。

  4. 开发:在开发阶段,通过使用经过审核的工具、限制SQL注入等常见问题的发生,来降低安全风险。同时,通过代码审查(人工或自动)发现潜在的漏洞。

  5. 测试:测试阶段进行功能性和安全性测试,包括评估软件是否符合最初的设计方案,并通过漏洞扫描和模糊测试确保没有新的安全漏洞出现。

  6. 部署:在软件上线前,必须做好安全预案。预案内容包括如何应对潜在的数据泄露、系统入侵等安全事件。上线前还要进行最后的安全确认,确保整个流程符合安全要求。

  7. 响应:一旦上线,安全团队必须实时监控外部威胁和潜在漏洞。安全应急响应小组会处理安全事件,评估并决定是否启动预案,保障系统的安全性。


SDL落地的挑战

尽管SDL是一套完整的安全开发体系,但其实施往往面临开发团队的抵触,原因在于其规章制度化的特性。为实现SDL落地,可以采取以下措施:

  1. 基于现有流程扩展SDL:如果公司已有DLC流程,逐步将安全内容加入即可,减少开发团队的负担。

  2. 灵活变通:结合实际情况灵活设计SDL,比如将安全培训纳入技术交流分享会,将安全扫描嵌入代码质量检查中,降低开发流程变动的摩擦。

  3. 覆盖面取舍:不同业务线可以根据其敏感度调整安全标准,对于非核心业务可使用通用安全清单进行自评,减少工作量。


安全防御工具小结

安全防御工具只是辅助,最终的效果取决于如何选择和实施它们。

在这里插入图片描述


三个典型的安全场景

公司发展初期,没有真实攻击

  • 安全建设的最优路径是从基础做起,首先建立安全制度,例如SDL(安全开发生命周期)和管理标准(如ISO27001)。
  • 小规模团队推动安全的优势包括业务体量小、开发人员少、领导支持,安全制度容易落地。
  • 使用必要的防御工具,如防火墙、SIEM、DLP等,来配合制度执行。

公司发展中后期,仍没有真实攻击

  • 由于业务成熟、用户增多,推动安全变得困难。此时应通过安全测试安全演练合规需求来证明安全工作的重要性,逐步建立影响力。
  • 法律法规和合规需求是强有力的推动力,例如日志留存要求、数据分类和加密等。
  • 安全工作要以“显著收益”为导向,以说服管理层和同事支持安全发展。

有真实攻击发生

  • 在这种情况下,安全工作更多是应急响应。先快速阻断攻击,修复漏洞(例如Web漏洞)。
  • 在修复的过程中,逐步升级防御工具,如从WAF到RASP,甚至推广SDL,形成更深层次的防御。
  • 整个过程遵循“先快后好”的原则,先用最有效的工具解决大规模问题,再深入提升防御层次。

核心策略

  • 安全制度的基础性:不论公司处于哪个阶段,安全制度始终是安全体系的基石。它规范了人的行为,减少人为错误带来的安全风险。
  • 工具与制度结合:工具只是手段,制度是根本。两者需结合使用,根据公司的实际情况和需求,制定合理的安全防御策略。

总结

  1. 安全防御体系建设要因地制宜,不能简单依赖工具,而应结合公司的实际情况、业务发展阶段以及领导层的支持情况进行规划。
  2. 在不同的场景下,安全工作应从规范人的行为入手,再通过工具和手段不断优化和完善。
  3. 合规需求是推动安全工作的有效方式,而应急响应则是快速解决问题、升级防御的关键。

最终,设计一个适合公司的安全体系,既是对安全人员技术能力的考验,也是对其与业务发展需求契合度的挑战。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/438721.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MATLAB2024b】安装离线帮助文档(windows)

文章目录 一、在 MATLAB 设置中安装二、从math works 网站下载ISO:给无法联网的电脑安装三、重要说明 版本:matlab 2024b(或者大于等于2023a) 所需空间:10~15 GB 平台:Windows 需要注册math works账号。 一…

【计算机网络】详解UDP协议格式特点缓冲区

一、UDP 协议端格式 16 位 UDP 长度, 表示整个数据报(UDP 首部UDP 数据)的最大长度;如果16位UDP检验和出错,报文会被直接丢弃。 1.1、检验和出错的几种常见情况 数据传输过程中的比特翻转:在数据传输过程中,由于物理介质或网络设…

UE5.4.3 录屏回放系统ReplaySystem蓝图版

这是ReplaySystem的蓝图使用方法版,以第三人称模版为例,需要几个必须步骤 项目config内DefaultEngine.ini的最后添加: [/Script/Engine.GameEngine] NetDriverDefinitions(DefName"DemoNetDriver",DriverClassName"/Script/…

二、Spring Boot集成Spring Security之实现原理

Spring Boot集成Spring Security之实现原理 一、Spring Security实现原理概要介绍二、使用WebSecurityConfiguration向Spring容器中注册FilterChainProxy类型的对象springSecurityFilterChain1、未配置securityFilterChain过滤器链时使用默认配置用于生成默认securityFilterCha…

JDBC 快速入门

JDBC 快速入门 搭建步骤代码实现数据库java 代码 搭建步骤 准备数据库官网下载数据库连接驱动jar 包。https://downloads.mysql.com/archives/c-j/创建 java 项目,在项目下创建 lib 文件夹,将下载的驱动 jar 包复制到文件夹里选中 lib 文件夹右键 ->…

第二十一章 (动态内存管理)

1. 为什么要有动态内存分配 2. malloc和free 3. calloc和realloc 4. 常⻅的动态内存的错误 5. 动态内存经典笔试题分析 6. 总结C/C中程序内存区域划分 1.为什么要有动态内存管理 我们目前已经掌握的内存开辟方式有 int main() {int num 0; //开辟4个字节int arr[10] …

【EXCEL数据处理】000009 案列 EXCEL单元格数字格式。文本型数字格式和常规型数字格式的区别

前言:哈喽,大家好,今天给大家分享一篇文章!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 【EXCEL数据处理】000009 案列 EXCEL单元格数字格式。文本型数字格式和…

CTK框架(十一):使用的常见问题

目录 1.MF文件路径 2.服务必须要接口类 3.插件名命名要求 4.生命周期问题 5.一个接口对多个实现注意 6.中文输出注意 7.同一插件安装注意 8.添加元数据 9.关于升级插件时遇到的问题 10.不同插件定义资源文件注意路径问题 11.安装插件 12.插件依赖 1.MF文件路径 在…

K8S:开源容器编排平台,助力高效稳定的容器化应用管理

云计算de小白 Kubernetes(简称K8s)是一个开源容器编排平台,用于自动化部署、扩展和管理容器化应用程序。 K8S诞生于Google,基于其多年在生产环境运行容器的经验,目前已成为现代微服务架构和云原生应用的核心技术。 图…

【C++算法】10.滑动窗口_长度最小的子数组

文章目录 题目链接:题目描述:解法C 算法代码:图解 题目链接: 209. 长度最小的子数组 题目描述: 解法 解法一:暴力求解(会超时) 暴力枚举出所有子数组的和。 查找子数组n2&#xff0…

云计算 Cloud Computing

文章目录 1、云计算2、背景3、云计算的特点4、云计算的类型:按提供的服务划分5、云计算的类型:按部署的形式划分 1、云计算 定义: 云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可…

idea插件开发的第六天-开发一个笔记插件

介绍 Demo说明 本文基于maven项目开发,idea版本为2022.3以上,jdk为1.8本文在JTools插件之上进行开发本插件目标是做一款笔记插件,用于开发者在开发过程中随时记录信息仓库地址: jtools-notes JTools插件说明 Tools插件是一个Idea插件,此插件提供统一Spi规范,极大的降低了id…

微型导轨在IC制造设备的应用与优势

微型导轨的精度和稳定性对于机器的准确执行任务至关重要,其精确度通常用微米或毫米来衡量。其尺寸可以做到非常小,常运用在小型设备上,尤其是在IC制造设备中,其应用非常广泛。 在IC制造设备中主要用于半导体芯片的切割、封装和测试…

V2M2引擎源码BlueCodePXL源码完整版

V2M2引擎源码BlueCodePXL源码完整版 链接: https://pan.baidu.com/s/1ifcTHAxcbD2CyY7gDWRVzQ?pwdmt4g 提取码: mt4g 参考资料:BlueCodePXL源码完整版_1234FCOM专注游戏工具及源码例子分享

网站可疑问题

目标站点 Google hack 页面访问 抓包 POST /admin.php?actionlogin HTTP/2 Host: www.xjy.edu.cn Cookie: xkm_sidA6x4Cgw2zx User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:130.0) Gecko/20100101 Firefox/130.0 Accept: text/html,application/xhtmlxml,appl…

使用 Light Chaser 进行大屏数据可视化

引言 在当今数据驱动的世界中,数据可视化变得越来越重要。Light Chaser 是一款基于 React 技术栈的大屏数据可视化设计工具,通过简单的拖拽操作,你可以快速生成漂亮、美观的数据可视化大屏和看板。本文将介绍如何使用 Light Chaser 进行数据…

Redis:string类型

Redis:string类型 string命令设置与读取SETGETMSETMGET 数字操作INCRINCRBYDECRDECRBYINCRBYFLOAT 字符串操作APPENDSTRLENGETRANGESETRANGE 内部编码intembstrraw 在Redis中,字符串string存储的是二进制,以byte为单位,输入的二进…

【HTML+CSS】留言板plus实现全过程

创建一个具有动态留言的简约风格留言板 在本教程中,我们将学习如何创建一个简约风格的留言板,它具备动态留言显示和一些基本动画效果。这个留言板将使用HTML和CSS构建,最终实现一个既美观又实用的界面。 准备工作 首先,确保你的…

面试速通宝典——7

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

Stream流的终结方法(一)

1.Stream流的终结方法 2.forEach 对于forEach方法,用来遍历stream流中的所有数据 package com.njau.d10_my_stream;import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.function.Consumer; import java.util…