自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

網絡安全攻防:Android系統(tǒng)安全之數(shù)據(jù)安全

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

 [[388878]]

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

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

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

  1. <uses-permission android:name='android.permission.WRITE_EXTERNAL_STORAGE'></uses-permission> 

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

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

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

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

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

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

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

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

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

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

MODE_WORLD_WRITABLE:該權限將允許設備上所有的App對于該文件擁有寫的權限。

MODE_WORLD_READABLE:該權限將允許設備上所有的App對于該文件擁有讀的權限。

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

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

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

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

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

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

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

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

這些如果在Androidmanifest.xml配置不當,會被其他應用調用,引起風險。Android應用內部的Activity、Service、Broadcast Receiver等,它們通過Intent通信,組件間需要通信就需要在Androidmanifest.xml文件中暴露組件。

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

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

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

(1)最小化組件暴露

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

  1. <activity android:name=".LoginActivity" android:label="@string/app_name" android: screenOrientation="portrait" android:exported="false"> 

(2)設置組件訪問權限

參與跨應用調用的組件或公開的廣播、服務設置權限。

① 組件添加android:permission屬性。 

  1. <activity android:name=".Another" androidandroid:label="@string/app_name"android:permission="com.test.custempermission"> </activity> 

② 聲明屬性 

  1. <permission android:description="test" android:label="test" androidandroid:name="com.test.custempermission"android:protectionLevel="normal"></permission> 

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

③ 調用組件者聲明 

  1. <uses-permission android:name="com.test.custempermission"/> 

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

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

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

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

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

 

責任編輯:龐桂玉 來源: 計算機與網絡安全
相關推薦

2021-03-15 13:50:24

網絡安全Android安全機制

2021-02-22 08:35:41

網絡安全Linux系統(tǒng)安全

2021-02-23 09:12:46

網絡安全系統(tǒng)安全OpenSS

2021-03-02 14:02:19

網絡安全系統(tǒng)安全iptables

2021-06-16 09:40:44

網絡安全物聯(lián)網代碼

2021-05-07 14:12:50

網絡安全Web安全CSRF

2021-04-25 21:45:25

網絡安全網絡安全攻防ZigBee安全

2021-04-23 13:35:41

網絡安全藍牙Wi-Fi

2021-05-24 11:40:50

網絡安全數(shù)據(jù)庫安全服務器

2021-05-13 20:38:30

2021-04-30 19:38:42

網絡安全WebHTTP

2021-04-27 10:00:27

網絡安全WebURL

2021-05-08 15:22:31

網絡安全Web安全SQL

2021-06-11 13:57:46

網絡安全大數(shù)據(jù)安全互聯(lián)網

2021-05-21 12:52:47

網絡安全Android App虛擬機

2021-05-27 12:30:49

網絡安全數(shù)據(jù)泄露加密

2021-05-25 11:40:27

網絡安全隱寫互聯(lián)網

2019-01-10 15:44:00

2021-04-13 11:30:09

網絡安全無線網絡WEP

2021-04-15 11:55:40

網絡安全無線網絡WPA
點贊
收藏

51CTO技術棧公眾號