SafetyNet이 설명 된 이유 루트가 지정된 장치에서 Android Pay 및 기타 응용 프로그램이 작동하지 않는 이유
Android 기기를 루팅하면 더 다양한 앱에 액세스하고 Android 시스템에 더 많이 액세스 할 수 있습니다. 하지만 Google의 Android Pay와 같은 일부 앱은 루팅 된 기기에서 전혀 작동하지 않습니다..
Google은 SafetyNet이라는 기기를 사용하여 기기의 루팅 여부를 감지하고 해당 기능에 대한 액세스를 차단합니다. Google뿐 아니라 타사 앱도 뿌리가있는 Android 기기에서 작동하지 않습니다. 다른 방법으로는 루트의 존재 여부를 확인할 수 있습니다..
SafetyNet : 당신이 당신의 안드로이드 폰을 루팅했다는 것을 구글이 알게 된 방법
Android 기기는 Google에서 승인 한 Android 기기에 설치된 Google Play 서비스 레이어의 일부인 'SafetyNet API'를 제공합니다. 이 API는 "Android 기기의 건강과 안전을 평가하는 데 도움이되는 Google 서비스에 대한 액세스를 제공합니다"라고 Google에 따르면 Android 개발자 인 경우 앱에서이 API를 호출하여 실행중인 기기가 변경되었는지 여부를 확인할 수 있습니다..
이 SafetyNet API는 사용자가 뿌리를 내렸거나, 사용자 정의 ROM을 실행하거나, 저수준 맬웨어에 감염되었는지 여부와 상관없이 장치가 변조되었는지 여부를 확인하도록 설계되었습니다..
Google Play 스토어 및 기타 설치된 앱과 함께 제공되는 기기는 Google의 Android 'Compatibility Test Suite'를 통과해야합니다. 장치를 루팅하거나 사용자 지정 ROM을 설치하면 장치가 "CTS 호환"되지 않습니다. 이것은 SafetyNet API가 사용자가 루트인지 여부를 알 수있는 방법입니다. 단지 CTS 호환성을 확인하기 만합니다. 마찬가지로, Google의 앱과 함께 제공되지 않는 Android 기기 (중국 공장에서 직접 배송 한 태블릿 중 20 달러 태블릿 중 하나)를 가져온 경우에도 앱을 루팅하지 않았더라도 'CTS 호환'으로 간주되지 않습니다..
이 정보를 얻기 위해 Google Play 서비스는 'snet'이라는 프로그램을 다운로드하고 기기의 백그라운드에서 실행합니다. 이 프로그램은 장치에서 데이터를 수집하여 정기적으로 Google에 전송합니다. Google은 폭 넓은 Android 생태계를 파악하는 것부터 기기의 소프트웨어가 변경되었는지 여부를 판단하는 것까지 다양한 목적으로이 정보를 사용합니다. Google은 snet이 찾고있는 것을 정확히 설명하지는 않지만 시스템 파티션이 공장 상태에서 수정되었는지 snet이 확인합니다.
SafetyNet Helper Sample 또는 SafetyNet Playground와 같은 응용 프로그램을 다운로드하여 장치의 SafetyNet 상태를 확인할 수 있습니다. 앱이 Google의 SafetyNet 서비스에 기기의 상태를 묻고 Google 서버에서 응답을받습니다..
자세한 기술 정보는 소프트웨어 보안 회사 인 Cigital의 기술 전략가 인 John Kozyrakis가 작성한이 블로그 게시물을 참조하십시오. 그는 SafetyNet을 파헤 치고 작동 방식에 대해 더 자세히 설명합니다..
앱에 달려있다.
SafetyNet은 앱 개발자에게는 선택 사항이며 앱 개발자는 앱 개발자가 앱을 사용할지 여부를 선택할 수 있습니다. SafetyNet은 앱의 개발자가 루팅 된 기기에서 작동하지 않도록하려는 경우에만 앱이 작동하지 못하게합니다..
대부분의 앱은 SafetyNet API를 전혀 확인하지 않습니다. 위의 테스트 앱처럼 SafetyNet API를 확인하는 앱조차도 나쁜 반응을 보일 경우 작동을 멈추지 않습니다. 앱 개발자는 SafetyNet API를 확인하고 앱의 소프트웨어가 수정되었음을 알게되면 앱이 작동하지 않도록해야합니다. Google의 자체 Android Pay 앱이 실제로 작동하는 좋은 예입니다..
루트가있는 기기에서 Android 결제가 작동하지 않음
Google의 Android Pay 모바일 결제 솔루션은 루팅 된 Android 기기에서 전혀 작동하지 않습니다. 실행을 시작하면 'Android Pay를 사용할 수 없습니다.'라는 메시지가 표시됩니다. Google은 귀하의 기기 또는 기기에서 실행되는 소프트웨어가 Android와 호환되는지를 확인할 수 없습니다. "
단지 사용자 정의 ROM을 실행하는 것이 이러한 요구 사항에 맞지 않게하는 것입니다. SafetyNet API는 장치가 함께 제공되지 않는 맞춤형 ROM을 사용하는 경우 "Android 호환"이 아니라고 주장합니다..
이것은 뿌리를 감지하는 것이 아니라는 것을 기억하십시오. Android Pay 및 기타 앱을 감시 할 수있는 시스템 수준의 일부 악성 코드가 기기에 감염된 경우 SafetyNet API를 사용하면 Android Pay가 작동하지 않을 수 있습니다. 이는 좋은 방법입니다..
장치를 부팅하면 Android의 정상 보안 모델이 손상됩니다. Android Pay는 일반적으로 Android의 샌드 박스 기능을 사용하여 결제 데이터를 보호하지만 앱은 루팅 된 기기의 샌드 박스에서 벗어날 수 있습니다. Google은 알 수없는 맞춤 ROM을 뿌리 내거나 실행 중이면 Android Pay가 특정 기기에 얼마나 안전 할지를 알 수 없으므로 차단합니다. Android Pay 엔지니어가 XDA 개발자 포럼에서이 문제에 대해 자세히 설명해주었습니다..
앱이 루트를 감지 할 수있는 다른 방법
SafetyNet은 앱이 루팅 된 기기에서 실행 중인지 확인할 수있는 한 가지 방법 일뿐입니다. 예를 들어 삼성 기기에는 KNOX라는 보안 시스템이 포함되어 있습니다. 장치를 뿌리 뽑으면 KNOX 보안이 작동하지 않습니다. 삼성의 모바일 페이먼트 앱인 삼성 페이는 루팅 된 기기의 기능을 거부한다. 삼성은 KNOX를 사용하고 있지만 SafetyNet을 사용할 수도 있습니다..
마찬가지로 타사 응용 프로그램을 사용하면 여러 프로그램을 사용할 수 없으며 모든 프로그램이 SafetyNet을 사용하는 것은 아닙니다. 그들은 단지 장치에서 알려진 루트 앱과 프로세스의 존재를 확인합니다..
기기가 루팅 될 때 작동하지 않는 앱의 최신 목록을 찾는 것은 어렵습니다. 그러나 RootCloak은 여러 목록을 제공합니다. 이 목록은 구식 일 수도 있지만 찾을 수있는 최고의 목록입니다. 많은 것은 은행 및 기타 모바일 지갑 응용 프로그램으로, 다른 앱에서 은행 정보를 캡처하지 못하도록 뿌리 전화에 대한 액세스를 차단합니다. 비디오 스트리밍 서비스 용 앱은 보호 된 비디오 스트림을 녹화하지 못하도록 DRM 측정 도구의 일종으로 루팅 된 장치에서 작동하지 않을 수도 있습니다.
일부 앱을 속일 수 있음
Google은 SafetyNet으로 고양이와 마우스 게임을하고 있으며, 사람들을 앞서 다니기 위해 끊임없이 업데이트하고 있습니다. 예를 들어, 안드로이드 개발자 인 Chainfire는 "시스템이없는 루트"라고하는 시스템 파티션을 수정하지 않고 안드로이드 장치를 응원하는 새로운 방법을 만들었습니다. SafetyNet은 처음에는 위조와 같은 장치를 감지하지 못했으며 Android Pay가 작동했지만 SafetyNet은 결국이 새로운 응 용 방법을 감지하도록 업데이트되었습니다. 즉, Android Pay는 더 이상 시스템이없는 루트와 함께 작동하지 않습니다..
앱이 루트 액세스를 확인하는 방법에 따라 앱을 속일 수 있습니다. 예를 들어, KNOX 보안을 트립하지 않고도 일부 삼성 기기를 뿌리 뽑을 수있는 방법이 있습니다. 그러면 삼성 Pay를 계속 사용할 수 있습니다..
시스템에서 루트 앱을 확인하는 앱의 경우, RootCloak라는 Xposed Framework 모듈이 있는데,이 모듈은 사용자가 어쨌든 작동하도록 트릭 할 수 있다고합니다. 이 기능은 일반적으로 루팅 된 기기에서 작동하지 않는 DirecTV GenieGo, Best Buy CinemaNow 및 Flixster의 영화와 호환됩니다. 그러나 이러한 앱이 Google의 SafetyNet을 사용하도록 업데이트 된 경우 이러한 방식으로 속일 수는 없습니다..
대부분의 앱은 기기를 루팅 한 후에도 정상적으로 작동합니다. 모바일 결제 애플리케이션은 다른 일부 은행 및 금융 애플리케이션처럼 큰 예외입니다. 유료 비디오 스트리밍 서비스는 때때로 자신의 비디오를 보는 것을 차단하려고 시도합니다..
필요한 앱이 루팅 된 기기에서 작동하지 않는 경우 기기를 사용하지 않도록 설정할 수 있습니다. 기기를 안전한 출고 상태로 되 돌린 후에 앱이 작동해야합니다..
이미지 크레디트 : Flickr의 Danny Choo