|
|
분산 서비스 거부 공격(Distributed Denial of Service attack, DDoS)
분산 서비스 거부 공격(Distributed Denial of Service attack)이란 특정 서버(컴퓨터)나 네트워크 장비를 대상으로 많은 데이터를 발생시켜 장애를 일으키는 해킹 기법이다. 보통 앞글자만 따서 디도스 공격이라고 부른다. 서비스 거부 공격 DoS(Denial of Service attack)에서 한 단계 진보된 사이버테러 방법이다.
간단하게 말하면 좀비 PC 등을 이용하여 고의로 서버를 터뜨리는 것이다. 디도스 공격 방법은 다양하지만, 사이트를 마비시키기 위하여 여러 클라이언트를 동원해 서버에 무리를 준다는 점은 똑같다. 쉽게 말해 컴퓨터와 네트워크 상에서 일어나는 다구리라고 보면 된다.
대상 웹 서버에 비정상적으로 많은 트래픽을 흘려보내 웹 서버가 과도한 트래픽 소모 및 프로세스 진행, 과도한 입출력등을 통해 서버가 먹통이 되게 만든다. 어찌보면 굉장히 간단하지만 의외로 확실하게 막을 방안이 없다. 그래서 디도스 공격은 사이버 범죄자들이 가장 오랜 기간 애용하는 공격 기법이다.
대학교 수강신청, 콘서트 티켓팅 때문에 웹사이트 접속이 폭주해서 먹통이 되는 것도 사실 디도스 공격과 같은 원리이다. 다만 이쪽은 사이트를 공격하기 위해 일부러 서버를 터뜨린 것이 아니기 때문에 '공격'이라고 부르지 않는다. 즉 Distributed Denial of Service으로 Attack이 빠진 DDoS이다.
브라우저에서 특정 웹 페이지를 열어놓고 F5키를 계속 연타하면 서버에 해당 웹 페이지 크기와 F5를 누른 횟수를 곱한 만큼의 트래픽을 주기 때문에 DDoS 공격에 해당된다. 물론 혼자서 해서는 여러 대의 컴퓨터라는 정의에 맞지 않기 때문에 단순 DoS 공격일 뿐이고, 조직적으로 특정한 시간대를 정해 다수의 인원이 동시에 F5키를 연타해 트래픽을 흘려넣으면 DDoS라고 부르는 것이 가능하다. 디시의 유명 프로그램 방법시리즈가 이 방식이다. 2010년 삼일절 사이버 전쟁 또한 수천 명이 Low Orbit Ion Cannon이란 프로그램으로 연타를 가해 서버를 다운시켜 승리했다.
일반인들도 누구나 할 수 있는 방법이다. 하지만 원한이 있다고 DDoS를 남발하지 말자. 서버에 로그가 남기 때문에 적발되는 순간 철창행이다. 대표적인 사건은 수능 갤러리 강제정모. 그리고 폭력조직의 청부폭력에 사용된 사례도 있다. 기사
불특정 다수의 PC에 악성코드를 심어 유사시에 공격이 가능한 좀비 PC로 만든 뒤 공격에 동원하기도 한다. 악성코드에 감염된 수많은 좀비 PC가 공격자의 명령에 따라 일제히 서버에 대량의 트래픽을 전송하는 방식으로 이루어지며, 서버가 허용하는 트래픽 용량을 넘어서게 되면 정상적인 클라이언트가 서버로 접속할 수 없게 된다. 근래 들어 수많은 컴퓨터가 좀비 PC가 되었다가 맛이 가는 사례가 뉴스에 종종 보도되니 주의하자. 다만 좀비 PC가 맛이 가는 경우는 DDoS 공격 자체의 특성이 아니고 좀비 PC를 조종하는 공격자가 파괴 명령을 내린 것이다. 그렇지 않다면 좀비 PC측의 피해는 컴퓨터가 느려지는 정도. 그 외에 좀비 PC에서 개인정보를 꺼내가기도 한다. 공동인증서를 저장장치에 저장했다면......
좀비 PC 감염을 막으려면 당연히 OS 및 백신 프로그램을 항상 최신 버전으로 유지해야 하며, 앞서 이야기했듯 좀비 PC가 되면 개인정보가 유출될 수 있으니 중요한 개인정보를 PC에 저장하지 말자.
악성코드를 PC가 아닌 웹 사이트에 심는 방법도 있다. 가령 A라는 웹 사이트를 공격하고자 할 때, 접속량이 많은 B사이트를 해킹하여 B사이트에 접속 시 A사이트를 공격하도록 하는 스크립트를 삽입한다. 코드 삽입에 성공했다면 그 순간부터 B사이트에 접속하는 사람은 자신도 모르게 A사이트를 공격하는 것이다. 이 방식은 탐지하기 힘들다. 해킹당한 제 3의 사이트는 자신의 사이트에 아무런 영향이 없기에 해킹당했다는 것을 알지 못해 해킹에 대응하지 않고 공격을 하는 접속자는 자신의 컴퓨터가 감염된것이 아니기에 디도스에 악용되고 있다는 상황을 인지하지 못한다. 보안부분에서 제 3의 빈 공간이 생겨서 헛점이 만들어지는 것이다. 안랩기사 안랩 기술적 설명(악성 스크립트 부분)
이 방법이 2011년 하반기 재보궐선거/선관위 공격 사건 때 쓰였다. 러시아에서도 사례가 있는걸 봐서는 정치적 이용이 우려되는 상황.
DDoS For Hire (웹 스트레서)
일정 금액을 지불하고 봇넷 혹은 대용량 대역폭 서버를 가진 업체의 DDoS-For-Hire 서비스를 이용하기도 한다.
일반인이 접근할 수 있을정도로 간단한 웹 UI, UX를 갖고 있는 경우가 많아, 이 분야의 전문가가 아니더라도 강력한 공격을 수행할 수 있도록 돕는다. 대개 Layer 4 에서 5~80 Gbit/s 의 공격을 지원하며, 일반적인 상황에서는 상상할 수 없을 정도로 큰 대역폭이다.
이 서비스는 적게는 월 5$에서부터, 많게는 1000$ 이상까지 가격이 형성되어있고, 낮은 가격으로도 큰 공격을 수행할 수 있다.
이 서비스를 제공하는것은 물론, 사용하는 것 까지 모두 불법이다.
2018년 대형 웹 스트레서 제공자 일당이 체포된 바 있으며, 사용자들 역시 추적중이라고 한다. 관련 기사
'죽음의 핑', 혹은 '죽음의 핑 공격' 으로도 불린다.
우리가 익히 알고 있는 명령 프롬프트에서의 '( "ping [IP.IP.IP.IP]" )'의 패킷 크기를 정상 크기보다 매우 큰 수치로 부풀려 공격하는 것, 만들어진 패킷은 라우팅 되어 공격 대상지에 도달하는 동안 파편화(fragment)되고, 공격 대상은 파편화된 패킷을 모두 처리해야 하여 리소스 사용량이 급증하여 정상적 이용이 불가능해진다.
SYN Flooding
3-Way Handshaking 과정에서 처음 단계인 SYN 전송 단계에서 대량의 SYN패킷을 서버로 전달하고, 서버는 TCP/SYN-ACK 응답을 다시 보내야 하는데, 도착 지점이 없기에 응답이 수립되지 않게 된다. 이러한 과정 중 서버는 대기를 하게 되고, 연결 요청을 수용하는 서버의 대기열이 가득 차게 되어 다른 연결 요청을 무시하게 된다.
모든 디도스 공격을 100% 방어하는 것은 불가능에 가깝다. 영어로도 디도스 공격 대응을 표현할 때 방어가 아닌 완화(Mitigation)라는 단어를 주로 사용한다.
모든 디도스 대응 솔루션은 임계치 기반 규칙을 포함하고 있다. 임계치 기반 규칙은 패킷의 구성 요소를 일일이 셈하여, 기준치 이상의 트래픽이 발생할 경우 디도스 공격으로 탐지해 대응하는 기법이다.
임계치 기반 규칙은 크게 ‘도스(DoS)’와 ‘디도스(DDoS)’ 규칙으로 구분한다. 도스의 경우 단일 출발지 IP를 기준으로 패킷의 양을 측정하며, 단일 IP에서 트래픽이 많이 들어오는 관계로 즉각 차단하더라도 문제가 적어 차단·격리 방법으로 주로 대응한다. 반면 디도스는 다수의 출발지 IP 기준, 보호 대상에 인입되는 트래픽의 양을 측정한다. 단 디도스의 경우 특정 이벤트에 따라 트래픽이 많아지는 경우가 있어 단순히 차단을 할 경우 수많은 정상 사용자를 차단할 위험이 있다. 그러므로 인증을 통한 추가 검증 또는 QoS(Quality of Service)를 수행한다.
임계치 규칙의 경우 일상적인 대용량 공격 대응에 적합하지만, 저용량 정밀 타격 또는 비정상 프로토콜 공격에는 대응이 어렵다.
모든 디도스 솔루션이 임계치 기반 대응 역량을 제공하며, 고객도 해당 기능을 무리 없이 사용하는 편이다. 하지만, 실질적으로 발생하는 디도스 공격의 피해 사례는 임계치 기반 규칙을 우회하는 공격이다. 실제 2020년 국내 금융권에서 해당 공격으로 인한 서비스 장애 현상이 많이 발생하였으며, 이러한 공격은 인증 기능으로 대응해야 한다.
인증 기반 대응은 주로 봇(Bot) 기반의 자동화된 공격을 방어한다. 즉 저용량 공격이더라도 봇을 활용할 경우 해당 인증 기법으로 대응할 수 있다. 대부분의 디도스 공격은 사람이 직접 수행할 수 없다. 99% 이상이 자동화 소프트웨어(봇)을 활용하며, 이러한 공격은 인증을 통해 대응이 가능하다.
여기서 ‘인증’은 TCP와 HTTP 프로토콜의 특성을 활용한 기법이다. 이러한 기법은 한국인터넷진흥원(KISA)이 발간한 ‘DDoS 공격 대응 가이드 - 2012. 10’에도 명시되어 있는 보편적인 디도스 대응 기법으로, 타사 디도스 솔루션 역시 부분적으로 인증 기능을 제공한다.
TCP 인증의 경우 최초 클라이언트(Client)의 SYN 패킷에 일종의 쿠키(COOKIE)를 추가한 SYN/ACK 응답을 생성하여, 쿠키가 포함된 ACK가 전송되는지 확인하는 방법이며, RST을 활용한 방법도 있다. HTTP 인증의 경우 HTTP 302 응답코드를 활용해, 정상적인 리다이렉트(REDIRECT)가 진행되는지 확인하는 방법이다.
위와 같은 방식으로 클라이언트가 정상 사용자인지, 디도스 공격을 수행하는 봇인지 탐지해 대응한다. 이러한 인증 기능을 수행할 경우 봇 기반의 디도스 공격에 효과적으로 대응할 수 있다.
또한, HTTP 디도스 공격의 일종인 Bruteforce(비밀번호 무작위 대입) 공격 역시 인증 기능을 통해 방어할 수 있다. 아래는 실제 비밀번호가 password인 경우 인증 기능 활성화 여부에 따른 서버의 응답 길이를 보여준다. 인증 기능을 활성화한 경우, 봇을 인지하여 일정한 길이(203)의 응답을 제공함을 알 수 있다.
TCP/HTTP 인증 기능을 통해 봇 기반 ‘저용량 정밀 타격’과 ‘비정상 프로토콜’ 공격을 방어할 수 있으며 기타 봇 기반의 공격을 방어한다.
만약 100Gbps ~ 1Tbps 이상의 초대용량 공격이 들어오면, 임계치 기반 규칙 또는 인증 기능으로 방어할 수 없다.
하이브리드 디도스 공격 대응
2018년, 소스코드 저장소로 유명한 깃허브(Github)를 대상으로 1Tbps 이상의 디도스 공격이 발생했다. 일반적인 기업의 경우, 사용 중인 회선의 대역폭(1G, 10G) 이상의 디도스 공격이 발생할 경우 대응할 수 있는 방법이 마땅치 않다.
하지만, 반드시 유지되어야 하는 서비스에 대해서는 초대용량 디도스 공격을 방어할 수 있는 방법이 필요하다. 우리나라 금융권의 경우 금융보안원이 제공하는 서비스형 보안(SECurity-as-a-Service) 형태의 디도스 공격 대응 서비스 ‘스크러빙센터’의 보호를 받을 수 있다. 해당 대응 체계는 ▲ 1차 방어 – 스크러빙센터 ▲ 2차 방어 – 금융보안원 비상대응센터 ▲ 3차 방어 – 금융회사 자체 디도스 대응으로 구성되어 있다.
국내 보안회사는 초대용량 디도스 공격 방어를 위한 스크러빙센터를 제공하고 있지 않다. 2018년 이후 디도스 공격의 최대 규모가 점차 감소하고 있으며, 실질적으로 국내 일반 기업이 초대용량 디도스 공격에 노출될 가능성이 굉장히 낮기 때문이다. 실제 스크러빙센터를 이용할 경우 높은 수준의 비용이 청구되는 관계로, 실제 사용 고객은 극히 적은 편이다. 즉, 스크러빙센터는 혹시 모를 초대용량 디도스 공격 방어를 위한 비상 대응 방안으로 고려 가능하다.
가끔 누군가 고의적으로 일으킨 교통 정체가 이것에 비유되기도 한다. 대표적인 사례가 일명 ‘창원터널 디도스’ 사건이다. 창원터널 디도스 사건은 정치적인 이유로 고의적인 교통 정체를 일으킨 사건이다.
디도스 공격은 엄연한 범죄고, 형이 꽤나 무겁다. 지금 이 순간에도 이 세상 어딘가에 DDoS 공격이 행해지고 있다. 한국의 사이버 수사대가 하루에만 500건의 사건을 해결하고 있다.

첫댓글 KT 그지같은 놈들이 무슨 디도스 공격이라고 구라를 치다가 다시 보니 내부 시스템 오류라고 정정했습니다. KT에는 아무일도 하지 않고 놀고먹는 직원이 많기 때문에 통신요금 인하요건이 돼는데도 불구하고 고객은 봉이야 하는 식으로 통장에다 빨대를 꽂아서 쪽쪽 다 빨아먹고 있습니다. 삼성 스마트폰은 내가 가장 싫어하는 SK로 개통을 해서 다시는 SK 안쓴다고 다짐 했는데 약속을 지키지 못하게 됐습니다.
KT에서 가장 짜르기 좋은 인원인 하급 말단 직원입니다. 개통이나 수리건 대부분을 아웃소싱하면서 말단 기능직들을 하청업체로 이직하는 구조를 만들었습니다. 그러므로서 노조기능도 약화시키고, 힘든일은 외주를 통해 하므로써 유지보수 비용도 절감하는 소위 꿩먹고 알고를 견지(見地)하는 듯 합니다. 옛날에 KT에 기능직으로 입사하려고 했는데 한끗차이로 합자회사로 입사하게 된게 이렇게 됐습니다.