Computer >> 컴퓨터 >  >> 문제 해결 >> Windows 오류

dnsapi.dll이란 무엇이며, 안전하게 제거하는 방법

최근 많은 사용자들이 dnsapi.dll 파일 관련 문제를 보고하고 있습니다. 일부 사용자는 백신 프로그램이 이 파일을 잠재적 보안 위협으로 표시하면서 문제를 인식하게 되었고, 또 다른 사용자들은 "dnsapi.dll이 없습니다" 또는 "dnsapi.dll을 찾을 수 없습니다"와 같은 오류 팝업을 마주하고 있습니다.

dnsapi.dll이란 무엇이며, 안전하게 제거하는 방법

dnsapi.dll 파일 관련 문제는 대부분 오탐(false positive)에 불과한 경우가 많습니다(특히 구버전 AVG에서 자주 발생). 하지만 드물게는 정상적인 dnsapi.dll 파일을 변조해 악의적인 목적으로 사용하는 공격적인 트로이 목마에 감염된 경우일 수도 있습니다.

dnsapi.dll이란 무엇인가?

정품 Dnsapi.dll은 중요한 DLL(Dynamic Link Library) 파일입니다. DLL 파일은 미리 만들어진 기능들을 담고 있는 Windows 전용 파일 형식으로, 다른 프로그램들이 해당 파일을 호출하기만 하면 그 기능들을 손쉽게 사용할 수 있습니다.

정품 dnsapi.dll은 본질적으로 DNS 클라이언트 API에 필요한 다양한 함수들을 담고 있는 모듈입니다. 따라서 시스템의 핵심 구성 요소 중 하나로 간주되어야 하며, 정품 파일이라면 임의로 삭제해서는 안 됩니다.

그러나 일부 악성코드는 dnsapi.dll 파일을 특정 대상으로 삼으며, 그 종류도 상당히 많습니다. 이 파일을 노리는 대부분의 악성 파일은 정품 파일을 탈취한 뒤 감염된 버전으로 교체하려는 방식을 사용합니다.

잠재적 보안 위험

대부분의 바이러스 감염은 파일 위치만 확인해도 쉽게 판별할 수 있지만, 이 사례는 조금 다릅니다. dnsapi.dll을 공격하는 일부 악성코드 변종은 SysWOW64System32 폴더에 있는 정품 구성 요소까지 교체할 수 있기 때문입니다. 이로 인해 전문 분석 도구 없이는 정품 파일과 감염된 파일을 구분하는 것이 훨씬 어려워집니다.

다음은 dnsapi.dll 파일을 적극적으로 공격하는 것으로 알려진 대표적인 악성코드 유형입니다:

  • RDN/Generic.dx
  • TROJ_GEN.R047C0DCB16
  • PTCH_NOPLE.SM
  • Gen:Variant.Kazy.730425
  • Trojan.GenericKD.2732606
  • Trojan:W32/Dllpatcher

이들 악성코드 대부분은 거의 동일한 방식으로 시스템을 감염시킵니다. 새로운 시스템에 침투하면 취약점을 찾아 dnsapi.dll 모듈을 수정하고, 바이러스 내부에 포함되어 있거나 필요 시 생성되는 악성 호스트 파일로 연결을 우회시킵니다. 이렇게 생성된 악성 호스트 파일에는 시스템을 악용할 수 있는 IP 주소와 호스트명이 담겨 있는 경우가 많습니다.

침입 경로가 DLL 파일(dnsapi.dll)이라는 점에서, 보안 연구자들은 이러한 유형을 흔히 DLL 패처(DLL patcher)라고 부릅니다.

dnsapi.dll을 삭제해야 할까?

해당 파일이 실제로 탈취된 파일임을 확인한 경우가 아니라면, dnsapi.dll 파일을 직접 수동 삭제하는 것은 권장하지 않습니다. 설령 악성 파일이 확실하더라도, dnsapi.dll 파일 하나만 삭제하는 것으로는 큰 효과를 기대하기 어렵습니다.

최신 Windows 버전을 성공적으로 감염시키는 대부분의 악성 프로그램은 재생성(regeneration) 기능을 갖추고 있습니다. 즉, 감염 흔적이 완전히 제거되지 않으면 삭제된 파일을 다시 만들어낼 가능성이 높습니다. 따라서 전문 보안 스캐너를 사용해 바이러스 감염 여부부터 확인하는 것이 올바른 접근 방법입니다.

  • 감염 여부를 확인하고 싶다면 아래의 방법 1을 따라 악성코드를 식별하고 대처하세요.
  • "dnsapi.dll을 찾을 수 없습니다", "dnsapi.dll을 실행할 수 없습니다", "dnsapi.dll 로드 오류", "dnsapi.dll 지정된 모듈을 찾을 수 없습니다" 같은 오류가 발생한다면 방법 2를 참고해 문제를 해결하세요.

방법 1: 감염 여부 확인 및 대처

dnsapi.dll 관련 오류를 해결할 때는 반드시 공식적인 방법을 사용하는 것이 좋습니다. dnsapi.dll 파일이 악성코드에 의해 탈취되었을 가능성이 의심된다면, 먼저 보안 스캐너를 실행해 이를 확인하세요.

Windows Defender 같은 기본 보안 솔루션을 사용 중이라면, 최신 보안 업데이트가 적용되어 있는 경우 실시간 보호 기능이 침입을 자동으로 감지하고 차단해 줍니다.

타사 백신 프로그램을 사용하는 경우에는 반드시 최신 버전으로 업데이트하세요. 그렇지 않으면 오탐으로 인해 정상적인 dnsapi.dll 파일을 삭제하는 위험이 있습니다.

가장 확실한 방법은 Malwarebytes로 전체 검사를 실행하는 것입니다. 이 보안 스캐너는 높은 신뢰성과 함께 감염의 잔여 파일까지 말끔히 제거하는 능력으로 잘 알려져 있어, 감염 처리 후에도 "dnsapi.dll을 찾을 수 없습니다", "dnsapi.dll을 실행할 수 없습니다", "dnsapi.dll 로드 오류", "dnsapi.dll 지정된 모듈을 찾을 수 없습니다" 같은 오류가 다시 나타나는 것을 예방할 수 있습니다.

Malwarebytes 전체 검사 방법을 모르신다면, 다운로드·설치·사용법을 다룬 상세 가이드를 참고하시기 바랍니다.

방법 2: Autoruns로 dnsapi.dll 오류 해결하기

dnsapi.dll 파일과 관련된 시작 오류("dnsapi.dll을 찾을 수 없습니다", "dnsapi.dll을 실행할 수 없습니다", "dnsapi.dll 로드 오류", "dnsapi.dll 지정된 모듈을 찾을 수 없습니다")가 발생한다면, 가장 유력한 원인은 감염의 일부였던 악성 파일이 백신 프로그램에 의해 삭제되었기 때문일 가능성이 높습니다.

백신 프로그램이 감염을 처리하면서도 관련 파일을 모두 제거하지 못하는 경우는 생각보다 흔합니다. 이때 시작 항목이나 레지스트리 키가 시스템에 그대로 남아 있으면, 파일이 이미 삭제되었음에도 불구하고 해당 파일을 계속 호출하게 됩니다. 이런 상황이 되면 Windows는 자동으로 오류 팝업을 띄우게 됩니다.

dnsapi.dll 관련 오류를 해결하는 방법은 여러 가지가 있지만, 여기서는 가장 간단한 방법을 소개합니다. Autoruns는 Microsoft가 공식 배포하는 도구로, 사용하지 않는 runonce·run 항목, 시작 폴더, 레지스트리 키를 식별하고 정리하고 삭제할 수 있습니다.

이 도구는 더 이상 존재하지 않는 파일을 호출하는 시작 항목이나 레지스트리 키를 찾아 제거하는 데 딱 맞는 유틸리티입니다. 다음은 Autoruns를 설치하고 사용해 dnsapi.dll 관련 오류를 제거하는 방법입니다:

  1. Microsoft 공식 페이지에 접속해 아래로 스크롤한 뒤 Download Autoruns and Autorunsc 링크를 클릭합니다. .rar 파일이 다운로드되면 WinRAR 등의 압축 프로그램으로 원하는 폴더에 압축을 해제합니다.
    dnsapi.dll이란 무엇이며, 안전하게 제거하는 방법
  2. 압축을 해제한 폴더를 열고 Autoruns 실행 파일을 더블클릭합니다. 프로그램이 열리면 Everything 목록이 모두 채워질 때까지 잠시 기다립니다.
    dnsapi.dll이란 무엇이며, 안전하게 제거하는 방법
  3. 모든 항목이 로드되면 키보드에서 Ctrl + F를 눌러 검색 기능을 엽니다. Find what 입력란에 "dnsapi.dll"을 입력하고 Find Next 버튼을 클릭합니다.
    dnsapi.dll이란 무엇이며, 안전하게 제거하는 방법
  4. 파란색으로 강조 표시되는 시작 키(레지스트리 키)를 마우스 오른쪽 버튼으로 클릭한 뒤 Delete를 선택해 삭제합니다. 삭제 후 Find Next 버튼을 다시 눌러 dnsapi.dll 파일을 호출하는 모든 항목을 찾아 같은 방식으로 제거합니다.
  5. 모든 항목을 처리했다면 Autoruns를 안전하게 종료하고 컴퓨터를 재시작합니다. 이후에는 dnsapi.dll 파일 관련 오류가 더 이상 나타나지 않을 것입니다.