ahahage 2015-02-02
1、 安全测试介绍
a) 安全测试现状
应用安全形势日益严峻,新型黑客攻击手段层出不穷,用户对于隐私信息保护等安全要求越来越高。在创新网站、移动产品竞争激烈的今天,投资者与创业者更关心产品何时发布,如何占得先机获取更大的收益。为了保证产品尽快发布,尽可能减少人力成本和时间成本,从而将安全这个重要一环的工作放在了被攻击后的时机去解决。
所以,在当今的互联网产品中,大量的产品存在严重的安全风险,给黑客开启了众多可攻击的途径,轻松获取公司、用户敏感信息,引发网络舆论对公司产品千万严重的安全信誉影响。
而安全测试工作恰恰是解决在产品发布前的重要安全防御的一环,安全测试工作做好了,可以有效杜绝产品上的大部分安全漏洞,为企业声誉、用户隐私用户提供有力的安全保障。
b) 安全测试体系介绍
如何做好安全测试工作是门学问,不同公司、产品、业务拥有千奇百怪的功能和场景,需要在开发过程中的每一个环节进行深入,尽可能越早的发现安全漏洞对于成本控制来讲越是最低。
安全测试体系简单来说可以依托、介入开发过程来实现:
当然,以上所描述的安全测试工作需要遵循几个原则:
c) 安全测试工作开展情况
如安全测试体系中介绍,安全测试工作涉及多项流程和工具,一般企业、创业公司无法在每一个环节中切入去保证安全质量,也没有专业和安全人员去把控。所以,一般常见的处理方式是:
2、 安全测试常见测试手段剖析
接下来描述几下常见的安全测试方法和手段,以及优缺点,方便大家参考:
a) 黑盒检测:
通常方式是获取数据( URL、表单、Ajax 等相关请求),使用漏洞规则对其进行模糊测试,发现漏洞。
i. 手工:通过安全经验,借助于浏览器插件、抓包、Fuzzing 工具对产品进行测试。
ii. 代理拦截:将浏览器设置代理,获取浏览数据,自动 Fuzzing。
iii. 蜘蛛爬虫:
b) 白盒检测
白盒安全扫描有多不同,针对不同语言和平台的,相对黑盒扫描会有重要的问题:误报高、漏报高,且不同企业的开发语言、开发规范、开发框架不统一。
i. 正则匹配:基于漏洞特征和编码习惯维护漏洞库,使用正则对代码匹配,误别潜在的安全风险。误报高,且排查确认成本非常高。
ii. 语法树:将代码解析成语法树,通过变量传递等方式,基于风险输入特征、风险输出特征判断漏洞是否存在。这种方式精准度比较高,再结合业务开发构架和规则效果更好。
c) 其他检测手段
i. 白+黑关联
由于黑盒覆盖率不全,白盒误报比较高,会有一种方式是将代码找出来的漏洞,通过将代码映射成真实的URL,再交由黑盒Fuzzing 进行漏洞验证,这种方式的困难在于开发构架是否标准规范。
ii. 字节码注入
使用 Javassist 方式将java字节码的风险函数进行Hook,再利用 Fuzz 的方式实现灰盒检测的目的。
3、 安全测试问题及挑战
综合以上所述,安全测试工作涉及很多工作内容,同时要掌握诸多安全技术、安全工具、代码分析能力,是一项极具挑战的工作。让开发自测、让功能测试兼测都不是一种很放心的方案。
如何在基于人力有限情况,保证产品快速迭代、抢占市场先机同时又保证安全质量,就需要拥有一个免费的、自动化、便捷易用的黑+白盒一体化的安全测试服务。
4、 STS安全测试服务介绍
a) 介绍
皆在打造为用户提供黑盒+白盒自动化、漏洞实时更新、免费、方便快捷的一体化安全测试服务。
b) 功能
c) 优势
d) 发展
STS 安全检测服务将为用户提供多维度的安全评估功能,以专家维度评估应用的安全漏洞、潜在应用安全风险。并获取用户需求,及时高效完成用户需求,皆在帮助用户提供方便快捷的安全测试服务。