【序】安全审计是近来国内比较热门的技术和市场。这个比较古老的市场现在又火了起来,用Gartner的hyper cycle来说的话,应该表明正在进入成熟期了。很巧,再次发表于TT安全之前,也就是昨天(2010年3月30日),我在一个地方给大家做了一个《安全审计技术与应用》的培训。培训内容的蓝本就是这个文章。我再次整理这个稿子后,想强调一下文中提及的安全审计的技术和产品选型的过程:1)确定目标;2)需求分解,即通过具体的需求分解,确定要审计哪些对象,每种对象要审计哪些内容;3)审计的技术手段选择;4)产品选型。我后续会再整理一下那个幻灯片,然后放上来与大家一齐分享。


  随着企业和组织安全防御不断向纵深发展、对加强内部安全的重视、以及内控与合规性要求的不断提升,安全审计技术和产品得到了广泛的应用。现在,客户已经认识到单一的安全审计产品无法满足实际要求,需要一套体系化的安全审计平台,以及将这个审计平台与安全管理平台进行整合。作为本系列的第三篇文章,将详细阐述SOC2.0是如何将安全审计体系与安全管理平台整合到一起的。
  1 安全审计的定义和组成
  安全审计,本文专指IT安全审计,是一套对IT系统及其应用进行量化检查与评估的技术和过程。安全审计通过对IT系统中相关信息的收集、分析和报告,来判定现有IT安全控制的有效性,检查IT系统的误用和滥用行为,验证当前安全策略的合规性,获取犯罪和违规的证据,确认必要的记录被文档化,以及检测网络异常和***。
  根据GB/T20945-2007《信息安全技术——信息系统安全审计产品技术要求和评价方法》,安全审计被定义为对信息系统的各种事件及行为实行监测、信息采集、分析并针对特定事件及行为采取相应比较动作。信息系统安全审计产品为评估信息系统的安全性和风险、完善安全策略的制定提供审计数据和审计服务支撑,从而达到保障信息系统正常运行的目的。同时,信息系统安全审计产品对信息系统各组成要素进行事件采集,将采集数据进行自动综合和系统分析,能够提高信息系统安全管理的效率。
  对于一款安全审计产品,从产品功能组成上应该包括以下几个部分:
  (1)信息采集功能:产品能够通过某种技术手段获取需要审计的数据,例如日志,网络数据包等。对于该功能,关键在于采集信息的手段种类、采集信息的范围、采集信息的粒度(细致程度)。如果采用数据包审计技术,网络协议抓包和分析引擎显得尤为重要;如果采用日志审计技术,日志归一化技术则是体现产品专业能力的地方;如果采用宿主代理审计技术,代理程序对宿主的兼容性、影响性是很关键的环节。
  (2)信息分析功能:是指对于采集上来的信息进行分析、审计。这是审计产品的核心,审计效果好坏直接由此体现出来。在实现信息分析的技术上,简单的技术可以是基于数据库的信息查询和比较;复杂的技术则包括实时关联分析引擎技术,采用基于规则的审计、基于统计的审计、基于时序的审计,以及基于人工智能的审计算法,等等。
  (3)信息存储功能:对于采集到原始信息,以及审计后的信息都要进行保存,备查,并可以作为取证的依据。在该功能的实现上,关键点包括海量信息存储技术、以及审计信息安全保护技术。
  (4)信息展示功能:包括审计结果展示界面、统计分析报表功能、告警响应功能、设备联动功能,等等。这部分功能是审计效果的最直接体现,审计结果的可视化能力和告警响应的方式、手段都是该功能的关键。
  (5)产品自身安全性和可审计×××:审计产品自身必须是安全的,包括要确保审计数据的完整性、机密性和有效性,对审计系统的访问要安全。此外,所有针对审计产品的访问和操作也要记录日志,并且能够被审计。
  2 安全审计技术分析
  当前,随着企业和组织安全防御不断向纵深发展、对加强内部安全的重视、以及内控与合规性要求的不断提升,安全审计技术和产品得到了广泛的应用。一方面,企业和组织对安全的建设思路已经开始从以防外为主的策略,逐步转为以防内为主、内外兼顾的策略,安全审计技术和产品成为安全防御纵深的延伸和安全体系建设中的必要一环,大量地应用于防范内部违规和内部用户行为异常。另一方面,政府、行业对IT治理、IT内控和IT风险管理的日益重视极大地促进了安全审计的发展。目前推出的一些国际、国家、行业的内控和审计相关的法律、法规、标准等,都直接或者间接地对某些行业或企业提出了需要配备安全审计产品的要求。
  国内的安全审计产品根据被审计对象和审计采用的技术手段两个维度,可以划分为不同的产品类型。
  从被审计对象的维度来看,IT环境的各种IT资源都能够成为被审计对象,自底向上依次可以包括网络和安全设备、主机和服务器、终端、网络、数据库、应用和业务系统审计,以及IT资源的使用者——人。对于审计产品而言,被审计对象也可以看作是被保护对象。据此,可以分为:
  (1) 设备审计(Device Audit):对网络设备、安全设备等各种设备的操作和行为进行审计;
  (2) 主机审计(Host Audit):审计针对主机(服务器)的各种操作和行为;
  (3) 终端审计(Endpoint Audit):对终端设备(PC、打印机)等的操作和行为进行审计,包括预配置审计;
  (4) 网络审计(NetworkAudit):对网络中各种访问、操作的审计,例如telnet操作、FTP操作,等等;
  (5) 数据库审计(Database Audit):对数据库行为和操作、甚至操作的内容进行审计;
  (6) 业务系统审计(Business Behavior. Audit):对业务IT支撑系统的操作、行为、内容的审计;
  (7) 用户行为审计(User BehaviorAudit):对企业和组织的人进行审计,包括上网行为审计、运维操作审计。
  有的审计产品针对上述一种对象进行审计,还有的产品综合上述多种审计对象。
  从审计采用的技术手段维度来看,为了实现审计目标,通常采用以下几种审计技术手段:
  (1) 基于日志分析的安全审计技术(Log Analysis Based Audit Technology)
  一种通过采集被审计或被保护对象运行过程中产生的日志,进行汇总、归一化和关联分析,实现安全审计的目标的技术。这种审计技术具有最大的普适性,是最基本、最经济实用的审计方式,能够对最大范围的IT资源对象实施审计,并应对大部分的审计需求。在国家等级化保护技术要求中、以及行业内控规范和指引中都明确提及了这种审计方式。该日志审计类产品在市场上也最为常见。
  (2) 基于本机代理的安全审计技术(Host Agent Based Audit Technology)
  一种通过在被审计或者被保护对象(称为“宿主”)之上运行一个特定的软件代码,获取审计所需的信息,然后将信息发送给审计管理端进行综合分析,实现审计目标的技术。作为这种技术应用的扩展,采用该技术的审计产品通常还具有对宿主的反向控制功能,改变宿主的运行状态,使得其符合既定的安全策略。这种审计技术的审计粒度十分细致,多用于对主机和终端等设备进行审计。目前市场上常见的服务器加固与审计系统、终端安全审计系统都采用这种技术。
  (3) 基于远程代理的安全审计技术(Remote Agent Based Audit Technology)
  一种通过一个独立的审计代理端对被审计对象或者保护对象(宿主)发出远程的脚本或者指令,获取宿主的审计信息,并提交给审计管理端进行分析,实现安全审计目标的技术。这种方式与基于本机代理的技术最大的区别就在于不需要安装宿主代理,只需要开放远程脚本或者指令的通讯接口及其帐号口令。当然,这种审计技术的审计粒度受限于远程脚本的能力。目前市场上常见的产品有基于漏洞扫描的审计系统、WEB安全审计系统、或者基线配置审核系统。
  (4) 基于网络协议分析的安全审计技术(Network Protocol Analysis Based AuditTechnology)
  一种通过采集被审计对象或者被保护对象在网络环境下与其他网络节点进行通讯过程中产生的网络通讯报文,进行协议分析(包括应用层协议分析),实现审计目标的技术。由于现在用户基本都实现了网络互联互通,并且该技术对被审计对象的要求较低,对网络环境影响较小,因而得到了广泛的应用,多应用于对IT资源的核心基础设施(设备、主机、应用和业务等)和用户行为进行审计。该审计类型根据具体技术原理的不同,又可以分为若干种子类型,包括基于旁路侦听(Sniffer-based)的网络协议分析技术、基于代理(Proxy-based)的网络协议分析技术,等等。目前市场上常见的产品有NBA(Network BehaviorAudit,网络行为审计)类产品、用户上网行为审计类产品,以及某些WEB应用防火墙(WAF)。
  3 安全审计产品选型过程
  通过对安全审计技术和产品的分析,我们不难发现,客户为了实现安全审计的目标,首先要将需求进行分解,对应到一组审计对象之上,然后选取最合适的技术手段,从而选定适当的审计产品。这也是审计产品选型的推荐过程。
  审计对象和审计技术手段已经详细阐述过,这里,审计目标就是 IT安全审计定义中的目标,包括:
 

  •   判定现有IT安全控制的有效性;
  •   检查IT系统的误用和滥用行为;
  •   验证当前安全策略的合规性;
  •   获取犯罪和违规的证据;
  •   确认必要的记录被文档化;
  •   检测网络异常和***。

  针对不同的审计目标,审计需求分解会不一样,进而审计对象和技术的选择也会有所不同。对于不同的审计对象,每种审计手段都各有利弊。
  日志审计具有最广泛的适用性,能够对各类审计对象进行审计,审计目标能够覆盖国家等级化保护、IT内控指引和规范的大部分要求,实现大部分客户的大部分审计目标。同时,日志审计的技术实现代价较小,对网络系统影响不大,后期维护代价适中。因而一般建议用户构建安全审计体系首先从日志审计开始。日志审计最主要的缺陷在于有时候无法获得被审计对象的日志信息,从而无法进行后续分析。
  基于网络协议分析的审计技术多用于对网络、数据库和应用系统,以及用户行为进行审计。该技术具有对被审计对象无影响的特点,但是需要购买专门的审计设备和系统,需要专门的维护。该技术最主要的缺陷在于一般无法审计加密信息,或者为了审计加密信息而不得不改变网络结构,进而增加影响网络性能的风险。此外,在审计用户上网行为的过程中,需要不断地更新应用协议解析库,存在一个被动升级的过程。目前,该技术的变种较多,具体实现技术手段也都各异。
  基于本机代理的审计技术较为固定,基本上就用于对主机服务器和终端的审计之上。该技术的缺陷就是需要安装代理,需要考虑代理的兼容性和对主机或者终端的自身运行影响性。此外,代理的升级和维护也是一个难点,具有较高的维护代价。一般用于有较高安全需求的场合。
  基于远程代理的审计技术使用范围也较广,可适用于对关键基础设施的审计,并且对被审计对象基本无影响。但是,该技术实现的审计目标较窄,集中于对审计对象的漏洞审计,以及对审计对象的配置基线进行稽核。
  审计对象与审计技术实现方式的一般对应关系如下图所示:
 

4 安全审计需要体系化的审计模型
  随着对审计的日益重视,客户部署了越来越多的单一型安全审计产品。现在,客户已经认识到,要在企业和组织中实现有效的安全审计,依靠某一类安全审计产品往往是不够的。这些审计系统从各自的角度对特定的信息对象进行审计,虽然专业,但是却增加了运维和审计人员的工作量,同时审计系统之间缺乏必要的信息交换。客户需要建立一个安全审计的体系,以及一套体系化的安全审计平台。通过前面安全审计产品选型过程的分析,也可以看出来,每种审计技术和产品都有其适用性,有利有弊,需要根据安全目标进行综合考量。为此,客户需要一个统一安全审计的架构和模型。
  统一安全审计架构应该是一个点面结合的综合审计模型。面是指统一审计平台和日志审计,是统一安全审计的基础和基本组成,包括用户的统一操作界面。需要强调的是,日志审计由于其普适性而成为统一安全审计的基础平台的一部分。
  点作为面的补充,针对更高安全审计要求的安全域进行有针对性的审计,成为专项审计,并且要无缝的融入到面之中。典型的点审计(专项审计)有:
  (1) 针对业务系统安全域的增强性审计:主机和服务器审计、数据库审计、应用和业务审计;
  (2) 针对网络区域的增强性审计:网络审计、设备审计;
  (3) 针对办公区域用户上网行为的审计;
  (4) 针对终端区域操作的审计;
  在这个审计模型中,日志审计是核心。统一安全审计模型如下图所示:

在运用统一安全审计模型的时候,客户首先搭建起一个可扩展的安全审计基础平台,并建立起日志审计体系及其审计用户界面。此时,审计的功能和目标不必太多,重点放在对最广泛的IT资源采集日志,进行基础性审计之上。由于日志审计能力所限,对于一些重要的安全区域需要采用增强的专项审计机制,例如对网络区域的审计、对办公区域的审计、对业务核心系统区域的审计,等等。每类专项审计都采用具有专门技术的审计产品,例如基于本机代理的终端安全审计产品,基于网络协议分析的数据库审计产品和用户上网行为审计产品,等等。每类专项审计产品都必须实现统一安全审计基础平台的互联。最基本的互联就是各个专项审计产品能够将他们的审计结果以告警或者日志的形式发送给审计基础平台,由基础审计平台上的日志审计模块通过关联分析和告警给客户进行统一的展示,并通过基础平台向各个专项审计产品下发控制指令,由各个专项审计产品执行控制指令,阻断或者抑制违规行为。
  5 将安全审计与安全管理平台(SOC)进行整合
  通过对安全审计进行统一建模,我们可以发现,这个统一安全审计模型与安全管理平台(SOC)架构具备天然的相似性,他们都具有信息的采集、分析、存储和展示等功能组成,他们都强调对全网IT资源进行一体化的监控与审计。
  同时,对于已经或者即将建立统一安全管理平台(SOC)的用户而言,为了不增加安全体系的复杂性,需要将安全审计的需求与SOC需求一并进行统筹考虑。
  在论述网络管理与安全管理融合的文章中,我们已经分析了SOC2.0的统一管理模型,如下图所示:

图:SOC2.0的统一管理模型

对比两个模型,可以发现,本质上,统一安全审计模型就是统一管理平台 (SOC2.0)的一个纵向子集,只是更加关注于审计这个功能维度而已。此外,由于SOC2.0模型本身具备可裁剪性,因而这种融合也具有了可行性。如下图所示,展示了统一安全审计在SOC2.0中的映射关系:

 图:安全审计与安全管理平台的融合  通过安全审计与安全管理平台的融合,使得安全审计体系的建设与安全管理体系的建设目标达成了一致,有助于企业整体安全体系的形成和完善。对于客户而言,下一代的安全管理平台(SOC2.0)始终是IT管理的终极管理平台、一体化的平台。
  此外,借助统一安全审计体系与SOC2.0的整合,传统的对象安全审计提升到了业务安全审计的层面,更加体现出了统一安全审计给客户的价值。例如,借助SOC2.0的关联分析引擎和业务规则描述语言,用户可以定义如下的业务审计规则,并真正得以执行:

SOC2.0基于规则的关联分析引擎能够将业务规则描述转化为针对具体资产对象的审计规则,并根据从专项的日志审计产品、终端审计产品、数据库审计产品和应用审计产品中收集上来的信息进行关联分析,进行审计规则匹配,发现违规行为并进行告警和响应。

后记】对于安全审计与安全管理的融合其实在去年我就得出了这个论断,但是一直没有时间进行系统化的论述。今年,我将安全审计的技术和产品体系进行了梳理,为这篇文章的成稿打下了基础。在此,我要感谢我们TEAM的每一个成员,他们的聪明才智使我对安全审计和安全管理有了更深刻的认识,也希望读者能够从中得出自己对于安全审计的现在和将来的理解。