Файл: Курс лекций по дисциплине Операционные системы 2 Содержание.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 28.03.2024
Просмотров: 80
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
1. Форс-мажор: пожары, наводнения, землетрясения, войны, крысы, изгрызшие ленты и гибкие диски.
2. Аппаратные и программные ошибки: сбои центрального процессора, нечитаемые диски или ленты, ошибки при передаче данных, ошибки в программах.
3. Человеческий фактор: неправильный ввод данных, неверные установленные диски, запуск не той программы, потерянные диск и т.д.
69
2. Аутентификация пользователей
Когда пользователь регистрируется на компьютере, ОС, как правило, желает определить, кем является данный пользователь, и запускает процесс, называемый аутентификацией пользователя.
Большинство методов аутентификации пользователей основаны на распознавании:
1. чего-то, известного пользователю;
2. чего-то, имеющегося у пользователя;
3. чего-то, чем является пользователь.
Аутентификация с использованием паролей. В наиболее широко применяемой форме аутентификации от пользователя требуется ввести имя и пароль. Защита пароля легко реализуется. Защита пароля легко реализуется. Самый простой способ реализации паролей заключается в поддержании централизованного списка пар (имя регистрации, пароль). Вводимое имя отыскивается в списке, а введенный пользователем пароль сравнивается с хранящимся в списке. Если пародии совпадают, регистрация в системе разрешается, если нет - в регистрации пользователю отказывается.
Одноразовые пароли – предельный вариант частой смены паролей. При использовании одноразовых паролей пользователь получает блокнот, содержащий список паролей. Для каждого входа в систему используется следующий пароль в списке. Если взломщику и удастся узнать уже использованный пароль, он ему не пригодится, т.к. каждый раз используется новый пароль.
Схема аутентификации «оклик-отзыв» Для каждого нового пользователя создается длинный список вопросов и ответов, который хранится на сервере в надежном виде. Вопросы должны выбираться так, чтобы пользователю не нужно было бы записывать. При регистрации сервер задает один их этих вопросов, выбирая его из списка случайным образом, и проверяет ответ. Другой вариант называется «оклик-отзыв»: пользователь выбирает алгоритм, идентифицирующий его как пользователя, например х
2
Аутентификация с использованием физического объекта. Сегодня этим физическим объектом часто является пластиковая карта, вставляемая в специальное устройство чтения, подключенное к терминалу или компьютеру. Как правило, пользователь должен не только вставить карту, но также ввести пароль, чтобы предотвратить использование потерянной или украденной карты. Существует две разновидности пластиковых карт, хранящих информацию: магнитные карты и карты с процессором. Магнитные карты содержат около 140 байт информации, записанной на магнитной ленте, приклеенной к пластику. Применять магнитные карты для идентификации рискованно, так как устройства чтения и записи этих карт дешевы и широко распространены.
Карты, содержащие в себе микросхемы, в свою очередь, подразделяются на две категории: карты, хранящие информацию, и смарт-карты (smart card – «умная» карта).
Карта, хранящая информацию, содержит небольшое количество памяти, использующей технология EEPROM (Electrically Erasable Programmable Read-Only Memory – электрически стираемое программируемое ПЗУ). На такой карте нет ЦП, поэтому сохраняемое значение должно изменяться внешним ЦП (в считывающем устройстве).
Смарт-карты на данный момент обладают, как правило, 8-разрядным ЦП, работающим с тактовой частотой 4 МГц, 16 Кбайт ПЗУ, 4 Кбайт EEPROM, 512 байт временной ОП и каналом связи со скоростью 9600 бит/с для обмена данными с устройством чтения.
Аутентификация с использованием биометрических данных основана на измерении физических характеристик пользователя, которые трудно подделать. Они называются биометрическими параметрами. Например, для идентификации пользователя может использоваться специальное устройство считывания отпечатков пальцев или тембра голоса.
70
3. Атаки изнутри системы
Рассмотрим разновидности атак со стороны уже зарегистрировавшегося в системе пользователя, либо взломщика, либо законного пользователя со злым умыслом против кого-либо.
Троянские кони представляют собой невинную с виду программу, содержащую процедуру, выполняющую неожиданные и нежелательные функции. Этими функциями могут быть удаление или шифрование файлов пользователя, копирование их туда, где впоследствии их пожжет получить взломщик, или даже отсылка их взломщику или во временное укромное место по электронной почте. Чтобы троянский конь заработал, нужно, чтобы программа, содержащая его, была запущена.
Фальшивая программа регистрации программа имитирует реальное окно регистрации, получает данные логина и пароля и закрывается.
Логические бомбы представляют собой программы, написанные одним из сотрудников компании и тайно установленную в ОС. До тех пор пока программист каждый день входит в систему под своим именем и паролем, эта программа не предпринимает никаких действий. Однако если программиста внезапно увольняют и физически удаляют из помещения без предупреждения, то на следующий день логическая бомба, не получив своего ежедневного пароля, начинает действовать. Существует множество вариаций на эту тему. Взрыв логической бомбы может заключаться в форматировании жесткого диска, удалении файлов в случайном порядке, осуществлении сложно обнаруживаемых изменений в ключевых программах или ифрование важных файлов.
Потайные двери. Для этого в систему системным программистом внедряется специальная программа, позволяющая обойти нормальную процедуру проверки.
Например, программист может добавить к программе регистрации кусок программы, пропускающей в систему пользователя с именем «ZZZZZ», независимо от того, что содержится в файле паролей. Если пользователь ввел при регистрации это имя, то пароль уже не важен. Потайная дверь просто обходит весь процесс аутентификации. Чтобы не допустить установки потайных дверей в систему, компании могут, например, ввести регулярные просмотры программ.
Т.о., разработка хорошо защищенной ОС представляет собой нетривиальную задачу.
4. Атаки системы снаружи
С распространением Интернета и локальных сетей, все большую угрозу для компьютеров представляют атаки снаружи. Компьютер, подключенный к сети, может быть атакован по этой сети с удаленного компьютера. Почти во всех случаях такая атака состоит из передачи по сети на атакуемую машину некоторой программы, при выполнении которой атакуемой машине наносится ущерб.
Вирус – это программа, которая может размножаться, присоединяя свой код к другой программе, что напоминает размножение биологических вирусов.
Поскольку вирус – это программа, он может делать то, что может программа.
Например, он может выводить на экран сообщение или изображение, воспроизводить звуки или выполнять другие безвредные действия. К сожалению, он также может удалять, модифицировать, уничтожать или воровать файлы. Кроме того, вирус может сделать невозможным использование компьютера во время своей работы. Такая атака называется
атакой отказа в обслуживании. Обычно для этого вирус поедает ресурсы компьютера, например процессорное время, заполняет жесткий диск всяким мусором.
Вирусы-компаньоны не заражаю программу, а запускаются вместо какой-либо программы.
Вирусы, заражающие исполняемые файлы они просто записывают себя поверх исполняемой программы.
71
Резидентные вирусы, будучи загруженными в память, остаются там навсегда, либо прячась на самом верху памяти, либо прижимаясь «к земле» среди векторов прерываний, в которых последние несколько байт, как правило, не используется.
Типичный резидентный вирус перехватывает один из векторов прерываний, сохраняя старое значение в своей переменной, и подменяет его адресом своей процедуры. Это может быть прерывание от внешнего устройства ввода-вывода или эмулированное прерывание. Выполнив свои дела, вирус передает управление настоящему системному вызову.
Вирусы, поражающие загрузочный сектор. Вирус перезаписывает главную загрузочную запись или загрузочный сектор. Вирус, поражающий загрузочный сектор, сначала копирует исходное содержимое загрузочного сектора в какое-либо безопасное место на диске, что позволяет ему загружать ОС после того, как он закончит свои дела.
Программа форматирования Microsoft fdisk пропускает первую дорожку диска, поэтому эта дорожка на машинах ОС Windows представляет собой хорошее укрытие. При загрузке компьютера вирус копирует себя в ОП, либо в старшие адреса, либо в неиспользуемую область векторов прерываний. В этот момент машина находится в режиме ядра, еѐ блок управления памятью выключен, ОС нет, также нет и антивирусной программы. Самый удобный момент для вирусов. Когда все готово, вирус загружает ОС, как правило, оставаясь резидентным в памяти. Однако проблема таких вирусов связана с тем, как затем снова получить управление. Обычный способ заключается в использовании специфических сведений о том, как ОС управляет вектором прерываний. Например, система Windows не перезаписывает весь вектор за одну операцию. Вместо этого она загружает драйверы устройств один за другим, и каждый из них забирает при необходимости вектор прерывания. Этот процесс может занимать около минуты. Такая схема дает вирусу возможность сохранить за собой управление. Он начинает с того, что перехватывает сразу все векторы прерываний. По мере загрузки драйверов некоторые векторы перезаписываются.
Вирусы драйверов устройств. В системе Windows драйверы устройств представляют собой просто исполняемые файлы на диске, загружаемые вместе с ОС. Если один из них может быть заражен паразитическим вирусом, этот вирус всегда будет официально загружаться при загрузке системы.
Макровирусы. Многие программы, такие как Word и Excel, позволяют пользователям писать макросы, чтобы группировать некоторые команды, которые позднее можно будет выполнить одним нажатием клавиши. В Microsoft Office макросы для каждого документа хранятся вместе с самим документом (в том же файле). Автор вируса создает в редакторе Word документ, а также создает макрос, который присоединяет к функции OPEN FILE (открыть файл). В этом макросе содержится макровирус. Затем он посылает этот файл по электронной почте своей жертве, открывает файл. Открытие документа вызывает исполнение макроса OPEN FILE. Поскольку макрос может содержать произвольную программу, он может выполнять любые действия, например заражать другие документы Word, удалять файлы и т.д.
Вирусы, заражающие исходные тексты программ. Самыми переносимыми вирусами являются вирусы, заражающие исходные тексты программ.
Антивирусные программы и анти-антивирусная технология
Чтобы вируса не было видно в каталоге, вирусы, хранящие свои данные в отдельном файле должны либо устанавливать у файла бит hidden (скрытый) в Windows, либо имя файла должно начинаться с символа точки в системе UNIX. Более сложный подход состоит в модификации проводника Windows или программы ls в UNIX, чтобы они не отображали файлы, начинающиеся с определенной последовательности символов.
Вирусы также могут прятаться в необычных и неожиданных местах, таких как дефектные
72 секторы и списки дефектных секторов, а также реестре Windows. Флэш-ПЗУ и энергонезависимая память CMOS тоже могут использоваться.
Сканеры вирусов. После установки на компьютере заказчика антивирусная программа сканирует все исполняемые файлы на диске, сравнивая их содержимое с хранящимися в еѐ базе данных штаммами известных вирусов. У большинства компаний, занимающихся разработкой антивирусных программ, есть свои web-сайты, с которых клиенты данных компаний могут скачать описания недавно обнаруженных вирусов в свои базы данных. Т.к. неизвестные мутации уже известных вирусов появляются постоянно, антивирусная программа должна уметь распознавать вирус, не изменение в трех байтах.
Однако такой способ поиска не только медленнее точного поиска, но он может привести к ложным тревогам, то есть антивирусная программа будет вызывать предупреждение о незараженных файлах, которые содержат кусок кода, смутно напоминающий вирус.
Найти золотую середину непросто. В идеальном случае лаборатория должна найти в вирусе неизменное ядро и использовать его для идентификации вируса.
Метод избегания обнаружения заключается в попытке сделать так, чтобы внешний вид вируса отличался от его представления в базе данных. Один из способов достижения этой цели заключается в том, что вирус, заражая файл, зашифровывает сам себя в этом файле, причем каждый раз используется новый ключ. Эта схема все еще несовершенна, так как во всех копиях вируса будут храниться одинаковые процедуры компрессии, декомпрессии, шифрации и дешифрации, так что антивирусная программа может искать вирус по этим процедурам. Скрыть эти процедуры несложно: их модно зашифровать вместе с телом самого вируса. Однако процедура дешифрации не может быть зашифрована. Она должна быть в готовом к употреблению виде, чтобы расшифровать все остальные части вируса. Антивирусные программы это знают, и поэтому они охотятся за процедурой дешифрации.
Антивирусный сканер должен проверить главную загрузочную запись, загрузочные секторы, список дефектных блоков, флэш-ПЗУ, CMOS-память и т.д.
Чтобы не быть обманутой вирусом, антивирусная программа могла бы быть напрямую обращаться к диску, минуя системные вызовы ОС. Однако для этого потребуется наличие в антивирусной программе встроенных драйверов для IDE, SCSI и других дисков, что снизит переносимость антивирусной программы с машины на машину.
Принципиально другой метод обнаружения вирусов заключается в проверке
целостности. Антивирусная программа, работающая подобным образом, сначала сканирует жесткий диск в поисках вирусов. Убедившись, что диск чист, она считает контрольную сумму для каждого исполняемого файла и сохранит список контрольных сумм для каждого исполняемого файла и сохранит список контрольных сумм для всех исполняемых файлов каталога в том же каталоге в файле checksum. При следующем запуске она пересчитывает все контрольные суммы и проверяет их соответствие данным, хранящимся в файле checksum. Зараженный файл будет тут же обнаружен по несовпадению контрольной суммы. Проблема данного подхода состоит в том, что авторы вирусов не собираются сидеть сложа руки. Они могут написать вирус, удаляющий файл с контрольными суммами. Что еще хуже, можно написать вирус, считающий такую контрольную сумму заново и заменяющий старое значение в файле checksum новым.
Лучший подход заключается в шифровании файла контрольных сумм.
Другая стратегия, используемая антивирусным ПО, состоит в проверке поведения программ. При этом антивирусная программа резидентно находится в памяти во время работы компьютера и сама перехватывает все системные вызовы. Идея такого подхода состоит в том, что таким образом антивирусная программа может отслеживать всю активность системы и перехватывать все, что кажется ей подозрительным. Например, ни одна нормальная программа не должна пытаться перезаписывать загрузочный сектор, поэтому такие попытки почти наверняка свидетельствуют о деятельности вируса.
Изменения ПЗУ также являются крайне подозрительными.
73
Лучше предохраняться, чем потом сожалеть. Постараться избежать заражения вирусом значительно проще, чем пытаться затем отыскать его на зараженном компьютере.
Ниже приводится несколько советов, полезных для индивидуальных пользователей, а также обсуждаются действия, которые вся индустрия в целом может предпринять, чтобы значительно снизить остроту данной проблемы.
1. Выбрать ОС, предоставляющую определенный уровень защиты, со строгим разграничением режимов работы ядра и пользователя, а также раздельными паролями регистрации для каждого пользователя и системного администратора.
2. Устанавливайте только архивированное ПО, приобретенное у надежного производителя.
3. Приобретите хорошее антивирусное ПО и используйте его так, как написано в инструкции.
4. Не щелкайте мышью на присоединенных к электронным письмам файлах.
5. Архивируйте почаще ключевые файлы на внешних носителях.
Восстановление после вирусной атаки. При обнаружении вируса компьютер следует немедленно остановить, т.к. резидентный вирус может все еще работать.
Компьютер следует перезагрузить с CD-ROM. На этом диске должна содержаться полная
ОС, чтобы не использовать при загрузке жесткий диск с его загрузочным сектором, копией ОС и драйверами, которые могут быть инфицированы. Затем с оригинального CD-
ROM следует запустить антивирусную программу, так как версия программы, хранящаяся на жестком диске, также может быть заражена.
74
Лекция 12-13
1 2 3 4 5 6 7 8 9 10