APT에서 다운로드 가능한 패키지를 대체 할 수있는 취약점이 발견되었습니다.

적절한 취약성

확인되었습니다 APT 패키지 관리자의 취약점 (CVE-2019-3462), 뭐 공격자가 설치된 패키지의 스푸핑을 시작할 수 있습니다. 공격자가 저장소 미러를 제어 할 수 있는지 또는 사용자와 저장소 간의 전송 트래픽을 방해 할 수 있는지 여부 (MITM 공격)

보안 연구원 Max Justicz가 문제를 확인했습니다., APK 패키지 관리자 (Alpine) 및 Packagist, NPM 및 RubyGems 저장소에서 취약성을 감지하는 것으로 알려져 있습니다.

문제 HTTP 리디렉션 처리 코드의 필드 확인이 잘못 되었기 때문입니다.

무엇이 문제입니까?

이 취약점 공격자가 HTTP 세션 내에서 전송되는 데이터에서 자신의 콘텐츠로 대체 할 수 있습니다. (Debian 및 Ubuntu는 메타 데이터 및 패킷 크기와 일치하는 디지털 서명으로 충분하다고 가정하면 HTTPS가 아닌 HTTP를 사용하여 저장소에 액세스합니다.)

식별 된 취약성은 공격자의 권한을 허용합니다. 전송 된 패킷을 교체하면 APT가 공식 미러에서받은 것으로 인식하고 설치 프로세스를 시작합니다.

공격자는 설치 중에 실행되는 악성 스크립트 패키지에 포함되어 루트 권한이있는 시스템에서 자신의 코드를 실행할 수 있습니다.

저장소에서 데이터를 다운로드하기 위해 APT는 특정 전송을 구현하는 하위 프로세스를 시작하고 빈 줄로 명령을 나누는 간단한 텍스트 프로토콜을 사용하여이 프로세스와의 상호 작용을 구성합니다.

문제를 어떻게 감지합니까?

문제의 본질은 HTTP 전송 핸들러가, "Location :"헤더가있는 HTTP 서버로부터 응답을 받으면 메인 프로세스에서 리디렉션 확인을 요청합니다.

이 헤더의 내용을 완전히 전송합니다. 전송 된 특수 문자가 명확하지 않기 때문에 공격자는 "위치 :"필드에 줄 바꿈을 지정할 수 있습니다.

이 값은 메인 프로세스와의 통신 채널을 통해 디코딩되어 전송되기 때문에 공격자는 HTTP 전송 핸들러와 다른 응답을 시뮬레이션하고 더미 201 URI 블록을 대체 할 수 있습니다.

예를 들어 공격자가 패킷을 요청할 때 응답을 대체하는 경우이 대체는 다음 데이터 블록을 기본 프로세스로 전송합니다.

다운로드 한 파일에 대한 해시 계산이 처리되고 메인 프로세스는 서명 된 패키지 데이터베이스의 해시로이 데이터를 확인합니다.

메타 데이터 중 공격자는 데이터베이스에 연결된 테스트 해시 값을 실제 서명 된 패키지에 지정할 수 있지만 실제로 전송 된 파일의 해시와 일치하지는 않습니다.

주 프로세스는 공격으로 대체 된 응답 코드를 수락하고 데이터베이스에서 해시를 찾고 올바른 디지털 서명이있는 패킷이로드 된 것으로 간주하지만 실제로는 해시가있는 필드의 값이 공격을 사용하는 주요 프로세스와의 통신 채널 및 대체 된 메타 데이터에 지정된 파일.

악성 패키지 다운로드는 전송 중에 패키지를 Release.gpg 파일에 첨부하여 수행됩니다.

이 파일은 파일 시스템에서 예측 가능한 위치를 가지며 시작에 패키지를 첨부해도 저장소에서 디지털 서명을 추출하는 데 영향을주지 않습니다.

데이터를 가져올 때 apt는 데이터 전송에 사용될 다양한 프로토콜에 특화된 작업자 프로세스를 비활성화합니다.

그런 다음 기본 프로세스는 stdin / stdout을 통해 이러한 작업자와 통신하여 HTTP와 비슷한 프로토콜을 사용하여 다운로드 할 항목과 파일 시스템에 저장할 위치를 알려줍니다.

그런 다음 기본 프로세스가 구성을 제출하고 리소스를 요청하면 작업자 프로세스가 응답합니다.

HTTP 서버가 리디렉션으로 응답하면 작업자 프로세스는 103 URI Done 대신 201 Redirect를 반환하고 기본 프로세스는이 응답을 사용하여 다음에 요청할 리소스를 파악합니다.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.