Коллектив авторов - Защита от хакеров корпоративных сетей
- Название:Защита от хакеров корпоративных сетей
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Коллектив авторов - Защита от хакеров корпоративных сетей краткое содержание
В книге рассматривается современный взгляд на хакерство, реинжиниринг и защиту информации. Авторы предлагают читателям список законов, которые определяют работу систем компьютерной безопасности, рассказывают, как можно применять эти законы в хакерских технологиях. Описываются типы атак и возможный ущерб, который они могут нанести компьютерным системам. В книге широко представлены различные методы хакинга, такие, как поиск различий, методы распознавания шифров, основы их вскрытия и схемы кодирования. Освещаются проблемы безопасности, возникающие в результате непредсказуемого ввода данных пользователем, методы использования машинно-ориентированного языка, возможности применения мониторинга сетевых коммуникаций, механизмы туннелирования для перехвата сетевого трафика. В книге представлены основные сведения о хакерстве аппаратных средств, вирусах, троянских конях и червях. В этой книге читатель узнает о методах, которые в случае неправильного их применения приведут к нарушению законодательства и связанным с этим последствиям.
Лучшая защита – это нападение. Другими словами, единственный способ остановить хакера заключается в том, чтобы думать, как он. Эти фразы олицетворяют подход, который, по мнению авторов, позволит наилучшим образом обеспечить безопасность информационной системы.
Перевод: Александр Петренко
Защита от хакеров корпоративных сетей - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Таблица 6.2.
Таблица истинности операции XOR
Посмотрите на простой пример кодировки и восстановления данных с помощью операции XOR. В примере используется один ключевой символ («A») для преобразования сообщения, состоящего из единственного символа («B»). В результате получится зашифрованное сообщение «ciphertext» (см. табл. 6.3).
Таблица 6.3.
Операция XOR над «А» и «В»
Предположим, что известны величина «B» и результат шифрования сообщения «ciphertext». Как найти неизвестный ключ «A»? Требуется восстановить ключ для раскодирования другого закодированного сообщения «ciphertext2», битовое представление которого 00011010. Для этого нужно выполнить операцию XOR с операндами «B» и «ciphertext» и восстановить ключ «A». Результат воcстановления показан в табл. 6.4.
Таблица 6.4.
Результат операции XOR на операндах «ciphertext» и «В»
После восстановления ключа им можно воспользоваться для декодирования «cipher2» и в результате закодировать символ «Z» (см. табл. 6.5).
Таблица 6.5.
Результат операции XOR на операндах «cipher2» и «А»
Конечно, это слишком простой пример. Скорее всего, на практике придется столкнуться с ключами, состоящими из нескольких символов. Кроме того, кодирование сообщений операцией XOR может выполняться последовательно несколько раз.
Манипуляции над абстрактными 0 и 1 могут оказаться трудными для восприятия, если ранее читатель не сталкивался с двоичными числами и величинами. Поэтому автор решил привести пример простой программы, которая выполняет серию из трех операций XOR на различных перестановках ключа для кодирования сообщения. В этой короткой программе на языке Perl используется свободно распространяемый модуль IIIkey для обращения к внутренней функции шифрования XOR. Для того чтобы воспользоваться приведенной программой, следует загрузить модуль IIIkey по адресу www3.marketrends.net/encrypt.#!/usr/bin/perl
#!/usr/bin/perl
# Encodes/Decodes a form of XOR text
# Requires the IIIkey module
# Written specifically for HPYN 2nd Ed.
# by FWL 01.07.02
# Use the IIIkey module for the backend
# IIIkey is available from http://www3.marketrends.net/
encrypt/
use IIIkey;
# Simple input validation
sub validate() {
if (scalar(@ARGV) < 3) {
print “ Error: You did not specify input correctly!\n” ;
print “ To encode data use ./xor.pl e \“ Key\” \“ String
to Encode\”\n”;
print “ To decode data use ./xor.pl d \“ Key\” \“ String
to Decode\”\n”;
exit;
}
}
validate();
$tmp=new IIIkey;
$key=$ARGV[1];
$intext=$ARGV[2];
if ($ARGV[0] eq “e”) { # encode text
$outtext=$tmp->crypt($intext, $key);
print “Encoded $intext to $outtext”;
} elsif ($ARGV[0] eq “d”) { # decode text
$outtext=$tmp->decrypt($intext, $key);
print “Decoded $intext to $outtext”;
} else { # No encode/decode information given!
print “To encode or decode? That is the question.”;
exit;
}А вот пример отчета работы программы.
$ ./xor.pl e “my key” “secret message”
Encoded secret message to 8505352480^0758144+510906534
$ ./xor.pl d “my key” “8505352480^0758144+510906534”
Decoded 8505352480^0758144+510906534 to secret message
Алгоритм UUEncodeUUEncode – алгоритм, который обычно используется для преобразования двоичных данных в текстовый формат для передачи по электронной почте. (UUEncode – кодирование Unix-Unix (метод преобразования файлов из двоичного формата в текстовый и обратно для обеспечения пересылки по сети Internet посредством электронной почты)). Вероятно, читателю известно, что большинство программ электронной почты не могут непосредственно обрабатывать двоичные вложения к письмам электронной почты. Поэтому в случае присоединения двоичного файла (как, например, рисунка в формате JPEG) к письму электронной почты клиент электронной почты преобразует двоичные данные в текстовый эквивалент, возможно, с помощью алгоритма, подобного UUEncode. Присоединенный файл преобразуется из двоичного формата в поток печатаемых символов, который может быть обработан почтовой программой. После получения письма вложение преобразуется обратным алгоритмом кодирования (UUDecode) для преобразования к оригинальному двоичному файлу.
Иногда разработчики используют алгоритм UUEncode для кодирования обычного печатаемого текста для скрытия смысла сообщения. В этом случае для восстановления сообщения достаточно преобразовать закодированный текст сообщения программой UUDecode. Клиенты UUEncode/UUDecode с интерфейсом командной строки доступны почти для каждой когда-либо созданной операционной системы.
Алгоритм Base64Алгоритм Base64, так же как и UUEncode/UUDecode, используется для кодирования вложений электронной почты MIME-расширений (Multipurpose Internet Mail Extensions (MIME) – многоцелевые расширения электронной почты в сети Internet. Набор стандартов для передачи мультимедийной информации посредством электронной почты). Вероятно, читатель еще столкнется с паролями и другой интересной информацией, скрываемой кодированием Base64. Примечательно, что часто встречаются Web-сервера с возможностью HTTP-аутентификации, которые хранят пароли в формате Base64. Если в руки злоумышленника попадет имя пользователя и его пароль, закодированный алгоритмом Base64, то он сможет в течение нескольких секунд раскрыть их. Характерным признаком кодировки Base64 служит наличие одного или двух знаков равенства (=) в конце строки. Знаки равенства часто используются как символы дополнения данных.
Посмотрите на простой пример программы раскодирования данных в формате Base64. Этот фрагмент программы должен выполняться на любой операционной системе, на которой установлен Perl5 или, еще лучше, модуль MIME::Base64 компании CPAN (www.cpan.org). Приведены также примеры использования программы и отчет ее работы.#!/usr/bin/perl
# Filename: base64.pl
# Encodes/Decodes Base-64 text
# Requires the MIME::Base64 module
# Written specifically for HPYN 2nd Ed.
# by FWL 01.07.02
# Use the MIME module for encoding/decoding Base-64 strings
use MIME::Base64;
# Simple input validation
sub validate() {
if (scalar(@ARGV) < 2) {
print “Error: You did not specify input correctly!\n”;
print “To encode data use ./base64.pl e \“String to
Encode\”\n”;
print “To decode data use ./base64.pl d \“String to
Decode\”\n”;
exit;
}
}
validate();
$intext=$ARGV[1];
if ($ARGV[0] eq “e”) { # encode text
$outtext=encode_base64($intext);
print “Encoded $intext to $outtext”;
} elsif ($ARGV[0] eq “d”) { # decode text
$outtext=decode_base64($intext);
print “Decoded $intext to $outtext”;
} else { # No encode/decode information given!
print “To encode or decode? That is the question.”;
exit;
}А вот пример отчета работы программы.
$ ./base64.pl e “Secret Password”
Encoded Secret Password to U2VjcmV0IFBhc3N3b3Jk
$ ./base64.pl d “U2VjcmV0IFBhc3N3b3Jk”
Decoded U2VjcmV0IFBhc3N3b3Jk to Secret Password
Алгоритмы сжатия данныхИногда может показаться, что для скрытия данных алгоритмов сжатия недостаточно. В прошлом некоторые разработчики игр сжимали файлы состояния игры не только для сокращения необходимой для их хранения памяти, но и для затруднения внесения в них изменений при помощи разнообразных редакторов игр. В те годы для этих целей наиболее часто использовались алгоритмы SQSH (Squish or Squash) и LHA. Сами алгоритмы были унаследованы от консольных игр 1980-х, когда их использовали для сжатия образа постоянного запоминающего устройства (ROM – Read Only Memory) в картриджах. Как правило, в случае невозможности расшифровать текст стандартными методами следует проверить, а не был ли он сжат одним из многочисленных общедоступных алгоритмов сжатия.Приоткрывая завесу
Интервал:
Закладка: