보안 가짜 약 No.4: 네트워크 침입 탐지
IDS(Intrusion Detection Systems, 침입 탐지 시스템)는 안티바이러스 소프트웨어보다 더 오래 전부터 사용됐다.
필자가 IDS를 처음으로 접한 것은 1980년대 중반 로스 그린버그의 플루-샷(Flu-Shot) 프로그램이다. 초창기 안티바이러스 프로그램으로 언급되는 경우가 많고, 제작자 본인도 그렇게 말하지만 사실 행동 탐지/차단 프로그램에 더 가깝다. 초기 버전에는 악성코드를 탐지하기 위한 '시그니처'가 없었고 악성코드에 의해 이내 무력화됐다.
지난 20년 동안 더욱 정교한 IDS가 개발되고 출시됐다. 미국의 거의 모든 기업이 IDS를 사용한다. 상용 버전의 IDS 가격은 겨우 센서 몇 개에 수십만 달러를 호가한다. 필자가 아는 많은 기업들이 네트워크 기반 IDS를 먼저 꼭 배포한 다음, 네트워크를 구성한다.
그러나 IDS의 정확성과 성능 문제는 안티바이러스 소프트웨어보다 더 심각하다. 대부분의 IDS는 네트워크 패킷을 가로채는 방식으로 작동한다.
일반적인 컴퓨터는 적어도 초당 수백 개의 패킷을 수신한다. NIDS는 이러한 모든 네트워크 패킷을 대상으로 알려진 시그니처와의 비교 작업을 수행해야 한다. 이 작업을 정확하게 수행하려면 그 과정에서 네트워크 트래픽의 속도를 심각하게 저하시키고, 결과적으로 해당 컴퓨터 네트워크의 통신 및 관련 애플리케이션의 속도도 참을 수 없을 정도로 느려지게 된다.
그래서 네트워크 기반의 IDS는 네트워크 트래픽을 겨우 십여 개, 또는 백여 개의 시그니처와 비교한다. 필자는 200개 이상의 시그니처를 활성화하는 NIDS를 본 적이 없다.
정말 정확하게 작동하려면 수천만 개의 악성코드, 수천 가지의 네트워크 공격과 대조해야 함을 감안하면 정말 초라한 숫자다. 그래서 우리는 제대로 된 정확도를 확보하도록 네트워크 기반의 IDS를 구성할 수 없다는 사실을 받아들이고, 안티바이러스 소프트웨어가 비교적 정확하게 탐지하지 못하는 부분을 적당히 정확하게 탐지하도록 '튜닝'해서 쓰는 것에 익숙해졌다.