2013-02-25 48 views
-1

我已經有一個項目即將推出,目前我正在評估這種方法(使用PhoneGap的Native和Hybrid)。關於這個評估過程(主要是大量的谷歌搜索),除了一點之外,我在大多數觀點上都很清楚。安全。移動應用安全問題

很多文章我讀說,混合應用程序是不太安全比本地應用,但沒有詳細說明太多的細節。我想明白,它究竟如何不太安全。

只有1條潛多一點皮相在這個題目說的安全風險可以是:

  • 應用源代碼的
  • 數據在中轉
  • URL安全其餘
  • 數據問題

我想了解在一個小更詳細的這個話題。任何人都可以詳細闡述一下,或者指點我一些有用的資源?

P.S:我知道這是一個非聚焦/開放式的問題,但我真的卡在這一個,我已經經歷了很多已經使用Google的。版主,請不要關閉此主題。

回答

1

純粹的投機(從這裏開始兩個人,混合iOS和Android上的經驗來說),但混合的應用程序需要的數據是通過其直接連接到API和共同的數據格式存儲更方便。這隱含地允許更多的攻擊媒介,因爲您通過將數據進行雜交使得數據本身更容易被訪問。作爲本地應用程序,應用程序和相關數據必須以專有格式存儲。這意味着必須專門構建攻擊者或惡意軟件來處理該格式的數據訪問,而使用混合應用程序時,惡意軟件或攻擊者可能會通過通用API或通用數據存儲格式訪問數據。此外,無論何時您正在通過服務器「通過網絡進行交互」,本地應用程序都使用底層通信,打開套接字連接,而對於混合應用程序,數據通常封裝在HTTP之上(通常)。這意味着如果攻擊者所做的只是嗅探80端口的流量(而不是像某些離奇的協議中的端口2030那樣嗅探),則攻擊者可以克服的障礙更少。使用「混合」通信與服務器交互的最常見方式之一(通常通過HTTP再次)是通過URL。這意味着像用戶名和密碼這樣的東西將包含在以明文形式發送的URL中(作爲一個愚蠢,愚蠢的例子):http://www.example.com/control_me?username=foo&password=bar

至於應用程序的源代碼,這返回到可訪問性。按照定義,混合應用程序源代碼需要打開。它需要在多個平臺上運行,而在我們討論混合應用程序源代碼時,我們通常指HTML5。這意味着您的整個方法可以下載並反向設計(或者只是打開並查看),因爲您需要發送源以使其在設備上運行。這是一個原生應用程序,它基本上是編譯java或objective-c,很難或不可能「反編譯」。

+0

在源代碼部分,當你說「需要發送源代碼」時,你的意思是下載整個HTML,CSS和JS嗎?我想在混合應用的情況下,這個來源與應用本身捆綁在一起。另外,如果我的本地應用程序使用SOAP,HTTP等標準協議,它同樣容易受到混合應用程序的影響嗎? – ameyazing 2013-02-25 11:45:39

+0

爲了解決您的第一個問題,這正是我的意思:它是「捆綁」以便運行,因此每個客戶端在下載應用程序時都會下載源代碼。其次,是的,這是完全正確的,「傳輸中的數據」所指的原因之一併不是特別的驚人啓示。如果它是敏感的,一般來說你的公民責任是對它進行加密。 – L0j1k 2013-02-25 11:48:59

+1

謝謝L0j1K :) – ameyazing 2013-02-26 08:47:23