GitHub усиливает меры безопасности в связи с успешной коллизионной атакой на SHA-1
Новости Отредактировано
1К открытий1К показов
Около месяца назад мы писали о том, что криптоаналитикам Google совместно с исследователями из голландского НИИ удалось найти коллизию криптографической хеш-функции SHA-1. После этого в GitHub поспешили усилить меры безопасности для предупреждения коллизионных атак.
А при чем здесь GitHub?
Как известно, этот сервис основан на системе контроля версий Git. Данные в Git хранятся в виде объектов, каждому из которых присваивается свой хеш, и делается это именно с помощью алгоритма SHA-1. Напомним, что коллизией хеш-функции называется случай, когда у двух разных массивов данных (в данном случае — у объектов) хеш оказывается одним и тем же.
Git не может хранить два объекта с одинаковым идентификатором, но также не может автоматически определить, какой объект из пары — подлинный. Это в теории дает злоумышленникам возможность подменять оригинальные документы пользователей, а также подделывать их электронные подписи.
Какие меры приняли для предотвращения атак?
Поиск коллизий методом полного перебора еще долго будет оставаться непродуктивным из-за высокой вычислительной сложности хеш-функций SHA-1. В упомянутой выше исследовательской атаке находить коллизии удавалось гораздо быстрее благодаря применению специальных техник, основанных на уязвимости алгоритма SHA-1. Но их использование оставляет следы в двоичном коде, которые можно обнаружить в процессе вычисления хеша для любого из двух объектов коллизионной пары.
Теперь GitHub каждый раз при вычислении хеша с помощью SHA-1 проверяет код на наличие таких следов и прерывает операцию, если обнаруживается, что обрабатываемый объект является частью коллизионной пары. Такие меры предосторожности должны препятствовать активным действиям злоумышленников в отношении пользователей.
Код для выявления следов можно найти в открытом доступе.
Что дальше?
Блокировка коллизий в рамках GitHub — только начало: представители сервиса сообщают о планах создания специальной библиотеки для обнаружения вышеупомянутых следов и её запуска в Git. Который, в свою очередь, рассматривает возможность перехода на более надежные алгоритмы криптографического хеширования, такие как SHA-3 и SHA-256.
1К открытий1К показов