安全测试:OWASP介绍

开放Web应用安全项目(OWASP: Open Web Application Security Project)是一个致力于Web应用安全的在线社区。在欧洲自2011年6月为非盈利性组织。

项目

有孵化、实验和旗舰项目。主要项目如下:

  • OWASP Top Ten:十大风险。

  • OWASP软件保证成熟度模型SAMM Software Assurance Maturity Model): 打造一个可用的框架,以帮助制定和实施适合具体组织的应用安全策略。

  • OWASP开发指南:提供了实用的指导,包括J2EE,ASP.NET,PHP代码示例, 涵盖的应用级安全问题,从SQL注入到网络钓鱼、信用卡操作、会话定位、跨站请求伪造,依从性和隐私问题等。

  • OWASP测试指南:OWASP测试指南包括"最佳实践"渗透测试框架和描述了最常见Web应用和web服务的安全问题的低层渗透测试指南。

  • OWASP代码审查指南:当前版本1.1。

  • OWASP应用安全验证标准(ASVS:Application Security Verification Standard):用于执行应用级安全验证的标准。

  • OWASP XML安全网关(XSG:XML Security Gateway)评估标准项目。

  • OWASP ZAP(Zed Attack Proxy)项目:Zed 的攻击代理(ZAP)是一个易于使用的用于查找Web应用漏洞的集成渗透测试工具,时候也有广泛的安全经验者和初涉安全的相关开发和测试人员使用。

  • Webgoat:不安全的Web应用程序。包含教程,适合教学。

OWASP十大移动安全漏洞

参考资料:Projects/OWASP Mobile Security Project - Top Ten Mobile Risks

  • Weak Server Side Controls 弱服务器端控制

没有以安全的方式从移动应用向服务器端发送数据,或发送数据时暴露了敏感的API。例如登陆没有验证。例如登陆时没有验证输入进行验证。攻击者修改证书来访问敏感和未经授权区域。

  • Insecure Data Storage 不安全的数据存储

用户可访问应用相关的信息。在shared preferences,SQLite(以明文形式)或外部存储中存储用户相关机密信息或应用信息。如果是root之后就更加不可控。

  • Insufficient Transport Layer Protection 传输层保护不够

使用不安全的方式进行数据传输,比如HTTP,或者没正确实现SSL。很容易发生数据包拦截、篡改等。

  • Unintended Data Leakage 无意识数据泄露:

存储数据的位置不可靠,比如剪贴板,URL缓存,浏览器的Cookies,HTML5数据存储,分析数据等等。如用户在登录银行应用的时把密码复制到剪贴板,恶意应用通过访问用户剪贴板数据就可获取密码。

  • Poor Authorization and Authentication:弱授权和认证

如果基于客户端验证或者授权就存在风险的,手机root后多数客户端的保护以绕过。 建议使用服务器端身份验证和授权,并使用随机token。

  • Broken Cryptography:弱加密:

如MD5, SHA1, RC2,甚至自开发的非安全算法。

  • Client Side Injection 客户端注入:

通常是SQLite注入

  • Security Decisions Via Untrusted Inputs 不可信输入

包含用户输入和其它相关输入,不可信的输入可能会导致客户端注入等风险。

  • Improper Session Handling 会话处理不当

session的认证cookie的失效时间,安全令牌创建,cookie生成和轮转,无法失效session等。Web应用和Android应用之间必须有安全同步。

  • Lack of Binary Protections 缺乏二进制保护

不能合适地防止逆向或者反编译。apktool,dex2jar等工具可以逆向Android应用,如果开发实践不完整,会暴露出各种安全风险,建议使用proguardand和dasho等进行二进制保护。


参考资料

  • 维基百科OWASP英文介绍

  • 作者博客:http://my.oschina.net/u/1433482

你可能感兴趣的:(安全测试:OWASP介绍)