赞
踩
目录
20世纪60年代初,美国贝尔实验室一个名为“磁芯大战”的游戏,游戏中通过复制自身来摆脱对方的控制,这就是所谓的“病毒”的第一个雏形。
20世纪70年代,美国作家霍恩在其出版的《PI的青春》一书中构思了一种能够自我复制的计算机程序,并第一次称为“计算机病毒”。
1983年11月,在国际计算机安全学术研讨会上,美国计算机专家首次将病毒程序在VAX/750计算机上进行了实验,世界上第一个计算机病毒就这样出生在实验室中。
20世纪80年代后期,巴基斯坦有两个以编程为生的兄弟,他们为了打击那些盗版软件的会用者,设计出了一个名为“巴基斯坦智囊”的病毒,这就是世界上流行的第一个真正的病毒。
1994年2月18日,我国正式颁布实施了《中华人民共和国计算机信息系统安全保护条例》。在该条例的第二十八条中明确指出:“计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码。”
计算机病毒的特点:
破坏性:
任何病毒只要侵入系统,都会对系统及应用程序产生不同程度的影响,凡是由软件手段能触及计算机资源的地方均可能受到计算机病毒的破坏。轻者会降低计算机工作效率,占用系统资源,重者可导致系统崩溃。
根据病毒对计算机系统造成破坏的程度,可以把病毒分为良性病毒与恶性病毒。良性病毒可能只是干扰显示屏幕,显示一些乱码或无聊的语句,或者根本没有任何破坏动作,只是占用系统资源。这类病毒较多,如GENP、小球、W-BOOT等。恶性病毒则有明确的目的,它们破坏数据、删除文件、加密磁盘,甚至格式化磁盘,有的恶性病毒对数据造成不可挽回的破坏。这类病毒有CIH、红色代码等。
隐蔽性:
病毒程序大多夹在正常程序之中,很难被发现。它们通常附在正常程序中或磁盘较隐蔽的地方(也有个别的以隐含文件形式出现),这样做的目的是不让用户发现它的存在。如果不经过代码分析,我们很难区别病毒程序与正常程序。一般在没有防护措施的情况下,计算机病毒程序取得系统控制权后,可以在很短的时间里传染大量程序。而且受到传染后,计算机系统通常仍能正常运行,使用户不会感到有任何异常。
大部分病毒程序具有很高的程序设计技巧、代码短小精悍,其目的就是为了隐蔽。病毒程序一般只有几百字节,而PC机对文件的存取速度可达每秒几百KB以上,所以病毒程序在转瞬之间便可将这短短的几百字节附着到正常程序之中,非常不易被察觉。
潜伏性:
大部分计算机病毒感染系统之后不会马上发作,可长期隐藏在系统中,只有在满足特定条件时才启动其破坏模块。例如,PETER-2病毒在每年的2月27日会提二个情题器错后会将硬盘加密。著名的“黑色星期五”病毒在逢13号的星期五发作。当然,最令人难忘的是26日发作的CH病毒。这些病毒在平时会隐藏得很好,只有在发作日才会显露出其破坏的本性。
传染性:
计算机病毒的传染性是指病毒具有把自身复制到其他程序中的特性。计算机病毒是段人为编制的计算机程序代码,这段程序代码一旦进入计算机并得以执行,它会搜寻其他符合其传染条件的程序或存储介质,确定目标后再将自身代码插入其中,达到自我繁殖的目的。只要一台计算机染毒,如不及时处理,那么病毒会在这台计算机上迅速扩散,其中的大量文件(一般是可执行文件)会被感染。而被感染的文件又成了新的传染源,再与其他机器进行数据交换或通过网络接触,病毒会在整个网络中继续传染。
计算机病毒的分类
“防火墙”最初指的是人们使用坚固的石块堆砌在木质结构房屋的周围,以防止火灾的发生和蔓延。现在,在计算机网络中,借助“防火墙”一词表示在可信的、安全的内部网络和不安全的外部网络之间的通信建立一个屏障。
防火墙目前已经成为保护计算机网络安全的一项技术性措施。它是一种隔离控制技术,在某个机构的网络和不安全的网络(如Internet)之间设置屏障,阻止对信息资源的非法访问;也可以使用防火墙阻止重要信息从企业的网络上被非法输出,如图5-1所示。防火墙可以是软件,也可以是硬件,或者是两者的结合。通常企业为了维护内部的信息系统安全,在企业网和Internet间设立防火墙,它可以允许或禁止一类具体的IP地址访问,也可以接收或拒绝TCP/IP上的某一类具体的应用。
防火墙的特性:
防火墙对流经它的网络通信进行扫描,以过滤掉一些攻击,同时可以关闭不使用的端口或者禁止特定端口的流出通信,禁止来自特殊站点的访问,从而防止来自不明入侵者的所有通信。
(1)强化安全策略,通过对数据包进行检查,保护内部网络。通过架设防火墙,可以制定安全规则,要求所有流量都通过防火墙的监视和过滤,仅仅容许“认可的”和符合规则的请求通过防火墙。例如,防火墙可以禁止某些易受攻击的服务(如NFS、HTTP等),这样可以让外来攻击者无法利用这些服务进行攻击,同时内部网络仍然可以使用这些比救看用的服务:防火墙可以限定内外访同者只可以访问服务器的相应端口,防火墙可以限定内外访问者只可以访问服务器的相应端口,防止黑客利用端口扫描、ping攻击、SYN Flooding攻击等对服务器进行攻击,从而导致计算机或网络设备崩溃。
(2)强化网络安全策略。如果一个内部网的所有或大部分需要进行安全保护的系统都集中放在防火墙系统中,而不是分散到每个主机中进行配置,就可以通过防火墙集中保护,安全和管理成本也就相应地降低了。
(3)对内外网络存储和访问进行监控和审计。如果所有的访问都经过防火墙,那么防火墙就能进行日志记录,同时也能提供网络使用情况的统计数据。每当发生可疑动作时,防火墙能进行适当的报警,并提供网络是否受到监测和攻击的详细信息,通过这些记录,可以发现、跟踪、定位非法的用户访问和攻击。一旦发现黑客,管理员可以进行有效的组织,还可以更进一步跟踪以确定黑客身份并收集作案证据。这能为网络管理人员提供非常重要的安全管理信息,可以使管理员清楚防火墙是否能够抵挡政击者的探测和攻击,并且清楚防火墙的控制是否充足。
(4)支持网络地址转换。网络地址转换是指在局域网内部使用私有IP地址,而当内部用户要与外部网络进行通信时,就在网络出口处将私有IP地址替换成公用IP地址。因此,在防火墙上实现网络地址转换,可以缓解IP地址空间短缺的问题,并屏蔽内部网络的结构和信息,保证内部网络的稳定性和安全性。
(5)隔离不同网络,防止内部信息的外泄。
1.按照防火墙软硬件的实施形态分类
(1)软件防火墙:需要客户预先安装好的操作系统的支持,这台计算机就是整个网络的网关,俗称个人防火墙。
(2)硬件防火墙:由防火墙软件和运行该软件的特定计算机组成。基于PC架构,运行经过裁剪和简化的操作系统,最常用的有老版本的UNIX、Linux和FreeBSD系统。
(3)芯片级防火墙:基于专门的硬件平台,没有操作系统。价格较高,漏洞少。
2.按照防火墙在网络协议栈进行过滤的层次分类
(1)包过滤防火墙。包过滤防火墙工作在OSI网络参考模型的网络层和传输层,可以获取IP层和TCP层信息,也可以获取应用层信息。它根据数据报报头源地址、目的地址、端口号和协议类型等标志确定是否允许其通过。只有满足过滤条件的数据报才被转发到相应的目的地,其余数据报则被从数据流中丢弃。
包过滤技术的优点是简单实用,实现成本较低,在应用环境比较简单的情况下,能够以较小的代价在一定程度上保证系统的安全。但包过滤技术无法识别基于应用层的恶意侵入,如恶意的Java小程序以及电子邮件中附带的病毒。有经验的黑客很容易伪造IP地址,骗过包过滤型防火墙。
(2)电路级网关防火墙。电路级网关防火墙用来监控内部网络服务器与不受信任的外部主机间的TCP握手信息,以此来决定该会话是否合法。电路级网关是在OSI模型的会话层上过滤数据报,其层次比包过滤防火墙高。
(3)应用层网关防火墙。应用层网关防火墙工作在OSI的最高层应用层。它通过对每一种应用服务编制专门的代理程序,实现监视和控制应用层通信流的功能。由于应用级网关能够理解应用层协议,能够做一些复杂的访问控制,可执行比较精细的日志和审核,并能够对数据报进行分析并形成相关的安全报告。但是因为每一种协议需要相应的代理收件,所以应用层网关防火墙工作量大,效率不如其他两种防火墙高。
3.按照防火墙在网络中的应用部署位置分类
(1)边界防火墙:边界防火墙位于内部网络和外部网络的边界,对内部网络和外部网络实施隔离,保护内部网络。这类防火墙一般至少是硬件防火墙,吞吐量大,性能较好。
(2)个人防火墙:个人防火墙安装在单台主机中,也只是保护单台主机。这类防火墙用于个人用户和企业内部的主机,通常为软件防火墙。
(3)混合式防火墙:混合式防火墙是一整套防火墙系统,由若干软、硬件组件,分布于内部网络和外部网络的边界、内部网络各主机之间,既对内部网络和外部网络之间通信进行过滤,又对网络内部各主机间的通信进行过滤。这类防火墙的性能较好,但部署较为复杂。
包过滤是最早使用的一种防火墙技术,包过滤防火墙工作在0SI参考模型的网络层和传输层。网络上的数据都是采用“包”的形式进行传输的,数据被划分为一定大小的数据包。数据包过滤是通过对数据包的IP头和TCP头或UDP头中包含的源P地址、目的IP地址、源端口、目的端口、协议类型等信息进行数据包检查,判断是否允许数据包通过。只有满足过滤条件的数据包才被转发到相应的目的地,其余数据包则被从数据流中丢弃。
包过滤设备可以是路由器、网桥或计算机,一般使用包过滤路由器。包过滤路由器与普通的路由器有所不同。普通的路由器只检查数据包的目标地址,并选择一个达到目的地址的最佳路径。它处理数据包是以目标地址为基础的,存在着两种可能性:若路由器可以找到一个路径到达目标地址,则发送出去;若路由器不知道如何发送数据包,则通知数据包的发送者“数据包不可达”。而包过滤路由器会更仔细地检查数据包,除了决定是否有到达目标地址的路径外,还要决定是否应该发送数据包。“应该与否”是由路由器的过滤策略(ACL访问列表)决定并强行执行的。
路由器的主要过滤策略:
(1)拒绝来自某主机或某网段的所有连接。
(2)允许来自某主机或某网段的所有连接。
(3)拒绝来自某主机或某网段的指定端口的连接。
(4)允许来自某主机或某网段的指定端口的连接。
(5)拒绝本地主机或网络与其他主机或网络的所有连接。
(6)允许本地主机或网络与其他主机或网络的所有连接。
(7)拒绝本地主机或网络与其他主机或网络指定端口的连接。
(8)允许本地主机或网络与其他主机或网络指定端口的连接。
包过滤方式是一种通用、廉价和有效的安全手段。因为它不是针对某个具体的网络服务采用特殊的处理方法,适用于所有网络服务。并且大多数路由器都提供数据包过滤功能,它能很大程度上满足绝大多数企业的安全需求。
包过滤技术的优点
(1)对于一个小型的、不太复杂的站点,包过滤比较容易实现。
(2)因为过滤路由器工作在IP层和TCP层,所以处理包的速度比代理服务器快。
(3)过滤路由器为用户提供了一种透明的服务,用户不需要改变客户端的任何应用程序,也不需要用户学习任何新的东西。因为过滤路由器工作在IP层和TCP层,而IP层和TCP层与应用层的问题毫不相关。所以,过滤路由器有时也被称为“包过滤网关”或“透明网关”。
(4)过滤路由器在价格上一般比代理服务器便宜。
包过滤技术的缺点
(1)一些包过滤网关不支持有效的用户认证。
(2)规则表很快会变得很大而且复杂,规则很难测试。随着表的增大和复杂性的增加,规则结构出现漏洞的可能性也会增加。
(3)包过滤防火墙最大的缺陷是它依赖一个单一的部件来保护系统。如果这个部件出现了问题,会使得网络大门敞开,而用户甚至可能还不知道。
(4)在一般情况下,如果外部用户被允许访问内部主机,则它就可以访问内部网上的任何主机。
(5)包过滤防火墙只能阻止一种类型的IP欺骗,即外部主机伪装内部主机的IP;对于外部主机伪装外部主机的IP欺骗却不可能阻止,而且它不能防止DNS欺骗。
由于包过滤技术无法提供完善的数据保护措施,而且一些特殊的报文攻击仅仅使用过选的方法并不能消除危害(如SYN攻击、ICMP泛洪等),因此人们需要一种更全面的防火墙保护技术。在这样的需求背景下,采用“应用代理”(Application roxy)技术的防火墙诞生了。代理服务器作为一个为用户保密或者突破访问限制的数据转发通道,在网络上应用广泛。一个完整的代理设备包含一个服务端和客户端,服务端接收来自用户的请求,调用自身的客户端模拟一个基于用户请求的连接到目标服务器,再把目标服务器返回的数据转发给用户,完成一次代理工作过程。
“应用代理”防火墙实际上是一台小型的带有数据检测过滤功能的透明代理服务器(Transparent Proxy),但是它并不是单纯地在一个代理设备中嵌入包过滤技术,而是一种被称为“应用协议分析(Application ProtocolAnalysis)”的技术。“应用协议分析”技术工作在OSI模型的最高层——应用层上,在这一层里能接触到的所有数据都是最终形式,也就是说,防火墙“看到”的数据和我们看到的是一样的,而不是一个个带着地址端口协议等原始内容的数据包,因而它可以实现更高级的数据检测过程。整个代理防火墙把自身映射为一条透明线路,在用户方和外界线路看来,它们之间的连接并没有任何阻碍,但是这个连接的数据收发实际上是经过了代理防火墙转向的,当外界数据进入代理防火墙的客户端时,“应用协议分析”模块便根据应用层协议处理这个数据,通过预置的处理规则查询这个数据是否带有危害。
代理防火墙的主要优点如下。
(1)代理防火墙可以针对应用层进行检测和扫描,可有效地防止应用层的恶意入侵和病毒。
(2)代理防火墙具有较高的安全性。每一个内外网络之间的连接都要通过代理服务器的介入和转换,而且在代理防火墙上会针对每一种网络应用(如HTTP)使用特定的应用程序来处理。
代理防火墙的主要缺点如下。
(1)实现起来比较复杂。
(2)需要特定的硬件支持。
(3)增加了服务的延迟。对系统的整体性能有较大的影响,系统的处理效率会有所下降,因为代理型防火墙对数据包进行内部结构的分析和处理,这会导致数据包的吞吐能力降低(低于包过滤防火墙)。
“状态检测(Stateful Inspection)”技术在保留了对每个数据包的头部、协议、地址、端口、类型等信息进行分析的基础上,进一步发展了“会话过滤(Sesion Filtering)”功能,在每个连接建立时,防火墙会为这个连接构造一个会话状态,里面包含了这个连接数据包的所有信息,以后这个连接都基于这个状态信息进行。这种检测的高明之处是能对每个数据包的内容进行监视,一旦建立了一个会话状态,则此后的数据传输都要以此会话状态作为依据,例如一个连接的数据包源端口是8000,那么在以后的数据传输过程中,防火墙都会审核这个包的源端口还是不是8000,否则这个数据包就被拦截;而且会话状态的保留是有时间限制的,在超时的范围内如果没有再进行数据传输,这个会话状态就会被丢弃。状态检测可以对包内容进行分析,从而摆脱了传统防火墙仅局限于检测几个包头部信息的弱点,而且这种防火墙不必开放过多端口,进一步杜绝了可能因为开放端口过多而带来的安全隐患。
由于状态检测技术相当于结合了包过滤技术和应用代理技术,因此是最先进的。但是由于实现技术复杂,在实际应用中还不能做到真正完全有效的数据安全检测,而且在一般的计算机硬件系统上很难设计出基于此技术的完善防御措施。
防火墙体系结构一般有屏蔽路由器体系结构、双宿主机网关体系结构、被屏蔽主机体系结构和被屏蔽子网体系结构4种
屏蔽路由器体系结构
屏蔽路由器可以由厂家专门生产的路由器实现,也可以用主机来实现。屏蔽路由器作为内外连接的唯一通道,要求所有的报文都必须在此通过检查。路由器上可以安装基于IP层的报文过滤软件,实现报文过滤功能。许多路由器本身带有报文过滤配置选项,但一般比较简单。单纯由屏蔽路由器构成的防火墙的危险包括路由器本身及路由器允许访问的主机。屏蔽路由器的缺点是一旦被攻击后很难发现,而且不能识别不同的用户。
双宿主机网关体系结构
任何拥有多个接口卡的系统都被称为多宿的,双宿主机网关是用一台装有两块网卡的主机做防火墙,该计算机至少有两个网络接口。这样的主机可以充当与这些接口相连的网络之间的路由器;它能够从一个网络发送IP数据包到另一个网络。然而双宿主机网关结构禁止这种发送功能。IP数据包从一个网络(如因特网)并不是直接发送到其他网络(如内部的、被保护的网络)。防火墙内部的系统能与双宿主机通信,同时防火墙外部的系统(在因特网上)能与双宿主机通信,但是这些系统不能直接互相通信。它们之间的IP通信被完全阻止。
被屏蔽主机体系结构
双宿主机网关体系结构提供来自与多个网络相连的主机的服务(但是路由关闭),而被屏蔽主机网关体系结构使用一个单独的路由器提供来自仅仅与内部的网络相连的主机的服务。在这种体系结构中,主要的安全策略是数据包过滤。
被屏蔽子网体系结构
它是在内部网络和外部网络(1ntemet)之间建立一个被隔离的子网,用两台分组过滤路由器将这一子网分别与内部网络和外部网络分开。在很多实现中,有两个包过滤路由器放在子网的两端,在子网内构成一个“非军事区(DMZ)”,在该区可以放置供外网访问的Internet公共服务器,内部网络和外部网络均可访问被屏蔽的子网,但禁止它们穿越被屏蔽的子网通信,像WWW和FTP服务器可放在DMZ中。有的屏蔽子网中还设有一台堡垒主机作为唯一可访问节点
操作系统是一组面向机器和用户的程序,是应用软件同系统硬件的接口,其目标是高效地、最大限度地、合理地使用计算机资源。安全就是最大限度地减少数据和资源被攻击的可能性。操作系统安全包括对系统重要资源的保护和控制,即只有经过授权的用户和代表该用户运行的进程才能对计算机系统的资源进行访问。所谓一个计算机系统是安全的,是指该系统能够通过特定的安全功能或安全服务控制外部对系统资源的访问。
操作系统内的一切活动均可看作是主体对计算机内部各客体的访问活动。操作系统中的所有资源均可视为客体,对客体进行访问或使用的实体称为主体,如操作系统中的用户和用户执行的进程均是主体。操作系统的安全依赖于一些具体实施安全策略的可信的软件和硬件,这些软件、硬件和负责系统安全管理的人员一起组成了系统的可信任计算基(Trusted Computing Base,TCB)。TCB是系统安全的基础,它通过安全策略来控制主体对客体的存取,达到保护客体安全的目的。
安全策略是指有关管理、保护和发布敏感信息的法律、规定和实施细则,是用来描述人们如何存取文件或其他信息的。对于给定的计算机主体和客体,必须有一套严格而科学的规则来确定一个主体是否被授权获得对客体的访问。例如,可以将安全策略定义为:系统中的用户和信息被划分为不同的层次,一些级别比另一些级别高:当且仅当主体的级别低于或等于客体的级别时,主体才能读访间客体;当且仅当主体的级别高于或等于客体的级别时,主体才能写访问客体。
在对安全策略进行研究时,人们将安全策略抽象成安全模型,以便于用形式化的方法长证明该策略是安全的。安全模型是对安全策略所表达的安全需求的简单、抽象和无歧义的措述,它为安全策略和安全策略实现机制的关联提供了一种框架。安全模型播述字册集安全策略需要用哪种机制来满足,而模型的实现则描述了如何把特定的机制应用于系统中,从而实现某一特定安全策略所需的安全保护。
在进行操作系统设计时,操作系统的安全部分是按照安全模型进行设计的,但由于设计时对安全性考虑不充分或在实现过程中由于各种原因,而产生了一些出乎设计者意图之外的性质,这些被称为操作系统的缺陷。特别是近年来,随着各种系统入侵和攻击技术的不断发展,操作系统的各种缺陷不断被发现,其中最为典型的是缓冲区溢出缺陷,几乎所有的操作系统都不同程度地存在。因此,在理解操作系统安全这个概念时,通常具有3层含义:一是指使用具有有效的安全体系结构的操作系统;二是指充分利用操作系统在设时提供的权限访问控制、信息加密性保护、完整性鉴定等安全机制所实现的安全;三是在操作系统使用过程中,通过系统配置,以确保操作系统尽量避免由于实现时的缺陷和体应用环境因素而产生的不安全因素。只有通过这3个方面的共同努力,才能最大限度保证系统的安全。
操作系统安全的主要目标是:
(1)按系统安全策略对用户的操作进行访问控制,防止用户对计算机资源的非法访问(窃取、篡改和破坏);
(2)实现用户标识和身份认证;
(3)监督系统运行的安全性;
(4)保证系统自身的安全性和完整性。
实现操作系统安全的目标,需要建立相应的安全机制,这将涉及许多概念,包括隔离制、访问控制、最小特权管理、日志与审计、标识与鉴别、可信路径、隐蔽信道和后门、问监视器和安全内核、可信计算基等。
1.隔离控制
最基本的保护方法就是隔离控制,即保持一个用户的对象独立于其他用户。在操作系统中通常有以下几种隔离方法。
(1)物理隔离:指不同的进程使用不同的物理对象。例如,不同安全级别的输出需要不同的打印机。
(2)时间隔离:指具有不同安全要求的进程在不同的时间段被执行。
(3)逻辑隔离:指用户感受不到其他进程的存在,因为操作系统不允许进程进行越界的互相访问。
(4)密码隔离:指进程以外部其他进程不能理解的方式隐藏本进程的数据和计算的活动。
比如,把文件、数据加密。
上述几种隔离控制方法的实现复杂度依次递增,同时,前三种方法提供的安全程度按序递减,而且由于前两种方法过于严格,将导致资源利用率大幅降低。
2.访问控制
访问控制是现代操作系统常用的安全控制方式之一,它是指在身份识别的基础上,根据身份对提出资源访问的请求加以控制。它基于对主体(及主体所属的主体组)的识别,来限制主体(及主体所属的身份组)对客体的访问,还要校验主体对客体的访问请求是否符合访问控制的规定,从而决定对客体访问的执行与否。访问控制的基础是主、客体的安全属性。主体是一种实体,可引起信息在客体之间流动。通常地,这些实体指人、进程或设备等,一般指代表用户执行操作的进程。例如,编辑一个文件时,编辑进程是访问文件的主体,文件则是客体。当主体访问客体时必须注意以下几点。
(1)访问是有限的,不宜在任何场合下都永远保留主体对客体的访问权。
(2)遵循最小特权原则,不能进行额外的访问。
(3)访问方式应该予以检查,也就是说,不仅要检查是否可以访问,还要检查允许何种访问
3.最小特权管理
为使系统能够正常地运行,系统中的某些进程需要具有一些可以违反系统安全策略的操作能力,这些进程一般是系统管理员/操作员进程。
在现有的多用户操作系统中,如UNIX、Linux等,超级用户具有所有特权,普通用户不具有任何特权。一个进程要么具有所有特权(超级用户进程),要么不具有任何特权(非超级用户进程)。这种特权管理方式便于系统维护和配置,但不利于系统的安全防护。一旦超级用户的口令丢失或超级用户权限被侵占,将会造成重大损失。此外,超级用户的误操作也是系统的潜在安全隐患。因此,必须实行最小特权管理机制。
最小特权管理就是指系统中每一个主体只拥有与其操作相符且必需的最小特权集。如将超级用户的特权划分为一组细粒度的特权,分别授予不同的系统操作员/管理员,使各种系统操作员/管理员只有完成其任务所需的特权。
4.日志与审计
系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以记录系统中发生的事件。用户可以通过系统日志来检查系统错误的发生原因,同时也可以利用系统日志来查询系统违规操作或者受到攻击时留下的痕迹。系统日志通常是审计最重要的数据来源。审计是操作系统安全的一个重要内容,所有的安全操作系统都要求用审计方法监视与安全相关的活动。
5.标识与鉴别
标识与鉴别用于保证只有合法用户才能进入系统,进而访问系统中的资源。标识与鉴别是涉及系统和用户的一个过程,系统必须标识用户的身份,并为每个用户取一个名称——用户标识符,用户标识符必须是唯一的且不能被伪造。将用户标识符与用户联系的动作称为鉴别,用于识别用户的真实身份。
在操作系统中,鉴别一般是在用户登录时完成的。对于安全操作系统,不但要完成一般的用户管理和登录功能,例如,检查用户的登录名和口令,赋予用户唯一标识用户ID、组ID等,还要检查用户申请的安全级、计算特权集,赋予用户进程安全级和特权集标识。检查用户安全级就是检验本次申请的安全级是否在系统安全文件中定义的该用户安全级范围之内,若是则认可,否则系统拒绝用户的本次登录。若用户没有申请安全级,则系统取出缺省安全级作为用户本次登录的安全级,并将其赋予用户进程。
具体而言,系统创建登录进程提示用户输入登录信息,登录进程检测到输入时,调用标识与鉴别机制进行用户身份验证。标识与鉴别机制根据用户的身份信息(登录名)和身份验证信息(口令)验证用户身份的合法性,同时检验用户申请登录的安全级是否有效、合法,并将验证结果返回到登录进程。若用户的身份合法,则登录进程创建一个新进程(用户Shel),并将其安全级设置为用户的登录安全级。
6.安全路径
在计算机系统中,用户是通过不可信的中间应用层与操作系统进行交互的。用户在进行用户登录,定义用户的安全属性,改变文件的安全级等操作时,必须要确信自己是在与安全内核通信,而不是与一个特洛伊木马病毒通信。系统必须防止特洛伊木马病毒模拟登录过程套取用户的口令。特权用户在进行特权操作时,系统也要提供方法证实从终端上输出的信息是来自正确的用户的,而不是来自特洛伊木马病毒。上述要求需要一种机制保障用户与内核之间的通信,这种机制就是由可信路径提供的。
可信路径是一种实现用户与可信软件之间进行直接交互作用的机制,它只能由用户或可信软件激活,不能由其他软件模仿。
可信软件是指由可信人员根据严格标准开发出来的并且经过先进的软件工程技术(形式化的安全模型的设计与验证)验证了安全性的软件,如操作系统。不可信软件分为良性软件(灰色安全软件)和恶意软件。良性软件是指不能确保该软件的安全运行,但是其差错不会损害操作系统;恶意软件是指能够破坏操作系统的程序。
7.隐蔽通道和后门程序
隐蔽通道和后门程序与特洛伊木马病毒一样,是与操作系统安全十分密切的另外两个概念。
隐蔽通道可定义为系统中不受安全策略控制的、违反安全策略的信息泄露路径,它允许进程以违反安全策略的方式传输信息。
后门程序是指嵌在操作系统里的一段代码,渗透者可以利用该程序逃避审查,侵入操作系统。后门程序由专门的命令激活,一般不会有人发现它。渗透者可通过后门程序获取渗透者所没有的特权。
8.访问监视器和安全内核
访问监视器是安全操作系统的基本概念之一,它用于监控主体和客体之间的授权访问关系,是一种负责实施安全策略的软件和硬件的结合体,其功能结构图如图所示。访问控制数据库中包含主体访问客体方式的信息,该数据库是动态的,随主体和客体的产生或删除及权限的修改而改变。访问监视器控制从主体到客体的每一次访问,并将重要的安全事件存入审计文件之中。
三条基本原则
完整性:不能被绕过
隔离性:不能被篡改
可验证性:要证明它被合理使用
9.可信计算基
可信计算基是指计算机系统内保护装置的集合,包括硬件、固件、软件和负责执行安全策略的组合体。它建立了基本的保护环境并提供可信计算系统所要求的附加用户服务。具体而言,可信计算基由以下几个部分组成:
(1)操作系统的安全内核;
(2)具有特权的程序和命令;
(3)处理敏感信息的程序,如系统管理命令;
(4)与TCB实施安全策略有关的文件;
(5)构成系统的固件、硬件和有关设备;
(6)负责系统管理的人员;
(7)保障固件和硬件正确的程序与诊断软件。
国外标准
可信计算机安全评估标准(TCSEC)
欧洲的安全评估标准(ITSEC)
加拿大评价标准(CTCPEC)
美国联邦准则(FC)
国际通用准则(CC)
国内标准
GB17895-1999《计算机信息系统安全保护等级划分准则》
5个等级:
(1)操作系统访问权限的恰当设置是指利用操作系统提供的访问控制功能,为用户和文件系统设置恰当的访间权限。由于目前流行的操作系统多数提供自主访问控制,对于用户和重要文件的访问权限设置是否恰当,将直接影响系统的安全性、稳定性和信息的完整性、保密性。操作系统不同,其安全设置也有所区别。
(2)操作系统的及时更新问题是系统安全管理方面的一个重要问题。及时更新操作系统,会使系统的稳定性、安全性得到提高。目前,各主流操作系统都建立了自己的更新网站,用户定期访问相应网站或订阅相应操作系统的邮件列表,就可及时发现新的安全漏洞,并可采取相应的措施进行修复。
(3)有效防范外界攻击的问题,主要是指防范各种可能的攻击。目前,利用操作系统和TCPMP的各种缺陷进行攻击的方法不断出现。如何在不影响系统功能的情况下,对这些攻击进行安全的防范,也是后面几节内容要讨论的问题。
用户账户
用户账户是一种参考上下文,操作系统在这个上下文描述符中运行它的大部分代码。
如果用户使用账户凭据(用户名和口令)成功通过了登录验证,之后他执行的所有命令都月有该用户的权限。于是,执行代码所进行的操作只受限于运行它的账户所具有的权限。
用户账户分为本地用户账户和域用户账户。本地用户账户访问本地计算机,只在本地进行身份验证,存在于本地账户数据库SAM(Security Account Manager)中。域用户账户用于访问网络资源,存在于活动目录(Active Directory)中。
账户名 | 说明 |
---|---|
System 或 Local Syestem | 拥有本地计算机完全控制权 |
Administrator | 拥有本地计算机完全控制权,但低于System |
Guest | 用于偶尔一次性访问的用户,权限受限制 |
IUSER_计算机名 | IIS的匿名访问,Guests组成员 |
IWAM_计算机名 | IIS的进程外应用程序作为这个账户运行,Guests组成员 |
TSInternetUser | 用于终端服务 |
组
组是用户账户的一种容器,代表着很多用户账户的集合。组提供了一种方式,可以将用户账户组织成若干具有类似安全需求的用户组,然后将安全权限指派给组,而不用指派给单独的用户。一个用户账户可以属于一个组、多个组或是不属于任何组。
组对安全性管理是一个非常有价值的工具。要确保所有具有相同访问需求的用户账户拥有相同的权限,通过使用组就可以简化这项工作。
组名 | 说明 |
---|---|
Adminsrators | 功能最强大的组,具有系统的完全控制权 |
Power Users | 含有很多权限,但不是Aadminisrators组所具有的所有权限 |
Users | 用于不需要管理系统的用户,只有很有限的权限 |
Guests | 为偶尔访间的用户和来宾提供有限的访问权 |
Backup Operators | 提供备份及恢复文件夹、文件所需的权限,这些文件中也含有组中成员若不具有此权限就不能访问的文件 |
Replicator | 组成员可以管理文件的域间复制 |
Network Configuration Operators | 组成员可以安装及配置网络组件 |
Remote Desktop Users | 提供通过远程桌面连接对计算机的访问 |
HelpServices Group | 允许技术支持人员连接到用户的电脑 |
Print Operators | 在域控制器上安装和卸载设备驱动程序 |
Everyone | 当前网络所有用户,包括Guests和来自其他域的用户 |
一个通用操作系统一般具有如下安全性服务及其需要的基本特征。
安全登录:要求在允许用户访问系统之前,输入唯一的登录标识符和密码来标识自身。
自主访问控制:允许资源的所有者决定哪些用户可以访问资源和他们可以如何处理这些资源。所有者可以授权给某个用户或某一组用户,允许他们进行各种访问。
安全审计:提供检测和记录与安全性有关的任何创建、访问或删除系统资源的事件或尝试的能力。登录标识符记录了所有用户的身份,这样便于跟踪任何执行非法操作的用户。
内存保护:防止非法进程访问其他进程的专用虚拟内存。另外,还应保证当物理内存页面分配给某个用户进程时,该页面中绝对不含有其他进程的数据。
1.PAM机制
PAM(Pluggable Authentication Modules)是一套共享库,其目的是提供一个框架和一车编程接口,将认证工作由程序员交给管理员,PAM允许管理员在多种认证方法之间做出选择它能够改变本地认证方法而无须重新编译与认证相关的应用程序。PAM的功能包括:
PAM为更有效的认证方法的开发提供了便利,在此基础上人们可以很容易地开发出替代常规的用户名加口令的认证方法,如智能卡、指纹识别等认证方法。
2.身份验证
身份验证是Linux操作系统的第一道防线,Linux为合法用户提供账号,用户登录时必须输入合法的账号和口令;创建一个新用户后,必须为它指定一个私有组或其他组,而且必须为用户设置密码,Linux对账号和口令进行验证后才允许用户进入,连续多次登录失败将禁止再登录。用户账号保存在/etc/paswd文件中,但是这个文件不保存对应的用户密码,密码另外保存在一个影子文件(/etc/shadow)中。系统通过将用户信息与密码数据分隔开而提高了安全性。
3.访问控制
Linux操作系统对文件的访问使用了文件访问许可机制。Linux为每个文件都分配了一个文件所有者,系统中的每个文件(包括设备文件和目录)都有对应的访问许可权限,只有具备相应权限的用户才可以进行读、写或执行操作。访问权限规定三种不同类型的用户:文件主、组用户和其他用户。访问文件或目录的权限也有三种:读、写和可执行。
文件或目录的创建者对所创建的文件或目录拥有特别权限。文件或目录的所有权是可以转让的,但只有文件主或root用户才有权转让。文件访问许可机制的引入可提高文件访问的安全性。
4.安全审计
Linux操作系统提供日志文件来记录整个操作系统的使用状况,如用户登录、用户切换、权限改变等。管理员可以通过查看这些日志文件来对系统进行维护。即使系统管理员采取了各种安全措施,但仍然会存在一些难以发现的漏洞。攻击者在漏洞被修补之前会迅速抓住机会攻破尽可能多的计算机。虽然Linux不能预测何时主机会受到攻击,但是它可以记录攻击者的行踪。
Linux还可以检测、记录攻击时信息和网络连接的情况,这些信息将被重定向到日志中备查。日志是Linux安全结构中的一项重要内容,它是提供攻击发生的唯一真实证据。Linux可提供网络、主机和用户级的日志信息。Linux可以记录以下内容:
5.防火墙
在调查网络入侵者的时候,日志信息是不可缺少的,即使这种调查是在实际攻击发生之后进行的。
防火墙是在被保护网络和因特网之间,或者在其他网络之间限制访问的一种部件或一系列部件。Linux内核中集成了Netfilter/iptables系统。
Linux防火墙系统提供了如下功能。
1.系统安装及启动登录
2.用户账号密码管理和登录
安装系统时默认的密码长度为5,最好将最短密码长度修改为8。操作员(尤其是root用户)在退出系统时应及时注销账号,如果操作员退出时忘记注销,系统应能自动注销。在系统建立一个新用户时,应根据需要赋予该用户账号不同的安全等级,并且归并到不同的田户组中。例如,除了一些重要的用户外,建议屏蔽掉其他用户的Telnet权限,这样就可以防止侵入者利用其他账号登录系统。
3.文件管理
对重要的文件进行加密处理来予以保护。为了确保安全,操作系统应把不同的用户目录分隔开来。每个用户都有自己的主目录和硬盘空间,这块空间与操作系统区域的其他用户空间分隔开。这样一来,就可以防止普通用户的操作影响整个文件系统。
使用chown或chgrp命令正确设置文件的所有权或用户组关系,提高文件访问的安全性
4.防御技术
现状
目前很多业务都依赖于互联网,如网上银行、网络购物、网游等,很多恶意攻击者出于不良的目的对Web服务器进行攻击,想方设法通过各种手段获取他人的个人账户信息谋取利益。正是因为这样,Web业务平台最容易遭受攻击。同时,对Web服务器的攻击也可以说是形形色色、种类繁多,常见的有挂马、SQL注入、缓冲区溢出、嗅探、利用IS等针对Webserver 漏洞进行攻击。
造成这种现状的原因主要有2个方面。
一方面,由于TCP/IP的设计是没有考虑安全问题的,这使得在网络上传输的数据没有任何安全防护。利用系统漏洞造成系统进程缓冲区溢出,攻击者可能获得或者提升自己在有漏洞的系统上的用户权限来运行任意程序,甚至安装和运行恶意代码,窃取机密数据。而应用层面的软件在开发过程中也没有过多考虑到安全问题,这使得程序本身存在很多漏洞,如缓冲区溢出、SQL注入等流行的应用层攻击,均属于在软件研发过程中疏忽了对安全的考虑所致。
另一方面,用户对某些隐秘的东西带有强烈的好奇心,一些利用木马或病毒程序进行攻击的攻击者,往往就利用了用户的这种好奇心理,将木马或病毒程序捆绑在一些艳丽的图片、音视频及免费软件等文件中,然后把这些文件置于某些网站,再引诱用户去单击或下载运行。或者通过电子邮件附件和QQ、MSN等即时聊天软件,将这些捆绑了木马或病毒的文件发送给用户,利用用户的好奇心理引诱用户打开或运行这些文件。
攻击种类
(1)SQL注入:即通过把SQL命令插入到Web表单递交或输入域名与页面请求的查询字符串,以欺骗服务器执行恶意的SQL命令,如先前的很多影视网站证泄露VIP会员信息大多就是通过Web表单递交查询字符爆出的,这类表单特别容易受到SQL注入式攻击。
(2)跨站脚本攻击(也称为XSS):指利用网站漏洞从用户那里恶意盗取信息。用户在浏览网站、使用即时通讯软件,甚至在阅读电子邮件时,通常会点击其中的链接。攻击者通在链接中插入恶意代码,就能够盗取用户信息。
(3)网页挂马:把一个木马程序上传到一个网站里面,然后用木马生成器生成一个,再利用代码使得木马在打开网页时运行。
Web是建立在Internet上的典型服务,所以,Internet 的安全是Web安全的前提和基础。Internet的安全隐患主要表现如下。
(1)Internet的无边界性为黑客进行跨国攻击提供了有利条件,他们不出户就可以对世界上任何角落的主机进行攻击和破坏。
(2)Internet 虚拟的“自由、民主、平等”观念容易使人轻易接受,不同的社会意识形态很容易相互渗透。这些因素为Internet的应用埋下了安全隐患。
(3)Internet没有确定用户真实身份的有效方法,通过IP地址识别和管理网络用户的机制是不可靠的,存在着严重的安全漏洞,容易被欺骗。
(4)Internet是分布式的网络,不存在中央监控管理机制,也没有完善的法律和法规,因此无法对Internet犯罪进行有效的处理。
(5)Internet本身没有审计和记录功能,对发生的事情没有记录,这本身也是一个安全隐患。
(6)Internet从技术上来讲是开放的,是基于可信、友好的前提设计的,是为君子设计而不防小人的。
影响web安全的因素
Web中的安全问题
物理路径泄露
物理路径泄露一般是由于Web服务器处理用户请求出错导致的,如果提交一个超长的请求,某个精心构造的特殊请求,或是请求一个Web服务器上不存在的文件,这些请求有一个共同特点,那就是被请求的文件肯定属于CGl脚本,而不是静态HTML页面。有一种情况,就是Web服务器的某些显示环境变量的程序错误地输出了Web服务器的物理路径,这通常是设计上的问题。
目录遍历
目录遍历又称为目录穿越,恶意浏览,文件泄露等,攻击者利用系统漏洞访问合法应用之外的数据或文件目录,导致数据泄露或被篡改。
执行任意命令
执行任意命令即执行任意操作系统命令,主要包括两种情况:
1.通过遍历目录,如二次解码和UNICODE解码漏洞,来执行系统命令;
2.Web 服务器把用户提交的请求作为SSI指令解析,因此导致执行任意命令。
缓冲区溢出
缓冲区溢出漏洞是非常常见的,通常是Web服务器没有对用户提交的超长请求没有进行合适的处理,这种请求可能包括超长URL,超长HTTP Header 域,或是其他超长的数据,这种漏洞可能导致执行任意命令或者拒绝服务,这一般取决于构造的数据。
SQL注入
SQL注入的漏洞是在编程过程中造成的。后合数据库允许动态SQL语言执行,前台应用程序没有对用户输入的数据或者页面提交的信息(如GET)进行必要的安全检查。这是数据库自身的特性,与Web程序的编程语言无关。几乎所有的关系数据库系统和相应的SQL语言都面临SQL注入的潜在威胁。
拒绝服务
由于Web服务器在处理特殊请求时不知所措或处理不当,因此拒绝服务或终止请求。
条件竞争
主要针对一些服务器而言,这类服务一般是以system或root身份运行的,它们需要使用一些临时文件,但在对这些文件进行写操作前,却没有对文件的属性进行检查,一般可能导致重要系统文件被重写,甚至获得系统控制权。
CGI漏洞
CGI是Common Gateway Interface(公用网关接口)的简称,并不特指一种语言。Web服务器的安全问题可能导致CGI源代码泄露、物理路径信息泄露、系统敏感信息泄露或远程执行任意命令。CGI语言漏洞分为以下几类:配置错误、边界条件错误、访问验证错误、来源验证错误、输入验证错误、策略错误、使用错误,等等。CGI漏洞主要体现为暴露不该暴露的信息、执行不该执行的命令。
(1)目录规划与安装
对Web目录进行规划,系统文件和应用文件放在不同分区,不要以默认方式安装,不要把IIS安装达到主(域)控制器上。
(2)用户控制
对于普通用户,其安全性可通过相应的安全策略来加强管理,约束属性和行为,禁止匿名访问服务器。
(3)登录认证
IIS提供了匿名访问,集成Windows身份认证、Windows域服务器的摘要式身份认证、基本身份认证和.net Passport身份认证。
(4)访问权限控制
NTFS文件系统访问控制
Web目录的访问权限控制
(5)IP地址控制
(6)站点端口控制
实际应用中,可以通过修改默认端口号的方法来提高IIS服务器的安全性
(7)安全通信机制
安全性较高的认证方式----数字证书
Linux服务器安全配置调整_tsimgsong的博客-CSDN博客_linux服务器安全配置
Cookie是Netscape 开发并将其作为持续保存状态信息个其他信息的一种方式。
Cookie是当用户通过浏览器访问Wbe服务器时,由Web服务器发送的、保存在Web客户端的简单的文本文件,约由255个字符组成,占4KB空间。
Cookie的功能
(1)定制个性化空间
用户访问一个站点,可能由于费用、带宽限制等,并不想浏览网页的所有内容,Cookie可以根据个人喜好进行栏目设定,及时、动态地产生用户所要的内容,迎合了不同层次用户的访问兴趣,减少用户项目选择的次数,更合理利用网页服务器的传输宽带。
(2)记录站点轨迹
被用来记录访问网页次数,访问时间,记录选择。
注意:在使用Cookie时,不要在其中保存用户名、密码等敏感信息,也不要保存其他可能被截取的内容。
SSL(Secure Sockets Layer,安全套接层)及其继任者传输层安全(Transport Lav Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在然层对网络连接进行加密。SSL是Netscape研发,用于保障在Internet上数据传输的安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取及窃听。
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通信提供安全支持。SSL协议可分为两层:
(1)SSL 记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。
(2)SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实所的数据传输开始前,通信双方进行身份认证、协商加密算法、交换加密密钥等。可题供以下服务:
SSL协议的三个特性:
保密性:会话加密,所有消息加密
鉴别性:可选客户端认证,强制服务器认证
完整性:消息完整性检测(使用MAC)
HTTPS(全称是Hyper Text Transfer Protocol over SecureSocket Layer)是身披SSL/TLS外壳的HTTP。它在HTTP之上利用SSL/TLS建立安全的信道,加密数据传输。它被广泛用于互联网上安全敏感的通讯,例如电商、支付等应用。
HTTP协议:(过几天找齐资料再补)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。