네트워크 보안 관련

Posted by ironmask84
2017. 3. 23. 13:15 컴퓨터공학/Security


1. ARP Spoofing
: 논리주소(IP) -> 물리주소(MAC) 로 변환해주는 프로토콜인 ARP를 이용하여,
  ARP Request를 계속해서 보냄으로써 공격대상 통신장비에 ARP Cache Table에 저장되어 있는
  임의의 IP, MAC 주소를 자신의 주소로 변경시켜서, 통신데이터를 Sniffing 하는 공격
--> arp -s ip주소 명령어로 정적주소로 타입을 등록함으로 ARP Cache Table 변경을 막는 방법이 있다.

2. ping, traceroute
: ping은 TCP/IP방식의 3계층인 IP프로토콜의 신뢰할 수 없는 전송을 관리해주는 ICMP의 메세지 중
  echo request(type 8), echo reply(type 0)을 이용하여, 네트워크 속도 및 손실률을 검사하는 유틸이다.

: traceroute는 여러 중계 라우터 각 구간에 대한 네트워크 상태를 관리하는 유틸
  ICMP 메세지 중 Time Exceeded(Type 11)와 Destination Unreachable(Type 3)을 이용하고,
  IP헤더에 포함된 TTL(Time To Live) 을 이용한다.

3. ICMP Redirect 공격
:   ICMP Redirect는 라우터만이 보낼수 있는데, 이를 공격자가 자신이 라우터 인것처럼 보이기 위해 IP헤더에
    source ip를 라우터의 주소로 위조하여 보내고, 라우팅 테이블을 변조시킨다.
   보안상의 이유로 일반적으로 OS에서 ICMP Redirect 옵션을 기본적으로 해제한다.
   리눅스에서는 sysctl -w 명령어 이용

4. ifconfig eth1 promisc (2계층 스위치 관련): 자신에게 온 패킷이 아니어도 다 받는다. Sniffing 목적 

5. DNS Spoofing 공격 (DNS는 도메인명 -> IP주소 로 변경해주는 것)
: 희생자가 DNS 쿼리를 수행하면 공격자가 이를 스니핑하고 있다가 희생자 호스트에 위조된 웹사이트로 접속하는
  DNS응답을 보내 위조된 주소로 접속하게 만드는 공격이다. DNS는 UDP를 이용하므로 비연결이라는 특성의 취약점을
  이용하여, 트랜잭션ID만 일치하면 먼저 들어온 응답을 신뢰하는 특성 이용한 것
  --> 중요한 사이트는 hosts 파일에 등록하여, DNS응답보다 우선순위가 높은 hosts파일을 참조하도록 하여 해결 


** 참조 우선순위 : hosts파일 -> 호스트의 dns cache -> resolv.conf파일에 등록된 dns서버정보에 질의

6. DNS Cache Poisoning
: DNS서버의 캐시 메모리에 위조된 데이터를 저장하여 호스트는 이 위조된 정보를 사용하도록 유도는 방식의 파밍 공격
  해당서버에 접근하는 호스트들이 위조된 정보를 응답받으므로 피해가 크다.
  DNS서버가 질의를 받을때, 자신의 Cache에 해당 정보가 없으면 Root DNS서버부터 순환질의를 하는데,
  이틈에 해당 DNS서버에 공격자가 Cache에 정보를 먼저 업데이트 시켜버린다.
  --> DNSSEC 기술을 이용 (기존 DNS에서 공개키 암호화  기능을 추가 부여)
  --> named.conf 파일을 수정하여 재귀적 질의 제한, zone transfer파일 제한

7. DNS Lookup 하는 명령어 (도메인 -> IP주소)
   1) nslookup
   2) dig : nslookup을 대체하기 위함, 리눅스 및 유닉스 계열에는 기본 설치

8. DHCP : 동적으로 클라이언트의 네트워크 주소 (IP)를 설정하기 위한 프로토콜
   * DHCP Starvation 공격 : 할당가능한 IP를 모두 소진하게 만들어  IP할당이 불가능하게 하는 공격
     --> 서로다른 MAC주소로 대량으로 보냄 -> 이에대한 offer 오면 -> request메세지까지 보내고 실제로는 할당안함

9. DDOS : C&C서버(Command & Control)를 이용하여, Bot/좀비PC 들을 컨트롤하여, 타겟을 공격한다.
   ex1) DNS Query Flooding : UDP프로토콜 기반의 서비스를 제공하는 DNS에 대해 DNS쿼리 데이터를 다량으로 서버에
          전송하여 DNS의 정상적인 서비스를 방해
   ex2) TCP SYN Flooding : 공격자는 다량의 SYN패킷을 서버로 전달하여 서버가 새로운 클라이언트의 연결요청을
          처리하지 못함 (syn+ack 받고, ack를 보내지 않아서 처리되지 않은 정보를 계속 쌓이게 만든다.)
   ex3) HTTP Get Flooding : 공격자는 동일한 URL을 반복 요청하여 웹서버가 URL에 대해 데이터를 클라이언트에게 회신하기 위한 서버자원을 사용하도록 공격

10. DRDOS (Distributed Reflection DOS)
: 공격자는 출발지 IP를 공격대상의 IP로 위조하여 다수의 반사서버로 요청정보를 전송,
  공격대상은 반사서버로 부터 다수의 응답을 받아 서비스 거부상태가 됨

  * 공격근원지를 파악하기 어렵다. (출발지 IP를 변조하여, 공격트래픽이 수많은 반사서버를 경유하므로)
  * 좀비PC의 공격트래픽 효율이 증가한다. 반사서버는 syn+ack 패킷에 대한 응답이 없는경우 일정횟수 재전송을
    수행하기 때문에 공격자가 전송하는 syn패킷보다 몇배많은 syn+ack 패킷이 타켓에 전송된다.

** 해결방법
: IP주소가 위조된 패킷이 인터넷망에 유입되지 않도록 ISP가 직접 차단
  반서서버에게는 icmp프로토콜이 필요없는 시스템은 해당프로토콜을 차단