APP下载

手机App安全性测试初探

2014-04-15杨光

计算机与网络 2014年11期
关键词:代码客户端安全性

■杨光

手机App安全性测试初探

■杨光

目前手机App测试还是以发现bug为主,主要测试流程就是服务器接口测试,客户端功能性覆盖,以及自动化配合的性能,适配,压测等,对于App安全性测试貌似没有系统全面统一的标准和流程,其实安全性bug也可以是bug的一种,只不过更加隐秘,难以发现,尤其针对于手机App。

个人理解,大部分App还是走的http或者https,所以防http抓包泄露用户信息以及系统自身漏洞是必要的,毕竟像腾讯那种通过自身通信协议增加安全性的还是少数的 (抓过微信和qq的没抓着,不知道有没有相关工具可以抓手机tcp的包)。既然有接口测试为什么还需要单独对客户端进行抓包验证安全性呢?这么说吧,接口测试其实最主要的验证接口逻辑,可用性,边界值,异常检查,但并不能预先保证客户端调用不出问题,一个针对多个App抓包都发现的问题可以说明:抓了好多社交性App,发现对于用户资料隐私泄露还是很严重的,当你查看一个陌生用户信息时,一些手机号,qq等信息页面上应该不显示的,但这些信息不显示并不代表服务器没有下发,好多都是客户端限制的,通过抓包,完全可以查看到陌生用户的App。再如好多发帖,push消息的应用,如果没有消息有效性的验证,抓到包之后篡改消息,服务器一点反应都没,这就会留有极大的隐患。

至于逆向工程这点,对于android就很好理解了,反编译,修改或者插入自己的代码,以达到相应目的。真见过几个没有代码混淆的app,包括我们自己的以及大名鼎鼎snapchat,记得有个游戏特搞笑,游戏主题是C#写得,结果java的代码混淆了,C#的代码没有,修改了几个参数值,插了几段自己的代码,就作弊成功了。尤其好多开放平台的游戏,通过开放平台sdk文档,再加上反编译后些许信息,即使代码混淆了,也能推测出好多东西。这些都是安全性隐患。

以上这些只是笔者最近一段时间对于手机App安全性测试的一点认识,很肤浅,安全性测试对于测试人员素质要求还是很高的,尤其好多都是经验性的东西,只有通过不断增加经验,才能更好的做好测试。

猜你喜欢

代码客户端安全性
新染料可提高电动汽车安全性
某既有隔震建筑检测与安全性鉴定
创世代码
创世代码
创世代码
创世代码
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
ApplePay横空出世 安全性遭受质疑 拿什么保护你,我的苹果支付?