Презентацию к данной лекции Вы можете скачать здесь.
Безопасность – одна из наиболее актуальных проблем в области ИТ в настоящее время, ввиду сильной зависимости повседневной деятельности и бизнеса от компьютерных технологий и ввиду резко возрастающего числа
Безопасность (security) – это защита от внешних атак. В настоящее время наблюдается значительный рост числа самых разнообразных атак хакеров, угрожающих целостности информации, работоспособности компьютерных систем и зависящих от них компаний, благосостоянию и личной безопасности людей. Для защиты от атак необходимы специальные меры безопасности, компьютерные технологии и инструменты.
В любой компьютерной системе должна быть реализована подсистема безопасности, которая должна проверять внешнее окружение системы и защищать ее от:
Практика показывает, что легче защитить от случайной, чем от злонамеренной порчи информации.
Одной из наиболее широко используемых мер безопасности является аутентификация (authentication) –
Основной принцип использования паролей в том, что они должны сохраняться в секрете. Поэтому одна из традиционных
Пароли также могут быть закриптованы или разрешены для доступа лишь один раз, после чего от пользователя требуется смена пароля.
Рассмотрим некоторые типичные виды угроз и атак, используемые хакерами.
Троянская программа (Trojan Horse) – атакующая программа, которая "подделывается" под некоторую полезную программу, но при своем запуске не по назначению (злонамеренно) использует свое окружение, например, получает и использует
Вход в ловушку (Trap Door) - использование логина или пароля, который позволяет избежать проверок, связанных с безопасностью.
Переполнение стека и буфера (Stack and Buffer Overflow) - использование ошибки в программе (переполнение стека или буферов в памяти) для обращения к памяти другого пользователя или процесса с целью нарушения ее целостности.
Рассмотрим также некоторые типичные атаки, использующие уязвимости (vulnerabilities) в
Черви (Worms) – злонамеренные программы, использующие механизмы самовоспроизведения (размножения). Например, один из Интернет-червей использует сетевые возможности UNIX (удаленный доступ) и ошибки в программах finger и sendmail. Принцип его действия следующий: некоторая постоянно используемая в сети системная программа распространяет главную программу
На рис 24.1 изображен принцип действия Интернет-
(рис 24.1) Интернет-червь Morris.
Вирусы – фрагменты кода, встраивающиеся в обычные программы с целью нарушения работоспособности этих программ и всей компьютерной системы. В основном вирусы действуют на микрокомпьютерные системы. Вирусы скачиваются с публично доступных сайтов или с дисков, содержащих "инфекцию". Для предотвращения заражения
Отказ в обслуживании (Denial of Service – DoS) – одна из распространенных разновидностей атак на сервер, заключающаяся в создании искусственной перегрузки сервера с целью препятствовать его нормальной работе. Например, для Web-сервера такая атака может заключаться в том, чтобы искусственно сгенерировать миллион запросов "GET". Если сервер реализован не вполне надежно, подобная атака чаще всего приводит к переполнению памяти на сервере и необходимости его перезапуска.
Рассмотрим некоторые типы современных
Phishing – попытка украсть
Pharming – перенаправление пользователя на злонамеренный Web-сайт (обычно с целью
Tampering with data – злонамеренное искажение или порча данных. Действенной мерой по борьбе с подобными атаками является криптование информации.
Spoofing – " подделка" под определенного пользователя (злонамеренное применение его логина, пароля и полномочий). Логин и пароль при этом либо получены от пользователя обманным путем (например, в результате
Elevation of privilege – попытка расширить полномочия (например, до полномочий системного администратора) c целью злонамеренных действий. Поэтому наиболее секретная информация в любой компьютерной системе – пароль системного администратора, который необходимо защищать особенно тщательно.
Инициатива под таким названием (инициатива надежных и безопасных вычислений) объявлена в 2002 г. в историческом электронном письме основоположника корпорации Microsoft Билла Гейтса всем сотрудникам компании. Основная суть инициативы TWC заключается в том, что безопасности необходимо уделять особое внимание при разработке программной системы, начиная с самых ранних этапов. Однако этим инициатива TWC не исчерпывается – смысл и цели ее гораздо шире и охватывают также экономические, юридические аспекты и "
Основные принципы инициативы TWC:
Безопасность (Security) – реализация и использование в любой программной системе действенных мер защиты от внешних атак; использование специальных методов разработки программ, направленных на достижение этой цели.
Сохранение конфиденциальности информации (Privacy) – использование программным обеспечением частной и корпоративной информации только с явного согласия пользователя и только для понятных ему законных целей; защита
Надежность (Reliability) –
Оперативность, законность и корректность бизнеса (Business Integrity) – оперативность работы группы сопровождения программного продукта и своевременные консультации пользователей по вопросам безопасности; корректность бизнеса компании – разработчика программного обеспечения.
Сама корпорация Microsoft с 2002 г. полностью реорганизовала бизнес-процессы
Microsoft своей инициативой TWC призвала все остальные компании и индивидуальных разработчиков следовать предложенным ею принципам, хотя изначально отношение к инициативе TWC в мире было достаточно осторожным и даже скептическим.
Microsoft финансировала работы по обеспечению TWC и обучение TWC в университетах.
Следует отметить, что обучение TWC в университетах в мире только начато. Наибольшее внимание этим вопросам в первую очередь уделяют университеты военного подчинения и назначения.
Одним из первых университетов, обучающих студентов ИТ-
Новая схема жизненного цикла для разработки безопасных программ, разработанная
и применяемая компанией Microsoft, носит название Security Development Life
Cycle (SDLC).Основная идея
(рис 24.2) Схема Security Development Life Cycle (SDLC).
На схеме приведены традиционные
Необходимо заранее анализировать и моделировать возможные угрозы и атаки на ПО и разрабатывать меры их отражения.
Необходимы инструменты количественной
Необходимы специальные виды тестирования ПО – security testing, fuzzy testing (fuzzing) – тестирование подсистемы безопасности и тестирование на граничные или близкие к граничным значения параметров, имитирующее действия хакеров по подбору и взлому IP-адресов и других компонент компьютерной системы.
Необходимы эксперты по безопасности ПО (security buddies),участвующие в разработке в течение всего цикла.
Компания Microsoft предложила ряд простых схем для оценки и разработки безопасного программного обеспечения , для оценки угроз и атак и оценки последствий атаки, которые мы и рассмотрим.
Схема (формула) SD3C определяет основные принципы разработки безопасного программного обеспечения:
По формуле STRIDE Microsoft предлагает классифицировать угрозы и атаки:
Spoofing – букв.: пародирование, розыгрыш – "подделка" под определенного пользователя; например, воспроизведение транзакции, выполняющей
Tampering – Несанкционированное изменение данных с
Repudiation – буквально означает категорическое несогласие, отрицание, отказ – отсутствие фиксации в системных журналах действий, которые могут привести к нарушению безопасности. В операционной системе драйвер может быть подвержен
Information disclosure – несанкционированный доступ к
Denial of service –
Elevation of privilege – Увеличение привилегий (несанкционированное присваивание прав системного администратора). Пример: запуск привилегированной программы для выполнения Ваших команд.
Еще одна формула – DREAD – рекомендуется для оценки внешних атак:
Damage – Ущерб, нанесенный атакой.
Reproducibility – Воспроизводимость атаки: как часто она происходит и может ли быть воспроизведена (смоделирована).
Exploitability – здесь: квалификация (уровень); опыт и квалификация (хакера), необходимые для атаки.
Affected users – Против каких пользователей направлена атака.
Discoverability – Может ли атака быть обнаружена.
Для борьбы с атаками могут быть предусмотрены следующие меры.
Проверка на подозрительные примеры активности – например, несколько подряд попыток ввести неверный пароль могут означать попытку его угадать.
Ведение журнала аудита (audit log) – в него записывается время, пользователь и тип каждой попытки доступа к объекту. Журнал используется для восстановления при нарушении защиты и для выработки более действенных мер безопасности.
Периодическое сканирование системы на предмет "дыр" в системе безопасности. Выполняется в моменты, когда компьютер практически не используется (пример - сканирование на вирусы).
Проверки на:
Брандмауэр (firewall) – системное программное обеспечение для защиты локальной сети от внешних атак.
Схема использования брандмауэра изображена на рис 24.3.
(рис 24.3) Схема использования брандмауэра для обеспечения сетевой безопасности.
Уверен, что все пользователи Windows среди читателей неоднократно обращали внимание на сообщение ОС о том, что попытка взлома Вашего компьютера была пресечена. Это – заслуга встроенного брандмауэра Windows.
Реализация брандмауэров, как правило, основана на фильтрации
Действенной мерой безопасности является обнаружение попыток входа в компьютерные системы. Методы обнаружения:
В таблица 1 приведен пример таблицы, используемой для
| системный вызов | расстояние = 1 | расстояние = 2 | расстояние = 3 |
|---|---|---|---|
open |
read getrlimit |
mmap |
mmap close |
read |
mmap |
mmap |
open |
mmap |
mmap open close |
open getrlimit |
getrlimit mmap |
getrlimit |
mmap |
close |
|
close |
Криптография – это преобразование понятного текста в зашифрованный текст. Методы криптографии широко используются для защиты
Свойства хороших методов криптования:
Технология Data Encryption Standard (DES) основана на подстановке символов и изменении их порядка на основе ключа, предоставляемого авторизованным пользователям через защищенный механизм. Такая схема лишь настолько безопасна, насколько безопасен сам механизм получения ключа.
Криптование на основе открытого ключа – другой широко распространенный метод криптографии - основано на принципе, при котором пользователю известны два ключа:
public key – открытый ключ для криптования данных.
private key – закрытый ключ,известный только пользователю и применяемый им для декриптования данных.
Метод
Примером криптования, используемым в Web-технологиях, является SSL (Secure Socket Layer) - семейство криптографических протоколов, предназначенное для обмена криптованными сообщениями через сокет. SSL используется для защищенного взаимодействия между Web-серверами и браузерами (например, ввода номеров кредитных карт). При обращении клиента к серверу последний проверяется с помощью сертификата. Взаимодействие между компьютерами использует криптографию на основе
Министерство обороны США классифицирует безопасность компьютеров по уровням: A, B, C, D.
Уровень безопасности D соответствует минимальному уровню безопасности.
На уровене безопасности C обеспечиваются периодические проверки компьютера с помощью аудита. Уровень С подразделяется на уровни C1 и
Уровень безопасности B имеет все свойства уровня C, однако каждый объект может иметь уникальные метки чувствительности (sensitivity labels).Подразделяется на уровни B1, B2, B3.
На уровне безопасности A используются формальные методы спецификации и проектирования для обеспечения безопасности.
Конфигурируемое обеспечение безопасности допускает политики уровней от D до
Безопасность основана на учетных записях пользователей, причем каждый пользователь имеет свой идентификатор безопасности (security ID).
Используется субъектная модель для обеспечения безопасности доступа. Субьект отслеживает полномочия и управляет полномочиями для каждой программы, которую запускает пользователь.
Каждый объект в Windows NT имеет свой атрибут безопасности, определяемый дескриптором безопасности (security descriptor).Например, файл имеет дескриптор безопасности, который задает полномочия доступа для всех пользователей.
Из всех систем и платформ для
Code Access Security (безопасность доступа к коду) – конфигурирование и проверки безопасности для
Evidence-Based Security (безопасность, основанная на свидетельствах) – схема безопасности для проверки доверия к вызываемой двоичной сборке. Термин evidence (свидетельство) в данном случае означает информацию о сборке, которую анализирует система поддержки выполнения, - например, наличие цифровой подписи, компания-разработчик и др. На основе этого анализа определяется базовый набор полномочий сборки.
Role-Based Security (безопасность, основанная на ролях) – схема для гибкого конфигурирования полномочий безопасности пользователей. Каждому пользователю может быть приписана роль (обозначаемая
Атрибуты безопасности. В .NET широко используется понятие атрибута – произвольной информации, аннотирующей именованную сущность (например, класс, метод или поле). В частности, имеется встроенная система атрибутов безопасности. Атрибуты безопасности проверяются при загрузке сборки в
Декларативное и императивное управление безопасностью. Атрибуты безопасности являются декларативным методом управления безопасностью. Другой метод, императивный, заключается в вызове системных методов (например, Demand ), проверяющих полномочия безопасности во время выполнения.
Более подробно вопросы безопасности и методы разработки
Data Encryption Standard (DES) – технология криптования, основанная на подстановке символов и изменении их порядка на основе ключа, предоставляемого авторизованным пользователям через защищенный механизм.
DREAD (
Elevation of privilege – попытка расширить полномочия (например, до полномочий системного администратора) c целью злонамеренных действий.
Pharming – перенаправление пользователя на злонамеренный Web-сайт (обычно с целью phishing ).
Phishing – попытка украсть
SDLC (Security Development Life Cycle) – схема жизненного
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 -
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) – злонамеренная программа, использующая механизмы самовоспроизведения (размножения) и распространяющаяся через сеть.
Безопасность –защита от внешних атак. В настоящее время она особенно важна в связи с ростом
Аутентификация (
Различаются следующие виды атак:
Современные типы атак:
Инициатива
Формулы безопасности, предложенные фирмой Microsoft:
SD3C (secure in design, by default, in
STRIDE (
DREAD (
Рекомендуемые меры борьбы с атаками: проверка на подозрительные примеры активности; использование журналов аудита; периодическое сканирование системы на предмет дыр в безопасности; проверки на короткие пароли, на изменение системных файлов и директорий и т.д.
Методы обнаружения попыток взлома компьютерных систем: аудит и ведение журнала; tripwire (
Криптография – преобразование понятного текста в зашифрованный с целью защиты информации. Схема криптования должна зависеть не от секретного алгоритма, а от его секретного параметра (ключа криптования). Наиболее часто используемые методы: асимметричное криптование на основе использования открытого и скрытого ключей;
Различаются четыре уровня безопасности компьютеров в США – D, C, B, A, от минимальной безопасности до использования формальных методов для обеспечения безопасности.
Безопасность в Windows NT основана на идентификаторах безопасности каждого пользователя и на дескрипторах безопасности обрабатываемых объектов.
Безопасность в .NET наиболее развита. Она включает безопасность доступа к коду, безопасность на основе свидетельств о двоичной сборке, безопасность на основе
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.