클릭재킹이란 무엇이며 이를 방지하는 방법

게시 됨: 2023-01-17

클릭재킹은 최초의 웹사이트가 인터넷에 등장한 이후로 존재해 온 악의적인 웹 익스플로잇입니다. 클릭재커는 한 웹페이지를 다른 웹페이지에 삽입하는 방법을 악용합니다. 기만적인 사회 공학과 결합된 클릭재킹 공격은 터무니없이 높은 성공률을 유지하며 매일 수백만 명의 순진한 피해자를 대상으로 합니다.

세계에서 가장 인기 있는 웹사이트 구축 프레임워크인 WordPress는 클릭재킹의 큰 표적입니다. 기본적으로 WordPress 로그인 페이지 및 관리 영역만 다른 웹 페이지에 포함할 수 없습니다. 사이트의 다른 부분에 삽입하고 싶지 않은 다른 부분이 있는 경우 이를 보호하기 위한 조치를 취해야 합니다.

클릭재킹 또는 사용자 인터페이스 수정 공격에 대한 이 가이드는 클릭재킹이 어떻게 작동하는지 보여주므로 공격자가 WordPress 웹사이트의 콘텐츠를 사용하여 민감한 정보를 훔치거나 사용자를 속여 해를 입히거나 클릭재커.

클릭재킹이란 무엇입니까?

이름에서 알 수 있듯이 클릭재킹은 클릭 및 기타 웹 인터페이스 작업을 하이재킹합니다. 이를 통해 클릭재커는 순진한 피해자를 대신하여 자신의 목적을 위해 작업을 수행할 수 있습니다.

클릭재킹의 기술적 이름은 "인터페이스 수정"입니다. 클릭재커는 합법적인 웹 페이지를 자신의 웹사이트에 삽입하여 "재장식"합니다. 여기에서 자신의 코드는 방문자가 페이지와 상호 작용할 때 일어나는 일을 은밀하게 수정할 수 있습니다. 이는 범죄자가 만든 악성 웹 페이지에 합법적인 웹 사이트 또는 서비스의 로그인 페이지 또는 결제 화면과 같은 합법적인 콘텐츠를 삽입함으로써 이루어집니다. 방문자는 무해해 보이는 버튼을 클릭하거나 텍스트 상자에 일부 정보를 입력하거나 끌어서 놓기 요소를 수행할 수도 있습니다. 그들은 공격자에게 이익이 되는 다른 예상치 못한 작업을 수행하는 숨겨진 인터페이스를 보지 않습니다.

귀하의 콘텐츠로 사이트를 위장하여 클릭재커는 사이트 방문자가 민감한 정보를 제공하거나 맬웨어를 다운로드하는 등 원하지 않는 작업을 수행하도록 속이려고 합니다.

클릭재킹

클릭재킹은 어떻게 작동합니까?

클릭재킹 공격은 <iframe> 또는 <objects> 요소를 사용하여 다른 사이트 페이지 내의 한 웹사이트에서 웹페이지를 로드하는 HTML 기능을 이용합니다.

대부분의 경우 사용자 인터페이스 교정 공격은 사용자가 특정 웹 사이트에 로그인하고 클릭재커의 "재복원된" 사이트와 상호 작용할 때 해당 사이트에 있다고 믿는 것에 의존합니다. 이런 식으로 악의적인 웹 페이지로 유인된 사람은 자신이 은행이나 친숙한 WordPress 사이트와 상호 작용하고 있지 않다는 사실을 깨닫지 못한 채 클릭재커가 원하는 특정 작업을 수행할 수 있습니다.

클릭재킹의 5가지 주요 유형

공격자의 최종 목표에 따라 꽤 많은 유형의 클릭재킹 전략이 있습니다. 상대적으로 무해한 활동(컨텐츠 사이트의 조회수를 높이거나 게시물이나 비디오에서 좋아요를 얻는 것)부터 로그인 정보를 훔치거나 순진한 피해자로부터 돈을 훔치는 것까지 다양합니다.

클릭재킹은 광범위한 악의적인 활동을 수행하는 매우 다재다능한 방법입니다. 클릭재킹은 사이버 공격의 한 형태로 간주되지만 XSS 또는 교차 사이트 스크립팅 공격과 같은 다른 공격을 용이하게 할 수도 있으며 XSRF 또는 교차 사이트 요청 위조 공격을 용이하게 하기 위해 XSS 페이로드를 사용할 수도 있습니다.

다음은 클릭재킹 공격의 가장 일반적인 5가지 유형입니다.

  • 클래식 클릭재킹. 피해자 웹 사이트 또는 서비스를 선택하고 해당 콘텐츠를 사용하여 사용자가 여러 가지 원치 않는 작업을 수행하도록 속입니다.
  • 라이크재킹. 특정 웹 페이지나 비디오에 대한 조회수와 좋아요 수를 늘리는 것을 목표로 하는 클릭재킹의 이전 변형입니다. 다소 무해한 것으로 간주될 수 있으며 요즘에는 거의 볼 수 없습니다.
  • 커서 재킹. 공격자가 실제 커서를 가짜 커서로 교체하여 사용자가 인지하지 못한 채 악의적인 요소를 클릭하도록 속이는 데 사용하는 기술입니다.
  • 쿠키재킹 . 공격자가 사용하는 일반적인 전술은 피해자의 브라우저에 저장된 쿠키를 얻는 것입니다. 대부분의 경우 공격자의 웹 페이지에서 무해해 보이는 끌어서 놓기 작업을 수행하도록 초대된 사용자가 수행합니다.
  • 파일재킹. 공격은 사용자 장치에서 파일을 여는 브라우저의 기능을 악용하여 공격자가 로컬 파일 시스템에 액세스할 수 있도록 합니다. 로컬 파일 시스템 외에도 공격자는 장치 또는 위치의 마이크에 액세스할 수 있습니다.

클릭재킹의 피해자: 소셜 미디어 플랫폼에서 온라인 결제 시스템까지

클릭재킹은 약 10년 전 Facebook 및 Twitter와 같은 주요 소셜 미디어 플랫폼이 다양한 유형의 클릭재킹의 희생양이 되면서 특히 인기를 끌었습니다. 예를 들어 2000년대 후반에 수행된 클릭재킹 공격을 통해 공격자는 피해자를 속여 클릭 한 번으로 전체 Facebook 친구 목록에 스팸을 보내도록 했습니다.

지난 10년 동안 사용자 인터페이스 교정의 인기가 높아짐에 따라 거대 기술 기업은 이러한 유형의 공격으로부터 플랫폼을 보호하기 위해 신속하게 적절한 조치를 취했습니다. 그러나 보안 연구원들은 오늘날에도 대규모 조직에 영향을 미치는 더 많은 취약점을 계속 보고하고 있습니다.

최근에 발견된 가장 눈에 띄는 취약점 중 하나는 Paypal에 영향을 미쳤습니다. 2021년, 위협 연구원들은 공격자가 원클릭 자금 이체를 악용하여 사용자 계정에서 돈을 훔칠 수 있는 Paypal 송금 서비스의 취약점을 발견했습니다. Paypal은 연구원에게 상을 수여하고 상황을 해결할 계획을 발표했습니다.

매주 수요일 받은 편지함으로 배달되는 주간 WordPress 취약성 보고서를 받으십시오.
지금 구독

완벽한 함정: 클릭재킹 공격 설정

모든 클릭재킹 공격에는 대상 웹사이트 또는 피해자 웹사이트 선택, 악성 웹페이지 생성, 대상 사이트 또는 서비스 고객을 유인하는 세 가지 주요 단계가 포함됩니다.

1단계. 대상 웹사이트 선택

대부분의 대규모 조직은 공격자가 고객에 대한 클릭재킹 공격을 수행하지 못하도록 하는 강력한 보안 조치를 시행하므로 해커는 종종 소규모 비즈니스를 대상으로 합니다. WordPress 웹사이트는 소프트웨어가 WordPress 콘텐츠가 공격자의 웹사이트에 삽입되는 것을 방지하는 기본 보안 조치를 시행하지 않기 때문에 범죄자에게 특히 매력적입니다.

워드프레스 로그인 페이지와 관리 대시보드는 예외로 사용되지만 사이트의 나머지 부분을 보호할 책임은 웹사이트 소유자에게 있습니다. 다음 번에 해커가 웹사이트를 공격하는 이유가 궁금하다면 대답은 간단합니다. 특히 WordPress 소프트웨어를 최신 상태로 유지하지 않는 경우 해커가 쉽고 편리하게 사용자를 표적으로 삼을 수 있습니다. WordPress 플러그인 및 테마에서 항상 나타나는 많은 취약점 덕분에 무엇을 설치할지 잘 선택하는 것이 중요합니다. 그런 다음 모든 소프트웨어를 최신 상태로 유지하십시오. 그렇지 않으면 손쉬운 표적이 됩니다.

운영하는 WordPress 웹 사이트의 유형과 게시하는 콘텐츠에 따라 공격자는 웹 사이트의 다른 부분을 대상으로 할 수 있습니다. WordPress 클릭재킹은 종종 웹 양식, WordPress 관리자 외부의 로그인 페이지, 원클릭 체크아웃이 활성화된 WooCommerce 체크아웃 페이지를 대상으로 합니다.

보너스 콘텐츠 받기: 해킹된 웹사이트 정리 체크리스트
여기를 클릭하세요

2단계. 악성 웹 페이지 생성

대상 웹 사이트가 선택되고 클릭재킹에 취약한 것으로 확인되면 공격자는 악의적인 웹 페이지를 만들어 사용자가 특정 작업을 수행하도록 속입니다. WordPress 클릭재킹은 전자상거래 기능을 목표로 할 가능성이 높지만 자격 증명을 훔치고 스팸을 보내는 것은 공격자가 설정한 공통 목표로 남아 있습니다.

클릭재킹의 좋은 예는 귀하가 상을 받았다고 주장하고 귀하를 초대하는 페이지입니다. "내 상 받기" 버튼을 클릭하면 실제로 개인 정보를 제공하거나 구매 또는 송금을 확인하는 것입니다.

3단계. 대상 웹사이트의 사용자를 함정으로 유인

클릭재킹 공격이 성공하려면 공격자는 사용자가 악의적인 웹 페이지를 열도록 하고 이것이 합법적이고 친숙한 사이트의 일부라고 믿게 해야 합니다. 이메일로 링크를 보내거나 공격자가 이전에 해킹한 감염된 타사 웹 사이트에서 사용자를 리디렉션하는 등 다양한 방법으로 이를 수행할 수 있습니다.

비정상적이거나 예기치 않거나 의심스러운 이메일, 텍스트 또는 채팅의 링크를 클릭하지 않으면 공격자의 악의적인 웹 페이지가 완벽하게 합법적인 것처럼 보이고 의심을 일으키지 않더라도 클릭재킹 시도가 성공할 가능성은 매우 낮습니다. 최신 브라우저는 또한 클릭재킹에 대한 광범위한 보호 기능을 사용하며 경계와 현재 브라우저 기술의 조합으로 UI 교정 공격의 성공률을 크게 줄일 수 있습니다.

클릭재킹의 피해자가 되지 않는 방법

모든 유형의 클릭재킹으로부터 자신을 보호하려면 의심스러운 이메일, 광고 및 웹사이트 링크를 열지 마십시오. 확인되지 않은 소스에서 소프트웨어를 설치하지 마십시오. 클릭재킹은 기만적인 사회 공학 관행에 의존하기 때문에 이를 발견하는 방법을 배우는 것이 최선의 방어책입니다. 그 외에도 모든 브라우저와 운영 체제를 최신 버전으로 업데이트해야 합니다. 또한 강력한 브라우저 보안 확장 프로그램을 설치하고 최신 바이러스 백신 소프트웨어를 사용하여 클릭재킹 및 기타 위험한 사이버 공격의 희생양이 되지 않도록 할 수 있습니다.

링크를 클릭하라는 초대를 의심하십시오

클릭재커는 종종 이메일, SMS 및 메시징 앱을 통해 잠재적 피해자에게 링크를 보냅니다. 그러한 메시지를 요청하거나 트리거하기 위해 아무 조치도 취하지 않았다면 메시지의 출처를 살펴보십시오. 클릭재커는 종종 Paypal과 같은 합법적인 사이트와 유사한 도메인, 하위 도메인 및 계정 이름에서 메시지를 보냅니다. 이러한 의심스러운 발신자를 만드는 작은 차이점을 감지할 수 있는지 확인하십시오.

  1. [이메일 보호]
  2. http://paypaI.com

첫 번째 경우 "paypal"은 기본 최상위 도메인(이 경우 "app1.com")에 누구나 연결할 수 있는 하위 도메인입니다. 페이팔이 아닙니다.

두 번째 경우에는 소문자 'l'이 대문자 'I'로 대체되었으며 이는 많은 일반적인 글꼴에서 동일합니다. 클릭재커는 사람들이 합법적인 발신자가 보낸 것으로 믿도록 속이기 위해 이와 같이 약간 철자가 틀린 도메인을 등록하는 경우가 많습니다.

이메일 헤더를 보고 메시지의 출처를 확인할 수도 있습니다. 금융 기관 및 기타 중요한 계정에서 사용하는 도메인과 이메일 주소를 숙지하십시오. 그들은 또한 귀하에게 연락하거나 연락하지 않는 방법과 자신을 식별하는 방법을 설명하는 정책을 가질 것입니다. 이러한 매개 변수를 벗어나는 통신을 신뢰하지 마십시오. 미안한 것보다 안전한 것이 낫습니다!

클릭재킹 방지 브라우저 확장 프로그램 설치

브라우저에 내장된 보안 기능 외에도 클릭재킹 방지 브라우저 확장 프로그램은 클릭재킹 및 교차 사이트 스크립팅 공격에 대해 더 높은 수준의 보호를 제공할 수 있습니다. NoScript는 Google Chrome, Mozilla Firefox 및 Microsoft Edge에서 지원하는 가장 인기 있는 크로스 브라우저 확장 프로그램입니다. JS Blocker는 Safari 사용자를 위한 NoScript의 훌륭한 대안입니다.

클릭재킹으로부터 WordPress 웹사이트를 보호하는 3단계

WordPress는 기본적으로 관리자 대시보드와 로그인 페이지를 클릭재킹으로부터 보호하지만 웹사이트의 다른 모든 영역에는 추가 보호가 필요합니다. 오늘날 대부분의 웹사이트에 대해 수행할 수 있는 공격의 수는 사이트 소유자에게 보안을 최우선 순위로 만듭니다.

다행히 WordPress 클릭재킹으로부터 자신을 보호할 수 있는 여러 가지 방법이 있습니다. , 모든 브라우저에서 지원되도록 여러 접근 방식을 결합해야 합니다. 또한 보안 조치를 조합하면 UI 교정 공격이 용이하게 할 수 있는 모든 유형의 악의적인 활동으로부터 웹 사이트의 콘텐츠를 보호하는 데 도움이 됩니다.

클릭재킹으로부터 WordPress 웹사이트를 보호하기 위해 취할 수 있는 세 가지 큰 단계가 있습니다.

  • X-Frame-Options 헤더 를 설정하여 신뢰할 수 없는 타사 리소스의 프레임에 웹 사이트 콘텐츠를 로드하지 못하도록 합니다.
  • 콘텐츠 보안 정책(CSP) 프레임 조상 지시문 을 구성하여 웹 사이트의 페이지를 프레임에 포함할 수 있는 웹 사이트를 지정합니다. (일반적으로 "없음"으로 설정할 수 있습니다.)
  • Set-Cookie 헤더의 SameSite 쿠키 속성을 사용하여 클릭재킹 및 CSRF(교차 사이트 요청 위조) 시도를 모두 방어합니다.

.htaccess를 사용하여 WordPress용 HTTP 응답 헤더 구성

응답 헤더는 사이트와 방문자의 브라우저 간의 클라이언트-서버 통신을 위한 특정 변수를 정의하는 데 사용되는 HTTP 헤더입니다. 방문자에게는 보이지 않습니다. X-Frame-Options, Content Security Policy 및 Set-Cookie는 모두 HTTP 응답 헤더의 예입니다.

특정 WordPress 플러그인을 사용하여 WordPress 웹사이트에서 HTTP 응답 헤더를 구성할 수 있지만 가장 쉬운 방법은 로컬 .htaccess 파일을 사용하는 것입니다. (여기서는 서버 환경이 Apache 또는 Litespeed를 사용하여 HTTP 요청을 제공한다고 가정합니다.) 웹사이트 루트 디렉토리의 .htaccess 파일에 지정된 헤더 구성은 웹사이트의 모든 페이지에 적용됩니다.

mod_headers Apache 모듈을 사용하면 헤더 세트헤더 추가 문을 사용하여 .htaccess에서 응답 헤더를 구성할 수 있습니다. 웹 서버의 전역 구성에서 특정 헤더를 구성할 수 있으므로 헤더 추가 를 사용하여 기존 구성을 바꾸는 대신 구성된 값을 기존 응답 헤더에 병합하는 것이 좋습니다.

호스팅 제공업체는 기본적으로 모든 웹사이트에 대해 특정 HTTP 응답 헤더를 구성할 수 있으므로 문제를 방지하려면 .htaccess를 변경하기 전에 호스팅 제공업체에 문의하는 것이 가장 좋습니다.

X-Frame-Options 헤더 설정

X-Frame-Options 헤더는 프레임에서 웹 페이지를 렌더링할 수 있는지 여부와 이를 수행할 수 있는 리소스 목록을 정의합니다. X-Frame-Options에는 DENY 및 SAMEORIGIN의 두 가지 지시어가 있습니다. 이전에 사용되었던 ALLOW-FROM 지시문은 이제 더 이상 사용되지 않습니다.

DENY 값은 웹사이트가 웹사이트의 콘텐츠를 프레임에 포함하는 것을 효과적으로 방지합니다. X-Frame-Options를 SAMEORIGIN으로 설정하면 요청이 웹사이트의 다른 페이지에서 오는 경우 콘텐츠 프레이밍이 허용됩니다.

WordPress 웹 사이트에서 X-Frame-Options 헤더를 구성하려면 WordPress 설치 디렉터리의 .htaccess 파일에 다음 줄 중 하나를 추가합니다. (설정 옵션이 사용되오니 참고 바랍니다.)

 헤더 세트 X-Frame-Options "DENY"
 헤더 세트 X-Frame-Options "SAMEORIGIN"

최신 브라우저는 X-Frame-Options에 대한 부분적인 지원만 포함하거나 CSP 프레임 조상 지시문을 위해 X-Frame-Options를 더 이상 사용하지 않지만 WordPress 웹 사이트에서 구성하면 이전 브라우저를 보호할 수 있습니다.

콘텐츠 보안 정책 Frame-Ancestor 지시문 구성

콘텐츠 보안 정책 응답 헤더는 클릭재킹, 교차 사이트 스크립팅, 요청 위조, 패킷 스니핑, 데이터 주입 공격을 비롯한 다양한 공격을 완화하는 데 도움이 되는 강력한 보안 수단입니다. 콘텐츠 보안 정책은 모든 최신 브라우저에서 지원됩니다.

콘텐츠 보안 정책의 frame-ancestors 지시문을 none 또는 self 로 설정하여 콘텐츠 프레이밍을 거부하거나 동일한 웹사이트의 범위로 사용을 제한하거나 콘텐츠 유형 목록과 함께 신뢰할 수 있는 웹사이트 목록을 지정할 수 있습니다. 각 캔 프레임.

.htaccess에 아래 줄을 추가하면 현재 웹사이트에 대한 모든 유형의 콘텐츠 프레이밍이 제한됩니다.

 헤더 세트 Content-Security-Policy "frame-ancestors 'self'”

다음 변형에서는 HTTPS를 사용해야 합니다.

 헤더 세트 Content-Security-Policy “frame-ancestors 'self' https://mywpsite.com" 

SameSite 특성을 사용하여 Set-Cookie 헤더 추가

Set-Cookie 응답 헤더는 서버에서 브라우저로 쿠키를 전송하는 데 사용됩니다. SameSite 속성을 구성하면 쿠키 사용을 현재 웹사이트로 제한할 수 있습니다. 이를 통해 사용자가 대상 웹 사이트 및 사이트 간 요청 위조에서 인증을 받아야 하는 클릭재킹 공격으로부터 보호할 수 있습니다.

SameSite를 엄격하게 설정하면 사용자가 대상 리소스에서 인증된 경우에도 프레임 내에서 대상 웹 사이트에 대한 요청이 이루어진 경우 세션 쿠키가 전송되지 않습니다. 측정만으로는 모든 유형의 클릭재킹 및 교차 스크립트 위조 공격을 완화할 수 없습니다.

WordPress 사이트에서 Set Cookie 헤더의 SameSite 속성을 구현하려면 .htaccess 파일에 다음 행을 추가하십시오.

 헤더 세트 Set-Cookie ^(.*)$ "$1; SameSite=Strict; Secure 

간단한 클릭재킹 테스트

간단한 HTML 페이지를 생성하여 웹 사이트의 콘텐츠를 다른 리소스의 프레임에 로드할 수 있는지 여부를 확인할 수 있습니다. OWASP에서 제공하는 아래 코드로 HTML 파일을 생성하고 브라우저에서 엽니다. 프레임에 포함된 웹 페이지가 표시되지 않으면 콘텐츠 프레이밍이 성공적으로 제한된 것입니다.

콘텐츠 프레이밍을 완전히 비활성화하지 않은 경우 소유한 다른 웹사이트에 페이지를 업로드하는 것이 가장 좋습니다. 이 경우 테스트 중인 동일한 웹 사이트 중 하나를 만들 수 있습니다.

<html>
<head>
<title>Clickjacking Test</title>
</head>
<body>
<iframe src="https://mywpsite.com/some-page" width="500" height="500"></iframe>
</body>
</html>

iThemes Security Pro로 WordPress 사이트에서 클릭재킹 및 기타 사이버 공격 방지

사용자 인터페이스 수정이라고도 하는 클릭재킹은 사용자가 원하지 않는 작업을 수행하도록 속이기 위해 다른 웹 페이지 내에서 웹 페이지를 로드하는 기능을 악용합니다. 워드프레스 클릭재킹은 워드프레스 로그인 페이지와 관리자 대시보드 이외의 웹 페이지를 보호하는 기본 제공 보호 기능이 없기 때문에 매우 보편화되었습니다.

X-FRAME-OPTIONS, Content Security Policy 및 Set-Cookie와 같은 HTTP 응답 헤더를 사용하여 웹 사이트의 콘텐츠를 프레이밍하는 다른 사람의 능력을 제한하여 클릭재킹으로부터 자신을 보호하십시오. WordPress 설치 디렉터리에 있는 로컬 .htaccess 파일을 사용하면 이러한 보안 정책을 사이트 전체에 쉽게 적용할 수 있습니다.

클릭재킹은 활성 보안 위협으로 남아 있으며 요청 위조와 결합된 사이트 간 스크립팅은 종종 함께 진행됩니다. 워드프레스 웹사이트 보안의 모든 측면에 신중하게 접근하여 이와 같은 일반적인 보안 위협으로부터 자신을 보호하십시오.

iThemes Security Pro는 WordPress 사이트의 가장 취약한 영역을 보호하는 30가지 이상의 방법을 제공하여 악의적인 행위자가 사용하는 광범위한 현대적이고 정교한 전술로부터 사이트를 보호합니다. 강력한 취약성 검색, 암호 없는 인증 및 파일 무결성 모니터링을 통해 공격 표면을 크게 줄일 수 있습니다.

BackupBuddy 및 iThemes Sync Pro는 WordPress 웹사이트를 정기적으로 백업하고 고급 가동 시간 모니터링 및 SEO 분석을 제공하는 데 도움이 됩니다.

iThemes는 WordPress 커뮤니티의 최신 보안 위협 및 뉴스에 대한 최신 정보를 제공합니다. WordPress를 처음 사용하는 경우 iThemes 무료 WordPress 교육은 훌륭한 시작을 위해 정확히 필요한 것일 수 있습니다.