3학년 2학기 공부 과정/정보보안

03. 네트워크 보안

환성 2022. 12. 15. 23:14
728x90

 

1. 네트워크의 이해

OSI 7계층의 이해

    • 국제표준화기구(ISO)는 다양한 네트워크 간의 호환을 위해 만든 표준 네트워크 모델

 

 

물리 계층(1계층)

  • 시스템 간의 연결을 의미하는 것으로 간단하지만 네트워크에서 중요
  • 케이블 내 구리선의 보호방법이나 꼬임 방법에 따라서 분류

 

데이터 링크 계층(2계층)

  • 두 포인트 간의 신뢰성 있는 전송을 보장하기 위한 계층, CRC 기반의 오류 제어 및 흐름 제어 필요
  • 네트워크 위의 개체간 데이터 전달, 물리 계층에서 발생하는 오류 찾고 수정하는데 기능적, 절차적 수단 제공
  • MAC 주소
    • 상호 통신을 위해 MAC 주소를 받음(ipconfig /all로 확인)
    • 앞 6개 16진수 - 네트워크 카드 만든 회사 OUIO
    • 뒤 6개 16진수 - 각 회사에 임의로 붙이는 시리얼

 

      • 1,2,3 흘러가는 패킷의 구조데이터 링크 계층의 패킷 흐름
  • 스위치의 동작 원리
    • 스위치 포트 4개고 안방 컴퓨터와 연결된 케이블이 2번포트에 꽂힐 경우 메모리 정보
    • 작은방의 컴퓨터와 연결된 랜 케이블을 스위치의 3번 포트에 꽂힐 경우 메모리 정보

네트워크 계층(3계층)

  • 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할
  • 라우팅, 흐름 제어, 세그멘테이션, 오류 제어 수행
  • IP 주소
    • 여러 개의 노드를 거쳐 경로를 찾기 위한 주소
    • 8비트의 수 4개로 되어 있음
  • IP 주소 클래스
      • A,B,C,D,E 로 구분  
  • 네트워크 계층의 동작
    • 대표 장비는 라우터
       

      • 네트워크 계층의 패킷 전달 구조
     
    • 출발지의 IP와 MAC 주소 기록
     
    • 목적지 IP 주소 입력
       
    • 목적지 MAC 주소에는 랜을 벗어나기 위한 게이트웨이의 MAC 주소 입력
    • 라우터에서 사용한 데이터 링크 계층 정보를 벗겨냄
    • 다음 라우터까지의 데이터 링크 계층 정보를 패킷에 덧씌움

 

전송 계층(4계층)

  • 양 끝단의 사용자들이 신뢰성 있는 데이터를 주고 받음
  • 시퀀스 넘버 기반의 오류 제어 방식을 사용하여 특정 연결의 유효성 제어
  • 포트
    • 시스템에 도착한 후 패킷이 찾아갈 응용 프로그램으로 통하는 통로 번호
    • 포트의 패킷 구조  
    • 출발지 포트 결정
      • 1025~65535중 사용하지 않는 임의 포트 결정
  • 연결 상태 정보
    • netstat -an으로 쉽게 확인
    • 연결 상태 정보는 ESTABLISHED로 확인
    • TCP는 패킷 주고 받기 전 가상 경로 설정

 

  • TCP의 연결 과정(3-웨이 핸드셰이킹)
     

1. 클라이언트 Closed, 서버는 Listen

2. 처음 통신 시 임의의 포트 번호가 클라이언트 프로그램에 할당, 클라이언트는 서버에 연결 의사 표시로 SYN Sent 상태가 됨

  1. 서버는 SYN Received 상태가 됨, 서버는 연결 동의 표시인 SYN+ACK 패킷 보냄
  1. 클라이언트는 응답의 표시로 ACK 패킷을 서버로 보냄

 

  • TCP 연결 해제 과정
     
  1. 클라이언트, 서버 모두 Established
  1. 클라이언트가 서버에 FIN 패킷을 보내고 클라이언트는 Close Wait 상태가 됨
  1. 서버는 클라이언트 연결 종료 요청 확인, 클라이언트에 ACK 패킷을 보내면 서버도 FIN 패킷을 보내고 Close Wait 상태가 됨
  1. 클라이언트는 연결 종료 요청에 대한 서버의 응답 확인 표시로 ACK 패킷을 서버에 보냄

 

  • TCP
    • 연결 지향형 프로토콜
      • 수신 측이 데이터를 흘려버리지 않도록 하는 데이터 흐름 제어
  • UDP
    • 데이터의 신뢰성 있는 전송 보장 X
    • 시간 절약 가능 UDP가 더 효과적(신뢰성 매우 높은 회선의 경우, 한번에 많은 상대에게 메시지 보낼때)

 

세션 계층(5계층)

  • 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법 제공
  • 동시 송수신, 반이중, 전이중 방식 사용

 

표현 계층(6계층)

  • 코드 간의 번역 담당
  • ASN.1 방식
    • 사용자 시스템에서 데이터 구조를 하나의 통일된 형식으로 표현
    • 데이터 압축, 암호화 기능 수행

응용 프로그램 계층(7계층)

  • 사용자, 응용 프로그램 사이 데이터 교환이 가능하게 하는 계층
  • HTTP, FTP, 터미널 서비스, 메일 프로그램 제공

 

2. 서비스 거부 공격 : DoS와 DDoS

서비스 거부 공격(DoS)

  • 다른 해킹에 비해 비교적 간단
  • 취약점 공격형
    • 특정 형태의 오류가 있는 네트워크 패킷 처리 로직에 문제 있을 때 그 문제점 이용 오작동 유발
          • 보잉크/봉크/티어드롭 공격, 랜드 공격
  • 자원 고갈 공격형
    • 네트워크 대역폭이나 시스템의 CPU, 세션 등 자원 소모 형태
      • 랜드 공격, 죽음의 핑 공격, SYN 플러딩 공격, HTTP GET 플러딩 공격

 

보잉크/봉크/티어드롭 공격

  • 시스템 자원 고갈시키는 방식
  • TCP 프로토콜 제공하는 오류 제거 기능(패킷의 순서, 손실된 패킷, 재전송 요구)
  • 반복적 재요청, 수정을 계속함으로 시스템 자원 고갈
  • 티어드롭은 패킷의 시퀀스 넘버 길이 조작하여 데이터 부분이 겹치거나 빠진 상태로 패킷 전송

랜드 공격

  • 출발지 IP = 목적지 IP 같게하여 공격 대상에 보냄
  • 운영체제의 패치 관리를 통해 마련, 방화벽과 같은 보안 솔루션 이용

죽음의 핑 공격

  • 초기의 DoS 공격 방법
  • 네트워크 연결 상태를 점검하는 ping 명령을 보낼 때 공격 대상에게 패킷을 최대한 길게 보내 패킷을 쪼갬
  • 공격 대상 시스템은 대량의 작은 패킷을 수신하느라 네트워크 마비
  • 방화벽에서 ICMP를 차단

 

SYN 플러딩 공격

  • 네트워크에서 서비스 제공 시스템에서 동시 사용자 수 제한을 이용한 공격
  • 3-웨이 핸드셰이킹의 문제점 악용
  • 공격 대응책은 SYN Received의 대기 시간을 줄이는 것

 

HTTP GET 플러딩 공격

  • 공격 대상 시스템에 3-웨이 핸드셰이킹 과정으로 정상 접속 후 HTTP의 GET 메소드로 특정 페이지를 무한대로 실행하는 공격 → 시스템에 과부하
  • HTTP CC 공격
    • HTTP 1.1 버전의 CC 헤더 옵션은 자주 변경되는 데이터에 새로운 HTTP 요청 및 응답을 요구하기 위해 캐시 기능 사용 X
    • 서비스 거부 공격에 응용하려면 Cache-control : no-store, must-revalidate 옵션 사용
  • 동적 HTTP 리퀘스트 플러딩 공격
    • 특징적인 HTTP 요청 패턴을 확인하여 방어하는 차단 기법을 우회하기 위한 공격
  • 슬로 HTTP 헤더 DoS 공격
    • 서버로 전달할 HTTP 메시지의 헤더 정보를 비정상적으로 조작
  • 슬로 HTTP POST 공격
    • 웹 서버와 커넥션을 최대한 오래 유지하여 웹 서버가 정상 사용자 접속을 받아들이지 X

 

스머프 공격

  • ICMP 패킷과 네트워크에 존재하는 임의의 시스템을 이용하여 패킷을 확장함으로써 서비스 거부 공격 수행
  • 다이렉트 브로드캐스트 악용
    • 기본적인 브로드캐스트는 목적지 IP 주소 255.255.255.255를 가지고네트워크 임의 시스템에 패킷 보내기
    • 브로드캐스트는 기본적으로 라우터를 넘어가지 못함
    • CMP request를 받은 172.16.0.0은 패킷의 위조된 시작 IP 주소로 ICMP request,reply를 재전송
    • 공격 대상은 수많은 ICMP reply를 받게 되고 수많은 패킷이 시스템 과부하

 

메일 폭탄 공격

  • 스팸 메일 종류
  • 스팸 메일을 서비스 거부 공격으로 분류

 

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

  • 아직까지 확실한 대책 X, 공격자의 위치, 구체적 발원지 파악 X
  • 과거 DDoS는 마스터와 에이전트가 중간자인 동시에 피해자

 

  • 최근에 발생하는 분산 서비스 공격 과정
  1. PC에서 전파가 가능한 형태 악성 코드 작성
  1. 사전에 공격 대상과 스케줄을 정하고 미리 작성한 악성 코드에 코딩
  1. 인터넷을 통해 악성 코드 전파

3. 스니핑 공격

스니핑 공격

  • 수동적 공격(다른 사람 대화 엿듣기, 전기적 신호를 템페스트 장비로 분석)
  • 원리
    • 네트워크 카드는 패킷의 IP 주소와 MAC 주소를 인식하고 자신의 버퍼에 저장할지 결정
    • 인식된 데이터 링크, 네트워크 계층 정보가 자신의 것과 일치하지 않는 것은 무시
     
    • 스니핑 공격자는 자신이 가지지 말아야 할 정보까지 볼 수 있어야 하므로 필터링 방해
    • 랜 카드 설정 사항 조정, 스니핑 드라이버를 설치하여 프러미스큐어스 모드로 변경
    • 프러미스큐어스 모드 : 2계층, 3계층 필터링 해제하는 랜 카드 모드

 

스위치 재밍 공격(MACOF 공격)

  • 스위치가 MAC 주소 테이블을 기반으로 패킷을 포트에 스위칭할 떄 정상적인 스위칭 기능 마비
  • 고가의 스위치는 캐시가 독립적이어서 안 통함
  • 랜덤 형태로 생성한 MAC 주소를 가진 패킷을 스위치로 무한대로 보내 MAC 테이블 저장 용량을 마비

 

SPAN 포트 태핑 공격

  • 스위치의 포트 미러링 기능 이용
  • SPAN 포트는 네트워크 장비에서 간단히 활성화, 포트 태핑은 하드웨어 장비 이용

 

스니핑 공격의 탐지

  • 스니퍼 설치 이후 네트워크에 별다른 현상 X, 사용자가 인지하기 어려움
  • 쉽게 탐지하려면 프러미스큐어스 모드에서 작동
  • 스니퍼 탐지 예시(강의실 교수가 출석 부를 떄)

 

  • ping을 이용한 스니퍼 탐지
    • 대부분 스니퍼는 일반 TCP/IP에서 동작하기 때문에 request를 받으면 response를 전달
    • 이를 이용하여 의심이 가는 호스트에 ping을 보내면 스니퍼를 탐지
    • 이떄 네트워크에 존재하지 않는 MAC 주소를 위장해서 전송
    • 만약 ICMP echo reply를 받으면 해당 호스트가 스니핑 중
  • ARP를 이용한 스니퍼 탐지
    • 위조된 ARP request를 보냈을 떄 ARP response 오면 프러미스큐어스 모드로 설정되어 있는것
  • DNS를 이용한 스니퍼 탐지
    • 일반적인 스니핑 프로그램은 스니핑한 시스템의 IP 주소에 DNS 이름 해석 과정인 Reverse-DNS lookup을 수행
  • 유인을 이용한 스니퍼 탐지
    • 보안 관리자는 가짜 아이디와 패스워드를 네트워크에 뿌림
    • 공격자가 이 아이디와 패스워드 접속을 시도할 때 스니퍼 탐지

 

4. 스푸핑 공격

ARP 스푸핑 공격

  • MAC 주소를 속이는 것
    • 클라이언트에서 서버로 가는 패킷이나 서버에서 클라잉너트로 가는 패킷이 공격자에게 향하게 하여 랜 통신 흐름 왜곡
  • 과정

 

  1. 공격자는 서버의 클라이언트에게 10.0.02에 해당하는 가짜 MAC 주소 CC를 알리고 서버는 10.0.03에 해당하는 가짜 MAC 주소 CC를 알림
  1. 공격자가 서버의 클라이언트 컴퓨터에 서로 통신하는 상대방을 자기 자신을 알렸기에 서버와 클라이언트는 각각 공격자에게 패킷을 보냄
  1. 공격자는 패킷을 읽고, 서버가 클라이언트에 보내려던 패킷은 클라이언트에 보내주고, 클라이언트가 서버에게 보내려던 패킷은 서버에 보냄

 

IP 스푸핑 공격

  • IP 주소를 속이는 것 , 다른 사용자가 IP를 강탈하여 권한 획득
  • 트러스트를 맺고 있는 서버와 클라이언트를 확인한 후 클라이언트에 서비스 거부 공격을 하여 연결 X
  • 클라이언트의 IP 주소를 확보하여 실제 클라이언트처럼 패스워드 없이 서버에 접근
  • 트러스트
    • 클라이언트의 정보를 미리 기록
    • 합당한 클라이언트가 서버 접근 시 아이디 패스워드 없이 로그인 허락
    • 설정하려면 유닉스에서 /etc/host.equiv 파일에 클라이언트의 IP와 접속 가능한 아이디 등록
    200.200.200.200 root 201.201.201.201 +  #1 200.200.200.200에서 root 계정이 로그인 시도하면 패스워드 없이 로그인 허락 #2 201.201.201.201에서는 어떤 계정이든 로그인 허락 #3 (+는 모든 계정, ++는 IP,아이디 상관없이 모두 로그인 허용)

 

  • IP 스푸핑의 서버 접근
    • 공격자가 해당 IP를 사용하여 접속하면 스니핑으로 패스워드 알 필요 X

 

 

  • ICMP 리다이렉트
    • 네트워크 계층에서 스니핑 시스템을 네트워크에 존재하는 또 다른 라우터라고 알려 패킷의 흐름을 바꾸는 공격
       
     

DNS 스푸핑 공격

  • 실제 DNS 서버보다 빨리 공격 대상에게 DNS response 패킷을 보내어 공격 대상이 잘못된 IP 주소로 웹 접속을 하도록 유도
  • 인터넷 익스플로어에 사이트 주소 입력하고 Enter 눌렀을 때 쇼핑몰이나 포르노 사이트 뜰 경우
  • 정상적인 DNS 스푸핑
     
  • DNS 스푸핑 공격 : DNS Query

 

 

 

  1. 공격자는 클라이언트가 DNS 서버로 DNS query 패킷을 보내는 것을 확인, 스위칭 환경인 경우 클라이언트가 DNS query 패킷을 보내면 이를 받아야 하므로 ARP 스푸핑과 같은 선행 작업 필요
  1. 공격자는 로컬에 존재하므로 지리적으로 DNS 서버보다 가까우므로 DNS 서버가 올바른 DNS response 패킷을 보내주기 전에 클라이언트에 위조된 DNS response 패킷을 보낼 수 있다.
  1. 클라이언트는 공격자가 보낸 DNS response 패킷을 올바른 패킷이라 인식하고 웹에 접속, 멀리 떨어진 서버가 보낸 패킷은 삭제

 

  • DNS 스푸핑 공격 대응책
    • 중요 서버에 DNS query를 안 보내면 됨
      • 먼저 시스템 메모리 정보 확인후 hosts 파일에 등록된 정보 확인
      • 중요 접속 서버의 URL에 대한 IP를 파일에 등록하면 되지만 모든 서버 IP 등록은 X

 

5. 세션 하이재킹 공격

세션 하이재킹 공격

  • 세션 가로채기
  • 현실 세계에선 세션 하이재킹을 하려면 몇 가지 조건들이 충족되야함
  • TCP 세션 하이재킹
    • 공격자가 원하는 접속만 공격 대상이 생성하면 네트워크 공격으로 세션 빼앗을 수 있음
    • 기본 단계
      1. 클라이언트와 서버 사이 패킷을 통제
      1. 서버에 클라이언트 주소로 연결을 재설정하기 위한 RSTreset 패킷을 보냄
      무선 랜
      1. 공격자는 클라이언트 대신 연결되어 있는 TCP 연결을 그대로 물려받음
    • MAC 주소를 고정하는 방법은 ARP 스푸핑을 막아주므로 세션 하이재킹 막음 X

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

  • 유선 랜 네트워크 확장용
  • 내부의 유선 네트워크에 AP 장비 설치
  • 무지향성 안테나
    • 주로 봉 형태, 전파 수신에 방향성 X(4개 이상 방향성)
  • 지향성 안테나
    • 수직과 수평으로 나뉨
    • 통신 거리가 더 김
    • 쟁반 또는 접시 모양

 

AP 보안

  • 물리적인 보안 및 관리자 패스워드 변경
    • AP는 전파가 건물 내에 한정되도록 전파 출력 조정
  • SSID 브로드캐스팅 금지
    • SSID : 무선 랜 네트워크 검색 시 확인할 수 있는 AP목록 중 이름으로 표시 된 것
    • 높은 수준의 보안 권한이 필요한 무선 랜은 대부분 SSID 브로드캐스팅을 차단

무선 랜 통신의 암호화

  • 암호화된 통신을 수행하는 네트워크에 접근 시도시 [네트워크 보안 키 입력] 창이 나타남
  • WEP
    • 무선 랜 통신을 암호화하기 위해 802.11b 프로토콜부터 적용
    • RC 4 암호화 알고리즘을 기본
    • 64비트는 40비트, 128비트는 104비트의 RC 4키를 사용

 

  • WPA-PSK
    • 802.11i 보안 표준의 일부분 WEP 방식 보안의 문제점을 해결하기 위해 만들어 짐
    • WPA-개인, WPA-엔터프라이즈로 규정, 무선 랜 인증 방식에 사용되는 모드에 따른 구분

 

 

'3학년 2학기 공부 과정 > 정보보안' 카테고리의 다른 글

07. 암호의 이해  (0) 2022.12.22
06. 악성 코드  (0) 2022.12.22
04. 웹 보안  (0) 2022.12.22
02. 시스템 보안  (0) 2022.12.15
01. 정보 보안의 세계  (0) 2022.12.15