[보안] Malware

양현지·2023년 5월 15일
2

Security

목록 보기
7/14

0. Malware

: 악성 소프트웨어 (Malicious SW)

① worm : malicious program that replicates itselft on other system (스스로 실행 가능, 자기 자신을 복제)

② virus : 컴퓨터의 정상적인 동작에 나쁜 영향을 미치거나 저장된 데이터나 프로그램을 파괴하는 프로그램 (독립적으로 실행X)

  • worm과 virus는 상호배타적x (worm이면서 virus일 수 o)

③ trojan : 정상적으로 보이지만 백그라운드에서 비정상적 동작을 수행

④ rootkit : 시스템의 기능을 숨기거나 왜곡하는 악성 SW

⑤ ransomware : 사용자의 데이터나 파일을 암호화하여 사용자의 파일에 대한 접근을 차단하고, 해독키를 요구하는 악성 소프트웨어

1. Botnet이란

  • Botnet = robot + network
    : 악성 소프트웨어에 감염된 machines들이, 악의적인 목적으로 공격자가 원격으로 제어하는 봇넷 서버에 연결되어, 일종의 로봇 네트워크를 형성하는 것을 말합니다.

2. Malware 동작 방식

  • How Malware works?
    malware structure = replication mechanism(dropper) + payload

    ① replication mechanism
    : 악성코드를 전파하거나 실행하도록 설계된 일종의 실행 파일
    ② paylod
    : Payload는 악성코드가 실행되면 수행되는 실제 악성 기능

    • 기밀 유출
    • 개인 정보 암호화 후 ransom비용을 요구
    • 비트코인 채굴 등과 같은 바람직하지 않은 일 수행
    • 루트킷을 설치하여 컨트롤러가 악성 작업을 수행
    • 통과하는 트래픽을 감시하거나 다른 트래픽을 공격하기 위해 설치된 소프트웨어

3. Prevention to Malware

  • antivirus s/w
    어떻게 의심스러운 코드를 조기에 감지할 수 있는가

① Scanners
: malware의 특징 기반 탐색 (악성 코드들이 주로 가지는 문자열 패턴 분석)을 통해 'pattern matching'을 수행, 흔적(로그, output)파일을 탐색
=> fast & efficient to find 'known' malware
=> do not detect 'unknown' pmalware

공격자들은 scanner의 존재를 알기 때문에, 코드를 암호화하여 수행할 수 있다.

  • How to evade scanners-based detection?
    Encrypting virus (공격자 입장)
    ⓐ Ciphertext looks like random bits
    ⓑ Different key를 사용하면 different "random" bit가 생성
    => 'pattern matching'이 불가

  • 그러면 encryption of virus로부터 어떻게 detect할 수 있는가?
    어딘가에 존재하는 decryptor code를 찾아내야함

4. Types of Malware

1) Polymorphic Malware

(스스로를 변형시키는 방법)

  • concept
    악성코드의 코드를 일부 변경하여 감지를 우회하고, 여러 대상 시스템에서 실행될 때마다 변형
    malware의 body > encryted
    decryptor code > morphed (복제 할 떄마다 변형)

2) Metamorphic Malware

  • concept
    자체적인 변형 기능을 내장하여 악성코드의 코드 자체를 변형하여 감지를 우회

어쩄든, 둘다 변종 malware의 일종이다. 위와 같은 변종 Malware에 대해 ①-scanner를 사용하기 어려워진다. 따라서 다른 방어책을 사용한다.

② checksummers
: 해시함수를 사용하여 변형 감지 ("change" detection)

  • 파일 해시값을 계산하고 안전하게 저장합니다.

  • 주기적으로 해시값을 다시 계산하고 비교합니다.

  • 해시값이 변경되면 파일이 감염됐을 가능성이 있습니다.

    Adv
    false negative(거짓 양성)이 없음
    알려지지 않은 malware 감지 가능

    Dis
    오경보 발생 가능 (감연되지 않은 파일이 변경되지 않은 경우)

③ anomaly detection
• 시스템을 "비정상적"이거나 "악성코드와 유사"하거나 "잠재적으로 악성적"인 것으로 감시
• "비정상적"인 예시

  • 파일이 예상하지 못한 방식으로 변경될 때
  • 시스템이 어떤 방식으로든 동작하지 않을 때
  • 예기치 않은 네트워크 활동이 있을 때
  • 예상하지 못한 파일 접근 등
    ※ 먼저 "정상"을 정의해야 합니다.
    정상은 시간이 지남에 따라 변할 수 있습니다.

Adv
unknow malware를 감지할 수 있음
DIS
비정상적임을 입증하는 과정에 cost가 필요
정상인척하는 반대의 경우가 존재할 수 있음
따라서 단독으로 쓰이기 보다 다른 countermeasure와 같이 쓰임 (e.g. scanners-based detection)

※ Malware를 감지하고자 특징(IOC)기반 탐색을 수행 (Scanners)

  • Malware는 scanner를 어렵게 하고자 encrypt virus

  • 그러면 어딘가에 존재하는 decryptor code를 scan!

  • 그러면 Malware developrs (Polymorphic malware & Metamorphic malware)

  • "checksummers"를 사용해 변경 전 해시값을 저장해 주기적으로 검사하여 변조를 감지(false- negative, 거짓 음성은 발생하지 않음 but 오탐 발생)

  • "anomaly detection"을 사용해 'unusual' or 'malware like'를 탐지

    결론!
    Malware도 끊임없이 발전하고, Anti-malware method도 끊임없이 발전하고 있다.

0개의 댓글

관련 채용 정보