시작하기 전에 알아두세요
중요 공지: 마이크로소프트는 Firefox용 .NET Framework Assistant 1.0과 관련하여 .NET Framework 3.5 SP1 업데이트를 출시했으며, 이번 업데이트는 Firefox 브라우저와의 여러 호환성 문제를 해결했습니다. .NET Framework 3.5 SP1용 업데이트 및 Windows 7 환경에서는 .NET Framework Assistant가 사용자별(per-user) 방식으로 설치되므로, Firefox 확장 프로그램 목록에서 '제거(Uninstall)' 버튼이 정상적으로 작동합니다. 즉, .NET Assistant가 이제 정식으로 완전히 제거 가능한 유틸리티가 되었기 때문에 이 글에서 소개하는 방법은 더 이상 필요하지 않을 수 있습니다. 참고로 마이크로소프트의 공식 수동 제거 가이드도 확인해 보시기 바랍니다.
그런데 이것을 스파이웨어라고 불러도 될까요? 저는 충분히 가능하다고 생각합니다. 스파이웨어는 다음 두 가지 명확한 정의에 부합하기 때문입니다.
- 명시적인 사용자 동의 없이 설치된다
- 자체 언인스톨러나 '프로그램 추가/제거' 기능으로 제거할 수 없다
이야기는 최근 배포된 Microsoft .NET Framework 3.5 SP1 업데이트(KB951847)에서 시작됩니다. 자동 업데이트든 수동 다운로드든 이 패치를 적용하면, Firefox를 사용 중이라면 요청한 적도 없는 새 확장 프로그램이 설치됩니다. 뭐, 괜찮습니다. 그럼 지워버리면 되죠. 아... 잠깐만요.
저는 이 꽤 걱정스러운 이야기를 직접 테스트해 보고 결과를 확인하기로 했습니다. 그리고 문제가 어떻게 발생하는지, 어떻게 해결할 수 있는지 설명하는 글을 작성하게 되었습니다.
문제 상황 정리
주장되는 내용은 다음과 같습니다. Microsoft/Windows .NET Framework 3.5 SP1 업데이트(KB951847)는 시스템에 Firefox가 설치되어 있을 경우, 사용자 동의 없이 새로운 확장 프로그램인 '.NET Framework Assistant 1.0'을 설치합니다. 더 심각한 것은 이 확장 프로그램이 일반적인 방법으로는 제거할 수 없다는 점입니다.
정말 사실일까?
직접 확인해 보겠습니다.
테스트 케이스 - .NET 3.5 프레임워크 설치
먼저 Microsoft 웹사이트에서 패키지를 다운로드하고 더블클릭하여 설치를 진행했습니다.
설치 과정에서 System Safety Monitor(SSM)를 사용하여 .NET 3.5 설치가 시스템과 레지스트리에 가하는 모든 변경 사항을 모니터링했습니다. 특히 Firefox 관련 변화가 있는지 주의 깊게 살폈습니다.
설치 자체는 순조롭게 진행되었습니다. SSM에서 수없이 많은 레지스트리 변경 경고가 계속 울렸지만, 그 시점까지는 특별할 것이 없었습니다.
수천 번의 SSM 경고 끝에 설치가 완료되었습니다. Firefox를 실행해서 새로운 확장 프로그램이 추가되었는지 확인했지만, 아무것도 없었습니다.
하지만 이것으로 테스트가 끝난 것은 아닙니다. 이제 Windows Update를 실행하여 최신 패치가 어떤 영향을 미치는지 살펴봐야 합니다.
Windows Update 진행
역시나 있었습니다. 우선순위가 높은 업데이트 목록 첫 번째에 바로 우리의 주인공인 .NET Framework용 KB951847이 있었습니다. 자동으로 선택되어 있었고, 자동 업데이트를 사용 중이었다면 별도의 확인 없이 설치되었을 것입니다.
설명 어디에도 Firefox에 대한 언급은 없었습니다. KB951847 페이지를 확인해도 서비스 팩의 변경 사항 목록에는 Firefox 관련 내용이 전혀 등장하지 않았습니다.
참고로 다운로드 용량은 무려 250MB에 달했습니다. 애초에 이 업데이트가 필요한지 고민해 볼 만한 크기입니다. 하지만 계속 진행해 보겠습니다.
수차례의 안내 창을 거친 후 설치가 완료되었습니다. SSM에서 Mozilla Firefox 관련 변경 경고를 보여줬는지 확실하지 않지만, 쏟아지는 변경 로그 속에서 놓쳤을 수도 있습니다. 재부팅 후 Firefox를 열어 확인한 결과는 다음과 같았습니다.
Microsoft .NET Framework Assistant 1.0이 설치되어 있다!
'제거(Uninstall)' 버튼이 회색으로 비활성화되어 있는 것을 확인할 수 있습니다. 이 설치를 승인하거나 확인하라는 요청은 커녕, Microsoft 페이지에서도 설치 과정에서도 이 프로그램이 설치될 것이라는 안내는 전혀 없었습니다. 그리고 이제 보니 제거도 할 수 없습니다.
스파이웨어라고 부르기에 딱 맞지 않나요?
Microsoft .NET Framework Assistant 1.0 제거하기
다행히도 이 프로그램은 비교적 쉽게 제거할 수 있습니다.
방법 1: 파일 몇 개만 삭제하기
이 방법은 매우 간단하며 2분 정도면 충분합니다. 컴퓨터 전문 지식이 필요하지 않아 누구나 따라 할 수 있습니다. 먼저 Firefox를 종료한 뒤, 다음 폴더로 이동하세요.
C:\WINDOWS\Microsoft.NET\Framework\v3.5\
Windows Presentation Foundation\DotNetAssistantExtension
해당 폴더 안의 파일들을 이동, 이름 변경 또는 삭제하면 됩니다. 백업을 원한다면 파일들을 zip 또는 rar로 압축해 보관하세요. 물론 그냥 삭제하거나 이름을 바꿔도 좋습니다. 단, 작업이 끝나면 반드시 폴더가 비어 있도록 하세요.
Firefox를 다시 실행하면 해당 확장 프로그램이 사라진 것을 확인할 수 있습니다.
(선택 사항) 사용자 에이전트(User Agent) 흔적 지우기
.NET Assistant는 제거 후에도 사용자 에이전트(user agent) 설정을 남겨둡니다. 사용자 에이전트가 무엇인지 모르거나 Firefox의 about:config 설정 화면 사용이 익숙하지 않다면 이 단계는 건너뛰어도 됩니다.
Firefox 주소창에 about:config를 입력하고 Enter 키를 누르면 브라우저의 다양한 동작을 제어할 수 있는 설정 페이지가 열립니다. 이 페이지는 숙련된 사용자만 다루는 것이 좋습니다.
검색창에 다음 문자열을 입력하세요: general.useragent
결과 중 하나로 general.useragent.extra.microsoftdotnet 항목이 나타납니다. 이 항목을 초기화하려면 항목을 마우스 오른쪽 버튼으로 클릭한 후 초기화(Reset)를 선택하면 됩니다.
이걸로 끝입니다. 이 해결책을 알려준 chrisretusn에게 감사를 전합니다. 간단하고 빠르며 우아한 방법입니다.
방법 2: 레지스트리 편집
레지스트리 편집에 익숙한 사용자라면 이 방법도 활용할 수 있습니다. 역시 먼저 Firefox를 종료한 후 레지스트리 편집기를 실행합니다.
시작 > 실행 > regedit.exe
그다음 다음 위치로 이동하세요.
HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Firefox\Extensions
여기에서 {20a82645-...} 형태의 이름을 가진 항목을 찾을 수 있습니다. 오른쪽 창의 데이터(Data) 열에서 이 항목이 Microsoft .NET 3.5에 속해 있는지 확인할 수 있습니다. 항목을 마우스 오른쪽 버튼으로 클릭하여 삭제하면 됩니다. 원한다면 삭제 전에 키를 내보내(export) 백업으로 보관하세요. 이것으로 작업 완료입니다.
결론
저는 대체로 Microsoft 제품을 좋아합니다. 하지만 기업의 힘을 남용해, 좋고 나쁨을 구분하거나 이런 문제를 스스로 처리할 능력이 없는 수많은 사용자들에게 불필요하고 요청되지도 않은 소프트웨어를 강제로 배포하는 행위는 결단코 용납할 수 없습니다.
이런 Assistant 프로그램이 필요하다면, 그것은 분명한 사용자 동의를 받은 후에 설치되는 선택적(optional) 구성 요소여야 합니다. 또한 누구나 표준 '프로그램 추가/제거' 기능을 통해 100% 완전히 제거할 수 있어야 합니다.
이번 사건은 사용자 신뢰에 대한 심각한 위반입니다. 명시적인 승인 없이 배포되었을 뿐 아니라 제거도 어렵게 만들어졌고, 정작 이 프로그램이 하는 일이 무엇인지도 불분명합니다. 게다가 이 변경 사항은 타사 소프트웨어인 Firefox에 영향을 미칩니다. 그렇다면 Microsoft는 대체 이 모호하고 스파이웨어 같은 업데이트로 무엇을 달성하려 한 걸까요? 신뢰하던 사용자들의 반감? 사람들이 업데이트 설치를 거부하거나 구버전을 고수하도록 만드는 것?
어쨌든 거대한 질문은 거대한 사람들에게 맡기겠습니다. 이 프로그램을 컴퓨터에서 치우고 싶으시다면 위에서 소개한 두 가지 빠르고 간단한 방법을 활용하세요. 그리고 Firefox를 사용하는 지인들에게도 알려주세요.
즐거운 컴퓨팅 되세요!