본문 바로가기

Security/용어정리

정보 수집(Scan) 종류 및 탐지

어떤 서버나 시스템을 공격하기전에 서버 혹은 시스템의 취약점, Network 경로, 방화벽 설치 유무를 알아내고 정보를 수집하는 공격방법

 Finger
  
- 공격 방법 : 대상 서버에 공격을 하기 위해서 어떤 계정이 등록되어 있는지를 확인하는 방법으로 사용됨
     계정 확인이 완료되면 Password를 Crack 프로그램을 이용하여 Crack한 다음, 서버에 직접 접속을 하여 정보
     위조, 변조, 갈취행위를 함
  - 탐지 방법
    1. 공격자가 보낸 TCP Packet을 분석하여 Finger 서비스를 확인한다.
    2. 공격자가 Packet을 보내는 횟술르 Count하여 공격 인정 시간 내에 공격 인정 회수이면 Finger 공격으로 탐지
  - 조치 방법
     공격 클라이언트와 서버에 Reset 신호를 보내어 해커가 정보를 획득하지 못하도록 한다. 
     서버에 불필요한 서비스를 Disable하고, 방화벽에서 Finger port를 차단한다.

 Host Sweeping
 - 공격 방법 : 각종 정보를 파악할 수 있는 기법 ( FingerPrint, Pingm Port Scan 등 )을 동원하여 각종 서버의 정보를
    동시 다발적으로 파악하는 방법
 - 탐지 방법 : 한 클라이언트 ( Attacker )가 여러 서버를 순차적으로 Scan할 경우 Host Sweeping으로 간주
 - 조치 방법 : 이러한 정보를 관리자에게 주지시켜 집중적으로 관찰하도록 한다.

 SYN Port Scan
 - 공격 방법 : 대상 컴퓨터 ( Server )에 해킹하기 위해서 대상 컴퓨터가 TCP/IP의 어떤 포트를 Open하여 서비스를
    하는지 알아내기 위한 방법으로 포트 번호 0번으로 부터 65,636번 포트까지 순차적 또한 무순위로 SYN을 보내어
    서버가 응답하는 SYN/ACK를 확인한다.
    대상 System의 Port와 완전한 Connection을 연결하지 않는다. 즉, 3-Way Handshake과정을 모두 수행하지 않고,
    이 중 2가지 과정 만을 수행하며 RST Packet은 보내지 않는다. ( Half-Open )
    보안 설정이 잘 된 일부의 System에서만 Log 기록이 남기 때문에 감지하기 어렵다
 - 탐지 방법 
    1. 공격자가 보낸 Packet에서 TCP를 분석한다.
    2. TCP Header의 Flag가 TH_SYN이면서 대상 Port가 매번 다르면 TCP Port Scan 공격으로 간주함
    3. 공격자가 보내는 Packet의 횟수를 Count하여 공격 인정 시간 내에 공격 인정 횟수이면 TCP Port Scan으로 
       탐지한다.
 - 조치 방법 : 관리자에게 이러한 사실을 알리고, 관리자는 서버의 불필요한 서비스 포트를 Disable함으로서 공격의
    피해를 최소화 할 수 있다. 또한 방화벽에서 불필요한 서비스를 Close한다. 
 
 Trace Route
 - 공격 방법 : 공격을 하귀 위해서 Network 경로를 파악하기 위한 방법으로 사용한다. 또한 F/W 설치 여부를 확인
    하기 위해 사용됨
 - 탐지 방법 
  1. 공격자가 보낸 Packet에서 IP를 분석한다.
  2. IP Header의 TTL을 확인하여 1이면 ICMP Traceroute로 간주한다.
  3. 공격자가 보내는 Packet의 횟수를 Count하여 공격 인정 시간 내에 공격 인정 횟수 이면 ICMP Traceroute로 탐지
 - 조치 방법 : 집중적으로 관찰하거나 침입 차단 시스템에서 차단함

 FIN Port Scanning
 - 공격 방법 : 일반적인 TCP Port Scanning에 대한 더 빠른 대안으로 사용 될 수 있다.
    Listening TCP Port를 찾기 위해, TCP FIN 패킷에 대해 호스트가 응답하는 것을 관찰하여 Scan한다. Scanner가
    어떤 포트를 Listen 하고 있는지를 추정하는 방법은, 대상 호스트가 FIN이 Listening Port로 전송되었을 때는 응답
    이 없고, Non-Listening Port로 전송 되었을 때에만 응답을 보내주는 성질을 이용하는 것으로 Port가 실제로 TCP
    연결을 초기화하지 않고 검사되지 때문에 이와 같은 종류의 Scan은 Stealth Scan이라 불리기도 한다.
 - 탐지 방법
   1. 공격자가 보낸 Packet에서 TCP를 분석한다.
   2. TCP Header에 설정된 Flag가 TH_FIN으로 설정되어 있으면 공격으로 간주한다.
   3. 공격자가 보내는 Packet의 횟수를 Count하여 공격 인정 시간 내에 공격 인정 횟수 이면 TCP FIN Scan으로 탐지
 - 조치 방법 : 이 Scanner는 어느 TCP Port가 Listening하고 있는지를 보고한다. 그 포트들이 승인된 서비스를 실행
   시키고 있는지를 알기 위하여 포트들을 검하한다. 만일 설명이 없거나 원치 않는 서비스를 실행시키고 있다면 그
   포트들을 불능 상태로 해두는 것이 바람직하다. 많은 운영체제가 정상적인 동작을 위해 필요한 서비스를 많이 탑재
   하고 있다 어떤 경우 이 서비스들은 알려지거나 알려지지 않은 보안 문제를 가지고 있을지 모르므로 필요하지 않은
   서비스들은 불능 상태로 하는 것이 좋다. 또한 방화벽에서 불필요한 서비스를 Close한다.

 RPC Port Map Dump
 - 공격 방법 : 대상 컴퓨터에 해킹하기 위하여 대상 컴퓨터가 RPC의 어떤 포트를 Open하여 서비스를 하는지 알아
    내는 방법
 - 탐지 방법
   1. 공격자가 보낸 Packet에서 TCP를 분석한다.
   2. TCP Header를 분석한 결과 RPC Service이면 RPC 정보를 분석하여 RPC rm_call의 cb_procdl이 4이고 RPC
      Version이 2이면 SUN RPC Service로 판단한다.
   3. 공격자가 보내는 Packet의 횟수를 Count하여 공격 인정 시간 내에 공격 인정 횟수 이면 RPC Port Map Dump로 
      탐지
 - 조치 방법 : 관리자에게 이러한 사실을 알리고, 관리자는 서버의 불필요한 서비스 포트를 Disable함으로서 공격의
    피해를 최소화 할 수 있다. 또한 방화벽에서 불필요한 서비스를 Close한다.

 RPC Port Map Get Port
 - 공격 방법 : 대상 컴퓨터에 해킹하기 위하여 대상 컴퓨터가 RPC의 어떤 포트를 Open하여 서비스를 하는지 알아
    내는 방법
 - 탐지 방법
   1. 공격자가 보낸 Packet에서 TCP를 분석한다.
   2. TCP Header를 분석한 결과 RPC Service이면 RPC 정보를 분석하여 RPC rm_call의 cb_procdl이 3이고 RPC 
      Version이 2이면 SUN RPC Service로 판단한다.
   3. 공격자가 보내는 Packet의 횟수를 Count하여 공격 인정 시간 내에 공격 인정 횟수 이면 RPC Port Map Dump로
      탐지
 - 조치 방법 : 관리자에게 이러한 사실을 알리고, 관리자는 서버의 불필요한 서비스 포트를 Disable함으로서 공격의
    피해를 최소화 할 수 있다. 또한 방화벽에서 불필요한 서비스를 Close한다.

 XMAS Port Scan
 - 공격 방법 : 대상 컴퓨터에 해킹하기 위하여 대상 컴퓨터가 TCP/IP의 어떤 포트를 Open하여 서비스를 하는지
    알아내기 위한 방법으로 포트 번호 0번 부터 65,535번 포트까지 순차적으로 또는 무순위로 FIN, URG, PUSH등의
    신호를 보내어 서버가 응답하는 RESET 신호를 확인한다. ( Probe Packet에서 FIN, URG, PUSH Flag를 사용하는
    것이 Scan-FIN과 다르고 그 외는 동일하다. )
 - 탐지 방법
   1. 공격자가 보낸 Packet에서 TCP를 분석한다.
   2. TCP Header의 Flag에 TH_FIN, TH_URG, TH_PUSH 조합이 설정되어 있거나, TH_URG가 설정되어 있거나 
      TH_PUSH가 설정되어 있거나 TH_FIN, TH_URG 조합으로 설정되어 있거나 TH_FIN, TH_PUSH 조합으로
      설정되어 있거나, TH_URG, TH_PUSH 조합으로 설정되어 있는지 확인하여 이 경우에 포함되면 TCP Xmas
      Scan 공격으로 Scan한다.
  3. 공격자가 보내는 Packet의 횟수를 Count하여 공격 인정 시간 내에 공격 인정 횟수 이면 TCP Xmas Scan로 탐지
 - 조치 방법 : 관리자에게 이러한 사실을 알리고, 관리자는 서버의 불필요한 서비스 포트를 Disable함으로서 공격의
    피해를 최소화 할 수 있다. 또한 방화벽에서 불필요한 서비스를 Close한다.
 
 NULL Port Scan
 - 공격 방법 : 대상 컴퓨터에 해킹하기 위해서 대상 컴퓨터가 TCP/IP의 어떤 포트를 Open하여 서비스를 하는지 
    알아내기 위한 방법으로 포트 번호 0번 부터 65,535번 포트까지 순차적으로 또는 무순위로 NULL을 보내어 서버가
    응답하는 RESET 신호를 확인한다. Probe Packet에서 모든 Flag를 꺼놓은 것 외에는 Scan-FIN과 동일하다.
 - 탐지 방법
   1. 공격자가 보낸 Packet에서 TCP를 분석한다.
   2. TCP Header에 설정된 Flag가 없으면 TCP NULL Port Scan으로 간주
   3. 공격자가 보내는 Packet의 횟수를 Count하여 공격 인정 시간 내에 공격 인정 횟수 이면 TCP NULL Scan로 탐지
 - 조치 방법 : 관리자에게 이러한 사실을 알리고, 관리자는 서버의 불필요한 서비스 포트를 Disable함으로서 공격의
    피해를 최소화 할 수 있다. 또한 방화벽에서 불필요한 서비스를 Close한다.

 UDP Port Scan
 - 공격 방법 : 대상 컴퓨터에 해킹하기 위해서 대상 컴퓨터가 UDP의 어떤 포트를 Open하여 서비스를 하는지 알아
    내기 위한 방법으로 포트 번호 0번 부터 65,535번 포트까지 순차적으로 또는 무순위로 Data을 보내어 서버가 ICMP
    로 응답하는 것을 확인 0Byte UDP Packet을 이용하여 대상 System의 OS정보 및 혀냊 사용 중인 Server Port등의
    정보를 알아 낼 수 있으며 ( 대상 Port에서 UnReachable Message가 오는가의 여부로 알 수 있다. ) 이를 이용하
    여 300000번 이상의 Port 정보도 알아낼 수 있다. 단, 대부분의 OS에서 시간당 생성 가능한 UnReachable
    Message 개수를 제약하고 있기 때문에, Scanning 속도가 굉장히 늦다.
    방법 : Root 권한으로 #> nmap -sU 168.126.1.1실행
 - 탐지 방법 
   1. 공격자가 보낸 Packet에서 UDP를 분석한다.
   2. UDP LoopBack, Snork Attack을 확인하여 탐지되지 않으면 UDP Port Scan 공격으로 간주한다.
   3. 공격자가 보내는 Packet의 횟수를 Count하여 공격 인정 시간 내에 공격 인정 횟수 이면 UDP Port Scan로 탐지
 - 조치 방법 : 관리자에게 이러한 사실을 알리고, 관리자는 서버의 불필요한 서비스 포트를 Disable함으로서 공격의
    피해를 최소화 할 수 있다. 또한 방화벽에서 불필요한 서비스를 Close한다.

 FingerPring ( OS Scan )
 - 공격 방법 : TCP/IP 패킷을 구현함에 있어서 OS마다 구현 방식이 다른 점을 이용하여 여러가지 TCP/IP 패킷을
    특정 서버의 OS를 파악한 다음 해킹의 자료로 사용한다.
 - 탐지 방법 
   1. 공격자가 보낸 Packet에서 TCP를 분석한다.
   2. TCP Header의 Flag에 TH_BOG이거나 TH_PUSH이거나 TH_SYN, TH_FIN, TH_RST 조합이거나 TH_URG이거나
      TH_SYN이고  TH_FIN, TH_RST 조합이면 TCP OS Scan 공격으로 간주한다.
   3. 공격자가 보내는 Packet의 횟수를 Count하여 공격 인정 시간 내에 공격 인정 횟수 이면 TCP OS Scan로 탐지
 - 조치 방법 : FingerPrint로 탐지되면 SNIPER가 Client에게 예상하지 못하는 패킷을 보내어 OS를 파악하지
    못하도록 한다. 또한 이러한 정보를 System, Network 관리자에게 알려 집중 관리하도록 한다.

'Security > 용어정리' 카테고리의 다른 글

웹방화벽  (0) 2010.08.01
OWASP Top10 2010  (0) 2010.07.22