Computer >> 컴퓨터 >  >> 시스템 >> Windows 10

윈도우 10 COM 서로게이트(dllhost.exe)란? 충돌 오류 해결 및 바이러스 확인 방법

윈도우 작업 관리자를 열어보고 항목의 절반이 대체 무엇인지 궁금한 적이 있으신가요? 최신 버전의 윈도우에서는 대부분의 프로세스에 친숙한 이름을 붙여줬지만, 정확히 어떤 역할을 하는지 파악하기란 여전히 쉽지 않습니다.

그중 하나가 바로 COM 서로게이트(COM Surrogate), 즉 dllhost.exe입니다. 이 프로세스는 어떤 용도로 실행되는 것이며, 바이러스일 가능성은 없을까요? 지금부터 하나씩 자세히 알아보겠습니다.

COM 서로게이트란 무엇인가?

마이크로소프트에 따르면 COM 서로게이트는 "COM 객체를 요청한 프로세스 외부에서 실행되는 희생 프로세스(sacrificial process)"라고 설명합니다. 다소 생소하게 들리니, 이 정의를 하나씩 풀어서 몇 가지 예시와 함께 살펴보겠습니다.

윈도우 10 COM 서로게이트(dllhost.exe)란? 충돌 오류 해결 및 바이러스 확인 방법

먼저 COM(Component Object Model) 객체는 마이크로소프트가 설계한 소프트웨어 표준으로, 프로세스 간에 서로 쉽게 통신할 수 있도록 만든 규격입니다. 예를 들어 워드 문서 안에 엑셀 스프레드시트가 삽입되어 있다면, 엑셀에서 변경한 내용이 자동으로 워드 문서에 반영됩니다. 이것이 가능한 이유가 바로 이런 공유 객체 덕분입니다.

프로세스 이름에서 유추할 수 있듯이, 이러한 COM 객체는 실제로는 DLL 파일입니다. 이 파일들은 윈도우의 보호된 폴더에 위치하며, 운영체제(OS)가 의도한 대로 작동할 수 있도록 돕습니다.

'희생 프로세스'라는 말의 의미

그렇다면 '희생 프로세스'라는 표현은 무엇을 뜻할까요? 또 다른 예시를 통해 살펴보겠습니다.

COM 서로게이트의 대표적인 용도 중 하나는 파일 탐색기가 미리 보기(썸네일) 이미지를 생성하는 작업입니다. 구버전 윈도우에서는 탐색기 프로세스가 직접 썸네일을 생성했는데, 썸네일 추출기가 항상 안정적이지 않아 충돌이 잦았습니다.

수백 장의 이미지가 담긴 폴더나 윈도우가 예상하지 못한 파일 형식이 들어 있는 폴더를 열 때 탐색기가 강제 종료되는 현상을 경험해 본 분들이 있을 것입니다.

그래서 파일 탐색기는 충돌 가능성이 있다고 판단되면 COM 서로게이트 프로세스를 새로 만들어 위험한 작업을 맡깁니다. 썸네일이 많이 필요한 폴더를 열면 탐색기가 이 작업을 COM 서로게이트에 넘기고, 설령 썸네일 로딩 중 충돌이 발생하더라도 탐색기 자체는 멀쩡하게 유지됩니다. 이것이 바로 '희생'의 의미입니다.

이 프로세스를 종료해도 되나요?

중요한 다른 윈도우 프로세스들과 달리, 작업 관리자(Ctrl + Shift + Esc)를 열어 COM 서로게이트 프로세스를 종료하는 것 자체는 가능합니다. 하지만 그렇게 하는 것은 일반적으로 좋지 않습니다. 프로그램은 필요할 때마다 이 프로세스를 생성해 특정 작업을 수행하기 때문에, 종료하면 진행 중이던 작업이 중단됩니다.

또한 COM 서로게이트는 다른 프로그램이 요청할 때만 실행되므로 비활성화할 방법은 없습니다.

어떤 프로세스가 COM 서로게이트를 시작했는지 확인하는 방법

기본적인 작업 관리자만으로는 COM 서로게이트 프로세스의 세부 정보를 확인할 수 없습니다. 여러 개가 동시에 실행되는 경우가 많기 때문에 어떤 프로그램이 시작했는지 궁금할 수 있습니다. 이럴 때는 최고의 작업 관리자 대체 도구 중 하나인 Process Explorer를 다운로드해야 합니다.

Process Explorer는 컴퓨터에서 실행 중인 항목에 대한 방대한 정보를 제공하며, COM 서로게이트를 호출한 상위 프로세스도 확인할 수 있습니다. 목록에서 Description 필드에 COM Surrogate라고 표시된 dllhost.exe 프로세스를 찾아보세요. 마우스 포인터를 올리면 해당 프로세스를 호출한 주체에 대한 정보가 나타납니다.

dllhost 프로세스가 보이지 않는다면 Ctrl + F를 눌러 검색창을 열고 dllhost.exe를 입력하면 모든 인스턴스를 쉽게 찾을 수 있습니다. 아무것도 나오지 않는다면 현재 COM 서로게이트를 사용 중인 프로그램이 없다는 뜻입니다.

아래 예시에서는 이 COM 서로게이트가 썸네일 처리를 담당하고 있음을 확인할 수 있습니다.

윈도우 10 COM 서로게이트(dllhost.exe)란? 충돌 오류 해결 및 바이러스 확인 방법

COM 서로게이트 충돌 오류를 해결하는 방법

"COM 서로게이트가 작동을 멈췄습니다"라는 오류 메시지를 접한 적이 없다면 이 프로세스의 존재조차 눈치채지 못했을 것입니다. 대부분의 경우 특정 파일, 특히 썸네일과 관련된 파일이 원인이며, 윈도우 10 성능에 영향을 줄 수 있습니다. COM 서로게이트 오류가 자주 발생한다면 다음 해결책들을 순서대로 시도해 보세요.

  • 코덱 팩 및 미디어 소프트웨어를 업데이트하거나 제거하세요. K-Lite 코덱 팩이나 DivX, Nero 같은 미디어 도구를 사용 중이라면 이들이 원인일 수 있습니다. 요즘은 VLC 하나면 거의 모든 형식을 재생할 수 있고 Nero의 무료 대안도 많으니, 코덱 팩은 더 이상 필요하지 않습니다. 제거를 고려해 보세요.
  • 윈도우 업데이트를 설치하세요. 최신 업데이트 설치만으로 문제가 해결되었다는 사례가 있습니다. 항상 답은 아니지만 가장 쉬운 첫 단계입니다. 특정 파일 형식의 사소한 버그를 마이크로소프트가 최신 패치로 수정했을 가능성이 있습니다.
  • 기존 썸네일을 삭제하세요. 손상된 썸네일이 원인이라면 디스크 정리(Disk Cleanup) 도구로 캐시를 제거할 수 있습니다. 윈도우가 썸네일 캐시를 새로 생성하면서 문제가 해결될 수 있습니다.
윈도우 10 COM 서로게이트(dllhost.exe)란? 충돌 오류 해결 및 바이러스 확인 방법
  • 문제가 되는 파일을 식별하세요. 앞서 소개한 Process Explorer를 사용해 dllhost가 접근하려는 파일을 확인합니다. 특정 파일을 가리키고 있다면 그것이 거의 확실한 원인입니다. 해당 파일을 삭제한 뒤 문제가 사라지는지 확인해 보세요.
  • DEP(데이터 실행 방지) 목록에서 COM 서로게이트를 제외하세요. 윈도우는 악성 코드 실행을 차단하기 위해 데이터 실행 방지(Data Execution Prevention, DEP) 기능을 사용합니다. 특정 프로세스를 이 목록에서 제외할 수 있으며, COM 서로게이트를 제외하면 오류가 사라질 수 있습니다.
    • 시작 메뉴에 고급 시스템을 입력하고 고급 시스템 설정 보기를 선택합니다. 성능 항목의 설정 버튼을 클릭한 후 데이터 실행 방지 탭으로 이동합니다.
    • 두 번째 옵션인 모든 프로그램 및 서비스에 대해 DEP 사용을 선택하고 추가 버튼을 클릭합니다.
    • 32비트 시스템에서는 C:\Windows\System32\dllhost.exe, 64비트 윈도우에서는 C:\Windows\SysWOW64\dllhost.exe 파일을 찾아 선택합니다. 확인을 클릭해 변경 사항을 저장합니다.
윈도우 10 COM 서로게이트(dllhost.exe)란? 충돌 오류 해결 및 바이러스 확인 방법
  • 하드 드라이브 오류를 검사하세요. 문제가 특정한 패턴 없이 발생한다면 전반적인 점검이 필요합니다. 명령 프롬프트에서 SFC 명령으로 윈도우 시스템 파일을 복구하고, CHKDSK 명령으로 하드 드라이브 오류를 확인하세요.
  • 명령 프롬프트에서 DLL 파일을 재등록하세요. 명령 프롬프트에서 regsvr32 vbscript.dllregsvr32 jscript.dll 명령을 실행하면 두 개의 DLL이 재등록되어 COM 서로게이트 충돌이 해결될 수 있습니다.
  • 백신 프로그램을 점검하세요. 카스퍼스키(Kaspersky) 백신과의 충돌이 원인이라는 보고도 있습니다. 백신 보호를 임시로 비활성화한 뒤 해당 파일이나 폴더에 접근했을 때 여전히 오류가 발생하는지 확인해 보세요.
  • 썸네일이 필요 없다면, 썸네일 기능을 완전히 비활성화하는 것도 방법입니다.

바이러스일 가능성은 없을까?

정상적인 COM 서로게이트 프로세스는 윈도우의 기본 구성 요소이며 악성이 아닙니다. 하지만 일부 악성코드가 dllhost 프로세스를 악용한 사례가 실제로 존재합니다. 작업 관리자에 수많은 COM 서로게이트 항목이 표시되고 CPU 사용량이 비정상적으로 높다면 시스템 감염을 의심해 볼 필요가 있습니다.

이런 종류의 악성코드는 중요한 시스템 프로세스와 파일을 흉내 내기 때문에 직접 제거하는 것은 권장하지 않습니다. 잘못하면 중요한 시스템 파일을 삭제할 수 있습니다. 대신 설치된 백신으로 먼저 검사한 뒤, 다른 백신으로 한 번 더 검사해서 시스템이 깨끗한지 확인하세요.

백신 프로그램 추천이 필요하다면 광고 없는 우수한 백신 프로그램 목록을 참고해 보세요. 평소 다른 백신을 사용하더라도 윈도우 디펜더로 추가 검사를 할 수 있다는 점도 잊지 마세요.

시작 메뉴에 defender를 입력하고 Windows Defender 보안 센터를 엽니다. 바이러스 및 위협 방지를 선택한 후 빠른 검사 버튼을 클릭하면 검사가 시작됩니다.

윈도우 10 COM 서로게이트(dllhost.exe)란? 충돌 오류 해결 및 바이러스 확인 방법

어떤 백신을 사용하든, 신뢰할 만한 Malwarebytes로 추가 검사를 진행해 보는 것도 좋은 습관입니다.

마무리하며

지금까지 COM 서로게이트 프로세스에 대해 알아야 할 모든 것을 살펴봤습니다. 결국 이 프로세스는 다른 프로그램이 위험하거나 부담스러운 작업을 외부에 위임하고 싶을 때 생성하는 도우미 역할을 합니다. 그렇기 때문에 시점에 따라 실행 중인 COM 서로게이트의 개수가 달라지는 것입니다. 이제 충돌 문제 해결 방법과 바이러스 감염 여부를 판별하는 요령까지 모두 익히셨습니다.

더 많은 윈도우 활용 정보가 필요하다면 PC 문제 해결 초보자 가이드도 함께 확인해 보세요.

PC에서 COM 서로게이트 프로세스가 실행되는 것을 본 적이 있나요? 충돌 문제를 겪었고 어떻게 해결하셨나요? 댓글로 경험을 공유해 주세요!

이미지 출처: Jeanette.Dietl/Depositphotos