计算机数据库编程培训范文

时间:2023-10-19 16:07:50

导语:如何才能写好一篇计算机数据库编程培训,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。

计算机数据库编程培训

篇1

【关键字】计算机数据库;系统

中图分类号: G250 文献标识码: A 文章编号:

前言

新世纪以来,随着经济的发展,计算机在我国得到了很好的推广,各行各业都能见到各类计算机的身影;另外一方面,随着软件技术的发展和现代管理的现实需要,很多机构和个人需要对计算机数据库进行一定的管理工作,而很多人缺乏必要的计算机培训,往往在管理过程中不可避免地出现这样那样的小问题,本文将系统讨论数据库的管理,为大家在管理计算机数据库工作方面提供一些参考。

二、计算机数据库管理系统的层级结构

通俗地来说,计算机数据库管理系统是人们用来实现对数据库操纵和管理的大型软件,数据库管理系统可以实现对数据库的建立操作、使用操作以及维护操作,也有人把数据库管理系统成为DBMS。一般来说,数据库管理系统对计算机数据库进行统一的控制和管理,并充分保证数据库的安全性以及完成程度。系统用户可以通过DBMS轻松访问数据库中存储的数据,而权限更大的管理员则可以进行数据的维护操作以及其他一个操作。

显然,计算机数据库管理系统为用户提供了多种功能,为用户在不同时间以及不同网络状态下实现对数据库的建立操作,修改操作以及查询操作。此外,数据库管理系统还未用户提供了定义数据库和操纵数据库的工具接口,充分保证数据库数据的安全性和完备性,在必要的时候系统可以帮助管理员实现对数据库的并发控制操作和恢复操作。

从软件学的角度看,可以将数据库管理系统分为多层,依次如下:

最低层,操作系统层。操作系统是数据库管理系统的基础,往往使用操作系统提供的源代码和存取方法实现对数据库管理西戎存储层的接口。

第二层,数据存储层。数据存储层介于操作系统和数据存取层之间,用于处理缓冲区和数据页的数据。

第三层,数据存取层。数据存取层主要试点对单个元件的处理,将相关操作处理,并装换为单记录操作。

第四层,语言翻译处理层。这一层的主要作用是对数据库语言的各类语句进行语法分析操作、识图转换操作、授权检查操作以及完整性检查操作等。最高层,应用层。应用层是整个数据库管理系统的最高层,用于进行各项数据应用的相关处理。三、典型数据库——SQL Server数据库

SQL Server是最为典型也是应用最为广泛的数据库,具有不可替代的代表性,本文在此探讨该数据库的相关内容SQL Server是关系数据库管理系统,它的特点如下:

管理工具完备。SQL Server中配备一套完备的管理应用编程接口和管理工具,能够极为简单地对大型SQL Server构架的数据库进行管理。可用性极高。SQL Server系统拥有完备的失败转移集群技术和数据库镜像技术,能够充分保证用户在构建数据库方面和管理方面的安全性和稳定性,可应用性很强。

安全性极高。SQL Server在加密技术上很有建树,对安全的设置、密码设置、安全模型的搭建以及数据库加密方面均有很强的可操作性。可伸缩性很强。SQL Server能够轻松实现表格分区操作,此外,复制能力的增强以及64位的支持也是SQL Server可伸缩性的表现。

SQL Server数据库充分提高了数据的一致性,大大减少了数据的冗余度,从而降低了数据的不一致性,进而有效规避了互相矛盾报表的产生。SQL Server将数据的描述和对数据的应用进行了有效分离,所以不会出现由于数据定义方面的变化而导致的应用程序变化,极大程度上降低了程序维护的开销费用。四、计算机数据库管理技术

针对数据库的结构特点,本文提出以下几点计算机数据管理方法:

防火墙技术

防火墙技术是最常见的访问控制技术,能够有效防护内部网络免受外部网络的攻击,轻松实现隔绝非法信息资源的访问,实现对特殊站点的访问控制,实现对易受攻击对象的保护,实现对网络访问的审计。一般说来,防火墙技术主要有包过滤技术和技术两种,这两种技术各有优劣,灵活使用,防护效果很好。

2、用户认证技术

一般来说,基于web的数据库应用系统往往涉及很多重要数据和机密数据,这些数据一旦泄漏,后果很严重。为了充分保护这些机密数据,可以通过对用户认证技术实现,以保证系统数据的安全,而用户认证技术主要涉及到session对象和http headers两个部分,通过判断用户输入的URL以及口令验证方式等实现对访问的控制。

3、权限控制方面

数据库系统管理员可以通过设置各种不同类型用户的权限实现对数据库的安全管理。一般来说,管理员(administrator)拥有最高管理权限,而企业的高层管理和相关负责人员的管理权限次之,普通员工和游客的权限较低,只能浏览部分数据。

4、监视跟踪

数据库系统中日志系统具有综合性数据记录的功能以及自动分类检索的功能,能够轻松实现对数据的监视和跟踪,通过对重点数据的监视和跟踪实现对数据的保护。

5、存储方面

管理员建立一个存储过程,通过内嵌的SQL 命令实现对存储过程的命令,这种存储命令具有典型的面向对象的特征,有助于保证系统数据的安全和可靠。

6、数据的备份和恢复

对于重点数据和核心数据,管理员和高层管人人员要建立起健全的数据备份和恢复机制,充分保证数据的安全。

五、计算机数据库管理系统

(一)数据库产品差异化发展与数据库技术尖端化发展

随着信息技术的发展及数据库应用领域的逐步增加,数据库管理系统。产品的差异化发展逐步明显.差异化商品的生产满足了市场的多元需求。同时数据库技术的尖端化发展包括智能化、一体化、集成化极大地提高了数据库管理系统的应用性能和适用性。

(二)数据库技术发展系列化加强

数据库技术的发展一方面推动了社会应用的发展,另一方面也促成新技术的诞生和应用。数据库技术从简单到复杂,功能从单一到多元极大地带动了相关技术的发展与变革,促成了相关技术体系的建成。计算机数据库管理系统是实现数据库管理的有效技术形式,是便利计算机数据库管理的有效途径,因而我们应切实加强研究。

六、用Access软件开发的数据库系统实例分析

Access是微软公司开发的一个数据库软件,是一种关系型的桌面数据库管理系统,其操作性简单、界面采用总控窗体的形式。

这些年,由于经济的迅猛发展,企业发展极为迅速,企业人员增加,对企业来说,人员的信息越来越多,对信息处理的要求也越来越高,手工管理的弊端日益显露,解决这个问题的最好办法是显现教工管理的自动化,用计算机处理代替手工。由此,企业管理者利用Access编写了一个企业员工管理系统。员工管理系统是一个简单的数据库应用系统,它所实现的功能包括:

员工管理:管理员工的基本资料和工资,何以浏览、增加、修改和删除员工资料和工资信息。

管理者管理:管理者的基本信息以及管理者所管理的部门信息,可以浏览、添加、修改和删除管理者信息及其管理的部门信息。

在完成了“员工管理系统”中所有的功能设计之后,就要对这些功能进行集成,以供用户方便使用,所以,要用到Access中的切换面板管理工具把各项功能集合起来。完成这个之后,整个企业员工管理系统就设计完成了。该系统设计简单,但足以满足一些企业对员工管理的需要。

七、结束语

进入21世纪以来,人类进入了后计算机时代,各种类型的信息量剧增,数字技术、计算机技术以及数据库技术空前发达。很多行业和机构在正常办公和管理过程中都要涉及到计算机数据库的管理。本文分析了数据库管理的相关知识,研究了计算机数据库管理的相关技术,希望能够为众多的数据库管理人员提供一定的参考。

【参考文献】

[1]张本华 浅谈数据库管理要点[m] 计算机和光盘技术 2008

篇2

【关键词】计算机审计 风险分析 应对措施

一、计算机审计风险概述

1、相关概念的定义

计算机审计,在国内外学术界有多种叫法,例如EDP审计、电算化审计、信息系统审计等等。尽管叫法不同,但其含义基本相同。计算机审计是指审计人员把计算机作为审计的对象或工具,对经济信息系统所进行的审查。它包括计算机经济信息系统审计和计算机辅助审计。

计算机审计风险,是指审计人员不能正确合理地运用计算机审计技术,从而导致审计结果与事实不相符,发表不恰当的审计意见而给审计主体带来损失的可能性。

2、计算机审计风险的种类

⑴系统环境风险。系统环境风险是指电算化经济信息系统本身所处的环境引起的风险,分为软件环境风险和硬件环境风险。

⑵系统控制风险。所谓系统控制风险是指电算化经济信息系统的内部控制不严密造成的风险。

⑶财务数据风险。财务数据风险是由于财会人员在对财务数据录入时采用虚假、修改、延迟等手段造成虚假财务数据而产生的风险。这种风险是指电子财务数据被篡改的可能。

⑷审计软件风险。审计软件风险是指计算机审计软件本身缺陷原因造成的风险。

⑸人员操作风险。这种风险是指计算机审计系统的操作人员和开发人员等在工作中由于主观或客观原因造成的风险。

二、计算机审计风险的成因

1、计算机数据处理系统日趋复杂

目前已经通过评审的电算化软件有很多种,这些软件基本上符合财政部颁发的《会计核算标准基本功能规范》,但从基本功能模块的划分到数据库文件的设置,从采用工作平台到使用的计算机开发语言,从单项开发到系统开发,从单纯使用关系型数据结构到应用大型数据库资源等,可以说是千姿百态,各有千秋。正是由于计算机数据处理系统的复杂性,使得文件记录和系统操作都缺乏标准和规范,这就给审计人员的操作增加了难度,对审计结果产生错误的可能性也就大大增加了,因而产生了系统环境风险。另外随着信息技术的高速发展,电算化经济信息系统不再是孤立的和独立的,病毒、黑客的入侵随时可以威胁系统的安全。因此,审计的系统环境风险增大。再由于计算机硬件设备的千差万别,对电算化经济信息系统的运行带来影响增加,审计人员在操作中出现差错的可能性也随之增加,因而也容易产生审计风险。

2、审计方法、方式日趋复杂

经济信息系统电算化后,审计方法和方式有了很大的变化,由于被审计单位采用的应用软件有的是商品化软件,有的是自行研究开发的软件,在功能、程序处理上都有着一定的差别,并且根据审计要素和对象的不同,其要求运用的审计方法和方式也不一样,从而增加了审计人员工作的复杂性,审计人员如果对软件不熟悉或采用了不当的审计方法或方式就容易做出错误的审计结论,必然会带来审计风险。

3、内部控制方法发生了改变

在手工系统中,内部控制的测试是看得见、摸得着的,但在电算化经济信息系统中,内部控制的方法发生了很大的变化,这时传统的手工控制措施已经不能达到其控制目的了。经济信息系统电算化以后内部控制方法的改变主要表现在:一是内部控制措施由手工控制为主转向以计算机控制为主;二是手工条件下的控制措施在电算条件下已经失效,代之以新的手工控制措施,如电算部门与各职能部门之间,电算部门内部各类人员之间的职责分离等控制措施。这些改变使得内部控制环境的复杂性增加,于是让舞弊者有机可乘,从而产生审计的控制风险。

4、传统审计线索逐渐消失

审计线索对审计人员是极为重要的,审计人员正是跟踪审计线索,审核经济业务,收集审计证据,从而完成审计任务的。在手工会计系统中,从原始凭证到记账凭证、账簿以及财务报表的编制,每一步都有文字记录,都有不同的经手人签字,审计线索十分清晰。但在电算化经济信息系统中,经济信息大都存储在磁盘或磁带上,因此,肉眼所见的线索减少了。况且,存储在磁盘上的数据很容易被修改、删除、隐匿、转移,又无明显的痕迹,因此,审计人员发现错误的可能性就减少了,而审计风险就增加了。

5、审计软件存在缺陷

早期,我国会计软件的编制基本上用的是Dbase系列数据库,以后又改进为使用FoxBASE、Visual FoxPro等,随着新的编程工具的出现以及会计软件的进一步成熟和深化,软件有了更多选择,如Microsoft ACCESS、 Informix Sybase等。会计软件在不断升级,而审计软件不能跟上形势,采取的相应升级措施相对滞后,影响了审计效率和质量。审计软件风险还表现在软件的开发过程中,由于计算机人员对审计、会计业务不熟,造成软件自身的不完善,运行不稳定或审计计算、分析的偏差。审计软件存在的缺陷风险已成为影响计算机审计检查风险的重要因素。

6、审计人员计算机知识缺乏

目前,大部分审计人员对于计算机知识普遍缺乏。不懂得计算机的审计人员,会因为审计线索的改变而无法实施审计;会因为不懂得电算系统的特点和风险而不能识别和审查其内部控制;会因为不懂得计算机而无法对电算系统进行审查或利用计算机进行审计。因此,审计人员必须掌握计算机与电算化经济信息系统方面的知识和技能,否则,审计人员做出的审计结论有可能偏离被审计单位电算化经济信息系统的实际,从而造成审计风险。

三、计算机审计风险的防范

1、完善计算机审计准则

目前审计准则有:国际会计师协会于1984年公布的《国际审计准则15――电子数据处理环境下的审计》和《国际审计准则16――计算机辅助审计技术》、1996年审计署的《审计机关计算机辅助审计方法》、1999年施行的中国独立审计具体准则第20号《计算机信息系统环境下的审计》等。面对日益发展的计算机审计,需要针对新的形势建立一系列与新情况相适应的审计准则,应加强计算机审计人员考核培训准则、电算化经济信息系统开发审计准则、电算化经济信息系统内部控制审计准则、审计应用软件准则,以此来规范计算机审计业务的发展,将审计风险降低到可以接受的水平。

2、选择恰当的审计方式与方法

审计中,审计人员可以根据被审计单位不同的系统而采取不同的审计方法和技术,从而有效地降低审计风险。例如:当打印文件充分且与被审计单位输入输出联系比较密切,能直接核对时,可采用绕过计算机,用核对、复核、分析等审计技术;当被审计单位采用实时处理,纸质的审计线索较少且输入输出不能直接核对时,则可采用通过计算机审计的方法。其次,选择合理的审计方式。对于电算化经济信息系统审计一般应采用就地审计或突击审计的方式。在进行审计时,可以采用事先不通知操作员或程序员的情况下,把系统中正在运行的数据拷贝出来进行审查,以防操作员把数据篡改、删除等,只有这样,才能保证被审程序和数据的正确、完整性,也才能有效地降低审计风险。

3、加强内部控制制度的审查

内部控制制度是审计的基础,为了确定这个基础是否扎实,即内部控制制度是否健全、有效,审计人员就必须对被审计单位的内部控制制度进行审查。在分析和评价被审计单位电算系统内部控制制度时,应遵循以下步骤:一是调查分析系统可能存在的错误类型和非法行为;二是明确预防或发现错误应有的内部控制;三是分析被审计单位现有的内部控制是否充分;四是分析被审单位现有的内部控制措施是否有效。只有充分审查以保证内部控制制度的完善和有效,才能减少审计中的控制风险。

4、保证财务数据的完整性

为保证财务数据的完整性,审计人员在审计时必须认真检查被审计单位所提供的数据是否真实、是否属审计时间范围内的财务数据。同时,审计人员获得的财务数据,应该是被审计单位财务人员对财务数据作现场备份所得的。审计人员只有从这几方面把握才能较好的保证财务数据的完整性,减少因审计线索的改变所带来的审计风险。

5、努力开发实用高效的审计软件

为了给计算机审计打开通道,就必须不断研究开发审计软件。在数据采集方面,要求这种软件能够容易访问被审计单位不同介质、不同编码、不同数据类型的数据库,从中采集审计所需的原始数据。在数据分析方面,在现有审计软件功能的基础上进一步开发新的分析工具。例如:针对企业审计领域的固定资产折旧审计工具和产品利润情况分析工具等,针对金融审计领域的利率检查工具等。在增加面向特定领域的分析同时,还要增加一些基于特定方法的分析工具,如账户分析、比较分析等。只有开发出实用高效的审计软件,才能解决因审计软件本身的缺陷所带来的审计风险。

6、提高审计人员的计算机素质

目前提高审计人员计算机素质可以采取以下措施:一是大力加强审计人员计算机技能的培训力度。在此基础上进行中级、高级的培训,将培训的内容深化并拓宽。二是将计算机知识和审计知识融会贯通,计算机技能与审计思路的结合,培养既懂计算机又懂会计和审计的复合型知识结构的审计人员。三是要建立各类培训的跟踪反馈机制,分析通过培训后在实际业务中发挥的效用,及时检验培训的效果。四是建立计算机审计的激励机制,对计算机应用中有创新的人员和对利用计算机审查出问题的人员予以奖励。

四、结论

经济信息系统电算化的发展不仅是向审计工作提出新的挑战,同时也为审计人员提供了新的用武之地,为审计带来发展的新机遇。开展计算机审计时,审计人员只有做到全面分析计算机审计风险的形成原因并认真落实其防范措施才能够提高审计的工作效率和质量,促使电算化经济信息系统向更高目标迈进。因此,从事审计工作的人员除了要有审计专业知识,还要具备和熟练掌握过硬的计算机知识及丰富的实践经验,才能开创审计工作的新局面。

【参考文献】

[1] 肖文八:审计学原理,第1版,北京,中国审计出版社,1996年。

[2] 陈婉玲:计算机审计,第1版,广州,广东人民出版社,2002年。

[3] 吴戈:加快审计信息化建设的几点思考,军队审计,2004年12月。

篇3

本文首先介绍了网络与网站安全的隐患,其中包括常见的网络安全隐患和网站自身经常出现的安全隐患,之后作者从简要介绍了网络安全的防御问题,并详细介绍了网站自身的安全防御。

关键字:网站安全性管理

Abstract

Thisarticlefirstintroducedthenetworkandthewebsitesecurityhiddendanger,thesecurityhiddendangerwhichappearsfrequentlyincludingthecommonnetworksecurityhiddendangerandwebsiteitself,afterwardstheauthorbrieflyintroducedthenetworksecuritydefense,andintroducedwebsiteownsafedefenseindetail.

一、前言

随着计算机信息技术的高速发展,人们的生活、工作越来越依赖互联网上的信息和信息获取,但是人们却时刻被信息网络的安全隐患所困扰,越来越多的人也开始了关于网络、网站的安全性管理研究。

网站安全是指对网站进行管理和控制,并采取一定的技术措施,从而确保在一个网站环境里信息数据的机密化、完整性及可使用性受到有效的保护。网站安全的主要目标就是要稳妥地确保经由网站传达的信息总能够在到达目的地时没有任何增加、改变、丢失或被他人非法读取。要做到这一点,必须保证网站系统软件、数据库系统其有一定的安全保护功能,并保证网站部件如终端、数据链路等的功能不变而且仅仅是那些被授权的人们可以访问。

网站安全目前已发展成为一个跨学科的综合性学科,它包括通信技术、网站技术、计算机软件、硬件设计技术、密码学、网站安全与计算机安全技术等,网站安全是在攻击与防范这一对矛盾相互作用的过程中发展起来的。新的攻击导致必须研究新的防护措施,新的防护措施又招致攻击者新的攻击,如此循环反复,网站安全技术也就在双方的争斗中逐步完善发展起来。

二、网络与网站安全隐患概述

目前影响网站安全的问题主要来自于网络的不安全性,所以在这个意义上讲,网站的安全漏洞其实也就是网络的安全漏洞,其漏洞主要来自以下几个方面:

1.自然因素:

1.1软件漏洞

任何的系统软件和应用软件都不能是百分之百的无缺陷和无漏洞的,而这些缺陷和漏洞恰恰是非法用户、黑客进行窃取机密信息和破坏信息的首选途径。针对固有的安全漏洞进行攻击,主要在以下几个方面:

1.1.1、协议漏洞。例如,IMAP和POP3协议一定要在Unix根目录下运行,攻击者利用这一漏洞攻击IMAP破坏系统的根目录,从而获得超级用户的特权。

1.1.2、缓冲区溢出。很多系统在不检查程序与缓冲区之间变化的情况下,就接受任何长度的数据输入,把溢出部分放在堆栈内,系统仍照常执行命令。攻击者就利用这一漏洞发送超出缓冲区所能处理的长度的指令,来造成系统不稳定状态。

1.1.3、口令攻击。例如,Unix系统软件通常把加密的口令保存在一个文件中,而该文件可通过拷贝或口令破译方法受到入侵。因此,任何不及时更新的系统,都是容易被攻击的。

1.2病毒攻击

计算机病毒一般分为四类:①文件型病毒(FileViruses);②引导型病毒(SystemorBootSectorVirus);③链式病毒(SYSTEMorCLUSTERVirus);④宏病毒(MacroVirus)。计算机病毒的主要危害有:对计算机数据信息的直接破坏作用,给用户造成重大损失:占用系统资源并影响运行速度:产生其他不可预见的危害:给用户造成严重的心理压力。

计算机病毒疫情呈现出多元化的发展趋势,以网络为主要传播途径。呈现以下显著特点:①网络病毒占据主要地位;②病毒向多元化、混合化发展;③利用漏洞的病毒越来越多。

2、人为因素:

2.1操作失误

操作员安全配置不当造成的安全漏洞,用户安全意识不强.用户口令选择不慎.用户将自己的帐号随意转借他人或与别人共享等都会对网络安全带来威胁。这种情况在企业计算机网络使用初期较常见,随着网络管理制度的建立和对使用人员的培训,此种情况逐渐减少.对网络安全己不构成主要威胁。

2.2恶意攻击

这是计算机网络所面临的最大威胁,敌手的攻击和计算机犯罪就属于这一类。此类攻击又可以分为以下两种:一种是主动攻击,它以各种方式有选择地破坏信息的有效性和完整性;另一类是被动攻击,它是在不影响网络正常工作的情况下,进行截获、窃取、破译以获得重要机密信急。

当然作为本文最讨论的网站安全,它也有它自身的安全隐患存在,主要体现在以下几点:

3.用户输入验证不全面

在网站编程中,对于用户和用户的输入,都必须抱怀疑态度,不能完全信任。所以,对于用户的输入,不能简单的直接采用,而必须经过严格验证,确定用户的输入是否符合输入规则才可以录入数据库。用户输入验证应该包括以下几个方面:

(1)输入信息长度验证。程序员往往认为一般用户不会故意将输入过分拉长,不进行输入验证可能没有危害。但如果用户输入的信息达到几个兆,而程序又没有验证长度的话,可以使程序验证出错或变量占用大量内存,出现内存溢出,致使服务器服务停止甚至关机。

(2)输入信息敏感字符检查。在设计程序的时候,程序员可能都会关注javascript的一些敏感字符,如在设计留言版的时候,会将“<”等符号的信息过滤,以免用户留下页面炸弹。但还有以下几个方面需要特别注意,一是留言版内容信息的过滤。二是用户名信息的过滤。程序设计中,对用户名的验证往往只是验证长度,没有验证javascript或者HTML的标记,这样就容易形成漏洞。三是Email信息的验证,Email信息往往也只验证是否含有“@”符号,其他没有限制,这容易形成两个漏洞:输入信息过长的内存溢出漏洞;含有javascript等字符信息,造成显示用户Email的时候形成页面炸弹等。四是搜索信息的验证。尽管搜索信息不会直接保存到网站服务器,但是,搜索信息却与数据库或者服务器所有文件密切相关,如果搜索信息有问题,很容易就会暴露一些本来不应该暴露的数据库信息或者文件信息。如果用户对程序比较了解,可设计一些很特别的搜索信息,检索他不应该检索的数据库表,例如用户账号密码表等。因此,一般要验证一些常见的用于数据库操作的语句,例如搜索信息是否含有“Select”等,这样来限制用户输入,避免信息的泄露。

4.页面行为方式缺乏逻辑

在网站中注册新用户的时候,一般会首先要求用户输入自己需要注册的账号信息,验证该账号是否已经存在,确保用户的单一性。如果用户的注册信息通过了“存在该账号”的检测,在编程的时候就认为这个账号一定不存在,可以注册,在注册页面中直接使用“nsertInto”语句将注册信息插入用户数据库。上述的问题是:将注册信息插入数据库之前,并没有再一次检查这个用户是否存在,而是信任前一个检测页面传来的账号信息。由于可以阅读和保存HTML文件的源代码,如果用户将注册通过的页面保存并且将上面的账号信息修改为一个已经存在的账号,由于程序认为该账号已经通过检测,直接将该账号插入数据库,原来拥有该账号的用户信息就被修改,造成用户信息流失、出错等情况的发生。如果这个账号刚好是一个管理员账号,结果将是很难预料的。

使用以上错误方式编程的程序员很多,随便在网上找就可以找到很多这种方式编程的源代码和已经采用的程序。在电子商务初期,一些电子商务网站的程序中,存在着用户可以随意定义自己购买商品的价格这样的漏洞,也就是由页面行为方式缺乏逻辑造成的。

当然,网站安全还包括比如服务器攻击、病毒攻击等方面,但这些方面基本都属于上文中介绍过的网络安全问题,另外由于篇幅问题许多细节问题也不在此累赘了。

三、网站安全管理策略探讨

1.网络安全的管理

1.1使用防火墙

防火墙作为使用最多,效率最高的网络安全产品自然有它自身的优势,所以防火墙在整个网络安全中的地位将是无可替代的。

1.2与因特网接入处增设网络入侵检测系统

入侵检测系统(IDS即IntrusionDetectSystem)是实时网络违规自动识别和响应系统,它位于有敏感数据需要保护的网络上或网络上任何有风险存在的地方,通过实时截获网络数据流,能够识别、记录入侵或破坏性代码流,寻找网络违规模式和未授权的网络访问,一经发现入侵检测系统根据系统安全策略做出反应,包括实时报警、自动阻断通信连接或执行用户自定义安全策略等。

1.3病毒防御

选购杀毒软件,必须考虑产品的采购成本、应用(管理、维护)成本,以及将来企业或网络规模变化后,软件能否实现平滑过渡等问题。只有明确需求,重视产品的应用和管理,把网络防病毒纳入到信息安全防范体系之中进行综合防范,才能有效提升企业的信息安全水平。单纯防病毒,并不是企业的最终目标。

当然,对于网络安全的防御目前比较成熟的技术相当多,我们只有认准适合自己的技术,并采用多种技术相互结合才能达到相应的目的,由于篇幅有限对于其他诸如身份认证、数字签名等技术的介绍就不在此累赘了。

2.网站自身的安全管理

2.1网站服务器的安全管理

网站服务器的日常管理、维护工作包‘括网站服务器的内容更新、日志文件的审计、安装一些新的工具和软件、更改服务器配置、对服务器进行安全检查等。主要注意以下几点:

①从网络结构设计上解决安全问题

安装一个功能强大的防火墙可以有效防御外界对Web服务器的攻击,还可通过安装非法人侵监测系统,提升防火墙的性能,达到监控网络、执行立即拦截动作以及分析过滤封包和内容的动作,当有入侵者攻击时可以立刻有效终止服务。同时应限制非法用户对网络的访问,规定具有特定IP地址的客户机对本地网络服务器的访问权限,以防止从外界对网络服务器配置的非法修改。

②定期对网站服务器进行安全检查

由于网站服务器是对外开放的,容易受到病毒的攻击,所以应为服务器建立例行安全审核机制,利用漏洞扫描工具和IDS工具,加大对服务器的安全管理和检查。另外,随着新漏洞的出现,我们要及时为服务器安装各类新漏洞的补丁程序,从而避免服务器受到攻击和出现其他异常情况。

③定期进行必要的数据备份

对服务器上的数据定期进行备份是很重要的。网站的核心是数据,数据一旦遭到破坏,后果不堪设想。除了设置相应权限外,应建立一个正式的备份方案,而且随着网站的更新,备份方案也需要不断地调整。

2.2数据库安全管理

数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄密和破坏。为了保证业务应用系统后台数据库的安全性,采用基于Client/Server模式访问后台数据库,为不同的应用建立不同的服务进程和进程用户标识,后台数据库系统以服务器进程的用户标识作为访问主体的标识,以确定其访问权限。我们通过如下方法和技术来实现后台数据库的访问

控制。

①访问矩阵

访问矩阵就是以矩阵的方式来规定不同主体(用户或用户进程)对于不同数据对象所允许执行的操作权限,并且控制各主体只能存取自己有权存取的数据。它以主体标行,访问对象标列,访问类型为矩阵元素的矩阵。Informix提供了二级权限:数据库权限和表权限,并且能为表中的特定字段授予Select和Update权限。因此,我们在访问矩阵中定义了精细到字段级的数据访问控制。

②视图的使用

通过视图可以指定用户使用数据的范围,将用户限定在表中的特定字段或表中的特定记录,并且视图和基础表一样也可以作为授权的单位。针对不同用户的视图,在授权给一用户的视图中不包括那些不允许访问的机密数据,从而提高了系统的安全性。

③数据验证码DAC

对后台数据库中的一些关键性数据表,在表中设置数据验证码DAC字段,它是由银行密钥和有关的关键性字段值生成。不同记录的DAC字段值也不相同。如果用户非法修改了数据库中的数据,则DAC效验将出错,从而提高了数据的安全性。

2.3编码中的安全管理

防止恶意代码注入

①验证输入,使攻击者无法注入脚本代码或使缓冲区溢出

②对所有包含输入的输出进行编码。这可防止客户端浏将潜在的恶意脚本标记作为代码进行转换。

③使用接受参数的存储过程,防止数据库将恶意SQL输为可执行语句进行处理。同时使用特权最低的进程帐户和模拟帐户。在攻击者企图应用程序的安全上下文执行代码时,可缓解风险并减少损害。

防止会话劫持:

①分隔个性化cookie和身份验证cookie。

②仅通过HTTPS连接传递身份验证cookie。

③不传递在查询字符串中代表已通过身份验证的用户标识符。

最为一名网络或者网站管理员,有责任同时也有义务做好网站的维护与管理,这就需要我们管理人员时刻保持虚心学习的心态,时刻关注新的管理技术与安全防御技术。对于已经出现的安全问题应该用最快、最有效的方法加以解决,对于目前还未出现的安全问题要有预见性,这才是一名优秀的网络管理员。

参考文献:

[1]沈文智.MicrosoftBS网页技术[M].北京:人民邮电出版社.1998.

[2]沈昌样.网络安全与信息战.网络安全技术与应用.2001.

篇4

【关键词】网站;信息;安全性管理

【中图分类号】TP393【文献标识码】A

【文章编号】1007-4309(2010)12-0057-2

一、网站安全的含义

网站安全是指对网站进行管理和控制,并采取一定的技术措施,从而确保在一个网站环境里信息数据的机密化、完整性及可使用性受到有效的保护。网站安全的主要目标就是要确保经由网站传达的信息总能够在到达目的地时没有任何增加、改变、丢失或被他人非法读取。要做到这一点,必须保证网站系统软件、数据库系统有一定的安全保护功能,并保证网站部件如终端、数据链路等的功能不变,而且仅仅是那些被授权的人才可以访问。

二、网络与网站安全隐患概述

目前影响网站安全的问题主要来自于网络的不安全性,所以从这个意义上讲,网站的安全漏洞其实也就是网络的安全漏洞,其漏洞主要来自以下几个方面:

(一)自然因素

1.软件漏洞

任何系统软件和应用软件都不能是百分之百无缺陷和无漏洞的,而这些缺陷和漏洞恰恰是非法用户、黑客窃取机密信息和破坏信息的首选途径。针对固有的安全漏洞进行攻击,主要在协议漏洞、缓冲区溢出、口令攻击等几个方面。

2.病毒攻击

计算机病毒一般分为四类:(1)文件型病毒(FileViruses);(2)引导型病毒(SystemorBootSectorVirus);(3)链式病毒(SYSTEMorCLUSTERVirus);(4)宏病毒(MacroVirus)。计算机病毒的主要危害有:对计算机数据信息的直接破坏作用,给用户造成重大损失;占用系统资源并影响运行速度;产生其他不可预见的危害;给用户造成严重的心理压力。

(二)人为因素

1.操作失误

操作员安全配置不当造成的安全漏洞,用户安全意识不强,用户口令选择不慎,用户将自己的账号随意转借他人或与别人共享等都会对网络安全带来威胁。这种情况在企业计算机网络使用初期较常见,随着网络管理制度的建立和对使用人员的培训,此种情况会逐渐减少,对网络安全已不构成主要威胁。

2.恶意攻击

这是计算机网络所面临的最大威胁,敌手的攻击和计算机犯罪就属于这一类。此类攻击又可以分为以下两种:一种是主动攻击,它以各种方式有选择地破坏信息的有效性和完整性;另一类是被动攻击,它是在不影响网络正常工作的情况下,进行截获、窃取、破译以获得重要机密信急。

(三)用户输入验证不全面

在网站编程中,对于用户和用户的输入,都必须抱怀疑态度,不能完全信任。所以,对于用户的输入,不能简单地直接采用,而必须经过严格验证,确定用户的输入符合输入规则才可以录入数据库。用户输入验证应该包括以下两个方面:(1)输入信息长度验证;(2)输入信息敏感字符检查。

三、网站安全管理策略探讨

(一)网络安全的管理

1.使用防火墙

防火墙作为使用最多、效率最高的网络安全产品有其自身的优势,所以防火墙在整个网络安全中的地位将是无可替代的。

2.在与因特网接入处增设网络入侵检测系统

入侵检测系统(IDS即IntrusionDetectSystem)是实时网络违规自动识别和响应系统,它位于有敏感数据需要保护的网络上或网络上任何有风险存在的地方,通过实时截获网络数据流,能够识别、记录入侵或破坏性代码流,寻找网络违规模式和未授权的网络访问,一经发现入侵,检测系统会根据系统安全策略做出反应,包括实时报警、自动阻断通信连接或执行用户自定义安全策略等。

3.病毒防御

选购杀毒软件,必须考虑产品的采购成本、应用(管理、维护)成本,以及将来企业或网络规模变化后,软件能否实现平滑过渡等问题。只有明确需求,重视产品的应用和管理,把网络防病毒纳入到信息安全防范体系之中进行综合防范,才能有效提升企业的信息安全水平。单纯防病毒,并不是企业的最终目标。当然,对于网络安全的防御目前比较成熟的技术相当多,我们只有选择适合自己的技术,并采用多种技术相互结合才能达到相应的目的,由于篇幅有限对于其他诸如身份认证、数字签名等技术的介绍就不在此累赘了。

(二)网站自身的安全管理

1.网站服务器的安全管理

网站服务器的日常管理、维护工作包括网站服务器的内容更新、日志文件的审计、安装一些新的工具和软件、更改服务器配置、对服务器进行安全检查等。主要注意以下几点:

(1)从网络结构设计上解决安全问题

安装一个功能强大的防火墙可以有效防御外界对Web服务器的攻击;还可通过安装非法入侵监测系统,提升防火墙的性能,达到监控网络、执行立即拦截动作以及分析过滤封包和内容的动作,当有入侵者攻击时可以立刻有效终止服务。同时应限制非法用户对网络的访问,规定具有特定IP地址的客户机对本地网络服务器的访问权限,以防止从外界对网络服务器配置的非法修改。

(2)定期对网站服务器进行安全检查

由于网站服务器是对外开放的,容易受到病毒的攻击,所以应为服务器建立例行安全审核机制,利用漏洞扫描工具和IDS工具,加大对服务器的安全管理和检查。另外,随着新漏洞的出现,我们要及时为服务器安装各类新漏洞的补丁程序,从而避免服务器受到攻击和出现其他异常情况。

(3)定期进行必要的数据备份

对服务器上的数据定期进行备份是很重要的。网站的核心是数据,数据一旦遭到破坏,后果不堪设想。除了设置相应权限外,还应建立一个正式的备份方案,而且随着网站的更新,备份方案也需要不断地调整。

2.数据库安全管理

数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄密和破坏。为了保证业务应用系统后台数据库的安全性,采用基于Client/Server模式访问后台数据库,为不同的应用建立不同的服务进程和进程用户标识。后台数据库系统以服务器进程的用户标识作为访问主体的标识,以确定其访问权限。我们通过访问、矩阵视图的使用、数据验证码DAC等方法和技术来实现后台数据库的访问控制。

3.编码中的安全管理

(1)防止恶意代码注入

①验证输入,使攻击者无法注入脚本代码或使缓冲区溢出。

②对所有包含输入的输出进行编码。这样可以防止客户端误将潜在的恶意脚本标记作为代码进行转换。

③使用接受参数的存储过程,防止数据库将恶意SQL输为可执行语句进行处理。同时使用特权最低的进程账户和模拟账户。在攻击者企图应用程序的安全漏洞执行代码时,可缓解风险并减少损害。

(2)防止会话劫持

①分隔个性化cookie和身份验证cookie。

②仅通过HTTPS连接传递身份验证cookie。

③不传递在查询字符串中代表已通过身份验证的用户标识符。

作为一名网络或者网站管理员,有责任同时也有义务做好网站的维护与管理,这就需要我们管理人员时刻保持虚心学习的心态,时刻关注新的管理技术与安全防御技术。对于已经出现的安全问题应该用最快、最有效的方法加以解决,对于目前还未出现的安全问题要有预见性。这样才能成为一名优秀的网络管理员。

【参考文献】

[1]沈文智.MicrosoftBS网页技术[M].北京:人民邮电出版社.2008.

[2]沈昌样.网络安全与信息战[J].网络安全技术与应用.2001(8).

[3]骆耀祖,龚洵禹.动态网页设计教程[M].广州:中山大学出版社,2002.

[4]骆耀祖,刘永初等.计算机网络技术及应用[M].北京:清华大学出版社、北京:北方交大出版社,2003.

篇5

关键词:蠕虫;病毒;预防;检测;原理

中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)23-902-03

Network Worms Introduction,Analysis and Prevention

SHI Jie1, JIANG Lei2

(1.East China University of Science and Technology,Department of Mathematics,Shanghai 200237,China;2.Jiangnan University,Department of Computer Sicence,Wuxi 214122, China)

Abstract: Worms are the new method of virus to infect computer programs. In this paper we will discuss all the possible method the worm will have to attack network computers and network itself. Companies and single person will have different experience of worm attack.And we will discuss it from different views. Finally we will give out a practical solution to this threat.

Key words: Worms; virus prevention; detection; principle

1 蠕虫病毒的定义

1.1 蠕虫病毒的定义

计算机病毒自出现之日起,就成为计算机的一个巨大威胁,而当网络迅速发展的时候,蠕虫病毒引起的危害开始显现!从广义上定义,凡能够引起计算机故障,破坏计算机数据的程序统称为计算机病毒。所以从这个意义上说,蠕虫也是一种病毒!但是蠕虫病毒和一般的病毒有着很大的区别。对于蠕虫,现在还没有一个成套的理论体系,一般认为,蠕虫是一种通过网络传播的恶性病毒,它具有病毒的一些共性,如传播性,隐蔽性,破坏性等等,同时具有自己的一些特征,如不利用文件寄生(有的只存在于内存中),对网络造成拒绝服务,以及和黑客技术相结合等等!在产生的破坏性上,蠕虫病毒也不是普通病毒所能比拟的,网络的发展使得蠕虫可以在短短的时间内蔓延整个网络,造成网络瘫痪!

根据使用者情况可将蠕虫病毒分为2类,一种是面向企业用户和局域网而言,这种病毒利用系统漏洞,主动进行攻击,可以对整个互联网可造成瘫痪性的后果!以“红色代码”,“尼姆达”,以及“sql蠕虫王”为代表。另外一种是针对个人用户的,通过网络(主要是电子邮件,恶意网页形式)迅速传播的蠕虫病毒,以爱虫病毒,求职信病毒为例.在这两类中,第一类具有很大的主动攻击性,而且爆发也有一定的突然性,但相对来说,查杀这种病毒并不是很难。第二种病毒的传播方式比较复杂和多样,少数利用了微软的应用程序的漏洞,更多的是利用社会工程学对用户进行欺骗和诱使,这样的病毒造成的损失是非常大的,同时也是很难根除的,比如求职信病毒,在2001年就已经被各大杀毒厂商发现,但直到2002年底依然排在病毒危害排行榜的首位就是证明!出得在接下来的内容中,将分别分析这两种病毒的一些特征及防范措施。

自从2007年开始,蠕虫的作用方式已经从直接感染文件并加以破坏转为更为商业化和利益化的攻击方式:恶意广告和僵尸网络已经成为利用蠕虫手段进行商业牟利的重要手段。蠕虫往往会通过向宿主注入各种恶意代码使得宿主被动访问一些收费站点或者在宿主机中执行各种广告软件来为蠕虫作者带来各种收益,最近的形势看来这种蠕虫的倾向越来越有预谋有组织,有时甚至可能是某些商业软件公司的公司行为。对于僵尸网络的利用目前也逐渐从黑客工具变为商业牟利的手段。僵尸网络,顾名思义就是一群中了蠕虫而被获得管理员权限的网络计算机的群体,利用这些群体可以轻而易举的造成各种网络攻击或者流量阻塞的破坏。在以前这些网络主机往往是作为黑客的攻击工具而存在,但在现在,这些主机往往被挂牌出租,未那些没有成熟的攻击主机的黑客提供平台。

1.2 蠕虫病毒与一般病毒的异同

蠕虫也是一种病毒,因此具有病毒的共同特征。一般的病毒是需要的寄生的,它可以通过自己指令的执行,将自己的指令代码写到其他程序的体内,而被感染的文件就被称为”宿主”,例如,Windows下可执行文件的格式为pe格式(Portable Executable),当需要感染pe文件时,在宿主程序中,建立一个新节,将病毒代码写到新节中,修改的程序入口点等,这样,宿主程序执行的时候,就可以先执行病毒程序,病毒程序运行完之后,在把控制权交给宿主原来的程序指令。可见,病毒主要是感染文件,当然也还有像DIRII这种链接型病毒,还有引导区病毒。引导区病毒他是感染磁盘的引导区,如果是软盘被感染,这张软盘用在其他机器上后,同样也会感染其他机器,所以传播方式也是用软盘等方式。

蠕虫一般不采取利用pe格式插入文件的方法,而是复制自身在互联网环境下进行传播,病毒的传染能力主要是针对计算机内的文件系统而言,而蠕虫病毒的传染目标是互联网内的所有计算机.局域网条件下的共享文件夹,电子邮件email,网络中的恶意网页,大量存在着漏洞的服务器等都成为蠕虫传播的良好途径。网络的发展也使得蠕虫病毒可以在几个小时内蔓延全球,而且蠕虫的主动攻击性和突然爆发性将使得人们手足无策。

可以预见,未来能够给网络带来重大灾难的主要必定是网络蠕虫病毒!

1.3 蠕虫的破坏和发展趋势

1988年一个由美国CORNELL大学研究生莫里斯编写的蠕虫病毒蔓延造成了数千台计算机停机,蠕虫病毒开始现身网络;而后来的红色代码,尼姆达病毒疯狂的时候,造成几十亿美元的损失;北京时间2003年1月26日, 一种名为“2003蠕虫王”的电脑病毒迅速传播并袭击了全球,致使互联网网路严重堵塞,作为互联网主要基础的域名服务器(DNS)的瘫痪造成网民浏览互联网网页及收发电子邮件的速度大幅减缓,同时银行自动提款机的运作中断, 机票等网络预订系统的运作中断,信用卡等收付款系统出现故障!专家估计,此病毒造成的直接经济损失至少在12亿美元以上。

由表2可以知道,蠕虫病毒对网络产生堵塞作用,并造成了巨大的经济损失!

通过对以上蠕虫病毒的分析,可以知道,蠕虫发作的一些特点和发展趋势:

1)利用操作系统和应用程序的漏洞主动进行攻击。此类病毒主要是“红色代码”和“尼姆达”,以及至今依然肆虐的”求职信”等.由于IE浏览器的漏洞(Iframe Execcomand),使得感染了“尼姆达”病毒的邮件在不去手工打开附件的情况下病毒就能激活,而此前即便是很多防病毒专家也一直认为,带有病毒附件的邮件,只要不去打开附件,病毒不会有危害。“红色代码”是利用了微软IIS服务器软件的漏洞(idq.dll远程缓存区溢出)来传播。Sql蠕虫王病毒则是利用了微软的数据库系统的一个漏洞进行大肆攻击。

2)传播方式多样 如“尼姆达”病毒和”求职信”病毒,可利用的传播途径包括文件、电子邮件、Web服务器、网络共享等等。

3)病毒制作技术与传统的病毒不同的是,许多新病毒是利用当前最新的编程语言与编程技术实现的,易于修改以产生新的变种,从而逃避反病毒软件的搜索。另外,新病毒利用Java、ActiveX、VB Script等技术,可以潜伏在HTML页面里,在上网浏览时触发。

4)与黑客技术相结合,潜在的威胁和损失更大!以红色代码为例,感染后的机器的web目录的\scripts下将生成一个root.exe,可以远程执行任何命令,从而使黑客能够再次进入。

2 网络蠕虫病毒分析和防范

蠕虫和普通病毒不同的一个特征是蠕虫病毒往往能够利用漏洞,这里的漏洞或者说是缺陷,我们分为2种,软件上的缺陷和人为上的缺陷。软件上的缺陷,如远程溢出,微软ie和outlook的自动执行漏洞等等,需要软件厂商和用户共同配合,不断的升级软件。而人为的缺陷,主要是指的是计算机用户的疏忽。这就是所谓的社会工程学(social engineering),当收到一封邮件带着病毒的求职信邮件时候,大多数人都会报着好奇去点击的。对于企业用户来说,威胁主要集中在服务器和大型应用软件的安全上,而个人用户而言,主要是防范第二种缺陷。

2.1 利用系统漏洞的恶性蠕虫病毒分析

在这种病毒中,以红色代码,尼姆达和sql蠕虫为代表,他们共同的特征是利用微软服务器和应用程序组件的某个漏洞进行攻击,由于网上存在这样的漏洞比较普遍,使得病毒很容易的传播,而且攻击的对象大都为服务器,所以造成的网络堵塞现象严重。

以2003年1月26号爆发的sql蠕虫为例,爆发数小时内席卷了全球网络,造成网络大塞车。亚洲国家中以人口上网普及率达七成的韩国所受影响较为严重。韩国两大网络业KFT及南韩电讯公司,系统都陷入了瘫痪,其它的网络用户也被迫断线,更为严重的是许多银行的自动取款机都无法正常工作, 美国许美国银行统计,该行的13000台自动柜员机已经无法提供正常提款。网络蠕虫病毒开始对人们的生活产生了巨大的影响。

这次sql蠕虫攻击的是微软数据库系Microsoft SQL Server 2000的,利用了MSSQL2000服务远程堆栈缓冲区溢出漏洞, Microsoft SQL Server 2000是一款由Microsoft公司开发的商业性质大型数据库系统。SQL Server监听UDP的1434端口,客户端可以通过发送消息到这个端口来查询目前可用的连接方式(连接方式可以是命名管道也可以是TCP),但是此程序存在严重漏洞,当客户端发送超长数据包时,将导致缓冲区溢出,黑客可以利用该漏洞在远程机器上执行自己的恶意代码。

微软在200年7月份的时候就为这个漏洞了一个安全公告,但当sql蠕虫爆发的时候,依然有大量的装有ms sqlserver 2000的服务器没有安装最新的补丁,从而被蠕虫病毒所利用,蠕虫病毒通过一段376个字节的恶意代码,远程获得对方主机的系统控制权限, 取得三个Win32 API地址,GetTickCount、socket、sendto,接着病毒使用GetTickCount获得一个随机数,进入一个死循环继续传播。在该循环中蠕虫使用获得的随机数生成一个随机的ip地址,然后将自身代码发送至1434端口(Microsoft SQL Server开放端口),该蠕虫传播速度极快,其使用广播数据包方式发送自身代码,每次均攻击子网中所有255台可能存在机器。由于这是一个死循环的过程,发包密度仅和机器性能和网络带宽有关,所以发送的数据量非常大。该蠕虫对被感染机器本身并没有进行任何恶意破坏行为,也没有向硬盘上写文件,仅仅存在与内存中。对于感染的系统,重新启动后就可以清除蠕虫,但是仍然会重复感染。由于发送数据包占用了大量系统资源和网络带宽,形成Udp Flood,感染了该蠕虫的网络性能会极度下降。一个百兆网络内只要有一两台机器感染该蠕虫就会导致整个网络访问阻塞。

通过以上分析可以知道,此蠕虫病毒本身除了对网络产生拒绝服务攻击外,并没有别的破坏措施.但如果病毒编写者在编写病毒的时候加入破坏代码,后果将不堪设想。

2.2 企业防范蠕虫病毒措施

此次sql蠕虫病毒,利用的漏洞在2002年7月份微软的一份安全公告中就有详细说明!而且微软也提供了安全补丁提供下载,然而在时隔半年之后互联网上还有相当大的一部分服务器没有安装最新的补丁,其网络管理员的安全防范意识可见一斑。

当前,企业网络主要应用于文件和打印服务共享、办公自动化系统、企业业务(MIS)系统、Internet应用等领域。网络具有便利信息交换特性,蠕虫病毒也可以充分利用网络快速传播达到其阻塞网络目的。企业在充分地利用网络进行业务处理时,就不得不考虑企业的病毒防范问题,以保证关系企业命运的业务数据完整不被破坏。

企业防治蠕虫病毒的时候需要考虑几个问题:病毒的查杀能力,病毒的监控能力,新病毒的反应能力。而企业防毒的一个重要方面是是管理和策略。推荐的企业防范蠕虫病毒的策略如下:

1)加强网络管理员安全管理水平,提高安全意识。由于蠕虫病毒利用的是系统漏洞进行攻击,所以需要在第一时间内保持系统和应用软件的安全性,保持各种操作系统和应用软件的更新!由于各种漏洞的出现,使得安全不在是一种一劳永逸的事,而作为企业用户而言,所经受攻击的危险也是越来越大,要求企业的管理水平和安全意识也越来越高。

2)建立病毒检测系统。能够在第一时间内检测到网络异常和病毒攻击。

3)建立应急响应系统,将风险减少到最小!由于蠕虫病毒爆发的突然性,可能在病毒发现的时候已经蔓延到了整个网络,所以在突况下,建立一个紧急响应系统是很有必要的,在病毒爆发的第一时间即能提供解决方案。

4)建立灾难备份系统。对于数据库和数据系统,必须采用定期备份,多机备份措施,防止意外灾难下的数据丢失。

5)对于局域网而言,可以采用以下一些主要手段:①在因特网接入口处安装防火墙式防杀计算机病毒产品,将病毒隔离在局域网之外;②对邮件服务器进行监控,防止带毒邮件进行传播;③对局域网用户进行安全培训;④建立局域网内部的升级系统,包括各种操作系统的补丁升级,各种常用的应用软件升级,各种杀毒软件病毒库的升级等等。

2.3 对个人用户产生直接威胁的蠕虫病毒

在以上分析的蠕虫病毒中,只对安装了特定的微软组件的系统进行攻击,而对广大个人用户而言,是不会安装iis(微软的因特网服务器程序,可以使允许在网上提供web服务)或者是庞大的数据库系统的!因此上述病毒并不会直接攻击个个人用户的电脑(当然能够间接的通过网络产生影响),但接下来分析的蠕虫病毒,则是对个人用户威胁最大,同时也是最难以根除,造成的损失也更大的一类蠕虫病毒。

对于个人用户而言,威胁大的蠕虫病毒采取的传播方式一般为电子邮件(Email)以及恶意网页等等。

对于利用email传播得蠕虫病毒来说,通常利用的是社会工程学(Social Engineering),即以各种各样的欺骗手段那诱惑用户点击的方式进行传播。

恶意网页确切的讲是一段黑客破坏代码程序,它内嵌在网页中,当用户在不知情的情况下打开含有病毒的网页时,病毒就会发作。这种病毒代码镶嵌技术的原理并不复杂,所以会被很多怀不良企图者利用,在很多黑客网站竟然出现了关于用网页进行破坏的技术的论坛,并提供破坏程序代码下载,从而造成了恶意网页的大面积泛滥,也使越来越多的用户遭受损失。

对于恶意网页,以前常常采取vb script和java script编程的形式!由于编程方式十分的简单!所以在网上非常的流行!但是目前对于此种病毒的防范软件较多,这种传播方式已经不流行了。目前经常使用的恶意网络蠕虫传染方式往往是基于主机的操作系统漏洞进行主动传播,有些甚至利用到了ARP欺骗等手段想尽办法欺骗客户下载含有病毒主题的可执行模块并运行,更有甚者直接利用微软操作系统的RPC机制,远程控制直接下载病毒并远程运行。对于个人用户来说,不通过防火墙或者是网关直接暴露于因特网上无异于羊在狼群之中。

2.4 个人用户对蠕虫病毒的防范措施

通过上述的分析,我们可以知道,病毒并不是非常可怕的,网络蠕虫病毒对个人用户的攻击主要还是通过社会工程学,而不是利用系统漏洞!所以防范此类病毒需要注意以下几点:

1)购合适的杀毒软件!网络蠕虫病毒的发展已经使传统的杀毒软件的“文件级实时监控系统”落伍,杀毒软件必须向内存实时监控和邮件实时监控发展!另外面对防不胜防的网页病毒,也使得用户对杀毒软件的要求越来越高!现有的依靠特征识别的杀毒软件对于日新月异发展的蠕虫病毒已经越来越力不从心,唯有改变现有的病毒识别模式才是能够真正有效预防蠕虫病毒的手段!

2)经常升级系统补丁。由于越来越多的网络蠕虫依靠操作系统自身的漏洞进行传播,因此及时对操作系统的漏洞进行补丁操作已经成为当前网络蠕虫病毒防治的一个重要环节。在有条件有能力的局域网环境中可以安排专门的更新服务器对局域网内部所有的主机进行集体升级操作。

3)提高防杀毒意识。不要轻易去点击陌生的站点,有可能里面就含有恶意代码!

当运行IE时,点击“工具”“Internet选项”“安全”“Internet区域的安全级别”,把安全级别由“中”改为“高” 。因为这一类网页主要是含有恶意代码的ActiveX或Applet、 JavaScript的网页文件 ,所以在IE设置中将ActiveX插件和控件、Java脚本等全部禁止就可以大大减少被网页恶意代码感染的几率。具体方案是:在IE窗口中点击“工具”“Internet选项”,在弹出的对话框中选择“安全”标签,再点击“自定义级别”按钮,就会弹出“安全设置”对话框,把其中所有ActiveX插件和控件以及与Java相关全部选项选择“禁用”。但是,这样做在以后的网页浏览过程中有可能会使一些正常应用ActiveX的网站无法浏览。

4)不随意查看陌生邮件,尤其是带有附件的邮件,由于有的病毒邮件能够利用ie和outlook的漏洞自动执行,所以计算机用户需要升级ie和outlook程序,及常用的其他应用程序!

3 小结

网络蠕虫病毒作为一种互联网高速发展下的一种新型病毒,必将对网络产生巨大的危险。在防御上,已经不再是由单独的杀毒厂商所能够解决,而需要网络安全公司,系统厂商,防病毒厂商及用户共同参与,构筑全方位的防范体系!

蠕虫和黑客技术的结合,使得对蠕虫的分析,检测和防范具有一定的难度,同时对蠕虫的网络传播性,网络流量特性建立数学模型也是有待研究的工作!

参考文献:

[1] Schneier B.Secrets and lies: digital security in a networked world[M].New York:John Wiley Press,2000.

[2] Brenton C.Active defense: a comprehensive guide to network security[M].San Francisco:Sybex Press,2001:100-146.

[3] 山秀明,李@,焦健,等.网络病毒行为模式分析[J].The Mode of Net-virus Actions [中国工程科学 Engineering Science].

[4] 任勇,山秀明,李@.网络安全概述[J].中国工程科学,2004,6(1):10-15.

篇6

(四川足木足河流域水电开发有限公司,四川 成都 610041)

【摘 要】为了提高柳坪电站的自动化水平,柳坪电站按照“无人值班、集中控制”的扩大厂站原则设计,采用全计算机监控系统,并接受四川省省调、地调及黑水河集控中心的控制和调度。

关键词 水电站;自动化系统;运行效果

柳坪水电站位于四川省阿坝藏族羌族自治州茂县境内,是黑水河干流水电规划“二库五级”开发规划方案中的最下游一个梯级电站。首部枢纽距茂县县城约63km,厂区距茂县县城约50km,距成都240km,213国道~黑水县公路从工程区通过,下行经茂县、汶川、都江堰至成都,对外交通方便。电站采用引水式,开发任务为发电,兼顾下游环境生态用水。电站装机容量3×40MW,利用小时数6790h,年发电量6.525亿kWh,具有日调节能力,在系统中主要承担基荷。电站安装3台水轮发电机组,单机容量40MW,额定电压10.5kV,额定功率因数0.85。#1发电机接一台80MVA三卷变压器组成单元接线,分别与220kV和35kV系统连接。#2机和#3机为扩大单元接线,接一台100MVA双卷变压器,直接升压至220kV接入系统。220kV为单母线接线,有二回220kV出线,其中一回至茂县220kV开关站,一回至上游色尔古电站,220kV采用户外中式布置。35kV侧出线一回,接白溪电站。

电站运行初期采用“无人值班”(少人值守)模式,并保留少量的站级计算机,在顺利运行一段时间且各方面条件成熟后将过渡到“无人值班”的运行模式。

1 系统结构

综合自动化系统采用基于现场总线的分层分布、开放式可配置结构,整个电厂在物理上分为三层:黑水河集控中心控制层、电厂控制层和现地控制保护层。目前采用厂站控制,黑水河集控中心尚未投运。

电厂控制层计算机监控系统(或称为上位机系统)由一台工业控制计算机、一台打印机构成。上位机系统主要用于电厂综合自动化系统的组态、维护,电厂运行的监视、操作、信息管理、优化控制,全厂的事件事故记录,事故报警,画面显示,报表打印及机组、开关站和公用辅助设备的远方操作控制。

为实现“无人值班(少人值守)”的要求,全厂各公用辅机(如高、低压气机、集水井)采用PLC进行控制,各单元信号以接点方式送至公用PLC,实现全厂设备计算机远方监控。电站采用南京南瑞集团公司提供的EC2000监控系统。

2 设备配置

2.1 电站控制层设备配置

电站控制层设备有系统主机兼操作员工作站、站长工作站、工程师兼培训工作站、通信工作站、语音报警工作站、打印机和UPS电源等,其软件配置有系统软件、基本软件、应用软件及工具软件。

2.2 机组现地控制单元(LCU)设备配置

机组现地控制器(LCU)的设备有一体化工作站、可编程程序逻辑控制器(PLC)、温度测量装置、同期装置、转速测量装置等。

2.3 其他设备配置

如保护测控单元设备、调速器装置设备、励磁调节控制装置设备、公用辅机控制单元设备等,采用功能分散的控制原则,将选用PLC等组成的智能控制装置自成系统,LCU通过与PLC的接口实现监视和控制,南瑞监控系统LCU应具有与机组辅助设备PLC的通信接口,通信接口为RS485,采用Modbus标准通信规约。

3 系统的主要功能

EC2000水电站综合自动化系统功能多且全面,现在仅介绍电站控制层的主要功能。

3.1 数据采集与处理

数据分电气模拟量(如电流、电压、功率等),非电气模拟量(如温度、压力、油位等)、脉冲量(如有功、无功电度)、一般开关量(如开关位置、导叶位置)和中断开关量(如机组过速、温度过高、保护动作等)五种。其中电气量和非电气量、开关量采集时间≤1S,温度量≤10S,脉冲量采集连续无延迟,事件顺序分辨率≤10MS,控制响应时间≤1S。对采集的数据作必要的预处理后,存于实时数据库,供给计算机系统实现画面显示,制表打印和完成各种计算、控制等特定功能使用。

3.2 电厂安全运行监视

安全运行监视包括状态变化监视、越限监视、趋势分析和监控系统异常监视。

安全运行监视是综合自动化系统的重要功能之一,综合自动化系统实时监视电站各类设备的运行状态和参数,当它们发生异常、运行状态发生变更或参数超越设定值等时计算机系统即时报告值班人员进行处理,同时进行实时记录,以便分析查验。值班运行人员可通过设在中控室的监控系统人机接口设备,监视全厂的生产过程和设备运行情况,显示和打印各种运行参数。

系统安全监视功能包括如下部分:事件顺序记录、故障报警记录、参数越限报警与记录、电气主设备操作记录、事故追忆、计算机系统综合信息记录、实时监视、语音报警、远方诊断维护功能、模拟光字牌。

3.3 电站设备的操作与控制调节

(1)运行人员可以通过操作控制菜单,选择控制对象然后选择操作性质,系统提示确认。当运行人员确认后,自动弹出过程监控画面,供运行人员了解过程的执行情况。通过计算机监控系统操作控制的设备有:

①机组的操作控制

②断路器、隔离开关投切操作

③励磁系统的操作控制

④直流系统的操作控制

⑤辅助设备的操作控制

(2)发电机组的控制调节

监控系统根据预定的原则或运行人员实时输入的命令进行机组正常启动与停机,断路器跳合、隔离开关分合等顺序操作。同时监控系统可由运行人员或远方调度的给定值或增减命令进行机组出力的手动或自动调节。具体分为以下几个方面:

①自动发电控制(AGC)

②自动电压控制(AVC)

③运行人员操作台控制

3.4 综合参数统计、计算、分析

计算机系统可根据实时采集的各类数据进行周期、定时或召唤计算分析,形成各种计算机数据库与历史数据库,帮助运行人员和管理人员对电厂设备的运行进行全面监视与综合管理。

3.5 打印记录

系统打印功能分为随机打印、定时自动打印和召唤打印三种。

3.6 屏幕显示

彩色屏幕实时显示厂内主系统的运行状态,主设备的操作变化过程,事故和故障以及有关参数。显示的主要画面有以下几类:单线图类、曲线图类、棒图类、报警画面类、操作指导画面类、表格类。

3.7 事故处理指导和恢复操作指导

在设备出现故障或事故时,监控系统能及时提供事故处理和恢复正常运行的指导性意见,运行人员可按指导性意见操作,使设备尽快恢复正常。

4 系统运行情况及效益

柳坪电站综合自动化系统的投运,使运行管理、安全监测、自动控制实现了计算机化。

(1)实现了电厂运行“无人值班”(少人值守),提高了电厂运行的自动化管理水平,减轻了运行人员的劳动强度。(下转第303页)

(上接第247页)(2)系统对运行设备的每一项操作均实行严格的安全条件检查和安全分析判断,在操作控制流程中严密把关,从而防止了由于各种因素引起的误操作,增强了运行设备操作的安全可靠性。

(3)人机接口功能强,操作控制简洁、方便、灵活。

(4)系统与上级调度中心计算机系统进行通讯,实现遥信、遥测、遥控、遥调功能。

(5)系统中AGC、AVC经济运行功能的投运,对电厂的节能增发、电厂的经济效益和电网电能质量的提高起到了积极作用。

(6)事故处理安全可靠、快速准确。

篇7

关键词:医院;计算机;网络安全

1医院计算机网络安全的威胁影响因素

医院计算机网络安全存在的安全隐患是对医院造成威胁的重要杀手。分析了解医院计算机网络安全的威胁因素尤为重要。

1.1机器设备是医院计算机网络安全的影响因素

机器设备的优良状况是医院计算机网络安全保障的奠基石,也是医院计算机网络安全应重视的部分[1]。如果细化医院计算机网络系统的机器设备,会发现计算机的安放、计算机的各种接线、计算机中心机房的选址、计算机系统服务器的安全性能保障这一系列因素都会直接对医院计算机网络安全产生威胁。计算机的安放是一个重要问题,因此,医院计算机网络的设置以及接线除要考虑如何选择可以使网络信号更好外,还要考虑计算机网络中心机房的电压等问题。计算机网络安全系统的服务器是整个医院计算机网络系统的心脏中枢,保证其持续处于工作状态是最重要的问题之一。

1.2计算机病毒的侵袭

硬件设备是影响医院计算机网络安全的一大元凶,此外,软件系统也是影响医院计算机网络安全的一个重要威胁点。而计算机病毒是软件系统中一个比较常见的威胁。多数人听到计算机病毒时都会提高警惕,家庭用户一般会为自己的计算机安装一个杀毒软件。若计算机病毒入侵医院的计算机网络系统,将会给医院带来严重损害,因为医院的计算机网络系统一旦陷入瘫痪状态,一切工作都不能正常运转。因此,降低医院计算机的病毒入侵概率,可以保障医院的计算机网络的稳定性。

1.3周围环境的影响

计算机网络安全不仅只受外部设备和内部软件的影响,还受周围环境的威胁[2]。医院计算机网络所处的环境温度和湿度都会成为威胁医院计算机网络安全的重要部分。当医院计算机网络系统所在环境的温度上升时,整个医院计算机网络会受到一个网络数据的转变,更有甚者,计算机网络系统的内部电源将被破坏,后果不堪设想。此外,湿度也是一个重要影响因素,如果医院计算机网络设施所处环境的湿度较大时,医院计算机的一些设备可能出现被侵蚀、生出锈等问题,计算机的设备会出现连电、短路或接触不好等问题。此外,若湿度较大,还会使设备粘附很多灰尘,计算机网络系统在运行时会发出较大声响。

2医院计算机网络安全的维护策略

2.1计算机网络硬件设施的选择与维护

计算机网络硬件设施的选择与维护是保障医院计算机网络安全的重要前提和基础,应结合各医院的业务情况选用计算机网络硬件设施。维护计算机应从三个方面入手[3]:首先,要注意网络线路,保证网络信号处于最佳状态;其次,要重视计算机网络系统机房的选址,中心机房设置点的一个关键条件是要有足够的电能[4];最后,保障医院计算机网络系统服务器的正常运行,因为服务器如果中间罢工,就意味着计算机网络数据库中的一些资料丢失。

2.2维护计算机网络系统软件

医院计算机网络系统软件是安全维护工作的重中之重,同时,软件的安全维护也是较有难度的一项任务[5]。医院的计算机网络安全工作人员应重视病毒的入侵,进行定期和不定期的病毒检测,要经常更新病毒库,完善医院计算机网络的各种杀毒软件,及时补充更新计算机病毒软件的漏洞,把医院计算机网络安全的维护等级提升一个层次。同时,对医院计算机数据库内容进行备份也是计算机网络安全维护的一个重要举措。

2.3创造一个符合标准的外部环境

计算机的外部环境也是计算机网络安全持续保证的沃土。而外部环境的维护主要依靠医院的工作人员,因此,要定期及时地向医院相关工作人员普及相关知识,定期组织培训,不仅使其充分掌握书面知识,还要使其应用到实际操作中,只有综合素质与技能得到提升,才能保证操作得当。工作人员还要严格控制外部环境的温度和湿度,保证医院电力充足。

2.4制定计算机网络规章制度

计算机网络规章制度是对计算机网络安全的一个重要的保障。医院计算机网络需要定期进行维护,良好规范的制度是最好的保护网。只有在计算机网络制度的严格约束下,计算机网络人员才能提起警惕,最大化地降低计算机网络的故障几率。同时,应在规章制度的约束下,对医院的工作人员进行网络安全教育。要及时宣传计算机网络安全的重要性,让工作人员了解计算机网络黑客的危害,注意设置安全密码等,对陌生的软盘等信息载体应提高警惕,注意查杀病毒。要在无形当中提高医院工作人员的计算机网络安全意识,让工作人员养成良好的网络安全习惯,使维护保障医院计算机安全成为工作人员的重要职责,最大程度上提升医院计算机网络的使用效能,为医院医疗建设的不断进步做出应有的贡献。

3医院计算机网络安全管理的意义

医院计算机网络安全管理不仅是医院现代化管理的必由之路,更是医疗硬件条件提升的重要保障,对医院的科学决策起着不可小觑的作用。医院的计算机网络安全管理在医院信息化构建过程中是一座桥梁,可以更加充分地与医院现代化管理有效结合。医院事务的办公自动化发展也离不开医院计算机网络安全管理,只有充分保障计算机网络安全,医院的硬件设施应用办公的利用率才会越来越高。同时,医院计算机网络安全的管理对医院领导的科学决策也有重要意义。医院的领导层需要对事务进行决策分析时,必然要应用到计算机,通过计算机网络系统收集、整合资料,为医院的领导者提供可靠的数据资料。此外,还可以更加及时透明地公开医院的医疗信息,最大程度上充分利用信息。

4结语

医院计算机网络安全是医院各项工作正常运转的保障。尽管当下有很多威胁医院计算机网络安全的不良因素,但在医院工作人员的努力下,将有效避免威胁,使医院计算机网络安全水平到达一个新的高度,为医院工作的正常开展做好充分准备和保障。

作者:宋恒飞 单位:江苏省邳州市人民医院微机中心

参考文献

[1]桂凌.基于医院管理信息系统安全性策略的研究[J].科技信息,2010(32).

[2]仲大伟.浅谈医院网络信息的不安全因素及防护措施[J].信息与电脑,2009(10).

[3]王伟护,李晓宏,赖宇斌.医院计算机网络建设方案[J].中国当代医药,2009(13).

篇8

// 读取Table.DAT

{

FILE *tab = fopen(TABLE_FILE, "r") ;

// 打开文件

int count = fread(Tab, sizeof(int), TAB_SIZE, tab) ;

fflush(tab) ;

// 刷新文件流

for (int i=0; i

if ( Tab[i] != -1 && Tab[i+1] != -1 )

Tab[i+1] = Tab[i+1] + Tab[i] ;

else

break ;

return TRUE ;

}

int LoadPack()

// 加载数据包

{

int i ;

int load_packs

= 0 ;

FILE *pack = fopen(PACK_FILE, "r") ;

for (i = 0; i < BUF_COUNT; i++)

{

if ( Tab[to_be_load+i] != -1 && Tab[to_be_load+i+1] != -1 )

{

int size = Tab[to_be_load+i+1] - Tab[to_be_load+i] ;

int offset = Tab[to_be_load+i] ;

if ( fread(buf+i, size, 1, pack) != 1 )

{

printf("Read error...\n\n") ;

exit(1) ;

}

load_packs ++ ;

// 更新变量

}

else

{

/* do nothing */

}

}

fflush(pack) ;

// 刷新数据流

to_be_load += load_packs ;

// 更新变量

return load_packs ;

// 返回读取的数目

}

3.4.2 系统中的buffer

在现实中的很多系统中,buffer是很重要的一种思想,为的就是减少读取外部存储的次数,延长设备的使用寿命。Buffer在计算机系统中,应用是很广泛的,例如,在硬盘和内存之间存在一层缓冲区,在CPU和内存之间同样也存在一层缓冲区,这层缓冲区通常被称作Cache。

在本系统中,也同样利用了Buffer思想,有着传统意义上的原因,当然还考虑到用户操作时的特殊性,系统的Buffer思想描述如下:

l

在任意时刻,Buffer内最多存储100个Package数据

l

刚开始,加载pack0 ~ pack99共计100个package,当要查看pack100时,则采取的方法是:保留旧的50个package, 加载新的50个package,则package编号变为:pack50 ~ pack149,这样操作的原因是为了用户的方便,因为用户经常会查看某个报文附近的几个报文。

初始状态下,假设系统已经加载了编号为0到99的数据包,如图2.7所示:

图2.7

加载前缓冲区内容

在某一时刻,假设用户想查看编号为100的数据包,则需要重新加载,重新加载后的数据包如图2.8所示:

图2.8

加载后缓冲区内容

使用此种Buffer思想,用户操作的方便性即体现在这个方面,在对某条报文进行研究时,会经常查看它的临近报文,使用此种机制,那么便不会不断的对要查看的临近报文进行加载,减少了读取硬盘的次数。

3.4.3 系统的显示问题

在控制台上,要想建造一个好的用户操作界面,是一件比较难的事情,根据我的体验,linux下著名的Sniffer工具tcpdump的操作界面也不够友好,普通用户很难操作。在window环境下的Sniffer工具Ethereal界面比较美观,方便操作,所以,建造一个好的用户操作界面成为我此次毕设的攻克重点。

本系统的显示分为两种显示模式:“detail”模式 和 “simple”模式,“detail”模式意为“详细显示模式”,“simple”模式意为“简单显示模式”。

在“detail”模式下,每个包得到尽可能详细的解析,解析包的每一层信息,示意如图2.9:

图2.9

详细显示模式

根据上图显示的信息,可以得知此包是一个ICMP Package,具体内容属于ping Reply,更详细得知是本主机ping本主机的一个数据包。

“simple”模式意为简单模式,所谓简单模式就是对每个Package尽可能的用一句话来描述,虽然尽可能的简短,但是一定要包含以下信息:

l

Package的类型

l

Package的作用

这种模式的重要作用是在用户对包进行检测和测量时,通常会查看相邻的几个Package,这样的模式方便用户进行“查看上一个Package”和“查看下一个Package”,只要用户在这种模式下按“N”或者“n”就可以查看下一个package,只要按“L”或“l”键就可以查看上一个Package。

“simple”模式的示意如图2.10所示:

图2.10

简单显示模式

从图中可以看出,当前正在查看的包用“蓝色”的线条标出,方面用户的操作,当用户向上或者向下进行选择时,此蓝色线条也同样会向上或向下运动,这样做的原因是是的系统显示具有动态效果。

“detail”模式的显示比较简单,只要逐层进行解析就可以了,下面我们主要讨论下“simple”模式下的显示算法。

在“simple”模式下,当前控制台最多可以显示20个Package,主要是由函数List20Packages函数实现的。什么时候应该对Package标上蓝色的线条,以下代码即说明此问题:

if ( i == p_recorder % 20 )

// if the package is the current

printf(COLOR_START) ;

// color_start

无论示在简单显示模式还是在详细显示模式下,均支持以下三种操作:

向上操作(Prev) ----- 查看上一条报文

向下操作(Next) ----- 查看下一条报文

任意操作(Goto) ----- 查看任一条报文

第四章

Sniffer其它相关

4.1 文怎样获取一个数据包?

4.1.1 Libpcap方法

Libpcap 是由洛仑兹伯克利国家实验室编写的Linux 平台下的网络数据包捕获函数库,是一种与系统无关,用于访问数据链路层,是一个独立于系统接口的用户级捕包函数据库,为底层的网络数据提供了可移植框架,它的应用包括网络统计、安全监听、网络调试、性能测量、入侵检测、口令拦截等。Libpcap 可以在绝大多数类Unix 平台下工作,绝大多数的现代操作系统都提供了对底层网络数据包捕获的机制,在捕获机制之上可以开发网络监控应用软件。采用Libpcap 实施网络数据包捕获时,将要用到一个重要的函数pcap_open_live(),它的函数原型是:pcap_t * pcap_open_live(const char *device, int snaplen, int promisc, int to_ms, char *ebuf),其中,如果device 为NULL 或any,则对所有接口捕获,snaplen 代表用户期望的捕获数据包最大长度,promisc 代表设置接口为混杂模式,捕获所有到达接口的数据包,但只有在设备给定的情况下才有意义,to_ms 代表函数超时返回的时间。

编程要点如下:

l

查找可以捕获数据包的设备

device = pcap_lookupdev(errbuf);

l

创建捕获句柄,准备进行捕获

p =pcap_open_live(device, 8000, 1, 500, errbuf);

l

如果用户设置了过滤条件,则编译和安装过滤代码

pcap_compile(p, &fcode, filter_string, 0, netmask);

pcap_setfilter(p, &fcode);

l

进入循环,反复捕获数据包

for( ; ; )

while((ptr = (char *)(pcap_next(p, &hdr))) == NULL);

l

对捕获的数据进行类型转换,转化成以太数据包类型

eth = (struct libnet_ethernet_hdr *)ptr;

l

对以太头部进行分析,判断所包含的数据包类型,做进一步的处理

if(eth->ether_type == ntohs(ETHERTYPE_IP))

if(eth->ether_type == ntohs(ETHERTYPE_ARP))

l

关闭捕获句柄

pcap_close(p);

4.1.2 Socket方法

在Linux 下编写网络包捕获程序,比较简单的方法是在超级用户模式下,利用类型为SOCK_PACKET 的套接口(socket函数)来捕获链路帧。Linux SOCK_PACKET 编程要点如下:

l

设置套接口以捕获链路帧:在设置套接口之前,需要引用如下文件:

#include

#include

#include

#include

调用socket 函数的原型是:int socket(int domain, int type,int protocol);

本函数涉及3 个输入参数:domain 参数表示所使用的协议族;type 参数表示套接口的类型;protocol 参数表示所使用的协议族中某个特定的协议。如果函数调用成功,套接口的描述符(非负整数) 就作为函数的返回值,假如返回值为-1,就表明有错误发生。使用socket 函数捕获链路层数据帧,domain参数应指定为AF_INET 协议族,表示采用Internet 协议族;type参数指定为SOCK_PACKET,表示获取链路层数据,进而分析各层的协议数据单元;而protocol 参数采用htons(0x0003),表示可以截取所有类型的数据帧。这里htons 函数用于短整数的字节顺序转换。计算机数据存储有两种字节优先顺序:高位字节优先和低位字节优先。Internet 上数据以高位字节优先顺序在网络上传输,所以对于在内部是以低位字节优先方式存储数据的机器,在Internet 上传输数据时就需要进行转换,否则就会出现数据不一致。在捕获数据包时socket 函数调用形式为:

int fd;

// fd 是套接口的描述符

fd=socket(AF_INET, SOCK_PACKET, htons(0x0003));

l

设置网卡工作模式:要使建立的套接口能够真正捕获到同一网段其它站点的数据,还必须设置网卡工作于“混杂”模式,可以使用ioctl 函数,原型如下:

int ioctl(int d, int request,&ifr),ioctl 系统调用用于对套接口、网卡等软硬件设施进行底层控制,实际的操作来自各个设备自己提供的ioctl 接口。设置网卡于“混杂”方式的Linux C 程序段如下:

struct ifreq ifr;

strcpy(ifr.ifr_name, dev);

//(char *)dev 标识设备名,如:eth0

i=ioctl(fd,SIOCGIFFLAGS,&ifr); // 表示要求取出工作方式

if(i

{

close(fd);

perror("can't get flags\n");

exit(0);

}

ifr.ifr_flags |= IFF_PROMISC;

//在标志中加入“混杂”方式

i=ioctl(fd,SIOCSIFFLAGS,&ifr);

// 表示要求设定工作方式

if(i

{

perror("can't set promiscuous\n");

exit(0);

}

l

从套接口读取链路帧:套接口建立以后,就可以从中循环地读取链路层数据帧。因此,还需要建立数据帧的缓冲区,并把帧头结构的指针指向这一缓冲区的首地址:

char ep[ETH_FRAME_LEN]; struct ethhdr *eh; int fl;

eh=(struct ethhdr *)ep;

// 指向帧头

fl0 = read(fd, (etherpacket *)ep, sizeof(ep)) ;

//fl0 为截取的数据帧帧长

这里帧头结构类型ethhdr 在/usr/include/linux/if_ether.h 中

定义:struct ethhdr {unsigned char h_dest [ETH_ALEN]; //目标MAC 地址

unsigned char h_source[ETH_ALEN];

`

//源MAC 地址

unsigned short h_proto;

//帧中数据协议类型代码

}

基于上述定义,一旦ep 读入帧中数据,就可以通过eh->h_dest、eh->h_source、eh->h_proto 获取帧首部信息。

4.2 怎样解析一个报文?

无论采用Lipcap 方法,还是采用SOCK 方法,都可获得以太网帧,由于在以太网帧首部中含有协议类型字段,所以可进一步实现上层协议包的首部提取,为篇幅起见,本处仅对Socket方法获得帧为例,介绍TCP/IP 首部的提取的一般方法,以便今后作进一步的数据分析与处理。

IP 报头首部提取

根据h_proto 的值,可以确定帧数据将交由上层何种协议处理,常见的h_proto 值与协议的对应关系有:

0x0800:IP协议;

0x0806:ARP 协议;

0x8035:RARP 协议。

因此,一旦捕获的帧中h_proto 的取值为0x800,将类型为iphdr 的结构指针指向帧头后面负载数据的起始位置,则IP 信包首部的数据结构将一览无余。以下程序段表明这一定位过程:

char ep[ETH_FRAME_LEN];

struct ethhdr * eh;

struct iphdr *ip;

int fl;

eh=(struct ethhdr *)ep;

// eh 指向帧头

ip=(struct iphdr *)((unsigned long)ep + ETH_HLEN);

// ETH_HLEN为帧长

fl1=read(fd, (struct erhhdr *)ep, sizeof(ep));

//fl1为捕获的数据帧长

printf("saddr:%x =>daddr:%x\n",ip->saddr, ip->daddr); //取源和目标IP 地址

TCP 报文段首部提取

在IP 协议首部中包含协议数据单元类型标识域:_u8 protocol;这一标识域的常见取值及其协议对应关系如下:

1:ICMP;

6:TCP;

17:UDP。

因此,如果IP 报头的协议域取值为6,那么紧跟在IP 报头之后就是TCP 报头。IP 报头的长度可以通过ihl 域取得。这样,假如缓冲数组ep 存放捕获到的以太网数据帧,iph 是指向其中IP 基本报头结构的指针,而tcph 是指向TCP 报头结构的指针,那么,定位tcph=(struct tcphdr *)(((unsignedlong)ep)+ETH_HLEN+ iph->ihl*4),TCP 报头的结构信息就存放在*tcph 中,并可通过以下语句获取相关信息:

fl2=read(fd, (struct ethhdr *)ep, sizeof(ep));

// fl2 为捕获的数据帧帧长

printf("source=%x,dest=%x\n",tcph->source,tcph->dest); //取源端口和目的端口号

4.3 怎样把网卡置为“混杂模式”?

在以太网中,通过广播实现数据传输,在同一子网段的所有网卡都可“听”到网络总线上传输的所有数据,但不是所有数据都能被接收到。在系统正常工作时,一个合法的网络接口只响应两种数据帧:帧的目标MAC地址与本地网卡地址相符;帧的目标地址是广播地址,除此之外数据帧将被丢弃。

由于网卡有4 种工作模式:广播(能够接收网络中的广播信息)、组播(能接收组播数据)、直接(只有目的网卡才能接收该数据)和混杂(能够接收一切数据)模式,所以为了能够捕获以太网所有数据包,通常需要将网卡设置成混杂工作模式。当主机连接在共享型以太网集线器上时,采用“混杂”方式可以捕获到同一冲突域上传输的数据帧;但当主机连接在交换机上时,由于交换机通常不会将数据帧广播到所有端口上(除非在其MAC 地址——端口映射表内找不到相应表项),因而不能利用以太网络的广播特性进行捕获。这时,可以利用交换机的端口镜像功能实现网络数据包捕获。因为当端口A 和端口B 之间建立镜像关系后,流经端口A 的所有信息流量将同时通过端口B 输出,所以可以在端口B 捕获到端口A的数据。

所以,要想运行Sniffer工具,执行“侦听”功能,就必须使得网卡处于“混杂模式”,把网卡置为“混杂模式”的代码如下:

BOOL SetPromis()

{

int fd ;

fd = socket(AF_INET, SOCK_PACKET, htons(0x0003) ) ;

if ( fd == -1 )

{

printf("Can Not Establish A Socket To Control The Card...\n\n") ;

return FALSE ;

}

struct ifreq ifr ;

strcpy(ifr.ifr_name, "eth0") ;

int i = ioctl(fd, SIOCGIFFLAGS, &ifr) ;

if ( i < 0 )

{

close(fd) ;

printf("Can Not Get Flags Of The Net Card...\n\n") ;

return FALSE ;

}

ifr.ifr_flags |= IFF_PROMISC ;

i = ioctl(fd, SIOCSIFFLAGS, &ifr) ;

if ( i < 0 )

{

printf("Can Not Set The Net Card Promiscuous...\n\n") ;

return FALSE ;

}

printf("Set The Card To Be Promiscuous..............OK\n\n") ;

return TRUE ;

}

4.4 Sniffer攻击的防范

Sniffer软件可以进行网络流量监控、拓扑发现、入侵检测,给网络管理带来了极大的便利。正由于它能被动获取网络传输的明文信息,因此,一旦被黑客利用,给网络带来的危害也是巨大的。

作为一种入侵手段,嗅探器令人防不胜防,因为它被动接受而不主动获得。它不会向网络上发出任何包,网络用户很难发现它的存在。到目前为止还没有一种比较好的防范手段。防范 Sniffer攻击,只能依靠用户和网络软件设计者的安全意识。我们知道,FTP, Telnet等软件都是进行明文传输,因此,对攻击者来说,他们传输的信息就等于完全暴露出来。因此,必须对传输的数据进行加密,这也是反嗅探器的唯一途径。在Linux系统中,我们主张用SSH和openSSH来对传输数据进行加密。这样即使攻击者能得到数据流,也不能得到具体信息了。

另一种防范嗅探攻击的方式就是检查网络中有无网络接口处于混乱模式。在Linux环境下可以用ifconfig来检钡本地机器是否处于混乱模式,ifconfig是Linux自带的工具。对于子网中网络接口的检测,可以使用NEPED工具。然而该工具是利用Linux的ARP实现中的缺陷来检测这些接口口它发送一个ARP请求,一次来引起嗅探工作站的响应。然而它本身就是一个缺陷,因为它是利用了Linux的其它缺陷来实现的。随着Linux系统的越来越完善,如果ARP实现得到修补,嗅探工作站不再响应ARP请求。

另外,安全的拓扑结构也是必要的,因为嗅探器只能在当前网络段上进行数据捕获。这就意味着,将网络分段工作进行得越细,嗅探器能够收集的信息就越少。

以上讨论了目前对嗅探攻击防范的困难,对此本人作出下列两点设想:

l

因为以太网在局域网中进行传输是使用广播方式,如果不采用这种方式,直接使用地址解析 ((ARP)影射物理地址,嗅探器就无法接收数据了。或者进行双向验证,即主机对数据需要检查,数据对主机也需检查。

l

由于进行原始数据接收时需要将网卡设置为混乱模式,但如果网卡不

提供这种模式,嗅探器也无法工作了。另外,前面提供的两种检测网卡是否处于混乱模式的方式都有缺陷,希望以后能研究出没有缺陷的检测网卡状态的方式。

4.5 Sniffer引入网络管理中的可行性

Sniffer作为能够捕获网络报文的设备,通常用来在网络上截取阅读位于OS工协议模型中各个协议层次上的数据包。Sniffer可以拦截所有的正在网络上传送的数据,通过相应的软件分析处理,对网络实时信息和历史信息进行监控和统计分析,进而分析子网的网络状态和网络整体布局。为网络性能的分析、网络故障的判断、信息流量的审计、配置管理得调整、网络安全的检测提供强有力的使用工具,对网络管理提供信息依据。

Sniffer可以在网络管理中实现的主要的功能:

实时网络包捕获:Sniffer能够以线速率实时捕获用户定义的网络数据包截获通信的内容。对网络上主机间的通信,通过设置过滤条件,给出一个详细的逐包的统计信息。

网络实时监控:Sniffer以表格、图形等形式,实时显示出网络运行情况,如协议分布、流量分布、带宽利用率、错误率等。

对协议进行解析:有些只能分析一种协议,而另一些能够分析几百种协议。

统计历史数据和发出警报:Sniffer可提供几十种长期数据报告,以便将来的历史查询和分析,并可根据预先设定的阀值发出事件警报。

报文发送:通过设置目的地址,发送次数,发送延迟和报文大小,形成报文并发送,可以实现网络流量模拟。

4.6 Sniffer技术在网络管理中开发的可行性与必要性

根据以上各章节的论述,我们大致了解了网络管理技术和Sniffer技术的基本概念,在Sniffer本身所具有的抓取网络数据报的特性的基础之上,首先产生了一些简单的Sniffer的工具,其后Sniffer技术融合其他方面的技术,包括:人工智能、数据库、分布式等技术,在网络管理领域得到了极大的发展,在不同网络类型、不同操作系统中都得到了或多或少的应用,形成了各种专用的或通用的Sniffer产品,从简单捕获400字节数据包的Sniffit工具到集成的功能强到的具有 Sniffer网络管理性质的 TVN商业软件。从研究和实际应用上说明Sniffer技术在网络管理中是一种行之有效的技术。

由于现有网络管理工具的存在,许多人认为没有自己再开发网络管理软件的必要了。事实上,这种观念是不正确的。因为:尽管现有的网络管理工具提供了强大的网络管理功能,但它不可能包罗万象,适合于任何情况。也基于这个原因,很多的网络管理平台提供了API,可以使第三方或客户进行二次开发。这虽然使得网络管理工具的开发容易了许多,但前提是要掌握网络管理的深厚的专业知识。功能强大的网络管理工具其使用相应也较为复杂,而客户使用可能只关心自己想要实现的功能,而不迷失于相对无必要的复杂的功能环境中,同时希望减少管理负担,减少培训、操作和维护的费用。另外优秀的网络管理工具的价格也是很昂贵的,微小型企业可能无法承受。

因此Sniffer技术在网络管理中的开发应用有着很大的必要性。ShuSniffer是我们自主开发的具有独立版权的软件产品。它是针对广播信道网络环境下的企事业单位局域网而专业设计的一套小巧、可靠、操作简便的计算机网络诊听分析软件。它主要依靠信息在局域网中传播的广播方式,捕获信道上的报文,进行一系列特定分析,提取出实用数据提供给用户作为参考。并且把数据存入数据库,提供历史查询。它可以模拟网络报文传输,以及对截获的报文进行深层次的分析,了解报文的具体内容。它实现的主要功能包括:网络实时监视、报文捕获与分析、报文发送、历史查询、系统配置,为网络健康性能状态的分析、调整提供强有力的实用工具,成为计算机网络管理体系中的重要组成部分。

4.7 Sniffer对多协议的捕捉和分析的不足

当前Sniffer技术的应用还十分简单,对复杂多协议的捕获和分析也有很大的缺陷。从推广Sniffer技术的企业来看,Sniffer因要十分具体的应用于某个领域,因此只能做到对某个特定协议集做到精确专业的分析口而今天的网络通常由多个网段经过路由器、网桥、交换机和WAN链路组成。任何一个网段都可能运行多种网络协议。例如,TCP/IP协议与局域传输协议(如Novell的IPX)一起用于连接企业范围网络的协议。对于某些商业站点,可能同时需要运行多种协议簇— NetBEUI, IPX/SPX, TCP/IP, 802.3和SNA等,每个协议簇中又包括多种具体应用协议。这时很难找到一种Sniffer帮助解决网络问题,因为许多Sniffer往往将某些正确的协议数据包当成了错误数据包,然而我们要想解决复杂的网络问题,通常需要详细地解析各协议数据包内容。

在实际应用中,现有的Sniffer软件管理工具通常只能对单个协议或少数的协议进行捕获,例如Sniffer工具软件不能检测诸如HTTP和FTP之类的应用协议。这在工nterne七八ntranet环境中对网络的有效管理是一个大缺陷。所以Sniffer应该有对多种协议的捕获和分析能力,包含了目前最热门的W49W所使用的通讯协议.提供广泛且详尽的协议解析,使Sniffer成为一个功能齐全,完全透视网络的强大网络管理工具。

参考文献

[1] Tim Berners-Lee,James Handler,Ora Lassia.The semantic web[J].Scientific American, 2001,284(5):34-43.

[2] W3C Recommendation 10 February 2004.OWL web ontology language guide [EB/OL]. 2004

[3] Robert Shimonski, Sniffer Network Optimization and Troubleshooting Handbook. Syngress Media, 2002.6.

[4] Douglas E.Comer. Internetworking with TCP/IP, Vol 1. 5th Edition.

United States :Prentice Hall ,2006:90-200.

[5] W.Richard Stevens. TCP/IP Illustrated, Vol 1: The Protocols. United States: Addison-Wesley,2004:70-150.

[6] 李景.本体论在系统中的应用研究[M].北京:北京图书馆出版社, 2005.

[7] 谭思亮,监听与隐藏网络侦听揭密[M].北京:人民邮电出版社,2002.

[8] 肖新峰,宋强. TCP/IP 协议与标准教程. 北京:清华大学出版社,2007:1-115.

[9] 杨延双. TCP/IP 协议分析与应用. 北京:机械工业出版社,2007:60-148.

[10] 兰少华,杨余旺,吕建勇. TCP/IP 网络与协议. 北京:清华大学出版社,2006:1-110

[11] 李景.本体论在文献检索系统中的应用研究[M]. 北京:北京图书馆出版社, 2005. 70-150

[12] 朱礼军,陶兰,黄赤.语义万维网的概念、方法及应用[J].计算机工程与应用, 2004,40(3):79-83

[13] 任彬.一种特定领域的语义网模型[D].吉林:吉林大学, 2004.

[14] 田春虎.国内语义Web 研究综述[J].情报学报,2005,24(2):243-249.

[15] 杜小勇,李曼,王大治.语义Web与本体研究综述[J].计算机应用, 2004,24(10):14-16.

[16] 周武,金远平.构建XML 本体信息研究[J].微机发展, 2003,13(10):61-64.

[17] 马恒太,蒋建春.一个基于Uuix 平台的分布式网络监视器系统[J].计算机研究与发展, 2001,38(3):268-274.

[18] 李力,肖庆.Linux 下GUI 网络数据包嗅探器的研究与实现[J].计算机工程与设计, 2006,27(2):344-346.