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에 정의된 클래스가 샌드박스 밖에서 실행하도록 한다.


역직렬화를 하게 되면 메모리에 악의적인 코드가 쓰일 수 있기 때문에 시큐리티 매니져에서 해당 객체에 대해서 접근에 대한 체크가가 필요하지만, 체크 하지 않아 문제가 발생하게 된다.


2. 샌드박스 내부의 정책 우회를 위하여 시큐리티 매니져를 setSecurityManger(Null)로 우회 - CVE-2011-3544와 CVE-2012-4681 취약점


샌드박스에서 시큐리티 매니져는 정책으로서 접근제어를 수행하게 된다. 하지만 시큐리티 매니져가 무력화 될 경우 접근제어를 수행하지 않기 때문에 악의적인 코드 실행이 가능해진다.


자바는 JVM에서 명령을 수행하기 위해서는 시큐리티 매니저가 함수내에서 빈번하게 호출되며, 자바 애플릿 역시 예외가 아니다. JVM이 포함되어 있는 웹 브라우저가 애플릿이 포함된 웹 사이트 접속시 JVM으로 애플릿을 다운 받아 실행하게 된다. 이 과정에서 로컬에서 실행하기 위해서는 디스크에 파일을 쓰고 실행을 하여야 하는데, 시큐리티 매니져를 우회 하여야 악성코드를 감염 시킬 수 있게 된다.



CVE-2011-3544와 CVE-2012-4681의 경우가 시큐리티 매니져를 우회하는 취약점으로 해당 취약점들은 toString Method에서 해당 함수를 실행할 경우 시큐리티 매니져를 우회 하는 취약점이였다. 


시큐리티 매니져를 해제하기 위해서는 setSecurityManager함수를 이용하여 시큐리티 매니져를 해제 해야한다. 하지만 JRM에서 setSecurityManger(NULL)을 호출하게 되면, 에러(Error)와 함께 함수 호출에 대해 실행을 허가 하지 않지만, toString Method를 이용하게 되면 해당 함수를 호출할 수 있는 취약점이다.


이와 비슷한 원리로 작동하는 취약점이 CVE-2012-4681으로 해당 취약점은 sun.awt.SunToolkit을 이용하여 파일시스템에 대한 모든 권한을 부여함으로서 시큐리티 매니져를 비활성화하도록 한다. 


현재 앞서 설명한 자바 취약점들 모두 다수의 악성코드에서 악용되고 있음으로 오라클(Oracle)에서 제공하는 보안 패치를 설치하여야만 다른 보안 위협들로보터 시스템을 보호 할 수 있다.

저작자 표시 비영리 변경 금지
신고
Creative Commons License
Creative Commons License
Posted by 비회원
해외 시각으로 2011년 10월 31일 미국 보안 업체인 시만텍(Symantec)에서는 니트로(Nitro)로 명명된 보안 위협을 공개하였으며, 공개된 니트로 보안 위협에 대해서는 해외 언론들을 통해서도 알려져 있다.

시만텍에서 이번에 공개한 니트로 보안 위협은 화학 제품을 생산하는 기업들을 대상으로한 공격이었으나, 최초인 4월 말경에는 인권 관련단체인 NGO를 대상으로 시작 된 것으로 밝히고 있다. 

화학 업체들을 대상으로한 니트로 보안 위협은 최초 2011년 7월에서 시작되어 해당 보안 위협이 탐지된 9월까지 진행 되었으며, 원격 제어를 위한 C&C(Command and Control) 서버의 경우에는 4월경에 구축 된 것으로 알려져 있다.

그리고 공격 대상이 된 기업은 화학 관련 업체 29개와 군수 업체를 포함한 다른 업종의 기업 19개로 총 48개 기업이 이번 니트로 보안 위협의 공격 대상이 되었다.

시만텍에서는 아래 이미지와 같이 해당 니트로 보안 위협에 의해 감염된 시스템들은 지리적으로 미국과 방글라데시(Bangladesh)가 가장 많은 것으로 밝히고 있다.



이번에 알려진 니트로 보안 위협은 전형적인 APT(Advance Persistent Threat) 형태의 공격으로 사회 공학(Social Engineering) 기법을 포함하고 있는 전자 메일에 원격 제어 형태의 백도어인 포이즌아이비(PoisonIvy)가 첨부 파일로 존재하였다.

니트로 보안 위협에 사용된 포이즌아이비는 언더그라운드에서 해당 백도어를 생성할 수 있는 악성코드 생성기가 이미 공유되고 있어, 니트로 보안 위협의 공격자는 아래 이미지와 유사한 포이즌아이비 툴 킷들을 이용하여 악성코드를 제작한 것으로 추정된다. 


실제 공격에 사용된 악성코드들은 대부분이 RARSfx로 압축된 파일들이며, 해당 파일들이 실행되면 사용자 계정의 Temp 폴더에 자신을 복사본을 생성한다. 

그리고 생성한 복사본은 인터넷 익스플로러(Internet Explorer)의 스레드(Thread)에 자신의 코드를 삽입하여 C&C 서버와 통신을 시도하여, 공격자의 명령에 따라 악의적인 기능을 수행하게 된다.

수행하게 되는 악의적인 기능은 아래 이미지와 같이 감염된 시스템의 실행 중인 프로세스(Process) 리스트에서부터 레지스트리(Registry) 및 키로깅(Keylogging)까지 다양한 악의적인 기능들을 수행 할 수가 있다.


이 번 니트로 보안 위협에 대해 ASEC에서는 추가적인 조사를 진행하여 해당 보안 위협에 악용된 악성코드들이 약 50여개인 것으로 파악하였다.

니트로 보안 위협에 악용된 악성코드들은 모두 V3 제품군에서 다음과 같이 진단하고 있다.

Win-Trojan/Poison.150937
Win-Trojan/Adsagent.141530
Win-Trojan/Poisonivy.135794
Win-Trojan/Poisonivy.150357
Win-Trojan/Poisonivy.133511
Win-Trojan/Poisonivy.154827
Win-Trojan/Poison.155705
Win-Trojan/Adsagent.132031
Win-Trojan/Adsagent.153026
Dropper/Agent.136569
Win-Trojan/Adsagent.7680.E
Win-Trojan/Hupigon.133007
Win-Trojan/Injecter.62464.D
Win-Trojan/Injector.26624.AN
Win-Trojan/Poison.27136.R
Win-Trojan/Poison.154539
Win-Trojan/Injector.3073
Win-Trojan/Agent.159762
Win-Trojan/Bumat.111104
Win-Trojan/Poison.147456 
Win-Trojan/Poison.133951
Win-Trojan/Gendal.62464
Win-Trojan/Injector.89088.AL
Win-Trojan/Poison.43520.P
Win-Trojan/Poisonivy.173068 
Win-Trojan/Poison.111104.M 
Win-Trojan/Injector.89600.BP
Win-Trojan/Magania.3399704
Win-Trojan/Magania.240239 
Win-Trojan/Poisonivy.128204
Win-Trojan/Poison.62464.AA 
Win-Trojan/Poisonivy.177722
Win-Trojan/Poisonivy.150357
PDF/Exploit
Win-Trojan/Downbot.153938
Win-Trojan/Adsagent.141530
Win-Trojan/Poisonivy.154827
Win-Trojan/Adsagent.153026
Dropper/Agent.136569
Win-Trojan/Poisonivy.536397
Win-Trojan/Poisonivy.133511
Win-Trojan/Poisonivy.128405
Win-Trojan/Poisonivy.128204
Win-Trojan/Poisonivy.173068
Win-Trojan/Poison.150937
Win-Trojan/Agent.159762
Win-Trojan/Adsagent.136314
Win-Trojan/Poisonivy.532499
Win-Trojan/Poison.155705
Win-Trojan/Adsagent.132031
Win-Trojan/Poisonivy.128421
Win-Trojan/Poisonivy.135794
 
이러한 APT 형태의 보안 위협에 대응하기 위해서는 단일 보안 제품만으로는 대응이 불가능하며, 사내에 존재하는 보안 정책과 직원들을 대상으로한 보안 인식 교육 그리고 유기적으로 동작하는 각 단계에 맞는 보안 제품들이 다단계적인 대응(Defense in Depth)가 이루어져야 한다.
저작자 표시
신고
Creative Commons License
Creative Commons License
Posted by 비회원