Ученые Боннского университета провели исследование, призванное оценить навыки создания систем безопасного хранения паролей у программистов-фрилансеров. Эксперимент показал, что большинство независимых разработчиков не задумывается о защите пользовательских ключей, если заранее не указать на ее необходимость. Более того, даже те специалисты, которые реализовали  криптозащиту, использовали слабые алгоритмы или применяли кодирование и хеширование вместо шифрования.

Исследователи разместили на портале freelance.com задачу по созданию системы регистрации пользователей для вымышленной социальной сети. На объявление откликнулись 43 программиста, которых разделили на четыре группы:

  • P100 — специалисты с оплатой €100, которых предупредили о необходимости безопасного хранения паролей;
  • N100 — специалисты с оплатой €100, которых не предупредили о необходимости безопасного хранения паролей;
  • P200 — специалисты с оплатой €200, которых предупредили о необходимости безопасного хранения паролей;
  • N200 — специалисты с оплатой €200, которых не предупредили о необходимости безопасного хранения паролей.

Оценив выполненное задание, эксперты пришли к выводу, что размер вознаграждения влияет на безопасность конечного продукта незначительно. Программисты, получившие за свою работу больше, показали схожие результаты с разработчиками, чьи услуги обошлись дешевле. Пароли хранились в зашифрованном виде в 5 системах, созданных за €100, и в одиннадцати, написанных за €200.

Намного сильнее на защиту пользовательских данных повлияло упоминание необходимости шифрования данных в техническом задании. Как показало исследование, большинство участников (13 из 21) групп P100 и P200 включили различные алгоритмы безопасности для хранения паролей в свои системы.

Ученые попросили 18 испытуемых, чьи программы изначально хранили ключи в виде обычного текста, доработать их, однако и после этого три разработчика оставили пароли в открытом виде. Эксперты отмечают, что в итоге при выборе систем шифрования лишь 12 программистов использовали надежные алгоритмы SHA-256 и Bcrypt, в то время как остальные отдали предпочтение более слабым решениям. Как следует из отчета аналитиков, 8 разработчиков применили стандарт Base64, а еще 10 — хеш-функцию MD5. Инструменты для расшифровки этих алгоритмов легко найти в Интернете.

Специалисты надеются, что проблема ненадежного хранения секретных ключей уйдет в прошлое с повсеместным распространением технологии WebAuthn, которая в марте этого года официально стала отраслевым стандартом. Метод, основанный на наборе инструкций FIDO2, позволяет осуществить беспарольную аутентификацию при помощи биометрических данных без передачи персональной информации на сервер.

Категории: Аналитика, Кибероборона