Зміст:
Нещодавно багато розмов про новий спосіб використання WhatsApp та обхід шифруваного кінця, яке компанія любить згадувати, що має, коли тільки може. Я бачив твіти та коментарі, які керують гамою від "це FUD", щоб говорити про якусь задню панель, яку встановив Facebook.
Хороша новина полягає в тому, що це ні те. Насправді це насправді не одна з тих речей, про які потрібно турбуватися, а натомість це одна з тих речей, які змушують вас замислитися, як це коли-небудь траплялося, в першу чергу, тому що це досить неохайно. Але не хвилюйтеся - це буде виправлено задовго до того, як щось трапиться.
Що це
Дослідники Пол Реслер, Крістіан Майнка та Йорг Швенк з Ruhr-Universität в Бохумі, Німеччина, опублікували дослідницький документ (посилання.pdf), який виявив особливий недолік у адміністрації групового чату WhatsApp. WhatsApp пропонує те саме шифрування в кінці для групових чатів, що і для окремих чатів, і це, як правило, означає, що ми повинні мати можливість відчувати себе в безпеці, знаючи, що те, що ми говоримо, не буде читати той, хто не повинен бути читаючи його, якщо один із членів групи не дозволить це зробити.
Мабуть, теоретично можливо, що незнайомець може додати себе до групового чату на WhatsApp. "Теоретично" та "можливо" є ключовими словами тут. Я поясню.
WhatsApp пропонує групові повідомлення, які використовують сильне шифрування в кінці.
У груповому чаті WhatsApp один або кілька початкових членів є адміністратором. З точки зору сервера, це означає, що ці люди можуть додавати та видаляти людей із групи. Наразі все добре, навіть незважаючи на те, як це працює - адміністратор надсилає сигнал кожному члену групи за допомогою своїх ключів підпису, а взамін кожен член надсилає зворотне повідомлення зі своїми ключами підпису, а потім ініціатором повідомлення повідомляє кожного учасника про те, що в групі є нова людина - це трохи хитрощі для створення гарного користувальницького інтерфейсу. Якщо ви не адміністратор, єдине, що ви знаєте, - це те, що ви бачите повідомлення про те, що Джеррі зараз є членом групи. Ви можете це прийняти або залишити чат.
Аналогічний недолік був виявлений і при груповому обміні повідомленнями через сигнал.
Проблема полягає в тому, що WhatsApp не належним чином автентифікує ці запити управління групою на власних серверах. Сервер WhatsApp повинен правильно ідентифікувати відправника повідомлення, яке додасть людину до групового чату. Людина надсилає повідомлення про те, що ідентифікує як групу, так і члена, якого він бажає додати, і сервер перевіряє, чи впевнений, що особа, яка її надіслала, насправді адміністратор чату. Ці повідомлення не шифруються в кінці, а натомість використовують стандартне шифрування транспорту - повідомлення, що надходить від адміністратора чату та йде до сервера, який вимагає додавання користувача до чату, відправник не підписує їх ключем шифрування..
Це означає, що сервер WhatsApp може додати будь-якого користувача, який він хоче, до будь-якої групи, у будь-який час. Сервер може, а не інший користувач. Це важливо, і це означає, що будь-яка конфіденційність, яка очікується в груповому чаті WhatsApp, залежить виключно від довіри серверу чату WhatsApp. Це перемагає всю мету шифрування в кінці, яка розроблена таким чином, що конфіденційність гарантується, навіть якщо сервер порушений, оскільки лише відправник і одержувач можуть розшифрувати повідомлення.
І тоді Інтернет втрачає колективний розум, тому що саме в цьому Інтернет справді хороший.
Це не відбудеться, але все-таки потребує виправлення
Єдиний спосіб використання цього недоліку - це той, хто має доступ до цього сервера. Це означає, що сервер потрапляє в компрометацію, або працівник переходить у шахрайство, або державне агентство на три листи подає ордер. Будь-яке з цих речей могло статися, могло статися в минулому, і навіть могло статися зараз. Але ще одну річ потрібно врахувати - ви дізнаєтесь, чи трапиться це з вашим чатом.
Вам повідомляється щоразу, коли людину додають у груповий чат, зашифровано чи ні.
Перше, що робить сервер після додавання учасника, - сповістити всіх інших членів групи про те, що "Джеррі був доданий до чату". Ви побачите повідомлення про те, що вас хтось додав, як і всі інші. Коли Джеррі приїжджає на приватну вечірку чату зі своїми поганими жартами та дешевим пивом, і ніхто його не запрошує, це буде ознакою того, що щось не так, і ніхто не повинен вважати те, що вони збираються набрати як приватне. Упакуйте і перейдіть до іншого чату без Джеррі і, можливо, навіть іншого сервісу, який не дозволить йому вийти з ладу.
Тож ніхто не зможе таємно перевірити ваш зашифрований груповий чат, але це все одно підриває шифрування в кінці всіма можливими способами. Це потрібно негайно виправити, і, можливо, потрібно навіть переробити метод управління цілою групою. На мінімальному рівні, нам усім потрібно почухати голову і дивуватися, як щось подібне ковзає програмісти та аудитори коду. Це смішна передумова, яка ніколи не буде експлуатуватися, але все ж.
Що вам потрібно зробити
Нічого, насправді. Вдячні за роботу, виконану Рослером, Майнкою та Швенком у пошуку цієї вади, оскільки дослідження безпеки - це невдячна та часто занурена робота, але минула, що вам зовсім не потрібно змінювати розпорядок життя. Спосіб аутентифікації запиту на додавання учасника до зашифрованого групового чату буде відсортовано людьми, які невдовзі крутяться колеса WhatsApp, і це зміниться від недоліку, який ніколи не буде використаний, до недоліку, який більше не можна використовувати в всі.
Важливо те, що ви звертали увагу, адже наступним недоліком може бути саме той, який потребує дій з вашого боку. І буде ще один недолік, тому обов'язково продовжуйте звертати увагу.