[정보보안개론] 06주차. 악성코드

Sujung Shin·2023년 4월 24일
1

01 악성코드


악성코드의 역사

악성코드의 정의

악성코드(malicious code): 제작자가 의도적으로 사용자에게 피해를 주기 위해 만든 프로그램 및 매크로, 스크립트 등을 가리킨다.
즉 악의적 목적으로, 컴퓨터에서 작동하는 실행가능한 모든 형태

1. 컴퓨터 바이러스의 개념 등장

데이비드 제럴드의 공상 과학 소설 <When Harlie Was One>(1972)
에서 '다른 컴퓨터에 계속 자신을 복제한 후 감염된 컴퓨터의 운영체제에 영향을 미쳐 점차 시스템을 마비시키는 장치를 한 과학자가 제작해서 배포한다'라는 내용이 소개됨.

2. 최초의 바이러스와 웜 = 브레인 바이러스, 모리스 웜

최초의 바이러스 = [브레인 바이러스](1986년, 파키스탄의 알비형제, 3세대 은폐형 바이러스에 속함 )
최초의 웜 = [모리스 웜](1988년 미국의 NW를 마비시킴)

3. 매크로 바이러스의 출현 = 멜리사 바이러스

  • 매크로란? : 엑셀이나 워드에서 특정 기능을 자동화한 프로그램
  • [멜리사 바이러스(Melissa)]: 시스템 프로그래밍과 같은 고난이도 기술만 웜이나 바이러스 제작에 이용되는 게 아니라는 경각심을 일깨워줌.

4. 웜에 의한 대규모 피해 발생 = 코드레드 웜 사태

2001년 7월 13일, 25만대 이상의 컴퓨터가 8시간 만에 코드레드(Code Red) 웜에 감염
윈도우 2000과 NT 서버를 경유지로 하여 미국 백악관 공격
국내에도 3만 대 이상의 시스템에 피해를 입힌 것으로 추정

5. 인터넷 대란 = 슬래머 웜, 블래스터 웜, 웰치아 웜, 소빅 F.웜

  • SQL_Overflow인 슬래머 웜이 등장.
    보안 위협에 적절히 대처하지 않으면 어떤 결과가 초래되는지 알려준 웜
    31분 만에 전 세계의 74,855대의 컴퓨터가 슬래머 웜에 감염
    블래스터 웜(1~2분 간격으로 컴퓨터를 재부팅 시켜 국내외에 큰 피해), 웰치아 웜(블래스터 웜의 변종), 소빅 F.웜(엄청난 양의 스팸 메일 집중 발송)****

6. 변종 웜의 등장

  • 컴워리어(Comm Warrior)- MMS(멀티미디어 메시징 서비스)로 감염된 휴대전화에 저장된 전화번호로 악성코드를 퍼뜨림 = 휴대전화 통신망으로 악성코드가 전파되기 시작
  • 여러 전자 기기가 하나의 기기로 통합/융합 되면서 바이러스, 웜, 기타 악성코드 간의 구분도 모호해지며 다양한 기능으로 분화됨

악성코드의 분류

  • 동작 방식에 따른 분류 (상호배타적이지는 않다)
    = 바이러스, 웜, 트로이 목마, PUP
  • 목적에 따른 분류

🔗 트로이 목마 vs 백도어의 차이점

트로이 목마에 비해 백도어는 해커가 일일이 정보를 수집해야 한다는 번거로움이 있으므로, 전체 악성코드에서 차지하는 비율이 적다.





02 바이러스


  • 바이러스는 가장 기본적인 형태의 악성코드로, 사용자의 컴퓨터(네트워크로 공유된 컴퓨터 포함)에서 프로그램이나 실행 가능한 부분을 몰래 수정하여 자신 또는 자신의 변형을 복사한다.(전파, 감염)



1세대 원시형 바이러스


🔗 부트 바이러스


플로피디스크나 하드디스크의 부트섹터를 감염시키는 바이러스

컴퓨터의 부팅순서
1단계 POST
2단계 CMOS
3단계 운영체제 위치 정보 로드

부트 바이러스가 시스템에 감염되는 단계 = 마스터 부트 레코드(MBR)을 메모리에 저장하는 단계


🔗 파일 바이러스


컴퓨터의 파일을 직접 감염시키는 바이러스
하드 디스크로 부팅하는 것이 일반적이어져 부트 바이러스의 대안으로 등장
감염된 실행 파일(exe, com)에서 바이러스 코드를 실행한다.

바이러스가 프로그램의 뒷부분에 위치한다면, 이는 백신의 바이러스 스캔으로부터 자신의 존재를 숨기기 위함이다.


2세대 암호형 바이러스


바이러스 코드를 쉽게 파악하여 제거할 수 없도록 암호화한다.
1세대 바이러스는 자체에 특정한 패턴이 있어서, 백신을 만드는 프로그래머가 특정 패턴으로 바이러스를 진단한 뒤 삭제하였다.
그러자 바이러스는 이 같은 백신을 우회하기 위한 암호형 바이러스를 만들었다.

  • 😶‍🌫️ 암호형 바이러스 치료법: 바이러스가 동작할 때 메모리 과정에서 암호가 풀리는데, 이때 메모리에 실행되어 올라온 바이러스와 감염파일을 실행 및 치료


3세대 은폐형 바이러스


바이러스에 감염된 파일이 일정기간의 잠복기를 가지도록 한다.
확산되기도 전에 활동하면 전파되기 어렵기 때문이다.
따라서 은폐형 바이러스에 감염되더라도 실제로 그 바이러스가 동작하기 전까지 그 존재를 파악하기가 어렵다.


4세대 다형성 바이러스


코드 조합을 다양하게 할 수 있는 조합(mutation) 프로그램을 암호형 바이러스에 덧붙여서 감염
프로그램이 실행될 때마다 바이러스 코드 자체를 변경하여 식별자를 구분하기 어렵게 한다.
제작하기도 어렵고, 진단하기도 어렵다.



5세대 매크로 바이러스


대부분 실행파일을 통해 감염, 전파되는데 다양한 응용 프로그램, 사무용 프로그램이 개발되면서 스크립트 형태의 실행환경을 통해 전파되는 바이러스가 나타남.(최초 = 멜리사 바이러스)
비주얼 베이직(VBS) 로 많이 제작됨


차세대 바이러스


인터넷과 네트워크가 급격히 발달함에 따라 다양한 형태의 바이러스가 등장함으로써, 이제는 한 세대로 분류하기가 힘들어졌다.




03 트로이 목마, 백도어


🐴 트로이 목마의 정의


사용자가 의도하지 않은 코드를 정상적인 프로그램에 삽입한 형태
겉보기에는 정상적인 프로그램 같지만, 사용자가 실행하면 악성코드가 같이 실행됨

  • 컴퓨터 바이러스나 웜과 달리, 다른 파일에 삽입되거나 스스로 전파되지 않음
  • 사회공학 기법의 형태로 퍼짐
  • 어떤 악성코드도 다 포함할 수 있고, 스파이웨어, 랜섬웨어 등 어떠한 형태로도 동작 가능함.

🐴 트로이 목마의 종류


패스워드 크래킹 트로이 목마


인증에 필요한 패스워드를 공격자에게 보내주는 역할을 함.

시스템 변경 설정 트로이 목마


시스템 설정을 해커가 원하는 대로 변경하기 위한 툴 역할을 함

백도어의 정의


운영체제나 프로그램을 생성할 때 정상적인 인증과정을 거치지 않고, 운영체제나 프로그램 등에 접근할 수 있도록 만든 일종의 통로.
(= Administrative hook, trap door)

  • 보안 체계를 우회하여 동작
  • 로그를 남기지 않고 동작
  • 빠른 침투 가능

백도어의 종류

로컬 백도어


서버의 셸을 얻어내어 관리자로 권한이 상승(Privilege Escalation)할 때 사용한다.

원격 백도어


계정에 패스워드를 입력하고, 로그인한 것처럼 원격으로 관리자의 권한을 획득하여 시스템에 접근하고, 네트워크 포트를 개방한다.

근본적인 트로이 목마와 백도어의 차이점

: 트로이 목마는 '자동적'으로 해커에게 정보를 수집하여 전송해주고, 백도어는 직접 자료를 수집해야 하거나, 사용자가 그 프로그램을 설치하게 해야 한다.



04 스파이웨어, 애드웨어


스파이웨어의 정의


  • 사용자의 동의 없이 컴퓨터에 설치되거나, 동의를 얻고 설치되었지만 사용자 몰래 개인정보 및 PC정보를 빼가고 악의적으로 변경하는 소프트웨어

애드웨어의 정의


  • 사용자의 동의를 얻고 컴퓨터에 설치되어 광고를 보여주거나, 사용자가 광고를 보게끔 유도하는 소프트웨어(광고)
  • 잦은 광고로 인해 사용자에게 불편함을 준다.

스파이웨어의 종류


브라우저 플러그인


인터넷 브라우저에 툴바 형태로 추가 설치되는 모듈

키로거


사용자가 PC에 입력하는 모든 키보드 입력값을 가로채어 제3자에게 보내주는 소프트웨어

브라우저 하이재커


브라우저의 설정을 변경하는 소프트웨어(ex 시작 페이지를 제작자가 원하는 사이트로 변경, 제3의 검색페이지를 방문하도록 설정)




05 웜, PUP


  • 웜(worm): '벌레' '증식', 인터넷 또는 NW를 통하여 컴퓨터에서 컴퓨터로 전파되는 프로그램

  • PUP(Potentially Unwanted Porgram): 사용자에게 직/간접적인 동의를 구하지만, 용도를 파악하기 어려운 상태에서 설치되는 프로그램(불편함 유발)

  • 웜의 전파형태에 따른 분류= 메스메일러형, 시스템 공격형, 네트워크 공격형


📩 메스메일러형 웜


자기자신을 포함하는 대량 메일을 발송하여 확산되는 것
제목 없는 메일/ 특정 제목의 메일을 전송하고 사용자가 이를 읽었을 때 감염

  • 주요 특징과 증상
    1. 메일로 전파되며, 감염된 시스템이 많으면 SMTP서버(TCP의 25번 포트)의 네트워크 트래픽이 증가
    2. 출처나 내용이 확인되지 않은 메일을 열었을 때 확산되는 경우가 많음
    3. 베이글 웜은 웜 파일을 실행할 때, 가짜 오류 메시지 출력
    4. 넷스카이 웜은 윈도우 시스템 디렉터리 밑에 CSRSS.exe 실행 파일을 만듦
    5. 변형된 종류에 따라 시스템에 임의의 파일 생성
  • 종류
    베이글, 넷스카이, 두마루, 소빅


🖥️ 시스템 공격형 웜


  • 운영체제 고유의 취약점을 이용하여 내부정보를 파괴하거나, 컴퓨터를 사용할 수 없는 상태로 만들거나, 외부의 공격자가 시스템 내부에 접속할 수 있도록 악성 코드를 설치하는 형태

  • 간단한 패스워드 크래킹 알고리즘을 포함하고 있어 패스워드가 취약한 시스템을 공격하는 웜도 있음

  • 주요 특징과 증상

    1. 전파할 때 과다한 TCP/135,445 트래픽이 발생(과한 메모리 점유)
    2. windows, windows/system32, winnt, winnt/system32에 SVCHOST.exe파일을 설치
    3. 공격 성공 후 UDP/5599 등의 특정 포트를 열어 외부 시스템과 통신
    4. 시스템 파일 삭제, 정보 유출 등이 가능
  • 종류
    아고봇, 블래스터 웜, 웰치아가 있다.


🎭 네트워크 공격형 웜


  • 특정 네트워크나 시스템에 대해 SYN 플러딩이나 스머프와 같은 DoS 공격 수행(DDoS 공격을 위한 봇(bot)형태로 발전)

  • 버퍼 오버플로나 포맷 스트링과 같은 시스템 취약점을 이용하여 확산, 공격하는 경우가 多

  • 주요 특징과 증상

    1. 네트워크가 갑자기 느려지거나 마비됨
    2. 네트워크 장비가 비정상적으로 동작
  • 종류
    클래즈 웜

적은 수의 시스템이 감염되어도 파급효과가 크므로 안정적인 네트워크 설게와 시스템취약점에 대한 지속적인 패치 관리가 중요함

06 악성코드 탐지 및 대응책


1 네트워크 상태 점검하기

BackDoor-DVR 실행 후 CPorts(프로그램)을 사용하여 서비스 포트별로 사용하는 응용 프로그램 확인

2 정상적인 프로세스와 비교하기

주로 사용하는 서비스명 = csrss(메스메일러형 웜), svchost(시스템 공격형 웜)

3 악성 코드의 실제 파일 확인하기

NW 상태와 실제 프로세스 분석을 통해 파악한 악성코드의 실제 파일 확인

4 시작 프로그램과 레지스트리 확인하기

시작 프로그램 목록 = msconfig 명령

5 악성코드 제거하기

(1) 악성코드 프로세스 죽이기(중지하기)

(2) 악성코드 파일 삭제하기

(3) 레지스트리 파일 삭제하기

profile
백문이불여일타

0개의 댓글

관련 채용 정보