




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京邮电大学学士学位论文第一章 引 言页眉在计算机发展的进程中,操作系统的进步是对应用层面影响最大的方面格式之一。操作系统从最初的单进程到多进程,衍生到单用户到多用户,每一次发展都给计算机的应用带来巨大的变化。身份鉴别功能是操作系统发展的产物。操作系统的身份鉴别,是指对操作系统的使用者进行识别、分类,通过隔离用户和数据来达到防止内部敏感数据丢失或者破坏的功能在没有身份鉴别功能时,计算机的安全性主要依赖人员的管理,这种方式不仅增加了管理的成本,而且也并不保险,尤其是在企业和公共场合下,没有身份鉴别的操作系统有显而易见的弊端。因为有很多用户会接触到计算机,其中也包括非法用户和超越权限的用户。通过识别操作者的身份,限制受限用户和匿名用户的操作权利,可以方便系统的管理。随着办公信息化的普及,多用户使用同一台计算机的情况越来越多,而且一些敏感的资料也依赖于计算机储存,身份鉴别的使用越来越广泛,相关的问题也越来越多。在政府机关和科研单位等对安全要求比较高的单位尤其显著,计算机储存的敏感数据和运行的重要服务一旦被非法用户操作,造成的后果巨大。本文对当前主流的操作系统Windows的用户识别功能进行了一些讨论,分析其工作的机制,讨论其优缺点,并针对其中存在的问题进行分析,并编写了一个小程序对几项重要的用户识别功能选项进行提取,方便管理员对该功能进行评估。目前还没有专门相关针对身份鉴别功能的检测软件,本软件虽然并不系统,但是可以弥补这一空缺。第二章 身份鉴别和本地安全策略2.1身份鉴别所以现在主流的操作系统都有身份鉴别系统,windows就是其中典型的例子。它通过设定用户和密码,以及一系列的安全策略保证管理者对于不同用户的管理。在理想情况下,使用Windows xp操作系统就可以达到比较理想的安全等级。但是对于管理者来说,为了保证系统和信息的安全,要考虑到用户最不负责任的情况,而且这种不负责任的情况是否出现取决于用户安全意识的强弱,当用户没有足够的安全意识时,系统经常没有达到设计时应有的安全等级。本地安全策略就是为了避免这一情况而设计的。它是由管理员所设定不需普通用户进行设置的内容。但是此类设定强制普通用户按照规定进行相关的安全设定,防止了用户因为缺少安全意识或者不负责任造成的信息泄露和破坏,可以达到保证计算机安全的目的。2.2身份鉴别的方法在真实世界,对用户的身份鉴别基本方法可以分为这三种: (1) 根据你所知道的信息来证明你的身份 (what you know ,你知道什么 ) ; (2) 根据你所拥有的东西来证明你的身份 (what you have ,你有什么 ) ; (3) 直接根据独一无二的身体特征来证明你的身份 (who you are ,你是谁 ) ,比如指纹、面貌等。在操作系统中,身份鉴别也无非是依据自然界身份鉴别的基本原则,只是执行的主体由人变成了计算机。操作系统的身份鉴别有以下几种方法。(1)静态密码用户的密码是由用户自己设定的。在网络登录时输入正确的密码,计算机就认为操作者就是合法用户。实际上,由于许多用户为了防止忘记密码,经常采用诸如生日、电话号码等容易被猜测的字符串作为密码,或者把密码抄在纸上放在一个自认为安全的地方,这样很容易造成密码泄漏。如果密码是静态的数据,在验证过程中 需要在计算机内存中和传输过程可能会被木马程序或网络中截获。因此,静态密码机制如论是使用还是部署都非常简单,但从安全性上讲,用户名/密码方式一种是不安全的身份鉴别方式。 它利用what you know方法。(2)智能卡方法一种内置集成电路的芯片,芯片中存有与用户身份相关的数据, 智能卡由专门的厂商通过专门的设备生产,是不可复制的硬件。智能卡由合法用户随身携带,登录时必须将智能卡插入专用的读卡器读取其中的信息,以验证用户的身份。智能卡认证是通过智能卡硬件不可复制来保证用户身份不会被仿冒。然而由于每次从智能卡中读取的数据是静态的,通过内存扫描或网络监听等技术还是很容易截取到用户的身份验证信息,因此还是存在安全隐患。它利用what you have方法。(3)USB key方法和智能卡方法类似。基于USB Key的身份鉴别方式是近几年发展起来的一种方便、安全的身份鉴别技术。它采用软硬件相结合、一次一密的强双因子认证模式,很好地解决了安全性与易用性之间的矛盾。USB Key是一种USB接口的硬件设备,它内置单片机或智能卡芯片,可以存储用户的密钥或数字证书,利用USBKey内置的密码算法实现对用户身份的认证。基于USB Key身份鉴别系统主要有两种应用模式:一是基于冲击/响应的认证模式,二是基于PKI体系的认证模式,目前运用在电子政务、网上银行。(4)生物识别技术运用who you are方法, 通过可测量的身体或行为等生物特征进行身份鉴别的一种技术。生物特征是指唯一的可以测量或可自动识别和验证的生理特征或行为方式。生物特征分为身体特征和行为特征两类。身体特征包括:指纹、掌型、视网膜、虹膜、人体气味、脸型、手的血管和DNA等;行为特征包括:签名、语音、行走步态等。目前部分学者将视网膜识别、虹膜识别和指纹识别等归为高级生物识别技术;将掌型识别、脸型识别、语音识别和签名识别等归为次级生物识别技术;将血管纹理识别、人体气味识别、DNA识别等归为“深奥的”生物识别技术,指纹识别技术目前应用广泛的领域有门禁系统、微型支付等。(5)双因素身份鉴别拥有两个因素的身份鉴别系统克服了两种因素的不足,是新兴的身份鉴别方式。2.3本地安全策略与身份鉴别2.3.1本地安全策略的重要性本地安全策略对于保证身份鉴别功能的实现起着至关重要的作用。本地安全即单机安全。单机作为计算机系统的重要设备,是受黑客和病毒攻击的主要目标,重视和加强单机的安全防范是很重要的。由于计算机网络的开放性、互连性等特征, 致使网络容易受到黑客、病毒、恶意软件等攻击, 所以信息的安全和保密是一个至关重要的问题. 上网时的不安全因素有如下几种: 被他人盗取密码; 系统被木马攻击; 浏览网页时被恶意的java script 程序攻击; QQ被攻击或泄漏信息; 病毒感染; 黑客的恶意攻击. 使用NT核心系统提供的“本地安全策略”功能, 可以为计算机创建出不同安全级别的环境, 从而在一定程度上有效地保护信息的完整、安全.安全策略是影响计算机安全性的安全设置的组合. 可以利用本地安全策略来编辑本地计算机上的帐户策略和本地策略。通过本地安全策略可以控制:访问计算机的授权用户使用计算机上的哪些资源; 是否在事件日志中记录用户或组的操作.当使用本地安全策略修改本地计算机上的安全策略时,可以直接修改计算机上的设置, 因此, 这些设置将立即生效, 但这可能只是临时性的. 设置在本地计算机上将保持有效, 直到下次更新“组策略”安全设置为止, 这时从“组策略”接收到的安全设置会覆盖发生冲突的本地设置。在工作站或服务器上, 每90 分钟刷新一次安全设置;在域控制器上, 每5 分钟刷新一次安全设置, 不管是否进行更改, 安全设置都是每16 小时刷新一次。本地安全策略可用来直接修改本地计算机的帐户和本地策略、公钥策略和IP 安全策略。2.3.2账户策略虽然帐户策略在计算机上定义,但它们却影响用户帐户与计算机或域交互的方式.帐户策略包含三个子集:密码策略.用于域或本地用户帐户,确定密码设置(例如强制执行和有效期限).帐户锁定策略.用于域或本地用户帐户,确定某个帐户被系统锁定的情况和时间长短.Kerberos策略.用于域用户帐户,确定与Kerberos相关的设置(例如票证寿命和强制执行),Kerberos策略并不位于本地计算机策略中.对于域帐户,帐户策略必须在默认域策略组策略对象(GPO)中或在新建GPO(链接到域的根并优先于默认域策略GPO)中定义,这是由构成域的域控制器强制执行的.如果包含帐户策略设置的多个GPO链接在同一域级别,则域的帐户策略由所有来自该域链接的GPO的累计策略设置组成.2.3.3本地策略 这些策略应用于计算机, 且包含三个子集: 审核策略. 确定是否将安全事件记录到计算机上的安全日志中,同时也确定是记录成功尝试还是记录失败尝试, 或二者都记录. (安全日志是事件查看器的一部分. ) 用户权限分配. 确定具有登录计算机的权利或特权的用户或组. 安全选项. 启用或禁用计算机的安全设置, 例如数据的数字签名、管理员和来宾的帐户名、软盘驱动器和光盘驱动器的访问、驱动程序的安装以及登录提示.由于一台计算机可以应用多个策略, 所以安全策略设置可能存在冲突. 从高到低的优先顺序依次为组织单位、域和本地计算机.第三章 身份鉴别的重要应用:安全等级保护3.1安全等级保护身份鉴别功能的评测,其应用与安全等级保护紧密相连。计算机的安全级别并不是越高越好。过高的安全级别会影响用户使用的方便,而且也会耗费更多的系统资源。对于一个机构来讲,势必有一些信息系统完成关键的业务操作,而另外一些信息系统则完成日常的事务性操作。因此,对信息系统的安全保护措施(安全控制)的应用,评估信息系统的安全措施的努力程度以及最终风险的认可,都必须基于系统在机构的相同优先级的基础上。所以对于管理员,根据需求和不安全事件所造成的影响选择合理的安全级别才是最佳选择。由此安全等级评估成为亟待解决的问题。1985年美国国防部提出了第一个可信计算机系统评估准则,对现在的安全等级保护系统起了很重要的借鉴作用。用户鉴别功能是评判计算机安全级别的重要基本标准。我国于2001年开始实施的计算机信息系统安全保护等级划分准则将安全级别分为五级,分别为自主保护级 、系统审计保护级 、安全标记保护级 、结构化保护级和访问验证保护级。并在相关条例中规定了各级适用的范围。不同的安全等级对于用户身份鉴别有着不同的要求,以下是安全等级对应的身份鉴别功能要求第一级 用户自主保护级 计算机信息系统可信计算基定义和控制系统中命名用户对命名客体的访问。实施机制(例如:访问控制表)允许命名用户以用户和(或)用户组的身份规定并控制客体的共享;阻止非授权用户读取敏感信息.计算机信息系统可信计算基初始执行时,首先要求用户标识自己的身份,并使用保护机制(例如:口令)来鉴别用户的身份,阻止非授权用户访问用户身份鉴别数据。第二级 系统审计保护级与用户自主保护级相比,本级的计算机信息系统可信计算基实施了粒度更细的自主访问控制,它通过登录规程、审计安全性相关事件和隔离资源,使用户对自己的行为负责。计算机信息系统可信计算基定义和控制系统中命名用户对命名客体的访问。实施机制(例如:访问控制表)允许命名用户以用户和(或)用户组的身份规定并控制客体的共享;阻止非授权用户读取敏感信息。并控制访问权限扩散。自主访问控制机制根据用户指定方式或默认方式,阻止非授权用户访问客体。访问控制的粒度是单个用户。没有权限的用户只允许由授权用户指定对客体的访问权。第三级 安全标记保护级本级的计算机信息系统可信计算基具有系统审计保护级所有功能。此外,还提供有关安全策略模型、数据标记以及主体对客体强制访问控制的非形式化描述;具有准确地标记输出信息的能力;消除通过测试发现的任何错误。计算机信息系统可信计算基初始执行时,首先要求用户标识自己的身份,而且,计算机信息系统可信计算基维护用户身份鉴别数据并确定用户访问权及授权数据。计算机信息系统可信计算基使用这些数据鉴别用户身份,并使用保护机制(例如:口令)来鉴别用户的身份;阻止非授权用户访问用户身份鉴别数据。通过为用户提供唯一标识,计算机信息系统可信计算基能够使用用户对自己的行为负责。计算机信息系统可信计算基还具备将身份标识与该用户所有可审计行为相关联的能力。第四级 结构化保护级本级的计算机信息系统可信计算基建立于一个明确定义的形式化安全策略模型之上,它要求将第三级系统中的自主和强制访问控制扩展到所有主体与客体。此外,还要考虑隐蔽通道。本级的计算机信息系统可信计算基必须结构化为关键保护元素和非关键保护元素。计算机信息系统可信计算基的接口也必须明确定义,使其设计与实现能经受更充分的测试和更完整的复审。加强了鉴别机制;支持系统管理员和操作员的职能;提供可信设施管理;增强了配置管理控制。系统具有相当的抗渗透能力。计算机信息系统可信计算基初始执行时,首先要求用户标识自己的身份,而且,计算机信息系统可信计算基维护用户身份鉴别数据并确定用户访问权及授权数据。计算机信息系统可信计算基使用这些数据,鉴别用户身份,并使用保护机制(例如:口令)来鉴别用户的身份;阻止非授权用户访问用户身份鉴别数据。通过为用户提供唯一标识,计算机信息系统可信计算基能够使用户对自己的行为负责。计算机信息系统可信计算基还具备将身份标识与该用户所有可审计行为相关联的能力。第五级 访问验证保护级本级的计算机信息系统可信计算基满足访问监控器需求。访问监控器仲裁主体对客体的全部访问。访问监控器本身是抗篡改的;必须足够小,能够分析和测试。为了满足访问监控器需求,计算机信息系统可信计算基在其构造时,排除那些对实施安全策略来说并非必要的代码;在设计和实现时,从系统工程角度将其复杂性降低到最小程度。支持安全管理员职能;扩充审计机制,当发生与安全相关的事件时发出信号;提供系统恢复机制。系统具有很高的抗渗透能力。计算机信息系统可信计算基初始执行时,首先要求用户标识自己的身份,而且,计算机信息系统可信计算基维护用户身份鉴别数据并确定用户访问权及授权数据。计算机信息系统可信计算基使用这些数据,鉴别用户身份,并使用保护机制(例如:口令)来鉴别用户的身份;阻止非授权用户访问用户身份鉴别数据。通过为用户提供唯一标识,计算机信息系统可信计算基能够使用户对自己的行为负责。计算机信息系统可信计算基还具备将身份标识与该用户所有可审计行为相关联的能力。Windows xp操作系统自身能达到访问控制级的安全级别,虽然,是划分准则还是提供了对身份鉴别功能评判的重要标准。第四章 Windows操作系统的用户鉴别系统4.1 windows的用户登陆过程Windowsxp的用户鉴别过程是一个交互式的登陆。交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。 shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。 交互式登录是我们平常登录时最常见的类型,就是用户通过相应的用户账号(User Account)和密码在本机进行登录。有些人认为“交互式登录”就是“本地登录”,其实这是错误的。“交互式登录”还包括“域账号登录”,而“本地登录”仅限于“本地账号登录”。 这里有必要提及的是,通过终端服务和远程桌面登录主机,可以看做“交互式登录”,其验证的原理是一样的。 在交互式登录时,系统会首先检验登录的用户账号类型,是本地用户账号(Local User Account),还是域用户账号(Domain User Account),再采用相应的验证机制。因为不同的用户账号类型,其处理方法也不同。 交互式登录在Windows可以通过Ctrl+Alt+2下Delete实现,但是,为了安全需要,我们可以禁用这一服务。(1)Winlogon检测到用户登录就调用GINA(Graphical Identification and Authentication),由GINA显示登录对话框,以便用户输入账号和密码。 GINA是一个图形化的登陆界面程序,用来显示登陆的提示信息,并提供登陆对话框以使用户输入用户名和密码。这个程序本来是很简单的程序,但是在安全性上却很重要。因为网上流传的很多WINDOWSXP的破解方法采用的就是替换GINA程序以在用户没有察觉的时候记录下用户名和密码,并在用户不知情的情况下通过网络传给入侵者,以达到突破用户鉴别系统的效果。(2)用户输入账号和密码,确定后,GINA把信息发送给LSA(本地安全颁发系统)进行验证。 (3)在用户登录到本机的情况下,LSA会调用Msv1_0.dll这个验证程序包,将用户信息处理后生成密钥,同SAM数据库中存储的密钥进行对比。 Winxp中对用户账户的安全管理使用了安全账号管理器SAM(security account manager)的机制,安全账号管理器对账号的管理是通过安全标识进行的,安全标识在账号创建时就同时创建,一旦账号被删除,安全标识也同时被删除。安全账号管理器的具体表现就是%SystemRoot%system32configsam这个文件。sam文件是windows xp的用户账户数据库,所有用户的登录名及口令等相关信息都会保存在这个文件中。SAM文件可以认为类似于unix系统中的passwd文件,不过没有unix的passwd文件那么直观,当我们忘记密码的时候,就可以通过删除SAM文件,快速地进入系统 。(4) 如果对比后发现用户有效,SAM会将用户的SID(Security Identifier安全标识),用户所属用户组的SID,和其他一些相关信息发送给LSA。安全标识是唯一的,即使是相同的用户名,在每次创建时获得的安全标识都时完全不同的。因此,一旦某个账号被删除,它的安全标识就不再存在了,即使用相同的用户名重建账号,也会被赋予不同的安全标识,不会保留原来的权限。LSA全称是LOCAL SECURITY AUTHORITY,是WINDOWS的关于本地安全的子系统。(5) LSA将收到的SID信息创建安全访问令牌,然后将令牌的句柄和登录信息发送给Winlogon.exe。(6)Winlogon.exe对用户登录稍作处理后,完成整个登录过程。4.2 Windows的密码存储方式Windows存储密码方式就是通过散列存储方式存于SAM数据库文件中。散列是广泛采用的一种信息加密方法, 一个HASH 算法可以接受输入任意长度的密码, 并产生了一个唯一的固定长度的输出, 例如, 使用MD5 算法进行加密, 将产生一个长度为128bit 的唯一序列。近年来, 随着计算机的计算能力的增长, 较早的一些散列算法就不再推荐使用, 如MD4、MD5、SHA1,当然程序设计者可以根据自己的情况做出选择。要鉴别用户密码是否匹配需要再次散列用户提供的密码并将产生的散列结果也存储的散列结果进行比较, 如果相同则说明密码匹配。使用这种方式的好处是, 密码分析者很难基于密文计算出密码; 因为在程序运行过程中不保存密码长度, 也无法估计, 增加了密码的破译的难度; 用户需要保存的信息也是比较少的, 因为散列不需要提供别的什么内容。但是密码散列以后存储还存在一定的不足, 首先是仍然无法防御暴力攻击, 只要给出字典和密码的散列, 黑客可以采穷举法计算词典中所有的单词, 通过比较计算后的散列来从中发现密码, 所以应尽可能采用由字母, 数字, 特殊字符等组成的强度比较好的密码; 其次丢失的密码无法恢复, 除暴力攻击的方法外, 用户只能新建密码; 最后对于相同的密码会产生相同的散列结果, 也会影响到安全性。选择这种密码存储模式, 最好使用一个好的加密散列, 要想得到比较好的效果, 还要选择一个健壮的SALT 算法, 同时利用SALT 技术避免因用户选择了相同的密码而产生相同的散列, 这种模式的输出结果是二进制的, 不需转换成文本格式存储, 若需要转换为文本格式存储可以使用BASE64 编码, 将二进制代码转换为文本保存。从过程上看,只要加密程序足够复杂,除了暴力破解没有其他系统的方法。而目前散列存储的方法可以认为是比较难于破解的加密手段,如果加入SALT运算,为已执行散列运算的密码插入一个随机数字,可以使系统对暴力破解增加抵抗力。但是保证身份验证系统不被破解的前提是数据库的安全。我了解了一下网上盛传的一些Windows xp密码的破解手段,很多是通过删除SAM数据库的方法。经实验,删除SAM数据库并不能实现破解Windows xp的密码,因为系统有备份的数据库,一旦发现数据库丢失,会立即恢复。4.3 windows的密码策略密码强度是抵抗暴力破解的最有效手段。一般密码强度足够高时,认为系统不可破解。Windows本地安全策略中的密码长度配置上限为14,如果启用这样的设定,密码强度又足够高。对于大多数需求来说,这已经满足需求了。对于密码更换间隔,也是越短越好,当然过短的周期会给用户带来一定麻烦。从理论上来讲,破解的难度和密码长度与密码周期之比成正比。密码策略的目的是建立一套标准,用于创建强密码、保护密码,并确定密码变更的频率,简言之,密码策略有三重目标,即创建保护变更时限。此策略适用组织系统中拥有帐户、并用这些帐户访问组织网络或存储非公开信息、需要密码支持的任何访问形式的所有人员。计算机用户级密码至少六个月更换一次,建议更换的频率是四个月更换一次。 密码一定不能被放到电子邮件或其他形式的电子通信消息中。用户帐户如果被赋予系统级特别权限,就必须拥有一个与该用户其他所有帐户都不同的唯一密码。如果发现一个帐户或密码已被破坏,应立即向信息安全部门报告,并更换所有密码。不以明文形式或其他易被破译的形式存储密码所有系统级密码(例如root、enable、NT、admin、应用管理软件等帐户)必须每季度更换一次。所有的业务系统级密码必须包含在由信息安全部门管理的统一密码管理。4.4windows的审计策略信息安全其实质是信息系统的安全。国际标准化组织( ISO) 对信息安全的定义为:“计算机系统有保护计算机系统的硬件、软件、数据不被偶然或故意地泄露、更改和破坏的作用。”国际信息化安全组织提出的“信息技术安全评级准则”,从可用性、完整性和保密性来衡量信息系统安全,可用性是指保证合法用户对信息和资源的使用不会被恶意拒绝;完整性是指保证数据的一致性,防止机密信息被非法用网络的开放性、黑客的攻击和系统本身的缺陷导致网络内的计算机并不安全,网络入侵也经常发生,往往造成严重的后果,为了降低入侵的风险,保障系统的正常运转,安全审计在信息安全中的作用越来越重要。在国际标准及国家标准中,安全审计都作为重要的一个部分,用来标识信息系统的安全性审查系统用户及应用用户是否合理,是否建立合理的审查机制,对用户的使用者是否有相应规定限制其恶意使用。对于用户的审查不仅仅包含应用层的审查,也包括管理层的审查。从管理制度上审查用户的合理性,是对用户审查的一个重要方面。用户的建立应以越少越好为原则,不建立不必要的用户,严禁用户的登录信息随意泄露,保持数据的机密性。根据标准的解释,可以看出审计是应当进行层次化分类的,并且保证所有的审计事件都可被适当赋值。高等级的事件比低等级的事件提供了更多的内容。通过安全审计的结果,可以判断安全事件的发生范围,以及导致安全事件发生的责任人。同样通过审计,可以让管理员很容易的跟踪到不断尝试错误密码的非法用户,并采取相应措施,以此提高身份鉴别系统的安全性.第五章 Windows与用户鉴别相关的配置与注册表5.1安全性评估 一个账号一个密码这个基本概念是很简单的。在创建用户账号时, 通常由管理员为其分配一个密码, 用户使用该密码进行登录。通常, 用户有权改变密码,一个包含全部用户账号及其对应密码信息的数据库被存放在本地硬盘上或验证服务器上。当用户键入账号和密码登录时, 该数据库进行验证。如果验证匹配, 则授予用户相应的访问权限, 否则拒绝访问。通常, 对数据库中的密码使用一种称为哈希法(hashing) 的加密技术将其保护起来, 因此, 数据库实际上验证的是密码的哈希值(hash) , 以此来避免将密码暴露给潜在的黑客。尽管采用的加密算法在不断变化, 但对密码进行加密处理的基本方法一般是相同的, 即单向哈希函数法所谓单向哈希函数(H (M ) ) 是指对一个任意长度的报文M 施加操作, 返回一个固定长度的哈希值h, 有h =H (M )。单向哈希函数具有下述不同于其他函数的特征:给定M , 易于计算h。 为了实现身份鉴别功能的评估,本程序通过以下七项安全策略对系统进行评估:(1)密码长度 强力攻击(Brute force) 这是利用穷举搜索法在所有组合方式中试探口令的攻击方法, 耗时最长。强力攻击必须将指定的字母、数字、特殊符号集合中的所有符号的排列组合进行穷举试探。强力攻击用于攻击6 位以下密码是很有效的。字典攻击(Dictionary) 大多数人设定密码口令都有一定的规律可循, 而且经常使用一些重复频率较高的英文单词, 例如: god, hero 等等, 字典攻击法就是将人们可能用作口令的英文单词或者字符组合制作成一个字典, 利用试探数量远远小于穷举法的字典进行试探, 实践证明这是一个非常有效的攻击手段。 基于用户信息攻击 该攻击法利用从密码文件中收集到的用户信息或对用户本人的了解去尝试猜测密码口令。攻击者在实际运用过程中, 常会使用上述攻击法的变形或多种攻击法结合使用, 以达到更佳效果。 (2) 密码强度(密码中是否包含字母和符号) 理论上, 安全度最高的密码应该是由计算机在所有可打印字符(96 个, 区分大小写) 中随机产生的一个足够长度(比如, 10 b 以上) 的字符串。根据公式: T = N Ms, 其中N M 密码变量数(N 是字符集中字符个数,M 是密码长度) ,s 为搜索速度, 假设N = 96,M = 10, s = 100 000 个s, 则完成搜索需用的最坏时间: T = 21 000 000 年。这意味着即使使用速度更快的多台计算机同时破解这种密码也是不可能的。然而, 由于人类自身准确记忆能力的限制, 如果让用户选用这种密码, 他们只能将其写下来, 这不但造成使用上的不便, 也存在一定的安全隐患。因此, 上述密码生成机制通常是不可行的。在实际操作中, 一般是把选择密码的权利留给用户。但统计研究发现, 用户几乎一致地选用较简单的密码, 比如自己的生日或单词等。对于这类密码, 只要掌握一般攻击技术的黑客就可以在短时间内破译。为了更好地理解上述密码的易攻击性之所在, 下面简单介绍一下目前流行的密码攻击技术。创建相对安全的密码包括规定密码的长度和复杂度(密码越长, 越多不同类型字符(字母、数字、符号, 大小写) 组合, 越安全)。表1 将帮你更好地理解密码的长度和复杂度实际意味着什么(假设搜索速度是100 000s 个密码, 采用强力攻击技术, 表中符号L 表示密码长度, 符号T 表示破译的最坏时间, 符号S 表示字符集大小)。(3) 禁止显示上次登陆用户(4) 密码过期提示时间密码更换周期(5) 允许未登陆关机以上三项都是和身份鉴别功能相关的细节设置。相关的设置不止这些,但是抽取三个相对比较重要的作为功能细节评判强弱的标准。(6)对全局安全对象进行审计(7)不能安全审计时自动关机5.2 注册表与用户身份鉴别功能设置5.2.1 注册表的设置 注册表是一个中心数据库, 它包含了关于计算机软件、硬件、用户的权利及操作信息以及其它各方面的配置信息, 控制着计算机的正常运行, 对整个系统至关重要。每当启动机器或运行程序时, 计算机都要从注册表中读取信息, 用户对系统进行的设置操作也会反应到注册表中。注册表是以主键组织的描述各个类型的配置数据, 在每个主键下是与此键相关的信息。注册表中共有6 个主键, 它们分别是:HKEYCLASSESROOT , 含有W indow s的一般信息, 诸如文件类型和它们的属性、对象链接和嵌入组件等;HKEYCURRENT USER, 含有默认用户的所有配置;HKEYLOCAL MACHINE, 含有关于计算机的所有信息, 包括已安装的软硬件配置、驱动程序等, 它应用于登录到计算机的所有用户, 是注册表中最主要的部分;HKEYUSERS, 包含该计算机的各个用户的专用设置信息;HKEYCU RREN T CONFIG, 包含即插即用及其它信息, 对不同的用户有不同的配置;HKEYDYN DATA , 与W indow s 系统“控制面板”中的“系统”图标中的“设备管理器”选项卡对应, 包含硬件设备的状态。在每个主键下面有各自的子键和值, 一些子键下面又含有更多的子键和值, 子键按照内容分类存放于不同的位置, 分别描述具体的信息。对这些值的修改, 相应地影响到系统的某些功能, 比如若不允许其他用户更改Windows和网络密码, 可以将HKEYCURRENTUSER| /software /Microsoft/ windows/ CurrentVersion/ policies/system 的默认值改为“0x00000001”。修改注册表的内容可以用注册表编辑器regedit 或借助于其它注册表编辑工具。由于注册表的重要地位, 对它的修改必须非常谨慎, 很小的一个错误也可能导致整个系统的瘫痪。为了预防修改中的错误带来的损失, 在修改之前我都会将注册表内容进行备份, 一旦由于修改不当或其它原因造成系统不正常, 则可以对它进行恢复。在修改组策略后,使用注册表检测软件,发现并确认了组策略的相关信息储存在windows注册表中。Windows系统为了方便程序对对象进行访问,运行于Windows的应用程序可以使用操作系统提供的序接口来实现应用程序需要的功能,称windowsAPI(Windows Application Program Interface)。本程序通过调用API访问注册表,从中调出上述七项设置参数进行分析比较。5.2.2注册表中各项身份鉴别设置参数值调用注册表值使用Windows API中的RegqueryvalueEx调用。典型的代码如下:long lReturn=RegQueryValueEx(m_hKey, lpValueName,NULL,&dwType,(BYTE *)&dwDest,&dwSize);其中m_Hkey-打开注册表的句柄;lpValue-根键下子目录的值NULL-保留项&dwType-读取数据的类型&dwDest-读取数据的存放位置&dwSize-读取数据的长度通过改变函数的各项参数,可以实现读取以上七项设置的值。其中最小密码长度值名为MinPwdLen,密码复杂度需求(密码需要由数字和字母共同组成)对应的值名为AlphanumPwd,它们存在于注册表的以下位置:HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionpoliciesNetwork 子键允许不登陆关机对应的值为 shutdownwithoutlogon 不显示上次登陆的用户名对应的值为dontdisplaylastusername都存在于注册表HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionpoliciesSystem密码到期期限的键值为maximumpasswordage存在于HKEY_LOCAL_MACHINEsystemCurrentControlSetServiceNetlogonParameters对全局系统对象进行审计对应的值 auditbasedirectories当安全审计失效时自动关机对应的值crashonauditfail存在于 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa4.2.3安全评价 程序会根据提取的几项参数,对系统的身份鉴别能力作出一个参考的评级。分为优良中差四等。 在各项设置参数中,密码长度和更换周期是最重要的两项。如果系统的密码小于六位,则直接判为差。因为六位的密码对于当这些注册表项都可以达到标准时,此系统的用户身份鉴别功能达到系统审计保护级。 这些注册表项都适应于windowsxp。在windows vista操作系统上作过实验,更改组策略的一些设置时,注册表没有相应的更改,由此推想组策略的一些重要内容,如密码长度,更改周期不是保存在注册表中。4.2.4 配置的提取和实现配置提取的过程就是对注册表访问的过程。由于兼容性的问题,没有采用MFC自带的注册表操作类,而是使用WINDOWSAPI函数RegOpenEx()和RegQueryEx()建立了Cregistry类以实现注册表相关键值的打开以及读取。Windows注册表Windows APICRegistry类 主程序 图5.1 程序调用关系图代码如下BOOL CRegistry:Read(LPCTSTR lpValueName, DWORD* pdwVal)ASSERT(m_hKey);ASSERT(lpValueName);ASSERT(pdwVal);DWORD dwType;DWORD dwSize=sizeof(DWORD);DWORD dwDest;long lReturn=RegQueryValueEx(m_hKey,lpValueName,NULL,&dwType,(BYTE *)&dwDest,&dwSize);if(lReturn=ERROR_SUCCESS)*pdwVal=dwDest;return TRUE;return FALSE;BOOL CRegistry:Open(LPCTSTR lpSubKey)ASSERT(m_hKey);ASSERT(lpSubKey);HKEY hKey;long lReturn=RegOpenKeyEx(m_hKey,lpSubKey,0L,KEY_ALL_ACCESS,&hKey); if(lReturn=ERROR_SUCCESS) m_hKey=hKey;return TRUE;return FALSE; 程序运行图见图5.1 图5.2 程序运行图 第六章 结 论 经过以上的分析和实践,可以说Windows为我们提供了一个相对比较安全的身份鉴别系统。但是不安全的因素往往来源于人们设定密码的习惯做法,有些人甚至承认只有一个“万能”密码,如他们的生日。这个密码既用于存款账户,又用于信用卡、股票账户及个人电脑。这如同所有的钱箱只用一把钥匙,一旦有失,该客户必遭连锁损失的重创。所以,密码设定既需易记,更需保密性强、不易被破译。好在技术的进步,正在帮助人们解决这一问题。通过本程序,管理员可以直观地了解到系统的身份鉴别功能各项设置,并得出系统该项功能的强弱程度。于管理员了解该项功能的强度有助于判断和审核计算机的整体安全性能,判断是否符合应有的安全等级。Windows提供了很好的身份鉴别系统,但它有赖于操作者的防范意识。如果要杜绝因用户疏忽大意造成系统信息的泄漏和损坏,还需要管理员对安全策略进行全面的设定。经过合理的设置,管理员可以强制用户使用符合安全等级的身份鉴别策略,达到保证计算机处于安全的目的。容易被暴力破解,可复制,密码容易泄露,这些都是密码-用户名身份鉴别方法所具有的天生的缺陷。可以说,没有任何一个身份鉴别系统可以称得上完全安全,只有相对的安全等级高和低。本程序可以辅助管理员了解密码策略,设定起码的密码策略,强制用户的安全设置,可以大幅地弥补原有的密码身份鉴别的缺陷,但是它的根本问题还是存在的。现在主流的身份鉴别方式还是密码,它有着容易实现等诸多的优势,但是新型的身份鉴别方式也在逐渐成熟,在将来的版本中,这种密码型的身份鉴别可能会以生物特征提取等更先进的身份鉴别手段所替代。通过本程序,管理员可以直观地了解到系统的身份鉴别功能各项设置,并得出系统该项功能的强弱程度。于管理员了解该项功能的强度有助于判断和审核计算机的整体安全性能,判断是否符合应有的安全等级。Windows提供了很好的身份鉴别系统,但它有赖于操作者的防范意识。如果要杜绝因用户疏忽大意造成系统信息的泄漏和损坏,还需要管理员对安全策略进行全面的设定。参考文献1 李元峰,蔡雅良 析涉密信息系统的分级保护 信息安全与通信保密2008.62 张德强 系统登陆认证技术 计算机安全与维护 2008.53曹国钧 等.Windows 98/2000/XP 注册表应用500 例.北京: 科学出版社, 2003.4王淑江, 刘晓辉.Windows 2000/XP/2003 组策略实战指南.人民邮电出版社, 2006.5 刘荫铭, 计算机安全技术 . 清华大学出版社,2000.6 王希忠, 王智, 黄俊强安全审计在信息安全策略中的作用7 GBPT18336 - 2001. 信息技术安全性评估准则 8 GB17859-1999计算机信息系统安全保护等级划分准则 9 高伟标准Windows程序设计Visual C+与MFC及Win32 API的应用人民邮电出版社 - 1997年出版10卢开澄.计算机密码学计算机网络中的数据保密与安全(3版).北京:清华大学出版社,2003. 致 谢我要特别感谢我的导师徐国爱教授,张淼老师在我毕设期间自始至终的悉心指导和严格要求,这使我在学术研究和工作方法上受到严格的训练,这将对我今后的工作和研究产生积极的作用。我还要感谢马建立老师,在我遇到困难的时候,总是给予我耐心的指导和帮助,并给予我精神上热情的鼓励和支持文章篇幅。 附 录附录:程序代码CRegistry.cpp 包含注册表操作类/ Registry.cpp : implementation file#include stdafx.h#include Registry.h/ CRegistryCRegistry:CRegistry(HKEY hKey)m_hKey=hKey;CRegistry:CRegistry()Close();/ CRegistry FunctionsBOOL CRegistry:CreateKey(LPCTSTR lpSubKey)ASSERT(m_hKey);ASSERT(lpSubKey);HKEY hKey;DWORD dw;long lReturn=RegCreateKeyEx(m_hKey,lpSubKey,0L,NULL,REG_OPTION_VOLATILE,KEY_ALL_ACCESS,NULL,&hKey,&dw); if(lReturn=ERROR_SUCCESS)m_hKey=hKey;return TRUE;return FALSE;BOOL CRegistry:Open(LPCTSTR lpSubKey)ASSERT(m_hKey);ASSERT(lpSubKey); HKEY hKey;long lReturn=RegOpenKeyEx(m_hKey,lpSubKey,0L,KEY_ALL_ACCESS,&hKey); if(lReturn=ERROR_SUCCESS) m_hKey=hKey;return TRUE;return FALSE;void CRegistry:Close()if(m_hKey)RegCloseKey(m_hKey);m_hKey=NULL;BOOL CRegistry:DeleteValue(LPCTSTR lpValueName)ASSERT(m_hKey);ASSERT(lpValueName);long lReturn=RegDeleteValue(m_hKey,lpValueName);if(lReturn=ERROR_SUCCESS)return TRUE;return FALSE;BOOL CRegistry:DeleteKey(HKEY hKey, LPCTSTR lpSubKey)ASSERT(hKey);ASSERT(lpSubKey);long lReturn=RegDeleteValue(hKey,lpSubKey);if(lReturn=ERROR_SUCCESS)return TRUE;return FALSE;BOOL CRegistry:Write(LPCTSTR lpSubKey, int nVal)ASSERT(m_hKey);ASSERT(lpSubKey);DWORD dwValue;dwValue=(DWORD)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 培智十六册数学试卷
- 亚运知识宣传活动方案策划(3篇)
- 公司三八特色活动策划方案(3篇)
- 野外拉练活动策划方案模板(3篇)
- 改底施工方案(3篇)
- 北京市门头沟区2023-2024学年八年级上学期期中考试数学考试题目及答案
- 安徽省芜湖市鸠江区2024-2025学年高二上学期第二次月考地理考点及答案
- 心理弱势测试题目及答案
- 决策支持系统平台操作教程
- 一年级写景作文玉湖500字8篇范文
- 运动控制考试题及答案
- 无人机培训招生宣讲
- 2025玛纳斯县司法局招聘编制外专职人民调解员(5人)笔试模拟试题及答案解析
- 2025年陕西华山旅游集团有限公司招聘(50人)笔试备考试题及答案解析
- 中医基础理论试题及答案
- 海关法律法规培训
- 《铁路技术管理规程》(普速铁路部分)
- 地震勘探原理及方法实验指导书
- 部编版道德与法治五年级上册全册教案
- 幼儿园看图讲述活动指导ppt课件
- 生态文明建设与可持续发展 ppt课件
评论
0/150
提交评论