На днях появился в прессе пост о дыре в одном из интернет банков нашей страны. В двух словах, студент-докторант показал, что в некоторых случаях можно обмануть авторизацию и зайти в банк, зная только ваше имя пользователя. Смотрим видео.
Технически он сгенерировал selfsigned сертификат и импортировал его в бразуер. Почему приложение не делает никаких проверок никто не знает. И уже не узнает. Самое интересное, что данная проблема не только у СЕБ банка. Какое-то время назад точно такая же проблема была и у другого крупного банка нашей станы. Студентом был проведен большой анализ и кому интересно есть целая научная статья на эту тему http://kodu.ut.ee/~arnis/tlscca.pdf с полным техническим описание проблемы, почему она есть и как ее решить. А также как правильно настроить ваш Апач, чтоб избежать подобных проблем. Мой совет - если у вас важная инфраструктура, то не пожалейте денег на penetration test.
A client certificate that is issued by a trusted CA is required only in cases where the client has no account on a server and where the server would be required to know the user’s government issued identity for opening such an account. Most service providers only care about a user’s identity established after the registration process. Therefore, in the process of account registration or after that, any service provider can register a client’s certificate, and this can be used to authenticate the user thereafter.
....
Recent incidents involving the compromise of trusted CAs DigiNotar [28] and Comodo [29] and reported misbehavior of the CAs Trustwave [30] and TURKTRUST [31] show that MITM attacks using fraudulent certificates issued by trusted CAs are very realistic. Even if an attacker is not powerful enough to obtain a certificate issued by a trusted CA, he can perform a MITM attack using a self-generated certificate and if the victim clicks through browser security warnings, can achieve successful impersonation of the legitimate server.