Исследование скомпрометированных учетных записей электронной почты
Скомпрометированная учетная запись пользователя также называется поглощением учетной записи. Это тип атаки, когда злоумышленник получает доступ к учетной записи пользователя и работает в качестве пользователя. Такие типы атак иногда наносят больший ущерб, чем входило в намерения злоумышленника.
Когда организация исследует скомпрометированные учетные записи электронной почты, она должна предположить, что было скомпрометировано больше почтовых данных, чем может быть указано при отслеживании фактического присутствия злоумышленника. В зависимости от типа данных в сообщениях электронной почты организации может потребоваться предположить, что конфиденциальная информация была скомпрометирована, или столкнуться с нормативными штрафами, если она не сможет доказать, что конфиденциальная информация не была раскрыта.
Например, организации, регулируемые HIPAA, сталкиваются со значительными штрафами, если есть доказательства того, что информация о здоровье пациентов (PHI) была раскрыта. В таких случаях злоумышленники вряд ли будут заинтересованы в PHI. Однако организации по-прежнему должны сообщать о нарушениях безопасности данных, если они не могут доказать обратное.
Чтобы помочь организациям исследовать скомпрометированные учетные записи электронной почты, Microsoft 365 проверяет доступ к почтовым данным по почтовым протоколам и клиентам. Для этого используется действие аудита почтовых ящиков MailItemsAccessed . Это проверенное действие может помочь следователям:
- лучше понимать утечки данных электронной почты.
- определить область компрометации определенных почтовых элементов, которые могли быть скомпрометированы.
Цель использования этого действия аудита — обеспечение защиты от судебной экспертизы. Другими словами, это помогает утверждать, что определенный фрагмент данных почты не был скомпрометирован. Если злоумышленник получил доступ к определенному фрагменту почты, Exchange Online выполняет аудит события, даже если нет никаких сведений о том, что почтовый элемент был прочитан.
Действие аудита почтового ящика MailItemsAccessed
Действие MailItemsAccessed является частью функций аудита (премиум) и аудита почтовых ящиков Exchange. Это действие включено по умолчанию для:
- Пользователям, которым назначена лицензия Office 365 или Microsoft 365 E5.
- Организации с подпиской на надстройку соответствия требованиям Microsoft 365 E5.
MailItemsAccessed — это действие аудита почтовых ящиков, которое охватывает все протоколы почты: POP, IMAP, MAPI, EWS, Exchange ActiveSync и REST. Его используют при обоих типах доступа к почте: для синхронизации и для привязки.
Аудит событий синхронизации и привязки доступа к почте рассматривается более подробно в следующих двух разделах.
Аудит доступа для синхронизации
Операции синхронизации записываются только в том случае, если доступ к почтовому ящику осуществляется с помощью классической версии клиента Outlook для Windows или Mac. В процессе синхронизации такие клиенты обычно загружают большой набор элементов почты из облака на локальный компьютер.
Объем аудита для операций синхронизации значительный. Таким образом, вместо создания записи аудита для каждого синхронизированного почтового элемента корпорация Майкрософт создает событие аудита для папки почты, содержащей синхронизированные элементы.
Важно!
Эта конструкция предполагает, что все элементы почты в синхронизированной папке были скомпрометированы.
Тип доступа записывается в поле OperationProperties записи аудита.
Пример отображения типа доступа синхронизации в записи аудита см. в шаге 2 в разделе Использование записей аудита MailItemsAccessed для судебно-медицинских исследований .
Аудит доступа для привязки
Операция привязки обеспечивает индивидуальный доступ к сообщению электронной почты.
Важно!
Действия привязки помогают определить, удалось ли злоумышленнику получить доступ к отдельным сообщениям электронной почты и, возможно, компрометировать их.
Для доступа к привязке InternetMessageId отдельных сообщений записываются в запись аудита. Действие аудита MailItemsAccessed записывает операции привязки, а затем объединяет их в одну запись аудита. В ходе этого процесса выполняются следующие действия:
- Все операции привязки, которые выполняются в течение 2 минут, объединяются в одну запись аудита в поле Папки в свойстве AuditData.
- Каждое сообщение, к которому был доступ, идентифицируется с помощью internetMessageId.
- Количество операций привязки, агрегированных в записи, отображается в поле OperationCount свойства AuditData .
Пример отображения типа доступа bind в записи аудита см. в шаге 4 в разделе Использование записей аудита MailItemsAccessed для судебно-медицинских исследований .
Регулирование записей аудита о MailItemsAccessed
Если менее чем за 24 часа для почтового ящика будет создано более 1000 записей аудита MailItemsAccessed , Exchange Online перестает создавать записи аудита для действия MailItemsAccessed. Если почтовый ящик регулируется таким образом, действие MailItemsAccessed не регистрируется в течение 24 часов после регулирования почтового ящика.
Важно!
Если почтовый ящик был отрегулирован, возможно, он был скомпрометирован в течение этого периода.
Запись действия MailItemsAccessed будет возобновлена через 24 часа.
Некоторые важные замечания о регулировании
- Менее 1 % всех почтовых ящиков в Exchange Online регулируется.
- При регулировании почтового ящика аудит не выполняется только для записей аудита о действии MailItemsAccessed. Другие действия аудита почтового ящика не затрагиваются.
- Регулирование почтовых ящиков осуществляется только в отношении операций привязки. К записям аудита для операций синхронизации регулирование не применяется.
- Если почтовый ящик отрегулирован, можно предположить наличие действия MailItemsAccessed, которое не было внесено в журналы аудита.
Пример отображения свойства IsThrottled в записи аудита см. в шаге 1 в следующем разделе.
Использование записей аудита о MailItemsAccessed для экспертных исследований
Аудит почтовых ящиков создает записи аудита для доступа к сообщениям электронной почты. Таким образом, организации могут быть уверены, что сообщения электронной почты не были скомпрометированы. По этой причине в случаях, когда корпорация Майкрософт не уверена, что доступ к данным был предоставлен, предполагается, что они были. Таким образом, он записывает все действия по доступу к почте.
Примечание.
Использование записей аудита MailItemsAccessed для целей судебной экспертизы обычно выполняется после устранения утечки данных и удаления злоумышленника.
Когда организация проводит расследование, она должна выполнить следующие действия:
- Определите скомпрометированные почтовые ящики.
- Определите интервал времени, когда злоумышленник имел доступ к этим почтовым ящикам.
- Используйте командлеты Search-UnifiedAuditLog или Search-MailboxAuditLog в Exchange Online PowerShell для поиска записей аудита, соответствующих утечке данных.
Организации могут выполнять одну из следующих команд для поиска записей аудита MailItemsAccessed (в этих примерах предполагается время с 06.01.2020 по 20.01.2020):
Единый журнал аудита:
Search-UnifiedAuditLog -StartDate 01/06/2020 -EndDate 01/20/2020 -UserIds <user1,user2> -Operations MailItemsAccessed -ResultSize 1000
Журнал аудита почтового ящика:
Search-MailboxAuditLog -Identity <user> -StartDate 01/06/2020 -EndDate 01/20/2020 -Operations MailItemsAccessed -ResultSize 1000 -ShowDetails
Совет
Основное различие между этими двумя командлетами заключается в том, что командлет Search-UnifiedAuditLog можно использовать для поиска записей аудита для действий, выполняемых одним или несколькими пользователями. Он может находить действия, выполняемые несколькими пользователями, так как UserIds является параметром с несколькими значениями. Для сравнения командлет Search-MailboxAuditLog выполняет поиск одного пользователя в журнале аудита почтовых ящиков.
Ниже приведены инструкции по использованию записей аудита MailItemsAccessed для исследования скомпрометированных атак пользователей. На каждом шаге показан синтаксис команды для командлетов Search-UnifiedAuditLog и Search-MailboxAuditLog .
Проверьте, был ли отрегулирован почтовый ящик. Если почтовый ящик был отрегулирован, некоторые записи аудита почтовых ящиков не регистрировались. Если для записей аудита задано значение IsThrottled с значением True, следует предположить, что в течение 24-часового периода после создания этой записи любой доступ к почтовому ящику не был проверен и что все почтовые данные были скомпрометированы.
Чтобы найти записи MailItemsAccessed, в которых почтовый ящик был отрегулирован, выполните следующую команду:
Единый журнал аудита:
Search-UnifiedAuditLog -StartDate 01/06/2020 -EndDate 01/20/2020 -UserIds <user1,user2> -Operations MailItemsAccessed -ResultSize 1000 | Where {$_.AuditData -like '*"IsThrottled","Value":"True"*'} | FL
Журнал аудита почтового ящика:
Search-MailboxAuditLog -StartDate 01/06/2020 -EndDate 01/20/2020 -Identity <user> -Operations MailItemsAccessed -ResultSize 10000 -ShowDetails | Where {$_.OperationProperties -like "*IsThrottled:True*"} | FL
Проверьте действия синхронизации, чтобы определить, были ли скомпрометированные элементы почты. Если злоумышленник использует клиент электронной почты для скачивания сообщений в почтовом ящике, можно отключить компьютер от Интернета и осуществлять доступ к сообщениям локально, не взаимодействуя с сервером. В этом случае аудит почтовых ящиков не сможет выполнять аудит этих действий.
Чтобы найти записи MailItemsAccessed, к которым был предоставлен доступ с помощью операции синхронизации, выполните следующую команду:
Единый журнал аудита:
Search-UnifiedAuditLog -StartDate 01/06/2020 -EndDate 02/20/2020 -UserIds <user1,user2> -Operations MailItemsAccessed -ResultSize 1000 | Where {$_.AuditData -like '*"MailAccessType","Value":"Sync"*'} | FL
Журнал аудита почтового ящика:
Search-MailboxAuditLog -StartDate 01/06/2020 -EndDate 01/20/2020 -Identity <user> -Operations MailItemsAccessed -ResultSize 10000 -ShowDetails | Where {$_.OperationProperties -like "*MailAccessType:Sync*"} | FL
Проверьте действия синхронизации, чтобы определить, был ли скомпрометирован весь почтовый ящик. Для этого необходимо определить, выполнялись ли какие-либо действия синхронизации в том же контексте, что и действия, используемые злоумышленником для доступа к почтовому ящику. Контекст определяется и отличается от других IP-адресом клиентского компьютера, используемого для доступа к почтовому ящику, и почтовым протоколом. Дополнительные сведения см. в разделе ниже под названием Определение контекстов доступа к различным записям аудита.
Изучите свойства, перечисленные в следующей таблице. Эти свойства находятся в свойстве AuditData или OperationProperties . Если какие-либо действия синхронизации выполнялись в том же контексте, что и действия злоумышленника, организация должна предположить, что злоумышленник синхронизировал все почтовые элементы со своим клиентом. В этом случае весь почтовый ящик, вероятно, был скомпрометирован.
Свойство Описание ClientInfoString Описание протокола, клиента (включая версию) ClientIPAddress IP-адрес клиентского компьютера. SessionId Идентификатор сеанса помогает дифференцировать действия злоумышленников от повседневных действий пользователей в одной учетной записи (полезно для скомпрометированных учетных записей). UserId Имя участника-пользователя, читающего сообщение. Проверьте действия привязки, чтобы определить, были ли скомпрометированы почтовые элементы. После того как организация выполнит шаги 2 и 3, она может быть уверена, что все остальные доступ к сообщениям электронной почты злоумышленника будут записаны в записи аудита MailItemsAccessed со свойством MailAccessType со значением Bind.
Чтобы найти записи MailItemsAccessed , к которым был предоставлен доступ к элементам почты с помощью операции Bind , выполните следующую команду:
Единый журнал аудита:
Search-UnifiedAuditLog -StartDate 01/06/2020 -EndDate 01/20/2020 -UserIds <user1,user2> -Operations MailItemsAccessed -ResultSize 1000 | Where {$_.AuditData -like '*"MailAccessType","Value":"Bind"*'} | FL
Журнал аудита почтового ящика:
Search-MailboxAuditLog -StartDate 01/06/2020 -EndDate 01/20/2020 -Identity <user> -Operations MailItemsAccessed -ResultSize 10000 -ShowDetails | Where {$_.OperationProperties -like "*MailAccessType:Bind*"} | FL
Сообщения электронной почты, к которым был предоставлен доступ, идентифицируются по идентификатору сообщения в Интернете. Вы также можете проверить, имеют ли какие-либо записи аудита тот же контекст, что и записи для других действий злоумышленников. Дополнительные сведения см. в разделе ниже под названием Определение контекстов доступа к различным записям аудита.
Организации могут использовать данные аудита для операций привязки двумя разными способами:
- Чтобы получить доступ ко всем сообщениям электронной почты, к которым злоумышленник обращается, или соберите их с помощью InternetMessageId . Затем проверьте, содержат ли какие-либо из этих сообщений конфиденциальную информацию.
- Используйте InternetMessageId для поиска записей аудита, связанных с набором потенциально конфиденциальных сообщений электронной почты. Этот процесс полезен, если вас беспокоит только несколько сообщений.
Фильтрация повторяющихся записей аудита
Повторяющиеся записи аудита для одних и тех же операций привязки, выполняющихся в течение часа, отфильтровываются, чтобы избежать "шума" в аудите. Операции синхронизации также отфильтровываются с интервалом в один час.
Исключение из этого процесса де-дублирования возникает, если для того же InternetMessageId какие-либо свойства, описанные в следующей таблице, отличаются. Если при операции дублирования какое-либо из этих свойств отличается, создается новая запись аудита. Этот процесс описан подробнее в следующем разделе.
Свойство | Описание |
---|---|
ClientIPAddress | IP-адрес клиентского компьютера. |
ClientInfoString | Протокол клиента, клиент, используемый для доступа к почтовому ящику. |
ParentFolder | Полный путь к папке элемента почты, к которому осуществлялся доступ. |
Logon_type | Тип входа пользователя, выполнившего действие. Типы входа (и соответствующие им значения перечисления): владелец (0), администратор (1) или представитель (2). |
MailAccessType | Свойство , указывающее, является ли доступ операцией привязки или синхронизации. |
MailboxUPN | Имя участника-пользователя почтового ящика, в котором находится читаемое сообщение. |
User | Имя участника-пользователя, читающего сообщение. |
SessionId | Если учетная запись была скомпрометирована, идентификатор сеанса помогает различать действия злоумышленников и повседневные действия пользователей в одном почтовом ящике. Дополнительные сведения о сеансах см. в статье Контекстуализация действий злоумышленников в сеансах в Exchange Online. |
Определение контекстов доступа для различных записей аудита
Во время атаки злоумышленник часто обращается к почтовому ящику в то же время, когда владелец почтового ящика обращается к нему. Отличить доступ злоумышленника от доступа владельца почтового ящика можно с помощью свойств записи аудита, определяющих контекст доступа.
Как рассматривалось выше, если значения этих свойств отличаются, создаются отдельные записи аудита, даже если действие выполняется в интервале агрегирования. Приведенный ниже пример содержит три разные записи аудита. Каждый из них отличается свойствами Идентификатор сеанса и ClientIPAddress . Также определены сообщения, к которым осуществлялся доступ.
Запись аудита 1 | Запись аудита 2 | Запись аудита 3 |
---|---|---|
ClientIPAddress1 SessionId2 |
ClientIPAddress2 SessionId2 |
ClientIPAddress1 SessionId3 |
InternetMessageIdA InternetMessageIdD InternetMessageIdE InternetMessageIdF |
InternetMessageIdA InternetMessageIdC |
InternetMessageIdB |
Если какое-либо из свойств, приведенных в таблице в предыдущем разделе, отличается, для отслеживания нового контекста создается отдельная запись аудита. В зависимости от контекста, в котором выполняется действие, доступ будет отсортирован по разным записям аудита.
Например, в записях аудита, показанных на следующем снимке экрана, доступ к почте был получен из EWSEditor и OWA одновременно. Однако действия доступа сопоставляется в разных записях аудита в зависимости от контекста, в котором осуществляется доступ. В этом случае контекст определяется различными значениями свойства ClientInfoString .
На этом снимке экрана использовалась следующая команда PowerShell:
Search-MailboxAuditLog -Identity admin -ShowDetails -Operations MailItemsAccessed -ResultSize 2000 | Select LastAccessed,Operation,AuditOperationsCountInAggregatedRecord,ClientInfoString