과거에는 자동화 툴을 사용했으나 광대한 공격 범위를 위해 최종 공격 대상 이외에 공격을 증폭시키는 중간자를 활용하기 시작
사용 툴마다 명칭과 구조가 조금씩 다르지만 기본 형태는 아래의 그림과 동일
과거의 DDoS 공격에서는 마스터와 에이전트가 중간자인 동시에 피해자이기도 했음
공격자가 상당한 시간을 두고 여러 시스템을 해킹
시스템에 마스터와 에이전트를 설치
공격 시 해당 시스템에 공격 명령을 내리는 형태
과거 DDoS의 결점
악성 코드와 결합된 형태가 흔함
그 과정은 아래와 같음
PC에서 전파 가능한 형태의 악성 코드 작성
DDoS 공격을 위해 사전에 공격 대상과 스케줄을 설정, 이를 미리 작성한 악성 코드에 코딩
인터넷을 통해 악성 코드 전파
- DDoS 공격에 사용되는 악성 코드를 봇(bot)이라고 함
- 전파 과정에서는 별다른 공격 없이 잠복
- 악성 코드에 감염된 PC를 좀비 PC라고 함
- 좀비 PC끼리 형성된 네트워크를 봇넷(botnet)이라고 함
공격자가 명령을 내리거나 봇넷을 형성한 좀비 PC들이 정해진 스케줄에 따라 일제히 공격 명령을 수행하여 대규모의 분산 서비스 공격 발생
MAC 주소를 속이는 것
공격자의 MAC 주소를 로컬에서 통신하고 있는 서버와 클라이언트의 IP 주소에 대한 데이터 링크 계층의 MAC 주소로 속임
아래의 그림은 위의 공격 과정이 성공했을 경우의 패킷 흐름을 나타냄
윈도우에서는 arp -a 명령을 이용하여 현재 인지하고 있는 IP와 해당 IP를 지니고 있는 시스템의 MAC 주소 목록을 확인할 수 있음
ARP 스푸핑을 당하고 난 후의 ARP 테이블을 살펴보면, 특정 IP의 MAC 주소가 달라져 있다는 것을 확인할 수 있음
ARP 스푸핑을 방지하기 위해서는 ARP 테이블이 변경되지 않도록 IP 주소와 MAC 주소를 고정하는 것
arp -s (IP 주소) (MAC 주소)
유닉스 운영체제에서는 주로 트러스트 인증법을 사용
/etc/host.equiv
윈도우 운영체제에서는 트러스트 대신 액티브 디렉터리 사용
트러스트를 이용한 접속은 네트워크에 아이디와 패스워드를 홍보하지 않기 때문에 스니핑 공격에 안전한 것처럼 보임
공격자는 제로 트러스트 상태의 클라이언트에 DoS 공격 수행
클라이언트가 사용하는 IP가 네트워크에 출현하지 못하게 하려는 목적
해당 사용자가 접속하지 못하면 자신이 해당 IP로 설정을 변경하고 서버에 접속하는 형태로 공격
이때 공격자는 패스워드 없이 서버 로그인 가능
IP 스푸핑의 대응책은 트러스트를 사용하지 않는 것
보안 컨설팅을 수행할 때도 클러스터링 환경처럼 트러스트 설정이 불가피한 경우를 제외하고는 트러스트를 사용하지 않도록 함
ICMP 리다이렉트 과정은 위의 그림과 같이 진행
위 과정을 간단히 말하자면, ICMP 리다이렉트를 이용한 공격자가 라우터 B가 되는 것
ICMP 리다이렉트 패킷도 공격 대상에게 전송한 후 라우터 A에 다시 연결하면 모든 패킷을 스니핑 할 수 있음
DNS 서비스는 아래의 과정으로 동작
DNS 패킷은 UDP 패킷
세션이 없기 때문에 먼저 도착한 패킷을 신뢰하고 다음에 도착한 정보는 Drop
DNS 스푸핑은 DNS 서비스의 이러한 특징을 활용
TCP 하이재킹은 서버와 클라이언트 각각 잘못된 시퀀스 넘버를 사용하여 연결된 세션에 잠시 혼란을 준 뒤 자신이 끼어들어가는 방식을 사용
아래는 기본적인 단계를 설명함
위의 단계를 거치면 공격자는 클라이언트가 텔넷 등을 통해 열어놓은 세션을 아이디와 패스워드 입력 없이 그대로 획득할 수 있음
세션 하이재킹을 방지하기 위해서는 텔넷과 같은 취약한 프로토콜을 사용해서는 안 됨
클라이언트와 서버 사이에 MAC 주소를 고정하는 것도 하나의 대응책
무선 랜은 공개된 장소에서 접근이 가능하다는 이유로 물리적 보안을 가볍게 여기는 경우가 많음
스위치나 라우터는 기업 네트워크 안정성을 결정짓는 중요한 장비
무선 랜에서는 SSID(Service Set Identifier)를 사용해 무선 랜 식별
무선 랜에서 AP의 존재를 숨기고 싶으면 SSID 브로드캐스팅을 막고 사용자가 SSID를 입력해야 AP에 접속할 수 있게 함
무선 랜 통신을 암호화하기 위해 802.11b 프로토콜부터 적용
1987년에 만들어진 Rc 4(Ron's Code 4) 암호화 알고리즘을 기본으로 사용
WEP는 64비트와 128비트를 사용할 수 있음
WEP는 암호화 과정에서 암호화 키와 함께 24비트의 IV(Initial Vector) 사용
통신 과정에서 IV는 랜덤으로 생성되어 암호화 키에 대한 복호화를 어렵게 함
무선 전송 데이터의 암호화 방식 중 TKIP(WPA-1) 방식은 WEP 취약점을 해결하기 위해 제정된 표준
EAP에 의한 사용자 인증 결과로부터 무선 단말기와 무선 AP 사이의 무선 채널 보호용 공유 비밀 키를 동적으로 생성하여 무선 구간 패킷을 암호화
WPA/WPA2-PSK는 기존의 WEP 암호화/복호화 키 관리 방식을 중점적으로 보완
WPA-Enterprise는 사용자 인증 영역까지 보완한 방식
802.1x/EAP는 개인 무선 네트워크의 인증 방식에 비해 아래의 기능이 추가
여기서 WEP 또는 WPA-PSK가 802.1x/EAP와 근본적으로 다른 차이점