2012-05-05 2 views
12

Jestem początkującym w tworzeniu aplikacji mobilnych z phonegap. Mam pewne wątpliwości dotyczące aspektów bezpieczeństwa podczas tworzenia aplikacji mobilnej z phonegapem.Zagadnienia dotyczące bezpieczeństwa podczas tworzenia aplikacji mobilnej za pomocą PhoneGap

  1. Chcę utworzyć aplikację, która uzyskuje dostęp do usługi sieciowej, np. usługa REST utworzona za pomocą usługi Jersey. Czy mam rację, myśląc, że haker może łatwo zobaczyć używane klucze bezpieczeństwa/mechanizm uwierzytelniania, aby uwierzytelnić klienta (w aplikacji mobilnej) na serwerze (gdzie ma być używany interfejs REST API)?

  2. Czy haker może z łatwością uzyskać dostęp do wszystkich danych przesyłanych przez aplikację mobilną (która została utworzona za pomocą phonegapa)?

  3. Czy haker może zdemontować aplikację phonegap, aby uzyskać oryginalny kod? Czy nie otrzyma kodu natywnego (np. Cel C w przypadku ios)? Czy może to nawet dekompilować w oryginalnym kodzie phonegap (np. Html + js)? Jak mogę zapobiec dekompilacji mojego kodu? Czy ten scenariusz jest taki sam jak w przypadku większości innych języków, np. Hakerzy z potężnymi komputerami mogą włamać się do jakiegokolwiek programu/oprogramowania? Czy jest jakiś sposób, aby temu zapobiec?

Odpowiedz

20

Dobrze, najpierw weź głęboki oddech. Prawdopodobnie nie polubisz niektórych moich odpowiedzi, ale będziesz żył z tymi samymi problemami, co my wszyscy.

  1. Najlepszym rozwiązaniem w tym przypadku jest użycie coś jak wtyczki KeyChain odzyskać klucze zabezpieczeń z rodzimej strony.

  2. Możesz wyłączyć PhoneGap z pytania, ponieważ dotyczy to sytuacji, w której wysyłasz niezaszyfrowane dane między klientem a serwerem. Każdy może łatwo słuchać używając wielu narzędzi, w tym Wireshark lub Ethereal. Jeśli chcesz komunikować się z serwerem, należy to zrobić na szyfrowanym połączeniu HTTPS lub SSL.

  3. Po pierwsze myślę, że błędnie sądzisz, że PhoneGap kompiluje Twój kod HTML/JS do Obj-C. To nie. Jeśli użytkownik rozpakuje aplikację, będzie mógł odczytać Twój HTML/JS. Ponadto będą mogli również dekompilować swój kod Obj-C. Nie wymaga to potężnego komputera, ani nawet doświadczonego hakera. Niemal każdy może to zrobić.

Moja rada dla ciebie, nie martw się o to. Poświęć swój czas na stworzenie naprawdę świetnej aplikacji. Ludzie, którzy za to zapłacą, zapłacą za to. Ludzie, którzy ją dekompilują, nigdy nie kupią aplikacji bez względu na wszystko. Im więcej czasu podejmujesz próbując walczyć z hakerami, zabierasz czas, który możesz wykorzystać do zwiększenia swojej aplikacji. Ponadto, większość środków anty-hackingowych po prostu utrudnia życie dla rzeczywistych użytkowników, więc w rzeczywistości są one nieproduktywne.

+0

Mam kilka pytań dla Ciebie - w dzisiejszych czasach wiele publicznych API REST korzysta z OAuth lub modelu Amazon (dla AWS) - czy to nie wystarczy dla aplikacji mobilnych? (Zastanawiając się nad odpowiedzią, myślę, że zarówno OAuth, jak i model Amazon używają HTTPS ...) Ponadto, HTTPS nie będzie możliwe z lokalnymi aplikacjami, ponieważ niektóre funkcje Phonegap wymagają tylko lokalnej strony internetowej ... Dzięki – Arvind

+1

OAuth działa dobrze z Aplikacje PhoneGap. Cóż, jeśli wszystkie strony są lokalne, to nie ma komunikacji z pracami zewnętrznymi, a tym samym niczego, czego hackerzy mogliby powąchać. –

+1

Odpowiedź pana MacDonalda, choć ma dobre intencje, nie uwzględnia deweloperów, którzy obawiają się o dekompresję aplikacji z tego powodu: Inni deweloperzy mogą czytać kod, piracić go i używać go do opracowania konkurencyjnej aplikacji. Jest to poważna i uzasadniona troska i należy wziąć to pod uwagę rozważając korzystanie z PhoneGap. –