728x90

서비스 거부 공격: DoS (Denial of Service)

  • 네트워크 대역, CPU, 메모리, 디스크 공간 등의 자원을 소모하여 네트워크, 시스템, 응용 서비스의 정당한 사용을 방해하는 공격 행위

DoS 공격 목표

  • 네트워크 대역
  • 시스템 자원 (resources)
  • 응용 프로그램 자원

DoS 공격은 정보 보안 요소의 가용성 (availability) 에 대한 공격이다.


공격 형태

Flooding

  • 공격 목표에 대량의 패킷을 집중적으로 전송한다.

Flooding 방법

  • Ping flooding
  • Source IP address spoofing
  • SYN flooding (spoofing)
    • Half-open connection
  • Reflector
  • Amplifier (Smurf attack)

Ping

Ping of death

  • 정상적인 ping 패킷 길이는 56바이트(ICMP 64, IP 84바이트)
  • IP 패킷의 최대 길이 65,535바이트
  • 공격자는 ping 패킷을 65,535바이트로 하고, 이것을 8바이트 로 분해하여 목표 호스트(target)에 전송하면, 이것을 재결합 하는 할 때 버퍼 오버플로우가 발생
  • 이전 시스템은 쉽게 이러한 문제가 발생했음

 

Ping flooding

  • 단순히 목표 호스트에 Ping 패킷을 집중적으로 보냄

 

Source IP address spoofing

  • 한 개의 호스트에서 공격 패킷이 날아오면 쉽게 공격을 찾아내고 방어할 수 있다.
  • 그래서 공격 패킷의 소스 IP 주소를 가짜 주소로 해서 보낸다.
    • 라우터에서 패킷을 처리할 때 IP 소스 주소의 진위 여부는 가리지 않는다.

 

반사 (reflection)

  • IP 소스 주소를 공격 대상 호스트로 하여 불특정 호스트에게 패킷을 보낸다.
    • 자신의 존재를 숨길 수 있다. (추적 방지)
    • 공격량을 증대시킬 수 있다.
  • 분산 반사 공격이라고 불리움
    • DRDoS (Distributed Reflection DoS)

 

 

증폭 (amplifier)

  • IP 브로드캐스트 주소 사용
    • IP 소스 주소를 공격 대상 호스트의 IP 주소로 한다.
    • 패킷의 수신 주소를 브로드캐스트 주소로 한다.
    • 그러면, 브로드캐스트 주소에 해당하는 모든 호스트가 공격 대상으로 응답 패킷을 보낸다.
  • Smurf 공격 (ICMP echo reply amplifier)

 

 

 

SYN flooding (spoofing)

  • 초기 대표적 DoS 공격 형태였다.
  • TCP 3-way handshake 절차 악용
    • 공격자는 SYN 패킷을 보낸다.
    • 수신 호스트는 메모리에 TCP 버퍼(스택)에 연결을 요청한 호스트 정보를 기록하고 SYN-ACK으로 응답한다. (half-connection)
    • 공격자는 소스 주소를 바꾸어 계속 SYN 패킷을 동일 호스트에 전송한다.
    • 수신 호스트는 메모리의 TCP 버퍼가 넘치면 더 이상 SYN 패킷을 처리할 수 없게 된다 (그것이 정상적인 SYN 패킷이라 하더라도).

 

'서버 > 암호' 카테고리의 다른 글

방화벽 (Firewall)  (0) 2021.08.02
Spoofing (속이기)  (0) 2021.07.29
Snooping (sniffing) – 정찰(탐색)  (0) 2021.07.29
네트워크 공격  (0) 2021.07.29
ICMP 질문 메시지(Query)  (0) 2021.07.29
728x90
  • 방화벽은 어떤 패킷이 네트워크를 통과할 수 있는지를 결정한다. - packet filtering
  • 어떤 패킷이 통과할 수 있는지의 여부는 망 보안 정책에 따라 결정된다.


방화벽 유형

원래 다음과 같은 두 가지 유형의 패킷 필터가 존재한다.

  • 패킷 필터
    • 네트워크와 수송 계층의 정보를 조사
  • Stateful 패킷 필터
    • 패킷 필터 + TCP 연결 상태를 조사

 


패킷 필터 (Packet Filter)

네트워크와 수송 계층의 헤더 정보를 사용

  • IP 소스/목적지 주소
  • IP 패킷의 Protocol Type
  • TCP/UDP의 소스/목적지 포트 번호
  • TCP Flag bits (SYN, ACK, etc.)
  • ICMP 메시지 유형(message type)
  • 네트워크 입구/출구에서의 기타 규칙

( + ) 장점 

  • 빠른 처리 속도

( - ) 단점

  • 각 패킷은 다른 패킷과 독립해서 별도로 처리된다.
  • TCP연결을볼수없다.
  • 응용데이터를볼수없다.
    • 따라서, 바이러스가 포함된 패킷이 통과할 수 있다.

 

패킷 필터링

 

Action Source IP Dest IP Source Port protocol Dest Port Flag Bits
Allow 202.30.107.0/24 Outside > 1024 TCP 80 Any
Allow Outside 202.30.107.0/24 80 TCP > 1023 ACK
Deny All All All   All All

( Access Control Lists (ACLs)에 의해 구성 )

  • 내부망의 주소: 202.30.107.0/24
  • 내부 호스트는 외부망의 웹 서버에 접속을 허용
  • 이외의 모든 트래픽은 차단

 

TCP ACK 스캔

공격자는 이와 같이 하여 방화벽을 통과할 수 있는 포트 번호를 스캔할 수 있다.

  • 공격자는 3-way handshake 없이 ACK 비트를 세팅하고 패킷을 보낸다.
  • 이것은 TCP/IP 프로토콜을 위반하는 것이다.
  • ACK 패킷은 패킷 필터를 통과한다.
    • 현재 연결 설정이 진행 중인 것으로 보여진다.
  • 이 패킷을 받은 수신 프로세스는 Reset 비트를 세팅하여 보낸다.
  • 공격자는 이와 같이 하여 방화벽을 통과할 수 있는 포트 번호를 스캔할 수 있다.


Stateful Packet Filter

패킷 필터에 연결 상태 정보를 추가한다.

TCP 연결과 flag 비트를 기억한다.

UDP 패킷도 기억할 수 있다. (e.g., DNS requests)

Action Source IP Dest IP Source Port protocol Dest Port Flag Bits 연결조사
Allow 202.30.107.0/24 Outside > 1024 TCP 80 Any  
Allow Outside 202.30.107.0/24 80 TCP > 1023 ACK O
Deny All All All   All All  

Intrusion Prevention System (IPS)

  • 원래 방화벽은 규범적인 용어가 아니라 서술적 용어, 즉, 이렇게 만들어야만 방화벽이라고 할 수 있다라는 것은 아니다.
  • 장비회사들은 원래의 패킷 필터가 사용하는 정보 이상의 정보를 사용하여 필터링하는 장비를 만들고 여러가지 이름으로 불렀다.
  • 이중 고착된 이름 중에 하나가 IPS이다.
  • IPS를 포괄적으로 정의를 해 보면,
    • 네트워크와 수송 계층 이상의 정보를 사용하여 필터링
    • 경우에 따라서는 트래픽에서의 규칙, 특성(signature)을 사용하여 필터링
      1. 이런 점에서는 IDS의 기능과 중복, 즉 패킷 필터링을 하는 IDS라고 할 수도 있다.

 

Applicartion Gateway (Proxy)

  • Application Gateway는 들어오는 (incoming) 응용 계층의 데이터를 검사한다.
  • 진입을 허용하기 전에 데이터가 안전한지 확인한다.
  • Proxy는 응용 프로토콜을 대신 동작하는 것을 의미한다.
  • 외부망으로 (에서) 접근할 때는 반드시 proxy와 먼저 통신을 해야 한다.
    • Proxy는 접근자에 대한 인증을 할 수도 있다.
    • 적법한 사용자의 패킷을 받아서 외부망의 서버에 패킷을 새로 구성해서 전달한다.
  • 여러 종류의 application proxy가 존재할 수 있다.
    • Telnet, HTTP, FTP, email application proxy 등등

( + ) 장점

  • 연결과 응용 데이터 모두를 볼 수 있다.
  • 응용 계층에서 나쁜 데이터를 걸러 낼 수도 있다. (viruses, Worm macros)

( - ) 단점

  • 느린 속도

 

예) Telnet gateway

예를 들어, 내부망의 특정 사용자만 외부망에 telnet으로 연결할 수 있도록 하고 싶다.

  • 사용자의 telnet 요청은 Application gateway와 먼저 연결
  • Gateway는 사용자를 인증
  • 허락된 사용자일 경우 외부망의 서버와 telnet 연결
  • 따라서, 두 개의 telnet 세션이 존재: gateway-to-내부 호스트, gateway-to-외부 호스트

 

 

방화벽과 심층 방어 (Defense in Depth)

  • DMZ부분은 쉽게 접근하여야 한다. 그리고 빨라야 한다.
  • 외부망에서 내부망 접근은 Telnet으로 연결이 된다. 속도가 느리다.

'서버 > 암호' 카테고리의 다른 글

네트워크 공격 : DoS (1)  (0) 2021.08.02
Spoofing (속이기)  (0) 2021.07.29
Snooping (sniffing) – 정찰(탐색)  (0) 2021.07.29
네트워크 공격  (0) 2021.07.29
ICMP 질문 메시지(Query)  (0) 2021.07.29
728x90
  • IP spoofing
  • ARP poisoning (spoofing)
    • MITM 공격
    • TCP 연결(세션) 하이재킹

 


IP spoofing

 

  • 프로토콜의 허점
    • 라우터는IP패킷의경로를결정할때목적지IP주소만을본다.즉,IP소스주 소는 상관하지 않는다.
  • 따라서, 공격자는 IP 패킷의 소스 주소를 임의로 사용할 수 있다.
    • 특정 호스트의 IP 주소를 사용(앞의 Zombie scanning의 예)
    • 현재 사용하지않는 임의의 IP 주소를 소스 주소로 사용
  • IP spoofing은 대표적으로 DoS 공격에 이용된다.
  • IP spoofing의 방어
    • 최소한 라우터가 IP 소스 주소가 합법적인 주소인지 판단한다.
    • ISP는 라우터에서 현재 사용하지 않고 있는 IP 소스 주소인 경우 폐기한다.

 


ARP poisong (spoofing)

 

  • ARP 서버(일반적으로 디폴트 라우터)는 네트워크 내의 모든 host의 IP 주소와 MAC 주소의 매핑 테이블을 갖고 있다.
  • ARP 서버는 이 정보를 ARP request/reply 프레임을 통해 얻는다.
  • 공격 시나리오
    • 공격자는잘못된매핑정보를담은ARPreply메시지를계속 보낸다.
    • ARP 서버는 request에 대한 reply가 아니므로 보통 무시한다.
    • 그런데, 서버가 이 잘못된 정보를 믿고 자신의 ARP테이블을 변경하는 경우가 생길 수 있다. (자신이 조금 전에 보낸 request에 대한 reply라 고 오인, 혹은 구현상의 에러, 등)

Ethernet에서의 ARP

 

  • Ethernet은 브로드캐스트를 사용하 여 ARP 서버의 도움없이 주소를 변 환한다.
    • 목적지 IP 주소의 Ethernet 주소(MAC 주소)를 물어보는 request 프레임을 브로드캐스트한다.
    • IP 주소가 자신의 것인 스테이션은 자 신의 MAC 주소를 reply 프레임으로 응답한다.
    • 주소를 받은 스테이션은 이 주소를 사용하여 MAC 프레임을 전송하고, 이 MAC 주소를 캐쉬에 보관한다.

 

 1 ) IP 패킷을 ARP 테이블에 맞게 보낼 것이다. (C 컴퓨터로 IP 패킷이 가야함)

 2 ) 1)에서 보낸 IP 패킷을 reply하는데 ARP 테이블에 해당 IP 주소의 MAC 주소가 1) 그림의 MAC 주소와 상이한 것을 볼 수 있다.

 3 )전송자는 IP 패킷을 C컴퓨터로 의도했는데 ARP 테이블에 바뀐 MAC 주소 때문에 A 컴퓨터로 유도된다.

  • 위 ARP spoofing 예는 세션 호스트 통신 하이재킹의 예를 보여 주고있다.
    • 공격자A는호스트C로가는모든패킷을갈취하여보고있다.
    • 또한, 공격자 A는 소스 IP주소를 호스트C로 하여 패킷을 보낼 수 있다. (source IP address spoofing)
    • 그렇다면,호스트C와통신하는호스트는자신이호스트C와통신 을 하고 있다고 생각하지만 실제로는 호스트 A와 통신을 하고 있다. (hijacking)
  • 만약 호스트 AARP spoofing을 한번 더 할 수 있으면, 중간 자 공격(MITM)이 가능해진다.

TCP 연결(세션) 하이재킹

 

  • 공격자는 공격대상 호스트의 IP 주소로 연결을 요청
  • 공격자는 flooding 공격으로 호스트(T)가 응답하지 못하도록 함
  • 공격자는 호스트 T를 대신하여 응답
  • 공격자는 ARP 서버와 호스트(T)의 TCP 연결을 절반은 하이재킹

 

  • 이 공격 시나리오가 성공하기 위해서는 공격자는 서버 가 처음으로 사용할 일련번호(y)를 알고 있어야 한다.
    • 일련번호를랜덤값으로하게되면예측하는것은거의불가 능하다.
    • 하지만이전OS는완전한랜덤값으로하지않아충분히예측 가능했다.

 


 

 

  • 만약 공격자가 호스트와 동일한 LAN에 있으면 ARP spoofing을 사용하여 이 공격을 더 쉽게 할 수 있다.
    • 이경우공격자는서버와호스트T의TCP연결을완전히 하이재킹하게 된다.(즉, 호스트 T를 소스로 하여 패킷을 보내고, 호스트 T가 목적지인 패킷을 모두 받아 볼 수 있다.)
    • 이공격시나리오는공격자와호스트T가동일한LAN에있 을 때 가능하다. 만약 공격자가 방화벽 뒤에 위치한다면 이런 공격이 성립하기는 어렵다.

 

'서버 > 암호' 카테고리의 다른 글

네트워크 공격 : DoS (1)  (0) 2021.08.02
방화벽 (Firewall)  (0) 2021.08.02
Snooping (sniffing) – 정찰(탐색)  (0) 2021.07.29
네트워크 공격  (0) 2021.07.29
ICMP 질문 메시지(Query)  (0) 2021.07.29
728x90
  • 엿듣기
  • Ping - ICMP echo request/reply (type 8과 0)
  • Trace route - ICMP time exceeded (type 11)
  • ICMP redirect - ICMP redirection (type 5)

 


경로 추적 (trace route)

 

  • 특정 목적지 호스트에 이르는 경로를 추적한다.
  • IP 패킷의 TTL값을 1부터 차례로 증가시켜 보낸 후에, ICMP Time Exceeded 에러 메시지를 받아본다.


ICMP redirect 공격

 

  • ICMP redirect는 네트워크 내의 호스트가 다른 네트워크의 호스트로 패킷을 보낼 때 네트워크의 정해진 라우터로 전송하게 된다.(보통 디폴트 라우터)
  • 이때 정해진 라우터를 변경하고 싶을 때 ICMP redirection 패킷을 전송한다.
  • 이 패킷을 수신한 호스트는 새로운 라우터를 디폴트 라우터로 하고 라우팅 테이블 값을 변경한다.
  • 원래 ICMP redirect의 목적은 더 좋은 경로가 존재할 경우 라우터를 변경하기 위한 것이다.
  • ICMP redirect 자체가 공격은 아니지만, 악의적으로 특정 호스트가 있는 네트워크로 패킷 전송을 유도(변경)할 수 있다.

Ping (포트스캐닝)

 

  • 완전 TCP 연결을 통한 포트 스캐닝 - 3 way handshake를 하여 완전한 연결을 설정
  • 반 연결 (half-open connection)을 통한 포트 스캐닝
    • 공격자는 SYN 세그먼트를 보내고 SYN-ACK 응답을 받는다.
    • 더 이상의 ACK는 하지 않는다.
  • Zombie scanning - TCP 연결을 통해 포트 스캐닝을 했다는 흔적을 남기지 않는다.
  • TCP ACK 스캔 - 방화벽에 열려있는, 즉 방화벽을 통과할 수 있는 포트 번호를 찾는다.

TCP 연결 설정 - 3 way handshake

 

  1. 세 번의 TCP 세그먼트의 교환으로 연결을 설정한다.
  2. 첫번째 세그먼트는 SYN flag 값을 1로 하고 초기 seq을 알려준다.(다른 내용은 없음)
  3. 두번째 세그먼트는 SYN ACK flag값을 1로 하고, ACK 값을 적음
  4. 세번째 세그먼트는 ACK flag값을 1로 하고, ACK 값을 적음

 

 


Zombie scanning

  • 공격자는 공격(스캔)을 대행할 호스트(zombie)의 IP 주소 를 이용한다. (source address spoofing)
  • 나중에 zombie 호스트로부터 받은 패킷의 IPID 값으로 공격 대상 호스트의 특정 포트가 열려 있는지를 판단한다.
  • 공격 대상 호스트는 연결을 요청한 호스트는 zombie로 기록되고 실제 공격자는 알지 못한다.

 

공격 대상 호스트의 포트가 열려있다면.

공격 대상 호스트의 포트가 열려있을 때

  1. 공격자가 공격 대상(T)한테 SYN과 ACK를 보내면
  2. 공격 대상(T)은 공격자가 SYN부터 보내오지 않았기에 일반적인 3 way handshake가 아니다. 그래서 비정상적인 요청이기 때문에 RST (Rest)과 IPID = x를 보낸다. 여기서 공격자의 목적은 IPID = x이다.
  3. 그리고 공격자는 Zombie PC한테 공격 대상의 포트로 SYN을 보낸다.
  4. 그러면 Zombie PC는 공격대상(T)에게 SYN을 받았다고 생각해서 공격대상(T)에게 SYN-ACK를 보낸다. 
  5. 그런데 공격대상(T)가 SYN을 보낸적이 없는데 SYN-ACK 요청이 오니깐 Zombie PC에게 RST (Rest)과 IPID = x+1을 보낸다.
  6. 그리고 공격자는 IPID가 x+1이라는것을 알고있고 다시 SYN-ACK를 공격대상(T)에게 보낸다
  7. 공격대상(T)는 RST (Rest)과 IPID = x+2 보낸다. 
  8. 결론 : 공격자는 IPID가 x+2 인걸 알고 2라는 짝수가 오면 공격자는 공격대상자의 포트가 열려있다는 것을 알 수 있다.

 

공격 대상 호스트의 포트가 닫혀있다면.

공격 대상 호스트의 포트가 닫혀있을 때

  1. 공격자가 공격 대상(T)한테 SYN과 ACK를 보내면
  2. 공격 대상(T)은 공격자가 SYN부터 보내오지 않았기에 일반적인 3 way handshake가 아니다. 그래서 비정상적인 요청이기 때문에 RST (Rest)과 IPID = x를 보낸다. 여기서 공격자의 목적은 IPID = x이다.
  3. 그리고 공격자는 Zombie PC한테 공격 대상의 포트로 SYN을 보낸다.
  4. 그러면 Zombie PC는 공격대상(T)에게 SYN을 받았다고 생각해서 공격대상(T)에게 연결을 시도하려고 했으나 포트가 열려있지 않아서 RST를 보낸다.
  5. 공격자는 다시 공격대상(T)에게 SYN-ACK을 보내본다.
  6. 공격대상(T)는 Zombie PC와 아에 echo가 발생하지 않았기 때문에 IPID가 x+1이 아닐 것이다. 그래서 공격대상(T)는 RST와 IPID = x+1를 공격자한테 보낸다.
  7. 결론: 공격자는 IPID가 x+1 인걸 알고 1이라는 홀수가 오면 공격자는 공격대상자의 포트가 열려있다는 것을 알 수 있다.

 


TCP ACK 스캔

  • 공격자는 3-way handshake 없이 ACK 비트를 세팅하고 패킷을 보낸다
  • ACK패킷은 패킷필터를 통과한다면, 이 ACK 패킷을 받은 수신 프로세스는 RST비트 를 세팅하여 보낸다.
    • SYN-ACK에 대한 응답 패킷이 아니므로 (프로토콜을 위반한 패킷)
  • 이와 같이 하여 공격자는 포트 1302가 현재 방화벽에서 열려 있는 것을 알 수 있다.

 

'서버 > 암호' 카테고리의 다른 글

방화벽 (Firewall)  (0) 2021.08.02
Spoofing (속이기)  (0) 2021.07.29
네트워크 공격  (0) 2021.07.29
ICMP 질문 메시지(Query)  (0) 2021.07.29
ICMP 에러 보고 메시지  (0) 2021.07.29
728x90
  • 원래 인터넷 프로토콜(TCP/IP protocol suite)은 네트워크 공격이 라는 것을 사실상 전혀 고려하지 않고 만들어졌다.(모두 신뢰할 수 있는 사용자일 것으로 가정)
  • 그래서 프로토콜에는 쉽게 공격에 이용당할 수 있는 취약점이 존재한다.
  • 인터넷 초기 이러한 유형의 네트워크 공격이 등장했다. 지금은 프 로토콜을 세심하게 운용하여 모두 방어를 하고 있다고 볼 수 있다.
  • 하지만 아직 우리가 발견하지 못한 네트워크 프로토콜의 취약점이 존재할 수도 있다.

네트워크 공격의 유형

공격의 절차

  • 공격자는 공격의 대상(victim)을 찾는다. - 호스트혹은TCP연결혹은응용프로토콜세션
  • 공격의 완성은 연결 혹은 세션을 갈취(hijacking)하여 공격자 의도대로 패킷을 주고 받는 것이라고 할 수 있다.
  • Snooping (sniffing) - 정찰(탐색)
  • Spoofing - 속이기
  • 하이재킹 (hijacking)

'서버 > 암호' 카테고리의 다른 글

Spoofing (속이기)  (0) 2021.07.29
Snooping (sniffing) – 정찰(탐색)  (0) 2021.07.29
ICMP 질문 메시지(Query)  (0) 2021.07.29
ICMP 에러 보고 메시지  (0) 2021.07.29
부트킷 (bootkit)  (0) 2021.07.29
728x90
  • Echo request/reply: 내용은 없고 그대로 응답
  • Timestamp request/reply: ICMP 질의메세지가 두 시스템간에 왕복하는데 소요된 시간 또는 시간차를 파악
  • Address-mask request/reply : 서브넷 마스크를 알고 싶을 때
  • Router solicitation/advertisement: 디폴트 라우터가 누구인지 알고 싶거나 알려줄 때

 

'서버 > 암호' 카테고리의 다른 글

Snooping (sniffing) – 정찰(탐색)  (0) 2021.07.29
네트워크 공격  (0) 2021.07.29
ICMP 에러 보고 메시지  (0) 2021.07.29
부트킷 (bootkit)  (0) 2021.07.29
루트킷 (rootkit)  (0) 2021.07.29
728x90
  • Destination unreachable: 목적지를 못 찾을 때
  • Source Quench: 수신하는 버퍼의 크기가 모자랄 때
  • Time exceeded: time-to-live값이 0이 되었을 때
  • Parameter problems: 예, do not fragment 비트가 설정되었을 때
  • Redirection: 더 좋은 경로가 존재할 때

 

'서버 > 암호' 카테고리의 다른 글

네트워크 공격  (0) 2021.07.29
ICMP 질문 메시지(Query)  (0) 2021.07.29
부트킷 (bootkit)  (0) 2021.07.29
루트킷 (rootkit)  (0) 2021.07.29
이진 분류기(binary classifier)의 결과 분류  (0) 2021.07.29
728x90
  • Bootkit은 boot + rootkit의 합성어로 부팅 시에 운영체제 보다 먼저 실행되도록 한 루트킷을 말한다.
  • 2006년 Black Hat Briefings에서 시연된 Blue Pill 프로젝 트가 최초로 구현된 bootkit이다.
  • 운영체제보다 위에서 실행되어 운영체제 및 그 밑에서 도는 보안 소프트웨어를 완전히 속일 수 있다.

 

대응책
  • 시큐어 부트 (Secure Boot) - Windows 8 이후로 적용된 Secure Boot는 PC 펌웨어 표준인 UEFI에서 제공하는 보 안 기능으로, 펌웨어를 디지털 서명으로 검증하는 기능 이다.

 

http://lpccs-docs.dialog-semiconductor.com/da14683_secure_boot/secure_boot_overview.html

'서버 > 암호' 카테고리의 다른 글

ICMP 질문 메시지(Query)  (0) 2021.07.29
ICMP 에러 보고 메시지  (0) 2021.07.29
루트킷 (rootkit)  (0) 2021.07.29
이진 분류기(binary classifier)의 결과 분류  (0) 2021.07.29
익스플로잇 (exploit)  (0) 2021.07.27
728x90

How a rootkit avoids detection Source: Downloaded from  http://www.zillablog.com/2008/05/21/rootkits-a-growing-threat

  • Rootkit은 원래 공격자가 root 권한을 얻은 뒤 시스템에 설치하는 kit라는 뜻이다.
  • 윈도우에서는 시스템에 설치되어 멀웨어의 동작을 은폐 하는 소프트웨어를 말한다.
  • 주로 커널 드라이버 형태로 만들어져 운영체제와 동일 한 권한을 가진 채로 동작한다
    • 루트 권한으로 시스템 자원에 접근 가능
  • 2005년에는 소니 사의 음악 CD에 복사 방지 목적으로 루트킷이 내장되어 논란이 된 적이 있다.
대응책
    • GMER - 2004년에 처음 만들어진 프로그램으로, Rootkit의 존재 여부를 전문적으로 검사해 준다. ( http://www.gmer.net/ )
    • 코드 서명 (Code signing) - 어떤 프로그램이 신뢰할 만한 것임을 증명하기 위해 신뢰할 수 있는 기관으로 부터 서명된 디지털 서명을 이용한다. 64비트 윈도우에서는 디지털 서명된 커널 드라이버만 로드가 가능하게 하여, kernel mode rootkit의 실행을 방지한다.
    • 커널 패치 보호 (KPP) - 윈도우 커널의 무결성을 체크하여 후킹(hooking)과 같은 시스템 변조가 감지될 때 컴퓨터를 즉시 재부팅시킨다. 후킹이란 소프트웨어 구성 요소 간에 발생하는 함수 호출, 메시지, 이벤트 등을 중간에서 바꾸거나 가로채는 행위이다.

'서버 > 암호' 카테고리의 다른 글

ICMP 에러 보고 메시지  (0) 2021.07.29
부트킷 (bootkit)  (0) 2021.07.29
이진 분류기(binary classifier)의 결과 분류  (0) 2021.07.29
익스플로잇 (exploit)  (0) 2021.07.27
멀웨어(malware)  (0) 2021.07.27
728x90
이진 분류는 분류 규칙에 따라 집합의 요소를 두 그룹으로 분류하는 작업입니다

참 양성(true positive, TP)
참 음성(true negative, TN)
거짓 양성(false positive, FP)

거짓 음성(false negative, FN)

  Virus 있음 Virus 없음
Pos. (있음)으로 판명 TP (True Positive) FN (False Negative)
Neg. (없음)으로 판명 FP (False Positive) TN (True Negative)

 

평가 점수

정확도 (accuracy)

       ACC=(TP+TN)/(TP+TN+FP+FN)

 

정밀도 (precision) - 실제 virus가 있는데, 있다고 판명한 경우

       PPV = TP / (TP + FP)

 

재현율 (recall) - virus가 있다고 판명했는데 실제 virus가 있는 경우

       TPR = TP / (TP + FN)

 

거짓 경보 (false alarm) - virus가 없다고 판명했는데 실제 virus가 있는 경우

       FPR = FP / (FP + TN)

 

 


예시

다음은 안티바이러스 프로그램의 성능 평가 실험을 한 결과이다.

  • 실험을 한 총 파일은 1200개이다.
  • 이 중에서 악성코드가 있는 파일의 수는 100개이다.
  • 실험 결과 악성 코드가 있는 파일 중에서 90개의 파일이 악성 코드가 있는 것으로 판명 되었다.
  • 실험 결과 악성 코드가 없는 파일 중에서 1000개의 파일이 악성 코드가 없는 것으로 판 명되었다.

(1) 이 안티바이러스의 정밀도(precision)는 얼마인가?

(2) 이 안티바이럿의 재현율(recall)은 얼마인가?

(3) 거짓 경보(false alarm)는 얼마인가?

(4) 정확도(accuracy)는 얼마인가? 

 


풀이

  Virus 있음 Virus 없음
Pos. (있음)으로 판명 TP = 90 FN = 100
Neg. (없음)으로 판명 FP = 10 TN = 1000

(1) 이 안티바이러스의 정밀도(precision)는 얼마인가?

       답 : TP / (TP + FP) = 90 / 100

 

(2) 이 안티바이럿의 재현율(recall)은 얼마인가?

       답 :  TP / (TP + FN) = 90 / 190

 

(3) 거짓 경보(false alarm)는 얼마인가?

       답 :  FP / (FP + TN) = 10/1010

 

(4) 정확도(accuracy)는 얼마인가? 

       답 :  (TP + TN) / (TP + TN + FP + FN) = 1090 / 1200

 

 

'서버 > 암호' 카테고리의 다른 글

부트킷 (bootkit)  (0) 2021.07.29
루트킷 (rootkit)  (0) 2021.07.29
익스플로잇 (exploit)  (0) 2021.07.27
멀웨어(malware)  (0) 2021.07.27
TLS 내부  (0) 2021.03.25

+ Recent posts