본문 바로가기
기타/DMZ

2011.09.24 KOSR 악성코드 세미나 메모

by ITPro 2011. 9. 24.

2~3년 빡시게!!

[안랩]
분석팀 30 + 4명
현재 백신 엔진 사이즈를 8~9 배 줄이고 있음

악성코드는 퍼즐이다.
계속적으로 분석하고 분석하면 악성코드의 구조가 명확해지고 뚜렷해진다.

분석에 있어서 추정과 추측은 금물이다. (팩트!!)

INT 2E 안티 디버깅 (좀 더 알아볼 내용**)

악성코드 개발 그룹도 체계적으로 구성되어 있다.

초창기 = 네이티브
1차 변형 = 패킹
2차 변형 = 다중 패킹
3차 변형 = 변형 패킹


[베이글]
이메일 웜
이메일 수집 기능
사회공학적 기법에 능함 (압축파일에 패스워드를 걸어서 신뢰성을 확보하여 실행을 유도)
다형성
소스 공개후 시간을 벌고 모듈별로 분산시켜 강화 (서버도 매번 변경되었음)

[Detnat]
-Detnat.D형부터 암호화도니 악성코드 안에 OEP 코드를 저장하여 정상파일만 잘라내서 뽑아내는건 불가능 (악성코드 내부에 저장된 OEP를 살려주어야함)


[게임핵]
무력화를 방어하기 위해서는 다양한 플랫폼을 지원해야하기때문에 힘든 점이 있다.
-요즘 게임핵은 초보 분석가가 분석하기 힘듦
-디코딩 루틴을 지나면 알맹이 코드만 추출하여 파일을 새로 만드는 것이 좋음. (매번 디코딩 루틴을 따라갈 필요가 없음)

[Viking]
-특정 PE 파일을 감염시키는 전위형 바이러스
-버그가 존재하여 정상 PE파일들을 깨트림 (PE파일이 기차놀이)
-마지막 PE 파일을 살리면 되지만 셋업 파일은 다수의 PE 파일을 가지고 있어 살리기 힘듦

[Profmap]
-Windows File Protection은 Dllcache라는 히든 폴더 에서 원본 파일이 삭제될 경우 되살림
-profmap.dll에 xirawd.dll을 임포트하도록 수정하여 wirawd.dll이 삭제될경우 무한 재부팅 현상이 일어남

[Rustock]
-Alternate Data Stream을 사용하는 첫 악성코드 (프로세스가 없음)
-CPU 사용률 및 패킷 통신 내용들을 모두 숨겨서 눈치를 챌 수 없도록 만든다. (시스템 정보를 모두 조작)

[Virut]
-SectionObject매핑 (공유 메모리 사용)
-Virut를 치료할때는 아무런 액션도 취하면 안된다.

[Zhelatin]
-실수 연산을 많이 사용하여 에뮬레이터 동작을 힘들게 함
-백신 엔진을 잘 파악한 악성코드

[물리적]
userinit 파일은 익스플로러를 실행시키고 종료하는 역할을 하기때문에 악성코드가
물리적인 하드 디스크에서 userinit 영역을 덮어써서 파일을 변경하고 악성코드에서 익스플로러를 실행시킴

[MBR RootKit]
-MBR을 조작하고 디스크의 가장 마지막에 루트킷을 숨겨놓음
-블랙햇에서 발표한 기술

[Conficker]
-DGA 도메인 생성 알고리즘
-자체 암호화 알고리즘을 사용 (스니핑을 하기 힘듦, 패킷을 모두 암호화)

[Ndis.sys]
-메모리에서 다운로더를 생성하고 각종 악성코드를 다운받기 때문에 중간 과정에서 파일을 생성하지 않는다.

[TDL3]
-디스크의 마지막 영역에 자신만의 파일 시스템을 암호화하여 구축해놓음

-sprintf 등 정상 API를 실행하는 순간 조작된 스택을 타고 악성코드 영역으로 넘어갈 가능성이 있으니 정상 API도 다 따라가야함


BSOD ??

반응형

바로가기