999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

iOS應(yīng)用開(kāi)發(fā)中用戶敏感數(shù)據(jù)的保護(hù)策略

2019-05-24 14:12:12李艷
電腦知識(shí)與技術(shù) 2019年7期

李艷

摘要:與安卓系統(tǒng)的應(yīng)用相比,iOS系統(tǒng)的封閉性和蘋果應(yīng)用商店的審查機(jī)制保證了iOS應(yīng)用相對(duì)安全,但是開(kāi)發(fā)者往往會(huì)忽視保護(hù)用戶的像銀行賬戶、密碼以及秘鑰等敏感數(shù)據(jù)的重要性。分析了iOS應(yīng)用面臨的基本的三種威脅,逐一依次提供了避免這些問(wèn)題的策略,讓用戶的隱私不容易由于開(kāi)發(fā)者的不小心而被輕易地泄露。

關(guān)鍵詞:iOS應(yīng)用開(kāi)發(fā);隱私泄露;SSL鎖定;逆向工程;應(yīng)用安全

中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2019)07-0053-02

Abstract: As compared with the Android, the closure property of iOS and strict audit mechanisms ensure a relative safety of iOS applications. However, iOS developers frequently despise the importance of protecting users sensitive data such as bank accounts, passwords, and tokens. Three potential threats are analyzed in this paper, and corresponding solutions are provided respectively. Therefore, users sensitive information will not be leaked due to the careless of developers.

Key words: security of iOS App; private information leakage; SSL pinning; reverse engineering; security of App

1 背景

世界各國(guó)的公司和政府越來(lái)越重視普通用戶的數(shù)據(jù)安全和隱私,最近,英國(guó)數(shù)據(jù)研究公司劍橋分析(Cambridge Analytica)利用美國(guó)社交網(wǎng)站Facebook數(shù)據(jù)震驚了全世界[1],有研究認(rèn)為這次泄露直接影響了美國(guó)2016年大選和英國(guó)脫歐兩大影響世界政治格局的事件。當(dāng)今絕大部分人的日常生活已經(jīng)離不開(kāi)智能手機(jī),為了滿足用戶的頻繁使用需求,移動(dòng)應(yīng)用通常會(huì)存儲(chǔ)用戶重要的私人數(shù)據(jù)于用戶的手機(jī)中,這給用戶手機(jī)中的惡意軟件有機(jī)可乘。

相對(duì)安卓系統(tǒng)而言,iOS作為一個(gè)封閉的系統(tǒng),加上蘋果一些開(kāi)發(fā)限制,iOS系統(tǒng)的安全性通常被認(rèn)為是比安卓強(qiáng)很多[2],因此,部分公司在開(kāi)發(fā)iOS應(yīng)用程序時(shí)候也就往往忽視了安全性,國(guó)家互聯(lián)網(wǎng)監(jiān)測(cè)中心的相關(guān)數(shù)據(jù)表明,iOS平臺(tái)的病毒增長(zhǎng)非常迅猛[3]。

2 iOS應(yīng)用可能的安全風(fēng)險(xiǎn)

iOS安全問(wèn)題涉及很多個(gè)方面,本文僅僅介紹三種基本的威脅:用戶數(shù)據(jù)被泄露、用戶數(shù)據(jù)被攔截、應(yīng)用被逆向。

用戶數(shù)據(jù)泄露。用戶在面臨各種各樣的網(wǎng)站和應(yīng)用需要注冊(cè)的時(shí)候,往往希望用同一個(gè)一個(gè)賬號(hào),比如QQ或者微信登錄,一些應(yīng)用程序可能要求用戶通常輸入他們的私人數(shù)據(jù),如果設(shè)備落入未經(jīng)授權(quán)的人手中,則以不安全的方式存儲(chǔ)的用戶隱私數(shù)據(jù)會(huì)產(chǎn)生泄露的風(fēng)險(xiǎn)。

用戶數(shù)據(jù)被攔截。在iOS應(yīng)用程序中,攔截http/https請(qǐng)求和響應(yīng)比較容易。即使采用SSL不足以確保所開(kāi)發(fā)應(yīng)用的安全性[4]。網(wǎng)絡(luò)上有很多類似Charles Proxy這樣的工具,不需要太多的網(wǎng)絡(luò)知識(shí)也可以通過(guò)發(fā)送篡改請(qǐng)求來(lái)獲得應(yīng)用的請(qǐng)求、相應(yīng)服務(wù)器的響應(yīng),或者操縱提供給用戶不同的網(wǎng)絡(luò)結(jié)果[5]。

應(yīng)用被逆向工程。借助逆向工程,攻擊者可以獲取應(yīng)用程序中使用的URL地址、標(biāo)識(shí)符、密鑰,了解應(yīng)用的業(yè)務(wù)邏輯[6]。這樣他就可以修改應(yīng)用程序的行為,比如后臺(tái)發(fā)送用戶隱私數(shù)據(jù)、省略登錄屏幕的過(guò)程、打開(kāi)用戶的攝像機(jī)等。

3 保護(hù)策略

3.1 用戶數(shù)據(jù)保護(hù)

為了保護(hù)用戶數(shù)據(jù),需要考慮兩個(gè)方面:(1)使用正確的數(shù)據(jù)存儲(chǔ)解決方案;(2)在輸入數(shù)據(jù)時(shí)保護(hù)數(shù)據(jù)。鑰匙串(Keychain)是蘋果公司開(kāi)發(fā)的密碼管理系統(tǒng),存在于蘋果公司的macOS電腦操作系統(tǒng)和iOS移動(dòng)操作系統(tǒng)。蘋果公司嚴(yán)格規(guī)定不允許在不同iOS應(yīng)用程序之間共享鑰匙串項(xiàng)目,這意味著iOS 鑰匙串項(xiàng)目只能由創(chuàng)建它們的應(yīng)用程序訪問(wèn)。因此在iOS開(kāi)發(fā)者在開(kāi)發(fā)應(yīng)用時(shí)候,用戶的登錄、密鑰和密碼應(yīng)存儲(chǔ)在鑰匙串中。核心數(shù)據(jù)(Core Data)是蘋果公司為開(kāi)發(fā)者的提供的持久性數(shù)據(jù)庫(kù)開(kāi)發(fā)接口框架,具有基礎(chǔ)SQLite數(shù)據(jù)庫(kù)的功能。有些開(kāi)發(fā)者會(huì)將用戶的敏感數(shù)據(jù)存放在核心數(shù)據(jù),這是很危險(xiǎn)的,因?yàn)槟J(rèn)情況下,當(dāng)應(yīng)用程序解鎖時(shí)SQLite不會(huì)加密。蘋果公司提供的“數(shù)據(jù)保護(hù)”的功能僅僅在設(shè)備被密碼鎖定時(shí)候,它才會(huì)對(duì)沙箱進(jìn)行加密。

另一方面要保護(hù)用戶的輸入。如果用戶使用簡(jiǎn)體中文輸入法鍵盤,輸入英文字符和數(shù)字字符的用戶名和密碼時(shí),會(huì)自動(dòng)啟動(dòng)系統(tǒng)輸入法自動(dòng)更正提示,然后用戶的輸入記錄會(huì)被以明文的形式緩存下來(lái),其他應(yīng)用可以很方便讀取從手機(jī)相關(guān)目錄,獲得字符串輸入記錄[7],開(kāi)發(fā)者應(yīng)注意關(guān)閉自動(dòng)更正,屏幕截圖存在類似的情況,當(dāng)應(yīng)用程序進(jìn)入后臺(tái)時(shí),系統(tǒng)會(huì)截取屏幕截圖。如果用戶輸入敏感數(shù)據(jù)并且在屏幕上可見(jiàn),需要在應(yīng)用程序進(jìn)入后臺(tái)之前實(shí)現(xiàn)屏蔽屏幕的機(jī)制。

3.2 SSL鎖定(Pinning)

蘋果公司采用了App Transport Security迫使開(kāi)發(fā)人員必須使用SSL(Secure Socket Layer)。SSL雖讓相對(duì)安全,但是通過(guò)ARP緩存投毒(cache poisoning) 或者DNS污染的方法也可以實(shí)現(xiàn)中間人攻擊[8]。移動(dòng)用戶每天都會(huì)接觸到很多不安全的無(wú)線網(wǎng)絡(luò),SSL鎖定確保應(yīng)用程序僅與指定的服務(wù)器本身通信。SSL鎖定的先決條件之一是在應(yīng)用程序包中保存目標(biāo)的服務(wù)器的SSL證書[9]。應(yīng)用程序在配置SSL鎖定會(huì)話時(shí)可以用兩種方式:利用蘋果提供的網(wǎng)絡(luò)訪問(wèn)接口NSURLSession、第三方庫(kù)AlamoFire或者AFNetworking。

使用NSURLSession鎖定SSL有點(diǎn)麻煩,開(kāi)發(fā)者沒(méi)有辦法把已經(jīng)鎖定的證書放到一個(gè)數(shù)組中以便于讀寫操作,也不能自動(dòng)終止與本地證書不匹配的響應(yīng),而且,需要手動(dòng)地檢查每一個(gè)由NSURLSession建立的SSL鎖定。多數(shù)開(kāi)發(fā)者目前會(huì)使用前面提到的兩個(gè)庫(kù),它們已經(jīng)封裝了很多功能,使用更為簡(jiǎn)單方便。以使用AlamoFire庫(kù)為例,先創(chuàng)建一個(gè)將域名映射到ServerTrustPolicy實(shí)例,用這個(gè)實(shí)例初始化一個(gè)ServerTrustPolicyManager對(duì)象,由這個(gè)對(duì)象創(chuàng)建SSL鎖定的管理者(Manager)實(shí)例,最后調(diào)用ServerTrustPolicy.certificatesInBundle()一個(gè)方法就可以返回所有的證書。

3.3 防止逆向工程

防止逆向工程一個(gè)方法就是盡量采用Swift語(yǔ)言開(kāi)發(fā)應(yīng)用程序。 Swift是一種比Objective-C更新的語(yǔ)言[10],因此逆向工程工具的做得不是很好。還應(yīng)該使用安全的方法來(lái)存儲(chǔ)特定環(huán)境的應(yīng)用程序密鑰,比如使用Cocoapods密鑰。其他的方法包括使用代碼混淆、代碼反調(diào)試技術(shù)、誤導(dǎo)性方法名稱、為攻擊者創(chuàng)建陷阱和偽造方法等等。這種方法是一把雙刃劍:迷惑了敵人的同時(shí),使得自己的代碼更難維護(hù),開(kāi)發(fā)更慢,更容易出錯(cuò)。

4 結(jié)束語(yǔ)

在iOS應(yīng)用發(fā)布到蘋果應(yīng)用商店之前,必須對(duì)應(yīng)用進(jìn)行安全審核。并不一定非得花大量資金聘請(qǐng)外部黑客團(tuán)隊(duì)做攻防測(cè)試。開(kāi)發(fā)者在開(kāi)發(fā)過(guò)程中重視上述三個(gè)常見(jiàn)的“坑”,可以大大減少用戶敏感數(shù)據(jù)泄露的風(fēng)險(xiǎn)。

參考文獻(xiàn):

[1] 王小俠, 李暢. 從“Facebook”數(shù)據(jù)泄露事件淺析個(gè)人信息權(quán)利保護(hù)[J]. 長(zhǎng)春理工大學(xué)學(xué)報(bào): 社會(huì)科學(xué)版, 2019, 32(1): 35-38.

[2] 湯文兵, 田忠彬. 基于iOS的停車場(chǎng)找車應(yīng)用的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電腦知識(shí)與技術(shù), 2018, 14(4): 59-61, 66.

[3] 韓玉會(huì). iOS系統(tǒng)應(yīng)用安全性研究[J]. 電腦知識(shí)與技術(shù), 2017, 13(11): 64-72.

[4] 李勇. iOS系統(tǒng)與應(yīng)用安全分析方法研究[D]. 上海: 上海交通大學(xué), 2015.

[5] Hubbard J, Weimer K, Chen Y. A study of SSL Proxy attacks on Android and iOS mobile applications[C]. Las Vegas, NV, USA: IEEE 11th CCNC, 2014: 86-91.

[6] 姚佳瑋. iOS平臺(tái)應(yīng)用程序逆向分析技術(shù)研究[D]. 哈爾濱: 哈爾濱工程大學(xué), 2016.

[7] 李柏嵐, 谷大武, 李卷孺, 等. iOS備份機(jī)制中隱私威脅問(wèn)題的分析[J]. 通信技術(shù), 2012(2): 25-28.

[8] 王蕾, 李豐, 李煉, 等. 污點(diǎn)分析技術(shù)的原理和實(shí)踐應(yīng)用[J]. 軟件學(xué)報(bào), 2017(4): 860-882.

[9] DOrazio, Christian J, Choo K K R. A technique to circumvent SSL/TLS validations on iOS Devices[J]. Future Generation Computer Systems, 2016(74): 366-374.

[10] 李亞欣, 蔡永香, 鄧舒穎. 基于Swift對(duì)Objective-C開(kāi)發(fā)的移動(dòng)應(yīng)用程序優(yōu)化[J]. 軟件導(dǎo)刊, 2018, 17(10): 178-182.

【通聯(lián)編輯:謝媛媛】

主站蜘蛛池模板: 午夜高清国产拍精品| 无码一区18禁| 久996视频精品免费观看| 国产亚洲一区二区三区在线| 99久久国产综合精品2020| 国产真实乱了在线播放| 国产精品色婷婷在线观看| 久久精品中文字幕免费| 亚洲乱码视频| 亚洲狠狠婷婷综合久久久久| 天堂岛国av无码免费无禁网站| 亚洲黄色激情网站| 永久毛片在线播| 国产一二视频| 国产欧美精品专区一区二区| 日本久久网站| 国产高清在线丝袜精品一区| 久久婷婷色综合老司机| 国产最爽的乱婬视频国语对白| 国产精品成人第一区| 亚洲精品卡2卡3卡4卡5卡区| 一区二区三区国产精品视频| 国产精品一区在线观看你懂的| 制服丝袜一区二区三区在线| 亚洲色图另类| 超清无码熟妇人妻AV在线绿巨人| 欧美区国产区| 无码一区中文字幕| 欧美色99| 91亚洲影院| 国产办公室秘书无码精品| 啊嗯不日本网站| 欧美狠狠干| 日韩a级片视频| 天天做天天爱天天爽综合区| 免费欧美一级| 色播五月婷婷| av手机版在线播放| 波多野结衣久久高清免费| 欧美亚洲日韩不卡在线在线观看| 狠狠操夜夜爽| 久热99这里只有精品视频6| 九九九精品成人免费视频7| 国产在线观看成人91| 国产av剧情无码精品色午夜| 国产一区二区视频在线| 97se亚洲综合在线韩国专区福利| 欧美一级在线| 国产麻豆另类AV| 欧美国产日韩在线| 狠狠亚洲婷婷综合色香| 久久黄色一级视频| 久久国产乱子| 欧美中文字幕一区| 乱人伦视频中文字幕在线| a在线观看免费| 久久无码av三级| 国产欧美日韩综合在线第一| 久久这里只有精品免费| 久久国产V一级毛多内射| 久久国产精品麻豆系列| 日韩精品成人在线| 97视频免费看| 欧美色伊人| 国产精品人莉莉成在线播放| 亚洲成人动漫在线| 伊人久久久大香线蕉综合直播| 久久99国产综合精品女同| 18禁影院亚洲专区| 国产精品女熟高潮视频| 色偷偷av男人的天堂不卡| 一区二区午夜| 新SSS无码手机在线观看| 国产91九色在线播放| 国产欧美精品午夜在线播放| 青青青国产精品国产精品美女| 日本中文字幕久久网站| 国产一级在线观看www色| 色噜噜狠狠色综合网图区| 欧美第一页在线| 免费观看成人久久网免费观看| 日韩最新中文字幕|