Потенциални атаки срещу HTTPS и как да се защитим от тях

Половината от сайтовете използват HTTPS, а техният брой стабилно нараства. Протоколът намалява риска от подслушване на трафика, но не изключва опити за атаки. За някои от тях — POODLE, BEAST, DROWN и други — и методите за защита ще споменем в нашия материал.

Потенциални атаки срещу HTTPS и как да се защитим от тях
/ Flickr / Sven Graeme / CC BY-SA

POODLE

За атаката POODLE стана известно през 2014 година. Уязвимостта в протокола SSL 3.0 беше открита от специалиста по информационна безопасност Бодо Мьолер (Bodo Möller) с колеги от Google.

Същността й е следната: хакер принуждава клиента да извърши свързване по SSL 3.0, емулирайки прекъсвания на връзката. След това търси в криптирания в CBC-режим трафик специални съобщения-етикети. С помощта на серия от подставени заявки злонамереният потребител получава възможност да реконструира съдържанието на интересуващите го данни, например cookies.

SSL 3.0 е остарял протокол. Но въпросът за неговата безопасност все още е актуален. Клиентите го използват, за да избегнат проблеми със съвместимостта със сървърите. Според някои данни, почти 7% от 100 хил. най-популярни сайтове все още поддържат SSL 3.0. Исто така съществуват модификации на POODLE, чиято цел са по-новите TLS 1.0 и TLS 1.1. Тази година появиха се новите атаки Zombie POODLE и GOLDENDOODLE, които заобикалят защитата на TLS 1.2 (все още са свързани с CBC криптиране).

Как да се защитите. В случая с оригиналния POODLE е необходимо да се изключи поддръжката на SSL 3.0. Но в този случай съществува риск от проблеми със съвместимостта. Алтернативното решение може да бъде механизма TLS_FALLBACK_SCSV — той гарантира, че обменът на данни по SSL 3.0 ще се извършва само със стари системи. Злонамерените потребители вече няма да могат да инициират понижаване на версията на протокола. Методът за защита от Zombie POODLE и GOLDENDOODLE е изключването на поддръжката на CBC в приложения на базата на TLS 1.2. Коренната стъпка ще бъде преминаването на TLS 1.3 — в новата версия на протокола не се използва CBC криптиране. Вместо него, се използват по-стабилните AES и ChaCha20.

BEAST

Една от най-първите атаки срещу SSL и TLS 1.0, открита през 2011 година. Както и POODLE, BEAST използва характеристики на CBC шифроването. Злоумышленниците внедряват JavaScript агент или Java applet на клиентската машина, който модифицира съобщенията по време на трансфера на данни чрез TLS или SSL. Тъй като злоумышленниците знаят съдържанието на 'подставените' пакети, те могат да ги използват, за да декодират вектора на инициализация и да прочетат останалите съобщения към сървъра, например cookie файлове за аутентификация.

На днешния ден уязвимостите BEAST все още засегнати множество мрежови инструменти: проксита и приложения за защита на локални интернет шлюзове.

Как да се защитите. Нападателят трябва редовно да изпраща заявки, за да декодира данните. В VMware препоръчват намалете времето на SSLSessionCacheTimeout — от пет минути (препоръка по подразбиране) до 30 секунди. Този подход ще усложни изпълнението на плановете на злодеите, въпреки че ще има известен негативен ефект върху производителността. Освен това трябва да се разбира, че скоро уязвимостта BEAST може сама да отпадне — от 2020 година най-големите браузъри прекратяват подкрепата за TLS 1.0 и 1.1. Във всеки случай с тези протоколи работи по-малко от 1,5% от всички потребители на браузъри.

DROWN

Това е крос-протоколна атака, която използва грешки в реализацията на SSLv2 с 40-битови RSA ключове. Нападателят подслушва стотици TLS връзки на целта и изпраща специални пакети на сървъра с SSLv2, който използва същия частен ключ. Използвайки атаката на Блейхенбахер,хакерът може да декодира една от приблизително хиляда TLS сесии на клиента.

За DROWN стана известно за първи път през 2016 година — тогава тя засегна една трета от сървърите в света. На днешния ден тя не е загубила своята актуалност. От 150 000 най-популярни сайта 2% все още поддържат използват SSLv2 и уязвими механизми за шифроване.

Как да се защитите. Необходимо е да бъдат инсталирани пачове, предложени от разработчиците на криптографски библиотеки, които деактивират подкрепата за SSLv2. Например, две такива поправки бяха представени за OpenSSL (през 2016 година това бяха обновления 1.0.1s и 1.0.2g). Също така, актуализации и инструкции за деактивиране на уязвимия протокол бяха публикувани в Red Hat, Apache, Debian.

‘Ресурсът може да бъде уязвим за DROWN, ако неговите ключове използва страничен сървър със SSLv2, например пощенски сървър,’ отбелязва ръководителят на отдела за развитие на IaaS доставчика 1cloud.ru Сергей Белкин. — Такава ситуация възниква, ако няколко сървъра използват общ SSL сертификат. В такъв случай е необходимо да се деактивира поддръжката на SSLv2 на всички машини.

Можете да проверите дали е необходимо да актуализирате системата си с помощта на специален утилита — тя е разработена от специалисти по информационна безопасност, които открили DROWN. Повече за препоръките за защита от този тип атаки можете да прочетете в пост на сайта OpenSSL.

Heartbleed

Една от най-сериозните уязвимости в софтуера — Heartbleed. Тя бе открита през 2014 година в библиотеката OpenSSL. В момента на обявяване на грешката, броят на уязвимите уебсайтове беше оценен на половин милион — това е приблизително 17% от защитените ресурси в мрежата.

Атаката се реализира чрез малък модул Heartbeat на разширението TLS. TLS протоколът изисква данните да се предават непрекъснато. В случай на дълги прекъсвания, връзката прекъсва и се налага да бъде установена отново. За да се справят с проблема, сървърите и клиентите изкуствено "шумират" канала (RFC 6520, стр.5), предавайки пакет с произволна дължина. Ако той се окаже по-голям от основния пакет, уязвимите версии на OpenSSL четат памет извън отделения буфер. В тази област могат да се намират какви ли не данни, включително и секретни ключове за криптиране и информация за други връзки.

Уязвимостта беше налична във всички версии на библиотеката между 1.0.1 и 1.0.1f включително, а също и в редица операционни системи — Ubuntu до 12.04.4, CentOS над 6.5, OpenBSD 5.3 и други. Пълен списък има на сайта, посветен на Heartbleed. Въпреки че пачове срещу тази уязвимост бяха издадени почти веднага след откритие, проблемът остава актуален и до днес. Още през 2017 година работеха почти 200 хил. сайта, засегнати от Heartbleed.

Как да се защитите. Необходимо е да актуализирате OpenSSL до версия 1.0.1g или по-висока. Можете също така да деактивирате Heartbeat заявките ръчно с помощта на опцията DOPENSSL_NO_HEARTBEATS. След актуализацията, специалистите по информационна безопасност препоръчват трябва да подновят SSL сертификатите. Замяната е необходима в случай, че данните за ключовете за криптиране все пак са попаднали в ръцете на хакерите.

Подмяна на сертификата

Между потребителя и сървъра се установява контролен узел с легитимен SSL сертификат, който активно перехваща трафика. Този узел се представя за легитимен сървър, предявявайки валиден сертификат, и се създава възможност за MITM атака.

Според изследване Според изследвания от Mozilla, Google и редица университети, около 11% от защитените връзки в интернет са "подслушвани". Това е резултат от инсталиране на подозрителни коренови сертификати на компютрите на потребителите.

Как да се защитите. Да се използват услуги на надеждни SSL доставчици. Качеството на сертификатите може да бъде проверено с помощта на службата Certificate Transparency (CT). Облачните доставчици също могат да помогнат за откритие на "подслушвания" — днес някои големи компании предлагат специализирани инструменти за мониторинг на връзките чрез TLS.

Друг начин за защита ще бъде новият стандарти ACME, който автоматизира получаването на SSL сертификати. В този случай ще бъдат добавени допълнителни механизми за проверка на собственика на сайта. Повече информация за него писахме в един от нашите предишни материали.

Потенциални атаки срещу HTTPS и как да се защитим от тях
/ Flickr / Юрий Самойлов / CC BY

Перспективи за HTTPS

Въпреки редица уязвимости, ИТ гиганти и експерти по киберсигурност са уверени в бъдещето на протокола. За активно внедряване на HTTPS е казва създателят на WWW Тим Бернерс-Ли. Според него, с времето TLS ще става все по-защитен, което значително ще повиши сигурността на връзките. Бернерс-Ли дори предполага, че в бъдещето ще се появят клиентски сертификати за удостоверяване на личността. Те ще помогнат да се подобри защитата на сървърите от злонамерени действия.

Развитието на технологията SSL/TLS също ще бъде планирано с помощта на машинно обучение — интелигентни алгоритми ще отговарят за филтрирането на злонамерен трафик. В HTTPS връзките администраторите нямат възможност да разпознават съдържанието на криптираните съобщения — включително и да откриват заявки от зловреден софтуер. Вече днес невронните мрежи са в състояние да филтрират потенциално опасни пакети с точност 90%. (слайд 23 от презентацията).

Изводи

Атаките срещу HTTPS по голямата част са свързани не с проблеми в самия протокол, а с поддръжка на остарели механизми за шифроване. ИТ индустрията започва постепенно да се отказва от протоколи от предходното поколение и предлага нови инструменти за търсене на уязвимости. В бъдеще тези инструменти ще стават все по-интелигентни.

Допълнителни връзки по темата:

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster