Подвійні стандарти в шифруванні облікових записів

Подвійні стандарти в шифруванні облікових записів

Думаю кожен, хто хоч трохи цікавився інформаційною безпекою, та й просто періодично читає про події в сфері IT, зустрічав новини, що чергова компанія або інтернет-сервіс були зламані, і у них були вкрадені облікові записи користувачів, куди зазвичай входять електронні адреси, паролі, номери кредитних карт, як звуть вашого домашнього вихованця і багато іншого (далеко ходити за прикладом не потрібно, в жовтні цього року Adobe «поділилася» базою на 130-150 мільйонів облікових записів). І добре ще, якщо сервіс подбав про хешування паролів хоча б без застосування солі, в такому випадку можна сподіватися, що якщо зловмисники захочуть скористатися вкраденим, то їм доведеться докласти деяких зусиль для цього.


Але досить тривалий час мене дивувало інше - чому в більшості випадків хешуються лише паролі, чому така зневага до інших важливих даних користувача, як електронні адреси або номери кредитних карток?

Ця стаття не претендує на відкриття в сфері безпеки і, ймовірно, буде містити неточності і домисли. Це швидше думки вголос про проблему захисту даних і випадки їх витоку.

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

Чим це загрожує? По-перше, найбільш банальне, що можна зробити, це скористатися базою електронних адрес, спамери будуть задоволені. Друге, хоча і значно рідше, номери кредитних карток можуть поплисти в руки скіммерів. Можливо, що самі по собі номери карт мало чим корисні, але, якщо ви не забули, облікові записи нерідко шифрують лише уривками, нерідко залишаючи деякі важливі дані, як імена і дати народження, відкритими, і в ряді випадків їх буде достатньо, щоб номери карт були дуже навіть актуальні. І, нарешті, третє - просто персональні дані можуть бути використані проти вас в соціальній інженерії (хоча це дещо дивно турбуватися про такого роду втрату в світлі існування соціальних мереж), та й мало чи як ще можна використовувати наші дані проти нас самих.

Як бачите, проблеми є, і вони актуальні. Байдужість власника сервісу може завдати серйозних втрат як його користувачам, якщо той не потурбувався про надійність сервісу від зломів і втрати даних, так і собі, втративши довіру поточної і майбутньої аудиторії. Що ж тоді можна спробувати запропонувати на випадки, коли дані одного разу все ж таки будуть вкрадені?

1) Найпростіше і логічне, хешуємо паролі. Захист паролів може знизити ризик для користувача, якщо той використовує однакові паролі для різних сервісів. Як не сумно, досі багато де не застосовується навіть цей банальний запобіжний захід. Також, не соромимося користуватися сіллю.

2) Шифруємо також і ті дані, які не використовуються сервісом прямо за призначенням або можуть бути зашифровані без зниження ефективності роботи сервісу. Що можна запропонувати відразу, так це хешування електронних адрес і відповідей на секретні паролі, або інші дані, які використовуються лише при авторизації і схожих операціях. Зазвичай немає потреби зберігати ці дані у відкритому вигляді, якщо вони використовуються одноразово лише при заході в систему. Хоча у даного підходу є і зворотна сторона, сервіс не зможе розсилати вам листи, якщо захоче цього, але в ряді випадків такої потреби немає, і електронна пошта використовується лише для валідації облікового запису.

3) Нарешті, найбільш параноїдальний підхід, за винятком варіанту просто не користуватися цим сервісом. Всі (або майже всі, залежить від конкретної ситуації і сервісу) дані користувача зашифровані, і для їх дешифрування використовується пароль користувача, тобто, стандартна практика відкритих і закритих ключів. Це, зрозуміло створює додаткове навантаження на сервіс, а також не завжди можливий варіант (ті ж самі соціальні мережі, шифрування даних просто не дозволить іншим користувачам їх бачити), але у випадках, коли дані важливі, це мала плата за безпеку.

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

COM_SPPAGEBUILDER_NO_ITEMS_FOUND