악성코드 동적 분석 방법기초 동적 분석이란?프로그램을 직접 실행하며 분석(프로그램 실행에 의한 변화들을 확인, 로그 수집)악성코드 분석에서 가장 프로그램의 영향을 쉽게 파악프로그램의 기능을 파악하기 위해 악성코드 실행 전후 상태를 조사 및 분석분석 방법악성코드 실습 시 발생하는 호스트/네트워크 환경 구성(본 글은 win7 32bit 환경 구성)파일, 프로그램 실행, 레지스트리, 서비스 등 관련 항목 변경 사항 확인실행 시 발생하는 네트워크 트래픽 분석(Wireshark, Network Miner 등 활용)Windows 유틸 도구 다운로드 URL (Process Monitor, Process Explorer, Autoruns 포함)https://learn.microsoft.com/ko-kr/sysinter..
DLL(Dynamic Link Library) 이란?MS 윈도우에서 구현된 동적 라이브러리이다. 내부에는 다른 프로그램이 불러서 쓸 수 있는 다양한 함수들을 가지고 있다.자주 사용되는 표준적인 함수를 매번 직접 작성해서 사용하는 것은 지나치게 시간 소모적이므로 표준화할 수 있는 함수를 미리 만들어서 모아 놓은 것.DLL 파일 → 함수 모음, 1개의 EXE 파일로 볼 수 있다.DLL → 동적 링킹, EXE → 정적 링킹EXE와 DLL의 차이:가장 큰 차이점은 실행 시점이다. EXE(독립적 실행)는 필요한 모든 라이브러리들을 갖고 있다. DLL은 프로그램 실행 도중에 갖고 오거나 가져다 준다.EXE와 DLL 파일의 크기도 연관이 있으며, EXE는 독립적으로 실행하기 위해 모든 파일이 필요하여 그만큼 용량이 ..
악성코드 분석 이해악성코드 분석 = 바이너리 분석 = 컴파일된 파일들을 분석악성코드 분석을 위해 실행 파일의 구조를 알아야 한다.윈도우: EXE, DLL리눅스: ELF, 바이너리 파일 PE 란?PE는 윈도우에서 사용하는 실행 파일(EXE), DLL 파일 등을 위한 파일 형식PE 파일 포맷은 Portable Executable File Format의 약자로, 파일이 이식 가능한 다른 곳에 옮겨져도(Portable) 실행 가능하도록(Executable) 만든 포맷(Format)이다. PEview 기능 및 사용법그림1의 아이콘을 더블클릭하여 실행 후, 분석할 파일을 불러온다.PEview 실행 시, 좌측에 4D 5A, 우측에 MZ 라는 문자열이 확인된다.4D 5A는 ASCII 문자열(16진수)로 MZ를 의미하..
Bin Text 기능 및 사용법Binary 파일에서 ASCII 및 유니코드 등이 문자열 정보를 추출하여 보여주는 분석 도구.파일 내 사용하는 메시지, URL, DLL, API 등을 확인할 수 있어 악성코드 정적 분석 시 유용하다.다운로드 URL: https://www.majorgeeks.com/files/details/bintext.html그림1의 아이콘을 더블클릭하여 파일을 실행한다.BinText 실행 후 Browse를 클릭하여 파일 경로를 불러온 후 Go를 누르거나, 파일을 드래그 앤 드랍하여 분석한다. 그림3과 같이 파일을 불러온 후, Text 항목에서 해당 파일의 Strings 값을 확인할 수 있다.특정 문자열 검색 하기 위해 하단의 검색창에 문자열 입력 후 Find를 눌러 검색한다. kernel..
도구를 이용한 패킹 여부 확인PEiD와 Exeinfo PE는 파일의 컴파일 언어와, 패킹 여부를 확인할 수 있는 정적 분석 도구이다.UPX는 압축 도구로 패킹과 언패킹이 가능한 도구이다. 패킹(Packing)이란?기존의 파일들을 압축, 기존 파일들의 주소값, 데이터 크기, 문자열 정보 등이 변경됨패킹을 하면 Import Adress Table, String 정보가 어느정도 감춰져 있다.도구를 사용하여 패킹 여부를 확인하고 파일이 패킹되어있는 경우 언패킹하여 상세하게 분석을 한다. PEiD 기능 및 활용법그림1의 PEiD 아이콘을 더블클릭 후 파일을 불러온다.그림2의 우측 상단의 빨간 박스에서 파일 경로를 불러오거나, 파일을 드래그 앤 드랍하여 파일을 가져온다.파일을 불러오면 파일의 경로와, 어떤 언어로..
악성코드 정적 분석 방법기초 정적 분석이란?악성코드 분석 시 가장 먼저 진행악성코드 연구의 시작 단계프로그램의 기능을 파악하기 위해 코드나 프로그램의 구조를 분석프로그램을 실행시키지 않음분석 방법악성 여부를 판단하는 안티바이러스 도구 사용(Virstotal 등)악성코드 판별 해시 사용파일의 문자열, 함수, 헤더에서 개략적인 내용 확인 (PEview, pestudio, Bin Text, Strings) Virustotal 이란?바이러스 토탈은 구글의 자회사로, 바이러스나 웜 트로이 등을 검사하고 막는 사이트이다. 여러 개의 백신 엔진으로 검사하여 그 결과를 투명하게 보여주며, 여러 개의 파일 검사도 가능하다. 파일 형식에 따라 해당 파일을 분석한 결과를 보여주기도 한다. 인터넷에 바이러스 토탈 또는 vir..