본문 바로가기
공부/정보보안기사

악성코드(악성 소프트웨어, Malware)

by Skogkatt의 개인 블로그 2020. 2. 7.
반응형

악성 소프트웨어(악성코드, Malware[각주:1])

  • 컴퓨터 바이러스, 웜, 트로이 목마 등 컴퓨터 사용자에게 해를 끼치는 모든 코드의 총칭

악성코드의  분류

독립형과 기생형
  • 호스트 프로그램을 필요로 하거나, 필요로 하지 않는 코드에 대한 분류
  • 자체적으로 구동될 수 있는 독립형은 운영체제에 의해 스케줄 되어 구동될 수 있다. 웜과 좀비 프로그램이 이에 속한다.
  • 다른 프로그램(코드)이 실행될 때 같이 동작하거나 시스템에 접근해야 사용이 가능한 악성코드 웨어를 기생형으로 나눈다. 바이러스와 백도어가 이에 속한다.
자가 복제 여부
  • 악성코드는 자가 복제 여부에 따라 바이러스성 악성 코드와 비 바이러스성 악성 코드로 나눌 수 있다.
  • 자가 복제가 가능한 악성코드는 웜과 바이러스 등이 있으며, 자가 복제가 불가능한 악성코드는 트로이목마와 백도어 등이 있다.

바이러스(Virus)

  • 다른 코드 속에 끼어 들어가 해당 코드가 실행될 때 같이 동작하면서[각주:2] 자기 코드를 복제해 다른 코드에 끼워 넣으며 확산된다.[각주:3]
  • 다른 프로그램을 감염시켜 변형시키며 자기 자신을 변형시킬 수도 있다.[각주:4]
  • 바이러스에 감염된 파일은 파일 크기 증가, 수정 시간(타임스탬프) 변경, 디스크 잔여 공간 변경, 디스크 접근 횟수 증가와 같은 증상이 나타난다.
매크로 바이러스
  • 매크로 기능이 있는 MS office 같은 프로그램의 매크로로 기록된 바이러스
  • 일부 응용프로그램이 매크로를 문서 안에 포함시키는 것을 허용하고 문서가 열릴 때 자동으로 실행된다.

바이러스 분석 방법

정적 분석
  • 바이러스로 의심되는 대상을 실행하지 않고 분석을 하는 방식.
  • 일반적으로 바이러스가 실행할 수 있는 모든 코드 및 실행 경로들을 분석할 수 있지만, 실제 실행과 관련된 정보가 제한된다.[각주:5]
동적 분석
  • 바이러스로 의심되는 대상을 가상 환경 등에서 실행하여 생성 레지스트리, 파일 실행, 파일 및 프로세스, 시스템 콜 호출 등 행위를 분석하는 방식
  • 정적 분석과 다르게 실제 실행과 관련된 정보를 얻을 수 있지만, 실행 경로에 포함되는 코드들만 분석이 가능하기 때문에 정보가 제한된다.

바이러스 예방

  • 바이러스 공격에 대한 가장 중요한 것은 예방을 통해 공격 성공률을 줄이는 것 이겠지만, 일반적으로 완벽한 예방은 불가능하다. 이다음 중요한 것은 바이러스 공격 이후 대처이다.[각주:6]
안티 바이러스 필터링 방법(Antivirus Filtering Method)
  • signature scanning
    - 특정 바이러스만이 가진 유일한 형태의 시그니처를 찾아내는 방법
    - 실행 가능한 코드의 경우 이진 스트링으로 표현되고, 스크립트 등의 언어로 된 바이러스는 명령어의 나열로 나타난다.
  • behavioral virus scanning
    - 바이러스가 수행 중에 어떤 행동을 보이는지 추적하는 방법
    - signature scanning방법은 불가능한 새로운 바이러스와 웜에 대한 대처가 가능하다.

 


웜(Worm)

  • 자기 자신을 복제하여[각주:7] 네트워크를 통해 복제본을 전파해 네트워크를 손상시키거나 파일 등을 암호화하는 등의 피해를 입힌다.
  • 네트워크를 사용해 전파되기 때문에 네트워크 트래픽을 유발한다. 웜이 전 세계 네트워크로 퍼질 경우 심각한 속도 저하 또는 마비가 우려될 수도 있다.
  • 웜은 다른 시스템에 직접적인 영향을 미치지 않으며[각주:8] 다른 프로그램에 기생하지 않고 자체적으로 구동[각주:9] 수 있다.

웜의 분류

MASS Mailer(SPAM)형 웜
  • 자기 자신을 포함하는 대량 메일 발송을 통해 확산되는 웜.
  • 특정 제목으로 메일을 전송하고 사용자가 이를 읽었을 때 감염되며 치료하지 않으면 시스템에 기생하면서 메일 주소를 수집하고 계속 보낸다.
  • 메일로 전파되기 때문에 감염된 시스템이 많으면 SMTP 포트의 트래픽이 증가한다.
시스템 공격형 웜
  • 운영체제의 취약점을 공격하거나 시스템 내부에 백도어를 설치하는 웜
네트워크 공격형 웜
  • 네트워크나 시스템에 대해 DoS/DDos공격[각주:10] 수행해 네트워크가 느려지거나 마비된다.
  • 모니터링을 통해 감지할 수 있다. 

웜 예방

  • 주요 감염 경로는 이메일, 공유 폴더, 네트워크 포트 등이 있다. 또한 운영체제의 보안 취약점을 이용하는 경우도 있으니 보안 패치를 꼭 확인해야 한다.
  • 웜 확산이 이루어지면 네트워크 활동이 활발해지기 때문에, 네트워크를 모니터링하면 기본적인 방어 준비가 가능하다.
진입 모니터(Ingress monitors)
  • 엔터프라이즈 네트워크와 인터넷 사이의 경계에 위치한다.
진출 모니터(Egress monitors)
  • 나가는 트래픽에서 스캐닝의 흔적이나 기타 의심스런 행동을 모니터링해서 웹 공격의 출처를 잡아내도록 설계되었다.

 


트로이 목마(Trojan horse)[각주:11]

  • 정상적인 프로그램으로 위장한 악성코드이다.
  • 정상적인 프로그램에 '기생'하는 악성코드가 아닌, '위장'한 것으로 악의적인 목적의 코드가 프로그램에 포함되어 있는 것이다. 예를 들어, 무료로 배포 중인 계산기 프로그램이 있고 이 안에 개발자가 악의적인 목적의 코드를 숨겨놓으면 이것은 트로이 목마인 것이다.
  • 자체 전파 능력은 없으며, 다른 악성코드와 함께 전파되거나 P2P를 사용하는 등 간접적으로 전파된다. 대부분은 불법 파일이나 프로그램을 다운로드할 때 전파된다.
  • 원격 제어, 정보 탈취, 파일 삭제, 부팅 오류뿐만 아니라 컴퓨터 하드웨어 고장까지 여러 피해를 입힐 수 있다.

 

 

 

 

  1. malicious software의 줄임말 [본문으로]
  2. 독립실행 불가 [본문으로]
  3. 자기복제, 파일 감염, 전파 불가 [본문으로]
  4.  변형이란 원래 프로그램에 루틴을 삽입하여 바이러스 프로그램의 복제를 만들어내는 걸 말하는데, 이것이 다른 코드를 감염시킨다. [본문으로]
  5. 대표적으로 간접 호출 (Indirect Call) 경우 호출 대상이 여러 개 가능할 경우이다. 이를 위해 심볼릭 실행 (Symbolic Execution) 방식이 존재하나 너무 느리다는 단점이 있다. [본문으로]
  6. 탐지(Dection), 식별(Identification), 제거(Removal) [본문으로]
  7. 자가복제 [본문으로]
  8. 파일감염 불가능 [본문으로]
  9. 독립실행 [본문으로]
  10. bot과 같은 형태 [본문으로]
  11. 이름의 유래는 트로이 전쟁에서 나온 트로이의 목마이다. [본문으로]
반응형

'공부 > 정보보안기사' 카테고리의 다른 글

프로세스 관리  (0) 2020.03.28
운영체제  (0) 2020.03.27
은닉 채널(Covert Channel)  (0) 2020.02.05
레인보우 테이블(Rainbow table)  (0) 2020.02.04
사전 공격(Dictionary Attack), 무차별 대입 공격(Brute-force)  (0) 2020.02.03

댓글