1 / 37

Системное программное обеспечение Лекция 1 4

Системное программное обеспечение Лекция 1 4. Информационная безопасность. преподаватель кафедры ТМСИ Губин Максим Владимирович. Введение.

jerod
Télécharger la présentation

Системное программное обеспечение Лекция 1 4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Системное программное обеспечениеЛекция 14 Информационная безопасность преподаватель кафедры ТМСИ Губин Максим Владимирович

  2. Введение • В октябре 1988 г. в США произошло крупнейшее нарушение безопасности амеpиканскихкомпьютеpных систем. 23-летний студент выпускного куpсаКоpнельскогоунивеpситетаТ. Моppис запустил в компьютеpную сеть ARPANET сетевого чеpвя. • В результате атаки был полностью или частично заблокиpованpяд общенациональных компьютеpных сетей: Internet, CSnet, NSFnet, BITnet, ARPANET и несекретная военная сеть Milnet. • Вирус поразил более 6200 компьютерных систем по всей Амеpике. • Общий ущерб оценивается в 100 млн. долл. • Р. Моppис был исключен из унивеpситета, наложен штpаф270 тыс. долл. и тpем месяцам тюpемного заключения.

  3. Проблема безопасности • Безопасность (security) – это защита от внешних атак. • В настоящее время наблюдается значительный рост числа самых разнообразных атак. • Для защиты от атак необходимы специальные меры безопасности, компьютерные технологии и инструменты. • Подсистема безопасности предполагает наличие механизмов по предотвращению: • Несанкционированного доступа, • Злонамеренной модификации или разрушения, • Случайного ввода неверной информации. • Практика показывает, что легче защитить от случайной, чем от злонамеренной порчи информации.

  4. Аутентификация • Аутентификация (authentication) – идентификация пользователей при входе в систему. • Реализуется через логины и пароли . • Основные принципы использования паролей: • Частая смена паролей (например, не реже. чем раз в три месяца). • Использование "не угадываемых" паролей (используются автоматические генераторы). • Сохранение всех неверных попыток доступа (дается фиксированное число попыток, например, три). • Пароли также могут быть закриптованыили разрешены для доступа лишь один раз, после чего от пользователя требуется смена пароля.

  5. Программные угрозы (атаки) • Троянская программа (TrojanHorse) – атакующая программа, которая "подделывается" под некоторую полезную программу, но при своем запуске злонамеренно использует свое окружение, например, получает и использует конфиденциальную информацию. • Вход в ловушку (TrapDoor) - использование логина и пароля, который позволяет избежать проверок, связанных с безопасностью. • Переполнение стека и буфера (StackandBufferOverflow) - использование ошибки в программе (переполнение стека или буферов в памяти) для обращения к памяти другого пользователя или процесса с целью нарушения ее целостности.

  6. Системные угрозы (атаки) • Черви (Worms) – используют механизмы самовоспроизведения (размножения); отдельные программы • Internet - червь • Использует сетевые возможности UNIX (удаленный доступ) и ошибки в программах finger иsendmail. • Постоянно используемая в сети программа распространяет главную программу червя. • Вирусы – фрагменты кода, встраивающиеся в обычные программы. • В основном действуют на микрокомпьютерные системы. • Вирусы скачиваются из публично доступных BBS или с дискет, содержащих “инфекцию”. • Соблюдайте принципы безопасности при использовании компьютеров (Safe computing) – антивирусы, guards – программы, постоянно находящиеся в памяти и проверяющие на вирусы каждый открываемый файл - .exe, doc, и т.д. • Отказ в обслуживании (Denial of Service – DoS) • Создание искусственной перегрузки сервера с целью препятствовать его нормальной работе (например, искусственно сгенерировать миллион запросов “GET” для Web-сервера).

  7. Типы сетевых атак • Phishing – попытка украсть конфиденциальную информацию пользователя путем ее обманного получения от самого пользователя. • Например, напугав в своем сообщении пользователя, что его логин и пароль, кредитная карта или банковский счет под угрозой, хакер пытается добиться от пользователя в ответ ввода и отправки некоторой конфиденциальной информации. • Pharming – перенаправление пользователя на злонамеренный Web-сайт (обычно с целью phishing). • В современные web-браузеры встроены программы антифишингового контроля, которые запускаются автоматически при обращении к сайту. Хотя это отнимает у пользователя некоторое время, подобные меры помогают предотвратить многие атаки. • Tamperingwithdata – злонамеренное искажение или порча данных. Действенной мерой по борьбе с подобными атаками является криптованиеинформации. • Spoofing – "подделка" под определенного пользователя. Логин и пароль при этом либо получены от пользователя обманным путем (например, в результате phishing), либо извлечены из "взломанного" хакерской программой системного файла. • Elevationofprivilege– попытка расширить полномочия (например, до полномочий системного администратора).

  8. Trustworthy Computing (TWC) Initiative • Объявлена в 2002 г. (email Билла Гейтса) • Основные принципы: • Безопасность , Сохранение конфиденциальности информации , Надежность , Оперативность, законность и корректность бизнеса • Microsoft полностью реорганизовала бизнес-процессы разработки программного обеспечения • Принципы TWC воплощены во всех новых версиях продуктов Microsoft: Internet Explorer 7 и 8, WindowsVista и др. • Кроме аспектов IT, очень важны социальные аспекты и “человеческий фактор” (в частности, корректность бизнеса)

  9. Схема жизненного цикла для разработки безопасных программ Разработана компанией Microsoft, носит название Security Development Life Cycle (SDLC).  Основная идея SDLC – учитывать требования безопасности в течение всего жизненного цикла разработки программ, начиная с самых ранних этапов.

  10. Основные принципы разработки безопасного программного обеспечения • SecureinDesign – применение принципов безопасного проектирования; учет возможных атак; реализация способов их отражения; • SecurebyDefault – включение установок безопасности по умолчанию; • SecureinDeployment – безопасное развертывание и инсталляция программного обеспечения; • Communication – постоянное взаимодействие группы сопровождения продукта с пользователями, быстрый выпуск новых версий продукта с исправленными ошибками безопасности; рекомендации по настройке безопасности.

  11. Классификация угроз и атак • Spoofing– "подделка" под определенного пользователя; например, воспроизведение транзакции, выполняющей аутентификацию пользователя. • Tampering– несанкционированное изменение данных с целью атаки; например, модификация аутентификационных файлов с целью добавления нового пользователя. • Repudiation– отсутствие фиксации в системных журналах действий, которые могут привести к нарушению безопасности. В операционной системе драйвер может быть подвержен repudiation-угрозе, если он не выполняет журналирование (logging) действий. • Informationdisclosure– несанкционированный доступ к конфиденциальной информации; например: Получение списка номеров кредитных карт клиентов банка. • Denialofservice – отказ в обслуживании; например: сознательное достижение эффекта излишней загрузки процессора, используя недостатки хеш-алгоритма. • Elevationofprivilege – увеличение привилегий (несанкционированное присваивание прав системного администратора). Пример: запуск привилегированной программы для выполнения команд.

  12. Оценка атак на программное обеспечение • Ущерб, нанесенный атакой. • Воспроизводимость атаки: как часто она происходит и может ли быть воспроизведена (смоделирована). • здесь: квалификация (уровень); опыт и квалификация (хакера), необходимые для атаки. • Против каких пользователей направлена атака. • Может ли атака быть обнаружена.

  13. Борьба с атаками • Проверка на подозрительные примеры активности – например, несколько подряд попыток ввести неверный пароль могут означать попытку его угадать. • Ведение журнала аудита (auditlog) – в него записывается время, пользователь и тип каждой попытки доступа к объекту. Журнал используется для восстановления при нарушении защиты и для выработки более действенных мер безопасности. • Периодическое сканирование системы на предмет "дыр" в системе безопасности. Выполняется в моменты, когда компьютер практически не используется (пример - сканирование на вирусы).

  14. Проверки на: • Короткие или простые для угадывания пароли • Несанкционированные программы, устанавливающие другие имена пользователей • Несанкционированные программы в системных директориях • Неожиданно долгие по времени процессы • Неверную защиту директорий • Неверную защиту системных файлов данных • Опасные элементы в путях для поиска программ (ведущие к троянским программам) • Изменения в системных программах: проверки контрольных сумм.

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

  16. Обнаружение попыток взлома • Основной из мер безопасности является обнаружение попыток входа в компьютерные системы. • Методы обнаружения: • Аудит и ведение журнала; • Использование tripwire- программ для UNIX, которые проверяют, не изменялись ли некоторые файлы и директории, например, файлы, содержащие пароли; • Слежение за системными вызовами.

  17. Криптография • Криптография – это преобразование понятного текста в зашифрованный текст. Широко используются для защиты конфиденциальной информации. • Свойства хороших методов криптования: • Относительно простой для авторизованных пользователей способ криптования и декриптования данных. • Схема криптования должна зависеть не от секретного алгоритма, а от секретного параметра алгоритма, называемого ключом криптования(encryptionkey). • Для несанкционированного пользователя должно быть крайне сложно определить ключ.

  18. Криптование с открытом ключом • Криптование на основе открытого ключа –широко распространенный метод криптографии, основан на принципе, при котором пользователю известны два ключа: • publickey – открытый ключ для криптования данных. • privatekey – закрытый ключ, известный только пользователю и применяемый им для декриптования данных. • Метод открытого ключа воплощает еще одно важное требование к методам криптографии: • метод должен быть основан на схеме криптования, которая публично доступна, но это не будет облегчать разгадывание схемы декриптования.

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

  20. Уровни безопасности компьютеров • Министерство обороны США классифицирует безопасность компьютеров по уровням: A, B, C, D. • Уровень безопасности D соответствует минимальному уровню безопасности. • На уровене безопасности C обеспечиваются периодические проверки компьютера с помощью аудита. Уровень С подразделяется на уровни C1 и C2. Уровень C1 обозначает взаимодействие пользователей с одинаковым уровнем безопасности. Уровень C2 допускает управление доступом на уровне пользователей. • Уровень безопасности B имеет все свойства уровня C, однако каждый объект может иметь уникальные метки чувствительности (sensitivitylabels). Подразделяется на уровни B1, B2, B3. • На уровне безопасности A используются формальные методы спецификации и проектирования для обеспечения безопасности.

  21. Алгоритм шифрования RSA • RSA –   криптографический алгоритм с открытым ключом. • Криптографические системы с открытым ключом используют  необратимые функции, которые обладают следующим свойством: • Если известно x, то  f(x) вычислить относительно просто • Если известно y=f(x), то для вычисления  x нет простого (эффективного) пути. • В основу криптографической системы с открытым ключом RSA положена задача умножения и разложения составных чисел на простые сомножители, которая является вычислительно однонаправленной задачей.

  22. В криптографической системе с открытым ключом каждый участник располагает как открытым ключом, так и закрытым ключом. • Каждый ключ — это часть информации. В криптографической системе RSA каждый ключ состоит из пары целых чисел. • Каждый участник создаёт свой открытый и закрытый ключ самостоятельно. Закрытый ключ каждый из них держит в секрете, а открытые ключи можно сообщать кому угодно или даже публиковать их.

  23. Алгоритм создания открытого и секретного ключей

  24. Примечание к алгоритму • Вычислим (e*d) mod ((p-1)*(q-1)) = 1. • Результат операции i mod j остаток от целочисленного деления i на j, то есть, если имеем (d*3) mod 20 = 1, то d будет, например, 7 или 27. • Число d называется секретной экспонентой. • Пара P = (e,n) публикуется в качестве открытого ключа RSA . • Пара S = (d,n) играет роль секретного ключа RSAи держится в секрете.

  25. Схема RSA

  26. Пример • Шифруем сообщение АБС (123) • 1. Выбираем p=3 и q=112. Определяем n=pq=333. Определяем φ(n)=(p-1)(q-1)=204. Определяем d и c (d*c) mod(20)=1,т.е. d=3 и e=7

  27. Объект и субъект безопасности • Субъект безопасности – активная системная составляющая. • Объект безопасности – пассивная системная составляющая. • Пример субъектов: пользователи и группы пользователей. • Пример объектов: файлы, системные таблицы, принтер.

  28. Домен безопасности • Домен определяет набор объектов и типов операций, которые могут производиться над каждым объектом. Возможность выполнять операции над объектом есть права доступа, каждое из которых есть упорядоченная пара<object-name, rights-set>.

  29. Списки прав доступа • Каждая колонка в матрице может быть реализована как список доступа для одного объекта. • Для каждого объекта имеем список упорядоченных пар <domain, rights-set>, который определяет все домены с непустыми наборами прав для данного объекта. • Элементами списка могут быть процессы, пользователи или группы пользователей. • При реализации широко применяется предоставление доступа по умолчанию для пользователей, права которых не указаны.

  30. Схема lock-key • Каждый объект имеет список уникальных битовых шаблонов (patterns), называемых locks. Каждый домен имеет список уникальных битовых шаблонов, называемых ключами (keys). • Процесс, выполняющийся в домене, может получить доступ к объекту, только если домен имеет ключ, который соответствует одному из шаблонов объекта. • Схема lock-key является компромиссом между списками прав доступа и перечнями возможностей.

  31. Идентификатор безопасности SID • SID пользователя (и группы) является уникальным внутренним идентификатором и представляют собой структуру переменной длины с коротким заголовком, за которым следует длинное случайное число. • Это числовое значение формируется из ряда параметров, причем утверждается, что вероятность появления двух одинаковых SID равна нулю. • Если удалить пользователя в системе, а затем создать его под тем же именем, то SID вновь созданного пользователя будет уже другим. • Пример: > whoami /user /sid

  32. Объекты и дескриптор защиты • С каждым объектом связан дескриптор защиты (securitydescriptor). • Связь объекта с дескриптором происходит в момент создания объекта. • Дескриптор защиты содержит SID владельца объекта, SID групп для данного объекта и два указателя на списки DACL (Discretionary ACL) и SACL (System ACL) контроля доступа. • DACL и SACL содержат разрешающие и запрещающие доступ списки пользователей и групп, а также списки пользователей, чьи попытки доступа к данному объекту подлежат аудиту. • Структура каждого ACL списка – это набор записей ACE (AccessControlEntry), каждая запись содержит SID и перечень прав, предоставленных субъекту с этим SID.

  33. Дескриптор защиты

  34. Проверка прав доступа • Если SID субъекта совпадает с SID владельца объекта и запрашиваются стандартные права доступа, то доступ предоставляется независимо от содержимого DACL. • Система последовательно сравнивает SID каждого ACE из DACL с SID маркера. • Если обнаруживается соответствие, выполняется сравнение маски доступа с проверяемыми правами. • Для запрещающих ACE даже при частичном совпадении прав доступ немедленно отклоняется. • Для успешной проверки разрешающих элементов необходимо совпадение всех прав.

  35. Аудит системы защиты • Даже самая лучшая система защиты рано или поздно будет взломана. • Обнаружение попыток вторжения является важнейшей задачей системы защиты, поскольку ее решение позволяет минимизировать ущерб от взлома и собирать информацию о методах вторжения. • Аудит – регистрация специальных данных о различных типах событий, происходящих в системе, которые влияют на состояние безопасности системы.

  36. События для аудита • вход или выход из системы; • операции с файлами (открыть, закрыть, переименовать, удалить); • обращение к удаленной системе; • смена привилегий или иных атрибутов безопасности (режима доступа, уровня благонадежности пользователя и т. п.). • Если фиксировать все события, объем регистрационной информации будет расти слишком быстро, а ее эффективный анализ станет невозможным.

More Related