Security Manager

자바 취약점을 악용하는 악성코드들

ASEC에서는 8월 29일 “오라클 자바 JRE 7 제로 데이 취약점 악용 악성코드 유포“를 통해 자바(Java) JRE에서 알려지지 않은 제로 데이(Zero-Day, 0-Day) 취약점이 발견되었으며, 이를 악용한 악성코드가 유포되었다고 공개하였다. 해당 CVE-2012-4681 자바 취약점외에도 다른 CVE-2012-0507 자바 취약점 역시 다수의 악성코드 유포에 사용되고 있다. 일반적으로 자바의 경우 JVM을 이용한 샌드박스(SandBox) 개념의 보안 기능을 운영체제에 제공하고 있다. 악의적인 코드의 경우 JVM에서 시큐리티 매니져(Security Manager)를 기준으로 차단을 하게 된다. 예를 들어 파일을 디스크에 쓰거나 실행하는 경우에 정책(Policy)에 허용 되지 않은 경우에는 해당 명령은 허용 되지 않는다. 그러나 최근에 발견된 자바 취약점을 악용하는 악성코드 제작자들은 샌드박스를 우회 하기 위해 2가지 방법을 사용하고 있다. 1. 샌드박스 자체 무력화 – CVE-2012-0507 취약점 해당 CVE-2012-0507 취약점은 AtomicReferenceArray에서 발생한다. AtomicReferenceArray 클래스의 경우 시큐리티 매니져에서 ArrayObject에 대한 타입(Type)을 체크 하지 않으며, 해당 배열 생성시 역직렬화를 하고, 역직렬화된 악의적인 코드를 doWork에…