




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章 身份验证和访问控制 身份认证 (鉴别authentication) 网络的普及使任何人都可以试图登录 进入系统.确定用户合法身份,是进入网络 和系统的第一道安全关口,也是用户获取 权限的关键。 身份认证解决“你是谁”(Who are you? )的问题。它是验证用户、系统或系统组 件身份的一种能力。系统组件可以包括内 部过程,如应用程序,或从一台计算机传到 另一台计算机的网络包。 身份验证方法 用户或系统可以用以下四种方法 中的一种,证明他们是自己所声明的什 么身份。 证实你所知道的 出示你所拥有的 证明你是谁 识别你在哪儿 证实你所知道的 口令验证是Internet和计算机世界中最 普通的身份验证方法。当登录到一个计算 机网络时,它通常会询问你的口令,这就是 你所知道的。计算机把口令作为身份验证 基础。如果把口令给了其他人,则计算机会 授予这个人访问权,因为身份验证是基于已 知的口令。这不是计算机的失误,而是人的 错误。 没有安全专家会把口令作为强鉴别机 制,然而由于它简单、廉价和方便,因而 不可能马上就消失。 出示你所拥有的 这个方法稍微先进一些,因为需要通 过物理设备进行身份验证。证明“你所拥 有的”的一个好的例子是大楼准入门卡。 任何通过了扫描仪扫瞄门卡的人将会准许 进入大楼。但这种方法的局限是,身份验 证的基础是持有门卡。如果你把卡给了其 他人,这些人就可以进入大楼。因此,应该 建立一种更复杂的进入大楼的身份验证的 系统,不仅需要一张门卡,还要有口令,这 样就结合了拥有物品和知晓内容两种机制 。 你是谁 :用生物识别技术进行鉴别 就用户而言,证明“你是谁”的方法,是 以一些无法轻易复制或偷走的物理、遗传或其 他人类特征为基础的。 指纹是一种已被接受的用于唯一地识别 一个人的方法。手印是又一种被用于读取整个 手而不是仅仅手指的特征和特性。声音图像对 每一个人来说也是各不相的同。笔迹或签名不 仅包括字母和符号的组合方式,也包括了签名 时某些部分用力的大小,或笔接触纸的时间的 长短和笔移动中的停顿等细微的差别。视网膜 扫描是用红外线检查人眼各不相同的血管图像 。 其吸引人的地方是生物识别绝不可能丢 失和被偷窃。但是, 生物识别技术也存在着 某些局限性。 需要特殊硬件,这就限制了生物技术只能 用在比较少的环境中。 因为生物技术极为依赖生物体的生理特点 ,因此不可能给出极为准确的答案。比如没 有两个签字是绝对相同的,即使来自一个人 ,还有一些莫明其妙的影响,例如疲劳程度 、心境状况和健康状况等。在匹配算法中必 须建立某些公差。假如某个调用者经鉴别只 有9 3 %的可信度,你是否让其登录? 直到最近,先进的生物测定学身份验 证方法非常昂贵,并且只在高度安全的环 境中使用。目前,几百家公司已经生产出 低成本的生物测定学解决方案。这种方 法的例子包括指纹、面部特征扫描、视 网膜眼部扫描和声音分析。例如,康柏公 司提供标准鼠标大小的指纹扫描仪,它适 合安装在监视器旁边。 你在哪儿 “你在哪儿”是最弱的身份验证形式 ,这种策略通过系统的位置确定你的身 份。例如 ,UNIX系统的rlogin和rsh应 用程序验证用户、主机或进程是部分根 据它们IP地址的来源。 但是,基于位置的身份验证方法很 容易被愚弄,尤其是在本地网络。 例如,服务器的IP地址是192.168.2.3, 这个服务器中包含了有价值的信息,并且 只允许IP地址为192.168.2.4的系统访问。 假设有个系统的IP地址是192.168.2.5。只 要重新设置系统,使用192.168.2.4作为IP地 址,则服务器就会授权给这个非法系统,因 为服务器只能靠位置进行验证,而没有其 他方法。这种方式也无法抵御IP地址欺骗 攻击。 最常见的身分认证机制:口令(Password) 在现实中,黑客攻击目标的时候,90 会把破译普通用户的口令作为第一步。 比如先用“finger 远端主机名”找出主机上 的用户账号,然后用字典穷举法进行攻击 。因为事实上,很多用户都把自己常用的 英文单词或者自己的姓名作为口令。通过 一些程序,自动地从计算机字典里面去找 单词作为用户的口令输入给远端的主机, 尝试进入系统。这个破译过程是由程序来 完成的。 如果这种方法不能奏效,黑客就会 仔细地寻找目标的薄弱环节和漏洞,伺机 夺取目标中存放口令的文件shadow或者 passwd。在现代的Unix系统中,用户的 基本信息都是存放在passwd文件中的, 所有的口令都经过DES加密后专门放在 shadow文件中,处于严密的保护下。老 版本的Unix的口令都在passwd文件中。 一旦获得了这个文件,就可以用专用的破 解DES加密算法的程序来解析口令。 口令的安全性 口令是计算机和用户双方知道的某个 “关键字“,作为一个确认符号串只能由用 户和操作系统本身识别。 口令的实际使用往往降低了其安全性。 三个方面: 口令字符串的选择 口令数据存放 口令查找匹配 口令的选择 世界100强的公司、小型公司和拥有强大安全 保证的互联网服务供应商们的薄弱环节,那就是 :在它们的用户中有的人可能会使用那些比较容 易被猜破的密码。有些人喜欢使用宠物的名字作 为密码,还有的人则把所喜欢的人的名字当成密 码,他们以为在这些密码前面或者后面添加一到 两个数字就很聪明了,其实也不尽然。这些简单 的方法对于今天的计算机来说都显得太过幼稚, 因为当今的计算机每秒钟可以对几百万的密码进 行破译尝试,它们通常可以在一分钟之内把一个 密码破译出来。 在对3300个用户密码的进行调查过程 中,调查人员发现,有17%的密码是用三 个或三个以下的数字和字符组成的,有 15%的密码由四个数字或字符组成。在所 有被检查的密码中,几乎有近一半在持续 不到六个小时的搜索中被发现。 如果一个公司的CEO用“god123“来保 护重要文件的话,那么即使是非常好的安 全组和高技术数字屏障也无济于事。 惊人的数字 应该定期检查系统是否存在无口令 的用户,其次应定期运行口令破译程序 以检查系统中是否存在弱口令,这些措 施可以显著地减少系统面临的通过口令 入侵的威胁。另外,系统管理员应保护 好自己的口令,并要求用户定期更换自 己的口令。 口令的记录 存放口令的文件往往是攻击者首先寻 找的目标。 口令加密是对口令的一种保护方法。 通常采用的加密口令表的方法是传统加密 法和单向加密法。 口令加密法 传统加密法:加密整个口令表或者只加 密口令序列,当系统收到用户输入的口令后 ,所存储的口令被解密,然后将两者进行比 较。该方法的缺陷在于,在某一瞬间会在内 存中得到用户口令的明文,任何人只要拥有 对内存的存取权即可获得。 单向加密法:一种加密相对简单但解密 却相当难的加密函数。口令表中的口令以密 文形式存放,用户输入的口令也被加密,然 后将两种加密形式进行比较。 口令的安全保护: 强制性措施:仅允许操作系统本身存取 ,或者仅允许那些需要访问该表的系统模 块(如用户身分鉴别模块、用户登录注册或 注销模块)存取,不允许其他无关的系统模 块存取。 必须防止入侵者采用磁盘分析程序、 磁盘诊断工具等软件查找口令,对敏感磁 盘区域进行保护。 口令表以明文形式存放是不允许的, 对口令的加密存放将大大加强口令的安全 系数。 系统入侵者采用的口令攻击: 穷举法尝试(尝试所有可能的口令) 经验法尝试(最常用和可能的口令) 字典攻击(破译口令文件、口令数据 区) 询问用户(窃取口令、窥探口令输入 ) 编程截取口令(信息查找、侦察程序 ) 口令破解过程 1硬件问题 要进行成功的大型口令文件的破解活动, 机器应该具备的条件。 采用分布式破解法(Distributed Cracking )破解口令。分布式破解法就是入侵者用独立 的几个进程,并行地执行破解工作,其实现有 几种方法,其中之一就是把口令文件分解成几 块,在各自独立的机器上分别破解这几块文件 。通过这种方法,破解工作被分散到不同工作 站上进行,花费的时间和资源就少了。 2口令破解机制 字表被送到加密进程加密,通常是一 次加密一个单词。加密过程中使用了各种 规则,每加密一个单词,就把它与目标口 令(同样是加密的)对比,如果不匹配, 就开始处理下一个单词。最终如果有一个 单词与目标口令匹配,则认为口令被破解 ,相应的明码正文单词被存入文件。 一个相关但更强大的方式是事先把 一个字典(或多个字典)中的所有的单 词计算、分类并保存好。一旦职业计算 机罪犯已经编译好了一个加密字典,那 么用户口令只是一个简单的搜索过程。 这种方式是非常快的,当然也要占用更 多的存储空间。 可以使用一个相对简单的公式来评价口 令机制的缺陷:K C E T 。 K 是口令空间的绝对容量。这是一个攻击 者侵入特定用户帐号所需要搜索的空间。 C 是一个常量,表示攻击者对一个系统中 平均每个用户所要付出的努力。 E 代表D E S 加密方法中的加密次数/秒。 T 是攻击者攻击时所能花费的最多秒数。 时间是字典攻击的基础。攻击者只能在有限 时间内侵入一个口令,因为口令也许改变等 等。 只要口令空间(K )和常量(C )的 乘积超过加密速度(E )和最大允许时间 (T )的乘积,系统在理论上是足够安全 的。 但是有效的口令空间因为易于猜测的 口令而减小。当K 和C 已二十年未变时,E 则因C P U 和其他系统组件的发展而在每年 戏剧性地增长。更糟的是,不断发展的存 储技术使攻击者能事先编译好整个加密字 典,这减少了成功攻击所需的时间。 口令的取值范围 在Unix下,可以当作口令来用的字符一共有 : 10(数字)33(标点符号)262(大小写字 母) =95个 如果口令取任意5个字母1 位数字或符号 的可能性是: 525252525243=163亿。 但是如果5个字母是常用的词,那么假 设常用的词是5000个,考虑到大小写,可 能性将有: 5000(22222)43= 688万种可 能性。 这已经可以利用微机来进行穷举了,这 样的简单口令用不了3分钟就能破译,所以 6位的口令都是很不安全的。 遗憾的是许多用户都是这么设定的 ,而黑客不需要破解所有用户的口令, 他们只需要一个普通用户的口令就足够 了,只要潜入系统,就可以利用系统的 漏洞而获得系统的控制权,所以使用简 单口令是对整个主机安全的不负责任, 这是我们首先应该重视的问题。 增加组成口令的字符种类。增加字符种 类可增加口令的破译难度,从而使此种攻 击方法失去吸引力。 采用较长的口令。当口令的字符数超 过 5 时,其组合数将呈指数增长趋势。口 令越长,被发现和破译的可能性就越低。 怎样选择好的口令 避免使用常规名称、术语和单词。非常 规的字符组合会增大攻击者穷举搜索的难度 ,而不能使用简单的字典搜索。因此,既要 选择不太可能的字符串作口令,又需要易于 记忆。这是一对矛盾。 保护口令秘密。不要将口令书面记录, 也不要告诉任何人,定期更换、放弃过时口 令,口令失效后禁止用户操作和存取,或者 强迫用户修改口令。 采用一次性口令。即每次使用后都作更 换的口令。 由八位字符组成的密码应该说是非常 保险的,即使对于今天高速运行的计算机 来说也是这样。尽管有些密码破译程序可 以在Pentium 4处理器上在一秒钟内测试近 八百万种组合方式,但是要破译一个八位 密码仍然需要13年的时间。 建议 (二) 其他身分鉴别机制 多重鉴别机制 多重口令:在系统登录的各个环节、 系统操作的某个层次,都可以设置口令和 关键字,只有每次口令都正确,才能真正 进入系统。即使入侵者窃取到了开始的登 录口令,也很难获取所有口令。在多口令 中每一处口令失败,可以退回到最开始登 录过程,或者给出安全报警。 限制猜测:将身分鉴别与存取权限等其他 机制相结合,可以形成多种多重鉴别机制 。例如,当用户企图存取其他用户或者系 统保密区域时,该用户被鉴别为非法用户 ,系统检测到这些违章存取操作时,可以 记录、停止、断开或挂起这些操作,给出 警告,直到系统安全管理员清除这一现象 。 管理帐号 每个使用系统的人都应该在该系统上拥 有一个帐号。每个帐号与一个唯一的用户名 和一个保密的口令相关。一个用户名指出谁 使用系统,而口令则确认用户就是他或她所 宣称的那个人。没有确认,要保证个人对其 行为负责或实现基本的安全控制是不可能的 。系统中最重要的是管理员账号(root账号 ),一旦r o o t 帐号被侵入,系统则“属于” 攻击者了。他可以修改任何文件或操作参数 数,插入恶意代码,为未来攻击增加假用户 ,然后通过修改日志文件消除痕迹。 进行账号管理除了前面讨论的口令 安全外,还要考虑怎样建立用户名。使 用用户名作为账号就是一种不安全的方 法,一个外部人员可以通过电话总机或 We b 搜索得到某人的姓名并猜出合法的 用户名。一旦他们拥有了用户名,就只 有口令阻止他们访问系统了。 怎样保护系统的口令 1口令的生命期和控制 用户应该定期改变自己的口令,例如 一个月换一次。长期不换口令如果口令被 偷就会引起安全问题,经常更换口令可以 帮助减少损失。比如两个星期更换一次口 令总比一直保留原有口令损失要小。 管理员可以为口令设定生命期,这样当 口令生命期到后,系统就会强制用户更改 系统密码。 2Windows NT的账户口令管理 口令时效 口令时效管理用户必须多长时间修改 口令。下面是能够在大多数操作系统中 找到的口令时效的子组件:最大口令时效 、最小口令时效、口令历史、最小口令 长度、口令复杂度、加密选项 口令锁定 口令锁定是被用来对付猜测口令的主 要工具。在输入的非法口令达到给定的 次数之后,它禁用这个账户。这种技术在 阻止远程暴力攻击或基于字典穷举口令 攻击的时候特别有用。锁定的次数最好 定在35次非法登录尝试。 账户复位 账户复位选项允许经过一段给定的 时间间隔之后,选择是否让账户自动复位 。启用账户复位选项通常是必要的,因为 合法用户可能忘记他们的口令,特别是当 接近要求改变口令的时期。 回顾:关于账号和口令维护的问题 (1)不要将口令告诉别人,也不要几个人 共享一个口令,不要把它记在本子上或计 算机周围。 (2)不要用系统指定的口令,第一次进入 系统就修改口令,不要沿用系统给用户的 缺省口令,关闭掉Unix供货商随操作系统 配备的所有缺省账号。 (3)最好不要用电子邮件传送口令,如果 一定需要这样做,则最好对电子邮件进行 加密处理。 (4)如果账户长期不用,管理员应将其暂 停。如果雇员离开公司,则管理员应及时 把他的账户消除,不要保留一些不用的账 号。 (5)管理员也可以限制用户的登录时间, 比如说只有在工作时间,用户才能登录到 计算机上。 (6)限制登录次数。为了防止对账户多次 尝试口令以闯入系统,系统可以限制登记 企图的次数,这样可以防止有人不断地尝 试使用不同的口令和登录名。 (7)最后一次登录,该方法报告最后一次 系统登录的时间、日期,这样可以提供线 索了解是否有人非法访问。 (8)定期地查看日志文件,以便检查成功 登录和不成功登录,定期地查看 Login Refused消息日志文件。 (9)去掉guest账号,或者更安全的方法是 ,根本就不创建guest账号。 (10)一定要关闭所有没有口令却可以运行 命令的账号。 访问控制 无论何时,一个系统要保证个人、系 统或进程只访问它们所期望的资源,就会 涉及访问控制(access control)。 为什么要进行访问控制? v 合法用户对系统资源的滥用。 v 非法用户因欺骗而进入系统,成为 “ 合法”用户。 v 可共享实体种类和数目增加,既有硬 件也有软件。 v 用户认证和以及保护机制本身也需保 护。 访问控制跟在用户或系统身份验证 之后。系统在进行验证后使用访问控制模 式,控制用户在系统中可以访问的资源。 这些模式被用于准予或拒绝特权。 实现访问控制的两种普遍方法是: 访问控制列表(access control 1ists)和 执行控制列表(execution control lists)。 访问控制列表(ACL) 访问控制列表是与对象(如Web服务 器硬盘上的目录或文件夹)有关的个人用 户或组的清单。现代信息系统把所有的资 源看做是对象, 就网络而言,对象可以是设 备,如打印机、远程系统,甚至还可以是远 程系统的磁盘。ACL决定是否用户可以访问 特殊的对象。如果用户具有访问一个对象 的权力,则ACL明确定义了用户可以对此对 象做哪些事情。 执行控制列表(ECL) 执行控制列表列出了应用程序运行 时可以操作的资源和行为。应用程序和 操作系统都使用ECL。任何支持ECL的操 作系统或应用程序能够确定程序或操作 系统的哪些活动是恰当的,哪些活动是不 恰当的。 ECL的例子有以下这些: Windows 2000本地和域安全策略设置。 Linux系统的可插入身份验证模块(PAM )。 浏览器沙箱(sandboxing)可以保证限 制Java和JavaScript应用程序。例如,通过 设置Microsoft Internet Explorer或 Netscape Navigator不再执行JavaScript 或VBScript的应用程序。这样恶意的Java 应用程序就不会很容易地危及整个系统的 安全。 Windows 2000对象 为实现安全特性,Windows 2000将系 统中任何类型的所有资源都当做特殊对 象来处理。这些对象包含资源本身和访 问它的必要机制与程序。 Microsoft的安全性以下列对象的原 则为基础: Windows 2000 的访问控制 对象代表所有的资源 对象可以包括数据和函数 所有对对象的访问首先要被Windows2000 的安全子系统进行验证核实 有几种类型的对象存在,每种对象类型决 定对象可以做的事情 Windows 2000中的主要对象类型 有:文件、文件夹、打印机、 I/O设备、 窗口、线程、进程、内存 这种结构的主要目的是保证一致性 。这种设计要求所有的访问必须以相同 的方式被授权,减少了安全机制被绕过的 可能性。 本地的Windows2000安全子系统包 括下列关键组件:安全标识号、访问令牌 、安全描述符、访问控制列表。这些组 件的使用和相互作用控制用户的行为。 Windows2000安全子系统:安全组件 安全标识号 安全标识号(security identifier, SID )是分配给所有用户、组和计算机的统计 上的惟一号码。每次一个新的用户或组被 建立时,它就收到一个惟一的SID。 访问令牌 登录过程的部分主要目的是:在用户 被验证之后,分配给所有用户访问令牌( access tokens)。访问令牌由用户的SID 、用户所属组的SID和用户名组成。 安全描述符 Windows 2000中的每个对象有一个安全 描述符(security descriptor),作为它属性 的一部分。安全描述符由对象所有者的SID 、组的SID、访问控制列表组成。 访问控制列表 访问控制列表(access control lists,ACL )有两种类型:选择性的和系统的。选择 ACL保存用户和组的列表,还有它们适当的 权限,或者被准许,或者被拒绝。系统ACL包 含为了此对象被审核事件的列表。 Windows2000安全子系统 了解了Windows 2000中的通用安全组件 之后,下面将讨论Windows 2000中的软件,用于 让安全措施起作用。这个软件的集合被称为安 全子系统(security subsystem)。 安全子系统包括几部分: Winlogon 图形身份认证和验证动态链接库( GINA) 本地安全颁发机构 (LSA) 验证软件包 (A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论