3학년 2학기 공부 과정/정보보안

06. 악성 코드

환성 2022. 12. 22. 21:47
728x90

1. 악성 코드

악성코드

  • 제작자가 의도적으로 사용자에게 피해를 주고자 만든 모든 악의적 목적을 가진 프로그램 및 매크로, 스크립트 등 컴퓨터 상에 작동하는 모든 실행 가능한 형태
  • 역사
    • 바이러스 개념의 정립
    • 최초의 바이러스
      • 1986년 브레인 바이러스
    • 최초의 웜
      • 1988 모리스 웜
    • 매크로 바이러스 출현
      • 1999 멜리사 바이러스
    • 웜에 의한 대규모 피해 발생
      • 2001년 코드 레드
    • 인터넷 대란
      • 2003년 SQL, Overflow, 슬레워 웜
    • 변종 웜
      • 2005년 휴대폰 악성코드 컴워리어
  • 악성코드의 분류
    이름(코드) 설명
    바이러스 복제, 감염, 스스로 전파 X
    컴퓨터로 전파되는 악성 프로그램, 스스로 전파
    트로이 목마 컴퓨터를 조종할 수 있는 프로그램
    인터넷 악성코드 인가되지 않은 성인 사이트, 크랙 사이트에 접속할 떄 감염
    스파이 웨어 원격지의 특정한 서버에 주기적으로 보내는 프로그램
    PUP 불필요한 프로그램 , 불편함을 주는 악성 코드
    다운로더 내려받은 데이터나 프로그램이 추가 공격을 위한 악성 코드거나 악성 코드 작성자의 명령 집합
    드로퍼 자신 안에 존재하는 데이터로부터 새로운 파일을 생성하여 공격 수행
    런처 다운로더, 드로퍼 등 생성된 파일을 실행하기 위한 관련 기능 포함
    애드웨어 광고가 포함된 소프트웨어
    랜섬웨어 자료를 인질 삼고 돈 요구
    백도어 비인가된 접근 허용, 공격자 재침입
    DDoS 공격시 지정된 공격 수행
    스캐어웨어 사용자 놀라게 하거나 겁 줄떄

2. 바이러스

1세대 원시형 바이러스

  • 바이러스
    • 가장 기본적인 악성 형태 코드
    • 가능한 부분을 몰래 수정하여 자신, 자신의 변형 복사
  • 부트 바이러스
    • 플로피디스크, 하드디스크의 부트 섹터에 감염되는 바이러스
    • 부팅 시 자동 동작하여 부팅 후에 사용되는 모든 프로그램 감염
    • 1단계 : POST(Power On Self Test)
      • BIOS에 의해 실행
      • 항상 거침
    • 2단계 : CMOS
      • 기본 장치에 대한 설정 부팅 순서 설정
    • 3단계 : 운영체제 위치 정보 로드
      • 부트바이러스는 여기서 동작
      • 브레인, 몽키, 미켈란젤로
     
  • 파일 바이러스
    • 파일을 직접 감염시켜 바이러스 코드 실행
    • 부트 바이러스 대안, 전체 바이러스의 80% 이상을 차지
    • 선데이, 스코피온, 크로, FCL
    • 감염 위치

 

 

2세대 암호형 바이러스

  • 바이러스 코드를 쉽게 파악하여 제거할 수 없도록 암호화한 바이러스
  • 바이러스 동작 시 메모리에 올라오는 과정에서 암호화가 풀리므로 백신은 이를 이용하여 메모리에 실행되어 올라온 바이러스와 감염 파일을 분석하고 치료
  • 슬로, 캐스케이드, 원더러, 버글러

 

3세대 암호형 바이러스

  • 바이러스에 감염된 파일이 일정 기간 잠복기를 가지도록 하는 것
  • 브레인, 조시, 512

4세대 암호형 바이러스

  • 백신 프로그램 우회 사용 다형성 바이러스
  • 코드 조합을 다양하게 할 수 있는 조합 프로그램을 암호형 바이러스에 덧붙여 감염시키므로 프로그램이 실행될 때마다 바이러스 코드 자체를 변경하여 식별자를 구분 X
  • 제작하기 어렵고 진단하기도 어려움

5세대 암호형 바이러스

  • 매크로 바이러스 : MS 오피스 프로그램의 매크로 기능으로 감염되는 바이러스
  • 비주얼 베이직 스크립트로 많이 제작
  • 워드 콘셉트, 와쭈, 액셀-라톡스, 멜리사 바이러스
  • 매크로 바이러스 증상
    • 암호가 설정, 문서가 정상적으로 열리지 않음
    • 글자나 이상한 문구

차세대 암호형 바이러스

  • 스크립트 형태의 바이러스가 더욱 활성화되어 대부분 네트워크와 메일 이용하여 전파
  • 단순히 데이터 파괴를 넘어서 사용자 정보를 뺴내거나 시스템 장악 백도어 기능 웜의 형태로 진화

 

3. 웜

웜의 개념

  • 인터넷 또는 네트워크를 통해 컴퓨터에서 컴퓨터로 전파되는 프로그램
  • 스스로 증식이 목적 파일 자체에 이런 기능이 있거나 운영체제에 자신을 감염
  • 다른 파일 감염시키는 복합적인 형태의 웜도 존재

 

매스메일러형 웜

  • 자기 자신을 포함하는 대량 메일을 발송하여 확산되는 것
  • 제목 없는 메일이나 특정 제목의 메일을 전송하고 사용자가 이를 읽었을 때 감염
  • 특징
    • SMTP 서버의 네트워크 트래픽 증가
    • 베이글 웜 - 오류 메시지 출력
    • 넷스카이 웜 - 윈도우 시스템 디렉터리 밑에 CSRSS.exe 실행 파일을 만듬
  • 베이글, 넷스카이, 투마루, 소빅

 

시스템 공격형 웜

  • 운영체제 고유의 취약점을 이용하여 내부 정보 파괴, 시스템 내부 접속 X
  • 간단한 패스워드 크래킹 알고리즘 포함
  • 주요 특징
    • 전파할 떄 과다한 TCP/135,445 트래픽이 발생
    • 공격 성공 후 UDP/5599 등의 특정 포트를 열어 외부 시스템과 통신
    • 시스템 파일 삭제 또는 정보 유출이 가능
  • 아고봇, 블래스터 웜, 웰치아

4. 트로이 목마

트로이 목마의 개요

  • 악성 루틴이 숨어 있는 프로그램
  • 겉보기에는 정상, 사용자가 실행시 악성 코드
  • 사회공학 기법으로 퍼짐
  • 스스로 전파 X

 

백도어

  • 프로그램 개발 후 삭제되어야 하지만 제품 출시될 떄 그대로 남아 있는 경우 많음

5. PUP

PUP의 개요

  • 사용자에게 직간접적으로 동의를 구하지만 용도를 파악하기 어려운 상태에서 설치되는 프로그램
  • 설치되는 경우
    • 포르노 사이트, 크랙 사이트 접속
    • 악성 코드에 의해 설치
    • 특정 프로그램 설치 시
  • 귀찮을 정도로 광고를 지속적으로 보여주거나 웹 브라우저의 시작 페이지를 특정 페이지로 강제로 변경, 사용하고 싶지 않은 백신 강제 사용

6. 악성 코드 탐지 및 대응책

악성 코드 탐지 예시

  • 임의의 악성 코드인 BackDoor-DVR을 실행해 악성코드 탐지용 툴로 탐지
  • 악성코드 탐지용 툴
    • 윈도우 7 악성 코드 : Win-Trojan.Pearmor
    • Process Explorer
    • Total Commander

 

네트워크 상태 점검하기

  • 상당수의 악성 코드는 외부에 있는 해커나 악성 코드 작성자와 통신을 하기 위해 서비스 포트 생성
  • 시스템에서는 netstat 명령으로 열려 있는 포트 확인
  • netstat으로 어려울 시 CPorts 같은 프로그램으로 서비스 포트별로 사용하는 응용 프로그램 확인할 수 있음
  • BackDoor-DVR 실행한 뒤 CPorts에서 활성화된 네트워크 항목을 살펴보면 특이한 연결 발견

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

  • 정상적 프로세스를 외워두면 비정상적 프로세스를 식별하는데 도움
  • 이 중에서 악성 코드가 주로 사용하는 서비스명은 csrss와 svchost
  • 좀 더 자세한 프로세스 정보를 알고 싶다면 Process Explorer 사용

 

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

  • total commander와 같은 같은 툴을 사용
  • [환경설정] - [옵션] - [화면]에서 [숨김/시스템 파일 표시] 옵션 활성화

백도어의 실제 파일 확인하기

  • 파일을 찾을 때에는 Process Explorer에서 확인한 파일명을 검색하는 방법을 우선적으로 사용
  • 해당 폴더를 살펴보면 logg.dat 파일과 server.exe 파일이 존재
    • 대부분 악성코드가 C:/Windows/system32를 공격
  •  

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

  • 악성코드의 내용이 레지스터에 기록될 수 있으므로 악성 코드를 삭제할 때는 레지스터에서도 관련 내용을 확인
  • msconfig로 시작 프로그램 목록 확인

악성 코드 제거하기

  • 악성 코드 프로세스 중지하기
    • 2368 프로세스를 ‘Kill Process Tree’로 중지
  • 악성 코드 파일 삭제하기
    • Bifrost 폴더에서 확인한 파일을 삭제
  • 레지스트리 삭제하기
    • 시작 프로그램에서 확인한 사항을 삭제
    • ‘regedit’로 레지스트리 경로 확인 후 레지스트리에서 해당 항목 삭제

 

'3학년 2학기 공부 과정 > 정보보안' 카테고리의 다른 글

08. 암호를 이용한 전자상거래  (0) 2022.12.22
07. 암호의 이해  (0) 2022.12.22
04. 웹 보안  (0) 2022.12.22
03. 네트워크 보안  (2) 2022.12.15
02. 시스템 보안  (0) 2022.12.15