基于Windows Server 2003的安全评估系统研究

时间:2022-08-12 05:25:16

基于Windows Server 2003的安全评估系统研究

【 摘 要 】 在信息技术高速发展的今天,主机安全逐渐成为一个潜在的巨大问题。为有效地保护主机系统安全,避免遭受攻击,因而出现了针对保障主机系统安全的安全评估系统,其目的是在主机遭受恶意攻击之前,对主机的安全状况进行评估,让使用者了解主机的安全状况,以便采取相应的防范措施和设置相应的安全策略。主机安全评估系统是一个安全评估平台,其通过调用各个模块,完成对系统的整体评估。本文首先从系统需求分析着手,其次利用面向对象的设计方法完成模块的设计和实现过程。

【 关键词 】 Windows Server 2003、安全评估、审核

The Research of Security Assessment System based on Windows Server 2003

Li Bing-bing 1 Wang Shuang 2

( 1.Foshan Polytechnic GuangdongFoshan 528137;2. Zhengzhou Technical College HenanZhengzhou 450121 )

【 Abstract 】 the rapid development in information technology , computer security has become a potentially huge problem. In order to effectively protect the host system security, avoid an attack, and appeared to security assessment system, its purpose is to host malicious attacks before, with the host security status was assessed, allow users to understand the host security condition, so that take corresponding preventive measures and setting the corresponding security strategy. Host security assessment system is a safety assessment platform, through the invocation of each module, system to complete the overall assessment. This paper from the system requirements analysis, followed by the object oriented design method to complete the module design and implementation process.

【 Keywords 】 windows server 2003; safety assessment; audit

0 引言

随着计算机网络的发展,计算机网络安全成为人们关注的话题,越来越多的个人用户参与到互联网络的活动中来。在信息时代,信息可以帮助团体或个人,使他们受益,同样,信息也可以用来对他们构成威胁,造成破坏。随着Windows Server 2003操作系统使用的范围越来越广,被发现的漏洞越来越多,这就需要网络管理员不断地对系统进行修补,但由于Windows Server 2003系统的复杂性,新的安全漏洞总是层出不穷。因此,除了对安全漏洞进行修补之外,还要对系统的运行状态进行实时监视,以便及时发现利用各种漏洞的入侵行为。如果已有安全漏洞但还没有全部得到修补时,这种监视就显得尤其重要。我们可以通过安全审核功[2]能来实现这一监视。其实这是Windows自带的一项非常有用的功能。因此,用安全技术、安全策略、安全模型和安全法规等安全措施来保证网络安全成为当前信息领域的研究热点,并受到了人们的广泛关注和极大重视。

1 需求分析

审核是指“为获得审核证据并对其进行客观评价,以确定满足审核准则的程度所进行的系统的、独立的并形成文件的过程”。 审核是一种评价过程.这种评价是以审核准则为依据,以审核证据为前提,然后进行客观的评价。并通过评价来确定评价对象的符合性和有效性,从而找出可以改进的方面。审核准则可以是要求或规范标准。适用的法律法规,也可以是组织自己编写的管理体系文件;审核证据可以是审核员观察到的活动事实、文件或记录等。

1.1 基于主机的安全需求

每当用户执行了指定的某些操作,审核日志就会记录一个审核项。计算机上的操作系统和应用程序的状态是动态变化的。作为企业风险管理项目的一部分,定期分析可以使管理员跟踪并确保每个计算机有足够的安全级别。分析的重点是专门指定的、与安全有关的所有系统方面的信息。这使管理员可以调整安全级别,而且最重要的是,可以检测到系统中随着时间的推移而有可能产生的所有安全威胁。

1.2 基于评估系统的安全需求

从本论文角度上来讲,当前对评估系统的研究工作,主要存在几个问题:(1)插件个数不够细化;(2)并无单一的插件是关于审核策略评估的,甚至在则策略扫描中也没有关于审核策略评估;(3)一些企业更侧重于对审核策略的研究。

根据以上的分析,可以得知要对评估系统进行细化的方法之一是专门添加一块审核策略的评估。这是对评估系统的完善,同时也对一些企业的需求做了一下补充。为了对审核策略便于管理,要收集9个审核策略类型的所有安全事件信息,设计自己的安全评估库,并且要对所有的审核策略进行原理分析。安全评估库中存放了审核策略的9个类型、相关配置情况和配置安全等级。只有这样系统管理员才能真正得知主机的审核策略配置情况。

1.3 运行环境

本系统运行在Windows Server 2003 服务器 环境下,装有ACCESS数据库。

2 总体分析和关键技术

2.1 研究方案

源于审核策略评估是安全评估系统的新模块,在了解主机评估系统的功能设计的基础上,需要了解审核策略的配置类型。在经过研究后,发现主机评估系统是基于插件(形式为动态链接库,DLL库),而且审核策略在注册表中很难查出相关配置。但是审核策略的配置一定会产生相关的安全事件,并记录在安全日志中。因此需要研究安全日志的数据存储格式和如何获取相关信息。

在获取“事件类型”和“事件ID”之后,先让“事件ID”与已知的安全事件库比对获取安全事件库的值。然后刚获取的“事件类型”(成功、失败)与值进行“&”运算,得出审核策略的配置情况。最后根据审核策略配置与安全评估库的比对,得出安全配置的等级。

2.2 关键技术

(1)插件的机制

在于不修改程序主体(平台)的情况下对软件功能进行扩展与加强,当插件的接口公开后,任何公司或个人都可以制作自己的插件来解决一些操作上的不便或增加新的功能,也就是实现真正意义上的“即插即用”软件开发。 这里主要是通过DLL库的使用实现的。

(2)动态链接库(DLL库)

在Windows中存在一种叫做DLL(Dynamic Linkable Library)的文件,这种文件可以提供一些应用程序可以导入的数据、函数和类。

一般情况下DLL主要是为外部应用程序提供可调用的函数,因此在DLL中必须定义一些函数。DLL中的函数如果是外部应用程序可以调用的,那么这种函数叫做导出函数,导出函数在客户端叫做导入函数。

DEF(Module Definition File)文件又叫模块定义文件,这是一个用于描述DLL属性的文本文件,每个DEF文件一般要包含以下模块的定义语句:LIBRARY语句,指出DLL的名字,将把这个名字放到DLL库中;EXPORTS语句,列出库中导出函数的名称及导出函数的序号。DISCRIPTION描述语句。

在创建DLL时,编译链接器将要使用DEF 文件创建两个文件:一个导出文件(.exp)和一个导入文件(.lib),然后使用导出文件(.exp) 再创建DLL文件。

(3)数据库的使用

考虑到网络安全评估系统工作在Windows平台,且该系统所使用的数据库规模不是特别大,但要求该系统在其他操作系统上的适应性要好,而且有合理的数据库的访问技术,对于提高整个安全评估系统的性能是至关重要的,故采用Windows平台上ACCESS数据库。

(4)扫描安全日志的审核事件技术

MFC封装了决大多数的API函数,因此利用相应的API函数可以对安全日志的相应信息进行读写操作。

3 详细设计

3.1 系统的相关算法

这里的算法主要是研究评估标准。源于目前并无有关审核策略评估规范的评估标准,根据微软“Microsoft TechNet”网站提供的“创建Windows Server 2003 服务器的成员服务器基准”,本文自定义审核策略评估标准。其中,“成功审核”是个安全事件,“失败审核”也是个安全事件;换言之,没发现“成功审核”和“失败审核”则是不安全的。其设置如 表1和表2所示.

3.2 库设计

本文中用到三个库:AuditPingGu表、Auditshijian表和Vulnerability表,主要设计了AuditPingGu表和Auditshijian表。其中,AuditPingGu表定义和保存了审核策略评估信息,Auditshijian表定义和保存了审核事件的信息。如表3 Auditshijian表定义和表4 AuditPingGu表定义。

3.3 核心代码

_RecordsetPtr serset;

CString serSQL;

ADOConn m_AdoConn;

_variant_t var;

// variant_t类封闭了VARIANT数据类型,VARIANT是一个结构体类型,

CString strName;

serSQL="SELECT sheheleixing FROM Auditshijian

WHERE shijianID ='"+sTrEventID+"' ";

//已经找到与事件ID相匹配的

_bstr_t sql=(_bstr_t)serSQL;

serset=m_AdoConn.GetRecordSet(sql);

try

{

while(!serset->adoEOF)

{

var = serset->GetCollect("sheheleixing");

if(var.vt != NULL) //.vt是变体类型

{

strName = (LPCSTR)_bstr_t(var); if(strName=="审核系统事件"&&

event_category=="失败审核"&& shdx[0].failure=="假")

{

shdx[0].failure="真"; //shdx[0] :失败 审核系统事件;

serset->MoveNext(); break;

}

else if(strName=="审核系统事件"&&

event_category=="成功审核"&&shdx[0].success=="假")

{

shdx[0].success="真";//shdx[0] :成功审核系统事件; serset->MoveNext();

break;

}

}

4 总结

本文针对Windows Server 2003的安全问题展开研究,设计其安全评估系统,首先根据当前社会的需求进行了需求分析,其次又对系统进行总体分析和关键技术的介绍,最后对系统进行了详细的分析,对系统采用的算法,库的设计和核心代码都进行了细致的描述。由于篇幅不足,本文对整个系统的描述难免有不足之处,希望此方面研究的同行,共同研究和探讨。

参考文献

[1] 苗军民,张彬,刘劲松.Windows Server 2003的安全机制分析[D].网络安全与应用,2007.

[2] 王静.主机安全风险评估方法研究[D].软件导刊,2007-08.

[3] 杨忠仪,蔡志平,肖侬.插件技术在安全扫描中的应用[D] .中国科技信息,2006,8.

[4] 吴金平等.Visual C++编程与实践[M] .北京:中国水利水电出版社,2004.

作者简介:

李冰冰(1974.- ),女,河南孟津人,本科 ,佛山职业技术学院信息中心,助教;研究方向:计算机网络。

王爽(1972-),女,河南沈丘人,工学硕士,郑州职业技术学院软件工程系,讲师;研究方向:计算机应用技术。

上一篇:对建立金融机构反假货币工作激励机制的思考 下一篇:天津滨海电力新局