国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

APP應(yīng)用程序安全治理

2016-03-16 14:14:22鐘雪慧
關(guān)鍵詞:服務(wù)端漏洞客戶端

◆鐘雪慧

(中國(guó)移動(dòng)通信集團(tuán)廣東有限公司 廣東 510623)

APP應(yīng)用程序安全治理

◆鐘雪慧

(中國(guó)移動(dòng)通信集團(tuán)廣東有限公司 廣東 510623)

移動(dòng)APP安全治理需要從移動(dòng)APP的整個(gè)生命周期各階段同步進(jìn)行,包括規(guī)劃設(shè)計(jì)、開發(fā)測(cè)試、上線運(yùn)行、日常運(yùn)維、廢棄下線。每一個(gè)階段都需要梳理安全控制點(diǎn),落實(shí)安全控制措施,本文重點(diǎn)研究如何在上線運(yùn)行及日常運(yùn)維階段如何對(duì)移動(dòng)APP開展安全評(píng)估工作,主要包括移動(dòng)APP客戶端安全及移動(dòng)APP服務(wù)端安全。

移動(dòng)APP 數(shù)據(jù)安全;業(yè)務(wù)邏輯;應(yīng)用劫持

0 引言

隨著移動(dòng)互聯(lián)網(wǎng)的飛速發(fā)展,移動(dòng)APP層出不窮,不管是生活還是工作都被移動(dòng)APP逐步滲透,移動(dòng)辦公也逐步興起。作為新的技術(shù),移動(dòng)APP大大地提升生活及工作的便捷性與效率。同時(shí)新的技術(shù)帶來新的威脅,各類對(duì)移動(dòng)APP的攻擊手段也在迅猛地發(fā)展,各種因?yàn)橐苿?dòng)APP而導(dǎo)致的個(gè)人財(cái)產(chǎn)損失頻頻見諸報(bào)端。移動(dòng)APP的安全治理問題已經(jīng)到了刻不容緩的時(shí)候。本課題基于日常工作中對(duì)移動(dòng)APP安全問題的研究,提出針對(duì)移動(dòng)APP安全治理的思路。

1 移動(dòng)APP主要面臨的問題

根據(jù)移動(dòng)APP的架構(gòu)來分,移動(dòng)APP主要包括客戶端安全問題及服務(wù)端安全問題。

客服端安全主要包括移動(dòng)APP自身安全、手勢(shì)密碼安全、移動(dòng)APP登錄業(yè)務(wù)安全、移動(dòng)APP找回密碼業(yè)務(wù)安全、移動(dòng)APP注冊(cè)業(yè)務(wù)安全等。

服務(wù)端安全主要是移動(dòng)APP的業(yè)務(wù)應(yīng)用安全,由于移動(dòng)APP與服務(wù)端的數(shù)據(jù)交互是通過http協(xié)議的接口,使用xml或json對(duì)數(shù)據(jù)進(jìn)行封裝的,所以傳統(tǒng)的web應(yīng)用漏洞,移動(dòng)APP也同樣存在。

2 移動(dòng)APP安全治理

移動(dòng)APP安全治理需要從移動(dòng)APP的整個(gè)生命周期各階段同步進(jìn)行,包括規(guī)劃設(shè)計(jì)、開發(fā)測(cè)試、上線運(yùn)行、日常運(yùn)維、廢棄下線。每一個(gè)階段都需要梳理安全控制點(diǎn),落實(shí)安全控制措施,本文重點(diǎn)研究如何在上線運(yùn)行及日常運(yùn)維階段如何對(duì)移動(dòng)APP開展安全評(píng)估工作,主要包括移動(dòng)APP客戶端安全及移動(dòng)APP服務(wù)端安全。

2.1 移動(dòng)APP客戶端安全評(píng)估

(1)移動(dòng)應(yīng)用數(shù)據(jù)安全

應(yīng)用數(shù)據(jù)安全主要是評(píng)估和測(cè)試應(yīng)用內(nèi)和用戶隱私信息相關(guān)的數(shù)據(jù)安全性。常見的控制點(diǎn)有:

①用戶 session 存儲(chǔ)是否正確和安全。

②用戶密碼是否加密/Hash 存儲(chǔ)和傳輸。

③在公共存儲(chǔ)中是否存有敏感信息。

④在系統(tǒng)日志中,是否打印敏感信息。

⑤其他應(yīng)用是否有可能獲取該應(yīng)用的敏感信息。

⑥越獄/Root 的設(shè)備中會(huì)有什么樣的數(shù)據(jù)安全影響。

⑦賬號(hào)切換是否造成其他賬號(hào)的敏感信息泄漏。

(2)系統(tǒng)庫(kù)和第三方庫(kù)的安全性

庫(kù)安全性主要是評(píng)估和測(cè)試應(yīng)用中是否使用了不安全的系統(tǒng)庫(kù)或者第三方庫(kù),從而造成安全隱患。

系統(tǒng)庫(kù)方面,比如是否使用了Android 系統(tǒng)存在安全隱患的API。例如Android 的 WebView組件提供了addJavascriptInterface方法用于實(shí)現(xiàn)本地Java和JavaScript的交互,而這個(gè)方法如果誤用,就很容易產(chǎn)生遠(yuǎn)程代碼執(zhí)行漏洞,遠(yuǎn)程攻擊者利用此漏洞能實(shí)現(xiàn)本地Java和Javascript的交互,可對(duì)Android移動(dòng)終端進(jìn)行網(wǎng)頁掛馬從而控制受影響設(shè)備。

(3)移動(dòng)應(yīng)用自我保護(hù)

移動(dòng)應(yīng)用自身安全測(cè)試主要關(guān)注應(yīng)用本身作為一個(gè)程序,其保護(hù)自己不被黑客輕易破解、重打包、分析利用的能力。

這個(gè)方面的測(cè)試主要集中在:

①移動(dòng)應(yīng)用對(duì)自身的完整性校驗(yàn)。

②移動(dòng)應(yīng)用反重打包防止盜版的能力(特別是針對(duì) Android程序)。

③應(yīng)用反逆向反調(diào)試的技術(shù),包括代碼混淆,調(diào)試器檢測(cè),越獄檢測(cè),反 IDA 等。

④核心邏輯保護(hù),應(yīng)用中較為敏感的核心邏輯是否受到保護(hù),比如是否做成單獨(dú)的 c 程序模塊,黑客通過逆向和調(diào)試破解核心邏輯的難度評(píng)估等。

⑤其他零散和有特殊場(chǎng)景的評(píng)估測(cè)試,比如手游應(yīng)用是否容易制作簡(jiǎn)單的手機(jī)外掛等,根據(jù)應(yīng)用需要會(huì)分別測(cè)試,側(cè)重有所不同。

(4)應(yīng)用劫持

應(yīng)用劫持檢查主要是檢查應(yīng)用在錯(cuò)誤信息的誘導(dǎo)下,會(huì)不會(huì)產(chǎn)生錯(cuò)誤的行為。常見的有:

①應(yīng)用版本升級(jí)檢查,升級(jí)應(yīng)用鏈接被劫持(中間人攻擊,DNS劫持等攻擊手段),下載新版本是否進(jìn)行真?zhèn)螜z查。

②應(yīng)用內(nèi)部使用內(nèi)嵌網(wǎng)頁,其中包含可以插入的輸入信息,從而造成應(yīng)用內(nèi) XSS 或者應(yīng)用內(nèi)嵌網(wǎng)頁跳轉(zhuǎn)到其他服務(wù)器。

③應(yīng)用使用 OAuth 登錄,其 callback 鏈接被劫持,是否會(huì)造成應(yīng)用訪問攻擊者構(gòu)造的釣魚服務(wù)器,從而導(dǎo)致用戶將隱私數(shù)據(jù)發(fā)送給攻擊者。

應(yīng)用劫持沒有固定的形式,一般根據(jù)應(yīng)用實(shí)際情況進(jìn)行定制檢查。

(5)應(yīng)用邏輯漏洞檢查

邏輯漏洞檢查主要測(cè)試在不同的邏輯走向和各種用戶輸入條件下,是否會(huì)造成與預(yù)期邏輯不一致的結(jié)果。測(cè)試主要集中在以下幾個(gè)方面:

①用戶輸入檢查是否完善,是否造成邏輯錯(cuò)誤,是否造成崩潰等。比如在一個(gè)調(diào)出數(shù)字鍵盤只能輸入數(shù)字的輸入框中,通過粘貼方式輸入負(fù)數(shù)等。

②各種環(huán)境各種邏輯走向是否造成邏輯漏洞,造成狀態(tài)錯(cuò)誤,或者造成應(yīng)用崩潰。

③接收到錯(cuò)誤的或者故意構(gòu)造的系統(tǒng)消息、其他應(yīng)用消息,讀取到特意構(gòu)造的文件,接收到錯(cuò)誤的網(wǎng)絡(luò)數(shù)據(jù)等是否會(huì)造成應(yīng)用邏輯或信息泄漏漏洞、狀態(tài)錯(cuò)誤或者崩潰等。

④越權(quán)漏洞,通過修改一些交互參數(shù)使得一個(gè)用戶可以看到其未授權(quán)查看的信息。

(6)業(yè)務(wù)邏輯安全

對(duì)于敏感業(yè)務(wù)流程,還需要對(duì)流程本身做安全測(cè)試評(píng)估。比如:

①用戶身份認(rèn)證流程安全性。

②支付流程安全性。

③證書安全性檢查。

2.2 移動(dòng)APP服務(wù)端安全評(píng)估

(1)API 服務(wù)器安全測(cè)試

每個(gè)移動(dòng)應(yīng)用背后,都有幾十個(gè) API 的支撐,才能正常運(yùn)轉(zhuǎn),而這些 API 和 API 服務(wù)器本身的安全性也至關(guān)重要。如果由于 API 服務(wù)器存在漏洞,黑客取得了服務(wù)器控制權(quán),那么將會(huì)是非??膳碌氖虑?。一方面,攻擊者可以直接獲取所有用戶的敏感信息數(shù)據(jù)。另一方面,攻擊者稍加改動(dòng)就可以直接攻擊該API 服務(wù)器所服務(wù)的千萬客戶端,同時(shí)攻擊這些應(yīng)用。無論是哪種情況發(fā)生,后果都將不可設(shè)想。

API 服務(wù)測(cè)試主要包括但不限于以下幾項(xiàng):

①API 服務(wù)器是否會(huì)造成服務(wù)器信息泄露,如.htaccess,列目錄,任意文件下載。

②數(shù)據(jù)庫(kù)注入攻擊,特別是 SQL 數(shù)據(jù)庫(kù)。

③用戶輸入時(shí)候可能造成XSS攻擊,危及系統(tǒng)管理員以及其他用戶。

④API 接口和通信協(xié)議的邏輯安全性。

⑤API 接口是否可能造成遠(yuǎn)程代碼執(zhí)行。

⑥API 服務(wù)器是否進(jìn)行了正確配置,是否在輸入錯(cuò)誤情況下打印敏感服務(wù)器錯(cuò)誤信息。

⑦API 服務(wù)器是否可以進(jìn)行拒絕服務(wù)攻擊,如某著名社交應(yīng)用曾經(jīng)出現(xiàn)過的拒絕服務(wù)攻擊,如北京搖號(hào)系統(tǒng)出現(xiàn)過的短信發(fā)送攻擊等,再如阿里某社交應(yīng)用曾經(jīng)因?yàn)槟硞€(gè)API服務(wù)背后業(yè)務(wù)邏輯涉及和數(shù)據(jù)庫(kù)的復(fù)雜交互而導(dǎo)致其服務(wù)器可被輕量級(jí)的CC攻擊打垮。

⑧API 服務(wù)器使用了不安全的系統(tǒng)軟件或者版本,如Struts2 漏洞,Heartbleed 漏洞。

另外,對(duì)于一般的應(yīng)用,都應(yīng)開啟訪問次數(shù)限制和Web應(yīng)用防火墻(WAF)可以有效抵擋一般攻擊者的常見掃描式攻擊,帶來攻擊的麻煩,特別是可以抵擋 DDoS 攻擊和 CC 攻擊。

(2)API 規(guī)范與通信協(xié)議安全性

主要針對(duì)移動(dòng)應(yīng)用客戶端與 API 服務(wù)器通信的 API 規(guī)范和數(shù)據(jù)傳輸進(jìn)行評(píng)估。

例如用戶密碼 MD5 傳輸是否進(jìn)行了加鹽操作,用戶頭像上傳或者文件上傳的步驟是否合理,簽名計(jì)算是否過于簡(jiǎn)單,是否存在不合理的 API 設(shè)計(jì),是否存在容易產(chǎn)生漏洞的設(shè)計(jì)(比如非冪等重要購(gòu)買操作,會(huì)被進(jìn)行重放攻擊)等。

這個(gè)測(cè)試主要根據(jù) API 的實(shí)際情況來定。

(3)其他關(guān)聯(lián)服務(wù)測(cè)試

移動(dòng)應(yīng)用往往不是獨(dú)立的,其連接的 API 服務(wù)器的后端數(shù)據(jù)庫(kù)操作,往往與網(wǎng)站數(shù)據(jù)同步,因此有必要檢查測(cè)試移動(dòng)客戶端構(gòu)造的特殊請(qǐng)求是否會(huì)造成網(wǎng)站的錯(cuò)誤。

這方面的測(cè)試內(nèi)容主要包括:

①通過移動(dòng)應(yīng)用構(gòu)造請(qǐng)求導(dǎo)致網(wǎng)站被 XSS 攻擊。

②通過移動(dòng)應(yīng)用構(gòu)造請(qǐng)求導(dǎo)致網(wǎng)站邏輯錯(cuò)亂或者狀態(tài)不正確等。

3 結(jié)語

通過研究如何在上線運(yùn)行及日常運(yùn)維階段如何對(duì)移動(dòng)APP開展安全評(píng)估工作,本文對(duì)移動(dòng)APP客戶端和服務(wù)端的安全評(píng)估(測(cè)試)內(nèi)容進(jìn)行了詳細(xì)分析,可以為移動(dòng)APP的安全治理提供有價(jià)值的參考。

[1]Himanshu Dwivedi,Chris Clark,David Thiel.移動(dòng)應(yīng)用安全.

[2]OWASP.OWASP Mobile Apps Checklist 2016.

[3]OWASP.Mobile Top Tem 2016.

猜你喜歡
服務(wù)端漏洞客戶端
漏洞
云存儲(chǔ)中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
孵化垂直頻道:新聞客戶端新策略
基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
新時(shí)期《移動(dòng)Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
在Windows Server 2008上創(chuàng)建應(yīng)用
三明:“兩票制”堵住加價(jià)漏洞
漏洞在哪兒
高鐵急救應(yīng)補(bǔ)齊三漏洞
松阳县| 芜湖县| 慈利县| 涪陵区| 伊春市| 府谷县| 北海市| 本溪市| 师宗县| 霸州市| 鲁山县| 弥渡县| 徐水县| 鸡东县| 珲春市| 福建省| 钟山县| 隆安县| 六盘水市| 石河子市| 门头沟区| 大邑县| 株洲县| 湖口县| 邯郸县| 萨迦县| 吴川市| 河津市| 广汉市| 阿拉善盟| 陇川县| 阜平县| 华安县| 鄂州市| 永登县| 交口县| 富锦市| 苏尼特右旗| 龙州县| 莱芜市| 云阳县|