Рубрика развивается при поддержке

Ozon.ru перестал присылать старые пароли пользователям в открытом виде Материал редакции

Пользователи впервые заметили эту проблему в 2012 году.

В закладки

Онлайн-ритейлер Ozon.ru прекратил присылать старые пароли пользователям в открытом виде. Об этом со ссылкой на слова техдиректора компании Анатолия Орлова пишет TJ.

Орлов рассказал о новой системе хранения паролей в ответ на комментарий одного из пользователей «Хабра». По словам Орлова, он попросил исправить проблему с паролями в апреле 2018 года, когда приступил к работе в Ozon.ru.

Ветка находилась в комментариях под материалом об Ozon.ru Скриншот Telegram-канала G33ks

Сейчас ветка с этими комментариями удалена: возможно, из-за мата, который нарушает правила «Хабра». Представитель компании сообщила, что слова Орлова на скриншоте вырваны из контекста.

Редактор TJ попробовал восстановить пароль от Ozon.ru и получил ссылку на сброс пароля. С 2012 года пользователи «Хабра» и «Пикабу» жаловались, что ответ на попытку восстановить пароль Ozon.ru присылал старый пароль в незашифрованном виде.

Обновлено: Анатолий Орлов уточнил, что речь в комментариях шла только о передаче, а не о хранении паролей.

На «Хабре» обсуждалось следующее: как Ozon раньше отправлял (а не хранил) пользователям пароли при их сбросе. Так вот раньше, если пользователь восстанавливал пароль с привязанной к аккаунту почты, Ozon ему этот пароль присылал ответным письмом. При этом если пароль не восстанавливали, а пользователь регистрировался или менял пароль сам, то Ozon ему ничего не высылал, естественно.

При этом в базе пароли хранились в кодированном виде. Не в открытом доступе Excel-табличке, а в виде кода. Это означает, что получить эти пароли мог — да и то теоретически — сотрудник компании, у которого был доступ в базу и ключ кодирования. Отслеживание поведения таких сотрудников с доступами — это отдельная история, не будем вдаваться в подробности, чтобы никого не провоцировать.

В 2018 году пришла новая команда, которая сделала серьезную работу для усиления безопасности. Сами понимаете, интернет-мошенники все изобретательнее, а пользователей у компании все больше. Сейчас все пароли пользователей хранятся в хэшированном виде (aka «закодированные необратимым образом») — от пароля вычисляется необратимая функция, в результате проверить его можно, вычислив от него такую же функцию, но восстановить его невозможно. Лучше всего оберегаются те секреты, которые ты сам не знаешь.

Анатолий Орлов
техдиреткор Ozon.ru
{ "author_name": "Лера Михайлова", "author_type": "editor", "tags": ["\u043d\u043e\u0432\u043e\u0441\u0442\u044c","\u043d\u043e\u0432\u043e\u0441\u0442\u0438","ozon"], "comments": 58, "likes": 25, "favorites": 3, "is_advertisement": false, "subsite_label": "services", "id": 54419, "is_wide": false, "is_ugc": false, "date": "Wed, 26 Dec 2018 18:32:55 +0300", "is_special": false }
Облачная платформа
Основа для цифровизации бизнеса
0
{ "id": 54419, "author_id": 78969, "diff_limit": 1000, "urls": {"diff":"\/comments\/54419\/get","add":"\/comments\/54419\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/54419"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 200396, "last_count_and_date": null }
58 комментариев
Популярные
По порядку
Написать комментарий...
14

Просто невероятно! 6+ лет, сотни новых ГОшников и офис в Москва-сити понадобились чтобы избавиться от стандартной ошибки начинающего веб-разработчика!

Ответить
7

Что следующее в ростере задач? Валидация входящих строк? Вырезание из входящих данный SQL-запросов?

Ответить
1

(int)$_GET[".....

Ответить
–1

это из мира PHP же)

Ответить
0

для SQL же))

Ответить
–1

" 20лет писались в постель, а вот сейчас научились не писаться "

Ответить
1

Кажется, из коммента их техлида на хабре )

Ответить
–1

Наш техлид любит крепкое словцо и его комментарий таки о другом)

Ответить
12

Прекратил присылать != прекратил хранить ;-)

Ответить

Комментарий удален

1

Если не в excel, то в чем? Google sheets?

Ответить
1

все пароли хранятся в хэшированном виде. Вот тут немного теории :) https://en.wikipedia.org/wiki/Cryptographic_hash_function

Ответить
–5

Какая разница, если сотрудник может расшифровать это обратно. Не говоря уже о том, что может быть утечка.

Ответить
3

Если сотрудник сможет это сделать, то нет ему смысла в озоне штаны протирать. Наверное нобелевку получит по математике, жаль, что ее не существует...

Ответить
0

А в письмо пароль по-вашему как подставляется? Его нобелевские лауреаты составляют?

Ответить
3

В озоне уже никак, вы статью читали? Или сразу в комменты?

Ответить
0

Будем надеяться, что не в md5

Ответить
0

Всегда можно засолить огурчики.

Ответить
0

"А в письмо пароль по-вашему как подставляется? Его нобелевские лауреаты составляют?"

Если вы видите такой сервис, который вам присылает пароли (при регистрации или при восстановлении), то бегите от него сразу же. Пароли там хранятся в открытом виде.
А про хэш-функцию вам стоит всё-таки почитать. Она необратимая. Только перебор и радужные таблицы (это если без соли)

Ответить
0

Вы с ответом веткой промахнулись видимо. Я в курсе, что возникновение пароля в открытом виде где бы то ни было это звонок. Насчёт обратимости хеша: он необратим, но имея хеш и зная алгоритм, по которому он получен, можно сбрутить исходный пароль. Буквально 10 лет назад считалось, что md5 надёжный, а сейчас он брутится за пару секунд.

Ответить
0

"но имея хеш и зная алгоритм, по которому он получен, можно сбрутить исходный пароль"

Оххх... Александр, вы с терминами не в ладах и всё у вас перепутано. "Сбрутить" - это изменённое от "брут-форс" (brute-force), "грубая сила". А брутфорс - это перебор вариантов. И это не вяжется с обратным декодированием по алгоритму - это разные процессы.
Второе. Алгоритм хэширования MD5 открыт, все знают его реализацию. Но его ценность именно в том, что ДАЖЕ зная алгоритм НЕВОЗМОЖНО по нему восстановить исходный пароль. Если это не так, то я требую ссылку на статью, где приводится доказательство восстановления пароля, зная хэш MD5 и этот алгоритм.
Но вы правы в том, что md5 ненадёжен стал несколько лет назад. Это связано с тем, что появились мощные процессоры и видеокарты, которые могут перебирать (ага, брутфорс) сотни гигахэшей в секунду (сотни миллиардов и триллионов хэшей в секунду). Поэтому да, он стал ненадёжен. Но не из-за открытости алгоритма. И MD5 заменили на более стойкие к перебору алгоритмы хэширования, например bcrypt, которые специально были замедлены в миллиарды раз по сравнению с md5

Ответить
0

Сейчас объясню. Знать нужно не алгоритм хеширования md5, а алгоритм, который подставляет что-либо в него. Если речь о сайтах, то распространено «соление»: добавление конкатенацией к паролю какой-то строки. Так вот, если знать хеш и знать, какие идут преобразования пароля перед подстановкой в функцию md5, можно именно брутить пароль, повторяя вычисление хеша пока хеши не совпадут. Это я и имел в виду.

Ответить
0

Здесь я согласен. Но чем длиннее пароль, тем дольше будет идти брутфорс.

Ответить
0

"Буквально 10 лет назад считалось, что md5 надёжный, а сейчас он брутится за пару секунд."

Александр, я очень хотел бы посмотреть, как вы из MD5 за пару секунд восстановите пароль-фразу объёмом с томик "Войны и мира" Толстого.
Если вы это сделаете, то можете получать Нобелевку за изобретение нового алгоритма сжатия-декодирования, когда "Война и мир" упаковывается в 32 символа, а затем обратно распаковывается в сотни страниц текста.

Ответить
0

Прекратите паниковать уже, никто не собирается получать исходную строку из хеша. Выше пояснил что имел в виду)

Ответить
0

Ну так бы и написали - радужные таблицы. Знание терминологии упрощает общение между коллегами

Ответить
0

Какая разница, как это назвать, мне больше нравится когда могут просто на пальцах объяснить как это работает ;)

Ответить
0

md5 без соли? Словарики есть.

Ответить
0

md5? без соли? проще продолжать пароли в открытую хранить.

Ответить
0

Не сможет. Хеш это контрольная сумма значения, которая не поддаётся реверсии, особенно если используются последние методы хеширования

Ответить
0

Если используются последние методы хеширования :)

Ответить
0

Но хеши то в облаке хранятся? Значит гугл щитс?

Ответить
0

Это было бы смешно, если б из хэша можно было узнать пароль)

Ответить
0

В такой постоновке вопроса, ответом будет "можно"

Ответить
1

всё-таки рекомендуем почитать теорию про хэши:)

Ответить
0

Если есть возражения, пиши их сам, так разговор пойдет продуктивнее:)

Ответить
0

"Можно", но не всегда. При определённых условиях (пароли короткие, нет соли, md5 вместо bcrypt)

Ответить
0

Поэтому я и написал что можно именно при такой постановке вопроса

Ответить
0

Не равно же)

Ответить
5

Анатоликc наведет там порядок, я даже и не сомневаюсь.

Ответить
–1

настолько какой отвратный магазин такой технологически и отсталый сервис

Ответить
9

настолько кривонаписанный комментарий какой лайк еле смог так поставить лайк писал уже я да привет буковы сложно очень писать лучше простите минусуйте

Ответить
1

Спасибо за пуш, знаю теперь где покупать

Ответить
3

(в Перекрёстке)

Ответить
1

Надо уважать традиции старпёров))))

Ответить
1

Новость

Ответить
1

Как то взломали мой акк в Озоне и заказали разного Коэльо в Воронеж. Отменил заказ, поменял пароли. Опять взломали, опять заказали. Раза после третьего помогло, после общения со службой поддержки)

Ответить
0

А точно ли вы ни по каким там ссылкам не из каких там писем не переходили?)

Ответить
0

Нет. Таккя штука была только с Озоном, причем лк я пользовался за 2-3 года до этого, даже не знал, что по партнерке пару тысяч накапало. Не знал, пока не пришла смс о заказе книжек в Воронеж)

Ответить
0

а можете рассказать, как давно был этот случай?

Ответить
0

В августе 17-го

Ответить
0

Да, лучше поздно, чем никогда!

А 2fa планируют?

Ответить
0

уже работает аутентификация по номеру телефона

Ответить
0

Комментарий удален по просьбе пользователя

Ответить
1

планируем скоро добавить многое)

Ответить
0

Domru (Интернет провайдер), до сих пор присылает пароли в открытом виде на почту и телефон. Хотя бы новый бы генерировали и в открытом присылали, хоть немного лучше было бы

Ответить
0

я знаю провайдеров, чьи тётеньки в окошке узнают пароли по телефону, а тебе отдают записанными от руки на бумажке.

Ответить
0

Это трэш, конечно. Я бы этой тётеньке продиктовал такой пароль: 1|llIl||ii!!i!驗//\碼\o0OоООо證аАеaEA - сочетание русских, английских букв и символов L-маленькая, i-большая, | и пр. и ещё добавил бы иероглифов)
Пусть напишет такой пароль от руки, а пользователь пусть вобъёт его

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "page_type": "default" }