Паралельно з розвитком технологій захисту інтернет-трафіку від несанкціонованого доступу розвиваються технології перехоплення захищеного трафіку. Перехопити і вивчити незашифрований трафік користувача вже давно не важко навіть для рядового користувача. Майже кожному відомо слово «сніффер». Теоретично захищені SSL/TSL-з'єднання перехопити звичайними засобами неможливо. Але чи це так?
Насправді не зовсім так. Так, зашифрований трафік теоретично неможливо розшифрувати, хоча знову таки теоретично за дуже великої необхідності та бажання, і такий трафік можна розшифрувати, підібравши ключ. Однак для цього потрібні такі витрати ресурсів, що актуальність злому зберігається тільки, мабуть, на урядовому чи військовому рівні.
При роботі із захищеним з'єднанням (найпростішим прикладом є HTTPS) весь трафік між взаємодіючими точками в мережі шифрується на стороні відправника і дешифрується на стороні одержувача. Шифрується трафік, що йде в обох напрямках. Для того, щоб його зашифрувати та розшифрувати потрібна пара ключів (асиметричне шифрування). Публічний ключ служить для зашифрування і передається одержувачу даних, а приватний – для дешифрування, він залишається відправника. Таким чином, вузли, між якими встановлюється SSL з'єднання, обмінюються публічними ключами. Далі, підвищення продуктивності формується єдиний ключ, який пересилається вже в зашифрованому вигляді і використовується як для шифрації, так і для дешифрації на обох сторонах (симетричне шифрування).
А як вони це роблять? Зазвичай — тим же каналом, яким далі йтиме захищений трафік. Причому обмін ключами відбувається у відкритому режимі. У разі HTTPS ключ сервера пов'язаний із сертифікатом, який користувачеві пропонується переглянути та прийняти. І ось цей сертифікат якраз і може перехопити будь-який проміжний сервер, на шляху якого йде сертифікат у відкритому вигляді (проксі, роутер).
Щоб далі читати весь трафік користувача, проміжний сервер підміняє сертифікат на свій. Тобто. він просто сам підключається до клієнта зі своїм сертифікатом і в той же час підключається до віддаленого сервера. Клієнтові надходить «лівий» сертифікат від сервера-зловмисника, а браузер повідомляє користувача про небезпеку (такі сертифікати завжди не підписані). У користувача залишається вибір: прийняти сертифікат і працювати з сайтом або відмовитися його приймати, але й працювати з сайтом тоді вже не вийде. Іноді користувачі взагалі ігнорують вміст сертифікатів і машинально приймають будь-які передані їм.
Якщо користувач приймає сертифікат-підробку, то трафік йтиме за такою схемою:
Тобто. проміжний сервер отримуватиме весь ваш «захищений» трафік у відкритому вигляді. Варто зауважити, що передача сертифіката відбувається на початку кожної сесії HTTPS.
У разі захищеного SSH при першому з'єднанні з сервером на клієнті зберігається ключ сервера, а на сервері ключ клієнта. Ці ключі передаються між даними клієнтом-сервером лише один раз при першому підключенні. Якщо в цьому випадку SSH-трафік спробують перехопити, то клієнт і сервер відмовить у з'єднанні через невідповідність ключів.Так як ключі можна перенести між клієнтом і сервером обхідним шляхом (захищеним каналом або на зовнішньому носії), цей спосіб з'єднання є відносно безпечним. Його можуть лише заблокувати, змусивши користувача працювати відкрито.
Варто зазначити, що вже давно продаються так звані «рішення з інформаційної безпеки підприємства», які перехоплюють весь трафік через офісний проксі-сервер і «читають» його. Програми шукають наявність певних фраз чи інформації певного виду у потоці даних від браузерів, поштових програм, ftp-клієнтів, месенджерів співробітників офісу. Причому, ці програми вміють розрізняти і обробляти правильно різні види інформаційної взаємодії з серверами. У тому числі, вони перевіряють і захищений SSL-трафік шляхом заміни сертифікатів. З розробкою однієї з таких систем я стикався майже безпосередньо.
Але шляхи порятунку від тотального стеження є. Через встановлене SSH-з'єднання можна спрямовувати будь-який потрібний трафік, який із SSH-сервера буде вже у відкритому вигляді йти на кінцеву точку. Цей спосіб називається SSH-тунелінг (tunneling). Так можна убезпечити проходження трафіку незахищеним каналом, але має сенс такий підхід тільки за наявності довіреного сервера з піднятим і налаштованим на тунелінг SSH-демоном. Причому організувати це досить просто. SSH-клієнт підключається до сервера, налаштовується на прослуховування будь-якого порту на локальній машині. Цей клієнт надаватиме послугу SOCKS5-проксі, тобто. його використання можна налаштувати у будь-якому браузері, поштових програмах, IM-ах тощо. Через SSH-тунель пакунки потрапляють на сервер, а з нього йдуть на цільовий сервер.Схема виходить така:
[localhost: клієнт proxy] сервер цільовий сервер
Інший спосіб захисту трафіку – VPN-канал. У використанні він простіше і зручніше за SSH-тунелінг, але в первинній установці та налаштуванні складніше. Основна зручність цього в тому, що у програмах не потрібно прописувати проксі. А деякий софт зовсім проксі не підтримує, отже тільки VPN і підійде.
Насправді є два варіанти роботи. Перший – покупка VPN-акканута, який продається спеціально для цих цілей (шифрування трафіку небезпечним каналом). У цьому випадку зазвичай продаються акаунти, з'єднуватися з якими треба за протоколами PPTP (звичайний VPN, який реалізований, наприклад, у Windows) або L2TP.
Другий варіант – покупка VDS-сервера (віртуальний виділений сервер) з будь-яким дистрибутивом лінуксу на борту та підняття на ньому VPN-сервера. VDS може бути російським або американським (тільки не забувайте про заокеанські пінги), дешевим (від $5) і слабким або дорогим і потужнішим. На VDS ставлять OpenVPN-сервер, а комп'ютері піднімається OpenVPN-клієнт. Для Windows є навіть гуїшна версія клієнта.
Якщо ви вирішите використовувати варіант з OpenVPN, тобто ця проста покрокова інструкція з підняття сервера (Debian). Встановити клієнта набагато простіше, особливо під Windows. Відзначити варто лише один нюанс. Якщо весь трафік потрібно пустити по створеному VPN-з'єднанню, потрібно прописати default gateway на шлюз VPN (параметр redirect-gateway в конфізі клієнта), а якщо тільки частина трафіку (на певні хости), то можна прописати звичайні статичні маршрути на дані хости ( IP, наприклад, route add -p 81.25.32.25 10.7.0.1).
Для з'єднання OpenVPN обмін ключами відбувається у ручному режимі, тобто.транспортувати їх від сервера на клієнт можна цілком безпечно.
Таким чином, SSH- та VPN-з'єднання можуть практично повністю гарантувати безпеку вашого трафіку при переміщенні незахищеним каналом. Єдина проблема, яка може виникнути в цьому випадку, це заборона на SSL-трафік на корпоративному файрволі. Якщо SSL-трафік дозволений хоча б на будь-який будь-який порт (зазвичай дефолтний 443), то ви вже потенційно можете підняти і SSH-тонель, і VPN-з'єднання, налаштувавши відповідного демона на вашому VDS на цей порт.
Шифрування трафіку звучить круто, але як це робиться? І які переваги це надає? Пропонуємо до вашої уваги розгорнуту статтю про те, як найкраще шифрувати своє інтернет-з'єднання. Не хвилюйтеся, це займе трохи більше 9 хвилин.
Що таке шифрування?
Простіше кажучи, шифрування — це процес перетворення даних з формату, що читається, в нечитаний. Загалом йдеться про застосування ключа шифрування для захисту даних. Тільки той, хто має цей ключ (або спеціальний ключ розшифровки), може прочитати ці дані.
"Нечитаний формат" – визначення досить розпливчасте, але ви можете скористатися цим інструментом, щоб отримати уявлення про те, як все влаштовано. У нашому випадку ми використовували шифр AES-256 для шифрування повідомлення «Привіт, хлопці!». А це ключ шифрування, що використовується нами: “fgj5kig0813sfdfewbasd3453gafvafg.” Зашифроване повідомлення виглядає так: “bTFR+qKhkQt2djukrfX+Zw==.” Будь-хто, хто спробує відстежити вміст цього повідомлення, бачитиме лише зашифрований формат.Тільки той, хто має оригінальний ключ шифрування або інший спеціальний ключ для розшифровки, зможе побачити вихідне повідомлення «Привіт, хлопці!».
Чи можна зламати шифрування?
Якщо ви використовуєте застарілий шифр (наприклад, Blowfish) з невеликою довжиною ключа (64 біти, наприклад), його можна буде зламати за допомогою горезвісного брутфорсу. Але якщо ви дотримуєтеся сучасних шифрів, таких як AES, і великих розмірів ключів (128 бітів і вище), то ви в безпеці. Якщо Тяньхэ-2, чи четвертий найшвидший суперкомп'ютер у світі, спробує зламати повідомлення, зашифроване з допомогою AES-256, це займе близько 9,63×1052 років (1052 у разі 1 з 52 нулями, тобто у дев'ятої степени).Звичайно, у міру того, як суперкомп'ютери стають дедалі досконалішими, у майбутньому вони зможуть швидше зламувати сучасні шифри. Але водночас і шифрування стане більш просунутим, тому поки що не можна спрогнозувати, коли шифри будуть зламані.
Навіщо шифрувати трафік?
- Насамперед незашифровані з'єднання можуть прослуховувати і перехоплювати хакери. Так вони можуть вкрасти конфіденційну інформацію (дані кредитної картки, паролі тощо) або перенаправити вас на фішингові веб-сайти (оскільки бачать, якими сайтами ви найчастіше користуєтеся).
- Кіберзлочинці можуть обдурити ваш пристрій, і підключитися до підробленої мережі WiFi, яку самі запустять. Якщо це станеться, вони зможуть моніторити всю вашу діяльність онлайн.
- Незашифрований трафік означає, що ваш інтернет-провайдер може переглядати пакети даних, і бачити, які сайти ви переглядаєте та які веб-програми використовуєте.Завдяки цій інформації вони можуть цілеспрямовано обмежувати пропускну здатність вашого з'єднання.
- Якщо ви використовуєте незашифровані з'єднання, це значною мірою говорить про те, що ви погоджуєтесь, що ваш провайдер буде продавати ваші дані рекламодавцям.
- Відсутність шифрування трафіку означає, що мережеві адміністратори також можуть відстежувати його. Це може стати проблемою, якщо ви відвідуєте «відволікаючі» веб-сайти на роботі або в школі, YouTube, Facebook або Twitter.
- Крім того, шифрування допоможе вам уникнути урядового стеження за тим, що ви робите в інтернеті.
"Але я вже використовую зашифрований WiFi, так що все в порядку, вірно?"
Не зовсім. Якщо ви загуглить інформацію про те, як зашифрувати інтернет-з'єднання, то побачите, що в багатьох статтях рекомендують використовувати зашифровані мережі (тобто для доступу до яких потрібен пароль).
Але ось у чому проблема – більшість мереж для шифрування використовують WPA2. На жаль, цей стандарт безпеки не такий гарний і має серйозні вразливості. Ви можете знайти багато інформації, згідно з якою є як мінімум кілька способів зламати паролі WPA2 (тут, тут і тут).
Новий стандарт шифрування WPA3 повинен виправити ці проблеми, але навіть він не без вад.
Крім того, є ще одна проблема: деяким мережам може і потрібен пароль для використання, але вони можуть бути захищені застарілим шифруванням, як WEP і WPA.
Загалом той факт, що ви використовуєте зашифрований WiFi, зовсім не означає, що ваші дані в безпеці.
Як зашифрувати підключення до Інтернету
На основі наших досліджень, у вас є шість опцій.Необов'язково використовувати всі з них, але якщо ви дійсно хочете переконатися в безпеці свого трафіку, варто спробувати їх одночасно:
1. Відвідуйте лише сайти з протоколом HTTPS
HTTPS зараз є своєрідним стандартом, і деякі браузери навіть не дозволяють відкривати сайти на протоколі HTTP. І не без причини! HTTP означає, що веб-сайт не шифрує ваші запити на підключення та відповіді. Тож будь-хто може шпигувати за вами.
Якщо ви дивитеся HTTP-сайти виключно для мемов та анекдотів, то це не так страшно. Але якщо ви використовуєте його для оплати або введення особистої інформації, все дуже погано, оскільки кожен може бачити ці дані.
Тому, якщо ви дійсно хочете захистити підключення до інтернету, ми рекомендуємо уникати HTTP-сайтів. Переглядайте лише HTTPS-сайти, оскільки вони автоматично шифрують ваш трафік.
2. Використовуйте HTTPS Everywhere
HTTPS Everywhere — це розширення для браузерів Opera, Chrome, Firefox, Tor і Brave, яке автоматично перенаправляє всі HTTP-посилання на сторінки HTTPS, якщо є така технічна можливість. Це дуже зручно, оскільки деякі великі веб-сайти ще не використовують HTTPS.
HTTPS Everywhere не допоможе вам, якщо сайт просто не підтримує HTTPS. Але все ж таки це гарний захід безпеки.
Нарешті, подумайте про те, щоб використовувати uMatrix та uBlock Origin. Вони не шифрують ваше з'єднання, але можуть блокувати шкідливі скрипти та рекламу. Це може стати в нагоді, якщо ви якимось чином опинилися на підозрілому HTTP-сайті.
3. Використовуйте месенджери лише з наскрізним шифруванням
Коли ви хочете написати комусь повідомлення, ви просто друкуєте текст у смартфоні та відправляєте його, вірно? Або ви робите це через Facebook Messenger та схожі програми.
Ці методи зручні, звичайно, проте вони не дуже приватні. Текстові повідомлення можуть бути прочитані або може відбутися витік даних, якщо компанія, яка їх обробляє, не використовує шифрування для їх захисту. Крім того, Facebook Messenger не пропонує наскрізного шифрування за промовчанням. Тобто компанія може стежити за вашими розмовами із друзями.
І це ще не все. Розглянемо той факт, що АНБ, як відомо, збирає мільйони текстових повідомлень, а такі компанії, як Apple, Facebook та Skype, є частиною їхньої програми масового стеження (PRISM).
Звичайно, ви можете використовувати наскрізне шифрування з Facebook Messenger, якщо увімкнути функцію Secret Conversation. Але тут є проблема – це не дозволить вам шифрувати групові повідомлення, GIF-файли, платежі або голосові та відеодзвінки. І ще раз: Facebook є частиною програми стеження АНБ. Чи стали б ви довіряти конфіденційну інформацію такої компанії?
Якщо ви дійсно хочете захистити свої з'єднання, вам потрібна програма, яка не матиме жодних вад у цьому плані. Ось кілька рекомендацій:
- Signal — додаток був рекомендований захисниками конфіденційності, такими як Едвард Сноуден та Брюс Шнайдер. Більше того, його рекомендують багато членів Європейської Комісії. Крім наскрізного шифрування, програма поширюється з відкритим вихідним кодом. І хоча нещодавно в ньому виявили експлоїт для прослуховування, проблему дуже швидко усунули.
- Wickr – хоча програма більше націлена на бізнеси, будь-хто може її використовувати.Воно поширюється з відкритим вихідним кодом, пропонує наскрізне шифрування і не вимагає електронної пошти або телефонного номера для реєстрації.
- LINE – дуже безпечний додаток, який спочатку замислювався японськими інженерами як комунікаційне рішення після землетрусу 2011 року.
- Threema — хоча месенджер і не безкоштовний, він пропонує відмінну безпеку: наскрізне шифрування, відсутність необхідності вказувати номер телефону, а також видалення повідомлень з серверів після доставки.
Давайте також розглянемо ще один зашифрований додаток для обміну повідомленнями, який багато хто рекомендує:
- Це WhatsApp. Хоча месенджер пропонує наскрізне шифрування і Facebook підтверджує, що прочитати повідомлення в WhatsApp неможливо, нависає проблема з програмою стеження АНБ PRISM. Зокрема найбільше турбує те, що Facebook є учасником цієї програми. Отже, існує велика ймовірність, що вони діляться листуваннями з АНБ. Крім того, у 2019 році програма мала проблеми, пов'язані зі шпигунськими програмами.
Ми не говоримо, що вам взагалі не слід використовувати WhatsApp. Але якщо ви це зробите, спілкуйтесь обережно.
4. Використовувати DNS поверх HTTPS
DNS розшифровується як Domain Name System або система доменних імен. Її роль полягає в перетворенні IP-адрес в читані назви веб-сайтів і навпаки.
Якщо ви хочете підключитися до веб-сайту за назвою, ваш браузер надішле DNS-запит на DNS-сервер вашого провайдера, щоб отримати IP-адресу сайту.
Все це добре, але є проблема: DNS-запити, як правило, не шифруються. Це відкриває перед вами безліч ризиків – атаки MITM, стеження провайдера та фільтрація DNS.
Цю проблему виправляє DNS поверх HTTPS Він використовує HTTPS для шифрування ваших запитів, що робить ваше підключення до інтернету безпечнішим.
Як використовувати DNS поверх HTTPS?
Насправді це не так складно, оскільки більшість браузерів вже підтримують цю технологію. Також пропонуємо до вашої уваги керівництво про те, як це зробити. Якщо ви хочете використовувати DNS поверх HTTPS не тільки у браузері, спробуйте 1.1.1.1 (на сайті подано посібники). Це набагато швидше, ніж використовувати OpenDNS або Google Public DNS.
5. Використати VPN
VPN є одним із найпростіших способів для повного шифрування вашого інтернет-з'єднання. Це онлайн-сервіс, який приховує вашу IP-адресу і шифрує весь ваш веб-трафік. Давайте дізнаємось, як працює ця схема.
- Для підключення до VPN-сервера ви використовуєте VPN-клієнт на вашому пристрої.
- Клієнт та сервер узгоджують з'єднання та створюють між собою зашифрований тунель.
- З цього моменту весь ваш трафік проходитиме через цей тунель. Якщо хтось спробує його контролювати, він просто побачить тарабарщину (як було показано на прикладі зашифрованого повідомлення на початку статті).
VPN-сервіси дуже прості у використанні, і більшість з них використовують новітні шифри. Докладніше про VPN-шифрування ви можете прочитати в нашому посібнику.
Зашифруйте свій трафік зараз за допомогою CactusVPN!
Якщо вам потрібен VPN, пропонуємо познайомитися з нашим Сервісом. Ми пропонуємо шифрування AES-256 для більшості протоколів, що прийнято вважати безпекою на військовому рівні.Крім того, ми не ведемо жодних логів і використовуємо безпечні протоколи: IKEv2, SoftEther та OpenVPN, а також у нас є підтримка DNS поверх HTTPS.
Спеціальна пропозиція! Отримайте CactusVPN за 3.5$ на місяць!
І як тільки ви станете клієнтом CactusVPN, ви матимете 30-денну гарантію повернення грошей.
6. Використати зашифровану електронну пошту
Gmail, AOL та Yahoo! – популярні та зручні поштові служби, але це не настільки хороший спосіб шифрування всіх даних електронної пошти, які проходять через ваше підключення до інтернету. Ось як це влаштовано:
- Google дозволяє посередникам сканувати ваші електронні листи. Yahoo! та AOL також отримували звинувачення у скануванні електронних листів щодо даних, які вони можуть згодом продати рекламодавцям.
- Близько трьох мільярдів облікових записів Yahoo! постраждали від витоку даних.
- Повідомляється, що AOL має найвищий рівень злому електронних поштових скриньок.
- Незважаючи на обіцянки, Yahoo! і Google ще не запустили наскрізне шифрування, і це означає, що вони, як і раніше, можуть сканувати ваші листи. Багато інших поштових служб вже давно реалізували підтримку наскрізного шифрування, тож це досить серйозний червоний прапорець.
Ми рекомендуємо вам придивитися до таких Сервісів, як ProtonMail або Tutanota. Вони обидва працюють з відкритим вихідним кодом, пропонують наскрізне шифрування, не вимагають особисту інформацію і не зберігають її. Також пропонуємо вам докладніше дізнатися про поштові служби в нашому посібнику.
Чи варто шифрувати трафік через Tor?
Багато людей та статті радять це робити. Як правило, тому, що Tor додає кілька рівнів шифрування до з'єднань (зазвичай три).
І хоча звучить серйозно, цей метод теж не без вад:
- Вузол виходу (останній сервер у ланцюжку Tor, через який проходить ваш трафік) розшифровує ваші дані. Таким чином цей вузол може переглядати вміст вашого трафіку. Якщо кіберзлочинець або урядовий агент використовують цей вузол, вони можуть шпигувати за вашими інтернет-з'єднаннями.
- Стривайте… хакери та урядові агенти? Чи підтримують вузли Tor, якими я можу випадково скористатися? Імовірність набагато більша, ніж вам може здаватися. Дослідники вже не раз виявляли шкідливі вузли, і не секрет, що правоохоронці можуть запускати деякі вузли цілеспрямовано.
- Tor також має підозрілі зв'язки з урядом США. Докладніше про це можна почитати тут (пункти #5 та #6).
Якщо ви хочете по-справжньому зашифрувати ваше інтернет-з'єднання при використанні Tor, робити це потрібно через VPN. Зараз ми маємо на увазі, що перед підключенням до мережі Tor потрібно спочатку підключитись до VPN-сервера. Таким чином, навіть якщо шкідливий вузол розшифрує ваш трафік з Tor, той, хто тримає вихідний вузол, отримає зашифрований VPN-трафік.
Однак майте на увазі, що при такому зв'язуванні інтернет працюватиме значно повільніше. Tor і так сильно уповільнює роботу, а також VPN матиме більший ефект.
Не забудьте використати антивірус!
Шифрування — чудовий спосіб захистити ваші дані від хакерів, але він не може захистити ваш пристрій від зараження шкідливими програмами. Всі рішення, згадані в цій статті, захистять ваші дані лише на оперативному рівні, але не на автономному чи апаратному.
Тому не забувайте завжди та скрізь використовувати антивірус.
Як зашифрувати підключення до інтернету — На завершення
Шифрування веб-трафіку дуже важливе, якщо ви хочете уникнути кібератак, урядового стеження або широко розповсюдженого моніторингу інтернет-провайдера.
Найкращий спосіб зашифрувати підключення – використовувати шифровані месенджери, VPN, зашифровані поштові служби, DNS поверх HTTPS, сайти з протоколом HTTPS або HTTPS Everywhere.
Чи знаєте інші способи, як шифрувати інтернет-з'єднання? Тоді не забудьте поділитися думками щодо цього в коментарях чи в наших соціальних мережах.