자신의 웹사이트가 해킹당했다는 사실을 깨닫는 순간은 그야말로 악몽 같습니다. 일단 사이트가 해킹되면 해커는 서버 리소스를 무단으로 사용하거나, 방문자를 자신들이 운영하는 사이트로 강제로 리디렉션하거나, 백도어를 심어 지속적으로 침입하는 등 각종 악성 행위를 저지릅니다. 이런 피해는 웹사이트에 치명적인 결과를 초래할 수 있기 때문에, 해킹이 확인되면 보안 전문가들은 즉시 정리 작업을 진행할 것을 강력히 권고합니다.
많은 워드프레스 사용자들 사이에는 '해킹된 사이트는 직접 손으로 정리할 수 있다'는 통념이 퍼져 있습니다. 그렇다면 의문이 생깁니다. 해킹된 사이트를 쉽게 정리할 수 있다면 왜 이렇게나 많은 멀웨어 제거 솔루션이 존재하는 걸까요? 사이트 소유자들이 전문 클린업 서비스를 이용하는 이유는 단순히 시간이 없어서일까요?
워드프레스 커뮤니티에서 오랜 기간 활동해 온 경험을 바탕으로, 우리는 지난 몇 년간 해커들이 얼마나 진화했는지 목격해 왔습니다. 오늘날의 해커는 과거보다 훨씬 더 교묘합니다. 그들은 단순히 사이트 보안을 뚫는 데 그치지 않고, 사람들이 찾지 않는 곳에 멀웨어를 숨기는 혁신적인 방법을 사용합니다. 게다가 새롭고 복잡한 멀웨어가 끊임없이 등장하면서 해킹된 사이트에서 수동으로 멀웨어를 찾아 제거하는 일은 갈수록 어려워지고 있습니다.
오늘날 수동 정리가 왜 통하지 않는지 제대로 이해하려면 과거를 돌아볼 필요가 있습니다. 이 글에서는 몇 년 전 수동 정리가 어떻게 이루어졌는지, 그리고 왜 그 방법이 낡았는지 살펴보겠습니다.
예전에는 해킹된 사이트를 어떻게 스캔하고 정리했을까?
예전에는 해커가 멀웨어를 숨길 수 있는 장소가 많지 않았습니다. 대표적인 위치 중 하나가 워드프레스 코어 파일이었습니다. 당시 수동으로 사이트를 정리하려던 사람은 알려진 위치들을 하나하나 뒤져 악성 코드를 찾았습니다. 멀웨어를 발견하면 워드프레스 코어를 삭제한 뒤 재설치하는 방식으로 문제를 해결했습니다. 이것이 가장 간단한 해킹 사이트 정리 방법이었습니다.
예전에 수동 정리가 훨씬 쉬웠던 이유는 해커들이 몇 군데 되지 않는 특정 영역만 공격했기 때문입니다. 하지만 오늘날 해커들은 웹사이트의 어느 부분에든 멀웨어를 숨길 수 있을 만큼 진화했습니다.
그 시절의 스캐너도 비슷하게 작동했습니다. 멀웨어가 주로 발견되는 몇 개의 선별된 위치만 검사하고, 미리 정리된 악성 코드 목록과 대조해 일치하는 코드를 찾으면 경보를 울리는 방식이었습니다.
워드프레스 플러그인은 무료와 유료로 나뉩니다. 일부 플러그인은 일정 기간 무료로 제공되다가 계속 사용하려면 업그레이드가 필요합니다. 유료 플러그인의 파일 상당수는 보호 처리되어 있어 스캐너가 제대로 검사하지 못하는 경우가 많습니다.
때로는 멀웨어 자체가 플러그인으로 위장하기도 합니다. 따라서 눈으로 직접 멀웨어를 찾으려는 사람에게는 일반적인 워드프레스 플러그인처럼 보이기 때문에 발견하기 어렵습니다.
수동으로 멀웨어를 탐지하는 것은 거의 불가능
사람들이 흔히 사용하는 수동 멀웨어 탐지 절차의 한계를 하나씩 살펴보겠습니다.
코드 매칭
수동으로 멀웨어를 찾는 방법 중 하나는 잘 알려진 악성 코드 목록을 만들어 사이트에서 해당 코드를 검색하는 것입니다. eval, base64_decode 같은 코드가 발견되면 워드프레스 사이트가 침해되었다는 전형적인 신호로 간주됩니다.
꽤 간단한 방법처럼 보이지만 결코 완벽하지 않습니다. eval, base64_decode 같은 코드는 때때로 정상 플러그인에도 포함되어 있습니다. 따라서 이런 코드가 존재한다고 해서 반드시 사이트가 침해된 것이라고 단정할 수 없습니다.
코드 난독화
오늘날 해커들은 매우 창의적입니다. 변화하는 워드프레스 환경에 적응할 뿐 아니라, 웹사이트를 해킹하고 침입 권한을 유지하는 새로운 방법을 끊임없이 개발하고 있습니다. 악성 코드를 숨기기 위해 해커들은 코드의 외양을 바꾸는 무한한 조합을 만들어냅니다. 덕분에 나쁜 코드를 찾는 일은 더욱 어려워졌으며, 특히 수작업으로 탐지할 때는 그 한계가 드러납니다.
이런 악성 코드를 찾아 제거하는 것이 중요하다는 점은 분명하지만, 수동 탐지와 정리가 가장 효율적인 방법이라고 할 수는 없습니다. MalCare 같은 보안 플러그인은 이렇게 숨겨진 복잡한 멀웨어를 탐지하도록 특화된 기술을 갖추고 있습니다.
최근 수정된 파일
파일의 최근 수정 기록을 주시하면 비정상적인 변경을 감지할 수 있습니다. 웹사이트가 침해되면 해커가 파일을 변경하기 마련이므로, 마지막 수정 날짜를 추적하면 도움이 됩니다. 본인이 하지 않은 변경이 발견된다면 사이트 보안이 뚫렸다는 신호일 수 있습니다.
문제는 해커가 파일의 최종 수정 타임스탬프를 조작할 수 있다는 점입니다. 오늘날 해커는 규모와 관계없이 모든 사이트를 공격합니다. 많은 해커가 자신들의 악성 작업을 수행하기 위해 사이트 리소스를 빌려 쓰려고 침입하며, 사이트 소유자가 해킹 사실을 인지하지 못하도록 철저히 준비합니다. 그래서 발각을 피하려고 타임스탬프까지 위조하는 것입니다.
수동 정리가 안겨주는 수많은 어려움
멀웨어를 식별하는 것이 해킹된 사이트를 되찾는 첫 번째 단계라면, 두 번째 단계는 사이트에서 멀웨어를 제거하는 것입니다. 일부 사람들은 사이트를 수동으로 정리할 수 있다고 믿습니다. 하지만 수동 스캔과 마찬가지로 수동 정리 역시 거의 불가능한 작업입니다. 해킹된 워드프레스 사이트를 직접 정리하려다 겪을 수 있는 문제들을 살펴보겠습니다.
백업 복원만으로는 사이트가 완전히 정리되지 않는다
백업은 핵심 보안 조치 중 하나입니다. 사이트에 문제가 생기면 백업을 복원해 짧은 시간 안에 웹사이트를 다시 가동할 수 있습니다. 하지만 흔히 믿는 것과 달리, 백업을 복원한다고 해서 해킹된 사이트가 깨끗해지지는 않습니다. 그 이유를 자세히 살펴보겠습니다.
복원 후에도 감염된 파일이 남아 있는다
웹사이트가 해킹되면 어떤 일이 벌어질까요? 사소해 보이는 여러분의 사이트가 공격 대상이 된 이유는, 해커가 사이트의 리소스를 이용해 수많은 파일을 저장하려고 하기 때문일 가능성이 높습니다. 일단 침해되면 해커는 반복적으로 접근할 수 있도록 백도어를 만듭니다. 따라서 해킹 이후 사이트에는 두 종류의 파일이 존재합니다. 하나는 소유자의 파일이고, 다른 하나는 해커의 파일입니다. 백업을 복원하면 내 파일은 교체되지만, 해커가 올려둔 파일은 그대로 남습니다. 그 결과 사이트는 여전히 취약한 상태로 남습니다. 백업 복원은 백도어를 제거하지 못하므로 해커는 언제든 돌아올 수 있으며, 사이트는 다시금 침해될 수밖에 없습니다.
백업 자체가 감염되었을 수 있다
해커는 사이트가 침해되었다는 사실을 숨기기 위해 각별한 주의를 기울이기 때문에, 해킹 사실을 알아차리는 데 몇 주가 걸릴 수도 있습니다(극도로 세심하게 관찰하거나 자동 멀웨어 스캐너를 사용하면 이런 상황을 피할 수 있습니다). 그 사이 사용 중인 백업 서비스는 감염된 파일들을 계속 백업하고 있었을 겁니다. 해킹 사실을 발견했을 때 이미 백업까지 오염되어 있다면, 복원해봤자 무의미합니다(최대 365일 동안의 백업에 접근할 수 있는 BlogVault 같은 백업 서비스를 사용하는 것이 좋습니다). 결국 백업 복원으로 해킹된 사이트를 정리하는 것은 현실적인 선택지가 아닙니다.
덧붙여, 데이터 복원이 데이터 손실로 이어질 수 있다는 점도 언급할 가치가 있습니다. 예를 들어 생각해 보세요. 운영하던 워드프레스 사이트가 한 달 전에 해킹당했다고 가정합시다. 열성적인 블로거였던 여러분은 매일 새 콘텐츠를 사이트에 올려왔습니다. 해킹 사실을 알게 된 후 새 콘텐츠 업로드를 중단했습니다. 다행히 침해 시점을 파악했고, 백업 서비스가 6개월 또는 1년치 일일 백업을 보관하고 있다면 버튼 한 번으로 깨끗한 백업을 복원할 수 있습니다. 하지만 한 달 전 백업을 복원하면 그동안 추가한 최신 데이터를 모두 잃게 됩니다. 이는 특히 우커머스(WooCommerce) 사이트에 치명적입니다. 고객 주문 정보 같은 중요한 사용자 데이터를 잃으면 사업에 심각한 타격을 입기 때문입니다.
이것이 수동 정리가 얼마나 비효율적인지 보여주는 대표적인 사례입니다. 바로 이런 이유로 보안 플러그인을 활용하는 것이 워드프레스 사이트를 스캔하고 정리하는 가장 확실한 방법입니다. MalCare를 사용하면 정기적으로 사이트 멀웨어를 검사하고, 버튼 클릭 한 번으로 해킹된 사이트를 정리하며, 일반적인 해킹 공격에 대한 예방 조치까지 취할 수 있습니다. 우리 워드프레스 보안 플러그인이 제공하는 다양한 기능을 지금 확인해 보세요.
MalCare로 웹사이트의 멀웨어와 바이러스를 제거해 보세요.