为您推荐:
精华内容
最热下载
问答
  • 5星
    28KB m0_52957036 2019-12-30 19:17:39
  • 3星
    752.16MB goodxianping 2021-08-19 15:21:53
  • 5星
    782KB weixin_44573410 2021-01-29 19:47:00
  • 5星
    754KB weixin_53666393 2021-05-16 22:58:18
  • 5星
    171.32MB fyfugoyfa 2021-07-01 20:18:02
  • 5星
    906KB qq_54433450 2021-07-24 11:47:14
  • 5星
    12.18MB qq_44872173 2021-03-04 10:29:40
  • 5星
    389B qq_23930765 2021-09-30 08:42:39
  • 5星
    866B qq_33064191 2021-08-16 14:35:51
  • 5星
    26.83MB qq_37764320 2021-07-16 11:30:32
  • 本文对《大型互联网企业安全架构》里的核心内容做了梳理,并加入了深层解释。很适合安全小白入门企业安全

    文章目录


    Part one:安全理论体系

    第一章 安全理念

    一、企业安全风险综述

    1. 业务与运维安全(生产网安全)

    包括两个层面:业务开发和基础运维

    1. 业务开发

      互联网企业涉及的研发业务主要为Web服务、App移动应用以及PC(个人电脑)端软件等。

      业务开发方面的安全问题主要是由于软件开发人员安全编程能力(SDL)差、安全意识薄弱以及配套的企业安全制度规范及流程建设不到位造成的。很多安全事故产生的原因都是研发人员进行开发时编写了有漏洞的代码。

    2. 基础运维

      业务开发(Dev)完成后,就进入运维(Ops)阶段了,该阶段的资产管理、漏洞与补丁管理、安全配置基线、应急响应等如果没有做好也容易造成各种安全风险。

    2. 企业内部安全(办公网安全)

    据统计,70%以上的安全威胁来自企业内部。

    1. 隔离安全

      隔离包括网络隔离和物理隔离。
      网络隔离主要包括网络边界隔离,例如VPN、防火墙、Wi-Fi、部门间的网络隔离等。
      物理隔离主要包括门禁系统、摄像监控等方面的隔离。

    2. 终端安全

      终端主要包括PC、打印机、电话及BYOD(Bring Your Own Device,指携带自己的设备办公,这些设备包括个人电脑、手机、平板等)设备等。

    3. 办公系统安全

      办公系统主要包括Mail、OA、CRM、ERP、HR、BOSS等方面的系统,还有针对研发的代码管理和测试系统(如SVN、Git、Wiki、Jenkins系统等)。

    4. 员工安全

      涉及员工安全的问题比较多,比如弱口令、离开工位后电脑不锁屏、外部人员尾随进入、私自接入BYOD设备、安装盗版软件、复制公司产品代码和数据、使用私人邮件处理公司事务、将公司最新产品的未公开信息告诉亲朋好友等。这些问题造成的最大也最普遍的危害就是数据泄露,内部安全做的好不好和是否进行了有效的员工安全意识培训、是否具备完善的安全流程制度及技术管控手段息息相关。

    3. 法律法规与隐私保护

    为保障网络空间安全、用户数据隐私安全,一些法律出台。对我国影响较大的法律:

    1. GDPR(General Data Protection Regulation),即《通用数据保护条例》。
    2. 《中华人民共和国网络安全法》

    4. 供应链安全

    常见的供应链风险通常会发生在基础设施、生产软件和加密算法这三个方面。

    1. 基础设施

      芯片可能被植入硬件木马。路由器、服务器和其他计算机网络设备可能被安装后门监听工具。

    2. 生产软件

      开发软件可能被污染、植入后门。

    3. 加密算法

      加密算法在很多方面都是保障安全的基础。如果加密算法在底层被嵌入后门将非常可怕。

    二、业界理念最佳实践

    1. 阿里云
      三个安全手段:
      (1)安全融入设计
      (2)自动化监控与响应(大数据处理平台辅以 AI 等技术):例如SOAR
      (3)红蓝对抗与持续改进
    2. Google
      (1)安全文化:员工培训、专职安全团队
      (2)安全运营:漏洞管理流程体系
      (3)安全事件管理系统
      (4)以安全为核心的技术驱动

    第二章 国际著名安全架构理论

    网络安全体系是一项复杂的系统工程,需要把安全组织体系安全技术体系安全管理体系等手段进行有机融合,构建一体化的整体安全屏障。下面介绍一些知名的安全架构模型。

    1. P2DR模型

    P2DR是Policy(安全策略)、Protection(防护)、Detection(检测)和 Response(响应)的缩写。P2DR模型以PDR模型(Protection、Detection、Response)为基础。

    (1)Policy(策略):定义系统的监控周期、确立系统恢复机制、制定网络访问控制策略和明确系统的总体安全规划和原则。

    (2)Protection(防护):采用一系列手段(识别、认证、授权、访问控制、数据加密)保障数据的保密性、完整性、可用性、可控性和不可否认性等。通常是通过采用一些传统的静态安全技术及方法来实现的,主要有防火墙、加密、认证等方法。

    (3)Detection(检测):利用各类工具检查系统可能存在的供黑客攻击、病毒泛滥的脆弱性,即入侵检测、病毒检测等。通过不断地检测和监控网络和系统,来发现新的威胁和弱点,通过循环反馈来及时作出有效的响应。

    (4)Response(响应):在检测到安全漏洞和安全事件之后必须及时做出正确的响应,从而把系统调整到安全状态,杜绝危害的进一步蔓延扩大,力求将安全事件的影响降到最低。

    P2DR是动态安全理论的主要模型,可以表示为:安全=风险+分析+执行策略+系统实施+漏洞检测+实时响应。

    动态安全理论的最基本原理是:安全相关的所有行为(包括攻击 、防护、检测、响应)都需要消耗时间。因此可以用时间来衡量一个体系的安全性和安全能力,即提高系统的防护时间(PT)、降低检测时间(DT)和响应时间(RT)。
    (1)PT:攻击成功所需时间被称做安全体系能够提供的防护时间;
    (2)DT:在攻击发生的同时,检测系统发挥作用,攻击行为被检测出来需要的时间;
    (3)RT:检测到攻击之后,系统会作出应有的响应动作,所需时间被称作响应时间。

    要实现安全,必须让防护时间大于检测时间加上响应时间:PT > DT + RT。为什么?
    (1)PT > DT + RT,系统安全,即在安全机制针对攻击、破坏行为作出了成功的检测和响应时,安全控制措施依然在发挥有效的保护作用,攻击和破坏行为未给信息系统造成损失。
    (2)PT < DT + RT,系统不安全,即信息系统的安全控制措施的有效保护作用,在正确的检测和响应作出之前就已经失效,破坏和攻击行为已经给信息系统造成了实质性破坏和影响。

    P2DR模型是在动态安全理论的控制和指导下,在综合运用防护工具(如防火墙、操作系统身份认证、加密等)的同时,利用检测工具(如漏洞评估、入侵检测等)了解和评估系统的安全状态,通过适当的响应将系统调整到“最安全”和“风险最低”的状态。
    防护、检测和响应组成了一个完整的、动态的安全循环,在动态安全理论的指导下可以有效地保证信息系统的安全。

    2. IPDRR模型

    IPDRR模型包括识别(Identify)、防护(Protect)、检测(Detect)、响应(Response)和恢复(Recovery)的缩写。

    (1)Identify:风险识别(在实践中表现为定义业务的安全需求)。识别网络资产及风险,是指对系统、资产、数据和网络所面临的安全风险的认识及确认。该功能的几个子域包括:资产管理、商业环境、治理、风险评估、风险管理策略、供应链风险管理。

    (2)Protect:制定和实施合适的安全保护措施,确保能够提供关键的基础设施服务。在受到攻击时,限制或阻止潜在网络安全事件对系统造成的影响。Protect强调的是,在人为介入之前,能够自动运行的防御机制,如网络安全中的防火墙、waf等。在业务安全中,更倾向于将其定义为产品机制上的安全防御。

    (3)Detect:发现攻击。制定并实施适当的方案来识别网络安全事件的发生。检测功能能够及时发现网络安全事件。该功能的几个子域包括:异常和事件、安全持续监控以及检测处理。在攻击产生时即时监测,同时监控业务和保护措施是否正常运行,制定和实施恰当的行动以发现网络安全事件。业务安全中,Detect和Protect的主要区别在于:Detect会基于数据进行分析,然后找出有问题的数据,并进行处理;而Protect并不区分正常和异常数据,只是普适性的提高成本,来加强安全。因此,Detect就是所谓的风控系统。

    (4)Respond:响应和处理事件,指对已经发现的网络安全事件采取合适的行动。响应功能可以控制潜在的网络安全事件对系统的影响。具体程序依据事件的影响程度来进行抉择,主要包括:事件调查、评估损害、收集证据、报告事件和恢复系统。严格意义上来说,Detect只负责识别,而具体的处理和响应,要靠Respond。当然,对于异常数据的处理方式,也就常规的几种:稍重一些的直接拦截,稍轻一些的则插入各种验证方法(图片、短信、滑块等)。这里需要额外强调一点的是,在处理异常数据的过程中,一定要考虑到反馈入口的添加。比如拦截时,可能弹出一个操作异常的页面,但在页面中添加一个投诉反馈的入口。对于投诉的信息,不一定要全部处理,但一定要监控其波动水平。比如说:某天投诉的用户量突然上涨了好几倍,那么很可能就是风控出现误伤了,亦或是黑灰产发起了集中的攻击。不论是哪种情况,都需要及时人工介入来进行分析处理。

    (5)Recover:恢复系统和修复漏洞。能够及时恢复由于网络安全事件而受损的任何功能或服务。将系统恢复至正常状态,同时找到事件的根本原因,并进行预防和修复。如果被薅羊毛了,就及时冻结资金,避免提现转出;如果被刷了,就撤销行为,还原真实数据;如果实在弥补不回来了,就可以寻求法律援助。

    IPDRR的五大能力可以由市面上哪些常见的安全产品来实现?

    (1)识别(Identify)提供识别能力的产品包括资产管理平台、资产测绘平台、基线管理平台、漏洞扫描工具等。

    (2)保护(Protect)提供保护能力的产品包括主机防御类EDR、VPN、4A、防火墙、IPS、WAF、抗DOS等

    (3)检测(Detect) 提供威胁检测能力的产品包括IDS、NTA、蜜罐、恶意代码检测、用户异常行为检测等。

    (4)响应(Respond):提供响应能力的产品包括SIEM、安全审计、态势感知、SOAR等

    (5)恢复(Recover):提供恢复能力的产品包括NG-SOC,NG-SOC理论上应该是覆盖了IPDRR所有的能力。

    3. IATF

    信息保障技术框架(Information Assurance Technical Framework,IATF)是由美国国家安全局(NSA)制定并发布的,其前身是网络安全框架(NetworkSecurity Framework,NSF)。自1998年起,NSA就开始着眼于美国信息化现状和信息保障的需求,建立了NSF。1999年,NSA将NSF更名为IATF,并发布IATF 2.0。直到现在,随着美国信息技术的进步和对信息安全认识的逐步加深,IATF仍在不断完善和修订。

    如果要用一句话来概括IATF,那就是:一个核心思想、三个核心要素、四个焦点领域。

    1. 一个核心思想:纵深防御。

      纵深防御也被称为深度防护战略(Defense-in-Depth),是指网络安全需要采用一个多层次、纵深的安全措施来保障信息安全。在一个规范的信息网络中,我们可以看到在网络出口有防火墙,在DMZ区有防火墙,在服务器前端还有防火墙,这就是纵深防御思想的一个体现。需要在多个位置部署安全措施,看似重复,但是因其面对不同的业务、其安全策略有很大的差异。

      IATF信息保障的核心思想是纵深防御战略,该战略为信息保障体系提供了全方位、多层次的指导思想,通过采用多层次、在各个技术框架区域中实施保障机制,以最大限度降低风险、防止攻击,保障用户信息及其信息系统的安全。在IATF的纵深防御战略中,人(People)、技术(Technology)和操作(Operation)是主要核心因素,是保障信息及系统安全必不可少的要素。

    2. 三个核心要素:人(People)、技术(Technology)、运营(Operation)。

      网络安全三分靠技术、七分靠管理,三要素中的 “人” 指的就是加强管理。

      (1)人是信息系统的主体,包括信息系统的拥有者、管理者和使用者,是信息安全保障的核心;人是第一要素也是最脆弱的要素,对人采取的措施包括意识培训、组织管理、技术管理、运营管理等。
      (2)技术是重要手段,需要通过技术机制来保障各项业务的安全,是一种被动防御;技术是实现信息保障的重要手段,包括安全平台建设、安全工程开发等。
      (3)运营也称为运行或运营安全,运营是将各方面技术紧密结合在一起的过程,是一种主动防御的体系和机制,包括风险评估、监控、审计、入侵检测、跟踪告警、响应恢复等。

    3. 四个焦点领域,也称为四个信息安全保障区域,这就是安全分区的标准化描述:局域计算环境(Local Computing Environment)、区域边界(Enclave Boundaries)、网络和基础设施(Networks & Infrastructures)、支撑性基础设施(Supporting Infrastructures)。这四个领域构成了完整的信息保障体系,在每个领域范围内,IATF都描述了其特有的安全需求和相应的可供选择的技术措施。IATF提出这四个焦点域的目的是让人们理解网络安全的不同方面,以全面分析信息系统的安全需求,考虑恰当的安全防御机制。
      四个焦点域中,局域计算环境包括服务器、客户端及其上所安装的应用程序、操作系统等。区域边界是指通过局域网相互连接、采用单一安全策略且不考虑物理位置的本地计算设备的集合。网络和基础设施提供区域互联,包括操作域网(OAN)、城域网(MAN)、校园域网(CAN)和局域网(LANs),涉及广泛的社会团体和本地用户。支撑性基础设施为网络、区域和计算环境的信息保障机制提供支持基础,包括KMI / PKI(密钥管理架构 / 公钥架构)及检测响应等。

      不管网络规模的大小,都可以套用这个标准对网络结构进行安全分区。基于这四个焦点领域,结合IATF纵深防御的思想,就可以进行网络安全防御,从而形成保障框架。

      以网络和基础设备的保护为例,常用的保护措施包括但不限于:
      (1)合理规划确保骨干网络可用性
      (2)使用安全的技术架构,例如在使用WIFI时考虑安全的技术架构
      (3)使用冗余设备提高可用性
      (4)使用虚拟专网VPN保护通信

    4. CGS框架

    基于美国国家安全系统信息保障的最佳实践,NSA于2014年6月发布《美国国家安全体系黄金标准》(Community Gold Standard v2.0,CGS2.0),CGS是社区黄金标准的缩写。

    CGS 2.0 标准框架强调了网络空间安全应当具备的四大总体性功能:治理(Govern)保护(Protect)检测(Detect)响应与恢复(Respond & Recover)。这些功能聚焦于提供可信的网络空间所需要的能力和方案。

    其中:
    (1)治理功能为企业全面了解整个组织的使命与环境、管理档案与资源、确保全体员工参与进来并能够被通知、建立跨组织跨机构的安全韧性提供指南和保障;
    (2)保护功能为机构保护物理和逻辑环境、资产和数据提供指南;
    (3)检测功能为识别和防御机构的物理及逻辑事务上的漏洞、异常和攻击提供指南;
    (4)响应与恢复功能则为建立针对威胁和漏洞的有效响应机制提供指南。

    CGS框架的设计使得组织机构能够应对各种不同的挑战,为决策者提供了考量信息安全的全局视角。该框架没有像开处方那样给出单独的一种方法来选择和实施安全措施,而是按照逻辑,将对组织结构的理解和已有的基础设施作为框架基础,并协同防御与检测来保护企业安全。

    5. 自适应安全架构

    自适应安全框架(Adaptive Security Architecture, ASA)是 Gartner 于 2014年 提出的面向下一代的安全体系框架,以应对云大物移智时代所面临的安全形势。传统安全体系框架在面对新的威胁和攻击时已经显得落伍,ASA的主要目标是解决越来越具有针对性和技术含量更高的网络安全威胁。

    ASA主要由 4 部分组成:阻止(Prevent)、检测(Detect)、响应(Respond)、预测(Predict),该框架可通过持续的安全可视化和评估来动态适应不断变化的网络和威胁环境,并不断调整和优化自身的安全防御机制。

    1. 阻止(防御):主要通过加固、隔离、拦截等手段提升攻击门槛,并在受影响前拦截攻击。

    2. 检测:用于发现那些逃过防御网络的攻击。主要通过感知探头(Sensor)发现绕过防御措施的攻击,减少攻击所带来的损失。检测能力非常关键,因为企业应该假设自己已处在被攻击状态中。

    3. 响应:主要通过漏洞修补、设计和模型策略改进、事件调查分析等措施来恢复业务并避免未来可能发生的事故。

    4. 预测:通过防御、检测、响应结果不断优化基线系统,逐渐精准预测未知的、新型的攻击。主动锁定对现有系统和信息具有威胁的新型攻击,并对漏洞划定优先级和定位。该情报将反馈到阻止 和检测功能,从而构成整个处理流程的闭环。

    ASA和其他安全架构的不同之处主要体现在 预测 这一部分上。通过对已知的威胁情报、入侵攻击进行分析和学习来自动调整其他3个环节,不断适应环境变化,从而使企业能够应对各种不同的安全挑战。预测新型威胁和自动化响应是自适应安全架构的主要特色。高级分析能力是下一代安全保护的基础,我们可以通过机器学习和人工智能(AI)的相应手段来提高分析能力,比如UEBA(用户实体行为分析)。

    6. IACD

    (1)前言

    安全自动化是安全从业者的梦想。

    安全主要解决两方面问题:时间问题(速度越来越快)和空间问题(规模越来越大)。安全归根结底是要在时间空间这两个维度上,提高自动化防御的有效性。

    提高自动化水平:提高整个防御体系的自动化程度进而优化人力成本;提高整个安全防护体系对威胁的响应速度,即发现可疑行为,并快速将防护和响应策略分发到相应的防护设备。这包括两种主流方法:
    (1)SOAR(Security Orchestration, Automation and Response,安全编排、自动化和响应):代表性SOAR平台为Phantom(https://www.phantom.us/);
    (2)OODA循环(Obeserve-Orient-Decide-Act,观察-调整-决策-行动):代表性OODA框架为IACD(集成自适应网络防御框架)。

    SOAR(Security Orchestration, Automation and Response,安全编排、自动化和响应) 作为安全自动化的实现技术,已经广为人知。
    如果非要说说 IACD(集成自适应网络防御,Integrated Adaptive Cyber Defense) 与SOAR的区别,笔者认为,SOAR更像一个具体技术平台,而IACD更像一种网络空间防御框架和理念。简言之:SOAR是术,IACD是道。而且,目前的SOAR主要应用于企业级场景,而IACD则一直瞄准跨企业场景的应用。两者更多的是配合关系。

    如果仔细思考企业级和跨企业级之间的区别,就会发现协调联动是关键所在。因为企业级安全通常考虑的是企业内部环境,责任主体明确,环境完全可控,不太需要考虑外部安全协作问题;而跨企业级安全则通常考虑的是国家级别或行业级别的整体环境,环境不大可控,必须考虑不同责任主体之间的相互协作关系。

    实际上,IACD横跨了企业级、行业级、国家级的网络空间防御。事实上,IACD由DHS(美国国土安全部)、NSA(国家安全局)、约翰·霍普金斯大学应用物理实验室(JHU/APL)联合发起。其中,DHS恰恰就是美国联邦安全的主要负责单位,NSA是最重要的技术情报部门,APL是美国最主要的科研机构之一。三强联手,将网络空间防御框架做到极致,也就不是什么难事了。

    但是,如果说IACD和SOAR的技术已经成熟,恐怕还为时尚早。就像人工智能和自动驾驶的成熟度一样,必将是一个不断发展演进的过程。安全不简单,安全无止境。在安全自动化这条路上,尤其如此。

    (2)IACD(集成自适应网络防御,Integrated Adaptive Cyber Defense)

    IACD基于OODA(Observe-Orient-Decide-Act,观察-调整-决策-行动)循环:IACD试图将物理世界中传统的控制和决策方法,转换用于网络空间。IACD概念将OODA循环活动转换为感觉-理解-决策-行动,并设想通过一个公共消息系统在这些活动之间共享信息。

    IACD框架由传感器组成,传感器引入共享和可信信息,以触发编排服务,来响应网络事件。IACD框架包括以下8个组件:
    在这里插入图片描述
    上图是有内在顺序的,整体上是按照 顺时针 方向进行,即从传感器(S接口)->传感器接口->理解分析框架(SMAF)->决策引擎(DME)->响应行动控制器(RAC)->执行器接口(A接口)->执行器。
    还需提醒的是,所谓的编排服务(OS)是图中右边虚线框中的所有五个组件的集合,而不仅仅是其中的编排管理(OM)。

    IACD理念认为,如果能够在速度(时间)规模(空间) 两个维度上实施OODA循环,则可以将网络防御时间从几个月缩短到几分钟到几毫秒。所以,IACD的目标是:通过 自动化 来提高网络安全防护的速度和规模;通过集成、自动化、信息共享,来显著改变网络安全防御的及时性和有效性。

    IACD利用自动化的优势来提高防护人员的效率,让他们跳出传统的安全响应循环,更多地在 “网络安全防御循环” 中担当响应规划和决策的角色,以此增强网络防御的速度和范围。

    7. 网络韧性架构

    网络韧性架构,即CR架构,CR是网络韧性(Cyber Resilience)的缩写。该架构基本上将信息安全、业务连续性和企业人员组织弹性结合在了一起。网络韧性架构的目标是使整个网络始终保持提供预期结果的能力,这意味着即使在常规运行机制失败时,在遭遇安全灾难或受到攻击之后,整个网络依旧可以正常运行。
    最新的网络韧性架构的技术框架由NIST于2018年提供,技术点如下:

    1. 自适应响应(Adaptive Response):通过敏捷的网络行动方案来管理风险。包括动态更改配置、动态分配资源、自适应管理。
    2. 监控分析(Analytic Monitoring):持续和协调地监控和分析各种属性和行为。包括进行检测和损失评估、进行综合数据分析、进行取证分析。
    3. 协调保护(Coordinated Protection):确保保护机制以协调有效的方式运作。包括纵深防御、一致性分析、安全编排。
    4. 欺骗防御(Deception):误导攻击者,隐藏关键资产或将隐蔽的受污染资产暴露给对手。包括混淆手段、污染手段。
    5. 多样性(Diversity):使用异构性来最小化通用模式故障,尤其是使通用漏洞攻击造成的故障最小化。包括架构多样性、设计多样性、合成多样性、信息多样性、路径多样性、供应链多样性。多样性可以避免单一化造成的通用漏洞带来毁灭性的打击。
    6. 位置变换(Dynamic Positioning):分布式动态化重定位功能和系统资源。包括探头位置变换、资源位置变换、资产移动、碎片化、分布式化。
    7. 动态呈现(Dynamic Representation):基于网络事件和网络行动过程呈现当前任务或业务功能状态。包括动态地图和画像、动态化威胁模型、将任务依赖和状态可视化。
    8. 非持久性(Non-Persistence):根据需要在有限的时间内生成和保留资源。包括信息非持久性、服务非持久性、连接非持久性。
    9. 权限限制(Privilege Restriction):根据用户和系统元素的属性以及环境因素限制权限。包括基于可信的权限管理、基于使用属性的限制、权限动态化。
    10. 整治(Realignment) :使系统资源与组织任务或业务功能的核心方面保持一致。包括用途变更、减负、限制、替换、定制化。
    11. 冗余(Redundancy):提供多个受保护的关键资源实例。包括备份和恢复的保护、容量冗余、同步复制。
    12. 分段(Segmentation):根据关键性和可信度定义和分离系统元素。包括预定义分段、动态分段和隔离。
    13. 证实可信性(Substantiated Integrity):确定关键系统元素是否已损坏。包括可信性检查、溯源追踪、行为验证。
    14. 不可预测性(Unpredictability):随机或不可预测地进行更改。包括时间不可预测性、方式不可预测性。

    网络韧性架构基于入侵的不可避免性,从如何在遭遇入侵后依然能够保证不至于受到毁灭性打击的角度来部署网络安全。它一方面强调系统增强自己的 抗打击能力,另一方面强调系统要在遭到破坏后具备 快速的恢复能力,是在原有安全容忍(Fault Tolerance)架构基础上的进一步发展。

    第二章总结

    安全架构模型和框架为制定 企业安全架构 提供了理论依据。无论是自适应安全架构所强调的安全预测与调整能力,还是网络韧性架构所强调的能够适应不断变化的条件并能够承担风险且迅速从破坏中回复过来的能力,都是业界研究探索的最佳网络安全实践,这些安全架构没有绝对的好坏,安全管理者 可以根据企业发展现状来选择最适合自身的安全架构。

    第三章 大型安全体系建设指南

    3.1 快速治理阶段

    1. 选择合适的安全负责人

    2. 识别主要的安全风险

    互联网企业的安全风险大多来自 在线业务,同时 企业内部 也随时面临风险。

    1. 在线业务:包括Web安全风险、业务自身的安全风险及移动应用的安全风险。

    (1)Web安全风险:Web漏洞、SQL注入、XSS跨站、越权、逻辑漏洞、JSONP注入、SSRF、XML实体注入、Java反序列化。Web框架漏洞、第三方组件漏洞。Web接口。

    (2)业务自身的安全风险:账户体系安全、交易体系安全、支付体系安全。

    (3)移动应用的安全风险:跨域访问漏洞、远程代码执行漏洞。Android应用上的Log敏感信息泄露、Web HTTPS校验错误忽略漏洞、Provider组件暴露漏洞、Activity安全漏洞、使用不安全的加密模式等40多种漏洞风险。还有iOS应用上存在的未打开安全编译选项、不安全的随机数加密等几十种安全风险。另外,Android和iOS移动应用还存在二次打包、反编译、破解、外挂、数据加密等安全加固问题。

    1. 企业内部:员工、口令安全、钓鱼攻击和社会工程学的安全风险。

    3. 实施快速消减战略

    安全负责人的初期工作除了识别常见的风险,还应采取快速有效的针对安全隐患的处置措施,解决主要安全风险。

    1. 解决Web安全风险可采取的处理方式:
      (1)全站清理Webshell后门,购买或采用开源WAF(Web应用防火墙,如ModSecurity等)快速解决OWASP十大安全问题。
      (2)使用DAST(动态应用安全测试)、SAST(静态应用安全测试)、IAST(交互式应用安全测试产品)等对Web业务进行黑盒、白盒扫描和人工测试,解决线上主要漏洞。
      (3)部署RASP(运行时应用自保护)时应当使用自保护产品对Web进行自免疫保护。
      (4)提供安全代码过滤库和安全编码培训。

    2. 解决来自业务的安全风险可采取的处理方式:
      (1)针对业务特点选择合适的第三方风控安全产品。
      (2)从接入层、处理层和数据层构建自有的安全风控平台。

    3. 解决移动应用安全风险可采取的处理方式:
      (1)APP漏洞扫描和安全加固。
      (2)深入的人工安全测试。
      (3)提供基础移动安全组件和安全编码培训、安全编码规范。

    4. 解决来自员工的安全风险可采取的处理方式:
      (1)部署可以统一管理的EDR安全产品,在生产环境中统一使用堡垒机进行远程审计管理,采用DMS审计进行数据库访问。
      (2)安全培训、背景调查、行为规范考试、安全审计。
      (3)对重点人员建立隔离受控网络,统一访问互联网的代理服务器,确保包括HTTPS在内的网络流量可审计。
      (4)建立基于机器学习的用户异常行为发现系统。

    5. 解决口令安全风险可采取的处理方式:
      (1)弱口令扫描器。
      (2)建设基于OpenLDAP的统一单点登录系统,并使用基于TOTP方案的动态口令双因素认证。
      (3)建立更加严格的基于FIDO U2F认证协议的实体安全密钥登陆系统和BeyondCorp账户安全体系.

    6. 解决来自钓鱼攻击和社会工程学的安全风险可采取的处理方式:
      (1)员工安全意识培训。加强办公场地物理安全管控。避免使用第三方通信软件建立的工作群。
      (2)强化对钓鱼攻击和社会工程学攻击的技术监控。沙箱技术进行隔离访问。远程安全浏览产品。
      (3)加强BYOD设备的安全管理。

    3.2 系统化建设阶段

    经过第一阶段救火式的快速治理后,企业中存在的大部分安全隐患基本被解除,所以第二阶段刻意系统地完善企业安全架构,将1.3节中所提到的 “将安全融于体系,建立自动化监控与响应系统” 的理念落地。这一阶段的工作归结为如下三个层面。

    1. 依据 ISMS 建立安全管理体系

    Information Security Management Systems,ISMS,信息安全管理体系是组织在整体或特定范围内建立信息安全 方针目标 ,以及完成这些目标所用 方法 的体系。它是直接管理活动的结果,表示成方针、原则、目标、方法、过程、核查表(Checklists)等要素的集合。

    信息安全管理体系(ISMS)是针对任何类型的组织用于建立、实施、运行、监控、审核、维护和改进信息安全的一个政策、程序、指南以及相关资源的框架。

    ISMS已经成为被国际标准化组织认可的国际标准、ISO/ IEC27000系列标准定义了ISMS的要求,奠定了信息安全管理体系的认证基础。标准解释了整体 计划 – 执行 – 检查 – 行动(PDCA) 的方法,并为其实施提供了详细的指导。

    ISMS 具体依据 PDCA 循环原则建立。
    P即Plan:制定政策、目标、流程和程序。
    D即Do:利用ISMS 政策对流程和程序进行控制。
    C即Check:评估并交给上层审核。
    A即Act:根据审核结果采取纠正和预防措施,不断改进上述系统。

    ISMS提供了一个大而全的指导性要求框架,可用于企业建立安全管理体系。

    2. 基于 BSIMM 构建安全工程的能力

    互联网企业业务的基石建立在软件上,而软件开发是一个系统工程,如何构建 软件安全工程 是每个互联网企业都必须考虑的课题。

    BSIMM全称是Building Security In Maturity Model,即软件构建安全成熟度模型。是一种软件安全计划,是衡量软件是否安全的标尺。推荐企业选择BSIMM标准来实施自身安全开发建设。通过BSIMM可以很方便地将 “安全融于体系” 的理念落地。

    构建安全成熟度模型 (BSIMM) 是一种数据驱动的模型,采用一套面对面访谈技术开展 BSIMM 评估,唯一目标就是观察和报告。企业通过参与 BSIMM 的评估,不仅可以更加具体的了解自身 SSI 的执行情况,还可以从行业视角明确所处的具体位置。

    BISMM 模型,是一把衡量企业在 软件开发阶段 构建软件安全能力 的标尺。BISMM 具体由三大部分组成:

    1. 软件安全框架(SSF):支撑BISMM 的基础结构由划分为4个领域的12项实践模块组成。
    2. 软件安全小组(SSG):负责实施和推动软件安全工作的内部工作小组。
    3. 软件安全计划(SSI):一项涵盖整个组织机构的项目,用于以协调一致的方式来灌输、评估、管理并演进软件安全活动。

    BSIMM 软件安全框架(SSF)包含四个领域 — 治理、 情报、 SSDL 触点、部署。这四个领域又包括 12 个实践模块,这 12 个实践模块中又包含 119 项 BSIMM 活动。

    在这里插入图片描述

    3. 参考 Google 云平台设计安全技术体系

    Google 云平台的基础安全设计采用了从硬件基础到服务、用户身份、存储、通信和运营的分层纵深防御架构,每层都有严格的访问和权限控制。

    重点层次结构:

    1. 硬件基础安全
      安全的启动栈和机器身份标识、硬件的设计和来源、物理场所的安全性
    2. 服务部署安全
      服务身份标识、完整性和隔离、服务间访问管理、服务间通信的加密、最终用户数据访问管理
    3. 用户身份
      认证、登陆滥用保护
    4. 数据存储安全
      静态加密、数据删除
    5. 互联网通信安全
      Google 前端服务、防御拒绝服务攻击、用户身份验证
    6. 安全运营
      入侵检测、降低内部人员风险、员工设备及凭据安全、安全的软件开发

    纵观Google 云平台的安全技术体系,可以看到其设计是基于 纵深防御架构安全融于体系 的理念的。

    3.3 全面完善与业界协同阶段

    经过第二阶段的系统安全建设后,企业已经基本形成了完整的安全体系,因此第三阶段的安全体系建设主要集中在 全面完善业界协同 两方面,以实现在1.3节中所提到的 “以安全文化建设为中心,将安全融于体系,建立自动化监控与响应系统,持续进行攻防对抗与安全创新” 的新安全建设理念。这一阶段的工作归结为如下三个方面。

    1. 强化安全文化建设

    2. 完善安全韧性架构

    如何在被入侵成功的情况下依然能保障企业正常运转 正是安全韧性架构(Cyber Resiliency)要解决的问题。

    大型互联网公司在系统安全体系建设完成后可以考虑进一步向完善安全韧性架构发展,建立适应不断变化的条件,以及能够承受风险并可以迅速从破坏中恢复的能力。

    安全韧性架构主要实现4种能力:

    1. 预料能力。保持对入侵的知情准备状态。
    2. 承受能力。即使被入侵仍然可以继续执行基本任务或业务职能。
    3. 恢复能力。在入侵期间和之后恢复任务或业务功能。
    4. 适应能力。修改任务或业务功能的支持能力,以预测技术、运营、威胁环境中的变化。

    3. 建立协同安全同态

    网络安全的复杂性和基础设施的相互依赖性使得未来任何一家互联网企业都不可能靠自己解决所有的安全问题。我们的互联网业务相关支撑平台来自不同的公司与组织。因此,安全的未来是由大数据驱动的协同安全时代,需要个人、企业、国家共同参与治理。

    协同安全时代需要威胁情报共享,需要共同制定行业安全标准,需要大企业开放自己的安全能力。


    Part two:基础安全运营平台

    基础安全运营平台是集威胁情报、漏洞检测、入侵感知、主动防御、后门查杀、安全基线、安全大脑于一体的综合安全平台,承担着企业抵御各种网络攻击和防范内部风险的重任。

    首先通过威胁情报从外部获取最新的攻击数据和趋势,其次通过漏洞检测统计企业资产并周期性巡检、修补安全漏洞,再基于入侵感知发现各种网络、主机、服务的攻击,随后使用主动防御、后门查杀及安全基线实现对入侵攻击免疫和安全加固,最后通过安全大脑统筹分析和自动化响应,一气呵成完成互联网企业的基础安全运营工作。

    第四章 威胁情报

    Gartner:威胁情报是关于现有或即将出现的针对资产有威胁的知识,包括场景、机制、指标、启示和可操作建议等,且这些知识可为主体提供威胁的应对策略
    Forrester:威胁情报是针对内部和外部威胁源的动机、意图和能力的详细叙述,可以帮助企业和组织快速了解到敌对方对自己的威胁信息,从而帮助提前威胁防范、攻击检测与响应、事后攻击溯源等能力。

    对于互联网企业,掌握威胁情报(TIP)可以帮助公司及时对公网资产面临的安全威胁进行预警、了解最新的威胁动态,实施积极主动的威胁防御和快速响应策略,结合安全数据的深度分析全面掌握安全威胁态势,并准确的利用 SIEM 进行威胁追踪和攻击溯源。

    总的来说,威胁情报的作用是:
    主要帮助安全管理人员及时了解系统的安全态势,并对威胁动向做出合理的预判。

    一个概念:SIEM ( Security Information Event Management,安全信息与事件管理),SIE技术通过对来自各种事件和上下文数据源的安全事件的实时收集和历史分析来支持威胁检测和安全事件响应。它还通过分析来自这些来源的历史数据来支持合规报告和事件调查。SIEM技术的核心功能是广泛的事件收集,以及跨不同来源关联和分析事件的能力。

    1. 公共情报库

    互联网公司可以建立自己的情报库。

    1. 关于情报的收集,一方面可以从 开源情报渠道 抓取(如VirusTotal、Cymon等),另一方面可以从内部安全组件获取(如WAF、NTA),还可以通过批量扫描、DDoS攻击等渠道获取。

    2. 也可以使用一些 开源工具 来收集处理威胁情报:
      威胁情报收集梳理框架:GOSINT(Go语言写的威胁情报收集处理框架)、Spiderfoot
      查询Whois及历史DNS信息比较好的工具有:SecurityTrails
      查询综合性威胁情报比较好的工具有:IBM X-Force Exchange、Crymon
      在综合性互联网端口查询、服务统计方面做的比较好的工具有:SHODAN、Censys、FOFA
      在恶意文件、URL、域名、MD5的分析方面做的比较好的工具有:VirusTotal

    2. 漏洞预警

    很多漏洞发布往往不会第一时间被录入CVE漏洞库,可以通过 CMDB 统计自己生产环境用到的各种组件,再对相应的官网漏洞页面和一些黑客发布漏洞 POC 的论坛或站点进行监控,一旦有新的漏洞出现便通过邮件或短信通知应急响应安全团队处理。

    两个概念:

    1. CVE 的英文全称是 “Common Vulnerabilities & Exposures” 通用漏洞披露。
      CVE就好像是一个字典表,为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个 公共的名称 。使用一个共同的名字,可以帮助用户在各自独立的各种漏洞数据库中和漏洞评估工具中共享数据,虽然这些工具很难整合在一起。这样就使得CVE成为了安全信息共享的“关键字”。如果在一个漏洞报告中指明的一个漏洞,如果有CVE名称,你就可以快速地在任何其它CVE兼容的数据库中找到相应修补的信息,解决安全问题。
    2. 配置管理数据库(Configuration Management Database,CMDB)是一个逻辑数据库,包含了配置项全生命周期的信息以及配置项之间的关系(包括物理关系、实时通信关系、非实时通信关系和依赖关系)。
      CMDB存储与管理企业IT架构中设备的各种配置信息,它与所有服务支持和服务交付流程都紧密相联,支持这些流程的运转、发挥配置信息的价值,同时依赖于相关流程保证数据的准确性。

    3. 信息泄漏

    公司对内网管理松散的情况下,经常会有员工将代码上传到GitHub等平台,还有一些黑客拖库后会在暗网上买卖数据,所以需要自建一些漏洞抓取系统及爬虫系统来监控公司的信息泄漏情况。

    扫描GitHub信息泄漏的开源工具:Gitrob、小米的x-patrol
    对暗网扫描的开源工具有:OnionScan
    比较好的综合分析框架有:AIL

    第五章 漏洞检测

    在运营阶段,常常会爆发很多新型漏洞或第三方组件漏洞,因此周期性的漏洞巡检必不可少。

    按照漏洞检测方式的不同,漏洞大致可以被分为以下三种类型:

    1. 网络漏洞:可以通过对 端口 直接进行远程扫描而发现的漏洞,如 OpenSSH 远程溢出漏洞、MySQL 弱口令等。
    2. 主机漏洞:只能在 本地 利用和检测的漏洞,如 Linux内核提取、gligc漏洞提权等。
    3. 网站漏洞:需要通过爬虫和遍历网站页面提取 URL和参数 才能检测的漏洞,如SQL注入、XSS跨站、命令执行、SSRF。

    比较好的多种漏洞集成扫描平台有 Archerysec。

    1. 网络漏洞

    由于软件或系统没有及时更新而导致的漏洞攻击案例比比皆是,而且还会出现诸多由于运维配置不当而导致的安全问题。为了避免类似的网络漏洞威胁到企业的安全,对网络漏洞进行日常的扫描是必不可少的工作。

    常见的网络漏洞扫描软件有:Nessus、OpenVAS(免费开源,只有Scanner部分的代码比较可用)、Core Impact、Nexpose等
    另外还有一些专项扫描工具,如:nmap、zmap、masscan
    口令暴力破解工具如:medusha、hydra、Ncrack
    网络漏洞扫描器:Safe3CVS

    2. 主机漏洞

    很多互联网公司的主机在安装Linux系统后便很少进行升级。

    主机漏洞主要是因为机器上安装 Linux / Windows 系统后不升级导致存在大量的可在本地利用的安全漏洞。黑客通过 Web 渗透入侵后比较容易利用这些漏洞获取 root 最高权限。

    NIST(美国国家标准与技术研究院)针对主机漏洞提出了SCAP(Security Content Automation Protocol,全内容自动化协议),还建立了信息安全类产品的SCAP兼容性认证机制。SCAP版本1.0包含以下六个SCAP元素:XCCDF、OVAL、CVE、CCE、CPE、CVSS。

    安全合规与漏洞评估软件有:OpenSCAP(RedHat公司基于SCAP主导开发)
    专门扫描 CVE 漏洞的开源工具有:cvechecker、cve-checker-tool
    针对Java组件库进行漏洞检测:OWASP Dependency-Check
    针对Javascript和Node.js库进行漏洞检查:Retire.js
    针对容器漏洞进行扫描:Clair

    3. 网站漏洞

    网站漏洞(Web漏洞)在所有类型的漏洞中风险最大,常见的有不时爆出的Java框架漏洞,也有与Web Server相关的漏洞,还有程序开发中的安全漏洞(如逻辑漏洞、越权漏洞等)。

    常见的网站漏洞扫描器有:Acunetix、AWVS、AppScan、HP WebInspect
    常见的网站漏洞扫描器开源的有:Arachni

    一款好的网站漏洞扫描产品除了要有比较丰富的漏洞库,还需要有很好的 URL 和参数提取、爬虫及参数去重等能力,这就需要较强的 Web 2.0 交互爬虫技术 的支持,如自动化点击、智能化 Web 表单填写。

    当然,现在也有不少被动模式的代理扫描产品,无需较好的爬虫能力就可以提取扫描参数,但此类产品的使用场景有限,不适合扫描第三方网站。

    第六章 入侵感知

    入侵感知技术是一种通过监控一系列与安全相关的异常指标来达到发现入侵目的的手段。

    一般可以从 被动 渠道感知入侵:

    1、网络异常,如DDoS攻击、异常DNS请求、ARP欺骗
    2、主机异常,如暴力破解、反弹shell、系统提权
    3、隔离异常,如虚拟机逃逸、容器逃逸
    4、应用异常,如命令执行、文件读写、SQL注入

    也可以从 主动 渠道来感知入侵:

    如蜜罐、诱饵、蜜签等

    1. 网络流量分析(NTA)

    网络流量分析简称为NTA,主要用来监控网络流量中的安全攻击。

    常见的网络流量中的攻击有:

    1、由于早期的网络协议考虑不完善而造成的 协议安全隐患 ,如BGP协议攻击、CDP协议攻击、MAC地址欺骗、ARP缓存投毒、DHCP饥饿攻击等;
    2、由于恶意并发请求而造成的 拒绝服务攻击(DDoS),如SYN Flood、UDP Flood、NTP反射攻击、SSDP反射攻击、DNS反射攻击等;
    3、各种 探测扫描 ,如IP扫描、端口扫描、漏洞扫描、病毒蠕虫传播、挖矿传播、勒索软件传播、暴力破解等;
    4、APT和C&C通信,如硬编码IP域名、DGA随机域名、DNS tunnel、加密流量分析等;
    5、可解密的应用协议攻击,如HTTP攻击、SMTP攻击、MySQL攻击、SMB攻击等。

    除了NTA,还可以结合机器学习与大数据分析发现异常流量,并进行事后流量的调查取证分析等。

    NTA安全产品:

    1. 商业的网络流量分析产品:Greycortex、RSA NetWitness Network、ProtectWise、Moloch等,这些产品又被称为NDR(网络检测和响应)产品。
      数据流量采集可以通过路由器、交换机镜像口或分光器获取,也可以通过一些硬件防护设备(如防火墙、IPS、UTM等)获取,还可以通过自行开发流量探针获取。获取后可以通过常见的流量协议传输收集,如NetFlow、IPFIX、sFlow、jFlow等,最后通过Spark、Flink进行大数据实时分析、离线机器学习和聚合分析,最后输出告警并展示数据。
    2. 开源的网络流量分析产品:Bro、Apache Spot、Stream4Flow、NetCap
    3. 开源的高性能负载均衡产品:Katran、DPVS
    4. 开源的网络入侵检测产品:Snort、Suricata
    5. 网络流量索引回溯分析:Moloch

    2. 主机入侵检测(HIDS)

    主机层可检测的入侵威胁有很多,如系统提权、异常登录、反弹shell、网络嗅探、内存注入、异常进程行为、异常文件读写、异常网络通信、病毒后门、安全漏洞、配置缺陷等。

    支持Linux的主机安全检测的开源产品:OSSEC、Osquery、Elastic/beats、sysdig、Capsule8
    支持Windows系统的主机安全检测产品:Sysmon(非开源)

    3. 欺骗(Deception)技术

    以往的很多安全检测技术由于会影响性能和稳定性,因此很难全面部署,即使部署了,误报率也比较高,很难聚焦真正的入侵,加之APT等高级攻击越来越隐蔽,因此诞生了一种新的解决方案——欺骗技术。

    欺骗技术的本质就是有针对性地进行网络、主机、应用、终端和数据的伪装,在攻击链的各个环节中布满诱饵蜜签和假目标来扰乱攻击者的视线,将其引入死胡同,大大延缓攻击时间,并准确有效地发现攻击者,可以快速响应。欺骗技术也是安全韧性架构的重要组成技术之一,就像有句老话说的,“所有的战争都基于欺骗”。

    欺骗技术在以往蜜罐技术的基础上进行了加强,运用了诱饵、蜜签和自动化蜜网创建等技术。蜜罐又分为高交互蜜罐和低交互蜜罐,为了达到较高的迷惑性,欺骗技术通常以高交互蜜罐为主。

    欺骗技术发展到现在越来越 动态化 ,通过 机器学习 学习网络环境动态地创建诱饵、蜜签、蜜罐,使得迷惑性越来越强,并与路由器、防火墙联动形成了欺骗平台。

    1. 开源蜜罐产品:Honeytrap(Go语言开发)、OpenCanary(Python语言开发)
    2. 开源诱饵产品:honeybits(Go语言开发)
      诱饵的主要作用是将黑客引入蜜罐。
    3. 开源蜜签产品:Canarytokens(Python语言开发)
      蜜签和诱饵的主要区别为蜜签可以不依赖蜜罐直接触发,当然也有将诱饵和蜜签合称为蜜签的。
    4. 可以在虚拟机层实现监控的开源软件:LibVMI、rVMI
      评价欺骗技术的好坏可以从伪装的程度和是否易被识别来进行,好的欺骗技术可以利用容器或虚拟机来达到高交互效果,再辅以容器或虚拟机层进行无感知监控。

    第七章 主动防御

    主动防御技术通常以保护为主。在系统默认安全的基础上加入主动防御技术通常有助于拦截已知或未知的安全威胁。比如,对于主机层 Linux 内核提权漏洞,在内核层再加上一层内核保护技术即可拦截提权进程;在应用层的Struts2、Spring框架基础上加入RASP技术即可拦截绝大部分零日漏洞。通过主动防御来层层设防,如使用HIPS、WAF、RASP、数据库防火墙等,即可实现纵深防御架构,从而保障业务的安全性。

    1. 主机入侵防御(HIPS)

    所谓的主机入侵防御就是对主机进行主动加固防护以杜绝各种已知或未知攻击,主要有 内核层 漏洞攻击防御和 应用层 漏洞攻击防御两种。

    Linux自带的安全机制:LSM(Linux安全模块,Linux security module)、KSPP(内核自保护项目)
    针对内核提权攻击的解决方案:AKO(Additional Kernel Observer)使用动态可加载内核模块(LKM)
    开源内核主动防御产品:LKRG(Linux内核运行时保护,Linux Kernel Runtime Guard)使用对内核代码打补丁的加载方式(更加方便,可以实现的功能更丰富)

    2. Web应用防火墙(WAF)

    Web应用防火墙,简称WAF,作为Web安全的主要防护手段,其扮演着重要的作用。很多公司的安全开发流程(SDL)做的不到位甚至没有做,会导致上线的Web业务存在SQL注入、XSS、SSRF、命令执行、反序列化、XML实体注入XXE、越权、逻辑错误等诸多漏洞。由于业务的复杂性和对兼容性、稳定性的要求,业务开发人员要在出现漏洞的第一时间进行漏洞修补,并需要花费时间进行大量质量测试,导致项目往往不能很快上线。这时在WAF上添加一条规则进行漏洞拦截既方便又快捷,可以利用时间差弥补漏洞。

    开源WAF产品:ModSecurity(支持Nginx)、OpenStar
    基于AI的WAF:Wallarm
    开源的反欺诈应用安全产品:Repsheet

    3. 运行时应用自保护(RASP)

    运行时应用自保护,简称为RASP,是近几年来新兴的一种Web安全防护技术。

    与WAF相比,RASP工作在应用程序内部,可以获取更多的程序运行细节,从而可以解决很多WAF误报的问题;另一方面,通过与应用程序关键函数挂钩观察程序行为,也可以解决基于签名的WAF产生的拦截绕过问题,所以RASP在拦截黑客攻击方面强于WAF。但是,在性能、稳定性、DDoS拦截方面,由于传统WAF是独立部署的,因此更具优势。

    同时支持Java和PHP的开源RASP产品:OpenRASP

    4. 数据库防火墙(DBF)

    数据库防火墙(Database Firewall),简称为DBF,是对数据库进行查询过滤和安全审计的安全产品。

    通过数据库防火墙可以拦截SQL注入攻击,对敏感数据脱敏,阻止高危数据删除操作,记录并发现违规行为等。相比于WAF和RASP,DBF提供了最后一层对SQL注入的安全防护能力。

    数据库防火墙安全模式可分为如下4种:

    1. 代理模式
      基于代理模式的开源产品:DBShield(Go语言开发)、Acre(Go语言开发)
    2. 插件模式
      基于插件模式的开源产品:mysql-audit
    3. 组件模式
      数据库连接池:Druid
    4. 旁路模式
      有时为了性能考虑也可以将数据库防火墙做成旁路的数据库安全分析工具:mysql-sniffer

    数据库防火墙是Web安全纵深防御的最后一环。

    第八章 后门查杀(AV)

    黑客入侵服务器后为了长期控制或便于操作系统通常会在主机中留下后门。

    一般后门大致分为3类:
    1、高度隐蔽性后门 Rootkit
    2、一般性远程控制后门
    3、在web环境下执行的Webshell后门

    1. Rootkit

    Rootkit按作用阶段主要分为3种:应用层Rootkit、内核层Rootkit、引导启动型Bootkit(底层的Rootkit后门)。这三种Rootkit的检测难度依次递增。

    对于Rootkit的检测问题,现在业界趋向于通过软硬件结合的方式来解决,比如Google的Titan芯片就很好地解决了启动前和启动过程中的系统完整性问题。一般没有维护硬件能力的互联网公司则主要从软件检测和可信供应链两个方面来解决Rootkit问题。

    开源工具:

    应用层的Rootkit检测:rkhunter、chkrootkit
    离线内存Rootkit分析工具:Volatility
    Rootkit进程隐藏检测:Linux Process Hunter
    全面的Rootkit检测:Tyton、kjackal

    2. 主机后门

    主机后门通常为一般性的远程控制应用层后门。这类后门比较多,且往往会和Rootkit技术结合使用。

    主机后门为了长期驻留,一般会加入系统启动项。

    还有一些后门会替换系统文件或以模块形式加载。

    工具:
    Linux后门扫描工具:clamav
    开源扫描脚本工具:malscan
    开源主机后门检测工具:binaryalert
    开源分布式扫描工具:klara
    开源威胁情报响应和分析工具:rastrea2r
    动态分析检测工具:cuckoo、sandbox
    恶意软件企业级自动化分析框架:stoQ

    另外,现在机器学习在恶意软件分析中的应用也越来越广泛,而且已经取得了一些不错的成果。

    大型互联网公司可以建立自己的病毒库和分析中心,如Google建立的virustotal。恶意软件自动化分析平台方面的产品有企业级自动化分析框架stoQ。

    3. webshell

    webshell即专门的web后门,通常是通过脚本语言编写的,灵活性高且易变形。常见的webshell有PHP、ASP、ASP.NET、JSP、Python、Node.js这些类型的后门。其功能丰富,可导出数据库,对互联网业务危害较大,也是黑客入侵的首选远程控制工具。

    工具:

    开源的PHP webshell检测工具:php-malware-finder
    监控文件变动的工具:masc
    开源的使用机器学习检测webshell的工具:MLCheckWebshell
    在线webshell检测平台:百度的WEBDIR+

    第九章 安全基线

    配置安全问题在安全漏洞中占很大比例,涉及的范围包括网络、操作系统、各种应用服务器、数据库系统等。常见的安全基线包含 默认安全配置安全加固 两部分。

    工具:
    安全基线模板网站:cisecurity(最有价值的地方是提供了各种安全加固模板)
    开源的合规软件:Lynis、inSpec
    开源的持续审计和配置管理平台:Rudder

    第十章 安全大脑

    安全大脑即安全数据的综合分析与编排自动化响应中心,主要功能包含安全态势感知(SSA)安全信息和事件管理(SIEM)安全编排和自动化响应(SOAR)

    前面提到的各种安全技术需要一个集中管理与协同处置的安全中心,这与集成式自适应网络防御框架IACD一致。IACD框架通过SOAR技术将各种安全产品进行整合,从而协同应对安全威胁。

    而我们的安全大脑除了可以进行安全编排与自动化响应,还必须具备大数据处理、机器学习智能分析功能,并提供安全态势以便于安全管理者对当前和未来工作做出合理的安全决策与计划。

    1. 安全态势感知(SSA)

    SSA涉及的主要部分是安全大脑的前端展示。安全涉及的数据比较复杂且关联性很强,需要比较好的 前端展示框架

    安全大脑需要能够处理涉及 多个实体相互作用关联复杂 的安全事件,为此必须综合运用知识图谱、图计算、数据语义化、机器学习等技术才能产生比较好的效果,另外还需要和外部的各种系统(如身份管理和威胁情报等方面的系统)对接,同时还需要安全团队的不断改进。

    参考:
    前端展示框架:Sqrrl
    素材网站:SecViz
    JS框架:D3.js、vis.js、three.js

    2. 安全信息和事件管理

    产品:
    SIEM产品:Splunk、QRadar、LogRhythm(新的SIEM产品都具备了UEBA(用户与实体行为分析)和SOAR(安全编排与自动化响应)功能)

    大数据存储和处理项目:Hadoop、ClickHouse
    日志数据索引和查询项目:Elasticsearch/Elastic Stack、Graylog

    安全大脑除了要具备海量安全日志的存储和分析能力,还必须具备智能决策和自动化响应能力。智能决策依靠机器学习和数据流处理能力。

    智能决策解决方案:Spark、Flink、Storm

    UEBA技术使用机器学习技术,能够在缺少匹配的情况下通过行为异常发现攻击。UEBA技术会用到的机器学习算法如下:

    1. 监督机器学习:学习已知的良好行为和不良行为
    2. 贝叶斯网络:结合监督学习和相应的规则创建行为画像
    3. 无监督机器学习:学习正常行为,将偏离正常值的行为认定为异常行为
    4. 增强/半监督机器学习:混合模型,基础是无监督机器学习。实际警报的误报百分比被反馈到系统中,以允许机器学习微调模型并降低信噪比
    5. 深度学习:用于虚拟警报分类和调查。可以系统地训练代表安全警报及其分类结果的数据集,使其具备自我识别的功能,并能够预测新的安全警报集的分类结果。

    常见的基于时序的异常检测算法有随机森林、独立森林等。

    开源的日志安全规则:Sigma
    开源的大数据安全解决方案:Elastic、Metron
    开源的图数据库项目:HugeGraph(图数据分析的另一个发展方向是图神经网络GNN,用于解决深度学习无法做因果推理的核心问题)

    3. 安全编排与自动化响应

    智能决策的下一步便是安全编排与自动化响应(SOAR)。

    SOAR的核心部分是剧本(Playbook),这方面需要有较好的前端交互界面和灵活的脚本语言。
    大部分SOAR产品选择的脚本语言都是Python。

    产品:
    开源的SOAR产品:StackStorm、MozDef(Mozilla防御平台旨在实现安全事件处理流程的自动化,并便于实时处理安全事件活动)
    开源的安全运营编排产品:PatrOwl


    Part three:综合安全技术

    本部分将对基础安全运营平台以外的其他各种安全技术项——展开分析,包括安全开发生命周期、企业办公安全、互联网业务安全、全栈云安全、前沿安全技术。

    安全开发生命周期的管理是保障互联网企业业务正常运行的重要举措,直接关系到企业 线上业务运行 的安全性。
    企业办公安全涉及的安全隐患则更加复杂多样,各种数据泄露、人员违规、外部入侵、物理安全等问题数不胜数。
    同时随着移动互联网技术的蓬勃发展,各种 业务安全对抗攻击 也愈趋激烈,如验证码识别对抗、营销活动薅羊毛对抗、业务欺诈对抗、数据窃取与隐私保护技术对抗等。
    加之云化技术的普遍应用, 云上安全风险 也与日俱增,如计算不可信风险、虚拟机逃逸风险、容器逃逸风险、安全隔离风险等。
    最后,量子计算、AI技术等前沿科技的兴起也给传统安全带来了新的挑战。

    第十一章 安全开发生命周期

    构建安全开发生命周期(SDL)可以帮助开发人员构建更安全的软件、满足安全合规系统的要求、降低开发成本。SDL的核心理念就是将 安全 方面的考虑集成在 软件开发 的每一个阶段:计划、编码、测试和维护各阶段。

    互联网公司的 SDL 必须和现有的 CI/CD(持续集成/持续部署)系统(如IDE、Gitlab、Jenkins、JIRA等)集成才能产生较好的效果。SDL的建设必须置于敏捷开发、持续交付、技术运营之中,也就是要符合 安全融于设计 的思想。

    SDL在实际落地中大体上可以分为4个阶段:计划阶段、编码阶段、测试阶段、部署阶段。

    1. 计划阶段

    计划阶段需要做的工作有明确安全需求,进行安全设计、威胁建模、供应商安全评估、安全培训等。

    安全需求 需要融入软件需求度量、UML建模、条目化项目管理等工作中。

    进行 安全设计 需要从可信性、完整性、可用性这三个方面出发来制定安全设计原则。
    安全设计原则包括:

    1. 最小化攻击面:尽量减少系统脆弱面的暴露。
    2. 建立默认安全机制:在初始情况下,系统的相关设置应该默认是安全的。默认安全的应用系统应该初始化一个复杂的管理口令或要求第一次登陆必须修改默认口令。
    3. 执行最小权限原则:建议账户具有执行其业务流程所需的最少权限,包括用户权限和资源权限。例如,在设计系统时新建用户应该默认只拥有最小权限,后续权限都需要管理员授予。
    4. 执行纵深防御原则:以更多不同的控制措施处理同一个风险。例如,可以在WAF层、RASP层、数据库层以及防火墙层都针对一个SQL注入漏洞做好防御,当在这四个层面都做好防御时,黑客便很难入侵系统。
    5. 安全处理异常事物:由于许多原因,应用程序经常面临无法处理的异常事物,是否正确处理异常事物决定了应用程序是否安全。正确处理程序异常 是很重要的。例如,不少程序员在编码时对程序异常没有做出处理,导致报错信息出现在返回页面上,而这些报错信息中可能包含了敏感数据内容,正确的做法是使用 try catch 语句做处理。
    6. 应对第三方的不可控情况:应对外部系统不可控情况的安全处理措施。许多企业的业务都需要利用第三方合作伙伴的处理能力,这些合作伙伴的安全策略和能力可能与企业自身的不同。因此,对于所有外部系统,企业都应有应对不可控情况的安全处理措施。
    7. 职责分离:针对不同管理角色做权限分离。系统都具备不同的管理角色,针对不同角色,关键的安全控制方法是职责分离。例如,日志审计人员只有查看日志的权限,而不能删除日志。
    8. 避免安全保密化:关键系统的安全性不应该只依赖于保密。例如Linux的源代码广泛可见,但在适当的安全措施下,Linux是一种可信赖、安全且强大的操作系统。
    9. 保持安全简单化:业务逻辑应尽量简单有效,越复杂的实现方式越有可能产生安全漏洞。
    10. 正确修复安全问题:找出产生问题的根本原因,并进行必要的功能测试,彻底修复。安全问题的修复需要规范化。

    威胁建模 是设计阶段的一个重要组成部分。
    威胁建模工具:

    1. SeaSponge是Mozilla提供的开源 Web 威胁模型建模工具,通过浏览器就能很方便的建立 Web 威胁模型。
    2. OWASP Threat Dragon是由 OWASP 提供的免费开源威胁建模工具。
    3. Microsoft Threat Modeling Tool 2016 是微软提供的免费威胁建模工具。

    在业务开发中有些组件来自供应商或合作伙伴,这也是设计阶段必须考虑的一块。
    第三方安全评估:可以使用 Google 开源的 VSAQ(供应商安全评估调查问卷)安全评估工具。

    最后,设计阶段还必须进行安全培训工作。
    安全培训是一项长期的工作,从员工入职开始就应该进行。
    建立内部安全门户网站,建立安全知识库和安全考试平台。

    2. 编码阶段

    编码阶段的主要安全工作有:

    1. 建立安全编码规范
    2. 静态源代码安全分析
    3. 开源组件安全扫描(OSS)
    4. 安全过滤库&中间件
    5. 安全编译检查

    下面详细介绍上述五个方面。

    公开的 安全编码规范 参考对象:OWASP Secure Coding Practice

    静态源代码安全分析
    通过 IDE 结合的代码检测插件解决编码过程中的安全问题:
    Java编码规范方面的插件:P3C IDE
    Java漏洞检测方面的插件:Findbugs及继任者Spotbugs
    .NET漏洞检测方面的插件:Puma Scan
    支持C/C++的插件:cppcheck

    编码过程中会不可避免地用到很多第三方类库组件,过时的组件库有的会存在安全漏洞,还有的会存在授权协议合规问题,所以需要对其进行安全扫描。
    开源 组件安全扫描(OSS) 工具:
    OSS方面的商业产品:BlackDuck
    开源授权协议合规检查产品:FOSSology
    组件漏洞检查方面的开源产品:Dependency-Check(可以结合maven或Jenkins使用)
    组件漏洞检测产品:synk(可以扫描node.js、nmp、ruby、java依赖中的漏洞)
    依赖方面的安全检查产品功能最为丰富的是SourceClear公司的:EFDA

    各种漏洞的修补和过滤 可以通过自研或第三方的 安全过滤库&中间件 来进行。
    安全过滤库&中间件:
    常见的java安全过滤库:ESAPI
    Node.js的web安全过滤库可以参考:egg-security
    浏览器端的过滤库有:DOMPurify

    安全编译是一个在程序编译过程中可选的安全检查和安全加固的过程。
    安全编译检查
    Visual studio编译选项中的/GS选项检查缓冲区溢出,/guard:cf选项检查控制流安全。
    iOS APP安全编译选项有-fobjc-arc、-fstack-protector-all、-pie。
    Linux 二进制文件安全编译选项与 iOS 的类似。

    3. 测试阶段

    测试阶段的安全工作包括自动化安全测试和人工安全测试。

    3.1 自动化安全测试

    自动化安全测试又包括静态应用安全测试(SAST)、动态应用安全测试(DAST)、交互应用安全测试(IAST)等技术。

    1. 静态应用安全测试(SAST)

    是指对源代码进行白盒扫描的安全测试,又称白盒测试。

    商业产品有:Fortify、奇安信代码安全卫士
    开源 PHP 源代码漏洞扫描产品:RIPS、progpilot
    针对 Python、Ruby、Go 语言安全扫描的综合工具:huskyCI(集成产品)
    针对 java 的安全扫描综合工具主要有:spotbugs以及相关插件fb-contrib、find-sec-bugs
    针对 C/C++ 的安全扫描综合工具:flawfinder
    支持多种语言的综合安全扫描工具:Infer
    静态应用安全测试的综合平台:SonarQube(支持多达 25 种语言安全检测)

    1. 动态应用安全测试(DAST)

    是指运行时安全漏洞测试,通常为黑盒测试。

    Web 相关的 DAST 商业产品有:Acunetix、AWVS、AppScan、绿盟漏洞扫描器
    开源产品有:Arachni
    针对 REST API 自动化测试的产品:Astra
    针对 Web Service 进行安全测试的产品:WSSAT
    针对Android的开源DAST测试产品:Qark

    1. 交互应用安全测试(IAST)

    是指运行时安全漏洞测试,与前两种测试不同,IAST 通常作用于应用的内部。
    可以在应用运行时通过插入应用内部的代码自动跟踪输入变量并实时生成安全报告。
    IAST 实现的主要思路是在应用内部对所有用户输入的污染源进行 变量跟踪 ,并将其标记为 tainted;如果碰到安全过滤函数处理过的变量,则移除 tainted 标记;最后在 sink 点,也就是漏洞触发点(如数据库查询、命令执行等函数)检测变量是否被污染,如果被污染了就是有漏洞的。
    IAST 可以解决其他测试的路径爆炸、路径覆盖不全,以及误报和拖慢 CI/CD 进度等问题。

    商业产品有:Synopsys Seeker、Veracode、CxIAST
    针对PHP的开源产品有:PHP taint、PHP Aspis
    针对Java的开源产品有:security_taint_propagation

    3.2 人工安全测试

    人工安全测试是指 有人工参与半自动化 安全测试,主要包含对自动化测试结果的进一步分析,以及不能自动化因而需要人工参与的安全测试工作,如代码审计、模糊测试、Web 安全测试、移动安全测试、二进制安全测试等。

    1. 代码审计和模糊测试

    人工安全测试也包括白盒测试和黑盒测试。

    白盒测试的主要工作为人工代码安全审计。
    人工代码审计:OWASP 代码审计指南

    黑盒测试的主要工作为模糊测试。
    针对协议的常用模糊测试工具:Peach fuzzer(可以对各种文件和协议进行黑盒测试)
    针对二进制漏洞的模糊测试工具有:Asan、Tsan、Msan、UBsan
    开源的Fuzz测试平台有:OSS-Fuzz

    1. Web 安全测试

    web安全测试:OWASP安全测试指南
    主要使用的工具:BurpSuite、Fiddler

    1. 移动安全测试

    移动安全测试:OWASP移动安全测试指南
    移动安全测试综合平台:MobSF
    Android人工测试的工具有:Drozer、AppUse、Xposed、Frida
    ios的人工测试工具有:needle、iOSSecAudit

    1. 二进制安全测试

    现在不少公司除了开发常规的 PC 端软件,还生产手机、IoT相关产品,这就涉及二进制漏洞挖掘。
    各种黑客大赛也基本以二进制漏洞挖掘为主。

    二进制漏洞挖掘技术中的 动态符号执行 成为主流的漏洞挖掘技术,KLEE是常见的动态符号执行引擎。动态符号执行可以将代码转换为中间语言IR,并对执行路径进行模拟执行,缺点是可能碰到路径爆炸问题。
    二进制分析框架:Angr
    二进制反编译逆向分析的工具:IDA、Radare2、Binary Ninja等
    expoits编写方面的工具:pwntools

    4. 部署阶段

    部署阶段主要保证开发的产品可以安全发布,相关的工作有:证书密钥管理、安全配置加固、操作审计、渗透测试。
    互联网公司应建立安全可控的发布平台,保证配置的自动化,且保证发布是可信和可审计的。

    1. 证书密钥管理

    证书密钥管理系统(KMS)主要用来负责 API 私钥、云 IAM/STS 证书、数据库密码、X.509证书、SSH证书、应用签名证书、加密通信密钥等的安全保存、发放和撤销。这些证书密码的泄露直接关系到公司的数据安全。
    开源的KMS产品:Vault

    1. 安全配置加固

    主要保证上线的系统默认安全,以及满足 PCI 合规安全需求,相关技术参考第九章“安全基线”相关内容。

    1. 操作审计

    主要保证发布过程的可控和可安全审计。与操作审计配套的技术有 DMS 数据库管理系统、堡垒机等。

    DMS 数据库管理系统可用来负责互联网企业统一的数据管理、认证授权、安全审计、数据趋势、数据追踪、BI图表和性能优化,解决了以往运维和研发对数据库访问的不可控和不可审计的问题。
    阿里云的DMS是商业的数据库管理系统
    支持MySQL的开源产品有:Yearning

    堡垒机又称跳板机,是运维安全建设的一个必备产品,可以对运维操作进行记录和追踪,并对主机访问提供细粒度和集中的权限控制,同时减少了关键业务主机对外的暴露面。
    开源的堡垒机产品有:JumpServer、Guacamole

    1. 渗透测试:

    它是安全开发的最后一关,通过对业务、系统、网络的综合渗透测试来保证业务上线后的安全,这是一个长期持续的过程。

    集成各种渗透测试工具的Linux发行系统:Kali Linux、backbox
    常见的渗透测试框架:MetaSploit
    渗透自动化编排框架:Decker

    由于聘请安全人员的成本越来越高,现在也有不少趋向于研究自动化渗透测试的尝试:
    如基于机器学习技术来做渗透测试的GyoiThon(朴素贝叶斯算法识别返回网页的类型)
    自动化渗透测试产品:Infection Monkey

    面对大量业务时,互联网公司应尽量将安全专家的经验固化和自动化,以节约成本。

    第十二章 企业办公安全

    办公安全历来是信息安全的薄弱环节,常见的威胁有数据泄露、内部恶意人员、APT攻击、病毒蠕虫等。相比线上业务安全,企业内部办公安全更为复杂,如存在移动办公、自带设备BYOD办公等场景。传统以网络边界为防御对象的办公安全架构越来越不适用于新的跨领域、跨场地、跨设备办公场景。
    为了适应新时代的互联网企业办公安全需求,由Google率先提出的 零信任网络架构 BeyondCorp 逐渐被各大公司所认可。

    1. 人员管理

    人是办公安全中最重要的因素。

    在员工入职前,企业就应该对员工进行背景审查、入职后应对其进行安全意识培训,研发等岗位还应该进行专门的安全开发培训,严格一点还应该进行考试。宣扬企业安全文化,定期组织安全周、安全月等活动。应将安全违规的处理和安全审批流程等纳入流程制度,并制定必要的处罚和 KPI 考核制度。此外,还应当对各种办公活动进行安全审计,对企业内部环境和外部业务服务进行合规审查,以满足法律和行业规范的要求。

    2. 终端设备

    终端设备的安全直接关系到生产的安全。

    企业应该部署集中管理式的 AV 杀毒软件EDR 终端检测与响应产品,以抵御病毒和 APT 攻击:
    开源的 EDR 产品: Facebook 的 Osquery 、 Mozilla 的 MIG
    综合的安全事件响应平台:TheHive

    重要业务部门应该部署 DLP 数据防泄露DRM 数据版权管理产品,防止企业关键资产(如数据、代码、文档)泄露。另外还可以通过 vDesk 瘦客户机(thin client)建立完全隔离的虚拟桌面云(VDI)网络:Citrix、VMware

    现在使用移动终端工作的情况也很普遍,因此,移动办公产品也应当加强管控,常见的 移动终端安全 产品有 MDM 移动设备管理和 MAM 移动应用管理。商业产品有IBM MaaS360、SAP Mobile Secure等,开源产品有flyve-mdm等。

    广义的终端设备还包括门禁系统、打印和传真系统、电话会议系统、视频监控系统、Wi-Fi 路由系统等,应当对这些设备也考虑安全方案。

    最后,可以通过 SIEM 产品(如Splunk)的 UEBA 用户实体和行为分析发现由用户主动行为或账号被盗、终端被控制引起的异常安全行为攻击。

    3. 办公服务

    办公服务是指企业内部的办公支撑服务平台,如企业邮箱、企业网盘、CRM、ERP、OA、HR、BOSS等系统和研发支撑平台。这些平台常成为 APT 攻击的重要目标。

    访问权限控制 是办公服务安全的一个重点。传统企业依赖于网络边界防护和VPN加密通信来保证访问安全,这种架构一旦被突破将威胁企业内部的各种服务。于是Google提出了基于 零信任网络架构BeyondCorp,它通过将访问权限控制措施从网络边界转移至 具体的设备 ,让员工可以更安全地在任何地点工作。

    使用 欺骗技术 可以很好地在办公网内检测外部 APT 和内部恶意攻击,并得到具体的入侵细节。蜜罐可以模拟真实服务,蜜签可以守株待兔般地等待触发。

    云安全访问代理(CASB)与软件定义边界(SDP)适合于企业将办公环境中的各类业务系统(包括企业邮箱、企业网盘、CRM、ERP、OA、HR等)均托管给云服务商的安全场景,如办公Office365、企业网盘Dropbox、邮箱Gmail。CASB 的功能主要有访问控制、权限管理、数据防泄漏、恶意软件检测、安全监控和合规检查等。从功能上看,CASB 是 “4A认证+DLP+UBA+堡垒机” 的集合体。

    互联网企业常用的过滤网关有 代理上网的 Web 过滤网关邮件过滤网关 。通过过滤网关,隔离网中的终端只允许通过 HTTP 代理才能访问外网,可以在满足上网需求的同时对员工上网行为进行审计。企业的另一重要保护对象为邮件系统,邮件系统常见的安全问题有垃圾广告邮件、鱼叉式网络钓鱼和电子邮件欺诈、恶意软件和 APT 攻击、外发公司敏感数据、邮箱用户密码被利用等。这些威胁需要通过邮件安全过滤网关来应对。

    最后,渗透测试 是检验办公安全环境的有效途径,通过渗透测试可以发现企业办公网络中的各种薄弱点,以便于不断改进和完善自身安全。

    4. 实体场地

    实体场地安全即办公场所的物理安全,包括门禁、安检、安保人员、摄像监控、防火防震、灾备等。

    第十三章 互联网业务安全

    随着移动互联网的快速发展,在线交易的安全需求也日益凸显,盗号、欺诈、刷单、薅羊毛等恶意行为给在线业务带来了极大损失。手机应用的普及使得个人敏感数据更容易被非法收集利用,各种数据泄露事件频发,网民的财产安全和个人隐私安全问题突出。

    互联网公司必须建立业务风控和数据安全与隐私等 业务安全 体系来解决这些安全问题。

    1. 业务风控

    一般互联网企业常见的业务风险:

    1. 移动端
      破解外挂
      应用仿冒
      短信电话钓鱼
      流量劫持
      数据泄露

    2. 账户(注册、登录、找密三个主要入口):
      账号撞库攻击
      盗号洗号
      验证码安全
      机器注册
      垃圾注册(虚假刷单、发送垃圾消息)
      暴力破解
      身份伪造
      信息重放(短信验证码、邮箱验证码重放)
      找密/改密安全(找密逻辑缺陷可修改邮箱,账号检存。改密通过id可修改他人密码,批量重置)
      信息泄漏(客户交易的cvv码,用户账号、密码、邮箱)

    3. 交易
      恶意抢购、权限绕过(通过id可遍历到末对用户开放或已下线的商品;通过暴力手段用末购买的激活码激活游戏)
      薅羊毛
      刷排名
      欺诈
      刷库存
      刷单(业务数据造假)
      活动作弊(攻击者修改或写js自动点击刷活动、自动化脚本秒杀商品)
      营销作弊
      恶意贷款

    4. 支付
      套现(信用卡套现、抵用券套现、类似“京东”白条类信用产品套现)
      高并发缺陷(交易类重放攻击导致购买限制的绕过)
      挤兑提现
      盗刷
      数据篡改(金额任意更改,溢出,负金额)
      支付行为可信(支付确认阶段无法确定支付是否发生于账户真实主人)
      洗钱

    5. 内容
      垃圾广告
      淫秽色情
      涉暴涉恐
      政治敏感
      虚假信息
      违禁内容
      恶意爬虫

    针对移动端APP,常见的技术解决方案有:

    1. 加固保护(代码混淆、虚拟指令、加壳保护、防篡改、反调试、环境监测)
    2. 使用安全组件(安全键盘、数据加密、反劫持、防盗用)
    3. 仿冒检测(渠道监控、钓鱼监控、伪基站监控)

    一般 风控系统 的架构(四个部分):
    管理面板:统计分析、数据报告、运营审核、事件处理、模型规则管理
    数据处理(包括数据获取和安全验证):设备指纹、智能验证、实人认证(人脸识别、活体检测)、短信语音验证、生物识别
    风控引擎(业务风控系统的核心部分,常见的风控引擎由 模型引擎决策引擎 组成):模型引擎(对业务进行安全建模,运用机器学习算法)、安全画像、知识图谱、机器学习、决策引擎(一系列风控规则的集合,实时的事件和事务决策处理,如Drools,n-cube)
    技术平台:Spark(离线数据分析)、Flink(实时数据流处理)、Hadoop(离线数据存储)、Tensorflow(机器学习任务),H2O(金融信用卡评分、欺诈检测、异常检测机器学习算法)

    将机器学习运用在风控系统中的实践越来越普遍。例如支付宝第五代风控引擎 AlphaRisk(智能风控引擎),其套现风险识别模型采用了基于主动学习与两步正例和无标记学习的半监督学习方法。
    互联网公司的很多风控系统采用的都是 Spark MLlib 的机器学习库。
    其他风控相关的安全项目有:
    利用 PyTorch 框架的 Autoencoder 神经网络检测账户异常的项目
    利用机器学习检测信用卡欺诈的项目
    利用图可视化分析金钱交易的项目
    利用图数据库进行欺诈检测的项目

    2. 数据安全与隐私

    大数据应用涉及海量数据的分散获取、集中存储和分析处理,更容易造成数据泄露。
    移动互联网的发展使得手机上的个人敏感数据增多,不当的数据收集行为更易发生,严重影响个人隐私。

    各国相继出台对应的法律法规,在隐私保护方面尤以欧盟的 GDPR 最为严格(通用数据保护法案)。GDPR 强调数据隐私是公民的基本权利,企业有责任部署数据隐私策略以积极确保数据安全,并需在设计之初考虑数据隐私的问题。

    数据安全体系的建设可以依照《信息安全技术 数据安全能力成熟度模型》着手进行,其架构如下图:

    数据安全技术体系:
    应用层:版权保护(数字版权管理 DRM,最常用的技术是数据水印)、隐私保护(对敏感数据进行脱敏,k-匿名、差分隐私)、可信计算(解决数据流通中的安全问题,安全多方计算、同态加密、安全隔离)、数据加密、数据合规(数据血缘关系、数据地图)
    平台层:(基于云的数据安全服务)DLP、KMS、IAM、CASB、堡垒机
    基础层:物理销毁、HSM、环境安全、网络安全、安全管理

    第十四章 全栈云安全

    云计算使得基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)成为可能,越来越多的互联网企业将业务向云服务迁移,而各种信息安全问题也随之出现,相应的安全技术也发展了起来,主要包括可信计算、内核热补丁、虚拟化安全、容器安全、安全沙盒。

    1. 可信计算(TC)

    目的是通过广泛使用基于 硬件安全模块 计算和通信的可信计算平台,来提高系统整体的安全性。

    随着可信计算的发展,可信平台模块不一定再是硬件芯片的形式,特别是在资源比较受限的移动和嵌入式环境和云平台中,可信执行环境(TEE) 逐渐发展起来。

    可信计算可解决的主要问题有:

    1. 硬件篡改问题
    2. 启动完整性校验问题
    3. 隔离认证缺乏问题

    公开的可信计算技术分析:
    Google 的 Titan 安全芯片(主要用于为云服务器建立硬件的根可信)主要有以下两项安全功能:

    1. 基于 Titan 实现安全启动(对运行内存进行内置自检、对主机的启动固件闪存进行完整性检测、验证操作系统等)
    2. 基于 Titan 的加密认证

    2. 内核热补丁(KLP)

    云服务通常由成千上万台虚拟机组成,这些虚拟机通常由 Linux 启动。Linux 内核每年都会出现各种漏洞和 bug,这就需要为 Linux 内核打补丁升级。升级意味着要重启服务器、中断业务以及做好繁重的准备工作。能否实现在升级的同时系统不必重启?这就是内核热补丁,它是一种无需重启操作系统便可动态地为内核打补丁的技术。

    内核热补丁开源方案:

    1. Ksplice
    2. kGraft
    3. Kpatch
    4. Livepatch
    5. LernelCare

    3. 虚拟化安全(VMS)

    各种云的建设都基于虚拟化方案,一旦这些虚拟层出现漏洞就会直接影响上层各个租户的主机安全。
    为了加强云环境的虚拟化安全性,各个公司都给出了自己的解决方案。

    都在 KVM 平台上构建云的虚拟化层:
    AWS:轻量级微虚拟机产品 Firecracker
    Google:轻量级VMM(虚拟机监控器) —— CrosVM

    4. 容器安全(CS)

    以容器为基础的微服务架构逐渐发展起来。
    容器的轻量化、高性能、高隔离性以及结合 Kubernetes 的编排能力使得自动化部署业务、构建大规模可伸缩弹性架构更加容易。不过,容器在普及的同时也带来了新的安全问题。

    容器中常见的安全问题有容器镜像不安全(镜像中的应用存在漏洞或镜像被篡改)、内核等漏洞造成的容器逃逸、容器的网络缺乏微隔离(容器网络隔离有助于限制容器间的横向移动攻击和外部 IP 对内部服务的访问)、运行时安全问题(监控容器内运行进程的异常行为),以及安全合规问题。

    Twistlock 是一款商业容器安全产品,它提供了漏洞管理、运行时防御、合规、CI/CD集成、云防火墙功能。

    5. 安全沙盒(Sandbox)

    对软件运行环境做隔离限制,通过严格控制执行的程序所访问的资源来达到限制恶意行为的目的。

    安全沙盒有用于多用户多进程隔离以确保安全运行的,也有用于恶意软件行为识别的。

    主机层沙盒:
    Windows:Sandboxie、AppContainer、Hyper-V虚拟化沙盒
    Linux:Setuid/Chroot、Cgroup/Namespace、LXC/Docker、Seccomp-BPF

    应用层沙盒:Java安全模型、JVM-Sandbox、Cuckoo Sandbox

    在 Linux 系统上,用户可以通过 systemd 服务来配置一系列沙盒功能,从而保护由 systemd 启动的服务。systemd 的沙盒功能主要有以下几项:

    1. 限制文件读写和访问权限
    2. 限制 syscall 系统调用
    3. 限制用户权限
    4. 限制网络访问
    5. 限制内存的写执行

    第十五章 前沿安全技术

    1. AI与安全

    包括两个方面:AI技术在安全领域中的应用、AI技术自身的安全性

    自动化机器学习框架:MLBox、auto_ml、H2O

    1. AI技术在安全领域中的应用
      入侵检测:dga_predict、Salad、seq2seq-web-attack-detection、dataShark
      恶意软件分析:malware-classification、CuckooML、adagio
      漏洞发现和修补:Pulsar、Sapfix
      数据挖掘与风控:信用卡欺诈检测项目、机器学习欺诈检测项目
      自动化渗透测试:DeepExploit

    2. AI技术自身的安全性
      对抗样本攻击:防御方法是使用自动生成对抗样本工具来验证模型的安全性,并提供额外的补充修正样本。开源:CleverHans、AdvBox
      机器学习框架及依赖库漏洞(UAF、溢出等):语言性的安全漏洞,需要加强安全开发(代码漏洞扫描、Fuzz测试等)
      模型算法被逆向破解:Python等解释型语言的代码逻辑容易被逆向破解,需要代码混淆(针对python:pyminifier、Opy、PyArmor)、加壳等保护措施
      机器学习与隐私:用噪声打乱数据,差分隐私库
      隔离逃逸风险:需要对代码执行环境做隔离保护,运行不可信的机器学习模型代码需要做沙盒保护(nsjail)

    2. 其他技术

    光子计算机、量子计算机的出现给现有密码体系带来了巨大的挑战。

    对抗量子计算破解能力的研究主要聚焦在 后量子加密技术 上。


    参考链接

    1. 安全模型和业务安全体系IPDRR
    2. 如何理解企业安全能力框架(IPDRR)
    3. 不懂信息保障技术框架(IATF),还怎么做网络安全?
    4. 美国网络安全体系架构简介
    5. 美国网络安全体系架构
    6. 安全自动化和IACD框架
    7. 美国安全自动化和IACD框架
    8. 什么是信息安全管理体系?(ISMS)
    9. BSIMM(构建安全成熟度模型 version 10 ) 模型介绍
    10. 软件安全构建成熟度模型(BSIMM)十年:一文了解BSIMM10
    11. 安全架构–2--甲方基础安全运营平台建设实践
    12. 安全架构–3--SDL安全与企业办公安全落地实践
    展开全文
    weixin_44211968 2021-11-11 16:45:42
  • 五类安全服务包括认证(鉴别)服务、访问控制服务、数据保密性服务、数据完整性服务和抗否认性服务。 认证(鉴别)服务:在网络交互过程中,对收发双方的身份及数据来源进行验证。 访问控制服务:防止未授权用户...

    五类安全服务包括认证(鉴别)服务、访问控制服务、数据保密性服务、数据完整性服务和抗否认性服务。
    认证(鉴别)服务:在网络交互过程中,对收发双方的身份及数据来源进行验证。
    访问控制服务:防止未授权用户非法访问资源,包括用户身份认证和用户权限确认。
    数据保密性服务:防止数据在传输过程中被破解、泄露。
    数据完整性服务:防止数据在传输过程中被篡改。
    抗否认性服务:也称为抗抵赖服务或确认服务。防止发送方与接收方双方在执行各自操作后,否认各自所做的操作。
    从上述对安全服务的详细描述中我们不难看出,OSI参考模型安全服务紧扣安全技术目标。八类安全机制包括加密机制、数字签名机制、访问控制机制、数据完整性机制、认证机制、业务流填充机制、路由控制机制和公证机制。
    加密机制:加密机制对应数据保密性服务。加密是提高数据安全性的最简便方法。通过对数据进行加密,有效提高了数据的保密性,能防止数据在传输过程中被窃取。常用的加密算法有对称加密算法(如DES算法)和非对称加密算法(如RSA算法)。
    数字签名机制:数字签名机制对应认证(鉴别)服务。数字签名是有效的鉴别方法,利用数字签名技术可以实施用户身份认证和消息认证,它具有解决收发双方纠纷的能力,是认证(鉴别)服务最核心的技术。在数字签名技术的基础上,为了鉴别软件的有效性,又产生了代码签名技术。常用的签名算法有RSA算法和DSA算法等。
    访问控制机制:访问控制机制对应访问控制服务。通过预先设定的规则对用户所访问的数据进行限制。通常,首先是通过用户的用户名和口令进行验证,其次是通过用户角色、用户组等规则进行验证,最后用户才能访问相应的限制资源。一般的应用常使用基于用户角色的访问控制方式,如RBAC(Role Basic Access Control,基于用户角色的访问控制)。
    数据完整性机制:数据完整性机制对应数据完整性服务。数据完整性的作用是为了避免数据在传输过程中受到干扰,同时防止数据在传输过程中被篡改,以提高数据传输完整性。通常可以使用单向加密算法对数据加密,生成唯一验证码,用以校验数据完整性。常用的加密算法有MD5算法和SHA算法等。
    认证机制:认证机制对应认证(鉴别)服务。认证的目的在于验证接收方所接收到的数据是否来源于所期望的发送方,通常可使用数字签名来进行认证。常用算法有RSA算法和DSA算法等。
    业务流填充机制:也称为传输流填充机制。业务流填充机制对应数据保密性服务。业务流填充机制通过在数据传输过程中传送随机数的方式,混淆真实的数据,加大数据破解的难度,提高数据的保密性。
    路由控制机制:路由控制机制对应访问控制服务。路由控制机制为数据发送方选择安全网络通信路径,避免发送方使用不安全路径发送数据,提高数据的安全性。
    公证机制:公正机制对应抗否认性服务。公证机制的作用在于解决收发双方的纠纷问题,确保两方利益不受损害。类似于现实生活中,合同双方签署合同的同时,需要将合同的第三份交由第三方公证机构进行公证。
    安全机制对安全服务做了详尽的补充,针对各种服务选择相应的安全机制可以有效地提高应用安全性。随着技术的不断发展,各项安全机制相关的技术不断提高,尤其是结合加密理论之后,应用安全性得到了显著提高。本书的后续章节将以加密理论及其相应实现为基础,逐步阐述如何通过加密技术确保企业应用的安全。

    展开全文
    algzjh 2017-03-15 10:01:56
  • 这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步。前文分享了传统的恶意代码检测技术,包括恶意代码检测的对象和策略、特征值检测技术、校验...

    这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步。前文分享了传统的恶意代码检测技术,包括恶意代码检测的对象和策略、特征值检测技术、校验和检测技术、启发式扫描技术、虚拟机检测技术和主动防御技术。这篇文章将介绍基于机器学习的恶意代码检测技术,主要参考郑师兄的视频总结,包括机器学习概述与算法举例、基于机器学习方法的恶意代码检测、机器学习算法在工业界的应用。同时,我再结合自己的经验进行扩充,详细分享了基于机器学习的恶意代码检测技术,基础性文章,希望对您有所帮助~

    作者作为网络安全的小白,分享一些自学基础教程给大家,主要是关于安全工具和实践操作的在线笔记,希望您们喜欢。同时,更希望您能与我一起操作和进步,后续将深入学习网络安全和系统安全知识并分享相关实验。总之,希望该系列文章对博友有所帮助,写文不易,大神们不喜勿喷,谢谢!如果文章对您有帮助,将是我创作的最大动力,点赞、评论、私聊均可,一起加油喔~

    推荐作者之前介绍的四篇机器学习宇恶意代码检测相关的文章,如下:

    展开全文
    Eastmount 2020-07-19 16:30:42
  • 逆向分析之PE病毒原理、C++实现文件加解密及OllyDbg逆向 [系统安全] .Windows漏洞利用之CVE-2019-0708复现及蓝屏攻击 [系统安全] 九.Windows漏洞利用之MS08-067远程代码执行漏洞复现及深度提权 [系统安全] 十....

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列。因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全、逆向分析和恶意代码检测,“系统安全”系列文章会更加聚焦,更加系统,更加深入,也是作者的慢慢成长史。换专业确实挺难的,逆向分析也是块硬骨头,但我也试试,看看自己未来四年究竟能将它学到什么程度,漫漫长征路,偏向虎山行。享受过程,一起加油~

    前文分享了远控木马及防御措施、APT攻击中的远控,包括木马的基本概念和分类、木马的植入方式、远控木马的通信方式、APT攻击与远控木马等。这篇这篇文章将带大家学习安天科技集团首席架构师肖新光老师(Seak)的分享,介绍恶意代码与APT攻击中的武器,包括A2PT的攻击武器、普通APT组织的自研恶意代码、商用恶意代码、无恶意代码作业、开源和免费工具等。希望这些基础原理能更好地帮助大家做好防御和保护,基础性文章,希望对您有所帮助~

    在这里插入图片描述

    作者作为网络安全的小白,分享一些自学基础教程给大家,主要是在线笔记,希望您们喜欢。同时,更希望您能与我一起操作和进步,后续将深入学习网络安全和系统安全知识并分享相关实验。总之,希望该系列文章对博友有所帮助,写文不易,大神们不喜勿喷,谢谢!如果文章对您有帮助,将是我创作的最大动力,点赞、评论、私聊均可,一起加油喔!

    作者的github资源:

    从2019年7月开始,我来到了一个陌生的专业——网络空间安全。初入安全领域,是非常痛苦和难受的,要学的东西太多、涉及面太广,但好在自己通过分享100篇“网络安全自学”系列文章,艰难前行着。感恩这一年相识、相知、相趣的安全大佬和朋友们,如果写得不好或不足之处,还请大家海涵!

    接下来我将开启新的安全系列,叫“系统安全”,也是免费的100篇文章,作者将更加深入的去研究恶意样本分析、逆向分析、内网渗透、网络攻防实战等,也将通过在线笔记和实践操作的形式分享与博友们学习,希望能与您一起进步,加油~

    前文分析:

    声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。


    一.从恶意代码的发展看APT攻击

    首先,我们从恶意代码的发展看APT攻击。

    在上世纪80~90年代,安全工作者对抗的威胁
    在上世纪80~90年代,我们面对的是一些DOS下比较简单的计算机病毒,这些病毒有一些是恶意的,也有一些是编写者以炫技为目的所编写的病毒。在PC尚未承载关键资产、以磁盘为主要信息交换方式时,以制造者心理满足作为主要动力编写的感染病毒。

    在屏幕上,可以看到的是一些恶意代码发作的形式,尽管DOS时代的恶意代码比较简单,但随着DOS病毒的膨胀逐渐催生了反病毒引擎的诞生。在DOS时代,反病毒引擎的整个体系结构已经趋于成熟,反病毒引擎的更新维护成为安全对抗的工作主线。

    在这里插入图片描述

    在这里插入图片描述


    在本世纪初,安全工作者对抗的威胁
    信息高速公路建设,大规模蠕虫传播与之俱来。我们可以看到本世纪初的前五年,出现了大量的大规模流行的相关的病毒情况。从安天当时研发的检测软件和数据排行中,可以看到当时的蠕虫流程程序。换句话说,大量的蠕虫传播,也推动了协议解析、流量监测技术的成熟,产生了如UTM、NG-FW、NTA等产品。

    在这里插入图片描述


    反病毒工作者一直面对的压力
    随着信息社会的不断发展,信息资产价值日趋增加,趋利成为了网络黑客组织的主要动力。我们可以看到,大约在2006年左右,恶意代码数量快速膨胀,其中数量膨胀的主体是各种类型的特洛伊木马,在这种背景下,靠人工分析来形成全面的恶意代码对抗已经不可行。必须依赖于大规模的自动分析体系,这种分析压力促成了反病毒企业和安全公司在后台逐渐建立和完善了反病毒体系。

    • 恶意代码数量的快速膨胀,使依靠人工分析完成判定和检测不可能,海量恶意代码后台自动化分析体系逐步成熟
    • 面对恶意代码数量的快速增长,2004年开始安天全面通过自动化手段进行样本分析,实现了海量样本自动化分析和处理

    在这里插入图片描述


    “方程式”(Equation)组织入侵中东SWIFT服务提供商EastNets可视化复现
    在反病毒引擎、端点防护、流量监测、后端自动化分析技术基本成熟的基础上,安全工作者也日趋看到更为严峻的安全威胁。下图是著名的APT攻击组织“方程式”(Equation)对中东最大的金融服务机构EastNets的攻击。

    在这里插入图片描述

    在该攻击过程中,攻击者先后从互联网四个跳板发起攻击,先后击穿了两层防火墙(VPN防火墙、ASA防火墙),并且在防火墙上预制了Rootkit。

    在这里插入图片描述

    之后又通过多个0day漏洞穿梭进内网体系,获取多台业务服务器的控制权。

    在这里插入图片描述

    最后通过相关的SQL语句,从Orcale服务器上获得了攻击方感兴趣的账户名和密码、交易轨迹等相关信息,这就是一次典型的APT攻击。

    在这里插入图片描述

    这里可以看到相关APT攻击的整个推进过程和资产场景。下图展示了“方程式组织”入侵EastNets行动中受到入侵过程。

    在这里插入图片描述


    在这一过程中,攻击方使用了大量的恶意代码攻击装备,包括:

    • 针对Juniper V*N防火墙和CISCO企业级防火墙的相关攻击恶意代码和预制Rootkit木马
    • 针对各种主流IT场景运载、植入、持久化和传输中继工具
    • 复合型攻击控制平台
    • 支持深度持久化的组件化木马
    • 横向移动利用工具集合
    • 多个0DAY漏洞(永恒之蓝、永恒冠军、永恒协作、永恒浪漫)

    在这里插入图片描述


    这就是一个典型的APT攻击。APT攻击概念最早是在2006年,由美国空军信息中心业务组指挥官Greg Rattray上校提出,APT即高级持续性威胁(Advanced Persistent Threat),用以概括网络空间中的战略性对手行动。

    • Threat威胁:是能力和意图的乘积
    • Advanced能力:横向移动、水坑攻击、SNS夹带、0DAY漏洞、数字伪装、格式文档攻击、本地化反弹
    • Persistent意图:反复进入、坚定动机、隐蔽通讯、人员带入、作业意志、持久化

    Persistent所呈现的意图,才是我们判断APT攻击的核心因素。在APT攻击中,未必所有的都是高级技巧。

    在这里插入图片描述

    下面给出不同层级的威胁,包括最低0级业余攻击者发动的攻击,也有发达国家发动的以国家利益驱动的网络情报作业。我们整个网络信息体系每天都是处在不同动机、不同来源、复杂的攻击任务中,各种攻击有掩蔽在互联网各种应用当中,需要深度的分析和辨识。

    在这里插入图片描述

    在整个网络信息技术发展、安全威胁和对抗技术发展中,有越来越多的APT攻击组织浮出水面,下面可以看到全球APT攻击行动、组织归属地理位置分布图。

    在这里插入图片描述



    二.高级恶意代码工程体系——A2PT的攻击武器

    接着我们看一下高级恶意代码的工程体系,A2PT的攻击武器。它是安天所提出的术语,是在各种APT组织中来评价一些有超高能力行为体所发动的攻击,这种攻击水平往往高于其他的APT组织,因为成为高级恶意代码工程体系。

    首先回顾2010年发起的震网事件Stuxnet。该事件是一起针对YL铀离心设施的攻击事件,它几乎击穿了整个YL的自主的JUN工业生产体系。

    在这里插入图片描述


    Stuxnet事件包括两个版本来实现不同的攻击机理。

    • 0.5版本主要是通过控制阀门改变压力,导致离心机的损坏
    • 1.x版本通过改变离心机的转速实现离心机的损坏

    在这里插入图片描述

    安天公司针对震网多版本技术细节全面对比,可以看到所使用的复杂高级恶意代码,同时也存在很多的关联和差异。

    在这里插入图片描述

    我们可以看到,它实际上是用一个巨大的Loader来承载相关主DLL文件,这些文件是用于实施非常复杂、破坏、传播机理过程的一个个攻击载荷。由于震网是实现在隔离网络中,难以实现远程控制的作业,所以在震网中预制了非常复杂的配置和逻辑,使其能在内网目标中推进并达成相应的效果。

    在这里插入图片描述


    同时我们可以看到,这种大规模的恶意代码工程体系本身会有一定的继承性和延续性,因为研发这样复杂的恶意代码工程体系,也需要非常高的人力成本。下图展示了震网前后出现的毒曲、火焰、高斯、Fanny、Flowershop的关系图,它们是在两个比较大的恶意代码工程框架基础上扩展起来的。

    • Flamer框架
    • Tilded框架

    这种依托复杂的恶意代码框架,然后在攻击行动中,承载一些专属定制模块的特点,体现出来A2PT组织的强大能力,这也为我们追踪A2PT组织带来了条件。下图梳理了相关的恶意代码行动与使用恶意代码框架的关系,以及后续的恶意攻击事件的关联,这些关联为我们有效追踪相关的攻击组织提供线索。

    在这里插入图片描述

    同时,震网整个攻击过程是基于一个隔离网络,我们可以看成是一种无后方作业,它很可能不能和后方的远程人员建立实时的远程控制关系,更多依赖于一个独立的Loader承载更多的可拆卸模块和复杂逻辑实现攻击。

    在这里插入图片描述


    在后续的关于“方程式”组织分析中,我们看到另外一类通过精细化模块实现前后场控制、按需投递恶意代码的方式,下图展示了“方程式”组织主机作业模块积木图。可以看到这一类恶意代码往往是由一个内存Loader,大量小型DLL作为原子化攻击模块,通过加密信道传输至前场,由Loader进行加载,该情况使得防御方很难获得整个恶意代码的所有模块,从而实现隐蔽性和可重用性的保证。

    • 详见安天分析报告《方程式组织EQUATION DRUG平台解析》

    在这里插入图片描述

    此外,在A2PT所使用的恶意代码中,基本上它是为所有操作系统的针对性研制,只是在Windows安全对抗前度较高的场景下更新较快,而在类似Solaris等系统更新较慢。

    通过分析斯诺登揭秘的NSA ANT攻击装备谱系、维基解密曝光的CIA攻击装备谱系,可以发现,A2PT等攻击组织的攻击活动中,恶意代码并不是唯一的J火武器,实际上它们把大量相关的外设、中继、电池、声像传统的JD设备与网络恶意代码结合,从而形成覆盖人力、网络的全频谱的作业能力。

    在这里插入图片描述



    三.普通APT组织的自研恶意代码

    第二部分看了复杂庞大的A2PT武器,实际上也有一些APT组织使用自研的恶意代码,但其攻击能力要远远低于A2PT组织。

    首先,我们来看一下白象的武器。白象是来自南亚次大陆某国,长期对我国和巴基斯坦发起APT攻击,至今仍然活跃。下图展示了白象捕获监控来自南亚次大陆某国的持续多年的APT攻击,依托深度分析和公开线索,进行了攻击小组画像,并映射到自然人。

    在这里插入图片描述

    白象从攻击伊始,就使用了大量自研的恶意代码,这些恶意代码本身使用了多种不同的开发工具,其编写水平也参差不齐,有的用VC编写、有的用VB编写,还有一些脚本语言。整个恶意代码的工程能力并不是很强,但是对于一些防范意识缺失的被攻击者也同样有效。

    在这里插入图片描述

    “白象一代”相关载荷组合作业方式如下图所示,可以看到,这种恶意代码也会呈现多个模块进行功能组合、配合、协同的特点。相比于震网多模块体系,这个攻击显得相对简陋。

    在这里插入图片描述

    下图对比了白象一代和白象二代。白象组织从2012年开始到2015年,能力有所提升,从最开始不适用漏洞,到使用一定的1DAY或陈旧漏洞,在这个工程中,虽然没有使用高级恶意代码和0DAY漏洞的情况,但也给被攻击国家带来了很大的威胁。

    在这里插入图片描述



    四.商用恶意代码

    在整个APT攻击中,还有一种情况,它们使用的恶意代码是一种商品,即购买来的商用武器。下图展示了安天在2015年5月27日所发布报告,指出的相关攻击组织使用商用攻击平台Cobalt Strike,攻击我国ZF机构的过程。

    在这里插入图片描述

    我们可以看到,攻击者使用相关的攻击平台,以在欧洲的远程控制跳板发起攻击,试图窃取信息。

    在这里插入图片描述


    攻击工程和CS攻击瓶体,整个流程包括:

    • Sampe B:是段脚本文件,Powershell.exe进行加载执行,然后得到脚本1
    • 脚本1:脚本1执行后也会解密(Base64加密的数据)得到模块1
    • 模块1:通过调用Shellcode中的Wininet函数,进行连接网络,下载模块2
    • 模块2:创建并挂起系统进程rundll32.exe,并将模块3写入到rundll32.exe中
    • 模块3:shellcode后门模块,连接C&C服务器等待命令

    在这里插入图片描述

    在攻击过程中,可以看到攻击者利用商用攻击平台,使用不落地的木马,然后通过相关的前挡模块,不断获取载荷的方式,将相应编码过的数据发送到远端。下图右侧展示了Cobalt Strike功能解析,其可以构造多种格式的攻击载荷,进行多种方式的远程攻击和样本持久化的过程。

    在这里插入图片描述

    Cobalt Strike作者是Raphael Mudge,他是原美国安全人员,参与过美国红队项目,创业之后开发了该商用开源的攻击平台。这也导致了很多缺乏防御的目标非常容易遭受攻击。

    该系列100篇写完之后,下一个“安全提高班”系列作者会深入学习该工具,分享相关的博客及案例,敬请期待。

    在这里插入图片描述


    “商业攻击平台+恶意代码”为核心的军火扩散影响地区平衡
    在过去,我们可以看到类似于白象等组织,需要花一定成本和精力去研发相关的自用恶意代码,但其恶意代码本身的水平不是很高。但是,类似于海莲花这样的组织,在使用了商用攻击平台之后,在缺少特别专业攻击手、漏洞挖掘和利用人员、高级恶意代码编写人员的情况下,就能够发动水准非常高的攻击,因此这种以“商业攻击平台+恶意代码”为核心的军火扩散,在一定程度上影响了地区平衡。

    在这里插入图片描述

    同时,我们在过去的若干年内,也看到了多起APT攻击武器,包括商用JH泄露带来的灾难。最严重的是NSA下属的方程式攻击组织的一些列漏洞利用工具泄露,包括永恒之蓝漏洞,导致了Wannacry勒索蠕虫的爆发。另一家非常非常注明的商业JH提供商,Heaking Team也发生了被攻击导致相关攻击工具曝光在网上,从而被大量黑产利用的情况。

    在这里插入图片描述



    五.无恶意代码作业、开源和免费工具

    下面我们看看其他情况,攻击者使用其他的开源免费工具,以及在攻击中不使用恶意代码作业的情况。

    (1) 使用开源或公开的恶意代码——绿斑
    首先,我们来看一下在2018年被曝光的绿斑攻击组织。在他们的攻击活动中,所使用的远程控制工具,多数都是开源或商业可以买卖、公开的工具。当然,这也为相应的攻击溯源带来了难度,也降低了攻击方的攻击成本。

    在这里插入图片描述


    (2) 无恶意代码作业
    值得一提的是,我们在2009年前后,比较早的发现一例疑似绿斑组织的早起攻击活动,就看到了一例“无恶意代码作业”的情况。实际上,攻击者在攻击某个关键服务器过程中,在攻击得手后,实际上是通过一组开源、免费或商业的工具搭建的整个攻击作业环境,使之能够有效地获取数据。

    在这里插入图片描述

    利用无恶意功能的工具进行攻击,对应的工具如下表所示。

    • nc.exe
    • mt1.exe
    • http.exe
    • rar.exe

    在这里插入图片描述

    这里的部分工具是网络管理人员也会使用的,因此当时的各种反病毒软件不会对这些文件进行报警。但可以说,当时绿斑使用这些工具并不是为了逃逸,而更大可能是当时它们没有足够成本和能力去编写相关的恶意代码,而且他们本身是从Unix攻防上获得了启示,因此就采用了当时的这些工具构建了攻击。

    值得注意的是,在整个恶意代码对抗、分析能力、防御不断关注和增强的情况,当前确实出现了一部分APT活动中,不使用恶意代码,而是获取相应合法身份,尽可能使用商用工具,使用攻击场景中已经存在的工具,来逃避检测的方法。


    (3) 不使用恶意代码的攻击会成为主流化?
    因此,美国的某个新兴安全厂商,甚至认为在APT攻击中,不使用恶意代码的攻击会成为主流化。那么,这一观点是否正确呢?这一观点显然有失偏颇。首先,我们可以看到恶意代码本身数量还在快速膨胀。其次,它所谓的不使用恶意代码包括两种情况,一种情况是虽然使用了相关恶意载荷,但恶意载荷并不以文件形态落地,事实上,无论是内存形态、扇区形态,还是文件形态,它都是恶意程序这一本质没有改变,这并不取决于它是否有文件载体;第二种情况是使用正常的工具软件在其中,凭借其获取合法身份,这确实值得关注。

    在这里插入图片描述

    同时,无恶意代码作业难以支撑超级复杂的攻击逻辑,正常工具软件很难实现相应功能,必须去编写相关的恶意程序或脚本、配置逻辑。
    比如震网事件,感染震网的计算机会监控接入的设备,一旦发现U盘插入并且满足条件即开始写入U盘摆渡文件,具体条件如下:

    • 当前时间的U盘没有被感染
    • 根据配置标记(不是默认设置)来感染磁盘,如果默认配置不感染,那么感染的发生取决于日期
    • 感染当前计算机少于21天
    • U盘至少有5MB的剩余空间
    • U盘至少有3个文件

    在这里插入图片描述



    六.总结与思考

    对整个APT进行总结。

    (1) 恶意代码传统分类定义不足以支撑APT分析
    最开始我们把恶意代码作为一种威胁类型来进行对抗,在对抗过程中,我们逐渐积累出发病毒引擎、端点防护、流量监测、后端分析等技术,用于对抗恶意代码的病毒感染属性、蠕虫传播属性、木马侵害属性。但实际上,这种传统的分类定义不足以支撑APT分析。

    在这里插入图片描述


    (2) 传统恶意代码的特点和APT的差异

    • 追随主流 vs 装备覆盖
      传统恶意代码往往是一个编写者、利用者追溯产业发展主流,试读利益最大化的过程。因此可以看到主流恶意代码往往随着当前最为广泛存在的系统来完成它的恶意攻击。而APT攻击追求的是装备覆盖,尽可能覆盖所有可能的活跃系统,一方面存在着对一些新出现系统的超前性布局,另一方面始终保持对旧的仍活着的系统覆盖。

    • 最大化感染 vs 高度定向\慎重持久化
      传统的蠕虫传播、僵尸网络、C&C控制,攻击者往往追求获取最大化的感染量,以实现最大利益。而APT攻击的恶意代码往往是高度定向的,甚至高水平的攻击者在持久化环境,都非常慎重。比如方程式组织在进行攻击时,对其所关注的节点进行硬盘持久化率只有千分之二左右,谨慎实施移动和持久化避免暴露。

    • 慢羊理论(成本最低) vs 高价值目标
      传统的恶意代码攻击是基于慢羊理论,就是羊通常跑得最慢的被咬死,这种恶意代码攻击多数是感染比较脆弱的节点,获益更容易的方法实施安全威胁。对于APT攻击来说,它针对的就是高价值目标,它是否发送攻击与本身的强度无关,仅与目标的价值相关。

    在这里插入图片描述


    (3) 攻击者的变化
    传统的恶意代码攻击和APT攻击的攻击者也发生变化。下图左侧是CIH、震荡波等相关著名恶意代码攻击事件的病毒作者,可以看出他们很多都是个体攻击者或犯罪团伙的头目。但APT攻击大部分的攻击者都是相关的,带有国家政治、经济集团为背景的攻击者。

    在这里插入图片描述


    (4) 以隐蔽和定向支撑持续作业对比

    • 网络蠕虫从传播到发现 vs APT活动从准备到曝光
      我们从整个时间线上做对比,可以看到此前的相关类似于蠕虫传播感染过程中,绝大部分都是病毒发作的当天或较短时间内,由于病毒快速传播而被发现。但是APT攻击,无论是Stuxnet、Duqu、Flame、白象、方程式,往往都会呈现出一个非常长的、未被发现感知的阶段,甚至长达数年。

    在这里插入图片描述

    同时,我们可以对比传播范围背后的定向性。上图是基于SQL Server传播的Slammer蠕虫,它在2003年发作30分钟内就几乎感染了全球所有的国家。而震网攻击在被认为出现传播失控的问题上,数月之内也只是形成了一条从中东到东南亚的感染带。当然,所谓的传播失控,也有人猜测是攻击方试读去追中YL的整个工业链。

    在这里插入图片描述

    下面对比恶意代码平台的复杂度增长情况。从DOS样本到早起木马、再到APT样本。

    在这里插入图片描述


    (5) 从攻击全过程的视角更全面的看APT
    这里可以看到基于刚才的分析,很难简单的从传统恶意代码视角看到APT组织,需要从一种攻击过程的完整视角看APT。这里就有了2011年洛马所提出的沙箱链模型,把APT攻击看成一系列过程。

    • 侦察跟踪
    • 武器构建
    • 载荷投递
    • 突防利用
    • 安装逐日
    • 命令与控制
    • 行动

    在这里插入图片描述

    沙箱链为我们提供了一个非常好的观察视角,但没有形成清晰的标准,其用于评价APT攻击依然显得不足。此时,出现了更完整的相关威胁框架。

    • TCTF威胁框架
      比较有影响威胁框架,已经是2.0版本。更多是以情报视角,将攻击工程划定为行动管理与资源保障、目标勘察与环境整备、接触目标与进攻突破、持久化驻留潜伏、致效能力运用、全程持续支撑作业等阶段。威胁框架一定程度是对沙箱链的展开。

    在这里插入图片描述

    • ATT&CK威胁框架
      在实际的商业的攻防对抗中,更为流行的是ATT&CK框架,它划分为初始访问、执行、持久化、提权、防御规避、凭证访问、发现、横向移动、收集、命令与控制、渗出、影响等过程。面对复杂的攻击过程,我们可以看到各种安全产品,都只能在应对攻击中起到相应的局部作用,任何一个单点的安全产品都不能覆盖整个攻击过程。下图展示安天多款安全产品举例,看到流量侧检测、边界侧阻断、终端侧防御的分析、威胁处置过程。

    在这里插入图片描述


    安天产品包括:

    • 安天探海威胁系统——ATT&CK威胁框架覆盖度(流量侧检测)
    • 安天镇关威胁系统——ATT&CK威胁框架覆盖度(边界侧阻断)
    • 安天智甲终端防御系统——ATT&CK威胁框架覆盖度(终端侧防御)
    • 安天拓痕处置工具——ATT&CK威胁框架覆盖度(威胁处置)
    • 安天资产安全运维平台——ATT&CK威胁框架覆盖度(资产安全)
    • 安天捕风蜜罐系统——ATT&CK威胁框架覆盖度(捕获蜜罐)

    在这里插入图片描述

    尽管它们都能对一部分攻击进行相应的安全防御,但都不可能单独的解决安全问题。如果需要应对安全问题,就需要一个动态综合的网络安全解决方案。下图展示了安天动态综合防御体系,以应对高级威胁。涉及四个层面:

    • 基础结构安全
    • 安全纵深防御
    • 动态积极防御
    • 情报驱动防御

    在这里插入图片描述

    只有形成这样一个综合体系,才能有效对抗高级威胁。同时,面对如此强大的对手,还需要开展威胁猎杀。

    在这里插入图片描述

    由于课程时间有限,不能一一展开,这里给出参考资料,推荐大家去学习。真心感谢安天的肖新光老师,真正的安全大佬,要向这些前辈学习,加油~

    在这里插入图片描述


    最后希望这篇文章对您有所帮助,文章中如果存在一些不足,还请海涵。作者作为网络安全初学者的慢慢成长路吧!希望未来能更透彻撰写相关文章。同时非常感谢参考文献中的安全大佬们的文章分享,感谢师傅、师兄师弟、师姐师妹们的教导,深知自己很菜,得努力前行。

    欢迎大家讨论,是否觉得这系列文章帮助到您!任何建议都可以评论告知读者,共勉。

    (By:Eastmount 2021-11-14 夜于武汉 http://blog.csdn.net/eastmount/ )


    参考资料:
    [1] https://mooc.study.163.com/learn/1000003014?share=2&shareId=1000001005
    [2] 《软件安全之恶意代码机理与防护》WHU

    展开全文
    Eastmount 2021-11-14 23:08:22
  • qq_20949471 2021-10-04 21:19:18
  • Eastmount 2021-03-10 23:39:28
  • Herry_Lee 2019-02-18 15:53:33
  • m0_47617892 2021-12-26 13:53:55
  • bjchenxu 2020-03-18 11:49:08
  • weixin_30606461 2018-12-16 17:48:00
  • weixin_43757333 2020-06-29 14:51:24
  • m0_37268841 2021-03-30 10:17:58
  • Eastmount 2020-04-20 19:14:25
  • qq_28256699 2021-10-13 19:48:45
  • Herry_Lee 2019-02-18 15:43:47
  • harrymeng 2018-01-17 14:41:49
  • Herry_Lee 2019-02-18 15:49:51
  • github_38885296 2018-11-13 21:38:13
  • Eastmount 2020-08-13 14:26:50
  • Eastmount 2021-11-22 19:27:16
  • 1.81MB weixin_38508126 2020-07-25 08:36:41
  • juan777 2020-02-01 16:30:42
  • Eastmount 2021-04-06 19:08:06
  • Hello_World_QWP 2019-03-14 11:24:00
  • Eastmount 2021-03-06 21:17:28
  • Eastmount 2021-03-01 23:22:46
  • qq_45755863 2021-12-24 22:35:20
  • haojun1996 2020-05-26 15:29:27
  • qq_41103843 2021-11-22 15:56:10
  • weixin_45859485 2021-01-03 13:55:38

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 41,715
精华内容 16,686
关键字:

安全八大理论