APP下载

基于IS027000网络信息安全风险评估系统的设计与实现

2010-03-20杨阳张佳鑫闫雪黄水清

微型电脑应用 2010年1期
关键词:薄弱点补丁漏洞

杨阳,张佳鑫,闫雪,黄水清

0 引言

信息技术在商业上的广泛应用,使得商业组织对信息系统的依赖性增大,信息系统遭到攻击以及由此引发的安全事故,会导致数据丢失和服务中断,影响企业正常的业务运作[1]。网络技术的发展在加速信息交流与共享的同时,也加大了网络信息安全事故发生的可能性。对信息系统进行风险评估,可以了解其安全风险,通过采取适当控制措施,从而在源头上减少信息安全事故的发生。本文构建了一个网络信息安全风险评估软件系统,该系统基于ISO/IEC 27000系列标准,对企业内部网络中的信息资产(本文指桌面计算机)进行风险评估,得到各资产的风险值、面临的威胁和存在的薄弱点的详细信息,并利用教育模块为如何实施控制措施以降低风险提供指导。

1 相关概念与系统简介

1.1 评估软件的种类

国外在风险评估工具的研究方面起步较早,已知的工具包括COBRA、@RISK、BDSS等,但这些工具多集中应用于国防安全领域,技术获取难度大,国内的信息安全测评技术还处于起步阶段[2]。评估软件呈两方面的发展趋势:一种是“漏洞扫描型”评估,利用漏洞扫描工具发现系统中存在的漏洞,评估的结果是生成漏洞报告并提出修改建议,当前绝大多数安全公司提供的风险评估软件便是这种类型;另一种是“政策对照型”评估,它吸取现代管理学的思想,将系统安全看成是管理控制的结果,管理控制则依靠一系列的法规、制度和流程来实现。通过发放调查问卷并分析反馈结果,验证这些法规、制度和流程的执行情况,评估的结果一般给出风险的等级。

1.2 ISO/IEC 27000系列标准

ISO/IEC 27000系列标准是“风险对照型”评估中应用较广泛的对照标准。它由国际标准化组织(ISO)和国际电工委员会(IEC)联合确认发布,为企业建立自己的信息安全管理体系(ISMS)提供参考。依据ISO/IEC 27000系列标准进行风险评估的核心思想是:信息资产的风险值主要由资产价值、漏洞值以及薄弱点值3因素决定,评估过程首先由信息资产评估、漏洞评估和薄弱点评估确定资产价值、资产漏洞值和资产薄弱点值,综合考虑已有控制措施等因素后计算得出风险值。

1.3 系统简介

本系统覆盖了依据ISO/IEC 27000系列标准进行评估的全过程,将“漏洞扫描型”评估和“政策对照型”评估结合在一起,既有漏洞扫描过程,又有基于ISO27000的评估功能。在不改变现有技术条件的前提下,以完备有效的信息安全管理体系解决内部网络信息安全问题,使内部网络信息安全管理和国际信息安全管理标准和规范接轨。

该系统可为管理者和企业员工提供信息资产(主要指桌面计算机)的安全信息,如:感染病毒的情况、已打和未打补丁情况、当日和历史累计威胁值和薄弱点值,并依据ISO/IEC 27000给出信息资产的风险值,在教育模块中给出解决方案,协助企业降低风险。

2 系统体系结构与开发平台

2.1 体系结构

该评估软件的体系结构可划分为9个模块,分别为:原始数据采集模块、通讯模块、原始数据接收模块、漏洞检测与评估模块、风险值计算模块、事件处理模块、报告生成模块、WEB模块、教育模块。其体系结构如图1所示:

(1) 原始数据采集模块

该模块依托一些杀毒软件的管理平台(如Symantec的SAV的Reporting Service,Trend Micro的Control Manager等),对这些管理平台的原始数据(包括客户端产品的信息,以及病毒日志、事件日志、漏洞日志等)进行增量采集,并通过HTTP协议传送到系统的服务器端。

(2) 通讯模块

该模块的主要作用是将采集到的原始数据,通过HTTP协议传输到服务器端,供服务器进行监控和分析。

(3) 原始数据接收模块

该模块将采集代理发送过来的原始数据进行预处理,然后插入到数据库相应的表中。

(4) 漏洞检测与评估模块

该模块对采集代理传上来的原始数据,进行挖掘(包括周期性的统计或者实时的监控),并根据用户设定的阈值触发一个安全管理事件。检测对象除了调研获得的关键性能指标外,还包括系统漏洞及主要的安全后门。这些漏洞大多数源自用户计算机的系统软件,如操作系统。针对这些漏洞,用户计算机的系统软件开发商,都会给出一些补丁来解决问题。因此,本系统会定期查找微软的补丁数据库,当发现管理的客户端没有打最新的微软补丁时,则认为该系统存在安全隐患,从而触发事件。

(5) 风险值计算模块

该模块依据ISO/IEC 27000的评估思想,按照预先设定的风险计算模型,计算得出信息资产的当日风险与历史累计风险。

当风险评估模块挖掘出风险或者潜在风险后,必须有一套较为完善的通知机制提醒相关的管理人员,并将知识库中相关的知识附在通知中,便于管理员找到解决风险的方案。

(7) 报告生成模块

报告生成模块根据风险评估模块和漏洞检测与评估模块的结果生成报告,报告包括建议采取的安全措施、解决方案建议、对系统相关的各类风险进行分析排序、对风险给系统带来的影响分析、风险与潜在影响的联系分析。

(8) Web模块

该模块是一个综合管理模块,一方面将其他模块获得或生成的信息,以既定的方式组织后,展现给管理者;另一方面负责客户、部门、资产等信息的管理和组织。此模块包括:客户管理模块、部门管理模块、风险视图总览模块、资产管理模块、显示补丁库信息模块、补丁管理模块、防病毒软件管理模块、病毒感染管理模块、密码管理模块、权限管理模块等。

(9) 教育模块

该模块收集并整理网络安全、病毒、ISO/IEC 27000的相关知识,并将其以多媒体形式展现出来。

2.2 系统的开发模式与实现平台

目前软件系统开发的模式主要分为两种:客户机/服务器(C/S)模式和 Web浏览器/服务器(B/S)模式[3]。本系统采用C/S结构与B/S结构相结合的方式来实现。与后台风险管理有关的原始数据采集、接收、通信和漏洞检测与评估模块是基于B/S结构的,其它模块客户端则通过Browser访问Web服务器以及与之相连的后台数据库。系统采用主流的 J2EE框架 SSH(即 Spring+Struts+Hibernate)进行开发,这是一种三层结构模式的分布式系统,它在TCP/IP的支持下,以HTTP为传输协议。采用该模式具有如下优势:客户端不需要安装软件,所有的程序和数据都放在服务器端,用户只需要用IE浏览器通过网络正确输入账号和密码,就可以进行信息浏览和操作;采用B/S模式的系统容易集成,维护工作量小,易于升级,可通过Internet远程访问;能实现不同的人员从不同的地点以不同的接入方式访问和操作共同的数据库。数据采集模块则采用C/S结构,利用SWT/JFace进行开发。通过用户机器上装客户端软件,实现对用户机器上病毒和补丁信息的自动检测。

系统后台操作系统可以采用目前市面流行的 Windows平台中的任意一种,编程语言为面向对象的 java语言,数据库采用 SQL Server2000,数据库操纵工具则利用Hibernate。Hibernate是一个O/R mapping框架,对JDBC进行了非常轻量级的对象封装,可以比较轻松地使用对象编程思维来操纵数据库。

3 功能模块设计

评估系统面向的对象分为后台管理者和普通用户两类,根据不同用户可设置相应的功能模块。面向后台管理者的功能模块,可协助管理者了解部门、员工及资产总体情况,明确风险种类及大小,并以知识库的形式,为如何处置风险提供了一些解决方案。面向员工的功能模块,展示了本部门目前面临的威胁和薄弱点情况,帮助员工明确风险。相比而言,该模块更主要的功能,是协助上报本部门的人员及资产信息,以满足管理者的评估需要。

3.1 面向后台管理者

(1) 用户信息管理模块

该模块可以显示、修改和删除所有接受管理的客户信息。其中可显示的内容有:用户名称、用户权限开通情况、电子邮件、联系电话、所属部门等,可修改的信息除包括上述基本信息外,还包括用户的登录名称、登录密码、密码提示问题、密码提示问题答案、是否开通用户权限等。当注册用户不是本机构员工时,可将其从用户列表删除。此模块可以让风险控制管理者,对企业员工的基本信息有所了解,一旦发生安全问题能够及时通知相关责任人。同时,此模块管理用户的登陆信息,决定用户是否有权限访问该评估系统,当出现用户忘记密码等情况时,可利用此模块解决。

(2) 部门信息管理模块

该模块可以显示、增加、删除、修改所有部门信息。通过此模块,风险控制管理者可以明确该组织的部门设置情况,有助于从部门的角度分析资产风险的关系。

该模块还可以显示、修改和删除所有信息资产的信息,包括:资产名称、操作系统名称和版本、IP地址、机器名称,资产赋值、资产所属部门、Agent Code。通过了解资产的种类和特性,可以更有针对性地控制资产的风险。此外,该模块的资产赋值,决定了在风险计算模块所需的关键参数资产价值,对整个评估系统起十分重要的作用。

(4) 风险值显示模块

该模块可以显示所有资产的当日风险值和历史累计风险值。它综合了系统整个评估流程中各个阶段的成果,利用计算模型最终得出风险大小的直观数值。当日风险值有助于即时控制信息资产的安全风险,一旦发现风险值过高,应立即采取措施。历史累计风险,值则有助于了解信息资产的历史风险,如若历史风险过高,则应查明风险值过高的原因,在风险管理中加大对该资产的重视程度。通过风险排序,可以明确风险管理的优先级。

(5) 风险视图纵览模块

该模块可显示信息资产当日与历史累计感染病毒的数目、名称、感染路径和感染时间,当日和历史累计未打补丁的数目、名称、简单描述及发布时间,还可显示微软补丁服务器上最近30天最新发布的补丁信息。当发现某机器的风险值过高或需要控制时,可从该模块了解资产威胁和薄弱点的详细信息,以便进一步采取措施。

(6) 教育模块

该模块包括3部分,分别为:网络安全知识库、病毒知识库、ISO/IEC 27000知识库,均以多媒体形式展示。信息安全管理仅仅做到发现风险是不够的,还需要知道如何控制风险,当安全问题发生时,应寻求解决方案将损失降到最低。这3个知识库即为信息安全控制提供知识支持,管理者可从中寻求解决方案。

3.2 面向普通用户

(1) 部门信息修改模块

在该模块员工可以更改本部门信息,如登陆密码,部门负责人,登陆标志,联系方式等,以便管理者准确了解各部门信息。

(2) 资产信息显示

可显示本部门资产的详细信息,如:资产名称、操作系统名称和版本、IP地址、机器名称、资产赋值等,也包括该资产目前安装的防病毒产品信息,已经或还未安装的补丁信息等。员工可以修改上述信息,也可以增加或删除资产。通过浏览病毒和补丁情况,还可了解部门资产面临的威胁和存在的薄弱点。

(3) 风险报告模块

在该模块中员工可以获取管理者发出的风险报告,包括:风险值及控制措施等。根据管理者给出的指导意见,实施风险管理。

4 风险计算方法

目前关于风险评估的计算模型很多,并无统一定论。根据ISO27001的风险评估实施步骤以及ISO13335-3中,风险分析方法的说明,本文采用线性相乘法与定性的相对等级法相结合的方式,确定风险评估的计算模型。该系统计算模型如下:R=f(A,V,T)=Ia*L(Va,T)=Ia*Va*T。其中,R表示风险;A表示资产;V表示薄弱点;T表示威胁;Ia是资产价值,表示资产的重要程度,即资产在发生安全事件后对业务的影响;Va表示目前存在的薄弱点,L表示威胁利用资产的薄弱点造成安全事件发生的可能性。

资产、薄弱点及威胁的赋值采用定性的相对等级法予以赋值,资产价值由业务人员直接给出,威胁和薄弱点由系统扫描而得。下面将详述如何确定3因素值。

资产(指桌面机器)的价值,由资产负责人(指业务员工)参照既定规则人工赋予,给资产价值进行赋值,除需考虑资产本身的价值及其对组织的重要性外,还需考虑资产的完整性、保密性和可用性。考虑到用户赋值的直观与方便,系统不设置各因素的单独赋值,而是给出提示信息,由用户综合考虑各特性后,给出一个关于资产重要性的最终结果。具体做法是:系统提供给用户一个下拉列表框,将资产的相对重要程度分为5级,分别为:很重要、重要、一般、不重要、很不重要,其相对应的资产值分别为5、4、3、2、1。假如某信息资产的相对重要程度为重要时,则资产值相应赋予4。

(2) 资产威胁值

如果把病毒和其他类型攻击相比较,从造成损失的排名来看,病毒在所有安全攻击中所占比例最高[4]。因此,该评估系统的资产威胁值,由用户机器所感染的病毒的情况决定。当杀毒软件检测到病毒后,安装在客户机上病毒监测器,自动将病毒日志传送给服务器,由于技术上的限制,本系统忽略了病毒危害的差异性,单纯依据病毒数量确定威胁的数值。赋值方式如下:设客户机感染病毒数量为N,当0=4时,威胁值为5。比如,客户机感染病毒数量为3,则为该资产的威胁赋值为4。

(3) 资产薄弱点值

薄弱点指能够被威胁利用从而对资产造成损害的漏洞,薄弱点可能存在于操作系统、应用软件、计算机服务硬件、系统的不合理设置及用户的错误使用,利用这些薄弱点,攻击者可以进入、篡改、关闭计算机系统[5]。解决系统漏洞的最佳方法是为其打补丁,补丁多由系统开发商发布[1]。由于技术上的限制,本系统只考虑操作系统的漏洞,资产薄弱点值,由客户机上安装补丁的情况决定,当客户机上存在未安装的补丁(微软已发布的),则认为该客户机存在薄弱点。具体做法是在客户机上装一个补丁监控,采集客户机上所打的补丁情况,传送个服务器。服务器端也会定期从微软的补丁服务器下载最新的补丁信息,然后通过比对,得到客户机未打补丁的情况。该值同样采用5级分类法,假设客户机上未安装的补丁数目为N,当0=4时,薄弱点值为5。比如,客户机未安装补丁数目为6,则为该资产的薄弱点值为5。

在计算风险时,系统考虑两种风险值,一是当日风险,一是历史累计风险。两种风险计算原理相同,当日风险仅考虑当日感染病毒数及未打补丁数,历史累计风险则考虑以往所有感染的病毒数及未打补丁数。

5 结束语

本文设计了一种“漏洞扫描”与“政策对照”相结合的网络信息安全风险评估软件,建立了一个比较可靠的风险计算模型,实现了对桌面机器的自动化风险评估。系统操作简单,容易理解。可应用于企业日常业务工作中,实现对风险的实时评估,当风险发生时能够及时发现从而对其进行控制。系统提供的教育模块,可以提高员工的信息安全意识,为实施风险控制提供参考。当企业进行大规模全面风险评估时,该系统可作为辅助工具参与评估。

该评估软件还存在一些有待改进的地方,比如,目前风险的计算模型采用定性分级法;资产的赋值存在一定程度的主观性;威胁值仅考虑了病毒的数量,忽略了病毒危害的差异性;薄弱点值仅考虑了操作系统的漏洞,忽略了其他因素;这些都对评估结果的准确性带来一定影响,因此将评估软件的风险计算模型进一步优化,是后续研究的重点。

[1]Rok Bojanc,Borka Jerman-Blažič.Towards a standard approach for quantifying an ICT security investment[ J ].Computer standards&Interfaces.2008,30(04):216-222.

[2]齐俊鹏,孙四明,王化鹏.信息安全风险评估专家系统技术研究[J].计算机仿真,2008,25(09):127-129.

[3]裴小斐,罗驱波.煤矿超市化物料管理系统的设计与实现[J].工况自动化,2008,(03):65-67.

[4]Gartner Inc..Gartner says number of identity theft victims has increased more than 50 percent since 2003[R/OL].(2007-3-6).[2009-6-6]. http://www.gartner.com/it/page.jsp?id=501912.

[5]Yeu-Pong Lai,Po-Lun Hsia.Using the vulnerability information of computer systems to improve the network security[J].Computer Communications,2007,30(09):2032-2047.

猜你喜欢

薄弱点补丁漏洞
漏洞
基于数据可视化的高速公路路网“薄弱点”分析
健胃补丁
绣朵花儿当补丁
补丁奶奶
高中数学课堂教学薄弱点及其教学对策初探
三明:“两票制”堵住加价漏洞
漏洞在哪儿
高铁急救应补齐三漏洞
大病医保期待政策“补丁”