摘 要:及时、准确地了解网络运行状态,并对校园网络安全做出评估,是保障校园网络安全的前提。本文设计了基于校园网的网络安全评估系统。
关键词:校园网;网络安全;安全评估
1 引言
校园网络是学校教学、科研、管理和对外交流的主要平台之一,由于网络的对外开放,对网络的安全性有很大的威胁,常常受到来自外部的网络攻击。但网络管理员虽然经常对计算机系统和网络进行检查,却很难发现其脆弱性。校园网安全评估能对其安全状况进行评估、风险分析、安全趋势分析,并对发现的安全隐患提出针对性的解决方案和建议。
2 总体设计思想
校园网络安全评估系统是对网络设备或计算机系统进行有关与安全相关的检测,找出安全隐患和可能被利用的漏洞,并根据检测结果自动生成可靠的安全性分析报告,提早采取措施,确保计算机系统和网络设备能正常运行。
3 校园网网络安全评估系统的实现
3.1系统总体结构
本文设计的校园网网络安全评估系统采用客户端/服务器的结构,客户端是一个控制平台,它为用户提供了方便、友好的界面,在扫描检测前设置服务器,在扫描检测过程显示扫描进度,在扫描检测和评估后提交评估报告。服务器端集成了脆弱性数据库、扫描结果库、扫描协调模块、各个检测模块、安全评估模块,它主要用于脆弱性扫描和安全评估。采用客户端/服务器这种结构能够在不同的操作平台上使用,从而可以减少系统开发和维护的难度。
3.2客户端的设计
客户端为用户提供了方便、友好的界面,在扫描检测前设置服务器,在扫描检测过程显示扫描进度,在扫描检测和评估后提交评估报告。它主要由用户登陆模块、扫描信息显示模块、扫描和评估结果报告模块组成。
3.3客户端的实现
在本文所设计的系统中,客户端和服务器端的通信使用套接字即Windows Socket。
①客户端的工作流程
2) 扫描流程
② 客户端实现
客户端操作界面由主程序界面、扫描界面、服务器连接界面构成。下面给出构造主程序界面时系统所采用的变量和函数。
变量或函数 功能描述
CMainView() 构造函数 CMainView() 解析函数
OnServerDisconnect() 响应断开服务器 OnServerPluginList() 响应服务器插件列表
OnServerPluginPara() 响应服务器插件参数 OnServer Parameter() 响应服务器参数
OnSessionNew() 响应新建一个会话 OnSessionDelete() 响应删除一个会话
OnSessionResult() 响应会话结果 OnSessionAttribute() 响应会话属性
OnSessionExec() 响应会话执行 OnServerConnect() 响应连接服务器
③ 采用的主要数据结构
struct brg {
char *name; /*节点名字*/
folat *value; /*节点值*/
int *type; /*节点类型*/
long lenth; /*节点值的长度*/
struct brg *next; /*下一个节点的位置*/
};
客户端的所有全局变量都连接在brg 结构组成的一个链表globals 上,该链表上包括设置信息、用户信息。
3.4服务器端的设计与实现
服务器端主要由系统控制模块、扫描数据库、扫描程序库、安全评估模块组成。
①系统控制模块
系统控制模块是服务器端的重要部分,它不断的接收客户端的请求,然后根据请求的内容,调用相应的扫描模块进行处理,对客户端的请求进行响应。
② 扫描数据库
1) 脆弱性数据库。
由于每个插件和脆弱性是一对一的关系,所以脆弱性应包括。具体包括:脆弱性编号、插件ID 号、插件名称、CVE 编号、发布日期、更新日期、脆弱性名称、脆弱性描述、脆弱性级别、脆弱性类型、风险系数、风险系数权重、受影响的操作系统、系统开启的服务、相应的解决方法或补丁程序的说明字段等。
2) 扫描结果库。
它主要存放经检测验证后确实存在的脆弱性的相关检测信息,包括目标主机信息表、发现脆弱性表、发现服务表等字段,用于记录目前检测到的相关信息。
3) 扫描历史记录库。
它主要记录在某段时间内所有的扫描记录。包括目标主机的基本信息、扫描的日期和时间等。根据该扫描历史记录库能够对同一目标主机或网络的扫描结果进行比较,可以得出该目标系统安全趋势,从而帮助系统安全管理员根据目标系统安全趋势,采取相应的安全措施做到防患于未然。
③安全评估模块
该模块通过扫描结果、前面建立的脆弱性风险评估模型以及构造的比较矩阵求出网络的风险大小,从而可以帮助网络安全管理员采取相应的安全防御措施。
4 测试用例
在这里我们对某职业技术学院校园网络进行了测试,在这个网络中有一个防火墙A3,IP 地址为:100.100.100.3,一个服务器A2,IP 地址为:100.100.100.4,三个客户机,客户机B1,IP 地址为:100.100.100.13,客户机B2,IP 地址为100.100.100.24,客户机B3,IP 地址为:100.100.100.29。
①服务器A2 上的信息:
1) 打开的端口和提供的服务有:
21/tcp ftp 服务
23/tcp telnet 服务
25/tcp smtp 服务
80/tcp http 服务
139/tcp netbios-ssn 服务
2) 扫描到的系统信息有:
通过扫描发现这个主机使用的操作系统Linux2.1。
3) 扫描到的脆弱性信息有:
在端口21/tcp 上发现wu-ftp 2.60 远程溢出脆弱性。具体为只要有一个匿名FTP 帐号就能够获取远程管理员权限。它的破坏系数为0.9,传播系数为0.7,容易系数为0.6 , 追查系数为0.7 , 它的风险大小=0.9*0.55+0.7*0.10+0.6*0.30+0.7*0.05=0.78
②客户机上的信息
1) 打开的端口和提供的服务有:
135/tcp loc-srv 服务
139/tcp netbios-ssn 服务
2) 扫描到的系统信息有:
通过扫描发现这个主机使用的操作系统Windows NT4
3) 扫描到的脆弱性信息有:
在端口139/tcp 上发现netbios 共享脆弱性。具体为主机允许文件共享使得它们容易受到黑客和某种快速移动的病毒的攻击。它的破坏系数为0.6,传播系数为0.7,容易系数为0.4,追查系数为0.5,它的风险大小=0.6*0.55+0.7*0.10+0.4*0.30+0.5*0.05=0.545
4.安全评估
经过以上脆弱性和其他安全的扫描所得到的信息,通过评估模块,结合模块的系统评估方法,对系统的风险等级及安全性能进行评估,并给出提高系统安全性能的专家意见。
4.1漏洞风险等级存在不同类型的系统漏洞
包括:允许拒绝服务的漏洞:允许有限权限的本地用
户未经授权提高其权限的漏洞:允许外来团体未经授权访问网络的漏洞。
漏洞的类型按照受害主机的危险程度分为A、B、C三个等级。其中A级漏洞能够使远程主机的恶意入侵者获得有限的访问权限或administrator/root权限,进而控制整个系统。B级漏洞指允许本地用户获得增加非授权的访问。C类是使用应用系统的漏洞获得某个入侵点,采用上传木马等途径获得系统的权限从而入侵并达到破坏目的。
4.2系统风险等级
目前国际上没有一个统一的被广泛接受的网络安全标准,而一个安全标准的制定是一个国家,甚至是互联网师姐才可以完成的。我们这里将系统扫描出来的风险分为A、B、C、D四级,对应的安全等级为低级、中级、中高级、高级。在此我们认识到制定一个科学的被广泛接受的系统风险等级标准还有很多工作要做。
4.3网络安全评估
网络安全评估原则“最薄弱环节公理”任何计算机网络安全性的强度取决于它的最薄弱环节。本网络安全评估系统为:根据漏洞的风险等级和各个模块对校园网络总体的安全性能的重要性来进行评估。其中漏洞风险等级根据扫描检测出的漏洞风险等级的综合度来确定。其他应用系统的评估根据应用系统提供的服务来确定。如防火墙、路由器、DNS等是等级最高的,FTP、WWW等应用次之,其他个人主机等级最低。网络安全风险= 漏洞风险 x 应用系统重要性等级,经过本文的架构大致分析,就能大体确定校园网络的安全性。
5.结束语
校园网的安全成为一个涉及技术、管理的综合性工程,运用本文的提出的扫描手段,可以找出校园网各系统中存在的技术上的安全隐患,通过实施安全评估可以消除系统上的高等级风险。但要做到校园网各类信息系统的安全,还必须建立一套完整的管理方法,形成一套适合自己校园信息系统各类事件的方法论,特别是提高信息系统的使用者的安全意识,才能有效确保校园信息系统的安全。
参考文献:
鲍友仲.飞思科技产品研发中心改编.网络安全之防黑秘诀.电子工业出版社.2002