基于 IBM Security AppScan 测试移动应用程序安全性

物联网

  除了手工迭代进行探索测试以外,安全性测试人员还可以通过配置 AppScan 的参数测试基于 REST 构建的移动应用程序。默认情况下,AppScan 会以 HTTP&HTML 标准格式来识别参数,如果参数是以其他格式构建的(比如 RESTful 消息),必须手工配置 AppScan 才能进行有效的解析参数,从而进行扫描。下面以获取用户详细信息为例,来说明如何配置 AppScan 来测试:

  清单 1.REST 消息示例

  GET /data/users/UserName/ HTTP/1.1

  Host: www.ibm.site

  Connection: close

  登陆 AppScan,扫描 -> 扫描配置 -> 参数和 Cookie-> 高级:定制参数,点击“+”按钮即可添加新的识别模式:

  图 9. 定制 AppScan 高级参数

物联网
物联网

  首先用户自定义引用名称,然后根据 RESTful 配置正则表达式设置模式。通过配置正则表达式(/data/([\d\w\s%]+)/([\d\w\s%]+)/),可以提取出 RESTful 消息里的用户和对应的 Value 值。应用定制的正则表达式扫描应用程序,登陆数据 -> 脚本参数列表可以查看到如下数据解析:

  表 1. 定制参数解析结果

NameTypeValueURLMethod_pattenParameter_RESTful_Path_ 
Parameter_users_0Simple LinkUsernamehttp://www.ibm.site/ 
REST/data/users/UsernameGET_pattenParameter_RESTful_Path_ 
Parameter_otherAttribute_0Simple LinkOtherAttributehttp://www.ibm.site/ 
REST/data/users/ OtherAttributeGET

  识别出关键属性和路径以后,AppScan 可以执行进一步的扫描和安全分析。

  结束语

 

  移动应用程序和人们的生活联系日趋紧密,应用程序的安全性问题也得到越来越多的重视。本文分析了移动应用程序的交互模式和常用的网络协议,基于 IBM Security AppScan 提供了测试移动应用程序安全性的方法介绍和实践:包括如何配置 AppScan 使其适应移动测试的特性;如何使用 AppScan 进行高级参数配置,使其可解析主流的 RESTful 消息,对安全测试感兴趣的工程师有一定的借鉴意义。