클릭재킹

섬네일 **클릭재킹**(Clickjacking, User Interface redress attack, UI redress attack, UI redressing)은 웹 사용자가 자신이 클릭하고 있다고 인지하는 것과 다른 어떤 것을 클릭하게 속이는 악의적인 기법으로써 잠재적으로 공격자는 비밀 정보를 유출시키거나 그들의 컴퓨터에 대한 제어를 획득할 수 있게 된다.url-status =url-status = dead확인날짜 = 2008-10-08확인날짜 = 2008-10-08 이것은 다양한 웹 브라우저들과 컴퓨팅 플랫폼들에서의 취약점으로서 브라우저 보안 이슈이다. 클릭재킹은 사용자의 인식 없이 실행될 수 있는 임베디드 코드나 스크립트의 형태를 갖는다.url-status =
# 설명
클릭재킹은 보기에 위험하지 않는 특징을 갖는 HTML 웹페이지들이 예상되지 않는 행동을 수행할 수 있음로써 가능해 진다. 클릭재킹 페이지는 감춰진 링크를 사용자가 클릭함으로써 의도되지 않는 행동을 수행하게 속인다. 사용자는 실제로는 감춰진 페이지에서 행동을 수행하지만 자신은 보이는 버튼을 클릭했다고 생각한다. 감춰진 페이지는 인증 페이지일 수 있으며, 공격자는 사용자가 전혀 의도하지 않은 행동을 수행할 수 있다. 사용자가 성실하게 숨겨진 페이지에서 인증을 수행한 경우, 이후 이 행동을 공격자까지 추적하는 방법은 없다.
# 예시
사용자는 비디오에 링크된 이메일을 받을 수 있다. 그러나 아마존의 상품 페이지가 유효한 페이지이며 사용자가 "플레이" 버튼을 누를 때 실제로는 상품의 "구매" 버튼을 누르는 것일 수 있다. 다른 예시들 * 플래시를 통해 사용자가 자신의 웹캠과 마이크를 활성화시키게 속인다. * 사용자가 자신의 SNS 프로필 정보를 공개하게 속인다. * 다른 사람의 트위터를 팔로우하게 속인다.accessdate = 2009-12-28 * 페이스북의 링크를 공유하게 한다.accessdate = 2009-12-29work = BBC News * 페이스북의 "좋아요"를 누르게 한다. * 구글 애드센스 프로그램에서 불법적인 수입을 올린다. 브라우저 간의 호환되지 않는 점으로 인해 이런 공격을 기술적으로 구현하는 것은 어렵지만, BeEF나 메타스플로이트 프로젝트 같은 많은 툴들이 취약한 웹 사이트를 공격하는 거의 완전한 자동화된 익스플로잇을 제공한다. 클릭재킹은 사이트 간 스크립팅 같은 다른 웹 공격에 의해 가능해질 수 있다.accessdate = 2015-03-31author = Krzysztof Kotowicz
## 라이크재킹
라이크재킹은 의도와 다르게 페이스북의 좋아요를 누르게 하는 악의적인 기법이다. url-status = dead
## 커서재킹
커서재킹은 사용자가 인식하는 위치에서 커서를 바꾸기 위한 UI 리드레싱 기법이다.
## 패스워드 관리 공격
만약 현재의 로그인 페이지의 프로토콜이 과거 암호가 저장되었던 프로토콜과 다르다면 브라우저는 자동채우기를 거부하지만, 몇몇 암호 관리자들은 안전하지 못하게 채울 수 있다. 대부분의 브라우저들은 iFrame과 URL 리다이렉션 기반 공격과 여러 디바이스 사이에 사용되는 암호 동기화에 의한 노출된 추가적인 암호를 보호하지 않는다.accessdate = 26 July 2015
# 예방

## 클라이언트 측

### NoScript
클릭재킹은 파이어폭스의 경우 NoScript 애드온을 설치함으로써 보호할 수 있다.
### GuardedID
GuardedID는 인터넷 익스플로러와 파이어폭스url-status = dead에서 합법적인 iFrame의 동작을 방해하는 것 없이 클릭재킹에서 보호해 준다.
### Gazelle
Gazelle은 마이크로소프트 리서치의 인터넷 익스플로러에 기반한 안전한 웹 브라우저 프로젝트이다. 이것은 운영체제와 비슷한 보안 모델을 사용하며 클릭재킹에 대한 제한된 방어를 해준다.accessdate = 2010-01-26
## 서버 측

### 프레임킬러
웹 사이트 소유자들은 그들이 사용자를 서버 측에서 프레임킬러 자바스크립트 스니펫을 포함한 UI 리드레싱으로부터 보호할 수 있다.accessdate = 2008-10-27 이런 자바스크립트 기반 보호는 불행하게도 항상 의지할 수 있는 것은 아니다. 이것은 특히 인터넷 익스플로러에서 그런데, 이러한 종류의 대책은 대상 페이지에 클릭재킹을 포함하는 디자인에 의해 우회할 수 있다.accessdate = 2008-10-27
### X-프레임-옵션
클릭재킹에 대한 부분적인 보호를 제공하는 새로운 HTTP 헤더 `X-Frame-Options`는accessdate = 2010-12-30accessdate = 2010-12-30 2009년에 IE8에서 추가되었고 얼마 후 다른 브라우저들에도 채택되었다.archive-url = https://web.archive.org/web/20090612022948/http://blogs.zdnet.com/security/?p=3541https://developer.mozilla.org/en/The_X-FRAME-OPTIONS_response_header url=https://web.archive.org/web/20101007022651/https://developer.mozilla.org/en/The_X-FRAME-OPTIONS_response_header The X-Frame-Options response header — MDCaccessdate = 2010-01-26url-status = dead 웹사이트 소유자들에 의해 헤더는 선호되는 프레이밍 정책을 갖는다. `DENY`, `SAMEORIGIN`, 또는 `ALLOW-FROM *origin*` 값들은 각각 프레이밍, 외부 사이트에의한 프레이밍을 금지하고 또는 단지 특별한 사이트에 대한 프레이밍만 허용한다. 게다가 어떤 광고 사이트들은 그들의 페이지들의 컨텐트를 프레이밍하는 것을 허용할 목적으로 비표준 `ALLOWALL` 값을 리턴한다.
### 컨텐트 보안 정책
컨텐트 보안 정책의 `frame-ancestors` 지시자는 iframe나 객체들을 사용하는 잠재적으로 위험한 페이지에 의한 컨텐트의 삽입을 허용하거나 금지할 수 있다.날짜 = 2014-07-02 예시 # Disallow embedding. All iframes etc. will be blank, or contain a browser specific error page. Content-Security-Policy: frame-ancestors 'none' # Allow embedding of own content only. Content-Security-Policy: frame-ancestors 'self' # Allow specific origins to embed this content Content-Security-Policy: frame-ancestors example.com wikipedia.org