2012-09-18 3 views
2

민감한 데이터를 처리하는 앱을 개발 중입니다.Android 기반 기기에서 앱이 손상 되었습니까?

앱에 암호화, SSL을 포함하는 합리적인 보안 모델이 있으며 데이터가 기기에 지속적으로 저장되지 않습니다.

내 앱이 루팅 된 기기에서 '안전'하고 있는지 또는 기기가 루팅되어 있는지 여부가 앱을 악용하거나 해킹하기가 훨씬 쉽습니다. 문제는 앱이 민감한 데이터를 처리하는 것이 루팅 된 기기에서 실행되어야합니까?

나는 조사를했으나 뿌리를 내린 장치의 안전성에 대한 논의는 보지 못했습니다. 루팅 된 장치를 탐지하는 방법이 잠재적으로 우회 될 수 있으므로 루팅 된 장치를 지원하지 않는 이유는 무엇인지 알고 있습니다.

  1. 사용자가 직접
  2. 다른 애플 리케이션을

당신이 할 수있는 가장 좋은 앱의 개인 데이터에 액세스 할 수 있습니다 내부 데이터에 액세스 할 수 있습니다

+1

제어 할 수없는 기기에서 앱을 실행해도 앱이 안전하지 않습니다. 악의적 인 해커는 사용자가 취해야 할 예방 조치와 관계없이 데이터를 얻을 수있는 방법을 찾아냅니다. 앱이 루팅 된 기기에서 실행되는 것을 방지하는 데있어 중요한 점은 거의 없습니다. 예 : 평범한 기기에서 해킹 된 앱 버전을 실행할 수 있습니다. – zapl

답변

1

뿌리 장치에 응용 프로그램에 대한 가장 큰 보안 문제는있다 해야할 일 :

  1. 리버스 엔지니어링이 어려운 방식으로 데이터 암호화 . 누군가가 데이터를 뒤쫓는다면 앱을 디 컴파일 한 것으로 가정해야합니다. 이 때문에 서버에서 모든 암호화/암호 해독을 수행하고 알고리즘 등을 일반 지식으로 만들지 마십시오.
  2. 장치 자체에 데이터를 저장해야하는 경우에는 모호하게 만듭니다. 따라서 정수를 저장해야하는 경우 원시 값을 저장하지 마십시오. savedValue = ((((realValue*10)+1)/365*23)*50)+1;과 같은 것을 사용하면 해커가 저장된 값을 편집하고 원하는 결과를 얻지 못하도록합니다.하지만 apk를 디 컴파일하면 매우 기본적인 보호 조치입니다.
  3. 가능한 한 위험도가 낮은 데이터를 장치에 저장하십시오. 필요한 경우 보안 연결을 통해 다운로드하여 표시하고 RAM에서도 삭제하십시오. 또한 RAM에 암호화되지 않은 데이터를 읽을 수 있으므로 기밀 데이터를 가능한 한 짧은 시간 동안 메모리에 보관하십시오.
  4. 암호화 기술이 무차별 적으로 힘들지 않은지 확인하십시오. 다른 애플 리케이션은 또한 뿌리 장치에 데이터를 액세스 할 수 있듯이,이 데이터가 암호 해독에 대한 원격 서버로 전송 될 수있는 기회이며, 이러한 서버는 휴대 전화

이보다 더 많은 처리 능력이있을 것이다 내가 생각할 수있는 몇 가지 제안입니다. 나는 보안 전문가가 아니므로,이 문제에 관해 상담을 원할 수 있습니다.

1

Android 기반 기기에서 앱이 손상 되었습니까? 그렇습니다.

비 루트 폰이라 할지라도 공격자가 취약점을 포착하고 루트 컨트롤을 사용할 가능성이 여전히 있습니다 (GingerBreak는 쇼 케이스 중 하나입니다). 따라서 사용자가 뿌리를 내리지 않아도 전화가 손상되지 않는 것은 100 %입니다.

위에서 언급했듯이 root의 탐지는 무시할 수 있기 때문에 완전히 신뢰할 수 없습니다. 그러나 여전히 뿌리가 깔린 전화를 감지하면 확실히 차단해야합니다. 당신이 그것을 발견하지 못한다면, 그것은 전화가 뿌리가 없다는 것을 의미하지 않으며 당신은 여전히 ​​뿌리깊은 전화에 대한 공격에 대한 보안 메커니즘을 가지고 있어야합니다.

당신이 극복해야 할 공격의 몇 가지 유형이 있습니다 : man-in-the-middle 공격, 키로거, screencaptures, 사용자 모드 루트킷, 커널 모드 루트킷, ...

좋은 소식은 이러한 유형의 공격으로부터 앱을 보호 할 수 있도록 도서관을 만드는 회사가 있다는 것입니다. 그들은 당신을 위해 그것을 abt 그것을 걱정할 것이다 당신에게 두통에서 해방하는 해결책을 제안한다. V-Key은 하나의 사이트이며, 당신은 그 웹 사이트를 보시려면 V-Guard 제품을 찾고 있습니다.