Clickjacking

1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅:

Clickjacking - это Π°Ρ‚Π°ΠΊΠ° Π½Π° основС интСрфСйса, Π² Ρ…ΠΎΠ΄Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΠ±ΠΌΠ°Π½ΠΎΠΌ Π·Π°ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π° Π½Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Π½Π° скрытый сайт ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, Π½Π°ΠΆΠ°Π² Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π½Π° сайтС-ΠΎΠ±ΠΌΠ°Π½ΠΊΠ΅.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Π’Π΅Π±-ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Π»ΠΎΠΆΠ½Ρ‹ΠΉ Π²Π΅Π±-сайт ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ cookie. НСосознанно Π½Π° этот Π»ΠΎΠΆΠ½Ρ‹ΠΉ Π²Π΅Π±-сайт накладываСтся ΠΊΠ½ΠΎΠΏΠΊΠ°, которая, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, удаляСт ΠΈΡ… Π΄Π²ΡƒΡ…Ρ„Π°ΠΊΡ‚ΠΎΡ€Π½Ρ‹ΠΉ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ с уязвимого Π²Π΅Π±-сайта. Π­Ρ‚Π° Π°Ρ‚Π°ΠΊΠ° отличаСтся ΠΎΡ‚ CSRF-Π°Ρ‚Π°ΠΊΠΈ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ трСбуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ дСйствиС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ CSRF-Π°Ρ‚Π°ΠΊΠ° зависит ΠΎΡ‚ ΠΏΠΎΠ΄Π΄Π΅Π»ΠΊΠΈ всСго запроса Π±Π΅Π· Π²Π΅Π΄ΠΎΠΌΠ° ΠΈΠ»ΠΈ участия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

2. Π—Π°Ρ‰ΠΈΡ‚Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ:

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… способов Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ ΠΊΠ»ΠΈΠΊΠ΄ΠΆΠ΅ΠΊΠΈΠ½Π³Π° Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π½Π΅ сущСствуСт. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ наш сайт ΠΠ˜ΠšΠžΠ“Π”Π Π½Π΅ стал "ΠΏΡ€ΠΈΠΌΠ°Π½ΠΊΠΎΠΉ" для ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Π°Ρ‚Π°ΠΊ.

2.1. РСализация X-Frame-Options ΠΈΠ»ΠΈ CSP(frame-ancestors):

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ HTTP-ΠΎΡ‚Π²Π΅Ρ‚Π° X-Frame-Options ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для указания Ρ‚ΠΎΠ³ΠΎ, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π»ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ страницу Π² <Ρ„Ρ€Π΅ΠΉΠΌΠ΅> ΠΈΠ»ΠΈ . Π‘Π°ΠΉΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ для прСдотвращСния Π°Ρ‚Π°ΠΊ Clickjacking, гарантируя, Ρ‡Ρ‚ΠΎ ΠΈΡ… содСрТимоС Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ сайты. УстановитС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ X-Frame-Options для всСх ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ², содСрТащих HTML-ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚. Π’ΠΎΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния ΠΎΠΏΡ†ΠΈΠΉ:

  • DENY: Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ Π»ΡŽΠ±ΠΎΠΌΡƒ Π΄ΠΎΠΌΠ΅Π½Ρƒ ΠΎΠ±Ρ€Π°ΠΌΠ»ΡΡ‚ΡŒ содСрТимоС. Настройка "DENY" рСкомСндуСтся, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ выявлСна особая Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² ΠΎΠ±Ρ€Π°ΠΌΠ»Π΅Π½ΠΈΠΈ.

  • SAMEORIGIN: Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΎΠ±Ρ€Π°ΠΌΠ»ΡΡ‚ΡŒ содСрТимоС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ сайта.

  • ALLOW-FROM URI: Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ 'URI' ΠΎΠ±Ρ€Π°ΠΌΠ»ΡΡ‚ΡŒ эту страницу.

2.2. ИспользованиС ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ бСзопасности содСрТимого (CSP):

ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° бСзопасности содСрТимого (CSP) - это ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ обнаруТСния ΠΈ прСдотвращСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΡ… Π°Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ XSS ΠΈ clickjacking. CSP ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ рСализуСтся Π½Π° Π²Π΅Π±-сСрвСрС Π² Π²ΠΈΠ΄Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Π²ΠΈΠ΄Π°: Content-Security-Policy: policy Π³Π΄Π΅ policy - это строка Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ с запятой. CSP прСдоставляСт Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… источниках Π²Π΅Π±-рСсурсов, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ для обнаруТСния ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° врСдоносного повСдСния.

РСкомСндуСмая Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ ΠΊΠ»ΠΈΠΊΠ΄ΠΆΠ΅ΠΊΠΈΠ½Π³Π° - это Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ frame-ancestors Π² ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ бСзопасности содСрТимого прилоТСния. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° frame-ancestors 'none' ΠΏΠΎ своСму повСдСнию Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ X-Frame-Options deny Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° frame-ancestors 'self' Π² Ρ†Π΅Π»ΠΎΠΌ эквивалСнтна Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ X-Frame-Options sameorigin Π² Ρ‚ΠΎΠΌ смыслС, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Π΄ΠΎΠΌΠ΅Π½ self. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ CSP Π²Π΅Π΄Π΅Ρ‚ Π±Π΅Π»Ρ‹ΠΉ список Ρ„Ρ€Π΅ΠΉΠΌΠΎΠ² Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π΄ΠΎΠΌΠ΅Π½Π°:Content-Security-Policy: frame-ancestors 'self';

Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Ρ„Ρ€Π΅ΠΉΠΌΠΈΠ½Π³ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ сайтами/Π΄ΠΎΠΌΠ΅Π½Π°ΠΌΠΈ: Content-Security-Policy: frame-ancestors normal-website.com;

3. Π’Ρ‹Π²ΠΎΠ΄Ρ‹:

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² X-Frame-Options ΠΈContent-Security-Policy ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π»ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ страницу Π² <inframe> элСмСнтС . ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ эта Ρ‚Π΅ΠΌΠ° большС связана с настройкой сСрвСра, Π° Π½Π΅ с самим уязвимым ΠΊΠΎΠ΄ΠΎΠΌ, Π²ΠΎΡ‚ ссылка Π½Π° Π±ΠΎΠ»Π΅Π΅ "ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ" рСсурс, Π³Π΄Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Π΅Π΄Π΅Ρ‚ сСбя Clickjacking.

Last updated