[Security] 악성코드 탐지 지표와 유형

악성코드 탐지 시스템의 성능은 오탐과 미탐의 균형에 달려있습니다. 각 지표의 의미를 이해하고, 비즈니스 환경에 최적화된 보안 전략을 수립하는 방법을 알아봅니다.

[Security] 악성코드 탐지 지표와 유형
Photo by Michael Geiger / Unsplash

악성코드란

악성코드(malware)는 "malicious(멀리셔스) software"의 줄임말로 컴퓨터 시스템이나 네트워크에 피해를 주거나 무단으로 접근하기 위해 악의적으로 만들어진 소프트웨어를 말합니다. 따라서 비즈니스 관점에서 악성코드를 예방하고 조치하는 보안 시스템을 설계하는 것이 굉장히 중요합니다.

악성코드 탐지(정탐, 오탐, 미탐)

악성코드 탐지에서 정탐, 오탐, 미탐은 보안 시스템의 실제 성능을 측정하는 핵심 지표로 사용됩니다. 정탐률은 시스템이 얼마나 효과적으로 위협을 차단하는지 보여주고, 오탐은 직접적인 비즈니스 비용과 연계되어 시스템의 신뢰성을 저해할 수 있습니다. 미탐은 가장 치명적으로 직접적인 손실과 법적 책임 뿐만 아니라 복구를 위한 비용 등 다양한 피해를 입힙니다.

이 세 지표는 보안 시스템을 환경에 맞게 튜닝하는 기준이 됩니다. 비즈니스에 맞게 미탐과 오탐의 균형점을 찾고 사용성을 높여 효과적인 보안 서비스를 운영합니다.

정탐 (True Positive, TP)

  • 실제로 악성코드인 파일을 악성코드로 정확하게 탐지한 경우
  • 탐지 시스템이 제대로 작동한 경우
  • 예: 실제 랜섬웨어를 랜섬웨어로 탐지

오탐 (False Positive, FP)

  • 정상 파일을 악성코드로 잘못 탐지한 경우
  • 과도한 오탐은 사용자 불편과 업무 방해를 초래
  • 예: 정상적인 시스템 파일이나 정품 소프트웨어를 악성코드로 판단

미탐 (False Negative, FN)

  • 실제 악성코드를 정상 파일로 잘못 판단한 경우
  • 보안상 가장 위험한 상황
  • 예: 신종 악성코드가 탐지되지 않고 시스템에 침투

하지만 보안의 관점에서는 조금 다릅니다.

오탐의 경우 잘못 탐지한 경우로 FN, FP의 경우를 모두 포함합니다.

미탐의 경우엔 FN , FP로 판단하지 못하는 보안 시스템 자체가 동작하지 않은 것으로 판단되며 이로인해 시스템 내부에서 침입되었는지, 백도어가 존재하는지를 판단하게 됩니다.

따라서 미탐을 최소화하기 위해 노력해야합니다. 공격/방어 방법은 매일 발전하기 때문에 훈련, 교육, 점검을 지속적으로 수행 피해 최소화가 필요합니다.


False Positive, False Negative

Notion Image

정밀도 (Precision) → 오탐 얼마나 적은가?

  • 장점
    • FP(오탐)이 아예 없음
    • 업무 중단 최소화 → 신뢰도
  • 단점
    • 미탐 증가 (위험)
    • 신종/변종 악성코드 놓침

재현율/민감도 (Recall, Sensitivity) → 미탐 얼마나 적은가?

  • 장점
    • 미탐 거의 없음
    • 높은 보안 수준
    • 신종 위협도 차단 가능
  • 단점
    • 오탐 폭증
    • 정상 프로그램 차단
    • 업무 마비 가능
    • 경보 피로

오탐(False Positive)과 미탐(False Negative)

  • 모두 낮추는 것이 좋지만 현실적으로 어려움
    • 보안 중시: 미탐 최소화 (금융, 의료)
      • 민감도가 높음
    • 사용성 중시: 오탐 최소화 (일반 사용자)
      • 정확도가 높음

악성코드 유형과 사례

1. 바이러스 (Virus)

  • 정상 파일이나 프로그램에 자신의 코드를 붙여서 감염시킵니다
  • 사용자가 감염된 파일을 실행해야 활성화됩니다
  • 다른 파일들로 자동으로 퍼져나가는 특징이 있습니다
  • 사례) 멜리사 바이러스
    • 감염된 문서(Word)를 열면 Outlook 주소록 상위 50명에게 자동으로 이메일 발송
    • 네트워크 과부하, 서버 마비

2. 웜 (Worm)

  • 숙주 파일 없이 스스로 복제하고 전파됩니다
  • 네트워크 취약점을 이용해 자동으로 확산됩니다
  • 사용자의 개입 없이도 빠르게 퍼질 수 있습니다
  • 사례) 러브 바이러스
    • Outlook 주소록의 모든 연락처에게 전송
    • 네트워크 과부하와 서버 마비

바이러스와 웜의 가장 큰 차이는 숙주 파일입니다.

바이러스는 다른 PC를 감염시키기 위해 숙주 파일이 사용되는 반면 웜은 숙주 파일이 없더라도 네트워크를 통해 전파됩니다. 따라서 웜에 감염된 사례의 피해는 매우 크며 해결을 위해선 네트워크 차단 후 조치를 수행해야할 정도로 넓은 범위에서 발생할 수 있습니다.

3. 트로이목마 (Trojan Horse)

  • 정상적인 프로그램으로 위장해 사용자를 속입니다
  • 사용자가 자발적으로 설치하도록 유도합니다
  • 백도어를 열거나 정보를 훔치는 등의 악성 행위를 수행합니다
  • 사례) 솔라윈즈 트로이목마
    • 솔라윈즈 오리온 비즈니스 소프트웨어 업데이트를 트로이목마로 만들어 사용

대부분의 악성코드 특징을 가집니다. 클릭시 원본 파일은 사라지고 백그라운드에서 동작하며 사용자 모르게 악의적인 행동을 수행합니다.

4. 랜섬웨어 (Ransomware)

  • 사용자의 파일을 암호화해서 접근을 차단합니다
  • 복호화 키를 받으려면 돈을 지불하라고 요구합니다
  • 최근 가장 큰 위협이 되고 있는 유형입니다
  • 사례) YES24, 고려제강 등
    • 파일을 암호화한 뒤 금전(비트코인 등)을 요구

5. 스파이웨어 (Spyware)& 키로거 (Keylogger)

  • 사용자 활동을 몰래 감시하고 정보를 수집합니다
    • 키로거 (Keylogger)
      • 모든 키보드 입력을 기록합니다
      • 비밀번호, 신용카드 번호 등 민감한 정보를 훔칩니다
  • 수집한 정보를 외부로 전송합니다
  • 사례) 애플 페가수스
    • 취약점을 활용한 정보 탈취 목적

6. 애드웨어 (Adware)

  • 원치 않는 광고를 지속적으로 표시합니다
  • 브라우저 설정을 변경하거나 검색 결과를 조작합니다
  • 합법적인 무료 프로그램에 포함되어 있을 수도 있습니다

스파이웨어와 애드웨어의 가장 큰 차이점은 목적입니다.

애드웨어는 제품 홍보, 광고를 목적으로 활용하지만, 스파이웨어는 정보 유출, 시스템 저하 등 악의적인 목적으로 활용됩니다.

특히 애드웨어의 경우엔 사용자 동의를 거쳐 동작하지만 스파이웨어는 사용자 동의 없이 여러 소프트웨어를 추가 설치한다는 특징을 가집니다.

7. 루트킷 (Rootkit)

  • 시스템의 깊은 곳에 숨어서 탐지를 회피합니다
  • 운영체제의 핵심 기능을 조작합니다
  • 백신 프로그램이 발견하기 매우 어렵습니다

8. 봇넷 (Botnet)

  • 여러 컴퓨터를 감염시켜 네트워크를 구성합니다
  • 공격자가 감염된 컴퓨터들을 원격으로 제어합니다
  • DDoS 공격이나 대량 스팸 발송에 이용됩니다.

6~8번 사례는 다른 방식들과 겹쳐져 다양한 사례들과 함께 나타나고 있습니다.