
“
# 网络安全实战
网络安全威胁无时无刻、无处不在
“你见、或者不见我,我就在那里,不悲、不喜”,这句深情款款的诗,却道出了网络安全威胁的本质:它是无时无刻、无处不在的。据 2023年 Check Point 最新安全分析报告,在2022年,亚太地区的企业/组织/政府机构平均每周遭遇 1,691 次攻击行为。这是一个非常高的数据,从中可以充分揭示我们现在面临的网络安全威胁态势的严峻性。

我有个亲身体会给大家分享一下:
针对 VM 管理端口(Windows 远程桌面或者 Linux SSH)的密码爆破或者漏洞攻击,是针对 VM 最常见的攻击行为。我自己在 Azure 上面部署了一个小的测试环境,其中只是部署了5台 Windows VM,我把 VM 的远程桌面管理端口从默认的3389修改为其他高端端口(xxxxx),然后直接暴露在 Internet 上。结果在短短一周内,发现每天针对这5台 VM 的非标准远程桌面管理端口(xxxxx)的异常访问/攻击请求(密码爆破、漏洞攻击等)超过 4 万次,平均每台 VM 每分钟超过28次,并且基于微软的安全情报,其中超过38%的访问请求来自明确的恶意 IP 地址,由此充分可见网络安全攻击威胁态势的严峻和攻击的高频度。

从安全最佳实践的角度,针对 VM 的远程管理,建议通过 Azure 堡垒机实现基于 HTML5 页面的 VM 管理端口隔离访问,从而避免将 VM 管理端口直接暴露到 Internet,防范来自 Internet 的直接攻击行为。
我一向认为“实战是检验网络安全能力的唯一标准”,“Talk is cheap, show me the fight”😉。因此在这个网络安全实战文章系列,重点是为大家分享过去实际发生的网络安全经典攻击案例。在上一篇网络安全实战系列文章《网络安全实战 | 一次教科书式的勒索攻击》中,我谈到了勒索攻击,它是目前最主流、也是最为普遍的网络安全攻击行为。今天我想谈谈挖矿攻击(Cryptominers),挖矿攻击是一种通过消耗系统资源直接产出数字货币的攻击行为,这是金钱变现最直接、最容易的网络安全攻击方式。
虽然从第一张图来看,挖矿攻击目前在安全事件中占比仅3%,但是在前几年,挖矿攻击类别的安全事件比例基本上可以和勒索攻击持平,能够达到25~30%的规模。那为什么最近几年以来挖矿攻击安全事件下降幅度那么大呢?这主要是因为以下两个原因:
【1】第一是最近几年来数字货币直接挖矿产出效率大幅下降导致的结果。由于近年来数字货币直接挖矿的产出效率大幅下降,直接采用普通的服务器、计算机来挖矿,单体产生的经济收益很低,因此性价比极低甚至会亏本;
【2】其次是因为挖矿攻击的特点非常明显,它会导致明显的系统性能下降或系统资源消耗,因此在安全监控或IT监控措施完善的企业环境中,这种攻击通常不具有持久性,自然也产生不了太多的经济收益。
因此总体而言,在普通的企业服务器、计算机场景,对于攻击者而言,挖矿攻击的性价比不高,因此挖矿攻击事件数量自然也就大幅下降了。
虽然挖矿攻击的事件总体数量下降了,但是单次事件造成的影响反而大大提高了。这是因为随着 AI 计算的盛行,Nvidia GPU 显卡能够提供大量的算力,并可用于数字货币挖矿,这自然也被攻击者盯上。通过利用 Nvidia GPU 显卡来进行挖矿并获得更高的经济收益,成为了目前挖矿攻击的主要目标。那么谁家具有最多的 Nvidia GPU 显卡呢?那自然是云计算平台服务商了。因此盗用云计算平台的算力资源来进行挖矿,成为了目前挖矿攻击的主流方式,许多云计算平台均大受其害,也有大量的相关安全事件案例。
从攻击者成功运行挖矿程序开始,他的攻击目标就已经实现了,关键就是能够持续多久的收益而已,攻击者也自然想要尽可能让挖矿攻击持久一点。但是挖矿攻击的特点非常明显,它会导致明显的系统性能下降或系统资源消耗,因此在安全监控或 IT 监控措施完善的企业环境中,这种攻击通常不具有持久性。但是在复杂的环境特别是云计算环境中,如果缺乏完善有效地监控,则可能会导致较为严重的损失。
我在这篇 CISO 聚焦文章《[CISO聚焦] “上兵伐谋” – 定义您的现代化安全战略》的“云计算如何改变企业安全?”部分,专门谈到“共享责任模型”,这是云计算安全治理的一个核心原则和基础。这是因为云计算服务的核心理念为“租用模式”,企业组织是作为云计算服务商的一个租户,租用云计算服务商的服务。基于企业组织具体所使用的云计算服务类型的不同,企业组织所拥有的安全控制和能力也不同,同时,企业组织所需要承担的安全责任也不同。企业组织和云计算服务商是合作关系,企业组织必须和云计算服务商紧密合作,充分利用云计算平台所提供的各种云原生安全控制和能力,才能实现有效和高效的安全防护,并确保安全控制措施的全面有效性,避免无意中造成企业安全防护的缺口或重复投资,从而导致安全风险或资源浪费。

同时,安全是跟随着被保护的主体的演进而进化,云计算技术的演进同样给安全架构和安全技术发生了进化。在云计算的时代,安全团队也需要充分的拥抱云计算自身以及相应的大数据、机器学习和人工智能等先进技术所提供的云原生安全技术和能力,才能更好的应对各种先进的攻击行为,并满足云计算安全防护的相关能力要求。

作为全球网络安全业务营收最大的企业,微软具有全球领先的、强大和完善的网络安全防御和监控能力,能够充分的保护客户整体网络环境的安全性,并实现端到端的全生命周期安全,在云计算安全方面亦是如此。以下是一个简要版本的 Azure 云计算安全参考架构,这个云计算安全架构也被其他云计算平台厂商所参考使用:

🔵 备注:在2023年7月,微软已经将“Azure AD”产品系列名称统一更名为“Microsoft Entra ID”,为了方便大家辨识,在本文章中仍然使用“Azure AD”。
在这个 Azure 云计算安全参考架构中,包含了以下 Azure 云计算服务的核心(并非全部)基础安全最佳实践:
在网络边界安全方面
【1】通过 Azure Firewall 实现 Internet 入站/出站和 VNET 之间的访问控制,特别通过深度的应用层威胁识别分析(IDPS),以及通过微软全球领先地安全情报识别并禁止到恶意域名、恶意 IP 地址(例如C2)的访问行为等;
【2】通过 Azure WAF 来保护对外发布的 Web 服务(IaaS 或 PaaS),以及控制各种 Bot 的访问等;
【3】通过 Azure Bastion 实现基于 HTML5 页面的 VM 管理端口隔离访问,从而避免 VM 管理端口直接暴露到 Internet;
【4】通过 Azure DDoS Protection 来防范针对 Internet 服务的 DDOS 攻击;
【5】通过 Azure Front Door 来实现全球化的本地安全应用和内容交付,和跨区域的高可用性。
在身份验证、凭据安全和访问控制方面
【1】通过 Azure AD Identity Protection 功能限制具有风险的用户访问,例如对于具有高风险、中风险的用户登录访问要求特定强度的多因素身份验证或者直接阻止其访问;
【2】通过 Azure AD Conditional Access 策略,对于具有管理权限的用户登录,要求多因素身份验证或者仅允许从特定的信任IP地址访问等。当然首先我们需要知道哪些用户是具有管理权限,在很多环境中这是一个“谜”😉。
【3】通过 Azure AD Conditional Access 策略,对所有的用户登录要求多因素身份验证;
【4】通过 Azure AD Privilege Identity Management 对于特定的高危管理操作进行权限申请和审批。
在安全监控、审计和运营方面
【1】通过 Microsoft Defender for Cloud 来实现云端环境的安全风险/安全技术合规评估、动态威胁防护和安全告警;
【2】通过 Microsoft Sentinel 实现云端的安全信息、日志与事件搜集,并实现集成安全监测、响应和运营(SOC);
【3】通过将日志搜集并存储到 Log Analytics Workspace 中,从而满足相关规定日志保留时限的要求;
在系统服务和流量监控方面
【1】通过 Network Watcher 和 Traffic Analytics 来实现网络监控和恶意流量监控;
【2】通过 Azure Monitor 实现系统及服务监控与告警;
【3】通过 Azure Cost Management 实现费用的预算管理及提前预警。
在数据备份与恢复方面
【1】通过 Azure Backup 实现 VM、磁盘、文件共享、数据库、Blob 存储等数据的及时备份,以及跨数据中心、跨区域的数据备份存储;
【2】通过 Azure Site Recovery 实现跨站点的 VM 备份与灾难恢复;
在数据和密钥安全方面
【1】通过 Azure Key Vault 来保存密钥或机密信息,用于相关应用和服务的访问;
【2】尽量通过服务或 Workload 集成身份验证来实现相关数据和存储的访问控制,避免在代码中配置访问凭据、连接字串或密钥;
【3】通过 Microsoft Purview 扫描分析相关数据存储,以实现后续的数据扫描、数据地图、数据世系、数据分级分类,和全生命周期的数据安全管理等;
【4】默认情况下,Azure 云存储均至少具有单次存储加密,可以根据需要采用两次存储加密;
【5】对于所有的云存储或者数据库访问,除了特定需要允许公开访问的之外,均应限制允许访问的源IP地址或网络,并强制要求身份验证。
并且这个云计算安全参考架构是一个全球统一的架构,我们可以在全球不同的 Azure 区域、不同的租户、或者租户内部的不同订阅、不同网络中参考这个安全参考架构进行安全架构部署,并构建全球互联互通的统一网络架构,如下图所示:

🔵关于微软云计算安全架构和相关安全最佳实践更多的信息,可以参考: https://learn.microsoft.com/en-us/security/benchmark/azure/overview
作为负责任的云计算平台服务商,为了保障租户环境的数据隐私、满足安全合规的法规要求,我们不能直接触碰客户的环境和数据。因此即便我们在云计算平台上提供全面完善地、强大地云计算安全防护能力,参考云计算中的“共享责任模型”,涉及到云计算租户层面的安全防护能力,仍然是需要由租户自行启用(我们并不会自动帮租户启用),才能得到全面有效的安全保护,否则就可能存在安全风险。
前面提到过,从攻击者成功运行挖矿程序开始,他的攻击目标就已经实现了,关键就是能够持续多久的收益而已,攻击者也自然想要尽可能让挖矿攻击持久一点。由于挖矿攻击的特点非常明显,它会导致明显的系统性能下降或系统资源消耗,因此在安全监控或IT监控措施完善的企业环境中,这种攻击通常不具有持久性。但是在复杂的环境特别是云计算环境中,如果缺乏完善有效地监控,则可能会导致较为严重的损失。
本期文章特地为大家分享一次“其疾如风、侵掠如火”的挖矿攻击事件,这是5月份发生在某世界500强客户的真实安全事件。在这起安全事件中,攻击者表现出来的目标之明确、准备之充分、流程之娴熟、技术之专业、动作之迅速,简直是充分领悟了《孙子兵法》“不打无计划、无准备之仗”、“其疾如风、动如雷霆”的真谛,并且最后造成的影响之巨大,也充分展示了网络安全攻击“侵掠如火”、“务食于敌”的残酷,同时这也揭示了网络安全惨烈的一面:一个极小的疏忽即可带来巨大的损失。
严格意义上来说,这次安全事件在云计算平台上的攻击链只有两步:

第一阶段
打开突破口及提权
该企业组织中某个开发人员用户账户 Dev1@contoso.com 的密码被攻击者通过其他方式窃取(例如钓鱼邮件、使用泄露的密码、保存密码的密码本泄露等),然后攻击者从一个伊朗的 IP 地址(注意:这是一个高风险的异常登录)直接成功进行了登录(在用户登录过程没有任何的密码错误尝试,而且这个用户账户本身并没有强制要求多因素身份验证),然后对环境进行了侦测分析。
这是一个典型的身份访问控制和凭据保护方面的安全防范措施不到位。这个用户账户过去从未有过来自伊朗的登录行为,因此这个登录是一个明显的异常登录。对于这种高风险的异常登录,如果在 Azure 平台上,可以通过 Azure AD Identity Protection 或 Azure AD Conditional Access 策略来直接阻止其登录,或者要求特定强度的多因素身份验证。
更加不幸的是权限管控方面的问题,这个用户虽然看起来是普通的用户账户,但是实际上具有某个计费账户的资源部署权限,因此攻击者可以充分的在云计算平台上创建各种资源。
第二阶段
执行挖矿并造成极为严重损失
攻击者发现了这个用户具有足够的权限,随即进行了相关攻击准备。四个小时之后,攻击者从另外一个美国的 IP(注意这也是一个高风险的异常登录)卷土重来,然后5个小时内通过部署脚本在全球数十个区域中创建了数十个高配 VM 群集,共计数千台高配 VM,其中绝大部分是包含多块 GPU 显卡的高配 VM。
当挖矿程序开始运行之后,就已经充分达到了攻击者的行动目标,因此后续再无其他异常登录及其他异常行为。攻击者心里也清楚,那么天量的巨额资源部署,被发现是迟早的事情,但对他而言,这次攻击行动就是“一锤子买卖”,能挣多少算多少。
数天之后,受害的企业组织才发现并清除了本次攻击行为,但此时已经造成了巨额的经济损失。
这又是一个典型的安全监控和费用监控措施不到位。如果在 Azure 平台上,通过 Microsoft Defender for Cloud 云安全中心的完善监控和告警,或者 Microsoft Sentinel 安全运营中心的及时告警,均能够第一时间发现攻击者的异常行为(例如异常用户登录和操作、异常的大量资源部署等),从而可以在第一时间进行安全事件响应并清除攻击操作影响。
这次安全事件充分地暴露出这家企业组织在云计算平台上面资源权限管控、身份访问控制、安全监控和费用监控等方面的不足。就上述安全事件而言,在 Azure 云计算平台上针对性的核心基础安全防御措施包括:
在资源权限管控方面
【1】我们需要对整个 Azure 环境中的相关特权和权限账户进行分析、梳理、评估;
【2】除了系统默认的管理员角色之外,对于 Azure 资源的权限,至少需要分析梳理到资源组这个层级,从而确定整体环境中的特权及管理账户列表,然后通过不同的用户分组便于后续实现统一的管理和控制;
【3】作为访问控制授权的常规基本原则,我们建议尽量通过用户组来进行资源的授权和访问控制,而尽力避免针对特定的用户账户来进行授权。
在身份验证、凭据安全和访问控制方面,如前面的微软云计算安全架构与最佳实践部分内容:
【1】通过 Azure AD Identity Protection 功能限制具有高风险、中风险的用户访问,例如对于具有高风险、中风险的用户访问要求特定的多因素身份验证强度或者直接阻止其访问;
【2】通过 Azure AD Conditional Access 策略,对于上述分析梳理出来的、具有管理权限的用户登录访问,强制要求多因素身份验证或者仅允许从特定的信任 IP 地址访问等。
在安全监控、审计和运营方面
【1】启用 Microsoft Defender for Cloud 来实现云端环境的安全风险/合规评估、动态威胁防护和安全告警;类似这种挖矿攻击、异常资源部署等攻击行为会直接触发 Microsoft Defender for Cloud 的相关警告;
【2】启用 Microsoft Sentinel 实现云端的安全信息、日志与事件搜集,并实现集成安全监测、响应和运营(SOC)。
在系统服务和流量监控方面
【1】通过 Azure Cost Management 实现费用的预算管理及提前预警。
我们也建议企业组织参考前面的微软云计算安全架构与最佳实践的相关内容,来确保整体云计算环境的安全性。
网络安全威胁是无时无刻、无处不在的,我们面临的威胁挑战也是无比巨大的,其中安全漏洞是大家常常会关注的一个重点。单就安全漏洞而言,随着攻击技术的不断高速演进,我们面临的挑战不仅仅有目前常见的 0Day 漏洞(已知的未知)、NDays 漏洞(已知的已知),甚至还会面临 -1Day 漏洞(未知的未知)的挑战。

《孙子兵法》里面说的很清楚,“用兵之法,无恃其不来,恃吾有以待之;无恃其不攻,恃吾有所不可攻也。”,因此我们不要有任何的侥幸心理,而是需要做好充分的网络安全应对准备,才能“恃吾有以待之”、“恃吾有所不可攻也”。从安全实践的角度,建议企业应当参考以下核心类别和任务的优先级来考虑对网络安全的投资,这些核心类别和任务是需要同时从安全防范建设和安全运营两个维度来进行:

首先,对于企业最为核心的核心机密数据与业务,这个是我们最首要的保护目标。在这个类别,我们主要围绕着以下方面来进行防护措施:
【1】防止破坏核心机密数据(具备灾难恢复能力,明确并实现 RTO/RPO 要求)
【2】防止核心业务/生产系统中断停机
【3】防止核心机密数据泄露
其次,我们需要重点防范大规模影响事件,并且控制影响范围。在这个类别,我们主要围绕着以下方面来进行防护措施:
【1】防止身份集权系统被控制(例如活动目录、堡垒机等)
【2】防止重要管理系统被控制(终端管理、安全管理平台、安全监控平台等)
【3】防止重要应用系统、公众信息展示或舆论被控制(官网、OA、邮件、数据库、IM、大屏展示等)
最后在外围,我们的目标是满足安全合规要求、实现网络安全基础最佳实践和防范自动化/N days漏洞等低级别攻击。在这个类别,我们需要确保满足安全合规的基本要求,并且提高企业安全防护的最低水位线。具体措施包括:
【1】确保企业整体安全基线配置,满足安全合规要求
【2】确保及时进行系统及应用的安全更新和漏洞评估
【3】确保邮件安全及端点安全的覆盖性
【4】确保 Internet 开放服务的防范控制
【5】加强用户安全意识教育
网络安全面对的是全世界智商最高的犯罪分子。我们不能低估我们的对手,也不能高估自己的能力。没有绝对的网络安全,也没有永远的网络安全。网络安全无论攻防两端,都是一个高速动态发展、持续提高的过程,“防得了一时,防不了一世”。没有绝对的安全,也没有永远的安全,只有相对暂时的安全。因此,网络安全是一个持续进化的旅程,而不是一个持续稳定的结果。
那么企业如何建设网络安全呢?企业网络安全的投入和产出趋势可以参考以下趋势图,越是想要做的完善,投入就越大,而且到后期收益就越不明显:

因此从本质上来看,网络安全是制衡的艺术:在满足和平衡企业网络安全需求的前提下,控制企业在网络安全方面的相关投入,通过合理的投入获得最大的价值产出。从战略层面来看,作为数字化转型的基础,网络安全是企业组织发展所不可缺少的。我们必须考虑业务、IT和网络安全在数字化转型中的关联一致性,只有通过引入合理充分的网络安全措施,使企业组织尽可能地抵御现代化的攻击,才能支撑企业组织实现业务创新、提高生产力并最终实现数字化转型。在 CISO 聚焦系列文章《CISO 聚焦 | 如何构建企业组织的网络安全韧性和数字连续性》中,我们谈到了企业应当如何去构建整体全面的网络安全韧性,包含以下方面:
【1】管理和权衡企业组织在数字化转型中的风险与回报,实现合理有效的网络安全投入产出。
【2】网络安全基础最佳实践,确保企业组织的核心网络安全基础控制满足安全最佳实践的基本核心要求,例如采用零信任架构、多因素身份验证、部署XDR进行威胁防护、及时进行安全更新、做好数据安全防护等。
【3】威胁保护:针对已知攻击提供保护、预防新的攻击行为以及自动响应与修复的能力。
【4】被攻击面管理:主动检测安全配置、威胁、漏洞,分析被攻击面并实时响应的能力。
【5】通过故障隔离和微分区减少攻击事件和灾难的影响。
【6】发生业务中断时的高可用性、冗余和自动恢复。
【7】供应链韧性:了解并明确对供应链资源(包含内部、外部资源,例如云计算服务)的共同责任、依赖关系和其韧性。
“万丈高楼平地起”,无论是网络安全的攻击技术,还是防护技术,都是由基础技术和高阶技术组合而成的,相互之间是组合、叠加关系而非替代关系。在攻击者发起攻击行为时,也很难一上来就直接使用最新的 -1Day 或者 0day 漏洞来攻击,而主要都是结合基础性和高阶性的攻击技术操作例如钓鱼邮件、凭据窃取、Web 漏洞注入等进行的。而防守时也是一样的,如果连最基本的系统安全更新都不能及时安装,又何谈实现完善的企业零信任架构呢?企业在遭遇网络攻击时,是否能够成功防御,其实在攻击发生之前就已经先确定了,孙子兵法中所言的:“是故胜兵先胜而后求战,败兵先战而后求胜”、“胜已败者也”,就是说的这个道理。反而言之,当我们通过在网络安全方面的充分准备和应对,也是可以实现“胜可知,亦可为”的。
如何确保企业的网络安全措施是合理充分的?在满足法律合规要求的必备基础上,这取决于企业自身的整体风险管理(例如风险评估、风险偏好、风险控制计划和投入产出期望等)。网络安全韧性和数字连续性应当构建到企业组织的核心体系架构中,与企业财务与业务运营的韧性一样重要。我们必须充分考虑业务、IT和网络安全在数字化转型中的关联一致性,只有通过引入合理充分的网络安全措施,使企业组织尽可能地抵御现代化的攻击,才能支撑企业组织实现业务创新、提高生产力并最终实现数字化转型。更多的相关介绍,请参考本文尾部的网络安全系列文章。关于企业网络安全战略和规划更为详细的信息,请重点参考以下两篇 CISO 聚焦系列文章:
CISO 聚焦 | 如何构建企业组织的网络安全韧性和数字连续性
“
张美波先生现任微软(中国)有限公司成就客户事业部网络安全和现代化办公架构师团队总监,并兼任网络安全首席架构师。他以“展现微软价值,守护客户安全”为己任,带领微软网络安全架构师团队主要负责微软大中型企业客户的网络安全产品技术与服务支持,推动微软网络安全产品在中国的高速增长与应用。他曾是微软全球企业服务体系级别最高的技术专家之一,在多个具有全球排名前列的 Top 超大规模环境企业客户担任微软方的基础架构/网络安全架构师和“红军/蓝军”顾问,负责相关的安全架构体系规划设计与部署实施、APT 攻击相关防范、安全运营及安全响应等。同时他在帮助和支持跨国企业(MNC)进入中国、中国企业出海发展等业务场景满足安全合规要求方面也具有非常丰富的经验。
网络安全和现代化办公架构师团队总监
微软(中国)有限公司
张美波
“
2. CISO 聚焦 | 公司靠经营,安全靠运营:Microsoft Sentinel——下一代企业现代化安全运营中心(SOC)
# CISO 聚焦





