verity와 Marshmallow가 잠긴 장치를 루팅하는 데 가져온 새로운 문제에 대해 알아보세요.
먼지가 쌓이면서 안드로이드 6.0 출시, 수많은 Nexus 사용자가 OTA를 찾고 있으며 공장 이미지, Android 운영 체제의 최신 버전을 준비하고 있습니다.
외부에서 보면 Android 6.0은 (적어도 시각적으로) Android 5.0 및 5.1(Lollipop 릴리스)과 매우 유사해 보이지만 Android 6.0에는 여러 가지 중요한 변경 사항이 있습니다. 내부에. 그 중 하나는 잠재적으로 맞춤형 ROM 및 루트 커뮤니티에 미치는 영향. 첫째, 약간의 배경 지식입니다. 이에 관심이 없다면 "이것이 중요한 이유"로 건너뛰십시오.
Verity라는 기능
문제(루트 및 수정 장치를 좋아하는 경우 문제임)는 제가 오랫동안 처음 AOSP에 도달했을 때 지적했던 것, 즉 Android에 대한 DM-verity. Verity는 원래 ChromeOS에서 발견된 보안 기능으로, 확실하고 신뢰할 수 있는 컴퓨팅 장치를 제공하여 악성 소프트웨어가 장치를 수정하는 것을 방지하도록 설계되었습니다. Android 4.4에서 Google은 Android에 대한 진실성을 발표한 후 모두 조용했습니다. 약간의 일이 있었지만 진실성을 활용하는 연구, 대부분의 경우 상황이 조용했습니다. 지금까지는 그렇습니다.
Android 6.0을 통해 Google은 기기 보안에 대한 역량을 강화하기 시작했습니다. 이를 위한 기본 요구 사항 중 하나는 사용자가 모르는 사이에 장치의 소프트웨어가 수정되는 것을 방지하는 것입니다. XDA에서는 사용자의 장치가 자신도 모르게 또는 동의 없이 루팅되고 루트 액세스 권한이 사용되어 장치를 훔치는 것을 당연하게 생각합니다. 데이터. 이러한 이유로 Google은 일부 장치에서 시스템 파티션 확인을 구현하기 시작했습니다. 그들은 또한 최근에 업데이트했습니다. 지원 페이지 이것을 덮기 위해.
루팅된 사용자에게 이는 무엇을 의미합니까?
진실성을 갖춘 채, 시스템 파티션에 대한 모든 변경 사항은 부팅 또는 액세스 시 감지됩니다.
. 그러면 위에 표시된 오류 중 하나에 직면하게 됩니다. 일부는 계속 진행하도록 허용하고 일부는 장치 부팅을 중지하여 사용자를 보호하기를 원합니다. 세 가지 상태를 사용할 수 있습니다. 하나는 부트로더가 잠금 해제되면 표시되며, 이는 부트로더를 다시 잠글 때까지 위험에 처할 수 있음을 나타냅니다. 커널 램디스크에는 시스템 상태를 확인하는 데 사용되는 키가 포함되어 있으므로 수정된 커널 이미지가 진실성을 우회할 수 있기 때문입니다.잠긴 장치에서 루트를 열망하는 사용자에게는 상황이 다소 재미 없어 보입니다.
다음 상태는 (아마도) verity가 비활성화되거나 꺼진 경우 또는 램디스크 수정으로 인해 확인할 수 없는 경우에 표시됩니다. 조사할 Nexus 5X 또는 6P가 부족하여 확신할 수 없지만 (메시지를 기반으로 한) 의심은 다음과 같습니다. 다른 ROM을 로드하고 자체 커널을 장치에 배치하면 "다른 운영 체제" 페이지가 나타납니다. 나타나다.
최종 상태는 장치가 손상되었음을 알리는 빨간색 경고입니다. 이는 이미지에 진실성이 포함되어 있지만 시스템 이미지가 수정되어 확인에 실패했음을 의미한다고 생각됩니다. 다시 말하지만, 하드웨어가 없으면 확신할 수 없지만 해당 오류는 악성 소프트웨어에 의해 기본 장치가 수정된 경우 표시되는 오류인 것 같습니다.
이것이 왜 중요합니까?
Android M(6.0)에서 루트는 현재 파일 시스템 외에도 커널 이미지를 수정해야 합니다. 이는 우리가 진실성을 무시하더라도(예: 넥서스 7 2013), 루트 액세스가 작동하지 못하게 하는 SELinux 보호를 우회하려면 새로운 커널 이미지가 필요합니다.
지금 Android Marshmallow에서 루팅하려면 수정된 부팅 이미지를 사용해야 합니다.
지금까지 있었습니다. 수정된 커널 SELinux를 허용 모드로 설정하는 것은 SELinux 보호의 보안 이점을 얻을 수 없다는 의미이므로 이상적이지 않은 수정 방법입니다. 그리고, 그 이후에는 무대 공포증사거, 나는 SELinux의 이점과 보안 악용에 대한 기타 보호 기능을 볼 수 있다고 가정합니다.
XDA 수석 인정 개발자, 체인파이어, 만물의 주인 루트가 출시했습니다. SuperSU의 업데이트 버전 이는 적용 모드에서 SELinux를 유지하지만 부팅 이미지의 SELinux 구성을 다시 한 번 수정해야 합니다. 이는 SuperSU와 수정된 부팅 이미지를 설치해야 함을 의미합니다.
그리고 그것은 모두 훌륭하고 좋습니다. 미국 항공사가 합류할 때까지. 반 소비자 선택의 보루인 AT&T 및 Verizon과 같은 충실한 기업은 사용자가 부트로더 잠금을 통해 사용자 정의 펌웨어를 설치하지 못하도록 장치 잠금을 즐기는 것으로 알려져 있습니다. 실제로 Verizon은 Sony Xperia Z3v를 사용하여 사용자에게 펌웨어 업데이트를 전달하지 않는 데 특히 나쁩니다. 마시멜로를 받도록 설정되지 않았습니다 나머지 Z3 범위(및 실제로 Z2 범위)는 마찬가지입니다. 도대체 그들은 아직까지 Lollipop을 기기에 출시하지도 않았습니다. 꽤 많은 시간 (2014년 11월) 일반 Z3.
비공식 부트로더 잠금 해제(일부 삼성 장치에 대해 누출된 엔지니어링 부트로더가 부족하여 요즘은 매우 드물다) 대신에 그럴 가능성은 거의 없어 보입니다. 신성한 개입 없이도 Android 6.0에 루트를 부여할 수 있습니다. 즉, dm-verity( 시스템 파티션) 및 램디스크의 SELinux 변경 요구 사항(루트 작업을 허용하기 위해)은 이러한 루트를 열망하는 사용자에게 재미를 주지 않는 것으로 보입니다. 잠긴 장치.
안드로이드페이?
마지막으로 안드로이드 페이입니다. 아마도 이 기사의 나머지 부분과 전혀 관련이 없는 것처럼 들리겠지만 실제로는 상당히 관련이 있습니다. Android Pay는 새로운 기능을 사용합니다. SafetyNet API Google의 독점 서비스 프레임워크 내에서 기기가 루팅되었는지, 다른 방식으로 수정되었는지 또는 승인되지 않은 상태에서 실행되는지에 대한 기기 상태 증명을 제공하도록 설계되었습니다.
있는 동안 프로젝트 SafetyNet에 대한 스푸핑 응답을 살펴보면 현재 Xposed 플러그인이 필요하며 작동 방식을 고려할 때 변경될 가능성은 없어 보입니다. Xposed에는 루트가 필요하며 시스템 파티션을 수정합니다. 이로 인해 부트로더로 잠긴 장치에서는 이 작업을 수행하기가 어렵습니다. 그럼에도 불구하고 이런 일은 Google과의 고양이와 쥐 게임에 들어가는 것입니다. SafetyNet을 사용하면 루팅된 장치(또는 실제로 전혀 수정된 장치)는 수정된 장치에 대한 완곡한 표현인 "비 CTS 준수"로 간주됩니다.
SafetyNet에 관해 더 많은 내용이 기록되어 있습니다. 이 분해 블로그 게시물에서, 그러나 Google이 단속하려는 일부 영역을 확실히 식별할 수 있는 것 같습니다. 첫째, 그들은 루트, Xposed 및 시스템 파티션을 수정하는 모든 것을 좋아하지 않습니다. 둘째, Google은 광고 차단을 활성화한 사용자를 감지하는 것을 고려하고 있는 것 같습니다. SSL 핸드셰이크를 통해 확인합니다. pubads.g.doubleclick.net
귀하가 귀하의 기기에서 광고를 차단하고 있는지 Google이 알고 싶어한다고 제게 제안해 보세요. 일반적으로 루트는 전제 조건이지만 VPN API를 사용하여 다음을 수행할 수 있다는 점을 고려하면 루트가 없으면 Google은 적어도 누가(또는 몇 명) 차단하고 있는지 알고 싶어하는 것 같습니다. 광고. 광고 차단은 Apple이 웹 브라우저에서 광고 차단을 지원하도록 추진한 상황에서 시사적인 문제입니다. 사람들은 경험을 제어하고 차단할 수 없는 광고를 제공할 수 있는 앱을 더 많이 사용하게 되며 이러한 움직임은 흥미로운.
결론
지금 루트를 원하시면 Android Marshmallow(6.0)에서 수정된 부팅 이미지를 사용해야 합니다. 이것이 계속 사실인지는 지켜봐야 하지만 한동안은 그럴 가능성이 높습니다. SELinux 변경으로 인해 부팅 이미지를 수정하지 않고 루트 액세스를 얻는 것이 훨씬 더 어려워졌습니다. 그리고 부팅 이미지를 수정하려면 잠금 해제된 부트로더가 필요하므로 이로 인해 루트(및 Xposed)가 종료될 수 있습니다. 및 기타 루트 기능)은 최종 사용자가 잠금을 해제할 수 없는 부트로더와 함께 제공되는 장치에 적용됩니다. Dm-verity도 등장하고 있으며 새 장치에서는 시행 모드로 활성화되는 것으로 보입니다. 그러면 잠금 해제된 부트로더를 다시 사용하지 않고 루트 액세스 권한을 얻더라도 /system을 수정하기가 어려워집니다.
이로 인해 부트로더 잠김 장치에 대한 관점이 바뀌나요? 이동통신사에서 좋은 가격을 제시하면 Android가 여전히 부트로더 잠금 장치를 구매할 수 있는 단계에 도달했나요?, 아니면 잠금 해제된 장치에만 관심이 있으신가요? 잠긴 부트로더에서 어떤 루트 앱이나 기능을 놓칠 수 있나요?
아래 댓글로 여러분의 생각을 자유롭게 공유해 주세요.