网络信息安全Word文件下载.docx
《网络信息安全Word文件下载.docx》由会员分享,可在线阅读,更多相关《网络信息安全Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。
网络间互连的要求越来越强,真正达到资源共享、数据通信和分布处理的目标。
迅速崛起的Internet是人们向往的"
信息高速公路"
的一个雏形,从它目前进展的广度和应用的深度来看,其潜力还远远没有发挥出来,随着21世纪的到来,Internet必将在人类的社会、政治和经济生活中扮演着越来越重要的角色。
运算机网络的进展过程是从简单到复杂,从单机到多机,从终端与运算机之间的通信进展到运算机与运算机之间的直截了当通信的演变过程。
其进展经历了具有通信功能的批处理系统、具有通信功能的多机系统和运算机网络系统三个时期。
1.具有通信功能的批处理系统
在具有通信功能的批处理系统中,运算机既要进行数据处理,又要承担终端间的通信,主机负荷加重,实际工作效率下降;
分散的终端单独占用一条通信线路,通信线路利用率低,费用高。
2.具有通信功能的多机系统
具有通信功能的多机系统的主机前增设一个前端处理机,用来专门负责通信工作,而且在终端比较集中的地点设置集中器。
集中器实际也是一台运算机,它把终端发来的信息收集起来,装配成用户的作业信息,然后再用高速线路传给前端处理机。
当主机把信息发给用户时,集中器先接收由前端处理机传来的信息,经预处理分发给用户,从而实现了数据处理与数据通信的分工。
3.运算机网络系统
在运算机网络系统中,服务器负责处理网络上各主机(或称为工作站)之间通信操纵和通信处理的任务,网络上各主机负责数据和用户作业的处理,是运算机网络的资源拥有者。
在网络系统中,各主机之间没有主次关系,它们各自相互独立,但通过通信操纵设备和通信介质实现系统中各运算机之间的数据和系统软、硬件资源的共享。
随着网络技术的不断进展和完善,网络结构、网络系统日趋成熟,运算机网络已逐步渗透到当今信息社会的各个领域,其应用前景是十分宽敞的。
运算机网络是把一定地理范畴内的运算机通过通信线路互连起来,在相应通信协议和网络系统软件的支持下,彼此互相通信并共享资源的系统。
因此,能够把运算机网络定义为:
凡将地理位置不同,并具有独立功能的多台运算机系统通过通信设备和线路连接起来,以功能完善的网络软件实现在网络中资源共享的系统,称之为运算机网络系统。
网络系统是由网络操作系统和用以组成运算机网络的多台运算机,以及各种通信设备构成的。
在运算机网络系统中,每台运算机是独立的,任何一台运算机都不能干预其它运算机的工作,任何两台运算机之间没有主从关系。
运算机网络系统由网络硬件和网络软件两部分组成。
在网络系统中,硬件对网络的性能起着决定的作用,是网络运行的实体,而网络软件则是支持网络运行、提高效益和开发网络资源的工具。
1.网络硬件
网络硬件是运算机网络系统的物质基础。
构成一个运算机网络系统,第一要将运算机及其附属硬件设备与网络中的其它运算机系统连接起来,实现物理连接。
常见的网络硬件有:
运算机、网络接口卡、通信介质以及各种网络互连设备等。
网络中的运算机又分为服务器和网络工作站两类。
2.网络软件
网络软件是实现网络功能所不可缺少的软环境。
网络软件通常包括网络操作系统(NetworkOperatingSystem)和网络协议软件。
网络操作系统
网络操作系统是运行在网络硬件基础之上的,为网络用户提供共享资源治理服务、差不多通信服务、网络系统安全服务及其他网络服务的软件系统。
网络操作系统是网络的核心,其他应用软件系统需要网络操作系统的支持才能运行。
在网络系统中,每个用户都可享用系统中的各种资源,因此,网络操作系统必须对用户进行操纵,否则,就会造成系统纷乱,造成信息数据的破坏和丢失。
为了和谐系统资源,网络操作系统需要通过软件工具对网络资源进行全面的治理,进行合理的调度和分配。
网络协议
连入网络的运算机依*网络协议实现互相通信,而网络协议是*具体的网络协议软件的运行支持才能工作。
凡是连入运算机网络的服务器和工作站上都运行着相应的网络协议软件,比如最常用的互联网协议TCP/IP,网间互连协议IPX/netbois,等等
随着网络技术的进展,其应用领域越来越广泛。
通过网络系统,人们能够坐在家里预订去世界各地的飞机票、火车票、船票,预订客房等。
通过远程通信可了解全世界各地证券、股市行情,在任何地点的银行存取货币等。
通过网络信息系统对企业生产、销售、财务、储运、固定资产等各方面进行治理,还能够对企业进行辅助打算、辅助决策,对企业进行宏观操纵。
另外,运算机网络系统在信息咨询业、办公自动化、军事、航天航空、教育、气象、图书馆治理等方面都有广泛的应用。
运算机网络的应用领域十分广泛,要紧有以下几种用途。
1.共享资源
建立运算机网络的要紧目的在于实现"
资源共享"
,因此其功能要紧表达在通过资源共享而实现。
利用运算机网络能够共享主机设备,如,中型机、小型机、工作站等;
也能够共享较高级和昂贵的外部设备,如:
激光打印机、绘图仪、数字化仪、扫描仪等。
使不拥有大型运算机的用户也能够通过网络使用大型机资源,分享到拥有大型机的优势,幸免系统建设中的重复劳动和投资。
运算机网络系统可将分散在各地的运算机中的数据信息收集起来,进行综合分析处理。
并把分析结果反馈给相关的各个运算机中,使数据信息得到充分的共享。
更重要的是,利用运算机网络共享软件、数据等信息资源,以最大限度地降低成本,提高效率。
通过运算机网络系统能够缓解用户资源缺乏的矛盾,并可对各资源的忙与闲进行合理调剂。
2.数据通信
利用运算机网络能够实现运算机用户相互间的通信。
通过网络上的文件服务器交换信息和报文、收发电子邮件、相互协同工作等。
这些对办公室自动化、提高生产率起着十分重要的作用。
随着Internet在世界各地的风行,传统的、电报、邮递等通信方式受到专门大冲击,电子邮件、BBS已为世人广泛同意,IP、视频会议等各种通信方式.
第2章网络安全概述
2.1网络安全的定义
网络安全的具体含义会随着"
角度"
的变化而变化。
比如:
从用户(个人、企业等)的角度来说,他们期望涉及个人隐私或商业利益的信息在网络上传输时受到隐秘性、完整性和真实性的爱护,幸免其他人或对手利用窃听、冒充、篡改、抵赖等手段侵犯用户的利益和隐,同时也幸免其它用户的非授权访问和破坏。
从网络运行和治理者角度说,他们期望对本地网络信息的访问、读写等操作受到爱护和操纵,幸免显现"
陷门"
、病毒、非法存取、拒绝服务和网络资源非法占用和非法操纵等威逼,禁止和防备网络黑客的攻击。
对安全保密部门来说,他们期望对非法的、有害的或涉及国家隐秘的信息进行过滤和防堵,幸免机要信息泄露,幸免对社会产生危害,对国家造成庞大缺失。
从社会教育和意识形状角度来讲,网络上不健康的内容,会对社会的稳固和人类的进展造成阻碍,必须对其进行操纵。
从本质上来讲,网络安全确实是网络上的信息安全,是指网络系统的硬件、软件及其系统中的数据受到爱护,不受偶然的或者恶意的缘故而遭到破坏、更换、泄露,系统连续可*正常地运行,网络服务不中断。
广义来说,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论差不多上网络安全所要研究的领域。
网络安全涉及的内容既有技术方面的问题,也有治理方面的问题,两方面相互补充,缺一不可。
技术方面要紧侧重于防范外部非法用户的攻击,治理方面则侧重于内部人为因素的治理。
如何更有效地爱护重要的信息数据、提高运算机网络系统的安全性差不多成为所有运算机网络应用必须考虑和必须解决的一个重要问题。
不同环境和应用中的网络安全
运行系统安全:
即保证信息处理和传输系统的安全。
它侧重于保证系统正常运行,幸免因为系统的崩溃和损坏而对系统存贮、处理和传输的信息造成破坏和缺失,幸免由于电磁泄漏,产生信息泄露,干扰他人,受他人干扰。
网络上系统信息的安全:
包括用户口令鉴别,用户存取权限操纵,数据存取权限、方式操纵,安全审计,安全问题跟踪,运算机病毒防治,数据加密。
网络上信息传播安全:
即信息传播后果的安全。
包括信息过滤等。
它侧重于防止和操纵非法、有害的信息进行传播后的后果。
幸免公用网络上大量自由传输的信息失控。
网络上信息内容的安全:
它侧重于爱护信息的保密性、真实性和完整性。
幸免攻击者利用系统的安全漏洞进行窃听、冒充、诈骗等有损于合法用户的行为。
本质上是爱护用户的利益和隐私
能够从不同角度对网络安全作出不同的说明。
一样意义上,网络安全是指信息安全和操纵安全两部分。
国际标准化组织把信息安全定义为"
信息的完整性、可用性、保密性和可*性"
;
操纵安全则指身份认证、不可否认性、授权和访问操纵。
互联网与生俱有的开放性、交互性和分散性特点使人类所向往的信息共享、开放、灵活和快速等需求得到满足。
网络环境为信息共享、信息交流、信息服务制造了理想空间,网络技术的迅速进展和广泛应用,为人类社会的进步提供了庞大推动力。
然而,正是由于互联网的上述特性,产生了许多安全问题:
a)信息泄漏、信息污染、信息不易受控。
例如,资源未授权侵用、未授权信息流显现、系统拒绝信息流和系统否认等,这些差不多上信息安全的技术难点。
b)在网络环境中,一些组织或个人出于某种专门目的,进行信息泄密、信息破坏、信息侵权和意识形状的信息渗透,甚至通过网络进行政治颠覆等活动,使国家利益、社会公共利益和各类主体的合法权益受到威逼。
C)网络运用的趋势是全社会广泛参与,随之而来的是操纵权分散的治理问题。
由于人们利益、目标、价值的分歧,使信息资源的爱护和治理显现脱节和真空,从而使信息安全问题变得广泛而复杂。
d)随着社会重要基础设施的高度信息化,社会的"
命脉"
和核心操纵系统有可能面临恶意攻击而导致损坏和瘫痪,包括国防通信设施、动力操纵网、金融系统和政府网站等。
随着人类社会生活对Internet需求的日益增长,网络安全逐步成为Internet及各项网络服务和应用进一步进展的关键问题,专门是1993年以后Internet开始商用化,通过Internet进行的各种电子商务业务日益增多,加之Internet/Intranet技术日趋成熟,专门多组织和企业都建立了自己的内部网络并将之与Internet联通。
上述上电子商务应用和企业网络中的商业隐秘均成为攻击者的目标。
据统计,目前网络攻击手段有数千种之多,使网络安全问题变得极其严肃,据美国商业杂志《信息周刊》公布的一项调查报告称,黑客攻击和病毒等安全问题在2000年造成了上万亿美元的经济缺失,在全球范畴内每数秒钟就发生一起网络攻击事件。
随着Internet的进展,网络安全技术也在与网络攻击的对抗中不断进展。
从总体上看,经历了从静态到动态、从被动防范到主动防范的进展过程
当人们访问他们不应访问的信息时,或他们妄图对网络或其资源作期望做的事时,我们成如此的妄图为攻击。
攻击是一种你不想遇到的行为或一种妄图的行为。
说到字符,专门多用户也许会不以为然:
小小的字符,只是是个专门基础的人机交互表达形式,它能产生什么威逼?
然而,威逼偏偏就来自最原始的方面,同时这种威逼往往是最危险的,也是最难以防范的。
正如世界上有各种表达形式和书写格式不同的语言一样,在运算机的世界里同样存在类似的问题:
在运算机进展初期,不同的运算机系统对字符的处理方式不同,这导致了各个系统之间不能互相交流。
为了解决那个问题,人们制订了多种标准以便不同系统之间也能正确进行字符交互,这确实是字符编码的由来。
由于字符能够通过多种途径进行表达,因此它们的编码也多种多样,常见的英文字符编码有ASCII、ANSI、Unicode、UTF、ISO等,关于非英文字符,常见的字符编码有GBK、BIG5、JIS等。
可能有的读者差不多开始不耐烦了:
说了半天"
编码"
,到底什么才是编码?
!
那个地点,我们用一个小例子关心大伙儿明白得什么是"
。
我们能够如此明白得:
一杯水不管放进什么形状的杯子里都依旧水,而可不能变成老虎之类的,那个道理专门简单,对不对?
那么同样的法则也适用于字符。
对一个字符来说,不管系统内部如何处理,只要最终显示出来的是原先的字符,那就没错。
例如"
小"
字,Unicode编码把它作为"
%D0%A1"
存放,而ASCII编码里,它能够用"
-12127"
来表示,然而不管它如何变,只要还能还原回"
字,系统的处理工作就可不能出问题
多种编码的产生本来是为了解决字符信息的交互问题,然而正是这些多种多样的编码导致了让人意想不到的后果。
字符,那个不起眼的小东西在编码的世界里举起了"
大刀"
,这使得上面提到的"
水变成老虎"
成为可能。
字符威逼实录
在接触运算机不久的时候你听说了一个词"
ASCII"
到了Windows2000开始流行的时候,你明白"
Unicode"
帮你解决了许多乱码问题;
当你成为运算机高手以后,你常常会跟"
SQL"
玩个不亦乐乎,但是你明白吗?
在这些你所熟知的字符或编码背后,隐藏着什么样的危险吗?
你明白如此的危险就在你周围吗?
操纵符:
想说爱你不容易
ASCII全称AmericanStandardCodeforInformationInterchange(美国信息互换标准代码),是最基础的字符表达方式,它能完整表示26个英文字母、10个数字以及通用的格式符号等。
ASCII又分为操纵字符和可显示字符(也称为"
Printable"
,即可打印字符),通常情形下,操纵字符只能由专门按键和系统自己产生,而且这些字符中的大部分是我们看不见的。
然而你千万不要以为看不见即不存在,恰恰相反,它们时刻存在!
例如,在你储存一个文本的时候,系统就会自动在文件结尾添加一个你看不见的终止符号,那个符号的作用确实是用来告诉处理程序,读取到那个地点的时候:
停!
专业说法能够称之为文件终止符。
不幸的是,上面提到,ASCII操纵编码并非只有系统自身能够产生,用户也能够通过专门的输入方式成功地输出一个键盘上打不出来的专门字符,这就可能会造成极其严峻的后果。
老一辈的论坛治理员也许还记得国内那次恐惧论坛攻击事件:
专门多论坛的帖子在一夜之间全部丢失!
但是论坛却没有被入侵过的痕迹,服务器也完好无损,难道见鬼了?
后来,有人认真查看了论坛日志文件,原先是入侵者用一个专门符号发了一个帖子,那个符号让处理程序读取文件时误认为文件到那个地点就终止了,而操纵符号是可不能显示出来的,因此论坛程序只能认为这"
惟一"
的帖子格式不对,因此论坛停止了文件读取,在我们看来,即专门多论坛帖子被删除了。
然而情况仅仅是如此就终止了吗?
入侵者只是发了一个操纵符号导致了论坛读取错误,然而数据依旧在的,只要去掉那个字符就能够复原了。
有人会笑了:
小儿科的把戏!
只是,别急着下结论,假如那么轻易就终止游戏,治理员就可不能哭了:
由于那个操纵符号的存在,一旦有人写入新的数据,那么在那个帖子后面的所有数据将被清空!
因为系统认为文件到那个地点差不多终止了,那么后面的数据将会如何样?
结局只有一个:
被全部清空!
这时候,破坏论坛的就不再是入侵者了,而是那些热心过头急着发帖问"
啊!
论坛被黑了!
"
的成员们了,那个游戏好玩吗?
一个字符,消灭论坛
Unicode:
治理员的噩梦
许多人对Unicode的认识是从闻名的"
IISUnicode"
二次编码漏洞开始的。
然而具体什么是Unicode,这就不是所有人都明白的了。
Unicode常常被翻译为"
万国码"
或者"
唯独码"
,后者也许是来自Unicode发明者的宗旨:
推进多文种的统一编码"
Unicode同现在流行的代码页最显著不同点在于:
Unicode是两字节的全编码,关于ASCII字符它也使用两字节表示。
一般代码页是通过高字节的取值范畴来确定字符是ASCII码,依旧汉字的高字节。
假如发生数据损坏,当整篇文字某处内容被破坏,则会引起其后汉字的纷乱。
Unicode则一律使用两个字节表示一个字符,最明显的好处是它简化了汉字的处理过程。
Unicode编码标准的显现让各种系统之间的交流变得简单,然而正如爱情是把双刃剑那样,Unicode也会伤人的。
问题出在Unicode对字符的解码上,它的算法让一个字符能够通过多种编码格式产生,因此入侵者能够采纳"
旁门左道"
产生一个非标准编码的路径符号。
例如"
%c1%1c"
,通过Unicode解码公式解析出来的字串为:
%c1%1c->
(0xc1-0xc0)*0x40+0x1c=0x5c="
/"
我们明白,IIS在打开文件时,假如该文件名包含Unicode字符,它会对其进行解码,假如用户提供一些专门的编码,将可能导致IIS错误地打开或者执行Web根名目以外的文件。
在那个地点,IIS并不明白那个是路径符,就直截了当发出了处理要求。
因此,入侵者攻击者利用那个漏洞绕过了IIS的路径检查,进入了系统(图3),这确实是闻名的"
二次编码漏洞攻击原理。
论坛:
天生和字符有仇
假如有人专门去阅读一些论坛的文件内容,会发觉它们里面都会有一些代码专门用来处理字符,这部分代码的工作叫做"
字符过滤"
什么缘故呢?
因为有太多字符都能对论坛造成损害,这些字符不一定需要专门编码,甚至我们正常敲出的文字里都有可能包含被论坛作者定义为"
危险"
的字符。
究其缘故,确实是因为论坛程序的专门性,因为它们工作在服务器和外界的接口处,而且自身也是由纯字符组成的,然而一些看似正常的字符会"
不小心"
改变了它们的逻辑,这是连论坛作者自己可能都没想到的。
例如,一些论坛的功能设置部分会涉及文件读写,因此有必要加上权限盘查。
然而假如作者编写的权限检查代码忽略了某些专门字符的输入,结果就会让入侵者成功地往系统中写入一个文件。
LB5000论坛就曾经显现过一个重大漏洞:
它的界面设置模块对用户权限的盘查不严谨,其中一个字符输入没有通过身份验证,而那个设置会产生一个能够让论坛程序执行的文件用于临时储存界面配置数据,因此入侵者通过以下格式写入一个简单的内容:
setskin.cgi?
membercode=ad&
action=process&
printme=use%20CGI%20qw(:
standard)%3bopen(HBU,param('
a'
))%3bprint%20HBU%20param('
b'
)%3b,如此就能完成对论坛的写操作。
让我们简单地看看这段代码。
那个代码产生了一个包含以下有用内容的leoskin.cgi文件:
useCGIqw(:
standard);
open(HBU,param('
));
printHBUparam('
);
明白Perl语法的用户一眼就能看出来,这是一段简单的写入文件代码,入侵者只要用"
leoskin.cgi?
a=>
[文件名]&
b=[内容]"
格式的语句就能够向论坛写入文件。
到那个地点也许有人还不明白:
写个文件有什么了不得?
别忘了,LB5000论坛是基于文件的,它的所有东西差不多上文件,包括治理员账号。
既然我们能写文件,那么只要想方法写入一个治理员账号文件,这下了不得没有?
利用这一点,入侵者还能够写入一个执行命令的文件——WebShell,进而操纵整个服务器!
近期DVBBS论坛最热的一个漏洞确实是UPFILE漏洞,那个漏洞什么缘故得以成功呢?
是简单的字符起的作用!
有谁不能用十六进制处理工具把里面那个关键的空格改为终止符而成功入侵这类论坛呢?
这又是一个"
字符摧跨"
大"
堤坝的典型案例。
SQL:
你的"
针管"
在哪里
说到字符就不能不提一下大名鼎鼎的SQL了,事实上专门多论坛过滤字符最大的缘故也是因为SQL,那个不能称之为漏洞的"
结构化查询语言"
让"
AND"
、"
OR"
等最为简单的字符成了危险的代号。
由于ASP的特性,入侵者在一个连接数据库操作的URL里加入"
ANDSQL语句"
会让IIS执行那个URL里的SQL语句,因此服务器的噩梦又来了。
通过SQL能做什么呢?
最简单的是推测密码(比如免费下载电影或者享用付费用户才拥有的服务),假如服务器的权限设置不行,入侵者能直截了当用SQL执行任何系统命令!
包括清空整个数据库的全部资料。
惊奇的编码:
格式化字符
现在,"
溢出攻击"
差不多成为攻击的要紧方式之一,宽敞用户或多或少都会听说过"
Shell"
那个名词,有爱好的人可能还看过一些溢出程序的代码。
专门多人都会产生出如此的疑问:
每个溢出程序代码里都会发觉的那一串甚至几串用路径符和类似十六进制代码表示的字符串,那是什么?
要说明那个问题,必须先明白C语言对字符的处理方法。
在C语言中,写一行代码向屏幕打印字符并不是简单地向屏幕输出字符串,能在屏幕显示的字符实际上是通过函数转换的"
打印格式"
字符,C语言提供了一种格式化字符,它承诺程序员操纵显示文本的样式,我们能够通过代替专门的格式字符来显示值或数据。
printf("
Thevalueis%s"
sVal)"
,其中"
%s"
确实是格式化字符,它自身不能用做显示,而是告诉系统,按照"
字符串"
的格式把sVal的值放进整个字符串,这就像一个蛋糕模子,它固定了一种样式,你做出的蛋糕就只能是这种样式了。
然而问题又来了,"
格式化字符"
的存在,让溢出攻击成了现实。
攻击者用十六进制编码向内存写入攻击代码,并按照一定格式编排格式化字符,让系统执行到这些字符的时候不再按照原本的程序思路执行,而是扭转到攻击代码所在的内存位置,这就导致了"
溢出"
(Overflow)。
程序就有可能执行到攻击者写入的命令,这像什么呢?
就像一块过分膨胀的蛋糕,尽管你的模子是没有问题的,然而蛋糕烘烤的时候,它涨出了原有的空间,如此出来的蛋糕自然可不能是你喜爱的模样。
同样的情形发生在运算机内存里,确实是一组指令涨出了它的"
模子"
,同时有一部分流入烤箱