Data Story

데이터 사이언스, 쉽게 설명하기

카테고리 없음

정보보호 기초 4 - 악성코드

_data 2023. 4. 14. 12:57

 

악성코드

악성코드는 의도적이며 악의적이고 프로그램 또는 매크로 등의 실행 가능한 모든 형태를 말함.

 

역사

- 최초의 바이러스

    - Brain Virus(브레인 바이러스)

- 최초의 웜

    - Morris Worm(모리스 웜)

- 매크로 바이러스

    - Melissa Virus(멜리사 바이러스)

매크로란, Microsoft 엑셀이나 워드에 존재하는 자동화 해둔 일종의 프로그램이다.

악성코드 분류

동작에 의한 분류

바이러스

- 복제와 감염

- 스스로 전파하지 않음

- 프로그램 형식 (.exe 등)

 

- 일반적인 바이러스와 달리 네트워크를 사용하여 스스로 복사본을 전파함

- 자기 복제를 이용하여 네트워크를 손상시키고, 파일 등을 악의적으로 암호화

- 일부 웜의 경우 악성 백도어 프로그램을 유포하기도 함

 

트로이목마

- 침투하여 사용자의 컴퓨터를 조종

- 고의적

- 자기 자신을 다른 파일에 복사하지 않음

- 스스로 전파하지 않음

 

PUP

- 치명적이지 않으나 불편함

- 광고 등

 

 

목적에 의한 분류

애드웨어

광고를 위함

 

스파이웨어

타인의 정보 수집을 위함

 

랜섬웨어

인질의 몸값을 요구하여 돈을 벌기 위해 정보를 탈취함

 

지정된 공격을 한 번에 수행하기 위함

Image from https://albot.tistory.com/410


바이러스

1세대

원시형 바이러스(자기 복제 + 데이터 파괴)

- 부트 바이러스(부팅 후 모든 프로그램을 감염시킴)

- 파일 바이러스

파일 바이러스는 3가지 방식이 있고, (c)에서 해커들이 JMP를 사용하여 인증을 점프함.

2세대

암호화 바이러스

- 바이러스 코드를 암호화

- 암호화된 바이러스 코드가 있을 때, 전면에는 복호화 알고리즘이 있고 후면에는 복호화키가 존재

- 바이러스 동작 시 RAM에서 암호화가 풀림

 

3세대

잠복 바이러스(은폐형 바이러스)

- 바이러스에 감염된 파일이 일정 기간 잠복기간을 가지도록 만든 것

- 바이러스가 확산되기 전에 활동한다면 다른 시스템으로 전파하기 어렵기 때문에 잠복 기간을 가짐.

 

4세대

- 특별한 식별자로 바이러스를 판단하며 기능을 우회하기 위해 사용

- 프로그램이 실행될 때마다 바이러스 코드 자체를 변경하여 식별자 구분이 어려움

- 제작과 진단이 어려움

 

5세대

MS Office 프로그램 내 매크로 기능으로 감염되는 바이러스

 

6세대

- 스크립트 형태로 제작이 되고 있음

- 웹, 네트워크, 메일을 이용하여 전파

- 사용자 정보를 빼내고 백도어 기능을 가진 웜의 형태로 진화

 

스스로 증식하는 것이 목적

- Mass Mailer Worm

    - 대량의 메일을 발송하여 확산

- Network Attack Worm

    - 파급 효과가 크고 지속적인 패치가 필요함

    - 좀비 봇을 확산시켜서 공격

    - smurf (IP를 위조해서 브로드 캐스트 주소로 패킷을 보냄)

    - SYN Flooding (TCP 연결 과정에서 취약점을 이용하여 공격)

 

트로이목마

- 기생 하지 않음

- 스스로 전파하지 않음

- 백도어 사용(Cracker가 원하는 시점에 들락날락하는 비밀 통로라 생각하면 됨)

- 사회공학 기법 사용(보안 기술 측면이 아닌, 사람들을 속여서 비밀 정보를 얻는 기법)

Image from 별의 수다

PUP(Potential Unwanted Program)

- 사용자에게 직접적 또는 간접적으로 동의를 구하되 작은 형태로 물어봄

- 치명적이지 않으나 불편함

PUP examples

악성코드 탐지/대응책

- 네트워크 상태 점검

    - 서비스 포트 확인 (Command 창에 'net stat' 명령어 입력 후 맺어진 포트 번호 확인)

그래도 중요한 건, 지속적인 '패치'이다.