본문 바로가기

보안

dll오류 때문에 다운받았던 dll파일이 바이러스?



위의 그림과 같이 d3dx9_42.dll, vb6ko.dll 등.. 각종 dll오류를 다들 한번쯤은 겪어보셨을 겁니다. 
그리고 위와 같은 dll 오류가 나면 대부분의 사용자들은 블로그나 지식인에서 알려주는 방식대로 
오류가 난 해당 dll을 다운받아서 저장합니다. 오류는 사라져서 좋지만 해당 dll파일이 정상적인
dll파일인지 아닌지 확인할 방법이 없어서 꺼림칙할때가 왕왕 있습니다.

혹시 바이러스는 아닐까? 악성코드가 들어있지는 않을까? 찝찝한 마음이 떠나지 않을 때가 있는데요. 
이렇게 찝찝할 필요없이 해당 dll파일이 정상적인 파일인지 아닌지 손쉽게 확인할 수 있는 방법이 있습니다.

바이러스토탈 사용하기 - http://www.virustotal.com/index.html

<비정상적인 usp10.dll 파일의 확인 결과>

가장 쉬운 방법은 바이러스토탈 사이트를 사용하는 방법입니다.

위 그림은 usp10.dll 파일을 가장한 바이러스 파일을 검사한 결과입니다. 
파일 이름도 usp10.dll이 아닌 d 라고 나오네요. 이런식으로 dll을 가장한 바이러스 혹은
악성코드가 굉장히 많습니다. 39개의 백신중 26개의 백신이 바이러스로 진단했습니다.

바꿔 말하면 13개의 백신 프로그램은 바이러스로 진단하지 못했다는 뜻이기도 합니다.
바이러스로 진단하지 못하는 백신을 사용하는 사람들은 정상적인 dll파일이라 생각하고
사용하게 될 가능성이 큽니다. 각 백신별 진단명을 보실분은 '더보기'를 클릭해주세요



 바이러스토탈에서는 위와 같이 의심되는 파일을 업로드하여 각 백신프로그램의 진단을
받을 수 있습니다. 해당 파일의 md5값을 비교하여 36개의 백신프로그램이 내린 진단명을 보여줍니다.

<정상적인 usp10.dll의 확인결과>



해시를 사용한 무결성 확인

최근 Md5Checker와 같은 프로그램을 사용하여 중요파일의 해시를 계산하여 저장 한 뒤
주기적으로 다시 계산하여 저장한 해시를 비교하는 분들이 많습니다. 이는 분명 한 개 
이상의 비트 위치에 변화가 있다면 바로 알 수 있다는 장점이 있습니다. 분명히 어떠한
파일이 변화되었다면 반드시 탐지할 수는 있지만, 시스템상의 파일을 자주 변경됩니다

멀웨어와 관계없는 변경이 상당히 많은데 이는 사용자에게 큰 부담으로 돌아옵니다..
변경된 수많은 파일의 이상유무, 로그를 매번 확인해야 하기 때문입니다.

<Md5Checker로 확인한 vb6ko.dll의 md5해시값 검색>

<vb6ko.dll의 md5해시값 검색결과>
하지만 각 파일의 올바른 해시값을 제시해주는 싸이트가 많기 때문에
파일의 무결성 체크유무로 사용하기엔 좋은것 같습니다 ^^

마치며

usp10.dll을 가장한 바이러스 파일을 36개의 백신중 13개의 백신이 탐지하지 못했습니다. 
감지하지 못한 13개에 해당하는 백신 사용자들은 저 당시 usp10.dll 파일을 정상적인 파일이라
생각하고 사용했을 겁니다.
그러니 각종 dll 혹은 exe 파일을 다운로드 할때에는 그 파일의
무결성 체크를 권장합니다. 최소한 바이러스토탈에서 검사하는 것만으로도 많은 도움이 됩니다. ^^ 
최근 dll 오류로 인해 다운받은 dll 파일이 있다면 바이러스토탈을 이용해 확인해보세요 ^^