2025.04.21 - [전공수업/정보보안] - [정보보안] 네트워크 보안 - DoS, DDoS, DRDoS, APT 공격
[정보보안] 네트워크 보안 - DoS, DDoS, DRDoS, APT 공격
* 서비스 거부(DoS) 공격- 특정한 시스템이나 네트워크, 웹 서비스에 정상적인 사용자가 접근하지 못하도록 방해하는 것즉, 다량의 트래픽을 통해 특정대상에 과부하를 주거나, 악의적인 요청을
djjin02.tistory.com
2025.04.24 - [전공수업/정보보안] - [정보보안] 네트워크 보안 (2) - 제로데이, 피싱, 파밍, 스미싱, 랜섬웨어, 사회공학적 공격
[정보보안] 네트워크 보안 (2) - 제로데이, 피싱, 파밍, 스미싱, 랜섬웨어, 사회공학적 공격
2025.04.21 - [전공수업/정보보안] - [정보보안] 네트워크 보안 - DoS, DDoS, DRDoS, APT 공격 [정보보안] 네트워크 보안 - DoS, DDoS, DRDoS, APT 공격* 서비스 거부(DoS) 공격- 특정한 시스템이나 네트워크, 웹 서비
djjin02.tistory.com
위 게시물과 이어서 작성한 내용입니다.
* 네트워크 공격
1. 스캐닝(Scanning)
- 공격대상의 시스템이나 서비스(Telnet, SSH, HTTP 등) 및 활성화 상태를 확인하기 위한 절차
- 스캐닝에 사용되는 프로토콜: ICMP, TCP, UDP가 있음
- 스캐닝을 통해 얻을 수 있는 정보
- 시스템에서 실행되고 있는 TCP, UDP 서비스
- 시스템과 운영 체제의 종류
- IP주소, 포트, 도메인 이름 등 네트워크 정보
1) 포트 스캐닝
- 공격자가 공격대상 시스템의 포트 상태를 확인하는 것
- OS판별 공격 경로 선택 등을 위하여 수행하는 절차
다중 취약점 스캔 | SAINT, Sscan2k, Vetescan, Mscan |
특정 취약점 스캔 | Cgiscan, Winscan, Rpcscan |
은닉 스캔 | Nmap, Stealthscan |
네트워크 구조 스캔 | Firewalk, Nmap |
2) 스캐닝 종류: TCP, UDP
(1) TCP 포트 스캔
Open Scanning |
- TCP Connect 스캔 - TCP 프로토콜의 3-Way Handshaking을 이용하여, 각 포트에 완전한 TCP 연결 확립후 대상 포트로 SYN패킷 전송 - 속도가 느리고, 상대 시스템에 로그 기록 남음 - 열린 포트: SYN/ACK, 닫힌 포트: RST/ACK 패킷 응답 |
Half Open Scanning |
- SYN스캔 - 완전한 TCP연결을 하지 않고, Half-Open 연결을 통하여 포트의 Open/Close상태를 확인하기 때문에TCP Connect() 스캔과 달리 시스템에 로그 기록이 남지 않음 - 스캔 속도가 TCP Connect() 스캔보다 빠르므로 많이 사용 |
Stealth Scanning |
- SYN 패킷 자체를 전송하지 않고 스캐닝 - FIN, NULL, X-MAS, ACK스캔 - UNIX계열 시스템에서만 사용할 수 있으므로 TCP, FIN, NULL, X-MAS 스캔을 수행 후 응답이 없으면 윈도우 계열의 시스템으로 판단할 수 있음 - 열린 포트 : 무응답, 닫힌 포트: RST패킷 응답 |
(2) UDP 포트 스캔
- 공격대상 시스템 포트를 목적지 포트로 하여, UDP패킷 전송
- 열린 포트: 무응답, 닫힌 포트: ICMP Unreachable 메시지 응답
3) 스캐닝 기본 원리
(1) TCP FIN, NULL, X-MAS Scan
FIN스캔 | TCP Flag의 FIN을 활성화하여 대상 포트로 패킷 전송 |
NULL스캔 | TCP Flag를 모두 비활성하여 대상 포트로 패킷 전송 |
X-MAS 스캔 | TCP Flag의 FIN, URG, PSH를 활성화하여 대상 포트로 패킷 전송 |
(2) TCP SYN Scan
- TCP SYN패킷을 전송하여 접속을 시도하고, 포트가 열려 있는 경우 응답 패킷인 SYN/ACK대하여 RST패킷을 전송함으로써, 정상적인 TCP 3-웨이 핸드세이크 연결 확립을 하지 않는 스캔
(3) TCP ACK Scan
- 대상 시스템에 SYN 패킷 대신 ACK패킷 전송
- 다수의 패킷 필터링 장비가 네트워크에 연결된 세션은 허용한다는 점을 이용
- 방화벽 정책을 설계하는 데 사용
- 방화벽의 차단 설정 유무를 확인하는 데 사용
(4) TCP RPC Scan
- UNIX시스템에 적합
- TCP/UDP포트에 RPC포트, 서비스 제공하는 프로그램, 버전 등을 탐색하거나 확인하기 위하여 SunRPC Program NULL 명령을 계속 전송
(5) UDP Scan
- 대상 시스템에 UDP 패킷 전송
- 열린 포트: 무응답, 닫힌 포트: ICMP Unreachable 패킷 응답
(6) Source port Scan
- 특정 출발지 포트를 무조건 신뢰하는 접근통제 정책을 이용한 스캔
2. 스니핑(Sniffing)
- 사전적 의미로 스니핑이란 “코를 킁킁거리다”, “냄새를 맡다”의 의미
- 네트워크에서 자신이 아닌 다른 상대방의 패킷 전송을 엿보는 것
- 네트워크 트래픽을 도청하는 과정으로, 스니핑 할 수 있도록 하는 도구를 “스니퍼”라 함
1) 스니핑 원리
- TCP/IP프로토콜의 데이터그램 자체가 암호화되어 전송되지 않기 때문에 네트워크로 전송되는 패킷을 수집하여 순서에 맞게 재조립하면 원래의 데이터를 얻는 방법으로 스니핑
- LAN카드의 Promiscuous Mode를 사용하여 로컬 네트워크에서 암호화되지 않은 모든 트래픽을 수신함으로써 패킷 도청
2) 스니핑 공격 기법
(1) 허브 환경에서의 스니핑
- 허브는 모든 프레임을 브로드 개스팅하기 때문에 Promiscuous Mode를 사용하면 모든 프레임을 전송받을 수 있으므로, 스니핑 도구로 저장. 분석. 가능
(2) 스위치 환경에서의 스니핑
- 스위치는 기본적으로 MAC주소를 이용하여 패킷을 어떤 목적지로 보낼 것인지를 결정
- 허브 환경에서와 달리, 프레임은 실제 수신 대상에게만 전송되기 때문에 공격자가 아무리 인터페이스를 Promiscuous Mode로 설정했다 하더라도 패킷을 도정할 수 없음
3) 스니핑 공격 유형
Switch Jamming | - 스위치가 MAC 주소 테이블을 기반으로 포트에 패킷을 스위칭 할 때 정상적인 스위칭을 하지 못하도록 하는 공격 - MACOF공격이라고도 함 (MAC Flooding Switch Jamming 공격) - 공격자는 위조된 MAC주소를 지속적으로 전송하여 MAC 주소 테이블을 오버 플로우되게 함으로써, 스위치가 허브처럼 동작하게 되어, 모든 네트워크 세그멘트로 이더넷을 프레임을 브로드캐스팅 하도록 함 |
ARP Spoofing | - 두 대상의 MAC 주소를 공격자 자신의 MAC 주소로 변조하여 중간에서 패킷을 가로채는 공격 - 네트워크 내에서 두 대상의 IP주소에 대한 MAC 주소를 공격자의 MAC주소로 변조하여 클라이언트에서 서버로 가는 패킷이나 서버에서 클라이언트로 가는 패킷이 공격자에게 전송되도록 하는 공격 |
ARP Redirect | - 위조된 ARP Replay를 주기적으로 브로드캐스팅 함으로서 네트워크 내의 호스트들이 공격자를 라우터로 인식하도록 만들고, 외부로 전달되는 모든 패킷이 공격자를 한번 거친 후 라우터로 전송되도록 하는 공격 - 이때 자신이 공격자임을 숨기기 위해 스니핑 후 패킷을 IP포워딩하여 라우터로 전해줘야 함 - 이 과정에서 공격자는 네트워크에 있는 호스트가 어떤 패킷을 아우터를 통해 외부로 통신하려 하는지 감시와 분석을 할 수 있음 |
ICMP Redirect | - ARP Redirect와 동일하게 공격자가 라우터로 인식되도록 하는 공격 - 여러 라우터 가 존재하는 네트워크에서 최적의 경로를 찾기 위해 여러 알고리즘으로 동작하게 되는데, 공격자는 공격대상에게 “자신이 라우터이고 최적의 경로"라는 변조된 ICMP Redirect보내 데이터를 전송받음 - 이때 자신이 공격자임을 숨기기 위해 스니핑 후 패킷을 IP 포워딩하여 라우터로 전달해줘야 함 - 이 과정에서 공격자는 네트워크에 있는 호스트가 어떤 패킷을 아우터를 통해 외부로 통신하려 하는지 감시와 분석을 할 수 있음 |
SPAN 포트 태핑 (Port Mirroring) |
- 스위치의 포트 미러링 기능을 이용한 공격 각 포트에 전송되는 데이터를 미러링 하는 포트에도 동일하게 전달 - 침입탐지시스템, 네트워크 모니터링, 로그 시스템 등에 많이 사용, 이 포트를 이용해 모든 정보를 볼 수 있음 |
4) 스니핑 탐지 방법
Ping 이용 | - 공격자로 의심되는 호스트에 네트워크에 존재하지 않는 MAC주소로 위조된 Ping을 보내면 ICMP Echo Relay로 응답하게 되는데, 공격자가 아니고 정상적인 사용자라면 Ping요청에 응답할 수 없음 - 위조된 Ping에 응답을 한다는 것은 공격자가 네트워크 내에 존재한다는 것 |
ARP 이용 | - Ping과 유사한 방법으로 위조된 ARP Request를 전송할 때 ARP Response가 돌아오면 상대방 호스트가 “Promiscuous Mode”로 설정되어 있는 것으로 추측할 수 있음 - “Promiscuous Mode”로 설정되어 있을 경우, 모든 ARP Request에 ARP Response를 함 |
DNS 이용 | - 일반적으로 스니핑 프로그램은 사용자의 편의를 위하여 스니핑한 시스템의 IP주소를 보여주지 않고, 도메인 이름을 보여주기 위하여 Reverse-DNS Lookup을 수행함 - Reverse-DNS Lookup: 역으로IP주소를 도메인으로 바꾸기 위한 질의, 모든 과정은 클라이언트가 DNS서버에 요청하여 이루어짐 - 대상 네트워크로 Ping Sweep을 보내고, 돌아오는 Reverse-DNS Lookup을 감시하여 스니퍼를 탐지 |
유인(Decoy) 방법 |
- 네트워크에 사용자 ID와 패스워드를 지속적으로 전송함으로써, 공격자가 이 패스워드를 사용하도록 유도 - 관리자는 네트워크에 전송한 사용자 ID와 패스워드를 이용하여 접속을 시도하는 시스템을 탐지함으로써 스니퍼를 탐지 |
Host Method | - 호스트 단위에서 “Promiscuous Mode”를 확인하는 방법 - “ifconfig” 명령어를 이용하여 확인 할 수 있음 - “PROMSC”부분을 보고 “Promiscuous Mode”가 설정되어 있음을 알 수 있음 |
5) 스니핑 탐지 도구
ARP Watch | - ARP 트래픽을 모니터링하여 MAC/IP 주소 매핑을 감시하는 프로그램 - 초기에 설정된 네트워크의 ARP 엔트리를 검사하여 저장하며, 이 ARP엔트리가 이를 탐지하여 관리자에게 알려줌 - 대부분 공격기법이 위조된 ARP를 사용하기 때문에 이를 쉽게 탐지할 수 있음 |
Sentinel | - 스니퍼를 탐지하는데 있어서 4가지 방법을 제공(ARP, Ping, DNS 등 3가지 모두 이용) - 네트워크 관리자는 내부 네트워크의 모든 호스트에 대하여 주기적으로 스니퍼가 설치되어 있는지 점검해야 함 |
Antisniff | - Senfinel과 비슷한 메커니즘에 의하여 네트워크의 스니퍼를 탐지함으로써 스니핑하는 시스템을 탐지하는 도구 |
3. 스푸핑(Spoofing): ARP 스푸핑, IP 스푸핑, DNS 스푸핑
- 사전적 의미는 “골탕 먹이다.”, “속이다.”의 의미
- 공격하고자 하는 호스트의 IP주소, MAC주소, DNS 등을 변조하는 공격기법
1) ARP 스푸핑
- 공격대상과 서버 간 트래픽을 공격자의 시스템으로 우회시키는 공격
- 우회한 트래픽으로 공격자는 사용자 ID와 패스워드 등의 정보를 획득할 수 있음
(1) 공격 원리
(2) 대응 방법
- MAC 주소 테이블을 정적 지정
- MAC주소와 포트를 1:1 매핑
2) IP 스푸핑
- 공격자가 IP주소를 변조하여 다른 시스템을 공격하는 기법
- 신뢰관계에 있는 두 시스템 간 공격자가 마치 신뢰관계에 있는 호스트인 것처럼 속이는 것
- IP스푸핑에 성공한 공격자는 신뢰 관계를 이용하기 때문에 서버로부터 패스워드 인증 없이 접근가능
- 클라이언트가 서버로 전송하는 패킷이나 서버에서 클라이언트로 전송하는 패킷을 가래채야 하므로 DoS공격이나 스위치 재밍, ARP스푸핑 등 두 가지 이상의 공격기법을 동시에 사용
- 서비스거부 공격(TCP SYN Flooding, UDP Flooding, ICMP Flooding)을 수행할 수도 있고, 공격대상과 서버 사이에 연결된 세션을 끊을 수도 있음
- TCP 순서번호 추측공격 수행 가능
(1) 공격 원리
(2) 공격 종류
Blind Spoofing |
- 공격자가 클라이언트와 서버 간의 통신에서 순서번호의 예측으로 중간에 끼어드는 방식 - 순서번호가 증가하는 방식은 운영체제별로 다름 - 일반적으로 일어나는 스푸핑 방법이지만 사용은 까다로움 |
Non Blind Spoofing |
- 공격자가 클라이언트와 서버 간의 통신을 스니핑한 후 중간에 끼어드는 방식 - 순서번호를 예측하지 않아도 되기 때문에 간단 |
(3) 대응 방법
- 신뢰 관계를 사용하지 않음
- 신뢰 시스템의 MAC주소를 정적 지정
- 외부 유입 패킷 중 출발지 IP주소가 내부 IP주소로 변조된 패킷은 라우터에서 필터링
- 무작위의 순서번호 생성, 암호화된 순서번호 사용
- 내부 사용자에 의한 공격은 각 시스템에서 TCP Wrapper, SSH 등을 사용하고, rlogin 등과 같이 패스워드의 인증과정이 없는 서비스를 사용하지 않음
- 로깅과 경고 기능을 강화하여 비정상적인 패킷을 발생시키는지 감시
3) DNS 스푸핑
- DNS에서 전달되는 IP주소를 변조하거나 DNS의 서버를 장악하여 사용자가 의도하지 않은 주소로 접속하게 만드는 공격
- 공격자가 DNS를 통제
- 사용자가 요청한 도메인 이름에 대한 IP주소를 공격자가 원하는 IP 주소를 변조
- DNS 질의 요청 시 출발지와 목적지 포트, 요청처리 ID를 부여할 때, 임의의 값이 생성되는 것을 예측할 경우 캐시 조작이 가능하다는 취약점 존재
- 취약점을 포함하지 않는 DNS의 경우 강력한 난수 생성기를 사용한다고 하더라도 평균적으로 32,768번 시도하면 요청처리 ID를 쉽게 예측할 수 있으며, 취약점을 내포한 DNS의 경우 더 적은 수의 시도만으로도 예측가능
(1) 공격 원리
4. 세션 하이재킹(Session Hijacking)
- 사적인 의미로 “세션 가로채기"“ 공격
- 서버에 접속할 정상적인 사용자 아이디와 패스워드를 알지 못할 경우 공격대상(클라이언트)이 이미 서버에 연결되어 있는 세션을 가로채는 공격
- 공격자가 서버와 클라이언트 간의 통신에서 세션을 탈취하여 정상적으로 세션이 형성된 클라이언트인 것처럼 위장함으로써, 인증을 회피하는 공격기법
- 클라이언트와 서버 간의 통신 시 TCP의 순서번호 제어이 문제점을 이용하는 공격
- 일회용 패스워드, 토큰기반 인증을 이용할 경우에도 세션 탈취 가능
1) 공격 원리
2) 공격 방법
3) 공격 종류
Non Blind Attack | 클라이언트와 서버 간 전송되는 순서번호를 이용하여 세션을 가로채고 클라이언트의 세션을 제어 |
Blind Attack | 클라이언트와 서버 간 전송되는 순서번호를 알 수 없기 때문에 RST 패킷을 이용하여 접속을 폐쇄상태(Closed State)로 만든 다음 재 접속 |
4) 탐지 방법
비동기화 상태 탐지 | 서버와 순서번호를 주기적으로 검사하여 비동기화 상태 인지 탐지 (순서가 불안전한 상태: 비동기화) |
Ack 스톰 탐지 | 전송 중 Window크기와 순서번호가 맞지 않는 상태가 되면 교정 패킷이 정상적으로 작동하지 못하기 때문에 무한루프에 빠져 ACK패킷의 비율 급증 |
패킷 유실의 재전송 증가 탐지 |
공격자가 중간에 끼어 있기 때문에 패킷의 유실과 재전송 발생, 서버와의 응답시간 증가 |
기대하지 않은 접속의 리셋 |
- 접속 초기에 예상치 못한 세션의 리셋이 발생할 수 있음 - 만약 세션을 탈취당하거나, 탈취당하지 않았다 하더라도 공격이 실패할 경우에는 세션이 멈추거나 초기화 |
5) 대응 방법
- 전송 데이터 암호화
- 지속적인 인증을 통한 세션 유효성 확인
'전공수업 > 정보보안' 카테고리의 다른 글
[정보보안] 네트워크 보안 (2) - 제로데이, 피싱, 파밍, 스미싱, 랜섬웨어, 사회공학적 공격 (0) | 2025.04.24 |
---|---|
[정보보안] 네트워크 보안 - DoS, DDoS, DRDoS, APT 공격 (0) | 2025.04.21 |
[정보보안] 네트워크의 이해 (0) | 2025.04.21 |
[정보보안] 서버 보안 (0) | 2025.04.20 |
[정보보안] 클라이언트 보안 (0) | 2025.04.20 |
댓글