Спонсор: Microsoft
Опубликован: 13.11.2010 | Уровень: для всех | Доступ: платный | ВУЗ: Санкт-Петербургский государственный университет
Лекция 24:

Безопасность операционных систем и сетей. Trustworthy Computing

< Лекция 23 || Лекция 24: 1234 || Лекция 25 >

Ключевые термины

Data Encryption Standard (DES) – технология криптования, основанная на подстановке символов и изменении их порядка на основе ключа, предоставляемого авторизованным пользователям через защищенный механизм.

DREAD (Damage, Reproducibility, Exploitability, Affected users, Discoverability) – формула корпорации Microsoft для определения последствий атак.

Elevation of privilege – попытка расширить полномочия (например, до полномочий системного администратора) c целью злонамеренных действий.

Pharming – перенаправление пользователя на злонамеренный Web-сайт (обычно с целью phishing ).

Phishing – попытка украсть конфиденциальную информацию пользователя путем ее обманного получения от самого пользователя (например, с помощью тревожного электронного письма).

SDLC (Security Development Life Cycle) – схема жизненного цикла разработки безопасных программ, предложенная и применяемая фирмой Microsoft.

SD3C (Secure in Design, by Default, in Deployment, and Communication) – формула требований к безопасности программного продукта фирмы Microsoft.

Spoofing – " подделка" под определенного пользователя, злонамеренное применение его логина, пароля и полномочий.

SSL (Secure Socket Layer) - семейство криптографических протоколов, предназначенное для обмена криптованными сообщениями через сокет.

STRIDE (Spoofing, Tampering with data, Repudiation, Denial of service, Elevation of privilege) – формула компании Microsoft для определения видов атак.

Tampering with data – атака путем искажения или порчи данных.

Tripwire - системные программы (для UNIX), проверяющие, не изменялись ли некоторые файлы и директории, например, файлы, содержащие пароли.

Trustworthy Computing (TWC) Initiative – инициатива корпорации Microsoft (2002), направленная на улучшение безопасности разрабатываемого кода.

Аутентификация (authentication) – идентификация пользователей при входе в систему.

Безопасность (security) – защита от внешних атак.

Брандмауэр (firewall) – системное программное обеспечение для защиты локальной сети от внешних атак, как бы образующее стену между "доверенными" и "не доверенными" компьютерами.

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

Вход в ловушку (Trap Door) атака путем использования логина или пароля, который позволяет избежать проверок, связанных с безопасностью.

Журнал аудита (audit log) системный журнал подсистемы безопасности, в который записывается время, пользователь и тип каждой попытки доступа к системным объектам и структурам.

Закрытый ключ (private key) – ключ, известный только пользователю и применяемый им для декриптования данных.

Ключ криптования ( encryption key ) секретный параметр алгоритма криптования, от которого зависит результат его работы.

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

Криптография – преобразование понятного текста в зашифрованный текст с целью защиты информации.

Логин (login, loginname) – зарегистрированное имя пользователя для входа в систему.

Отказ в обслуживании (Denial of Service – DoS) атака на сервер путем создания его искусственной перегрузки с целью препятствовать его нормальной работе.

Открытый ключ ( public key) – ключ, известный всем пользователям, и используемый для криптования данных.

Пароль (password) – секретное кодовое слово, ассоциируемое и вводимое в секретном режиме вместе с логином.

Переполнение буфера (Buffer Overrun) атака путем использования ошибки в программе (переполнения буфера в памяти) для обращения к памяти другого пользователя или процесса с целью нарушения ее целостности.

Троянская программа (Trojan Horse) – атакующая программа, которая "подделывается" под некоторую полезную программу, но при своем запуске злонамеренно использует свое окружение, например, получает и использует конфиденциальную информацию.

Червь (Worm) – злонамеренная программа, использующая механизмы самовоспроизведения (размножения) и распространяющаяся через сеть.

Краткие итоги

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

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

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

Современные типы атак: phishing – выуживание конфиденциальной информации у пользователя; pharming – перенаправление пользователя на враждебные web-сайты; tampering with data – искажение или порча данных; spoofing – подделка под определенного пользователя с целью злоупотребления его полномочиями; elevation of privilege – попытка расширить полномочия до полномочий администратора системы со злонамеренными целями.

Инициатива Trustworthy Computing (TWC) фирмы Microsoft (2002) направлена на повышение безопасности кода и усиление внимания к вопросам безопасности. Основные принципы TWC: безопасность, надежность, сохранение конфиденциальности информации, корректность и оперативность бизнеса. Фирма Microsoft финансировала обучение основам TWC, разработала и внедрила новую схему SDLC жизненного цикла разработки безопасных программ. Суть SDLC заключается в том, что безопасности уделяется постоянное внимание на всех этапах жизненного цикла, выполняется анализ рисков, связанных с безопасностью, статические проверки и тестирование кода на безопасность, в разработке участвуют внешние эксперты по безопасности.

Формулы безопасности, предложенные фирмой Microsoft:

SD3C (secure in design, by default, in deployment + communication) – принципы разработки безопасного кода;

STRIDE (spoofing, tampering, repudiation, information disclosure, denial of service, elevation of privilege) – классификация атак;

DREAD (damage, reproducibility, exploitability, affected users, discoverability) – схема оценки ущерба от атак.

Рекомендуемые меры борьбы с атаками: проверка на подозрительные примеры активности; использование журналов аудита; периодическое сканирование системы на предмет дыр в безопасности; проверки на короткие пароли, на изменение системных файлов и директорий и т.д.

Брандмауэр – системное программное обеспечение, играющее роль стены между доверенными компьютерами локальной сети и всеми остальными.

Методы обнаружения попыток взлома компьютерных систем: аудит и ведение журнала; tripwire (системных программ автоматической проверки состояния системных файлов и директорий); слежение за последовательностью системных вызовов.

Криптография – преобразование понятного текста в зашифрованный с целью защиты информации. Схема криптования должна зависеть не от секретного алгоритма, а от его секретного параметра (ключа криптования). Наиболее часто используемые методы: асимметричное криптование на основе использования открытого и скрытого ключей; DES. Пример криптования – SSL, используемый в Web-технологиях для ввода конфиденциальной информации через Web-сайты.

Различаются четыре уровня безопасности компьютеров в США – D, C, B, A, от минимальной безопасности до использования формальных методов для обеспечения безопасности.

Безопасность в Windows NT основана на идентификаторах безопасности каждого пользователя и на дескрипторах безопасности обрабатываемых объектов.

Безопасность в .NET наиболее развита. Она включает безопасность доступа к коду, безопасность на основе свидетельств о двоичной сборке, безопасность на основе ролей, управлении безопасностью на основе атрибутов и вызовов системных методов.

Набор для практики

Вопросы

  1. Что такое безопасность?
  2. От каких действий должна защищать подсистема безопасности?
  3. Что такое аутентификация и каким методом она выполняется?
  4. Что такое троянская программа?
  5. Что такое вход в ловушку (trap door)?
  6. Как организована атака типа переполнения буфера?
  7. Что такое сетевой червь?
  8. Что такое компьютерный вирус?
  9. В чем суть атаки типа отказ в обслуживании?
  10. Что такое phishing?
  11. Что такое pharming?
  12. Что такое tampering with data?
  13. Что такое spoofing?
  14. Что такое elevation of privilege?
  15. В чем суть и каковы принципы Trustworthy Computing Initiative фирмы Microsoft?
  16. Каковы особенности схемы жизненного цикла SDLC?
  17. Что такое SD3C?
  18. Что такое STRIDE?
  19. Что такое DREAD?
  20. Каковы рекомендуемые методы борьбы с атаками?
  21. Что такое журнал аудита?
  22. Что такое брандмауэр?
  23. Каковы рекомендуемые методы обнаружения попыток взлома системы?
  24. Что такое криптография?
  25. В чем суть схемы криптования на основе открытого с скрытого ключей?
  26. В чем суть метода криптования DES?
  27. Что такое SSL и где используется эта технология криптования?
  28. Каковы уровни безопасности компьютеров в США?
  29. Как организована безопасность в Windows NT?
  30. Как организована безопасность в .NET?

Упражнения

  1. Реализуйте схему аутентификации пользователей с помощью логинов и паролей.
  2. Предложите метод защиты от атаки типа переполнение буфера.
  3. Реализуйте программу проверки неизменности системных файлов и директорий.
  4. Реализуйте программу проверки неизменности системных путей (path).
  5. Реализуйте метод криптования на основе открытого и скрытого ключей.
  6. Реализуйте алгоритм криптования DES.

Темы для курсовых работ, рефератов, эссе

  1. Методы организации безопасности в операционных системах (реферат).
  2. Современные методы криптографии (реферат).
  3. Trustworthy Computing Initiative (реферат).
  4. Реализация схемы аутентификации пользователей с помощью логинов и паролей (курсовая работа).
  5. Разработка и реализация метода защиты от атаки типа переполнение буфера (курсовая работа).
  6. Реализация программы проверки неизменности системных файлов и директорий (курсовая работа).
  7. Реализация программы проверки неизменности системных путей (path) (курсовая работа).
  8. Реализация метода криптования на основе открытого и скрытого ключей (курсовая работа).
< Лекция 23 || Лекция 24: 1234 || Лекция 25 >
Василий Четвертаков
Василий Четвертаков
Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!

Константин Леденев
Константин Леденев
Россия
Олег Равков
Олег Равков
Россия