본문 바로가기
AhnLab 보안in

[안철수연구소 ASEC리포트] PDF Reader 프로그램의 취약점을 이용한 공격과 병원에서의 악성코드 감염

by 보안세상 2020. 4. 6.

2008.12.17

 

지난 10월 MS08-067 서버 서비스 취약점이 공개된 후, 이를 악용한 사례가 지속적으로 보고되고 있다. 원격에서 공격이 가능한 유형의 취약점은 악성코드에서 취약한 시스템을 찾는데 애용되고 있으며, 이러한 유형에는 대표적으로 DCOM, LSASS 취약점 등이 있다. 이에 대한 근본적인 대응책은 사용자들이 자신의 윈도우 시스템에 보안업데이트를 철저하게 하는 것이다.

 

방화벽, 안티바이러스 제품과 같은 보안제품에만 의존할 것이 아니라 주기적인 보안 업데이트, 강력한 패스워드 사용, 공유폴더 사용하지 않기 등의 기본적인 수칙만 지켜준다면 보다 안전한 인터넷 사용이 가능할 것이다. 더불어, MS 관련 취약점뿐만 아니라 시스템에 설치된 다른 소프트웨어의 취약점은 없는지도 살펴보아야 한다. 이번에 알려진 어도비(Adobe)사의 PDF Reader 프로그램의 취약점을 이용한 공격이 써드 파티 소프트웨어 위협의 좋은 예라고 할 수 있을 것이다. ‘보안’이라는 것은 언뜻 보면 해야 할 것도 많아 귀찮은 일이 될 수도 있겠지만 이 작은 노력이 컴퓨터를 안전하게 지킬 수 있는 최선의 길이다.

 


PDF 취약점을 이용한 문서 자주 발견

 

전자문서로 유명한 어도비사의 PDF Reader에서 또 다른 취약점이 공개되어 사용자들의 주의가 요구된다. 이번 취약점뿐만 아니라 이전에도 몇 차례 관련 취약점들이 공개되어 악의적으로 이용되었는데, 이렇게 어도비사의 취약점이 주목받는 이유는 전세계적으로 PDF (Portable Document Format)라는 포맷이 공용화 되었고 사용자층이 매우 두텁기 때문이다.

 

최근에 공개된 취약점은 PDF 파일에 삽입되어 실행되는 자바 스크립트 코드 중 “util.printf()” 처리 과정에서 입력 값이 제대로 검증되지 않아 발생하는 스택 오버플로우(Stack Overflow) 취약점이다. 조작된 PDF 파일을 사용자가 열어보는 순간, 해당 취약점을 이용하여 악의적인 코드가 실행될 수 있으며 사용자 권한을 획득할 수도 있다. 해당 취약점에 영향을 받는 소프트웨어는 8.1.2 버전이며, 8.1.3 과 9 버전은 영향을 받지 않는다.

 

해당 취약점을 좀더 자세히 살펴보면, 숫자나 날짜를 포맷 형태로 출력하고 파싱하는 기능에서 발생한 것으로 다음과 같이 Utils 오브젝트에서 지원하는 printf 메소드에 넘겨지는 인자값이 체크되지 않아 발생하는 것이다.

 

공격자가 PDF 문서에 취약점을 발생시킬 수 있는 Util.printf를 내포한 JavaScript 코드를 삽입함으로써 악용할 수 있게 된다. 취약점은 EScript.api 에서 발생되는 것으로 실제 코드를 보면 아래와 같다.

취약점 공개와 함께 이를 이용할 수 있는 공격코드(PoC)가 이미 공개되어 있으므로, 이를 악용할 가능성은 더욱 높아진 상태이다. 따라서, PDF 문서 사용자는 해당 취약점에 해당하는 업데이트를 반드시 확인하고 출처를 알 수 없는 PDF 파일을 열어보지 않아야 한다. 만약, 업데이트가 힘든 사용자라면 PDF Reader 옵션 중 자바스크립트 기능을 해제하는 설정을 Enable 하여 스크립트 코드의 실행을 막는 것도 하나의 방법이 될 수 있다.

 

윈도우 비스타 TCP/IP 스택 취약점 존재

 

최근 윈도우 비스타에서 임의의 코드를 실행할 수 있는 취약점이 오스트리아의 한 연구자에 의해 발견되었다. 이번 취약점은 비스타의 네트워크 입/출력 서브시스템에서 발견된 것이며 특정 요청이 iphlpapi.dll에 전달되면 버퍼 오버플로우가 발생되어 커널 메모리를 망가뜨리고 이로 인해 블루스크린이 나타날 수 있다고 보고하였다. 해당 취약점은 현재 주로 사용되고 있는 Windows XP 시스템에는 영향이 없는 것으로 알려져 있다 현재 마이크로소프트사와 이번 문제를 해결하기 위한 작업을 진행하고 있으며 다음 번 윈도우 비스타 서비스팩에 포함될 것이라고 한다. 이 글을 쓰는 시점에서 비스타 서비스팩 2 번째 베타 버전이 공개되었다. 

 

비즈니스를 위협하는 보안 문제

 

비즈니스와 IT 인프라의 의존성이 높아지면서 보안에 대한 관심 또한 나날이 높아지고 있다. 이것은 우리가 즐겨 이용하고 있는 대중교통만 보아도 알 수 있다. 버스와 지하철의 요금 처리, 티켓 구매, 버스 도착안내 이 모든 것이 IT 인프라에 의존하여 운영되고 있다. 어느 날 이런 시스템이 단지 몇 킬로바이트의 악성코드에 의해 감염되어 혼란을 줄 수 있다는 우려가 현실로 나타나고 있다. 이런 일이 일어나서도 안 되겠고, 일어나지 않도록 철저한 준비를 하고 있겠지만, 복잡한 IT 환경에서 이런 가능성은 언제나 존재한다.

 

최근 11월 18일(화)에 런던의 몇 개의 병원에서 악성코드가 감염되어 몇일 동안 시스템이 다운되는 사태가 실제로 발생했다. St Bartholomew’s(Barts), Whitechapel의 로얄 런던 병원 그리고 Bethnal Green의 London Chest 병원에서 마이톱(Mytob) 웜에 감염되었다. 감염으로 인하여 병원의 시스템에 장애가 발생하여, 최첨단 IT 기술을 활용할 수 없게 되어 의사들은 손으로 기록을 하였고, 앰블런스는 임시적으로 근처 병원으로 이동하여야만 했다. 병원 운영상 긴급한 수술의 취소 등과 같은 큰 문제점은 야기시키지 않았으나 일부 작업은 연기되거나 스케쥴이 재조정된 것으로 알려져 있다.

 

이번 사건은 고의적으로 병원을 대상으로 공격이 이뤄진 것이 아닌 것으로 알려져 있으며, 악성코드로 인해 환자의 개인 정보 유출 등은 없었고 단순한 감염사고로 추정된다. 하지만, 며칠 동안 병원은 과거로의 회귀를 경험하였고 업무 전반에 불편함을 끼쳤을 것이다. 만약 더욱 악의적인 악성코드였다면 보다 큰 피해를 입혔을 수도 있고, 더 나아가 환자의 생명과 직결되는 기계에도 영향을 줄 수 있었을지도 모른다. 이번 병원의 사례와 같이 이것이 여러분들의 비즈니스에도 영향을 줄 수 있다고 생각되거나 IT 인프라에 의존적이라면 단순히 하나의 이야기 거리로 넘겨서는 안될 것이다. 지금 당신의 사업에 이런 일이 발생할 수 있다는 가정하에 “차선의 선택(Plan B)”를 준비해 놓아야 할 것이다.



[그림 2] 문제가 발생한 병원의 공지사항

 

출처 : 안철수연구소 ASEC리포트 11월호