울지않는벌새 : Security, Movie & Society

Oracle Java 6 제로데이(0-Day) 취약점을 이용한 악성코드 유포 주의 (2013.9.4)

벌새::Security

2013년 8월 하순경부터 해외를 중심으로 Oracle Java 6 최신 버전의 제로데이(0-Day) 보안 취약점을 이용한 악성코드 유포가 발견되었다는 소식이 전해지고 있습니다.

 

  <Trend Micro Security Intelligence Blog> Java 6 Zero-Day Exploit Pushes Users to Shift to Latest Java Version (2013.8.27)

 

Trend Micro 보안 업체의 분석글에서는 CVE-2013-2463 보안 취약점을 이용하여 취약한 Oracle Java 플러그인이 설치된 환경에서 원격 코드 실행이 가능한 취약점을 이용하여 랜섬웨어(Ransomware) 변종을 드라이브 바이 다운로드(Drive-By Download) 방식으로 유포한다고 밝히고 있습니다.

 

  업데이트 : Oracle Java SE Runtime Environment 7 Update 25 (2013.6.19)

 

현재 Oracle Java 프로그램의 최신 버전을 확인해보면 2013년 6월 19일경 CVE-2013-2463 보안 취약점에 보안 패치가 이루어진 "Oracle Java SE Runtime Environment 7 Update 25" 버전으로 업데이트가 이미 이루어졌습니다.

 

하지만 "Oracle Java SE Runtime Environment 6" 버전 사용자의 경우에는 CVE-2013-2463 보안 취약점을 가진 "Oracle Java SE Runtime Environment 6 Update 45" 버전에서 더 이상의 패치가 공개되지 않았으며, 자동 업데이트를 통해 "Oracle Java SE Runtime Environment 7 Update 25" 버전으로 전환되도록 되어 있습니다.(※ 당시 업데이트 정보에서는 Oracle 6 Update 51 버전이 있다고 표시되어 있었지만, 다운로드 정보에서는 Oracle 6 Update 45 버전이 최종 버전입니다.)

 

결국 사이버 범죄자들은 위와 같은 업데이트 문제를 노리고 "Oracle Java SE Runtime Environment 6" 버전을 여전히 사용하는 사용자들을 타켓으로 한 악성코드 유포를 본격적으로 진행하고 있으며, 국내에서도 해당 Exploit 공격이 발견될 가능성이 매우 높습니다.

이 글에서는 "Oracle Java SE Runtime Environment 6 Update 45" 최신 버전이 설치된 환경에서 현재 유포가 이루어지고 있는 웹 사이트 방문시 Java Exploit 공격을 통해 시스템 감염이 발생하는 문제와 대응 방법에 대해 소개해 드리도록 하겠습니다.(※ 아래 예시에서는 Java 취약점 중 CVE-2013-2465 Exploit 공격을 통한 유포 방식이며, 해당 취약점 역시 "Oracle Java SE Runtime Environment 7 Update 25" 업데이트를 통해 보안 패치가 이루어진 상태입니다.)

 

1. "알약(ALYac) + Java 6 Update 45 및 하위 버전" 사용자 환경

알약(ALYac) 무료 백신 사용자 중에서 "Java 6 Update 45 및 하위 버전"이 설치된 환경에서 인터넷을 이용하는 과정에서 악성 웹 사이트에 접속할 경우 Java 플러그인이 동작하면서 사용자 몰래 악성 파일이 자동으로 다운로드 및 실행되는 동작을 확인할 수 있습니다.

해당 유포 동작을 확인해보면 사용자가 접속한 웹 사이트에서 악성 스크립트 파일<McAfee : JS/Exploit!JNLP.c (VT : 2/47)>을 로딩하여 Oracle Java 보안 취약점(CVE-2013-2465)을 이용한 web.html1.zip<Kaspersky : HEUR:Exploit.Java.CVE-2013-2465.gen (VT : 6/46)> 파일을 통해 악성 파일이 임시 폴더에 생성되어 동작이 실행되는 것을 확인할 수 있습니다.

 

이 과정에서 알약(ALYac) 보안 제품이 스크립트 또는 최종 파일을 진단(차단)하지 못할 경우 시스템 감염이 발생할 수 있습니다.

  • MD5 : fe22d9107c6ba55c1d0b82202f4a2684 - Sophos : Mal/FakeAV-OY (VT : 4/47)
  • MD5 : 2f242040d5b5b94b7ffc0197d353ccf1 - Sophos : Mal/FakeAV-OY (VT : 5/46)

이를 통해 최종 파일은 다양한 형태로 배포가 이루어지고 있으며, 감염으로 인해 PC 사용을 방해하는 랜섬웨어(Ransomware), 가짜백신(FakeAV), 정보 유출 등이 발생할 수 있습니다.

 

2. "알약(ALYac) + Malwarebytes Anti-Exploit" 사용자 환경

 

  알약(ALYac) + Malwarebytes Anti-Exploit 프로그램을 이용한 Exploit 공격 대응법 (2013.9.1)

 

최근 블로그를 통해 위와 같은 Exploit 공격에 매우 취약한 알약(ALYac) 보안 제품 사용자들을 위한 대응책으로 "Malwarebytes Anti-Exploit" 프로그램을 이용하는 방법을 소개한 적이 있습니다.

테스트를 통해 "알약(ALYac) + Malwarebytes Anti-Exploit" 조합으로 사용할 경우에는 비록 알약(ALYac) 보안 제품에서 Java 취약점(CVE-2013-2465)을 이용한 공격을 진단하지 못하지만, Malwarebytes Anti-Exploit 프로그램을 통해 Exploit 공격을 차단하는 모습을 확인할 수 있습니다.

로그(Logs) 정보를 확인해보면 Java 취약점을 통해 생성된 파일을 차단(Block)하였으며, 사용자는 제공되는 파일의 경로를 확인하여 생성된 파일을 수동으로 삭제하시면 됩니다.(※ 파일은 사용자 시스템에 생성되지만 자동 실행되어 시스템 감염을 유발하지는 않도록 차단한 것입니다.)

 

3. "AhnLab V3 365 클리닉 3.0" 사용자 환경

AhnLab V3 365 클리닉 3.0 제품 사용자 중에서 보안 취약점을 가지고 있는 Oracle 6 버전대 프로그램을 사용하고 있는 경우에는 MDP(Multi-Dimensional Protection) 진단(Malware/MDP.JavaExploit.M106)을 통해 취약점을 이용한 이상 행위를 진단하여 사전 차단하고 있습니다.

 

4. Oracle 6 제로데이(0-Day) 보안 취약점 대응 방법

 

이번 사례와 같이 프로그램 설치 이후 업데이트를 통해 최신 버전을 사용하지 않고 방치하는 사용자들의 노리는 Exploit 공격의 근본적 해결을 위해서는 제어판에 등록된 "Java(TM) 6 Update ○○" 버전이 설치된 사용자는 다음과 같은 절차에 따라 업데이트를 진행하시기 바랍니다.

"제어판 → 프로그램 → Java" 메뉴를 실행하여 생성된 Java 제어판에서 "업데이트 → 지금 업데이트" 버튼을 클릭하여 최신 버전(Java 7 Update 25)으로 업데이트 하시기 바랍니다.(※ Oracle 7 Update ○○ 버전 사용자도 업데이트 확인을 통해 최신 버전으로 업데이트 하시기 바랍니다.)

 

또한 알약(ALYac) 무료 백신과 같이 Exploit 차단 기능을 제공하지 않는 보안 제품(※ Hauri ViRobot, nProtect, 네이버 백신, Daum V3 등)을 사용하는 경우에는 "Malwarebytes Anti-Exploit" 프로그램을 설치하여 함께 사용하시길 권장합니다.