日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
網(wǎng)絡(luò)安全攻防:Android系統(tǒng)安全之數(shù)據(jù)安全

1. 外部數(shù)據(jù)安全

外部存儲通常是指將數(shù)據(jù)存入到設(shè)備的SD卡上。

外部存儲是一種不安全的數(shù)據(jù)存儲機制,因為存儲到SD卡上的文件默認是提供給others讀文件的權(quán)限的,設(shè)備上安裝的其他App只要在其AndroidMenifest.xml上聲明如下的語句。

 
 
  1.  

那么該App就具有了對于SD卡的完全的讀寫權(quán)限,即是說一個App放在SD卡上的任何數(shù)據(jù)都可以被其他的App進行讀/寫操作,所以將重要數(shù)據(jù)存儲在SD卡上具有相當大的安全隱患。

2. 內(nèi)部數(shù)據(jù)安全

內(nèi)部數(shù)據(jù)存儲主要分為兩種方式:SharedPreference存儲和File存儲。內(nèi)部數(shù)據(jù)存儲的安全問題主要需要注意的是創(chuàng)建的模式以及向文件中寫入的內(nèi)容。

SharedPreference 存儲是一種輕量級的數(shù)據(jù)存儲方式,它的本質(zhì)是基于 XML 文件存儲Key-Value鍵值對數(shù)據(jù),通常用來存儲一些簡單的配置信息。

File存儲即常說的文件(I/O)存儲方法,常用于存儲大量的數(shù)據(jù)。

內(nèi)部數(shù)據(jù)存儲通常較為安全,因為它們可以受到Android系統(tǒng)的安全機制的保護。

Android的安全機制本質(zhì)上就是Linux的安全機制,系統(tǒng)會為在Android系統(tǒng)上運行的每一個App創(chuàng)建一個進程,并為該進程分配一個UID。Android系統(tǒng)將會為每一個App創(chuàng)建一個特定的目錄/data/data/app_package_name,這個目錄的權(quán)限只與UID相關(guān),且只有UID關(guān)聯(lián)的用戶才有該目錄相關(guān)的權(quán)限。

因此,在對應(yīng)目錄下生成的SharedPreference文件與File文件如果以正確的方式去創(chuàng)建將會受到Android系統(tǒng)權(quán)限機制的保護。

這個正確的創(chuàng)建方式是指文件創(chuàng)建的模式,SharedPreference與文件的創(chuàng)建模式主要有以下3種。

MODE_PRIVATE:默認的創(chuàng)建模式,該進程的 UID 對應(yīng)的用戶將會對該文件擁有完全的控制的權(quán)限,而其他UID的用戶將沒有權(quán)限去讀/寫文件。

MODE_WORLD_WRITABLE:該權(quán)限將允許設(shè)備上所有的App對于該文件擁有寫的權(quán)限。

MODE_WORLD_READABLE:該權(quán)限將允許設(shè)備上所有的App對于該文件擁有讀的權(quán)限。

為了確保內(nèi)部數(shù)據(jù)的安全,有如下建議。

(1)創(chuàng)建文件時的權(quán)限控制

如果在創(chuàng)建文件的時候沒有注意控制權(quán)限,那么該文件的內(nèi)容將會被其他的應(yīng)用程序所讀取,這樣就造成了用戶相關(guān)信息的泄露,SharedPreference中存儲的往往是一些免登token、session id等和用戶身份息息相關(guān)的重要信息,因此,在創(chuàng)建的時候一定要注意選取好創(chuàng)建的模式;免登token也一定要具有時效性,否則與存儲了明文的用戶名和密碼無異。

(2)SharedPreference中不要存入明文密碼等重要信息

由于有Root的存在,那么Root過后的手機就打破了Linux提供的沙箱機制,那么無論以何種方式去創(chuàng)建SharedPreference都已經(jīng)不再安全了,如果存儲的是用戶明文的密碼,那么用戶的密碼將會泄露,因此,絕對不要向SharedPreference中寫入任何無時效性的重要的數(shù)據(jù)。

3. 通信數(shù)據(jù)安全

這里的通信數(shù)據(jù)安全是指軟件與軟件、軟件與網(wǎng)絡(luò)服務(wù)器之間進行數(shù)據(jù)通信時,所引發(fā)的安全問題。

軟件與軟件的通信,Android有4大組件:Activity、Content Provider、Service、Broadcast Receiver。

這些如果在Androidmanifest.xml配置不當,會被其他應(yīng)用調(diào)用,引起風(fēng)險。Android應(yīng)用內(nèi)部的Activity、Service、Broadcast Receiver等,它們通過Intent通信,組件間需要通信就需要在Androidmanifest.xml文件中暴露組件。

Intent的兩種基本用法:一種是顯式的Intent,即在構(gòu)造Intent對象時就指定接收者;另一種是隱式的Intent,即Intent的發(fā)送者在構(gòu)造Intent對象時,并不知道也不關(guān)心接收者是誰,有利于降低發(fā)送者和接收者之間的耦合。

帶來的風(fēng)險有惡意調(diào)用、惡意接收數(shù)據(jù)、仿冒應(yīng)用、惡意發(fā)送廣播、啟動應(yīng)用服務(wù)、調(diào)用組件、接收組件返回的數(shù)據(jù)、攔截有序廣播等。

常見的有以下的防護手段。

(1)最小化組件暴露

不參與跨應(yīng)用調(diào)用的組件添加android:exported="false"屬性,這個屬性說明它是私有的,只有同一個應(yīng)用程序的組件或帶有相同用戶ID的應(yīng)用程序才能啟動或綁定該服務(wù)。

 
 
  1.  

(2)設(shè)置組件訪問權(quán)限

參與跨應(yīng)用調(diào)用的組件或公開的廣播、服務(wù)設(shè)置權(quán)限。

① 組件添加android:permission屬性。

 
 
  1.   

② 聲明屬性

 
 
  1.  

protectionLevel有4種級別:Normal、Dangerous、Signature、SignatureOrSystem。Signature、SignatureOrSystem級別只有相同簽名時才能調(diào)用。

③ 調(diào)用組件者聲明

 
 
  1.  

(3)暴露組件的代碼檢查

Android 提供各種 API 在運行時檢查、執(zhí)行、授予和撤銷權(quán)限。這些 API 是android.content.Context類的一部分,這個類提供有關(guān)應(yīng)用程序環(huán)境的全局信息。

網(wǎng)絡(luò)數(shù)據(jù)通信可能面臨的攻擊是網(wǎng)絡(luò)流量嗅探,如果網(wǎng)絡(luò)上傳沒有加密的數(shù)據(jù),網(wǎng)絡(luò)嗅探就能截獲到數(shù)據(jù),ARP攻擊可以輕松嗅探到賬號、密碼等。比較常見是通過HTTPS,HTTPS能有效地防止數(shù)據(jù)暴露、防止第三方截獲應(yīng)用的通信數(shù)據(jù)。

Android中實現(xiàn)HTTPS基本就這兩種方式,一種是不驗證證書,一種是有驗證證書(預(yù)防釣魚)。

第二種方式實現(xiàn)復(fù)雜一些,需要將cer證書轉(zhuǎn)換成BKS類型。這種方式也只能簡單地防止釣魚,不能有效地防止釣魚。防止釣魚最終還是靠用戶分辨,在正規(guī)渠道下載應(yīng)用。應(yīng)用證書也能起到驗證客戶端的功能,使用證書驗證客戶端不合適,如果使用證書驗證客戶端,證書必須存放在應(yīng)用程序中或使用時下載,Android應(yīng)用都是一個APK文件,很容易獲取到里面的文件,如果是下載方式,更容易通過下載地址獲取。如果想驗證客戶端的話,使用so文件封裝數(shù)據(jù)更好。


本文標題:網(wǎng)絡(luò)安全攻防:Android系統(tǒng)安全之數(shù)據(jù)安全
網(wǎng)頁URL:http://m.5511xx.com/article/coioegc.html