取消
显示结果 
搜索替代 
您的意思是: 
cancel
1096
查看次数
0
有帮助
0
评论
julianchen
Spotlight
Spotlight

特权或认证不当(Improper Privileges or Authentication

如果未能正确地分配,跟踪,修改或验证用户的相关权限和凭据,那么就可能发生特权或身份验证不当的情况。此类漏洞可以让攻击者滥用特权,执行受限的任务,以及访问受限的数据。

特权或身份验证不当的典型示例包括:

  • 未及时回收临时的提权
  • 仅通过黑名单、而不是白名单来限制特权
  • 允许较低的特权级别去影响较高的特权帐户,例如:重置管理员的密码
  • 限制登录尝试的次数或会话空闲时间

特权或身份验证漏洞仍然可能发生在软、硬件体系架构的设计、实施、以及操作阶段。它同样不限于某一种编程语言。

特权或身份验证漏洞的预防措施

您应当将“最小特权原则”,应用于与目标软件和系统交互的所有用户和服务之中。只给真正需要某些资源和操作的用户或服务,完成所需任务的最少权限。我们需要通过在整个程序和环境中使用访问控制,来限制用户和实体的权限。

如有可能,我们也可以将高级特权分给多个角色。通过分离,我们可以有效地削弱“高级用户”,并降低攻击者滥用其访问权限的能力。此外,您还可以运用多因素身份验证的方法,来防止攻击者绕过系统的检查机制,轻松地获得访问权限。

减少一般性漏洞的最佳实践

除了采取针对特定漏洞的措施之外,我们还应该利用一些通用的措施,在总体上减少漏洞的暴露面。您可以从如下方面入手:

从威胁情报中学习

请持续监控和使用来自漏洞数据库(vulnerability databases,请参见--https://vuln.whitesourcesoftware.com/)和独立监督组(如:OWASPNIST)的消息。这些资源可以在出现漏洞后,及时地为您提供该漏洞的相关信息,并能够指导您如何解决或缓解当前存在的问题。据此,您可以根据实际情况,准确地修补目标系统及其组件。

谨慎地包含依赖性

请确保仅在需要时才去使用那些已经过审核、且值得信任的库和框架。某些不知名的工具会将其自身的漏洞传递到您的软件中,并且会给攻击者提供潜在的访问后门。而且,在使用选定的库和框架时,请确保您已经充分了解了可用的功能,以及那些已知的漏洞与缺陷。

执行漏洞评估

永远不要盲目地认为自己的程序已经“固若金汤”,请不断通过静态代码和动态运行时(runtime)的测试,以确保各种遗留的漏洞能够得到及时的评估。只有将自动测试工具集成到现有开发环境中,您才能尽早地发现漏洞。据此,您可以确保自己不会因为时间的限制而跳过某些重要的测试,也不会因为人为的错误而忽略掉应有的测试。

总结

综上所述,软件漏洞可谓层出不穷,显然无法赶尽杀绝。我们能做的只有通过了解漏洞的原理和防范的措施,来及时地调整自己的实现方式,并开展全面的测试,尽量在产品发布之前,尽可能多地发现并解决潜在的漏洞与问题。希望本文在上面所介绍到的各种最常见漏洞,以及在软件开发中推荐采用的实践和方法,能够帮助您减少攻击者乘虚而入的机会。

 

【原标题】Avoiding Vulnerabilities in Software Development (作者: Eddie Segal )

原文链接:https://dzone.com/articles/avoiding-vulnerabilities-in-software-development

入门指南

使用上面的搜索栏输入关键字、短语或问题,搜索问题的答案。

我们希望您在这里的旅程尽可能顺利,因此这里有一些链接可以帮助您快速熟悉思科社区:









快捷链接