워드프레스 개발 커뮤니티에서 오랜 시간 활동해 온 분들이라면 TimThumb라는 이름을 한 번쯤은 들어보셨을 겁니다. TimThumb는 웹사이트에 표시할 썸네일 이미지의 크기를 자동으로 조절해 주는 PHP 스크립트로, 한때 수많은 테마에 기본 탑재될 정도로 큰 인기를 누렸습니다.
하지만 이 스크립트에는 치명적인 보안 취약점이 존재했고, 그 결과 수백만 개의 워드프레스 사이트가 해킹당하는 참사가 벌어졌습니다. 안타깝게도 지금까지도 이 취약점으로 인한 해킹 사례가 종종 보고되고 있습니다.
내 사이트가 TimThumb 취약점의 영향을 받고 있는지 궁금하다면, 지금 바로 웹사이트를 스캔해 확인해 보세요. 이 글에서는 웹사이트를 스캔하는 방법과, 해킹이 확인될 경우 깨끗하게 복구하는 방법까지 자세히 안내해 드립니다.
핵심 요약(TL;DR): 이미 사이트가 감염된 것으로 의심되고 즉시 복구가 필요하다면, 워드프레스 악성코드 제거 플러그인을 설치하세요. 사이트를 청소하는 동시에 향후 해킹 시도로부터 사이트를 보호하는 조치까지 함께 진행할 수 있습니다.
TimThumb 익스플로잇(Exploit)이란 무엇인가?
TimThumb는 flickr.com, imgur.com 같은 이미지 호스팅 사이트에서 이미지를 가져와 실시간으로 편집할 수 있게 해주는 PHP 스크립트입니다. 특히 썸네일 생성 용도로 널리 사용되었죠.
TimThumb에는 신뢰할 수 있는 웹사이트 목록(화이트리스트)이 내장되어 있어, 해당 사이트들의 이미지만 가져오도록 설계되어 있었습니다. 하지만 개발자들조차 모르게 이 과정에 중대한 취약점이 숨어 있었습니다. TimThumb는 이미지 URL이 화이트리스트 도메인과 일치하는지만 확인했을 뿐, 이미지 파일이 실제로 그 위치에서 온 것인지는 검증하지 않았던 것입니다.
예를 들어 'imgur.com'이 허용된 사이트라면, 공격자는 'imgur.com.badsite.com'처럼 위장한 악성 사이트에서 파일을 가져오도록 속일 수 있습니다.
이렇게 되면 악성 파일이 여러분의 웹사이트에 업로드되고, 해커는 그것을 발판 삼아 사이트에 접근권을 얻게 됩니다. 이것이 바로 TimThumb 해킹이 사이트를 장악하는 원리입니다.
이 보안 문제는 이후 수정되었지만, 그럼에도 불구하고 TimThumb는 수년간 추가적인 보안 공격에 시달렸고, 결국 개발진은 스크립트 유지보수를 포기했습니다. 이 스크립트를 사용하던 대부분의 테마 역시 TimThumb 없이 작동하도록 수정 패치를 배포했습니다.
하지만 아직도 상당수의 테마가 이미지 리사이징을 위해 TimThumb를 사용하고 있을 가능성이 있습니다. 만약 사용 중인 테마가 여전히 TimThumb에 의존한다면 여러분의 사이트는 위험에 노출된 것이나 다름없습니다. 즉시 스캔을 실행해 사이트가 감염되었는지 확인하기를 강력히 권장합니다.
TimThumb 워드프레스 해킹, 스캔 및 제거 방법
TimThumb 해킹 여부는 수동으로 확인하거나 플러그인을 통해 확인할 수 있습니다. 다만 수동 방식은 시간이 많이 걸리고, 사소한 실수 하나가 사이트 전체가 먹통이 되는 큰 재앙으로 이어질 수 있어 추천하지 않습니다. 그래도 수동 복구 절차가 궁금하시다면 '해킹된 사이트 복구 가이드' 관련 자료를 참고하시기 바랍니다.
우리는 워드프레스 보안 플러그인을 활용해 해킹을 제거하고 TimThumb 취약점을 없애는 방법을 강력히 권장합니다.
'그런데 선택지가 너무 많아 좋은 플러그인을 고르기 어렵다'는 말씀도 잘 알고 있습니다. 걱정하지 마세요. 딱 맞는 솔루션을 소개합니다. 바로 MalCare 보안 플러그인입니다. TimThumb를 비롯한 모든 종류의 해킹 제거에 MalCare를 권장하는 이유는 다음과 같습니다.
- 파일과 데이터베이스를 포함한 사이트 전체를 스캔합니다. 많은 플러그인이 악성코드가 흔히 숨는 곳만 살펴보는 반면, MalCare는 웹사이트의 구석구석까지 샅샅이 뒤져 다른 플러그인이 놓치는 악성코드까지 탐지합니다.
- 알려진 악성코드는 물론 알려지지 않은 악성코드까지 잡아냅니다. 코드의 동작 방식을 분석해 악성 행위를 하는 코드를 찾아내고 악성코드로 표시하기 때문에 오탐(false positive) 가능성도 크게 줄어듭니다.
- 복구가 늦어지면 구글 블랙리스트 등재나 호스팅 계정 정지로 이어질 수 있습니다. 해킹 대응에서는 시간이 생명입니다. MalCare를 활용하면 몇 분 안에 사이트를 복구할 수 있습니다.
MalCare 보안 플러그인의 핵심 기능을 살펴봤으니, 이제 실제로 사이트를 복구해 보겠습니다.
MalCare 보안 플러그인으로 TimThumb 해킹 제거하기
1단계: 웹사이트에 플러그인을 설치한 뒤, MalCare 대시보드에 사이트를 등록합니다.
2단계: MalCare가 즉시 사이트 스캔을 시작합니다. 발견된 악성 파일과 데이터베이스 테이블의 개수를 확인할 수 있습니다.
3단계: 악성코드를 제거하려면 Auto-Clean(자동 클린) 버튼을 클릭하세요. MalCare가 몇 분 안에 사이트를 깨끗하게 정리해 줍니다.
이것으로 끝입니다! 여러분의 사이트는 이제 깨끗해졌습니다.
악성코드 제거 후 조치: 취약점 근본 원인 제거
MalCare가 사이트를 복구하고 악성코드의 흔적을 모두 지웠더라도, TimThumb 취약점 자체는 별도로 수정해야 합니다. 그래야 사이트가 다시 같은 방식으로 공격받는 일을 막을 수 있습니다.
TimThumb 취약점은 플러그인이나 테마 안에 존재합니다. 매우 널리 알려진 보안 취약점이기 때문에 책임감 있는 개발자라면 이미 소프트웨어에 패치를 배포했을 가능성이 높습니다. 따라서 테마나 플러그인을 업데이트하면 패치를 적용할 수 있습니다.
워드프레스 관리자 페이지에 로그인한 후, 비활성화된 테마·플러그인과 커스텀 테마·플러그인을 포함해 대기 중인 모든 업데이트를 실행하세요. (참고: 워드프레스 보안 업데이트 관련 자료를 읽어보는 것을 권장합니다.)
업데이트를 마쳤다면, 향후 해킹 시도로부터 사이트를 지키기 위해 보안 강화(Hardening) 조치를 적용하는 것도 꼭 진행하시기 바랍니다. 단계별 보안 강화 가이드를 통해 쉽게 따라 할 수 있습니다.
TimThumb 대체제가 필요한가?
TimThumb는 접속 기기에 따라 이미지 크기를 자동으로 조절해 주는 기능을 제공했습니다. 그렇다면 TimThumb 없이 어떻게 같은 기능을 구현할 수 있을까요?
운 좋게도 더 이상 고민할 필요가 없습니다. 이미지 리사이징은 현재 워드프레스의 기본 내장 기능이기 때문입니다.
이미지를 업로드하면 워드프레스가 알아서 여러 크기로 조절하고, 접속 기기에 맞는 적절한 크기의 이미지를 제공합니다. 또한 게시물이나 페이지에 대표 이미지(featured image)를 업로드하면 썸네일 크기도 자동으로 생성됩니다. 우리가 흔히 보는 블로그 목록 페이지의 미리보기 이미지가 바로 그 썸네일입니다.
예를 들어 MalCare의 블로그 페이지에서도 최신 게시물들의 썸네일을 확인할 수 있습니다.
결론적으로, TimThumb의 대체품을 찾을 필요는 전혀 없습니다.
마무리 thoughts: 결론
TimThumb 해킹은 수백만 개의 사이트에 피해를 입혔고, 지금까지도 여전히 사이트들을 위협하고 있습니다. TimThumb 해킹은 여러분의 웹사이트에 매일 시도되는 수많은 공격 중 하나일 뿐이라는 점을 기억하세요. 해킹 공격에 맞서기 위해서는 MalCare 같은 보안 플러그인을 사이트에 상시 활성화해 두는 것이 좋습니다.
MalCare는 설정이 간편하고 매일 자동으로 사이트를 스캔합니다. 또한 방화벽으로 악성 트래픽을 차단하고, 무차별 대입(brute force) 공격으로부터 로그인 페이지를 보호해 줍니다.
MalCare 보안 플러그인으로 24시간 365일 여러분의 웹사이트를 지키세요.