按标签存档 安全

如何破解您的Windows密码(第一篇)

介绍

密码可以看作我们主要,甚至某些情况下唯一可用于防范入侵的防线。就算入侵者无法在物理上接触到计算机,对于对外的Web应用,他们依然可以通过远程桌面协议或身份验证功能访问到服务器上的服务。
本文的主要是为了告诉您Windows创建和存储密码哈希(Hash)的方式,以及这些哈希的破解方式。在介绍了如何破解Windows密码后,我还将介绍一些技巧,帮助您防范此类攻击。

Windows是如何存储密码的

运行Windows的计算机使用两种方法对用户密码创建哈希,这两种方法在本质上有着不同的安全意义。这两种方法分别是LAN Manager (LM)以及NT LAN Manager第二版(NTLMv2)。哈希是一种加密功能所获得的结果,这种加密需要获取任意大小的字符串数据,并用算法对其进行加密,然后返回一个固定大小的字符串。

LM密码哈希

LAN Manager哈希是Windows操作系统最早使用的密码哈希算法之一,并且在Windows 2000、XP、Vista和7中使用了更先进的NTLMv2之前,这也是唯一可用的版本。这些新的操作系统虽然可以支持使用LM哈希,但主要是为了提供向后兼容行,不过在Windows Vista和Windows 7中,该算法默认是被禁用的。

密码的LM哈希需要使用下列六个步骤计算获得:

  1. 将用户的密码全部转换为大写字母

  2. 给密码添加空(null)字符,直到密码长度等于14个字符

  3. 将新获得的密码拆分为两组7位的字符值组

  4. 使用这些值创建两个DES加密密钥,并为每一组添加一个奇偶校验位,这样即可创建出64位的密钥

  5. 使用每个DES密钥加密一个预定义的ASCII字符(KGS!@#$%),这样即可获得两个8字节Ciphertext值

  6. 这两个8字节的Ciphertext值结合组成一个16字节的值,也就是最终获得的LM哈希

举例来说,如果使用“PassWord123”作为密码,在上述操作中这个密码会被分别转换为:

  1. PASSWORD123

  2. PASSWORD123000

  3. PASSWOR和D123000

  4. PASSWOR1和D1230001

  5. E52CAC67419A9A22和664345140A852F61

  6. E52CAC67419A9A22664345140A852F61


图1: 将密码转换为LM哈希

LM 存储的密码有一些明显的不足。首先是,加密工作是基于数据加密标准(DES)的,DES最初来源于IBM在二十世纪七十年代的一个项目,该项目最终被 NIST进行了改进,并获得了NSA的支持,于1981年作为一项ANSI标准发布。多年以来,DES都被认为是足够安全的,但由于这种小型密钥只有56 位,因此从九十年代开始,已经变得不那么安全。到了1998年,Electronic Frontier Foundation只需要大概23小时即可破解DES。因此,DES开始变得不够安全,并逐渐被三重DES(Triple-DES)以及AES所取代。简单来说,这些都属于其他加密标准,但由于现代计算机的强大性能,很快也被破解。

LM哈希最大的弱点可能就是DES密钥的创建过程。在这个过程中,用户提供的密码会被自动转换为全部大写,并通过补充变为14个字符(这也是LM哈希密码的最大长度),随后会被分为两组7位字符的值。对于由 14个可印刷的ASCII字符组成的密码,有95的14次方种可能性,而一旦将其腰斩为两组7位的字符,可能性就降低为95的7次方种,而如果您只允许使用大写的ASCII字符,可能性将进一步降低为69的7次方种。因此从本质上将,就算您使用不同的大小写字符,并使用长密码,一旦密码被保存成LM哈希,所有的努力都将付诸东流,在暴力破解面前,LM哈希将不堪一击。

NTLMv2密码哈希

NT LAN Manager (NTLM)是由微软开发,用于取代LM的身份验证协议。最终通过改进,从Windows NT 4开始,NTLMv2被用作全新的身份验证方法。

NTLMv2 哈希(下文简称为NT哈希)的创建在操作系统实际参与的工作上更加简单,并需要使用MD4哈希算法,通过一系列数学计算创建哈希。MD4算法需要使用三次,这样才能产生NT哈希。举例来说,“PassWord123”这个密码的MD4哈希就可以表示为 “94354877D5B87105D7FEC0F3BF500B33”。


图2: 将密码转换为NTLMv2哈希

MD4通常比DES更加强装,因为可以接受更长的密码,可允许同时使用大写和小写的字母,并且并不需要将密码拆分为更小,更易于破解的片段。

对于使用NTLMv2创建的哈希,可能最大的不足在于Windows无法使用一种名为Salting的技术。Salting这种技术可以用于生成随机数,并将该随机数用于计算密码的哈希。这意味着完全相同的密码可能会具有完全不同的哈希值,这才是最理想的情况。

在这种情况下,用户就可以创建所谓的Rainbow Table。Rainbow table并不是指五颜六色的咖啡桌,实际上是一种表格,其中包含了由某一数量的字符所能组成的每一种可能密码的每一个哈希值。通过使用Rainbow table,我们就可以从目标计算机提取密码的哈希值,并在表中进行检索。一旦在表中找到相同的内容,就等于知道了密码。正如您所想的,就算由很少字符组成的Rainbow table,整个表也会非常庞大。这意味着此类表的创建、存储,以及检索都是很麻烦的工作。

结论

在本文的第一部分中,我们介绍了密码哈希的概念,以及Windows用于创建和存储这些数值的机制。另外我们还介绍了每种方法的局限性,以及可以用于破解这些密码的可能途径。在后续的内容中,我们将介绍获取和破解这些哈希的方法,并证明局限性的存在。在介绍完之后,我还将提供一些技巧,让您获得更进一步的保护,并创建满足所需强度的密码。

这是一篇发布在译言的翻译文章,译言上的文章链接在这里,原文链接在这里

, ,

无留言

NAV/NIS 2010正式发布

Symantec公司很勤劳,旗下的Norton安全软件每年都要升级一次。这不,马上要到2010年了,所以2010版的NAV/NIS产品也已经正式发布。

目前发布的还只有英文版,其他语种的版本将在稍后的一个月内相继发布,按照论坛上给出的计划,简体中文版将于10月19日发布。

和2009版相比,2010版除了功能上的改进外,最大的特点就是更好的支持Windows 7。之前我有片帖子介绍了2009系列的Windows 7兼容性补丁,根据计划,官方人员在论坛上宣布的是,从8月31日起,这个补丁就开始通过Live Update推送给全球用户,可我一直等到9月10日都没消息。在论坛上,也是有人反映很早就安装了这个补丁,但也有人一直没有安装。其实这个补丁具体解决啥问题我不清楚,虽然说明文件中说解决与Windows 7的兼容性问题,但没有安装这个补丁时,NIS 2009在我的64位Windows 7下运行非常正常,没啥问题。但另一个问题对我很重要,就是Firefox的扩展插件。NIS会给Firefox中安装一个用于检测所访问网页安全性,以及管理网页密码的插件,但在FF升级到3.5版后,这个插件就没法用了。随后Symantec发布过一个单独针对插件的更新程序,但在我安装后,虽然FF中可以使用这个插件,可这个插件会导致FF频繁崩溃,最终无奈只能卸载掉。

现在,2010系列已经发布,不用担心09版的兼容性问题了,虽然只有英文版,不过先凑合用呗,反正一个月后就有中文版了。

感兴趣的同学,如果你目前有Norton 2006版以上产品的有效授权,那么就可以直接使用2010版的NAV和NIS,方法如下:

  1. 访问Norton Update Center
  2. 随后会看到中文页面,因为目前还没有中文版,因此在页面左上角,单击“汉语”,打开下拉菜单,选择“English”。
  3. 单击右下角“Choose My Product Manually”链接。
    Snap1
  4. 随后的页面上,“Select a product”下拉菜单中,选择需要的产品,例如NAV或NIS;“Select a version”下拉菜单中选择2010之前的版本,单击“Continue”。
  5. 随后的页面上继续单击“Continue”,然后单击“Start Download”。从网页上下载一个小的检测工具。
  6. 运行这个工具,工具会自动检测当前安装的Norton产品版本,自动下载最新版本,然后自动安装。

在功能上,NIS 2010有很多有趣的地方。首先,整个界面貌似更美观,而且更有动感(很像是山寨产品的广告语啊)。主页面不仅有功能视图,而且还有信息视图,分别用于调整功能,或者查看日志和其他记录。

Snap2

Snap3

另外在2010版中,Symantec也加强了社区评价功能,对于每个进程,可以知道这个进程的使用情况,资源占用情况,以及是否安全。有了这样的功能,在遇到陌生进程后,就可以根据社区统计信息了解进程的具体情况,方便采取不同的解决方法。例如感觉电脑速度总是很慢,就可以在这里筛选显示所有资源占用最多的进程,然后根据信任级别和社区使用情况,判断这到底是个正常进程,还是恶意软件。

Snap5

这套2010用的授权正是之前“3+2”活动的时候买的,昨天已经激活,并在官网上注册,等收到回应后就可以直接用这个授权再安装两台电脑。到时候还可以体验一下集中管理功能,这个功能好像是从2009版开始提供的,家庭网络中所有安装了新版本Norton产品的电脑,可以在一台电脑上执行统一的管理,例如杀毒、升级病毒库,或者查看扫描记录等等。

BTW,最后一点,2010版也充分利用了Windows 7的跳转列表功能,任务栏上的图标可以直接叠加代表状态的小图标(例如下图的绿色箭头),而且跳转列表中也提供了大量常见操作。不过这是一个安全软件啊,谁平时闲的没事老把它打开并放在前台运行呢?

Snap6

待续……

, ,

无留言

诺顿安全产品的Windows 7兼容性补丁

等了好久,今天终于在官方论坛上看到这则消息了,Symantec旗下的Norton Anti Virus/Norton Internet Security 2009,以及Norton 360 v3兼容Windows 7的补丁终于正式发布。安装补丁后,NAV/NIS 2009的版本号将变为16.7.2.11,而Norton 360的版本号将变为3.5.2.11。

其实说到兼容性问题,在Windows 7下,无论是32位还是64位,感觉都还算正常,不过有一个问题很令人郁闷,那就是将FireFox升级到3.5之后,诺顿的FF扩展没法用了,也就没法使用密码管理器功能,这次的兼容性问题也将解决这个Bug。

根据介绍,此次更新的内容如下:

  – Several Windows 7 compatibility fixes
  – Support for migrating Vista to Windows 7
  – Fixed issue where Windows Defender was disabled on every reboot
  – Norton Toolbar support for Firefox 3.5 in this release, including fixes for IPS Add-on issues
  – Fixed LiveUpdate failures caused by hosts running behind a proxy
  – Fixed top install failures seen in the field
  – Fixed patching issues seen with 16.5 patch

该补丁易于8月31日发布,不过可能需要一段时间才能逐渐分发给全球用户。正常情况下,在发布后,通过Live Update即可自动下载和安装。如果比较着急,希望尽快安装,可以访问Norton Update Center下载脱机安装文件。

使用诺顿安全产品,又在使用Windows 7的同学们,抓紧啦。

,

1条留言

现在是购买NIS 2009的好时机

这是个广告,不过我没有从中收取任何好处。

去年九月底,我买了一套Symantec的Norton Internet Security 2009安全套装软件一年授权,当时的使用感觉和想法可以参考这里。现在这个授权就快到期了,开始考虑续订,同时Symantec也开始推广优惠活动,原价¥299一台电脑一年升级的授权,现在可以装给三台电脑,并且两年升级,也就是3+2优惠活动(单位不同不能相加减,小学老师都教过的)。而一些网站也在销售这个软件,同时网站上的折扣更高,例如京东,现在卖¥88(前两天好像还是¥120多呢),还是三台电脑,两年升级服务。这个价钱就相当优惠了,等于一台电脑一年只需要14.6元,这比卡巴斯基一年25元还要便宜。

就算是给京东和NIS做个广告吧,感兴趣的朋友可以在这里购买

需要注意一些问题:

  • 两年的授权期限是从第一次激活开始计算的,也就是说,如果2009年7月14日激活了第一台电脑,那随后的两台电脑,无论何时安装或激活,都是20011年7月13日到期。
  • 在京东购买的是盒装实物,需要首先安装一台电脑,激活,然后访问这里,填写必要的信息,并等待通过申请,然后才能安装另外两台电脑。
  • Norton的2010系列产品就快要发布了,现在购买2009版产品,根据英文官网论坛的介绍,在2010版正式发布后,可以直接免费升级到最新版本。但是,对于这种优惠的3+2活动能否享受免费的升级,暂时不清楚。问了一下客服,但客服没有直接回答,只说随时关注官网上的最新信息,所以也不知道届时能不能免费升级。

Once the 2010 products are released and no longer in Public Beta, active subscriptions of Norton Internet Security (2006 and newer) and Norton AntiVirus (2006 and newer) will be eligible for free updates to the 2010 version

  • 第一个授权,必须在2009年4月10日到2009年9月30日之间激活和注册。

我现在使用的授权,实在是太不划算了,而且还有76天到期。不过京东的活动不知道能举行到啥时候,所以原本还想等快要到期时候再买,现在看,还是立刻买了好了。反正只要在9月之内激活就行啦。正好现在家里有三台电脑,也够用了。而且刚才还忽悠别人一起买了一套。还是挺划算的。

, ,

2条留言

Norton Internet Security 2009

想当年,诺顿的安全软件是我最感兴趣的,而且我买的第一套正版软件就是Norton AntiVirus 2000,记得当时还在上大学,而那时每个月的生活费才400块。买了电脑后,就买了一套正版的NAV 2000,花了好像一百多块。

可大概从2003版开始,Norton系列软件越来越难用,体积越来越大,速度越来越慢,而效果则越来越差。于是后来我开始换用卡巴斯基,后来换成了微软的ForeFront Clinet Security。不过最近Norton 2009系列发布之后,感觉还不错,资源占用少了,而且据说速度也快了不少。于是乎前几天在重装了系统后,我又投入了诺顿阵营。

以前在网上购买Symantec产品的时候,有一些很不愉快的经历(123),关键是当时买的是Ghost,必须只能先付费,才能下载并激活使用。这次买的NIS 2009版则是类似共享软件的模式,先下载试用,觉得满意再付费。NIS和NAV 2009版的简单介绍和下载地址可以参考这里

这次我用的是NIS 2009,试用版可以免费使用15天,单机一年的授权¥299,感觉有点贵,而且2009版可能因为是新产品,还没有以往的那种捆绑优惠,例如三台授权打包出售。如果是那样的话,就可以给家里的其他电脑也装了,这样也比较划算一些。

经过几天的简单试用,NIS 2009确实有一些比较突出的地方。Symantec也许也意识到了自己以往产品存在的不足,并且确实在抓紧时间改进。挨个简单列举一下吧。

主界面,非常清爽简单,所有的组件状态和设置都一目了然。而且可能为了消除大家对Norton软件资源消耗大这个弊病的担忧,主窗格左侧还显示了CPU使用情况,分别列出系统的使用和Norton软件的使用情况。单击”CPU使用情况”链接后可以看到更详细的内存和CPU使用记录情况。经过简单的观察,2009系列的CPU使用和内存占用确实很出色,不像老版本那样夸张,而且整个软件的操作都很流畅。

2009可以在系统空闲(可自定义设置,也就是不操作键盘和鼠标多少分钟之后,同时系统不繁忙的情况下)自动执行一些后台工作,这样可以将对正常使用的影响降到最低。而且新版本中增加了一个叫做”脉动更新”的功能,简单来说,就是用更频繁的频率进行病毒库和定义文件的更新。不像老版本,可能一天甚至数天才能更新一次。联想到以前的诺顿误杀门事件,其实这类事情也确实不容易杜绝,而且很多安全类软件都遇到过类似的乌龙。但关键是,怎样在遇到类似问题后将影响降到最低。在有了脉动更新功能后,因为可以用最快的频率升级病毒库,因此一旦某个版本的病毒库有问题,并且有人升级或重启动系统后遇到障碍,在经过反馈后,Symantec在第一时间解决并更新了病毒库后,其他还没有重启动系统的用户也许通过脉动升级功能就能避免同样的后果。

另外在2009版本中,Symantec也开始学习360安全卫士的一个好功能,那就是软件的好坏,由用户来评价。这个功能叫做Norton Insight,可以收集系统中的进程的一些信息,然后提交上去,由所有用户给出评价。但这个功能目前一个很糟糕的地方就是反应太慢。如下图所示,目前我电脑里的进程,只识别了7%,还有93%是需要识别的。而我装上2009已经超过48小时了,中间都没有关过机,也就是说有足够的空闲时间供处理,可处理进度依然是这么慢。按照我以往重装系统的频率,也不知道下次重装系统之前能否全部识别完毕。

根据介绍,Norton Insight功能的另一个重要意义就是白名单了,经过Insight识别的正常程序可以加入到白名单中,以后扫描时候可以跳过这样的文件,加快扫描速度。

NIS是包含网络防火墙和反病毒软件的安全套装,而NIS 2009版中防火墙的设置比以往更简单。我还记得用老版本NIS的时候,有程序访问网络的时候防火墙经常会跳出来,并询问希望采取的操作,这一点非常烦人,而且很多人,尤其是新手,往往啥都不管就”允许”或”确定”。可以说,这样的询问机制根本没有任何意义。但在2009版中,我用过的所有主要网络程序,都可以直接通过,至于P2P之类的程序,还没有用过,不知道会不会被询问。

而且NIS 2009中也增加了类似Windows Vista中网络拓扑图的功能,不过这里的拓扑并不是为了查看网络结构,而是为了设置网络安全选项。在识别了每个网络设备后,我们可以根据设备的具体类型决定信任级别,这样不被信任的设备根本无法通过网络看到本机;而被信任的设备不仅可以看到本机,而且可以使用本机提供的服务。整个设置非常简单,并不需要太专业的知识。

同时在新版本的Norton软件中,增加了网络管理功能。如果局域网中有多台电脑都安装了新版Norton软件,那么可以从一台电脑上直接查看其他电脑的软件设置和更新等情况,好像还可以直接对远程电脑进行更新,这些工作也可以在网络拓扑图中进行。因为目前我其他电脑上没有装,所以没有试验。

最后需要提的是密码管理功能。简单来说,NIS 2009可以充当一个网页密码管理器,而且是完全兼容IE和Firefox的,尤其是,由NIS 2009保存这些信息,所有支持的浏览器都可以共用。这样可以不再使用每个浏览器独立的密码管理器了,一个NIS全搞定。通过保存的信息,我们还可以判断自己每个密码的安全性。通过给身份管理器设置密码后,以后只要使用一个密码,就可以管理其他各种密码,还是挺方便的。但目前的一个问题是,这个功能好像只能管理网页密码,至于某些需要登录的程序,好像无法记录密码。这一点上需要改进。

至于其他的,例如网页表单自动填写功能,自然也不在话下,而且同样,所有支持的浏览器中都可以使用同一套信息,这个要比使用浏览器自己的填写功能要方便不少。

最后,我没有试过在网上下载所谓的xxx种病毒包来测试检出率,我觉得那样的检测没有太大意义。但是在装好2009后,我还是试验了一下扫描的速度。我硬盘160G,5400转,文件占用在100G左右。用快速扫描模式,不到一分钟扫描完毕;完整扫描模式,用了58分钟。相比卡巴斯基,这个速度实在是太快了。而且卡巴斯基中我最讨厌的一个问题在NIS中也不存在,那就是用资源管理器进入包含大量零散文件的文件夹后需要很长时间才能显示,在安装NIS后,同样的文件夹,双击后立刻就能看到。这个要赞一个!

, , ,

无留言

Bitlocker使用揭秘

很多人可能都听说过ERD Commander之类的软件,这种软件可以创建一个引导光盘,并用这张光盘将电脑引导进入一个特殊的WindowsPE环境(可以理解为运行在光盘上的Windows系统)中。在这个环境中,我们可以在不知道电脑上安装的操作系统管理员帐户和密码的情况下直接编辑系统的注册表或者修改任何一个帐户的登陆密码。甚至还可以获得文件的NTFS访问权限,并绕过Windows的权限设置读取需要的机密文件。这种在Windows没有运行着的情况下对系统进行”攻击”的操作就叫做”脱机攻击”。

其实类似这样的工具还有很多,有些是售价昂贵的商业软件,有些甚至是可以免费获得软件。那么这是否就意味着Windows的安全性很差呢?其实也不然。因为进行脱机攻击的时候,被攻击的Windows并没有运行,因此Windows的各种安全保护机制也无法生效,进而造成了被攻击的可能。其实不仅仅是Windows,任何操作系统都无法有效避免这种脱机攻击。至于从物理层面的攻击,例如恶意拔掉服务器电源导致服务中断,或者损坏硬件造成数据丢失,更是无法仅依靠操作系统就能避免。所以说实现系统安全和数据安全的一个大前提就是首先要保证计算机在物理上的安全,不让攻击者能从物理上接触到计算机。

不过好在Windows Vista中的BitLocker功能可以保护整个Windows本身不被脱机攻击,并可以保护我们的机密数据无法被允许的Windows外的其他操作系统访问。简单来说,BitLocker会将Windows的安装分区或者其他用于保存文件的分区进行加密,并将密钥保存在硬盘之外的地方。这样,要想启动Windows或者读取保存在电脑中的文件,就必须先能够提供密钥,随后引导程序才会使用提供的密钥解密系统文件,并加载和运行Windows,供我们读取文件。

继续阅读 »

, , ,

无留言

Windows安全指南

由电子工业出版社,博文视点出版的我的新书《Windows安全指南》已经发布了。

很多人都认为,Windows操作系统的安全性太差。其实对于新的Windows操作系统,例如Windows XP和Windows Vista,系统的安全性已经得到了空前的加强,然而依然有很多人在使用这些操作系统的时候因为安全问题而受到损失,原因到底是什么?

其实在计算机安全方面,也一直存在着”木桶原理”,就像一只用木板拼成的木桶,桶里能装多少水,并不取决于最长的木板,而取决于其中最短的木板。可能操作系统本身已经很安全,但因为使用的人缺乏安全意识,也有可能导致操作系统在提高安全性方面所作的全部努力付之东流。

在现在的Windows操作系统中,几乎所有选项的默认设置都是以保证安全性为前提的。然而安全性和易用性永远都是对立的,如果要实现更高的安全性,在易用性方面肯定会大打折扣。因此很多人在使用过程中,为了贪图方便,往往会修改一些默认的系统设置,导致系统变得不够安全。而一旦遇到安全性问题,往往会觉得这是操作系统做得不好,并不会想起正是因为自己修改的设置导致了一系列的安全问题。

对于使用Windows的大部分一般用户,他们并不需要对计算机有多么高深的了解,他们只需要像使用一般电器那样打开计算机,然后学习、工作或者娱乐,并在用完之后直接关掉就可以,Windows可以很好地满足这些人的需求。也许有更加安全的操作系统,但对于大部分用户来说,这类系统无论是安装、设置还是使用,都存在不小的难度,甚至可能根本无法在这些操作系统上完成自己需要的工作。因此大部分人依然在使用Windows,并希望努力让Windows变得更安全,或者至少不要因为自己的疏忽带来安全问题。

虽然这本书的名称是《Windows安全指南》,然而本书并不仅仅介绍有关Windows本身的安全问题,还包含了一般用户在使用Windows操作系统完成日常工作的过程中可能遇到的各种安全风险,以及解决和预防办法。

因此通过阅读本书,我们将可以保证自己的计算机整体环境更安全,也更可靠。

本书的目标读者是使用Windows操作系统进行工作或娱乐的一般用户。即使完全没有计算机技术基础,只希望使用计算机完成自己工作的人,也完全可以通过本书了解如何操作才能提高计算机的整体安全性;而对于希望”知其然,知其所以然”的人,将可以了解到一些深入的技术细节和原理,并能通过这些信息更好地使用Windows。

样章:第11章,防范恶意软件

购买:China-Pub当当

, ,

无留言

让“艳照门”事件不再发生

最近在中文互联网上有件事情很热门,无论是门户网站还是个人博客,甚至各大论坛以及聊天室,到处都在谈论,那就是涉及到几位香港艺人的”艳照门”事件。

这件事的起因有不同的说法,其中一种最可信:这位艺人的电脑中保存了一些私人性质的照片,但电脑故障了,于是送修。而维修站的员工发现了这些照片,并将照片公布到互联网上,一经发布就引起了轩然大波。

如果事实却是如此,那这不啻于给每个电脑用户敲响了警钟。因为我们已经接受了太多的宣传和提醒,几乎每个人都知道,怀有恶意的人可以通过互联网等介质入侵我们的电脑,并窃取文件。为了防范这些问题,我们可能会给电脑中安装层层叠叠的安全防护软件,例如反病毒软件、网络防火墙、反间谍软件等。然而在这次的”艳照门”事件中,细心的人都已经意识到了:有时候想要盗窃文件也根本不需要有什么技术手段的,只要能够在物理上接触到电脑就行,而这种方法正是目前的安全类软件无法防范的,毕竟软件无法知道正在敲击键盘的是不是合法用户。

可能很多电脑里存有隐私文件或机密文件的人更担心的一个问题是,我们难道连电脑公司的维修工都无法信任了吗?其实信任不信任不重要,关键的问题是怎样能尽量从源头避免这类泄密事件的发生。那么又该如何保护自己的机密文件不被用这种毫无技术含量的手段盗窃?其实Windows中早就为我们准备了很好的工具。

EFS增强文件系统安全

在Windows XP Pro、Windows Vista商业版、企业版和旗舰版中,我们可以使用EFS(加密文件系统)通过加密保护数据的安全。默认情况下,将文件或文件夹加密后,只有进行加密的人才可以访问,其他人就算能够在物理上接触到电脑,只要没有使用加密者的Windows帐户登录,哪怕使用了其他管理员帐户,一样无法访问被加密的文件。

而且更厉害的是,就算将现有的Windows格式化并重新安装,然后创建同样用户名和密码的帐户,也无法访问之前加密过的文件。

同时EFS最令人放心的一点在于,文件都是被密钥加密的,因此如果无法获得所需的密钥,被加密的文件将彻底无法解密。自从Windows 2000中包含EFS功能以来,经过这么多年时间的检验,还没有传出EFS可以被成功破解的消息。而我们看到更多的则是很多人因为不当的使用方法,导致密钥丢失后无法解密自己的重要文件发出的求助信息。

还是以维修电脑为例进行说明,如果电脑要送修,而电脑中保存有机密文件,那么只要使用EFS进行加密,我们完全可以放心给维修人员设置一个管理员帐户。这样维修人员虽然可以访问电脑的所有功能,并对所有重要选项进行设置,并尝试解决故障,甚至重新安装Windows操作系统,但他无论如何都无法打开我们的重要文件。

用BitLocker实现更进一步的安全

虽然用EFS就可以保护数据的安全,不过EFS只能保护被加密的文件,不能保护整个系统。因此更稳妥起见,我们还可以使用BitLocker功能对系统进行保护。

Windows Vista企业版和旗舰版可以使用该功能。在使用该功能后,除非我们能够在启动系统之前提供密钥,否则系统就无法启动,而且将这样的硬盘挂到其他电脑上也无法看到其中的任何内容。

另外BitLocker还可以保证系统的完整性。例如有些人可能担心自己的硬盘被别人挂到其他电脑上,并恶意篡改某些系统文件,给系统中植入病毒或木马。然而在使用BitLocker功能后,将这样的硬盘挂到其他电脑上不仅无法访问,而且就算可以通过某些特定的手段访问,在重新启动系统后我们也可以收到系统的警告信息。

不仅如此,在安装Service Pack 1之后,Windows Vista中的BitLocker功能还将可以加密非系统盘。这样我们完全可以使用该功能将自己的整个硬盘都加密起来,充分保护系统和数据的安全性和完整性。

BitLocker功能对于隐私的保护最重要的意义在于系统更换后的保密工作。以前,如果公司里重要部门需要更换电脑硬盘,或者更换整台电脑,那么安全起见,一般都会用物理的方法将硬盘彻底破坏,例如砸碎或者烧烂。然而看过美国电视剧越狱的朋友可能清楚,Michael将自己的硬盘拆掉后扔到了河里,经过河水的长时间冲刷,FBI都能从硬盘碎片中恢复出部分文件,那么我们现有的硬盘报废方法真的就万无一失吗?其实在使用BitLocker对整个硬盘进行加密后,如果需要报废硬盘,不用那么麻烦,只要删除用于解密的证书,这块硬盘中的所有数据都将彻底无法访问。同时更换下来的硬盘在重新分区并格式化后还可以继续使用,这也算是保护投资的一种好办法。

最佳经验

要想防范自己的重要文件被通过各种方法窃取,有以下几条建议:

  1. 通过Windows Update保持系统最新,安装反病毒软件、网络防火墙软件以及反间谍软件,并保证这些软件的安全定义为最新。

  2. 给自己的Windows帐户设置强密码,同时尽量少给别人提供具有管理员权限的帐户。

  3. 将重要文件保存在NTFS文件系统的分区中,并应用EFS加密。

  4. 使用BitLocker功能将系统盘加密。

  5. 如果有包含重要文件的电脑要送修,就算采取了上述所有建议,也请尽量不要让电脑离开自己的视线。

, ,

无留言

活用软件限制策略

在多人共用一台计算机的环境下,我们可能需要对每个人可以使用的软件进行限制。例如,系统中安装了一个游戏,可你不打算让其他使用你计算机的人玩这个游戏。或者公司的计算机上安装了很多软件,老板希望员工只能使用工作需要的程序,其他非必须的程序都不准使用。

为了实现这一目标,我们可以配置Windows中的软件限制策略,Windows XP Pro、Windows Server 2003以及Windows Vista商业版、企业版和旗舰版这些带有组策略功能的操作系统都可以配置软件限制策略(Windows 2000虽然带有组策略,但没有软件限制策略功能)。

本文会介绍单机环境下软件限制策略的使用。需要注意的一点是,和其他大部分策略一样,软件限制策略在域环境下才能发挥出最大作用,例如通过不同的OU(组织单元),域管理员可以为不同部门或者不同需要的员工创建出不同的策略。在单机或工作组环境下,我们的策略只能对本地帐户生效。

可用的规则

软件限制策略可以让我们设置允许用户运行哪些程序,不允许运行哪些程序。同时我们可以通过不同的规则来指定允许或者禁止运行的软件。在Windows的软件限制策略中,我们可以通过下列条件来创建规则:

证书规则 通过证书规则,我们可以借助软件可执行程序自带的数字证书来创建策略。例如,我们可以通过证书规则决定,所有带有来自微软的数字证书的软件都可以运行,或者所有带有某个不被信任的开发商的数字证书的软件都禁止运行。这样每当我们试图运行一个程序的时候,系统都会查看该程序的数字签名,然后跟软件限制策略中的定义进行比较,并根据策略的设置决定是否允许运行。

哈希规则 在使用哈希规则的时候,我们可以指定一个软件的可执行文件,然后由操作系统计算该文件的哈希值,并根据计算出来的哈希值决定是否允许运行该软件。

网络区域规则 该规则主要用于使用Windows Installer技术安装的软件,因为通过该规则,我们可以对来自不同Internet区域的软件的安装程序采取不同的限制措施。

路径规则 通过该规则,我们可以利用程序的安装路径或者注册表路径来决定是否允许某个路径的程序的运行。

上述四种方式各有利弊,下表列出了不同情况下建议使用的规则:

目的 建议使用的规则
允许或不允许运行特定版本的程序 哈希规则
允许或不允许运行始终安装在同一位置的程序 文件路径规则
允许或不允许运行可以安装在计算机上任何位置的程序 注册表路径规则
允许或不允许运行保存在中央服务器上的程序或脚本 文件路径规则
允许或不允许运行保存在中央服务器上的一批程序或脚本 带有通配符的文件路径规则
允许或不允许某个特定名称的程序运行 路径规则
允许或不允许某个特定公司开发的软件 证书规则
允许或不允许从某个Internet 区域站点安装软件 网络区域规则

通常来说,不同的情况需要选择不同的规则。例如,假设我们通过哈希规则允许某个软件运行,但这个软件有一天升级了,升级程序对软件的主文件进行了修补,导致文件的哈希值产生了改变(要知道,对一个无论多大的文件,只要内容被改变了哪怕一个字节,该文件的哈希值也会发生巨大的变化),那么用户将无法再使用这个程序,除非管理员修改软件限制策略。这种时候我们就可以使用证书规则来限制,毕竟无论软件怎么升级,只要开发商没有”改头换面”,那么该软件包含的数字证书就不会变化。

同时这些规则的应用还存在一个优先级问题。例如,同一个程序,如果按照证书规则来看,是允许运行的,但按照路径规则来看,是不被允许的。那么系统到底该允许还是禁止该程序运行?一般来说,上述四类规则按照优先级的高低排列,顺序是:哈希规则、证书规则、路径规则、网络区域规则,高优先级规则的设置会覆盖低优先级规则的设置。同时,对于同一种规则,”禁止”要优先于”允许”,例如对某个软件,我们无意中使用某种规则(例如哈希规则)创建了禁止运行和允许运行这两条规则,那么最终的结果是系统禁止该程序运行。

可用的策略

运行secpol.msc,打开本地安全策略控制台,在控制台窗口左侧的树形图中依次进入到”安全设置-软件限制策略”,然后在软件限制策略节点上单击鼠标右键,选择”创建软件限制策略”,这样我们就可以创建一个默认的软件限制策略,同时该节点下将出现名为”安全级别”和”其他规则”的两个节点(如图1所示)。下面我们分别介绍新出现的每个策略。

图 1,Windows Vista中可用的软件限制策略

新建了软件限制策略后,在”软件限制策略”节点下有三条策略,其作用分别如下:

强制 该策略决定了软件限制策略的适用范围。单击该策略后可以看到2所示的对话框。

图 2,”强制”策略的设置内容

应用软件限制策略到下列文件 该选项决定了软件限制策略是否应用到库文件。简单来说,库文件为软件的运行提供支持,有时候是运行某些软件时必不可少的组件。但有时候可能有这样的情况:假设我们通过证书规则决定只运行某个厂商开发的软件,但该软件的运行需要的某个dll文件的数字签名来自另外一个厂商,这种情况下,为了让该软件可以正常运行,我们就需要选择”除去库文件之外的所有软件文件”选项,同时一般情况下也建议选择该选项。毕竟大部分软件的运行都是通过一些可执行文件(例如.exe文件)实现的,只要对可执行文件设置好限制,库文件的限制已经不再那么重要了。

将软件限制策略应用到下列用户 该选项决定了是否将软件限制策略应用给管理员用户,默认情况下将会被应用给所有用户。这是一种安全措施,可以让管理员也被自己创建的策略所限制。在默认的设置下,如果不小心设置了错误的策略,并且可能连管理员也被禁止运行策略编辑器,或者根本无法登录,这时候可以使用管理员帐户登录到安全模式下修改策略。不过一般情况下,如果不是很必要,建议软件限制策略只对非管理员用户生效,也就是选中”除本地管理员以外的所有用户”选项。

在应用软件限制策略时 该选项决定了是否在应用软件限制策略时执行证书规则。如果希望使用证书规则,请选择”执行证书规则”,如果希望禁用,请选择”忽略证书规则”。

指派的文件类型 该策略决定了具有什么扩展名的文件可以被视为可执行文件,如图3所示。

图 3,通过策略决定哪些类型的文件属于可执行文件

所有由该策略指定的文件都会被系统当作是可执行文件,而执行这些文件都需要经过软件限制策略的许可。如果希望添加新的文件类型为可执行文件,可以在”文件扩展名”文本框中输入目标文件类型的扩展名,然后单击”添加”按钮;如果不再希望系统将某种类型的文件当作可执行文件,可以从列表中选中目标文件类型,然后单击”删除”按钮。

受信任的发布者 该策略的属性对话框如图4所示。默认情况下,Windows Vista并不允许我们修改这些设置,因此首先需要选中”定义这些策略设置”选项,接下来所有选项都将可修改了。在这个对话框上,”受信任的发布者管理”选项可以让我们决定谁可以选择受信任的发布者(受信任的发布者发布的程序将允许运行),例如我们可以选择”所有管理员和用户”,这样用户就可以决定;或者我们可以选择”所有管理员”(单机或工作组环境下)或”企业管理员”(域环境中),这样就只能由管理员选择受信任的发布者。接下来的证书验证选项可以用来决定Windows通过检查哪些项目决定证书是否被吊销。通常吊销的证书都是无效的,因此应该及时检查证书吊销情况,以免以前创建的证书规则在证书被吊销后依然生效,让用户运行了已经不再允许运行的程序。如果希望Windows检查证书的发行者是否依然有效,可以选中”是否未被吊销”选项;如果希望让Windows检查证书的有效时间有没有到期,可以选择”是否具有有效的时间戳”选项。

图 4,收信人的发布者策略属性

接下来进入到”安全级别”节点,在Windows Vista下,该节点有三条策略。这些策略都是互斥的,因此同一时间里,只有一条策略是生效的默认策略。默认策略的显示和非默认策略有所不同,默认策略的图标上会有一个对钩的图案。如果希望更改默认策略,只需要在目标策略上单击鼠标右键,然后选择”设置为默认”即可,这样原先的默认策略会被取消,系统会自动将我们新选择的策略设置为默认。

不允许的 这条策略的含义是,除了通过其他规则明确允许的软件外,其他软件都禁止运行。

不受限的 这条策略的含义是,除了通过其他策略明确拒绝的软件外,其他软件都允许运行。

因此我们可以根据这两条策略的相应作用并结合自己的需要进行配置。例如,如果希望公司员工只使用特定的几个工作需要的程序,而禁止使用本机安装的其他程序,就可以将”不允许的”设为默认值;如果希望用户可以使用绝大多数软件,只禁止运行特定的几个软件,可以将”不受限的”设置为默认值。

除此之外,还有一个名为”基本用户”的策略,”基本用户”这条策略的含义是,除了通过其他规则明确指定的软件外,其他所有软件都只能以一般用户的身份运行(也就是说,不能以管理员的身份运行)。

在”其他规则”节点下,可以看到一些系统预设的规则。取决于系统的不同以及其他策略的设置,这里可能会出现不同数量的默认规则。通常情况下,这些规则都是为了保证操作系统可以正常使用而准备的,因此如果不是特别必要,最好不要删除或者修改这些系统自建的规则。我们可以按照需要创建自定义的规则。

在”其他规则”节点上单击鼠标右键,从随后出现的右键菜单中,选择”新建证书规则”、”新建哈希规则”、”新建网络区域规则”或者”新建路径规则”,就可以建立对应的规则。我们一起来看看这些规则都是如何创建的。

创建规则

证书规则

上文中我们已经说过,通过使用证书规则,我们可以通过应用程序文件的数字签名来决定是否允许运行该程序。对于这个功能,应该谨慎使用,因为一旦启用证书规则,那么每次运行程序的时候,系统都将对程序需要的每个可执行文件以及库文件(如果曾设置了包含库文件的话)检验数字签名,这有可能导致系统性能的降低。

新建证书规则对话框如图4所示。

图 5,新建证书规则

在Windows Vista中,创建证书规则是很简单的,我们不需要专门获得软件公司的证书,因为只要有带有数字签名的文件,Windows Vista可以自动从中提取证书。因此我们可以直接单击”浏览”按钮,在随后出现的下拉菜单中定位证书。

在定位证书的时候要注意,如果你已经准备好了需要添加规则的证书(.cer或者.crt文件),那么只需要在打开对话框中选中这些文件即可。如果你手头没有需要的证书,但是想要对特定的软件进行限制,也很简单,只要该软件带有数字签名(由正规公司新发行的软件基本上都带有),那么可以在打开对话框的文件类型下拉菜单中选择”签名的文件”选项,然后直接选择目标软件对应的主文件即可。

选择好文件或者证书后,”证书使用者名称”文本框就会变为灰色,同时显示所选证书的信息。如果需要看到证书的详细信息,可以单击右侧的”详细信息”按钮。

接下来,我们需要在”安全级别”下拉菜单在中选择一个级别,例如是”不允许的”或者”不受限的”。

最后,为了方便日后管理众多的规则,我们还可以在”描述”文本框中输入一定的描述性文字。

如果你还在使用Windows XP,那么在使用证书策略的时候会遇到一些麻烦,因为Windows XP限制我们只能使用cer或者crt文件创建规则,而不能使用带有数字签名的程序文件。因此在Windows XP中创建证书规则的时候,我们必须首先能够获得某个厂商的数字证书。方法也很简单,我们只需要准备一个该厂商发布的,带有数字签名的软件的安装程序(.exe或者.msi格式的文件)即可。具体的操作步骤是这样的:

  1. 打开Windows资源管理器,找到目标文件,用鼠标右键单击,选择”属性”,打开属性对话框。

  2. 在属性对话框上打开”数字签名”选项卡(注意,如果没找到这样的选项卡,说明该安装程序不带数字签名,无法从中提取)。

  3. 在签名列表中通常会出现该程序开发商的名称,单击将其选中,然后单击下方的”详细信息”按钮。

  4. 在随后出现的数字签名详细信息对话框上直接单击”查看证书”按钮,随后可以打开证书对话框。

  5. 打开证书对话框的”详细信息”选项卡,单击底部的”复制到文件”按钮(如图6所示)。

     

图 6,通过这个对话框将证书复制为文件

  1. 随后可以看到一个证书导出向导对话框,在向导的第一个页面上单击”下一步”。

  2. 随后可以看到图7所示的导出文件格式页面,在这里选择默认的”DER编码二进制X.509″,然后单击”下一步”。

图 7,选择正确的证书导出格式

  1. 接下来为证书文件指定一个保存位置,可以单击”浏览”按钮进行定位。选择好之后单击”下一步”。

  2. 单击”完成”,证书导出操作结束。

至此,我们已经得到了目标软件的.cer格式的证书,利用这个证书我们可以按照上文介绍的方法创建证书规则,并对所有带有该证书的软件的运行进行控制。

哈希规则

要创建哈希规则,请在”其他规则”节点上单击鼠标右键,选择”新建哈希规则”,随后可以看到图8所示的对话框。

图 8,在这里创建哈希规则

首先,我们需要单击”浏览”按钮定位该队则应用到的软件的主文件,随后系统会自动为我们指定的文件计算散列信息,并保存到系统中,同时在”文件信息”文本框中还会显示我们选择的文件的详细信息。

接下来,需要根据实际需要在安全级别下拉菜单中选择不同的安全级别:不受限的、基本用户、不允许的。

最后,为了方便日后管理众多的规则,我们还可以在”描述”文本框中输入一定的描述性文字。

网络区域规则

这种规则可以让我们针对位于不同IE区域的.msi格式的软件安装文件的运行进行限制。要创建区域规则,请在请在”其他规则”节点上单击鼠标右键,选择”新建网络区域规则”,随后可以看到图8所示的对话框。

图 9,在这里创建网络区域规则

首先,我们可以从”网络区域”下拉菜单中选择不同的网络区域,然后可以从”安全级别”下拉菜单选择希望进行的设置。

路径规则

路径规则可以让我们对安装在某个路径下的软件,或者需要访问某个注册表路径的软件的运行进行控制。

要创建路径规则,请在”其他规则”节点上单击鼠标右键,选择”新建路径规则”,随后可以看到图9所示的对话框。

图 10,创建路径规则

如果要创建文件路径(可以是本地路径,例如”c:\windows”;或者UNC格式的网络路径,例如”\\Server\Folder”),请直接在”路径”文本框中输入,或者单击”浏览”按钮进行选择;如果要创建注册表路径,请直接在”路径”文本框中输入。在输入文件路径的时候,可以使用”*”和”?”通配符,同时还可以使用环境变量。

在给文件路径规则使用通配符的时候需要注意,如果同一个路径,有不同的路径规则进行控制,那么越具体的路径设置可以获得越高的优先级。例如,我们利用文件规则对”*.vbs”格式的文件禁止运行,但又通过文件路径规则对”\\LOGIN_SRV\Share\*.VBS”设置为”不受限的”,那么这些保存在特定服务器上的.vbs文件将可以正常运行,但其他位置保存的.vbs文件就无法运行。

在输入注册表路径的时候需要注意,输入的路径必须用半角的百分号(%)包裹起来,同时必须输入完整的根键名称,不能输入缩写。路径的格式是这样的:

%<Registry Hive>\<Registry Key Name>\<Value Name>%

例如,我们可以输入这样的路径:

%HKEY_LOCAL_MACHINE\Software\Microsoft%

但不能输入这样的路径:

%HKLM\Software\Microsoft%

输入好路径后,在”安全级别”下拉菜单中选择希望使用的设置。

使用举例

关于软件限制策略的介绍就是上面这些。那么在了解了所有的概念后,怎样才能根据需要设置出符合要求的策略来?下文会以家庭和办公室两种环境进行模拟。

家庭环境:禁止特定程序运行

家长需要使用Windows Live Messenger联系朋友,可不希望孩子用这个软件在网上和陌生人聊天,这时候可以考虑使用软件限制策略。

要使用这个功能,家长必须使用管理员帐户,孩子则必须使用非管理员帐户。这样做主要有两个目的:首先,在单机环境下,软件限制策略只能对所有本地帐户生效,但有一个例外,就是管理员帐户,我们可以通过组策略决定软件限制策略是否对管理员帐户生效。另外,不让孩子使用管理员帐户,可以防止孩子私自修改相关策略,取消限制。

完整的操作过程是这样的:

  1. 运行secpol.msc打开本地安全策略控制台,从窗口左侧的控制台树中依次进入”安全设置-软件限制策略”,用鼠标右键单击”软件限制策略”,选择”创建软件限制策略”。接着双击右侧的”强制”策略,把”将软件限制策略应用到下列用户”选项设置为”除本地管理员以外的所有用户”。

  2. 接着创建禁止运行Windows Live Messenger的策略。在”其他规则”节点上单击鼠标右键,选择”新建路径规则”,在随后打开的对话框中单击”浏览”按钮,然后选择Windows Live Messenger的安装目录。确定目录后在”安全级别”下拉菜单中选择”不允许的”。

这样就设置完成了。现在请考虑,为什么在这里我们要使用路径规则,而不使用其他规则?如果使用证书规则,那么所有带有微软数字签名的软件都将无法使用,而Windows Vista中这样的软件数不胜数。如果使用哈希规则,那么一旦Windows Live Messenger升级了,哈希改变,就会导致显示失效。

看看会怎样吧。让孩子使用自己的帐户登录系统,运行其他软件,都正常,但在尝试运行Windows Live Messenger的时候会看到下图所示的错误提示信息。

公司环境:允许特定程序运行

公司里的情况就复杂多了,老板可能希望员工只使用工作上需要的程序,而禁止运行其他任何和工作无关的程序。假设老板希望在保证Windows正常运行的情况下,只允许员工运行AutoCAD,不允许使用其他任何程序,完整的操作过程是这样的:

  1. 首先和上面的例子一样,给员工创建非管理员帐户,当然,原因也是一样的。

  2. 接着运行secpol.msc打开本地安全控制台,创建软件限制策略,并将”强制”策略设置为”除本地管理员以外的所有用户”。

  3. 进入到”安全级别”节点,在”不允许的”节点上单击鼠标右键,选择”设置为默认”,并在随后出现的提示对话框上单击”是”。这样才可以在禁止运行所有程序的前提下只允许指定的程序运行。

  4. 进入到”其他规则”节点,一定要注意,取决于实际情况,这里可能会出现一些安全级别显示为”不受限的”的规则,不要编辑或者删除这些规则,只有存在这些规则才能保证操作系统能够正常运行。用鼠标右键单击”其他规则”节点,选择”新建哈希规则”。在随后出现的对话框中单击”浏览”按钮,选择AutoCAD软件的主文件,然后在”安全级别”下拉菜单中选择”不受限的”。

注意:这种方法无法限制Windows自带的程序。

软件限制策略使用建议

基本上,和软件限制策略有关的概念性内容就是上面这些了,很容易,但是如何利用这些概念创建出能够保证系统和信息安全的规则则需要长期的练习。同时在使用该功能的时候还有一些问题需要注意。

首先,如果设置的策略对所有用户,包括管理员都生效,但因为自己设置错误,导致系统无法使用,甚至本地安全策略控制台都打不开,这时候该怎么办?遇到这种情况也不用着急,只要在安全模式下使用管理员帐户登录即可,安全模式下软件限制策略不会生效,因此我们可以在安全模式下修改错误的设置。

另外,请密切注意你的设置在保证限制的同时,是否会影响到用户的使用。例如,如果我们需要在禁止使用其他软件的同时允许使用Windows Live Messenger和客户交流,那么是否只要对msnmsgr.exe(Windows Live Messenger的主程序)创建一条哈希规则就可以了?这样做该软件确实可以使用,但功能上会受到限制,例如语音通信或者视频通信,虽然也是在Windows Live Messenger中完成的,但实际上这些应用由专门的程序来完成。因此在创建规则的时候,一定要确保不仅可以保证必要软件的正常使用,还得保证所有需要的功能都不会受到限制。

最后,单纯使用软件限制策略能否完全保证实现目的?假如我们通过路径规则禁止员工使用QQ,员工将QQ的安装目录移动到其他位置,只要让路径变化了,那么这条策略就等于失效。因此在使用策略限制软件使用的同时,还需要配合NTFS权限,禁止员工移动文件到其他目录,或者禁止给某些目录写入新的文件。

本文已刊登于《个人电脑》杂志

, ,

3条留言