当前位置:主页   - 电脑 - 网络技术 - 网络安全
提高应用程序强度的安全性方式(三)
来源:网络   作者:   更新时间:2010-09-27
收藏此页】    【字号    】    【打印】    【关闭

  错误处理 Error Handling

  错误处理即是一个工程也是安全挑战。一个应用程序如何单独的工作并且如何结合其他的应用程序导致或强或弱的安全性。一个应用程序已经定义了限制和安全的处理错误条件意味着在一个适用性强的环境和完全崩溃的环境之间的区别。

  错误处理是应用程序设计经常会忘记或忽略的一个方面。如果没有设计一个处理错误的构架,那么该程序最终终结于工作在这个项目上的每一个开发者的不同方案中。错误处理的组成部分包括:

  1. 错误类型的定义: 程序,运行时间,安全违规,项目bug。

  2. 安全级的定义: 信息,警告,灾难性的问题

  3. 日志和审查: 集中审查模块化组件如文档,e-mail, 手机

  4. 定义错误类型和级别的反应: 提出警告,阻止一个组件,重启服务,关闭应用程序,通知管理员。

  一个应用程序错误处理能力的设计会进一步别加强当功能需求包括消极的方案。(见上述的假想敌部分)。提供错误处理的构架会创建出更有预见性和易于使用的应用程序。它会重新解决产生于设计者个人风格和强迫设计者在一个程序中列出制约和限制的一些困难。错误处理的构建在异常情况发生时提供更大的透明度和理解度。

  安全测试Testing for Security

  最后一个方面是人们总是没有意识到安全测试的重要性。三个安全测试的组成部分:

  1. 功能验证(Functional verification)

  2. 限制评估(Constraint evaluation)

  3. 边界案例和攻击(Border cases and attacks)

  功能验证是最普遍的测试形式而且而其是当人们进行应用程序测试时所经常提到的。就像设计者为他们的功能需求建立测试一样,同等重要的是为那些不良行为和错误条件(应用程序的约束和限制)建立的需求设计测试。

  边界测试可以按一下方法:

  1. 测试应用程序接口: APIs, network和user—the physical borders.

  2. 测试数据处理的边界: 将要被应用程序处理的完美数据的多重组合。这些包括数据值的有效范围,不期望的类型和随机产生的数据。

  用于应用程序安全测试的工具有很多。包括代码分析器,建模工具和压力测试工具如fuzzers,帮助查明许多软件的漏洞和编码问题。

  测试的相结合包括定义功能和限制评估,同时压力测试可以加强应用程序的限制和界限,在它成为重要环境部署之前帮助提高安全性。

  总结

  应用程序中的安全性不是必需成为一定要完成的任务。考虑到应用程序各个阶段的安全方面,作为基本的功能需求,可以将安全性编入应用程序的各个区域。这要做的的结果就是积累级别较高的安全强度,弹性和质量。花费了大量精力在着眼于应用程序的各个层的设计阶段期间并且怎么会希望人们会或者不会使用应用程序为功能性建立基础,可以同时满足用户的需要和承受所有异常情况的发生。

  适当的安全技术的应用像是认证,访问控制和加密可以确保在不可信的环境中有较高程度的安全性。了解在应用程序中最坏情况下的方案事件,处理错误和隔离敏感数据和操作能够稳固一个程序的强度。最后,花些时间来测试和验证权限,功能和安全将保证开发者和用户的信任度。保持安全意识来创建有益安全的应用程序吧。

  系列文章:

  提高应用程序强度的安全性方式(一)

  提高应用程序强度的安全性方式(二)

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明