윈도우 95, 설치 파일 탐지 위해 사용한 간단한 트릭의 진실
안녕하세요, 반갑습니다. 최근 몇 달간 저는 윈도우 95 와 관련된 아주 흥미로운 기사들과 이야기들을 여러분과 나눴었습니다. 이는 단순히 구형 운영 체제를 소개하는 것을 넘어, 오늘날의 IT 보안 시스템에 영감을 줄 수 있는 과거의 기술적 통찰을 제공하기 위함이었습니다. 먼저 마이크로소프트가 시디롬 하나로 방대한 기능을 담는 방법을 다루거나, 시스템 다운그레이드를 막는 메커니즘에 대해 설명하고, 시스템 부트 속도를 획기적으로 높인 기술을 공유한 적이 많았습니다. 그런데 이번에는 윈도우 95 의 또 다른 역사적인 에피소드이자, 당시 개발자들이 처했던 현실적인 문제 해결 과정을 소개해 드리겠습니다. 이 내용은 마이크로소프트의 전직 개발자이자 블로거인 레인먼드 첸이 자신의 블로그에서 언급한 내용을 바탕으로 다시 한번 정리해 본 내용입니다.
우리가 가장 궁금해할 부분은 무엇일까요? 바로 윈도우 95 가 외부 설치 프로그램에서 유래하는 시스템 파일의 부패를 막아야 했던 상황일 것입니다. 윈도우는 설치 도구나 설정 파일을 실행할 때 이 파일들이 시스템 파일의 내용을 손상시키면 안 되죠. 하지만 문제는 설치 파일인지 시스템 파일인지 구별하는 것이었습니다. 당시의 윈도우 95 는 이미 외부 설치 프로그램이 시스템 구성 요소를 손상시키는 것을 막을 수는 있었지만, 어떻게 해당 프로그램이 설치 파일인지 감별할 것인가에 대한 문제는 남아있었습니다. 여기서 해결책이 나오죠.
마이크로소프트 팀은 매우 단순하면서도 효율적인 휴리스틱 (지적 규칙) 기반의 메커니즘을 사용했습니다. 그것은 “추측”에 가까운 방식이었습니다. 즉, 현재 실행되고 있는 프로그램의 이름 안에 setup 인가, installer 나 inst 같은 단어가 포함되어 있는지 확인하는 것이었습니다. 영어 버전뿐만 아니라, 다른 언어 지원 환경에서도 imposta, ayarla 같은 현지화된 단어나 felrak 이라도 들어있다면 시스템은 이를 설치 파일로 간주했습니다. 만약 파일 이름에 그러한 키워드가 없다면 어떻게 되었냐고요? 윈도우 95 는 경로를 확인하는 대체 메커니즘을 사용했습니다. 경로의 전체 주소나 폴더 이름 안에 setup 이라는 단어가 들어있었는지를 체크하면서, 해당 실행 파일이 설치 과정과 관련이 있는지 역설했습니다. 당시 개발자들 이 파일의 이름과 경로에 있는 키워드만으로 보안 판단 기준을 세운 것은 정말 놀라운 일이었습니다.
하지만 이 과정에는 한 가지 흥미로운 제약 사항도 있었습니다. 설치 프로그램들이 윈도우를 종료하고 BAT 파일과 같은 배치 파일을 실행하여 시스템을 재시작하는 경우입니다. 이를 위한 ExitWindowsExec 를 사용하는 프로그램들이었죠. 이런 경우에는 파일이 사용 중이라는 이유로 즉시 파일을 변경할 수 없기에, 윈도우가 완전히 재부팅될 때까지 기다렸습니다. 이를 위해 윈도우의 재부팅 시기에야 비로소 배치 파일이 수정했던 파일들을 제대로 파악할 수 있었습니다. 다시 말해 윈도우의 부팅을 완료한 다음부터야 비로소 변경된 파일이 적절히 수정되었는지를 감시할 수 있었음을 의미했습니다. 현대적으로 보면 이는 조금 비효율적으로 보일 수 있지만, 당시의 하드웨어 및 소프트웨어 제약 속에서 최선의 방법이었을 것입니다.
또한 멀티미디어 드라이버 설치와 같은 특정 영역에서는 예외가 있었죠. 윈도우 95 는 INF 파일을 통한 미디어 드라이버 installs 시 실시간 파일 체크를 수행했을 뿐만 아니라, 해당 팀은 특별한 면책 권한을 부여받은 경우도 있었습니다. 이 부분에서 보시다시피 당시의 개발 환경에서는 권한과 역할이 지금보다 훨씬 단순하게 나누어졌고, 이로 인해 일부 보안 체크리스트에서 제외되던 부분들이 있었습니다. 하지만 전체적인 구조는 오늘날의 윈도우 11 처럼 지능적인 위험 대응 기술에 비해 매우 기초적인 방법론으로 운영되었음을 알 수 있습니다. 과거의 기술들은 지금처럼 복잡한 위협 환경에 대비하기 위해 고도화된 기법의 필요성을 느끼게 합니다. 단순한 텍스트 매칭이 어떻게 보안의 첫걸음이었는지, 그리고 현대 IT 보안이 이 단순함을 얼마나 뛰어넘었는지를 이 글을 통해 느껴보시길 바랍니다.
마지막으로, 이 이야기를 통해 우리는 과거 기술의 발전상을 돌아보는 시간을 가질 수 있습니다. 윈도우 95 와 같은 초기 버전에서의 보안 로직은 오늘날 우리가 구축하는 보안 인프라에서 여전히 참고되는 기본 원리가 될 수 있습니다. 단순히 파일 이름을 확인하는 것에서부터 시작해 AI 를 활용한 위협 탐지로 발전하게 된 이 과정을 살펴보면, IT 보안의 진화 속도가 얼마나 빠르고 지속적인 노력을 필요로 하는 분야인지 깊이 공감할 수 있게 됩니다. 오늘 다룬 내용은 윈도우 95 의 매력적인 부분 중 하나이기도 하며, 역사적인 기술적 고증과 현실적인 제약 속에서의 솔루션 개발을 보여주는 좋은 사례가 될 것입니다. 모두들 즐거운 하루 되시길 바라며, 다음 시간에도 더 멋진 IT 이야기를 기다려 주세요.
이 글은 Neowin의 기사를 바탕으로 작성되었습니다.
