- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
测试应用程序的安全性 姚砺 东华大学计算机学院 微软的测试 “很多人都认为微软是一家软件开发公司,而事实上,我们是一家软件测试公司” -比尔盖子 在微软内部,软件测试人员与软件开发人员的比率一般为1.5-2.5左右 一次转身最远能产生多远的距离 —从传统软件测试转向安全性测试 如果不付出相当大的努力去消除,每个复杂的软件程序都会有代价高昂的安全漏洞。这些漏洞会造成病毒和蠕虫的横行,也会使得罪犯能够攫取用户的个人财务数据,而这些用户已如惊弓之鸟,并且本来就很不愿意把他们的个人数据放在Internet上。 2005年,CardSystems成为数字化攻击的牺牲品,由于对信用卡数据在未加密情况下存储,有4000多万张借记卡和信用卡泄密,4个月后,这家公司倒闭出售。 安全性测试:不是验证软件的正确性,而是挖掘软件的漏洞(软件中的“不应该”和“不允许”部分,例如:代码中的缓冲区溢出漏洞,电子秤中的作弊后门等)。--- 越崩溃越快乐! RFC2828将漏洞定义为“系统设计、实现或操作和管理中存在的缺陷或弱点,能被利用而违背系统的安全策略” 例如:对于一个web输入界面的测试,其上有个字段【银行账号】(正确输入是12个数字),对该字段的测试包括: 正确输入验证:正好12个数字(分该账号存在和不存在两种情况验证) 异常输入验证:(模仿用户的一些无意错误操作)输入不满12个数字,超过12个数字,有非数字字符,空,等等。 安全测试:SQL注入攻击(用web代理来输入,绕过客户端的检验检查)、跨站点脚本输出、整数溢出等。 安全测试的出发点:像攻击者一样思考 一些攻击模式的范例 验证用户输入不会提供机会让攻击者通过已知的SQL注入攻击来操纵后台数据库; 验证不存在跨站点执行脚本的可能性; 验证在向服务器发送一个它不能正确处理的非法数据包的情况下,服务器不会崩溃; 验证用户输入不会导致数据处理溢出; 验证程序对错误的处理是恰当的; 验证数据在网络传输中或存储时是经过了保护的 验证不会出现信息泄露 验证访问控制 。。。。。 建立安全性测试计划--- 基于风险的安全测试 威胁/风险建模:排定安全测试的优先级。在对应用程序的设计和应用流程加以理解的基础上,可假定潜在的安全风险并对其进行评价。然后,根据易于攻击和攻击的影响严重性,将这些威胁进行分级并依次消除。然后安全测试人员就可以将其注意力集中于那些攻击难度最低而影响最大的领域。 流程: 信息搜集:需要测试哪个应用程序和应用程序中的哪些模块(组件),对每一个模块(组件)做哪些安全假设,每个组件的哪些安全因素需要测试,预期的结果是什么。 登录页面:(见后) 识别威胁 将与威胁相关的风险进行分级 潜在的破坏程度 再现性和可利用性:探测并利用这个漏洞所做的努力 受影响的用户 登录页面的威胁分析 猜测口令:设计时应设计登录试探次数,例如:只许试探三次,然后锁定ip地址。 利用password文件系统地猜测口令:加密文件(密码强弱,文件存放是否安全) 分析协议和滤出口令:不能明文传输,密码的强弱 重放攻击:加时间戳 木马监视登录/口令:系统安全,一次性口令 盗链: SQL注入漏洞 异常输入破坏: 安全测试技术之七种武器 一个完整的WEB安全性测试可以从以下几个方面入手: 1.安全体系测试 网络是否提供了安全的通信 部署拓扑结构是否包括内部的防火墙 部署拓扑结构中是否包括远程应用程序服务器 操作系统是否存在漏洞,例如Unix上的缓冲区溢出漏洞、Windows上的RPC漏洞、缓冲区溢出漏洞、安全机制漏洞等; 2. 输入验证 如何验证输入 是否清楚入口点 是否验证Web页输入 是否对传递到组件或Web服务的参数进行验证 是否验证从数据库中检索的数据 是否依赖客户端的验证 应用程序是否易受SQL注入攻击 应用程序是否易受XSS攻击 如何处理输入 3.身份验证和授权 是否区分公共访问和受限访问 如何验证调用者身份 如何验证数据库的身份 如何向最终用户授权 4. 敏感数据 是否存储机密信息 如何存储敏感数据 是否在网络中传递敏感数据 5. 加密 为何使用特定的算法 如何确保加密密钥的安全性 6.参数操作 是否验证所有的输入参数 是否在参数过程中传递敏感数据 是否为了安全问题而使用HTTP头数据 7.审核和日志记录 是否明确了要审核的活动 是否考虑如何流动原始调用这身份 应用服务器的安全性测试技术 3、E-mail 炸弹攻击测试。邮件炸弹不仅能造成收件人信箱爆满而无法再接收其他的邮件,而且还会加重网络的流量负荷,甚至会导致整个邮件系统瘫痪。常见的邮件炸弹软件有KaBoom!、Avalanche 等。 4、密码破解和特权提升测试。采用穷举法、漏洞利用和字典法等方法破解系统用户密码,常用工具有:
文档评论(0)