한편 리눅스 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 배포판이 이 공격에 취약했다고 볼 수 있다.
현재 모든 배포판에 대한 패치가 릴리즈되어있으므로 관리자는 빠르게 취약점 패치를 진행해야 해야 한다고 관계자는 설명했다.
★정보보안 대표 미디어 데일리시큐!★