Локальная аутентификация Windows
Локальная аутентификация в операционных системах Windows выполняется в следующей последовательности:
- Пользователь вводит логин и пароль
- Данные передаются подсистеме локальной безопасности (LSA), которая сразу преобразует пароль в хэш. В открытом виде пароли нигде не хранятся.
- Служба LSA обращается к диспетчеру учетных записей безопасности (SAM) и сообщает ему имя пользователя
- Диспетчер обращается в базу SAM и извлекает оттуда хэш пароля указанного пользователя, сгенерированный при создании учетной записи (или в процессе смены пароля)
- Затем LSA сравнивает хэши, в случае их совпадения аутентификация считается успешной, а хэш введенного пароля помещается в хранилище службы LSA и до окончания сеанса пользователя
Рис. 1. Схема работы локальной аутентификации Windows
Протоколы сетевой аутентификации
Существует несколько различных протоколов, описывающих процесс аутентификации субъектов в локальной сети. В рамках операционных систем Windows компании Микрософт использовались протоколы:
- LAN Manager (LM),
- NT LAN Manager (NTLM),
- NT LAN Manager версии 2 (NTLM v2)
Рассмотрим актуальные на данный момент протоколы аутентификации – NTLM v2 и Kerberos.
Протокол NTLM v2.
Схема работы протокола NTLMv2 с контроллером домена
- Клиент при обращении к серверу сообщает ему имя пользователя и имя домена
- Сервер передает ему случайное число - запрос сервера
- Клиент генерирует также случайное число, куда, кроме прочего, добавляется метка времени, которое называется запрос клиента
- Запрос сервера объединяется с запросом клиента и от этой последовательности вычисляется HMAC-MD5 хэш
- От данного хэша берется еще один HMAC-MD5 хэш, ключом в котором выступает NT-хэш пароля пользователя. Получившийся результат называется NTLMv2-ответом и вместе с запросом клиента пересылается серверу
- Сервер, получив NTLMv2-ответ и запрос клиента, объединяет последний с запросом сервера и также вычисляет HMAC-MD5 хэш, затем передает его вместе с ответом контроллеру домена (КД)
- КД извлекает из хранилища сохраненный хэш пароля пользователя и производит вычисления над HMAC-MD5 хешем запросов сервера и клиента, сравнивая получившийся результат с переданным ему NTLMv2-ответом
- В случае совпадения серверу возвращается ответ об успешной аутентификации.
Рис. 2. Схема работы протокола NTLMv2 с контроллером домена
Протокол аутентификации Kerberos
Протокол Kerberos был специально разработан для обеспечения надежной аутентификации пользователей. Он может использовать централизованное хранение аутентификационных данных и является основой для построения механизмов Single Sign-On (возможность одноразовой аутентификации в нескольких приложениях). Протокол Kerberos предлагает механизм взаимной аутентификации клиента и сервера перед установлением связи между ними с учетом того, что начальный обмен информацией между клиентом и сервером может происходить в незащищённой среде, а передаваемые пакеты - перехвачены и модифицированы.
Протокол использует понятие Ticket (билет, удостоверение).
Ticket является зашифрованным пакетом данных, выданным выделенным доверенным центром аутентификации, в терминах протокола Kerberos - KDC (Key Distribution Center, центр распределения ключей).
KDC состоит из двух компонент:
- сервер аутентификации (англ. Authentication Server, сокр. AS);
- сервер выдачи разрешений (англ. Ticket Granting Server, сокр. TGS).
Когда пользователь выполняет первичную аутентификацию, после успешного подтверждения его подлинности KDC выдаёт первичное удостоверение пользователя для доступа к сетевым ресурсам - TGT (Ticket Granting Ticket). В дальнейшем при обращении к отдельным сетевым ресурсам пользователь, предъявляя TGT, получает от KDC удостоверение для доступа к конкретному сетевому ресурсу - Service Ticket.
Рис. 3. Схема работы протокола Kerberos
Одним из преимуществ протокола Kerberos, обеспечивающих очень высокий уровень сетевой безопасности, является то, что во всех сетевых взаимодействиях в открытом виде не передаются ни пароли, ни хэши паролей. Все удостоверения являются зашифрованными пакетами данных.
В качестве примера реализации протокола Kerberos следует отметить доменную аутентификацию пользователей в операционных системах компании Microsoft, начиная с Windows 2000.
Протоколы аутентификации для удалённого доступа
Часть протоколов сетевой аутентификации были разработаны специально для обеспечения удаленного доступа к информационным ресурсам посредством открытых каналов связи (к примеру, телефонные линии, Internet).
Такими протоколами являются:
- PAP (Password Authentication Protocol);
- CHAP (Challenge Handshake Authentication Protocol);
- EAP (Extensible Authentication Protocol);
- RADIUS (Remote Authentication Dial-in User Service);
- TACACS (Terminal Access Controller Access Control System).
В качестве примера кратко рассмотрим работу протокола RADIUS.
Протокол аутентификации RADIUS
Протокол аутентификации Remote Authentication Dial-in User Service (RADIUS)2 рассматривается как механизм аутентификации и авторизации удалённых пользователей в условиях распределённой сетевой инфраструктуры, предоставляющий централизованные услуги по проверке подлинности и учёту для служб удалённого доступа.
В рамках стандарта выделяются следующие роли:
Клиент RADIUS. Клиент RADIUS принимает от пользователей запросы на аутентификацию. Все принятые запросы переадресовываются серверу RADIUS для последующей аутентификации и авторизации. Как правило, в качестве клиента протокола RADIUS выступает сервер удалённого доступа.
Сервер RADIUS. Основная задача сервера RADIUS заключается в централизованной обработке информации, предоставленной клиентами RADIUS. Один сервер способен обслуживать несколько клиентов RADIUS. Сервер осуществляет проверку подлинности пользователя и его полномочий. При этом в зависимости от реализации сервера RADIUS для проверки подлинности используются различные базы данных учётных записей.
Посредник RADIUS. Взаимодействие клиентов и серверов RADIUS осуществляется посредством специальных сообщений. В распределённых сетях клиент и сервер RADIUS могут быть разделены различными сетевыми устройствами (такими, например, как маршрутизатор). Под посредником RADIUS понимается сетевое устройство, способное осуществлять перенаправление сообщений протокола RADIUS.
Поддержка протокола RADIUS реализована на многих современных платформах, что позволяет использовать его в межплатформенных решениях.
В качестве примера сервера и посредника RADIUS можно привести реализованную в Windows Server 2003 службу проверки подлинности в Интернете (Internet Authentication Service, IAS). Эта служба позиционируется как механизм централизованной аутентификации и авторизации пользователей, использующих различные способы подключений к сети. Служба IAS интегрирована с другими сетевыми службами Windows Server 2003, такими, как служба маршрутизации и удалённого доступа и служба каталога Active Directory.
Авторизация – модели разграничения доступа
Для более подробного изучения механизмов авторизации рассмотрим следующие модели разграничения доступа:
- Discretionary access control, DAC
- Mandatory access control, MAC
- Role-based access control, RBAC
- Attribute-based access control, ABAC
- Гибридные модели
Discretionary access control (дискреционная модель разграничения доступа)
- Избирательное управление доступом
- Для каждой пары субъект-объект задаётся перечисление допустимых разрешений (Например read, write, execute)
- Часто объект имеет привязанного субъекта-владельца. Владелец может устанавливать разрешения для других субъектов.
Данная модель характеризуется разграничением доступа между поименованными субъектами и объектами. Субъект с определенным правом доступа может передать это право любому другому субъекту. Для каждой пары (субъект - объект) должно быть задано явное и недвусмысленное перечисление допустимых типов доступа (читать, писать и т.д.), которые являются санкционированными для данного субъекта к данному ресурсу (объекту).
Существуют два подхода к построению дискреционного управления доступом:
- Каждый объект системы имеет привязанного к нему субъекта, называемого владельцем. Именно владелец устанавливает права доступа к объекту.
- Система имеет одного выделенного субъекта – суперпользователя, который имеет право устанавливать права владения для всех остальных субъектов системы.
Возможны и смешанные варианты построения, когда одновременно в системе присутствуют как владельцы, устанавливающие права доступа к своим объектам, так и суперпользователь, имеющий возможность изменения прав для любого объекта и (или) изменения его владельца. Именно такой смешанный вариант реализован в большинстве операционных систем.
Mandatory access control (мандатная модель разграничения доступа)
- Мандатное управление доступом
- Все субъекты и объекты ИС должны быть однозначно идентифицированы
- Задан линейно упорядоченный набор меток секретности
- Объекты несут метку секретности, определяя ценность содержащейся информации – уровень секретности
- Каждому субъекту присвоена метка секретности, определяющая максимальное значение метки секретности объектов, к которым субъект имеет доступ; Метка секретности субъекта называется его уровнем доступа.
Процедура назначения прав доступа происходит с использованием так называемых меток конфиденциальности или мандатов, назначаемых субъектам и объектам доступа.
Так, для субъекта доступа метки, например, могут определяться в соответствии с уровнем доступа лица к информации, а для объекта доступа (собственно данные) – с уровнем секретности. Признаки конфиденциальности фиксируются в метке объекта.
Уровень секретности может принимать одно из строго упорядоченного ряда фиксированных значений, например: конфиденциально, секретно, для служебного пользования, не секретно и т.п.
Требования к мандатному механизму управления доступом:
- Каждому субъекту и объекту доступа должны сопоставляться классификационные метки, отражающие их место в соответствующей иерархии. Посредством этих меток субъектам и объектам должны назначаться классификационные уровни. Данные метки должны служить основой мандатного принципа разграничения доступа
- Система защиты должна реализовывать мандатный принцип контроля доступа применительно ко всем объектам при явном и скрытом доступе со стороны любого из субъектов:
- субъект может читать объект, только если мандатная метка субъекта не меньше, чем мандатная метка объекта.
Рис. 4. Чтение информации в мандатной модели
- субъект осуществляет запись в объект, только если его мандатная метка не больше, чем мандатная метка объекта.
Рис. 5. Запись информации в мандатной модели
- Реализация мандатных ПРД должна предусматривать возможность сопровождения, изменения классификационных уровней субъектов и объектов специально выделенными субъектами.
Достоинства.
- С помощью многоуровневых моделей возможно существенное упрощение задачи администрирования.
- Запрет пользователю или процессу, обладающему определённым уровнем доверия, получать доступ к информации, процессам или устройствам более защищённого уровня.
Недостатки.
- Избыточности прав доступа для конкретных субъектов в пределах соответствующих уровней.
Контроль доступа в мандатной модели осуществляется в зависимости от уровней безопасности взаимодействующих сторон на основании двух простых правил: уполномоченное лицо (субъект) имеет право читать только те документы, уровень безопасности которых не превышает его собственный уровень безопасности, а заносить информацию только в те документы, уровень безопасности которых не ниже его собственного уровня безопасности.
Role-based access control (ролевая модель разграничения доступа)
- Управление доступом на основе ролей
- Субъекту присваивается роль или роли
- Выдаются разрешения заданным ролям
- Реализует DAC и MAC
- Может быть усложнен введением наследования ролей
- Распространен в корпоративных приложениях
- Пример: пользователь может подтвердить заказ, если его роль – менеджер
Суть подхода заключается в создании ролей, повторяющих роли участников бизнес процессов в компании, и присваивание их пользователям. На основе этих ролей проверяется возможность выполнения пользователем того или иного действия.
Если бизнес-правила одномерны и все действия можно распределить по ролям (бухгалтер, менеджер, администратор и т. п.), такого подхода будет достаточно. Тогда одному бизнес-правилу будет соответствовать одна роль.
Рис. 6. Распределение ролей по бизнес правилам в ролевой модели
Но бизнес-правила неизбежно усложняются и становятся многомерными. Это приводит к тому, что одного атрибута (роли) для выражения бизнес-правил становится недостаточно и начинают добавляться другие атрибуты (город, страна, филиал, день недели, владелец, лимит и т. п.).
Чтобы справиться с этой сложностью, необходимо создавать дополнительные роли, число которых равно числу различных комбинаций всех атрибутов.
Рис. 7. Рост многомерности бизнес правил
После каждого добавления нового значения атрибута придется добавлять новые роли. То есть, если появится филиал «Г», то придется добавить новые роли, такие как «Администратор филиала «Г», «Менеджер филиала «Г», «Бухгалтер филиала «Г» и т. п., после чего присвоить всем требуемым сотрудникам новые роли. Это порождает много рутинного ручного труда.
Кроме этого, появляются и другие недостатки:
- одно бизнес-правило «размазывается» среди множества ролей и становится неочевидным, что усложняет понимание такого правила и его поддержку;
- начинается взрывной рост числа ролей, что значительно усложняет управление ими.
Бизнес-правила, в которых используются атрибуты, значения которых заранее не известны и вычисляются в процессе работы, невозможно выразить с помощью ролевой модели.
Рис. 8. Бизнес-правила с атрибутами, значения которых заранее не известны
Бизнес-правила, которые ограничивают доступ не к действиям, а к данным, также невозможно выразить с помощью ролевой модели:
Рис. 9. Бизнес-правила, которые ограничивают доступ не к действиям, а к данным
Attribute-based access control (модель разграничения доступа на основе атрибутов)
- Управление доступом на основе атрибутов
- Субъекты и объекты наделяются атрибутами
- Политики вычисляют условия, заданные через выражения атрибутов субъекта и объекта
- Пример: Пользователь может подтвердить заказ, если подразделение пользователя равно подразделению, в котором создан заказ, и должность субъекта – менеджер
Основное отличие этого подхода в том, что каждая ситуация оценивается не с точки зрения роли пользователя и действия, которое он хочет совершить, а с точки зрения атрибутов, которые к ним относятся.
Бизнес-правило представляет собой набор условий, в которых различные атрибуты должны удовлетворять предъявляемым к ним требованиям.
Можно явно выделить несколько категорий атрибутов:
Рис. 10. Несколько категорий атрибутов
Для выполнения авторизации значения всех атрибутов берутся в момент проверки прав и сравниваются с ожидаемыми значениями. Выполнение всех условий обеспечивает доступ к ресурсу.
Простые правила описываются простыми условиями.
Рис. 11. Пример простых бизнес правил
Многомерные правила в этой модели не становятся более сложными
Рис. 12. Пример многомерных бизнес правил
ABAC позволяет избежать проблем, которые появляются в RBAC:
- бизнес-правило не «размазывается» по системе, что делает его понимание и поддержку достаточно простыми;
- не происходит взрывного роста числа условий, что упрощает их сопровождение.
- ABAC позволяет решить проблемы, которые невозможно решить с помощью RBAC, поскольку в этом подходе нет ограничений на сложность бизнес-правил. Бизнес-правила любой сложности, в том числе с использованием заранее неизвестных атрибутов, не создают новых проблем и просты в сопровождении.
Представление бизнес-правила в виде набора условий удобно использовать для фильтрации данных. Часть условий можно вычислить еще до обращения к ресурсу, а оставшиеся условия становятся фильтром для выбора данных.
Рис. 13. Пример бизнес правил с применением фильтра
Первые три условия можно проверить еще до обращения к данным. А последнее условие можно использовать в качестве предиката для получения только разрешенных данных.
Таблица 1. Сравнение ABAC и RBAC
Как видно из сравнения, RBAC хорошо подходит только для реализации простых бизнес-правил. С увеличением сложности правил целесообразность использования RBAC уменьшается из-за растущей стоимости поддержки системы контроля доступа, а начиная с определенного уровня сложности правил этот подход вообще не дает результата.
ABAC, в свою очередь, не ограничивает сложность бизнес-правил. Благодаря более понятному бизнесу и компактному выражению этот подход позволяет не увеличивать стоимость поддержки при реализации более сложных правил, а также дает возможность обеспечивать контроль доступа не только к действиям, но и к данным.
Вредоносное программное обеспечение
Обзор актуальной вирусной активности на сайте https://news.drweb.ru/
Антивирусная программа— программа для обнаружения компьютерных вирусов и вредоносных программ, восстановления заражённых (модифицированных) такими программами файлов, а также для предотвращения заражения (модификации) файлов вредоносным кодом
Вредоносное ПО (malware – сокращение от malicious software) – это различные программы, которые могут наносить вред.
Вредоносное ПО – это любая нежелательная программа, которая устанавливается на компьютере без вашего ведома. Вирусы, черви и троянские кони – это примеры вредоносных программ, которые часто совокупно называются вредоносным ПО.
Компьютерные вирусы – это небольшие программы, которые разработаны для распространения от одного компьютера к другому и вмешательства в работу компьютера.
Вирус может повредить или удалить данные на вашем компьютере, использовать вашу почтовую программу для самостоятельного распространения на другие компьютеры и даже стереть все на вашем диске.
Компьютерные вирусы часто распространяются во вложенных файлах в сообщениях электронной почты или мгновенных сообщениях. Поэтому никогда не стоит открывать вложения в электронных письмах, если вы не знаете, от кого оно, и не ожидаете его.
Признаки возможного заражения компьютера:
- Компьютер работает медленнее, чем обычно
- Компьютер перестает реагировать на действия пользователя или часто «зависает»
- Компьютер «зависает» и перезагружается каждые несколько минут
- Компьютер запускается самостоятельно, после чего отказывается работать надлежащим образом
- Приложения на компьютере не работают корректно
- Диски или дисководы недоступны
- Печать не работает надлежащим образом
- Отображаются необычные сообщения об ошибках
- Меню или диалоговые окна отображаются искаженно
Категории угроз
Рекламные программы
Под рекламными программами понимаются такие программы, которые, выполняя свою основную функцию, еще и демонстрируют пользователю рекламные баннеры и всплывающие рекламные окна. Эти рекламные сообщения иногда бывает очень сложно отключить или скрыть. Программы во время действия влияют на работу компьютера и являются проблемными с точки зрения безопасности данных.
Рекламное ПО/шпионское ПО
Программа, демонстрирующая рекламные материалы или передающая личные данные пользователя без его согласия и уведомления третьим лицам, может быть нежелательной.
Приложение из неизвестного источника
В этой категории подразумеваются программы, запуск которых может быть связан с определенным риском, или источник их происхождения не внушает доверия.
Backdoor-программы
Для организации кражи данных или манипуляции с компьютером, backdoor-программа удаленного администрирования проникает в систему через черный ход, о чем пользователь, как правило, даже не догадывается. Через Интернет или ЛВС клиентская часть такой программы (Client) может управляться третьими лицами.
Файлы со скрытыми расширениями
Исполняемые файлы, скрывающие настоящие расширения файлов. Этот метод сокрытия часто используется вредоносным ПО.
Фишинг
Фишинг - это способ обмана, используемый интернет-мошенниками для того, чтобы получить личные сведения о пользователе.
В качестве приманки мошенники, которые занимаются фишингом, используют электронные письма и веб-узлы, которые имитируют хорошо известные и надежные торговые марки.
Распространенным способом фишинга является рассылка нежелательных сообщений электронной почты, напоминающих подлинные сообщения известных веб-узлов или компаний, которым доверяют получатели (например, операторов кредитных карт, банков, благотворительных организаций или интернет-магазинов).
Цель рассылки поддельных сообщений - обманным путем заставить потребителей предоставить указанные ниже личные сведения:
# Личное имя и имя пользователя.
# Адрес и номер телефона.
# Паспортные данные или PIN-код.
# Номер банковского счета.
# Номер дебетовой или кредитной карточки.
# Код проверки карточки (CVC) или контрольное число карточки (CVV).
# Номер социального страхования.
Программы-шутки
Программы-шутки разрабатываются, например, для поднятия настроения. Они, как правило, не могут самостоятельно размножаться и не наносят вреда. После запуска такой программы компьютер демонстрирует что-нибудь необычное на мониторе, сопровождая это звуком.
Все симптомы таких развлекательных программ могут быть также имитированы вирусами или троянами.
Обманная программа
"ложные антивирусы" – это поддельные программы, которые сообщают о вирусном заражении и опасности и при этом внешне очень похожи на профессиональные антивирусные программы. Поддельные антивирусы предназначены для запугивания пользователей и придания им неуверенности. Если жертва попалась на удочку и считает себя подверженной угрозе, зачастую за отдельную плату ей предлагается устранение несуществующей опасности. В других случаях жертва, поверившая в нападение на нее, принуждается к определенными действиям, вследствие которых действительно будет совершено нападение.
Bot-сети
Под Bot-сетью понимается удаленно управляемая сеть (в Интернете), состоящая из отдельных персональных компьютеров, связывающихся между собой. Контроль сети достигается с помощью вирусов или троянских программ, инфицирующих компьютер, они ожидают дальнейших указаний злоумышленника, не принося вреда инфицированным компьютерам. Эти сети могут применяться для рассылки спама или организации DDoS атак; пользователи участвующих компьютеров могут и не догадываться о происходящем.
Эксплойт
Эксплойт - это компьютерная программа или скрипт, использующий специфические уязвимости операционной системы или программы.
Скрытый майнер (stealth miner, майнер-бот, ботнет)
К данной категории относятся программы, которые в автоматическом режиме ведут майнинг криптовалют незаметно для пользователя. Это стороннее ПО, которое устанавливается на компьютер, использует его ресурсы и перечисляет все заработанные средства на криптовалютный кошелек разработчика.
Фарминг
Фарминг - это манипуляция хост-файлом веб-браузера для перенаправления запроса на фальшивый сайт. Это производная от классического фишинга. Фарминг-мошенники содержат сервера больших объемов, на которых хранятся фальшивые веб-страницы. Фарминг можно назвать общим понятием различных типов DNS-атак. При манипуляции хост-файлом с помощью троянской программы или вируса производится манипуляция системой. В результате система способна загружать только фальсифицированные веб-сайты, даже если вы правильно вводите адрес.