без лишних глаз 3APA3A (WWW.SECURITY.NNOV.RU) Спецвыпуск: Хакер, номер #072, стр. 072-092-10 ЧТО ЗАЩИЩАЕТ TLS TLS ЗАЩИЩАЕТ КАК ПЕРЕДАВАЕМЫЕ ДАННЫЕ, ТАК И ПРОЦЕСС АУТЕНТИФИКАЦИИ (STLS ДАЕТСЯ ДО КАКОЙ-ЛИБО ДРУГОЙ КОМАНДЫ). ОДНАКО, ПОСКОЛЬКУ В БОЛЬШИНСТВЕ СЛУЧАЕВ ИСПОЛЬЗУЕТСЯ САМОПОДПИСАННЫЙ СЕРТИФИКАТ, ВЕРОЯТНОСТЬ АТАКИ ПОЛНОСТЬЮ НЕ УСТРАНЯЕТСЯ. АТАКУЮЩИЙ, ВСТАВШИЙ МЕЖДУ КЛИЕНТОМ И СЕРВЕРОМ, МОЖЕТ ПОПЫТАТЬСЯ ПОДСУНУТЬ СОБСТВЕННЫЙ СЕРТИФИКАТ, ХОТЯ ПОДОБНЫЙ ТИП АТАКИ СУЩЕСТВЕННО СЛОЖНЕЕ В РЕАЛИЗАЦИИ. КЛИЕНТ, ОСОБЕННО ПРОИЗВОДЯЩИЙ ПОДКЛЮЧЕНИЕ ВПЕРВЫЕ, ВЫНУЖДЕН ПРИНЯТЬ ПРЕДУПРЕЖДЕНИЕ. ПОЭТОМУ НЕ СТОИТ ОТКАЗЫВАТЬСЯ ОТ БЕЗОПАСНОЙ АУТЕНТИФИКАЦИИ ДАЖЕ ПРИ ИСПОЛЬЗОВАНИИ TLS. Реализация APOP (фрагмент кода взят из собственного POP3-сервера) int do_apop(struct authinfo * ai, void * arg){ #define param ((POP *)arg) char digest1[16]; char digest2[16]; MD5_CTX Context; if(!ai->clearpasswd) return 202; MD5Init(&Context); MD5Update(&Context, param->banner, strlen(param->banner)); MD5Update(&Context, ai->clearpasswd, strlen(ai->clearpasswd)); MD5Final(digest1, &Context); scan_digest(param->pop_parm[2], digest2, 16); if(memcmp(digest1, digest2, 16)) return 203; return callback_func(ai, arg); /* callback_func должна определить расположение mailbox/maildrop и uid/gid пользователя по authinfo*/ #undef param } …. char * name = p->pop_parm[1]; char digest[16]; … (void)strncpy(p->user, name, MAXUSERNAMELEN-1); if((res = scan_digest(p->pop_parm[2], digest, 16)) != 16) return pop_msg(p,POP_FAILURE, "Invalid APOP digest"); if(!auth_getuserinfo("pop3", name, do_apop, p)){ p->auth = COURIER_APOP; } WWW WWW.SECURITY.NNOV.RU/ARTICLES/NTLM/ «NTLM И КОРПОРАТИВНЫЕ СЕТИ» — ПОДРОБНО ПРО NTLM И СВЯЗАННЫЕ С НИМ ПРОБЛЕМЫ WWW.SECURITY.NNOV.RU/ADVISORIES/OESPA.ASP «OUTLOOK EXPRESS AND SPA (SECURE PASSWORD AUTHENTICATION)» — ПРО SPA МНЕНИЕ ЭКСПЕРТА От кого защищаемся Защита чего бы то ни было — дело, безусловно, полезное, но главное в нем - не переусердствовать. Не искать шпионов под кроватью и не запираться в бронированном сейфе из страха перед вездесущими хакерами. Нужно ли принимать меры по усилению безопасности электронной почты? Прежде чем ответить «да», нужно определиться: а от кого, собственно, защищаемся? Сосед по лестничной площадке не прочитает переписку в любом случае (если только незашифрованный трафик физически не проходит через него), а хакеры, проявившие интерес к чьей-то персоне/организации, скорее всего прибегнут к атаке на клиентскую машину, перехватывая содержимое письма прежде, чем оно будет зашифровано. Использование стойких механизмов аутентификации, цифровых подписей и шифрования, конечно, затрудняет атаку, но отнюдь не делает ее невозможной. И к тому же достается отнюдь не бесплатно в плане юзабилити, процессорного времени и сетевого трафика. Крис Касперски |