偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

網(wǎng)絡(luò)安全攻防:Android系統(tǒng)安全之?dāng)?shù)據(jù)安全

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

 [[388878]]

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

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

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

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

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

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)的安全機(jī)制的保護(hù)。

Android的安全機(jī)制本質(zhì)上就是Linux的安全機(jī)制,系統(tǒng)會為在Android系統(tǒng)上運行的每一個App創(chuàng)建一個進(jìn)程,并為該進(jìn)程分配一個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)限機(jī)制的保護(hù)。

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

MODE_PRIVATE:默認(rèn)的創(chuàng)建模式,該進(jìn)程的 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過后的手機(jī)就打破了Linux提供的沙箱機(jī)制,那么無論以何種方式去創(chuàng)建SharedPreference都已經(jīng)不再安全了,如果存儲的是用戶明文的密碼,那么用戶的密碼將會泄露,因此,絕對不要向SharedPreference中寫入任何無時效性的重要的數(shù)據(jù)。

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

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

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

這些如果在Androidmanifest.xml配置不當(dāng),會被其他應(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ù)、攔截有序廣播等。

常見的有以下的防護(hù)手段。

(1)最小化組件暴露

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

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

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

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

① 組件添加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級別只有相同簽名時才能調(diào)用。

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

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

(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ù)更好。 

 

責(zé)任編輯:龐桂玉 來源: 計算機(jī)與網(wǎng)絡(luò)安全
相關(guān)推薦

2021-03-15 13:50:24

網(wǎng)絡(luò)安全Android安全機(jī)制

2021-02-22 08:35:41

網(wǎng)絡(luò)安全Linux系統(tǒng)安全

2021-02-23 09:12:46

網(wǎng)絡(luò)安全系統(tǒng)安全OpenSS

2021-03-02 14:02:19

網(wǎng)絡(luò)安全系統(tǒng)安全iptables

2021-06-16 09:40:44

網(wǎng)絡(luò)安全物聯(lián)網(wǎng)代碼

2021-04-25 21:45:25

網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全攻防ZigBee安全

2021-05-07 14:12:50

網(wǎng)絡(luò)安全Web安全CSRF

2021-04-23 13:35:41

網(wǎng)絡(luò)安全藍(lán)牙Wi-Fi

2021-05-24 11:40:50

網(wǎng)絡(luò)安全數(shù)據(jù)庫安全服務(wù)器

2021-04-30 19:38:42

網(wǎng)絡(luò)安全WebHTTP

2021-05-13 20:38:30

2021-04-27 10:00:27

網(wǎng)絡(luò)安全WebURL

2021-05-08 15:22:31

網(wǎng)絡(luò)安全Web安全SQL

2021-06-11 13:57:46

網(wǎng)絡(luò)安全大數(shù)據(jù)安全互聯(lián)網(wǎng)

2021-05-21 12:52:47

網(wǎng)絡(luò)安全Android App虛擬機(jī)

2019-01-10 15:44:00

2021-04-13 11:30:09

網(wǎng)絡(luò)安全無線網(wǎng)絡(luò)WEP

2021-04-15 11:55:40

網(wǎng)絡(luò)安全無線網(wǎng)絡(luò)WPA

2021-05-25 11:40:27

網(wǎng)絡(luò)安全隱寫互聯(lián)網(wǎng)

2021-05-27 12:30:49

網(wǎng)絡(luò)安全數(shù)據(jù)泄露加密
點贊
收藏

51CTO技術(shù)棧公眾號