{{위키데이터 속성 추적}}
[[파일:Clickjacking.png|thumb]]
'''클릭재킹'''(Clickjacking, User Interface redress attack, UI redress attack, UI redressing)은 웹 사용자가 자신이 클릭하고 있다고 인지하는 것과 다른 어떤 것을 클릭하게 속이는 악의적인 기법으로써 잠재적으로 공격자는 비밀 정보를 유출시키거나 그들의 컴퓨터에 대한 제어를 획득할 수 있게 된다.<ref>{{웹 인용
 |url          = http://www.pcworld.idg.com.au/index.php/id;979405561
 |제목           = At Adobe's request, hackers nix 'clickjacking' talk
 |성            = McMillan
 |이름           = Robert
 |날짜           = 17 September 2008
 |웹사이트         = 
 |출판사          = PC World
 |확인날짜         = 2008-10-08
 |archive-date = 2015-07-17
 |archive-url  = https://web.archive.org/web/20150717230102/http://www.pcworld.idg.com.au/article/260609/adobe_request_hackers_nix_clickjacking_talk/
 |url-status   = 
}}</ref><ref>{{뉴스 인용
 |url          = http://infotech.indiatimes.com/quickiearticleshow/3543527.cms
 |제목       = Beware, clickjackers on the prowl
 |성          = Dhawan
 |이름       = Megha
 |날짜       = 29 September 2008
 |웹사이트 = 
 |출판사    = India Times
 |확인날짜 = 2008-10-08
 |archive-date = 2009-07-24
 |archive-url  = https://web.archive.org/web/20090724155021/http://infotech.indiatimes.com/quickiearticleshow/3543527.cms
 |url-status   = dead
}}</ref><ref>{{웹 인용
| url      = http://www.theregister.co.uk/2008/10/07/clickjacking_surveillance_zombie/
| 제목     = Net game turns PC into undercover surveillance zombie
| 성       = Goodin
| 이름     = Dan
| 날짜     = 7 October 2008
| work     = The Register
| 웹사이트 = 
| 출판사   = 
| 확인날짜 = 2008-10-08
}}</ref><ref>{{웹 인용
| url      = http://news.yahoo.com/s/nf/20081008/bs_nf/62355
| 제목     = Web Surfers Face Dangerous New Threat: 'Clickjacking'
| 성       = Lane
| 이름     = Fredrick
| 날짜     = 8 October 2008
| 웹사이트 =
| 출판사   = newsfactor.com
| 확인날짜 = 2008-10-08
}}</ref> 이것은 다양한 웹 브라우저들과 컴퓨팅 플랫폼들에서의 취약점으로서 브라우저 보안 이슈이다. 클릭재킹은 사용자의 인식 없이 실행될 수 있는 임베디드 코드나 스크립트의 형태를 갖는다.<ref>{{웹 인용
| url     = http://www.pcworld.com/businesscenter/article/151677/clickjacking_vulnerability_to_be_revealed_next_month.html
| 제목     = Business Center: Clickjacking Vulnerability to Be Revealed Next Month
| 성     = Lemon
| 이름     = Sumner
| 날짜     = 30 September 2008
| 웹사이트     = 
| 출판사     = 
| 확인날짜     = 2008-10-08
| archive-date     = 2011-06-05
| archive-url     = https://web.archive.org/web/20110605073018/http://www.pcworld.com/businesscenter/article/151677/clickjacking_vulnerability_to_be_revealed_next_month.html
| url-status     = 
}}</ref>
== 설명 ==
클릭재킹은 보기에 위험하지 않는 특징을 갖는 HTML 웹페이지들이 예상되지 않는 행동을 수행할 수 있음로써 가능해 진다.

클릭재킹 페이지는 감춰진 링크를 사용자가 클릭함으로써 의도되지 않는 행동을 수행하게 속인다. 사용자는 실제로는 감춰진 페이지에서 행동을 수행하지만 자신은 보이는 버튼을 클릭했다고 생각한다. 감춰진 페이지는 인증 페이지일 수 있으며, 공격자는 사용자가 전혀 의도하지 않은 행동을 수행할 수 있다. 사용자가 성실하게 숨겨진 페이지에서 인증을 수행한 경우, 이후 이 행동을 공격자까지 추적하는 방법은 없다.

== 예시 ==
사용자는 비디오에 링크된 이메일을 받을 수 있다. 그러나 아마존의 상품 페이지가 유효한 페이지이며 사용자가 "플레이" 버튼을 누를 때 실제로는 상품의 "구매" 버튼을 누르는 것일 수 있다.

다른 예시들
* [[어도비 플래시|플래시]]를 통해 사용자가 자신의 [[웹캠]]과 마이크를 활성화시키게 속인다.
* 사용자가 자신의 SNS 프로필 정보를 공개하게 속인다.
* 다른 사람의 트위터를 팔로우하게 속인다.<ref>{{웹 인용
|url = http://dsandler.org/outgoing/dontclick_orig.html
|제목 = Twitter's "Don't Click" prank, explained (dsandler.org)
|이름 = Daniel
|성   = Sandler
|날짜 = 12 February 2009
|accessdate = 2009-12-28}}</ref>
* 페이스북의 링크를 공유하게 한다.<ref>{{웹 인용
|url = http://blog.kotowicz.net/2009/12/new-facebook-clickjagging-attack-in.html
|제목 = New Facebook clickjacking attack in the wild
|author = Krzysztof Kotowicz
|날짜 = 21 December 2009
|accessdate = 2009-12-29}}</ref><ref>{{뉴스 인용
|url = http://news.bbc.co.uk/2/hi/technology/10224434.stm
|제목 = Facebook "clickjacking" spreads across site
|저자 = BBC
|날짜 = 3 June 2010
|accessdate = 2010-06-03|work = BBC News}}</ref>
* 페이스북의 "좋아요"를 누르게 한다.
* [[애드센스|구글 애드센스]] 프로그램에서 불법적인 수입을 올린다.
브라우저 간의 호환되지 않는 점으로 인해 이런 공격을 기술적으로 구현하는 것은 어렵지만, [[BeEF]]나 [[메타스플로이트 프로젝트]] 같은 많은 툴들이 취약한 웹 사이트를 공격하는 거의 완전한 자동화된 익스플로잇을 제공한다. 클릭재킹은 [[사이트 간 스크립팅]] 같은 다른 웹 공격에 의해 가능해질 수 있다.<ref>{{웹 인용
|url = http://www.exploit-db.com/papers/12987/
|제목 = The Clickjacking meets XSS: a state of art
|출판사 = Exploit DB
|날짜 = 2008-12-26
|accessdate = 2015-03-31}}</ref><ref>{{웹 인용
|url = http://blog.kotowicz.net/2011/03/exploiting-unexploitable-xss-with.html
|제목 = Exploiting the unexploitable XSS with clickjacking
|accessdate = 2015-03-31
|author = Krzysztof Kotowicz}}</ref>

=== 라이크재킹 ===
라이크재킹은 의도와 다르게 페이스북의 좋아요를 누르게 하는 악의적인 기법이다.<ref name="Sophos 9783">
{{웹 인용
|url = http://www.sophos.com/blogs/sophoslabs/?p=9783
|제목 = Facebook Work - "Likejacking"
|성 = Cohen
|이름 = Richard
|출판사 = [[Sophos]]
|날짜 = 31 May 2010
|accessdate = 2010-06-05
|보존url = https://web.archive.org/web/20100604193905/http://www.sophos.com/blogs/sophoslabs/?p=9783
|보존날짜 = 2010-06-04
|url-status = dead
}}
</ref>

=== 커서재킹 ===
커서재킹은 사용자가 인식하는 위치에서 커서를 바꾸기 위한 UI 리드레싱 기법이다.

=== 패스워드 관리 공격 ===
만약 현재의 로그인 페이지의 프로토콜이 과거 암호가 저장되었던 프로토콜과 다르다면 브라우저는 자동채우기를 거부하지만, 몇몇 암호 관리자들은 안전하지 못하게 채울 수 있다. 대부분의 브라우저들은 iFrame과 [[URL 리다이렉션]] 기반 공격과 여러 디바이스 사이에 사용되는 [[암호 동기화]]에 의한 노출된 추가적인 암호를 보호하지 않는다.<ref>{{웹 인용
|제목 = Password Managers: Attacks and Defenses
|url = https://www.usenix.org/system/files/conference/usenixsecurity14/sec14-paper-silver.pdf
|accessdate = 26 July 2015}}</ref>

== 예방 ==

=== 클라이언트 측 ===

==== NoScript ====
클릭재킹은 파이어폭스의 경우 [[NoScript]] 애드온을 설치함으로써 보호할 수 있다.

==== GuardedID ====
GuardedID는 인터넷 익스플로러와 파이어폭스<ref>{{웹 인용
 |url          = http://ha.ckers.org/blog/20090204/clickjacking-and-guardedid/
 |제목       = Clickjacking and GuardedID ha.ckers.org web application security lab
 |author       = Robert Hansen
 |날짜       = 4 February 2009
 |accessdate   = 2011-11-30
 |보존url    = https://archive.today/20120711093803/http://ha.ckers.org/blog/20090204/clickjacking-and-guardedid/
 |보존날짜 = 2012-07-11
 |url-status = dead
}}</ref>에서 합법적인 iFrame의 동작을 방해하는 것 없이 클릭재킹에서 보호해 준다.

==== Gazelle ====
Gazelle은 [[마이크로소프트 리서치]]의 인터넷 익스플로러에 기반한 안전한 웹 브라우저 프로젝트이다. 이것은 운영체제와 비슷한 보안 모델을 사용하며 클릭재킹에 대한 제한된 방어를 해준다.<ref>{{웹 인용
|last = Wang
|first = Helen J.
|last2 = Grier
|first2 = Chris
|last3 = Moschchuk
|first3 = Alexander
|last4 = King
|first4 = Samuel T.|
last5 = Choudhury
|first5 = Piali
|last6 = Venter
|first6 = Herman
|제목 = The Multi-Principal OS Construction of the Gazelle Web Browser
|publisher = 18th Usenix Security Symposium, Montreal, Canada
|날짜 = August 2009
|url = http://research.microsoft.com/en-us/um/people/helenw/papers/gazelleSecurity09.pdf
|accessdate = 2010-01-26}}</ref>

=== 서버 측 ===

==== 프레임킬러 ====
웹 사이트 소유자들은 그들이 사용자를 서버 측에서 프레임킬러 자바스크립트 스니펫을 포함한 UI 리드레싱으로부터 보호할 수 있다.<ref name="Zalevski">{{웹 인용
|url = http://code.google.com/p/browsersec/wiki/Part2#Arbitrary_page_mashups_(UI_redressing)
|제목 = Browser Security Handbook, Part 2, UI Redressing
|author = Michal Zalevski
|날짜 = 10 December 2008
|publisher = Google Inc.
|accessdate = 2008-10-27}}</ref>

이런 자바스크립트 기반 보호는 불행하게도 항상 의지할 수 있는 것은 아니다. 이것은 특히 인터넷 익스플로러<ref name="Zalevski"/>에서 그런데, 이러한 종류의 대책은 대상 페이지에 클릭재킹을 포함하는 디자인에 의해 우회할 수 있다.<ref name="hackademix2">{{웹 인용
|url = http://hackademix.net/2009/01/27/ehy-ie8-i-can-has-some-clickjacking-protection/
|제목 = Hey IE8, I Can Has Some Clickjacking Protection
|author = Giorgio Maone
|날짜 = 27 October 2008
|publisher = hackademix.net
|accessdate = 2008-10-27}}</ref>

==== X-프레임-옵션 ====
클릭재킹에 대한 부분적인 보호를 제공하는 새로운 HTTP 헤더 <code>X-Frame-Options</code>는<ref>{{웹 인용
|url = http://blogs.msdn.com/ie/archive/2009/01/27/ie8-security-part-vii-clickjacking-defenses.aspx
|제목 = IE8 Security Part VII: ClickJacking Defenses
|author = Eric Lawrence
|날짜 = 27 January 2009
|accessdate = 2010-12-30}}</ref><ref>{{웹 인용
|url = http://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combating-clickjacking-with-x-frame-options.aspx
|제목 = Combating ClickJacking With X-Frame-Options
|author = Eric Lawrence
|날짜 = 30 March 2010
|accessdate = 2010-12-30}}</ref> 2009년에 IE8에서 추가되었고 얼마 후 다른 브라우저들에도 채택되었다.<ref>{{웹 인용
|url = http://blogs.zdnet.com/security/?p=3541
|제목 = Apple Safari jumbo patch: 50+ vulnerabilities fixed
|author = Ryan Naraine
|날짜 = 8 June 2009
|accessdate = 2009-06-10
|archive-date = 2009-06-12
|archive-url = https://web.archive.org/web/20090612022948/http://blogs.zdnet.com/security/?p=3541
}}</ref><ref>https://developer.mozilla.org/en/The_X-FRAME-OPTIONS_response_header {{웨이백|url=https://developer.mozilla.org/en/The_X-FRAME-OPTIONS_response_header |date=20101007022651 }} The X-Frame-Options response header&nbsp;— MDC</ref><ref>{{웹 인용
|url = http://blog.chromium.org/2010/01/security-in-depth-new-security-features.html
|제목 = Security in Depth: New Security Features
|author = Adam Barth
|날짜 = 26 January 2010
|accessdate = 2010-01-26}}</ref><ref>{{웹 인용
|url = http://www.opera.com/docs/specs/presto26/#network
|제목 = Web specifications support in Opera Presto 2.6
|날짜 = 12 October 2010
|accessdate = 2012-01-22
|보존url = https://web.archive.org/web/20120114183627/http://www.opera.com/docs/specs/presto26/#network
|보존날짜 = 2012-01-14
|url-status = dead
}}</ref> 웹사이트 소유자들에 의해 헤더는 선호되는 프레이밍 정책을 갖는다. <code>DENY</code>, <code>SAMEORIGIN</code>, 또는 <code>ALLOW-FROM ''origin''</code> 값들은 각각 프레이밍, 외부 사이트에의한 프레이밍을 금지하고 또는 단지 특별한 사이트에 대한 프레이밍만 허용한다. 게다가 어떤 광고 사이트들은 그들의 페이지들의 컨텐트를 프레이밍하는 것을 허용할 목적으로 비표준 <code>ALLOWALL</code> 값을 리턴한다.

==== 컨텐트 보안 정책 ====
[[컨텐트 보안 정책]]의 <code>frame-ancestors</code> 지시자는 iframe나 객체들을 사용하는 잠재적으로 위험한 페이지에 의한 컨텐트의 삽입을 허용하거나 금지할 수 있다.<ref name="Content Security Policy Level 2">{{웹 인용
|url = http://www.w3.org/TR/CSP11/#frame-ancestors-and-frame-options
|제목 = Content Security Policy Level 2
|website = w3.org
|accessdate = 2015-01-29
|날짜 = 2014-07-02}}</ref>

예시
 # Disallow embedding. All iframes etc. will be blank, or contain a browser specific error page.
 Content-Security-Policy: frame-ancestors 'none'

 # Allow embedding of <nowiki>[[same-origin policy|own content]]</nowiki> only.
 Content-Security-Policy: frame-ancestors 'self'

 # Allow specific origins to embed this content
 Content-Security-Policy: frame-ancestors example.com wikipedia.org

== 같이 보기 ==
* [[브라우저 보안]]
* [[인터넷 보안]]
* [[사이트 간 스크립팅]]
* [[피싱]]

== 각주 ==
{{각주|2}}

== 외부 링크 ==
* [http://www.sectheory.com/clickjacking.htm Original paper on clickjacking] {{웨이백|url=http://www.sectheory.com/clickjacking.htm |date=20160602131350 }}

{{악성 소프트웨어}}

[[분류:컴퓨터 문화]]
[[분류:사회공학 (보안)]]
[[분류:웹 취약점 공격]]