• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      淺探制定Android系統(tǒng)安全機制

      2013-08-15 00:44:35順德職業(yè)技術(shù)學院龍子學鐘軍強
      電子世界 2013年6期
      關(guān)鍵詞:數(shù)字證書數(shù)字簽名分區(qū)

      順德職業(yè)技術(shù)學院 龍子學 鐘軍強

      目前Android平臺并沒有嚴格的應(yīng)用權(quán)限審核機制,僅僅將應(yīng)用的權(quán)限請求在安裝時展示給用戶,這樣的模式會導致惡意軟件的植入留下了隱患;另一方面在Android平臺的訪問控制是靜態(tài)的,無法根據(jù)控制策略庫的動態(tài)定制,而且Android平臺上所有軟件都是平級執(zhí)行,這造成了一般的安全軟件只能通過應(yīng)用基本信息與庫的比對來判定其危害程度;Android系統(tǒng)不提供軟件行為監(jiān)控的接口,這也阻礙了以行為檢測為基礎(chǔ)的殺毒軟件無法移植。

      針對上述問題,本文以Android系統(tǒng)為平臺,在Android的操作系統(tǒng)開發(fā)中如何制定和實施數(shù)據(jù)庫防御策略。

      一、數(shù)據(jù)代碼安全

      Android是基于linux內(nèi)核,所以android核心部分是c語言編寫的。但是android提供的sdk是基于java語言的,也就是說大部分用戶所使用的應(yīng)用程序是用java編寫的。java是解釋性語言,存在代碼被反編譯的隱患;建議用混淆器為proguard,proguard還可用來壓縮、優(yōu)化java字節(jié)碼,刪除無用的類、字段、方法、屬性、注釋等。

      配置方法:

      在Android.mk中設(shè)置LOCAL_PROGUARD_FLAG_FILES:=proguard.flags

      packages/apps/Launcher2/proguard.flags的特定方法:

      -keep class com.android.launcher2.Launcher{

      public void previousScreen(android.view.View);

      public void nextScreen(android.view.View);

      public void launchHotSeat(android.view.View);}

      -keep class com.android.launcher2.AllApps3D$Defines{

      *;}

      -keep class com.android.launcher2.ClippedImageView{

      *;}

      二、權(quán)限安全設(shè)置

      權(quán)限主要用來對應(yīng)用的操作增加限制,防止惡意應(yīng)用進行非法操作給用戶造成敏感數(shù)據(jù)泄漏和設(shè)備被非法控制,防止惡意收費等;所以在Android的Normal、Dangerous、signatureOrSystem、Signature接入權(quán)限,它框架層權(quán)限定義位置是:frameworks/base/core/res/AndroidManifest.xml權(quán)限可用于整個應(yīng)用、Activity、Service等。

      1.創(chuàng)建接入權(quán)限和權(quán)限組

      android:permissionGroup=“android.permission-group.ACCOUNTS”

      android:protectionLevel="normal“

      android:description=“@string/permdesc_getAccounts”

      android:label="@string/permlab_getAccounts"/>

      android:label="@string/permgrouplab_storage“

      android:description="@string/permgroupdesc_storage"/>

      2.應(yīng)用權(quán)限的設(shè)置

      因共享用戶ID即共用一個進程Android源代碼樹攜帶的系統(tǒng)證書包括“media”、“platform”、“shared”、“testkey”等,其中“media”證書用于多媒體、下載場景中;“platform”證書用于系統(tǒng)場景中;“shared”證書用于啟動器、電話簿場景中;“testkey”證書用于開發(fā)場景中,這些證書位于build/target/product/security目錄下;

      目前支持的“sharedUserId”屬性包括“com.android.cts.shareduid”、“com.android.cts.process.uidpid_test”、“android.uid.phone”等。常用的包括“android.uid.system”、“android.media”、“android.uid.shared”等。

      設(shè)置應(yīng)用權(quán)限:

      3.權(quán)限驗證

      Android提供了多個方法可用于驗證調(diào)用方是否具有相應(yīng)的權(quán)限。如果調(diào)用方擁有相應(yīng)的權(quán)限,則權(quán)限驗證的返回值為PackageManager.PERMISSION_GRANTED否則返回PackageManager.PERMISSION_DENIED,如下示例:

      private int enforceAccessPermission(){

      int ret=

      mContext.checkCallingOrSelfPermissio n("android.permission.BIND_WALLPAPER");

      return ret;}

      三、數(shù)字證書實現(xiàn)

      Android的數(shù)字證書分調(diào)試模式和發(fā)布模式兩種,通過命令行和Eclipse可以生成發(fā)布模式的數(shù)字證書,在命令行方式下利用Keytool來生成數(shù)字證書,并利用Jarsigner來為APK進行數(shù)字簽名,使用ADT Export Wizard進行簽名,只有同一包名且采用同一數(shù)字證書的應(yīng)用才被認為是同一個應(yīng)用,數(shù)字證書的確保系統(tǒng)用升級和設(shè)置應(yīng)用間通信的權(quán)限的安全。

      1.Keytool生成數(shù)字證書

      keytool-genkey-v -keystore android.keystore-alias miaozl-keyalg RSA-validity 20000“keystore android.keystore”表示生成的證書為“android.keystore”,可以加上路徑(默認在用戶主目錄下);“alias miaozl”表示證書的別名是“miaozl”;“keyalg RSA”表示采用的RSA算法;“validity 20000”表示證書的有效期是20000天。另外通過keypass可以設(shè)置數(shù)字證書私鑰的密碼,通過keysize可以設(shè)置算法的位長,默認為1024比特,推薦2048比特及更長,通過storepass可以設(shè)置證書的密碼。

      2.實現(xiàn)Jarsigner進行數(shù)字簽名

      jarsigner-verbose-keystore android.keystore demo.apk接下來jarsigner會提示輸入密鑰庫的口令和證書別名的口令,全部輸入后,即可完成簽名。

      四、網(wǎng)絡(luò)及數(shù)據(jù)安全

      1.網(wǎng)絡(luò)數(shù)據(jù)加密算法

      Android加密算法有DES(對稱)、3DES(對稱)、RSA(非對稱)、MD5、RC2/RC4(對稱)、IDEA、AES、BLOWFISH等,而Web服務(wù)(HTTP層),三種手段WS-Security、SSL、數(shù)字簽名。

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

      Android采用的SQLite目前采用明文存儲數(shù)據(jù);安全涉及加密、讀寫、搜索等。

      讀寫權(quán)限示例:

      android:name=".provider.AttachmentPr ovider"android:authorities="com.android.email.attachmentprovider"

      android:multiprocess="true"

      android:grantUriPermissions="true“

      android:readPermission="com.android.email.permission.READ_ATTACHMENT"/>

      數(shù)據(jù)庫安全--搜索例:

      android:readPermission="android.permission.READ_SMS"

      android:authorities="com.android.mms.SuggestionsProvider">

      android:pathPrefix="/search_suggest_query"

      android:readPermission="android.permission.GLOBAL_SEARCH">

      android:pathPrefix="/search_suggest_shortcut"android:readPermission="android.permission.GLOBAL_SEARCH"/>

      五、文件訪問控制

      Android在權(quán)限管理上應(yīng)用了Linux的ACL(Access Control List)權(quán)限機制,而非早期Unix采用的UGO權(quán)限機制。

      1.分區(qū)層面

      在系統(tǒng)運行時,最外層安全保護是由Linux系統(tǒng)提供的,其中system.img所在的分區(qū)是只讀的,不允許用戶寫入,而data.img所在的分區(qū)是可讀寫的,用于存放用戶數(shù)據(jù)。

      分區(qū)的用戶權(quán)限在init.rc中定義。

      2.單獨文件

      單獨文件訪問權(quán)限控制分群組、用戶、權(quán)限,權(quán)限分可讀、可寫、可執(zhí)行,命令:chownchgrpchmod。

      六、結(jié)語

      隨著智能手機的超速發(fā)展,Android智能手機操作系統(tǒng)越來越被人們所關(guān)注及使用,數(shù)據(jù)安全性已經(jīng)成為使用者的關(guān)心問題,本文通過對Android系統(tǒng)的各種安全機制進行了闡述,并針對不同的安全機制提供其解決方案,希望能為開發(fā)者提高Android系統(tǒng)安全性提供一點幫助。

      [1]陳益強.簡析Android系統(tǒng)的安全性能[A].信息系統(tǒng)工程,2011(9).

      [2]雷靈光.Android系統(tǒng)代碼簽名驗證機制的實現(xiàn)及安全性分析[A].信息網(wǎng)絡(luò)安全,2012(8).

      [3]符易陽,周丹平.Android安全機制分析[J].信息網(wǎng)絡(luò)安全,2011(9).

      猜你喜歡
      數(shù)字證書數(shù)字簽名分區(qū)
      上海實施“分區(qū)封控”
      淺析計算機安全防護中數(shù)字簽名技術(shù)的應(yīng)用
      浪莎 分區(qū)而治
      基于數(shù)字簽名的QR碼水印認證系統(tǒng)
      當心黑客利用數(shù)字證書的漏洞
      基于數(shù)字證書的軍事信息系統(tǒng)安全防護方案
      管理好系統(tǒng)中的數(shù)字證書
      電腦迷(2015年7期)2015-05-30 04:50:35
      基于SAGA聚類分析的無功電壓控制分區(qū)
      電測與儀表(2015年8期)2015-04-09 11:50:16
      基于多種群遺傳改進FCM的無功/電壓控制分區(qū)
      電測與儀表(2015年7期)2015-04-09 11:40:16
      吉林省支付清算系統(tǒng)參與者數(shù)字證書使用現(xiàn)狀調(diào)查與現(xiàn)存問題分析及建議
      武威市| 平舆县| 东源县| 阳原县| 托克托县| 合肥市| 台湾省| 灌云县| 武陟县| 灵川县| 华蓥市| 讷河市| 多伦县| 香格里拉县| 伊春市| 武邑县| 彭水| 特克斯县| 靖远县| 花莲县| 读书| 甘泉县| 东乡族自治县| 沙湾县| 阳江市| 南投市| 仁怀市| 新密市| 呼和浩特市| 洛扎县| 内黄县| 武乡县| 都江堰市| 邵东县| 东城区| 淅川县| 岫岩| 铁力市| 阳江市| 信宜市| 河西区|