2019-10-22 13:36 (화)
리눅스 Sudo에서 취약점 발견…SELinux에만 적용되는 취약점
상태바
리눅스 Sudo에서 취약점 발견…SELinux에만 적용되는 취약점
  • 페소아 기자
  • 승인 2017.06.09 15:27
이 기사를 공유합니다

취약한 시스템의 모든 파일 덮어 쓸 수 있는 악성 sudo 명령 제작 가능해

encryption-2.jpg
많은 관리자들이 리눅스 서버를 안전하게 하기 위해서 SELinux를 사용한다. 그런데 새로 발견된 ‘Sudo 취약점’은 SELinux로 보호받는 시스템들에게만 적용되는 취약점으로 관리자들에게는 아이러니한 상황이 발생했다.

한편 리눅스 Sudo의 취약점을 해결하기 위해 여러 리눅스 배포판에서 업데이트가 발표되었다. 공격자가 이 취약점을 이용해서 배쉬(bash) 명령을 사용해 취약한 시스템의 모든 파일을 덮어 쓸 수 있는 악성 Sudo 명령을 만들 수 있다. 이용자는 각별한 주의와 신속한 보안업데이트를 적용해야 한다.

Sudo 명령어는 사용자가 root나 다른 사용자로서 명령어를 실행하게 하는 동시에 이러한 명령에 대해 추적을 할 수 있게 해준다. 일상적인 리눅스(Linux) 작업에서 sudo는 필수적이다. 그런데 보안회사인 Qualys에서 SELinux가 활성화된 시스템에서 Sudo를 이용해 사용자가 완전한 루트 사용자 권한을 획득할 수 있는 취약점을 발견했다.

그들은 OpenWall을 통해 "이 취약점을 이용하면 SELinux가 활성화된 시스템에서 만약 사용자가 Sudoer인 경우, 그는 파일시스템에서 루트 소유의 파일을 포함해 어떤 파일이건 덮어쓰기가 가능하다. 이는 src/selinux.c에 있는 relabel_tty()가 open(O_RDWR | O_NONBLOCK)를 사용자의 tty에서 호출하고, 명령의 stdin, stdout, stderr에서 dup2()를 호출하기 때문이다. 이를 통해 Sudoer인 사용자는 완전한 루트 권한을 획득할 수 있다"라고 설명했다.

이 작업은 신뢰할 수 있는 사용자가 표준출력이나 표준 오류를 작성해 임의의 파일을 덮어쓰게 함으로써 가능하다. /etc/shadow나 /etc/sudoers와 같은 파일들을 덮어씀으로써 완전한 루트로 권한을 획득할 수 있다.

물론 이 공격(CVE-2017-1000367)을 통한 공격을 위해서는 우선 사용자는 서버에 접속할 수 있어야 하고, sudo를 실행할 수 있는 Sudoer이어야 한다.

이 취약점은 Sudo 1.7.10에서 1.7.10p9, sudo 1.8.5~1.8.20p1에 존재하며, sudo 1.7.10이 지난 2012년 9월에 릴리즈되었던 것을 생각할 때 5년동안 출시된 모든 Linux 배포판이 이 공격에 취약했다고 볼 수 있다.

현재 모든 배포판에 대한 패치가 릴리즈되어있으므로 관리자는 빠르게 취약점 패치를 진행해야 해야 한다고 관계자는 설명했다.

★정보보안 대표 미디어 데일리시큐!★