┊文章閱讀:次
隱私保護(hù),對(duì)App“越界”說(shuō)不!
早在今年2月份,抖音海外版TikTok就因?yàn)榘l(fā)生高頻率讀取剪貼板內(nèi)容的問(wèn)題飽受指責(zé),TikTok方面解釋稱(chēng)這是他們的反垃圾策略,為了應(yīng)對(duì)目前機(jī)器人水軍大量通過(guò)腳本來(lái)實(shí)現(xiàn)復(fù)制粘貼批量輸出垃圾內(nèi)容的現(xiàn)狀。但不可否認(rèn)的是,這一策略很容易傷及無(wú)辜,給人一種TikTok在監(jiān)控自己聊天內(nèi)容的感覺(jué)。以致TikTok近日不得不提交新版本,刪除該反垃圾郵件功能,以消除任何潛在的誤解。類(lèi)似的情況還出現(xiàn)在全球職場(chǎng)社交平臺(tái)LinkedIn領(lǐng)英,前段時(shí)間也因?yàn)槌Wx取/復(fù)制用戶(hù)剪切板信息被用戶(hù)難以接受。
經(jīng)過(guò)技術(shù)人員的詳細(xì)測(cè)試,發(fā)現(xiàn)包括QQ、微信、知乎等大多數(shù)移動(dòng)軟件都存在頻繁讀取剪切板內(nèi)容的情況。今年的蘋(píng)果全球開(kāi)發(fā)者大會(huì)WWDC上,蘋(píng)果方面公布的iOS 14中也默默加入了可在應(yīng)用訪問(wèn)剪貼板時(shí)向用戶(hù)發(fā)出警報(bào)這項(xiàng)功能。
信息泄露,不起眼的剪切板做了什么
事實(shí)上我們?cè)谌粘J褂檬謾C(jī)的過(guò)程中,難免會(huì)復(fù)制一些重要的信息,比如地址,手機(jī)號(hào),驗(yàn)證碼,身份證號(hào)碼,甚至銀行賬戶(hù)和密碼等。而我們所復(fù)制的信息都會(huì)進(jìn)入到剪切板,由于剪切板的設(shè)計(jì)初衷更多是為用戶(hù)提供便捷操作功能,它本身的清理機(jī)制并不能保證信息的安全和信息使用操作權(quán)限,這就導(dǎo)致用戶(hù)隱私無(wú)法得到有效的安全保障。
應(yīng)用程序獲取剪貼板的目的通常可以分為“功能”、“跳轉(zhuǎn)”與“信息”這三個(gè)大類(lèi)。
“功能”指的是某些應(yīng)用程序在實(shí)現(xiàn)特定操作流程中必須使用剪貼板,比如一些“劃詞翻譯”的軟件。
“跳轉(zhuǎn)”功能,想必大家應(yīng)該非常熟悉了,“fu致這行話”這種淘口令想必大家都有見(jiàn)過(guò)。
“信息”功能,也是用戶(hù)最常用到的操作,用來(lái)作為復(fù)制/粘貼、信息傳遞等手段。
正常場(chǎng)景下這三種情況都是可以理解的,因?yàn)樗麄兪褂眉糍N板的行為本質(zhì)上由用戶(hù)授權(quán)或者主動(dòng)操作,但是如果應(yīng)用過(guò)度去讀取用戶(hù)剪切板,甚至非法去監(jiān)控/獲取剪切板內(nèi)容,即軟件在前臺(tái)或后臺(tái)、公開(kāi)或私下收集我們剪切板內(nèi)的資料,以用來(lái)進(jìn)行精確推廣、用戶(hù)畫(huà)像甚至個(gè)人信息出售等行為,就會(huì)給用戶(hù)帶來(lái)隱私和安全威脅。
安全防護(hù),雙劍在手心不抖
我們不能斥責(zé)用戶(hù)不注意個(gè)人信息保護(hù),相反,對(duì)于App運(yùn)營(yíng)方或者開(kāi)發(fā)者本身來(lái)說(shuō),如何用合適的技術(shù)手段去保護(hù)用戶(hù)的個(gè)人隱私和信息安全顯得更加重要。這些保護(hù)手段涉及到剪切板的操作權(quán)限、操作范圍、信息安全保護(hù)以及在App的各種狀態(tài)下不同的保護(hù)機(jī)制等各個(gè)方面。
通付盾移動(dòng)加固團(tuán)隊(duì)針對(duì)移動(dòng)應(yīng)用中關(guān)于剪切板使用的安全隱患問(wèn)題進(jìn)行定點(diǎn)定向的方案研究和技術(shù)研發(fā),提供了Android和iOS雙系統(tǒng)下的剪切板防護(hù)方案。
Android
Android剪切板防護(hù)方案主要目的是實(shí)現(xiàn)在App內(nèi)部環(huán)境可以任意復(fù)制粘貼,但是內(nèi)部復(fù)制的內(nèi)容是無(wú)法在App外部環(huán)境進(jìn)行粘貼,有效地防止了剪切板數(shù)據(jù)的泄露,也能夠保證App內(nèi)部的重要信息無(wú)法被其他App竊取。
在Android環(huán)境下,對(duì)剪切板的操作是通過(guò)ClipboardManager來(lái)實(shí)現(xiàn)的,因此我們主要通過(guò)對(duì)ClipboardManager進(jìn)行攔截,實(shí)現(xiàn)對(duì)“獲取剪切板數(shù)據(jù)”和“設(shè)置剪切板數(shù)據(jù)”方法的相對(duì)控制權(quán),以實(shí)現(xiàn)保護(hù)目的。核心流程如下圖所示。
通付盾加固-Android剪切板防護(hù)方案技術(shù)方案示例圖
當(dāng)用戶(hù)在App內(nèi)部進(jìn)行復(fù)制操作時(shí),系統(tǒng)會(huì)將數(shù)據(jù)保存至剪切板。此時(shí)我們會(huì)將內(nèi)容存至數(shù)據(jù)庫(kù),并且將剪切板的內(nèi)容清空處理。
當(dāng)用戶(hù)在App內(nèi)部進(jìn)行粘貼時(shí),便將數(shù)據(jù)庫(kù)中內(nèi)容提取出來(lái),返回要粘貼的內(nèi)容。
在整個(gè)復(fù)制/粘貼過(guò)程中,整個(gè)App內(nèi)部剪切板的內(nèi)容會(huì)保持清空狀態(tài)。同時(shí),存儲(chǔ)至數(shù)據(jù)庫(kù)中的內(nèi)容經(jīng)過(guò)加解密系統(tǒng)處理后,會(huì)以密文形式存放,以明文狀態(tài)進(jìn)行回顯以保證用戶(hù)本身正常使用。
此外,該操作不會(huì)影響App外部剪切板的內(nèi)容,當(dāng)用戶(hù)在App外部進(jìn)行復(fù)制粘貼時(shí),可以進(jìn)行正常操作。既不影響用戶(hù)體驗(yàn),也不會(huì)泄露App內(nèi)部的隱私數(shù)據(jù)。
實(shí)現(xiàn)效果
1.不影響正常使用剪切板的同時(shí),保障剪切板隱私數(shù)據(jù)不會(huì)被惡意監(jiān)聽(tīng);
2.數(shù)據(jù)存儲(chǔ)采用加解密操作,大大增加了信息的安全強(qiáng)度。
iOS
iOS對(duì)剪切板的防護(hù)主要涉及以下3點(diǎn):
1.對(duì)剪切板緩存的數(shù)據(jù)進(jìn)行加密處理,增加數(shù)據(jù)破解讀取的難度,實(shí)現(xiàn)攻擊者即使劫持了剪切板也無(wú)法輕易獲取真實(shí)的數(shù)據(jù)。
2.在應(yīng)用程序進(jìn)入后臺(tái)時(shí)對(duì)剪切板緩存的數(shù)據(jù)進(jìn)行清理,防止緩存的數(shù)據(jù)被第三方惡意使用;
3.應(yīng)用返回前臺(tái)時(shí)重新進(jìn)行賦值操作,保證剪切板在應(yīng)用內(nèi)部可正常使用,提高用戶(hù)體驗(yàn)。
iOS剪切板的保護(hù)一方面是通過(guò)對(duì)UIPasteboard的攔截來(lái)實(shí)現(xiàn),并且改寫(xiě)了其獲取剪切板數(shù)據(jù)和設(shè)置剪切板數(shù)據(jù)的方法。核心流程圖如下圖所示。
通付盾加固-iOS剪切板防護(hù)方案技術(shù)方案示例圖
當(dāng)采用復(fù)制操作時(shí),系統(tǒng)會(huì)將數(shù)據(jù)保存至剪切板。此時(shí)我們將存儲(chǔ)的數(shù)據(jù)調(diào)用加解密系統(tǒng)進(jìn)行加密操作。當(dāng)用戶(hù)在應(yīng)用內(nèi)部進(jìn)行粘貼時(shí),將需要粘貼的數(shù)據(jù)調(diào)用加解密系統(tǒng)進(jìn)行解密并返回。
在此過(guò)程中,整個(gè)應(yīng)用內(nèi)部剪切板中的內(nèi)容是經(jīng)過(guò)數(shù)據(jù)加密處理的。此外,該操作不會(huì)影響應(yīng)用外部剪切板的操作,當(dāng)用戶(hù)在應(yīng)用外部進(jìn)行復(fù)制粘貼時(shí),可以進(jìn)行正常操作。既不影響用戶(hù)體驗(yàn),也不會(huì)泄露應(yīng)用中的隱私數(shù)據(jù)。
iOS剪切板的保護(hù)另一方面是對(duì)應(yīng)用生命周期狀態(tài)的改變進(jìn)行監(jiān)聽(tīng),當(dāng)監(jiān)聽(tīng)到程序進(jìn)入后臺(tái)操作時(shí),將剪切板緩存的數(shù)據(jù)保存到本地,并對(duì)剪切板進(jìn)行清空處理,保證第三方應(yīng)用無(wú)法訪問(wèn)當(dāng)前應(yīng)用的剪切板數(shù)據(jù)。當(dāng)監(jiān)聽(tīng)到程序返回前臺(tái)時(shí),將剪切板數(shù)據(jù)調(diào)用加解密系統(tǒng)進(jìn)行加密處理,如果剪切板數(shù)據(jù)為空則將本地?cái)?shù)據(jù)賦值到剪切板中。保證應(yīng)用內(nèi)部數(shù)據(jù)的一致性,完整性。
實(shí)現(xiàn)效果
1.對(duì)現(xiàn)在iOS14的剪切板保護(hù)功能進(jìn)行了擴(kuò)充,并填補(bǔ)了iOS14 以下版本剪切板保護(hù)的空白;
2.保證了應(yīng)用剪切板數(shù)據(jù)的安全性,增加了攻擊者破解的難度;
3.保證了當(dāng)前應(yīng)用剪切板使用的數(shù)據(jù)一致性,完整性。
Copyright @ 2013-2020 中國(guó)福建網(wǎng) 版權(quán)所有
聯(lián)系我們
免責(zé)聲明:本站為非營(yíng)利性網(wǎng)站,部分圖片或文章來(lái)源于互聯(lián)網(wǎng)如果無(wú)意中對(duì)您的權(quán)益構(gòu)成了侵犯,我們深表歉意,請(qǐng)您聯(lián)系,我們立即刪除。