CISSP要点-访问控制

更新时间:2023-06-09 13:22:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

标识是一种能够确保主体(用户、程序或进程)就是它所宣称的那个实体的方法。标识可以通过一些证明来确认,这些证明可以是用户名或账号。主体在一个系统或者域内的行为需要具有一定的责任性。确保责任性唯一的方法就是主体能够被唯一地标识,并且主体的行为被记录在案。

逻辑访问控制是用于标识、认证、授权和稽核的工具,它是执行对系统、程序、进程和信息的访问控制策略的软件组件。

一个人的身份需要在认证的过程中确定。认证通常包含有两步:输入公共信息(用户名、工作证号、账号或部门ID),然后输入私人信息(固定的密码、智能令牌、认知性密码、一次性密码、个人身份号码或数字签名在这两步中,输入公共信息是一个标识的过程,而输入私人信息是一个认证的过程。

有三种认证的方式:他知道的内容,他持有的证明,他就是这个人。它们也常称作根据知识进行认证、根据所有权进行认证以及根据特征进行认证。

强化认证(strong authentication)包括他知道的内容、他持有的证明、他就是这个人这三种方法中的两种认证方式。

在安全领域,确定身份有三个关键因素:唯一性、非描述性和签发。

ID卡可认为是一种标识签发形式的安全因素。

身份管理包括用不同的产品以自动化方法标识、认证和授权用户,还包括用户账户管理、访问控制、密码管理、单点登录功能、管理用户账户权限,以及审计和监控所有这些项目。

安全管理不仅必须理解整个身份管理,而且还必须理解构成整个企业身份管理解决方案的各种技术。管理身份需要管理唯一标识的实体、它们的特征、证书和权利。

目录

多数目录采用一种分层式的数据库格式,基于X.500标准和某种协议,如轻量级目录访问协议(LDAP),允许主体和应用程序与目录进行交互。

目录中的客体由目录服务管理。目录服务允许管理员配置和管理网络中的标识、认证、授权和访问控制。目录中的客体用命名空间标记和标识。

每种目录服务都采用某种方法标识和命名它们管理的客体。在基于由LDAP访问的X.500标准的数据库中,目录服务为每个客体分配标识名(DN)。每个标识名代表与某个客体有关的一组属性,作为一个条目保存在目录中。

目录服务管理目录中的条目和数据,并通过实施访问控制和身份管理功能执行配置的安全策略。

身份管理中使用的目录是一种为读取和搜索操作而进行过优化的专用数据库软件,它是身份管理解决方案的主要组件。这是因为所有资源信息、用户属性、授权资料、角色、潜在的访问控制策略以及其他内容都保存在这一个位置^当其他身份管理软件需要执行它们的功能(授权、访问控制、分配权限)时,就有了一个集中的位置来获取它们所需的信息。

许多身份管理产品的主要作用是建立元目录(meta-directory)或虚拟目录(virtual directory)。元目录从不同的来源收集必要的信息,并将它们保存在一个中央目录中,这为企业中所有用户的数字身份信息提供了一个统一的视图。元目录定期与所有身份存储库同步,以确保企业中的所有应用程序和身份管理组件使用最新的信息。

Web访问管理

体系架构通常由一个Web服务器群组(许多台服务器)、一个包含用户账户和属

性的目录、一个数据库、若干个防火墙以及一些路由器组成,所有这些设备都采用一种分层的基础架构。

WAM工具还提供一个单点登录功能,以便一旦用户在某个Web站点通过认证,他能够访问不同的基于Web的应用程序和资源,而不必多次登录。如果某款产品在Web环境中提供单点登录功能,当用户访问不同的资源时,该产品必须持续追踪用户的认证状态和安全上下文(Security Context)。

账户管理产品允许管理员管理不同系统中的用户账户。要求用户提交新账户请求,这个请求通常由员工的经理批准。然后系统自动建立账户,或者生成一个报告,由技术人员创建账户。请求被提交给一位经理(或者任^负责批准请求的人员),经理批准请求,然后再对各种账户进行修改。

用户配置(User Provisioning)是指为响应业务流程而创建、维护和删除存在于一个或几个系统、目录或应用程序中的用户对象和属性。用户配置软件中包括以下一个或几个组件:变更传播(Change Propagation)、自助式工作流程、统一化用户管理、委派式用户管理和联合变更控制。用户对象表示员工、承包商、供应商、合作伙伴、客户或其他服务对象。服务包括电子邮件、访问数据库、访问文件系统或大型主机等。

建立目录是为了保存用户和资源信息。一个元数据目录从网络的不同位置提取身份信息,允许身份管理流程从这个位置获得完成任务所需的数据。用户管理工具在用户身份的整个生命周期对其进行控制并提供配置。密码管理工具防止因为用户遗忘密码而造成生产力下降。单点登录技术,使内部用户在访问企业资源时只需认证一次。Web访问管理工具为外部用户提供单点登录服务,并控制对基于Web的资源的访问。

用户资料更新

多数公司并不只是保存与用户有关的重要信息,而只要根据这些信息做出访问决策。

生物识别技术通过分析个人独特的属性或行为来确认一个人的身份,是确认身份最有效且最准确的技术之一。生物识别是一种非常复杂的技术,所以它的花费要比其他类型的身份确认技术要昂贵得多。

生物识别技术一般分为两种不同的类型。第一种是生理性生物识别,是指某一个人所特有的身体特征。指纹是生物识别系统常用的一种生理特征。第二种是行为性生物识别,这种技术根据一个人的某种行为特点来确认他的身份,例如说动态签名。生理识别是“你是什么”,而行为识别是“你做什么” ?

生物识别系统扫描一个人的生理属性或行为特征,然后将它与早期特征记录过程中建立的记录进行比较。因为这个系统会检查一个人的指纹凹槽、视网膜模式或者声音的髙低,因此它非常灵敏。系统必须对人的生理或行为特点进行准确而重复性的测量。这种类型的灵敏度很容易造成误报(False Positive)或漏报(False Negative)。系统必须经过仔细的校准,以确保误报和漏报不会经常发生,从而使检测结果尽可能的准确。

生物识别系统拒绝一个已获授权的个人,这称之为第一类错误(误拒绝率);当系统接受了一个本应该被拒绝的冒名顶替者,这称之为第二类错误(误接受率)。 交叉误差率(Crossover Error Rate, CER)。这个等级是一个百分数,它代表误拒绝率等于误接受率的那个点。在判定一个系统的精确度的时候,交叉误差率是非常重要的评估指标。CER值为3的生物识别系统要比CER值为4的系统的准确性要高得多。

在特征记录阶段,用户提供生物识别数据(指纹、声纹),生物识别读取器将这些数据转换成二进制值。由于系统不同,读取器可能会创建一个生物识别数据的哈希值(Hash Value),或者对数据进行加密,或同时采用这两种方法。然后,用户的生物识别数据由读取器存入后端认证数据库中(该数据库己经为这名用户创建了账户)。

一次性口令字也叫做动态口令字。它在用户认证的时候使用,当口令字使用过之后就失效,再也不能使用了。因此,如果黑客获得了这个口令字,它不能被重复使用。动态口令字主要用于需要比静态口令字的安全等级高的安全机制当中。一次性口令字一共有两种:同步和异步。两种类型都由一个与服务器或工作站上的认证服务之间进行通信的令牌装置产生。

令牌装置又叫口令字生成器,它通常是一个便携式的装置,有一个LCD显示屏和一个按键面板。这个装置和用户使用的计算机硬件是分开的。令牌装置和认证服务必须是同步进行的,为了能够进行用户认证,需要使用相同的质询/应答方式。

同步

同步令牌装置和认证服务同步地使用时间或事件作为认证过程的内部标志。如果同步是基于时间的,那么在令牌装置和认证服务器上面必须具有准确的相同时间。令牌装置上的时间值经密钥加密成口令字之后提交给用户,用户输入其用户名和该口令字到计算机中,然后计算机提交给进行认证服务的服务器。认证服务器对该口令字进行解密,然后和期望的口令字进行比较,如果二者相符,那么用户就可以使用计算机和资源了。

如果令牌装置是基于事件的同步,那么用户需要初始化计算机上的登录序列,然后按令牌装置上的一个按键,这就使令牌装置和认证服务进入下一个认证值。令牌装置对这个值进行加密,然后显示给用户,用户将其ID和加密后的口令字输入计算机进行认证。无论是时间同步还是事件同步,令牌装置和认证服务都必须使用相同的密钥来进行加密和解密。

异步

异步产生令牌的令牌装置使用一种质询/应答方式对用户进行认证。在这种情况下,计算机首先向用户发送一个质询字符串一个也称作nonce的随机值;然后,用户将这个随机值输入令牌装置中,令牌装置对它进行加密,然后返回给用户一个值,用户将该值用作一次性口令字。接下来,用户将这个值以及用户名送交给认证服务器。如果认证服务器能够解决这个值,且该值与前面发送给用户的质询值相同,那么用户就通过了认证。

密码字

另一种身份识别的方式是提供私钥或数字签名。私钥和数字签名可以用在需要使用密码的地方。密码实际上是最脆弱的认证方式,当它在网络中传输的时候很容易被窃听。而私钥和数字签名认证主要用在那些比密码安全保护的安全等级更高的环境中。

私钥是一串加密字符,它只能被一个人持有,决不能泄露给外部方面。而数字签名则使用私钥对散列值(消息摘要)加密。使用私钥对散列值进行加密的过程称为对一个消息数字签名。附于消息上的数字签名表明该消息来自特定的源头,并且消息在传输过程中未被更改。

口令词(Passphrase)将在认证过程中取代密码。之所以叫做词(phrase),就是因为它的字符长度一般要比口令字长一些。

存储卡和智能卡的主要区别在于处理信息的功能。存储卡可以存储信息,但是不能处理信息。而智能卡是使用一些必要的硬件和逻辑来处理信息。

由于智能卡本身就有一个微处理器和集成电路,所以智能卡有信息处理的能力。存储卡就没有这类硬件,所以也没有这种功能。由于智能卡能够处理存储在其中的信息,因而它提供了双因子认证,这是因为它需要用户输入PIN才能打开智能卡。这就意味着用户必须要提供“他知道的”(PIN)和“他拥有的”(智能卡)。 智能卡分为两类:接触式智能卡和非接触式智能卡。

智能卡攻击

旁道攻击(Side-Channel Attack)是一种非入侵式攻击,其目的是不利用任何形式的缺陷或弱点查明与某个组件运行有关的敏感信息。

非入侵性攻击是指攻击者观察某个组件的运作方式,以及它在不同情况下如何反应,从而达到攻击目的,而不必采用入侵式的手段进行“入侵”。差分功率分析(检查处理过程中的功率排放)、电磁分析(检查发射出的频率)和时序分析(某一个具体的过程要多久完成)都属于针对智能卡的旁道攻击。

软件攻击也属于非入侵性攻击。如果你想要实施更具入侵性的智能卡攻击,可以试一试微区探查(Microprobing)。微区探查使用指针和超声振动擦除智能卡电路上面的外部保护材料,然后就可以直接连接智能卡的ROM芯片,访问和操纵其中的数据。

单点登录

Kerberos

Kerberos是一种认证协议,它以客户/服务器的模式工作,基于对称密钥体系。这个协议在UNIX系统上应用多年,现在已成为Windows 2000/2003的默认认证模式。Kerberos是一个分布式环境中单点登录系统的实例,也是多网络系统的一个实际标准。企业访问控制包含四个重要因素:可扩展性、透明性、可靠性和安全性。Kerberos使用对称密钥算法加密体系,提供端对端的安全,这意味着在用户和服务程序之间传递保护信息时并不需要中间组件。

Kerberos的主要组件

密钥分发中心(Key Distribution Center,KDC)是Kerberos系统中最重要的一个组件KDC包含有所有的用户和服务的密钥,具有密钥分发功能以及认证功能。客户和服务都非常信任KDC的完整性,这是Kerberos安全的基础。

KDC将安全服务提供给称为主体(Principals)的实体对象,这些主体可以是用户、应用程序或服务。KDC为每个主体提供一个账户,并与其共享一个密钥。对于用户,口令字被转换成密码值,该密码值用于在KDC和实体之间来回发送敏感信息,也可用于用户认证。

KDC产生的票证(Ticket)是由票证授予服务(TGS)产生的,用于一个主体(假设为用户)需要通过认证来访问另一个主体(假设为打印服务器)。票证就是用于主体对主体的认证。

KDC能给一组组件和主体提供安全服务,这个组称为Kerberos的域(Realm)。在这个域内,KDC对所有的用户、应用程序和服务来讲都是可信任的认证服务器。KDC可以对—个域或几个域均有效。域使管理员能够逻辑地将资源和用户分组。

Kerberos认证过程

用户和KDC共享一个密钥,而服务和KDC又共享另外一个密钥。用户和服务在开始时没有共享密钥。用户信任KDC是因为它们共享了一个密钥(会话密钥),

它们之间可以对互相传递的数据进行加密和解密,这样就拥有了一条受保护的通信通道。一旦用户对服务进行了认证,它们就共享一个密钥,这个密钥可以使它们对相互通信的数据进行加密和解密。这就是Kerberos进行数据传输保护的工作过程。

认证服务(AS)是KDC中用于认证主体的部分,而票证授予服务(TGS)是KDC用于生成票证并把票证发送给主体的部分。使用TGT是为了让用户不必在每次需要与另一个主体交互时输入自己的密码。

使用Kerberos主要是因为主体之间不能充分信任对方,因而不能直接进行通信。时间戳用于防止重放攻击。

Kerberos的弱点

下面列举了 Kerberos可能存在的一些弱点:

KDC是一个单一故障点。如果KDC出错,那么没有人能够访问所需的资源。对于KDC来说,冗余是必需的。

KDC必须能够以实时的方式处理接收到的大量请求。它必须能扩展。

密钥要暂时性地存放在用户的工作站上,这意味着入侵者有可能获得这个密钥。 会话密钥被解,然后会驻留在用户的服务器或密码列表的缓存中,同样入侵者也可以获取这个密钥。

Kerberos对于密码猜测非常脆弱。KDC并不能发现一个字典式攻击正在发生。 如果没有应用加密功能,Kerberos不能保护网络流量。

如果密钥太短,它们可能易于受到蛮力攻击。

Kerberos必须是透明(在后台运行,不需要用户了解)、可扩展(在大型异步环境中运行)、可靠(使用分布式体系架构确保不会出现单点故障)和安全的(提供认证和机密性)。

SESAME

SESAME (Secure European System for Applications in a Multi-vendor Environment)项目是另外一种单点登录技术,开发它的目的就是弥补Kerberos的一些不足。SESAME使用对称和非对称密码技术来保护数据交换以及进行主体试图访问网络资源时的认证。

Kerberos使用票证来为主体向客体做认证,而SESAME使用有特权属性证书(Privileged Attribute Certificates, PAC),其中包含主体的身份,客体允许访问范围,允许访问时间段和PAC的有效期限。PAC有数字签名,所以客体可以证实该PAC来自一个可信任的认证服务器,该服务器叫做有特权属性服务器(PAS)。该PAS与Kerberos系统中的KDC扮演相同的角色。当一个用户成功地通过认证服务(AS)时,他拿到一个令牌(token)并交给PAS。该PAS就给他生成一个PAC,用来交给被访问的资源。

一个域由一组主体可用的资源构成。主体可能为一个用户、进程或应用程序。在操作系统中,每个进程都有一个域,即该进程执行自己的任务用到的一组系统资源。这些资源可能为内存段、硬盘空间、操作系统服务和其他进程。在网络环境中,域是指一组有效的物理和逻辑资源,包括路由器、文件服务器、FTP服务、Web服务器等。

“安全域”建立在域的基础之上,但这个逻辑结构(域)中的资源在同一个安全策略下运行,并由同一个团队管理。

不同的域由逻辑边界分隔,如带有ACL的防火墙、做出访问决策的目录服务,以及拥有自己的、说明哪些个体和组能够对它们执行操作的ACL的客体。所有

这些安全机制都是对每个域实施安全策略的组件。

域可以为分层结构,这些层次说明不同域之间的关系,以及不同域中的主体如何进行通信。主体能够访问域中同等或更低信任级别的资源。域不仅适用于网络设备和区段,它还可应用于用户和进程。

目录服务

网络服务是一种标识网络中资源(打印机、文件服务器、域控制器和外围设备)的机制。网络目录服务包含这些资源的有关信息、需要访问它们的主体,并执行访问控制活动。如果目录服务在一个基于X.500标准的数据库中运行,则它会以一种等级结构运作,该结构会列出资源的属性,如名称、逻辑和物理位置、可以访问它们的主体,以及能够对它们执行的操作。在基于X.500标准的数据库中,用户和其他系统使用LDAP协议提出访问请求。这种类型的数据库为组织对象(主体和资源)提供一个等级结构。目录服务为每个对象指定一个独特的名称,并在必要时将与其对应的属性附加在这些对象后面。目录服务要执行一个安全策略(由管理员配置)来控制主体和客体之间的交互。

瘦客户机

无盘计算机,有时又被称为哑终端或瘦客户机,因为没有操作系统和必要的资源,所以不能存储信息。这种类型的技术迫使用户要登录到网络上面才能够使用计算机。当用户启动计算机后,计算机将运行一小串指令以便将它指向服务器,再从服务器上面下载操作统到终端。它使用了一种非常严格的访问控制,使得只有计算机通过了服务器的认证才能做它自己的事情,然后服务器提供给计算机操作系统配置文件,以及功能。瘦客户机的技术提供了另外一种单点登录方式。因为用户只需向中央服务器或大型机认证,然后就可以通过这个集中式的系统访问所有必要的资源。

单点登录技术

Kerberos使用KDC和票证、基于对称密钥加密的认证协议。

SESAME使用PAS和PAC、基于对称和非对称加密的认证协议。

安全域资源在相同的安全策略下运行,由相同的组管理。

瘦客户机依赖一台中央服务器进行访问控制、处理和存储的终端。

访问控制模型(Access Control Model)描述了主体访问客体的一种框架,它通过访问控制技术和安全机制来实现模型的规则和目标。主要的访问控制模型有三种:自主型访问控制、强制型访问控制和非自主型访问控制(也叫作基于角色的访问控制)。

自主型访问控制

如果用户创建了一个文件,那么他是这个文件的拥有者。文件头中包含了用户的标识符。这种所有权也可以赋予一个特定的个体。

使用自主型访问控制(Discretionary Access Control,DAC)的系统,可以让资源的拥有者指定哪些主体可以访问该资源。这种模型称为“自主型”,是因为对访问的控制是由资源拥有者自主决定的。DAC模型中最常见的实现方式是访问控制列表(ACL),这个列表由用户(客体的所有者)指定,由操作系统实施。 强制型访问控制

在强制型访问(Mandatory Access Control, MAC)模型中,用户和数据的所有者没有决定谁能访问这些文件的权力,这应该是由操作系统最后做出的决定,并且可能会覆盖用户的设置。在资源的安全标签里面。分类标签被绑定到某个主体或客体上。当系统接到一个客体访问请求时,它根据主体的安全级别和客体的安全类

别来作出决策。主体如何访问数据的规则由管理层制定,由管理员配置和管理,由操作系统来进行实施,由安全技术支持。安全标签和各个客体附在一起,所以每一个文件、目录和设备都有其自己的安全标签以及分类信息。任何时候,每个主体和客体都必须有一个带有属性的相关联标签,因为这是操作系统访问决定标准的一部分。每个主体和客户并不需要唯一性的标签,但它们在逻辑上必须相互关联。

敏感度标签

采用MAC模型时,每一个主体和客体必须有一个敏感性标签,也称为安全标签。它包含有一个级别和不同的类别。这种级别表示了敏感级别,类别则用于强调须知规则。级别具有一个层次结构,一个级别可能比另一个级别更受信任。但是,类别没有层次而言,这是因为它们代表系统中不同域内的信息。类别可以和部门(联合国、信息仓库或财政部)、项目(如CRM、机场安全、2003年预算)或管理级别对应起来。在一个军事环境中,信息按安全级别可以分为绝密(Top Secret)、秘密、(Secret)、机密(Confidential)和未分类(Unclassified)几种,每个级别的可信度都比低级别的可信度要高。一个商业机构可能使用机密的(Confidential)、私有的(Proprietary)、公司的(Corporate)和敏感的(Sensitive)来对信息进行分级。对信息级别的定义由各组织自己负责,并且只在公司内部有意义。软件卫士和硬件卫士允许在可信(高保证度)和不可信(低保证度)系统与环境间交换数据。软件卫士(Software Guard)实际上是一个前端产品,它允许安全级别不相同的各系统之间进行相互连接。不同类型的卫士可用于执行过滤、处理请求、阻止数据和净化数据。还可以执行硬件卫士(Hardware Guard),它是一个带两个NIC的系统,这些NIC用于连接两个需要彼此通信的系统。卫士可用于连接在不同的安全模式下运行的MAC系统,也可用于连接在不同的安全级别下运行的网络。 基于角色的访问控制

基于角色的访问控制(Role-Based Access Control, RBAC)也叫做非自主型访问控制,它使用集中管理的控制方式来决定主体和客体如何交互。这种模型允许用户基于他在公司的角色来访问资源。之所以称之为非自主型访问控制,是因为给用户分配一个角色是一种不得己的行为。

较为传统的访问控制管理仅仅以DAC模型为基础,它在角色层级使用ACL指定访问控制。而RBAC方法允许根据用户的工作角色来管理许可,从而指定访问控制管理。在RBAC模型中,某个角色会根据该角色所执行的操作和任务来定义,而DAC模型则说明哪些主体能够访问哪些客体。

注意角色的引入也引入了显式授权和隐式授权的不同.如果权限是显式分配的,那么这种权限是分配给特定个人的;如果权限是隐式分配的,那么这些权限是分配给一个角色或用户组的,用户能继承角色的属性。RBAC模型是员工流动性高的公司最适合使用的访问控制系统。

核心RBAC

这个组件将整合到每一个RBAC模型中,因为它是这个模型的基础。用户、角色、许可、操作和会话应根据安全策略进行定义并相互对应。

用户与权限之间存在一种多对多的关系。

会话是某个用户与少数几个角色之间的对应关系。

提供传统但稳健的基于群组的访问控制。

层级RBAC

这个组件允许管理员建立一个组织RBAC模型,将某个环境中的组织结构和功

能描述对应起来。

这个组件允许管理员建立一个组织RBAC模型,将某个环境中的组织结构和功能描述对应起来。这个组件非常有用,因为公司一层建立在一个人员层级结构之中。许多时候,你在需求链中的位置越髙,你拥有的访问权限就越多。

1.角色关系定义了用户成员与权限继承。例如,护士角色可以访问某些文件;实验室技术人员角色能够访问另外一些文件。若医生角色继承了这两个角色的许可的访问权限,因而医生角色己经分配到更多的权限。所有层级是其他角色的权限和许可的累积。

2.反映组织结构和功能描述。

3.两种类型的层级:

a.有限层级——只允许一个层级(角色1继承角色2的权限,没有其他角色)。 b.普通层级——允许多个层级(角色)继承角色2和角色3的许可)。

层级是一种划分角色结构并反映结构的授权和责任的自然方法。角色层级(Role Hierarchy)定义角色之间的继承关系。这个模型提供两种不同类型的责任分割。 RBAC中的静态责任分割(SSD)关系这种责任分割通过限制组合各种权限来防止欺诈(用户不能既是收银员组成员,又是应收账款组成员)。

RBAC中的动态责任分割(DSD)关系这种责任分割通过限制各种可在任何会话中激活的权限来防止欺诈(例如,用户不能同时保留收银员和收银员主管这两个角色,但用户可以是这两个组的成员)。这种关系更加令人迷惑。假如说,Joe既是收银员成员,又是收银员主管成员。如果他作为收银员登录,则在这次会话中,他的主管角色无效。如果他作为收银员主管登录,则在这次会话中,他的收银员角色无效^

基于角色的访问控制可通过以下方法进行管理:

非RBAC方法用户直接对应用程序对应起来,不使用角色。

有限的RBAC方法用户与多个角色相互对应,并直接与其他类型的没有基于角色访问功能的应用程序对应起来。

混合型RBAC用户与多个应用程序角色对应,仅分配给这些角色选定的权限。 完全的RBAC方法用户与企业角色相互对应。

基于规则的访问控制

基于规则的访问控制使用特定的规则来规定主体与客体之间可以做什么,不可以做什么。基于规则的访问控制不一定是基于身份的访问控制。基于规则的访问控制通过制定一个适用于所有用户的规则——无论他是什么身份,从而简化了这种情况。基于规则的访问控制允许开发者详细定义各种特殊情形,规定在这些情形中,主体是否能够访问客体,以及在访问得到许可后主体能够执行的操作。 许多路由器和防火墙使用规则决定允许或拒绝哪些类型的数据包访问网络。基于规则的访问控制是一种强制型控制,因为这些规则由管理员制定,用户不能对其进行修改。

限制性的用户接口

限制性的用户接口通过不允许提交某些功能、信息或访问某些系统资源的请求来限制用户的访问能力。这里有三种主要的限制性接口:菜单和命令、数据库视图和物理限制接口。

当使用菜单和命令限制时,用户只被给予他们能够执行的命令选项,如果管理员只想让用户能够运行和执行这个程序,那么在菜单上面就只有这两个选项。数据库视图就是用于限制用户访问数据库中的数据的一种安全机制。物理性的用户接

口限制可以通过在键盘上提供一个特殊的键或在屏幕上提供触摸按钮。 访问控制矩阵

访问控制矩阵是一个包含有主体和客体的表,它规定每一个主体对每一个客体所能执行的操作。矩阵是一个数据结构,它用于程序员进行表查询以供操作系统进行调用。这种类型的访问控制一般都具有DAC模型的特征,访问权限可以直接分配给主体(访问能力)或客体(访问控制列表)。

访问能力表

访问能力表给出了某些特定的主体对一些确定的客体进行操作的访问权限。访问能力表和访问控制列表是完全不同的,这是因为主体被绑定在访问能力表中,而客体被绑定在访问控制列表中。一个基于访问能力的系统就是Kerberos在这个系统中,Kerberos先给用户提供一个票证,这个票证就是一个访问能力表。将这个票证和用户绑定在一起,上面标明了用户可以访问哪些客体以及能够访问到什么程度。访问控制就是基于这个票证(或访问能力表),而不是一个和客体绑定在一起的访问控制列表。访问能力可以为令牌、票证或密钥。能力组件是一种数据结构,其中包含一个唯一客体标识符,以及主体对该客体的访问权限。 访问控制列表

访问控制列表(Access Control List, ACL)用于不同的操作系统、应用程序和路由器配置中。它们是一些主体被授权访问一个特定的客体的权限列表,列表定义了授权的程度。授权可以具体到一个个体或组。

访问控制列表给出了访问控制矩阵中和客体有关的内容。其中访问能力表对应的是访问控制矩阵中的一行,而访问控制列表对应的是访问控制矩阵中的一列。 基于内容的访问控制

顾名思义,在基于内容的访问控制中,对客体的访问主要取决于客体的内容,前面提到的数据库视图的例子显示了基于内容的访问控制是如何工作的。数据库字段的内容规定了哪些用户能看到数据库表里面的特定信息。

基于情形的访问控制

与基于内容的访问控制不同,基于情形的访问控制根据一组信息的情形,而不是信息的敏感性做出访问决定。使用基于情形的访问控制的系统先“审计情况”,再做出决定。了解一个会话任务的必要步骤。

访问控制技术

访问控制技术用于支持访问控制模型。

访问控制矩阵 规定主体和客体之间访问关系的列表。

访问控制列表 和客体绑定在一起,规定能够访向它的主体列表。

访问能力表 和主体绑定在—起,规定主体所能访问的客体列表。

基于内容的访问 访问取决于内容的敏感程序,而不是取决于主体身份。 基于情形的访问 访问取决于情形,而不是取决于身份或内容的敏感程度。 限制性接口 限制系统中用户的使用环境,从而限制了对客体的访问。 基于规则的访问 通过预先定义的规则限制主体的访问尝试。

一旦一个组织制定了安全策略、支持规程、标准和方针(在第3章中进行了描述),访问控制模型的种类就必须确定下来:DAC,MAC或基于角色的模型。一旦选择了正确的模型,就要选择并使用不同的访问控制技术:访问控制矩阵,限制性接口,基于内容的访问控制和基于规则的访问控制。

如果并不需要一个高层次的安全,那么这些选择经常是自主型的或基于角色的。自主型访问控制模型将对资源的访问控制权交给数据的拥有者,让他控制其他用

户的访问,所以这个选择必须清楚到底要承担多大的责任。如果组织内部有很高的变动率,那么基于角色的控制模型就非常适合。如果环境需要一个非常高层次的安全并且只希望系统管理员才能规定访问控制权限,那么MAC就是最好的选择。

最后就是设计出组织如何管理访问控制模型。访问控制管理有两种基本情况:集中式、分散式。为了达到想要实现的防护级别,我们必须理解每一种方式以保证能够选择并使用

集中式访问控制管理

集中式访问控制方法就如其名一样:一个实体(部门或个体)负责监督对所有企业资源的访问。这种类型的管理提供了一致和统一的控制用户权限的方法。它可以对数据进行严格的控制,这是因为只有一个实体(部门或个体)具有改变访问控制资料和权限的权力。尽管这提供了一种更加一致和可靠的环境,但是因为所有的改变都要由一个实体来进行操作,所以它实现起来非常缓慢。

下面几节将介绍几种集中式访问控制技术。这些认证协议叫做AAA协议,AAA代表认证、授权和审计(在一些资源中,最后一个A代表记账,但它的功能相同——只是名称不同而已。)

在客户/服务器体系结构中,每种协议认证一名用户的方法各不相同。传统的认证协议包括密码认证协议(Password Authentication Protocol, PAP)、质询握手认证协议Challenge Handshake Authentication Protocol, CHAP)和一个更新的方法,叫做可展开认证协议(Extensible Authentication Protocol, EAP)。

RADIUS ( Remote Authentication Dial-In User Service,远程认证拨号用户服务)是种对远程用户进行认证和授权的客户/服务器认证协议。网络中可能有访问服务器、调制解调器组、DSL、ISDN或专门供远程用户通信使用的T1线路。访问服务器要求远程用户提供登录证书,并将它们传送给保存有用户名和密码值的RADIUS服务器。远程用户是访问服务器的一个客户,而访问服务器又是RADIUS服务器的客户。

今天,在允许用户访问因特网之前,许多ISP使用RADIUS对他们进行认证。访问服务器和用户的软件通过一个握手程序进行协商,并就某个认证协议(PAP、CHAP或EAP)达成一致。用户提供给访问服务器用户名和密码。这种通信在PPP连接上发生。访问服务器和RADIUS服务器通过RADIUS协议进行通信。一旦认证完成,用户的系统将获得一个IP地址和连接参数,被允许访问因特网。访问服务器通知RADIUS服务器会话何时开始和结束,并将这些信息记录下来。RADIUS允许公司将用户资料保存在一个中央数据库中。

TACACS ( Terminal Access Controller Access Control System,终端访问控制器访问控制系统)有一个非常有意思的名字。它已经经历了三代:TACACS,扩展TACACS(XTACACS)和TACACS+。TACACS将它的认证和授权过程结合起来,而XTACACS将认证、授权和审计功能分开,TACACS+是一种采用扩展的双重用户认证的XTACACS。TACACS使用固定的密码进行认证,而TACACS+允许用户使用动态(一次性)密码,这样可提供更强大的保护。

TACACS+提供和RADIUS相同的功能,但它们的一些特点存在某些差异。首先,TACACS+使用TCP为传输协议,而RADIUS则使用UDP为传输协议。只有当用户密码由RADIUS客户端传送到RADIUS服务器时,RADIUS才会对它进行加密。其他信息,如用户名、记账信息和已授权的服务,都将以明文传送。TACACS+会对客户端和服务器之间传送的所有数据进行加密,因此它并没有

RADIUS协议所固有的弱点。RADIUS协议组合了认证和授权功能。TACACS+使用纯粹的AAA体系结构,它单独处理认证、授权和记账功能。这允许网络管理员更灵活地对远程用户进行认证。RADIUS和TACACS+都是协议,而协议只是获得一致认可的通信方法。

因此,如果进行简单的用户名/密码认证,且用户只需一个接受或拒绝即可获得访问(如在ISP中),RADIUS就是合适的协议;TACACS+更适于需要更加复杂的认证步骤,并对更加复杂的授权活动实施更严格的控制的环境(如在企业网络中)。

Diameter是一种为实现RADIUS的功能并克服它的许多限制的协议。Diameter是另一种提供与RADIUS和TACACS+相同功能的AAA协议,但它还具有更大的灵活性和更多功能,能够满足今天复杂多样的网络的新需求。过去,所有远程通信都在PPP和SLIP连接上发生,用户通过PAP或CHAP进行认证。如今,我们希望无线设备和智能电话能够在接入网络时自动认证,使用漫游协议、移动IP、PPP以太网、IP语音(VoIP),以及传统的AAA协议无法跟上的其他技术。如同聪明的人们设计一个新的AAA协议一样,Diameter也能处理这些及其他问题。 Diameter包括两个部分。第一个部分是基本协议,它在Diameter实体之间提供安全通信、特性发现及版本协商。第二部分为扩展协议,它建立在基本协议之上,允许各种技术使用Diameter进行认证。Diameter提供一个基本协议,该协议定义了报头格式、安全选项、命令和AVP。这个基本协议可进行扩展,以便连接其他服务,如VoIP、FoIP、移动IP、无线及移动电话认证。因此,Diameter可作为所有这些不同应用的AAA协议。RADIUS和TACACS+为客户/服务器协议,表示服务器部分不能主动向客户端部分发送命令,服务器部分只能被动做出响应。而Diameter是一个同等协议,允许任何一端发起通信。如果用户尝试访问一个安全资源,Diameter服务器就可以利用上述功能向访问服务器发送一条消息,要求用户提供其他认证证书。Diameter可向后兼容RADIUS,它使用UDP和AVP,并且支持代理服务器。它比RADIUS拥有更强大的错误检测和纠正功能,更优良的故障切换特性,因此能提供更高的网络可靠性。Diameter还可通过使用IPSec或TLS提供端对端安全,而RADIUS并没有这种能力。Diameter能够为其他协议和服务提供AAA功能,因为它有一组更大的AVP。RADIUS拥有28组(256个)AVP,而Diameter拥有232组(一大批)AVP。更多的AVP可在系统间进行通信时实现更强大的功能和服务。Diameter提供以下AAA功能:

认证

>PAP、CHAP、EAP。

>端对端认证信息保护。

>重放攻击保护。

授权

>重定向、安全代理、中继和转接。

>状态调节。

>主动中断。

>按照需要重新授权。

记账

>报告、ROAMOPS记账、事件监控。

分散式访问控制管理

通常是职能经理来将访问控制权交给员工。一个公司采用分散式管理的模式,主要是因为经理能够很好地判断哪一类用户应该能够访问不同的资源,并且没有商业上的必要通过集中式的访问控制管理来进行严格控制。在这一类的管理方式下,设置的改变可以非常迅速,这是因为不只一个实体对整个组织进行更改。但是,这也有可能会出现利益的冲突,从而影响整个组织的利益。因为没有一个实体进行整体控制,不同的经理和部门可能采用不同的方式来进行安全和访问控制。这样在整个组织内就没有统一性和公平性。某个经理可能有很多的日常事务要忙于处理,所以他决定让每个人对该部门的系统有完全的控制权,而另外的部门经理可能非常严格,采用了非常细的控制方法,他只是给员工足够的权力来完成他的工作。另外,访问控制可能会重叠,那么这些操作就不会被正确地描述或限制。 访问控制方法

访问控制可以在网络和单个系统的不同层次上实现。

访问控制层

访问控制可以分为三个大范畴:管理的,技术的和物理的。

管理控制

>策略和规程

>人员控制

>监督机构

>安全意识培训

>测试

物理控制

>网络分段

>边界安全

>计算机控制

>工作区域分离

>数据备份

>布线

控制区:公司的设施应根据每个区域中进行的行为的敏感程度划分成不同的区域。前台应被视为公共区域,产品开发区应被视为绝密区域,而行政办公室则被划分为秘密区域。

技术控制

>系统访问

>网络体系结构

>网络访问

>加密和协议

>审计

访问控制类型

访问控制的不同功能包括:预防、检测、纠正、威慑、恢复、补偿和指示。 威慑 打消潜在攻击者的攻击意图。

预防 避免事故发生。

纠正 在事故发生后修复组件或系统。

恢复 恢复对常规操作的控制。

检测 有助于确定事故活动。

补偿 提供备用控制措施。

指示 法规或环境要求制定的强制型控制。

在研究一个环境的安全结构时,使用一个预防模型,然后再使用检测、恢复和纠正机制来帮助支持这个模型会最有效果。基本上,你希望阻止麻烦发生,但如果真的出现麻烦,你必须能够立即做出反应并与它做斗争。所有的安全控制应建立在预防性安全的概念之上。但是,预防一切问题是不现实的。因此,对于你无法预防的问题,你应该能够立即检测出来。这就是为什么预防和检测控制总是应该一起执行并互为补充的原因。更进一步说,你所不能预防的问题,你应该能够检测出来;如果你检测出某个问题,就表示你不能预防它。因此你应该釆取纠正措施防止它再次发生。因此,所有三种控制类型----------预防控制、检测控制和纠正控制——必须协同工作。

预防:管理方面

下面采用的是一些加强访问控制和公司总体保护的软机制:

策略和规程

有效的招聘实践

雇用前背景审查

受约束的解聘过程

数据分级和标识

安全意识

预防:物理方面

下面的方法可以从物理上限制对一个设备、特殊工作区域或计算机系统的访问: 身份证件、磁卡。

保安、警犬。

栅栏、锁、捕人陷阱。

预防:技术方面

下面的逻辑控制方法属操作系统、第三方应用程序插件或硬件单元的一部分: 密码、生物识别技术、智能卡。

加密、协议、回调系统、数据库浏览、限制性用户接口。

杀毒软件、访问控制列表、防火墙、路由器、限幅水平。

任何控制都可能是一个补偿性的控制。如果其他控制过于昂贵,但仍然需要为资产提供保护,组织就可以选择一种补偿性的控制。(比如雇佣不起保安,那就养条狗吧)

审计功能可确保用户对其行为负责,证实安全政策得以实施,并可用作调查工具。我们通过记录用户、系统和应用程序活动来跟踪稽核。这些记录通过操作系统或应用程序的审计功能与机制来完成。审计跟踪中包含与操作系统活动、应用程序事件和用户行为有关的信息。通过检查性能信息或某些类型的错误和条件,审计

跟踪可用来验证系统的健康状态。审计跟踪还可用于提供有关任何可疑活动的警报,以方便以后的调查。入侵检测系统(IDS)持续扫描审计日志,以检测可疑活动。

可以用手工或自动的方法检验审计追踪信息一不管釆用哪种方法,都必须对它们进行检验和解释。如果组织用手工方法检验审计追踪信息,就需要建立一个系统,说明如何、么时候和为什么对它们进行检查。通常,在发生安全违规、无法解释的系统活动或系统崩溃后,审计日志是非常重要的检查项目。一名管理员或工作人员会立即将导致该事件的活动集中起来。这种审计检验是面向事件的检查。如果公司希望能够使用这种监控手段,它应该在安全策略中加以说明,并在安全意识培训中提到这种问题,以及向用户发送一个标志式通告,警告他的那台计算机上的活动可能受到这种形式的监控。应该只有某些员工(管理员和安全人员)才能查看、修改和删除审计踪迹信息。其他任何人都不能查看这些数据,更不用说修改或删除它了。可以使用数字签名、消息摘要工具和严格的访问控制来保证数据完整性。

对象重用(Object Reuse)是将包含有一个或多个对象的媒质提供给主体。这就意味着在有人使用一个硬盘、USB盘和磁带之前,要确认不让任何遗漏的信息还保存在上面。应该对敏感的数据进行分类(秘密,机密,绝密,未分类等等)。还要对它们是如何进行存储和访问进行严格的控制和审计。

所有的电子设备都发射电磁波,这种辐射含有重要的信息,如果一个攻击者采用了合适的设备,并且处在一个合适的位置,那么攻击者就能够从空中传输的电磁波中获取这些信息,这就好像他在网线中安装了一个磁带进行记录一样。 访问控制监控

访问控制监控是一种追踪试图访问特定公司资源的用户的方法,它是一种重要的检测机制,有各种技术能够满足这一需求。

入侵检测系统(IDS)不同于传统的防火墙产品,因为它们旨在检测安全违规。入侵检测指检测计算机网络或电信体系结构的未授权使用或对其攻击的过程。IDS旨在帮助减轻黑客行为或侵入敏感计算机和网络系统所造成的损失。IDS工具的根本作用是查明网络中的可疑活动,并通过在网络管理员的屏幕上显示消息、送出一个页面、甚至重新配置防火墙的ACL设置来发出瞥报。IDS工具能够寻找代表可疑行为或事件的数据比特序列,或监控系统日志和活动记录文件。非入侵的事件将不会发生警报;任何“不正常”行为将接受检测。

虽然市场上有各种IDS产品,但它们全都使用相同的组件:传感器、分析器和管理员界面。传感器收集流量和用户活动数据,将它们送给一个分析器,由分析器在其中查找可疑活动。如果分析器检测到一个它认为是可疑的活动,将向管理员界面发送警报。IDS主要分为两类:基于网络的IDS,它监控网络通信;基于主机的IDS,它能够分析某个计算机系统的活动。

基于网络的IDS (NIDS)使用传感器,为安装有必要软件的主机计算机或专门装置——它们都有自己的混杂模式的网络接口卡(NIC)。NIDS监控网络流量,但不能“看到”计算机内部的活动。要监控计算机系统内部的活动,公司需要配置基于主机的IDS。

基于主机的IDS (HIDS)可以安装到单独的工作站或服务器上,监控不适当或反常的活动。HIDS常用于确保用户不会删除系统文件、重新配置重要的设置或以其他方式使系统面临风险。因此,NIDS了解并监控网络流量,而HIDS则仅限于监控计算机自身。

HIDS和NIDS还分为以下类型:

基于特征的IDS

>模式匹配

>状态匹配

基于异常的IDS

>基于统计异常

>基于协议异常

>基于流量异常

基于规则的IDS

基于知识或特征的入侵检测

知识是IDS供应商积累的有关特定攻击及如何实施这些攻击的信息。基于特征的IDS是今天最常用的IDS产品;和防病毒软件一样,它们的效率取决于定期用新特征更新软件。

基于状态的IDS

操作系统经历的每一个变化(用户登录、用户打开应用程序、应用程序之间通信、用户输入数据等)都是一种状态转换。在技术角度讲,所有操作系统和应用程序都只是为对数据执行功能而编写的代码行或指令行。不同的攻击会造成不同的状态改变(活动)。状态是操作系统的值在可变、临时和永久内存位置上的一个快照。在基于状态的IDS中,初始状态是实施攻击前的状态,而侵入状态(Compromised State)是指成功渗透后的状态。一些规则说明IDS应对哪些状态转换序列发出警报。基于状态的IDS所留意的是在初始状态和侵入状态之间发生的活动,如果有任何状态转换序列与它预先配置的规则相匹配,IDS将发出警报。

基于异常统计的IDS

基于统计异常的IDS是一个基于行为的系统。基于行为的IDS产品并不使用预先识别的特征,而是进入一种学习模式,建立一个环境“正常”活动的概况。系统通过不断对环境的活动“取样”来建立概况。使用基于统计异常的IDS的好处在于它能够响应新的攻击。基于统计异常的IDS的缺点在于:由于网络总是在不断改变,这种IDS可能会生成大量错误警报。

确定适当的统计异常上限是成功使用基于行为的IDS的关键。如果这个上限设定得过低,EDS就会将非入侵活动视为攻击(误报)。如果该上限设定得过高,IDS就无法确定一些恶意活动(漏报)。

基于协议异常的IDS

基于统计异常的IDS可以使用基于协议异常的过滤器,因为这种IDS充分了解它们监控的每一个协议。协议异常可能与协议的格式和行为有关。虽然操作系统和应用程序中有一些漏洞可供攻击者利用,但他们更多是利用协议本身存在的漏洞来成功实施攻击。

基于流量异常的IDS

许多基于行为的IDS使用基于流量异常的过滤器,因为它能检测流量模式(如在DoS攻击中)的变化,或网络中出现的新服务。建立一个监控环境正常流量基线的概况后,将来的所有流量都会与这个概况进行比较。与所有过滤器一样,我们可以对IDS设定的统计上限的灵敏度进行调整,以减少误报和漏报。由于这是一种基于统计异常的IDS,因此它能够检测出未知的攻击。

基于规则的IDS

基于规则的入侵检测常常需要用到一个专家系统。专家系统由知识库、推理引擎(Inference Engine)和基于规则的编程构成。知识以规则表示,将要接受分析的数据则称为事实。系统的知识以基于规则的编程(IF situation THEN action)编写。推理引擎负责为这个过程提供一些人工智能。使用推理规则,推理引擎可以从提供的数据中推断出新的信息。

基于网络的IDS使用传感器进行监控。传感器实际上是一个分析引擎,它处于IDS负责监控的网络区段中。传感器收到事件发生器送出的原始数据,再根据使用的IDS类型,将它与特征数据库、概况或模型进行比较。如果发现某种匹配,则表示存在可疑活动,传感器将与响应模块共同决定应采取何种措施(如通过即时通讯、寻呼或电子邮件发出警报、重新配置防火墙等)。传感器的任务是过滤收到的数据、抛弃无关的信息并检测可疑活动。监控控制台监控所有传感器,并为网络管理人员提供网络中所有传感器的活动预览。它们是基于网络的入侵检测的组件。传感器的位置对于IDS的效率非常重要。IDS可以为集中式,即将IDS功能集成到防火墙产品中;或为分布式,即在整个网络中使用多个传感器。

本文来源:https://www.bwwdw.com/article/x1v1.html

Top