ТОП авторов и книг     ИСКАТЬ КНИГУ В БИБЛИОТЕКЕ

А  Б  В  Г  Д  Е  Ж  З  И  Й  К  Л  М  Н  О  П  Р  С  Т  У  Ф  Х  Ц  Ч  Ш  Щ  Э  Ю  Я  AZ

 


Описанный в стандарте алгоритм определяет операции преобразования
данных в непонятную непосредственно форму - шифрование, и наоборот -
расшифрование. Обе операции опираются на некоторое двоичное число,
называемое ключом. Ключ состоит из 64 двоичных цифр, из которых 56 битов
используются самим алгоритмом, а оставшиеся 8 битов служат для
обнаружения ошибок.
Сам алгоритм известен всем его пользователям. Уникальность
алгоритму придает использование в каждом приложении уникального ключа.
Тот, кто не знает ключа, зная сам алгоритм, не сможет получить скрытые
таким образом данные.
стр. 26

пользователей, найденных в учетном файле, и сравнения полученного
шаблона с шифрованным паролем данного пользователя - в случае
совпадения червь производил попытку запуска оболочки на всех удаленных
узлах, где данный пользователь мог работать (что устанавливалось за
счет просмотра внутреннего списка доступных узлов и анализа упомянутых
выше файлов).
Если пользователь был чуть более искушен, и пароль не совпадал с
учетным именем в чистом виде, то производилась аналогичная попытка с
использованием учетного имени, преобразованного самым тривиальным
образом: например, опробовалось учетное имя, написанное в обратном
порядке.
Если и это не давало результата, в качестве шаблонов опробовались
зашифрованные 432 общеизвестных слова (типа "cretin", "batman" и
т.д.), составлявшие внутренний словарь червя. Этот вариант дал,
кстати, наибольший процент раскрытия паролей.
После всех этих шагов в качестве паролей опробовались слова из
имевшегося в системе словаря.
Как видите, ничего особенного в примененном методе вскрытия
паролей нет, как нет и оправдания халатности пользователей,
послужившей причиной того, что червю в отдельных системах удавалось
вскрыть пароли более половины пользователей. А ведь каждый новый
пароль червь использовал для атаки новых жертв!
"Следующая группа команд содержала список общеиспользуемых
в качестве паролей слов, зашифрованных по DES-алгоритму [D4],
которые сравнивались в таком виде с системным файлом паролей
Дэви, также зашифрованным по DES-алгоритму. Каждый
зашифрованный пароль-шаблон сравнивался с паролями всех законных
пользователей Деви, и каждое полное совпадение запоминалось
вирусом. В Деви червь таким образом смог получить около 20 из
300 паролей, причем один из раскрытых паролей обеспечивал
получение привилегий системного пользователя.
Системный пользователь в UNIX имеет возможность работать с
системными файлами и таблицами безопасности, обращаться к другим
системам, а также читать, писать и чистить файлы по всей
системе.
В этот момент червь стал распространять свои копии по
другим системам университета, но не производил серьезных
разрушений файлов или программ, хотя и мог это делать, - червь,
несомненно, не был запрограммирован на разрушение; единственным
ущербом, нанесенным червем Деви, было существенное замедление
работы других программ."

К счастью для американских пользователей, Моррис был в
определенном смысле добропорядочным специалистом, не ставившим себе
целью напакостить всем окружающим, вследствие чего созданный им вирус
не искажал и не уничтожал данных. Именно поэтому вирус Морриса был
отнесен специалистами к категории так называемых "мирных" вирусов, не
приносящих пользователям непоправимых бед.
стр. 27

Если бы Моррис добавил к своей программе еще несколько строк, то,
по мнению специалистов, ущерб был бы непоправимым.
Как показал анализ червя, имевшее в действительности место
неуправляемое размножение вируса в планы Морриса не входило. В
процессе работы червь пытался связаться с другой копией, работающей в
этой же системе, через заведомо определенное гнездо TCP. Если попытка
была успешной, т.е. в системе работала еще одна копия червя,
атакующий червь устанавливал в 1 переменную pleasequit, что вызывало
саморазрушение червя, но после выполнения им этапа вскрытия паролей.
Такая задержка саморазрушения привела к тому, что в одной системе
могли одновременно работать несколько копий червя. Более того,
сочетание условий в теле червя делала возможной ситуацию, когда сильно
загруженная система отказывала новой копии червя в установлении связи,
что расценивалось червем как отсутствие в системе других копий и,
следовательно, приводила к началу работы новой копии.
Моррис опасался, что системные программисты рано или поздно
предпримут попытки запустить имитатор червя, отвечавшего бы на попытки
установления связи через порт TCP с целью уничтожения истинных копий
червя. Чтобы блокировать такие попытки, червь на основе анализа
случайно генеруемого числа (примерно в одном случае из семи)
устанавливал внутренние флажки таким образом, что оказывался
независимым от результатов проверки наличия других копий червя в
системе. Эти "бессмертные" копии вносили значительную лепту в
перегрузку инфицируемых систем.
Таким образом, недостаточно корректное программирование механизма
размножения независимо от ответа машины было ошибкой, приведшей к
выходу вируса из-под контроля. С другой стороны, эта ошибка в
программе обусловила и раннее обнаружение вируса.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

ТОП авторов и книг     ИСКАТЬ КНИГУ В БИБЛИОТЕКЕ    

Рубрики

Рубрики