악성코드
악성코드는 의도적이며 악의적이고 프로그램 또는 매크로 등의 실행 가능한 모든 형태를 말함.
역사
- 최초의 바이러스
- Brain Virus(브레인 바이러스)
- 최초의 웜
- Morris Worm(모리스 웜)
- 매크로 바이러스
- Melissa Virus(멜리사 바이러스)
매크로란, Microsoft 엑셀이나 워드에 존재하는 자동화 해둔 일종의 프로그램이다.
악성코드 분류
동작에 의한 분류
바이러스
- 복제와 감염
- 스스로 전파하지 않음
- 프로그램 형식 (.exe 등)
웜
- 일반적인 바이러스와 달리 네트워크를 사용하여 스스로 복사본을 전파함
- 자기 복제를 이용하여 네트워크를 손상시키고, 파일 등을 악의적으로 암호화
- 일부 웜의 경우 악성 백도어 프로그램을 유포하기도 함
트로이목마
- 침투하여 사용자의 컴퓨터를 조종
- 고의적
- 자기 자신을 다른 파일에 복사하지 않음
- 스스로 전파하지 않음
PUP
- 치명적이지 않으나 불편함
- 광고 등
목적에 의한 분류
애드웨어
광고를 위함
스파이웨어
타인의 정보 수집을 위함
랜섬웨어
인질의 몸값을 요구하여 돈을 벌기 위해 정보를 탈취함
봇
지정된 공격을 한 번에 수행하기 위함
바이러스
1세대
원시형 바이러스(자기 복제 + 데이터 파괴)
- 부트 바이러스(부팅 후 모든 프로그램을 감염시킴)
- 파일 바이러스
2세대
암호화 바이러스
- 바이러스 코드를 암호화
- 암호화된 바이러스 코드가 있을 때, 전면에는 복호화 알고리즘이 있고 후면에는 복호화키가 존재
- 바이러스 동작 시 RAM에서 암호화가 풀림
3세대
잠복 바이러스(은폐형 바이러스)
- 바이러스에 감염된 파일이 일정 기간 잠복기간을 가지도록 만든 것
- 바이러스가 확산되기 전에 활동한다면 다른 시스템으로 전파하기 어렵기 때문에 잠복 기간을 가짐.
4세대
- 특별한 식별자로 바이러스를 판단하며 기능을 우회하기 위해 사용
- 프로그램이 실행될 때마다 바이러스 코드 자체를 변경하여 식별자 구분이 어려움
- 제작과 진단이 어려움
5세대
MS Office 프로그램 내 매크로 기능으로 감염되는 바이러스
6세대
- 스크립트 형태로 제작이 되고 있음
- 웹, 네트워크, 메일을 이용하여 전파
- 사용자 정보를 빼내고 백도어 기능을 가진 웜의 형태로 진화
웜
스스로 증식하는 것이 목적
- Mass Mailer Worm
- 대량의 메일을 발송하여 확산
- Network Attack Worm
- 파급 효과가 크고 지속적인 패치가 필요함
- 좀비 봇을 확산시켜서 공격
- smurf (IP를 위조해서 브로드 캐스트 주소로 패킷을 보냄)
- SYN Flooding (TCP 연결 과정에서 취약점을 이용하여 공격)
트로이목마
- 기생 하지 않음
- 스스로 전파하지 않음
- 백도어 사용(Cracker가 원하는 시점에 들락날락하는 비밀 통로라 생각하면 됨)
- 사회공학 기법 사용(보안 기술 측면이 아닌, 사람들을 속여서 비밀 정보를 얻는 기법)
PUP(Potential Unwanted Program)
- 사용자에게 직접적 또는 간접적으로 동의를 구하되 작은 형태로 물어봄
- 치명적이지 않으나 불편함
악성코드 탐지/대응책
- 네트워크 상태 점검
- 서비스 포트 확인 (Command 창에 'net stat' 명령어 입력 후 맺어진 포트 번호 확인)
그래도 중요한 건, 지속적인 '패치'이다.