※ CVE-2012-1535 취약점에 대한 정보를 게시합니다.

[ 분석 보고서 및 분석 참고 자료 ]



[ 참고 사이트 ]
CVE : CVE-2012-1535
Adobe Security Bulletin : Security Update Available for Adobe Flash Player
AlienVault : CVE-2012-1535 : Adobe Flash being exploited in the wild
nProtect 대응팀 : [긴급] CVE-2012-1535 취약점 악성파일 증가, Adobe Flash Player 업데이트 권고
MS OTF Format : The OpenType Font File

[ 분석 샘플 ]


[ 기본 정보 ]
대상 프로그램 : Flash Player 
대상 파일 : Flash32_11_3_300_270.ocx 이전 버전
취약 함수 : unknown ( createTextLine( ) 추정 )
취약점 설명 : unknown
         ( SWF 파일내의 취약한 Action Script 함수 호출로 인해 HeapSpray 발생 후 임의의 코드 실행가능 취약점 )
패치 여부 : 업데이트 가능 ( Flash32_11_3_300_271.ocx )

[ 분석 환경 ] 
OS :  Windows XP SP3 ( vmware )
Program : Office 2007 Word 
Flash Player : 11.1.102.55 ( Flash11e.ocx )

[ 취약점 공격 방법 ]
Crash 원인에 대해서는 아직 미확인 상태임.
추정 - Flex내부 함수를 통해 Font를 출력하는 과정에서 Font의 속성을 설정할 때 속성정보에 담긴 데이터의 크기에
         상관없이 Heap에 복사/접근/실행이 발생함에 따라 임의의 코드가 실행되는 형태

[ ShellCode 분석 ]

1) Main_FontClass를 생성해 FontClass로 명명한다. 이때 생성한 Main_FontClass는 FontAsset의 확장된 Class로
    Flex에서 Font 출력을 위해 사용되는 Class로 추정된다. 
   (  http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/core/FontAsset.html )

2) Super( ) 함수를 수행한다.

3) 내부 함수 HeapSpray( ) 를 수행한다. 

   :: ShellCode의 가장 큰 특이점은 생성한 ShellCode Block의 동작이다. 해당 취약점이 동작하면 DOC 파일내의
      추가 샘플이 Drop되어 동작하도록 설계되어 있는데 WINWORD.EXE에서 현재 실행중인 DOC 파일에 접근해야
      추가 Drop이 가능하다. 이를 위해 ShellCode 제작자는 악성 DOC 파일의 핸들을 얻는 방법으로 일반적으로 PID
      를 얻는 방법인 4씩 증가시키며 특정 함수 ( GetFileSize( ) ) 의 인자값으로 전달하는 방법을 취했다. 
      이 때문에 실제 ShellCode가 동작하는 과정에서 시간이 Random하게 소요되게 된다. 
      좀더 구체적으로 살펴보자. 
Inside 1 ) ShellCode를 별도의 EXE 파일로 작성해 동작을 확인한다. ( ShellCode2Exe )
      :: GetFileSize( )를 통해 전달하는 hFile은 마치 PID 처럼 4씩 증가시키며 전달한다. 정상적으로 GetFileSize( )
         Return을 받는다면 파일의 Size를 얻게되고 이때 얻은 파일의 크기가 0x48E000 ( DOC 파일 크기 ) 와 일치하
         는지 비교 후 추가 동작을 하게 된다. 
         전제 1) hFile은 4씩 증가하는 특성을 갖는다. 
         전제 2) GetFileSize( )로 전달되는 hFile은 Kernel Handle이다. 

      :: GetFileSize( ) 의 정의를 MSDN을 통해 확인하면 다음과 같다. 
Inside 2 ) GetFileSize( )의 정확한 동작을 확인한다. 
      :: GetFileSize( )는 아래의 그림에서 "call dword ptr [ebp + 8]" 부분이다. 

      :: 이때 전달되는 hFile은 [ebp + 113h] 부분이다. 이를 메모리에서  확인하면 다음과 같다. 

      :: 위에서 hFile은 Kernel Handle이라고 정의했다. 이를 확인해 보면 실행되는 DOC 파일은 WINWORD.EXE가 
         Open하고 있으므로 그 Handle 또한 WINWORD.EXE에 있을 것이다. 따라서 WINWORD.EXE로 Context
         Switching 이후 Handle을 조사해 봤을 때 위에서 나왔던 Handle인 0x430이 나올 것이다. 

      :: 실제 확인 결과 WINWORD.EXE가 갖는 Handle중 0x430은 "iPhone 5 Battery.doc" 악성 파일임을 알 수 있다. 

[ ShellCode 동작의 결론 ]
Handle은 4의 배수로 이뤄져 있다는 전제하에 4씩 증가시키면서 DOC 파일의 Handle이 맞을 때까지 Loop를 반복하며 DOC Size를 얻었을 때 hFile을 이용해 악성 파일 Drop을 시도하게 된다. 

4) 내부 함수 TextBlock_createTextLineExample( )를 수행한다. 


5) 내부 함수 createLine( )을 호출한다. 


Action Script는 Flex 문자열 출력과 관련된 createTextLine( ) 함수가 실행될 때 ShellCode가 실행되는 취약점을 갖고 있으며 해당 취약점은 악성 DOC 파일의 hFile을 얻기 위해 4씩 증가시켜 자신의 DOC파일의 Size가 나올때 가지 반복하는 형태를 띄고 있다. 이때 ShellCode는 HeapSpray 방법을 이용한다. 

Action Script 및 실행되는 ShellCode에 대한 분석이 완료되었으므로 정적분석을 통해 추가 분석을 진행해 보자. 
( 저 - DOC 파일 실행시 악성 DLL이 실행되는 일반적인 형태이므로 동적 분석은 제외하겠다. ) 

  ###############################################################################################
  이전에 올렸던 글에서 문제점이 발견되었다. 
  애초에 올렸던 글에 오류가 있었던 것이다. 따라서 해당 사항에 대해서는 삭제하고 관련 사항에 대한 정리는
  최상위에 추가한 분석보고서로 대체한다.
  ############################################################################################### 

[ 분석 Point ]
Crash가 발생하는 지점 :: Flash11e + 0x003d7c08 ( Flash11e!DllUnregisterServer+0x23ccda ) 
HeapSpray가 발생하는 지점 :: Flash11e + 0x 0x5D0F50 ( Flash11e!__VEC_Memcpy->_fastcopy_I( ) )

[ TIP :: SWF 파일 추출하기 ]
이번 취약점과 같이 DOC 파일내에 취약점을 갖는 SWF 파일이 존재할 경우 SWF를 분석하기 위해 DOC로 부터 해당 파일을 추출할 수 있어야 한다. 따라서 DOC에서 SWF 파일의 위치를 확인할 수 SWF File Format에 따라 파일을 추출한 후 Decompiling을 통해 분석하면 된다. 

실제 분석 샘플이었던 "iPhone 5 Battery.doc"의 경우 위와 같이 SWF파일이 DOC 내에 존재한다. 

SWF File Format을 바탕으로 확인해 보면 첫 3Bytes는 SWF Signature, 다음 1Byte는 File Version, 다음 4Bytes가 File의 크기가 된다. 따라서 분석 대상 샘플의 SWF 파일의 크기는 0x0000D6AD ( 54,957 Bytes ) 가 된다. 물론 압축되어 있는 형태 ( CWF ) 의 경우 위의 파일 크기를 바로 반영해서는 안된다. 그 이유는 CWF는 압축된 파일이고 이때 보여지는 Size는 압축이 해제된 이후 SWF 파일일 때의 Size이기 때문이다. 이는 다음에 추가로 설명하겠다. 



 
Posted by GhostKei
,
※ 2012년도에 발생한 악성코드/해킹 관련 핫 이슈에 대해서 정리해 봅니다. 

[ 2012년 보안 위협 결산 및 2013년 전망 ]
* Kaspersky
* Symantec :: [NewsWire] 시만텍, 2013년 주목해야 할 "Top 5 보안 트렌드" 선정 및 발표

안티 바이러스로 유명한 굴지의 두 기업이 설명한 2013년 전망에서 가장 큰 이슈는 타겟형 악성코드와 모바일 위협의 증가를 꼽고 있다. 
타겟형 악성코드는 개인, 기업 뿐만 아니라 국가를 타겟으로 하는 경우까지 방대해지고 있으며 이를 통한 국가간의 보안 위협 또한 증가할 것이라 언급하고 있다. 국내 대다수의 핵심 기관들 (한국전력, 수력발전공사, 원자력 발전등) 
국내의 기간산업을 담당하는 분야에서 보안에 대한 자각이 필요한 시점이다. 아마 내년엔 이 분야의 보안에 대해 새롭게 환기되는 시기가 되지 않을까 생각된다. 
모바일 위협은 어제 오늘의 위협이 아니다. 특히 안드로이드 계열은 엄청난 양의 악성코드로 인해 PC에서 동작하는 악성코드 시장보다 더 빠른 추세로 증가하고 있다. 더욱이 안전하다고 알려진 Mac OS용 악성코드의 증가는 더욱 눈여겨 볼만 하다. 따라서 모바일을 이용한 경제 부분에 대해 다시 한번 생각해 볼 시점이다. 

[ 참고자료 ]
Infographic : Where Malware Comes From

[ 정리 자료 ]
Deepers : 악성코드, 금융을 위협하다
디지털데일리 : 올해 보안업계를 뒤흔든 세가지 키워드는?
Microsoft Security Blog : A Very Active Place - The Threat Landscape in the Republic of Korea
DarkReading : Top 10 Malware Advances In 2012

2012.03.14
Exploit : MS12-020 ( RDP 패킷 전송을 통해 RCE 취약점 )

2012.03.21 
Anti-Virus 제품에서 File Parsing 과정에서 발생하는 취약점으로 악성코드 탐지 우회가능
http://seclists.org/bugtraq/2012/Mar/88 
- 자사 제품의 경우 Bitdefender Engine에 의해 발생하는 것으로 최종확인됨

[Kaspersky] 2012년 1/4분기 악성코드 위협 보고서

2012.05월경
Exploit : MS12-043 ( MSXML Core Service 취약점으로 인한 RCE )
MS Advisory : Microsofot 보안 권고 ( 2719615 ) ( 06.12 )
MS Fix It : MS XML Core Service의 취약성으로 인한 원격코드 실행 문제 ( 06.12 )
MS Bulletin : MS Security Bulletin MS12-043 - Critical ( 07.11 )

2012.06.01
W32.Stuxnet과 같은 SCADA 시스템에서 발견된 W32.Flame 악성코드

2012.06.06
LinkedIn 해킹으로 약 600만명 계정 해킹
LinkedIn Blog : LinkedIn 회원 정보보안 업데이트

2012.06.08
FBI측에서 7월 9일부로 W32.DNSChanger 서버 서비스를 더 이상하지 않겠다는 발표로 7월 9일에
Black Day의 가능성에 대해 국내에서 이슈화됨

2012.07.11
Yahoo Voice 해킹으로 45만3492명 계정 해킹
Hacker  Site : D33Ds.Co 

2012.07.12
Nvidia 개발자존 온라인 포럼 해킹으로 40만 계정 유출
데일리시큐 : NVIDIA 개발자존 포럼 해킹... 40만 계정 유출!

2012.07.29
한국경제 : KT 870만 개인정보 유출

2012.08.01
보안뉴스 : DropBox, 해킹 당해 사용자 이메일 주소 유출


[Kaspersky] 2012년 2/4분기 악성코드 위협 보고서


2012.08.24
Bloter : VMware 가상머신 노리는 악성코드 등장

2012.09.27
SBS : "안심클릭 결제창" 피싱! 카드번호 입력했더니...

[Kaspersky] 2012년 3/4분기 악성코드 위협 보고서

2012.11.20
보안뉴스 : 한국전자인증 홈피 해킹... 악성코드 유포정황 포착
바다란 : 악성코드와 금융 그리고 한국 ( 간단한 반박 )



'Malware' 카테고리의 다른 글

[Issue] 2013년도 핫 이슈 모음  (0) 2013.01.14
[Issue] 2011년도 핫 이슈 모음  (0) 2011.11.28
Posted by GhostKei
,
※ 2011년에 발생한 악성코드/해킹 관련 핫 이슈에 대해서 정리해 봅니다 .

잉카인터넷 공식 블로그 : [보고] 2011년 주요 보안 이슈 정리 및 2012년 보안 이슈 전망

3월
3월 3일 : 3.3 DDoS 공격


4월
4월 8일 : 현대 캐피탈 고객정보 해킹 사고 - 42만명
     - 벌새님의 블로그 : 현대캐피탈 고객정보 해킹 사고 (2011.4.8)
     - 보안닷컴 : 현대캐피탈, 고객정보 42만건 해킹당했다.  
          - 인지 및 공개 : 4월 7일, 해커의 협박을 통해 해킹 사실 인지
     - 네이버뉴스 : 현대캐피탈 해킹범 검거..."정보 빼내는데 90분" ( 2012.12.26 )

5월
5월 4일 : 농협 전산망 해킹 사고
5월 24일 : x64 환경에서 동작하는 금융권 타겟 악성코드 

5월 30일 : 국내 금융권 타겟 신종 악성코드 ( W32.KRBanker )


7월
7월 28일 : SK컴즈(네이트온) 개인정보 해킹 사고 - 3,500만명
     - 벌새님의 블로그 : 네이트닷컴 3,500만명 개인정보 해킹사고 발생(2011.7.28)
          - 발생 : 7월 26일 
          - 인지 및 공개 : 7월 28일

8월
8월 15일 : GOMTV.net 개인정보 해킹 사고 - ?????
     - 벌새님의 블로그 : GOMTV.net 개인정보 해킹 사고(2011.8.15)
          - 발생 : 8월 12일 오전
          - 공개 : 8월 14일
8월 20일 : 한국 엡손 개인정보 해킹 사고 - ?????
     - 벌새님의 블로그 : 한국 엡손(Epson) 개인정보 해킹 사고 (2011.8.20)

9월
9월 6일 : 삼성카드 개인정보 유출 사고 - 20만명
     - 벌새님의 블로그 : 삼성카드 20만명 개인정보 유출 사고 발생 (2011.9.6) 
     - 머니투데이 : 삼성카드 내부통제시스템 엉망... 대형사고 잇따라
     - 뉴스핌 ( NewsPIM ) : 삼성카드, 고객에 늑장 공지 "비난"
          - 발생 : ?????
          - 인지 : 7월 자제 내부 감사
          - 공개 : 8월 30일, 경찰서에 정식 고발조치를 통해 공개됨
9월 14일 : BIOS Rootkit
9월 19일 : 하나SK카드 개인정보 유출 사고 - 9만건
     - 벌새님의 블로그 : 하나SK카드 개인정보 유출 사고 발생 (2011.9.19)
     - 프라임경제 : "간 큰"하나 SK직원, 회원정보 5만건 유출
     - 뉴스핌 ( NewsPIM ) : 하나SK카드, 고객정보 9만건 유출... 축소의혹(종합)
          - 발생 : ?????
          - 인지 : 9월 16일 내부직원의 고객정보 유출협의 포착, 내부감찰이 아닌 제3자의 연락에 의한 것임
          - 공지 : 9월 19일
10월
10월 19일 : Stuxnet II ( W32.Duqu )

11월 
11월 25일 : 넥슨, 메이플 스토리 개인정보 유출 사고 - 1,320만건
     - 처리님의 블로그 : 넥슨(Nexon), 메이플스토리(MapleStory) 고객정보 1320만 여건 개인정보유출 해킹사건
     - 동아닷컴 : 넥슨 해킹피해, 당장 피해볼 가능성 없다더니 "아이템 50만원어치 털렸다."
     > 2012.08.03
      머니투데이 : 1320만명 정보유출, "메이플 스토리" 넥슨 무협의 처분

12월
보안뉴스 : 넥슨-NHN-이스트소프트, 전자서명 위조한 악성코드 발견


참고 사이트
[바제2] 보안-금융 사례와 최근 트렌드



'Malware' 카테고리의 다른 글

[Issue] 2013년도 핫 이슈 모음  (0) 2013.01.14
[Issue] 2012년도 핫 이슈 모음  (0) 2012.03.16
Posted by GhostKei
,