본문 바로가기

전공 공부/정보보안개론

ch.3 네트워크 보안 / 연습문제

728x90

1. 네트워크의 이해

2. 서비스 거부 공격 DOS, DDOS

3. 스니핑 공격

4. 스푸핑 공격

5. 세션 하이재킹 공격

6. 무선 네트워크 공격과 보안

 

 -OSI 7 계층

1. 물리계층 : 시스템 간의 연결을 의미하는 것으로 랜 케이블, 전화선, 동축 케이블 등등 사용

   ex) UTP(Unshielded Twisted Pair), FTP(foil Screened Twisted Pair Cable), STP(Shielded Twisted Pair Cable)

 

2. 데이터 링크 계층 : ptp신뢰성 있는 전송을 보장. CRC기반의 오류제어 및 흐름 제어 필요.

    MAC 주소 할당 / MAC 주소는 총 12개의 16진수로 구성되어 있고 앞쪽 6개의 16진수는 네트워크 카드를 만든  회사를 나타내며 OUI(Organizational Unique Identifier)라고 함. 뒤쪽 6개는 각 회사에서 임의로 붙이는 시리얼(host identifier)

   oui / host identifier

 

3. 네트워크 계층 : 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할을 함(라우팅, 흐름 제어, 세그먼테이션, 오류제어 수행..)

 - 네트워크 계층에서의 패킷 전달 구조

    전송 계층까지의 패킷 정보(1001011010..) / 네트워크 계층의 패킷 정보(출발지 IP / 목적지 IP) /                              데이터 링크 계층의 정보(출발지 MAC 주소 / 목적지 MAC 주소)=랜을 벗어나기 위한 게이트웨이의 MAC 주소를          적어야 한다. ARP사용.

 #기본 게이트웨이 : 패킷을 생성할 때 로컬 랜에서 목적지 IP를 확인할 수 없는 경우에는 모든 패킷이 기본                    게이트웨이로 전달된다.

라우터로 갈 때 2층에 있는걸 2층에서의 정보를 다 벗겨내고 3층 이상의 정보만 챙겨서 간다.

 

4. 전송계층 : 양 끝단(end to end)의 사용자들이 신뢰성 있는 데이터를 주고받을 수 있도록 하여 상위 계층이 데이터 전달의 유효성이나 효율성을 신경 쓰지 않게 해 준다.

 포트는 시스템에서 구동되는 응용 프로그램이 네트워킹을 하기 위해 자신에게 해당되는 패킷을 식별하기 위해 사용.

 0~ 1023번까지는 잘 알려진 포트(well known port)

 21 FTP / 23 TELNET / 25 SMTP / 53 DNS / 69 TFTP / 80 HTTP / 110 POP3 / 111 RPC / 138 NETBIOS / 143 IMAP..

세션 계층까지의 패킷 정보 / 전송 계층의 패킷 정보 / 네트워크 계층의 패킷 정보 / 데이터 링크 계층의 패킷 정보

     010101010..               출발지 포트 목적지 포트    출발지 IP 목적지 IP          출발 MAC 목적지 MAC

 

3 웨이 핸드 셰이킹(3 WAY-HANDSHAKING) - 연결

1. 서버는 항상 켜져 있는 상태로 가정하고 클라이언트가 SYN [SYN SENT 상태]

2. 서버는 SYN을 받고 허락인 ACK와 같이 클라이언트에 보냄 [SYS RECEIVED 상태]

3. 서버의 응답을 확인했다는 표시로 ACK 패킷을 서버에 보낸다 [ESTABLISHED 상태]

 

연결 해제

1. 통신하는 중이므로 클라이언트와 서버 모두 ESTABLISHED 상태

2. 통신을 끊는 건 클라이언트가 먼저 하는 것이니 클라이언트가 서버에 FIN 패킷을 보낸다.

3. 서버는 요청을 확인 후 응답으로 클라이언트한테 ACK 패킷 보낸다. 또 연결을 종료하겠다는 의미로 FIN도 보낸다

4. 클라이언트는 서버의 응답을 확인하고 확인용으로 서버에 ACK 패킷을 보낸다

 

5. 세션 계층 : 양 끝단의 응용 프로세스가 통신을 관리하는 방법을 제공

    동시 송수신 방식, 반이중, 전이중 방식의 통신과 함께 체크 포인팅, 유휴, 종료, 다시 시작의 과정을 수행

 

6. 표현 계층 : 코드 간의 번역을 담당 사용자. 시스템에서 데이터 구조를 하나의 통일된 형식으로 표현하여 응용                프로그램 계층의 데이터 형식 차이로 인한 부담을 덜어주는 것. [ASN.1(Abstract Syntax Notation1)]

  ASN.1은 계층 간의 서로 다른 표현을 인식하기 위해 정보를 정의하고 데이터의 압축과 암호화 기능을 수행.

 

7. 응용 프로그램 계층 : 사용자나 응용 프로그램 사이에 데이터 교환이 가능하게 하며 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행. HTTP, FRP, 터미널 서비스, 메일 프로그램, 디렉터리 서비스 등 제공.

 

 

-서비스 거부 공격 : Dos와 DDoS

 

분산 서비스 거부 공격(Distributed Denial of Service) : 공격자가 한 지점에서 서비스 거부 공격을 수행하는 것을 넘어

광범위한 네트워크를 이용해 다수의 공격 지점에서 동시에 한 곳을 공격하는 형태의 서비스 거부 공격.

1. DOS

 +취약점 공격형 : 공격 대상이 특정 형태의 오류가 있는 네트워크 패킷의 처리 로직에 문제가 있을 때 그것을 이용해 오작동을 유발하는 형태.

EX)-보잉크(Boink), 봉크(Bonk), 티어드롭(TearDrop)

: 프로토콜의 오류 제어 로직을 악용하여 시스템 자원을 고갈시키는 방식.

TCP 프로토콜은 데이터 전달의 유효성이나 효율성을 위해 시퀀스 넘버 기반의 오류 제어 방식을 사용해 특정 연결의 유효성을 제어함(패킷의 순서가 올바른지 확인 / 중간에 손실된 패킷이 없는지 확인 / 손실된 패킷의 재전송을 요구)

따라서 TCP는 데이터 전송 시 신뢰도를 확보하기 위해 패킷 전송에 문제가 있으면, 반복적으로 재요청과 수정을 한다.

위의 공격들은 공격 대상이 반복적인 재요청과 수정을 계속하게 함으로써 시스템 자원을 고갈시킨다.

-> TCP 패킷 안에는 각 패킷이 데이터의 어느 부분을 포함하고 있는지 표시하기 위해 시퀀스 넘버가 기록되는데 이를 패킷 재전송과 재조합에 과부하가 걸리도록 해서 시퀸스 넘버를 속인다.

 

-티어드롭 : 패킷의 시퀸스 넘버와 길이를 조작해 패킷 간의 데이터 부분이 겹치거나 빠진 패킷을 전송하는 공격 방법

-> 주로 패치 관리를 통해 제거. 과부하가 걸리거나 계속 반복되는 패킷을 무시하고 버림

 

-랜드 공격(land) : 시스템을 나쁜 상태에 빠뜨리는 것. 패킷을 전송할 때 출발지 IP 주소와 목적지 IP주소의 값을 똑같이 만들어서 공격 대상에게 보낸다.(이때 조작된 목적지 IP 주소는 공격 대상의 IP주소여야 한다)

그러면 시스템은 공격자가 보낸 SYN 패킷의 출발지 주소를 참조해 응답 재킷을 보내는데 SYN 패킷의 출발지 주소는 공격자의 주소가 아니라 공격 대상의 주소이므로 패킷이 네트워크 밖으로 나가지 않고 자신에게 다시 돌아오며 돌아온 패킷의 출발지 IP 주소에는 또다시 자신의 IP주소가 기록됨. SYN 플러딩처럼 동시 사용자 수를 점유하고 CPU를 올려 망가짐

-> 운영체제의 패치 관리로 해결.

  

  +자원고갈형 : 네트워크 대역폭이나 시스템의 CPU, 세션 등의 자원을 소모시키는 형태.

EX)

-죽음의 핑 공격(ping of death) : NetBIOS 해킹과 함께 시스템을 파괴하는 데 가장 흔히 쓰인 공격.

이메일로 10MB 파일을 보낼 때 10MB 코기의 데이터 패킷 하나가 수천 개의 패킷으로 나뉘어 전송되는 것처럼 네트워크에서도 전송하기 적당한 크기로 패킷을 잘라 보내는 것을 이용. (ping 명령을 보낼 때 공격 대상에게 패킷을 최대한 길게 최대 65500바이트로 보냄)

->방화벽에서 PING이 사용하는 프로토콜인 ICMP를 차단

 

-SYN플러딩 공격 : 동시 사용자 수 제한을 이용하는 것. 존재하지 않는 클라이언트가 서버별로 한정된 접속 가능 공간에 접속한 것처럼 속여 다른 사용자가 서비스를 제공받지 못하게 하는 것.(3 핸드 셰이킹 악용)

서버가 SYN Received상태로 기다리고 있을 때 가상의 클라이언트로 위조한 클라이언트로  SYN SENT를 수없이 보내고 서버의 가용 동시 접속자 수를 모두 SYN Received 상태로 만드는 것.

(특정 웹 서버의 접속자가 폭주해 서버 접속이 마비되는 경우)

-> Received의 대기 사간을 줄이거나 침입 방지 시스템(IPS) 사용

 

-HTTP GET플러딩 공격 : 공격 대상 시스템에 TCP 3웨 핸쉑 과정으로 정상적으로 접속한 뒤 특정 페이지를 HTTP의 GET 메서드를 통해 무한대로 실행하는 공격. EX) www.naver.com명령을 계속 실행...

 

-HTTP CC(Cache-Control) 공격 : 자주 변경되는 데이터에 새로운 HTTP 요청 및 응답을 요구하기 위해 캐시 기능을 사용하지 않도록 하여 웹 서비스의 부하를 증가시키는 공격. 캐시 기능을 사용하지 않을 수 있어 Cache-Control: no-store, must-revalidate 옵션을 사용해야 함.

 

-동적 HTTP 리퀘스트 플러딩 공격 : HTTP CC나 HTTP GET플러딩은 지정된 웹 페이지를 계속 요청하는 공격으로 웹 방화벽으로 방어할 수 있지만 이건 지속적으로 요청 페이지를 변경하여 웹 페이지를 요청하는 기법.

 

-슬로 HTTP 헤더 DOS(슬로로리스) 공격 : 서버로 전달할 HTTP 메시지의 헤더 정보를 비정상적으로 조작해 웹 서버가 헤더 정보를 완전히 수신할 때까지 연결을 유지하도록 하는 공격. 시스템 자원을 소비시켜 다른 클라이언트의 서비스를 방해함. 웹 서버는 HTTP 메시지의 헤더와 보디(데이터)를 개행 문자(CR LF CR LF, \r \n \r \n 0x0 D..)로 구분하는데

클라이언트가 개행 문자 없이 서버로 전달하면 서버는 다 수신하지 않은 것으로 판단해 연결을 유지한다. 서버는

정상적인 연결을 제공하지 못하는 서비스 장애 발생

 

-슬로 HTTP POST 공격 : 웹 서버와의 커넥션을 최대한 오래 유지하여 웹 서버가 정상적인 사용자의 접속을 받아들일 수 없게 하는 공격 방식.

(사용자가 서버에 아이디, 비번, 게시글, 첨부 파일 등을 전송할 때 사용하는 http post 메서드를 사용. 헤더의 길이

필드에 임의의 큰 값을 설정하여 전송하면 서버가 클라이언트에서 해당 크기의 메시지를 전송할 때까지 커넥션을 유지.

이때 공격자는 소량의 데이터를 느린 속도로 전송하여 서버와의 커넥션이 장시간 유지되게 해서 서버의 자원을 잠식함)

 

-스머프 공격 : ICMP 패킷과 네트워크에 존재하는 임의의 시스템을 이용하여 패킷을 확장함으로써 서비스 거부 공격을 수행하는 것. 출발지 주소가 공격 대상으로 바뀐 ICMP request 패킷을 시스템이 충분히 많은 네트워크로 브로드 캐스팅하고, ICMP request 패킷을 받은 시스템이 공격 대상에게 ICMP reply를 보내게 하여 공격 대상을 과부하 상태로 만드는 공격.(디렉트 브로드캐스팅)

->디렉트 브로드캐스트를 막으면 된다..?

-메일 폭탄 공격 : 스팸을 이용하여 증폭된 형태의 서비스 거부 공격을 하는 것.

 

2. 분산 서비스 거부 공격(DDoS)

공격자 : 공격을 주도하는 해커의 컴퓨터

마스터 : 공격자에게 직접 명령을 받는 시스템으로 여러 대의 에이전트를 관리

핸들러 프로그램 : 마스터 시스템의 역할을 수행하는 프로그램

에이전트 : 공격 대상에 직접 공격을 가하는 시스템

데몬 프로그램 : 에이전트 시스템의 역할을 수행하는 프로그램

or +악성코드

 사전에 공격 대상과 스케줄을 정한 뒤 악성 코드에 코딩 -> 봇을 전파(봇: ddos에 사용되는 악성코드) ->

잠복(좀비 pc 됨. 봇넷 : 좀비 pc끼리 형성된 네트워크)-> 스케줄에 따라 공격하거나 명령으로 공격

 

3. 스니핑 공격

스니핑(sniff) : 코를 킁킁거리다는 뜻으로 데이터 속에서 정보를 찾는 것. 엿보는 것.  

-원리 : 일반적으로 작동하는 IP 필터링과 MAC 주소 필터링을 수행하지 않고(프러미스 큐 어스 모드) 랜 카드로 들어오는 전기적 신호를 모두 읽은 뒤 다른 이의 패킷을 관찰하여 정보를 유출.

프러미스 큐 어스 모드(promiscuous) : 네트워크 필터링 해제 상태

기본적으로 네트워크에 접속하는 모든 시스템은 설정된 IP주소와 고유한 MAC 주소를 가지는데 이 정보(2층의 MAC 주소와 3층의 IP주소)로 자신의 랜 카드에 들어오는 것을 인식하고 자신이 찾는 게 맞으면 저장하고 아니면 무시하는데

필터링을 하지 않아 모든 신호를 다 받아들이게 됨.

 

 -종류

 스위치 재밍 공격(switch jamming) : 스위치가 MAC 주소 테이블(스위치에 포트와 MAC 주소를 저장한 테이블이 있음)을 기반으로 패킷을 포트에 스위칭할 때 정상적인 기능을 마비시키는 공격.(=MACOF)

 SPAN(Switch Port Analyzer) 포트 태핑 공격 : SPAN은 스위치의 포트 미러링 기능을 이용한 것인데 침입 탐지 시스템이나 네트워크 모니터링 또는 로그 시스템을 설치할 때 사용.

  +포트 미러링 : 각 포트에 전송되는 데이터를 미러링 하고 있는 포트에도 똑같이 보내는 것.

 

-탐지하기

  #ping을 이용한 스니퍼 탐지 : 자신에게 해당되지 않는 ping에도 ICMP echo reply를 되돌려 보낸다.

  #ARP를 이용한 스니퍼 탐지 : 위조된 ARP request를 보냈을 때 ARP response를 되돌려 보낸다.

  #DNS를 이용한 스니퍼 탐지 : 스니핑 한 시스템의 IP 주소에 Inverse-DNS  lookup을 수행.

  #유인을 이용한 스니퍼 탐지 : 가짜 아이디와 패스워드를 네트워크에 뿌리고, 공격자가 이를 이용하여 접속을 시도할 때 스니퍼를 탐지.

  #ARP watch를 이용한 스니퍼 탐지 : MAC 주소와 IP 주소의 매칭 값을 초기에 저장하고 ARP 트래픽을 모니터링하여 이를 변하게 하는 ARP 패킷을 탐지.

 

4. 스푸핑 공격

 spoofing = 속이는 것.

  > 시스템 권한 얻기, 암호화된 세션 복호화하기, 네트워크 트래픽 흐름 바꾸기 등을 다양하게 사용

 - 종류

   ARP 스푸핑 공격 : MAC 주소를 속이는 것으로 로컬에서 통신하고 있는 서버와 클라이언트의 IP주소에 대한 2층의 MAC 주소를 공격자의 MAC 주소로 속여 클라이언트 -> 서버로 가는 패킷이나 서버 -> 클라이언트로 가는 패킷이

공격자에게 향하게 함으로써 랜의 통신 흐름을 왜곡함

 

ex) 공격자가 서버와 클라이언트의 통신을 스니핑 하기 위해 ARP 스푸핑을 사용한 경우.

               서버            <-                공격자              ->                클라이언트

        IP 10.0.0.2                          IP 10.0.0.4                                  IP 10.0.0.3   

 MAC 주소 AA                               CC                                               BB

이것으로 가정

 

 1) 공격자는 서버의 클라이언트에 10.0.0.2에 해당하는 가짜 MAC 주소 CC를 알리고, 서버에는 10.0.0.3에 해당하는 가짜 MAC 주소 CC를 알린다.(클라이언트에게는 서버 MAC 주소인 양 보내고 서버에게는 클라이언트 주소 대신 자신의 MAC을 보내서 자신이 클라이언트인 것처럼 속인다)

 

2) 공격자가 서버와 클라이언트 컴퓨터에 서로 통신하는 상대방을 자기 자신으로 알렸기 때문에 서버와 클라이언트는 각각 공격자에게 패킷을 보낸다.(자신인 것처럼 속였기 때문에 서버와 클라이언트는 공격자에게 패킷을 보내게 됨.)

 

3) 공격자는 각각으로부터 받은 패킷을 읽은 후, 서버가 클라이언트에 보내려던 패킷은 클라이언트에 보내주고 클라이언트가 서버에게 보내려던 패킷은 서버에 보내준다.(정상적으로 통신한 것처럼 속임)

 

윈도에서 ARP테이블에서 MAC 주소 목록을 보면 (arp -a로 확인 가능) 

Internet Address Pysical Address Type 10.0.0.2 AA Dynamic에서 스푸핑을 당하고 테이블을 확인해보면

Internet Address Pysical Address Type 10.0.0.2 CC Dynamic으로 바뀐 것을 볼 수 있다

->대응책으로 ARP테이블이 변경되지 않도록 (arp -s) 명령으로 MAC 주소 값을 고정한다.

    arp -s 10.0.0.2 AA (하지만 시스템을 재시작할 때마다 수행해야 하며 경고 메시지 툴도 있지만 근본적인 대책이 없다)

 

IP 스푸핑 공격 : IP주소를 속이는 것으로 다른 사용자의 IP를 강탈해 권한을 획득하는 것.

 -트러스트 관계(TRUST)를 맺고 있는 서버와 클라이언트를 확인한 후 클라이언트에 서비스 거부 공격을 하여 연결을 

  끊고 클라이언트의 IP주소를 확보하여 실제 클라이언트처럼 패스워드 없이 서버에 접근.

 

  트러스트:로그인 시 클라이언트의 정보를 서버에 미리 기록해두고 그에 합당한 클라이언트가 접근하면 아이디와 패스워드의 입력 없이 로그인을 허락하는 인증법. (초대장 없이 친분이 있는 것처럼 위장해 파티에 들어가는 느낌)

유닉스 - 트러스트 인증법(/etc/host.equiv파일에 클라이언트의 ip와 아이디를 등록하면 됨)

200.200.200.200 root면 root계정이 로그인을 시도하면 패스워드 없이 로그인을 허락하라는 의미,

201.201.201.201 +면 어떤 계정이든 로그인을 허락하라는 것(+는 모든 계정을 뜻함)/ 윈도 - 액티브 디렉터리

 

-트러스트는 IP를 통해서만 인증이 일어나기 때문에 공격자가 해당 IP를 사용해 접속하면 스니핑으로 패스워드를 알아낼 필요가 없다

방법

1) 공격전 서버와 클라이언트 연결

2) 클라이언트에 Dos 공격(Dos 공격으로 클라이언트가 사용하는 IP가 네트워크에 출현하지 못하게 하고 공격자 자신이 해당 ip로 설정을 변경해서 서버에 접속하는 형태)

3) 공격자 IP 재설정 후 트러스트 관계를 이용해 서버에 접근

-> 클러스터링 환경처럼 트러스트 설정이 불가피한 경우를 제외하고 사용하지 않도록 할 것

    묶인 서버 안에 취약한 패스워드가 있으면 연결된 구성 서버 모두 위험.

 

ICMP 리다이렉트 공격: 3층에서 스니핑 시스템을 네트워크에 존재하는 또 다른 라우터라고 알림으로써 패킷의 흐름을 바꾸는 공격.

로드 밸런싱(load balancing): 시스템의 라우팅 테이블에 라우팅 엔트리를 하나 더 넣거나 ICMP 리다이렉트 방법을 이용하는 것.(즉 여러 시스템의 일을 분산해서 처리할 때 효과적으로 하기 위해 부하를 적절히 나눠주는 것)

 

+ICMP 리다이렉트 동작 

                        

1) 호스트 A에 라우터 A가 기본으로 설정되어 있어 A가 원격인 B로 데이터를 보낼 때 패킷을 라우터 A로 보낸다.

     (컴퓨터랑 라우터끼리 서로 연결되어있으니)

2) 라우터 A는 B로 보내는 패킷을 수신하고 라우팅 테이블을 검색해  A가 자신을 이용하는 것보다 라우터 B를 이용하는 것이 더 효율적이라고 판단하고 해당 패킷을 라우터 B로 보낸다.

3) 라우터 A는 B로 향하는 패킷을 A가 자신에게 다시 전달하지 않도록(패킷이 전달이 안되면 다시 보내는 뜻) A에 ICMP 리다이렉트 패킷을 보내어 A가 B로 보내는 패킷이 라우터 B로 바로 향하게 한다.(호스트 A -> 라우터 B)

4) A는 라우팅 테이블에 B에 대한 값을 추가하고 B로 보내는 패킷은 라우터 B로 전달

(리다이렉트를 이용한 공격자가 라우터 B가 되는 것) 리다이렉트 패킷을 전송하면 공격자 A를 라우터로 인지하고 데이터 전송

 

DNS 스푸핑 공격: 실제 DNS 서버보다 빨리 공격 대상에게 DNS response 패킷을 보내어 공격 대상이 잘못된 IP 주소로 웹 접속을 하도록 유도하는 공격.

 자신의 웹 서버를 하나 만들고 공격 대상이 자주 가는 사이트를 골라서 웹 크롤러 프로그램으로 해당 사이트를 굵어온다. 그리고 아이디와 패스워드를 입력받아 원래 사이트로 전달해주는 스크립트를 간단하게 프로그래밍한다.

그리고 공격 대상은 사이트 주소를 입력하고 접속을 시도하는데 평소처럼 사이트에 아이디와 비번을 치면 약간 느리다고 생각할 때 아이디와 비번을 채간다.

-DNS 패킷은 UDP라 세션이 없어 먼저 도착한 패킷을 신뢰.

 

 - 정상적인 DNS동작

 1) 클라이언트가 DNS 서버에 접속하고자 하는 IP 주소를 물어본다.(www.naver.com 같은 사이트)

 2) DNS 서버가 해당 도메인 이름에 대한 IP주소를 클라이언트에 보낸다.

 3) 클라이언트가 받은 IP 주소를 바탕으로 웹 서버를 찾아간다.

 

 - DNS 스푸핑

 1) 클라이언트가 DNS 서버로 DNS query 패킷을 보내는 것을 확인한다. 스위치 환경일 때는 클라이언트가 DNS query 패킷을 보내는 것을 확인한다. 스위칭 환경일 때는 클라이언트가 DNS query 패킷을 보내면 이를 받아야 하므로 ARP 스푸핑과 같은 선행 작업이 필요하다. 만약 허브를 쓰고 있다면 모든 패킷이 자신에게도 전달되므로 클라이언트가 DNS query 패킷을 보내는 것을 자연스럽게 확인할 수 있다.

 

 

2) 공격자는 로컬에 존재하므로 지리적으로 DNS 서버보다 가깝다. 따라서 DNS 서버가 올바른 DNS response 패킷을 보내주기 전에 클라이언트에 위조된 DNS response 패킷을 보낼 수 있다.

3) 클라이언트는 공격자가 보낸 DNS response 패킷을 올바른 패킷으로 인식하고 웹에 접속하면 멀리 떨어진 DNS 서버가 보낸 DNS response 패킷은 버린다.

 

 

굳이 대상을 기다리고 있다가 공격을 수행할 필요도 없다. 네트워크의 특적 URL에 거짓 IP 정보를 계속 브로드 캐스팅하면 해당 패킷을 받은 클라이언트는 잘못된 IP 주소로 찾아간다.

->대응책으로 중요 서버에 대해 DNS query를 보내지 않으면 된다. 또는 중요 서버의 URL에 대한 IP를 host 파일에 등록해 놓으면 된다.(/etc/hosts/)

 

5. 세션 하이재킹 공격

 

세션 하이재킹 = 세션 가로채기

로그인된 상태를 가로채는 것. 누군가 작업을 하다가 잠시 비웠을 때 몰래 PC를 사용해 원하는 작업을 하는 것.

-조건으로 그 사람이 언제 자리를 비우는지, 화면 잠금을 설정했는지 등을 확인해야 하지만 TCP 세션 하이재킹은 공격자가 원하는 접속만 공격 대상이 생성하면 네트워크 공격으로 세션을 빼았을 수 있어 조건이 필요 없다.

TCP 세션 하이재킹: TCP가 가진 고유한 취약점을 이용하여 정상적인 접속을 빼앗는 방법.

 -TCP는 클라이언트와 서버 사이에 통신을 할 때 패킷의 연속성을 보장하기 위해 클라이언트와 서버에 각각 시퀀스 넘버를 사용-> 이때 TCP세션 하이재킹은 서버와 클라이언트에 각각 잘못된 시퀸스 넘버를 사용해서 연결된 세션에 잠시 혼란을 준 뒤 자신이 끼어 들어가는 방식을 사용.

 

-동작

 1) 클라이언트와 서버 사이의 패킷을 통제 / ARP 스푸핑 등을 통해 클라이언트와 서버 사이의 통신 패킷 모두가 공격자를 지나가게 한다.

 2) 서버에 클라이언트 주소로 연결을 재설정하기 위한 RST(reset) 패킷을 보낸다. 서버는 패킷을 받아 클라이언트의 시퀀스 넘버가 재설정된 것으로 판단하고 다시 TCP 3-웨이 핸드 셰이킹을 수행한다

 3) 공격자는 클라이언트 대신 연결되어 있던 TCP 연결을 그대로 물려받는다.

 이 단계를 거치면 공격자는 클라이언트가 텔넷 등을 통해 열어놓은 세션을 아이디와 패스워드의 입력 없이 그대로 획득 가능하다.

-> 대응책으로 텔넷과 같은 취약한 프로토콜을 사용하지 않고 SSH 같이 인증 수준이 높은 프로토콜을 이용.

    클라이언트와 서버 사이에 MAC 주소를 고정하는 것.(ARP 스푸핑 자체를 막아 그대로 방어)

 

6. 무선 네트워크 공격과 보안

 

연습문제

1. MAC 주소는 무엇으로 이루어져 있는가? 3

 

2. 공인 IP 주소로 가장 많은 호스트를 구성할 수 있는 네트워크는 무엇인가? 1

 

3. 다음 중 네트워크 서비스와 포트가 잘못 연결된 것은? 4

-> 위 참조

4. 3-웨이 핸드 셰이킹에 대해 설명하시오. 위 참조

 

5. SYN 패킷만 보내어 서버를 점유함으로써 다른 사용자가 서버를 사용할 수 없게 하는 공격은 무엇인가? SYN 플러딩

-> 네트워크 동시 사용자 수 제한이 있는데 이를 이용해 다른 사용자가 사용하지 못하게 SYN만 계속 보내는 것.

 

6. 다음 중 랜드 공격의 출발지 주소와 목적지 주소가 바르게 묶인 것은? 3

-> 랜도 공격은 출발지 ip주소(공격 대상)와 목적지 ip 주소(공격 대상)를 똑같이 만들어 공격 대상에게 보내는 것.

 

7. 스머프 공격은 ICMP echo request를 이용하는 것이다. 이 echo request패킷을 에이전트에 뿌리기 위해 라우터에서 지원해야 하는 것은 무엇인가? 디렉트 브로드 캐스팅

-> 스머프 공격은 브로드캐스트를 악용한 것으로 모든 에이전트에 보내고 위조된 IP 주소로 reply 보내면 응답을 공격 대상에 보내 시스템 과부하 상태로 만드는 것.

 

8. 프러미스 큐 어스 모드에 대해 설명하시오.

-> 네트워크 필터링 해제 상태

  기본적으로 네트워크에 접속하는 모든 시스템은 설정된 IP주소와 고유한 MAC 주소를 가지는데 이 정보(2층의 MAC 주소와 3층의 IP주소)로 자신의 랜 카드에 들어오는 것을 인식하고 자신이 찾는 게 맞으면 저장하고 아니면 무시하는데

필터링을 하지 않아 모든 신호를 다 받아들이게 됨. 스니핑에서 사용

 

9. 다음 중 스위칭 환경에서 스니핑을 수행하기 위한 공격이 아닌 것은? 3

 

10. ARP 스푸핑은 몇 계층 공격에 해당하는가? 2

-> MAC 주소를 속이기 때문

 

11. IP스푸핑 공격을 수행하기 위해 공격 대상이 사용하고 있어야 하는 것은 무엇인가? 2

-> IP스푸핑은 트러스트 관계를 맺는 서버와 클라이언트를 이용하기 때문

 

12. DNS 정보를 요청한 클라이언트 측면에서 DNS 스푸핑이 가능한 가장 큰 요인을 설명하시오.

->DNS 스푸핑은 빠르기가 중요한데 서버보다 로컬(공격자 위치)이 더 가까워서 서버보다 먼저 DNS response를 보내주기 때문에 서버로 위조가 가능.

 

13. 세션 하이재킹을 하기 위해 서버 측에 최초로 보내는 TCP 패킷은 무엇인가? 2

-> RST패킷을 보내 일시적으로 TCP 세션을 끊고 시퀀스 넘버를 새로 생성해 세션을 빼앗고 인증을 회피함

 

14. 다음 중 무선 랜 보안 시 확인할 사항이 아닌 것은? 1

-> SSID 브로드캐스팅 금지 / WEP 암호화 / WPA-PSK 암호화 / 802.1X 암호화