takya.ru страница 1страница 2 ... страница 7страница 8
скачать файл


МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ПУТЕЙ СООБЩЕНИЯ

(МИИТ)
Кафедра
“САПР транспортных конструкций и сооружений”


В.Ю. Смирнов, О.В. смирнова


Информационная безопасность персональных компьютеров

Учебное пособие



Москва - 2009

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ПУТЕЙ СООБЩЕНИЯ

(МИИТ)
Кафедра
“САПР транспортных конструкций и сооружений”


В.Ю. Смирнов, О.В. смирнова


Информационная безопасность персональных компьютеров

Рекомендовано реакционно-издательским советом

университета в качестве учебного пособия

для студентов специальности САПР






Москва - 2009

УДК 517

С 95
Смирнов В.Ю., Смирнова О.В. Информационная безопасность персональных компьютеров: Учебное пособие по курсу «Методы и средства защиты компьютерной информации». – М.: МИИТ, 2009. – 124 с.


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

Настоящее учебное пособие предназначено для студентов специальности САПР, изучающих дисциплину «Методы и средства защиты компьютерной информации».

Рецензенты: зав. кафедрой «Подземные сооружения» Московского государственного университета путей сообщения (МИИТ), д.т.н., профессор Е.Н. Курбацкий

доцент Московского автомобильно-дорожного института (государственного технического университета), кандидат технических наук В.И. Иванов-Дятлов

© Московский государственный университет

путей сообщения (МИИТ), 2009



Содержание

1. Аутентификация пользователей 6

1.1 Аутентификация с использованием паролей 6

1.1.1 Реализации алгоритма регистрации 6

1.1.2 Защита паролей в системе UNIX 7

1.1.3 Совершенствование безопасности паролей 8

1.1.4 Одноразовые пароли 8

1.1.5 Схема аутентификации «оклик-отзыв» 9

1.2 Аутентификация с использованием физического объекта 10

1.3 Аутентификация с использованием биометрических данных 12

1.4 Контрмеры 14



2. Атаки изнутри системы 15

2.1 Троянские кони 15

2.2 Фальшивая программа регистрации 17

2.3 Логические бомбы 18

2.4 Потайные двери 18

2.5 Переполнение буфера 19

2.6 ТЕСТОВОЕ ПРОНИКНОВЕНИЕ 21

2.6.1 Поиск по открытым источникам 22

2.6.2 Маскарад 22

2.6.3 Превышение прав доступа 23

2.6.4 Хакерство штатного сотрудника 23

2.6.5 Внутренняя координация действий внешних


сообщников 24

2.7 ПРОВЕРКА НАДЕЖНОСТИ системы безопасности 24

2.8 Печально знаменитые дефекты системы безопасности 25

2.8.1 Знаменитые дефекты системы безопасности UNIX 25

2.8.2 Знаменитые дефекты системы безопасности TENEX 26

2.8.3 Знаменитые дефекты системы безопасности OS/360 26

2.8.4 Дефекты системы безопасности Linux 27

2.8.5 Дефекты системы безопасности Windows 27

2.9 Принципы проектирования систем безопасности 27

3. Атаки системы снаружи 29

3.1 вирусы 29

3.1.1 Понятие вируса 29

3.1.2 Сценарии нанесения ущерба вирусами 31

3.1.3 Вирусы-компаньоны 32

3.1.4 Вирусы, заражающие исполняемые файлы 33

3.1.5 Резидентные вирусы 35

3.1.6 Загрузочные вирусы 36

3.1.7 Вирусы драйверов устройств 37

3.1.8 Макровирусы 37

3.1.9 Вирусы, заражающие исходные тексты программ 38

3.1.10 Как распространяются вирусы 39

3.2 Антивирусные программы и анти-антивирусные технологии 41

3.2.1 Где прячутся вирусы 41

3.2.2 Сканеры вирусов 41

3.2.3 Проверка целостности 45

3.2.4 Проверка поведения 45

3.2.5 Предохранение от вирусов 46

3.2.6 Восстановление после вирусной атаки 47

3.3 Интернет-черви 47



4. ШИФРОВАНИЕ ИНФОРМАЦИИ 49

4.1 Криптография 49

4.1.1 Основные понятия криптографии 49

4.1.2 Шифр Цезаря 50

4.1.3 Шифрование простой подстановкой 51

4.1.4 Частотный анализ текста 52

4.1.5 Шифр Виженера 53

4.1.6 Немецкая шифровальная машина «ЭНИГМА» 55

4.1.7 Необратимые функции 57

4.1.8 Современная криптография 57

4.1.9 Схема DES. Кодирование с секретным ключом 57

4.1.10 Кодирование с открытым ключом 59

4.1.11 Схема шифрования с открытым ключом RSA 60

4.1.12 Электронные подписи 63

4.2 Стеганография 64

Список литературы 66



1. Аутентификация пользователей


Аутентификация пользователя – установление личности пользователя при регистрации в системе.

Большинство методов аутентификации пользователей основаны на распознавании:



  1. чего-то известного пользователю;

  2. чего-то имеющегося у пользователя;

  3. чего-то, чем является пользователь.

На этих трех принципах построены три различные схемы аутентификации, обладающие различными сложностями и характеристиками безопасности.

Злоумышленнику, чтобы причинить ущерб какой-либо системе, необходимо сначала зарегистрироваться в ней. Это означает, что он должен преодолеть используемую в данной системе процедуру аутентификации.



1.1 Аутентификация с использованием паролей

1.1.1 Реализации алгоритма регистрации


В наиболее распространённой форме аутентификации от пользователя требуется ввести имя и пароль. Защита пароля легко реализуется. Самый простой способ реализации паролей заключается в поддержании централизованного списка пар (имя регистрации, пароль). Вводимое имя отыскивается в списке, а введенный пользователем пароль сравнивается с хранящимся в списке. Если пароли совпадают, регистрация в системе разрешается, если нет – в регистрации пользователю отказывается.

Как правило, при вводе пароля компьютер не должен отображать вводимые символы, чтобы находящиеся рядом посторонние люди не смогли узнать пароль. В операционной системе Windows при вводе каждого символа отображается звездочка. В системе UNIX при этом вообще ничего не отображается. Эти схемы обладают различными свойствами. Схема, применяемая в Windows, помогает забывчивым пользователям, позволяя им видеть, сколько символов они уже набили. Однако это же свойство помогает злоумышленникам, сообщая им длину пароля. С точки зрения безопасности молчание является золотом.

Другой пример из области вопроса о правильности реализации алгоритма регистрации показан на рисунке 1. На рисунке 1,а показана успешная регистрация. Символы, вводимые пользователем, показаны как строчные, а символы, выводимые системой, – как прописные.

На рисунке 1,б и 1,в показаны неудачные попытки взломщика войти в систему.


LOGIN: slava LOGIN: masha LOGIN: masha

PASSWORD: FooBar INVALID LOGIN NAME PASSWORD: Idunno

SUCCESSFUL LOGIN LOGIN: INVALID LOGIN

LOGIN:
а б в


Рисунок 1. Успешный вход в систему (а); в регистрации отказано после ввода имени (б); в регистрации отказано после ввода
имени и пароля (в)
В схеме на рисунке 1,б система отказывает в регистрации сразу, как только видит неверное имя. Такое поведение алгоритма является ошибкой, так как облегчает взломщику задачу. В этом случае он может подобрать сначала имя, не зная пароля для него.

В схеме на рисунке 1,в у взломщика каждый раз спрашивается и имя, и пароль, и он не знает, почему ему было отказано в регистрации, то есть было ли неверно введено имя или пароль. Ему известно только, что данная комбинация – имя плюс пароль – неверна.


1.1.2 Защита паролей в системе UNIX


В старых операционных системах файл паролей хранился на диске в незашифрованном виде, но защищался стандартными системными механизмами защиты.

Лучшее решение выглядит следующим образом. Программа регистрации просит пользователя ввести свое имя и пароль. Пароль немедленно используется в качестве ключа для шифрации определенного блока данных. То есть выполняется необратимая функция, на вход которой подается пароль. Затем программа регистрации считывает файл паролей, представляющий собой последовательность ASCII-строк, по одной на пользователя, и находит в нем строку, содержащую имя пользователя. Если зашифрованный пароль, содержащийся в этой строке, совпадает с только что вычисленным зашифрованным паролем, регистрация разрешается, в противном случае в регистрации пользователю отказывается. Преимущество этой схемы состоит в том, что никто, даже суперпользователь, не может просмотреть пароли пользователей, поскольку нигде в системе они не хранятся в отрытом виде.

Однако такая схема также может быть атакована следующим образом. Взломщик сначала создает словарь, состоящий из вероятных паролей, затем они зашифровываются с помощью известного алгоритма. Затем, вооружившись списком пар (пароль, зашифрованный пароль), считывает (доступный для всех) файл паролей и сравнивает хранящиеся в нем зашифрованные пароли с содержимым своего списка. Каждое совпадение означает, что взломщику стали известны имя регистрации и соответствующий ему пароль. Этот процесс может быть автоматизирован простым сценарием оболочки. При запуске такого сценария, как правило, можно определить сразу несколько десятков паролей.

Осознав возможность такой атаки, Моррис и Томпсон разработали метод, делающий данный способ взлома практически бесполезным. Их идея заключается в том, что с каждым паролем связывается псевдослучайное число, состоящее из n битов, названное ими «солью». При каждой смене пароля это число также меняется. Это случайное число хранится в файле в незашифрованном виде, так что все могут его читать. В файле паролей хранится не зашифрованный пароль, а зашифрованная вместе пара пароля и случайного числа. Фрагмент файла паролей показан в таблице 1. Для каждого из пяти пользователей в файле отведена одна строка с полями, разделенными запятыми: имя регистрации, «соль», зашифрованная пара пароль + соль. Нотация e(Dog4238) означает конкатенацию пароля пользователя Bobbie Dog со случайным числом 4238, результат которой был зашифрован функцией е.


Таблица 1

Применение случайного числа для защиты от попытки взлома с
помощью заранее сосчитанных зашифрованных паролей


Yura, 4238, e(Dogy@Bobi4238)

Kirreal, 2918, e(6%%TaeFF2918)

Lena, 6902, e(Shake^speare&6902)

Masha, 1694, e(XaB$Buaz1694)

Dima, 1092, e(Lorda,Byrony1092)
Теперь, если взломщик предполагает, что Dog может быть паролем, ему уже недостаточно зашифровать Dog и поместить результат в файл f. Теперь ему придется зашифровать уже 10n строк, таких как Dogy@Bobi0000, Dogy@Bobi0001, Dogy@Bobi0002 и т. д. до Dogy@Bobi9999, затем поместить все эти варианты в файл f. В системе UNIX данный метод применяется с n=12, поэтому размер файла f увеличивается в 1012 раз.

Для повышения надежности в современных версиях системы UNIX доступ чтения к самому файлу паролей напрямую запрещен, а для регистрации предоставляется специальная программа, просматривающая содержимое этого файла по запросу и устанавливающая задержку между запросами, чтобы существенно снизить скорость подбора паролей при любом методе. Такая комбинация добавления «соли» к паролям, запрета непосредственного чтения файла паролей и замедления доступа к файлу через специальную процедуру может противостоять многим вариантам методов взлома системы.


1.1.3 Совершенствование безопасности паролей


Добавление случайных чисел к файлу паролей защищает систему от взломщиков, пытающихся заранее составить большой список зашифрованных паролей. Однако данный метод бессилен помочь в том случае, когда пароль легко отгадать. На некоторых системах устанавливается программа, формирующая случайные, легко произносимые бессмысленные слова, такие как fotally, garbungy или bipitty, которые могут использоваться в качестве паролей (с использованием прописных символов и специальных символов, добавленных внутрь). Программа, вызываемая пользователем для установки или смены пароля, может также выдать предупреждение при выборе слабого пароля.

Среди требований программы к паролю могут быть, например, следующие:



  1. Пароль должен содержать как минимум семь символов.

  2. Пароль должен содержать как строчные, так и прописные символы.

  3. Пароль должен содержать как минимум одну цифру или специальный символ.

  4. Пароль не должен представлять собой слово, содержащееся в словаре, имя собственное и т. д.

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

1.1.4 Одноразовые пароли


Предельный вариант частой смены паролей представляет собой использование одноразовых паролей. При использовании одноразовых паролей пользователь получает блокнот, содержащий список паролей. Для каждого входа в систему используется следующий пароль в списке. Если взломщику и удастся узнать уже использованный пароль, он ему не пригодится, так как каждый раз используется новый пароль. Предполагается, что пользователь постарается не терять блокнот с паролями.

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



Алгоритм основан на необратимой функции, то есть функции у=f(х), обладающей тем свойством, что по заданному х легко найти y, но по заданному у подобрать х невозможно по вычислениям. Вход и выход должны иметь одинаковую длину, например 128 битов.

Пользователь выбирает секретный пароль, который он запоминает. Затем он также выбирает целое число n, означающее количество одноразовых паролей, формируемое алгоритмом. Для примера рассмотрим n = 4, хотя на практике используются значения намного больше. Пусть секретный пароль равен s. Тогда первый пароль получается в результате выполнения необратимой функции f(х) n раз (то есть четыре раза):





Второй пароль получается, если применить необратимую функцию f(х) (n-1) раз (то есть три раза):

Для получения третьего пароля нужно выполнить функцию f(х) два раза:



А для четвертого – один раз: .

Таким образом, .

Основной момент, на который следует обратить здесь внимание, заключается в том, что при использовании данного метода легко вычислить предыдущий пароль, но почти невозможно определить следующий. Например, по данному Р2 легко найти Р1 но невозможно определить Р3.

Сервер инициализируется числом Р0, представляющим собой просто f(Р1).

Это значение хранится в файле паролей, вместе с именем пользователя и целым числом 1, указывающим, что следующий пароль равен f(Р1).

Когда пользователь пытается зарегистрироваться на сервере в первый раз, он посылает на сервер свое регистрационное имя, в ответ на которое сервер высылает целое число 1, хранящееся в файле паролей. Машина пользователя отвечает числом Р1 вычисляемым локально из s, вводимого пользователем. Затем сервер вычисляет f(Pi) и сравнивает результат с хранящимся в файле паролей значением Р0. Если эти значения совпадают, регистрация разрешается, целое число увеличивается на единицу, а Р1 записывается в файл поверх Р0.

При следующем входе в систему сервер посылает пользователю число 2, а машина пользователя вычисляет Р2. Затем сервер вычисляет f(Р2) и сравнивает его с хранящимся в файле значением. Если эти значения совпадают, регистрация разрешается, целое число увеличивается на единицу, а Р2 записывается в файл паролей поверх Р1.

И если злоумышленнику удастся узнать Рi у него нет способа получить из него Рi+1, а только Рi-1, то есть уже использованное и теперь бесполезное значение.

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



1.1.5 Схема аутентификации «оклик-отзыв»


Еще один вариант идеи паролей заключается в том, что для каждого нового пользователя создается длинный список вопросов и ответов, который хранится на сервере в надежном виде (например, в зашифрованном виде). Вопросы должны выбираться так, чтобы пользователю не нужно было их записывать. Примеры возможных вопросов:

  1. Как зовут сестру Наташи?

  2. На какой улице была ваша начальная школа?

  3. Что преподавала Елена Владимировна?

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

Другой вариант называется «оклик-отзыв». Он работает следующим образом.

Пользователь выбирает алгоритм, идентифицирующий его как пользователя, например х2. Когда пользователь входит в систему, сервер посылает ему некое случайное число, например 7. В ответ пользователь посылает серверу 49. Алгоритм может отличаться утром и вечером, в различные дни недели и т. д.

Если терминал пользователя обладает достаточной вычислительной мощностью, то возможно использование более мощной формы схемы «оклик-отзыв».

Пользователь заранее выбирает секретный ключ k, который вручную заносится на сервер. Копия этого ключа (в зашифрованном виде) хранится на компьютере пользователя. При регистрации сервер посылает пользователю случайное число r. Компьютер пользователя вычисляет и отсылает обратно значение f(r, k), где f – функция, не являющаяся секретной. Сервер, в свою очередь, производит те же вычисления и сравнивает полученный результат с присланным пользователем значением.

Преимущество такой схемы перед обычным паролем заключается в том, что даже если злоумышленник запишет весь трафик в обоих направлениях, он не сможет получить информацию, которая поможет ему в следующий раз. Конечно, функция f должна быть достаточно сложной, чтобы даже при большом количестве наблюдений злоумышленник не смог вычислить значение k.

скачать файл


следующая страница >>
Смотрите также:
Путей сообщения
1254.64kb.
Самарская государственная академия путей сообщения
665.73kb.
Речь Трумэна на заседании Конгресса 12 марта 1947г
61.08kb.
Это руководство кратко описывает, как правильно готовить и отправлять сообщения с судовых терминалов Inmarsat-c на адреса электронной почты Internet
34.47kb.
Печатные формы эталонных образцов электронных сообщений, используемых при формировании тэдик категории I и II печатная форма эталонного образца электронного сообщения, используемого для формирования тэд с идентификационным кодом 1134
1028.56kb.
Содержани е информационные сообщения кредитные организации
1985.5kb.
Доклады и сообщения на учредительной конференции Международной ассоциации содействия правосудию. Санкт-Петербург, 5-6 октября 2005 г
80.35kb.
Журнала «кибернетика» за 1974 г. №1
121.23kb.
Одним из основных путей решения этого вопроса является разработка комплексной государственной целевой программы развития биоэнергетики
54.22kb.
Фундаментальная физика и философия Моисеев Б. М., 2010
122.68kb.
Краткое описание
45.5kb.
В федеральную службу по надзору в сфере образования и науки поступают сообщения о случаях суицида среди детей и подростков
15.34kb.