일반적인 악성코드 공격의 흐름

일반적인 악성코드의 흐름은 다음과 같이 3단계로 구분할 수 있습니다.

 

[정찰 -> 침투] -> [활동 -> 유지/관리] -> [목적 달성 -> 흔적 제거]    

 

 

 

각 단계별로 수행되는 활동을 살펴보겠습니다.

 

1단계: 정찰 -> 침투

간접적인 방법으로 표적 범위를 지정하기 위해 초기 정찰 활동이 수동적인 방법으로 수행됩니다.

취약점을 악용하여 악성코드 침투

 

2단계: 활동 -> 유지/관리

이미 희생자의 환경에 악성코드 존재

백도어 설치 및 영구적인 백그라운드 데몬 프로세스 설치 등으로 환경 내 자신을 유지

 

3단계: 목적 달성 -> 흔적 제거

환경에서 악성코드 스스로 흔적을 제거하고 추적을 남기지 않습니다.

작업이 완료되면 악성코드가 제거돼 피해 대상 시스템에서 모든 작업 흔적을 제거합니다.

 

 

 

악성코드 특정 유형

존재 숨기기

패커 및 암호화 기술을 사용하여 코드 압축 후 난독화

목적: 탐지를 피하고 연구자 분석의 진행을 방해

 

자신의 기능 실행

효과적으로 기능을 수행하려면 악성코드가 시스템 변경이나 시스템 관리자에 의해 감지되지 않도록 보장해야 한다.

DLL 로드 및 안티바이러스 프로세스를 종료하는 것 같은 방어 회피 기술이 일반적으로 사용된다.

특정 유형의 악성코드는 네트워크를 통해 이동하기도 한다. 대부분 유형의 악성코드는 특정 형식의 권한 상승(버퍼 오버플로우 또는 최종 사용자의 사회 공학과 같은 소프트웨어/OS 취약점 악용)을 시도해 플랫폼에 관리자 권한으로 접근하려고 한다.

 

데이터 수집과 전화로 연결

악성코드는 필요한 모든 데이터(서버/애플리케이션 자격증명, 웹 액세스 로그, 데이터베이스 항목 등)를 수집한 후 데이터를 외부 랠리 지점으로 보낸다.

또한 원격 명령제어(C&C)서버에 '전화로 연결'하고 추가 지침을 받을 수도 있다.

 

 

 

 

참고

"머신 러닝을 활용한 컴퓨터 보안, 클라렌스 치오, 데이비드 프리먼, 에이콘"

 

 

 

 

+ Recent posts