상세 컨텐츠

본문 제목

공격자들이 리눅스 시스템에서 루트 권한을 얻을 수 있는 Snapd 결점 발견

국내외 보안동향

by 알약(Alyac) 2019. 2. 15. 08:53

본문

Snapd Flaw Lets Attackers Gain Root Access On Linux Systems


우분투와 및 기타 리눅스 배포판들에서 심각한 권한 상승 취약점이 발견 되었습니다. 이 취약점은 로컬 공격자나 악성 프로그램이 타겟 시스템에서 루트 권한 및 전체 제어 권한을 얻을 수 있도록 허용합니다.


이 취약점은 “Dirty_Sock”이라 명명 되었으며 CVE-2019-7304로 등록 되었으며, 이를 발견한 보안 연구원인 Chris Moberly는 지난달 말 우분투의 제작사인 Canonical에 제보했습니다.


이 취약점은 어플리케이션이 별도의 수정 없이도 다양한 리눅스 배포판들과 호환되도록 하기 위해 사용하는 범용 리눅스 패키징 시스템인 snapd 서비스의 REST API에 존재합니다.


Canonical이 제작한 snapd는 우분투의 모든 버전에 디폴트로 설치 되어 있으며 Debian, OpenSUSE, Arch Linux, Solus, Fedora를 포함한 다른 리눅스 배포판에서도 사용 되고 있습니다.


Snap 패키지들은 기본적으로 실행 방법 및 데스크탑, 클라우드, IoT 등 다양한 리눅스 시스템의 다른 소프트웨어와 상호작용하는 법을 포함한 종속과 함께 압축 된 어플리케이션이라 볼 수 있습니다.


Snap은 서비스가 OS에서 다양한 작업을 수행하는 것을 돕기 위한 RESTful API의 목록을 제공하기 위해 웹서버 (UNIX_AF소켓)을 로컬로 호스팅합니다. 이 REST API는 특정 작업에 대한 사용자 수준의 권한을 정의하기 위해 접근 제어와 함께 제공 됩니다. 일부 강력한 API들은 루트 사용자만 사용할 수 있으며, 다른 API들은 권한이 낮은 유저들도 사용할 수 있습니다.


Moberly에 따르면, 이 접근 제어 메커니즘이 서버에 보내진 모든 요청과 관련 된 UID를 확인하는 과정에 취약점이 존재해 공격자가 UID 변수를 덮어쓰기 하고 루트 사용자만 사용할 수 있도록 제한 된 것을 포함한 모든 API 함수에 접근할 수 있게 됩니다.


우분투는 “snapd 버전 2.28 ~ 2.37은 UNIX 소켓에서 접근 제어를 수행 중 원격 소켓 주소를 잘못 검증 및 파싱합니다.” “로컬 공격자는 권한이 있는 소켓 API에 접근하고 관리자 권한을 얻는데 이를 사용할 수 있습니다.”

하지만, Dirty Sock 익스플로잇은 로컬 권한 상승 권한을 악용하기 때문에 해커들이 원격으로 취약한 리눅스 시스템을 손상시킬 수는 없습니다.


또한 Moverly는 GitHub에 PoC 2개를 공개했습니다. 이 중 하나는 SSH 연결이 요구되며, 하나는 이 API를 악용하여 악성 스냅을 사이드로딩 할 수 있습니다.


Canonical은 이 취약점을 해결하기 위해 Snapd 버전 2.37.1을 공개했습니다. 우분투와 다른 주요 리눅스 배포판들 역시 수정 된 패키지 버전을 공개했습니다.


리눅스 사용자들은 가능한 빨리 취약한 버전을 업그레이드 할 것을 권장합니다.



출처 :

https://thehackernews.com/2019/02/snapd-linux-privilege-escalation.html



관련글 더보기

댓글 영역