Computer Science/Security

[HUFS/정보보안] #3 네트워크 보안

성중 2022. 10. 6. 15:57

네트워크의 계층

OSI(Open Systems Interconnections) 7 계층

  • 물리 계층: 실제로 컴퓨터와 연결하는 케이블 등의 물리적 연결 (CAT 6)
  • 데이터 링크 계층: 두 포인트간 신뢰성 있는 전송을 보장 (MAC 주소, ip 주소)

 

스위치가 MAC 주소로 기기간 연결, 라우터가 ip 주소로 데이터 전달

  • 네트워크 계층: 데이터의 위치 이동에 관련된 계층 (공인 ip / 사설 ip)
  • 전송 계층: 데이터의 전송 방법에 관련된 계층 (TCP/UDP, 포트 번호 관리 등)
    •   TCP: 연결 지향형, 데이터 흐름 제어(순서 보장), 에러 제어
    •   UDP: 빠르다는 것 외에는 큰 장점이 없어 화상 회의 서비스 등에만 사용

 

서비스 거부(DoS) 공격

TCP는 패킷의 순서 확인 ~ 손실 패킷 확인 ~ 재전송 요구 순으로 동작한다

 

TearDrop

  • Boink, Bonk, TearDrop취약점 공격형은 시퀀스 번호를 속여 반복적으로 재요청해 시스템 자원을 고갈시키는데, 이는 반복되는 패킷을 무시하고 버리는 방식으로 해결할 수 있다
  • Land 공격은 패킷의 출발지와 목적지 IP를 동일하게 만들어 보내는 방식이며, 이는 패치 또는 방화벽으로 미리 걸러낼 수 있다
  • 자원 고갈 공격형 Ping of Death는 ping 명령을 보낼 때 일부로 패킷의 크기를 크게 해 이를 TCP가 일정 크기로 나누어 보내도록 유도해 수십, 수백개의 패킷을 공격 대상에게 보내는 방식이다. 이를 대비해 ping 서비스 자체를 막아 놓는 서버(ex. naver)도 많다

 

SYN Flooding

  • 마찬가지로 자원 고갈 공격형인 SYN Flooding은 SYN 패킷이 정상적인 서비스를 위한 서버의 공간을 차지하여 다른 사용자가 서비스를 받지 못하게 하는 공격이며, 이는 SYN Received 대기 시간을 줄여 해결할 수 있다
  • HTTP GET Flooding은 특정 리소스를 요청하는 HTTP의 GET을 무한대로 보내는 공격이며 서버의 과부하와 서비스 거부를 일으킨다
  • HTTP CC 공격은 HTTP 1.1에 포함된 CC(Cache Control)을 이용하여 캐시를 이용하지 않도록 하여 서버 부하를 증가시킨다
  • 동적 HTTP Request Flooding은 HTTP GET Flooding이 쉽게 걸러질 수 있어 요청 페이지를 지속적으로 변경하기까지 하는 방식이다
  • 슬로 HTTP 헤더 DoS 공격은 서버로 전달할 HTTP 메시지의 헤더 정보를 조작해 웹 서버가 헤더 정보를 완전히 수신할 때까지 연결을 유지하는 공격으로, 시스템 자원을 소비시켜 다른 클라이언트의 서비스 이용을 방해한다
  • 슬로 HTTP POST 공격은 공격자가 소량의 데이터를 느린 속도로 전송해 웹 서버와의 연결을 장기간 유지하여 서버의 자원을 잠식, 정상 사용자의 접속을 받을 수 없게 하는 공격이다
  • Smurf 공격은 공격 대상의 IP를 대상으로 망 내에서 ICMP를 브로드캐스트하는 방법이다
  • Mail Bomb 공격은 메일을 폭주 시켜 정상 메일을 수신할 수 없도록 하는 방법이다

 

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

분산 서비스 거부(DDoS) 공격은 악성 코드와 결합한 형태의 공격으로, 악성 코드가 봇을 만들어 (봇넷 형성), 공격자의 명령에 따라 일제히 공격하는 방식이다. 마스터는 핸들러 프로그램으로 에이전트를 관리하며, 에이전트는 데몬 프로그램으로 직접 대상을 공격한다

 

DDoS 공격 순서

  1. PC에서 전파가 가능한 형태의 악성 코드 작성
  2. 사전에 공격 대상과 스케줄을 정한 뒤 미리 작성한 악성 코드에 코딩
  3. 인터넷으로 악성 코드 전파하는데 전파 과정에서는 공격이 이루어지지 않도록 잠복
  4. 공격자가 명령을 내리거나 정해진 스케줄에 따라 일제히 공격을 수행

스니핑

스니핑(= 도청, 태핑(Tapping))은 데이터 속에서 정보를 찾는 것이다. 네트워크 카드는 MAC 주소 (2계층), IP 주소 (3계층)이 일치하는 데이터만 받아들이지만 모든 데이터를 받아들이도록 조작하면 모든 데이터를 볼 수 있다

 

스니핑 원리

스위치 재밍 공격은 스위치의 주소 테이블 기능을 마비시키고, 스위치에 랜덤한 MAC 주소 패킷을 무한대로 보내 기능을 상실시켜 더미허브처럼 동작하도록 한다. SPAN 포트 태핑 공격은 스위치의 포트 미러링 기능을 태핑하는 방식이다

 

스니퍼의 탐지 방법은 다음과 같다

  • MAC 주소가 일부로 위장된(존재하지 않는) Ping 전송 (응답이 온다면 스니퍼)
  • ARP(MAC 주소로 IP 찾기)를 이용한 탐지 (위조된 ARP Request에 응답이 온다면 스니퍼)
  • DNS를 이용한 탐지 (존재하지 않는 IP 주소를 발견하는 경우)
  • 유인(Decoy)를 이용한 탐지 (가짜 ID, PW를 뿌리고 접속자를 스니퍼로 탐지)
  • ARP 감시 도구 활용

 

스푸핑

ARP 스푸핑(Spoofing)은 MAC 주소를 속여 네트워크의 통신 흐름을 왜곡시킨다

 

ARP 스푸핑

  1. 서버와 클라이언트에게 잘못된 MAC 주소를 알려줌
  2. 서버와 클라이언트가 통신하는 패킷을 공격자가 대신 수신함
  3. 문제가 없는 것처럼 보이기 위해 해당 패킷을 다시 보냄

공격자가 패킷을 몰래 보는 구조

ARP 테이블을 고정시키는 방식으로 막을 수 있지만 리부팅하면 리셋되므로 번거롭고, TCP 규칙상의 흐름이기 때문에 완벽한 대응이 어렵다

 

트러스트란 신뢰할만한 장치(IP)에 별도의 ID/PW 없이 접근 가능하도록 해주는 것이며 리눅스에서 트러스트 인증법, 윈도우에서 액티브 디렉터리가 있다. 이는 스니핑에 안전하지만 IP가 공격자에게 점령되면 보안 허점이 생긴다

 

IP 스푸핑 공격

IP 스푸핑 공격은 DoS 공격으로 해당 IP를 네트워크에서 쫓아낸 후 해당 IP로 바꾸어 침입한다

 

ICMP 리다이렉트 공격

ICMP 리다이렉트는 패킷 전달을 패킷 전달의 효율을 위해 상황에 맞는 라우터를 이용하도록 알리는 것이다. 이를 악용해 데이터가 자신에게 오도록 유도하는 것이 ICMP 리다이렉트 공격이다

 

DNS 스푸핑

DNS 스푸핑은 실제 DNS 서버보다 빠르게 DNS 응답을 보내 데이터를 유도하는 공격으로, 스푸핑이 선행되어야 한다. hosts 파일을 써서 DNS를 사용하지 않는 방식으로 대응할 수 있다

 

세션 하이재킹이란 말 그대로 세션을 가로채는 것이며, 두 컴퓨터간의 활성화된 상태, 즉 로그인된 상태를 가로채는 것이다. TCP 세션 하이재킹은 ARP, 스푸핑을 이용해 시퀀스 번호를 위조하여 세션에 침투하는 방식인데 SSH와 같은 보안 프로토콜을 사용하거나 MAC 주소를 고정시킨다면 대응할 수 있다

 

무선 네트워크

Ethernet의 무선 네트워크가 확장되며 무선랜 프로토콜도 발전하게 된다. AP 보안은 전파 출력을 조절하고 접근할 수 없는 곳에 설치, 관리자 비밀번호 설정 및 변경으로 무선 네트워크를 보호하는 방식이다. AP를 노출하지 않는 방식으로 SSID 브로드캐스트를 사용한다

 

무선랜 암호화

무선랜을 암호화 시키는 방식 중 WEB은 가장 기본적인 방법이지만 비트가 짧아 보안성이 약한다. WPA, WPA-PSK는 강화된 암호화 TKIP 알고리즘을 사용하며 WPA-EAP, 802.1X 암호화는 기업용으로 사용자 인증, 중앙 관리, 다양한 인증 수단, 세션 별 암호화 키가 추가되며 별도의 인증 서버로 해시를 확인 후 암호화 키를 전달한다

 

EAP와 802.1X 암호화

802.1X/EAP와 RADIUS 서버를 이용해 무선 랜 사용자를 인증한다