Хакер #305. Многошаговые SQL-инъекции
В браузере Firefox 32 разработчики реализовали очень важную функцию прикрепления публичных ключей (public key pinning) для проверки достоверности цифровых сертификатов сторонних сайтов. С помощью этой функции владельцы сайтов могут принудительно указать, какой конкретно цифровой сертификат от какого центра сертификации они разрешают использовать для установки безопасного соединения.
Проблема достоверности цифровых сертификатов особенно остро встала в последние годы, в том числе в результате намеренного проведения MiTM-атак по заказу национальных правительств нескольких стран. Подмену сертификатов сложно обнаружить на стороне сервера. Фактически, не существует полностью надёжного способа сделать такую проверку. Правительство просто заставляет центр сертификации выпустить новый сертификат, который принимается браузерами как настоящий.
Например, последним инцидентом в этой области стало появление нескольких поддельных цифровых сертификатов на домены Google, выданных Национальным центром сертификации (NIC) Индии в июне-июле 2014 года. Сертификаты NIC Индии входят в каталог Indian Controller of Certifying Authorities (India CCA), который является частью корневого каталога Microsoft Root Store. Поэтому, к сожалению, фальшивые сертификаты принимались в большом количестве программ под Windows, включая браузеры.
Для браузера Chrome несколько лет назад компания Google активировала функцию прикрепления публичных ключей, но только для своих собственные доменов, поэтому «атаку» NIC India быстро обнаружили.
Mozilla подошла к вопросу более фундаментально и хочет защитить не только свои, но и другие домены. Организация объявила, что собирается внедрить в Firefox поддержку расширения Public Key Pinning Extension for HTTP. Это изменение уже анонсировано в баг-трекере.