
봇넷(botnet)이라는 개념은 대부분의 사람들이 인터넷에서 IRC로 채팅을 나누던 시절, 즉 인터넷 초창기에 탄생했습니다. 바이러스에 감염된 수천 대의 컴퓨터가 특정 서버에 요청을 쏟아부어, 서버가 정상적인 요청을 더 이상 처리하지 못하거나 아예 다운되도록 만드는 방식이었죠.
실제로 그 당시 많은 DDoS 공격이 이런 방식으로 수행되었으며, 오늘날에도 대부분의 해커들은 여전히 같은 방법론을 변형해 사용하고 있습니다. 즉, 다수의 컴퓨터를 감염시킨 뒤 이들을 동원해 공격하는 것입니다. 봇넷은 개인용 컴퓨터와 함께 긴 역사를 지녀왔지만, 현대의 봇넷은 사뭇 다른 모습을 하고 있습니다. 바로 CCTV 카메라, 세탁기, 고성능 가정용·기업용 라우터가 그 주인공입니다. 이러한 기기들은 '사물인터넷(IoT)'이라 불리는 인터넷의 새로운 계층을 형성하고 있으며, 전문가들이 일찌감치 경고했던 보안 취약점은 이제 현실이 되었습니다.
CCTV 카메라가 벌이는 공격

IoT 보안 취약점이 본격적으로 논의된 지 1년여가 지난 후, 홈 오토메이션 열풍 속에는 잠재적인 위험이 도사리고 있다는 점이 주목받기 시작했습니다. 우리는 지금 컴퓨터가 더 이상 인터넷에 연결된 지배적인 기기가 아닌, 역사상 처음 맞이하는 전환점에 서 있습니다.
CCTV 카메라, 라우터, 각종 센서, 심지어 교통 신호등까지 각자의 IP 주소를 갖기 시작하면서, 해커들은 이곳을 새로운 공격 대상이자 익스플로잇의 천국으로 보기 시작했습니다. 이렇게 상호 연결된 세계를 누비는 악의적인 사용자들은 연산 능력조차 없는 비컴퓨터 기기들로 '군단'을 꾸릴 수 있으며, 그 결과 DDoS 공격의 잠재력은 상상을 초월하는 수준으로 확장되고 있습니다.
대표적인 사례로 2016년 9월 22일 보안 저널리스트 브라이언 크렙스(Brian Krebs)를 겨냥한 공격을 들 수 있습니다. 이 공격은 초당 620기가비트에 달하는 어마어마한 트래픽을 기록했는데, 이 정도 규모라면 소규모 데이터센터가 DDoS 위협을 감당하기란 거의 불가능합니다. 결국 크렙스의 호스팅 업체는 서비스 중단이라는 선택을 할 수밖에 없었습니다.
공격은 어떻게 이루어질까?
교통 신호등에 바이러스를 심는다는 발상은 터무니없어 보이지만, 전혀 불가능한 일은 아닙니다. 다만 해커들이 이런 기기를 활용해 서버를 공격하는 가장 유력한 방법은 '연결 요청 스푸핑(connection request spoofing)'입니다. 특정 기기에 메시지를 보내, 그 기기가 지정된 IP 주소로 접속 요청을 강제로 보내도록 유도하는 방식이죠. 이 과정을 무한히 반복하면 해당 기기는 공격자가 원하는 IP로 트래픽을 끊임없이 쏟아붓게 됩니다.
이 방식의 매력은 따로 있습니다. 해커가 기기에 직접 악성코드를 심는 번거롭고 위험한 작업을 생략할 수 있기 때문에, 손쉬운 공격을 선호하는 공격자들에게 더욱 끌리는 수법이 되는 것입니다.
예방 방법

IoT 기기를 통한 DDoS 공격을 막는 일은 생각보다 어렵지 않습니다. 다만 펌웨어 개발자들의 적극적인 참여가 필수적입니다. 우선 기기가 특정 엔드포인트(endpoint)에서 오는 명령에만 반응하도록 설계하면, 반사 공격(reflection attack)의 가능성 자체를 차단할 수 있습니다.
이것이 어렵다면, 가능한 한 기기를 폐쇄형 사설 네트워크 안에 배치하여 외부 기기와의 상호작용을 원천적으로 막음으로써 스푸핑을 예방할 수 있습니다. 최악의 시나리오에 대비해, 짧은 시간 안에 동일한 명령을 반복해서 보내는 기기(예: 1초에 3회 이상 접속 명령을 전송하는 경우)의 요청을 무시하도록 프로그래밍하는 방법도 효과적입니다.
DDoS 공격으로부터 IoT 보안을 지키기 위해 우리는 어떤 접근을 취해야 할까요? 여러분의 생각을 댓글로 알려주세요!