<실전 악성코드와 멀웨어 분석>이라는 책을 공부한 내용을 정리하는 글입니다.
악성코드 분석이란?
⦁ 악성코드 : 사용자, 컴퓨터나 네트워크에 해를 끼치는 소프트웨어로, 바이러스, 트로이 목마, 웜, 루트킷, 스케어웨어 등이 포함된다.
⦁ 악성코드 분석은 악성코드를 찾아내 어떻게 동작하는지, 어떻게 인식하는지, 대응하고 제거하는지를 이해하기 위해 악성코드를 해부하는 기술
악성코드 분석 목표
⦁ 정확히 무슨 일이 발생했는지, 감염된 시스템과 파일이 무엇인지 확실히 인지
⦁ 의심스러운 특정 바이너리가 하는 행위와 네트워크에서 탐지하는 방법, 피해 범위를 측정
⦁ 전체 분석이 필요한 경우, 네트워크 상에서 악성코드 감염을 탐지할 수 있는 시그니처 개발
⦁ 호스트 시그니처 : 피해 컴퓨터에서 악성코드를 탐지하는 데 사용, 악성코드가 생성하거나 변조한 파일과 레지스트리에 생성한 특정 변경 사항을 의미한다.
⦁ 네트워크 시그니처 : 네트워크 트래픽 모니터링을 통해 악성 코드를 탐지할 때 사용, 악성코드 분석 없이도 생성 가능하지만, 분석하여 생성한 시그니처가 효과적이다.
⦁ 최종 목표는 악성코드의 동작 원리를 정확히 이해하는 것이다.
악성코드 분석 기법
⦁ 기초 정적 분석
실제 명령어를 보지 않고 실행 파일을 조사한다. 파일의 악성 여부를 확인하고, 기능 정보와 그것을 이용해 간단한 네트워크 시그니처를 생성한다.
⦁ 기초 동적 분석
악성코드를 실행한 후 감염 흔적 제거, 유효한 시그니처 제작, 이 두 가지를 위해 시스템의 행위를 관찰한다.
악성코드를 안전하게 실행하기 위해서 연구용 환경을 설정해야 한다.
⦁ 고급 정적 분석
프로그램의 명령어가 하는 작업이 무엇인지 파악할 목적으로 실행 파일을 디스어셈블러로 로드해서 악성코드 내부를 리버싱하는 과정이다.
⦁ 고급 동적 분석
디버거를 이용해 동작하는 악성 실행 파일의 내부 상태를 점검한다.
악성코드의 유형
⦁ 악성코드를 분석할 때 악성코드가 시도하는 행위를 추측한 다음 확인하는 방법으로 속도를 높일 수 있다.
⦁ 백도어(backdoor) : 공격자의 접근을 허용할 목적으로 컴퓨터에 자기 자신을 설치하는 악성코드. 공격자가 부분 인증이나 무인증으로 컴퓨터에 접속해 로컬 시스템에서 명령어를 실행할 수 있게 한다.
⦁ 봇넷(botnet) : 공격자가 시스템에 접속할 수 있다는 점은 백도어와 유사하지만, 동일한 봇넷에 감염된 모든 컴퓨터가 하나의 명령 제어 서버로부터 동일한 명령어를 수신한다.
⦁ 다운로더(downloader) : 다른 악성 코드를 다운로드할 목적으로만 존재한다. 시스템에 처음으로 접근 권한을 얻으면 공격자는 보통 다운로더를 설치한다.
⦁ 정보 유출 악성코드(information-stealing malware) : 피해자의 컴퓨터에서 정보를 수집해서 공격자에게 전송한다. 스니퍼, 패스워드 해시 수집기, 키로거가 그 예이다. 전형적으로 이메일이나 온라인 뱅킹에 접근 권한을 얻고자 할때 사용한다.
⦁ 실행기(launcher) : 다른 악성 프로그램을 실행할 때 사용하는 악성 프로그램이다. 시스템의 상위 권한이나 은폐를 위해 다른 악성 프로그램을 실행할 때 이전 기법과 다른 기법을 사용한다.
⦁ 루트킷(rootkit) : 다른 코드 내에서 자신의 존재를 숨기도록 설계한 악성코드이다. 루트킷은 공격자의 원격 접속을 허용시키고 피해자의 코드 탐지를 어렵게 하기 위해 백도어 같은 다른 악성코드를 함께 사용한다.
⦁ 스케어웨어(scareware) : 감염된 사용자에게 구매를 유도하는 악성코드이다. 안티바이러스로 가장하여 소프트웨어 구매를 유도하지만, 구매하면 스케어웨어를 삭제할 뿐 아무 작업을 하지 않는다.
⦁ 스팸 전송 악성코드(spam-sending malware) : 사용자의 장비를 감염시켜 스팸을 전송할 때 이용하는 악성코드이다.
⦁ 웜/바이러스(warm/virus) : 자기 자신을 복제해 추가로 컴퓨터를 감염시키는 악성코드이다.
⦁ 악성코드는 일반적으로 여러 범주에 속하기도 하므로 구분에 너무 힘쓰지 않아도 된다.
⦁ 공격 대상이 불특정 다수인지, 특정 대상인지에 따라서 다시 분류할 수 있다. 불특정 다수를 대상으로 한 악성코드는 흔하고 덜 정교하여 탐지와 방어가 용이하다.
⦁ 백도어 같은 형태로 특정 대상을 노리는 악성코드는 널리 퍼져있지 않으므로 탐지가 힘들어 큰 위협이다.
악성코드 분석의 일반 규칙
⦁ 세부 사항에 너무 집착하지 않을 것. 주요 특징에 초점을 두자.
⦁ 작업할 때 여러 도구와 접근 방식이 존재한다.
⦁ 새로운 분석 기법이 생기면 악성코드 역시 새로운 기법을 가지고 등장한다.
'악성코드분석 > 실전 악성코드와 멀웨어 분석' 카테고리의 다른 글
실전 악성코드와 멀웨어 분석 실습 3-1 (0) | 2021.11.12 |
---|---|
실전 악성코드와 멀웨어 분석 실습 1-4 (0) | 2021.11.11 |
실전 악성코드와 멀웨어 분석 실습 1-3 (0) | 2021.11.10 |
실전 악성코드와 멀웨어 분석 실습 1-2 (0) | 2021.11.10 |
실전 악성코드와 멀웨어 분석 실습 1-1 (0) | 2021.11.10 |