2013-02-25 3 views
-1

현재 접근 방식을 평가중인 프로젝트가 있습니다 (PhoneGap을 사용하는 네이티브 대 하이브리드). 이 평가 프로세스와 관련하여 (주로 인터넷 검색이 많이 이루어짐) 대부분을 제외하고는 분명합니다. 보안.모바일 앱의 보안 문제

내가 읽은 기사 중 상당수는 하이브리드 앱이 기본 앱에 비해 안전성이 낮지 만 세부 정보에 대해서는 자세히 설명하지 못했다고 전했습니다. 나는 이해하기를 원한다. 정확히 어떻게 덜 안전한지.

만 1 개 문서에서는 보안 위험이 될 수 없다는이 주제에 피부보다 깊은 조금 더 뛰어 :

  • 응용 프로그램 소스 코드
  • 데이터 전송
  • URL 보안에 나머지
  • 데이터에서 문제

이 주제에 대해 좀 더 자세히 설명하고자합니다. 아무도 그것에 정교하거나 도움이되는 자원을 가르쳐 줄 수 있습니까?

P .: 나는 이것이 초점이 맞지 않거나 끝이없는 질문이라는 것을 알고 있습니다. 그러나 저는이 문제에 정말로 집착하고 있으며, 이미 많은 인터넷 검색을 해왔습니다. 운영자는이 스레드를 닫지 마십시오.

답변

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

+0

귀하의 첫 번째 문제를 해결하기 위해 그것이 바로 내가 의미하는 바입니다. 실행하기 위해 번들로 제공되므로 모든 클라이언트가 앱을 다운로드 할 때 소스를 다운로드합니다. 둘째, 맞습니다. "전송중인 데이터"요점이 특히 놀라운 계시는 아닌 이유 중 하나입니다.민감한 경우 암호화하는 것이 일반적으로 시민의 의무입니다. – L0j1k

+1

고마워요 L0j1K :) – ameyazing