Установка Sendmail в качестве транзитного почтового релея
Обновлено: 01.07.2025
Настраиваем sendmail (8.12.6/7) в качестве транзитного почтового релея.
Установка sendmail
Сначала устанавливаем из портов sendmail c поддержкой cyrus sasl (система аутентификации).
Настройка sendmail
Будем считать, что мы настраиваем все те же два виртуальных почтовых домена: perldoc.ru и perlfaq.ru. Для настройки sendmail в каечстве транзитного почтового сервера необходимо кроме файлов aliases и access
создать (изи изменить) еще три файла:
- freebsd.mc
- relay-domains
- mailertable
relay-domains
В этом файле содержатся имена всех доменов, для которых наш сервер является транзитным. Файл расположен в каталоге /etc/mail и представляет собой список вида
domain1.com domain2.com ... ...
В этот файл мы добавляем строки
perldoc.ru perlfaq.ru
mailertable
В файле mailertable мы указываем sendmail, куда перенаправлять почту, пришедшую на адреса в доменах perldoc.ru и perlfaq.ru. Поскольку наш сервер - транзитный, мы должны прописать
perldoc.ru smtp:mail.perldoc.ru perlfaq.ru smtp:mail.perlfaq.ru
Вся почта, пришедшая на любые адреса доменов perldoc.ru и perlfaq.ru будет направляться на почтовые сервера mail.perldoc.ru и mail.perlfaq.ru соответственно.
freebsd.mc
Теперь нам осталось только изменить конфигурацию файла freebsd.mc, чтобы sendmail научился работать с виртуальными почтовыми доменами. Здесь надо понимать, что в том случае, когда существует файл, у которого имя совпадает с названием машины (например, для машины с именем genius файл будет genius.mc), он используется вместо файла freebsd.mc.i
Вот примерный вид конфигурационного файла:
1 divert(0) 2 VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.10.2.16 16:39:14 gshapiro Exp $') 3 OSTYPE(freebsd4) 4 DOMAIN(generic) 5 6 FEATURE(access_db, `hash -o -T/etc/mail/access') 7 FEATURE(blacklist_recipients) 8 FEATURE(local_lmtp) 9 FEATURE(mailertable, `hash -o /etc/mail/mailertable') 10 dnl FEATURE(virtusertable, `hash -o /etc/mail/virtusertable') 11 define(`confCR_FILE', `/etc/mail/relay-domains')dnl 12 dnl Uncomment to allow relaying based on your MX records. 13 dnl NOTE: This can allow sites to use your server as a backup MX without 14 dnl your permission. 15 dnl FEATURE(relay_based_on_MX) 16 17 dnl DNS based black hole lists 18 dnl -------------------------------- 19 dnl DNS based black hole lists come and go on a regular basis 20 dnl so this file will not serve as a database of the available servers. 21 dnl For that, visit http://dmoz.org/Computers/Internet/Abuse/Spam/Blacklists/ 22 23 dnl Uncomment to activate Realtime Blackhole List 24 dnl information available at http://www.mail-abuse.com/ 25 dnl NOTE: This is a subscription service as of July 31, 2001 26 FEATURE(dnsbl) 27 dnl Alternatively, you can provide your own server and rejection message: 28 FEATURE(dnsbl, `blackholes.mail-abuse.org', `"550 Mail from " $&{client_addr} " rejected, see http://mail-abuse.org/cgi-bin/lookup?" $&{client_addr}') 29 30 dnl Dialup users should uncomment and define this appropriately 31 dnl define(`SMART_HOST', `your.isp.mail.server') 32 33 dnl Uncomment the first line to change the location of the default 34 dnl /etc/mail/local-host-names and comment out the second line. 35 dnl define(`confCW_FILE', `-o /etc/mail/sendmail.cw') 36 dnl define(`confCW_FILE', `-o /etc/mail/local-host-names') 37 38 dnl Uncomment both of the following lines to listen on IPv6 as well as IPv4 39 dnl DAEMON_OPTIONS(`Name=IPv4, Family=inet') 40 dnl DAEMON_OPTIONS(`Name=IPv6, Family=inet6') 41 42 TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 PLAIN LOGIN')dnl 43 dnl define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 PLAIN LOGIN')dnl 44 enl define(`confDEF_AUTH_INFO', `/etc/mail/auth/auth-info')dnl 45 FEATURE(`no_default_msa')dnl turn off default entry for MSA 46 DAEMON_OPTIONS(`Port=25, Name=MSA, M=E')dnl 47 48 define(`confMAX_RCPTS_PER_MESSAGE', `10') 49 define(`confMAX_MESSAGE_SIZE', `1048576') 50 51 define(`confBIND_OPTS', `WorkAroundBrokenAAAA') 52 define(`confMAX_MIME_HEADER_LENGTH', `256/128') 53 define(`confNO_RCPT_ACTION', `add-to-undisclosed') 54 define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy') 55 MAILER(local) 56 MAILER(smtp)
В строке 10 мы указываем имя файла трансляции виртуальных пользователей в настоящих и направление пересылки почты, а в 11-й - имена доменов, для которых мы пересылаем почту.
Запуск и тестирование
Собрав и установив файлы конфигурации sendmail, протестируем результат нашей работы:
telnet relay1.perldoc.ru 25 Escape character is '^]'. 220 relay1.perldoc.ru ESMTP Sendmail 8.12.7/8.12.7; Sun, 18 Jan 2004 08:08:52 +0300 (MSK) helo stellar 250 relay1.perldoc.ru Hello stellar [XXX.XXX.XXX.XXX], pleased to meet you mail from:stellar@perldoc.ru> 250 2.1.0... Sender ok rcpt to: 250 2.1.5 ... Recipient ok data 354 Enter mail, end with "." on a line by itself from: to: test passed . 250 2.0.0 i0I58qiZ007078 Message accepted for delivery quit 221 2.0.0 relay1.perldoc.ru closing connection Connection closed by foreign host.
При этом в лог-файле должна быть примерно такие записи:
Jan 18 08:09:40 fw sm-mta[7078]: i0I58qiZ007078: from=
Установка и настройка sendmail
Обновлено: 01.07.2025
Настраиваем sendmail (8.12.6/7/8) для виртуального почтового хостинга.
Установка sendmail
Сначала устанавливаем итз портов sendmail c поддержкой cyrus sasl (система аутентификации).
cd /usr/ports/mail/sendmail-sasl make install
После установки sendmail мы должны изменить файл /etc/make.conf. Добавляем в него строчку
SENDMAIL_CF_DIR= /usr/local/share/sendmail/cf
Если до этого стоял более старый sendmail, устанавливаем файл submit.cf
make submit.cf
Для запуска sendmail будем использовать следующий сценарий (переименуем его в удобоваримый формат):
mv /usr/local/etc/rc.d/sendmail.sh.sample /usr/local/etc/rc.d/030.sendmail.sh
Для нормального запуска обновленной версии мы должны указать путь к ней (файл /etc/mail/mailer.conf). Это можно сделать либо при помощи команды
make mailer.conf
либо вручную, изменив файл mailer.conf:
sendmail /usr/local/sbin/sendmail send-mail /usr/local/sbin/sendmail mailq /usr/local/sbin/sendmail newaliases /usr/local/sbin/sendmail hoststat /usr/local/sbin/sendmail purgestat /usr/local/sbin/sendmail
На этом установка sendmail окончена. Осталоь столько запустить его командой
/usr/local/etc/rc.d/030.sendmail.sh start sendmail sm-msp-queue
Сообщения sendmail sm-msp-queue говорят о том, что все прошло нормально.
Настройка sendmail
Будем считать, что мы настраиваем два виртуальных почтовых домена: perldoc.ru и perlfaq.ru. Для настройки sendmail c поддержкой виртуального постового хостинга нам потребуется создать (или изменить) следующие файлы:
- freebsd.mc
- aliases
- access
- local-host-names
- virtusertable
aliases
Этот файл описывает пользовательские псевдонимы, используемые sendmail. Файл расположен в каталоге /etc/mail и представляет собой список вида
имя addr_1, addr_2, addr_3...
Более подробно структура файла aliases описана в aliases (5). В этот файл мы добавляем строку
root: admin@perldoc.ru
Вся локальная почта, адресованная пользователю root, теперь будет приходить на адрес admin@perldoc.ru.
access
В этом файле мы указываем, для каких IP адресов sendmail должен принимать и пересылать почту. Поскольку для эих целей мы будем использовать аутентификацию cyrus sasl, мы разрешим только отсылку с локального хоста
localhost.localdomain RELAY localhost RELAY
local-host-names
В этом файле мы храним названия доменов, для которых наш сервер должен обрабатывать почту. Поскольку мы хотим использовать наш сервер для двух виртуальных почтовых доменов perldoc.ru и perlfaq.ru, пропишем их в файл:
perldoc.ru perlfaq.ru
virtusertable
В файле virtusertable мы указываем sendmail, куда направлять почту, пришедшую на адреса в доменах perldoc.ru и perlfaq.ru.
stellar@perldoc.ru stellar-perldoc.ru admin@perldoc.ru admin-perldoc.ru @perldoc.ru error:nouser No such user here stellar@perlfaq.ru stellar-perlfaq.ru @perlfaq.ru error:nouser No such user here
Вся почта, пришедшая на адрес stellar@perldoc.ru будет направляться в почтовый ящик пользователя stellar-perldoc.ru, а почта, пришедшая на admin@perldoc.ru, соответственно будет отсылаться пользователю admin-perldoc.ru. Тоже самое будет и для домена perlfaq.ru. Если на наш домен будет прислана почта с несуществующем пользователем, сработает строчка
@perldoc.ru error:nouser No such user here
и sendmail откажется принимать такое сообщение.
freebsd.mc
Теперь нам осталось только изменить конфигурацию файла freebsd.mc, чтобы sendmail научился работать с виртуальными почтовыми доменами. Здесь надо понимать, что в том случае, когда существует файл, у которого имя совпадает с названием машины (например, для машины с именем genius файл будет genius.mc), он используется вместо файла freebsd.mc
Вот примерный вид конфигурационного файла:
1 divert(0) 2 VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.10.2.16 2002/05/22 16:39:14 gshapiro Exp $') 3 OSTYPE(freebsd4) 4 DOMAIN(generic) 5 6 FEATURE(access_db, `hash -o -T/etc/mail/access') 7 FEATURE(blacklist_recipients) 8 FEATURE(local_lmtp) 9 dnl FEATURE(mailertable, `hash -o /etc/mail/mailertable') 10 FEATURE(virtusertable, `hash -o /etc/mail/virtusertable') 11 12 dnl Uncomment to allow relaying based on your MX records. 13 dnl NOTE: This can allow sites to use your server as a backup MX without 14 dnl your permission. 15 dnl FEATURE(relay_based_on_MX) 16 17 dnl DNS based black hole lists 18 dnl -------------------------------- 19 dnl DNS based black hole lists come and go on a regular basis 20 dnl so this file will not serve as a database of the available servers. 21 dnl For that, visit http://dmoz.org/Computers/Internet/Abuse/Spam/Blacklists/ 22 23 dnl Uncomment to activate Realtime Blackhole List 24 dnl information available at http://www.mail-abuse.com/ 25 dnl NOTE: This is a subscription service as of July 31, 2001 26 FEATURE(dnsbl) 27 dnl Alternatively, you can provide your own server and rejection message: 28 FEATURE(dnsbl, `blackholes.mail-abuse.org', `"550 Mail from " $&{client_addr} " rejected, see http://mail-abuse.org/cgi-bin/lookup?" $&{client_addr}') 29 30 dnl Dialup users should uncomment and define this appropriately 31 dnl define(`SMART_HOST', `your.isp.mail.server') 32 33 dnl Uncomment the first line to change the location of the default 34 dnl /etc/mail/local-host-names and comment out the second line. 35 dnl define(`confCW_FILE', `-o /etc/mail/sendmail.cw') 36 define(`confCW_FILE', `-o /etc/mail/local-host-names') 37 38 dnl Uncomment both of the following lines to listen on IPv6 as well as IPv4 39 dnl DAEMON_OPTIONS(`Name=IPv4, Family=inet') 40 dnl DAEMON_OPTIONS(`Name=IPv6, Family=inet6') 41 42 TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 PLAIN LOGIN')dnl 43 define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 PLAIN LOGIN')dnl 44 define(`confDEF_AUTH_INFO', `/etc/mail/auth/auth-info')dnl 45 FEATURE(`no_default_msa')dnl turn off default entry for MSA 46 DAEMON_OPTIONS(`Port=25, Name=MSA, M=E')dnl 47 48 define(`confMAX_RCPTS_PER_MESSAGE', `10') 49 define(`confMAX_MESSAGE_SIZE', `1048576') 50 51 define(`confBIND_OPTS', `WorkAroundBrokenAAAA') 52 define(`confMAX_MIME_HEADER_LENGTH', `256/128') 53 define(`confNO_RCPT_ACTION', `add-to-undisclosed') 54 define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy') 55 MAILER(local) 56 MAILER(smtp)
В строке 6 мы задаем файл с пользовательскими псевдонимами; в десятой строке - имя файла трансляции виртуальных пользователей в настоящих, а в 36-й строке - названия доменов, для которых наш сервер должен обрабатывать почту.
Также ограничим максимальный размер письма одним мегабайтом (строка 49) и запретим рассылать письмо одновременно более, чем 10 получателям (строка 48). Если есть необходимость отправки всей почты на промежуточный SMTP сервер (например, на SMTP сервер провайдера), следует раскомментировать строку 31 и вместо "your.isp.mail.server" указать IP адрес или имя SMTP сервера провайдера.
Запуск и тестирование
Теперь, когда почти все сделано, нам надо пересобрать заново файл конфигурации sendmail и обновить базы данных. Делается это следующим набором команд:
cd /etc/mail rm *.db rm freebsd.cf make all make install
Результатом будет нечто вроде этого:
/usr/bin/m4 -D_CF_DIR_=/usr/local/share/sendmail/cf/ /usr/local/share/sendmail/cf/m4/cf.m4 genius.mc > genius.cf /usr/sbin/makemap hash virtusertable.db < virtusertable chmod 0640 virtusertable.db /usr/sbin/makemap hash access.db < access chmod 0640 access.db /usr/sbin/sendmail -bi /etc/mail/aliases: 26 aliases, longest 18 bytes, 276 bytes total chmod 0640 /etc/mail/aliases.db install -m 444 freebsd.cf /etc/mail/sendmail.cf install -m 444 freebsd.submit.cf /etc/mail/submit.cf
Теперь перезапускаем sendmail
/usr/local/etc/rc.d/030.sendmail.sh stop /usr/local/etc/rc.d/030.sendmail.sh start
и тестируем:
telnet localhost 25
Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 localhost.my.domain ESMTP Sendmail 8.12.6/8.12.6; Mon, 30 Dec 2002 13:31:56 +0300 (MSK) EHLO localhost 250-localhost.my.domain Hello localhost [127.0.0.1], pleased to meet you 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-8BITMIME 250-SIZE 250-DSN 250-AUTH DIGEST-MD5 CRAM-MD5 PLAIN LOGIN 250-DELIVERBY 250 HELP QUIT 221 2.0.0 localhost.my.domain closing connection
Наличие строчки "250-AUTH DIGEST-MD5 CRAM-MD5 PLAIN LOGIN" говорит нам о том, что sendmail может аутентифицировать пользователя. Добавляем пользователя:
saslpasswd2 admin-perldoc.ru Password: Again (for verification):
Вводим пароль пользователя и проверяем:
sasldblistusers2 admin-perldoc.ru@genius: userPassword
Собственно говоря, на этом настройка sendmail закончена. Теперь настраиваем The Bat! для того, чтобы можно было отправлять почту с аутентификацией:
Заходим в Ящик -> Свойства почтового ящика -> Транспорт -> Аутентификация
Выделяем чекбокс "Аутентификация SMTP (RFC-2554)".
Переключаем кнопку "Использовать параметры, указанные ниже."
Вводим имя пользователя и пароль, которые создали при помощи saslpasswd2.
Пользователь: admin-perldoc.ru@genius.
Пароль: *********
(!) Обратите внимание на то, что имя пользователя указано вместе с именем машины.
Выделяем чекбокс "Требовать безопасную (MD5) аутентификацию".
В том случае, если используется MS Outlook или другой почтовый клиент, в котором нет безопасной аутентификации (DIGEST-MD5, CRAM-MD5), необходимо использовать аутентификацию по методам PLAIN или LOGIN. При этом в качестве имени пользователя надо использовать имя пользователя БЕЗ добавленного имени машины. В нашем случае имя пользователя будет выглядеть так: admin-perldoc.ru.
После отправки письма в лог-файле /var/log/maillog должны быть примерно такие записи:
Dec 30 13:54:41 genius sm-mta[77570]: AUTH=server, relay=xxx.yyy.zzz.kkk [xxx.yyy.zzz.kkk], authid=admin-perldoc.ru@genius, mech=CRAM-MD5, bits=0
Поддерживается http://stellar.df.ru
SNMP протокол - принципы, безопасность, применение
Обновлено: 01.07.2025Вступление
Данная статья посвящена протоколу SNMP (Simple Network Management Protocol) - одному из протоколов модели OSI, который практически не был затронут в документации просторов RU-нета. Автор попытался заполнить этот вакуум, предоставив читателю почву для размышлений и самосовершенствования, касательно этого, возможно нового для Вас, вопроса. Этот документ не претендует на звание "документации для разработчика", а просто отражает желание автора, насколько это возможно, осветить аспекты работы с данным протоколом, показать его слабые места, уязвимости в системе "security", цели преследованные создателями и объяснить его предназначение.
Предназначение
Протокол SNMP был разработан с целью проверки функционирования сетевых маршрутизаторов и мостов. Впоследствии сфера действия протокола охватила и другие сетевые устройства, такие как хабы, шлюзы, терминальные сервера, LAN Manager сервера , машины под управлением Windows NT и т.д. Кроме того, протокол допускает возможность внесения изменений в функционирование указанных устройств.
Теория
Основными взаимодействующими лицами протокола являются агенты и системы управления. Если рассматривать эти два понятия на языке "клиент-сервер", то роль сервера выполняют агенты, то есть те самые устройства, для опроса состояния которых и был разработан рассматриваемый нами протокол. Соответственно, роль клиентов отводится системам управления - сетевым приложениям, необходимым для сбора информации о функционировании агентов. Помимо этих двух субъектов в модели протокола можно выделить также еще два: управляющую информацию и сам протокол обмена данными.
"Для чего вообще нужно производить опрос оборудования?" - спросите Вы. Постараюсь пролить свет на этот вопрос. Иногда в процессе функционирования сети возникает необходимость определить определенные параметры некоторого устройства, такие как , например, размер MTU, количество принятых пакетов, открытые порты, установленную на машине операционную систему и ее версию, узнать включена ли опция форвардинга на машине и многое другое. Для осуществления этого как нельзя лучше подходят SNMP клиенты.
Помимо сказанного выше рассматриваемый протокол обладает еще одной весьма важной особенностью, а именно возможностью модифицировать данные на агентах. Безусловно, было бы глупостью разрешить модификацию абсолютно любого параметра, но ,не смотря на это, и количество тех параметров, для которых допускается операция записи просто пугает. С первого взгляда это полностью опровергает всю теорию сетевой безопасности, но, если углубиться в вопрос, то становится ясно, что не все так запущено, как кажется с первого взгляда. "Волков бояться - в лес не ходить". Ведь при небольших усилиях администратора сети можно свести риск успешного завершения атаки к минимуму. Но этот аспект мы обсудим позже.
Остановимся на том, какую же все-таки информацию может почерпнуть система управления из недр SNMP. Вся информация об объектах системы-агента подержится в так называемой MIB (management information base ) - базе управляющей информации, другими словами MIB представляет собой совокупность объектов, доступных для операций записи-чтения для каждого конкретного клиента, в зависимости от структуры и предназначения самого клиента. Ведь не имеет смысла спрашивать у терминального сервера количество отброшенных пакетов, так как эти данные не имеют никакого отношения к его работе, так как и информация об администраторе для маршрутизатора. Потому управляющая система должна точно представлять себе, что и у кого запрашивать. На данный момент существует четыре базы MIB :
-
Internet MIB - база данных объектов для обеспечения диагностики ошибок и конфигураций. Включает в себя 171 объект (в том числе и объекты MIB I).
-
LAN manager MIB - база из 90 объектов - пароли, сессии, пользователи, общие ресурсы.
-
WINS MIB - база объектов, необходимых для функционирования WINS сервера (WINSMIB.DLL).
-
DHCP MIB - база объектов, необходимых для функционирования DHCP сервера (DHCPMIB.DLL), служащего для динамического выделения IP адресов в сети.
Все имена MIB имеют иерархическую структуру. Существует десять корневых алиасов:
-
System - данная группа MIB II содержит в себе семь объектов, каждый из которых служит для хранения информации о системе (версия ОС, время работы и т.д.).
-
Interfaces - содержит 23 объекта, необходимых для ведения статистики сетевых интерфейсов агентов (количество интерфейсов, размер MTU, скорость передачи , физические адреса и т.д.) .
-
AT (3 объекта) - отвечают за трансляцию адресов. Более не используется. Была включена в MIB I. Примером использования объектов AT может послужить простая ARP таблица (более подробно об ARP протоколе можно почитать в статье "Нестандартное использование протокола ARP", которую можно найти на сайте www.uinc.ru в разделе "Articles" ) соответствия физических (MAC) адресов сетевых карт IP адресам машин. В SNMP v2 эта информация была перенесена в MIB для соответствующих протоколов.
-
IP (42 объекта) - данные о проходящих IP пакетах (количество запросов, ответов, отброшенных пакетов).
-
ICMP (26 объектов) - информация о контрольных сообщениях (входящие/исходящие сообщения, ошибки и т.д.).
-
TCP (19) - все, что касается одноименного транспортного протокола (алгоритмы, константы, соединения, открытые порты и т.п.).
-
UDP (6) - аналогично, только для UDP протокола (входящие/исходящие датаграммы, порты, ошибки).
-
EGP (20) - данные о трафике Exterior Gateway Protocol (используется маршрутизаторами, объекты хранят информацию о принятых/отосланных/отброшенных кардах).
-
Transmission - зарезервирована для специфических MIB.
-
SNMP (29) - статистика по SNMP - входящие/исходящие пакеты, ограничения пакетов по размеру, ошибки, данные об обработанных запросах и многое другое.
Каждый из них представим в виде дерева, растущего вниз, (система до боли напоминает организацию DNS). Например, к адресу администратора мы можем обратиться посредством такого пути: system.sysContact.0 , ко времени работы системы system.sysUpTime.0 , к описанию системы (версия, ядро и другая информация об ОС) : system.sysDescr.0 . С другой стороны те же данные могут задаваться и в точечной нотации. Так system.sysUpTime.0 соответствует значение 1.3.0, так как system имеет индекс "1" в группах MIB II, а sysUpTime - 3 в иерархии группы system. Ноль в конце пути говорит о скалярном типе хранимых данных. Ссылку на полный список (256 объектов MIB II) Вы можете найти в конце статьи в разделе "Приложение". В процессе работы символьные имена объектов не используются, то есть если менеджер запрашивает у агента содержимое параметра system.sysDescr.0, то в строке запроса ссылка на объект будет преобразована в "1.1.0", а не будет передана "как есть". Далее мы рассмотрим BULK-запрос и тогда станет ясно, почему это столь важно . На этом мы завершим обзор структуры MIB II и перейдем непосредственно к описанию взаимодействия менеджеров (систем управления) и агентов. В SNMP клиент взаимодействует с сервером по принципу запрос-ответ. Сам по себе агент способен инициировать только оно действие, называемое ловушкой прерыванием (в некоторой литературе "trap" - ловушка). Помимо этого, все действия агентов сводятся к ответам на запросы, посылаемые менеджерами. Менеджеры же имеют гораздо больший "простор для творчества", они в состоянии осуществлять четыре вида запросов:
-
GetRequest - запрос у агента информации об одной переменной.
-
GetNextRequest - дает агенту указание выдать данные о следующей (в иерархии) переменной.
-
GetBulkRequest - запрос за получение массива данных. При получении такового, агент проверяет типы данных в запросе на соответствие данным из своей таблицы и цикле заполняет структуру значениями параметров: for(repeatCount = 1; repeatCount < max_repetitions; repeatCount++) Теперь представьте себе запрос менеджера на получение списка из сотни значений переменных , посланный в символьном виде, и сравните размер такового с размером аналогичного запроса в точечной нотации. Думаю, Вы понимаете, к чему привела бы ситуация, если бы символьные имена не преобразовывались вышеуказанным образом.
-
SetRequest - указание установить определенное значение переменой.
Кроме этого менеждеры могут обмениваться друг с другом информацией о своей локальной MIB. Такой тип запросов носит название InformRequest.
Приведу значения числовых констант для всех видов запросов:
#define SNMP_MSG_GET (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x0)
#define SNMP_MSG_GETNEXT (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x1)
#define SNMP_MSG_RESPONSE (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x2)
#define SNMP_MSG_SET (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x3)
/* PDU для SNMPv1 */
#define SNMP_MSG_TRAP (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x4)
/* PDU для SNMPv2 */
#define SNMP_MSG_GETBULK (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x5)
#define SNMP_MSG_INFORM (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x6)
#define SNMP_MSG_TRAP2 (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x7)
Вот тут то мы сталкиваемся с еще одной интересной деталью, как видите для ловушке есть 2 числовые константы. На самом деле существует 2 основные версии протокола SNMP (v1 & v2) и самое важное то, что они не являются совместимыми (на самом деле версий значительно больше -SNMP v2{p | c | u} etc, только все эти модификации довольно незначительны, так как , например, введение поддержки md5 и т.п.). SNMP - протокол контроля и диагностики, в связи с чем , он рассчитан на ситуации, когда нарушается целостность маршрутов, кроме того в такой ситуации требуется как можно менее требовательный с аппаратуре транспортный протокол , потому выбор был сделан в сторону UDP. Но это не значит, что никакой другой протокол не может переносить пакеты SNMP. Таковым может быть IPX протокол (например, в сетях NetWare) , также в виде транспорта могут выступать карды Ethernet, ячейки ATM. Отличительной особенностью рассматриваемого протокола есть то, что передача данных осуществляется без установки соединения.
Допустим менеджер послал несколько пакетов разным агентам, как же системе управления в дальнейшем определить какой из приходящих пакетов касается 1ого и 2ого агента? Для этого каждому пакету приписывается определенный ID - числовое значение. Когда агент получает запрос от менеджера, он генерирует ответ и вставляет в пакет значение ID , полученное им из запроса (не модифицирую его). Одним из ключевых понятий в SNMP является понятие group (группа). Процедура авторизации менеджера представляет собой простую проверку на принадлежность его к определенной группе, из списка, находящегося у агента. Если агент не находит группы менеджера в своем списке, их дальнейшее взаимодействие невозможно. До этого мы несколько раз сталкивались с первой и второй версией SNMP. Обратим внимание на отличие между ними. Первым делом заметим, что в SNMP v2 включена поддержка шифрования трафика, для чего, в зависимости от реализации, используются алгоритмы DES, MD5 . Это ведет к тому что при передаче данных наиболее важные данные недоступны для извлечения сниффингом, в том числе и информация о группах сети. Все это привело в увеличению самого трафика и усложнению структуры пакета. Сам по себе, на данный момент, v2 практически нигде не используется. Машины под управлением Windows NT используют SNMP v1. Таким образом мы медленно переходим к, пожалуй, самой интересной части статьи, а именно к проблемам Security. Об этом давайте и поговорим ...
Практика и безопасность
В наше время вопросы сетевой безопасности приобретают особое значение, особенно когда речь идет о протоколах передачи данных, тем более в корпоративных сетях. Даже после поверхностного знакомства с SNMP v1/v2 становится понятно, что разработчики протокола думали об этом в последнюю очередь или же их жестко поджимали сроки сдачи проекта %-). Создается впечатление что протокол рассчитан на работу в среде так называемых "доверенных хостов". Представим себе некую виртуальную личность. Человека, точнее некий IP адрес, обладатель которого имеет намерение получить выгоду , либо же просто насолить администратору путем нарушения работы некой сети. Станем на место этой особы. Рассмотрение этого вопроса сведем к двум пунктам:
-
a) мы находимся вне "враждебной сети". Каким же образом мы можем совершить свое черное дело? В первую очередь предполагаем что мы знаем адрес шлюза сети. Согласно RFC, соединение системы управления с агентом происходит по 161-ому порту (UDP). Вспомним о том что для удачной работы необходимо знание группы. Тут злоумышленнику на помощь приходит то, что зачастую администраторы оставляют значения (имена) групп, выставленные по умолчанию, а по умолчанию для SNMP существует две группы - "private" и "public". В случае если администратор не предусмотрел подобного развития событий, недоброжелатель может доставить ему массу неприятностей. Как известно, SNMP протокол является частью FingerPrintering. При желании , благодаря группе system MIB II, есть возможность узнать довольно большой объем информации о системе. Чего хотя бы стоит read-only параметр sysDescr. Ведь зная точно версию программного обеспечения, есть шанс , используя средства для соответствующей ОС получить полный контроль над системой. Я не зря упомянул атрибут read-only этого параметра. Ведь не порывшись в исходниках snmpd (в случае UNIX подобной ОС ), этот параметр изменить нельзя, то есть агент добросовестно выдаст злоумышленнику все необходимые для него данные. А ведь не надо забывать о том, что реализации агентов под Windows поставляются без исходных кодов, а знание операционной системы - 50% успеха атаки. Кроме того, вспомним про то, что множество параметров имеют атрибут rw (read-write), и среди таких параметров - форвардинг ! Представьте себе последствия установки его в режим "notForwarding(2)". К примеру в Linux реализации ПО для SNMP под название ucd-snmp есть возможность удаленного запуска скриптов на сервера, путем посылки соответствующего запроса. Думаю, всем понятно к чему могут привести "недоработки администратора".
-
б) злоумышленник находится на локальной машине. В таком случае вероятность увольнения админа резко возрастает. Ведь нахождение в одном сегменте сети дает возможность простым сниффингом отловить названия групп, а с ними и множество системной информации. Этого случая также касается все сказанное в пункте (а).
Перейдем к "практическим занятиям". Что же может на понадобиться. В первую очередь программное обеспечение. Его можно достать на http://net-snmp.sourceforge.net . Примеры я буду приводить для ОС Линукс, но синтаксис команд аналогичен Windows ПО.
Установка пакета стандартна:
gunzip udc-snmp-3.5.3.tar.gz
tar -xvf udc-snmp-3.5.3.tar
cd udc-snmp-3.5.3
./configure
make
make install
Запуск демона (агента)
snmpd
После инсталяции Вам доступны программы:
snmpget
snmpset
snmpgetnext
snmpwalk
snmpbulkwalk
snmpcheck
snmptest
snmpdelta
snmpnetstat snmpstatus
snmptable
snmptrap
snmptranstat
и демон
snmptrapd
Посмотрим, как выглядят описанные выше операции на практике.
Запрос GetRequest реализует одноименная программа snmpget
Для получения необходимой информации выполним следующую команду:
root@darkstar:~# snmpget 10.0.0.2 public system.sysDescr.0
На что сервер добросовестно сообщит нам:
system.sysDescr.0 = Hardware: x86 Family 6 Model 5 Stepping 0 AT/AT COMPATIBLE - Software: Windows NT Version 4.0 (Build Number: 1381 Uniprocessor Free )
(не правда ли - довольно содержательно), либо же
system.sysDescr.0 = Linux darkstar 2.4.5 #1 SMP Fri Aug 17 09:42:17 EEST 2001 i586
Прямо-таки - руководство по проникновению.
Допустим, мы хотим что-либо изменить в настройках агента. Проделаем следующую операцию:
root@darkstar:~# snmpset 10.0.0.2 public system.sysContact.0 s test@test.com
и получим ответ:
system.sysContact.0 = test@test.com
Список объектов MIB II с атрибутами можно найти пойдя по ссылке, указанной в "Приложении".
Думаю, настало время рассмотреть SNMP на пакетном уровне. Этот пакет был отловлен сниффером NetXRay на сетевом интерфейсе агента:

Как видим - практика не далека от теории. Наблюдаем Request ID и параметры запроса. На полном скриншоте можно увидеть стек протоколов - от кадров Ethernet, через UDP доходим до самого Simple Network Management Protocol:

А этот пакет был получен с интерфейса менеджера:

Как видите, название группы абсолютно никак не шифруется (о чем в свою очередь говорит Protocol version number : 1). Хочется отметить, что согласно спецификации протокола, пакеты SNMP не имеют четко определенной длины. Существует ограничение сверху равное длине UDP сообщения, равное 65507 байт, в свою очередь сам пртокол накладывает другое максимальное значение - лишь 484 байта. В свою очередь не имеет установленного значения и длина заголовка пакета (headerLength).
Ну вот мы в общих чертах и ознакомились с протоколом SNMP. Что еще можно добавить к сказанному выше ... Можно лишь дать пару советов сетевым администраторам, дабы уменьшить риск возникновения пролем с безопасностью сети... В первую очередь должное внимание следует уделить настройке файрволинга. Во-вторых - изменить установленные по умоланию имена групп. Разумным было бы жестко зафиксировать адреса машин (менеджеров), с которых разрешается опрос агентов. На этом, считаю, статью можно и закончить. Хочется верить, что она показалась Вам интересной.
Приложение
Список из 256 объектов MIB II: http://www.titanicum.kiev.ua/snmp/snmp_objects.htm
Объекты MIB II c атрибутами: http://www.titanicum.kiev.ua/snmp/mib2.htm
Софт под Линукс: http://www.titanicum.kiev.ua/snmp/ucd-snmp-3.5.3.tar.gz
RFC 1158: http://www.bezpeka.com/library/rfc/rfc1158.txt
Источник: http://bezpeka.com/ru/lib/sec/syst/art390.html
Windows NT: удалённое вторжение
Обновлено: 07.04.2025Введение
Этот документ - попытка группы Rhino9 документировать технику и методы, используемые в нападении на основанные на WindowsNT сети. Цель данного документа состоит в том, чтобы научить администраторов и профессионалов защиты способам проникновения в NT-сети. Этот документ пытается следовать шагам классического текста "Как улучшить защиту вашего сайта вторжением в него" , который написали Dan Farmer и Wietse Venema.
Проблемы защиты сетевых соединений в Windows NT
Обновлено: 01.07.2025
В статье показана недостаточность защиты сетевых соединений между рабочими станциями и серверами Windows NT, организованных посредством интерфейса NPFS. Этот интерфейс имеет ряд слабостей, позволяющих осуществлять различные удаленные атаки. Предложены две атаки, одна из которых относится к классу "отказ в обслуживании", а другая позволяет получать обычному пользователю права администратора путем перехвата административных сетевых соединений. Рассматриваются возможности усиления защиты NPFS-соединений в Windows NT.
Что такое NPFS.
Аббревиатура NPFS расшифровывается как Named Pipe File System. Несмотря на то, что в этом названии присутствуют слова "file system", назвать NPFS файловой системой можно только с очень большой натяжкой. Драйвер npfs.sys, хотя и работает в соответствии со спецификациями драйвера файловой системы, не управляет никакими файлами. Вместо этого npfs.sys управляет так называемыми каналами (named pipes). Вместе с файлами, дисковыми директориями, устройствами и почтовыми ящиками (mailslots) каналы относятся к классу файловых объектов. Большинство функций, предназначенных для работы с файлами (в том числе CreateFile, ReadFile и WriteFile), работают и с каналами.
Канал можно представить себе как некую виртуальную трубу, по которой перетекает информация от одного процесса к другому. Информация может передаваться как в одну сторону (однонаправленный канал), так и в обе стороны (двунаправленный или дуплексный канал). Хотя каналы Windows NT очень похожи на аналогичные объекты UNIX, техническая реализация каналов в Windows NT и UNIX существенно различается.
Создание канала происходит следующим образом.
-
Процесс-сервер создает канал с помощью функции программного интерфейса Win32 CreateNamedPipe. Канал может быть создан только на локальном компьютере.
-
Процесс-сервер активизирует канал с помощью функции ConnectNamedPipe. Теперь к каналу могут подключаться клиенты.
-
Процесс-клиент подключается к каналу посредством вызова функции CreateFile. Параметры функции отличаются от обычных только именем открываемого объекта, которое имеет вид \computer_namepipepipe_name. Вместо имени компьютера может использоваться символ '.' (точка), в этом случае речь идет о локальном компьютере.
После выполнения перечисленных действий процесс-клиент и процесс-сервер могут обмениваться информацией посредством канала с помощью функций ReadFile и WriteFile. Все, что один участник информационного обмена записывает в канал функцией WriteFile, может быть прочтено другим участником посредством вызова функции ReadFile.
Клиент может отключиться от канала в любой момент с помощью функции CloseHandle. Сервер может отключить клиента в любой момент с помощью функции DisconnectNamedPipe. После прекращения связи с клиентом сервер может повторно использовать канал с помощью повторного вызова функции ConnectNamedPipe.
С помощью одного и того же канала сервер может одновременно обслуживать нескольких клиентов. Для этого сервер должен создать несколько экземпляров канала, вызвав функцию CreateNamedPipe нужное количество раз, при этом в каждом вызове CreateNamedPipe должно быть указано одно и то же имя канала. Если канал имеет несколько экземпляров, клиент может быть подключен к любому свободному (не занятому другим клиентом) экземпляру этого канала. Как показывают эксперименты, клиент всегда подключается к тому экземпляру канала, который был создан или освобожден раньше других. Другими словами, свободные экземпляры канала подключаются к клиентам в порядке "живой" очереди.
Интерфейс NPFS имеет много других возможностей, поддерживаются асинхронная передача информации, транзакции и многое другое. Полное описание NPFS выходит за пределы настоящей статьи.
В целом интерфейс NPFS весьма удобен для обмена информацией между процессами, особенно в тех случаях, когда процесс-клиент и процесс-сервер выполняются на разных компьютерах одной локальной сети. NPFS широко используется операционной системой Windows NT для своих нужд. С помощью NPFS решается множество задач, некоторые из которых играют важную роль в обеспечении безопасности операционной системы. Например, каналы lsass, lsarpc и LANMAN используются при передаче по сети имени и пароля пользователя при сквозной аутентификации в домене Windows NT. Также стоит отметить, что удаленный вызов процедур (RPC) в Windows NT реализован как надстройка над NPFS.
Некоторые странности NPFS.
До тех пор, пока речь не идет о защите информации, NPFS выглядит просто прекрасно. Но стоит только начать исследовать этот интерфейс на предмет устойчивости к злонамеренным воздействиям прикладных программ, обнаруживается множество удивительных фактов.
Пусть некий процесс создал экземпляр некоторого канала. Другой процесс пытается создать экземпляр того же самого канала, вызывая CreateNamedPipe с тем же именем создаваемого канала. Как это ни странно, второй экземпляр канала будет успешно создан. Более того, если второй процесс вызовет теперь ConnectNamedPipe, экземпляр канала, созданный вторым процессом, сможет обслуживать клиентов.
Итак, в системе появляются два объекта, имеющих одинаковое имя, но обслуживаемых разными процессами. Когда клиент подключается к каналу, операционная система предоставляет ему первый экземпляр, поскольку он был создан раньше. Но когда к тому же каналу захочет подключиться другой клиент, он будет подключен ко второму экземпляру. При этом клиент никакими средствами не сможет определить, какой процесс обслуживает его запрос. Получается, что клиент хотел получить услугу от одного процесса, а на самом деле эту услугу ему предоставляет совсем другой процесс. Это выглядит очень странно. Представьте себе, что Вы открываете файл на жестком диске, а операционная система лезет в Internet. При этом, когда файл открыт, Вы никак не сможете узнать, откуда был взят файл, который Вы открыли.
Особенно интересно, что процессы из вышеприведенного примера могут быть запущены разными пользователями. Например, пользователь guest, локально работающий с контроллером домена, может создать экземпляр канала lsass, и, дождавшись подключения клиента, вмешаться в процедуру сетевой аутентификации пользователя.
Другой интересный эффект. Каналы, как и любые другие объекты Windows NT, могут иметь дескриптор защиты (security descriptor), описывающий то, какие пользователи имеют какие права на доступ к данному объекту. Мне так и не удалось найти простой метод, позволяющий получить дескриптор защиты канала по его имени (конечно, можно это сделать с помощью драйвера фиктивного устройства, но это слишком трудоемко). Эксперименты показывают, что любой канал, даже системный, даже такой важный и ответственный, как lsass, может быть открыт любым пользователем. Все, что требуется от пользователя - это аутентифицироваться под любым именем на компьютере, на котором выполняется процесс, обслуживающий данный канал.
Экспериментально установлено, что пользователь guest с помощью обычной прикладной программы может открывать системный канал lsass и записывать туда все, что угодно. Сервер LSA воспримет эту информацию и попытается ее интерпретировать в терминах протоколов сетевой аутентификации.
Поскольку средства манипулирования атрибутами защиты каналов не только отсутствуют в стандартных утилитах администрирования, но и не описаны в документации MSDN, ни о какой регистрации доступа пользователей к каналам не может быть и речи - администратор просто не имеет средств, позволяющих ему присваивать каналам системные списки контроля доступа.
Из всего вышеперечисленного непосредственно следует, что NPFS представляет собой прекрасный объект для удаленных атак. Две возможные (но далеко не единственно возможные) атаки рассмотрены ниже.
Атака PipeBomb.
Что случится, если обычная прикладная программа, запущенная обычным пользователем, начнет в вечном цикле открывать на запись все новые и новые экземпляры некоторого системного канала и записывать в них огромные объемы заведомо бессмысленной информации? Один из возможных вариантов развития событий заключается в том, что через короткий промежуток времени все свободные экземпляры канала будут заняты, и сетевая служба, использующая атакуемый канал, будет отключена. Однако, как показывают эксперименты, более вероятна другая картина.
Обычно, когда процесс-сервер понимает, что все экземпляры его канала заняты, этот процесс начинает создавать новые экземпляры канала. Таким образом, чем больше экземпляров канала открывает процесс-клиент, тем больше экземпляров канала создает процесс-сервер. Как правило, каждый экземпляр канала обслуживается отдельным потоком (thread). Буферы для хранения информации, передаваемой по каналу, занимают оперативную память. По мере того, как процесс-клиент открывает новые экземпляры канала, процесс-сервер создает новые потоки. Когда процесс-клиент записывает в открытые им экземпляры канала бессмысленную информацию, эта информация передается процессу-серверу и засоряет его адресное пространство.
Все перечисленные эффекты приводят к тому, что загрузка процессора компьютера, на котором выполняется процесс-сервер, стабильно держится на уровне 100% (при этом около 90% времени процессор обслуживает процессы с базовым приоритетом High), а объем свободной оперативной памяти этого компьютера уменьшается со скоростью от 1 до 3 мегабайт в секунду. Когда и физическая, и виртуальная памяти компьютера переполняются, и начинается рост файла виртуальной памяти, эта скорость несколько уменьшается. Уже через минуту атакованный компьютер становится практически неработоспособен (окно Explorer прорисовывается несколько минут), а через 5-10 минут перегруженность операционной системы достигает такой степени, что команда Shutdown выполняется 3-6 часов.
Эта атака интересна тем, что использует не слабости протокола TCP/IP, в общем-то, чуждого для Windows NT, а слабости "родного" программного обеспечения этой операционной системы. Атака одинаково эффективно работает для любого сервис-пака Windows NT 4.0, включая четвертый, поражаются и рабочие станции, и серверы. Не исключено, что эту атаку можно применять и в Internet, инкапсулируя пакеты SMB в пакеты TCP/IP (сетевая составляющая интерфейса NPFS организована как надстройка над протоколом SMB).
Существует программа, реализующая данную атаку.
Напоследок об авторских правах в отношении данного параграфа. Первоначальная формулировка идеи атаки PipeBomb принадлежит Петру Девянину, детальная проработка идеи моя, программированием занимался Сергей Заливакин.
Атака AdminTrap.
Как уже говорилось выше, прикладная программа, выполняющаяся под управлением Windows NT с полномочиями обычного пользователя, может создать экземпляр канала, имеющий такое же имя, как и один из системных каналов. При подключении клиента к такому каналу клиент может подключиться как к "родному" экземпляру, обслуживаемому одним из системных процессов, так и к "троянскому" экземпляру, созданному и обслуживаемому прикладной программой.
В программном интерфейсе Win32 существует функция ImpersonateNamedPipeClient, выполняющая олицетворение (impersonation) клиента канала. Олицетворение клиента канала заключается в том, что потоку, вызвавшему данную функцию, назначается маркер доступа (access token) клиента экземпляра канала, handle серверного конца которого указан в качестве параметра функции. При этом поток процесса-сервера, обслуживающий данный экземпляр канала, получает полномочия пользователя, который подключился к этому экземпляру канала в качестве клиента. Обычно данная функция используется системными процессами-серверами для временного понижения полномочий, но если полномочия клиента превышают полномочия сервера, наблюдается обратная ситуация - после выполнения олицетворения полномочия сервера повышаются. Для того чтобы функция ImpersonateNamedPipeClient нормально выполнилась, необходимо, чтобы маркер доступа клиентского конца экземпляра канала представлял собой маркер олицетворения (impersonation token). Если процесс-клиент и процесс-сервер выполняются на разных компьютерах сети, это всегда имеет место. Никаких специальных привилегий для вызова ImpersonateNamedPipeClient не требуется.
Если прикладная программа, выполняющаяся с правами обычного пользователя, создаст экземпляр канала, дождется подключения клиента и выполнит олицетворение, эта программа получит полномочия клиента, которые могут превышать изначальные полномочия программы. Эта идея была положена в основу атаки AdminTrap.
Программа AdminTrap создает троянский экземпляр одного из системных каналов и ждет, когда к нему подключится клиент. Затем AdminTrap выполняет олицетворение клиента. Если олицетворение прошло успешно, один из потоков программы AdminTrap получает полномочия пользователя-клиента троянского экземпляра канала. В Windows NT интерфейс NPFS в основном используется для обмена информацией между операционными системами компьютеров локальной сети и удаленного администрирования, прикладные программы используют каналы редко. Поэтому вероятность того, что программа AdminTrap после вызова ImpersonateNamedPipeClient получит полномочия администратора, весьма велика, а при наличии этих полномочий программа может оказывать на операционную систему локального компьютера практически любые негативные воздействия. Например, подобная программа может использоваться для внедрения в систему программных закладок.
Традиционно, демонстрационные версии программ, предоставляющих обычному пользователю полномочия администратора, запускают в атакуемой системе командный интерпретатор, выполняющийся с правами администратора. Для описываемой атаки это невозможно, поскольку в Windows NT при выполнении функции CreateProcess новому процессу назначается маркер доступа процесса-родителя, а не маркер доступа потока, из которого была вызвана функция CreateProcess. Таким образом, полномочия, полученные программой, реализующей данную атаку, не могут быть унаследованы порожденными ей процессами.
Поэтому для демонстрации того, что программа AdminTrap действительно получает полномочия пользователя, соединение с которым она перехватила, была выбрана несколько нестандартная процедура. Описываемая версия программы, получив полномочия пользователя-клиента, пытается зарегистрировать в операционной системе пользователя-администратора по имени AdminTrap. Для предотвращения использования программы AdminTrap в противозаконных целях в нее встроен ряд блокировок, в том числе:
-
пароль пользователя AdminTrap не описан ни в настоящей статье, ни в файле ReadMe.txt, прилагаемом к программе;
-
пользователь AdminTrap создается заблокированным (disabled). Снять эту блокировку может только администратор;
-
в качестве полного имени пользователь AdminTrap получает информацию о том, кто, с какого компьютера и в какое время провел атаку.
Таким образом, учетная запись пользователя AdminTrap, созданная программой, не может использоваться для несанкционированного доступа к ресурсам операционной системы без дополнительных действий, выполнить которые может только администратор. Конечно, опытный хакер легко сможет снять все перечисленные (и неперечисленные) блокировки. Но, как показывает опыт, опытные хакеры обычно не занимаются подобной деятельностью. Как бы то ни было, не нужно писать мне письма с просьбой отключить эти блокировки - это бесполезно.
При программной реализации вышеописанной атаки имела место одна техническая проблема. Если к моменту создания троянского экземпляра канала в системе существует N легальных экземпляров этого канала, только N+1-й клиент канала сможет подключиться к троянскому экземпляру. Обычно системные процессы-серверы создают от двух до десяти экземпляров каждого обслуживаемого канала, поэтому, если не предпринять специальных мер, ожидание подключения клиента к троянскому экземпляру канала будет довольно долгим. В программе AdminTrap эта проблема решена следующим образом. Перед созданием троянского экземпляра канала программа подключается в качестве клиента ко всем легальным экземплярам атакуемого канала. Троянский экземпляр канала создается только тогда, когда все легальные экземпляры канала заняты и процесс-сервер, обслуживающий канал, настолько перегружен, что не может создавать новые экземпляры с той скоростью, с которой они захватываются программой AdminTrap. Другими словами, на операционную систему оказывается строго дозированное воздействие PipeBomb. Необходимая интенсивность воздействия определяется программой самостоятельно путем анализа времени реакции процесса-сервера на запросы клиентов.
Программа AdminTrap нормально функционирует под управлением всех существующих на сегодняшний день сервис-паков Windows NT 4.0. Мне удавалось перехватывать следующие сетевые соединения:
-
winreg - удаленное управление реестром, списком сервисов, репликацией и административными оповещениями (alerts); удаленный просмотр системных журналов; удаленное диагностирование и оценка производительности;
-
spoolss - удаленное управление принтером.
Вероятно, существуют и другие сетевые соединения, которые могут быть перехвачены программой AdminTrap. Не исключено, что в некоторых системах централизованного управления безопасностью сети (System Management Server, Secret Net и т.д.) NPFS используется системным программным обеспечением для установки административных соединений. При этом установка административных соединений происходит без непосредственного участия пользователя-администратора, что упрощает перехват этих соединений - система сканирует сеть каждые несколько минут и не нужно ждать, пока администратор соизволит обратиться к данному компьютеру сети.
Как с этим бороться.
Как было показано выше, в реализации интерфейса NPFS в Windows NT имеются слабости, позволяющие злоумышленникам осуществлять различные атаки операционной системы. К этим слабостям относятся следующие:
-
Возможно создание двух и более объектов, одноименных, но не идентичных функционально.
-
Отсутствуют средства, позволяющие определить, каким процессом обслуживается экземпляр канала.
-
Атрибуты защиты системных каналов, принятые по умолчанию, предоставляют пользователям права доступа, заведомо превышающие потребности пользователей.
Рассмотрим несколько способов преодоления вышеописанных слабостей.
Возможно создание двух и более объектов, одноименных, но не идентичных функционально.
Фактически должно быть запрещено создание процессом экземпляра канала, для которого уже существует экземпляр, созданный другим процессом. Это может быть сделано с помощью драйвера фиктивного устройства, фильтрующего информационные потоки, проходящие через драйвер npfs.sys. Более простые способы решения данной проблемы вряд ли приведут к успеху.
Отсутствуют средства, позволяющие определить, каким процессом обслуживается экземпляр канала.
Эта проблема также вряд ли может быть решена без использования драйвера фиктивного устройства. Этот драйвер должен перехватывать системные вызовы CreateNamedPipe и сохранять в специальном буфере информацию о том, каким процессом обслуживается каждый существующий в системе канал. Доступ к такому буферу может быть реализован посредством стандартного интерфейса управления устройствами.
Атрибуты защиты системных каналов, принятые по умолчанию, предоставляют пользователям права доступа, заведомо превышающие потребности пользователей.
Стандартный метод решения подобных проблем заключается в следующем. Создается сервис, который автоматически загружается при старте операционной системы, открывает все объекты, защита которых по умолчанию неудовлетворительна, и устанавливает этим объектам новые атрибуты защиты. Подобный метод описан, например, в [7], где он применяется для изменения атрибутов защиты секций, в которых хранится код часто используемых системных библиотек (KnownDlls). К сожалению, для решения проблемы с защитой каналов данный метод неприменим.
Для того чтобы изменить атрибуты защиты какого-либо объекта Windows NT, вначале надо открыть этот объект с правом доступа WRITE_DAC (если нужно получить старые атрибуты защиты объекта, дополнительно потребуется право READ_CONTROL). Microsoft рекомендует использовать для изменения атрибутов защиты каналов функции GetFileSecurity и SetFileSecurity (см. [5]), однако эти функции при попытке их применения к каналам всегда сообщают об ошибке ERROR_PIPE_BUSY.
Существует и обходной путь. В Windows NT имеются две универсальные (и, как это обычно бывает, недокументированные) функции, позволяющие управлять защитой любых объектов. Это функции NtQuerySecurityObject и NtSetSecurityObject. Функция NtQuerySecurityObject позволяет получить атрибуты защиты любого объекта, handle которого передан функции в качестве параметра, функция NtSetSecurityObject - установить новые атрибуты защиты любому объекту. Если получить каким то образом handle экземпляра канала, открытый с правами доступа READ_CONTROL и WRITE_DAC, то с помощью двух вышеназванных функций можно установить этому экземпляру канала любые атрибуты защиты.
Проблема заключается в том, чтобы открыть каждый экземпляр каждого системного канала с необходимыми правами доступа. Единственный способ открытия уже существующего канала, допустимый в Windows NT, заключается в подключении клиента к одному из экземпляров канала. Однако, как уже упоминалось, большинство системных процессов-серверов Windows NT при подключении клиентов к каналу создают новые экземпляры того же канала. Получается, что чем больше объектов получают корректные
Источник: http://bezpeka.com/ru/lib/sec/syst/art403.html
Где NT хранит пароли
Обновлено: 01.07.2025Марк Джозеф Эдвардс, Дэвид Лебланк
WINDOWS 2000 MAGAZINE #02/99
ЖУРНАЛ СИСТЕМНЫХ АДМИНИСТРАТОРОВ И РАЗРАБОТЧИКОВ
Наверняка вы знаете о том, что пароли служат ключами к большинству <дверей> в сети. А известно ли вам, где Windows NT 4.0 хранит эти пароли? Их можно обнаружить во многих интересных местах. И для того, чтобы обеспечить надежную защиту системы, необходимо располагать полной информацией о них.
Для хранения и обработки таких атрибутов пользователя, как пароли в ОС NT, используется SAM (Security Accounts Manager - администратор учетных данных в системе защиты). SAM размещает всю информацию в базе данных SAM, поэтому можно сказать, что NT защищена от взлома настолько же, насколько защищены данные SAM. Взломать систему безопасности SAM непросто, только если не знать обо всех местах, где можно найти базу данных SAM. Эта статья поможет вам защитить некоторые важные области данных системы NT и отыскать участки системы, которые требуют дальнейшего конфигурирования для обеспечения более высокого уровня безопасности.
Ключи реестра SAM
NT хранит постоянно используемую копию базы данных SAM на жестком диске. Вы можете получить доступ к этой базе данных через реестр системы (HKEY_LOCAL_MACHINE, ключ SAM), написав программу или используя редактор реестра (например, regedt32.exe). В принципе, пользователи не имеют доступа к ключу реестра SAM непосредственно из редактора реестра, так как NT предоставляет права доступа к данному ключу только системной учетной записи SYSTEM. Однако пользователи, имеющие административные привилегии, могут воспользоваться трюком NT и обеспечить доступ из пользовательской среды с правами SYSTEM.
Блокировка службы Планировщика NT (NT Scheduler). Упомянутый выше трюк состоит в использовании службы Планировщика NT для запуска редактора реестра на системной консоли в некоторое заранее определенное время. По умолчанию, Планировщик NT при выполнении заданий использует права учетной записи SYSTEM. Поэтому любая программа, запущенная Планировщиком, имеет полный набор системных привилегий, включая доступ к базе данных SAM. Чтобы защититься от данной опасности, приходится действовать жесткими методами, так как для этого необходимо заблокировать службу Планировщика NT. Блокировка данной службы не всегда возможна в связи с тем, что она может потребоваться для запуска обычных заданий. Если вы не в состоянии заблокировать службу Планировщика, постарайтесь сконфигурировать ее таким образом, чтобы она работала от имени учетной записи пользователя (права пользователя - это необходимый минимум для выполнения запланированных заданий).
Использование технологии системного ключа (system key). Для обеспечения защиты SAM вы также можете применить предлагаемую Microsoft технологию системного ключа. Данная технология впервые появилась в составе дополнений (hotfix) к пакету обновления NT Service Pack 2 (SP2), но широкую известность она получила, когда вошла в состав SP3. (О сервисном пакете SP3 читайте статью Service Pack 3 Is Really Security Pack 3 в журнале Windows NT Magazine, август 1997.) Технология системного ключа применяется для защиты NT и ее паролей посредством шифрования базы данных SAM и требует использования ключа шифра при загрузке операционной системы.
Можно использовать один из трех вариантов системных ключей.
-
Ключ формируется системой произвольным образом и хранится на системном диске с использованием специального алгоритма защиты от прочтения.
-
Ключ формируется системой произвольным образом и хранится на дискете.
-
Для формирования ключа применяется пароль, выбираемый администратором.
Более подробно о каждом из этих вариантов можно прочитать в статье Microsoft: Windows NT System Key Permits Strong Encryption of the SAM (http://support.microsoft.com/support/kb/articles/q143/4/75.asp).
Хотя системный ключ и помогает защитить SAM, прежде чем броситься в бой и начать его устанавливать, следует осознать несколько важных моментов. Нужно иметь в виду, что после установки syskey.exe на компьютере не существует возможности его удаления. Следовательно, необходимо очень внимательно отнестись к вопросу выбора оптимального для вашей системы метода хранения ключа. Непосредственно после установки syskey.exe нужно сформировать новую дискету ERD (Emergency Repair Disk). В противном случае вы не сможете полностью восстановить систему, если это потребуется.
Одно из реальных преимуществ использования системного ключа состоит в том, что если взломщикам удастся получить копию вашей базы данных SAM, они не смогут вытащить оттуда действующие хэш-коды паролей. У них не будет возможности применить для расшифровки паролей такие утилиты как L0phtCrack от L0pht Heavy Industries. Но следует заметить, что системный ключ не сможет остановить тех пользователей, которые имеют административные привилегии. Эти пользователи могут выгрузить базу данных SAM в формате, пригодном для взлома такими инструментами, как L0phtCrack; поэтому нужно очень аккуратно назначать административные права. Например, утилита Pwdump2 успешно получает хэш-коды паролей из базы данных SAM, даже если используется технология системного ключа. Следует учитывать потенциальную опасность, которую представляют подобные инструменты.
Другим преимуществом технологии системного ключа является возможность обнаруживать попытки такого малоизвестного способа взлома, при котором для получения доступа к системе применяются загрузочные диски. Конечно, такой метод взлома возможен только в том случае, если вы можете загрузиться с системного диска NT. Однако если это удается сделать, то взломщик может перенести базу данных SAM в другое место и затем перезагрузить компьютер. В процессе перезагрузки NT обнаруживает отсутствие базы данных SAM и создает новую базу, которая содержит только двух пользователей: Administrator и Guest, причем оба имеют пустые пароли. Очевидно, что теперь взломщик может зарегистрироваться в системе как Administrator, введя пустой пароль, сделать все, что ему нужно, затем перезагрузиться со своего системного диска и вернуть оригинальную копию базы данных SAM на прежнее место.
При использовании системного ключа такую попытку взлома легко обнаружить. Если на компьютере установлен системный ключ, то во время загрузки NT не выдаст на экран обычного диалогового окна с приглашением для регистрации. При таком поведении системы даже самый несообразительный администратор должен задуматься и немедленно приступить к исследованию проблемы.
Аудит SAM
При любых обстоятельствах предусмотрительный администратор должен активизировать аудит базы данных SAM, чтобы своевременно обнаруживать какие-либо подозрительные действия. Разумеется, аудит предполагает, что вы будете регулярно и тщательно просматривать журнал событий. Процедура установки аудита SAM описана по шагам в колонке <Установка аудита системы безопасности>. Также эта процедура описывается в статье Microsoft Enable Auditing of Microsoft Windows NT Server Password Registry (http://support.microsoft.com/support/kb/articles/q186/ 3/74.asp). Вы можете активизировать аудит базы данных SAM, однако он не будет выполняться, если кто-то загрузит систему с другой копии ОС.
Предположим, вы сделали все, что нужно для установки аудита всей текущей базы данных SAM. Теперь журнал событий будет включать в себя информацию обо всех успешных и неудачных попытках доступа к ключам SAM. Однако эта информация окажется бесполезной, если вы не будете внимательно анализировать журнал.
Активизация такого уровня аудита может привести к накоплению очень большого количества записей в журнале событий. Дело в том, что в процессе нормальной работы OC регулярно происходят обращения системы к ключам SAM. Поэтому следует установить параметры настройки журнала событий так, чтобы он мог вмещать достаточное количество записей. Также следует настроить программы мониторинга журнала событий, которые вы будете использовать.
Утилиты, выполняющиеся с правами привилегированных пользователей, таких как Administrator или SYSTEM, могут свободно манипулировать журналом событий и записями в нем. Сообразительные взломщики могут легко удалить все следы своей деятельности.
SAM на различных носителях информации
NT может помещать базу данных SAM на различные носители информации, включая дискеты, магнитные ленты и жесткие диски. Копирование базы на дискету или ленту требует определенных действий со стороны пользователя, такая операция не является частью обычной работы NT. В процессе ежедневного функционирования NT может размещать базу данных SAM в двух каталогах на жестком диске: %systemroot% epair и %systemroot%system32config. Хотя каталог config и содержит рабочую копию базы данных SAM, используемую <живой> системой, к этой базе нельзя получить доступ (например, для копирования) из таких программ, как Windows Explorer (Проводник), пока работает ОС. Это связано с тем, что системный процесс Local Security Authority (LSA) (lsass.exe) захватывает файл базы данных SAM для монопольного использования.
Тем не менее кто-нибудь все же может, используя загрузочный диск NT, скопировать данный файл. То есть взломщик имеет возможность перезагрузить систему со своего диска и скопировать либо переместить базу данных SAM. Еще раз заметим, что технология системного ключа может защитить SAM от подобной атаки с использованием загрузочного диска, так как база данных будет зашифрована. Это справедливо и для архивов на магнитных лентах, поскольку взятая оттуда копия базы данных SAM, зашифрованная с помощью системного ключа, окажется совершенно бесполезной для взломщика. Однако архивы на лентах все равно следует хранить под замком для защиты от потери, искажения и кражи информации.
Каталог epair содержит ту же информацию, что и дискета ERD, создаваемая утилитой rdisk.exe и используемая для восстановления системы. И каталог epair, и дискета ERD содержат копии базы данных SAM, поэтому они должны быть надежно защищены. Дискета ERD должна храниться в столь же безопасном месте, что и ленты с архивами данных.
Для защиты каталога epair назначайте права таким образом, чтобы злоумышленники не могли получить доступ к данному каталогу и содержащимся в нем файлам, в особенности к файлу sam._, в котором находится база данных SAM. Чтобы защитить файлы в каталоге epair, используйте утилиту calcs.exe, входящую в состав Microsoft Windows NT Server 4.0 Resource Kit или другую аналогичную программу. Выполните следующие действия.
В окне Command Prompt перейдите в каталог %systemroot% (обычно это C:winnt) и выполните команду:
cacls repair /g administrators:F system:F /t
Либо вы можете, используя программу Windows Explorer, сделать следующее.
1. Откройте Windows Explorer.
2. Перейдите в каталог repair (обычно это C:winnt
epair), нажмите правую клавишу мыши и выберите в открывшемся меню Properties.
3. Выберите закладку Security.
4. Выберите Permissions.
5. Отметьте Replace Permissions on Subdirectories и Replace Permissions on Existing Files.
6. Удалите из списка всех пользователей, кроме Administrators и SYSTEM.
7. Убедитесь, что и Administrators, и SYSTEM имеют права Full Control.
8. Нажмите OK.
Теперь вы назначили пользователям Administrators и SYSTEM права Full Control на данный каталог и все файлы, которые в нем содержатся. Поскольку режим редактирования ACL выбран не был, права всех остальных пользователей удалены системой.
В зависимости от конфигурации системы помимо каталогов epair и config NT может записывать информацию, имеющую отношение к SAM, в следующие файлы: pagefile.sys, memory.dmp или user.dmp. NT использует файл pagefile.sys как дополнительное пространство для организации виртуальной памяти, которое добавляется к физической памяти, установленной в компьютере. Файл memory.dmp создается при аварийном завершении работы операционной системы, если в конфигурации NT выбран режим записи образа памяти на диск. Файл user.dmp создается при аварийном завершении работы какой-либо прикладной программы, если в конфигурации программы Dr. Watson выбран режим записи образа памяти в файл.
При работе с этими файлами NT переписывает определенную порцию данных из памяти на диск. В некоторых случаях эти данные могут содержать пароли, хранящиеся резидентно в памяти. Соответственно, получив доступ к этим файлам, взломщик может без особого труда завладеть важной информацией, позволяющей пробить брешь в системе безопасности.
Чтобы уменьшить опасность, связанную с использованием файлов user.dmp и memory.dmp, вам необходимо предпринять одно из следующих действий:
-
написать командный файл, который будет удалять указанные файлы при входе в систему.
-
установить права для этих файлов так, что только администраторы смогут иметь доступ к ним.
-
установить в реестре ключ, указывающий на необходимость удаления системного файла pagefile при завершении работы операционной системы.
-
в конфигурации программы Dr. Watson отключить режим создания файлов.
Лучше всего настроить параметры системы так, чтобы указанные два файла не создавались. Однако при этом может возникнуть ситуация, когда программисты, которые должны исследовать проблему аварийного завершения работы системы, не будут иметь необходимых им данных.
Чтобы отключить создание файлов user.dmp программой Dr. Watson запустите утилиту drwtsn32.exe, отключите параметр Create Crash Dump File и закройте программу.
Чтобы отключить в параметрах настройки NT создание файла memory.dmp, запустите в Панели Управления (Control Panel) программу System и выберите закладку Startup/Shutdown.
Затем отключите параметр Write debugging information to. Если вам все же необходимо иметь образы памяти на момент аварийного завершения работы NT, постарайтесь настроить параметры ОС и программы Dr. Watson таким образом, чтобы файлы, содержащие образ памяти, помещались в защищенный каталог, доступный только администраторам.
Что касается файла pagefile.sys, то его открывает и защищает от попыток непосредственного доступа со стороны взломщиков только операционная система. Однако следует упомянуть прошлогодний инцидент, когда клиентская служба NetWare для Windows NT помещала в память пароли пользователей NetWare в открытом виде. Эти пароли могли быть записаны в файл pagefile.sys при переписывании соответствующей страницы памяти на диск. Любой человек, имеющий копию файла pagefile.sys и текстовый редактор, мог без труда получить пароли. Разработчики Novell решили эту проблему. Теперь, прежде чем поместить пароли в pagefile, они шифруются с использованием недокументированного API-интерфейса. Однако взломщики могут пробить эту защиту. Так, изобретательные российские программисты нашли способ расшифровки информации, получаемой из файла pagefile.sys. Чтобы защититься от подобных атак, настраивайте NT таким образом, чтобы файл pagefile.sys удалялся при завершении работы системы. (Как это сделать, мы расскажем далее.) И не забывайте о необходимости физической защиты компьютера с целью предотвращения нежелательного доступа к файлу pagefile.sys.
Да, вы можете сконфигурировать NT так, чтобы pagefile удалялся при нормальном завершении работы системы. Но таким способом вы обеспечите защиту только от тех взломщиков, которые копируют или изменяют файл, загрузившись с другой копии ОС (т. е. используя загрузочный диск или загрузив NT из другого системного каталога). Большинство взломщиков понимают, что в таком случае у них есть возможность получения доступа к системе путем перемещения базы данных SAM, следовательно, взлом файла pagefile.sys становится бессмысленным
Несмотря на это, в ситуациях, когда условия эксплуатации системы требуют установки и использования нескольких копий ОС, удаление файла pagefile при нормальном завершении работы можно считать достаточной мерой безопасности. Следует иметь в виду, что если NT сконфигурирована так, чтобы удалять pagefile во время завершения работы системы, то неизбежна некоторая задержка в процессе начальной загрузки и останова ОС. Однако эта задержка несущественна, если принять во внимание уровень безопасности, которого мы в результате достигаем. Для того чтобы включить режим удаления файла pagefile.sys во время нормального завершения работы ОС, следует модифицировать (или создать) в системном реестре параметр ClearPageFileAtShutdown (типа REG_SZ) в ключе HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management, присвоив ему значение 1.
Хэш-коды паролей в памяти
По умолчанию, NT кэширует необходимые для регистрации атрибуты для 10 последних пользователей, входивших в систему интерактивно. Это делается для того, чтобы пользователь смог зарегистрироваться, даже если вы отключите компьютер от сети, или контроллер домена окажется недоступным. NT обеспечивает определенную защиту кэшируемой информации. Однако если ваши задачи требуют более высокого уровня безопасности, вы можете полностью отключить кэширование, чтобы исключить попытки атак на данные в кэш-памяти. Нужно учитывать, что кэшируемые данные содержат хэш-коды других хэш-кодов паролей. Поэтому их очень сложно взломать и использовать для несанкционированного входа в систему. Мы не можем вспомнить ни одного случая использования хакерами таких данных из кэш-памяти. Чтобы отключить кэширование, установите в 0 значение параметра реестра CachedLogonsCount (типа REG_DWORD) в ключе HKEY_ LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersion Winlogon.
SAM в сети
ОС Windows NT использует протокол SMB (Server Message Block - блок серверных сообщений), разработанный совместно фирмами Microsoft, IBM и Intel. Данный протокол определяет алгоритмы функционирования файловой службы в сетевой среде. Нетрудно предположить, что во время сеанса SMB по сети должны передаваться пакеты, содержащие информацию конфиденциального характера. Среди прочего эти пакеты обычно включают в себя зашифрованные данные протокола NTLM, передаваемые NT во время фазы аутентификации.
Взломщики, используя существующие сетевые анализаторы, могут легко перехватывать данные, передаваемые по сети. Задача перехвата нужных пакетов и получения из них информации о паролях всегда считалась нелегкой. Но ситуация в корне изменилась с появлением продукта SMB Packet Capture, выпущенного компанией L0pht Heavy Industries. Это сетевой анализатор, который тесно интегрирован с программой L0phtCrack. Имея в своем распоряжении L0phtCrack, можно легко <выхватывать> из сети хэш-коды паролей, передаваемые в соответствии с протоколом SMB.
Встроенный в L0phtCrack сетевой анализатор незаметно перехватывает хэш-коды паролей и запоминает их с целью расшифровки. После расшифровки паролей злоумышленнику ничего не стоит добраться до любого сетевого ресурса, к которому имел доступ соответствующий пользователь. Вот так! Риск здесь очевидный, но и методы защиты просты.
Для защиты от подобных атак нужно использовать протокол NTLMv2, поставляемый в составе пакетов обновления SP4 и SP5, либо применять механизм создания виртуальных частных сетей (VPN - Virtual Private Network) типа Microsoft PPTP. Протокол NTLMv2 позволяет защитить данные, передаваемые по внутренней локальной сети, а PPTP обеспечивает защиту информации, передаваемой через такие <небезопасные> сети, как, например, Internet. Если вы реализуете PPTP, то обязательно установите последние сервисные пакеты, включая дополнения и исправления к ним (hotfix). Мы предупреждаем вас об этом, потому что в свое время PPTP-соединение считалось очень ненадежным. Microsoft внесла необходимые корректировки, устраняющие недостатки PPTP. Но эти корректировки будут вам недоступны, если вы не установите hotfix к пакету SP3 или более позднему пакету.
Следует иметь в виду, что при отсутствии в вашей системе механизма VPN и технологии подписей SMB взломщик может использовать сеанс SMB для получения несанкционированного доступа в систему. Microsoft реализовала технологию подписей SMB в пакете обновления SP3 и также включила ее во все последующие пакеты обновления. При использовании подписей пакетов SMB операционная система проверяет подлинность каждого пакета, прежде чем принять его к исполнению. Однако реализация подписей SMB не всегда безопасна. Для получения более подробной информации обязательно прочитайте статью Microsoft How to Enable SMB Signing in Windows NT (http://support.microsoft.com/support/kb/articles/q161/3/72.asp).
Для борьбы со средствами взлома типа L0phtCrack можно запретить NT посылать в сеть хэш-коды паролей, формируемые по протоколу LAN Manager (LM). Хэш-коды LM являются более простыми, чем коды NTLM, так как NTLM позволяет задействовать пароли, учитывающие регистр. Также NTLM допускает возможность применения дополнительных символов клавиатуры. Это расширяет диапазон символов ключа шифрования на 26. Заметим, что сложные пароли труднее поддаются расшифровке даже при наличии таких инструментов, как L0phtCrack.
Целесообразно включать в пароль символ <возврат каретки>, так как L0phtCrack не умеет нормально обрабатывать этот символ. Чтобы вставить <возврат каретки>, нажмите клавиши Alt+0+1+3 на цифровой панели клавиатуры.
Для решения описываемой проблемы Microsoft реализовала в составе дополнений и исправлений к сервисному пакету SP3 новый ключ реестра. Он был включен во все сервисные пакеты, вышедшие после SP3. Новый параметр реестра, LMCompatibilityLevel, имеет тип REG_DWORD и размещается в HKEY_LOCAL_MACHINESystemCurrentControlSetControlLsa.
При использовании NTLMv2 можно установить значение этого параметра равным 0, 1, 2, 3, 4 и 5. Если это значение равно 0, то NT при аутентификации сетевого соединения передает по сети пароли как в формате NTLM, так и в формате LM (этот метод аутентификации обеспечивает совместимость с другими системами и используется в NT по умолчанию). Если значение равно 1, то NT передает оба типа хэш-кодов только тогда, когда этого требует сервер. Если значение равно 2, то хэш-коды паролей в формате LM не используются ни при каких обстоятельствах. Если значение равно 3, применяется только аутентификация по протоколу NTLMv2. Значение параметра, равное 4, запрещает контроллеру домена использовать аутентификацию LM, а значение 5 указывает на необходимость применять при аутентификации только протокол NTLMv2. Наиболее безопасной является установка значения этого параметра равным 2. Но следует иметь в виду, что системы, поддерживающие только протокол LM (т. е. Windows 95 и Windows for Workgroups), не смогут установить соединение с данной системой NT. Полный перечень особенностей конфигурации описан в статье Microsoft How to Disable LM Authentication on Windows NT (http://support.microsoft.com/support/kb/articles/q147/7/06.asp). Заметим, что при установке пакета обновления SP4 данный ключ реестра способен принимать шесть различных значений.
Еще один способ взлома системы может иметь место, если взломщик располагает возможностью физического доступа к компьютеру. Используя такие средства, как NT Locksmith или ERD Commander (оба можно найти на http://www.wininternals. com), ничего не стоит получить доступ в систему с правами любого пользователя. Для защиты от этого метода взлома следует принять меры, препятствующие физическому доступу к компьютеру.
Можно немного расслабиться
В этой статье мы представили основные идеи и особенности конфигурации, которые следует учитывать при установке и сопровождении ОС Windows NT и ее системы безопасности. Также мы упомянули несколько вопросов, связанных с приложениями NT (см. колонки <Безопасность приложений BackOffice> и <Безопасность прикладных программ>), которые проливают свет на потенциальные проблемы и могут способствовать поиску путей защиты паролей от несанкционированного доступа.
Эта статья должна помочь вам несколько разгрузить свой мозг. Но не слишком расслабляйтесь. Вам по-прежнему необходимо держать систему под контролем. Продолжайте следить за журналами событий!
Об авторах
Марк Джозеф Эдвардс - сетевой инженер с 16-летним опытом работы. Он является автором книги Internet Security with Windows NT (издательство 29th Street Press). С ним можно связаться по электронной почте по адресам mark@ntshop.net или mje@winntmag.com.
Дэвид Лебланк более пять лет занимается вопросами безопасности Windows NT, является старшим технологом группы по компьютерной безопасности корпорации Microsoft. C ним можно связаться по электронной почте по адресу dleblanc@mindspring.com.
Установка аудита системы безопасности |
at 11:32 /interactive "regedt32.exe" Эта команда вставляет в список Планировщика событие, по которому в 11:32 на консоли будет запущена утилита regedt32 с правами SYSTEM.
|
Безопасность приложений BackOffice |
Многие прикладные программы, работающие в среде Windows NT, используют пароли, которые хранятся не в базе данных SAM. Такие приложения, как Microsoft Outlook, Internet Explorer (IE), Internet Information Server (IIS), SQL Server, - размещают пароли в различных областях системы. Нужно иметь представления обо всех этих областях и принимать меры для предотвращения нежелательного доступа в систему. Одно из наиболее распространенных приложений в NT - Internet Explorer. Сам IE не требует ввода паролей, однако этого требуют многие узлы, доступ к которым осуществляется с помощью IE. Слабый дизайн Web-узлов обычно приводит к появлению проблем в области безопасности. В особенности это происходит, когда необходимые для входа на сайт имена пользователей и пароли размещаются в специальных модулях настройки клиентов, называемых cookies. Срок жизни модулей настройки клиентов можно программировать, следовательно, можно указать, что он истекает немедленно.Тогда эти данные будут оставаться в памяти только в тот период, когда они используются в текущей работе с узлом, и никогда не будут записаны на диск. Модули, содержащие имена пользователей и пароли, срок жизни которых не истек, NT сразу же записывает в каталог %systemroot%profilesusernamecookies. Любой, кому доступен этот каталог, имеет доступ ко всем данным, хранящимся в модулях настройки клиентов, включая такую информацию, как имена пользователей и пароли. Злонамеренный оператор Web-узла, знающий, где нужно искать соответствующую информацию, сможет найти ее в каталоге cookies. И пользователь ничего не будет знать об этом. Эта ситуация не является дырой в системе безопасности IE. Это просто особенность алгоритмов работы HTML Cookies. Чтобы защититься от этого, необходимо просто проверять и удалять все модули cookies, которые содержат конфиденциальную информацию. Для этого достаточно открыть соответствующий файл текстовым редактором и посмотреть, что в нем находится. Также нужно во всеуслышание жаловаться на те узлы, которые хранят конфиденциальную информацию в файлах на диске, поскольку такая практика содержит в себе серьезную угрозу безопасности. Клиент Outlook во время обычной работы нигде не хранит в системе паролей в открытом текстовом виде. Однако если вы работаете с сервером по протоколу POP3, то пароли передаются по сети в явном виде. Такие пароли можно легко перехватить с помощью сетевого анализатора пакетов. Протокол POP3 требует передачи открытых паролей, поэтому Microsoft ничего не может сделать для решения этой проблемы. Но несмотря на это, для приема почтовых сообщений можно использовать вместо POP3 протокол APOP (Authenticated Post Office Protocol). Этот протокол работает с зашифрованными паролями. SQL Server при аутентификации пользователей хранит пароли в системном реестре. Соответствующие ключи реестра очень слабо защищены. Например, когда вы регистрируете SQL-сервер с использованием SQL Executive, имя пользователя и пароль для этого сервера записываются в реестр, в дерево HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSSQLServer. И любой сообразительный пользователь, имеющий право непосредственной регистрации с консоли сервера, может легко получить пароли SQL-серверов. Поэтому будьте внимательны при назначении пользователям прав регистрации на серверах с локальной консоли. Желательно также запретить удаленный доступ к реестру на всех системах NT, где это возможно. Но это следует очень аккуратно планировать, так как многим системам управления сетью и многим программам установки необходимо использовать удаленный доступ к реестру. Недавно было обнаружено, что при установке пакета Microsoft BackOffice Server пароли пользователей остаются записанными на диск в явном виде в областях файловой системы, доступных обычному пользователю. Во время инсталляции создается файл reboot.ini в каталоге program filesmicrosoft backoffice. Если пользователь в процессе установки Backoffice 4.0 выбирает установку продуктов SQL Server, Exchange Server или Microsoft Transaction Server (MTS), то программа установки запрашивает имя и пароль для пользователей, необходимые для работы данных продуктов. Если подробнее, то программа установки запрашивает имена и пароли пользователей, от имени которых работают SQL Executive, Exchange Services и MTS Remote Administrator, и сохраняет эту информацию в виде открытого текста в файле reboot.ini. После завершения установки программе не удается удалить этот файл. Позаботьтесь о том, чтобы не предоставлять излишних прав доступа системам BackOffice. Если вы имеете достаточно надежную систему безопасности, то вряд ли вы столкнетесь с описанной проблемой. Но, несмотря на это, обязательно удалите вручную этот файл после завершения установки BackOffice 4.0. Более подробная информация по этой проблеме изложена в статье Microsoft BackOffice Installer Tool Does Not Delete Password Cache File (http://support.microsoft.com/support/kb/articles/q217/0/04.asp). |
Безопасность прикладных программ |
Многие компании, занимающиеся разработкой программного обеспечения, не слишком много внимания уделяют вопросам безопасности. И если внимательно посмотреть вокруг, то можно заметить, что программисты - это далеко не всегда люди, озабоченные проблемами безопасности. Большинство программистов начинают думать о безопасности уже после того, как кто-то взламывает программу, или программа позволяет взломать всю систему или сеть. Многие программные продукты имеют уязвимые места с точки зрения безопасности. Одним из таких продуктов является СУБД Oracle. Эта СУБД хранит в системе конфиденциальную информацию в виде открытого текста. Отсюда вытекает мораль: необходимо обеспечивать защиту собственными силами, отслеживая состояние системы до, во время и после установки новых программ, в особенности если эти программы не являются широко известными коммерческими продуктами. Отслеживать состояние системы удобно при помощи утилиты Sysdiff, входящей в состав пакета Microsoft Windows NT Workstation 4.0 Resource Kit. Посредством Sysdiff вы можете создать образ системного реестра перед установкой новых продуктов и затем сравнить его с реально используемым реестром после установки программ. Утилита Sysdiff отображает все различия между двумя образами реестра. В качестве альтернативного варианта можно использовать утилиту Regmon (ее можно найти на Web-сайте Sysinternals: http://www.sysinternals.com). Данная утилита позволяет наблюдать за доступом к реестру в реальном времени. Что касается файловой системы, вы можете сделать сравнение ее состояния до и после установки. Это поможет выявить, какие файлы были удалены или добавлены во время установки нового продукта. Чтобы сделать такое сравнение, можно использовать утилиту Windiff из набора Resource Kit. Это делается следующим образом. Прежде чем установить новый программный продукт, откройте окно DOS и перейдите в корневой каталог диска, с которым вы собираетесь работать (например, C:). Чтобы создать текстовый файл, содержащий полную структуру файлов и каталогов, введите команду dir /S > directory1.txt Эта команда создает файл directory1.txt, включающий в себя список всех каталогов и файлов, расположенных на текущем диске. Создайте такие файлы для всех дисков, имеющихся у вас в системе, назначая разные имена файлов для каждого диска. После завершения установки нового программного продукта точно так же создайте еще один набор файлов, назначая другие имена файлов. Затем, используя утилиту Windiff, выполните сравнение структур каталогов, содержащихся в соответствующих созданных файлах. В результате Windiff отобразит все каталоги и файлы, которые были удалены, добавлены или модифицированы во время установки. Обязательно прочитайте справочный файл Windiff, который содержит подробные инструкции по работе с данной утилитой. Также для получения информации о текущей работе с файловой системой вы можете использовать утилиту Filemon (доступную на сайте Sysinternals). Совместное использование Filemon или Windiff является удачным решением, так как оно позволяет выявить прикладные программы, которые без вашего ведома считывают конфиденциальную информацию из системы. |
Шпионские программы и новейшие методы защиты от них
Обновлено: 01.07.2025Н.Д. Красноступ, Д.В. Кудин
Программное обеспечение и аппаратные устройства, предназначенные для скрытого слежения за деятельностью пользователей персональных компьютеров, получили в последнее время самое широкое распространение. В мировой сети Интернет можно найти много ресурсов и документов, посвященных различным аспектам данной проблемы (юридическим, техническим, политическим и т.д.).
Особую опасность представляют мониторинговые программные продукты и аппаратные устройства, которые могут быть скрытно и несанкционированно (как правило, дистанционно) установлены без ведома владельца (администратора безопасности) автоматизированной системы или без ведома владельца конкретного персонального компьютера. Данная категория мониторинговых продуктов далее в статье будет именоваться как "программы-шпионы" или "продукты-шпионы".
Санкционированные же мониторинговые программные продукты используется администратором безопасности вычислительной системы (службой информационной безопасности предприятия или организации) для обеспечения ее наблюдаемости - "свойства вычислительной системы, позволяющего фиксировать деятельность пользователей и процессов, использование пассивных объектов, а также однозначно устанавливать идентификаторы причастных к определенным событиям пользователей и процессов с целью предотвращения нарушения политики безопасности и/или обеспечения ответственности за определенные действия" [1]. Именно это свойство, в зависимости от качества его реализации, позволяет в той или иной мере контролировать соблюдение сотрудниками предприятия установленных правил безопасной работы на компьютерах и политики безопасности.
Между мониторинговыми продуктами для обеспечения наблюдаемости и продуктами-шпионами очень тонкая грань - это грань между управлением безопасностью и нарушением безопасности. При этом наличие в программе таких специальных функции как:
-
возможность предварительной конфигурации модуля (клиента, агента и т.п.) мониторинга и получение "скомплектованного" исполнимого файла, который при инсталляции не выводит никаких сообщений и не создает окон на экране;
-
встроенные средства доставки и дистанционной установки сконфигурированного модуля на компьютер пользователя;
способствует и содействует превращению продукта для мониторинга и наблюдаемости в продукт-шпион. Напротив, наличие в программе следующих требований:
-
возможность инсталляции и конфигурации модуля мониторинга только при непосредственном физическом доступе к компьютеру пользователя;
-
обязательное наличие прав администратора для инсталляции и конфигурации программы;
зачастую делает продукт малопригодным для шпионских целей и несанкционированного применения. Исключение составляют случаи, когда, например, злоумышленником является сам администратор.
Отметим, что законность/незаконность использования мониторинговых (и шпионских) программ зависит от законодательства каждой конкретной страны (или административной единицы), а также от соблюдения правил использования этих программ, установленных законодательством.
Для чего используются мониторинговые программы?
Их применение позволяет специалисту, ответственному за информационную безопасность предприятия:
-
определить (локализовать) все случаи попыток несанкционированного доступа к конфиденциальной информации с точным указанием времени и сетевого рабочего места, с которого такая попытка осуществлялась;
-
определить факты несанкционированной установки программного обеспечения;
-
проконтролировать возможность использования персональных компьютеров в нерабочее время и выявить цель такого использования;
-
определить все случаи несанкционированного использования модемов в локальной сети путем анализа фактов запуска несанкционированно установленных специализированных приложений;
-
определить все случаи набора на клавиатуре критичных слов и словосочетаний, подготовки каких-либо критичных документов, передача которых третьим лицам приведет к материальному ущербу;
-
определить факты нецелевого использования персональных компьютеров:
-
получить достоверную информацию, на основании которой будет разрабатываться политика информационной безопасности предприятия;
-
контролировать доступ к серверам и персональным компютерам;
-
контролировать контакты собственных детей при серфинге в сети Интернет;
-
проводить информационный аудит;
-
исследовать и расследовать компьютерные инциденты;
-
проводить научные исследования, связанные с определением точности, оперативности и адекватности реагирования персонала на внешние воздействия;
-
определить загрузку компьютерных рабочих мест предприятия;
-
восстановить критическую информацию после сбоев компьютерных систем;
-
и т.д.
Для чего используются несанкционированно устанавливаемые мониторинговые программы, т.е. программы-шпионы?
Их применение позволяет злоумышленнику:
-
несанкционированно перехватывать чужую информацию;
-
осуществлять экономический шпионаж;
-
осуществлять политический шпионаж;
-
получить несанкционированный доступ к системам "банк-клиент";
-
получить несанкционированный доступ к ситемам криптографии пользователя персонального компьютера - открытым и закрытым ключам, парольным фразам;
-
получить несанкционированный доступ к авторизационным данным кредитных карточек;
-
и т.д.
Продукты-шпионы представляют серьезную опасность защите отдельных и соединенных в сеть компьютерных систем.
Одна из наиболее опасных особенностей всех программ-шпионов и аппаратных устройств-кейлоггеров - регистрация нажатий клавиш, сделанных пользователем, с целью контроля компьютерной активности. Когда пользователь набирает на клавиатуре пароль и данные своей кредитной карточки, возможно, в этот момент записывается каждое нажатие клавиши. Кроме этого, современные программы-шпионы позволяют захватывать текст из окон приложений и делать снимки (скриншоты) экрана и отдельных окон. Другими словами, программа-шпион может перехватить текст из документа, даже если пользователь его не набирал с клавиатуры, а просто открыл и просмотрел файл.
Ниже мы постараемся более детально осветить вопрос, что же собой представляют продукты-шпионы, которые могут быть использованы для скрытого съема информации с персонального компьютера, и какие существуют сегодня средства для защиты конфиденциальной/секретной информации, хранимой на жестком диске персонального компьютера, от описанных выше угроз.
Программные кейлоггеры (keyloggers, key loggers, keystroke loggers, key recorders, key trappers, key capture programs и множество других вариантов названия) принадлежат к той группе программных продуктов, которые осуществляют контроль над деятельностью пользователя персонального компьютера. Первоначально программные продукты этого типа предназначались исключительно для записи информации о нажатиях клавиш клавиатуры, в том числе и системных, в специализированный журнал регистрации (Log-файл), который впоследствии изучался человеком, уставившим эту программу. Log-файл может отправляться по сети на сетевой диск, ftp сервер в сети Интернет, по Email и др. В последнее время программные продукты, имеющие данное название, выполняют много дополнительных функций - это перехват информации из окон, перехват кликов мыши, "фотографирование" снимков экрана и активных окон, ведение учета всех полученных и отправленных Email, мониторинг файловой активности, мониторинг системного реестра, мониторинг очереди заданий, отправленных на принтер, перехват звука с микрофона и видео-изображения с веб-камеры, подключенных к компьютеру и др.
Кейлоггеры могут быть встроены в коммерческие, бесплатные и условно-бесплатные программы, троянские программы, вирусы и черви. В качестве примера можно привести недавнюю нашумевшую эпидемию червя Mydoom, который содержал в себе кейлоггер. Эта эпидемия вызвала целую волну публикаций, показывающих особую актуальность проблемы защиты от программ-шпионов. Лишь некоторые ссылки приведены ниже:
MYDOOM - worst yet to come
The Age
... So far, the damage is minimal. But the pre-eminent danger is that one
virus strain has a keylogger." Faulkner said it is possible ...
http://www.theage.com.au/articles/2004/01/29/1075088122616.html
CI Host CEO Monitors Computer Virus Epidemic Effects: ...
Yahoo News (press release)
... One in every dozen e-mails carries the virus. So far, the damage is
minimal. But the preeminent danger is that one virus strain has a keylogger." ...
http://biz.yahoo.com/prnews/040128/flw020_1.html
MYDOOM virus delivers gloom
Press of Atlantic City
... Infected computers still will have a backdoor in them, as well
as a key logger that records every keystroke. "A backdoor ...
http://www.pressofatlanticcity.com/news/newjersey/012804MYDOOM_J27.html
SCO offers $250000 reward for arrest of Mydoom worm author
ComputerWorld
... According to Symantec, the worm also installs a "key logger" that can
capture anything that is entered, including passwords and credit card
numbers, and will ...
http://www.computerworld.com/securitytopics/security/virus/story/0,10801,89470,00.html
NEW, fast-spreading worm spells Doom
InfoWorld
... The worm will install a "key logger" that can capture anything that
is entered, including passwords and credit card numbers, Ruckman said...
http://www.infoworld.com/article/04/01/27/HNdoomworm_1.html
NO move to stop email bounce messages yet, says Telecom
Computerworld New Zealand
... Symantec also claims the worm will install a "key logger" that can
capture anything that is entered, including passwords and credit card
numbers ...
http://www.computerworld.co.nz/news.nsf/UNID/23A51A1010B535FCCC256E280012F960?OpenDocument
WEB virus beats defence
Melbourne Herald Sun
... Anti-virus company Symantec warned the virus could install a "key logger"
program on to computers, allowing hackers access to every keystroke, including ...
http://www.heraldsun.news.com.au/common/story_page/0,5478,8513866%255E421,00.html
GLOBAL Hauri Offers Quick Fix to the Latest Cyber Threat
Market Wire (press release)
... spread by email. With the infections MyDoom also installs a key logger
and backdoor server on the infected computer. A new feature ...
http://www.marketwire.com/mw/release_html_b1?release_id=62255
INVESTOR Scammed By Keylogger Spyware
Emediawire (press release)
... In reality what was in their download was a keylogger that
captured & recorded the usernames and passwords to online accounts ...
http://www.emediawire.com/releases/2004/1/emw100583.htm
И это - не единственный пример. Многие серьезные и наиболее опасные предшественники Mydoom также содержали кейлоггеры. При этом нередко для распространения червей использовалась широко известная уязвимость IFrame браузера Microsoft Internet Explorer, которая позволяла запустить произвольный код на компьютере пользователя при простом просмотре HTML документа в браузере или почтовом клиенте Outlook. И хотя она была "залатана" еще в 2001 году (http://www.microsoft.com/technet/security/bulletin/MS01-020.asp), широкомасштабные вирусные эпидемии в недавнем прошлом еще раз показали, что многие пользователи до сих пор работают на устаревших системах без обновлений и патчей, несмотря на регулярные предупреждения антивирусных компаний. Кроме того, компания Microsoft регулярно выпускает патчи, закрывающие новые уязвимости, позволяющие злоумышленнику выполнять произвольный код на компьютере пользователя.
Примерами известных программных кейлоггеров являются Activity Logger, Boss Everyware, Ghost Keylogger, HookDump, IamBigBrother, Invisible KeyLogger Stealth, iOpus STARR, iSpyNOW, KeyCopy, KeyKeeper, KeyKey, KeyLog, KeySpy, Keystroke Reporter, PC Spy, Perfect Keylogger, ProBot, Realtime Spy, Spector Pro, SpyAgent, SpyBuddy, WinWhatWhere Investigator. В мире на сегодняшний день существуют сотни подобных продуктов, отличающихся друг от друга функциональностью, удобством работы, информативностью отчетов, возможностями по невидимости и защите от обнаружения/удаления.
Образцы внешнего вида анализаторов Log-файла программ Perfect Keylogger и Boss Everyware приведены ниже:


Аппаратные кейлоггеры (keystroke recording device, hardware keylogger и пр.) представляют собой миниатюрные приспособления, которые могут быть прикреплены между клавиатурой и компьютером или встроены в саму клавиатуру. Они регистрируют все нажатия клавиш, сделанные на клавиатуре. Процесс регистрации абсолютно невидим для конечного пользователя. Аппаратные кейлоггеры не требуют установки какой-либо программы на компьютере интересующего объекта, чтобы успешно перехватывать все нажатия клавиш. Такое устройство может быть тайно прикреплен к ПК объекта кем угодно - коллегой, уборщицей, посетителем и т.д.. Когда аппаратный кейлоггер прикрепляется, абсолютно не имеет значения, в каком состоянии находится компьютер - включенном или выключенном.
Затем атакующий может снять устройство в любой удобный момент, а его содержимое (записанные нажатия клавиш) скачать, когда ему это будет удобно. Объемы внутренней энергонезависимой памяти данных устройств позволяют записывать до 10 миллионов нажатий клавиш. Фотографии, опубликованные ниже наглядно иллюстрирует, насколько легко прикрепить данное устройство к компьютеру пользователя. Данные устройства могут быть выполнены в любом виде, так что даже специалист не в состоянии иногда определить их наличие при проведении информационного аудита.
Особо известны на рынке следующие аппаратные кейлоггеры - KeyKatcher, KeyGhost, MicroGuard, Hardware KeyLogger, производителями которых являются компании Allen Concepts Inc., Amecisco, KeyGhost Ltd., MicroSpy Ltd.
Аппаратные кейлоггеры подразделяются на внешние и внутренние, отличительные особенности которых описаны ниже:
Внешние аппаратные кейлоггеры | Внутренние аппаратные кейлоггеры |
Наружные аппаратные кейлоггеры подключаются между обычной клавиатурой ПК и компьютером и регистрируют каждое нажатие клавиш. Для работы им не нужны батареи, установленные программы, и они могут работать на любом ПК. Вы можете подключить их к одному компьютеру, чтобы записать информацию, а затем, при необходимости, подключить к другому, чтобы воспроизвести ее.
Современные аппаратные кейлоггеры представляют собой встроенные приспособления, которые выглядят, как оборудование для ПК. |
Сложнее всего обнаружить (и обезвредить) внутренний аппаратный кейлоггер, у которого аппаратный модуль перехвата нажатий клавиш встроен в корпус клавиатуры.
Современный внутренний аппаратный кейлоггер представляет собой встроенное приспособление, которое выглядит, как клавиатура ПК.
Небольшое устройство, внедренное в разрыв шнура клавиатуры и покрытое теплоизоляционным материалом. |
Внешние виды анализаторов аппаратных кейлоггеров приведены ниже:
|
|
Для обнаружения и удаления мониторинговых программных продуктов, которые могут быть установлены без ведома пользователя ПК, в настоящее время используются программы различных типов, обеспечивающие более или менее эффективную защиту исключительно только против ИЗВЕСТНЫХ программ-шпионов с помощью сигнатурного анализа. Для эффективной работы программ данного типа необходимо получить образец программы-шпиона, выделить из нее сигнатуру и включить данную сигнатуру в свою базу. При обновлении сигнатурной базы пользователи персонального компьютера получают возможность бороться с данным вариантом программы-шпиона. По данному принципу работают многие известные фирмы производители антивирусного программного обеспечения.
Но есть и другая группа программ-шпионов, которая наиболее опасна для любых автоматизированных систем - это НЕИЗВЕСТНЫЕ программы-шпионы. Они подразделяются на программы пяти типов:
-
Программы-шпионы, разрабатываемые под эгидой правительственных организаций (как пример - продукт Magic Lantern, проект под названием Cyber Knight, США).
-
Программы-шпионы, которые могут создаваться разработчиками различных операционных систем и включаться ими в состав ядра операционной системы.
-
Программы-шпионы, которые разработаны в ограниченном количестве (часто только в одной или нескольких копиях) для решения конкретной задачи, связанной с похищением критической информации с компьютера пользователя (например, программы, применяемые хакерами-профессионалами). Данные программы могут представлять собой немного видоизмененные открытые исходные коды программ-шпионов, взятые из сети Интернет и скомпилированные самим хакером, что позволяет изменить сигнатуру программы-шпиона.
-
Коммерческие, особенно, корпоративные программные продукты, которые очень редко вносятся в сигнатурные базы, а если и вносятся, то только по политическим мотивам (как пример - программные продукты таких известных фирм, как WinWhatWhere Corporation, SpectorSoft Corporation, ExploreAnywhere Software LLC, Omniquad Ltd. и др.).
-
Программы-шпионы, представляющие собой keylogging модули включаемые в состав программ-вирусов. До внесения сигнатурных данных в вирусную базу данные модули являются неизвестными. Пример - всемирно известные вирусы, натворившие много бед в последние годы, имеющие в своем составе модуль перехвата нажатий клавиатуры и отправки полученной информации в сеть Интернет, например -
Информация о программах-шпионах первого и третьего типа, как правило (если не происходит утечек информации), нигде не опубликовывается, и, соответственно, их код не может быть внесен в сигнатурные базы, поэтому они не могут обнаруживаться никакими программными продуктами, использующими сигнатурный анализ.
Информация о программах-шпионах второго типа нигде не опубликовывается, данный код работает на уровне ядра операционной системы и, соответственно, они не могут обнаруживаться никакими приложениями.
Информация о программах-шпионах четвертого типа вносится в сигнатурные базы очень редко, так как это противоречит законодательству многих стран мира. Но даже если и внести такие программы в сигнатурные базы, то деактивировать, а, тем более, удалить их зачастую невозможно без разрушения операционной системы. Они не имеют своих процессов, а прячутся в виде потоков в системные процессы, они могут работать только с памятью компьютера и не работать с жестким диском, они имеют режимы контроля целостности и самовосстановления после сбоев.
Информация о программах-шпионах пятого типа вносится в сигнатурные базы через несколько часов или дней после начала соответствующей вирусной атаки. А за это время конфиденциальная информация пользователя персонального компьтера уже может быть украдена и отослана в сеть Интеренет на заранее подготовленный вирусописателем адрес.
Что же может противопоставить пользователь персонального компьютера программам-шпионам?
Решение данной проблемы возможно только в использовании комплекса программных продуктов:
-
Программный продукт N1 - это продукт, который использует эвристические механизмы защиты против программ-шпионов, созданные специалистами, имеющими больший опыт борьбы с программами-шпионами. Он оказывает защиту непрерывно и не использует никакие сигнатурные базы.
-
Программный продукт N2 - это Антивирусный программный продукт, использующий постоянно обновляемые сигнатурные базы.
-
Программный продукт N3 - это персональный Firewall, контролирующий выход в сеть Интернет с персонального компьютера на основании политик, которые устанавливает сам пользователь.
Такая последовательность выбрана неспроста.
Антивирусный программный продукт успевает отреагировать на проникновение вируса с keylogging модулем, когда уже осуществлен перехват информации, т.к. вирусная база еще не успела пополниться новой информацией, а, соответственно, и обновиться на компьютере пользователя.
Персональный Firewall задает много вопросов, на которые даже очень хорошо подготовленный пользователь может ответить некорректно, тем самым неправильно его сконфигурировав. Например, некоторые коммерческие мониторинговые программы используют процессы программных продуктов, которым заведомо разрешен выход в Интернет (браузеры, почтовые клиенты и т.д.). Как правило, пользователь обязан разрешить им выход в Интернет. А это приводит к тому, что та информация, которая была уже украдена при полном бездействии антивирусной программы, спокойно будет передана в сеть Интернет на заранее подготовленный хакером (или кем-то иным) интернет-адрес.
И только программный продукт первого типа работает молча, не задавая ненужных вопросов пользователю, и осуществляет свою работу непрерывно в фоновом режиме.
Антивирусных программных продуктов, использующих постоянно обновляемые сигнатурные базы, в мире создано великое множество (AVP, Dr.Web, Panda Antivirus, Norton Antivirus и многие другие). Персональных межсетевых экранов создано еще больше (Norton Internet Security, BlackICE Defender, GuardianPro Firewall, Tiny Personal Firewall и многие другие). А защитные программные продукты первого типа представлены на сегодняшний день всего лишь одним продуктом, не имеющим аналогов в мире. Этот продукт называется PrivacyKeyboard™.
PrivacyKeyboard™ блокирует работу программ-шпионов без использования сигнатурных баз. Это стало возможным благодаря тому, что были найдены решения и разработаны алгоритмы, которые позволили отличить работу программы-шпиона от любого иного приложения, которое установлено в системе.
PrivacyKeyboard™ имеет в своем составе модули, обеспечивающие
-
защиту от перехвата нажатий клавиш клавиатуры;
-
защиту от перехвата текста из окон;
-
защиту от снятия изображения рабочего стола;
-
защиту от снятия изображения активных окон.
Для собственной защиты от внешнего разрушительного воздействия программ-шпионов программный продукт PrivacyKeyboard™ имеет систему контроля целостности и другие защитные функции.
Никакие программные продукты не в состоянии определить наличие установленных аппаратных устройств, которые обеспечивают перехват нажатий клавиатуры пользователем персонального компьютера.
Сегодня существует только два метода противодействия аппаратным кейлоггерам при работе на стандартном персональном компьютере:
-
физический поиск и устранение аппаратного кейлоггера;
-
использование виртуальных клавиатур для ввода особо важной информации (логины, пароли, коды доступа, PIN коды кредитных карт и т.д.).
Остановимся детальнее на втором пункте.
Программный продукт PrivacyKeyboard™ имеет в своем составе модуль защиты от аппаратных кейлоггеров, выполненный в виде виртуальной экранной клавиатуры, которая вызывается пользователем в случае необходимости.
Раскладка виртуальной клавиатуры переключается автоматически при переключении раскладки основной клавиатуры персонального компьютера и поддерживает все языки и раскладки, которые установлены в операционной системе Microsoft Windows NT/2000/XP.
Структурная схема и краткое описание механизма функционирования программы PrivacyKeyboard™ представлены ниже.

-
Модуль блокирования программных кейлоггеров является активным по умолчанию, обеспечивая постоянную и прозрачную защиту "на лету" от различных типов программных кейлоггеров. Его можно легко выключить/включить одиночным левым щелчком мыши на иконке PrivacyKeyboard™ в системном трее. Когда Модуль блокирования программных кейлоггеров включен, PrivacyKeyboard™ подавляет любые кейлоггеры, которые могут быть включены в состав коммерческих, бесплатных и условно бесплатных продуктов, а также "троянских коней" и вирусов, использующих самые разные принципы функционирования и основанных на модулях пользовательского уровня либо уровня ядра системы - dll, exe, sys и др., которые создают лог-файлы на жестком диске, в памяти, реестре, на сетевых дисках, либо пересылают лог-файлы на заранее указанные адреса по протоколам SMTP, FTP, HTTP и др.
-
Модуль блокирования аппаратных кейлоггеров можно активировать путем нажатия правой клавиши мыши на иконке PrivacyKeyboard™ в системном трее и выбора опции Показать модуль блокирования аппаратных кейлоггеров. При этом на экране появится виртуальная клавиатура. Она поддерживает различные раскладки клавиатуры и языки, установленные в системе. При работе с виртуальной клавиатурой в целях безопасности стандартная клавиатура блокируется. При включении Модуля блокирования аппаратных кейлоггеров автоматически включается Модуль блокирования программных кейлоггеров, даже если он перед этим был выключен. Настоятельно рекомендуется использовать совместное функционирование этих двух модулей для ввода наиболее критичной информации - логинов, паролей, кодов доступа и т.п.
Разработчиком программы PrivacyKeyboard™ является ООО "Центр информационной безопасности" (г. Запорожье, Украина). Доступна бесплатная версия для ознакомления, скачать которую можно по адресу: http://www.bezpeka.biz/download.html.
-
НД ТЗИ 1.1-003-99. Терминология в области защиты информации в компьютерных системах от несанкционированного доступа. // Департамент специальных телекоммуникационных систем и защиты информации Службы безопасности Украины. - Киев, 1999.
-
"2001 AMA Survey: Workplace Monitoring & Surveillance: Summary of Key Findings"
American Management Association
http://www.amanet.org/research/pdfs/ems_short2001.pdf -
"Computer And Internet Surveillance in the Workplace: Rough Notes".
Andrew Schulman, Chief Researcher, Privacy Foundation, US, 2001-2002
http://www.sonic.net/~undoc/survtech.htm -
"The Extent of Systematic Monitoring of Employee E-mail and Internet Use"
Andrew Schulman, Chief Researcher, Privacy Foundation, US, 2001-2002
http://www.sonic.net/~undoc/extent.htm
Источник: http://bezpeka.com/ru/lib/sec/gen/art382.html
Социальная инженерия. Профессиональное программирование. Последовательный взлом
Обновлено: 01.07.2025Автор:
E-mail:wider
WWW:brotherhood
С развитием Internet, появилось много "хакеров" :) И все эти "хакеры" "умеют" ломать сервера и знают, как это делать. Я не буду учить вас взламывать сервера. Я, пожалуй, попытаюсь вам рассказать, как можно взламывать не сервера, а разум людей. А также как использовать удачно подвернувшуюся ситуацию.
Все это я разбавлю примерами по теме разговора. Предупреждаю, что некоторые из этих примеров были на самом деле, другие же не больше, чем плод моего воображения. Если вы увидели себя в этих примерах - считайте, что это случайность.
К сожалению, с появлением всех этих хаксоров, все забыли о прекрасном методе взлома - социальной инженерии. Для тех, кто не в курсе, что это такое, я поясню. Это одна из частей социальной психологии, направленная лишь на то, чтобы манипулировать людьми или порождать в их разум новую модель поведения. Каждый в жизни, наверно, сталкивался с тем, что кто-то на него воздействовал социальной инженерией, но скорей всего эти оба человека, и жертва, и охотник не догадывались об этом. Вы можете столкнуться с этим в магазине, когда вам пытаются впарить какой-либо товар. Или по телевидению, когда вам рекламируют, какой замечательный этот товар, который на самом деле полное дерьмо. И так далее. Но как вы заметили, во всех этих ситуациях, никто не догадывается, о том, каким способом, все это происходит. Просто потому, что это частичная или слабая социальная инженерия. Я же попытаюсь вам рассказать о профессиональной инженерии, когда все ваши усилия будут направлены на достижения какой-либо цели.
Добыча информации. Социальная инженерия. Последовательный взлом.
Конечно самое эффективное, для чего применяется социальная инженерия, это добыча информации. Причем неважно какой. Весь интерес в том, что можно узнать очень секретную информации, но тот человек, который вам ее скажет, будет чувствовать, не более чем, если бы он вам рассказал секретный рецепт пирожков. Тут к этому у меня есть замечательный пример, который рассматривает сразу две под темы социальной инженерии, но замечу, что пример нестандартный:
Стоял я как-то перед зданием одной компании. Очень хорошее пятиэтажное здание, отданное полностью под эту компанию, постояв возле входа, я обнаружил, что все кто туда входит, отчитываются вахтеру, куда они и зачем. Понятно, что просто так туда не войти. Обойдя, его я обнаружил две дыры (дыры не такие, какие бывают у OS, а такие, которые бывают в ситуации такой, какая сейчас, я просто провел аналогию). Дыры заключались в следующем: 1) с задней стороны здания нет дверей, поэтому там люди не ходят, но есть лестница на крышу, такая простая лестница, железная, не удобная, немного высоко над землей. И хотя висела видеокамера, которая якобы все снимала, я видел, что она не работает, не горели никакие лампочки и не шли провода. 2) Прямо в притык с этим зданием строили новое здание, выше на четыре этажа, то есть девятиэтажное здание, пустое. И пара окон как раз выходила на крышу этого здания, и хотя на окнах была решетка, я заметил, что другая пара окон, которые на этаж выше без решетки и что высота между ними не большая. На следующую ночь, я вместе с другом забрались через стройку, протащив с собой лестницу и спустив ее со стройки 6-этажа на 5 этаж здания-жертвы. На крыше было: спутниковая антенна, 10 телефонных кабелей, и вроде бы ethernet. Нам тогда кроме телефонных кабелей нечего не надо было, поэтому мы занялись ими. Друг у меня работал в тел. компании, и был хорошим телефонным специалистом, он взял с собой два прибора: первый позволял прослушать, что в линии без подключения, второй - вклинивание в линию, не обрывая ее. В эту ночь все разведали и ушли. На следующую ночь мы разведали первый путь проникновения на крышу: лестницу, как я и предполагал, никто нечего не обнаружил. И на этот раз мы взяли с собой все необходимые приспособления. Вот что мы сделали за эту ночь: поставили 5 диктофонов на линии, чтобы они включались, когда в линии идет сигнал, на остальных линиях мы обнаружили только модемы и, подключившись к этим линиям, мы сделали, так чтобы при звонке на этот телефон запрос передавался на другой телефон (стандартная АТС`ная фича). На всех других телефонах у нас стояли модемы, которые принимали звонки и записывали пароли. Через сутки мы узнали 13 паролей, среди них 2 админовских и куча информации на диктофонах. Обнаружили, что среди тех телефонов присутствует телефон Отдела Кадров, Приемной директора, Серверной (!), Справочной, остальные оказались простыми телефонами сотрудников. За неделю записи данных с первых четырех телефонов нам дали столько информации об этой компании, что хватило бы для того, чтобы разорить их и ограбить легальным путем. А если еще учесть то, что мы обнаружили потом на их серваках через админовские пароли, то этого нам хватило на два месяца просмотра информации.
Напоследок хочу сказать, что хотя на первый взгляд этот пример никак не связан с социальной инженерией стандартного характера (не участвует человек-жертва, нет сути развода жертвы на что-либо), я вам скажу, что здесь использовались методы человеческого сознания. То есть не надо думать, что раз висят камеры, то нас увидят или, что раз крупная компания, то им на крышу не залезешь. Надо думать технически тоже, а не социально. Поэтому в этом примере мы действовали по принципы обратного от human denial of service, то есть когда людей выводят из строя воздействием на них социальных мерок, таких как значимость компании и стереотипы охраны здания.
И еще один пример, без комментариев, просто читайте и вникайте :)
"Извините, а вы куда?" - охранник выглядел злым, что проходят мимо него.
" В серверную. Вы что не видите, что я тороплюсь??" - я сделал недоуменное лицо, показывая, что я не собираюсь тратить свое время на какую-то личинку типа охранника.
"Да, конечно, но у вас есть пропуск? Вы кто?" - он нервничал, что не узнает меня, еще бы, откуда ему меня знать.
"Как кто? Вы что, не знаете своего начальства? Я - Свиридов. Как ваша фамилия?" - я сделал укоризненный взгляд, показывая, что я раздражен.
"Моя? Ээ: Привалов, старший охранник Привалов!" - мямля ответил грозный человек, запинаясь и не зная куда смотреть.
"Привалов? Ну, вы у меня смотрите, сегодня же зайду к вашему начальнику" - сказал я и быстро двинулся дальше.
Охранник поглядел мне в след и подумал "Фу... опять кого-то к нам занесло, ездят тут всякие начальники из Москвы, а нас не предупреждают".
Я быстрым шагом прошел по коридору, оглядывая, как тут все смотрится, до этого я видел эту структуру только по топологии сети, украденной с сервера. "Хмм... должно быть это серверная" - подумал я, вспоминая план, и нажал на ручку двери. Она отворилась, и я увидел лысого человека с бородой нервно курившего и смотревшего на монитор. "Наверняка системный администратор" - мелькнула мысль, и я подошел.
"Извините, а вы не могли бы посмотреть, что там у вас на сервере с моим именем" - сказал я извиняющим голосом, таким как говорят все пользователи перед грозными администраторами.
"Хмм... а вы кто такой, я вас не узнаю" - спросил бородатый, как все админы подозрительный.
"А я только вчера устроился, мне сказали, что у меня должна быть учетная запись на сервере, я попробовал войти, но у меня не получилось, вот я к вам и зашел" - пробубнил я, смотря на него невинными глазами.
"Хмм: ну сейчас посмотрю. Как фамилия?"
"Привалов. Привалов Александр Викторович" - сказал я обрадовавшимся голосом пользователя.
"Ну да, вас не было в базе данных, я добавил. Пароль у вас такой же, как учетная запись, поменяйте при входе в сеть" - сказал админ уже увлекаемый снова в монитор.
"Хорошо" - сказал я и исчез в двери.
Вышел я из здания довольный, подошел к таксофону и набрал номер телефона серверной.
"Алло" - сказал все тот же голос бородатого.
"Хмм, Андрей Владимирович, почему у нашего начальства из Москвы нет доступа к информации для совета директоров?" - сказал я жестко поставленным баритоном.
"Ну, как так, я не знал, что он из совета директоров, сейчас поставлю права доступа. Я не знал, предупреждать надо" - пробубнил он немного раздраженно.
"Ну, хорошо, позаботитесь" - сказал я более грубо и положил трубку.
Мой путь от таксофона до дома был налегке. Я пришел, сел за компьютер, набрал номер телефона внутри корпоративной сети компании X, вошел в сеть под Приваловым и стал с интересом читать документы совета директоров.
Нахождение и обработка информации.
Рассмотрев раздел о том, как добывать информацию, рассмотрим, как находить информацию.
Я видел много документацией в сети, как собрать информацию о человеке, которого вы собирайтесь атаковать. Наивные. На самом деле собирать ее не надо, так как она лежит перед вами. Зайдите не страничку вашей жертвы. Вот. Вот перед вами вся информация, которая вам нужна. Он сам вам ее дал. Город, где живет (часто). Может быть телефон, как связаться. Адрес, где их можно дойти (это если это фирма). E-mail (всегда). Имена и фамилии руководителей (на корпоративных сайтах). Это все, что вам нужно. Имя + фамилия + должность + e-mail = все, что нужно социальному инженеру.
Была очень интересная компания, которая мне очень не нравилась. Я зашел на их сайт и прочитал, все, что там было написано. Я узнал: е-маил, имя и фамилию их веб-админа. Этого оказалось достаточно. Я по е-майлу представился как начинающий, но прогрессивный веб-дизайнервеб-программист и указал на некоторые ошибки в их сайте (немного неправильные скрипты, кое какие дизайнерские ошибки). И указал им url сайта, где была информация о том, как не допускать таких ошибок и парочка программ, которые помогали исправить эти ошибки. Конечно же, сайт был сделан мною, причем очень натурально, не хуже какого-нить www.download.ru или www.design.ru, при чем программы, которые там лежали ДЕЙСТВИТЕЛЬНО работали, исправлял ошибки, выдавали tips и все такое. Просто они выполняли еще кое-чего, ну просто то, что мне было необходимо. И, конечно же, мой сайт лежал не на www.chat.ru или tripod.com, а на хорошем домене www.[имя сайта].com, ведь нечего не стоит купить его на пару месяцев. Главное, чтобы все выглядело натурально и чтобы все, что там лежали было правдой, и работало.
Да кстати, забыл упомянуть, что программы, которые он скачал, были написаны мною, и исправили ошибки на его сайте, так что он обрадовался, что ему действительно дали реальную ссылку. Что потом произошло уже не важно, главное, что я добился своего - я получил доступ к его web-сайту.
Вывод: не нужно пренебрегать какой-либо информацией, и стоит воспользоваться всем, что видно снаружи. Любая строчка на сайте может дать полный доступ к сознанию человека, для проникновения в это сознание и для получения полного контроля над этим сознанием. Манипулировать людьми легко, поверьте мне.
Некоторые способы развода людей.
Итак, как же все-таки получить что-либо путем развода?
Можно раскрутить админаоператораопера на что-либо путем:
1) обещания дать взамен что-то (не обязательно потом исполнять)
2) просто за хороший разговор (когда говорят "он мне просто понравился")
3) путем наезда.
Про первый пункт я думаю все понятно и так. Поэтому обсуждать его мы не будем.
Второй пункт: тут главное определить врата сортировки собеседника. Для тех, кто не знает, что такое врата сортировки поясняю. У каждого человека есть свои врата сортировки. Они могут быть такие: место, время, люди, вещи, ценности. Сейчас объясню на примере: у Васи врата сортировки являются люди и время. В таком случае в разговоре легко прослеживается то, что человек часто тебя спрашивает "кто это был?" (врата сортировки: люди) или "а когда?" (врата сортировки: время). Понимаете? Вот такие дела. Так вот, когда определяешься врата сортировки человека, легко найти с ним общий язык, нужно просто говорить по его вратам сортировки. Тогда он с удовольствием будет с тобой говорить и соответственно легко, что-то из человека выклянчить.
Третий путь: жестко на человека наехать. Я как-то присутствовал при ситуации, когда просто человек заходил на канал на irc и начинал наежать на какого-либо оператора. Сначала соответственно оператор тоже в ответ наежал, но тут главное не расслабиться, а быть серьезней. Я видел такую ситуацию, когда оператор уже начинал бояться человека, и пытался с ним подружиться, подмазывался и уже даже давал ему оператора.
Также для развода может быть применен метод, описанный в следующем пункте.
Human denial of service (HDoS)
Последнее время в сети стали появляться сообщения о HDoS, что буквально можно перевести, как Человеческий Отказ В Обслуживании или если говорить простым языком - прекращение реагирования человека на какие-либо действия. То есть, можно запутать человека так, чтобы все, что вы скажете после этого, он воспринял как правду, или наоборот, как резкую ложь.
Он сидел и читал логи сервера под управлением FreeBSD 2.2.8 и не понимал, почему сегодня ночью с 5 хостов одновременно пытались соединиться к порту 7 по протоколу udp. Он знал, что это порт для echo - отображение введенных символов, никаких дыр в этом сервисе он не знал, да и атака не была похоже на DoS - соединение устанавливалось, пересылалась какая-то строка и разрывалось, не занимая никакие сетевые и процессорные ресурсы. Это было похоже на попытку buffer overflow через ECHO. Но он не знал, что в ECHO есть такая дыра и стал упорно изучать исходные тексты свой OS в надежде найти, где там дыра, и сам, тестируя свою систему посылая различные строки, и отлавливая, что ему будут посылать еще в этот порт.
В это же самое время, я сидел и пытался все более его запутать. Я стал посылать строки в finger, в sendmail, в popper, при этом, делал так, чтобы строки были немного разные, для каждой конкретной передачи и очень отличающие для разных служб. Это очень походило на поиск сразу во всех службах строки приводящей к buffer overflow. И все это отображалось в логах у админа, засоряя их по всякому. Я спокойно запустил эти программы посылки строк на 5 машинах, а сам в это время со своей машины ломал его сервер, а так как логи в это время чрезвычайно были пестры о попытках buffer overflow, то мои слабые попытки никак не выдавались в них. Когда у меня была успешная попытка, и я зашел, у него в логах отобразилось, что с внешнего хоста зашли под root`ом, но он этого не видел, он был чрезвычайно занят просмотром исходников.
Мы хорошо видим пример HDoS. Мы вывели из строя админа, переключив его внимание на ненужную работу. Он просматривал исходники, которые были без ошибок, а он был уверен, что они есть, ведь иначе, зачем кому-то пытаться таким образом атаковать систему.
Это натуральный пример HDoS.
Таким образом, можно сделать достаточно много. При желании, можно реализовать такую ситуацию, что акции великих компаний начнут падать. Представьте такую ситуацию: заходите вы на www.intel.com, а там написано в новостях, что вчера сгорело одновременно 5 заводов, где выпускались процессоры (на самом деле, это хакер поменял новости). Это приведет к тому, что цены на процессоры резко вырастут, а акции Интела упадут. Делайте выводы сами. Стоит ли писать на взломанных веб-серверах "hacked by megaspoofa. btw, admins is lamers" или может быть взять ситуацию под контроль?
Углубленные методы и аспекты добычи информации.
Перед осуществлением добычи информации, определите, какая информация вам необходима. Иначе вы можете затратить множество времени, для добычи не нужной вам информации. После того, как вы точно обдумайте, что вам необходимо от, допустим, системного администратора компании X, то подумайте, кто еще знает эту информацию, кто знает о существовании этой информации, кто имеет доступ к этой информации, кто имеет право на изменение этой информации. Часть ответов из этих вопросов вы решите в процессе добычи информации, но чем больше вы будете знать ответов, тем легче будет добыть информацию.
Для начала необходимо узнать координаты и личные данные (как можно больше) о тех людях, кто имеет отношение к этой информации. Если вы знаете хотя бы домашний телефон одного сотрудника, то можно по справочнику узнать фамилию, иногда имя и отчество. Если вы это узнали, то вы можете попробовать узнать через этого человека всю остальную информацию. Вы можете позвонить ему, представить работником компании X, желательно в должности выше его и попросить координаты остальных людей, с которыми вам придется общаться. Так же желательно, чтобы в данном мероприятии участвовало несколько человек с различными голосами, также желательна представительница женского пола с красивым голосом. После того, как вы по цепочке узнаете личные данные на каждого человека, попытайтесь узнать о них рабочие данные. Это легко сделать, достаточно встретить любого, кто работает в этой компании, и поинтересоваться, а как выглядит Вася Пупкин. И кем он работает, а также его кабинет с телефоном, так как, видите ли, вам сказали его найти, а вы не знаете кто это. Любой не подумав нечего плохого, расскажет вам, если он знает. Таким образом, вы накопите много информации. Обязательно узнайте, кто стоит по должности под и над этими людьми, чтобы можно было так манипулировать.
Теперь вы можете звонить к нижестоящему человеку этого человека и говорить, что вы якобы по поручению этого человека должны сделать что-либо важное, но не можете, так как присутствуют какие-либо проблемы. И поэтому просите, чтобы он сделал то-то (здесь надо его попросить сделать то, к чему вы собственно и стремились, например, дать вам привилегированные права).
Можно уговорить, чтобы тот человек, которому вы звонили, связался с системным администратором и сделал для вас акаунт с соответствующими привилегиями. Желательно, чтобы тот, кто будет говорить с сис. админом был выше его по должности. Таким образом, сис. админа будет просить уже человек, которого он знает. И нечего не заподозрит. А вы тем временем можете наслаждаться доступом в сеть с крутыми привилегиями.
Профессиональный подход к программированию backdoor.
Для добычи информации вам часто может понадобиться backdoor, который будет запущен там, где вам надо. Но сразу вам скажу - забудьте обо всех тех "троянцах", которые вы до этого видели. Напишите свой backdoor или попросите, профессиональна, написать вам такой, какой вам нужен.
Всякие интересные и "полезные" вещи, как открывание cd-rom, выключение монитора, чат с жертвой - отложите это до будущих времен. Backdoor нужен для того, что определяет его название - back door - задняя дверь, незаметный проход, запасной вход. Нужно писать для того, чтобы получить доступ, манипулировать информацией, красть ее. А так как все развлечение занимают лишний код, и увеличивают сложность backdoor`а. Backdoor должен писаться только для того, что нужно вам и ничего иного. И не забывайте очень важного плюса этой ситуации: никакой антивирус не скажет про вашу замечательную программу, что она backdoor. :)
Если вы будете следовать этому, то вы сможете узнать гораздо больше информации, чем рассчитывали.
Мне понадобилось как-то узнать пароль root`а на одном unix`е. По стандарту мне надо ломать саму машину, где стоит unix. Но если она очень хорошо защищена, то это не так легко сделать, если вообще возможно. Но если вспомнить про человеческую незащищенность и социальную инженерию, то все unix-машины становятся доступны. Я сделал следующее: написал backdoor под windows, который делал буквально следующее: он записывал все набранное на клавиатуре и давал доступ к диску. ВСЕ. Ничего лишнего. Получился этакий ftp-сервер с логой, того, что написано на компьютере. В этого я скачал все файлы с рабочей станции этого человека и взял логу, того, что он писал. Этого оказалось достаточно, потому что там были пароли и от акаунта на unix-машине, и от root`а. Его пароль был прописан в почтовом клиенте. А пароль root`а лежал в логе (когда он удаленно заходил на его сервер, он вводил этот пароль). В итоге была взломана машина unix. Хотя никакие методы проникновения замечены не были.
Вывод: нужно думать более глобально, не нужно ограничивать свое внимание только на объекте (aka жертве), а нужно думать обо всех машинах в сети.
Так вот, поэтому практически во многих ситуациях нам достаточно прочитать веб-сайт жертвы и написать back door.
Определите к чему и для чего вы хотите получить доступ. Если вам всего лишь надо скопировать всю информацию и то, что вводил пользователь с клавиатуры - ограничитесь упрощенным фтп-сервером и кей-логгером. Вам этого хватить.
Если вы хотите постоянно наблюдать за жертвой, то встройте еще функцию screenshot`а, чтобы смотреть на экран жертве, встройте поддержку socks-соединения, чтобы работать не напрямую, а через socks-сервер. Встройте шифрование передаваемых данных и проверку паролем доступа к backdoor`у жертвы. Можете добавить, если это необходимо удаленное управление реестром.
Но никогда не стоит делать того, что вам не надо. Не надо, допустим, вставлять в программу функцию просмотра запущенных процессов и их завершение. В большинстве случаев можно обойтись минимумом.
Еще разумный шаг: использование plug-in`ов. На начальном этапе жертве посылается только база, даже без file manager`а. Но такой, который бы сам скачал бы plug-in с этим и установил.
Теперь рассмотрим такую немаловажную вещь, как стелс-технологию.
Несколько примеров backdoor`ов.
-
Небольшая программа (15-35 кб) при запуске соединяется с прописанным в ней фтп-сервером, скачивает с него некую модифицированную программу (например, internat.exe - переключение кодировки) с встроенным троянцем. (я делал так: клал на фтп-сервер несколько версий этого internat`а: w95en.exe, w95ben.exe, w95ru.exe, w95bru.exe, w98en.exe, w98ru.exe, w98seen.exe, w98seru.exe - win95 англ., win95osr2 англ, win95 русский и так далее до win98 second edition; и качал соответствующий). После скачивания он заменяет ей родную программу и удаляется. При перезагрузке он запускается как internat.exe, его даже видно в task list. Ни у кого нет подозрений. При этом порты он никакие не открывает, но раз в 30 минут принимает почту с определенного акаунта, который в нем прописан. Если почта есть, он проверяет ее принадлежность к вам, если принадлежность обнаруживается, то он исполняет команды, которые вы там укажите. Например, запустить фтп-сервер или скачать программу из сети и ее запустить. Или удалиться. Или закачать лог-файл на фтп-сервер. ВСЕ что угодно. ВСЕ, что вы сами встроите в свой backdoor.
-
Небольшая программа (30-60 кб) при запуске соединяется с прописанным в ней фтп-сервером, скачивает с него некую модифицированную программу (например, internat.exe - переключение кодировки) с встроенным троянцем. При перезагрузке соединяется со специальным сервером, который вы запускайте на какой-нить unix-машине, и ждет команд от него, а вы уже на тот сервер посылайте свои команды, при этом на машине жертвы никак не узнают именно ваш ip-адрес. Поэтому вычислить вам будет крайне тяжело, только через промежуточный сервер. А если промежуточный сервер запускать на каком-нибудь сервере, который не играет для вас никакой роли (например, взломанный shell-box), то вы в любой момент сможете удалить всю информацию на нем.
-
Небольшая программа (60 кб) при запуске соединяется с прописанным в ней фтп-сервером, скачивает с него полный комплект модифицированных программ, которые заменяют все стандартные утилиты (wordpad, internat, notepad, calc, image, write, explorer, iexplorer, scandisk, solitair). При этом даже если кто-либо обнаружить, что-то в вашей одной программе и заменить ее, то будут работать другие. Желательно, чтобы в каждой из них был разный принцип работы (один через unix-box, другие через е-маил, третьи напрямую и т.д.). При этом, когда начинает работать другой, они вам слали е-маил с извещением, каким образом ведет себя пользователь и какие программы он запускает. При этом можно пойти дальше и заразить dll системы. В которых при вызове любой функции, выполнялись и ваши функции тоже.
Еще очень полезная вещь: как вы заметили, чтобы в windows просмотреть список, текущий соединений, нужно запустить netstat.exe. Но я вам напомню, что эта программа всего лишь спрашивает у winsock, кто куда соединяется, а значит можно написать свою программу, которая спрашивала бы все соединения, а показывала все, кроме ваших.
Что делает человек, когда он хочет взломать много серверов? Он запускает сканнер, который ищет дыры и проверяет все сервера. Что он делает, когда хочет поломать один сервер? Он запускает тот же сканнер и проверяет только этот сервер.
Вы наверно слышали выражение, что взломать можно что угодно. Так вот, оно верное, если следовать из того, что человек является самой опасной дырой в системе. А сервер может быть вообще без дыр.
Если некий человек имеет доступ к тому серверу, который нам требуется взломать, то он обязательно как-то получает к нему доступ. И в 99% случаев это комбинация имени пользователя и пароля. И когда ему надо удаленно получить доступ к этому серверу, то он вводит этот пароль на свой машине. По логике вещей можно догадаться, что эта машина является на основе Windows 9x/NT. Тут-то как раз и вспоминаем, что все Windows 9x не обладают безопасностью. Или даже если на машине жертвы стоит unix, то скорей всего он не так защищен как сервер. В любом случаи, легче взломать его машине, чем ломать сервер. Ведь наверняка, даже если на сервере регулярно смотрят лог-файлы попыток взлома, то кто этим будет заниматься на локально машине с Windows.
Есть некая компания, где установлено 200 компьютеров, 2 сервера на основе Unix, и два сервера WinNT. По виду работы этой компании все пользовательские компьютеры подключены через локальную сеть в Internet. У всех пользователей организован вход в домен NT при включении компьютера. Прослеживаем такую ситуацию: злоумышленник разговаривает по icq с один из пользователей и "дарит" ему некую хорошую программу, которую пользователь запускает. Злоумышленник получает доступ к этой машине. Легкими средствами получает все пароли. От почтового ящика на одном из Unix это компании, пароль входа в сеть на NT. И к тому же мы получили доступ в локальную сеть. Мы уже из этого локального компьютера можем попытаться получить доступ к NT. Путем перехвата smb-сообщений, куда может входить пароль администратора. Путем brute-force атаки, которая будет происходить быстро из-за того, что это LAN, а не WAN. И т.д. После того, как он получить доступ к NT. Наверняка там он найдет один из паролей на unix, из тех, кто имеет доступ туда логиниться. Или же, если там он не найдет, у него будет больше шансов их получить, так как он получить доступ ко всем локальным паролям, которые можно попытаться взломать. И админы в любом случаи больше доверяют серверу NT, чем рабочим станция и могут логиниться с NT в Unix. Тут-то и можно перехватить их пароль.
Я описал вам реальный пример попытки взлома. В этом и заключается последовательный взлом. Не нужно ломать то, что взломать может быть невозможно, ломайте то, что легко ломается и где содержится все, то, что вам нужно.
Вот наверно все, что я вам хотел сказать. Используйте социальную инженерию, HDoS, пишите профессиональные программы, и ломайте последовательно.
Удачи.
И единственное, что я хочу - если вы распространяете эту статью, то, пожалуйста, сохраните ее целиком и полностью, не изменяйте. Не убирайте даже эту ссылку на чертов баннер, который приносит мне то, что вы могли бы мне принести - благодарность за эту черную работу, обучать людей.
Оценка эффективности систем защиты информации
Обновлено: 01.07.2025
В.В. Домарев, к.т.н.
Содержание:
Системный подход
Понятие системности заключается не просто в создании соответствующих механизмов защиты, а представляет собой регулярный процесс, осуществляемый на всех этапах жизненного цикла ИС. При этом все средства, методы и мероприятия, используемые для защиты информации объединяются в единый целостный механизм - систему защиты.
К сожалению, необходимость системного подхода к вопросам обеспечения безопасности информационных технологий пока еще не находит должного понимания у пользователей современных ИС.
Сегодня специалисты из самых разных областей знаний, так или иначе, вынуждены заниматься вопросами обеспечения информационной безопасности. Это обусловлено тем, что в ближайшие лет сто нам придется жить в обществе (среде) информационных технологий, куда перекочуют все социальные проблемы человечества, в том числе и вопросы безопасности:
Каждый из указанных специалистов по-своему решает задачу обеспечения информационной безопасности и применяет свои способы и методы для достижения заданных целей. Самое интересное, что при этом каждый из них в своем конкретном случае находит свои совершенно правильные решения. Однако, как показывает практика, совокупность таких правильных решений не дает в сумме положительного результата - система безопасности в общем и целом работает не эффективно.
Если собрать всех специалистов вместе, то при наличии у каждого из них огромного опыта и знаний, создать СИСТЕМУ информационной безопасности зачастую так и не удается. Разговаривая об одних и тех же вещах, специалисты зачастую не понимают друг друга поскольку у каждого из них свой подход, своя модель представления системы защиты информации. Такое положение дел обусловлено отсутствием системного подхода, который определил бы взаимные связи (отношения) между существующими понятиями, определениями, принципами, способами и механизмами защиты:
Постановка задачи
Одиннадцать отдельно взятых футболистов (даже очень хороших) не составляют команду до тех пор, пока на основе заданных целей не будет отработано взаимодействие каждого с каждым. Аналогично СЗИ лишь тогда станет СИСТЕМОЙ, когда будут установлены логические связи между всеми ее составляющими.
Как же организовать такое взаимодействие? В футболе команды проводят регулярные тренировки, определяя роль, место и задачи каждого игрока. Качество или эффективность команд оценивается по игре в матчах, результаты которых заносятся в турнирную таблицу. Таким образом, после проведения всех встреч команд (каждой с каждой), можно сделать вывод об уровне состояния мастерства как команды в целом, так и отдельных ее игроков. Побеждает тот, у кого наиболее четко организовано взаимодействие:
Выражаясь терминами современного бизнеса, для решения вопросов взаимодействия нужно перейти от "чисто" технического на "конкретно" логический уровень представления процессов создания и функционирования СИСТЕМ защиты информации. Хотелось бы, чтобы все специалисты, считающие себя профессионалами в информационных технологиях, поднялись чуть выше "багов" и "кряков" и уже сейчас задумались над тем как их знания и опыт будут логически увязаны со знаниями и опытом других специалистов.
В "строгой научной постановке" задача автора состоит в предоставлении пользователям вспомогательного инструмента "елки" - (модели СЗИ), а задача читателя (пользователя) - украсить эту "елку" новогодними игрушками - (своими знаниями и решениями). Даже если "игрушек" пока еще нет, наличие "елки" поможет выбрать и приобрести нужные "украшения".
Конечный результат работы (степень красоты елки) зависит от ваших желаний, способностей и возможностей. У кого-то получится хорошо, у кого-то - не совсем: Но это естественный процесс развития, приобретения знаний и опыта.
Кстати, оценить красоту елки (эффективность системы защиты) весьма проблематично, поскольку у каждого из нас свои требования и вкусы, о которых, как известно, не спорят, особенно с руководством.
Таким образом, многообразие вариантов построения информационных систем порождает необходимость создания различных систем защиты, учитывающих индивидуальные особенности каждой из них. В то же время, большой объем имеющихся публикаций вряд ли может сформировать четкое представление о том как же приступить к созданию системы защиты информации для конкретной информационной системы, с учетом присущих ей особенностей и условий функционирования. Как сказал классик юмора: ":многообразие ваших вопросов порождает многообразие наших ответов:"
Возникает вопрос: можно ли сформировать такой подход к созданию систем защиты информации, который объединил бы в нечто единое целое усилия, знания и опыт различных специалистов? При этом желательно что бы указанный подход был универсальным, простым, понятным и позволял бы в одинаковой степени удовлетворить любые вкусы (требования) гурманов информационной безопасности?
Модель представления системы информационной безопасности
Практическая задача обеспечения информационной безопасности состоит в разработке модели представления системы (процессов) ИБ, которая на основе научно-методического аппарата, позволяла бы решать задачи создания, использования и оценки эффективности СЗИ для проектируемых и существующих уникальных ИС. Что понимается под моделью СЗИ? Насколько реально создать такую модель? В упрощенном виде модель СЗИ представлена на Рис.1.
Рис.1. Модель СЗИ
Основной задачей модели является научное обеспечение процесса создания системы информационной безопасности за счет правильной оценки эффективности принимаемых решений и выбора рационального варианта технической реализации системы защиты информации.
Специфическими особенностями решения задачи создания систем защиты являются:
· неполнота и неопределенность исходной информации о составе ИС и характерных угрозах;
· многокритериальность задачи, связанная с необходимостью учета большого числа частных показателей (требований) СЗИ;
· наличие как количественных, так и качественных показателей, которые необходимо учитывать при решении задач разработки и внедрения СЗИ;
· невозможность применения классических методов оптимизации.
Требования к модели
Такая модель должна удовлетворять следующим требованиям (Рис. 2.):
Использоваться в качестве:
· Руководства по созданию СЗИ
· Методики формирования показателей и требований к СЗИ
· Инструмента (методика) оценки СЗИ
· Модели СЗИ для проведения исследований (матрица состояния)
Обладать свойствами:
· Универсальность
· Комплексность
· Простота использования
· Наглядность
· Практическая направленность
· Быть самообучаемой (возможность наращивания знаний)·
· Функционировать в условиях высокой неопределенности исходной информации
Позволять:
· Установить взаимосвязь между показателями (требованиями)
· Задавать различные уровни защиты
· Получать количественные оценки
· Контролировать состояние СЗИ
· Применять различные методики оценок
· Оперативно реагировать на изменения условий функционирования
· Объединить усилия различных специалистов единым замыслом
Рис. 2. Требования к модели СЗИ
Описание подхода к формированию модели ИБ
Как составить такое представление об информационной безопасности, что бы охватить все аспекты проблемы? Человек получает наиболее полное представление об интересующем его явлении, когда ему удается рассмотреть это нечто неизвестное со всех сторон, в трехмерном измерении.
Воспользуемся этим принципом.
Рассмотрим три "координаты измерений" - три группы составляющих модели СЗИ.
1. Из чего состоит (ОСНОВЫ)
2. Для чего предназначена (НАПРАВЛЕНИЯ)
3. Как работает (ЭТАПЫ)
Рис. 3. Три "координаты измерений" - три группы составляющих модели СЗИ
ОСНОВАМИ или составными частями практически любой сложной СИСТЕМЫ (в том числе и системы защиты информации) являются:
· Законодательная, нормативно-правовая и научная база;
· Структура и задачи органов (подразделений), обеспечивающих безопасность ИТ;
· Организационно-технические и режимные меры и методы (политика информационной безопасности);
· Программно-технические способы и средства.
Рис. 4. Координата ОСНОВЫ
НАПРАВЛЕНИЯ формируются исходя из конкретных особенностей ИС как объекта защиты. В общем случае, учитывая типовую структуру ИС и исторически сложившиеся виды работ по защите информации, предлагается рассмотреть следующие направления:
· Защита объектов информационных систем;
· Защита процессов, процедур и программ обработки информации;
· Защита каналов связи;
· Подавление побочных электромагнитных излучений.
· Управление системой защиты;
Рис. 5. Координата НАПРАВЛЕНИЯ
Но, поскольку каждое из этих НАПРАВЛЕНИЙ базируется на перечисленных выше ОСНОВАХ, то элементы ОСНОВ и НАПРАВЛЕНИЙ, рассматриваются неразрывно друг с другом. Например, одну из ОСНОВ под названием "Законодательная база:" необходимо рассматривать по всем НАПРАВЛЕНИЯМ, а именно:
Законодательная база защиты объектов:
Законодательная база защиты процессов, процедур и программ:
Законодательная база защиты каналов связи:
Законодательная база подавления побочных электромагнитных излучений:
Законодательная база по управлению и контролю самой системы защиты:
Аналогично следует рассматривать остальные грани ОСНОВ (структуру:, меры:, средства) по всем НАПРАВЛЕНИЯМ.
Как видите, для формирования самого общего представления о конкретной системе защиты необходимо ответить минимально на 20 (4*5=20) самых простых вопросов. Но и это еще не все... Далее необходимо рассмотреть ЭТАПЫ (последовательность шагов) создания СЗИ, которые необходимо реализовать в равной степени для каждого в отдельности НАПРАВЛЕНИЯ с учетом указанных выше ОСНОВ.
Проведенный анализ существующих методик (последовательностей) работ по созданию СЗИ позволяет выделить следующие ЭТАПЫ:
· Определение информационных и технических ресурсов, а также объектов ИС(!) подлежащих защите;
· Выявление полного множество потенциально возможных угроз и каналов утечки информации;
· Проведение оценки уязвимости и рисков информации (ресурсов ИС) при имеющемся множестве угроз и каналов утечки;
· Определение требований к системе защиты информации;
· Осуществление выбора средств защиты информации и их характеристик;
· Внедрение и организация использования выбранных мер, способов и средств защиты.
· Осуществление контроля целостности и управление системой защиты.
Рис. 6. Этапы создания систем защиты информации.
Поскольку ЭТАПОВ семь, и по каждому надо осветить 20 уже известных вам вопросов то в общей сложности для формирования представления о конкретной системе защиты необходимо ответить на 140 простых вопросов. Совершенно очевидно что по каждому вопросу (элементу) возникнет несколько десятков уточнений.
В общем случае количество элементов матрицы может быть определено из соотношения
K = Oi*Hj*Mk
Где
К - количество элементов матрицы
Oi - количество составляющих блока "ОСНОВЫ"
Hj - количество составляющих блока "НАПРАВЛЕНИЯ"
Mk - количество составляющих блока "ЭТАПЫ"
В нашем случае общее количество элементов "матрицы" равно 140
K=4*5*7=140.
поскольку Oi=4, Hj=5, Mk=7
Все это можно представить в виде своеобразного кубика Рубика, на гранях которого образовалась мозаика взаимосвязанных составляющих элементов системы защиты.
А теперь для простоты понимания попробуем преобразовать трехмерную фигуру в двухмерную. Для этого развернем трехмерный куб на плоскости (на листе бумаги) и получим трехмерную матрицу в виде двухмерной таблицы, которая поможет логически объединить составляющие блоков "ОСНОВЫ", "НАПРАВЛЕНИЯ" и "ЭТАПЫ" по принципу каждый с каждым.
Напомним, что матрица в виде двухмерной таблицы появляется не сама по себе, а формируется в каждом конкретном случае, исходя из конкретных задач по созданию конкретной СЗИ для конкретной ИС.
Представление элементов матрицы
Элементы матрицы имеют соответствующую нумерацию. Следует обратить внимание на обозначения каждого из элементов матрицы, где:
первое знакоместо (Х00) соответствует номерам составляющих блока "ЭТАПЫ",
второе знакоместо (0Х0) соответствует номерам составляющих блока "НАПРАВЛЕНИЯ",
третье знакоместо (00Х) соответствует номерам составляющих блока "ОСНОВЫ".
На Рис.7 представлен пример, элемента матрицы 321, который формируется с учетом следующих составляющих:
300 - Проведение оценки уязвимости и рисков (составляющая № 3 блока "ЭТАПЫ");
020 - Защита процессов и программ (составляющая № 2 блока "НАПРАВЛЕНИЯ")
001 - Нормативная база (составляющая № 1 блока "ОСНОВЫ")
Рис. 7. Пример нумерации элемента матрицы №321
Приведем пример содержания информации для элементов матрицы № 321, 322, 323, 324, которые объединяют следующие составляющие:
№ 3 (300 проведение оценки уязвимости и рисков) блока "ЭТАПЫ",
№ 2 (020 защита процессов и программ) блока "НАПРАВЛЕНИЯ"
№ 1, 2, 3, 4 (001 нормативная база, 002 структура органов, 003 мероприятия, 004 используемые средства) блока "ОСНОВЫ".
Вот что получилось:
Элемент № 321 содержит информацию о том насколько полно отражены в законодательных, нормативных и методических документах вопросы, определяющие порядок проведения оценки уязвимости и рисков для информации используемой в процессах и программах конкретной ИС?
Элемент № 322 содержит информацию о том имеется ли структура органов (сотрудники), ответственная за проведение оценки уязвимости и рисков для процессов и программ ИС?
Элемент № 323 содержит информацию о том определены ли режимные меры, обеспечивающие своевременное и качественное проведение оценки уязвимости и рисков для информации используемой в процессах и программах ИС?
Элемент № 324 содержит информацию о том применяются ли технические, программные или другие средства, для обеспечения оперативности и качества проведения оценки уязвимости и рисков в процессах и программах ИС?
Это содержание только четырех вопросов из ста сорока, но ответы на них уже позволяют сформировать некое представление о состоянии дел по защите информации в конкретной ИС.
В общем случае рассматриваются все 140 вопросов (по числу элементов матрицы). Полное содержание 140 элементов матрицы можно посмотреть здесь. Описание этих вопросов позволяют составить полное представление о СЗИ и оценить достигнутый уровень защиты.
Сложно? Да! Однако именно такой подход дает возможность держать правильное направление в процессе создания сложных систем защиты. ":Верной дорогой идете, товарищи:". А поскольку при этом постоянно учитываются взаимные логические связи между многочисленными элементами СЗИ, то есть шанс построить именно СИСТЕМУ, а не набор решений. Напомним, что матрица не сществует сама по себе, а формируется исходя из описания конкретной ИС и конкретных задач по защите информации в этой системе, см. рисунок:
Свойства матрицы
Предложенная модель представления СЗИ в виде трехмерной матрицы позволяет не только жестко отслеживать взаимные связи между элементами защиты, но может выступать в роли руководства по созданию СЗИ. Если вы, приступая к созданию системы защиты, не знаете с чего начать, попробуйте ответить на предлагаемые общие вопросы, начиная с любого из них. И когда вы пройдетесь по всем, то поймете что уже есть, а чего не хватает для достижения поставленной цели.
Если желаете поставить задачу на создание СЗИ, то заполнив 140 элементов матрицы соответствующими требованиями, получим достаточно полное техническое задание. Причем сформулировать эти требования можно на основе любых стандартов - международных, европейских, американских., российских, украинских:
Ну а как оценить эффективность создаваемой или уже функционирующей СЗИ?
Снова поможет подход на основе трехмерной матрицы. Только теперь по 140 показателям (элементам матрицы) надо выставить соответствующие оценки. Существует много методов оценок, выбирайте любой понятный и прозрачный для вас. Наиболее популярный на сегодняшний день метод "Три П" - пол, палец, потолок.
Наглядно указанные свойства матрицы приведены на Рис.8.
Рисунок 8. Свойства матрицы информационной безопасности
Программа оценки эффективности систем защиты информации "Оценка СЗИ"
Программа "Оценка СЗИ" иллюстрирует работу модели СЗИ представленной в виде трехмерной матрицы, описание которой приведено выше, она разработана с целью демонстрации преимуществ системного подхода к созданию и оценке эффективности систем защиты информации.
С помощью указанной программы осуществляется расчет условных показателей эффективности СЗИ, а также графическое представление состояния достигнутого уровня безопасности по отношению к заданному.
Программа "Оценка СЗИ" реализована на языке программирования Delphi и предназначена для оценки эффективности мероприятий, проводимых при создании и функционировании систем защиты информации.
Предложенная модель СЗИ в виде трехмерной матрицы позволяет не только жестко отслеживать взаимные связи между элементами защиты, но может выступать в роли руководства по созданию СЗИ. Если вы, приступая к созданию системы защиты, не знаете с чего начать, попробуйте ответить на предлагаемые в матрице вопросы, начиная с любого из них. И когда вы пройдетесь по всем вопросам, то поймете что уже сделано, а чего не хватает для достижения поставленной цели.
Если желаете поставить задачу на создание СЗИ, то заполнив 140 элементов (вопросов) матрицы соответствующими требованиями, получим достаточно полное техническое задание. Причем сформулировать эти требования можно на основе любых стандартов - международных, европейских, американских., российских, украинских:
Ну а как оценить эффективность создаваемой или уже функционирующей СЗИ?
Снова поможет подход на основе трехмерной матрицы. Только теперь по 140 показателям (элементам матрицы) надо выставить соответствующие оценки. Существует много методов оценок, выбирайте любой понятный и прозрачный для вас. Наиболее популярный на сегодняшний день метод "Три П" - пол, палец, потолок.
Интерфейсы программы с некоторыми комментариями представлены на рисунках 9, 10, 11, 12.
При внимательном рассмотрении можно узнать уже знакомую нам "матрицу знаний СЗИ" в несколько другом представлении.
На Рис. 9. показан интерфейс ввода данных. Заказчик определяет необходимые требования к системе защиты и устанавливает заданный уровень безопасности в соответствующие элементы матрицы. Экесперты в процессе проведения оценки качества созданной системы защиты определяют реализован ли заданный уровень безопасности и свои оценки выставляют в тех же элементах матрицы, только в режиме "достигнутый"
Рис. 9. Интерфейс ввода данных
На рис. 10 можно посмотреть графическеое представление количественных и качественных оценок по каждому из элементов матрицы. Здесь наглядно показано как сравнивается заданный уровень безопасности с достигнутым.
Рис. 10. Сравнение заданного и достигнутого уровеней безопасности.
Далее с помощью интерфейса на рис 11. имеется возможность получить представление о ситеме защиты в целом. Ее эффектиность наглядно отражена графически, а также расчитана в виде обобщенных показателей уровня безопаности (количественного и качественного)
Рис. 11. Графичекое представление оценки эффетивности СЗИ.
Не стоит забывать, что требования к СЗИ имеют разную степень важности, которую необходимо учитывать при расчетах, используя соответствующие коэффициенты важности. Интерфес для ввода коэффициентов важности представлен на рис. 12.
Рис. 12. Интерфес для ввода коэффициентов важности.
Вместо заключения (Read me):
Хочется напомнить золотое правило: если после долгих попыток ничего не получается, ознакомьтесь, наконец, с инструкцией для пользователя! Прежде чем приступить к использованию программы "Оценка СЗИ", желательно разобраться с особенностями похода к рассмотрению вопросов информационной безопасности, предложенного автором.
Здесь можно скачать файл инсталляции указанной программы оценки эффективности систем защиты информации. (680 793 байт)
Программа предназначена для свободного использования.
Источник: http://bezpeka.com/
Исследование эффективности средств защиты от шпионских программ
Обновлено: 01.07.2025Быстрый рост киберпреступности остро ставит вопрос: насколько эффективно анти-шпионские и антивирусные программные продукты защищают конфиденциальную информацию от программ, которые специально создаются для кражи этой информации?
Ведь от того, будет ли надежно защищена информация пользователей, зависит развитие и, в сущности, само дальнейшее существование электронной коммерции и финансовых расчетов в Сети.
В связи с угрозой утечки данных о реквизитах кредитных карт и другой конфиденциальной информации исследователи указывают на ощутимое снижение активности онлайновых покупателей. Другими словами, spyware бьет по доверию потребителей к Сети.
Согласно отчету компании Webroot "State of Spyware" за третий квартал 2005 года (http://www.webroot.com/land/sosreport-2005-q3.php), количество шпионских программ продолжает стремительно расти; возрастает и риск, которому подвергаются пользователи в Интернете. Исследование Consumer Reports за третий квартал 2005 показывает, что 86% пользователей так или иначе изменили свое поведение с Сети, боясь утечки данных о своей личности. 30% пользователей уменьшили общее время работы в Интернет; 53% пользователей перестали сообщать свою персональную информацию в Интернет; 25% отказались от покупок онлайн; 29% из тех, кто совершает покупки онлайн, стали реже покупать в Интернет.
Единственная цель нашего исследования - определение именно эффективности антишпионского программного обеспечения против программ, которыми все чаще пользуются киберпреступники для кражи конфиденциальной информации.
Методика нашего исследования такова, что каждый желающий, даже не очень опытный в программировании, сможет сам воспроизвести эти или подобные исследования - и получить сходный результат.
Изучая на протяжении многих лет ситуацию на мировом рынке программных продуктов, предназначенных для защиты конфиденциальной информации, мы пришли к выводу, что необходимо срочно провести собственное сравнительное тестирование антишпионских программных продуктов, опубликовав полученные результаты для всеобщего обсуждения, потому что:
- Хотя в сети Интернет постоянно публикуются различные сравнительные тесты антишпионских, антивирусных и т.п. программных продуктов, эти исследования основаны на совершенно различных методиках тестирования, расчета рейтингов и т.д. Поэтому тесты не всегда отражают реальное положение вещей. Например, одним из основных критериев при сравнении антишпионских продуктов является количество сигнатур в базе. Но даже самые лучшие продукты, побеждающие в таких рейтингах, не в состоянии бороться с угрозами, описанными ниже.
- Даже если в тесте одна программа заблокировала, к примеру, 10 из 10 вредоносных программ, а вторая только 7 из 10, это вовсе не означает, что первая программа лучше защитит конфиденциальную информацию пользователей. Как правило, к шпионским программам причисляются все программы, отсылающие третьей стороне любую информацию о пользователе, независимо от ценности этой информации. Таким образом, в одной группе оказываются и вполне безобидные программы, собирающие информацию о посещенных сайтах и сделанных в Интернете покупках - и чрезвычайно опасные программы и модули, специально разработанные для кражи банковских паролей и другой критической информации.
- Критерии оценки программ определяют результаты тестирования - во многих исследованиях среди критериев оказывается не столько эффективность против наиболее опасных шпионских программ, сколько способность закрывать всплывающие окна (pop-ups), борьба с adware и красота интерфейса.
- Маркетологи отлично знают, что тот товар, что лучше, не обязательно более распространен в мире. Как правило, лучше всех распространяется товар, торговая марка которого хорошо известна, и в продвижение которого на рынок вложены большие финансовые средства.
Цели тестирования
- Оценить программные продукты и составить рейтинг с точки зрения их эффективности против самых опасных шпионских программ - тех, которые опубликованы в сети Интернет в открытых исходных кодах со свободным доступом для всех желающих. Поскольку скомпилировать такой код можно по-разному, как правило, традиционный сигнатурный анализ с ним не справляется.
- Проверить качество работы "эвристических анализаторов", наличие которых в своих программных продуктах декларируют практически все всемирно известные производители антивирусных и антишпионских продуктов.
Предпосылки для разработки методики
В последнее время резко возросло количество публикаций о такой стремительно растущей разновидности киберпреступлений, как кража конфиденциальной информации с помощью программ-шпионов, и мерах по защите от них. В докладе "Превентивный подход к защите информации от современных шпионских программ" (http://bezpeka.com/en/lib/antispy/anot2868.html) подчеркивалась особая опасность угроз класса System Monitors (согласно классификации SpyAudit). К ним относятся кейлоггеры и их усовершенствованные модификации, позволяющие перехватывать нажатия клавиатуры (в пользовательском режиме и в режиме ядра системы), текст из окон приложений и буфера обмена, графические снимки экрана и др. Именно такие угрозы и являются предметом нашего рассмотрения, мы не включаем в понятие "шпионская программа" (spyware) угрозы класса adware, cookie и т.п. Последствия целенаправленной атаки с помощью кейлоггера несоизмеримы с вредом от внедрения adware на ПК пользователя. Со временем, System Monitors становятся все более опасными и вытесняют все остальные угрозы, которые ранее традиционно включались в понятие spyware. Это подтверждается многочисленными сообщениями в прессе, документами Anti-Spyware Coalition (http://www.antispywarecoalition.org), отчетами Webroot, Earthlink SpyAudit и другими ведущими компаниями и организациями в данной сфере. Подробно о нашей классификации шпионских программ см. статью "Шпионские программы и новейшие методы защиты от них" (http://bezpeka.com/ru/lib/sec/gen/art382.html).
Свое описание модели риска выпустила Anti-Spyware Coalition (http://www.antispywarecoalition.org/documents/RiskModelDescription.htm). К высокому риску Коалиция относит программы, самовоспроизводящиеся через массовые почтовые рассылки, червей и вирусы, а также программы, которые устанавливаются без разрешения или ведома пользователя посредством секьюрити-эксплойта, и программы, которые без согласия пользователя перехватывают сообщения email или интернет-пейджера, передают персональные данные или изменяют параметры защиты. Коалиция надеется, что ее рекомендации приведут к созданию более качественных антишпионских продуктов.
Что же может противопоставить пользователь персонального компьютера программам-шпионам?
Решение данной проблемы возможно только в использовании комплекса программных продуктов:
- Программный продукт N1 - это продукт, который использует эвристические механизмы защиты против программ-шпионов. Он оказывает защиту непрерывно и не использует никакие сигнатурные базы.
- Программный продукт N2 - это Антивирусный программный продукт, использующий постоянно обновляемые сигнатурные базы.
- Программный продукт N3 - это персональный Firewall, контролирующий выход в сеть Интернет с персонального компьютера на основании конфигурации, которую определяет сам пользователь.
Антивирусный программный продукт не способен защищать пользователя от новых неизвестных ранее вирусов со встроенными шпионскими модулями, т.к. новые вирусы на момент атаки еще не внесены в сигнатурную базу антивирусного продукта, и как следствие этого, сигнатурная база не успела обновиться на компьютере пользователя. В результате конфиденциальная информация пользователя оказывается похищенной.
Персональный файрволл задает много вопросов, на которые даже очень хорошо подготовленный пользователь может ответить некорректно, тем самым неправильно его сконфигурировав. Например, даже некоторые коммерческие мониторинговые программные продукты (не говоря даже о специализированных хакерских программных продуктах) используют процессы, которым заведомо разрешен выход в Интернет (браузеры, почтовые клиенты и т.д.). Как правило, пользователь обязан разрешить им выход в Интернет. А это приводит к тому, что украденная шпионской программой информация будет отослана в Интернет на заранее подготовленный злоумышленником адрес (email, ftp и т.д.). Другие типы шпионских программ обходят защиту файрволов иными способами и также невидимы для них.
Антишпионский программный продукт, использующий эффективные эвристические алгоритмы, способен работать непрерывно в фоновом режиме, не требует вмешательства пользователя и осуществляет защиту системы "на лету", блокируя любые попытки перехвата информации пользователя.
Но все ли пользователи устанавливают хотя бы те защитные программы, что имеются на рынке? К сожалению, далеко не все. По результатам недавнего исследования, проведенного совместно компанией AOL и организацией National Cyber Security Alliance (NCSA), на 81% ПК не установлен, по крайней мере, один из трех рекомендуемых компонентов интернет-защиты - межсетевой экран, обновляемый антивирус или приложение для защиты от шпионского ПО. Антивирусная программа вообще не инсталлирована или не обновлялась неделю и более на 56% домашних компьютеров. Межсетевые экраны с неправильными настройками обнаружены на 44% ПК. А антишпионская утилита отсутствует на 44% машин (http://bezpeka.com/ru/news/2005/12/08/5221.html).
Как же выбрать действительно надежную антишпионскую программу? Действительно ли программы, занимающие верхние позиции в различных рейтингах, надежно защитят информацию от кражи? Существующие методики сравнительного тестирования антишпионских продуктов, на основе которых и составляют рейтинги, не учитывают возможность защиты от неизвестных шпионских программ. Первым и одним из наиболее весомых критериев тестирования обычно является количество записей в сигнатурной базе (иными словами - количество обнаруживаемых spyware). Что дают такие сравнительные обзоры? Пользователь, ознакомившись с таблицей, выбирает один из продуктов, занимающих верхние позиции в результатах тестирования, устанавливает его на свой компьютер и верит, что теперь его персональная информация надежно защищена.
Между тем, даже для программиста средней руки не составляет труда написать собственную шпионскую программу, которая не попадет ни в одну сигнатурную базу и не будет обнаруживаться. Те, кто не обладает достаточной квалификацией, могут поступить еще проще - скачать из сети Интернет открытый исходный код шпионской программы. Остается только скомпилировать готовый код, внеся небольшие изменения. И в итоге опять получится уникальный код, против которого невозможно бороться только с помощью классического сигнатурного анализа.
Методика тестирования
Учитывая все вышесказанное, нами был выбран принципиально новый подход к сравнительному тестированию антишпионских программных продуктов. С одной стороны, он довольно прост - любой специалист в состоянии повторить испытания и убедиться в правильности результатов. С другой стороны, результаты тестирования получились наглядными и опровергают расхожее мнение, что самые популярные на сегодняшний день программные продукты надежно защищают конфиденциальную информацию пользователя от кражи.
Тестирование проводилось следующим образом.
Из сети Интернет были скачаны 9 шпионских программ с открытым исходным кодом:
- Key Logger by Jerome Scott II (K1)
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId
=1645&lngWId=7 - KeyLoggerMore_Sample (K2)
http://www.codeguru.com/code/legacy/system/KeyLoggerMore_Sample.zip - try_wnd1 (K3)
http://www.ladia.ru/cpp/appli/files/log.zip - KEYLOGGER (K4)
http://www.delphifr.com/gma/Keyloggers - KEY LOGGER, ENREGISTREMENT CRYPTÉ + DÉCODEUR (K5)
http://www.delphifr.com/code.aspx?id=12616 - SIMPLE PETIT KEYLOGGER (K6)
http://www.delphifr.com/code.aspx?id=12279 - TOUCHES DE CLAVIER EN SIMULTANNÉ (HOOK) (K7)
http://www.delphifr.com/code.aspx?id=12276 - Best Free Keylogger (BFK) (K8)
http://sourceforge.net/projects/bfk - Simple Python Keylogger for Windows (K9)
http://sourceforge.net/projects/pykeylogger
Данные исходные коды были скомпилированы и использовались в качестве тестовых кейлоггеров для проверки наиболее популярных антишпионских программ.
Испытания проводились на операционных системах Windows XP Professional SP2 и Windows 2000 SP4 с последними обновлениями, на 32-битной архитектуре Intel.
Для тестирования были выбраны 22 всемирно известные антишпионские программы, включаемые в большинство Интернет-рейтингов:
Кроме антишпионских продуктов интерес представляют также антивирусные продукты, поскольку на сегодняшний день практически все их производители декларируют функции борьбы со spyware. Поэтому был проведен отдельный тест антивирусных продуктов на тех же шпионских программах.
Для тестирования были выбраны 22 всемирно известные антивирусные программы, включаемые в большинство Интернет-рейтингов (для нашего тестирования использовался специализированный интернет-ресурс http://www.virustotal.com):
Продукт | URL | Разработчик | Версия | Обновление |
---|---|---|---|---|
AntiVir | http://www.hbedv.com/en/ | H+BEDV (AntiVir) | 6.33.0.70 | 12.23.2005 |
Avast | http://www.avast.com/ | ALWIL (Avast! Antivirus) | 4.6.695.0 | 12.22.2005 |
AVG | http://www.grisoft.com/ | Grisoft (AVG) | 718 | 12.23.2005 |
Avira | http://www.avira.com/ | AVIRA (AVIRA Desktop) | 6.33.0.70 | 12.23.2005 |
BitDefender | http://www.bitdefender.com/ | Softwin (BitDefender) | 7.2 | 12.23.2005 |
CAT-QuickHeal | http://www.quickheal.co.in/ | Cat Computer Services (Quick Heal) | 8 | 12.21.2005 |
ClamAV | http://www.clamwin.com/ | ClamAV (ClamWin) | devel-20051108 | 12.19.2005 |
DrWeb | http://www.drweb.com/ | Doctor Web, Ltd. (DrWeb) | 4.33 | 12.23.2005 |
eTrust-Iris | http://www.ca.com/ | Computer Associates (Iris, Vet) | 7.1.194.0 | 12.23.2005 |
eTrust-Vet | http://www.ca.com/ | Computer Associates (Iris, Vet) | 12.4.1.0 | 12.23.2005 |
Fortinet | http://www.fortinet.com/ | Fortinet (Fortinet) | 2.54.0.0 | 12.23.2005 |
F-Prot | http://www.f-prot.com/ | FRISK Software (F-Prot) | 3.16c | 12.22.2005 |
Ikarus | http://www.ikarus.at/ | Ikarus Software (Ikarus) | 0.2.59.0 | 12.23.2005 |
Kaspersky | http://www.kaspersky.com/ | Kaspersky Lab (AVP) | 4.0.2.24 | 12.23.2005 |
McAfee | http://www.mcafee.com/ | McAfee (VirusScan) | 4657 | 12.23.2005 |
NOD32v2 | http://www.nod32.com/ | Eset Software (NOD32) | 1.1335 | 12.22.2005 |
Norman | http://www.norman.com/ | Norman (Norman Antivirus) | 5.70.10 | 12.23.2005 |
Panda | http://www.pandasoftware.com/ | Panda Software (Panda Platinum) | 8.02.00 | 12.22.2005 |
Sophos | http://www.sophos.com/ | Sophos (SAV) | 4.01.0 | 12.23.2005 |
Symantec | http://www.symantec.com/ | Symantec (Norton Antivirus) | 8 | 12.23.2005 |
TheHacker | http://www.hacksoft.com.pe/ | Hacksoft (The Hacker) | 5.9.1.060 | 12.21.2005 |
VBA32 | http://www.anti-virus.by/ | VirusBlokAda (VBA32) | 3.10.5 | 12.22.2005 |
Результаты тестирования
Результаты тестирования антишпионских продуктов:
AntiSpy Product Test Spy | K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 |
---|---|---|---|---|---|---|---|---|---|
Ad-aware SE Pro | - | - | - | - | - | - | - | - | - |
AntiSpy | - | - | - | - | - | - | - | - | - |
BPS Spyware Remover | - | - | - | - | - | - | - | - | + |
CounterSpy | - | - | - | - | - | - | - | - | - |
Maxion Spy Killer | - | - | - | - | - | - | - | - | - |
McAfee Anti-Spyware | - | - | - | - | - | - | - | + | - |
Microsoft AntiSpyware | - | - | - | - | - | - | - | - | - |
PestPatrol | - | - | - | - | - | - | - | - | - |
PrivacyKeyboard | + | + | + | + | + | + | + | + | + |
Spy Cleaner Gold | - | - | - | - | - | - | - | - | - |
Spy Sweeper | - | - | - | - | - | - | - | + | - |
Spybot Search & Destroy | - | - | - | - | - | - | - | - | - |
SpyHunter | - | - | - | - | - | - | - | - | - |
SpyRemover | - | - | - | - | - | - | - | - | - |
SpySubtrac | - | - | - | - | - | - | - | + | - |
Spyware Be Gone | - | - | - | - | - | - | - | - | - |
Spyware Blaster | - | - | - | - | - | - | - | - | - |
Spyware Crusher | - | - | - | - | - | - | - | - | - |
Spyware Doctor | - | - | - | - | - | - | - | - | - |
Spyware Stormer | - | - | - | - | - | - | - | - | - |
TrueWatch | - | - | - | - | - | - | - | + | + |
XoftSpy | - | - | - | - | - | - | - | - | - |
Результаты тестирования антивирусных продуктов:
AntiVirus Product Test Spy | K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 |
---|---|---|---|---|---|---|---|---|---|
AntiVir | no | no | no | Heuristic / Trojan. Keylogger |
no | Heuristic /Trojan. Keylogger |
no | no | no |
Avast | no | no | no | no | no | no | no | no | no |
AVG | no | no | no | no | no | no | no | no | no |
Avira | no | no | no | Heuristic /Trojan. Keylogger |
no | Heuristic /Trojan. Keylogger |
no | no | no |
BitDefender | no | no | no | no | no | no | no | Generic .Malware. SLM. 10535C5E |
no |
CAT-QuickHeal | no | no | no | Monitor. KeyLogger. i (Not a Virus) |
no | no | no | Monitor. BFK. 11 (Not a Virus) |
no |
ClamAV | no | no | no | no | no | no | no | no | no |
DrWeb | Trojan .KeyLogger. 342 |
no | no | no | no | no | no | no | no |
eTrust-Iris | no | no | no | no | no | no | no | no | no |
eTrust-Vet | no | no | no | no | no | no | no | no | no |
Fortinet | no | no | no | no | no | no | no | Keylog!tr | no |
F-Prot | no | no | no | no | no | no | no | no | no |
Ikarus | no | no | no | no | no | no | no | no | no |
Kaspersky | no | no | no | not-a-virus: Monitor. Win32. KeyLogger.i |
no | no | no | not-a-virus: Monitor. Win32. BFK.11 |
no |
McAfee | no | no | no | no | no | no | no | Keylog.gen | no |
NOD32v2 | no | no | no | no | no | no | no | probably unknown NewHeur_PE virus |
no |
Norman | no | no | no | no | no | no | no | no | no |
Panda | no | no | no | no | no | no | no | no | no |
Sophos | no | no | no | no | no | no | no | no | no |
Symantec | no | no | no | no | no | no | no | no | no |
TheHacker | no | no | no | no | no | no | no | no | no |
VBA32 | Trojan. KeyLogger. 342 |
no | no | no | no | no | no | no | no |
Итоговая таблица
Рейтинг продуктов, осуществляющих противодействие программам-шпионам:
Выводы
Результаты тестирования оказались неожиданными даже для проводивших тестирование специалистов. Ведь программы-шпионы, из которых были скомпилированы тестовые шпионы, общедоступны, они свободно распространяются в сети Интернет в виде открытых исходных кодов.
Результаты тестирования четко показали, что самые современные антивирусные и антишпионские продукты не в состоянии противостоять краже конфиденциальной информации с персональных компьютеров через встроенные в вирусы шпионские программы, количество которых постоянно возрастает.
Программный продукт производства ООО "Центр информационной безопасности" PrivacyKeyboard занял первое место, что объясняется отсутствием сигнатурных баз в принципе. Реализованный в программе подход позволяет одинаково эффективно защищать как от известных угроз, связанных с перехватом информации пользователей ПК, так и от неизвестных.
На втором месте оказались 5 продуктов - TrueWatch компании Esaya, Inc., AntiVir компании H+BEDV, Avira компании AVIRA (AVIRA Desktop), CAT-QuickHeal компании Cat Computer Services, Kaspersky Anti-Virus Personal Pro компании Kaspersky Lab, которые справились с двумя из девяти шпионов.
Третье место разделили сразу 10 продуктов. Они смогли обнаружить лишь один (!) из девяти шпионов.
Все остальные 28 продуктов оказались бессильны и не смогли обнаружить ни одного (!) из тестовых шпионов.
Наша методика открыта и потому исключает предвзятость. Любые специалисты в состоянии воспроизвести подобное тестирование, самостоятельно скомпилировав собственные тестовые программы из исходного кода, свободно распространяемого в Интернет, и с условиями испытаний, отличающимися от наших.
Источник: http://bezpeka.com/

Принимаю заказы на настройку серверов, mikrotik и других роутеров, точек доступа, nginx и т.п. В пределах Санкт-Петербурга возможен выезд к заказчику. См. контакты.
Последние комментарии
Популярно:
Разделы статей:
Подскажите. подключение с ПК все работает все ок. Делал по вашей мурзилке.
Но при подключе...