[정보보안기사] 네트워크 보안 - 네트워크 기반 공격 이해
본문 바로가기

[정보보안기사] 네트워크 보안 - 네트워크 기반 공격 이해

액트 2019. 6. 24.


- 목차 - 

3. 네트워크 기반 공격 이해
    (1) 서비스 거부(DoS) 공격
        ① 각종 DoS 공격원리와 대처 방법
        ② SYN Flooding, Smurfing 등 각종 flooding 공격의 원리, 대처
    (2) 분산 서비스 거부 공격
        ① DDoS 공격 원리 및 대처 방법
    (3) 네트워크 스캐닝
        ① Remote Finger Printing
        ② IP 스캔, Port 스캔
    (4) IP Spoofing, Session Hijacking
        ① IP Spoofing과 Session Hijacking의 원리 및 실제
    (5) 스니핑 및 암호화 프로토콜
        ① 스니핑 공격 원리와 대처 방법
    (6) 원격접속 및 공격
        ① 각종 공격의 인지 및 이해
        ② Trojan, Exploit 등 식별, 대처


3. 네트워크 기반 공격 이해

    (1) 서비스 거부(DoS) 공격

        ① 각종 DoS 공격원리와 대처 방법

            Ⅰ. DoS(Denial of Service ; 서비스 방해(거부) 공격

                ▶ 시스템이 정상적으로 서비스를 하지 못하게 해서, 일반적으로 서버를 다운시키는 공격이다.

                ▶ 특정 서버에게 수많은 접속 시도를 만들어 다른 이용자가 정상적으로 서비스 이용을 못하게 만든다.

                ▶ TCP/IP Protocol의 구조적 취약점을 이용한 공격이 많음

                ▶ 시스템에 과부하를 주는 공격 / 네트워크 서비스 방해하는 공격

 

        ② SYN Flooding, Smurfing 등 각종 flooding 공격의 원리, 대처 

            Ⅰ. SYN Flooding

                ▶ TCP의 연결확립을 위한 3way handsharking의 취약점을 이용한 공격기법이다

                ▶ 공격자가 IP주소를 다르게 보내어 서버가 ACK를 돌려받기 위해 기다리는 동안 계속해서

                    새로운 IP주소를 통해 SYN패킷을 보내 Queue를 가득 차게 만들어 서비스거부상태로 만드는 방식

 

정상적인 3way handsharking 방식

                ▶ 탐지 방법

                    ▷ 서버에서 SYN Received 때 +1, ACK를 보낼 때 -1 카운트하여 특정 기간 내에 카운트가 높으면 탐지

 

                ▶ 조치 방법

                    ▷ Backlog Queue - Connect Queue Size를 증가 시킴(일시적인 대처법) ; 

                    ▷ SYN Cookie Size를 늘림

                        - L4에서 SYN패킷을 보내면, 세션 테이블 생성없이 SYN/ACK(syn=cookie)를 보내고

                        - 이에 대한 ACK(ack=cookie+1) 패킷을 받으면 서버와 세션을 연결해주는 방법

                        - 물론, L4가 아닌 서버단에서도 가능

                        - Router단에서 서브넷 외의 주소를 가지는 소스IP를 가지는 패킷을 차단

 

            Ⅱ. UDP Flooding

                ▶ 공격자가 UDP로 서버에 가상의 데이터를 많이 보내 서버의 부하 및 네트워크 오버로드를 발생

                ▶ 조치 방법: 불필요한 UDP 서비스를 차단

 

            Ⅲ. Smurfing 스머핑 공격

                ▶ Broadcast 주소로 ICMP ping을 보내서 이에 대한 ICMP_ECHO_REPLY로 인해 네트워크 과부하가 걸림

                ▶ 조치 방법

                    ▷ 라우터에서 Broadcast 주소를 사용할 수 없게 미리 차단

                    ▷ Host에서 Broadcast로 전달된 ICMP에 대하서는 응답안하게 설정

 

            Ⅳ. Teardrop 티어드롭 공격

                ▶ Header가 조작된 일련의 IP 패킷 조각들을 전송해서 공격이 이루어짐

                ▶ Offset값을 일부로 이전 값보다 작게 음수로 만들어서 보내므로, 재조립과정에서 에러가 발생

 

            Ⅴ. Ping of Death

                ▶ IP 패킷 최대 사이즈보다 큰 ICMP Request를 보내는 공격

                ▶ 패킷 재조립 과정에서 Buffer Overflow 및 시스템 충돌이 일어남

                ▶ IP 패킷 사이즈를 검증하는 설정을 추가

 

            Ⅵ. Land Attack

                ▶ 목적지, 출발지 IP와 Port가 모두 동일하게 보내는 공격

                ▶ 시스템 자원을 고갈시켜 서비스 장애를 유발 시킴

                ▶ 방화벽 단에서 필터링하도록 설정

 

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

        ① DDoS 공격 원리 및 대처 방법 

            Ⅰ. DDoS(Distributed DoS)

                ▶ 공격 시스템을 분산배치해서 동시에 대량 트래픽을 발생시키는 공격(Zombie PC)

                ▶ 툴 : TRINOO / TFN(TFN2K) / Stacheldraht(슈탁셀드라트)

 

            Ⅱ. DRDoS(Distributed Reflection DoS)

                ▶ 분산 반사 서비스 거부 공격, DDos가 한 단계 더 진화한 형태의 공격 방식

                ▶ IP 주소를 스푸핑한 ICMP Echo request 패킷을 Broadcast 주소로 보내 공격 대상에게 수 많은 

                    Echo reply 패킷을 전송함으로써 다운시키거나(Smurf 공격), TCP/IP 네트워크의 취약점을 이용하여 

                    공격 대상에게 SYN/ACK 홍수를 일으켜 대상을 다운시키는 공격 방법이 대표적이다.

 

    (3) 네트워크 스캐닝 

        ① Remote Finger Printing 

            ▶ 외부에서 물리적인 장치면, 운영체제 유형등을 알아내는 기법

 

        ② 스캔

            Ⅰ. 스캔이란

                ▶ 서비스를 제공하는 서버의 작동 여부 확인 

                ▶ 스캔은 네트워크 상에서 다른 단말기의 정보를 얻어온다

 

            Ⅱ. 스캔의 종류

                ⓐ ARP 스캔

                     arp 프로토콜을 이용해서 네트워크 대역의 정보를 확인

                     ICMP(ex. ping)는 보안 문제상 막을 수 있지만 ARP는 막아버리면 통신이 안되기 때문에 막지 못함

                     ARP프로토콜의 한계는 2계층 프로토콜이기 때문에 내부 네트워크의 정보만 알 수 있다

 

                ⓑ ICMP 스캔

                     ping 상대IP 형태로 스캔을 하고 TTL 값을 알 수 있다. 즉, OS를 알 수 있음

                     (windows)tracert 상대IP, (linux)traceroute 상대IP 명령어로 중간 경로 및 방화벽을 알 수 있음

 

                ⓒ TCP Open 스캔

                     3way handsharking 과정을 거쳐 알아내는 방법

                     포트가 닫힌 경우 공격자가 SYN 패킷을 보내면 RST+ACK 패킷이 돌아오고, 공격자는 멈춘다

출처: https://oopsys.tistory.com/104

                ⓓ 스텔스 스캔

                     세션을 완전히 성립하지 않고 포트 활성화 여부를 알아낸다 -> 로그가 남지 않음

                     대표적인 예) TCP Half Open 스캔

                     SYN 패킷을 보낸 후 SYN+ACK 패킷을 보내고 즉시 연결을 끊는 RST 패킷을 보냄

                ⓔ FIN 스캔

                    ▶ 포트가 열린 경우 응답이 없고, 닫힌 경우 RST 패킷이 돌아옴

 

                ⓕ NULL 스캔

                     플래그 값을 설정하지 않고 보낸 패킷

 

                ⓖ XMAS 스캔

                     ACK, FIN, RST, SYN, URG 플래그 모두를 설정하여 보낸 패킷

 

    (4) IP Spoofing, Session Hijacking 

        ① IP Spoofing과 Session Hijacking의 원리 및 실제 

            Ⅰ. IP Spoofing (Spoofing은 사전적 의미로 '속이다')

                ▶ 자신의 IP주소를 속여서 접속하는 공격

 

            Ⅱ. ARP Spoofing

                ▶ MAC 주소를 속여 랜에서의 통신 흐름을 왜곡시키는 공격

 

            Ⅲ. Session Hijacking

                ▶ 서버와 클라이언트 사이의 Session을 가로채는 기술

 

    (5) 스니핑 및 암호화 프로토콜 

        ① 스니핑 공격 원리와 대처 방법 

            Ⅰ. 스니핑(Sniffing) 원리

                ▶ 스니핑 공격은 스니퍼를 이용하여 네트워크상의 데이터를 도청하는 행위이다

                ▶ NIC 모드를 Promiscuous로 바꾸고 네트워크 상의 모든 트래픽을 다 받아들임으로 스니핑 가능

                ※ Promiscuous란 모든 트래픽을 볼 수 있는 모드이다.

 

            Ⅱ. 스니핑의 대응

                ▶ 일단 Switching 환경으로 네트워크 설계

                ▶ ARP Cache Table을 정적으로 운영

                ▶ 데이터의 암호화 : SSL / PGP, S/MIME / SSH / VPN / IPsec

 

 

    (6) 원격접속 및 공격 

        ① 각종 공격의 인지 및 이해 

            Ⅰ. 원격 공격

                ▶ 원격 네트워크의 공격자가 피해 시스템에 접근하여 명령을 전달할 수단을 획득하는 공격

                ▶ Backdoor, Null Session Hacking 등의 기법으로 대상 시스템을 제어할 수 있는 권한 등을 획득

 

        ② Trojan, Exploit 등 식별, 대처

            Ⅰ. Trojan

                ▶ 트로이목마 악성 프로그램 또는 악성코드를 의미

 

            Ⅱ. Backdoor

                ▶ 시스템에 접근할 수 있는 뒷문

                ▶ Back Orifice를 시작으로 제작되었고 현재 다양한 종류가 있음

 


[ 출처 ]

https://oopsys.tistory.com/104

https://kit2013.tistory.com/210

을 참고하여 보완하고 수정한 글입니다.

 

댓글