Що таке «змішаний вміст» і чому Chrome його блокує?

Браузер Google Chrome вже застосовує блокування певних видів «змішаного контенту» в інтернеті. Нещодавно Google оприлюднила, що їхні дії стають ще більш рішучими: з початку 2020 року Chrome за замовчуванням буде блокувати весь змішаний контент, що може спричинити некоректну роботу деяких існуючих веб-сторінок. Давайте розглянемо, що це означає на практиці.

Що таке змішаний контент?

В основі розрізняють два типи контенту: той, що передається через захищене, зашифроване з’єднання HTTPS, та той, що передається через незашифроване з’єднання HTTP. При використанні HTTPS контент захищений від перегляду чи підробки під час передачі, тому важливі веб-ресурси використовують шифрування при роботі з фінансовими даними або особистою інформацією.

Інтернет активно переходить на безпечні веб-сайти HTTPS. Якщо ви підключаєтеся до застарілого веб-сайту HTTP без шифрування, Google Chrome попереджає вас про те, що такий веб-сайт є «незахищеним». Google навіть приховує індикатор «https://» за замовчуванням, оскільки безпека повинна бути стандартною. Крім того, новий стандарт HTTP/3 матиме вбудоване шифрування.

Однак, деякі веб-сторінки не можуть бути повністю HTTPS або повністю HTTP. Трапляються сторінки, що завантажуються через безпечне з’єднання HTTPS, але водночас завантажують зображення, скрипти або інші ресурси через незашифроване з’єднання HTTP. Такі сторінки називають «змішаним контентом», оскільки вони не є повністю безпечними. Сама веб-сторінка може бути захищена, але вона може завантажувати скрипт, зображення або iframe (веб-сторінку всередині «рамки» іншої сторінки), які могли бути підроблені.

Чому змішаний контент небезпечний?

Змішаний контент створює плутанину. Ви переглядаєте веб-сторінку, яка одночасно є безпечною та незахищеною. Наприклад, сторінка, яка зазвичай є безпечною, може завантажити JavaScript файл через HTTP. Цей скрипт може бути змінений — наприклад, якщо ви перебуваєте в публічній мережі Wi-Fi, що не викликає довіри — щоб виконувати різноманітні небажані дії, від стеження за вашими натисканнями клавіш до вставки файлів cookie для відстеження.

Хоча скрипти та iframe — «активний контент» — є найбільш небезпечними, навіть зображення, відео та аудіо зі змішаним контентом можуть нести загрозу. Уявіть, що ви переглядаєте захищений веб-сайт для торгівлі акціями, який отримує зображення історії акцій через HTTP. Це зображення не є безпечним, адже його могли підробити під час передачі, щоб показати неправдиві дані. До того ж, оскільки воно передається через незашифроване з’єднання, кожен, хто перехоплює дані, може дізнатися, які акції ви переглядаєте.

Змішування такого контенту є поганою ідеєю. Якщо веб-сторінка використовує HTTPS, всі її ресурси також мають завантажуватися через HTTPS. Це історична випадковість: інтернет починався з HTTP, а веб-сайти поступово оновлювалися до HTTPS. При цьому вони не завжди оновлювалися так, щоб використовувати ресурси HTTPS всюди. Або ж вони могли залежати від стороннього ресурсу, який на той час не підтримував HTTPS.

Зараз, коли Google та інші розробники браузерів ускладнюють роботу зі змішаним контентом і відмовляються від нього, веб-сайтам доведеться навести лад, щоб їхні сторінки продовжували працювати за замовчуванням.

Що конкретно змінюється в Chrome?

Наразі Chrome блокує змішані скрипти та iframe. У Chrome 80, який випущений для ранніх версій у січні 2020 року, Chrome блокує змішані аудіо- та відеоресурси — технічно, він намагатиметься завантажити їх через безпечне з’єднання HTTPS і блокуватиме, якщо це не вдасться. Змішані зображення завантажуються, але Chrome показує, що веб-сторінка є «незахищеною». У Chrome 81 припиняється завантаження змішаних зображень. Користувачі можуть дозволити завантаження змішаного контенту, але за замовчуванням це вимкнено.

Це все є частиною підвищення безпеки інтернету. У повідомленні блогу Google йдеться про те, що повідомлення «Не захищено» має «мотивувати веб-сайти переносити свої зображення на HTTPS».

Як Chrome дозволить вам розблокувати змішаний контент?

Chrome вже блокує деякі види змішаного контенту за допомогою значка щита в адресному рядку та повідомлення «Небезпечний контент заблоковано». Ви можете побачити, як це працює на сторінці з прикладом змішаного контенту, яку розробила Google. Наприклад, щоб розблокувати скрипт зі змішаним контентом, потрібно натиснути посилання «Завантажити небезпечні скрипти».

Якщо ви дозволите запустити змішаний контент, веб-сторінка зміниться зі статусу «Безпечна» на «Не захищена».

Google спростить це у Chrome 79, який випущено в грудні 2019 року. Вам потрібно буде натиснути на значок замка зліва від адреси сторінки, вибрати «Налаштування сайту», а потім розблокувати змішаний контент для цього сайту.

Ця опція стає менш помітною, але суть залишається: більшості користувачів ніколи не потрібно вмикати змішаний контент для сайту. Розробники веб-сайтів повинні виправити свої ресурси, щоб вони безпечно надавали контент. Ця опція дозволяє користувачам, які працюють зі застарілими бізнес-сайтами, продовжувати доступ до них, навіть якщо змішаний контент вимкнено для всіх інших.

Якщо вам потрібен сайт, який вимагає використання змішаного контенту, не варто хвилюватися: Google не оголосив дату, коли буде вилучено можливість завантажувати змішаний контент у Chrome. Веб-браузер Google за замовчуванням блокує змішаний контент, але пропонуватиме можливість увімкнути його в найближчому майбутньому.

А що з іншими браузерами?

Chrome не єдиний. Firefox також блокує змішаний контент, наприклад скрипти та iframe, і вимагає натискання кнопки “Тимчасово вимкнути захист“, щоб знову його увімкнути. Ми очікуємо, що Mozilla наслідуватиме Google. Apple Safari також агресивно блокує змішаний контент.

Звісно, новий браузер Microsoft Edge, створений на базі коду Chromium, що використовується Google Chrome, буде вести себе так само, як Chrome.