Страницы

Будущее парольной защиты

На конференции PHDays был очень интересный доклад Александра Solar Designer Песляка (автор John the ripper) про будущее парольной защиты.

Несмотря на бурное развитие алгоритмов аутентификации в последнее время, пароль есть и будет еще много лет самым распространенным способом разграничения доступа.
Ни двухфакторная аутентификация с помощью одноразовых паролей (OTP) и/или SMS, ни электронные ключи, ни процедуры OAuth не пошатнули сколь либо существенно позиции пароля, потому что пароль - это просто и удобно.
Оптимальным способом хранения пароля на стороне сервера является хэширование. Восстановить пароль по известному хэшу - задача сложная и зачастую требующая больших ресурсов/времени. Однако уязвимости и недостатки алгоритмов хэширования + скачкообразных характер научно-технического прогресса частенько играют злую шутку над разработчиками (кто мог представить 10 лет назад что пароли будут ломать видеокарты и доступные  любому пользователю "облака"?).
Не успел Александр рассказать нам про важность "соли" в хэше - как в июле один за другим посыпались утечки несолёных хэшей из крупных и серьёзных интернет проектов.
Еще одна идея про будущее алгоритмов хэширования, высказанная Solar Designer'ом, показалась мне очень актуальной: 
современные алгоритмы хэширования построены главным образом на сложности математических вычислений (т.е. опираются на ресурсы процессора). Использование GPU и программируемых чипов FPGA позволило ускорить в 1000 раз скорости узкоспециализированных математических вычислений, тем самым снизив криптостойкость алгоритмов хэширования. Удельная стоимость процессорных ресурсов резко снижается с ростом производительности чипа за счёт оптимизации производства (на одном чипе могут располагаться сотни конвейеров, особенно если выбросить с чипа лишнюю кэш память). В то время как удельная стоимость памяти остается практически постоянной с ростом её объема. Следовательно рулить в будущем будут те криптоалгоритмы, которые активно используют процессорный кэш.
Стойкий криптоалгоритм должен содержать в себе код, активно использующий для промежуточных вычислений достаточно большой объём памяти, что будет препятствовать перебору сильнее, чем "пару дополнительных итераций хэширования".

Примером такого подхода может служить новая интернет-валюта LiteCoin, которая является практически полной аналогией BitCoin за исключением того, что LiteCoin неэффективно добывать с помощью видеокарт.

Но вернемся теперь к специализированным устройствам по подбору паролей. 

На днях ведущая отечественная и мировая компания Elcomsoft, специализирующаяся на взломе паролей, анонсировала интеграцию своих продуктов с FPGA платами Pico Computing. Суммарная эффективность, по словам Elcomsoft, в 10-200 раз больше чем использование ПК с мощной видеокартой. 

Мощность платы Pico c 6 чипами М-501, которая фигурирует в анонсе ElcomSoft, раз в 10 меньше вот такого ящика, набитого FPGA чипами от Butterfly labs:
Эта же лаборатория обещает выпустить в октябре устройство мощностью 3.5 Гигахэша/с (что примерно в 8 раз мощнее чем топовая видеокарта от ATi Radeon 7970) за 149$!
Топовый ящик от BFL стоимостью 30 000$ будет обладать производительностью в 1 террахэш в секунду! 
Однако в отличие от Pico Computing, которая раздает желающим SDK, BFL с этим делом не спешит и поэтому "брутальные" коробочки пока еще не получили особого распространения.
Сейчас специализированные устройства на базе контроллеров FPGA используются, в основном, для добычи BitCoin, откуда они уже вытеснили за счёт скорости и экономичности топовые видеокарты от ATi. 
Выглядит коробка (BitForce Single) так:
 внутри два FPGA чипа от BFL. Большую часть коробки занимают 3 кулера и радиаторы.
Для питания используется 120 ваттный БП (сама коробка ест где-то 80 ватт). Для подключения к ПК - miniUSB. Мощность коробки практически в 2 раза превосходит мощность топовой видеокарты от ATi 7970 и составляет порядка 850 мегахэшей/с. Количество одновременно работающих девайсов не ограничено. Итоговая мощность пропорциональна количеству подключенных девайсов.

Слабое место на сегодняшний день - это ПО. Ни одна из утилит по взлому паролей сегодня не работает с устройствами BFL, что связано с закрытостью платформы. Однако авторы BitForce обещают выпустить под это дело SDK и тогда дело сдвинется с мертвой точки.

Кстати BitForce Single можно использовать с одноплатовым 25$ компьютером Raspberry Pi! А это значит, что можно создать компьютер <200$ размером с крушку для кофе и мощностью (для узкоспециализированных задач типа подбора паролей) со средненький датацентр. Прикольно, да?


4 комментария: