인터넷을 둘러보다 보면 기적적인 효과와 놀라운 할인을 약속하는 각종 의약품 광고를 자주 접하게 됩니다. 하지만 이러한 광고에는 충격적인 비밀이 숨겨져 있습니다. 대부분의 광고가 가짜이며, 악성 코드까지 포함하고 있을 가능성이 높습니다.
해커들은 트래픽이 많은 웹 페이지를 해킹하여 불법 의약품을 온라인으로 광고합니다. 이 기법을 SEO 스팸 해킹이라고 부르는데요. 특히 의약품 관련 해킹 사례가 워낙 많다 보니 'PHP 파마 해킹(Pharma Hack)' 또는 간단히 '파마 해킹'이라는 이름으로도 널리 알려져 있습니다. 참고로 이 방식으로 가장 많이 판매되는 제품이 바그라(Viagra)이기 때문에 'PHP 비아그라 해킹'이라고 부르기도 합니다.
PHP 파마 해킹이란 무엇일까요?
앞서 언급했듯이 PHP 파마 해킹은 SEO 스팸 해킹의 한 종류입니다. SEO 해킹은 검색 엔진을 조작하여 트래픽을 늘리고 페이지 순위를 상위로 끌어올리는 해킹 기법을 말합니다. 다만 이 과정에서 사용되는 방법은 검색 엔진의 이용 약관을 정면으로 위반합니다. 2018년 기준 전체 인터넷 해킹의 약 51.3%가 SEO 스팸 관련이었으며, 이는 2017년보다 7.3%p 증가한 수치입니다.
파마 해커들은 처방전 없이 살 수 있는 불법 또는 짝퉁 의약품을 판매하려 합니다. 대표적으로 비아그라, 레비트라(Levitra), 시알리스(Cialis) 등이 자주 거래됩니다. 이들을 판매하기 위해 해커는 검색 순위가 높은 웹사이트에 침입한 뒤 기존 콘텐츠를 변경하고, 새로운 페이지를 추가하며, 자신들의 사이트로 연결되는 링크를 삽입합니다.
여기서 궁금증이 생깁니다. 자신들만의 웹사이트가 있는데도 굳이 왜 이런 짓을 하는 걸까요?
구글 같은 검색 엔진은 이런 불법 의약품 사이트를 식별하여 검색 결과에서 배제합니다. 그 결과 해당 사이트들은 충분한 트래픽을 얻지 못합니다. 결국 해커들은 평판 좋은 웹사이트를 빌려 제품을 광고하는 수법을 쓰는 것이죠. 이렇게 하면 피해 웹사이트가 받는 트래픽을 그대로 가져갈 수 있습니다. 해커들은 주로 PHP 파일을 통해 웹사이트를 공격하며, 그 안에 악성 PHP 함수를 심어둡니다. 이런 악성 PHP 함수를 찾아내는 일은 말처럼 쉽지 않지만, 아래 섹션에서 최대한 쉽게 풀어 설명해 드리겠습니다.
함께 읽으면 좋은 가이드 – PHP 해킹 제거 방법
내 웹사이트의 PHP 파마 해킹 탐지 방법
웹사이트 소유자 입장에서 PHP 파마 해킹을 스스로 발견하는 것은 생각보다 어렵습니다. 미세하게 수정된 부분은 눈에 잘 띄지 않기 때문입니다. 따라서 먼저 PHP 웹사이트에서 흔히 나타나는 15가지 해킹 징후부터 확인해 보시길 권합니다.
또는 'buy viagra', 'buy cialis', 'buy levitra' 같은 키워드로 빠르게 검색해 보고, 검색 결과에 내 웹사이트의 페이지가 나타나는지 확인하는 방법도 있습니다.
PHP 비아그라 해킹을 탐지하기 어려운 또 다른 이유는 해커들이 사용하는 교활한 전략 때문입니다.
해커들은 웹사이트에 침입한 직후 곧바로 활동하지 않습니다. 상당한 시간이 지난 후에야 콘텐츠 변경과 제품 광고를 시작합니다. 그동안 백도어(Backdoor)를 설치해 두는데요. 백도어는 말 그대로 보안 장벽과 암호화를 우회하여 해커가 웹사이트에 다시 진입할 수 있는 몰래의 통로입니다.
SEO 스팸 스캐너나 보안 플러그인을 사용하면 PHP 웹사이트의 파마 해킹 여부를 점검할 수 있습니다. 다행히 Astra는 머신러닝 기반 멀웨어 스캔 기능을 제공하여, 다른 해킹 여부와 함께 진행 중인 PHP 파마 해킹 캠페인까지 탐지할 수 있습니다.
24시간 365일 가동되는 멀웨어 스캐너를 통해 파일 차이점을 검토하고, 클릭 한 번으로 악성 파일까지 삭제할 수 있습니다.
웹사이트의 파마 해킹 제거 방법
1) 멀웨어 스캔 실행
PHP 파마 해킹과 관련된 감염 파일은 멀웨어 스캔으로 탐지할 수 있습니다. 온라인 멀웨어 스캐너를 이용하거나 전용 프로그램을 설치하세요. 다양한 도구 중에서는 Astra Security Suite가 손꼽히는 선택지입니다.
2) 백업 복원
웹사이트 데이터는 반드시, 그리고 항상 백업하세요. 웹사이트의 안정적인 운영을 위해 필수적인 습관입니다. 해킹이 발견되면 즉시 백업본을 복원하는 것이 좋습니다.
3) 해킹 파일 식별 및 삭제
앞서 언급했듯이 PHP 파마 해킹에는 악성 PHP 함수가 포함되어 있습니다. 따라서 eval()이나 base64_decode() 같은 함수가 삽입된 파일을 검색하여 찾아내세요.
4) 백도어 스캔 및 제거
백도어는 보안 체계에 치명적인 위협입니다. 해커는 백도어 하나만으로 보안 조치를 손쉽게 무력화할 수 있습니다. 따라서 주기적으로 백도어를 점검하고 제거해야 합니다.
파마 해킹 예방 방법
이런 해킹은 발견 자체가 어렵기 때문에, 사전에 철저히 대비하고 예방 조치를 취하는 것이 무엇보다 중요합니다. 실천해야 할 핵심 사항은 다음과 같습니다.
- 웹사이트를 주기적으로 업데이트하세요. 모든 플러그인도 최신 버전으로 유지해야 합니다.
- 반드시 강력한 비밀번호를 사용하세요. 최소 12자 이상이며, 대문자·소문자·숫자·특수문자(!,@,# 등)를 조합하는 것이 좋습니다.
- 보안 플러그인을 설치하세요.
- 멀웨어를 주기적으로 스캔하세요.
- 외부 접근을 최소화하도록 파일 권한을 설정하세요.
결론
PHP 파마 해킹과 유사한 SEO 오염 공격은 웹사이트의 SEO에 심각한 타격을 입힙니다. 더욱이 파마 해킹이 웹사이트에 계속 남아 있으면, 검색 엔진으로부터 잠재적 위협 사이트로 분류되어 결국 블랙리스트에 오를 수도 있습니다.
오랜 시간 쌓아온 SEO 성과와 웹사이트의 평판을 지키려면 PHP 파마 해킹을 조기에 발견하는 것이 필수입니다. 물론 웹사이트가 해킹당했는지 아닌지를 파악하는 일은 결코 쉽지 않습니다. 하지만 이 글에서 소개한 단계들을 따라 한다면 파마 해킹을 인식하고 제거하는 데 큰 도움이 될 것입니다.
전문가의 도움이 필요하다면 Astra와 같은 통합 보안 솔루션이 든든한 지원군이 되어 줄 것입니다.