끊임없는 네트워크 공격위협 '이것만은 알아두자!'

중앙일보

입력

도메인 네임 시스템(DNS)은 인터넷 도메인의 이름을 IP 주소로 바꿔주는 역할을 한다. 이 시스템은 권한을 분산시켜 사이트 관리자가 자신의 도메인을 직접 관리하게 할 목적으로 고안됐다. 하지만 DNS를 방어하는 일도 빼놓을 수 없는 관리자의 임무다.

지난해 10월 21일 발생한 DNS 루트 서버에 대한 분산 서비스 거부(DDoS; distributed
denial-of-service) 공격은 우리에게 경종을 울렸다. 이 공격은 이미 잘 알려져 있기 때문에 루트 서버들이 사전에 방지할 수 있었지만 놀랍겠다 쉽게 피해를 입었다. .com또는 .org 등의 최상단 루트, 주요 도메인, 국가별 코드, 개인용 주요 도메인 같은 모든 수준의 DNS를 대상으로 하는 공격은 앞으로도 끊이지 않을 것으로 보인다.

지난 10월에 발생한 공격은 DDoS 핑(ping) 공격이었다. 일반적으로 좀비라 불리는 공격자들은 인터넷에 있는 컴퓨터에 침투한 후, 일시적으로 이용권을 획득한 컴퓨터를 이용해 똑같은 패킷을 13개의 DNS 루트 서버로 부터 계속 전송하도록 프로그램했다. 이들의 목표는 서버 및 이와 연결된 통신 링크를 막아 심각한 정체현상을 발생시키는 것이었다. 이 공격은 DNS에만 국한되지 않는다. 실제로 지난 몇 년간 일부 인기있는 웹서버들이 이와 동일한 공격을 받은 바 있다.

원래 핑 패킷은 서버의 반응 여부를 점검하기 위해 고안된 것이기 때문에 핑 패킷이 쇄도할 경우 시스템 장애 또는 공격이 발생할 것이 분명하다. 이와 같이 과도한 핑 패킷은 라우터를 설치해 완화시킬 수 있다. 이 방법은 레이트 리미팅(rate limiting) 이라고 불린다. 레이트 리미팅 기법을 이용하면 서버를 보호할 수 있지만, 공격이 지속적으로 진행될 경우 이 기능을 무용지물로 만들 정도의 트래픽 잼을 발생시킬 수 있다.

네트워크 용량을 초과시킬 경우 추가된 대역폭이 부가적인 공격 루트로 이용되지 전까지 DDoS공격을 방어할 수 있다. 루트 서버들은 의도적으로 수많은 인터넷 서비스 공급자(ISP)의 네트워크가 서로 교차되는 곳에 배치된다. 지난 10월의 발생한 공격의 경우 일부 네트워크들은 공격으로 인해 발생한 네트워크 트래픽을 걸러냈지만, 다른 곳은 실패했다. 따라서, 필터링이 작동됐던 네트워크에 있던 서버는 정상적으로 작동했고, 그렇지 못한 네트워크의 서버는 다운됐다.

대부분의 DDoS 공격이 시간이 흐르면서 점차 약화되는 것과는 달리, 지난 10월에 발생한 루트 서버 공격은 한 시간 후 쯤 갑자기 멈췄다. 이는 법 집행기관의 추적을 따돌리기 위한 것으로 추측된다.

대부분의 사람들이 이 공격을 눈치채지 못하는 이유는 DNS 캐싱 기능 때문이다. 루트 서버에 문제가 발생했을 경우 1% 정도의 인터넷 사용자만이 2시간 간격으로 이를 감지할 수 있다. 따라서, 공격의 효과가 완전히 드러나는데는 1주일 정도의 시간이 소요된다. 공격자와 네트워크 관리자들 사이의 쫓고 쫓기는 추격전이 계속되는 가운데, 관리자들은 이 공격에 대응할 시간을 버는데 주력한다.

루트 서버 방어
루트 서버는 중요한 인터넷 자원이지만 방어측면에서는 우위에 있다. 루트 서버 데이터베이스는 규모가 작고, 1주일 정도마다 내용일 변경될 만큼 자주 변경된다.

루트 데이터베이스 내용사본을 전부 다운받고, 하루에 한번 업데이트 여부를 점검해 업데이트 내용을 수시로 다운받아 데이터베이스를 향상 최신 상태로 유지하는 것은 어느 사이트에서도 가능하다. 현재 일부 사이트에서 이 작업을 수행하고 있다.

루트 서버 운영자들은 또한 애니캐스트(anycast) 주소를 도입한 루트 서버를 배치하기 시작했다. 애니캐스트 루트 서버는 각기 다른 네트워크에 위치하는 많은 서버들을 마치 하나의 서버처럼 보이도록 한다

간단히 말해서 DNS 루트를 방어하는 일은 쉬운 편이다. 왜냐하면 해당 루트 데이터베이스(개인 또는 공용)의 복사본을 많이 만들어 특정 루트 서버가 다운됨으로써 발생할 파장을 줄일 수 있다.

최상위 도메인을 방어하는 일은 더욱 어렵다. 루트 서버를 보호할 수 있는 일명 복사 전략은 최상위 도메인에서는 효과를 볼 수 없다. 즉 .com이나 .fr 같은 도메인을 방어하는 것이 루트 서버를 방어하는 것보다 훨씬 어렵다는 얘기다. 이는 최상위 도메인에 있는 데이터량이 많으며, 이 데이터가 변경되는 경우도 잦고, 도메인 소유자도 개인적, 혹은 사업적 목적을 갖고 복사본을 배포하려는 경우가 드물기 때문이다.

대안은 없다. 최상위 도메인 운영자들은 애니케스트와 레이트 리미팅 기능을 갖춘 라우터로 DNS 서버를 방어해야 한다.

당신의 사이트를 지키는 방법
만약 당신의 도메인이 인트라넷을 갖추고 있다면 내부 사용자들과 외부 소비자들에게 각기 다른 DNS 정보를 제공해야 한다. 이 방법을 통해 외부 공격으로부터 내부 DNS를 차단시킬 수 있다.

루트 영역의 사본을 둬서 향후에 발생할지 모를 루트 서버 DDoS 공격을 차단해라. 그리고익스트라넷에 있는 협력업체의 DNS 영역을 복사하는 것도 고려해라. DNS 업데이트가 인터넷을 통해 전송되면 누군가 이를 훔쳐갈 수 있으므로, 트랜젝션 서명(TSIG; transaction signature)을 이용하거나, VPN 또는 다른 방식을 통해 업데이트 내용을 전송하는 것이 좋다.

하지만 DNS용 디지털 서명 툴에 대한 연구가 마무리되고 실용화되기 전까지는 DNS 위장 공격이 언제라도 들이닥칠 수 있다는 사실을 이해해야한다 (중국에서는 이미 이 공격이 발생한 바 있다). 하지만 인터넷에 의존하는 우리들의 눈에는 인터넷 공동체들이 DNS를 방어할 수 있는 복합적인 방안을 제시하고자 노력하는 동안, 공격자들이 그들의 전술을 강화해 새로운 공격툴을 배포할 것으로 보인다.

자료제공: ZDnet korea

ADVERTISEMENT
ADVERTISEMENT