보안

MS는 왜 IE의 버그를 놓쳤는가?

Gregg Keizer | Computerworld 2008.12.23

마이크로소프트의 개발자들은 인터넷 익스플로러의 치명적인 버그를 발견하지 못했는데, 이유는 적절한 훈련의 부족과 적합한 테스트 툴을 사용하지 못했기 때문인 것으로 자사의 보안 코드 개발 프로세스 제안자에 의해 밝혀졌다.

 

마이크로소프트가 지난 주 긴급 업데이트를 통해 패치한 버그는 최소한 9년 정도 미발견 상태로 있었다.

 

마이크로소프트의 대표 보안 프로그램 관리자인 마이클 하워드는 보안 개발 라이프사이클 블로그를 통해 IE의 취약점과 마이크로소프트의 코드 작성 및 검토 프로세스에 대한 사후 분석이 필요하다고 제안했다. “Writing Secure Code”의 공동 저자로 잘 알려진 하워드는 이번 결함은 IE의 데이터 바인딩과 관련된 TOCTOU(time-of-check-time-of-use) 버그라고 밝혔다.

 

이번 취약점은 프로그래머들이 발견하지 못했는데, 이들은 이런 취약점을 찾아내는 것에 대해 배우거나 이야기를 듣지 못했기 때문이라는 것이 하워드의 설명이다. 하워드는 “메모리와 관련된 TOCTOU 버그는 코드 검토로는 찾기가 어렵다”며, “우리는 TOCTOU 문제도 가르치고, 메모리 충돌 문제도 가르치고, 노는 메모리 블록을 사용하는 것과 관련된 문제도 가르친다. 하지만 메모리와 관련된 TOCTOU 문제는 가르치지 않는다”고 설명했다.

 

하워드는 마이크로소프트의 테스트 툴 역시 이 버그를 놓쳤다고 인정했다. 마이크로소프트의 테스트 툴인 퓨저(Fuzzer)는 자동화된 툴로, 특정 애플리케이션이나 파일 포맷, 운영체제 컴포넌트에 데이터를 적용해 제대로 작동하는지를 확인한다.

 

하워드는 “이론적으로는 퓨즈 테스팅을 통해 버그를 발견할 수 있지만, 현재는 이런 코드에 대한 테스트가 실시되지 않고 있다”며, “버그를 유발하기 위해서는 퓨저로 동일한 인식자에 다중 데이터 바인딩을 가진 데이터 스트림을 생성해야 한다. 이런 데이터 형식을 랜덤하게 생성해서는 버그를 유발시키지 못한다”고 설명했다.

 

하워드는 마이크로소프트가 이와 같은 메모리 관련 TOCTOU 버그를 위해 개발자 교육 과정을 업데이트할 계획이라고 덧붙였다.

 

하워드는 또 윈도우의 보안 툴킷 중 ALSR이나 NX 등의 몇몇은 이런 버그의 취약점으로부터 사용자를 보호하는데 도움이 되지 않는다고 주장했다. 하워드는 “심지어 윈도우 비스타와 윈도우 서버 2008은 ASLR과 NX를 기본 활성화 상태로 하지만, IE7은 일반적인 애플리케이션과의 호환성 문제 때문에 이런 방어 기능이 제대로 적용되지 않는다”고 설명했다.

 

마이크로소프트는 지난 주 긴급 패치 발표를 전후해서 공격이 진행 중이라고 밝히고, 사용자들로 하여금 IE7의 DEP(data execution prevention)를 활성화시키는 등 대응책을 갖출 것을 요청했다.

 

하지만 하워드에 따르면 일부 기능은 제 역할을 한 것으로 보인다. 하워드는 보호 모드(Protect Mode)는 윈도우 비스타와 윈도우 서버 2008 사용자를 제대로 보호했다고 밝혔다. 보호 모드는 본질적으로 IE와 애드온을 완전 격리상태로 만들어 브라우저 내에서만 동작이 일어나도록 하기 때문에 운영체제에 액세스하는 자체를 막아버린다.

 

하지만 이들 기술은 윈도우 XP 사용자에게는 아무런 도움이 되지 못한다.

 

하워드는 또한 버그를 발견한 해커가 자체 제작한 퓨저를 사용했을 수도 있다고 추측했다. 하워드는 “이번 버그는 100% 완전한 코드는 없다는 것을 반증하는 것으로, 다중 보호 장치가 필수적이다”라며, “또 하나의 교훈은 마이크로소프트를 포함해 소프트웨어 업계가 오늘날 윈도우 운영체제가 제공하는 보호 기능을 제대로 활용할 수 있도록 좀 더 노력을 기울여야 한다는 것”이라고 강조했다.  gkeizer@ix.netcom.com

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.