Однажды, когда я работал специалистом по сетевой безопасности достаточно крупной организации, я прочитал небольшую лекцию сотрудникам об основах защиты информации. Через несколько дней, придя на работу обнаружил, что на клавиатурах всех компьютеров лежали Post-It записки с текстом "По почте пришел вирус. Будьте осторожнее". Сотрудница, пришедшая на работу раньше других, обнаружила в почтовом ящике письмо с приаттаченым трояном. Такое же письмо оказалось было доставлено не только ей. Благодаря тому, что она своевременно оповестила большинство сотрудников, массового заражения удалось избежать.
После небольшого разбирательства с кодом трояна, было замечено, что это только "голова", которая при запуске выкачивает по HTTP свое основное тело и передавал управление ему. Поскольку доступ к http был открыт только через прокси, по логам squid'а удалось определить с каких адресов были обращения за ним, и своевременно 'пролечить' заразившиеся системы.
Большинство сетей защищается по периметру, но почта доставляется внутрь сети, а какие-бы антивирусы не стояли - они не могут дать 100% защиту от вирусов в письмах. Кроме того, если письмо будет не результатом глобальной эпидемии, а направленной атакой на сеть фирмы, взломщик достаточно легко может написать свой собственный троян, который не будет обнаруживаться антивирусами (поскольку авторы антивируса не имели возможность добавить штамм вируса в базу. Эвристические методы проверки все еще слишком слабы чтобы определить неизвестный вирус. Да и атакующий может узнать, какой антивирус используется в фирме и проверить, что его код не обнаруживается).
Кроме троянов и вирусов в аттачах, письмо может быть сформировано таким образом, что будет использовать ошибки популярных почтовый клиентов, и исполнять некоторый код.
Добыть E-mail адреса сотрудников фирмы атакующий может многими способами - они есть на сайте самой фирмы, на других сайтах, особенно в форумах, в новостных конференциях, в whitepages ICQ и так далее. Еще вариант - использовать популярную некритичную уязвимость многих почтовых демонов, позволяющих выполнять SMTP username enumeration. При попытке отправить письмо на несуществующего пользователя (RCPT TO) сервер выдает ошибку. Это делает возможным использование широко распространенных в интернете словарей часто употребляемых логинов, чтобы определить достаточно большое число корректных емейлов в системе.
По имеющимся адресам атакующий может проверить, какие из них действительно читаются. Если письм вернулось с сообщением об ошибке (нет такого пользователя), вероятно, что этот человек уже уволился. Если в письме были ссылки (не анонсированные более нигде), и по ним были обращения, то можно узнать не только факт того, что письмо было прочитано, но и узнать на какой с какой машины работает 'жертва', какой браузер использует, и так далее. Даже если получатель пиьсма не станет кликать ни на какие ссылки, все равно существуют методы получить информацию о нем - письмо в HTML формате может содержать картинки или другие ресурсы, которые будут браться с сервера взломщика, и опять же - когда они будет скачиваться, он узнает что 'жертва' прочитала сообщение, какой IP адрес у машины и так далее.
Взломщик может послать письмо всем известным ему сотрудникам организации, и если хоть одно из них оказалось 'результативным', дальнейшая аздача взломщика закрепиться на системе - сделать backdoor или стянуть файл паролей. После этого сам код трояна может стереть себя, чтобы не вызвать подозрений, и даже если потом обнаружиться, что машины была инфицирована, и ее 'пролечат', то уберут только вирус, а доступ взломщика к ней (если он своевременно предпринял необходимые меры) останется.
Варианты защиты от таких атак:
1. Антивирус на почтовом сервере и/или клиентских машинах. Хорошая защита от случайных атак и эпидемий вирусов (в случае если он своевременно обновляется). НЕ способен защитить он 'нацеленной' атаки, когда взломщик специально подбирает трояна так, чтобы он не обнаруживался используемым антивирусом.
2. Real-time Black Lists Например, spamcop,ru. Практически все почтовые сервера умеют использовать RBL. Это позволяет блокировать почту с серверов, замеченых в рассылке спама в последнее время. Нужно предупредить, что среди таких серверов могут оказаться и нужные вам сервера - например почтовые системы многих провадйеров блокируются такими системами из-за того что кто-либо из их клиентов рассылал спам, в результате никто из его клиентов не сможет отправить вам письмо. Кроме того профессиональные спамеры используют много систем и 'крутят' IP адреса на них, в результате даже если один адрес заблокирован, рассылка ведется с другого.
3. Блокирование аттачей. Различными средствами (например procmail на unix) можно блокировать доставку определенных писем пользователям. Например, разрешить передачу исполнимых файлов только системным администраторам, документов - только менеджерам и так далее. Эта мера несколько ущемляет свободу пользователя (они не смогут например переслать самораспаковывающийся архив) поэтому следует заранее получить одобрение начальства на это и объяснить пользователям необходимость этих защитных мер.
4. Блокирование писем от неизвестных отправителей. Можно держать на почтовом сервере базу контактов для каждого внутреннего пользователя, и в случае получения письма для этого пользователя от неизвестного отправителя отсылать тому сообщение с просьбой перепослать письмо после того, как он будет внесен в базу контактов (либо автоматически - например, попросить его зайти по некоторому URL, либо ручками по просьбе получателя). Автоматические рассылочные системы не смогут пройти этот простой тест и письма от них остануться недоставленными.
5. На клиентских машинах должно стоять надежное ПО, с последними патчами, чтобы противостоять атакам на уязвимости mail reader'ов (MUA), кроме того следует отключить все необязательные функции, если без них можно обойтись.
6. Пользователи не должны использовать рабочие емейлы для личной переписки. В идеале внешний мир должен знать о компании всего несколько адресов вида [email protected], [email protected]. Остальные корпоративные емейлы должны быть известны только тем, кто работает с фирмой. Для личной переписки, следует использовать другие емейлы (например, бесплатные с веб интерфейсом). Это затруднит для атакующего поиск сотрудников компании в Интернете. Хороший способ сделать так, чтобы сотрудники не использовали корпоративные адреса для личных нужд - ввести запись всей проходящей почты и известить всех об этом.
7. Spamassasin - spamassassin анализирует содержание текста письма и блокирует те, которые наиболее характерны для спама (e.g. много слов FREE и так далее).
И конечно же одно из самых главных требований для надежной защиты от атак через почту - это обучение персонала. Все пользователи должны знать и понимать к каким последствиям может привести их беспечность при работе с электронной почтой.
Copyright © Центр исследования проблем компьютерной преступности, 2001-2002 Все права защищены.
При публикации информации взятой в нашем каталоге ссылка на http://www.crime-research,ru обязательна. |