9년 된 리눅스 커널 버그 'Dirty Cow', 모든 안드로이드 버전 루팅 가능

Dirty Cow는 새로 발견되었지만 모든 Android 버전에서 루트 액세스 권한을 부여하는 데 악용될 수 있는 9년 된 버그입니다.

수만 명의 사용자가 Linux 커널 소스 코드를 적극적으로 살펴보며 보안 결함을 찾고 있음에도 불구하고 심각한 버그가 눈에 띄지 않는 경우가 드물지 않습니다. 결국, 코드를 감사하는 더 많은 사람이 있으면 엄청나게 심각한 것을 놓칠 확률이 낮아지지만, 우리 모두는 여전히 인간이고 실수를 하기 마련입니다. 이번 실수는 안타깝게도 꽤 심각한 것 같습니다. ㅏ 권한 상승 악용 최근 지난 주에 발견되었는데, 비록 이미 패치되었습니다 메인라인 Linux 커널에서는 버그가 발생할 수 있습니다. 잠재적으로 악용될 수 있다 각 기기가 적절한 커널 패치를 받을 때까지 시중에 나와 있는 거의 모든 Android 휴대전화에 적용됩니다.


더러운 소를 입력하세요

권한 상승 버그는 일반적으로 Dirty Cow 익스플로잇으로 알려져 있지만 Linux 커널의 버그 추적 시스템에는 CVE-2016-5195로 분류되어 있습니다. 지난 주에야 발견되었지만 이 버그는 Linux 커널의 코드 내에 존재했습니다. 9년. 또한, 악용 가능한 코드는 Linux 커널의 한 섹션에서 발견됩니다. Linux 커널을 기반으로 구축된 거의 모든 최신 운영 체제(Android 포함) 방법. 더 나쁜 것은 익스플로잇을 발견한 연구원들이 익스플로잇이 다음과 같다는 증거를 발견했다는 것입니다. 악의적으로 이용당하고 있다 현실 세계에서는 Linux 커널을 기반으로 구축된 소프트웨어를 판매하는 모든 공급업체에 익스플로잇을 즉시 패치하도록 조언하고 있습니다.

Dirty Cow 자체는 공격이 아니라 취약점입니다. 그러나 이 취약점은 사용자 공간 프로세스의 권한을 상승시켜 슈퍼유저 권한을 부여할 수 있습니다. 이 취약점을 악용함으로써 악의적인 사용자 공간 프로세스는 피해자의 장치에 대한 무제한 루트 액세스 권한을 가질 수 있습니다. 좀 더 기술적인 용어로 말하면, 이 버그는 쓰기 시 복사(copy on write)라고 알려진 Linux 메모리 복제 기술의 경쟁 조건과 관련이 있습니다. 이 경쟁 조건을 이용하여 사용자는 일반적으로 읽기 전용으로 설정된 메모리 매핑에 대한 쓰기 액세스 권한을 얻을 수 있습니다. 취약점에 대한 자세한 내용은 다음에서 확인할 수 있습니다.

여기, 여기, 그리고 여기.

보안 취약점은 악용하기가 다소 사소한 것으로 알려져 있으며 실제로 취약점이 공개된 지 불과 며칠 만에 개념 증명 권한 상승 악용 에 대해 시연되었습니다. 모든 안드로이드 기기. 2.6.22 이상의 Linux 커널 버전을 실행하는 모든 Android 장치(읽기: 존재하는 모든 단일 Android 배포판)은 잠재적으로 이러한 개념 증명 악용의 피해자가 될 수 있습니다. 개념 증명 익스플로잇은 실제로 루트 액세스 권한을 획득하지 못하지만 이 취약점을 사용하여 시스템을 공격하면 매우 간단해집니다. ArsTechnica에 보낸 이메일에서 Linux 커널 개발자인 Phil Oester는 알려진 Dirty Cow의 실제 익스플로잇 목록을 작성하고 있습니다. 그의 웹사이트 버그에 대해 다음과 같이 말했습니다.

내 테스트에서는 모든 사용자가 5초 이내에 매우 안정적으로 루트가 될 수 있습니다. 무서운 것들.

이 취약점은 셸 계정과 같은 시스템에 대한 로컬 액세스를 통해 가장 쉽게 악용됩니다. 공격자가 영향을 받은 시스템에 파일을 업로드하고 실행할 수 있도록 허용하는 모든 웹 서버/응용 프로그램 취약점도 작동합니다.

내 시스템에 업로드된 특정 익스플로잇은 20150623에 출시된 GCC 4.8.5로 컴파일되었습니다. 하지만 이는 해당 취약점이 해당 날짜보다 이전에 제공되지 않았다는 것을 의미하지는 않습니다. 장수. 대상이 누구인지에 관해서는 웹 대면 서버에서 Linux를 실행하는 모든 사람이 취약합니다.

지난 몇 년 동안 저는 포렌식 분석을 위해 웹 서버로 들어오는 모든 인바운드 트래픽을 캡처해 왔습니다. 이 방법은 여러 차례 매우 유용한 것으로 입증되었으며 모든 관리자에게 권장하고 싶습니다. 이 경우 해당 캡처에서 업로드된 바이너리를 추출하여 동작을 분석하고 적절한 Linux 커널 유지 관리 담당자에게 에스컬레이션할 수 있었습니다.

개발자가 Android에서 Dirty Cow를 활용하는 효과를 입증하기 위한 추가 작업을 수행한 후 한 개발자는 다음과 같은 작업을 수행할 수 있었습니다. 그의 HTC를 성공적으로 루팅했습니다. 취약점을 악용하여 몇 초 안에 장치를 공격합니다. XDA에서는 일반적으로 사용자가 루트 액세스 권한을 얻을 수 있는 기능을 환영하지만 루트 액세스 권한의 존재를 축하하지는 않습니다. 이와 같은 루트 익스플로잇, 특히 너무 광범위하고 잠재적으로 종료하기에는 믿을 수 없을 정도로 위험한 익스플로잇 사용자. Dirty Cow가 야생에서 얼마나 위험한지 알려드리기 위해 유튜버 Computerphile이 짧은 동영상을 만들었습니다. 해커가 조용히 루트 액세스 권한을 얻기 위해 사용할 수 있는 잠재적인 악의적 공격 벡터를 보여줍니다. 장치.


출처: ArsTechnica [1]

출처: ArsTechnica [2]