Google도 당한다! 요즘 해커들의 해킹 기법들

Nochi·2025년 1월 16일
5

사건 사고들

목록 보기
5/5
post-thumbnail

평소에 해킹 뉴스들에 관심이 많아서 해킹 관련된 이슈를 다루는 유튜브 채널인 Normaltic Place에서 SEO Poisoning에 대해서 다루게 되었고, 생각보다 심각한 현상 같아서 다루게 블로그에 포스팅하게 되었습니다. 웹 프로덕트를 만드는 모든 분들이 한번씩 알면 좋지 않을까 해서 글을 쓰게 되었습니다!

저는 프론트엔드 개발자로서 SEO에 대한 깊은 관심을 가지고 있습니다. 제가 만든 프로덕트가 관심 있는 사람들에게 더 많이 보여지길 바라는 마음에 SEO를 깊이 공부하며 다양한 실험과 시도를 해왔습니다.

이렇게 검색 엔진 봇이 웹 페이지를 읽는 방식과 높은 점수를 받을 수 있는 요소를 체계적으로 공부한 성과로 제가 개선한 SEO 최적화 덕분에 프로덕트가 검색 결과 상단에 노출되었습니다.

하지만, SEO 최적화에 대한 기술이 누군가에 의해 악용되어 부정적인 목적에 사용될 수 있다는 사실도 깨달았습니다. 그리하여 한 번쯤 알아두면 좋을 SEO 관련 해킹 기법들에 대해서 소개해볼까 합니다.

SEO Poisoning

: 검색 엔진 최적화(SEO)를 악용하여 악성 웹사이트를 검색 결과 상위에 노출시키는 해킹 기법입니다.

한 때 이슈였던 구글 검색창에 카카오톡 다운로드를 검색하면 최상단에 아래와 같이 나왔습니다.

현재는 접근이 불가합니다. (해당 사이트 url: http://kakaotalk.new-version.download/)
(출처: https://www.youtube.com/watch?v=qBiBcKOUzhQ)

일반적으로 카카오톡을 다운로드하기 위해 검색 결과에서 가장 위에 있는 항목을 클릭할 가능성이 높습니다.

이 사이트는 카카오톡 다운로드 기능을 제공하며, 정상적인 카카오톡 프로그램이 다운로드됩니다. 프로그램이 정상적으로 작동하기 때문에, 사용자는 문제가 없다고 착각할 수 있습니다. 하지만 이러한 사이트 중 일부는 정상적인 사이트처럼 위장하는 경우가 있습니다.

특정 조건, 특정 시간, 특정 컴퓨터에서 악성 코드가 포함된 프로그램을 다운로드하도록 변경하기 위해 현재 사이트가 구글 검색에 걸리지 않도록 정상적인 척 위장하고 있을 가능성도 있습니다.

때를 기다리며 악성 코드를 포함한 프로그램을 배포하는 이러한 공격 기법은 SEO Poisoning 해킹 기법이라고 합니다.

주요 특징

  • 검색 결과 조작:
    • 인기 있는 키워드나 최근 화제성 높은 키워드를 활용해 악성 사이트를 상위에 노출.
    • 예: "무료 영화 다운로드", "긴급 코로나 정보", "인기 소프트웨어 다운로드" 등의 키워드 악용.
  • 정상 사이트 위장:
    • 외관상 신뢰할 수 있는 사이트처럼 보이게 디자인하여 사용자를 속임.
    • 일부 사이트는 정상적인 기능을 제공하다가 특정 조건에서 악성 행위를 수행.

Malvertising (멀버타이징)

: 악성 소프트웨어(Malware)와 광고(Advertising)의 합성어로, 합법적인 온라인 광고 네트워크를 악용하여 악성 소프트웨어를 배포하는 행위를 의미입니다.

뉴스

일반적으로 사용자라면 구글 검색 결과에 표시되는 광고를 신뢰할 가능성이 높습니다.

이 광고를 클릭하면 정상적인 사이트로 이동하거나, 처음에는 전혀 문제가 없는 서비스를 제공하는 것처럼 보일 수 있습니다. 하지만 이러한 광고 중 일부는 악성코드를 배포하기 위해 광고 네트워크를 악용하여 정상적인 광고로 위장한 뒤, 악의적인 목적을 달성하려는 공격자의 의도일 수 있습니다.

이처럼 광고를 통해 악성코드를 배포하거나, 사용자 데이터를 탈취하는 행위를 멀버타이징 공격이라고 합니다.

주요 특징

  • 광고 네트워크 악용: 공격자는 합법적인 광고 네트워크에 악성 광고를 삽입해 신뢰할 수 있는 사이트에서도 피해를 발생.
  • 사용자 감염 경로: 사용자가 광고를 클릭하거나 단순히 광고가 노출되는 페이지만 방문해도 악성 코드에 감염.

Typosquatting (타이포스쿼팅)

: 사용자가 잘못 입력한 웹사이트 주소나 키워드를 악용하여 악성 사이트로 유도하거나 사기를 수행하는 기법입니다. 이는 주로 인기 있는 도메인의 철자 오류를 이용하여 트래픽을 가로채거나 악성 활동을 수행합니다.

뉴스

일반적으로 사용자가 주소창에 직접 google.com을 방문하려 했지만 실수로 goolge.com을 입력하는 경우입니다. 이처럼 철자가 잘못된 URL을 입력했을 때, 사용자는 비슷하게 보이는 웹사이트에 접속하게 됩니다.

이런 유사 도메인을 가진 웹사이트는 정상적인 사이트처럼 위장하여 사용자로 하여금 의심 없이 이용하도록 만듭니다. 하지만 특정 상황에서는 악성코드가 포함된 파일을 배포하거나, 피싱 페이지로 유도하여 사용자 정보를 탈취할 수도 있습니다.

타이포스쿼팅은 공격자가 유명 도메인의 철자 오류나 유사 이름을 선점하여 사용자로부터 민감 정보를 탈취하거나 악성코드를 배포하는 기법입니다. 특히, 이러한 사이트는 외형적으로 정상 웹사이트처럼 보이기 때문에 사용자가 문제를 인지하기 어렵습니다.

주요 특징

  1. 철자 오류 활용: 사용자가 도메인 이름을 입력할 때 실수하는 경우를 노림.
    • 예: goolge.com (Google의 오타), amzon.com (Amazon의 오타)

NPM 생태계의 타이포스쿼팅

: 패키지 관리의 실수와 신뢰 체계를 악용하는 공격으로 오타를 낼 것을 예상하고, 이걸로 악성코드가 포함된 라이브러리를 만들어 두는 경우도 있습니다. 이걸로 프로그램을 만들 경우 악성코드 프로그램이 퍼지는 문제가 발생합니다.

뉴스

어느 날, 개발자 A는 새로운 프로젝트를 시작하며 자주 사용하던 axios 패키지를 설치하려다가 실수로 aaxios라는 이름의 패키지를 설치하게 됩니다.

설치가 완료된 후 A는 이상 없이 코드를 실행했지만, 알 수 없는 이유로 프로젝트가 점점 느려지고, 팀 내 다른 개발자들에게도 문제가 발생 할 수 있습니다. 정상적인 패키지를 가장하여 악성 코드로, 팀 내 환경에 몰래 악성 스크립트를 배포하고 데이터를 외부 서버로 유출시킬 수 있습니다.

이처럼 오픈소스 레지스트리(NPM)는 누구나 패키지를 업로드할 수 있어 악성 패키지가 유포되기 쉬운 구조를 가지고 있습니다. 공격자들은 유명 패키지와 비슷한 이름을 가진 패키지를 미리 등록하거나, 의존성 체인을 통해 사용자 모르게 악성 코드를 설치하도록 유도합니다.

주요 특징

  • 유사한 이름의 패키지 등록:
    • 인기 있는 패키지 이름과 유사한 이름으로 악성 패키지를 등록.
    • 예: lodashlodahs, reactrecat.
  • 의존성 관리 착오 노림:
    • 프로젝트 의존성을 수동으로 추가하거나 복사-붙여넣기할 때 발생하는 실수.

피해 사례

  1. event-stream 사건:
    • 인기 패키지 event-stream의 관리 권한이 탈취된 후, 내부에 암호화폐 지갑을 탈취하는 악성코드가 포함된 사례.

(출처: https://www.youtube.com/watch?v=qBiBcKOUzhQ)

Clickjacking(클릭재킹)

: 사용자로 하여금 의도치 않은 행동을 수행하도록 속이는 해킹 기법입니다. 공격자는 iframe이나 투명한 레이어를 활용해 정상 웹사이트를 가리는 방식으로 사용자를 속이고, 악의적인 행동을 유도합니다.

뉴스

만약 일반 사용자가 특정 웹사이트의 다운로드 버튼을 클릭할 때, 이 버튼 위에는 투명한 레이어로 숨겨진 악성 버튼이 겹쳐져 있을 수 있습니다. 사용자는 정상적인 동작을 수행했다고 생각하지만, 실제로는 악성 사이트로 리디렉션되거나, 개인 정보를 입력하거나, 승인하지 않은 결제를 수행하게 됩니다.

클릭재킹은 공격자가 iframe을 사용하여 정상 웹사이트를 자신의 악성 웹사이트에 포함시키고, 정상적인 UI를 위장하여 사용자가 의심하지 못하게 만듭니다. 특히, 외형적으로 정상 사이트처럼 보이기 때문에 사용자는 공격 사실을 쉽게 알아차리지 못합니다.

이 기법은 피싱, 악성코드 배포, 소셜 미디어 오용 등 다양한 목적으로 악용될 수 있습니다. 이를 방지하려면 보안 헤더(X-Frame-Options, Content Security Policy)를 설정하고, 중요 버튼에 클릭 확인 창을 추가하는 등의 방어책이 필요합니다.

주요 특징

  • 공격자가 iframe을 사용해 정상 웹사이트를 자신의 사이트에 포함.
  • 사용자가 iframe을 통해 정상 사이트에 접속하게 만들지만, 공격자가 추가로 숨겨진 버튼이나 링크를 겹쳐 배치.

인터넷 세계에서 일어나는 해킹 기법들을 보며..

2년 전, 회사에서 만든 웹 사이트에 유저가 평소보다 50배 정도 더 많이 들어온 적이 있었습니다. 처음에는 유저가 많이 들어와서 알고리즘을 탄 줄 알고 좋아했지만, Vercel의 Web Analytics를 통해 유저들의 유입 경로를 보니, 모르는 사이트에서 회사에서 만든 페이지가 보여지고 있었습니다.

해당 페이지에서는 버튼을 클릭할 경우, 다른 주소로 리다이렉트 시켜버리는 악성 웹 사이트였습니다. 그 웹 사이트는 iframe으로 웹 사이트를 훔친 뒤 “Clickjacking(클릭재킹)”이라는 해킹 기법으로 유저들을 악성 웹사이트로 리다이렉션 시키고 있었습니다. 그 이후, 해킹에 대해 관심을 가지게 되었고, 꾸준히 해킹 관련된 유튜브에서 인사이트를 얻곤 합니다.

현재 위에 명시된 사건들 외에도 봇만 속이는 클로킹이나 다양한 해킹 기법들이 난무하고 있습니다. 우리는 어떤 검색이든지 결과가 조작되어 잘못된 페이지를 안내할 수 있는 것을 알게 되었습니다. 언젠가는 구글의 검색 결과 또한 신뢰할 수 없을지도 모릅니다. 구글도 노력하고 있겠지만 악의적인 해커들은 다양한 방법으로 구글까지도 속이려 들고 있습니다.

저희는 앞으로 해킹을 당하지 않기 위해 아래와 같은 상황이 되면 반드시 도메인 주소를 항상 확인해야 합니다.

  • 프로그램 다운로드 할 때
  • 로그인 할 때

현재 구글 또한 AI를 이용하거나 신고가 들어오면 악성 페이지를 영구제지 하고 있습니다. 그렇지만, 공격자들은 늘 방법을 찾아내 공격을 할 것이니 방심하지 않았으면 좋겠습니다.


해당 포스팅은 현재 심각해지고 있는 해킹 기법, 어떻게 검색 결과를 조작할까? 에 영감을 받아 많은 내용을 인용하여 만들었습니다. 보안에 관심 있으신 분들은 해당 유튜브를 보면 좋을 것 같습니다!

0개의 댓글

관련 채용 정보