저자: 노엘 데이비스(Noel Davis), 역 신동섭
최신 유닉스 및 오픈 소스 보안 권고와 관련된 정보를 제공하는 보안 경고 칼럼에 오신 여러분을 환영하는 바이다.
이번 칼럼에서는 센드메일, BIND, Snort,
file,
tcpdump,
zlib, 터미널 에뮬레이터, 인터넷 메시지, Emacs World에서의 메시징과
lprm에 관한 문제들을 살펴보게 된다.
센드메일
센드메일은 이메일 메시지 헤더를 파싱하는 코드 내 버퍼 오버플로우가 취약하다. 이 버퍼 오버플로우는 정교한 이메일 메시지를 사용하는 원격 공격자들에 의해 해킹 당할 수 있으며 대부분의 경우에 루트 권한으로 임의의 코드를 실행하는 결과를 초래할 수 있다. 센드메일에 대항하는 공격은 이메일 메시지가 다른 메일 전송 에이전트에 의해 약점이 있는 장비로 전달될 경우 외부 네트워크로 직접 연결되진 않는 장비에까지도 대항하여 수행될 수 있다. 따라서 시스템 로그에 어떠한 기록도 남기지않기 때문에 성공적으로 공격할 수 있다.
데몬 모드(
-bd)에서 센드메일을 실행하지 않은 시스템은 특정 조건 하에서 이러한 버퍼 오퍼플로우가 여전히 취약할 수 있다. 이와 같은 잠재적인 약점 때문에 사용자들은 유저를 설정하고 그룹 ID비트들을 설정한 구버전 혹은 패치되지 않은 센드메일 버전은 삭제하는 것이 좋을 것이다.
센드메일과 센드메일 컨소시움은 센드메일 오픈 소스 버전 사용자들이 가능한 한 빨리 8.12.8 버전으로 업그레이드할 것을 권장했으며 8.12.8로 업그레이드할 수 없는 사람들을 위해 버전 8.9, 8.10, 8.11, 8.12에 사용할 수 있는 패치를 제공하고 있다. 센드메일 오픈 소스 버전을 사용하지 않는 사람들은 벤더들이 제공하는 업데이트 버전을 주시하기 바란다.
센드메일의 수정된 버전들은 유효하지 않은 헤더를 가진 이메일 메시지가 드롭되면 "헤더 주소로부터 드롭된 유효하지 않는 설명"이라는 메시지를 보여줄 것이다. 이는 시스템에 대한 공격 가능성을 보여줄 수도 보여주지 않을 수도 있다.
BIND
인터넷 소프트웨어 컨소시움(ISC, Internet Software Consortium)은 BIND 버전 9.2.2를 출시했다. 이에 ISC 보안 웹 페이지는 다음과 같은 사항을 발표하였다. "ISC는 몇 가지 버그에 관한 정보를 직접 발견하거나 보고 받은 적이 있다. 이 버그들은 ISC가 배포한 것처럼 BIND에서 다양한 레벨의 위험에 대한 약점을 초래할 수 있다." 따라서 ISC에서는 사용자들이 업그레이드하기를 강력하게 권장하고 있다.
Snort
네트워크 침입 감지 시스템 Snort는 RPC 코드에 버퍼 오버플로우가 있다. 이 코드는 루트 권한으로 임의의 코드를 실행시키는 결과를 초래하는 네트워크 패킷을 정교하게 사용하는데 활용될 수 있다. 특히 Snort버전 1.8에서 1.9.0사이의 버전은 약점이 있다는 보고가 있었다. RPC 코드는 나누어진 RPC 트래픽을 사용하는 침입 감지 시스템으로부터 은닉을 시도하는 공격들을 감지하기 위해 추가로 붙어졌다.
따라서 사용자들은 가능한 한 빨리 Snort 1.9.1버전으로 업그레이드하는 것이 좋다. 만약 업그레이드가 불가능하다면 파일
snort.conf에
preprocessor rpc_decode라는 라인을 달아야 한다.
file
file은 하나의 시스템 매직 파일에 기반을 둔 파일의 타입을 표시하고 인식하는데 사용되는 명령라인 유틸리티이다.
file은 로컬 공격에 취약하다. 특히 이 로컬 공격은 특별하게 구성된 데이터 파일을 사용하는데 이것이 유틸리티 파일로 인식되면 사용자 실행 파일의 권한으로 임의의 코드를 실행할 수도 있다. 버전 3.39까지의
file 유틸리티 버전이 취약하다고 있다고 보고되었으며 데이터 파일을 생성하기위한 스크립트가 공개버전으로 출시되었다.
사용자들은 3.41이상의 새로운 버전으로 업그레이드하거나 벤더에게 업그레이드된 패키지가 있는지 문의해보아야 한다.
tcpdump
네트워크 스니퍼인
tcpdump는 ISAKMP패킷(UDP 포트 500)을 사용하는 서비스 거부 공격에 취약하다. 이 공격으로 야기되는 취약성은 다른 공격에 대해 모니터를 못하게 만드는 것이다.
tcpdump 3.6, 3.6.3과 3.7.1버전에 이와 같은 취약성이 있는 것으로 보고되었다.
tcpdump를 패치할 때까지 도착지 포트 500으로 되어있는 패킷들을 필터링할 것을 권장한다.
zlib
zlib라이브러리를 가지고 있는
gzprintf() 함수에도 버퍼 오버플로우가 있다. 따라서 사용자가 라이브러리에 링크된 애플리케이션을 실행하고 그 함수를 사용하는 권한을 가진 임의의 코드를 실행할 수 있다.
사용자들은
zlib 1.1.4로 업그레이드 하거나 해당 벤더의 새로운 패키지 업데이트 버전이 있는지 살펴보아야 한다.
터미널 에뮬레이터
몇몇 터미널 에뮬레이터들은 공격자들이 악용할 수 있는 일련의 특성을 가지고 있다. 예를 들어 터미널 에뮬레이터 Eterm은 victim 시스템에 관한 파일들을 생성하고 임의의 명령을 실행하거나 사용자가 윈도우 타이틀을 변경하는 트릭을 쓰는데 사용될 수 있다. 터미널 에뮬레이터들 중 Eterm, xterm, rxvt, dtterm, uxterm, aterm, putty, gnome 터미널과 hanterm-xf와 같은 에뮬레이터에 이와 같은 약점이 있다고 한다. KDE 콘솔, Gnome의 gnome 터미널, Vandyke의 SecureCRT와 Sasha Vasko의 aterm은 이 문제들에 의해 영향을 받지않는다고 알려져있다.
유저들은 벤더들이 위에서 언급된 터미널 에뮬레이터들의 업데이트된 패키지를 제공하는지 살펴보고 그 패키지 내에 신뢰성이 떨어지는 데이터를 가지고 있을 수 있는 파일들에 특별한 주의를 기울여야 한다. 이러한 조치 이외에도 터미널 에뮬레이터로 KDE 콘솔, gnome의 gnome터미널, Vandyke의 SecureCRT, 또는 Sasha Vasko의 aterm 등을 사용해 볼 것에 대해서도 고려해 보아야 할 것이다.
레드햇 인터넷 메시지와 Emacs World에서의 메시징
레드햇 리눅스 7, 7.1, 7.2로 배포된 인터넷 메시지(IM) 패키지들과 레드햇 리눅스 7.3과 8.0으로 배포된 Emacs World 패키지들의 메세징(Mew)은 심볼릭 링크 레이스와 컨디션 베이스 공격에 취약하다. 이러한 약점은 IM이나 Mew를 실행하는 사용자 권한을 가진 임의의 파일을 덮어쓰기 위한 로컬 공격자에 의해 악용될 수 있다.
침범당한 유저들은 가능한 한 빨리 복원된 패키지들로 업그레이드해야 한다.
OpenBSD lprm
OpenBSD하에서 운영되는
lprm 유틸리티는
lprm이 루트에서 실행되고 있는 유저의 권한으로 임의의 코드를 실행하는데 악용될 수 있는 버퍼 오버플로우가 있다. 이러한 약점을 악용하는 스크립트가 나왔으며 이 버퍼 오버플로우가 다른 BSD 배포에 영향을 주는지 그렇지 않은지는 알려지지 않았다. OpenBSD 3.2에서
lprm은 루트가 아니라 유저설정
id 데몬으로 설치되어야 한다.
lprm은 가능한 한 빨리 패치되어야 하며 프린팅 서브시스템이 가동되지 않는 시스템에서는 이를 제거하는 것도 고려해봐야 할 것이다.