» Hardware » Software » Windows » Internet » Humor » Other

Локальная безопасность

Argon On-Line » Windows » Security
 

В данной статье автор попытается кратко осветить наиболее важные аспекты локальной безопасности систем под управлением ОС типа Windows NT/2000/XP. Данная статья предназначена для широкого круга advanced users и позволяет без специальных программных и аппаратных средств ограничить несанкционированное использование вашего персонального компьютера.

Прежде всего, определимся с термином «локальный доступ». Под этим термином понимается физический доступ к компьютеру, т.е. возможность его включения/выключения, загрузки операционной системы, доступ к накопителям (HDD, FDD, CD-ROM и т.д.).

Мало кто задумывается о том, что может произойти, если покинуть свое рабочее место всего на 5-10 минут. За это время, даже если компьютер выключен и вход в операционную систему защищен комбинацией логин/пароль, с помощью специальных средств возможно получение полного доступа ко всем данным, хранящимся на жестком диске, а также получение доступа к другим машинам, если компьютер подключен к локальной сети. Если за компьютером работают несколько пользователей, то локальной политикой безопасности, доступной в операционных системах (ОС) семейства NT, возможно ограничение доступа к вашим документам, однако права администратора позволяют получить полный доступ (чтение/запись/удаление) к абсолютно всем данным системы, чем и может воспользоваться злоумышленник.

Почему для анализа была выбрана группа операционных систем Windows NT/2000/XP? Семейство операционных систем Windows NT/2000/XP (далее — просто Windows NT) на сегодняшний день наиболее распространено, т.к. имеет широкие возможности работы с конфигурацией операционной среды, поддерживает устаревшее программное обеспечение для операционных систем DOS и предыдущих версий Windows (особенно хорошо это реализовано в Windows XP).

Итак, рассмотрим подробно, какие недостатки имеются в системе безопасности и какие действия нужно предпринять, чтобы максимально усложнить несанкционированный доступ к данным на жестком диске.

Система безопасности NT работает только при загруженной операционной системе, следовательно, первым и самым простым способом будет являться загрузка с внешнего носителя (дискета или CD-ROM) и получение полного доступа к файловой системе на жестком диске, которые затем переносятся на дискету или другой съемный накопитель (например, ZIP-drive). Как известно, в семействе операционных систем Windows NT реализована возможность контроля за локальным доступом (т.е. доступом к локальному жесткому диску). Реализуется эта возможность с помощью новой (по сравнению с FAT) файловой системы NTFS. Таким образом, Windows NT поддерживает обе эти файловые системы, и если использовать для загрузки загрузочную дискету Windows 98, и загрузиться с нее в MS-DOS, то при наличии NTFS доступа к данным на жестком диске не будет. Это, тем не менее, исправляется при использовании программы NTFSDOS.ЕХЕ (автор — Mark Russmovich), которая позволяет в MS-DOS получить доступ к разделам с NTFS.

Далее можно перенести необходимые данные на внешний носитель, либо скопировать файл SAM. Файл SAM (Security Account Manager) хранит хэши (hash) паролей (пароли, зашифрованные хэш-функцией, а при использовании дополнительной утилиты шифрования Syskey — хэши хэшей паролей) для учетных записей пользователей. Сам файл SAM располагается в каталоге %windir%\SYSTEM32\CONFIG\. Когда Windows NT запущена и работает, доступ к файлу SAM заблокирован системой. Скопировав файл SAM на дискету, можно расшифровать его с помощью программ типа L0phtCrack 3.0, получив тем самым все логины и пароли (в т.ч. и администратора). Хэш-функция необратима, т.е. для того, чтобы найти пароль, надо перебрать все возможные значения либо по словарю, либо прямым перебором (brute force). С увеличением мощностей современных компьютеров и используя возможность распределенной работы (на нескольких машинах) перебор не займет много времени, если пароль недостаточно сложный.

Также в Internet можно найти операционную систему Syslinux, которая помещается на дискету, производится загрузка с этой дискеты, вследствие чего появляется возможность работы с файловой системой NTFS, обращаться к SCSI-устройствам (что невозможно при использовании MS-DOS, загруженной с загрузочной дискеты Windows 98), производить изменения в реестре Windows NT и назначать новые пароли для всех учетных записей, в т.ч. и для администратора, корректируя файл SAM.

Единственный недостаток Syslinux (с точки зрения злоумышленника, который хочет получить несанкционированный доступ) — это некорректная работа с кириллицей. Это также исправимо, так как войдя в Windows NT даже под учетной записью гостя, возможен запуск MMC (Microsoft Management Console) и просмотр логинов всех пользователей. Допустим, логин для встроенной учетной записи администратора (по умолчанию Administrator для нелокализованной версии ОС и Администратор для локализованной) может быть переименован в Админ. Теперь необходимо посмотреть с помощью ММС этот новый логин, перезагрузиться в Syslinux и, идентифицируя встроенную учетную запись администратора в файле SAM по ID=500, изменить пароль. Теперь возможен вход в систему под новой учетной записью администратора.

Что можно посоветовать для того, чтобы затруднить эти действия? Подчеркиваю, именно ЗАТРУДНИТЬ, а не полностью предотвратить, так как последнее невозможно в принципе, и сейчас будет ясно, почему.

Итак, прежде всего, поставить в BIOS SETUP пароль на вход/изменение BIOS и (важно!), на вход в систему. Это делается так (на примере Award Modular BIOS v. 4.51G): USER PASSWORD, SUPERVISOR PASSWORD — задаем пароль, причем желательно одинаковый, чтобы потом не путаться. Ставить различные пароли имеет смысл, если на компьютере работают несколько пользователей, тогда SUPERVISOR PASSWORD должен знать только администратор, а остальные — только USER PASSWORD. BIOS FEATURES SETUP -> Boot sequence -> C only, BIOS FEATURES SETUP -> Security option -> System. Теперь при входе в систему будет запрашиваться пароль (Enter password) и загрузка с дискеты будет невозможна. Конечно, и это можно обойти, переставив джампер на материнской плате для сброса параметров BIOS по умолчанию, но вряд ли кто-то будет развинчивать ваш системный блок. Также сброс пароля можно осуществить, сбросив установки BIOS по умолчанию программным способом (тестировалось на Award Modular BIOS v. 4.51G под MS-DOS и Windows 98): создается файл типа С:\kill.txt, который содержит три строки:

о 70 71
о 71 17
q

а затем выполняется команда debug <C:\kill.txt. Данная команда разрушает контрольную сумму CMOS. Дело в том что, определенный диапазон адресов CMOS защищен контрольной суммой, при нарушении которой загружаются установки по умолчанию, в т.ч. и сбрасывается пароль. При перезагрузке будет выведено сообщение: CMOS checksum error — defaults loaded. Press DEL to enter Setup. Далее можно войти в Setup BIOS и разрешить загрузку с дискеты. На других версиях BIOS все делается аналогично с учетом специфики — другие названия меню, принцип изменения порядка загрузки и т.д.

Единственный выход в данной ситуации — применение специальных аппаратных или программных средств шифрования, о которых будет сказано ниже.

Следующим аспектом безопасности является собственно предотвращение несанк-ционированных действий непосредственно в операционной системе. Как указывалось выше, линейка Windows NT предоставляет огромные возможности по настройке локальной безопасности. Для каждого пользователя может быть ограничен доступ к определенным файлам, папкам, предоставлена возможность запускать только определенные приложения и т.д. Таким образом, можно рекомендовать следующее:

  • удалить встроенную учетную запись Гость (Guest), оставив только учетные записи пользователей, работающих на данном компьютере. Дело в том, что исследователь Radim «EliCZ» Picha обнаружил серьезную уязвимость в безопасности Windows NT и Windows 2000. Им была написана программа (exploit), демонстрирующая очевидную слабость локальной подсистемы безопасности NT/2000 и полностью компрометирующая всю систему безопасности этих операционных систем. Программа, названая DebPloit (от английских слов Debug и Exploit), использует уязвимость в подсистеме отладки (debugging subsystem) и позволяет ЛЮБОМУ пользователю с ЛЮБЫМИ привилегиями (даже пользователям, входящим в группы Guests и Restricted Users), выполнять программный код с правами администратора. Запустив эксплоит, злоумышленник запускает уже упомянутую ММС, которая запустится с правами администратора и добавляет нового пользователя (естественно, с правами администратора), а затем заново входит в систему, используя созданную учетную запись. Теперь он обладает правами администратора со всеми вытекающими последствиями. В Windows XP эта уязвимость устранена.
  • Необходимо поставить все существующие для ОС сервиспаки. Например, сервиспак SP3 для Windows 2000 исправляет уязвимость, которую использует DebPloit.
  • Все пользователи должны иметь пароли, устойчивые к прямому перебору, т.е. содержать буквенные, цифровые и специальные символы в разных регистрах и иметь длину не менее 10 символов. Таким образом, пароль типа Nb6$iL78@+&67K будет подбираться прямым перебором несколько лет. И уж тем более, пароль не должен нести смысловую нагрузку, как, например: quake, doom, password и т.д.
  • Учитывать социальный фактор: не записывать пароль на бумажках, не сообщать пароль кому-либо, игнорировать письма от якобы системного администратора сообщить логин и пароль и т.д.
  • Пользователи, не имеющие прав администратора, не должны иметь доступ к системным файлам, реестру и т.д. Например, файл MSV_0.dll, отвечающий за проверку подлинности пароля при локальном входе в систему, может быть скопирован и изменен таким образом, что любой пароль для любого пользователя будет считаться верным.
  • Постоянно контролировать процессы, запущенные в системе. Администратору, разумеется, необходимо знать каждый процесс и для чего он запускается. Допустим, постановка программы-кейлоггера (отслеживает нажатия клавиш и записывает их в файл) часто не требует для установки прав администратора, а между тем анализ лог-файла за месяц наверняка позволит узнать пароли и логины всех пользователей.
  • Поставить на компьютер последнюю версию хорошего антивируса (AVP, DrWEB, …) и регулярно обновлять антивирусные базы. Также необходимо политикой безопасности запретить всем пользователям, кроме администратора, отключать антивирус.
  • В отдельных случаях может быть оправдано применение специальных систем шифрования: SeNTry2020, Security Plus, Cryptext, Верба-OW. Однако эти системы, особенно те, которые сертифицированы ФАПСИ, весьма дорогостоящи и сложны в обслуживании для простого пользователя и поэтому редко применяются в обычных фирмах и на предприятиях.
  • Для шифрования особо важных папок и файлов может применяться программа Kremlin Encrypt. Применение весьма стойких разнообразных алгоритмов шифрования (BlowFish, CAST-128, RC4, IDEA, NewDES, Safer SK-128) в комплексе со сложным паролем сделает ваши данные неприступными.

Данная статья ни в коей мере не претендует на абсолютную полноту и объективность, рассмотрены лишь основы локальной безопасности систем под управлением ОС типа Windows NT/2000/XP. Сетевая же безопасность является отдельной темой для обсуждения, так как количество известных сетевых уязвимостей на порядок больше локальных. Системным администраторам рекомендуется чаще посещать сайты типа:

http://www.microsoft.com/ — для получения обновлений и патчей;

http://www.securitylab.ru/ — для получения новостей об обнаруженных уязвимостях.

В заключение автор хочет предупредить, что вся информация данной статьи предназначена только для защиты от несанкционированного доступа и не должна применяться для доступа к информации на чужих компьютерах. На этот счет можно ознакомиться со статьями УК РФ Глава 28 ст. 272-274.

Удачи в защите!

http://www.comprice.ru/

 
Еще
Оглавление раздела
Содержание / Новости

Карта сайта
О сайте
Ссылки

Форум
Обратная связь
Если ты нашел ошибку, хочешь что-то посоветовать либо поругать меня, не посчитай за труд написать об этом в следующем поле...







К началу страницы© 2002—2008 Argon