[2002/02/19]

MS, 보안 허점「우리만 탓해선 안된다!」

한 보안업체가 지난 15일 MS가 발표한 최신 소프트웨어 툴에 대해 결함을 발표함에 따라 MS가 자사의 코드 보안을 위해 정말 노력하고 있는지 여부에 대한 논쟁에 불이 붙었다.

논쟁의 핵심은 소프트웨어 스위치 기능인 GS 플래그(flag)에 대한 것으로 오픈 소스 보안 사이트 사도닉스닷오알지(Sardonix.org)를 공동 창립했으며, 보안 리눅스 애플리케이션을 제작하고 있는 와이어엑스 커뮤니케이션(WireX Communications)의 수석 연구원인 크리스핀 코완은 이 기능 때문에 제품 안정성이 위협받을 수 있다고 말했다.

코완은 GS 플래그를 일정 크기 이하의 총알만 막아낼 수 있는 방탄 조끼에 비유하면서, 방탄 조끼를 통과할 수 있는 총알 크기에 대한 의견이 일치하지 않고 있다고 말했다.

코완을 비롯한 오레곤 대학원 학회의 대학원생들은 지난 1998년 이같은 방탄 조끼 소프트웨어에 대한 '스택가드(StackGuard)'라는 논문을 발표했으며, 수천 명의 오픈소스 개발자들이 이를 이용하고 있다.

MS가 크리스핀(Crispin)의 설계에 주로 의지해 GS 플래그를 제작했다고 많은 사람들이 주장하고 있다. MS가 자사의 최신 소프트웨어 툴로 제작된 애플리케이션이 공격에 노출될 가능성이 크다는 주장에 대해 이는 터무니없고 근거없는 발언으로 분명히 잘못 된 것'이라고 주장한 다음날 이같은 논쟁이 한층 더 가열됐다.

MS가 지난 13일 비주얼 C++, 비주얼C++ 버전 7 등을 출시한 지 불과 몇 시간도 지나지 않아 소프트웨어 보안 업체인 시지털(Cigital)이 이 프로그램에 기능상의 결함이 있다고 발표했다.

MS의 최신 툴은 외부 공격을 받기 쉬운 형태로 돼 있기 때문에 보안상 위험하다고 시지털은 기술 노트를 통해 밝혔다.

GS 플래그 옵션을 이용해 작성된 프로그램은 버퍼 오버런으로 알려진 보안 결함 중 일부를 잡아내는 추가 명령을 실행한다.

이는 프로그램에 기능을 약화시키는 취약점이 있다는 것을 의미하는데, 실제로 플래그는 일부 버퍼 오버런에는 대항해 작동하지만 다른 것들에서는 작동하지 않는다. 취약점 문제는 둘째치더라도, 양사 모두 MS가 선택한 설계 방법에 한계가 있다는 점은 인정했다.

보안을 한층 더 강화하려면 새로운 애플리케이션에 지금보다 훨씬 많은 코드를 추가해야 하고 이로 인해 작동 속도가 지나치게 떨어질 수 있다고 MS는 주장했다.

하지만 현재의 설계 상태를 그대로 유지하면서도 일부 버퍼 오버런을 제거할 수 있다고 MS 비주얼 C++ 컴파일러 팀의 프로그램 관리자인 브랜돈 브레이가 말했다.

현재로선 버퍼 소스코드를 수정함으로써 오버런을 제거하는 것이 최선의 방책이다. 왜냐하면 그래야만 소프트웨어를 안정하게 보호할 수 있다. 하지만 버퍼 오버런을 항상 쉽게 찾을 수 있는 것은 아니다. 따라서 정말 보안 안전 코드에 관심있는 사람은 GS 플래그를 사용하는 것을 망설이지 않는다고 브레이가 설명했다.

MS는 프로그램에 추가할 수 있는 애드셔널 시큐리티(additional security)를 통해서도 보안 문제를 해결할 수 있다고 생각하는 반면 시지털은 MS가 GS 플래그를 이용해 보안 문제를 해결해야 한다고 주장하고 있다.

MS 제품의 보안 매커니즘은 부적절하게 설계됐다고 버지니아 덜레스에 있는 시지털의 CTO인 게리 맥그로우가 주장했다. GS 플래그가 보호할 수 있는 것에 대한 MS의 주장은 실제보다 과장된 것이라고 그는 덧붙여 말했다.

이같은 의견 차이가 쉽게 좁혀질 것 같진 않으나, 일부 보안 기능이 없는 것보단 있는 것이 좋다는 MS의 주장에 많은 보안 전문자들이 동의하고 있다.

어찌됐건 MS는 버퍼 오버런을 확인하기 위한 실행 시간을 두고 있으며, 이는 다른 윈도우 컴파일러에는 없는 것이다. MS는 보안상 좀더 뛰어나 제품을 만들기 위해 노력은 하고 있으나, 기술력의 한계로 어쩔 수없이 좌절하고 있다. 모든 것을 완벽하게 할 수 없는 것에 대해 MS를 탓할 순 없는 것이라고 디지털 보안 업체 엣스테이크(@Stake)의 연구 개발 관리자 크리스 위스폴이 말했다.

Robert Lemos (Special to ZDNet News)