Telnet 데몬 버퍼오버플로우 취약점을 공격하는 웜 출현

익명 사용자의 이미지

1. 해당 시스템
- 현재 공격이 가능한 시스템
BSDI 4.x default
FreeBSD [2345].x default
NetBSD 1.x default

- 현재 공격이 가능하지는 않지만 취약한 시스템
IRIX 6.5

* Linux netkit-telnetd < 0.14
* OpenBSD 2.x
* Solaris 2.x sparc
*
* 공격이 성공하는지는 확실하지 않음

- 취약하지 않은 시스템
Linux netkit-telnetd >= 0.14
OpenBSD current

2. 설명
⼑ 텔넷 데몬 취약점
- BSD Telnet 데몬에서 파생된 Telnet 데몬에서 취약점이 존재
- Telnet의 옵션기능을 수행하는 'telrcv' 함수가 옵션을 파싱할 때 클라이어트에게 보내져야하는 결과값은 'netobuf' 버퍼에 저장됨
- 응답 결과 데이터가 이 버퍼의 크기(BUFSIZ)보다 작다고 가정하여 경계값 점검을 하지 않아 버퍼오버플로우 발생
- 특히, 결합옵션 AYT(Are You There)와 같은 경우는 9 byte의 데이터가 추가됨.
- Input 버퍼가 BUFSIZ 보다 큰 경우 ((BUFSIZ/2)*9)-BUFSIZ 만큼의 Output 버퍼가 필요.

⼑ 동작과정
- 다음 타겟을 찾기 위하여 랜덤 IP에대하여 Telnet 포트인 23번 포트를 스캔함
- 침범당한 호스트의 145번/TCP 포트를 루트쉘로 서비스함

⼑ 진행상황
- 몇몇 시스템의 공격 코드가 공개되었고 현재까지는 BSD 계열 Telnet 데몬만이 공격에 성공하는 것으로 보임.
- 아직까지 국내 피해나 웜 코드가 보고되지 않았음.
- RTSD를 통하여 Telnet 웜으로 보여지는 행위가 보고되지 않고 있는데 이것은 우리나라 대부분이 BSD 계열의 시스템을 사용하지 않아서, 피해가 발생하지 않는 것으로 보임.
- 하지만 취약한 시스템의 공격 코드가 언제 발표될지 모르므로 벤더들의 공지를 주시해야 함.

3. 대응책
- 벤더별로 패치를 설치한다.
- 침입차단시스템이나 패킷 필터을 이용하여 Telnet 서비스(23번 포트/TCP)에 대한 접근을 제한한다.
- x.c 웜을 탐지하고 제거하는 툴 이용 http//www.ists.dartmouth.edu/IRIA/knowledge_base/tools/xcfind.htm

※ 자세한 사항은 CERTCC-KR의 보안권고문 참조 http//www.certcc.or.kr/advisory/ka2001/ka2001-033.txt

⼆ 참조사이트
[1] http//www.team-teso.net/advisories/teso-advisory-011.tar.gz
[2] http//www.cert.org/?advisories/CA-2001-21.html
[3] http//www.securityfocus.com/vdb/?id=3064
[4] http//www.incidents.org/diary/diary.php#012
[5] http//www.certcc.or.kr/advisory/ka2001/ka2001-033.txt