맞춤 ROM을 루팅하거나 설치한 후 Android에서 SafetyNet을 전달하는 방법

루팅이나 사용자 정의 ROM 설치와 같은 광범위한 모딩 후에도 SafetyNet을 통과할 수 있습니다. 여기에서 그 방법을 확인해보세요!

빠른 링크

  • SafetyNet이란 무엇입니까?
  • SafetyNet 트립 및 그 결과
  • Android 기기에서 SafetyNet 증명을 전달하는 방법
  • 확인

SafetyNet 우회는 오랫동안 Google과 Android의 애프터마켓 모딩 커뮤니티 간의 고양이와 쥐 게임이었습니다. Tinkerers는 휴대폰의 소프트웨어를 수정하는 것을 좋아합니다. 이는 일반적으로 첫 번째 단계로 부트로더 잠금 해제가 포함되는 프로세스입니다. 그러나 이는 결국 SafetyNet을 작동시켜 여러 인기 앱과 중요한 앱이 중지될 수 있습니다. 전화 통화 중 일부는 당연히 변조 방지 환경에 의존하기 때문에 실행.

정확히 말하면 SafetyNet은 앱 개발자를 위한 것, 그러나 사용 여부를 선택할 수 있습니다. 하지만 일반 최종 사용자의 경우 Android의 모딩 잠재력을 포기하고 SafetyNet 호환성 테스트를 통과하거나 앱 게시자로부터 계속 배척당할 수 있습니다. 루팅 후에도 SafetyNet을 통과하는 방법이 궁금하시거나 맞춤형 ROM 설치 귀하의 장치에서 이 가이드가 도움이 될 것입니다.

SafetyNet이란 무엇입니까?

Android는 최종 사용자에게 기본 하위 시스템에 대한 어떤 종류의 권한 있는 제어권도 부여하지 않고 실행되도록 설계되었습니다. Android 기기를 운영하는 사람이 유사한 관리 권한(AKA)을 얻을 수 있는 경우 "수퍼유저") 권한은 Linux에서와 마찬가지로 핵심 시스템 응용 프로그램을 본질적으로 변경하거나 대체할 수 있으며 설정. 앱 개발자의 관점에서 이는 앱이 실행되는 기기가 잠재적으로 손상될 수 있음을 의미합니다. 기기의 소프트웨어 및 하드웨어 환경을 검사하고 앱 개발자에게 모든 것이 정상임을 확인하는 일종의 남용 감지 시스템이 있어야 합니다. 이것이 SafetyNet이 등장하는 곳입니다.

모딩은 Android 생태계의 필수적인 부분이지만 때로는 보안 정책의 제약 조건을 충족하기 위해 OS에서 높은 수준의 엄격함이 필요할 수 있습니다. SafetyNet은 Google Play 서비스에 있는 남용 감지 API 세트입니다. 전화로

SafetyNet 증명 API, 타사 애플리케이션은 장치의 소프트웨어 환경이 어떤 방식으로든 변조되었는지 확인할 수 있습니다. API는 부트로더 잠금 해제 상태, 수퍼유저 바이너리 표시 등과 같은 다양한 항목을 확인하여 대상 Android 기기의 현재 상태를 확인하고 알려진 '안전한' 값을 기준으로 환경의 무결성을 확인합니다. 서버 측.

SafetyNet 증명 API 프로토콜

특히 Google은 이미 다음 계획을 발표했습니다. SafetyNet을 단계적으로 폐지. 다음으로 대체됩니다. Play 무결성 API 2024년까지. 그럼에도 불구하고 SafetyNet은 여전히 ​​수많은 앱 개발자가 변조 감지를 위해 사용하고 있습니다. 즉, 모딩 애호가에게는 실제로 어려운 장애물입니다.

SafetyNet 트립 및 그 결과

Android 장치의 기본 구성에서 발생하는 여러 이탈 이벤트로 인해 결국 SafetyNet이 작동하지 않게 됩니다. 휴대폰의 부트로더를 잠금 해제하고 공장에서 설치된 OS를 그대로 놔두더라도 "CTS 프로필 불일치"(CTS는 호환성 동부 표준시 에스) 오류로 인해 SafetyNet 확인이 실패합니다. 만약 너라면 안드로이드 기기를 루팅하세요 또는 재고 펌웨어를 다음으로 교체하십시오. 맞춤 ROM, 당신은 거의 SafetyNet 실패 상태로 끝날 것입니다. 결과적으로 장치에서 SafetyNet 유효성 검사를 사용하는 앱과 게임을 사용할 수 없습니다. 이는 특히 은행 및 기타 금융 앱에 해당됩니다. 구글페이, 이는 SafetyNet 증명 결과에 엄격하게 의존하고 보안을 위해 사용자가 변조된 것처럼 보이는 환경에서 앱을 작동하는 것을 허용하지 않기 때문입니다.

게임의 경우 개발자는 SafetyNet을 사용하여 장치의 무결성을 평가함으로써 불량 플레이어가 불공정한 이점을 위해 게임 내 변수를 속이거나 수정하는 것을 방지할 수 있습니다. 마지막으로 게시자가 단순히 Google의 변조 감지 메커니즘을 오용하는 행위 실질적인 이유가 없기 때문에 고급 사용자는 탐지 루틴을 회피하고 싶어합니다.

간단히 말해서, 모딩 커뮤니티는 루트/사용자 정의 ROM/커널/등에 대한 액세스 중에서 선택해야 합니다. 또는 선호하는 앱과 게임. 이는 Android의 애프터마켓 개발이 끝나는 것처럼 들릴 수도 있지만 희망은 있습니다.

Android 기기에서 SafetyNet 증명을 전달하는 방법

Google은 SafetyNet Attestation API의 백본을 정기적으로 업데이트하므로 검사를 우회할 수 있는 진정한 보편적인 방법은 없습니다. 제한 사항은 다양한 요인에 따라 달라지므로 다음과 같이 수정된 환경에서 SafetyNet을 전달할 수 있습니다. 레거시 장치에서 가장 중요한 매개변수를 스푸핑하지만 최신 장치에서는 동일한 트릭이 전혀 작동하지 않을 수 있습니다. 전화기. 애프터마켓 개발 커뮤니티에서는 SafetyNet 검사를 통과하기 위한 다양한 기술을 고안해 냈지만 악용 방지 API의 끊임없이 변화하는 특성으로 인해 일반적인 구현이 불가능합니다.. 이것은 Dot and Ditto의 게임입니다. 어느 날에는 앞서고 다른 날에는 그렇지 못할 것입니다.

향해 점차적으로 나아가면서 하드웨어 증명 전략에 따라 Google은 변조 감지를 위해 휴대전화의 TEE(신뢰할 수 있는 실행 환경) 또는 전용 하드웨어 보안 모듈(HSM)의 보안을 활용하고 있습니다. 기기의 고립된 보안 환경에서 심각한 보안 취약점을 찾아 이를 악용하여 스푸핑하는 행위 SafetyNet의 클라이언트 측 대응은 실현 가능한 접근 방식이 될 수 없지만 이것이 XDA입니다. 혁신적인 방법 장애물을 넘기 위해.

SafetyNet을 통과하는 잘 알려진 방법은 다음과 같습니다.

1. 원래 펌웨어 복원 및 부트로더 다시 잠금

이는 아마도 SafetyNet을 통과하는 가장 간단한 방법이지만 그 자체의 장점과 단점이 있습니다. 여러분이 해야 할 일은 Android 기기에 맞는 올바른 펌웨어를 찾아서 플래시한 다음 마지막으로 부트로더를 다시 잠그는 것뿐입니다. 물론 모딩 장면의 부가 기능 대부분을 잃게 되지만 실제로는 모딩 장면에서 의미가 있습니다. 엄격한 보안 정책이 적용되는 관리되는 환경에서 장치를 사용해야 하거나 장치를 판매하려고 합니다. 장치.

휴대폰의 재고 회수 단계를 모르는 경우 XDA 포럼을 방문하는 것이 좋습니다. 장치를 검색한 다음 공식 소프트웨어를 설치하고 잠그는 방법에 대한 가이드를 찾으십시오. 부트로더. 우리는 다음에 대한 튜토리얼을 제공하는 동안 깜박이는 삼성 갤럭시 그리고 구글 픽셀 기기마다 다르므로 이에 대한 보편적인 방법은 없습니다. 기본 구성을 복원하고 나면 아무런 조작 없이 SafetyNet을 통과할 수 있습니다.

2. Magisk 사용

기존 Android 스마트폰을 보유하고 있는 경우 마기스크 큰 번거로움 없이 SafetyNet을 통과하는 것이 가장 좋습니다. Magisk의 현재 안정적인 빌드에는 더 이상 MagiskHide 기능이 없지만(v24 릴리스 이후) v23.x 버전을 계속 사용하고 MagiskHide를 활용하여 앱에서 루트 상태를 숨길 수 있습니다. 게다가, 당신은 설치할 수 있습니다 Magisk 모듈 좋다 MagiskHide 소품 구성 SafetyNet을 통과하기 위해 장치 지문을 변경/스푸핑합니다. 자세한 내용을 알아보려면 모듈 지원 스레드를 살펴보고 개발자가 제공한 지침을 따르십시오.

MagiskHide의 지원 중단에 대해 이야기하면 거부 목록 Magisk의 기능은 사용자가 Magisk가 추가 수정을 거부하고 수행한 모든 변경 사항을 되돌리는 프로세스 목록을 할당할 수 있도록 하는 흥미로운 개발입니다. 적절한 구성을 사용하면 일부 시나리오에서 SafetyNet을 통과하는 데에도 사용할 수 있습니다.

아래에서는 SafetyNet 전달을 위해 DenyList를 활용하는 몇 가지 일반적인 단계를 찾을 수 있습니다.

  1. Magisk 앱을 ​​열고 기어 아이콘을 클릭하여 설정 섹션에 액세스합니다.
  2. 아래로 스크롤하여 활성화 지기스크 그리고 거부 목록 시행.
  3. 이제 거부 목록 구성 옵션에서 상단에 있는 세 개의 점을 탭하고 선택하세요. 시스템 앱 표시.
  4. Google Play 스토어 및 Google Play 서비스에 대한 DenyList를 구성합니다.
    • 특정 앱의 루트 상태를 숨기려면 이 단계에서도 해당 앱을 선택해야 합니다.
  5. 로 이동 설정 > DenyList에서 구성한 모든 앱의 데이터를 지웁니다.
  6. 장치를 재부팅하십시오. 부팅 후 인터넷에 연결하고 잠시 휴대폰을 사용하지 않은 상태에서 SafetyNet 상태를 확인하세요.

Magisk XDA 포럼

3. Universal SafetyNet Fix 사용

Google의 하드웨어 지원 SafetyNet 증명 기술을 우회하는 것은 다소 어렵지만 완전히 불가능한 것은 아닙니다. 그만큼 범용 SafetyNet 수정 XDA 수석 회원의 프로젝트 kdrag0n 하드웨어 지원 검사에 대해 기본 증명을 강제하여 이 위업을 영리하게 달성합니다. 간단히 말하면 Play 서비스 프로세스에 일부 코드를 삽입하고 실제 키 저장소 공급자를 재정의하는 가짜 키 저장소 공급자를 등록합니다.

특히 Universal SafetyNet Fix는 기본 증명 부분을 전달할 때 Magisk에 의존합니다. 개발자는 최신 버전에 대해서만 Zygisk를 지원하므로 이를 사용하려면 Magisk 24 이상이 필요합니다. 즉, 찾을 수도 있습니다. 리루-아래 링크된 리포지토리의 호환 레거시 빌드.

범용 SafetyNet 수정 사항: GitHub 저장소 ||| XDA 토론 스레드

설치 과정은 매우 간단합니다.

  1. 대상 장치에 작동하는 Magisk 설치가 있는지 확인하십시오.
  2. MagiskHidePropsConfig 모듈이 설치된 경우 제거합니다.
  3. Universal SafetyNet Fix 모듈을 설치하고 장치를 재부팅하십시오.
    • 재부팅 후 GMS 데이터를 지워야 할 수도 있습니다.
  4. 이익!

특히, XDA 시니어 멤버 디스플레이 Play Integrity API를 우회할 수 있는 Universal SafetyNet Fix 포크가 등장했습니다. 이는 현재 세대의 Google Pixel 사용자에게 특히 유용합니다. 자세한 내용은 아래 링크를 살펴보세요.

Displax의 Universal SafetyNet Fix 포크: GitHub 저장소 ||| XDA 토론 스레드

4. 샤미코

Zygisk(zygote 프로세스의 Magisk) 위에 작성된 진행 중인 모듈인 Shamiko도 있습니다. Magisk의 거부 목록에서 숨길 앱 목록을 읽어 Magisk 루트, Zygisk 자체 및 Zygisk 모듈을 숨겨 SafetyNet을 우회합니다. 그러나 Shamiko는 DenyList 기능을 비활성화한 후에만 작동할 수 있습니다.

LSPosed의 GitHub 저장소에서 Shamiko의 시험판 빌드를 다운로드할 수 있습니다.

샤밀코 다운로드

Shamiko는 기본적으로 Magisk 모듈이므로 적용하기가 매우 쉽습니다.

  1. Magisk에서 Zygisk 지원이 활성화되어 있는지 확인하십시오.
  2. Shamiko를 일반 Magisk 모듈로 설치하고 재부팅하십시오.
  3. 요구 사항에 따라 숨기기 위한 프로세스를 추가하도록 DenyList를 구성합니다. 그러나 전원을 켜지 마십시오. 거부 목록 시행 옵션.
  4. 화이트리스트 모드를 구성하려면 다음과 같이 빈 파일을 생성하면 됩니다. /data/adb/shamiko/whitelist
  5. 그게 다야!

5. ㅋㅋㅋ

SafetyNet 증명을 통과하기 위해 Magisk에 의존하고 싶지 않은 경우 다음과 같은 실험적인 추가 기능을 사용해 볼 수 있습니다. ㅋㅋㅋ. 적용한 후에는 MagiskHide Props Config 모듈과 같은 SafetyNet 검사를 우회하기 위해 과다한 prop 값을 스푸핑할 수 있지만, 우선 Magisk에 대한 종속성은 없습니다.

ih8sn 도구는 유지되다 여러 LineageOS 개발자에 의해 개발되었지만 LineageOS 프로젝트는 아직 공식적으로 이를 보증하지 않습니다. 게다가 즉시 플래시 솔루션이 아니므로 플래시하기 전에 직접 구성해야 합니다. 자세한 내용을 보려면 아래 링크를 따라 코드베이스를 살펴보세요.

ih8sn GitHub 레포

성공적인 ih8sn 설치를 수행하기 위해 따라야 할 필수 단계는 다음과 같습니다.

  1. 다음에서 ih8sn의 최신 릴리스를 다운로드하세요. 여기.
    • 최신 Android 기기의 경우 aarch64 변형을 선택하세요.
  2. 적합한 아카이버를 사용하여 ZIP 파일을 열고 다음으로 이동하십시오. /system/etc/ih8sn.conf, 텍스트 편집기로 파일을 편집하여 BUILD_FINGERPRINT 그리고 상품명 변수.
    • 변수 duo에 가장 적합한 값을 얻으려면 장치 하위 포럼을 탐색하십시오.
  3. 변경 사항을 저장하고 다음과 같은 사용자 정의 복구를 통해 수정된 ZIP 파일을 설치합니다. TWRP.

확인

앞서 언급한 SafetyNet 통과 방법 중 하나를 적용한 후 결과를 확인할 수 있습니다. Magisk 앱에는 메인 메뉴에서 바로 SafetyNet 검사 루틴을 시작할 수 있는 옵션이 제공되는데, 이는 정말 편리합니다. 다음과 같은 오픈 소스 앱을 선택할 수도 있습니다. 야스낙 (줄여서 와이아니 에스afetyNet 테스트 hecker) 상태를 확인하고 (선택적으로) JSON 응답을 검사합니다.

YASNAC - SafetyNet 검사기개발자: Xingchen & Rikka

가격: 무료.

4.9.

다운로드

이것이 바로 휴대폰에서 SafetyNet을 전달할 수 있는 방법입니다. 약간의 시간과 인내심만 있으면 SafetyNet 증명 실패에 대해 걱정하지 않고도 Android의 진정한 모딩 잠재력을 복원할 수 있습니다. 더 많은 SafetyNet 전달 방법으로 이 가이드를 업데이트할 예정이므로 나중에 다시 확인하세요!