대니 맥퍼슨(Danny McPherson) (베리사인 (Verisign) 최고 보안 담당자)
비록 2011년 2월 3일은 세간의 별다른 주의를 끌지 못한 채 지나갔지만, 이 날은 IANA (Internet Assigned Numbers Authority)는 마지막으로 남아 있던 IPv4 (Internet Protocol Version 4) 주소를 할당하면서 인터넷 업계에 역사적인 이정표를 수립한 날이다. 일부 국가에 한두 해 정도 더 버틸 수 있는 IP 주소를 확보하고 있는 것은 사실이지만, ‘새로운’ IPv4 주소가 할당되는 시대는 사실상 종말을 고했다.
이제는 IPv4 주소가 모두 바닥났으므로 차세대 인터넷 프로토콜인 IPv6의 도입을 심각하게 고려해야 할 때가 왔다. 128비트 주소 공간(IPv4의 경우 32비트)을 사용하는 IPv6는 시간당 백만 대의 디바이스가 쏟아져 나오는 현재의 상황에서 인터넷 주소의 폭발적인 확대를 충분히 감당할 수 있는 능력을 갖추고 있다. 실제로, IPv4 체계하에서 가능한 IP 주소의 숫자가 43억여 개인데 반해 IPv6는 3.4x10의 38승(340조x1조x1조)개가 넘는 주소를 할당할 수 있어 전세계 인터넷 수요를 충분히 충족시킬 수 있는 수준이다.
IPv6는 궁극적으로 DNSSEC (DNS Security Extensions)의 지속적인 도입과 맞물려 추후에 안정되고 안전한 인터넷 기반을 제공할 전망이지만, 이와 함께 보안은 IPv6 도입에 앞서 심각하게 생각해볼 문제이다. 물론 아래에 제시된 내용이 전부는 아니지만 앞으로 전 IT 업계가 IPv6를 도입하는 과정에서 대응할 필요가 있는 8가지 고려 사항과 문제점들을 정리해보았다.
IPv4에서 IPv6으로 넘어가는 물리적인 이주 과정 자체에서 문제점이 나타날 수 있다. IPv4와 IPv6는 ‘온라인상의 비트’ 수준에서 호환이 불가능하기 때문에 프로토콜 변환을 통해 IPv6의 도입과 채택을 이뤄지게 된다. IPv4에서 IPv6로 트래픽을 변환할 경우 네트워크를 거쳐야 하므로 필연적으로 중개 트랜잭션이 등장하게 된다. 이는 마치 우체국 우편물 분류 담당자가 우편물이 정확한 주소로 배달될 수 있게 IPv4 봉투를 일일이 개봉하여 IPv6 봉투에 옮겨 담는 작업과 유사하다. 매번 이런 과정이 반복될 때마다 작업 불량이 발생하거나 해커들이 잠재적인 취약성을 남용할 수 있는 허점이 드러날 수 있다.
대형 네트워크 세그먼트의 등장으로 인한 보안 취약성이 부각될 것이다. IPv6는 현재 우리가 사용하고 있는 것보다 훨씬 확장된 네트워크 세그먼트를 채택하고 있다. 현재 IPv6 서브넷에서 권장되는 프리픽스의 길이는 /64 (264)로 하나의 세그먼트에 무려 1,800경 개의 호스트를 포함할 수 있다. 이처럼 LAN을 사실상 무한대로 확장할 수 있는 것은 사실이지만, 그로 인한 문제점도 존재한다. 일례로, /24 IPv4 서브넷(28)의 취약성을 검사하는 데 걸리는 시간은 고작 몇 초에 불과한 반면에, IPv6의 경우 /64 블록 하나를 검사하는 데에만 수 년이 걸린다. 이처럼 전수 검사가 불가능하므로 철저한 IP 관리와 모니터링의 중요성이 지금보다 더욱 강조될 것이다.
이웃 탐색 및 요청으로 인하여 네트워크가 문제에 노출될 가능성이 있다. IPv6에서 이웃 탐색(ND) 기능은 첨부된 링크상에서 이웃의 링크 계층 주소를 결정하고 유효하지 않은 캐시값을 삭제하며 패킷 전송 의사를 가진 이웃을 찾아내는 등의 여러 가지 목적으로 5종의 ICMPv6 메시지를 활용한다. ND가 DAD (Duplicate Address Detection)나 NUD (Neighbor Unreachability Detection) 같은 유용한 기능들을 다수 제공하는 것은 사실이지만 그와 동시에 침입자들에게 공격 기회를 허용할 가능성도 있다.
대용량 확장 헤더에 의한 과부하로 인해 방화벽 및 보안 게이트웨이가 DDoS 공격의 표적이 될 수 있다. IPv6에서는 메인 헤더에서 IP 옵션 기능이 사라지는 대신에 다양한 옵션을 지정하는 확장 헤더라는 불리는 추가 헤더가 사용된다. 확장 헤드의 수가 늘어나는 IPv6 트래픽은 방화벽과 보안 게이트웨이의 부하를 높이거나 심지어는 라우터 포워딩 성능을 저하시킬 가능성이 있는 까닭에 DDoS 등의 공격에 벡터로 이용될 가능성이 있다. DDoS의 위협에 대응하기 위해서는 ‘IPv6 소스 라우팅’ 기능을 비활성화시켜야 할 필요성이 제기될 수도 있으며 어떤 확장 헤더를 지원할 것인지를 코딩하고 적절한 구현을 위해 네트워크 장비를 점검하는 것 또한 필요하다.
6to4 및 6RD 프록시 방식이 공격이나 남용을 유도할 가능성이 있다. 6to4는―ISP RD (rapid deployment) 자매 기술인 6RD와 더불어―전용 터널을 설정할 필요 없이 IPv6 패킷이 IPv4 해자(moat)를 건너뛸 수 있도록 허용한다. 하지만 IPv6 프록시 서버를 구축할 경우 프록시 오퍼레이터는 탐색 공격이나 스푸핑, 반사 공격 등 갖가지 문제에 직면할 가능성이 있으며 프록시 오퍼레이터 자체가 공격과 남용의 ‘소스’로 악용될 수도 있다.
IPv6 서비스 지원으로 인해 기존의 IPv4 애플리케이션이나 시스템이 위험에 노출될 가능성이 있다. 기존의 보안 방식들이 IPv4 지원에만 적용되는 반면에 대부분의 커널들은 향후 DNS 찾기 등의 작업을 수행할 때 IPv4보다 IPv6 인터페이스를 선호할 것으로 예상된다. IPv6와 IPv4 사이의 반복 작업으로 인해 DNS 찾기 작업의 트래픽이 두 배로 증가, 사용자 경험을 최적화하기 위한 불필요한 DNS 트래픽이 투입되는 결과를 초래할 수 있다. OS 및 콘텐츠 벤더들은 시스템 부하와 상태를 악화시키는 AAAA 화이트리스팅 등과 같은 행태를 경감하거나 최적화할 목적으로 수시로 많은 노력을 기울여야 할 것이다. 아울러 새로운 IPv6 스택에 액세스가 가능해지면 틀림없이 취약성이 대두될 것이라는 점을 명심해야 한다.
상당수 사용자들이 일련의 고정된 주소 체계로 인해 혼란을 느낄 가능성이 있다. 사용자들이 대용량의 NAT-PT (network address translation protocol translation) 디바이스로 인해 혼란을 느낄 경우 사용자 위치 파악 기능이나 툴처럼 유용한 기능들에 악영향을 미쳐 네트워크상에서 일어나는 유해한 행위들의 속성을 조장하는 동시에 숫자와 네임스페이스 인지에 기반한 보안 통제 체계에 문제를 야기할 수 있다.
IPSec조차도 다른 네트워크와의 터널링 과정에서 문제를 초래할 수 있다. IPSec을 통해 발신자를 인증하거나 전송 데이터의 기밀을 보호할 목적으로 IP 패킷을 암호화하는 작업이 가능하다. IPv4의 경우 IPSec은 선택 옵션이었지만 IPv6에서는 필수 사항이다. 기본적으로 네트워크-네트워크, 호스트-네트워크, 호스트-호스트 커뮤니케이션을 위한 VPN을 구축하는 터널 모드에서 패킷 전체는 새로운 IP 패킷에 캡슐화되고 새로운 IP 헤더가 부여된다. 다만, 전송자의 통제 범위를 벗어나는 네트워크와 VPN을 연결할 경우 보안 위험에 노출되거나 데이터 유출 등에 이용되는 결과를 초래할 수 있다. IPSec 보안 체계와 관련 키에 대한 협의와 관리는 별도의 프로토콜(예: IKE (Internet Key Exchange))에 의해 이뤄지고 있으며 복잡성이 증가되는 까닭에 IPSec이 IPv4 도입 초기와 비교하여 IPv6 체계하에서 보다 광범위한 지원을 제공받을 가능성은 현재로서는 낮아 보인다.
IPv6가 보편화되고 IPv4 디바이스가 쇠퇴하기 시작하기 전까지는 좀 더 시간이 필요할 것이다. 그 전까지는 먼저 등장한 40억 대의 인터넷 디바이스를 구현하는 프로토콜을 더욱 발전시켜 나가야 할 것이다.
역사적인 이정표를 수립한 2월 3일이 이미 과거가 된 지금, 차세대 IP 주소 체계의 안정성과 신뢰성, 그리고 보안성을 확립하는 모범 규준을 정립하고 전파하는 것 이외에는 우리에게 별다른 선택의 여지가 없으며, 이러한 과정은 네트워크 및 보안 담당자의 인식과 지식에서부터 출발할 것으로 생각한다.