· 한국에서도 국지적으로 소량의 DDoS공격이 있었으며 당시 회선 대역이 낮고 라우터나 보안장비의 성능이 매우 낮아 속수무책으로 당하기 쉬웠다.
· SYN, UDP, ICMP 플러딩을 주된 공격 기법으로 사용하였으며, SYN플러딩 같은 경우 고객을 위한 세션 사용량을 잡아 두기 때문에 가장 위험한 공격이었으며 또한 IP를 변조하여 공격하여 잡기가 어려웠다.
※ DDoS가 나오기 전의 과부하 공격 방법들은 무엇이 있었을까?
· smuf : 원격지에 있는 네트워크 대역에 Direct Broadcast를 하여 해당 대역을 모두 공격하는 방법
· Land : 목적지 IP와 출발지 IP를 같게 조작하여 공격하여 SYN 플러딩과 같이 사용자 수를 점유하고 서버의 CPU에 부하를 유발하는 방법
· ping of death : 핑의 패킷을 최대한 길게 하여 보내는 방법 (서버에서 핑만 막으면 되서 예방하기 쉬움)
· Teardrop : 단편화된 패킷에 비트를 조작하여 보내는 방법
1세대 방어 트랜드
· 지역 회선을 늘려 수용량을 늘림
· 서버의 CPU 성능 향상 (분산처리, 서버 처리속도 증가)
· 라우터의 CPU 성능 향상 (CPU의 역할을 분리시킴 : 테이블 수립 CPU, 패킷 포워딩 CPU, 페이로드 CPU)
· 즉, 하드웨어적 성능 향상이 있었습니다.
2세대 공격 트랜드(~2007)
· DDoS공격 툴이 네이버 카페 등에서 판매가 성행하며 대중적으로 확산되었다.
· 광랜이 들어오면서 좀비 PC들 또한 성능이 향상되어 공격이 강화되었다.
· 툴 판매등으로 피싱 공격이 유행되면서 좀비 PC의 감염율이 높아짐 (악성 첨부파일, 악성 URL)
· 좀비 PC가 잘 알려진 포트인 80포트를 써서 공격하여 좀비PC의 식별이 어려움이 생겼다.
- 2세대 주된 공격방식
· SYN, SYN-ACK, ACK 플러딩을 변조하는 방식으로 공격
→ ACK 플러딩 같은경우 대용량 파일 전송할때와 패턴이 유사하기 때문에 디도스 방어시스템에서 잡기 어려움
· 세션 기반 플러딩 공격 - TCP 세션까지만 맺고 가만히 세션을 유지하는 공격
→ TCP, IP 변조를 식별 기능이 개발됨에 따라 공격 방법이 변화된 공격이다.
→ 리소스가 대역폭을 과도하게 잡진 않지만 서버의 세션 사용량을 소모하기 때문에 막기가 힘들다.
· 웹기반 플러딩 공격 - HTTP의 GET헤더를 조작해서 공격
→ HTTP레벨에서 TCP 세션까지 정상 맺고 HTTP GET까지 정상으로 보내는것 같지만 코드상에 마무리를 하지 않아 서버에서 기다리게..
→ POST패킷의 Content Length를 과도하게 조작하여 강제로 세션 대기
· 반사기반 플러딩 공격 - 프로토콜 규칙을 이용한 공격
→ 왼쪽 공격자, 가운에 웹서버 오른쪽 목표서버라고 할 때, 가운데 반사체 서버를 향해 공격자가 출발지 아이피를 목표서버로 변조하여 서버에 SYN 플러딩 보내는 공격
→ 반사체 서버는 자기는 목표 서버에서 SYN 신호를 받은 줄 알고 목표서버에 SYN-ACK을 날리게 된다.
→ 가운데 서버가 웹서버가 아니라면 RESET을 날리게 된다.
→ 최근 유행하는 증폭 공격의 모체가 되었다.
2세대 방어 트랜드
· 디도스 사이버 방어시스템, 호스팅업체를 통한 방어
- 디도스 방어시스템 특징
· 평소보다 많은 트래픽을 받을 때 방어시스템이 동작하여 해당 공격을 방어
· 각각 공격법에 따른 특화된 방어시스템을 동작 시키는 방법
· 하지만 이러한 방어 시스템도 3세대 공격 트랜드로 인해 오래가지 못하였다.
3세대 공격 트랜드 (현재)
· 사용 회선을 꽉차게 하여 공격 (증폭 공격)
· 좀비PC의 매개체가 IOT센서, 스마트폰 등 다양해짐
※ 가장 최근 DDoS 이슈
· 멤캐시드 공격(2018.02.28) : GitHub서버에 순간 트래픽이 1.35 테라 bps에 달하는 DDoS 증폭 공격
· (관련 뉴스 : http://www.dailysecu.com/?mod=news&act=articleView&idxno=31010)
- 멤캐시드 동작방식 (반사 공격과 유사)
· 네트워크 속도를 향상시키는 멤캐시드 서버는 원래 공용 네트워크에 공개되면 안되지만 현재 10만대가 넘는 기업과 중소형 멤캐시드 서버가 보호장치가 없는 채 노출되어 있는 상황이기 때문에, 공격자가 멤캐시드를 이용하면 매우 규모가 큰 공격이 가능해진다.
· 멤캐시 키를 요청시 멤캐시 서버가 목표서버에 멤캐시 키값을 증폭해서 보내는 기술이며 이론상 10메가 → 510GB까지 이론상 증폭된다. (최대 51000배)
- DNS를 활용한 증폭 공격
· 인터넷 공개된 리쿼시브 쿼리가 올라간 DNS서버에 DNS ANY 쿼리를 IP를 변조해서 전송 시 DNS 응답을 받게 된다. (SNMP도 비슷하게 응용할 수 있다.)
· 이 공격의 증폭지수는 낮지만 SNMP와 같이 세계적으로 적용된 시스템이 많아서 문제가 되었다.
※ 과거의 DDoS공격은 좀비PC가 외부 서버에 공격할 때 해당 서버의 인프라 수준에서는 무시할 수준이었지만 멤캐시드 같은 공격같은경우에는 트래픽이 매우 크기 때문에 방어하기가 어렵다. 따라서 안쓰는 대역 포트 막거나 취약점 패치 및 정기적 검수를 통해 예방해야한다.
3세대 방어 트랜드 (현재)
· DDoS 공격을 완전히 막을 수는 없으며 디도스 방어장비 → ACL → ISP → 스크러빙 센터 의뢰 순으로 대응
스크러빙 센터?
· 기존 사이버 대피소를 확장시킨 개념이며 DDoS공격에 최적화된 클라우드 서비스
· 고객의 트래픽을 DNS를 우회, 흡수하고 검사하여 정상트래픽만 고객의 인프라에 전달하는 서비스이다.
· 퍼블릭 클라우드에다가 오픈소스기반의 프록시 배치 서버로 향하는 트래픽을 프록시 처리를하여 거치도록함
· HTTP공격은 막기힘들지만 TCP 레이어 공격은 막을 수 있다.
· 웹프록시 동작 상 SYN패킷이 많이 들어오면 자신이 묶어두고 오리진 서버에 보내주지 않는다.
· 즉, 클라우드상 전세계에 넓게 분포된 센터에서 흡수한 증폭 트래픽을 분산하여 각지역의 DDoS 방어 장비에서 막기 때문에 현재 트랜드의 DDoS 공격에 최적화 되어있다.
· 단점으로 굉장히 비싸다.
현재의 한계점
· 네트워크 장비, 보안장비에서 할 수 있는 것 : Access list, Null routing, DNS 라운드 로빈, DNS 정보변경 등을 통해 일부 DDoS 공격에 대응이 가능하지만 현실적 한계점이 존재
· 기업용 보안장비에서 할 수 있는 것 : 세션 검증(SYN없는 SYN-ACK, SYN-ACK없는 ACK의 비상적인 세션 검증)
· PS에서 할 수 있는것 : 패턴 검증(HTTP GET에서 캐시컨트롤 스트링 확인, PAYLOAD에 있는 공격툴만의 박혀 있는 스트링 확인 차단), 무결성 검증(HTTP 헤더안에 커넥션이나 프록시 커넥션 헤더 둘중하나가 없는것 확인)
· 이런것들이 있지만, 방화벽에서는 대용량 트래픽을 차단한는데 한계가 있다.
'IT > Security' 카테고리의 다른 글
<DDoS> 분산형 서비스 거부란 무엇일까? (0) | 2023.04.17 |
---|---|
[ENG] Security Topics: Understanding the basic concepts/threats and protection of malware (0) | 2023.04.04 |
보안토픽 : 멀웨어의 기본개념 / 위협 및 보호 방법 이해 (0) | 2023.04.04 |
[SECURITY] 잘알려진 포트 및 취약포트 정리 (0) | 2022.07.12 |
[XSS] 크로스사이트스크립팅 [WEB] (0) | 2022.07.04 |