구글이 표시하는 다양한 경고 메시지 중에서 '사기성 사이트 앞(Deceptive Site Ahead)'은 피싱 사이트로 판별된 웹사이트에 가장 흔하게 나타나는 경고입니다. 하지만 피싱이 유일한 원인은 아닙니다. 웹사이트에 악성코드가 포함되어 있는 경우에도 이 경고가 표시될 수 있습니다. 무섭게 붉은 화면과 함께 'Deceptive Site Ahead'라는 메시지가 뜨며 내 사이트가 차단된 것을 보면 심장이 철렁하는 경험을 하셨을 것입니다.
이 글에서는 이 두려운 문구 'Deceptive Site Ahead'와 관련된 대부분의 궁금증에 답해 드리겠습니다. 시간이 지나면서 이 경고를 웹사이트에서 제거하기 위해 할 수 있는 모든 방법도 함께 살펴보겠습니다. 그 전에 먼저 '사기성 사이트 앞' 경고가 정확히 무엇인지, 그리고 구글이 왜 귀하의 사이트를 차단하기로 판단했는지 가능한 원인들을 알아보겠습니다. 시작해 볼까요?
사기성 사이트 앞(Deceptive Site Ahead)이란?
사기성 사이트 앞은 방문자의 안전을 보호하기 위해 구글이 피싱 또는 해킹으로 식별된 사이트에 표시하는 경고 메시지입니다. 보통 붉은색 화면에 '사기성 사이트 앞'이라는 문구가 함께 나타납니다.
반대로 말하면, 사기성 사이트란 피싱이나 소셜 엔지니어링 기법을 통해 비밀번호나 개인 정보 노출, 악성 링크 클릭, 악성 자바스크립트나 코드 다운로드 등 온라인상에서 위험한 행동을 유도하려는 사이트를 의미합니다.
사기성 사이트 앞 경고의 원인
앞서 언급했듯이, 피싱과 악성코드는 구글이 웹사이트를 사기성 또는 가짜로 판단하는 몇 가지 이유입니다. 하지만 원인은 이것만이 아닙니다. 이번 섹션에서는 웹사이트에 붉은색 '사기성 사이트 앞' 경고가 표시될 수 있는 가능한 원인들을 자세히 살펴보겠습니다.
-
피싱(Phishing)
피싱 웹사이트는 합법적인 출처인 것처럼 위장하여 순진한 사용자가 신용카드 정보, 로그인 정보, 비밀번호 등 민감한 개인정보를 입력하도록 유도하는 사이트입니다. 공격자들이 개인 계좌 정보를 탈취하는 교활한 수단이기도 합니다. 피싱은 여러 방식으로 실행될 수 있습니다:
1. 로그인 폼, 결제 폼 등 원본 웹사이트의 민감한 페이지를 위조합니다.
2. 바이러스나 키로거(keylogger, 사용자가 입력하는 내용을 기록하는 프로그램)를 심어 사용자 몰래 해커에게 비밀번호/아이디를 전송합니다.
3. 긴급함을 조성하여 즉각적인 조치를 요구합니다. "지금 당장 은행 인증 정보를 입력하지 않으면 계좌가 위험해집니다"라고 들어본 적 있으신가요? 네, 그것이 바로 피싱일 가능성이 큽니다. 정당한 은행이나 어떤 기관도 온라인에서 즉흥적인 결정을 강요하지 않습니다. -
악성코드(Malware)
악성코드(malware, malicious software의 줄임말) 역시 구글이 웹사이트를 사기성으로 표시하는 이유 중 하나입니다. 명확히 설명하면, 악성코드는 웹사이트, 컴퓨터 또는 서버에 손상을 입히려는 목적의 파일입니다. 악성코드는 주로 다음과 같은 빈번한 사이버 공격을 통해 웹사이트에 삽입됩니다:
XSS(Cross-Site Scripting) 공격
저장형 XSS 공격은 사용자가 방문할 때 자동으로 컴퓨터에 다운로드되는 악성 링크를 생성하는 수단으로 활용됩니다. 당연히 구글은 이런 사이트를 사기성 사이트로 블랙리스트에 올립니다.
SQL 인젝션(SQL Injection) 공격
SQLi는 데이터베이스에 레코드를 추가, 수정, 삭제하는 데 사용됩니다. 이러한 콘텐츠는 종종 악성 페이로드라고 불리며 공격의 핵심 요소입니다. 공격자가 이 콘텐츠를 전송하면 데이터베이스에서 악성 SQL 명령이 실행됩니다. 이것 역시 구글이 웹사이트를 블랙리스트에 올리는 이유가 될 수 있습니다.
또한 CMS(콘텐츠 관리 시스템), 테마 또는 플러그인의 취약점을 통해 악성코드가 사이트에 추가될 수도 있습니다. 방문자 사이트에 유해한 스크립트를 로드하려는 경우에도 마찬가지입니다.
-
악성 광고(Malvertising)
구글이 임의의 팝업창, 리디렉션 광고 또는 사이트에 광고를 로드하는 악성코드를 발견하면 다른 온라인 사용자를 보호하기 위해 붉은 경고 화면을 표시합니다. 악성 광고는 상대적으로 새로운 개념으로, 해커들이 해킹된 웹사이트에 악성 광고를 삽입하여 웹페이지를 통해 유포하는 방식입니다. 더욱 우려스러운 점은 이런 광고가 방문자의 별도 행동 없이도 감염시킬 수 있다는 것입니다. 클릭조차 하지 않아도 감염됩니다. 따라서 이런 경우 구글은 사기성 사이트 앞 경고를 표시합니다.
-
적절한 SSL 인증서 미설치
구글은 정책에 매우 엄격합니다. SSL 인증서를 필수로 만들었을 때 이는 농담이 아니었습니다. HTTP에서 HTTPS로 전환하지 않은 사이트들이 '사기성'으로 표시되는 것을 확인했습니다. SSL 인증서를 설치하는 것만으로는 부족하며, 반드시 웹사이트를 HTTP에서 HTTPS로 리디렉션 설정까지 해야 합니다.
그뿐만 아니라 일부 페이지는 HTTP로, 일부 페이지는 HTTPS로 운영되면 구글에게 혼합 콘텐츠 신호를 보내게 됩니다. 이것 역시 사이트가 구글로부터 경고를 받는 이유가 될 수 있습니다.
사기성 사이트 앞 경고 수정 방법
지금까지 구글이 사이트를 차단하게 된 가능한 원인들을 살펴보았습니다. 이제 바로 수정 과정으로 들어가 보겠습니다.
1) 워드프레스 웹사이트의 경우
- 구글 서치 콘솔 > 보안 탭에 접속하세요. 거기에 보고된 문제들을 검토하면 어떤 유형의 해킹을 당했는지, 감염이 어느 문제 페이지에 있는지 알 수 있습니다.
- 웹사이트 백업을 진행하고, 온라인 악성코드 스캐너로 사이트를 스캔하세요. 보안 플러그인을 설치해서 스캔하는 것도 좋습니다. 스캔 결과를 확인하고 변조된 부분을 제거하세요.
- 개발자 도구 > 자바스크립트 콘솔(브라우저의 검사 기능)을 열어 악성 코드를 확인하고 있다면 삭제하세요.
- 리디렉션, 광고 또는 서드파티 스크립트를 제거하세요.
- 적절한 SSL 인증서를 설치하세요. 반드시 HTTP에서 HTTPS로의 리디렉션(301 리디렉션)을 설정하세요.
2) 기타 CMS 및 커스텀 PHP의 경우
- 구글 서치 콘솔 > 보안 탭에 접속하세요. 보고된 문제들을 검토하여 어떤 유형의 해킹을 당했는지, 감염 위치를 파악하세요.
- 웹사이트를 백업하고, 온라인 악성코드 스캐너로 사이트를 스캔하세요. 보안 플러그인 설치도 도움이 됩니다. 스캔 결과를 점검하고 변조된 내용을 제거하세요.
- 리디렉션, 광고 또는 서드파티 스크립트를 제거하세요.
- 적절한 SSL 인증서를 설치하고, 반드시 HTTP에서 HTTPS로의 301 리디렉션을 설정하세요.
검토 요청 제출 방법
사이트를 깨끗이 정화했다면 구글에 '사기성 사이트 앞' 메시지 제거를 요청할 수 있습니다. 다만 요청을 제출하기 전에 다음 사항이 충족되었는지 확인하세요:
- 사이트가 악성코드에서 완전히 정화되었는지
- 모든 취약점이 패치되었는지
- 사이트가 정상 작동하는지
요청 제출 단계:
- 구글 서치 콘솔의 보안 문제(Security Issues) 탭으로 이동합니다.
- 문제를 해결했습니다(I have fixed these issues) 체크박스에 체크합니다.
- 검토 요청(Request a Review) 버튼을 클릭합니다.
- 새 창이 열리면 감염을 제거하기 위해 수행한 단계를 작성해야 합니다. 상세한 정보를 제공하세요. 검토 요청서의 구조는 보안 전문가들이 만든 검토 요청 템플릿을 참고할 수 있으며, 작성 후 구글 서치 콘솔 팀에 제출합니다.
- 마지막으로 수동 작업(Manual Actions) 섹션을 클릭합니다.
또한 사이트가 전혀 감염되지 않았는데도 잘못하여 '사기성 사이트 앞' 메시지와 연결되었다고 생각한다면, 구글에 잘못된 피싱 경고 신고를 제출할 수 있습니다.
검토 요청 처리에는 사기성으로 판단된 웹사이트 기준 약 하루 정도 소요됩니다. 구글이 악성코드 스캐너로 웹사이트를 검사한 후 악성코드를 발견하지 못하면 '사기성 사이트 앞' 경고 메시지를 제거합니다. 반대로 악성코드가 여전히 남아 있다면 요청이 거부됩니다.
사기성 사이트 앞 경고 예방 방법
이 글을 읽으면서 아셨겠지만, '사기성 사이트 앞' 경고를 제거하는 것은 많은 노력, 시간, 인내가 필요한 작업입니다. 물론 웹사이트와 비즈니스 평판에 미치는 영향은 말할 것도 없습니다. 하지만 작지만 효과적인 보안 조치들을 실천하면 위험 요소는 자연스럽게 줄어듭니다. 주요 예방 조치는 다음과 같습니다:
-
최신 버전으로 업데이트
업데이트란 곧 취약점이 패치된 버전입니다. 따라서 가장 간단하면서도 효과적인 대응책은 연중 내내 최신 상태를 유지하는 것입니다. 오래된 버전을 사용하면 예상치 못한 사이버 공격을 당할 수 있습니다. 새로 공개된 취약점은 최대한 빨리 패치해야 합니다.
-
비밀번호 변경
비밀번호를 자주 변경하는 것은 웹사이트 보안을 비교적 쉽게 확보하는 방법입니다. 또한 관리자 페이지, 데이터베이스, API에 대해 고유하고 추측하기 어려운 사용자명을 사용하면 해커가 침입하기 더 어려워집니다. 결과적으로 웹사이트가 해킹당할 가능성이 낮아집니다.
-
방화벽 설치
방화벽은 웹사이트를 24시간 365일 보호하는 지속적인 모니터링 시스템입니다. 방화벽은 SQLi, XSS, LFI, RFI, 악성 봇, 스팸 등 100가지 이상의 위협으로부터 실시간으로 웹사이트를 보호합니다. OWASP Top 10 위협은 물론, 알려진 CVE 취약점 공격도 차단합니다. 또한 사이트 방문자 패턴을 분석하여 악의적인 의도를 가진 해커를 자동으로 차단합니다. 방화벽이 있으면 잠든 사이에도 웹사이트가 보호받습니다.
전문가의 도움 받기
무사히 감염을 제거하고 검토 요청까지 마치셨기를 바랍니다. 혼자서 악성코드 제거에 어려움을 겪고 있다면 언제든지 Astra 같은 전문 보안 서비스에 문의하세요. 솔직히 말해, 누구나 보안 전문가일 수는 없으니까요.
Astra 웹 보안은 WordPress, Magento, PrestaShop, OpenCart, Drupal 및 커스텀 PHP를 지원하도록 설계되었습니다. 방화벽이 SQLi, XSS, 악성 봇, 무차별 대입 공격(brute force) 등 100가지 이상의 위협으로부터 웹사이트를 보호합니다. Astra의 온디맨드 악성코드 스캐너로 버튼 하나만 누르면 몇 분 만에 사이트를 스캔할 수 있으며, 스캔을 거듭할수록 지능형 스캐너는 계속 최적화됩니다.