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. 合规需求是推动安全工作的有效方式,而应急响应则是快速解决问题、升级防御的关键。

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【蚂蚁HR-注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

CSS | 面试题:你知道几种移动端适配方案?

目录 一、自适应和响应式 二、为什么要做移动端适配? 三、当前流行的几种适配方案 (1) 方案一:百分比设置(不推荐) (2) 方案二:rem 动态设置 font-size px 与 rem 的单位换算 手动换算 less/scss函数 webpac…

C0004.Qt中QComboBox设置下拉列表样式后,下拉列表样式无效的解决办法

问题描述 我们平时在使用Qt Creator对控件QComboBox的样式进行设置后,在运行程序启动界面时,发现设置的样式无效,效果如下: /* 设置下拉菜单框的样式 */ QComboBox QAbstractItemView {border: 1px solid rgb(161,161,161); /* …

TransFormer 视频笔记

TransFormer BasicsAttention单头注意力 single head attentionQ: query 查寻矩阵 128*12288K key matrix 128*12288SoftMax 归一 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/19e3cf1ea28442eca60d5fc1303921f4.png)Value matrix 12288*12288 MLP Bas…

【D3.js in Action 3 精译_027】3.4 让 D3 数据适应屏幕(下)—— D3 分段比例尺的用法

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一部分 D3.js 基础知识 第一章 D3.js 简介(已完结) 1.1 何为 D3.js?1.2 D3 生态系统——入门须知1.3 数据可视化最佳实践(上)1.3 数据可…

鸿蒙开发(NEXT/API 12)【状态查询与订阅】手机侧应用开发

注意 该接口的调用需要在开发者联盟申请设备基础信息权限与穿戴用户状态权限,穿戴用户状态权限还需获得用户授权。 实时查询穿戴设备可用空间、电量状态。订阅穿戴设备连接状态、低电量告警、用户心率告警。查询和订阅穿戴设备充电状态、佩戴状态、设备模式。 使…

基于大数据技术的颈椎病预防交流与数据分析及可视化系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…

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

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

python-FILIP/字符串p形编码/数字三角形

一:FILIP 题目描述 给你两个十进制正整数 a,b​,输出将这两个数翻转后的较大数。 「翻转」在本题中的定义详见「说明 / 提示」部分。输入 第一行,两个十进制正整数 a,b。输出 第一行,a 和 b 翻转后的较大数。样例输入1 734 893 样…

鸿蒙harmonyos next flutter通信之BasicMessageChannel获取app版本号

本文将通过BasicMessageChannel获取app版本号,以此来演练BasicMessageChannel用法。 建立channel flutter代码: //建立通道 BasicMessageChannel basicMessageChannel BasicMessageChannel("com.xmg.basicMessageChannel",StringCodec());…

Koa2+Vue2的简书后台管理系统

文章目录 项目实战:前(vue)后(koa)端分离1、创建简书项目2、创建数据库2.1 创建数据库2.2 连接数据库3、模型对象3.1 设计用户模块的Schema3.2 实现用户增删改查3.2.1 增加用户3.2.2 修改用户3.2.3 删除用户3.2.4 查询用户4、封装业务逻辑层5、封装CRUD6、创建Vue项目7、配…

(14)MATLAB莱斯(Rician)衰落信道仿真4

文章目录 前言一、改写莱斯分布概率密度函数的理论值二、仿真代码三、仿真结果总结 前言 本文通过将接收信号总功率设置为1,重写了莱斯衰落信道上接收信号幅度的理论PDF式。然后用MATLAB代码生成了在具有不同莱斯因子K的Ricean平坦衰落信道下接收到的信号样本&…

leetcode练习 路径总和II

给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1: 输入:root [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum 22 输出&a…

day04笔试练习

1.Fibonacci数列 题目链接:Fibonacci数列_牛客题霸_牛客网 题目思路: 定义 a b c 三个变量 使 c 一直加到比 n 大的最近的斐波那契数 此时比较 c 和 b 哪个数离得最近就好 public static void main(String[] args) {Scanner sc new Scanner(System.in…

基于facefusion的换脸

FaceFusion是一个引人注目的开源项目,它专注于利用深度学习技术实现视频或图片中的面部替换。作为下一代换脸器和增强器,FaceFusion在人脸识别和合成技术方面取得了革命性的突破,为用户提供了前所未有的视觉体验。 安装 安装基础软件 安装…

深入探究:在双链表的前面进行插入操作的顺序

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝惟有主动付出,才有丰富的果…

构建高效服装销售平台:Spring Boot与“衣依”案例

1系统概述 1.1 研究背景 如今互联网高速发展,网络遍布全球,通过互联网发布的消息能快而方便的传播到世界每个角落,并且互联网上能传播的信息也很广,比如文字、图片、声音、视频等。从而,这种种好处使得互联网成了信息传…

hystrix微服务部署

目录 一.启动nacos和redis 1.查看是否有nacos和redis 二.开始项目 1.hystrix1工程(修改一下工程的注册名字) 2.运行登录nacos网站查看运行效果(默认密码nacos,nacos) 3.开启第二个项目 hystrix2工程 4.关闭第二个项目 hyst…

UE4 材质学习笔记02(数据类型/扭曲着色器)

一.什么是数据类型 首先为啥理解数据类型是很重要的。一些节点的接口插槽只接受特定类型的数据,如果连接了不匹配的数据就会出现错误,有些接口可以接受任何数据类型,但是实际上只会使用到其中的一些。并且有时可以将多个数据流合并成一个来编…

选择排序:直接选择排序、堆排序

目录 直接选择排序 1.选择排序的基本思想 2.直接选择排序的基本思想 3.直接插入排序的代码思路步骤 4.直接选择排序代码 5.直接选择排序的特性总结 堆排序 一、排升序,建大堆 1.利用向上调整函数建大堆 1.1.建立大堆的思路 1.2.以下是具体步骤&#xff1a…