Защита от хакеров корпоративных сетей
Шрифт:
· Шестнадцатеричный редактор позволяет редактировать двоичные файлы непосредственно, минуя приложение. Шестнадцатеричные редакторы доступны на многих платформах, например редактор Hackman для Windows или hexedit для UNIX.
· Поскольку атрибуты файла легко фальсифицировать, не стоит на них полагаться при определении модифицированных файлов. Измененные файлы могут укрывать вирусы, Троянских коней или программ типа root kit. Один из способов недопущения этого заключается в использовании контрольных сумм или алгоритмов кэширования файлов, хранимых вместе с файлами.
· В состав утилит мониторинга операционной системы Windows входят утилиты RegMon и FileMon.
Поиск
· Для защиты файлов применяются вычисление контрольных сумм, кэширование, сжатие и шифрование.
· Основанная на контрольных суммах и кэшировании защита файлов может быть преодолена, если будет обнаружено место хранения контрольной суммы или кэш-величины и раскрыт алгоритм их вычисления. С помощью различных уловок можно определить, как вычисляется контрольная сумма. Но дополнительно к алгоритму ее вычисления нужно знать, на основе каких данных файла она рассчитывается.
· До изменения контрольных сумм или кэш-величин следует выяснить примененные способы шифрования и сжатия. Число способов сжатия и шифрования файлов ограничено. Если программа расшифровывает файлы, то следует только узнать, как она это делает.
Часто задаваемые вопросы
Вопрос: Существует ли команда dif для операционной системы Windows?
Ответ: Да. Она может быть получена из дистрибутива Cygwin, распространяемого Cygnus Solutions.
Вопрос: Всегда ли нужен протокол различий исправлений выявленных уязвимостей? Ответ: И да, и нет. Ряд продавцов открытых операционных систем или систем, выпускаемых по общедоступной лицензии GPL, подобную информацию предоставляют. Коммерческие производители делают это неохотно и не всегда. Хотя автор не может указать читателю, какую операционную систему использовать, он предпочитает владеть информацией и поэтому использует свободно распространяемые открытые операционные системы.
Вопрос: Существует ли версия grep с возможностью рекурсивного построения отчета? Ответ: Да. Версии grep фонда открытых программных средств (Free Software Foundation), поддерживающие флаг рекурсии (-r), доступны по адресу www.gnu.org.
Вопрос: Что, если я захочу для создания своих собственных программных средств использовать язык С вместо Perl? Ответ: У вас будет больше возможностей. В состав большинства открыто распространяемых UNIX-подобных операционных систем входит компилятор с языка С. Для операционной системы Windows можно порекомендовать DJGPP, который можно найти по адресу www.delorie.com/djgpp.
Вопрос: Где можно найти другие свободно распространяемые утилиты? Ответ: Sourceforge.net имеет большое хранилище открытых программных средств. Кроме того, Freshmeat.net предоставляет машину поиска свободно доступного программного обеспечения.
Глава 6 Криптография
В этой главе обсуждаются следующие темы:
• Концепции криптографии
• Стандарты алгоритмов шифрования
• «Грубая сила»
• Неверное использование алгоритмов шифрования
• Любительская криптография
· Резюме
· Конспект
· Часто задаваемые вопросы
Введение
Ныне
В главе будет бегло рассмотрена история криптографии и изучены популярные криптографические алгоритмы, включая улучшенный стандарт шифрования AES, недавно принятый США для защиты важной информации на правительственном уровне. Будут рассмотрены причины широкого использования криптографии с открытым ключом и обмена ключами, а также вопросы их использования на практике. Будет показана теоретическая уязвимость практически всех криптографических алгоритмов к атаке «грубой силы» (атаки в лоб).
Попутно с рассмотрением возможностей криптографической защиты будет рассмотрено восстановление зашифрованных сообщений на примере взлома паролей и атак «злоумышленник посередине» (man-in-the-middle-type attacks). Также будут рассмотрены атаки, позволяющие разрушить систему защиты, основанную на плохой реализации криптостойких алгоритмов. В заключение будет показан способ легкого взлома устаревших криптографических алгоритмов.
Концепции криптографии
Что означает слово крипто ? Оно происходит от греческого слова «криптос» – скрытый. Поэтому целью криптографии является скрытие сути информации от посторонних лиц таким образом, чтобы с ней мог ознакомиться только тот, кому она предназначена. В терминах криптографии скрытие информации называется шифрованием, а ее чтение – расшифрованием, или дешифрованием. Словарь Merriam-Webster\'s Collegiate Dictionary определяет шифр как «метод преобразования текста для скрытия его значения». Информация, которая подлежит скрытию, называется открытым (незашифрованным) текстом (plaintext), а зашифрованные данные – зашифрованным текстом (ciphertext). Зашифрованное сообщение можно передавать, не опасаясь, что его сможет прочитать кто-либо, кроме получателя. А тот, кому оно предназначено, всегда сможет расшифровать его.
Историческая справка
Фред Кохен (Fred Cohen) предал гласности документально подтвержденные факты использования криптографии в Древнем Египте более 4000 лет тому назад. Юлий Цезарь (Julius Caesar) использовал свой собственный способ шифровки писем, который получил название шифра Цезаря. Идея шифра Цезаря заключалась в замене каждой буквы на третью букву далее по алфавиту. Например, S заменялась на букву V, а E – на H. По современным меркам шифр Цезаря слишком прост, но он хорошо служил Цезарю в его дни. Читателю, желающему углубить свои знания по истории криптографии, автор рекомендует посетить сайт www.all.net/books/ip/Chap2-1.html.