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