Advanced Debugging
About AdvDbg Consult Train Services Products Tools Community Contact  
欢迎光临 高端调试 登录 | 注册 | FAQ
 
  ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
 
  易内核
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
沪ICP备11027180号

《程序员》杂志调试专栏

帖子发起人: 削个椰子皮   发起时间: 2017-02-21 15:24 下午   回复: 0

Print Search
帖子排序:    
   2017-02-21, 15:24 下午
Coness 离线,最后访问时间: 2016-11-30 9:28:03 削个椰子皮

发帖数前25位
注册: 2016-01-14
发 贴: 33
移动APP测试之安全性测试策略分析
Reply Quote
96 Normal 0 10 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:Calibri; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-font-kerning:1.0pt;}


随着互联网发展,APP应用的盛行,最近了解到手机APP相关的安全性测试,以webview为主体的app,站在入侵或者攻击的角度来讲,安全隐患在于http抓包,逆向工程。

  

目前大部分app还是走的http或者https,所以防http抓包泄露用户信息以及系统自身漏洞是必要的,通过抓包当你查看一个陌生用户信息时,一些手机号,qq等信息页面上应该不显示的,但这些信息不显示并不代表服务器没有下发,好多都是客户端限制的,通过抓包,完全可以查看到陌生用户的app。再如好多发帖,push消息的应用,如果没有消息有效性的验证,抓到包之后篡改消息,服务器一点反应都没,这就会留有极大的隐患。逆向工程对于Android就很好理解了,反编译,修改或者插入自己的代码,以达到相应目的。

  

安全性测试策略

  

1. 用户隐私

检查是否在本地保存用户密码,无论加密与否

检查敏感的隐私信息,如聊天记录、关系链、银行账号等是否进行加密

检查是否将系统文件、配置文件明文保存在外部设备上

部分需要存储到外部设备的信息,需要每次使用前都判断信息是否被篡改

 

本地存储数据可以查看看应用的SharedPreferences文件和数据库文件中的数据(root后在应用安装目录内,或者查看外部存储中有没有写入敏感数据)。

  

2. 文件权限

检查App所在的目录,其权限必须为不允许其他组成员读写

  

3. 网络传输

检查敏感信息在网络传输中是否做了加密处理,重要数据要采用TLS或者SSL

 

http请求默认是明文的,如果安全验证和加密机制很烂,通过网络嗅探扫描,很容易被猜到和模拟请求,也可能被注入。

    

4. 运行时解释保护

对于嵌有解释器的软件,检查是否存在XSSSQL注入漏洞

使用webiewApp,检查是否存在URL欺骗漏洞

  

5. Android组件权限保护

禁止App内部组件被任意第三方程序调用。

若需要供外部调用的组件,应检查对调用者是否做了签名限制

  

6. 升级

检查是否对升级包的完整性、合法性进行了校验,避免升级包被劫持

  

7.应用自身安全性

对某个应用进行逆向,看反编译后的代码有没有敏感信息暴露。反编译后对代码修改,插入劫持代码后重新打包,如果存在这种漏洞,对用户和开发者都构成极大的威胁。

 

要求对应用进行加密,防止静态破解,盗取源码,然后嵌入恶意病毒、广告等行为再利用工具打包、签名,形成二次打包应用

  

8.界面截取

通过adb shell命令或第三方软件获取root权限,在手机界面截取用户填写的隐私信息,随后进行恶意行为。

  

对移动应用中,安全性测试占据App测试的比重越来越重要,用户信息等的安全性也是决定着一款应用是否能成功,就更不用说手机银行,金融证劵类App对安全的高度重视。


IP 地址: 已记录   报告
高端调试 » 软件调试 » 《程序员》杂志调试专栏 » 移动APP测试之安全性测试策略分析

 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2013 ADVDBG.ORG All Rights Reserved.