개요

탭 내빙(tabnabbing)에 대해서 정리해둔다.

탭 내빙 개요

  • 탭내빙은 피싱공격중의 하나이다. 탭내빙(Tabnabbing)이란 여러 탭을 이용하여 웹 페이지를 보고있는 사용자가 눈치채지 못하는 사이 사용자가 원래 보고 있던 탭(부모 탭)을 변조하는 공격기법으로 이를 이용하여 실제 사이트와 유사한 피싱 페이지로 리다이렉트 할 수 있는 공격이다.
  • 탭내빙(Tabnabbing)이란 HTML 문서 내에서 링크(target이 _blank인 태그)를 클릭했을 때 새롭게 열린 탭(또는 페이지)에서 기존의 문서인 location을 피싱 사이트로 변경해 정보를 탈취하는 공격 기술을 말한다.
  • 이 공격은 메일이나 SNS와 같은 오픈 커뮤니티에서 사용 될 수 있다. 사용자의 클릭을 유도하여 웹 브라우저의 탭을 피싱 사이트로 이동시키는 기존의 피싱 기법과 달리 탭내빙(Tabnabbing)은 사용자의 페이지에서 아무런 행위를 하지 않아도 사용자의 눈을 피해 열린 탭 중 하나를 피싱 페이지로 로드한다. 😮

  • 예를 들면 은행의 뱅킹 사이트에서는 보안을 높이기 위해, 잠시 사용자의 액션이 없으면 재로그인을 요구하도록 설정되어 있는 경우가 많다. 그러한 세션이 만료되었음을 알리는 화면이 탭 내빙에 사용될 수 있습니다. 사용자가 로그인하고 있는 서비스와 탭 내빙 화면이 일치하는 확률은 낮다. 그 점을 인정하면서도 Raskin씨는, 타이밍 어택이나 이미지 로드 등을 사용해 타겟이 되는 유저가 서비스에 로그인하고 있는지를 확인하는 수법도 있다고 지적하고 있다. (아마 XSLeaks 테크닉을 말하는 것 같다.)

공격 사례

  1. 피해자가 악성 사이트에 접속한다. 그리고 그대로 다른 탭을 열어 다른 웹 사이트를 브라우징한다 (악성 사이트 탭은 열어둔 채로 방치하고 있는 상태다).
  2. 방치된 상태를 감지한 악성 사이트(탭)는 피싱 페이지로 전환한다 (URL은 악성 사이트 URL이지만 외형이나 탭 이름 등은 정상 사이트를 사칭한다).
  3. 피싱 페이지의 탭으로 돌아온 피해자가 스푸핑을 인지하지 못하고 피싱에 걸려든다.

페이지 전환 자체는 악성 사이트 내에서 완료된다.

대응방법

rel="noopener noreferrer" 를 앵커태그의 속성으로 추가한다.

noopenner

noreferer

참고

  • Tabnabbing 기법을 통한 계정 탈취: https://www.igloo.co.kr/security-information/tabnabbing-%EA%B8%B0%EB%B2%95%EC%9D%84-%ED%86%B5%ED%95%9C-%EA%B3%84%EC%A0%95-%ED%83%88%EC%B7%A8/
  • rel=”noopener noreferrer”: https://velog.io/@dosomething/relnoopener-noreferrer
  • https://news.mynavi.jp/techplus/article/20100603-a026/