정보보안/악성코드분석

악성코드 선수지식

오오렌지 2022. 9. 4. 19:47

 01_악성코드 선수지식


1. 악성코드 

 - 악의적인 동작을 실시하는 코드가 들어간 실행 파일/프로그램/문서를 의미한다.



2. 악성코드 배포 목적

 - 개인 및 기업 정보를 탈취 및 수집
 - 시스템/디스크/파일 파괴, 삭제, 조작
 - 랜썸웨어와 같은 금전 요구
 - 광고 노출 및 홍보 수단



3. 악성코드 분석 단계

 1) 패킹 여부 확인

 - 실행 파일이 패커에 의해서 압축되어 있는지, 프로덱터에 의해서 보호되어 있는지 확인하는 단계
 - 분석 도구 : exeinfope, PEiD, PEview, OllyDbg, ImportREC, LoadPE


 2) 기초 정적 분석

 - 악성코드 파일을 실행하지 않고, 간략하게 분석하는 단계이다.
 - 악성코드 분석시 가장 먼저 실시하는 단계이다.
 - 분석 내용 : PE 파일 관련 내용, 문자열, DLL 및 API 목록 확인(IAT 정보)
 - 분석 도구 : exeinfope, PEiD, PEview, Dependency Walker, strings, bintext, PEStudio, 바이러스토탈 사이트


 3) 기초 동적 분석

 - 악성코드 파일을 실행하고, 간략하게 분석하는 단계이다.
 - 악성코드 파일을 분석하기 위한 가상 환경을 준비하고, 악성코드 실행 이전 스냅샷을 생성한다.
 - 악성코드 파일을 실행하기 이전과 이후 상태를 비교하는 것이 목적이다.
 - 분석 도구 : Procexp, Procmon, Regshot, SysAnalyzer, Wireshark, NetworkMiner, INetSim


 4) 고급 정적 분석

 - 기초 분석 내용을 기반으로 실시하는 상세 정적 분석 단계이다.
 - 어셈블리어와 윈도우 API 기반으로 악성코드 파일을 리버싱한다.
 - 분석 도구 : IDA

 



 5) 고급 동적 분석

 - 기초 분석 내용과 고급 정적 분석 내용을 기반으로 실시하는 상세 동적 분석 단계이다.
 - 분석 도구 : OllyDbg  


[참고] 자동화 분석 

 - 사람이 분석하는 것이 아니라 자동화 분석 도구를 이용한 분석 방법이다.
 - 분석 도구 : 쿠쿠 샌드 박스, 하이브리드 애널리시스 사이트




4. 악성코드 유형

 1) 백도어

 - 시스템에서 실행/설치하면 공격자가 원격에서 접근이 가능하도록 제작된 악성 코드이다.
 - 공격자는 백도어를 통하여 시스템을 접근하여 정보 탈취, 데이터 삭제, 명령어 실행, 2차 악성코드 실행할 수 있다.

 2) 다운로더

 - 다운로더가 실행되면 특정 사이트(서버)로부터 악성코드 파일을 다운로드하여 실행까지 실시한다.

 3) 드롭퍼

 - 파일 리소스 영역에 저장된 데이터를 이용하여 새로운 파일(악성코드 파일)을 생성하는 악성코드이다.
 - 즉, 파일 안에 또 다른 파일이 있는 악성코드이다.

 4) 바이러스

 - 프로그램을 통하여 감염되는 악성코드이다.
 - 바이러스가 실행되면 파일의 PE 구조를 변경하거나 코드를 삽입 및 조작한다.
 - 그렇기 때문에 파일이 실행되면 악의적인 동작을 실시할 수 있다.
 - 디스크 MBR, VBR 영역을 손상시키는 경우도 있다.

 5) 웜

 - 시스템/서비스 취약점을 이용하여 네트워크를 통하여 바이러스가 전염되게 하는 악성코드이다.

 6) 트로이 목마

 - 공격자가 의도하는 것을 숨긴 다음, 해당 파일이 실행되면 숨겨져 있던 악의적인 동작을 실시하는 악성코드이다.

 7) 파일리스

 - 실행 파일이 없는 악성코드이다. 즉, PE 파일이 아닌 악성코드이다.
 - 악의적인 동작을 실시하는 코드 및 스크립트를 문서 파일에 삽입한다.

 8) 봇넷

 - CnC 서버로부터 명령어를 수신하여 동작하는 시스템이다.

 9) 루트킷

 - 악성코드 탐지를 방해하기 위해서 악성 코드 존재를 숨기는 악성 코드이다.

 10) 스파이웨어

 - 사용자 동의 없이 설치되어 시스템 및 사용자 정보를 수집하고 공격자에게 수집된 정보를 전송하는 악성코드이다.
 
 11) 애드웨어

 - 사용자 동의 없이 설치되어 광고 및 홍보 목적으로 배포되는 악성코드이다.
 - 보통 프로그램 설치때 같이 설치되는 경우가 많다.

 12) 스케어웨어

 - 바이러스에 감염된 것처럼 조작하여 바이러스 백신 프로그램을 설치 유도하는 악성코드이다.
 - 즉, 유료 버전 백신 프로그램 설치를 유도한다.



5. 기본적 DLL

 1) KERNAL32.dll

 - 메모리, 파일, 디렉토리, 하드웨어 접근 및 조작과 관련된 기능을 제공한다.

 2) ADVAPI32.dll

 - 윈도우 서비스 관리자(services.msc), 레지스트리 키(regedit) 값 설정과 관련된 기능을 제공한다.

 3) USER32.dll

 - 버튼, 스크롤바, 사용자 행위/동작 제어와 같은 인터페이스 기능을 제공한다.
 
 4) GDI32.dll

 - 그래픽 관련 기능을 제공한다.

 5) WSOCK32.dll, WS2_32.dll

 - 네트워트 연결 및 소켓 통신과 관련된 기능을 제공한다.

 6) WININET.dll

 - FTP, HTTP 연결 관련 기능을 제공한다.

 7) NTDLL.dll

 - 윈도우 커널 인터페이스를 제공한다.
 - KERNEL32.dll을 통해서 간접적으로 Import되며, 실행 파일은 직접 Import 할수 없다.
 - 기능을 숨기거나 프로세스를 조작하는 기능을 제공한다.