免费智能真题库 > 历年试卷 > 软件评测师 > 2012年下半年 软件评测师 下午试卷 案例
  第4题      
  知识点:   PKI   安全审计   访问控制   非授权访问   认证   认证机制   数字证书

 
某企业为防止自身信息资源的非授权访问,建立了如图4-1所示的访问控制系统。

(1)认证:管理企业的合法用户,验证用户所宣称身份的合法性,该系统中的认证机制集成了基于口令的认证机制和基于PKI数字证书认证机制;
(2)授权:赋予用户访问系统资源的权限,对企业资源的访问请求进行授权决策;
(3)安全审计:对系统记录与活动进行独立审查,发现访问控制机制中的安全缺陷,提出安全改进建议。
 
问题:4.1   对该访问控制系统进行测试时,用户权限控制是其中的一个测试重点。对用户权限控制的测试应包含哪两个主要方面?每个方面具体的测试内容又有哪些?
 
问题:4.2   测试过程中需对该访问控制系统进行模拟攻击试验,以验证其对企业资源非授权访问的防范能力。请给出三种针对该系统的可能攻击,并简要说明模拟攻击的基本原理。
 
问题:4.3   对该系统安全审计功能设计的测试点应包括哪些?
 
 
 

   知识点讲解    
   · PKI    · 安全审计    · 访问控制    · 非授权访问    · 认证    · 认证机制    · 数字证书
 
       PKI
        PKI的基本概念
        1.PKI的总体架构
        PKI(Public Key Infrastructure,公开密钥基础设施)是以不对称密钥加密技术为基础,以数据机密性、完整性、身份认证和行为不可抵赖性为安全目的,来实施和提供安全服务的具有普适性的安全基础设施。其内容包括数字证书、不对称密钥密码技术、认证中心、证书和密钥的管理、安全代理软件、不可否认性服务、时间戳服务、相关信息标准、操作规范等。它是支持安全五要素的技术基础设施。
        一个网络的PKI包括以下几个基本构件:
        .数字证书:由认证机构经过数字签名后发给网上信息交易主体(企业或个人、设备或程序)的一段电子文档。文档中包括主体名称、证书序号、发证机构名称、证书有效期、密码算法标识、公钥和私钥信息及其他属性信息等。数字证书提供了PKI的基础。
        .认证中心:即CA,是PKI的核心。它是公正、权威、可信的第三方网上认证机构,负责数字证书的签发、撤销和生命周期的管理,还提供密钥管理和证书在线查询等服务。
        .数字证书注册审批机构:即RA,是CA的数字证书发放、管理的延伸。它负责数字证书申请者信息的录入、审核以及数字证书发放等工作。RA系统是整个CA中心得以正常运营不可缺少的一部分。
        .数字签名:利用发信者的私钥和可靠的密码算法对待发信息或其电子摘要进行加密处理,这个过程和结果就是数字签名。
        .密钥和证书管理工具:管理和审计数字证书的工具,认证中心使用它来管理一个在CA上的证书。
        .双证书体系:PKI采用双证书体系,非对称算法支持RSA和ECC算法,对称密码算法支持国家密码管理委员会指定的算法。
        从宏观来看,PKI的体系架构概括为两大部分:
        .PKI信任服务体系:是为整个业务应用系统提供基于PKI数字证书认证机制的实体身份鉴别服务,包括了认证机构、注册机构、证书库、证书撤销和交叉认证等。
        .PKI密钥管理中心:即KMC,提供密钥管理服务,向授权管理部门提供应急情况下的特殊密钥回复功能。包括密钥管理机构、密钥备份和恢复、密钥更新和密钥历史档案等。
        2.双证书、双密钥机制
        一对密钥(一张证书)的弊端:
        .如果密钥不备份,当密钥损坏时,以前加密的信息不可解密。
        .如果密钥不备份,很难实现信息审计。
        .如果密钥不备份,数字签名的不可否认性很难保证。
        两对密钥(两张证书)的优点:
        .一对密钥用于签名,一对密钥用于加密。
        .加密密钥在密钥管理中心生成及备份,签名密钥由用户自行生成并保存。
        3.数字证书的主要内容
        数字证书是公开密钥体制的一种密钥管理媒介。主要内容有:
        .主体名称:唯一标识证书所有者的标识符。
        .签证机关名称(CA):唯一标识证书签发者的标识符。
        .主体的公开密钥:证书所有者的公开密钥。
        .CA的数字签名:CA对证书的数字签名,保证证书的权威性。
        .有效期:证书在该期间内有效。
        .序列号:CA产生的唯一性数字,用户证书管理。
        .用途:主体公钥的用途。
        数字证书生命周期
        PKI/CA对数字证书的管理是按照数字证书的生命周期实施的。数字证书的生命周期包括:
        .安全需求确定:安全需求的确定必须完成的工作包括标识需要证书的应用程序、确定所需要的安全级别、标识需要证书的用户、确定如何保护私有密钥。
        .证书登记:从CA申请和接收一个证书的过程称为登记。这个过程可分为几个步骤,包括生成一个密钥对、收集登记信息、申请证书、用CA的公开密钥对申请进行加密、验证信息、创建证书、发送或邮寄证书。
        .证书分发:企业CA向用户颁发证书。
        .证书撤回:CRL(证书撤销列表)不会撤回客户端上的所有证书,仅仅撤回CRL中指定的证书。
        .证书更新:当证书达到它的截止有效日期时会自动变得无效,需要更新一个新证书。
        .证书审计:使用审计来监控与证书服务器上证书的颁发有关的活动。
        证书映射为使用者使用数字证书进行实际的应用操作提供了安全的、实际的“交接认证”工作。证书到用户账户的映射可以分为:
        .一对一映射:创建从个人证书到相应的应用里用户账户的关系。当客户数目相对很小时,使用一对一映射。
        .多对一映射:为所有证书创建从一个特定CA到一个应用的用户账户的关系。能够把多个证书映射到一个用户的账户中。
        X.509的信任模型
        X.509中信任的定义为:如果实体A认为实体B严格按A所期望的那样行动,则A信任B。
        PKI/CA的信任结构类型包括:
        .层次信任结构:所有实体都信任唯一的根CA。
        .分布式信任结构:把信任分散到两个或更多个(或许是很多个)CA上。
        .Web模型的信任结构:与严格层次结构模型相似。在该模型中,许多CA的公钥被预装在正在使用的标准浏览器上,浏览器用户最初信任这些CA并把它们作为证书检验的根。
        .以用户为中心的信任模型:每个用户都对决定依赖哪个证书和拒绝哪个证书直接完全地负责。
        .交叉认证的信任关系:交叉认证是一种把以前无关的CA连接在一起的有用机制,从而使得在它们各自主体群之间的信任关系得到有效扩展,使彼此的终端实体之间的安全通信成为可能。
        认证机构职责
        认证中心(CA)是PKI/CA提供核心服务的执行机构,广义上还应包含证书的申请注册机构(RA)。
        CA的主要职责包括:
        .数字证书管理。
        .证书和证书库。
        .密钥备份以及恢复。
        .密钥和证书的更新。
        .证书历史档案。
        .客户端软件。
        .交叉认证。
        认证中心提供的服务主要包括:
        .认证:身份识别和鉴别,确认实体即为自己所声明的实体,鉴别身份的真伪。
        .数据完整性服务:确认数据没有被修改。
        .数据保密性服务:采用“数字信封”机制。
        .不可否认性服务:从技术上保证实体对其行为的认可。
        .公证服务:即数据认证,证明数据的有效性和正确性。
        PKI/CA应用模式
        PKI/CA是S-MIS和S2-MIS的安全基础平台。
        PKI/CA的应用范围包括:
        .电子商务应用。
        .电子政务。
        .网上银行。
        .网上证券。
        .其他应用。
 
       安全审计
        安全审计是指对主体访问和使用客体的情况进行记录和审查,以保证安全规则被正确执行,并帮助分析安全事故产生的原因。安全审计是落实系统安全策略的重要机制和手段,通过安全审计识别与防止计算机网络系统内的攻击行为、追查计算机网络系统内的泄密行为。它是信息安全保障系统中的一个重要组成部分。具体包括两个方面的内容:
        (1)采用网络监控与入侵防范系统,识别网络中各种违规操作与攻击行为,即时响应并进行阻断。
        (2)对信息内容和业务流程的审计,可以防止内部机密或敏感信息的非法泄漏和单位资产的流失。
        CC标准将安全审计功能分为6个部分,分别是安全审计自动响应、安全审计自动生成、安全审计分析、安全审计浏览、安全审计事件选择、安全审计事件存储。
        (1)安全审计自动响应:定义在被测事件指示出一个潜在的安全攻击时做出的响应,它是管理审计事件的需要,这些需要包括报警或行动。例如包括实时报警的生成、违例进程的终止、中断服务、用户账号的失效等。根据审计事件的不同系统将做出不同的响应。其响应的行动可以做增加、删除、修改等操作。
        (2)安全审计数据生成:记录与安全相关的事件的出现,包括鉴别审计层次、列举可被审计的事件类型,以及鉴别由各种审计记录类型提供的相关审计信息的最小集合。系统可定义可审计事件清单,每个可审计事件对应于某个事件级别,如低级、中级、高级。
        (3)安全审计分析:定义了分析系统活动和审计数据来寻找可能的或真正的安全违规操作。它可以用于入侵检测或对安全违规的自动响应。当一个审计事件集出现或累计出现一定次数时可以确定一个违规的发生,并执行审计分析。事件的集合能够由经授权的用户进行增加、修改或删除等操作。审计分析分为潜在攻击分析、基于模板的异常检测、简单攻击试探和复杂攻击试探等几种类型。
        (4)安全审计浏览:审计系统能够使授权的用户有效地浏览审计数据,它包括审计浏览、有限审计浏览、可选审计浏览。
        (5)安全审计事件选择:系统管理员能够维护、检查或修改审计事件的集合,能够选择对哪些安全属性进行审计。例如,与目标标识、用户标识、主体标识、主机标识或事件类型有关的属性,系统管理员将能够有选择地在个人识别的基础上审计任何一个用户或多个用户的动作。
        (6)安全审计事件存储:审计系统将提供控制措施,以防止由于资源的不可用丢失审计数据。能够创造、维护、访问它所保护的对象的审计踪迹,并保护其不被修改、非授权访问或破坏。审计数据将受到保护直至授权用户对它进行的访问。
 
       访问控制
        网络设备的访问可以分为带外(out-of-band)访问和带内(in-band)访问。带外(out-of-band)访问不依赖其他网络,而带内(in-band)访问则要求提供网络支持。网络设备的访问方法主要有控制端口(Console Port)、辅助端口(AUX Port)、VTY、HTTP、TFTP、SNMP。Console、AUX和VTY称为line。每种访问方法都有不同的特征。Console Port属于默认设置访问,要求物理上访问网络设备。AUX Port提供带外访问,可通过终端服务器或调制解调器Modem连接到网络设备,管理员可远程访问。VTY提供终端模式通过网络访问网络设备,通常协议是Telnet或SSH2。VTY的数量一般设置为5个,编号是从0到4。网络设备也支持使用HTTP协议进行Web访问。网络设备使用TFTP(Trivial File Transfer Protocol)上传配置文件。SNMP提供读或读写访问几乎所有的网络设备。
               CON端口访问
               为了进一步严格控制CON端口的访问,限制特定的主机才能访问路由器,可做如下配置,其指定X.Y.Z.1可以访问路由器:
               
               VTY访问控制
               为保护VTY的访问安全,网络设备配置可以指定固定的IP地址才能访问,并且增加时间约束。例如,X.Y.Z.12、X.Y.Z.5可以通过VTY访问路由器,则可以配置如下:
               
               超时限制配置如下:
               
               HTTP访问控制
               限制指定IP地址可以访问网络设备。例如,只允许X.Y.Z.15路由器,则可配置如下:
               
               除此之外,强化HTTP认证配置信息如下:
               
               其中,type可以设为enable、local、tacacs或aaa。
               SNMP访问控制
               为避免攻击者利用Read-only SNMP或Read/Write SNMP对网络设备进行危害操作,网络设备提供了SNMP访问安全控制措施,具体如下:
               一是SNMP访问认证。当通过SNMP访问网络设备时,网络设备要求访问者提供社区字符串(community strings)认证,类似口令密码。如下所示,路由器设置SNMP访问社区字符串。
               (1)设置只读SNMP访问模式的社区字符串。
               
               (2)设置读/写SNMP访问模式的社区字符串。
               
               二是限制SNMP访问的IP地址。如下所示,只有X.Y.Z.8和X.Y.Z.7的IP地址对路由器进行SNMP只读访问。
               
               三是关闭SNMP访问。如下所示,网络设备配置no snmp-server community命令关闭SNMP访问。
               
               设置管理专网
               远程访问路由器一般是通过路由器自身提供的网络服务来实现的,例如Telnet、SNMP、Web服务或拨号服务。虽然远程访问路由器有利于网络管理,但是在远程访问的过程中,远程通信时的信息是明文,因而,攻击者能够监听到远程访问路由器的信息,如路由器的口令。为增强远程访问的安全性,应建立一个专用的网络用于管理设备,如下图所示。
               
               建立专用的网络用于管理路由器示意图
               同时,网络设备配置支持SSH访问,并且指定管理机器的IP地址才可以访问网络设备,从而降低网络设备的管理风险,具体方法如下:
               (1)将管理主机和路由器之间的全部通信进行加密,使用SSH替换Telnet。
               (2)在路由器设置包过滤规则,只允许管理主机远程访问路由器。例如以下路由器配置可以做到:只允许IP地址是X.Y.Z.6的主机有权访问路由器的Telnet服务。
               
               特权分级
               针对交换机、路由器潜在的操作安全风险,交换机、路由器提供权限分级机制,每种权限级别对应不同的操作能力。在Cisco网络设备中,将权限分为0~15共16个等级,0为最低等级,15为最高等级。等级越高,操作权限就越多,具体配置如下:
               
 
       非授权访问
        网站的认证机制的安全缺陷导致网站服务及信息被非授权访问。攻击者通过口令猜测及“撞库”攻击技术手段,获取网站用户的访问权限。
 
       认证
        认证又分为实体认证和消息认证两种。实体认证是识别通信对方的身份,防止假冒,可以使用数字签名的方法。消息认证是验证消息在传送或存储过程中有没有被篡改,通常使用报文摘要的方法。
               基于共享密钥的认证
               如果通信双方有一个共享的密钥,则可以确认对方的真实身份。这种算法依赖于一个双方都信赖的密钥分发中心(Key Distribution Center,KDC),如下图所示,其中的A和B分别代表发送者和接收者,KAKB分别表示A、B与KDC之间的共享密钥。
               
               基于共享密钥的认证协议
               认证过程如下:A向KDC发出消息{A,KA(B,KS)},说明自己要与B通信,并指定了与B会话的密钥KS。注意,这个消息中的一部分(B,KS)是用KA加密的,所以第三者不能了解消息的内容。KDC知道了A的意图后就构造了一个消息{KB(A,KS)}发给B。B用KB解密后就得到了A和KS,然后就可以与A用KS会话了。
               然而,主动攻击者对这种认证方式可能进行重放攻击。例如A代表雇主,B代表银行。第三者C为A工作,通过银行转账取得报酬。如果C为A工作了一次,得到了一次报酬,并偷听和复制了A和B之间就转账问题交换的报文,那么贪婪的C就可以按照原来的次序向银行重发报文2,冒充A与B之间的会话,以便得到第二次、第三次……报酬。在重放攻击中攻击者不需要知道会话密钥KS,只要能猜测密文的内容对自己有利或是无利就可以达到攻击的目的。
               基于公钥的认证
               这种认证协议如下图所示。A向B发出EB(A,RA),该报文用B的公钥加密。B返回EARARBKS),用A的公钥加密。这两个报文中分别有A和B指定的随机数RARB,因此能排除重放的可能性。通信双方都用对方的公钥加密,用各自的私钥解密,所以应答比较简单。其中的KS是B指定的会话键。这个协议的缺陷是假定双方都知道对方的公钥。
               
               基于公钥的认证协议
 
       认证机制
        为防止网络设备滥用,网络设备对用户身份进行认证。用户需要提供正确口令才能使用网络设备资源。目前,市场上的网络设备提供Console口令、AUX口令、VTY口令、user口令、privilege-level口令等多种形式的口令认证。以路由器为例,Console口令的使用过程如下:
        
        网络设备对于Console、AUX和VTY口令的口令认证配置文件如下:
        
        为了便于网络安全管理,交换机、路由器等网络设备支持TACACS+(Terminal Access Controller Access Control System)认证、RADIUS(Remote Authentication Dial In User Service)认证。TACACS+认证的过程如下图所示。
        
        TACACS+认证示意图
        假定服务器的密钥是MyTACACSkey,配置网络设备使用TACACS+服务器的步骤如下:
        (1)使用aaa new-model命令启用AAA;
        (2)使用tacacs-server host命令指定网络设备能用的TACACS+服务器;
        (3)使用tacacs-server key命令告知网络设备TACACS+服务器的密钥;
        (4)定义默认的AAA认证方法,并将本地认证作为备份;
        (5)配置使用AAA认证方法。
        现以路由器通过AUX、VTY使用TACACS+进行认证为例,其中,TACACS+服务器的IP地址为X.Y.Z.10,服务器的密钥是MyTACACSkey。其配置过程如下所示:
        
        TACACS+要求用户提供用户名和口令进行认证,认证通过后再进行授权操作和审计。相比于TACACS+,RADIUS的认证过程简单,如下图所示。
        
        RADIUS认证示意图
        配置网络设备使用RADIUS认证的步骤如下:
        (1)使用aaa new-model命令启用AAA;
        (2)使用radius-server host命令指定网络设备能用的RADIUS服务器;
        (3)使用radius-server key命令告知网络设备RADIUS服务器的密钥;
        (4)定义默认的AAA认证方法,并将本地认证作为备份;
        (5)配置使用AAA认证方法。
        现以路由器通过VTY使用RADIUS进行认证为例,其中,RADIUS服务器的IP地址为X.Y.Z.5,服务器的密钥是MyRADIUSkey,其配置过程如下所示:
        
 
       数字证书
        数字证书是各类终端实体和最终用户在网上进行信息交流及商务活动的身份证明,在电子交易的各个环节,交易的各方都需验证对方数字证书的有效性,从而解决相互间的信任问题。
        数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密和解密。每个用户自己设定一个特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名,同时设定一个公共密钥(公钥),并由本人公开,为一组用户所共享,用于加密和验证。公开密钥技术解决了密钥发布的管理问题。一般情况下,证书中还包括密钥的有效时间、发证机构(证书授权中心)的名称及该证书的序列号等信息。数字证书的格式遵循ITUT X.509国际标准。
        用户的数字证书由某个可信的证书发放机构(Certification Authority,CA)建立,并由CA或用户将其放入公共目录中,以供其他用户访问。目录服务器本身并不负责为用户创建数字证书,其作用仅仅是为用户访问数字证书提供方便。
        在X.509标准中,数字证书的一般格式包含的数据域如下。
        (1)版本号:用于区分X.509的不同版本。
        (2)序列号:由同一发行者(CA)发放的每个证书的序列号是唯一的。
        (3)签名算法:签署证书所用的算法及参数。
        (4)发行者:指建立和签署证书的CA的X.509名字。
        (5)有效期:包括证书有效期的起始时间和终止时间。
        (6)主体名:指证书持有者的名称及有关信息。
        (7)公钥:有效的公钥以及其使用方法。
        (8)发行者ID:任选的名字唯一地标识证书的发行者。
        (9)主体ID:任选的名字唯一地标识证书的持有者。
        (10)扩展域:添加的扩充信息。
        (11)认证机构的签名:用CA私钥对证书的签名。
               证书的获取
               CA为用户产生的证书应具有以下特性:
               (1)只要得到CA的公钥,就能由此得到CA为用户签署的公钥。
               (2)除CA外,其他任何人员都不能以不被察觉的方式修改证书的内容。
               因为证书是不可伪造的,因此无须对存放证书的目录施加特别的保护。
               如果所有用户都由同一CA签署证书,则这一CA必须取得所有用户的信任。用户证书除了能放在公共目录中供他人访问外,还可以由用户直接把证书转发给其他用户。用户B得到A的证书后,可相信用A的公钥加密的消息不会被他人获悉,还可信任用A的私钥签署的消息不是伪造的。
               如果用户数量很多,仅一个CA负责为所有用户签署证书可能不现实。通常应有多个CA,每个CA为一部分用户发行和签署证书。
               设用户A已从证书发放机构X1处获取了证书,用户B已从X2处获取了证书。如果A不知X2的公钥,他虽然能读取B的证书,但却无法验证用户B证书中X2的签名,因此B的证书对A来说是没有用处的。然而,如果两个证书发放机构X1和X2彼此间已经安全地交换了公开密钥,则A可通过以下过程获取B的公开密钥:
               (1)A从目录中获取由X1签署的X2的证书X1《X2》,因为A知道X1的公开密钥,所以能验证X2的证书,并从中得到X2的公开密钥。
               (2)A再从目录中获取由X2签署的B的证书X2《B》,并由X2的公开密钥对此加以验证,然后从中得到B的公开密钥。
               在以上过程中,A是通过一个证书链来获取B的公开密钥的,证书链可表示为
               X1《X2》X2《B》
               类似地,B能通过相反的证书链获取A的公开密钥,表示为
               X2《X1》X1《A》
               以上证书链中只涉及两个证书。同样,有N个证书的证书链可表示为
               X1《X2X2《X3》…XN《B》
               此时,任意两个相邻的CAXi和CAXi+1已彼此间为对方建立了证书,对每一个CA来说,由其他CA为这一CA建立的所有证书都应存放于目录中,并使得用户知道所有证书相互之间的连接关系,从而可获取另一用户的公钥证书。X.509建议将所有的CA以层次结构组织起来,用户A可从目录中得到相应的证书以建立到B的以下证书链:
               X《W》W《V》V《U》U《Y》Y《Z》Z《B》
               并通过该证书链获取B的公开密钥。
               类似地,B可建立以下证书链以获取A的公开密钥:
               X《W》W《V》V《U》U《Y》Y《Z》Z《A》
               证书的吊销
               从证书的格式上可以看到,每个证书都有一个有效期,然而有些证书还未到截止日期就会被发放该证书的CA吊销,这可能是由于用户的私钥已被泄漏,或者该用户不再由该CA来认证,或者CA为该用户签署证书的私钥已经泄漏。为此,每个CA还必须维护一个证书吊销列表(Certificate Revocation List,CRL),其中存放所有未到期而被提前吊销的证书,包括该CA发放给用户和发放给其他CA的证书。CRL还必须由该CA签字,然后存放于目录中以供他人查询。
               CRL中的数据域包括发行者CA的名称、建立CRL的日期、计划公布下一CRL的日期以及每个被吊销的证书数据域。被吊销的证书数据域包括该证书的序列号和被吊销的日期。对一个CA来说,它发放的每个证书的序列号是唯一的,所以可用序列号来识别每个证书。
               因此,每个用户收到他人消息中的证书时都必须通过目录检查这一证书是否已经被吊销,为避免搜索目录引起的延迟以及因此而增加的费用,用户自己也可维护一个有效证书和被吊销证书的局部缓存区。
   题号导航      2012年下半年 软件评测师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
 
第4题    在手机中做本题