네트워크보안 - 정리(2)

Ch10.무선 랜 보안

무선 랜

무선 랜 이용과 통신 범위

  • 무선 랜은 기본적으로 Ethernet Like 개념으로, 보통 내부 네트워크의 확장으로 이용
  • 무선 랜을 사용하려면 내부의 유선 네트워크에 Access Point 장비를 설치해야 함(무선 공유기 같은거)
  • 안테나의 방향성에 따라 수신 가능 거리가 달라짐

무선 랜 접속

  • 사용 가능한 무선 랜을 확인한 뒤 원하는 무선 랜을 선택하여 접속
  • 무선 랜 AP는 SSID를 브로드캐스팅하고 있기 때문에 검색가능
    --> Wi-Fi 들어가면 Wi-Fi 목록 뜨는 거

WEP(Wired Equivalent Privacy)

  • 무선 랜 통신을 암호화하기 위해 802.11b 프로토콜에서부터 적용
  • RC4 암호화 알고리즘이 기본
  • 암호화 과정에서 암호화키와 함께 24비트의 IV(Initial Vector)를 사용

AP에 대한 추가적인 보안 설정

  • 전파가 건물 내부로 한정되도록 출력을 조정
  • 눈에 띄지 않는 곳, 건물 안쪽 중심부에 설치하는 것이 좋음
  • AP 기본 계정의 패스워드를 반드시 재설정
  • DHCP 중지
    사설IP주소를 AP에 따로 설정, 허용된 사용자에게만 네트워크의 IP주소를 알려주는 것이 GOOD
  • MAC 필터링
    AP에 접근이 가능한 MAC 주소를 기록하여 기록된 MAC 주소 외의 무선 랜 카드에 의한 접속은 차단하도록 설정

Ch11.DoS와 DDoS 공격

DoS(Denial of Service)

  • 공격 대상이 수용할 수 있는 능력 이상의 정보를 제공하거나 사용자 또는 네트워크 용량을 초과시켜 정상적으로 작동하지 못하게 하는 공격
  • 파괴 공격 / 시스템 자원 고갈 공격 / 네트워크 자원 고갈 공격

Ping of Death

  • ping을 이용하여 ICMP 패킷의 크기를 정상보다 아주 크게 만든다.
  • 크게 만들어진 패킷은 네트워크를 통해 라우팅되어 공격 네트워크에 도달하는 동안 아주 작은 조각으로 쪼개진다.
  • 공격 대상은 조각화된 패킷을 모두 처리해야 하므로 정상적인 ping보다 부하가 엄청 걸린다.

<패킷을 왜 작게 분할해서 전달하는가?>

  • 라우팅은 패킷을 전달할 때 특성이 똑같은 네트워크를 지나지 않는다.
  • 네트워크마다 최대로 전송이 가능한 패킷의 길이가 달라 최대 전송 가능한 패킷의 길이가 작은 네트워크를 지나면 데이터는 더 작게 분할된다.
  • 한번 분할된 패킷은 다시 커지지 않는다.
  • 패킷을 늘리려면 패킷을 저장한 후 다음에 들어온 패킷 데이터를 재조합해야 하는데 라우터 성능에 치명적일 정도로 높은 부하를 야기한다.
  • 버퍼오버플로우 발생 가능

<ping of death 보안대책>

  • 반복적으로 들어오는 일정 수 이상의 ICMP 패킷을 무시하도록 설정
  • 가장 일반적으로 할 수 있는 대책은 패치

SYN Flooding

  • 서버별로 한정되어 있는 접속 가능 공간에 존재하지 않는 클라이언트가 접속한 것처럼 속여 다른 사용자가 서비스를 제공받지 못하게 하는 것
  • SYN 패킷만을 보내고 ACK 응답을 주지 않는 공격으로 서버의 공간을 모두 채워 더는 연결할 수 없는 상태로 만드는 것
  1. 공격자는 많은 숫자의 SYN 패킷을 보낸다.
  2. 서버는 SYN 패킷에 대한 SYN/ACK 패킷을 각 클라이언트로 보낸다.
  3. 공격자는 SYN/ACK에 대한 ACK 패킷을 보내지 않는다.
  4. 서버는 자신이 보낸 SYN/ACK에 대한 ACK 패킷을 받지 못한다.
  5. 서버는 세션의 연결을 기다리게 되고 공격은 성공한다.
  • '백로그(Backlog)에 빠졌다'고 표현

<SYN Flooding 보안 대책>

  • IDS / IPS 설치
  • 짧은 시간 안에 똑같은 형태의 패킷을 보내는 형태의 공격을 인지했을 경우, 그에 해당하는 IP 주소 대역의 접속을 금지하거나 방화벽 또는 라우터에서 해당 접속을 금지시킴
  • 서버에서 클라이언트로 보내는 SYN+ACK 패킷에 암호화 기술을 이용해서 인증 정보가 담긴 시퀀스 넘버를 생성하여 클라이언트에 보내는 syn_cookie 이용

    "Syn_cookie"
    1) 클라이언트로부터 SYN 패킷을 받으면, 간단한 인증 정보가 담긴 Syn_cookie를 시퀀스 값에 넣고 세션을 닫음.
    2) 클라이언트가 Syn_cookie가 포함된 값으로 ACK를 보내면 서버는 세션을 다시 열고 통신을 시작
    --> 세션을 열고 기다리지 않으니 SYN Flooding이 통하지 않음

Boink, Bonk, Teardrop

  • 시스템의 패킷 재전송과 재조합에 과부하가 걸리도록 시퀀스 넘버를 속이는 것
  • Bonk:
    처음 패킷을 1번으로 보낸 후 두 번째와 세 번째 패킷의 시퀀스 넘버를 모두 1번으로 조작해서 보냄.
  • Boink:
    처음 패킷을 1번으로 보낸 후 두 번째 패킷은 101번, 세 번째 패킷은 201번 등으로 정상적으로 보내다가 중간에서 일정한 시퀀스 넘버를 보냄
  • Teardrop:
    시퀀스 넘버를 일정하게 바꾸는 것을 넘어 중첩과 빈 공간을 만들어 시퀀스 넘버가 좀 더 복잡해지도록 섞음
    - 전혀 맞니 않는 시퀀스 넘버 때문에 공격 대상이 패킷화된 데이터를 재조합하는 데 혼란이 생겨 CPU에 과부하가 걸기게 됨.

Land Attack

  • 패킷을 전송할 때 출발지 IP 주소와 목적지 IP 주소의 값을 똑같이 만들어서 공격 대상에게 보냄
  • TCP의 경우 시스템이 연속해서 자기 자신에게 대답하는 상황이 발생함

<Land Attack 보안대책>

  • 라우터나 방화벽에서 출발지 IP 주소가 내부 IP 주소와 동일한 패킷을 차단

Smurf

  • 목적지 IP 주소 값을 255.255.255.255로 설정하여 패킷을 보내면 라우터가 외부 네트워크로 나가는 것을 차단하여 내부 네트워크인 랜(LAN) 안에서만 동작
  • ICMP Request를 받게 된 네트워크는 ICMP Request 패킷의 위조된 시작 IP 주소로 ICMP Reply를 다시 보냄.
  • 공격 대상은 수많은 ICMP Reply를 받게 되고 Ping of Death처럼 수많은 패킷이 시스템을 과부하 상태로 만듦

Fraggle

  • smurf와 비슷하지만 UDP를 사용한다.

<Smurf와 Fraggle의 보안대책>

  • 다이렉트 브로드캐스를 막는다.

    Subnet Mask가 동일한 LAN에 Broadcast를 하는 것

7계층 DoS 공격

  • 3, 4계층 DoS 공격
    • 세션 고갈 공격, 대역폭 고갈 공격
    • TCP, UDP, ICMP 사용
    • 트래픽을 대량으로 발생시켜 공격, 보안 장비를 통해 방어 가능
  • 7계층 DoS 공격
    • 서버의 자원 고갈 공격
    • HTTP, SMTP, FTP, VoIP 사용
    • 정상 트래픽, 소량의 트래픽을 이용한 공격
    • 특정 어플리케이션의 취약점을 이용한 공격

<7계층 공격의 특징>

  • 정상적인 TCP/UDP 연결 기반의 공격으로 , 변조된 IP가 아닌 정상 IP를 이용한 접속 요청 후 공격이 진행되어 정상 사용자의 트래픽과 구분하기가 어려워 탐지가 어려움.
  • 소량의 트래픽을 이용, 오랜 시간에 걸쳐 서서히 공격이 진행되어 탐지가 어려움.
  • 특정 서비스의 취약점을 이용하여 공격

<웹 어플리케이션에 대한 DoS 공격 유형>

  • HTTP GET Flooding 공격
    • 지속적으로 HTTP GET을 받아 시스템에 과부하가 걸린다.
    • HTTP의 GET Method를 통해 특정 페이지를 무한대로 실행하는 방식
  • HTTP CC 공격
    • DoS 공격 기법에 'Cache-Control: no-store, must-revalidate' 옵션을 사용하면, 웹 서버는 캐시를 사용하지 않고 응답을 해야 하므로 웹 서비스의 부하가 증가
  • 동적 HTTP Request Flooding 공격
    • 요쳥 페이지를 변경하여 웹 페이지를 지속적으로 요쳥하는 기법
  • Slow HTTP Header DoS(Slowloris) 공격
    • 서버로 전달할 HTTP 메시지의 Header 정보를 비정상적으로 조작하여 웹 서버가 헤더정보를 완전히 수신할 때까지 연결을 유지하도록 하여 시스템 자원을 소비시켜 다른 클라이언트의 정상적인 서비스를 방해하는 공격
    • 불안전한 메시지를 수신한 웹 서버는 클라이언트의 요청이 끝나지 않은 것으로 인식하여 웹 로그를 기록하지 않음.
  • Slow HTTP POST 공격
    • 웹 서버와의 커넥션을 최대한 장시간 동안 유지하여 엡 서버가 정상적인 이용자의 접속을 받아들일 수 없게 하는 방식
    • 헤더의 Content-Length를 이용하여 공격
  • Mail Bomb
    • 메일 폭탄, 스팸 메일도 같은 종류
    • 메일 서버는 각 사용자에게 일정한 디스크 공간을 할당하는데, 메일이 폭주하여 디스크 공간을 가득 채우면 정작 받아야 할 메일을 받을 수 없음.

DDoS(Distributed Denial of Service)

  • DoS 공격이 발전된 것
  • 공격자의 위치와 구체적인 발원지를 파악하는 일이 무척 어려워 여전히 대응이 어려운 공격 중의 하나
  • DDoS 공격이 이루어지기 위한 기본 구성
    • 공격자(Attacker) : 공격을 주도하는 해커의 컴퓨터
    • 마스터(Master) : 공격자에게 직접 명령을 받는 시스템, 여러 대의 에이전트 관리
    • 핸들러(Handler) 프로그램 : 마스터 시스템 역할을 수행하는 프로그램
    • 에이전트(Agent) : 공격 대상에 직접 공격을 가하는 시스템
    • 데몬(Daemon) 프로그램 : 에이전트 시스템 역할을 수행하는 프로그램

<DDoS 공격 순서>

  1. 많은 사람이 사용하며 대역폭이 넓고 관리자가 모든 시스템을 세세하게 관리할 수 없는 곳의 계정을 획득한 후, 스니핑이나 버퍼 오버플로우 등의 공격으로 설치 권한이나 루트 권한을 획득
  2. 잠재적인 공격 대상을 파악하기 위해 네트워크 블록별로 스캐닝을 실시한 후, 원격지에서 버퍼 오버플로우를 일으킬 수 있는 취약한 서비스를 제공하는 서버를 파악
  3. 취약한 시스템 목록을 확인한 후 실제 공격을 위한 Exploit을 작성
  4. 권한을 획득한 시스템에 침투하여 Exploit을 컴파일하여 설치
  5. 설치한 Exploit으로 공격 시작

    Exploit
    공격 시 반복적인 작업을 피하기 위해 작성한 자동화된 스크립트

<악성코드를 이용한 DDoS 공격>

  • 악성코드에 감염된 좀비 PC는 공격자의 공격 에이전트가 되고, 공격자가 공격명령을 전달하면 공격 대상에게 DDoS 공격을 수행

<DDoS 보안 대책>

  • 방화벽 설치와 운영
  • 침입 차단 시스템의 설치와 운영
  • 시스템 패치
  • 스캐닝
  • 서비스별 대역폭 제한

0개의 댓글