Computer >> 컴퓨터 >  >> 네트워킹 >> 네트워크 보안

워드프레스 자바스크립트 악성코드(맬웨어) 제거 방법 완벽 가이드

본격적으로 워드프레스 자바스크립트 악성코드 제거 방법을 알아보기에 앞서, 먼저 자바스크립트가 무엇이고 워드프레스 웹사이트에서 어떤 역할을 하는지 간단히 살펴보겠습니다.

자바스크립트란 무엇인가?

자바스크립트는 전 세계 웹사이트의 무려 94.5%가 사용하고 있는 웹 기술입니다. 웹페이지를 동적으로 만들어주는 모든 커스터마이징, 애니메이션, 반응형 기능은 자바스크립트로 구현할 수 있습니다. 또한 개발자는 Node.js 같은 크로스 플랫폼 런타임 엔진을 활용해 서버 사이드 코드까지 작성할 수 있으며, HTML5와 CSS3와도 매끄럽게 결합됩니다. 이를 통해 매력적인 웹페이지를 만들 수 있고, 온라인에서 비즈니스 홍보에도 큰 도움이 됩니다.

그러나 자바스크립트는 프론트엔드에서 수집한 데이터를 서버로 전송하고 처리하는 과정을 담당하기 때문에, 중간자(man-in-the-middle)처럼 작동할 위험도 존재합니다. 무해해 보이는 자바스크립트 코드가 민감한 데이터를 수집하는 데 악용될 수 있으며, 공격자는 이러한 데이터를 탈취하거나 웹사이트에 악성코드를 삽입해 정보 유출이라는 형태의 보안 사고를 일으킬 수 있습니다.

이 글은 특히 워드프레스 웹사이트에 초점을 맞추고 있으므로, 자바스크립트가 어떻게 악성코드로 활용되는지 그리고 다양한 워드프레스 자바스크립트 악성코드 제거 기법에 대해 자세히 다루겠습니다.

관련 글 – 워드프레스 악성코드 확인 방법

자바스크립트는 워드프레스에서 어떻게 악용되는가?

워드프레스의 서버 측에는 자바스크립트 파일들이 존재하며, 공격자는 서버 보안을 침해해 이 파일들을 표적으로 삼아 악성코드 공격을 시작할 수 있습니다. 워드프레스 자바스크립트 악성코드의 가장 위험한 점은 사용자의 상호작용 없이도 스스로 작동을 시작할 수 있다는 것입니다.

워드프레스 웹사이트를 탐색하는 동안 수많은 자바스크립트(.js) 파일이 방문자의 컴퓨터로 자동 다운로드됩니다. 이 파일들은 브라우저가 콘텐츠를 표시하고, 동작을 수행하고, 온라인 광고를 보여주기 위해 실행합니다. 웹사이트가 마우스 제스처나 클릭 같은 다양한 입력을 감지할 수 있는 것도 바로 이 파일들 덕분이며, 입출력 장치의 입력값이 이 파일들을 통해 웹페이지로 전달되어 후속 동작을 처리하게 됩니다.

웹 개발자는 윤리적일 수도, 비윤리적일 수도 있습니다. 실제로 사이버 범죄자들은 수많은 웹사이트의 자바스크립트 코드를 악용해 악성 함수로 작동하게 만듭니다. 공격자가 자바스크립트 악성코드를 통해 워드프레스 사이트를 감염시키면, 해당 악성 파일들은 방문자 PC로 다운로드되기를 기다리게 됩니다.

아무렇지 않은 사용자가 감염된 웹사이트에 방문하는 순간, 악성 자바스크립트 파일이 자동으로 다운로드됩니다. 이런 공격을 드라이브 바이 어택(drive-by attack)이라고 부릅니다. 이 공격에서 자동으로 다운로드된 악성코드는 시스템 취약점을 스캔하고, 그 취약점을 통해 사용자 PC에 침투합니다. 접근 권한을 확보하면 관리자 권한으로 인터넷에서 파일을 추가로 내려받아 PC를 손상시키거나, 해커에게 정보를 전송해 원격 감시 및 추가 감염을 가능하게 합니다.

관련 글 – 워드프레스 보안을 위한 25가지 필수 수칙

자바스크립트 해킹의 원인은 어떻게 파악하는가?

해킹의 원인을 아는 것은 매우 중요합니다. 원인을 정확히 파악하면 시간과 노력을 절약할 수 있고, 상황에 맞는 올바른 제거 기법을 적용할 수 있기 때문입니다. 이는 워드프레스 사이트에서 악성코드를 효율적으로 제거하고 방문자에게 안전한 탐색 환경을 제공하는 데 도움이 됩니다. 워드프레스 자바스크립트 악성코드 감염의 원인을 조사하는 방법은 다음과 같습니다.

1. 백업 파일에서 악성 자바스크립트 검토

악성 자바스크립트 파일은 이름이 낯설어 워드프레스 설치 환경 속에서 눈에 띄는 경우가 많습니다. 또한 최근에 수정된 날짜를 가지고 있는 경우가 많습니다. Dreamweaver, TextWrangler, BBEdit, Coda 같은 코드 편집기로 해당 파일을 열면 색상 코딩이나 비정상적으로 방대한 코드량을 통해 수상함을 판별할 수 있습니다.

2. 검색 엔진으로 용어와 구문 검색

코드에서 생소한 요소나 함수 이름 등 낯선 용어를 발견했다면, Google이나 DuckDuckGo에서 검색해 결과를 분석함으로써 해당 파일이 감염되었는지 판단할 수 있습니다.

3. 호스팅 cPanel의 Raw Access 로그 확인

해커가 어떤 파일들을 노렸는지 파악할 수 있다면(로그 파일에서 POST 요청문을 주목하세요), 무엇이 침해되었는지 단서를 얻을 수 있습니다. 여기에 역방향 IP 조회(reverse IP lookup)를 활용하면 해커의 위치까지 추적할 수 있습니다.

4. 플러그인과 테마 점검

때때로 오래된 플러그인과 테마가 워드프레스 사이트 보안 침해의 원인이 됩니다. 취약한 영역으로는 구버전 Gravity Forms, Revolution Slider, 테마나 플러그인에 포함된 timthumb.php 스크립트 등이 있습니다. 이러한 요소들은 반드시 최신 버전으로 업데이트하거나 올바르게 설정해야 워드프레스 사이트를 안전하게 지킬 수 있습니다.

5. 데이터베이스 스캔

워드프레스 데이터베이스에는 숨겨진 관리자 계정이나 해킹된 콘텐츠가 숨어 있을 수 있습니다. 데이터베이스를 수정하기 전에는 반드시 안전하고 깨끗한 백업을 먼저 수행하는 것이 좋습니다.

워드프레스 자바스크립트 악성코드 제거에 전문가의 도움이 필요하신가요? 지금 메시지를 남기거나 Astra 상담원과 직접 채팅해 주세요. 기꺼이 도와드리겠습니다.

워드프레스 자바스크립트 악성코드 제거 기법

악성코드는 자바스크립트든 다른 언어든 웹사이트 평판에 심각한 해를 끼칩니다. 검색 엔진이 특정 웹사이트에서 악성코드를 발견하면 해당 사이트는 블랙리스트에 등재될 수 있으며, 이는 비즈니스에 막대한 손실을 초래합니다. 블랙리스트 등재가 웹사이트에 미치는 악영향이 궁금하다면 Astra Security 블로그의 관련 글을 참고하세요.

1. 테마에서 자바스크립트 악성코드 제거

워드프레스는 테마 기능을 통해 추가된 자바스크립트 함수와 파일을 functions.php 파일에 저장합니다. 대표적인 함수가 wp_enqueue_scriptwp_enqueue_style입니다. 해당 코드를 삭제하면 파일에서 이 함수들을 제거할 수 있습니다. 다만 워드프레스 사이트가 차일드 테마(child theme)를 사용 중이라면 상황이 복잡해집니다. 이 경우 wp_dequeue_scriptwp_dequeue_style 함수가 필요하며, 차일드 테마의 functions.php 파일에 다음 코드 블록을 추가해야 합니다:

<?php
add_action('wp_enqueue_scripts', 'remove_script_css');
function remove_script_css() {
    wp_dequeue_style('default-css');
    wp_dequeue_script('default-js');
}
?>

2. 플러그인과 테마 재설치

워드프레스는 테마와 플러그인을 사이트의 핵심 구성 요소로 사용하므로, 프리미엄 플러그인 개발사로부터 플러그인을 재설치하는 것이 좋습니다. 오래되었거나 관리가 중단된 플러그인은 설치하지 마세요. 테마는 새로 다운로드한 후 재설치하면 됩니다. 기존에 수정한 내용이 있다면 백업 파일을 참조해 새 테마 사본에 변경 사항을 다시 적용할 수 있습니다. 오래된 테마를 그대로 업로드하지 말 것을 권장합니다. 해킹된 파일이 눈에 띄지 않을 수 있기 때문입니다.

3. 워드프레스 재설치

위 방법들로 해결되지 않는다면, 워드프레스를 완전히 재설치한 뒤 테마와 플러그인을 다시 설치하여 워드프레스 사이트에 존재하는 자바스크립트 악성코드를 제거해야 합니다. 이 작업은 웹 호스팅 제어판의 원클릭 설치 프로그램을 통해 수행할 수 있습니다. 기존 워드프레스 사이트의 백업을 참조하여 새로 설치한 워드프레스의 wp-config.php 파일에 이전 사이트의 데이터베이스 접속 정보를 설정하면, 새 워드프레스 설치가 기존 데이터베이스에 연결됩니다.

4. PC 스캔

워드프레스 사이트의 백엔드와 프론트엔드를 관리하는 모든 PC는 신뢰할 수 있는 백신 및 악성코드 탐지 도구로 스캔해야 합니다. 앞서 드라이브 바이 어택 메커니즘에서 설명했듯이 악성 자바스크립트 파일이 방문자 컴퓨터로 다운로드되므로, 악성코드 탐지 도구가 워드프레스 사이트에 삽입된 악성코드를 찾아낼 수 있습니다.

5. 보안 플러그인 설치 및 실행

워드프레스 자바스크립트 파일의 문제를 스스로 찾기 어렵다면, 더 이상 임의로 코드를 만지지 말고 보안 플러그인을 사용해 웹사이트를 감사하고 악성 자바스크립트 코드를 점검하는 것이 좋습니다. Shield WordPress Security, Anti-Malware Security and Brute-Force Firewall 같은 보안 플러그인으로 워드프레스 사이트를 감사하고 악성코드 제거 방법을 정의할 수 있습니다. 실제로 Astra도 웹 방화벽 솔루션을 제공하여 워드프레스 사이트가 악성코드를 호스팅하지 않도록 보호할 수 있습니다. Astra는 다양한 보안 기능을 갖추고 있어 경쟁이 치열하고 불안정한 온라인 환경에서 안전을 유지하는 데 효과적입니다.

6. cPanel에서 POST 요청 추적

이 기능이 활성화되어 있지 않다면, 워드프레스 cPanel의 액세스 로그 아카이빙 기능을 통해 활성화할 수 있습니다.

결론

지금까지 워드프레스 자바스크립트 악성코드 제거를 위한 핵심 방법들을 살펴보았습니다. 웹사이트 관리자와 개발자는 이 내용을 숙지하여 워드프레스 사이트를 자바스크립트 악성코드로부터 보호해야 합니다. 관리자는 워드프레스 사이트의 기능을 제거하거나 업데이트하기 전에 반드시 안전하고 깨끗한 백업을 확보해야 합니다. 개발자 또한 보안 코딩 원칙을 준수하여 웹사이트 보안이 침해되지 않도록 노력해야 하며, 의심스러운 동작이 발견되면 적절한 피드백 체계를 통해 즉시 개발팀에 보고해야 합니다. 마지막으로, 워드프레스 사이트를 개발하는 팀은 최신 보안 모범 사례와 최신 자바스크립트 악성코드 동향을 꾸준히 학습하고 따라가야 합니다.