악성 소프트웨어

의도적으로 컴퓨터 보안 속성을 침해할 목적으로 작성된 프로그램

분류

구분항목설명
독립 가능 여부 독립형
  • 자가적으로 구동될 수 있는 프로그램
  • 운영체제에 의해 스케줄되어 구동
  • 웜, 좀비 프로그램이 대표적
  • 기생형
  • 혼자 독립적으로 존재할 수 없음
  • 바이러스, 논리 폭탄, 백도어 등
  • 자기 복제 여부 바이러스성
  • 자기 복제 가능
  • 바이러스, 웜 등
  • 비 바이러스성
  • 자기 복제 불가능
  • 트로이목마와 백도어 등
  • 바이러스(Virus)

    자기 자신 또는 자신의 변형을 복사하여 컴퓨터 작동에 피해를 주는 명령어의 집합

    세대별 분류

    • 원시형
      • 코드의 변형이나 변화 없이 고정된 크기
      • 기억장소에 상주하며 부트 영역이나 파일 감염
    • 암호화
      • 백신 프로그램이 진단할 수 없도록 일부 암호화
      • 실행 시작점 부분에 위치하는 암호해독 데이터는 항상 일정
    • 은폐형
      • 기억소에 위치하면서 감염된 파일의 길이 변동 유무를 숨김
      • 바이러스 검출하려 할 때, 감염 이전의 모습을 보여 속임
    • 갑옷형
      • 여러 단계의 암호화와 다양한 기법 동원
      • 바이러스 분석을 어렵게 하고 백신 개발 지연
    • 매크로
      • 데이터 파일(워드, 엑셀 등)이 열릴 때 바이러스 실행
      • 플랫폼과 무관하고 쉽게 전염
      • 문서를 감염시키고 코드의 실행부분은 감염시키지 않음

    대응 방안

    • 안티 바이러스 필터링
      • signature scanning
        • 특정 바이러스만이 가진 유일한 형태의 signature를 탐색
      • behavioral virus scanning
        • 바이러스가 수행 중에 어떤 행동을 보이는지 추적
    • 바이러스 예방책
      • 신뢰있는 업체에서 구입한 상업용 S/W를 사용
      • Windows Script Host, Active X, VBScript, JavaScript는 비활성화

    웜(Worm)

    자기 자신을 복제하여 네트워크를 통해 스스로 확산

    • 숙주 파일 X (독립성)
    • 다른 시스템에 직접적인 영향 X()
    • 메일, 파일 공유, 원격실행, 로그인, 파일전송, 모바일코드로 확산

    종류

    • MASS Mailer형 웜
      • 대량 메일 발송을 통해 확산되는 웜
      • 감염된 시스템이 많으면 SMTP 서버의 네트워크 트래픽 증가
    • 시스템 공격형 웜
      • OS 고유 취약점을 이용해 내부 정보를 파괴
      • 컴퓨터를 사용할 수 없는 상태로 만듬
      • 백도어 설치
    • 네트워크 공격형 웜
      • 특정 네트워크나 시스템에 대해 서비스 거부(DoS) 공격을 수행

    대응 방안

    안티 바이러스를 통해서 제거하거나 네트워크 활동과 사용을 모니터링

    • 웜 모니터링 소프트웨어를 통한 방어
    • 엔터프라이즈 네트워크와 인터넷 사이 경계에 위치

    트로이목마(Trojan horse)

    자신의 실체를 드러내지 않으면서 마치 다른 프로그램의 한 유형인 것처럼 가장하여 활동하는 프로그램

    • 자기복제 X, 다른 파일 감염 X
    • 원격 조정, 키로거(Keylogger), 사용자 정보 유출, 시스템 파괴, DoS 공격에 이용

    스파이웨어(Spyware)

    설치된 시스템의 정보를 주기적으로 원격지의 특정한 서버에 보냄

    • 광고나 마케팅을 목적으로 배포하면 애드웨어(Adware)
    • 수집한 데이터는 신원 도용, 스팸, 사기 등에 이용될 수 있음

    그 외

    • 백도어: 정상적인 인증을 수행하지 않고 시스템에 접근
    • Exploit: 정상적인 파일 혹은 웹사이트의 극히 일부 소스코드만을 변경
    • Kit: 바이러스를 자동으로 생성하는 도구 모음
    • 루트킷(Rootkit): 컴퓨터 시스템에 침입 후 root 권한을 얻기 위해 사용하는 해킹 도구 모음
    • Attack Kit: 다양한 번식 방법과 payload 기술을 사용하는 새로운 악성코드를 자동으로 만들어주는 툴
    • 프리더: 서비스 거부 공격(DOS)에 사용하는 코드

    웹브라우저 보안

    쿠키 보안 취약점

    • XSS(Cross-Site Scripting): 자바스크립트가 사용자의 컴퓨터에서 실행된다는 점을 이용한 공격
    • 스니핑(Sniffing): 네트워크를 통해 전송되는 암호화되지 않은 쿠키를 탈취

    세션 하이재킹

    클라이언트-서버 간의 연결이 유지되는 상태를 가로채는 것을 말한다.

    세션: 클라이언트 정보를 서버에 저장하는 기술로, 클라이언트 별로 세션ID를 부여되며 클라이언트는 세션쿠키를 통해 서버에 인증하고 세션(연결상태)을 유지한다.