2017. 7. 6. 20:50

리눅스 sudo 취약점 발견, `보안강화 시스템 오히려 위험`

5년 이상된 배포판으로 SE리눅스 설정한 모든 시스템에 영향

리눅스의 보안강화 기능을 켠 상태에서만 동작하는 역설적인 보안취약점이 발견됐다. 주요 배포판에 탑재된 SE리눅스(SELinux) 기능이 설정된 시스템에만 먹히는 관리자 권한 상승 공격 취약점이다.

SE리눅스 환경은 설정이 까다로워 엄격한 보안이 필요할 때만 시스템 관리자들에게 선택받곤 했는데 오히려 SE리눅스로 보호된 시스템에만 영향을 주는 취약점이 발견됐다고 보도했다. 취약점은 보안업체 퀄리스(Qualys)가 발견했다.

지난달말 공개된 퀄리스의 분석에 따르면 해당 취약점(CVE-2017-1000367)은 일반 사용자가 리눅스의 최고 관리자 권한으로 운영체제(OS) 기능을 사용케 하는 `수퍼 유저` 명령어(sudo)를 악용하는데 이 취약점은 일반 리눅스가 아닌 SE리눅스에만 해당한다.

sudo는 사용자가 다른 사용자 또는 최고 관리자 권한으로 OS 명령어를 실행하려 할 때 쓰는 명령어다. 동시에 이런 명령어의 실행 내역을 추적 감사할 수 있는 이력도 제공한다. 이는 일상적으로 반복되는 리눅스 시스템 관리 업무의 기본요소다. 이런 요소에 보안취약점이 있었다.

SE리눅스가 실행중인 시스템에서, 만일 어떤 사용자가 최상위 명령어 실행 권한을 얻지 못한 상태로 sudo 명령어를 사용하더라도, 이 취약점을 악용하면 파일시스템에 위치한 어떤 파일 내용이든 덮어쓸 수 있다. 최상위 관리자 권한 소유의 파일 내용도 조작될 수 있다는 얘기다.

공격자는 신뢰할 수 있는 사용자가 표준 출력이나 표준 에러 스트림에 임의의 파일을 덮어쓰게 만드는 방식을 쓸 수 있다. 이는 /etc/shadow 또는 /etc/sudoers같은 신뢰할 수 있는 파일을 재작성해 권한을 완전한 최고 관리자 수준으로 높이게 만들 수도 있다.

퀄리스는 이 취약점을 통한 공격이 작동하려면 사용자가 서버에 액세스할 수 있어야 하고, sudo 명령어를 실행할 수 있어야 한다고 덧붙였다. sudo 1.7.10부터 1.7.10p9 사이, sudo 1.8.5부터 1.8.20p1 사이 버전에 취약점이 존재한다.

미국 지디넷에 따르면 sudo 1.7.10 버전은 지난 2012년 9월 배포됐기 때문에, 연식이 5년 이상 된 리눅스 배포판은 모두 이 공격에 취약하다. sudo 1.8.20p1 버전은 취약점을 패치했지만 악성 명령어 관련 문제를 해결하지 못해 불완전하다.

퀄리스 측은 시스템 관리자들이 이 취약점을 패치할 시간이 충분히 지난 이후 sudo 명령어로 최고 관리자 권한을 얻을 수 있는 익스플로잇을 공개할 것이고, 해커들은 그 하루이틀 뒤면 이런 익스플로잇을 악용해 실행하기 쉬운 공격스크립트를 만들어낼 것이라고 지적했다.

보도는 웬만하면 당장 패치를 하라고 권했다. 패치를 하지 않을 경우 언젠가 이 취약점을 노린 공격에 당할 위험이 있기 때문이다. 현재 주요 서버용 리눅스 배포판은 모두 이 문제를 해결한 패치를 제공하고 있다. 데비안, 레드햇, 수세, 우분투에서 패치를 적용 가능하다.

http://www.zdnet.co.kr/news/news_view.asp?artice_id=20170606131340