作品发布     邀请码    设为首页  收藏 

当前位置:文章综合 → 文章内容 >> 创建高等级应用程序安全性的最佳做法 (1)


创建高等级应用程序安全性的最佳做法 (1)

更新时间:2013-9-14 0:25:26   作者:华中帝国整理  来源:华中帝国
概述 软件盗版仍然在不断蔓延仍然猖獗。根据商业软件协会和 IDC 的第二次年度全球软件盗版调查,在全世界个人计算机上安装的软件有 35% 是盗版软件,这意味着在 2004 年盗版造成了将近 330 亿美元的损 ...

    概述

    软件盗版仍然在不断蔓延仍然猖獗。根据商业软件协会和 IDC 的第二次年度全球软件盗版调查,在全世界个人计算机上安装的软件有 35% 是盗版软件,这意味着在 2004 年盗版造成了将近 330 亿美元的损失。本白皮书将研究流行的黑客攻击手段以及有效的反击手段。我们还将讨论部署安全措施以充分发挥现有解决方案全部潜力的最佳做法。

    威胁评估

    为了确定对应用程序最合适的安全解决方案,您必须首先评估您的应用程序所面临的威胁。一个常见的误解是,所估计的330亿美元损失都是被依靠盗版盈利的专业盗版者窃取的。实际上,很多“盗版者”只是些随意复制者,他们虽然只购买了一份授权,但认为将软件复制到多台机器是可以接受的做法。

    不幸的是,但还是还有很多黑客把破解软件保护方案当作其挑战个人能力的一种手段,专以破解软件保护为乐。某些黑客也以此为营利手段。他们破解应用程序,然后提供在线付费下载或刻制成 CD 在街头贩卖。无论其分发渠道如何,黑客们赚取收入的同时都意味着合法软件供应商的收入在流失。

    另一方面,某些参与其中的盗版者只是为了获取“名声”,这些人也就是一般所谓的“破解者”。他们因为能够解除集成到软件应用程序中的反盗版保护措施而在破解团体中赢得“名望”。他们并不寻求从其破解中获利,但可能会将破解后的应用程序发布到公共网络上。随着宽带连接的快速普及,这种做法导致软件被大范围免费获取。虽然破解者可能并未从中牟利,但却给软件供应商的收入造成了巨大损失。

    敌方手段

    了解了敌人的动机及其战略目标后,让我们来研究一下他们的战术。下面列出了一些最流行的攻击手段,这些是任何有效的反盗版解决方案必须抵御的攻击。

    驱动程序替换/仿真:这种攻击手段会替换/仿真应用程序用于与保护锁通信的驱动程序(基于软件)。

    重放: 在重放类攻击中,黑客会监视并复制硬件保护锁与应用程序之间的通信数据,然后通过重现通信过程来访问应用程序。

    暴力攻击:暴力攻击是一种查找密码的手段,其特点就是不断尝试每种可能的字母、数字和符号组合,直到找出正确的组合。

    逆向工程:逆向工程是使用调试器和/或反汇编器来解除软件保护机制的方法。攻击者们使用这些工具来了解应用程序的工作方式。然后,攻击者们会使用调试器和反汇编器转储代码除去对硬件设备的调用。

    时间篡改:时间篡改就是改回系统时钟时间,使经过一段时间后本应无法使用的试用版应用程序等继续工作。

    建立军火库

    实际上,没有任何软件供应商会采用可能实现的最高安全保护级别。.最高的安全保护级别可能是售出的每份软件都由开着坦克装备着催泪弹的武装护卫队来保护。这样的保护显然可以确保任何软件都不可能在没有授权的情况下被复制或安装到 PC 上。但显然我们也无需赘言这种解决方案不具备可行性。排除了“雇佣打手”后,我们将继续研究最可能保护应用程序的合理安全措施。

    针对盗版和违反授权,软件保护市场充斥着无数安全性各不相同的解决方案。幸运的是,基于软件的授权虽然不是现有最安全的反盗版技术,但已经能有效减少由于随意复制者造成的收入损失。因为此类损失往往是由于无知而非故意侵权造成的。只需提醒这些用户他们正在窃取软件供应商的利益可能就足以使他们打消违反授权的念头。基于软件的授权同时也提供了最强大而灵活的授权选择,并可以配合硬件保护锁以增强反盗版能力。

    但是,因为授权存储在机器上而非外部设备上,所以不能认为软件的运行环境是绝对安全的。也就是说基于软件的解决方案不能构建起抵御盗版攻击的无敌屏障。

    特种武器

    采用代价过高的保护方案显然不明智(坦克和武装护卫可不便宜),我们的目标应该是使盗版比购买正版软件更昂贵。 基于外部硬件的解决方案提供了目前为止最高的安全性。硬件保护锁通常用于保护高价值应用程序,因此最终用户也习惯了其存在。虽然硬件保护锁不象无线互联网或发动机那样受最终用户欢迎,但硬件保护锁并不会造成很大不便,因而也不会影响软件的销售。

    硬件设备通常采用USB(通用串行总线)或 25 针并口形式。使用软件工具包,您就可以通过集成函数检查是否存在特定外部硬件设备的来保护应用程序。然后,软件将根据设备上存储的授权所提供的权利来决定运行与否。

    加强型防线

    事实上,黑客们一直在进化发展,虽然我们更希望他们保持在单细胞生物形态。因为我们面临的威胁会随环境而变化,因此软件供应商们也必须调整其保护方案。高级别的应用程序安全措施应该与时俱进,并加入阻止新攻击威胁的创新手段。

    为了抵御重放攻击或驱动程序替换攻击,我们必须保护软件应用程序与保护锁之间的通信。保护锁所能提供的安全性取决于对此通信的防护——链条的强度取决于最弱的一环。为了保护此通信,很多硬件保护锁都采用了加密算法。其中包括 AES(高级加密标准)算法。虽然 AES 由美国标准与技术研究院于 2001 年 11 月开始采用并且广受好评,目前已经出现了更强的加密方法。

    比如椭圆曲线加密法(ECC),这是被认为无法用数学方法攻破的加密法。这种公钥加密法可以创建不对称密钥。配合 AES 算法使用时,这些密钥可以在应用程序和硬件加密锁之间建立一个加密的通信隧道。建立这样的通信就意味着硬件加密锁与应用程序可通过这个端对端隧道进行防黑客通信。使用加密标准创建安全隧道可有效消除“记录回放”和驱动程序仿真等中间层攻击的可能。因为在应用程序与硬件加密锁之间的每次通信会话都使用了唯一的加密密钥,暴力攻击和加密锁克

[1] [2]

责任编辑:华中帝国        



本文引用网址: 

创建高等级应用程序安全性的最佳做法 (1)的相关文章
发表评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码