
除了手工迭代進(jìn)行探索測(cè)試以外,安全性測(cè)試人員還可以通過(guò)配置 AppScan 的參數(shù)測(cè)試基于 REST 構(gòu)建的移動(dòng)應(yīng)用程序。默認(rèn)情況下,AppScan 會(huì)以 HTTP&HTML 標(biāo)準(zhǔn)格式來(lái)識(shí)別參數(shù),如果參數(shù)是以其他格式構(gòu)建的(比如 RESTful 消息),必須手工配置 AppScan 才能進(jìn)行有效的解析參數(shù),從而進(jìn)行掃描。下面以獲取用戶(hù)詳細(xì)信息為例,來(lái)說(shuō)明如何配置 AppScan 來(lái)測(cè)試:
清單 1.REST 消息示例
GET /data/users/UserName/ HTTP/1.1
Host: www.ibm.site
Connection: close
登陸 AppScan,掃描 -> 掃描配置 -> 參數(shù)和 Cookie-> 高級(jí):定制參數(shù),點(diǎn)擊“+”按鈕即可添加新的識(shí)別模式:
圖 9. 定制 AppScan 高級(jí)參數(shù)


首先用戶(hù)自定義引用名稱(chēng),然后根據(jù) RESTful 配置正則表達(dá)式設(shè)置模式。通過(guò)配置正則表達(dá)式(/data/([\d\w\s%]+)/([\d\w\s%]+)/),可以提取出 RESTful 消息里的用戶(hù)和對(duì)應(yīng)的 Value 值。應(yīng)用定制的正則表達(dá)式掃描應(yīng)用程序,登陸數(shù)據(jù) -> 腳本參數(shù)列表可以查看到如下數(shù)據(jù)解析:
表 1. 定制參數(shù)解析結(jié)果
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
識(shí)別出關(guān)鍵屬性和路徑以后,AppScan 可以執(zhí)行進(jìn)一步的掃描和安全分析。
結(jié)束語(yǔ)
移動(dòng)應(yīng)用程序和人們的生活聯(lián)系日趨緊密,應(yīng)用程序的安全性問(wèn)題也得到越來(lái)越多的重視。本文分析了移動(dòng)應(yīng)用程序的交互模式和常用的網(wǎng)絡(luò)協(xié)議,基于 IBM Security AppScan 提供了測(cè)試移動(dòng)應(yīng)用程序安全性的方法介紹和實(shí)踐:包括如何配置 AppScan 使其適應(yīng)移動(dòng)測(cè)試的特性;如何使用 AppScan 進(jìn)行高級(jí)參數(shù)配置,使其可解析主流的 RESTful 消息,對(duì)安全測(cè)試感興趣的工程師有一定的借鑒意義。