Що таке хеші паролів і як їх НЕ можна зберігати

  у розділі Технічні теми 

Passwords

Дуже часто, то тут, то там з’являється інформація про паролі користувачів, викрадені з відомих сайтів.

Щоб непідготовленому читачеві стало зрозуміліше, мушу пояснити як власники сайтів зберігають Ваші паролі.

Для чого взагалі потрібні паролі — зрозуміло. Адже сайт повинен знати хто зайшов в систему.

Але ж тоді сайт повинен десь зберігати список всіх користувачів з їх паролями. Якщо в роботі сайту трапиться якась помилка, то зловмисник може скористатися нею щоб отримати доступ до "секретних" даних, наприклад списку паролів.

Так як від помилок ніхто не може застрахуватися, для безпечного зберігання паролів, розумні програмісти використовують спеціальні технології. Прості, але дієві.

Ша (SHA) всі!

Наприклад, перетворюють Ваш пароль, за допомогою спеціальної формули, у зовсім інший вигляд, такий собі шифр. Його називають хеш.

Ось як виглядають хеші утворені різними методами:

# MD5
SecretPassword = 58d613129c5e71de57ee3f44c5ce16bc
# SHA-1
SecretPassword = 0cae59d777b5a29a0aec9cf1817861929b5cb5e0

Особливістю отримання хешу є те, що формула перетворення одностороння: з паролю можна отримати його хеш, але з хеша не можна отримати сам пароль.

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

Коли зловмисник отримає-таки списки усіх паролів сайту то побачить лише хеші паролів. Їх не можна використати для входу на сайт. Їх не можна "розшифрувати".

Єдиний метод використати їх — перебирати різні слова утворюючи з них хеші та звіряючи з аналогічними (які утворені з заздалегідь відомих слів).

Ось тому, до речі, й рекомендується вживати в паролях різні регістри та спецсимволи — такі слова перевіряються перебором, в останню чергу. На перебір хешів (брутфорс) потрібно багато комп’ютерних ресурсів. Наприклад MD5-хеш паролю з 8-ми символів, теоретично підбереться за 30-50 мільйонів років1 :).

Для спрощення життя хакерам створили список готових хешів для відомих слів — так звані веселкові таблиці (rainbow table). Такі таблиці не потрібно обраховувати — лише звіряти дані.

До речі, зверніть увагу, що довжина хешу не залежить від довжини самого паролю. Проте хеші коротких паролів будуть перевірятися зловмисниками перш за все.

Більше солі!

salt-password

Cерйозні веб-сайти не дозволяють собі зберігати навіть прості хеші. Вони їх "підсолюють" (salted hash) — додають до паролю чи до хешу додаткові символи.

saltedhash(password) = hash(password+salt)
# або
saltedhash(password) = hash(hash(password)+salt)

Після підсолення, отримані хеші сильно змінюються і пошук по веселкових таблицях більше не ефективний.

Такі прості методи, на стороні веб-сайтів, рятують конфіденційні дані користувачів та репутацію фірми.

my.ukrtelecom.ua

До чого я це все?.. Ага.

Прийшов мені лист від "Укртелекому", від сайту де відбувається керування послугами інтернет:

From: feedback@my.ukrtelecom.ua

Шановний Сметана Юрій! Ваш пароль в системі управління послугами my.ukrtelecom.ua: МійПароль.

Я нічого не замовляв, але мене здивувало що у листі було вказано мій пароль. Тобто на веб-сайті my.ukrtelecom.ua він зберігається у відкритому вигляді.

Я відразу відповів на лист:

Доброго дня. Мені прийшов лист, в якому було явно вказано мій пароль.

Скажіть, будь ласка, Ви зберігаєте паролі системи управління послугами у відкритому вигляді (самі паролі а не їх хеші)?

Дякую.

Проте feedback@my.ukrtelecom.ua відповів мені сухою комп’ютерною помилкою, що зв’язатися з цим адресатом неможливо. Я продублював лист на інші адреси, що вказано на сайті, та через форму зворотнього зв’язку.

Цього разу відповіли. Далі просто переписка, без коментарів:

Шановний Юрій!

Дякуємо за те, що Ви користуєтеся послугами ПАТ «Укртелеком»!

Для вирішення данного питання уточніть будь-ласка : - чи звертались Ви з прохання видати ваші реєстраційні дані для сайту http://my.ukrtelecom.ua, - з якої поштової скриньки було надіслано Вам повідомлення з Вашими реєстраційними даними

 

Ні.

Зі скриньки feedback@my.ukrtelecom.ua

Звертаю Вашу увагу, що моє питання таке: Скажіть будь ласка, технічно, сайт my.ukrtelecom.ua зберігає паролі від системи управління послугами у відкритому вигляді (незашифровано, незахешовано)?

 

Шановний Юрій!

...

Зберігає логін та пароль доступу до сайту Ваш браузер у відкритому вигляді. Якщо бажає Ви можете очистити його пам'ять.

 

Доброго дня.

Скажіть будь ласка, чому Ви відповідаєте про паролі в моєму браузері, якщо я питав про паролі у Вашій системі?

Буду вдячний за відповідь на питання, що я задавав.

Будь ласка, повідомте якщо не розумієте про що йдеться чи потребуєте від мене додаткових роз`яснень.

Дякую.

 

Шановний Юрій!

...

Необхідний пароль на сайт або логин договору?

 

Ні, я не просив пароль на сайт чи логін договору.

Будь ласка, якщо Ви не маєте можливості відповісти на моє початкове питання - переадресуйте лист техпідтримці наступного рівня.

Дякую.

 

Шановний Володимир !

...

сайт my.ukrtelecom.ua зберігає паролі від системи управління послугами тількі в тому випадку, як що при регистрации на сайті Ви вказували контактний емейл. Інформація, яку Ви отримали, надійшла на Вашу пошту, так як абонент скористався функціей «Забули пароль»

facepalm

Чомусь мене, цього разу, назвали Володимир. Але це не суттєво. Як хтось казав: "Якщо ви задаєте співрозмовнику одне і теж питання більше 2-х разів, то діалог зайшов в глухий кут...".

Ніхто в «Укртелекомі» так і не захотів зрозуміти про що я говорю.

Паролі клієнтів сайт my.ukrtelecom.ua зберігає у відкритому вигляді. Це оначає що коли (навіть не якщо) вони звідти вислизнуть тисячі клієнтів матимуть з цим проблеми.

Не дивуйтеся якщо Ви чи хтось з Ваших знайомих колись виявить змінений тарифний план чи замовлені додаткові послуги. Принаймні «Укртелеком» це явно не хвилює.

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

Ви все ще користуєтеся небезпечними сайтами? "Тоді ми йдемо до вас!.."


  1. На звичайному домашньому комп’ютері. 


Коментарі