版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 翻譯部分</b></p><p><b> 外文原文</b></p><p> Understand android security </p><p> the next generation of open operating systems won’t be on desktops
2、 or mainframes but on the small mobile devices we carry every day. The openness of these new environments will lead to new applications and markets and will enable greater integration with existing online services. </
3、p><p> However, as the importance of the data and services our cell phones support increases, so too do the opportunities for vulnerability. It’s essential that this next generation of platforms provide a comp
4、rehensive and usable securityinfrastructure.Developed by the Open Handset Alliance (visibly led by Google), Android is a widely anticipated open source operating system for mobile devices that provides a base operating s
5、ystem, an application middleware layer, a Java software development kit (SDK),</p><p> A large community of developers has organized around Android, and many new products and applications are now available
6、for it. One of Android’s chief selling points is that it lets developers seamlessly .</p><p> extend online services to phones. The most visible example of this feature is—unsurprisingly—the tight integrati
7、on of Google’s Gmail, Calendar, and Contacts Web applications with system utilities. Android users simply supply a username and password, and their phones automatically synchronize with Google services. Other vendors are
8、 rapidly adapting their existing instant messaging, social networks, and gaming services to Android, and many enterprises are looking for ways to integrate their own in</p><p> We developed a pair of applic
9、ations to help describe how Android applications operate. Interested readers can download the source code from our websitepttp://siis.cse.psu.edu/android_sec_tutorial.html).</p><p> Let’s consider a locatio
10、n-sensitive social networking application for mobile phones in which users can discover their friends ‘locations. We split the functionality into two applications: one for tracking friends and one for viewing them. As Fi
11、gure 1 shows, the FriendTracker application consists of components specific to tracking friend locations (for example, via a Web service), storing geographic coordinates, and sharing those coordinates with other applicat
12、ions. The user then uses the FriendV</p><p> Content provider components store and share data using a relational database interface. Each content provider has an associated “authority” describing the conten
13、t it contains. Other components use the authority name as a handle to perform SQL queries (such as SELECT, INSERT, or DELETE) to read and write content. Although content providers typically store values in database recor
14、ds, data retrieval is implementation-specific—for example, flees are also shared through content provider interfaces. B</p><p> Figure 1 shows the FriendTrack-er and FriendViewer applications containing the
15、 different component types. The developer specifies components using a manifest file (also used to defend policy as described later). There are no restrictions on the number of components an application defines for each
16、type, but as a convention, one component has the same name as the application. Frequently, this is an activity, as in the FriendViewer application. This activity usually indicates the primary activity t</p><p&
17、gt; In this case, we reserved the name “FriendTracker” for the service component performing the core application logic. The FriendTracker application contains each of the four component types. The FriendTracker service
18、polls an external service to discover friends’ locations. In our example code, we generate local FriendTracker application BootReceiver Broadcast receiver Activity FriendTracker FriendProvider Content provider Service Fr
19、iendTracker control FriendViewer application Friend Receiver Broa</p><p> The Android API defines methods that accept intents, and uses that information to start activities (startActivity(Intent)), start se
20、rvices (startService (Intent)), and broadcast messages (sendBroadcast(Intent)). The invocation of these methods tells the Android framework to begin executing code in the target application. This process of intercomponen
21、t communication is known as an action. Simply put, an intent object defines the “intent” to perform an “action.”O(jiān)ne of Android’s most powerful featu</p><p> In the latter case, the system determines the bes
22、t component for an action by considering the set of installed applications and user choices. The implicit name is called an action string because it specifies the type of requested action—for example, if the “VIEW” actio
23、n string is specified in an intent with data fields pointing to an image file, the system will direct the intent to the preferred image viewer. Developers also use action strings to broadcast a message to a group of broa
24、dcast recei</p><p> Each component type supports interaction specific to its type for example, when FriendViewer starts FriendMap, the FriendMap activity appears on the screen. Service components support st
25、art, stop, and bind actions, so the FriendTrackerControl activity, for instance, can start and stop the FriendTracker service that runs in the background. The bind action establishes a connection between components, allo
26、wing the initiator to execute RPCs defined by the service. In our example, FriendTracker binds</p><p><b> 中文譯文</b></p><p> 深入理解Android系統(tǒng)安全性</p><p> 下一代開(kāi)放操作系統(tǒng)的主流將不會(huì)在桌面
27、上,但是將會(huì)出現(xiàn)在我們每天攜帶的手機(jī)上。這些開(kāi)放性的環(huán)境將會(huì)帶領(lǐng)這些新的應(yīng)用可能集成這些已經(jīng)存在的在線(xiàn)服務(wù),當(dāng)然隨著日以具增的數(shù)據(jù)與服務(wù)在手機(jī)上的支持,手機(jī)上的安全缺陷也越發(fā)明顯。下一代操作系統(tǒng)本質(zhì)在于是否提供一個(gè)完整綜合的安全平臺(tái)。</p><p> 由開(kāi)放手機(jī)聯(lián)盟(open Handset Alliance 谷歌領(lǐng)導(dǎo))所開(kāi)發(fā)的android 系統(tǒng)是一個(gè)被廣泛看好的一個(gè)手機(jī)開(kāi)源系統(tǒng),該系統(tǒng)提供一個(gè)基本的操作系
28、統(tǒng),一個(gè)中間件應(yīng)用層,一個(gè)java開(kāi)發(fā)工具和一個(gè)系統(tǒng)應(yīng)用收集器(collection of system applications )。盡管android SDK自2007年就發(fā)布了,但是第一部android 手機(jī)卻在2008年10月才誕生。自從這時(shí)起谷歌開(kāi)起了自己的時(shí)代,T-Mobile的G1的制造商臺(tái)灣 HTC估算G1的發(fā)貨量在2008年底已經(jīng)超過(guò)100萬(wàn)部。不久的將來(lái)其他許多手機(jī)供應(yīng)商要計(jì)劃支持這個(gè)系統(tǒng)。</p>&
29、lt;p> 一個(gè)圍繞android龐大的開(kāi)發(fā)者社區(qū)已經(jīng)建立,同時(shí)很多新的產(chǎn)品和應(yīng)用已經(jīng)可以在android上使用。一個(gè)Android的主要賣(mài)點(diǎn)是它使開(kāi)發(fā)人員無(wú)縫把在線(xiàn)服務(wù)擴(kuò)展到手機(jī)。這方面最明顯的例子是谷歌的緊密集成Gmail,日歷和聯(lián)系人Web應(yīng)用程序通過(guò)該系統(tǒng)。用戶(hù)只需提供一個(gè)android用戶(hù)名和密碼,其手機(jī)自動(dòng)同步與谷歌的服務(wù)。其他廠(chǎng)商正在迅速適應(yīng)自己的現(xiàn)有的即時(shí)通訊,社交網(wǎng)絡(luò)和游戲服務(wù)。Android和許多企業(yè)尋找新途
30、徑來(lái)整合他們的自己已有的業(yè)務(wù)到android上。</p><p> 傳統(tǒng)的臺(tái)式機(jī)和服務(wù)器的操作系統(tǒng)一直在努力進(jìn)行安全功能的集成。這些個(gè)人和商業(yè)應(yīng)用在單一平臺(tái)的很出色,然而這一塊業(yè)務(wù)一個(gè)手機(jī)平臺(tái)上像android上不是很有用。它給了許多研究人員希望。Android沒(méi)有停在為其他平臺(tái)體用應(yīng)用支持:應(yīng)用的執(zhí)行依賴(lài)于頂層JAVA中間件,這個(gè)中間件運(yùn)行在嵌入式Linux 內(nèi)核之上。所以開(kāi)發(fā)人員要把他們的應(yīng)用部署到Andr
31、oid必須使用其自定義的用戶(hù)界面環(huán)境。</p><p> 此外,android系統(tǒng)應(yīng)用限制各應(yīng)用相互調(diào)用API協(xié)作,并且對(duì)方為自己的用戶(hù)應(yīng)用進(jìn)行身份驗(yàn)證。盡管這些應(yīng)用有一定的安全特性,我們一些有經(jīng)驗(yàn)的開(kāi)發(fā)人員開(kāi)發(fā)android應(yīng)用人士透露,設(shè)計(jì)安全應(yīng)用程序并不總是直線(xiàn)前進(jìn)的。Android使用一個(gè)簡(jiǎn)單的許可標(biāo)簽分配模式限制訪(fǎng)問(wèn)的資源,但其他應(yīng)用程序的原因必要性和便利,其設(shè)計(jì)師們?cè)黾恿死Щ髮?duì)這個(gè)系統(tǒng)。本文試圖對(duì)A
32、ndroid的安全的復(fù)雜性進(jìn)行講解,并注意一些可能的發(fā)展缺陷以及應(yīng)用程序的安全。我們通過(guò)嘗試得出一些經(jīng)驗(yàn)教訓(xùn),希望對(duì)未來(lái)的安全有用。</p><p> Android Application </p><p> Android應(yīng)用程序框架對(duì)開(kāi)發(fā)者來(lái)說(shuō)是一個(gè)強(qiáng)制架構(gòu)。它沒(méi)有一個(gè)main()函數(shù)功能或單一入口點(diǎn)執(zhí)行,相反,開(kāi)發(fā)人員必須在設(shè)計(jì)方面的應(yīng)用組件。我們開(kāi)發(fā)的應(yīng)用對(duì)android的s
33、dk的幫助的API。Example Application。</p><p> 我們開(kāi)發(fā)了一個(gè)描述如何創(chuàng)建android的應(yīng)用。有興趣的讀者可以去我們的站點(diǎn)下載讓我們考慮一個(gè)基于位置的社交網(wǎng)絡(luò)應(yīng)用,其中手機(jī)用戶(hù)可以通過(guò)本應(yīng)用發(fā)現(xiàn)他們的朋友們位置。我們進(jìn)行功能拆分,分成兩個(gè)應(yīng)用程序:一個(gè)用于跟蹤查看朋友和??此麄?。 FriendTracker應(yīng)用包括跟蹤的組件specifc朋友的位置(例如,通過(guò)一個(gè)We
34、b服務(wù)),儲(chǔ)存地理坐標(biāo),并分享這些合作統(tǒng)籌與其他應(yīng)用程序。然后用戶(hù)使用友情查看器應(yīng)用程序來(lái)檢索地理坐標(biāo)和儲(chǔ)存在地圖上查看朋友。</p><p> 這兩個(gè)應(yīng)用程序包含的多個(gè)組件包括展示自己任務(wù),他們組件是由他們組件類(lèi)型所決定的。 。一個(gè)Android 開(kāi)發(fā)者選擇從根據(jù)不同的組件類(lèi)型組件的目的決定 (如與一個(gè)用戶(hù)或存儲(chǔ)數(shù)據(jù)接口)。</p><p> 例如Android應(yīng)用程序。Friend
35、Tracker和FriendViewer應(yīng)用由多個(gè)不同類(lèi)型的組件,每個(gè)提供一個(gè)不同的組功能。Activity提供一個(gè)用戶(hù)界面,Service執(zhí)行后臺(tái)處理,Content提供存儲(chǔ),Broadcast receiver接收機(jī)其他應(yīng)用程序的信息。</p><p> Component Types</p><p> Android系通定義了4種組件類(lèi)型。</p><p>
36、;<b> Activity </b></p><p> 組件定義應(yīng)用程序的用戶(hù)界面。通常,應(yīng)用程序開(kāi)發(fā)者定義每一個(gè)活動(dòng)“畫(huà)面?!盇ctivity可以自己開(kāi)始,也可能通過(guò)傳遞和返回值。在一時(shí)間只有一個(gè)鍵盤(pán)的系統(tǒng)Activity可以進(jìn)行處理,在這個(gè)時(shí)候所有其他的Activity都會(huì)被暫停。</p><p><b> Service</b>&l
37、t;/p><p> 組件執(zhí)行后臺(tái)處理。當(dāng)一個(gè)活動(dòng)需要進(jìn)行一些操作,在用戶(hù)界面消失以后(如下載一個(gè)文件或播放音樂(lè)),它通常采取此種動(dòng)作特殊設(shè)計(jì)的服務(wù)。開(kāi)發(fā)人員還可以在系統(tǒng)啟動(dòng)使用特殊的守護(hù)進(jìn)程,Service通常定義一個(gè)遠(yuǎn)程過(guò)程調(diào)用(RPC),其他系統(tǒng)組件可以用來(lái)傳送接口命令和檢索數(shù)據(jù),以及注冊(cè)一個(gè)回調(diào)函數(shù)。</p><p><b> Content</b></p
38、><p> 組件存儲(chǔ)和共享數(shù)據(jù) 用關(guān)系數(shù)據(jù)庫(kù)接口。每個(gè)Content供應(yīng)者都有一個(gè)關(guān)聯(lián)的“權(quán)限”來(lái)形容它的內(nèi)容包含。其他組件使用時(shí)作為一個(gè)handle執(zhí)行SQL查詢(xún)(如SELECT,INSERT或DELETE內(nèi)容。雖然Content供應(yīng)者通常存儲(chǔ)把數(shù)值放在數(shù)據(jù)庫(kù)記錄中,數(shù)據(jù)檢索是實(shí)現(xiàn)特殊的例子,文件也同時(shí)通過(guò)內(nèi)容提供商共享接口。</p><p> Broadcast receiver<
39、;/p><p> 該組件作為為從郵件信箱發(fā)送信息給他應(yīng)用程序。通常,廣播消息的應(yīng)用程序代碼隱含的目的地。因此,廣播接收器訂閱這些目的地接收發(fā)送給它的消息。應(yīng)用程序代碼也可以解決明確廣播接收機(jī)包括命名空間分配。</p><p> FriendTracker和FriendViewer應(yīng)用所包含的不同的組件類(lèi)型。開(kāi)發(fā)者組件使用一個(gè)主要定義文件(也用于定義權(quán)限,稍后介紹)。上有一個(gè)應(yīng)用程序的組件的
40、數(shù)量沒(méi)有限制定義每種類(lèi)型,但作為習(xí)慣,一組件應(yīng)具有相同的名稱(chēng)該應(yīng)用程序。通常情況下,這是作為在FriendViewer activity中進(jìn)行注冊(cè)。這一動(dòng)作通常指示主activity作為該系統(tǒng)應(yīng)用程序啟動(dòng)器用于啟動(dòng)用戶(hù)界面;然而,如果需要啟動(dòng)特定的activity,開(kāi)發(fā)者需要者在選擇配置manifest 信息來(lái)實(shí)現(xiàn)這一個(gè)功能。在在FriendTracker應(yīng)用,例如,F(xiàn)riendTrackerControl活動(dòng)被標(biāo)記為主用戶(hù)界面的啟動(dòng)點(diǎn)
41、。在這種情況下,我們保留名稱(chēng)“FriendTracker”為服務(wù)執(zhí)行的核心組成部分的應(yīng)用程序邏輯。</p><p> 在FriendTracker應(yīng)用包含四種類(lèi)型的組件。在FriendTracker服務(wù)搜尋調(diào)查外部服務(wù)并發(fā)現(xiàn)好友的位置。在我們的示例代碼中,位置是我們隨機(jī)生成的,但直接通過(guò)網(wǎng)絡(luò)連接組件接口的服務(wù)。該FriendProvider Content 提供保持最新的朋友地理坐標(biāo)。 FriendTr
42、ackerControl活動(dòng)用于啟動(dòng)和用戶(hù)界面停止跟蹤好友功能,該系統(tǒng)一旦啟動(dòng) BootReceiver通知從廣播系統(tǒng)啟動(dòng)。該FriendViewer應(yīng)用主要是顯示有關(guān)好友的位置的信息。每個(gè)啟動(dòng)的FriendViewer將會(huì)列出了所有的朋友和他們的地理坐標(biāo),F(xiàn)riendMap顯示他們?cè)诘貓D上的位置。FriendReceiver將會(huì)等待接收附近的手機(jī)發(fā)送的消息這個(gè)消息來(lái)一個(gè)所指定的朋友。盡管我們可以在這些組件內(nèi)放置在FriendTrack
43、er應(yīng)用,但是我們?nèi)匀粍?chuàng)建了一個(gè)單獨(dú)的應(yīng)用程序來(lái)展示跨應(yīng)用的溝通。此外,通過(guò)分離程序功能和接口,我們可以創(chuàng)建不同的顯示和功能,可選用戶(hù)界面是,許多應(yīng)用程序可以重用這些來(lái)自FriendTracker的功能。</p><p> Component Interaction</p><p> 該組件交互的主要機(jī)制是一個(gè)intent ,這是一個(gè)簡(jiǎn)單的消息對(duì)象,其中包含一個(gè)目的地組件的地址和數(shù)據(jù)。
44、Android的API定義了他的方法中傳入intent,并使用該信息來(lái)啟動(dòng)一個(gè)activity例如開(kāi)始一個(gè)activity(startActivity(intent)),啟動(dòng)服務(wù)(startService(intent))和廣播信息(sendBroadcast(intent))。 Android框架來(lái)通知這些方法的調(diào)用開(kāi)始執(zhí)行在目標(biāo)應(yīng)用程序代碼。這個(gè)過(guò)程中內(nèi)部組件通信稱(chēng)為一個(gè)動(dòng)作。簡(jiǎn)單地說(shuō),Intent對(duì)象定義的“Intent”
45、以執(zhí)行“action”。Android的一個(gè)最強(qiáng)大的特點(diǎn)是允許的多種intent尋址機(jī)制。開(kāi)發(fā)人員可以解決一個(gè)目標(biāo)組件使用其應(yīng)用的空間,他們也可以指定一個(gè)隱含的名稱(chēng)。在后一種情況下,系統(tǒng)決定了一個(gè)action的最佳組件,通過(guò)考慮安裝的應(yīng)用程序和用戶(hù)的選擇 。</p><p> 這個(gè)隱含的名字被稱(chēng)為動(dòng)作字符串因?yàn)樗厥獾念?lèi)型的請(qǐng)求動(dòng)作。例如一個(gè)view動(dòng)作字符串,在一個(gè)intent中和數(shù)據(jù)域指向一個(gè)圖像文件,系統(tǒng)
46、將會(huì)直接指首選圖像瀏覽器,開(kāi)發(fā)者也能使用動(dòng)作字符串進(jìn)行大量廣播發(fā)送和接收。在接收端的接收者,開(kāi)發(fā)者使用一intent 過(guò)濾器來(lái)定制特殊的動(dòng)作字符串。Android系包括附加目標(biāo)的決議規(guī)則,但可選的數(shù)據(jù)操作字符串類(lèi)型是最常見(jiàn)的。在每一種情況下,發(fā)起一個(gè)組件與其他的溝通。為了簡(jiǎn)單起見(jiàn),我們稱(chēng)這個(gè)為件間通信(ICC)。在許多方面,ICC是類(lèi)似于進(jìn)程間通信(IPC)在基于Unix的系統(tǒng)中。對(duì)于開(kāi)發(fā)人員,ICC的功能相同無(wú)論目標(biāo)是在相同或不同的應(yīng)
47、用與界定將在下文的安全規(guī)則中說(shuō)明??捎玫腎CC的動(dòng)作取決于目標(biāo)的組成部分。每個(gè)組件類(lèi)型支持自己的類(lèi)型例如,當(dāng)FriendViewer開(kāi)始FriendMap的FriendMap活動(dòng)中的結(jié)果數(shù)據(jù)出現(xiàn)在屏幕上。服務(wù)組件支持啟動(dòng)停止并結(jié)合行動(dòng)所以FriendTrackerControl活動(dòng),例如,可以啟動(dòng)和停止FriendTracker服務(wù)在后臺(tái)運(yùn)行。Action的綁定組件之間建立連接,使啟動(dòng)執(zhí)行的服務(wù)定義的RPC。在我們的例子</p&g
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- android外文翻譯--深入理解安卓系統(tǒng)的安全性
- 手機(jī)系統(tǒng)外文翻譯---深入理解安卓系統(tǒng)的安全性
- 手機(jī)系統(tǒng)外文翻譯---深入理解安卓系統(tǒng)的安全性
- 手機(jī)系統(tǒng)外文翻譯---深入理解安卓系統(tǒng)的安全性
- 外文-深入理解安卓系統(tǒng)的安全性
- 手機(jī)系統(tǒng)外文翻譯---深入理解安卓系統(tǒng)的安全性.docx
- 手機(jī)系統(tǒng)外文翻譯---深入理解安卓系統(tǒng)的安全性.docx
- 外文-深入理解安卓系統(tǒng)的安全性.pdf
- 外文-深入理解安卓系統(tǒng)的安全性.pdf
- 深入理解文件系統(tǒng)
- 畢業(yè)論文外文翻譯-深入理解mysql核心技術(shù)
- 深入理解計(jì)算機(jī)系統(tǒng)習(xí)題答案
- [雙語(yǔ)翻譯]安卓外文翻譯--android應(yīng)用程序的安全性
- 深入理解c語(yǔ)言指針的奧秘
- 深入理解矩陣式團(tuán)隊(duì)管理
- 深入理解硬盤(pán)分區(qū)表
- VoIP系統(tǒng)安全性研究.pdf
- RFID系統(tǒng)安全性研究.pdf
- AIP系統(tǒng)安全性研究.pdf
- 發(fā)輸電系統(tǒng)安全性評(píng)估
評(píng)論
0/150
提交評(píng)論