탭내빙 Tabnabbing

김승훈·2020년 9월 22일
0

탭내빙(Tabnabbing)이란 HTML 문서 내에서 링크(target이 _blank인 태그)를 클릭했을 때 새롭게 열린 탭(또는 페이지)에서 기존의 문서인 location을 피싱 사이트로 변경해 정보를 탈취하는 공격 기술을 말한다.

이 공격은 메일이나 SNS와 같은 오픈 커뮤니티에서 사용 될 수 있다. 사용자의 클릭을 유도하여 웹 브라우저의 탭을 피싱 사이트로 이동시키는 기존의 피싱 기법과 달리 탭내빙(Tabnabbing)은 사용자의 페이지에서 아무런 행위를 하지 않아도 사용자의 눈을 피해 열린 탭 중 하나를 피싱 페이지로 로드한다.

대응방안

1) noopener 속성 추가

*noopener 속성은 헤더와 함께 참조자 정보를 보내지 않도록 하기 때문에 window.opener를 무효화 한다. 따라서 noopener 속성이 부여된 링크를 통해 열린 페이지는 window.opener를 통해 부모 탭을 참조할 수 없고, location과 같은 자바스크립트 요청을 거부한다.

<a href="http://example.com" target=_blank rel="noopener"/></a>

2) noreferrer 추가

noreferrer를 지정하여 noopener와 유사한 동작을 구현할 수 있는데, noreferrer는 링크를 통해 접근 시 포함된 referrer를 전송하지 않도록 하여 링크를 클릭하더라도 referrer 정보가 유출되지 않는다.

<a href="http://example.com" target=_blank rel="noopener"/></a>

3) nofollow 추가

nofollow는 사용 중인 브라우저에서 문서에 포함된 링크로 따라가지 않도록 지정하는 속성으로 모든 링크를 따라가지 않게 하려면 meta 요소에 nofollow를 지정하고 개별적으로 지정하려면 href 해당 요소에 지정한다.

 <a href="http://example.com" target=_blank rel="nofollow"></a>

출처 - 이글루시큐리티

0개의 댓글