ОПРЕДЕЛЕНИЕ АКТИВНОСТИ УЧЕТНЫХ ЗАПИСЕЙ В ВЫЧИСЛИТЕЛЬНОЙ СРЕДЕDETERMINING ACCOUNT ACTIVITY IN A COMPUTING ENVIRONMENT
ОБЛАСТЬ ТЕХНИКИAREA OF TECHNOLOGY
[0001] Заявленное техническое решение в общем относится к области информационной безопасности, а в частности к способу и системе определения активности учетных записей в вычислительной среде.[0001] The claimed technical solution generally relates to the field of information security, and in particular to a method and system for determining the activity of accounts in a computing environment.
УРОВЕНЬ ТЕХНИКИLEVEL OF TECHNOLOGY
[0002] В настоящее время крупные предприятия используют системы сетевых взаимодействий для обмена конфиденциальной информацией между сотрудниками и клиентами. Как правило, доступ к такого рода информации предоставляется определенным сотрудникам и внутренним подсистемам посредством разрешения на подключение их учетных записей к защищенным хранилищам, где расположена конфиденциальная информация. Современные сети, используемые на крупных предприятиях, могут включать десятки или даже сотни тысяч учетных записей, каждая из которых имеет доступ к большому количеству серверов и других хранилищ данных, а, следовательно, имеет доступ к конфиденциальной информации, несанкционированное получение которой может привести к нарушению безопасности в структуре предприятия и утечки критически важных данных.[0002] Large enterprises currently use network communication systems to exchange confidential information between employees and clients. Typically, access to such information is granted to certain employees and internal subsystems by allowing their accounts to connect to secure storage facilities where confidential information is located. Modern networks used by large enterprises may include tens or even hundreds of thousands of accounts, each of which has access to a large number of servers and other data storage facilities, and, therefore, has access to confidential information, the unauthorized acquisition of which may lead to a security breach in the enterprise structure and the leakage of critical data.
[0003] Для защиты информации от несанкционированного получения третьими лицами на предприятиях принимаются строгие меры безопасности, устанавливаются строгие стандарты доступа и используются системы противодействия атакам из вне, однако, такие меры оказываются крайне неэффективными при защите данных от кражи сотрудниками, у которых есть правомерный доступ к таким данным. Одним из методов, позволяющим выявить инциденты утечки конфиденциальной информации через внутренние каналы предприятия являются способы отслеживания активности сотрудников в вычислительной среде для обеспечения возможности мониторинга событий информационной безопасности.[0003] To protect information from unauthorized access by third parties, enterprises take strict security measures, establish strict access standards, and use systems to counter external attacks; however, such measures are extremely ineffective in protecting data from theft by employees who have legitimate access to such data. One of the methods that allows identifying incidents of confidential information leakage through internal enterprise channels is the methods of tracking employee activity in the computing environment to ensure the ability to monitor information security events.
[0004] Так, из уровня техники известны подходы к выявлению скомпрометированных учетных записей на основе сопоставления активности учетных записей с моделями активности для данного класса учетных записей. Такие подходы сопоставляют активность учетной записи с фиксированными правилами и статистикой, например, идентификация количества неудачных попыток входа в систему, обнаружение подозрительного поведения, основанного на отклонении действий от стандартной частоты действий учетной записи и т.д.[0004] Thus, approaches to identifying compromised accounts based on matching account activity with activity models for a given class of accounts are known from the state of the art. Such approaches match account activity with fixed rules and statistics, such as identifying the number of failed login attempts, detecting suspicious behavior based on deviations from the standard frequency of account activity, etc.
[0005] Недостатками таких подходов является низкая точность и длительное время, необходимое для формирования активности учетных записей, и, как следствие низкая эффективность выявления событий информационной безопасности, например, аномального поведения из-за использования шаблонных моделей определения поведения и отсутствия эффективного и быстрого способа получения данных (профиля активности), на основе которого происходит определение поведения. Кроме того, такие системы не предназначены и не предполагают возможность работы в среде больших данных (Big Data) из-за невозможности своевременной обработки большого потока данных в приемлемое время для получения актуальных сведений об активности учетных записей.[0005] The disadvantages of such approaches are low accuracy and the long time required to generate account activity, and, as a consequence, low efficiency in identifying information security events, such as abnormal behavior due to the use of template models for determining behavior and the lack of an effective and fast way to obtain data (activity profile) on the basis of which behavior is determined. In addition, such systems are not designed and do not assume the ability to work in a Big Data environment due to the impossibility of timely processing of a large data flow in an acceptable time to obtain up-to-date information on account activity.
[0006] Из уровня техники также известно решение, раскрытое в заявке на патент США № US2011/0296003 Al (MCCANN ROBERT L et al.), опубл. 01.12.2011. Указанное решение раскрывает способ формирования модели, описывающей активность, демонстрируемую посредством взаимодействия через учетную запись пользователя и поставщика услуг. В ответ на определение того, что последующее взаимодействие, выполняемое через учетную запись пользователя, отклоняется от сгенерированной модели, учетная запись пользователя помечается как потенциально скомпрометированная злоумышленником.[0006] The prior art also discloses a solution disclosed in US Patent Application No. US2011/0296003 Al (MCCANN ROBERT L et al.), published 01.12.2011. This solution discloses a method for generating a model describing the activity demonstrated by interaction through a user account and a service provider. In response to determining that subsequent interaction performed through the user account deviates from the generated model, the user account is marked as potentially compromised by an attacker.
[0007] Недостатком указанного решения является невозможность корректной работы способа в средах с большим потоком данных ввиду отсутствия средств, позволяющих осуществлять сбор, обработку и агрегацию данных фактической активности пользователей в такой среде (Big Data). Кроме того, данный способ не предназначен для обеспечения своевременной возможности выявления учетных записей, несоответствующих требованиям информационной безопасности корпоративной вычислительной сети при большом количестве учетных записей (сотни тысяч), из-за того, что агрегация общего объёма данных, собираемых для формирования профиля активности учетной записи и обработки указанного профиля, является чрезвычайно ресурсоёмкой задачей.[0007] The disadvantage of this solution is the impossibility of correct operation of the method in environments with a large data flow due to the lack of means for collecting, processing and aggregating data on the actual activity of users in such an environment (Big Data). In addition, this method is not intended to ensure the timely possibility of identifying accounts that do not meet the information security requirements of a corporate computer network with a large number of accounts (hundreds of thousands), due to the fact that the aggregation of the total volume of data collected to form an account activity profile and process the said profile is an extremely resource-intensive task.
[0008] Общими недостатками существующих решений является отсутствие эффективного способа, обеспечивающего возможность формирования активности учетной записи для мониторинга событий информационной безопасности в корпоративной вычислительной среде с высокой скоростью (пока данные актуальны), что также, как следствие, обеспечивает возможность точного и быстрого (актуального) определения аномальных событий, в том числе и в среде большого потока данных. Кроме того, такого рода решения должно обеспечивать сбор и агрегацию данных фактической активности пользователей в вычислительной среде в кратчайшие временные промежутки, за счет возможности предварительной фильтрации ключевых событий активности из общего потока событий в среде больших данных и сокращать общий объем памяти, необходимый для хранения событий, совершенных учетными записями, связанных с мониторингом информационной безопасности в вычислительной среде.[0008] Common shortcomings of existing solutions include the lack of an effective way to ensure the ability to generate account activity for monitoring information security events in corporate computing environment at high speed (while the data is relevant), which also, as a consequence, ensures the ability to accurately and quickly (relevantly) identify abnormal events, including in a large data flow environment. In addition, this type of solution should ensure the collection and aggregation of data on actual user activity in the computing environment in the shortest possible time intervals, due to the ability to pre-filter key activity events from the general flow of events in the big data environment and reduce the total amount of memory required to store events committed by accounts related to monitoring information security in the computing environment.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯDISCLOSURE OF INVENTION
[0009] В заявленном техническом решении предлагается новый подход к определению активности учетных записей в вычислительной среде для мониторинга событий информационной безопасности. В данном решении используется алгоритм фильтрации событий, совершаемых учетной записью, который позволяет сократить время, требуемое на формирование профиля активности учетной записи, что обеспечивает возможность быстрого и эффективного (своевременного) получения данных об активности учетной записи для дальнейшего анализа.[0009] The claimed technical solution proposes a new approach to determining the activity of accounts in a computing environment for monitoring information security events. This solution uses an algorithm for filtering events performed by an account, which reduces the time required to form an account activity profile, which ensures the ability to quickly and effectively (timely) obtain data on account activity for further analysis.
[0010] Т аким образом, решается техническая проблема обеспечения возможности определения активности учетных записей.[0010] In this way, the technical problem of ensuring the ability to determine the activity of accounts is solved.
[ООП] Техническим результатом, достигающимся при решении данной проблемы, является обеспечение возможности определения профиля активности учетной записи в вычислительной среде.[OOP] The technical result achieved by solving this problem is the ability to determine the activity profile of an account in a computing environment.
[0012] Дополнительным техническим результатом, проявляющимся при решении вышеуказанной проблемы, является сокращение времени определения профиля активности учетной записи в вычислительной среде.[0012] An additional technical result that is achieved by solving the above-mentioned problem is a reduction in the time it takes to determine an account activity profile in a computing environment.
[0013] Указанные технические результаты достигаются благодаря осуществлению способа определения активности учетных записей в вычислительной среде, выполняющегося по меньшей мере одним вычислительным устройством, и содержащего этапы, на которых: а) получают неструктурированные данные об учетных записях в вычислительной среде, причем указанные данные содержат по меньшей мере следующие данные: данные об идентификаторах учетных записей, данные о действиях учетных записей, время совершения действия учетными записями; b) осуществляют фильтрацию данных, полученных на этапе а), с помощью модели машинного обучения на базе нейронной сети, обученной на основе данных о событиях учётной записи, подлежащих фильтрации из общего объёма данных, в ходе которой извлекают данные о целевом событии, совершенном учетной записью, причем данные о целевом событии содержат по меньшей мере данные об описании указанного события; c) осуществляют обработку данных, полученных на этапе Ь), в результате которой структурируют и нормализуют данные об описании события, причем структуризация осуществляется на основе выделения по меньшей мере идентификаторов учетной записи и выделении характерных для данного типа события параметров из события, полученного в результате фильтрации; d) формируют профиль активности по меньшей мере одной учетной записи на основе данных, полученных на этапе с). e) выполняют передачу сформированного профиля активности в систему безопасности вычислительной среды; f) выявляют, на основе сформированного профиля активности по меньшей мере одной учетной записи, по меньшей мере одну учетную запись с аномальным поведением.[0013] The specified technical results are achieved by implementing a method for determining the activity of accounts in a computing environment, executed by at least one computing device, and comprising the steps of: a) obtaining unstructured data about accounts in the computing environment, wherein the specified data contains at least the following data: data about account identifiers, data on account actions, the time of action performed by accounts; b) filtering the data obtained in step a) using a machine learning model based on a neural network trained on the basis of account event data subject to filtering from the total volume of data, during which data on a target event performed by the account is extracted, wherein the data on the target event contains at least data on the description of the specified event; c) processing the data obtained in step b), as a result of which the data on the description of the event is structured and normalized, wherein the structuring is performed on the basis of selecting at least account identifiers and selecting parameters characteristic of a given event type from the event obtained as a result of filtering; d) generating an activity profile of at least one account based on the data obtained in step c). e) transmitting the generated activity profile to the security system of the computing environment; f) identifying, based on the generated activity profile of at least one account, at least one account with anomalous behavior.
[0014] В одном из частных вариантов реализации неструктурированные данные об учетных записях получают по меньшей мере из журнала аудита.[0014] In one particular implementation, unstructured account data is obtained from at least an audit log.
[0015] В другом частном варианте реализации журнал аудита представляет собой по меньшей мере текстовый файл.[0015] In another particular embodiment, the audit log is at least a text file.
[0016] В другом частном варианте реализации идентификаторы учетных записей содержат по меньшей мере прямые и/или косвенные идентификаторы учётных записей.[0016] In another particular embodiment, the account identifiers comprise at least direct and/or indirect account identifiers.
[0017] В другом частном варианте реализации прямым идентификатором учетных записей является по меньшей мере одно из: логин, имя пользователя / учётной записи.[0017] In another particular embodiment, the direct identifier of the accounts is at least one of: login, user/account name.
[0018] В другом частном варианте реализации косвенным идентификатором учетных записей является по меньшей мере IP адрес. [0019] В другом частном варианте реализации выделение характерных для данного события параметров из отфильтрованного события осуществляется с помощью выделения (парсинга) целевых параметров события из события, полученного в результате фильтрации, посредством регулярных выражений.[0018] In another particular embodiment, the indirect identifier of the accounts is at least an IP address. [0019] In another particular embodiment, the extraction of parameters characteristic of a given event from a filtered event is carried out by extracting (parsing) the target parameters of the event from the event obtained as a result of filtering, using regular expressions.
[0020] В другом частном варианте реализации выделение характерных для данного события параметров из отфильтрованного события осуществляется с помощью выделения (парсинга) целевых параметров события из отфильтрованного события посредством нахождения именованных сущностей в указанном событии.[0020] In another particular embodiment, the extraction of parameters characteristic of a given event from a filtered event is performed by extracting (parsing) the target parameters of the event from the filtered event by finding named entities in the specified event.
[0021] В другом частном варианте осуществления профиль активности содержит по меньшей мере следующие метрики:[0021] In another particular embodiment, the activity profile comprises at least the following metrics:
• количество целевых событий за заданный интервал времени;• number of target events for a given time interval;
• временные метки первого и последнего целевого события;• timestamps of the first and last target event;
• идентификационные данные учетной записи.• account identification data.
[0022] Кроме того, заявленные технические результаты достигаются за счет системы определения активности учетных записей в вычислительной среде, содержащей: по меньшей мере один процессор; по меньшей мере одну память, соединенную с процессором, которая содержит машиночитаемые инструкции, которые при их выполнении по меньшей мере одним процессором обеспечивают выполнение способа определения активности учетных записей в вычислительной среде.[0022] In addition, the claimed technical results are achieved by a system for determining account activity in a computing environment, comprising: at least one processor; at least one memory connected to the processor, which contains machine-readable instructions that, when executed by at least one processor, ensure the execution of a method for determining account activity in a computing environment.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF DRAWINGS
[0023] Признаки и преимущества настоящего изобретения станут очевидными из приводимого ниже подробного описания изобретения и прилагаемых чертежей.[0023] The features and advantages of the present invention will become apparent from the following detailed description of the invention and the accompanying drawings.
[0024] Фиг. 1 иллюстрирует блок-схему выполнения заявленного способа.[0024] Fig. 1 illustrates a block diagram of the implementation of the claimed method.
[0025] Фиг. 2а и Фиг. 26 иллюстрирует пример сформированного профиля активности учетной записи в вычислительной среде.[0025] Fig. 2a and Fig. 26 illustrate an example of a generated profile of account activity in a computing environment.
[0026] Фиг. 3 иллюстрирует пример общего вида вычислительной системы, которая обеспечивает реализацию заявленного решения.[0026] Fig. 3 illustrates an example of a general view of a computing system that ensures the implementation of the claimed solution.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯIMPLEMENTATION OF THE INVENTION
[0027] Ниже будут описаны понятия и термины, необходимые для понимания данного технического решения. [0028] Модель в машинном обучении (МО) — совокупность методов искусственного интеллекта, характерной чертой которых является не прямое решение задачи, а обучение в процессе применения решений множества сходных задач.[0027] Below, the concepts and terms necessary for understanding this technical solution will be described. [0028] A model in machine learning (ML) is a set of artificial intelligence methods whose characteristic feature is not a direct solution to a problem, but learning in the process of applying solutions to many similar problems.
[0029] ROC-кривая - графическая характеристика качества бинарного классификатора, отражающая зависимость доли истинно-положительных классификаций от доли ложно-положительных классификаций при варьировании порога решающего правила.[0029] ROC curve is a graphical characteristic of the quality of a binary classifier, reflecting the dependence of the proportion of true-positive classifications on the proportion of false-positive classifications when varying the threshold of the decision rule.
[0030] Метрика AUC (Area Under Curve) - Количественная интерпретация ROC- кривой, характеризующая качество (точность) классификатора.[0030] AUC (Area Under Curve) metric - A quantitative interpretation of the ROC curve that characterizes the quality (accuracy) of the classifier.
[0031 ] Неструктурированные данные - данные, которые не соответствуют заранее определённой модели данных, и, как правило, представлены в форме текста с датами, цифрами, фактами, а также большим количеством технических данных, расположенными в нём в произвольной форме. Такие данные проблематично и трудно анализировать, что не позволяет своевременно получать необходимую информацию. [0032] Активность учетной записи - действия, совершаемые пользователем, владеющим учетной записью, в конкретной вычислительной среде с элементами указанной среды. К действиям пользователя относятся такие действия, как аутентификация, авторизация, чтение/запись данных из различных источников хранения, расположенных в вычислительной среде, а также другие виды взаимодействий с компонентами этой среды.[0031] Unstructured data - data that does not conform to a predetermined data model and is typically presented in the form of text with dates, numbers, facts, and a large amount of technical data located in it in any form. Such data is problematic and difficult to analyze, which does not allow for the timely receipt of necessary information. [0032] Account activity - actions performed by a user who owns an account in a specific computing environment with elements of the specified environment. User actions include actions such as authentication, authorization, reading/writing data from various storage sources located in the computing environment, as well as other types of interactions with components of this environment.
[0033] Событие информационной безопасности - идентифицированное появление определенного состояния системы, сервиса или сети, указывающего на возможное нарушение политики информационной безопасности или отказ защитных мер, или возникновение неизвестной ранее ситуации, которая может иметь отношение к безопасности. Так, событиями информационной безопасности могут являться такие события, как: неправомерный доступ к ресурсам, аномальное поведение учетной записи в вычислительной среде и т.д.[0033] An information security event is an identified occurrence of a certain state of a system, service, or network that indicates a possible violation of the information security policy or failure of protective measures, or the occurrence of a previously unknown situation that may be related to security. Thus, information security events may include such events as: unauthorized access to resources, abnormal behavior of an account in a computing environment, etc.
[0034] Заявленное техническое решение предлагает новый подход, обеспечивающий сокращение времени, затрачиваемого на формирование профиля активности учетной записи в вычислительной среде, что, как следствие, обеспечивает возможность проведения своевременного (пока данные являются актуальными) анализа указанных данных системой безопасности вычислительной среды для предотвращения и\или выявления событий информационной безопасности. Кроме того, указанное техническое решение обеспечивает возможность определения активности учетной записи в среде большого потока данных (Big Data) в приемлемое время, за счет алгоритма фильтрации большого потока данных. Также, реализация алгоритма фильтрации обеспечивает сокращения объема событий, хранящихся в памяти.[0034] The claimed technical solution proposes a new approach that reduces the time spent on forming an account activity profile in a computing environment, which, as a consequence, provides the ability to conduct a timely (while the data is relevant) analysis of the said data by the security system of the computing environment to prevent and/or detect information security events. In addition, the said technical solution provides the ability to determine account activity in a Big Data environment in an acceptable time, due to the Big Data filtering algorithm. Also, the implementation of the filtering algorithm ensures a reduction in the volume of events stored in memory.
[0035] Данное техническое решение может быть реализовано на компьютере, в виде автоматизированной информационной системы (АИС) или машиночитаемого носителя, содержащего инструкции для выполнения вышеупомянутого способа.[0035] This technical solution can be implemented on a computer, in the form of an automated information system (AIS) or a machine-readable medium containing instructions for performing the above-mentioned method.
[0036] Техническое решение может быть реализовано в виде распределенной компьютерной системы.[0036] The technical solution can be implemented in the form of a distributed computer system.
[0037] В данном решении под системой подразумевается компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, чётко определённую последовательность вычислительных операций (действий, инструкций).[0037] In this solution, the term “system” refers to a computer system, a computer (electronic computer), a numerical control (CNC), a PLC (programmable logic controller), computerized control systems, and any other devices capable of performing a given, clearly defined sequence of computing operations (actions, instructions).
[0038] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).[0038] A command processing unit is an electronic unit or integrated circuit (microprocessor) that executes machine instructions (programs).
[0039] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных, например, таких устройств как оперативно запоминающие устройства (ОЗУ) и/или постоянные запоминающие устройства (ПЗУ). В качестве ПЗУ могут выступать, но, не ограничиваясь, жесткие диски (HDD), флэш-память, твердотельные накопители (SSD), оптические носители данных (CD, DVD, BD, MD и т.п.) и др.[0039] The command processing unit reads and executes machine instructions (programs) from one or more data storage devices, such as random access memory (RAM) and/or read-only memory (ROM). ROM may include, but is not limited to, hard disk drives (HDD), flash memory, solid-state drives (SSD), optical storage media (CD, DVD, BD, MD, etc.), etc.
[0040] Программа — последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.[0040] A program is a sequence of instructions intended for execution by a computer control unit or command processing device.
[0041] Термин «инструкции», используемый в этой заявке, может относиться, в общем, к программным инструкциям или программным командам, которые написаны на заданном языке программирования для осуществления конкретной функции, такой как, например, получение артефактов программно-аппаратного решения, формирование цифрового стандарта программно-аппаратного решения, формирование результатов проверки программно-аппаратного решения, анализ данных и т. п. Инструкции могут быть осуществлены множеством способов, включающих в себя, например, объектно-ориентированные методы. Например, инструкции могут быть реализованы, посредством языка программирования C++, Java, Python, различных библиотек (например, MFC; Microsoft Foundation Classes) и т. д. Инструкции, осуществляющие процессы, описанные в этом решении, могут передаваться как по проводным, так и по беспроводным каналам передачи данных, например Wi-Fi, Bluetooth, USB, WLAN, LAN и т. п.[0041] The term "instructions" as used in this application may refer generally to software instructions or software commands that are written in a given programming language to perform a specific function, such as, for example, obtaining hardware and software solution artifacts, generating a digital standard for a hardware and software solution, generating verification results for a hardware and software solution, analyzing data, etc. The instructions may be implemented in a variety of ways, including, for example, object-oriented methods. For example, instructions can be implemented using the C++ programming language, Java, Python, various libraries (for example, MFC; Microsoft Foundation Classes), etc. Instructions implementing the processes described in this solution can be transmitted both via wired and wireless data transmission channels, such as Wi-Fi, Bluetooth, USB, WLAN, LAN, etc.
[0042] Обучение модели МО производилось на записях из журнала аудита корпоративной вычислительной среды. Для формирования обучающей выборки были предварительно отобраны примеры событий учётной записи, которые требуется отфильтровать из общего объёма неструктурированных данных. Также в обучающую выборку были добавлены прочие события учётной записи, не относящиеся к целевому событию, которое требовалось отфильтровать. Соотношение событий в общем объеме выборки составляло около 1/3 для целевого события и 2/3 для прочих событий. [0043] На момент создания модели был использован датасет (набор данных обучающей выборки) из 1 млн. размеченных записей, из них 400 тыс., которые соответствуют заданному целевому событию. Указанные события размечались меткой целевого класса. Остальные записи размечались меткой класса "OTHER". Результатом работы модели машинного обучения являлось решение задачи классификации, а именно задачи бинарной классификации элементов заданного множества в две группы. Указанный процесс обучения повторялся для каждого целевого события с соблюдением указанного выше соотношения. Таким образом, результатом обучения модели МО являлась по меньшей мере одна, обученная на распознавание всех целевых событий, МО на базе нейронной сети.[0042] The ML model was trained using records from the audit log of the corporate computing environment. To form the training sample, examples of account events were pre-selected to be filtered from the total volume of unstructured data. Other account events not related to the target event to be filtered were also added to the training sample. The ratio of events in the total sample was approximately 1/3 for the target event and 2/3 for other events. [0043] At the time of model creation, a dataset (training sample dataset) of 1 million labeled records was used, of which 400 thousand corresponded to the specified target event. The specified events were labeled with the target class label. The remaining records were labeled with the "OTHER" class label. The result of the machine learning model was the solution to the classification problem, namely the problem of binary classification of elements of a specified set into two groups. The above training process was repeated for each target event, observing the above ratio. Thus, the result of training the ML model was at least one ML based on a neural network, trained to recognize all target events.
[0044] Метрика качества AUC составляет 0.98 на выборке в 1 миллион записей из журнала аудита за 1 час. При этом в среднем отбирается 300-350 тыс. записей целевого класса.[0044] The AUC quality metric is 0.98 on a sample of 1 million records from the audit log for 1 hour. On average, 300-350 thousand records of the target class are selected.
[0045] Применение данного подхода позволяет исключить необходимость использования системы правил фильтрации на последующих этапах обработки событий, что значительно сокращает время извлечения необходимых событий и увеличивает скорость формирования профиля активности учетных записей за счет возможности эффективной обработки отфильтрованных событий. Также, данное решение не использует системы предварительного извлечения именованных сущностей при выявлении целевых событий, что также сокращает время и требуемые вычислительные ресурсы. Таким образом, при использовании заявленного технического решения, обеспечивается возможность быстрого и актуального поиска, за счет профиля активности учетных записей, учетных записей с аномальным поведением. Такой подход позволяет предотвратить и/или сократить время реагирования на угрозу информационной безопасности вычислительной среды.[0045] The use of this approach eliminates the need to use a filtering rule system at subsequent stages of event processing, which significantly reduces the time for extracting the necessary events and increases the speed of forming an account activity profile due to the ability to effectively process filtered events. Also, this solution does not use systems for preliminary extraction of named entities when identifying target events, which also reduces the time and required computing resources. Thus, when using the declared technical solution, provides the ability to quickly and relevantly search, due to the profile of account activity, accounts with abnormal behavior. This approach allows to prevent and/or reduce the response time to a threat to the information security of the computing environment.
[0046] На Фиг. 1 представлена блок схема способа 100 определения активности учетных записей в вычислительной среде, который раскрыт поэтапно более подробно ниже. Указанный способ 100 заключается в выполнении этапов, направленных на обработку различных цифровых данных. Обработка, как правило, выполняется с помощью системы, например, системы 300, которая может представлять, например, сервер, компьютер, мобильное устройство, вычислительное устройство и т. д. Более подробно элементы системы 300 раскрыты на Фиг. 3.[0046] Fig. 1 shows a block diagram of a method 100 for determining account activity in a computing environment, which is described in more detail step by step below. The method 100 includes performing steps aimed at processing various digital data. The processing is typically performed by a system, such as a system 300, which may represent, for example, a server, a computer, a mobile device, a computing device, etc. The elements of the system 300 are described in more detail in Fig. 3.
[0047] На этапе 110 получают неструктурированные данные об учетных записях. [0048] На указанном этапе 110 система 300 получает неструктурированные данные об учетных записях в вычислительной среде, причем указанные данные содержат по меньшей мере такие данные, как данные об идентификаторах учетных записей, данные о действиях учетных записей, время совершения действия учетными записями. Указанные данные содержаться в технических данных, что существенно усложняет процесс их поиска и извлечения. Стоит отметить, что под термином технические данные в данном решении следует понимать такие данные, которые изложены в неструктурированном виде. Т.е. извлечение конкретного типа (требуемых данных) из всего потока технических данных является нетривиальной задачей и требует использование дополнительных средств. Как упоминалось выше, неструктурированные данные содержат огромное количество различных данных, которые не имеют конкретной модели хранения данных. Так, в день, корпоративная вычислительная среда предприятия, работающего в среде больших данных (Big Data) может генерировать до 8-10 млрд, различных записей в журналах аудита (технических данных). Очевидно, что задача обработки такого объема данных для возможности формирования профиля активности конкретной учетной записи является сложной и нетривиальной задачей. При этом, скорость обработки данных напрямую коррелирует со скоростью определения инцидентов информационной безопасности в вычислительной среде, например, определение учетных записей с аномальным поведением. Именно на решение указанной задачи направлено заявленное техническое решение. Таким образом, определение профиль активности учетной записи также обеспечивает возможность выявления и\или предотвращения событий информационной безопасности, посредством анализа указанного профиля.[0047] At step 110, unstructured data about accounts is received. [0048] At said step 110, the system 300 receives unstructured data about accounts in the computing environment, wherein said data contains at least such data as data about account identifiers, data about account actions, time of account actions. Said data is contained in technical data, which significantly complicates the process of searching for and extracting them. It is worth noting that the term technical data in this solution should be understood as data that is presented in an unstructured form. That is, extracting a specific type (required data) from the entire flow of technical data is a non-trivial task and requires the use of additional means. As mentioned above, unstructured data contains a huge amount of different data that does not have a specific data storage model. Thus, per day, the corporate computing environment of an enterprise operating in a Big Data environment can generate up to 8-10 billion different records in audit logs (technical data). Obviously, the task of processing such a volume of data to be able to form an activity profile of a specific account is a complex and non-trivial task. At the same time, the speed of data processing directly correlates with the speed of identifying information security incidents in the computing environment, for example, identifying accounts with abnormal behavior. It is precisely at solving this problem that the declared technical solution is aimed. Thus, determining the activity profile of an account The recording also provides the ability to detect and/or prevent information security events by analyzing the specified profile.
[0049] Данные об учетных записях могут представлять собой, например, данные логов из источника хранения журналов аудита. Так, указанные неструктурированные данные содержат прямые и/или косвенные идентификаторы учётной записи. К таким идентификаторам могут относиться логин, имя пользователя / учётной записи, и/или другой идентификатор учётной записи, IP адрес. Также, среди неструктурированных данных содержится описание совершаемого действия и его результат, и/или тип, категория совершаемого действия. К таким действиям могут быть отнесены данные об аутентификации и авторизации, чтения/записи файлов, установления сессий с базой данных / хранилищем данных, выполнения запросов к данным и т.д. Кроме того, в таких данных также содержится информация о моменте времени, когда действие учётной записи было совершено и зафиксировано в вычислительной среде. Стоит отметить, что действием учетной записи в вычислительной среде может являться любое совершаемое действие пользователя, например, вход в приложение, перемещение по веб-страницы и т.д., не ограничиваясь.[0049] Account data may be, for example, log data from an audit log storage source. Thus, the specified unstructured data contains direct and/or indirect account identifiers. Such identifiers may include a login, username / account, and/or another account identifier, IP address. Also, the unstructured data contains a description of the action being performed and its result, and/or the type, category of the action being performed. Such actions may include data on authentication and authorization, reading / writing files, establishing sessions with a database / data storage, performing data queries, etc. In addition, such data also contains information about the point in time when the account action was performed and recorded in the computing environment. It is worth noting that an account action in the computing environment may be any user action performed, such as logging into an application, navigating through a web page, etc., without limitation.
[0050] Вычислительная среда может представлять, например, локальную вычислительную сеть предприятия, корпоративную сеть предприятия и т.д. Под предприятием может пониматься, любая организация, компания, фирма и т.д., обладающая структурной сетью связи. Источником хранения неструктурированных данных могут являться журналы аудита, например, хранилище Elasticsearch. Журнал аудита - это записи обо всех событиях в системе, включая доступ к ней и выполненные операций. Логи - это файлы, содержащие системную информацию о работе сервера или любой другой программы, в которые вносятся определённые действия пользователя или программы. Сбор логов может осуществляться инструментами Elasticsearch. Также, сбор логов может осуществляться сторонними приложениями, например, API приложениями, такими как Logstash, Fluentd и т.д. Указанные инструменты предназначены для ведения журнала аудита. Журнал аудита содержит в себе набор неструктурированной информации об учетных записях, например, в виде текстового файла. Так, журнал аудита может содержать большое количество логов различных событий, что существенно затрудняет возможности его обработки, а в условиях большого потока данных, делает получение необходимых данных в приемлемое время (пока данные актуальны) сложной и нетривиальной задачей. Как упоминалось выше, в журналы аудита ежедневно могут попадать миллиарды записей, из которых требуется получить данные по всем пользователям вычислительной среды предприятия и выделить ключевые события активности из общего потока событий, для формирования профиля активности учетной записи, чтобы, как следствие, обеспечить возможность дальнейшего определения и предотвращения инцидентов информационной безопасности.[0050] The computing environment may be, for example, a local area network of an enterprise, a corporate network of an enterprise, etc. An enterprise may be understood as any organization, company, firm, etc., that has a structural communication network. The source of storage of unstructured data may be audit logs, for example, the Elasticsearch storage. An audit log is a record of all events in the system, including access to it and operations performed. Logs are files containing system information about the operation of a server or any other program, in which certain actions of a user or program are entered. Log collection may be performed by Elasticsearch tools. Also, log collection may be performed by third-party applications, for example, API applications such as Logstash, Fluentd, etc. The specified tools are intended for maintaining an audit log. An audit log contains a set of unstructured information about accounts, for example, in the form of a text file. Thus, the audit log may contain a large number of logs of various events, which significantly complicates the possibilities of its processing, and in conditions of a large data flow, makes obtaining the necessary data in an acceptable time (while the data is relevant) a complex and non-trivial task. As mentioned above, billions of records can get into audit logs daily, from which it is necessary to obtain data on all users of the enterprise computing environment and to select key activity events from the general flow of events in order to form an account activity profile, in order, as a result, to ensure the possibility of further identification and prevention of information security incidents.
[0051] Для решения указанной проблемы, в настоящем техническом решении осуществляется обработка неструктурированных данных, полученных на этапе 110, для обеспечения возможности своевременного получения ключевых событий активности учетных записей и эффективного выявления параметров из указанных ключевых событий на основе которых обеспечивается возможность быстрого и эффективного определения аномального поведения учетных записей (этап 120).[0051] To solve the specified problem, the present technical solution processes the unstructured data obtained at step 110 to ensure the possibility of timely receipt of key events of account activity and the effective identification of parameters from the specified key events on the basis of which the possibility of quickly and effectively determining anomalous behavior of accounts is ensured (step 120).
[0052] Так, для возможности определения активности учетной записи требуется получить данные, касающиеся того, какой пользователь, когда и к каким данным (например, к репликам и таблицам) обращался. Указанные данные собираются в журнале аудита, например, в предпочтительном варианте реализации настоящего технического решения, в виде логов протокола аутентификации (логи HDFS (Hadoop Distributed File System)), однако, как упоминалось выше, ввиду огромного количества логов других протоколов, содержащихся в указанном журнале и неструктурированном виде, в котором получаемые логи хранятся, выделение требуемых логов является сложной и нетривиальной задачей.[0052] Thus, in order to be able to determine the activity of an account, it is necessary to obtain data concerning which user, when and to which data (for example, to replicas and tables) was accessed. The said data is collected in an audit log, for example, in the preferred embodiment of the present technical solution, in the form of authentication protocol logs (HDFS (Hadoop Distributed File System) logs), however, as mentioned above, due to the huge number of logs of other protocols contained in the said log and the unstructured form in which the obtained logs are stored, the selection of the required logs is a complex and non-trivial task.
[0053] Так, на этапе 120 выполняется обработка данных, полученных на этапе 110, с помощью фильтрации указанных данных с применением модели машинного обучения на базе нейронной сети, описанной выше. Данные об используемой модели машинного обучения были приведены выше.[0053] Thus, at step 120, the data obtained at step 110 is processed by filtering said data using the machine learning model based on the neural network described above. The data on the machine learning model used were given above.
[0054] На указанном этапе 120, из записей журнала аудита выделяются все целевые события, необходимые для формирования профиля активности учетной записи. Целевые события содержатся в действиях пользователя. Сложность выделения событий заключается в том, что одно действие пользователя может содержать несколько событий, которые требуется выделить из массива неструктурированных данных. Так, например, запрос пользователя на изменение данных в хранилище вычислительной среды содержит два события, где первое событие — это обращение к хранилищу, а второе событие — это внесение изменений в данные в указанном хранилище. Событие в неструктурированном наборе данных представлено в виде текстового лога, например, лога обращения к хранилищу и т.д. [0055] Так, например, из неструктурированных данных выделяются события, относящиеся к логам протокола аутентификации. Стоит отметить, что в одном частном варианте осуществления, профиль активности может содержать наборы метрик, связанных с разными целевыми событиями.[0054] At the specified step 120, all target events necessary for forming an account activity profile are extracted from the audit log records. Target events are contained in user actions. The complexity of event extraction lies in the fact that one user action may contain several events that need to be extracted from an array of unstructured data. For example, a user request to change data in a storage of a computing environment contains two events, where the first event is an access to the storage, and the second event is a change to the data in the specified storage. An event in an unstructured data set is represented as a text log, for example, a log of an access to the storage, etc. [0055] For example, events related to authentication protocol logs are extracted from unstructured data. It is worth noting that in one particular embodiment, the activity profile may contain sets of metrics related to different target events.
[0056] Так, протокол аутентификации содержит следующие целевые параметры, которые необходимо извлечь: учетную запись, запрашивающую аутентификацию, тип учетной записи (например, технологическая или пользовательская), домен учетной записи, IP адрес учетной записи, область ресурса, откуда пришла учетная запись, критичность, имя хоста, время и дата.[0056] Thus, the authentication protocol contains the following target parameters that need to be extracted: the account requesting authentication, the account type (for example, technological or user), the account domain, the account IP address, the resource area from which the account came, the criticality, the host name, the time and date.
[0057] С помощью указанных параметров, в дальнейшем, определяется какой пользователь (пользовательская учетная запись\ технологическая учетная запись, ПУЗ/ТУЗ), где (ip, host, domain) и когда (в рабочее/не рабочее время) произвел аутентификацию, также определяется частота аутентификации в разрезах временных интервалов, сетевых диапазонов и контекста приложений; отклонение от среднего количества аутентификаций одним пользователем и т.д.[0057] Using the specified parameters, it is further determined which user (user account\technological account, PUA/TUZ), where (ip, host, domain) and when (during working/non-working hours) performed authentication, the authentication frequency is also determined in terms of time intervals, network ranges and application context; deviation from the average number of authentications by one user, etc.
[0058] Для выполнения указанных действий, данные об учетной записи, полученные на этапе ПО токенизируются и векторизуются. Поток логов, представленный в журнале аудита разбивается на равные отрезки и токенизируется. Под токеном в данном решении следует понимать последовательность символов в документе, которая имеет значение для анализа. Так, токенами могут являться, например, отдельные слова, выражения, написанные на языке программирования и т.д. После токенизации данных выполняется векторизация каждого токена, например, с помощью прямого кодирования (one shot encoding). Так, например, при токенизации на основе алгоритма ВРЕ, каждый токен, полученный в ходе указанного процесса токенизации, представлен в словаре своим индексом, отображающий позицию в указанном словаре. Таким образом, каждый токен представляет бинарный вектор (значения 0 или 1), а единица ставится тому элементу, который соответствует номеру токена в словаре, что позволяет представить каждый токен в виде вектора фиксированной длины, соответствующей размерности словаря. Далее, выполняют преобразование вектора каждого токена, полученного в ходе векторизации, в вектор вероятностей принадлежности соответствующего токена заданному классу. Так, вектор каждого токена подается в классификатор. В качестве классификатора может быть использован, например, бинарный классификатор. Результатом применения этого классификатора к вектору является вектор вероятностей принадлежности соответствующего токена заданному классу. Так, например, в качестве целевого класса может быть задан лог аутентификации, например, Kerberos log/hadoop- hdfs/hdfs-audit.log. Указанный лог содержит информацию об аутентификации учетной записи в вычислительной среде.[0058] To perform the specified actions, the account data obtained at the software stage are tokenized and vectorized. The log stream presented in the audit log is divided into equal segments and tokenized. In this solution, a token should be understood as a sequence of characters in a document that is important for analysis. Thus, tokens can be, for example, individual words, expressions written in a programming language, etc. After data tokenization, each token is vectorized, for example, using direct encoding (one shot encoding). For example, when tokenizing based on the BPE algorithm, each token obtained during the specified tokenization process is represented in the dictionary by its index, which displays the position in the specified dictionary. Thus, each token represents a binary vector (values 0 or 1), and one is assigned to the element that corresponds to the token number in the dictionary, which allows each token to be represented as a vector of a fixed length corresponding to the dictionary dimension. Next, the vector of each token obtained during vectorization is transformed into a vector of probabilities of the corresponding token belonging to a given class. Thus, the vector of each token is fed into the classifier. For example, a binary classifier can be used as a classifier. The result of applying this classifier to the vector is a vector of probabilities of belonging corresponding token to the specified class. For example, the target class can be an authentication log, such as Kerberos log/hadoop-hdfs/hdfs-audit.log. The specified log contains information about the authentication of an account in the computing environment.
[0059] Пример типового лога аудита протокола аутентификации:[0059] Example of a typical authentication protocol audit log:
{' index': 'logs-megapack-ipa-2023.01.24.00', '_type': '_doc', '_id': 'xo-{'index':'logs-megapack-ipa-2023.01.24.00','_type ': '_doc', '_id': 'xo-
H4IUB4pCqlPMe7RnW', ' score': 0.0, ' source': {'type_id': 'Audit', 'krb5kdc_hostname': 'pvli-um0023.df.sbrf.ru', 'krb5kdc_client': '16989043_omega-sbrf-ru', 'log': {'file': {'path': 7var/log/krb5kdc.log'}, 'offset': 536416945}, 'message': 'Jan 24 00:28:00 pvli- um0023.df.sbrf.ru krb5kdc[4267](info): TGS REQ (4 etypes {18 17 16 23}) 10.114.16.60: ISSUE: authtime 1674509279, etypes {rep=18 tkt=18 ses=18}, 16989043_omega-sbrf- ru@DF.SBRF.RU for hdfs/pklis-mvp002747.1abiac.df.sbrf.ru@DF.SBRF.RU', 'krb5kdc_level': 'info', 'krb5kdc_etypes_count': '4', '@version': 'Г, 'krb5kdc_etype_rep': '18', 'ls_processed_idxstamp': '2023.01.24.00', 'krb5kdc_req_status': 'ISSUE', 'input': {'type': 'filestream'}, 'time_lag2': 2, 'krb5kdc_authtime': '1674509279', 'krb5kdc_client_realm': 'DF.SBRF.RU', 'agent': {'id': 'a7fe3265-887a-4215-a0fa-e093d6b89947', 'hostname': 'pvli- um0023.df.sbrf.ru', 'name': 'pvli-um0023.df.sbrf.ru', 'version': '7.16.3', 'ephemeral id': '040723c7-fad7-4a71-8742-3e7f90648197', 'type': 'filebeat'}, 'ecs': {'version': '1.12.0'}, 'ls_processed_timestamp': '2023-01-23T21:28:02.487Z', 'krb5kdc_client_etypes': '18 17 16 23', 'krb5kdc_service': 'krb5kdc', 'krb5kdc_server': 'hdfs/pklis-mvp002747. labiac.df.sbrf.ru', 'syslog timestamp': 'Jan 24 00:28:00', 'krb5kdc_server_realm': 'DF.SBRF.RU',H4IUB4pCqlPMe7RnW', 'score': 0.0, 'source': {'type_id': 'Audit', 'krb5kdc_hostname': 'pvli-um0023.df.sbrf.ru', 'krb5kdc_client': '16989043_omega-sbrf-ru', 'log': {'file': {'path': 7var/log/krb5kdc.log'}, 'offset': 536416945}, 'message': 'Jan 24 00:28:00 pvli-um0023.df.sbrf .ru krb5kdc[4267](info): TGS REQ (4 etypes {18 17 16 23}) 10.114.16.60: ISSUE: authtime 1674509279, etypes {rep=18 tkt=18 ses=18}, 16989043_omega-sbrf- ru@DF.SBRF.RU for hdfs/pklis-mvp002747.1abiac.df.sbrf. ru@DF.SBRF.RU', 'krb5kdc_level': 'info', 'krb5kdc_etypes_count': '4', '@version': 'G, 'krb5kdc_etype_rep': '18', 'ls_processed_idxstamp': '2023.01.24.00' , 'krb5kdc_req_status': 'ISSUE', 'input': {'type': 'filestream'}, 'time_lag2': 2, 'krb5kdc_authtime': '1674509279', 'krb5kdc_client_realm': 'DF.SBRF.RU', 'agent ': {'id': 'a7fe3265-887a-4215-a0fa-e093d6b89947', 'hostname': 'pvli-um0023.df.sbrf.ru', 'name': 'pvli-um0023.df.sbrf.ru' , 'version': '7.16.3', 'ephemeral id': '040723c7-fad7-4a71-8742-3e7f90648197', 'type': 'filebeat'}, 'ecs': {'version': '1.12.0'}, 'ls_processed_timestamp': '2023-01-23T21:28: 02.487Z', 'krb5kdc_client_etypes': '18 17 16 23', 'krb5kdc_service': 'krb5kdc', 'krb5kdc_server': 'hdfs/pklis-mvp002747. labiac.df.sbrf.ru', 'syslog timestamp': 'Jan 24 00:28:00', 'krb5kdc_server_realm': 'DF.SBRF.RU',
'krb5kdc_etype_ses': '18', 'tags': ['file', 'prod', 'ipa', 'krb5kdc', 'kerberos', 'heavy', 'calculated diff, 'host hash', 'params unknown', 'parsed kerberos'], 'krb5kdc_reqtype': 'TGS REQ', 'krb5kdc_pid': '4267', 'environment': 'prod', 'Is hostname': 'pvlas- log000226.log.df.sbrf.ru', 'krb5kdc_etype_tkt': '18', '@timestamp': '2023-01- 23T21:28:00.688Z', 'app id': 'kerberos', 'host_h': {'name': 'pvli-um0023.df.sbrf.ru'}, 'krb5kdc_clientip': '10.114.16.60', 'cluster name': 'ipa'}}'krb5kdc_etype_ses': '18', 'tags': ['file', 'prod', 'ipa', 'krb5kdc', 'kerberos', 'heavy', 'calculated diff, 'host hash', 'params unknown' , 'parsed kerberos'], 'krb5kdc_reqtype': 'TGS REQ', 'krb5kdc_pid': '4267', 'environment': 'prod', 'Is hostname': 'pvlas-log000226.log.df.sbrf.ru' , 'krb5kdc_etype_tkt': '18', '@timestamp': '2023-01- 23T21:28:00.688Z', 'app id': 'kerberos', 'host_h': {'name': 'pvli-um0023.df.sbrf.ru'}, 'krb5kdc_clientip': '10.114.16.60', ' cluster name': 'ipa'}}
[0060] События, которые выделяем - факты аутентификации с деталями и контекстом:[0060] The events we highlight are authentication facts with details and context:
[0061] Таким образом, из всех логов, связанных с целевыми событиями, осуществляется извлечение целевых событий.[0061] Thus, from all logs associated with target events, target events are extracted.
[0062] В качестве нейронной сети может быть использована, например, нейронная сеть сверточная нейронная сеть и т.д., не ограничиваясь. В одном частном варианте осуществления модель МО может представлять собой модель классификации на базе Catboost. Данные, относящиеся к заданному классу сохраняются в памяти для последующей обработки, например, в памяти системы 300. [0063] В соответствии с вышеописанным принципом фильтрации, из неструктурированного набора данных выделяются все целевые события и идентификаторы учетных записей. Стоит отметить, что в одном частном варианте осуществления вычислительное устройство может содержать несколько моделей МО, обученных на разные типы целевых событий.[0062] For example, a neural network, a convolutional neural network, etc., can be used as a neural network, without limitation. In one particular embodiment, the ML model can be a classification model based on Catboost. Data related to a given class is stored in memory for subsequent processing, for example, in the memory of the system 300. [0063] In accordance with the above-described filtering principle, all target events and account identifiers are selected from the unstructured data set. It is worth noting that in one particular embodiment, the computing device can contain several ML models trained for different types of target events.
[0064] Таким образом, на указанном этапе 120 выделяются требуемые записи (данные) об учетных записях из всего набора неструктурированных данных. Указанный этап позволяет сократить количество обрабатываемых далее данных в десятки раз. Так, в результате эксплуатации заявленного решения на предприятии, количество записей в журнале аудита для последующей обработки сократилось с 8 млрд до 400-450 тыс. Также, указанный этап позволяет исключить системы предварительного извлечения именованных сущностей при выявлении целевых событий, используемые в уровне техники, что сокращает время и требуемые вычислительные ресурсы. Кроме того, исключение системы предварительного извлечения именованных сущностей также позволяет исключить этап фильтрации контента с помощью правил.[0064] Thus, at the specified stage 120, the required records (data) on the accounts are selected from the entire set of unstructured data. The specified stage allows to reduce the amount of data processed further by tens of times. Thus, as a result of the operation of the declared solution at the enterprise, the number of records in the audit log for subsequent processing was reduced from 8 billion to 400-450 thousand. Also, the specified stage allows to exclude the systems of preliminary extraction of named entities when identifying target events used in the state of the art, which reduces the time and required computing resources. In addition, the exclusion of the system of preliminary extraction of named entities also allows to exclude the stage of content filtering using rules.
[0065] Далее, на этапе 130 осуществляется дальнейшая обработка данных, полученных на этапе 120 с помощью выделения конкретных параметров.[0065] Next, at step 130, further processing of the data obtained at step 120 is performed by selecting specific parameters.
[0066] На этапе 130 осуществляют обработку данных, полученных на этапе 120, в результате которой структурируют и нормализуют данные об описании события, причем структуризация осуществляется на основе выделения по меньшей мере идентификаторов учетной записи и выделении характерных для данного типа события параметров из события, полученного в результате фильтрации.[0066] At step 130, the data obtained at step 120 is processed, as a result of which the data on the description of the event is structured and normalized, wherein the structuring is carried out on the basis of the selection of at least account identifiers and extracting parameters specific to a given event type from the event obtained as a result of filtering.
[0067] На указанном этапе 130 из целевых отфильтрованных событий выделяются параметры указанных событий, характерные для данного типа события. Отфильтрованное событие содержит в себе описание указанного события, а также сопутствующую техническую информацию. С учетом объема данных, полученных в результате фильтрации, наличие технических данных не позволяет беспрепятственно определить параметры события, которые можно было бы интерпретировать в человеко-читаемую форму (профиль активности учетной записи).[0067] At the specified step 130, the parameters of the specified events, characteristic of the given event type, are extracted from the target filtered events. The filtered event contains a description of the specified event, as well as accompanying technical information. Given the volume of data obtained as a result of filtering, the presence of technical data does not allow for the unimpeded determination of the parameters of the event, which could be interpreted in a human-readable form (account activity profile).
[0068] Так, на этапе 130, полученные на этапе 120 данные нормализуют, например, очищая от заголовков, повторяющихся данных и т.д. Так, нормализация данных также может включать по меньшей мере устранение из полученного массива данных нецелевых записей. Указанный этап 130 может выполняться, например, при помощи выделения требуемых данных посредством цикла поиска по словарю. Указанный поиск по словарю широко известен из уровня тенхики, см. например, https://ru.wikijoumal.org/wiki/LlHiuibi со словарями в Python, найдено в Интернет, 25.02.2022. После этого происходит структуризация указанных данных. Для этого из неструктурированного текста описания события выделяют прямые и/или косвенные идентификаторы учётной записи (логин, имя пользователя / учётной записи, и/или другой идентификатор учётной записи, ip адрес), временную метку события, название события, идентификаторы и названия объектов события — таких, как базы/хранилища данных, таблицы, файлы и т.п.[0068] Thus, at step 130, the data obtained at step 120 is normalized, for example, by clearing headers, repeating data, etc. Thus, the data normalization may also include at least the elimination of non-target records from the obtained data array. The said step 130 may be performed, for example, by selecting the required data using a dictionary search cycle. The said dictionary search is widely known from the tenhics level, see, for example, https://ru.wikijoumal.org/wiki/LlHiuibi with dictionaries in Python, found on the Internet, 02/25/2022. After this, the said data is structured. To do this, direct and/or indirect account identifiers (login, username/account, and/or other account identifier, IP address), event timestamp, event name, identifiers and names of event objects, such as databases/data warehouses, tables, files, etc., are extracted from the unstructured text of the event description.
[0069] Структуризация осуществляется на основе сопоставления параметров из отфильтрованного события с известными, для такого типа события, параметрами. Указанное выделение параметров события может выполняться, например, процедурой парсинга данных параметров в указанном событии, например, посредством регулярных выражений, выделения подстроки по позиции, и/или моделью выделения именованных сущностей.[0069] The structuring is performed based on a comparison of parameters from the filtered event with known parameters for this type of event. The specified extraction of event parameters can be performed, for example, by a procedure for parsing the parameter data in the specified event, for example, by means of regular expressions, substring extraction by position, and/or a named entity extraction model.
[0070] Так, например, для события протокола аутентификации, из указанного события (текстового файла из журнала аудита) выделяются параметры за определенный (заданный) временной период: параметры идентифицируемые учетную запись (логин, имя пользователя), статус прохождения аутентификации (успешная/неуспешная), количество попыток прохождения аутентификации за выбранный временной период, элемент вычислительной среды, к которому осуществлялась попытка аутентификации и т.д. Указанные параметры также могут быть сохранены в хранилище вычислительной среды, например, в виде текстового файла.[0070] For example, for an authentication protocol event, parameters for a certain (specified) time period are extracted from the specified event (a text file from the audit log): parameters identifying the account (login, user name), authentication status (successful/unsuccessful), the number of authentication attempts for the selected time period, the element of the computing environment to which an attempt was made to authenticate, etc. The specified parameters can also be saved in the storage of the computing environment, for example, in the form of a text file.
[0071 ] Возвращаясь к примеру лога аутентификации, описанному в абзаце [0059], описанием целевых событий будет являться непосредственно информация, содержащаяся в заголовке события. Так, например, из целевого параметра client (учетная запись), будет выделено следующее название учетной записи - 16989043, client type - user (пользовательская учетная запись), домен - omega-sbrf-ru (внутренний домен предприятия), client ip - 10.114.16.60, action - hdfs, level — info, host name - 'pvli-um0023.df.sbrf.ru, timestamp - 2023-01-23T21:28:00, количество попыток аутентификации - количество обращений пользователя к серверу (в настоящем примере = 1) и т.д. При этом, как указывалось выше, вся нецелевая и\или повторяющаяся информация будет также отфильтрована.[0071] Returning to the authentication log example described in paragraph [0059], the description of the target events will be the information contained in the event header itself. For example, from the target parameter client (account), the following account name will be extracted - 16989043, client type - user (user account), domain - omega-sbrf-ru (internal enterprise domain), client ip - 10.114.16.60, action - hdfs, level - info, host name - 'pvli-um0023.df.sbrf.ru, timestamp - 2023-01-23T21:28:00, number of authentication attempts - the number of user requests to the server (in this example = 1), etc. At the same time, as indicated above, all non-target and/or repeating information will also be filtered.
[0072] Таким образом на этапе 130 выделяются параметры целевого события, связанные с действием, совершенным учетной записью. Указанный этап также позволяет сократить количество хранящихся записей в вычислительной среде в 3-5 раз.[0072] Thus, at step 130, the parameters of the target event associated with the action performed by the account are selected. This step also makes it possible to reduce the number of records stored in the computing environment by 3-5 times.
[0073] На этапе 140 осуществляют формирование профиля активности учетной записи[0073] At step 140, an account activity profile is generated.
[0074] Указанный процесс может быть реализован, например, в графическом интерфейсе системы 300. В еще одном частном варианте осуществления, профиль пользователя может представлять собой текстовый файл с упорядоченной структурой данных, указанный файл также может быть сохранен в системе 300.[0074] The specified process can be implemented, for example, in the graphical interface of the system 300. In another particular embodiment, the user profile can be a text file with an ordered data structure, the specified file can also be stored in the system 300.
[0075] Формирование профиля активности учетной записи осуществляется с помощью агрегации параметров целевых событий и кластеризации указанных параметров в соответствии с типами совершаемых действий учетной записи. Примеры сформированного профиля активности показаны на фиг. 2а и фиг. 26.[0075] The formation of an account activity profile is carried out by aggregating the parameters of target events and clustering the said parameters in accordance with the types of account actions performed. Examples of the formed activity profile are shown in Fig. 2a and Fig. 26.
[0076] Так, в одном частном варианте осуществления (фиг. 2а), профиль активности учетной записи будет содержать такие параметры, как: Автоматизированные системы (АС) к которым осуществлялся доступ (блок Источники в верхнем левом углу), число сессий с использованием ПУЗ/ТУЗ, число подключений к АС из офиса, число подключений без формализованного оформления заявок. Так, количество подключений к АС формируется на основе успешных попыток аутентификации пользователя и т.д. [0077] На фиг. 26 показано продолжение параметров, содержащихся в профиле активности, например, IP и время подключения, заявка на обслуживание, в рамках которой предоставлялся доступ и т.д.[0076] Thus, in one particular embodiment (Fig. 2a), the account activity profile will contain such parameters as: Automated systems (AS) accessed (the Sources block in the upper left corner), the number of sessions using the PUS/TUZ, the number of connections to the AS from the office, the number of connections without formalized registration of applications. Thus, the number of connections to the AS is formed on the basis of successful attempts to authenticate the user, etc. [0077] Fig. 26 shows a continuation of the parameters contained in the activity profile, such as the IP and connection time, the service request within which access was granted, etc.
[0078] Таким образом, на основе агрегаций всех параметров, характерных для данного типа события, полученного в результате фильтрации, формируется профиль активности учетной записи по меньшей мере одного пользователя.[0078] Thus, based on the aggregations of all parameters characteristic of a given type of event obtained as a result of filtering, an activity profile of the account of at least one user is formed.
[0079] Таким образом, на указанном этапе 140 выполняется формирование профиля активности для всех исследуемых учетных записей.[0079] Thus, at the specified step 140, an activity profile is formed for all the accounts being examined.
[0080] Далее, на этапе 150 указанный профиль активности передается в систему безопасности вычислительной среды.[0080] Next, at step 150, the specified activity profile is transmitted to the security system of the computing environment.
[0081] Так, указанная система информационной безопасности на основе сформированного профиля активности учетных записей выполнена с возможностью определения аномального поведения по меньшей мере одной учетной записи.[0081] Thus, the specified information security system, based on the generated profile of account activity, is designed with the ability to determine the abnormal behavior of at least one account.
[0082] В одном частном варианте осуществления аномальное поведение учетных записей может быть определено посредством определения отклонения действий учетной записи от исторического профиля, характеризующего обычное поведение указанной учетной записи. Указанное действие может быть реализовано с помощью вычислительных средств системы 300, например, сервером, содержащим модуль определения аномального поведения учетных записей. Указанный модуль может представлять собой как программное, так и программно-аппаратное средство, например, процессор. Так, указанный модуль выполнен с возможностью осуществлять сбор событий учетных записей за первый выбранный период. Заданный первый временной период может представлять, например, 7 суток, 14 суток и т.д. В другом частном варианте осуществления события учетных записей могут поступать из хранилища журналов аудита за соответствующий период и подаваться в модуль определения аномального поведения для обработки. Стоит отметить, что настоящие варианты осуществления подразумевают как возможность анализа какого-то определенного кластера сотрудников, например, отдела, направления и т.д., так и других различных групп, выбранных администратором системы информационной безопасности (например, территориального расположения и/или принадлежности). По каждой требуемой учетной записи далее может быть сформирован исторический профиль, содержащий по меньшей мере среднее время, проведенное учетной записью в каждой БД предприятия, количество БД предприятия, посещаемое пользователем, временная активность пользователя, количество успешных\неуспешных попыток входа и т.д.[0082] In one particular embodiment, anomalous behavior of accounts may be determined by determining a deviation of account actions from a historical profile characterizing the normal behavior of said account. Said action may be implemented using computing means of system 300, for example, by a server containing a module for determining anomalous behavior of accounts. Said module may be either software or hardware and software, for example, a processor. Thus, said module is configured to collect account events for a first selected period. The specified first time period may be, for example, 7 days, 14 days, etc. In another particular embodiment, account events may be received from an audit log repository for the corresponding period and fed to the module for determining anomalous behavior for processing. It is worth noting that the present embodiments imply both the possibility of analyzing a certain cluster of employees, for example, a department, a direction, etc., and other various groups selected by the administrator of the information security system (for example, territorial location and/or affiliation). For each required account, a historical profile can then be generated containing at least the average time spent by the account in each enterprise database, the number of enterprise databases visited by the user, temporary user activity, number of successful/unsuccessful login attempts, etc.
[0083] Для идентификации отклонений в поведении учетной записи, система также выполнена с возможностью сбора данных за второй временной период. Вторым временным периодом может являться непосредственно период получения данных об учетных записях, близкий к реальному времени. Как описывалось выше, за счет выполнения этапов 120-140 обеспечивается возможность своевременного получения требуемых данных для обеспечения более эффективного и быстрого процесса выявления учетных записей с аномальным поведением. На основе данных, собранных за второй временной период, также формируется текущий профиль пользователя. После формирования текущего профиля, указанный профиль сравнивается с историческим профилем. Для измерения величины отклонения между профилями, указанные профили сравниваются, например, при помощи функции расстояния, такой как среднеквадратическая ошибка, расхождение Кульбака-Либлера или средней абсолютной ошибки. При отклонении между профилями более чем на пороговое значение, поведение учетной записи определяется как аномальное поведение. После этого к такой учетной записи могут быть применены меры безопасности, например, автоматическая временная блокировка указанной записи, уведомление о необходимости связаться со службой безопасности предприятия, блокировка доступа к критическим системам предприятия, комбинация вышеуказанных мер и т.д.[0083] In order to identify deviations in the account behavior, the system is also configured to collect data for a second time period. The second time period may be the period of receiving the account data itself, close to real time. As described above, by performing steps 120-140, it is possible to obtain the required data in a timely manner to ensure a more efficient and faster process for identifying accounts with anomalous behavior. Based on the data collected for the second time period, a current user profile is also formed. After forming the current profile, said profile is compared with the historical profile. In order to measure the amount of deviation between the profiles, said profiles are compared, for example, using a distance function, such as the mean square error, the Kullback-Leibler divergence, or the mean absolute error. If the deviation between the profiles is more than a threshold value, the account behavior is determined as anomalous behavior. After this, security measures may be applied to such an account, such as automatic temporary blocking of the specified account, notification of the need to contact the enterprise security service, blocking access to critical enterprise systems, a combination of the above measures, etc.
[0084] Кроме того, в некоторых частных вариантах осуществления на основе данных, полученных на этапе 140 также могут осуществляться и другие действия, направленные на сохранность информационной безопасности предприятия. Так, может быть осуществлен мониторинг по выявлению пользовательских учетных записей, генерирующих подозрительную активность. В результате такого мониторинга выявляются сотрудники предприятия, которые генерировали чрезмерную нагрузку под своей персональной учетной записью, хотя подобные активности разрешены только для технологических учетных записей. Кроме того, в еще одном частном варианте осуществления может быть осуществлен мониторинг обращения пользователей к репликам, к которым у указанного пользователя отсутствуют права обращаться. Например, посредством определения выхода пользователя в другие БД, которые по роду деятельности не должны использоваться указанным пользователем. Подобный мониторинг может быть осуществлен через BI- системы типа Qlik Sense, Apache SuperSet и т.п. посредством отрисовки и подсвечивания целевых событий в Гистограммах и Метриках, с дополнительной возможностью автоматической рассылки информационных писем ответственным офицерам кибербезопасности.,[0084] In addition, in some particular embodiments, other actions aimed at preserving the information security of the enterprise can also be carried out based on the data obtained at step 140. Thus, monitoring can be carried out to identify user accounts that generate suspicious activity. As a result of such monitoring, employees of the enterprise who have generated an excessive load under their personal account are identified, although such activities are only permitted for technological accounts. In addition, in another particular embodiment, monitoring of user access to replicas to which the specified user does not have the rights to access can be carried out. For example, by determining the user's access to other DBs that, due to the nature of their activities, should not be used by the specified user. Such monitoring can be carried out through BI systems such as Qlik Sense, Apache SuperSet, etc. by rendering and highlighting target events in Histograms and Metrics, with the additional ability to automatically send out informational emails to responsible cybersecurity officers.
[0085] Кроме того, в еще одном частном варианте осуществления, профиль пользователя может быть дополнен данными из смежных систем, например, данными от СКУД, HR, статистических характеристик использования устройств ввода, слепков используемых устройств пользователя и т.д. В указанном варианте осуществления, система безопасности вычислительной среды, на основании экстрагированной информации о профиле активности учетной записи может отслеживать отклонение профиля от допустимых границ. Например, при наличии слепка устройства (авторизация устройства по МАС адресу в системе безопасности) и средней частоты аутентификации в АС предприятия, отклонением будет являться выход хотя бы одного параметра за пределы нормы (например, вход с другого устройства). При этом, при определении такого отклонения система безопасности может временно заблокировать учетную запись и\или запросить дополнительную аутентификацию, например, посредством известного устройства.[0085] In addition, in another particular embodiment, the user profile can be supplemented with data from related systems, such as data from the ACS, HR, statistical characteristics of the use of input devices, snapshots of the user's devices, etc. In this embodiment, the security system of the computing environment, based on the extracted information about the account activity profile, can track the profile deviation from acceptable limits. For example, in the presence of a device snapshot (device authorization by MAC address in the security system) and an average authentication frequency in the enterprise AS, a deviation will be the exit of at least one parameter beyond the norm (for example, login from another device). In this case, upon determining such a deviation, the security system can temporarily block the account and/or request additional authentication, for example, by means of a known device.
[0086] Таким образом, в представленных материалах заявки раскрыт способ определения активности учетной записи в вычислительной среде, который обеспечивает быструю и эффективную возможность получения данных об активности учетных записей даже в среде большого потока данных (Big Data).[0086] Thus, the submitted application materials disclose a method for determining account activity in a computing environment that provides a fast and efficient way to obtain data on account activity even in a Big Data environment.
[0087] На Фиг. 3 представлен пример общего вида вычислительной системы (300), которая обеспечивает реализацию заявленного способа или является частью компьютерной системы, например, сервером, персональным компьютером, частью вычислительного кластера, обрабатывающим необходимые данные для осуществления заявленного технического решения.[0087] Fig. 3 shows an example of a general view of a computing system (300) that ensures the implementation of the claimed method or is part of a computer system, for example, a server, a personal computer, part of a computing cluster, processing the necessary data for implementing the claimed technical solution.
[0088] В общем случае система (300) содержит такие компоненты, как: один или более процессоров (301), по меньшей мере одну память (302), средство хранения данных (303), интерфейсы ввода/вывода (304), средство В/В (305), средство сетевого взаимодействия (306), которые объединяются посредством универсальной шины.[0088] In general, the system (300) comprises components such as: one or more processors (301), at least one memory (302), data storage means (303), input/output interfaces (304), I/O means (305), network interaction means (306), which are connected via a universal bus.
[0089] Процессор (301) выполняет основные вычислительные операции, необходимые для обработки данных при выполнении способа (100). Процессор (301) исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти (302). [0090] Память (302), как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал.[0089] The processor (301) performs the basic computing operations necessary for processing the data when performing the method (100). The processor (301) executes the necessary machine-readable instructions contained in the RAM (302). [0090] The memory (302) is typically in the form of RAM and contains the necessary software logic to provide the required functionality.
[0091] Средство хранения данных (303) может выполняться в виде HDD, SSD дисков, рейд массива, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т. п. Средства (303) позволяют выполнять долгосрочное хранение различного вида информации, например истории обработки транзакционных запросов (логов), идентификаторов пользователей и т. п.[0091] The data storage means (303) can be implemented in the form of HDD, SSD disks, RAID array, flash memory, optical storage devices (CD, DVD, MD, Blue-Ray disks), etc. The means (303) allow long-term storage of various types of information, such as transaction request processing history (logs), user identifiers, etc.
[0092] Для организации работы компонентов системы (300) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (304). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/ Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т. п.[0092] To organize the operation of the system components (300) and to organize the operation of external connected devices, various types of I/O interfaces (304) are used. The selection of the corresponding interfaces depends on the specific design of the computing device, which may be, without limitation: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232, etc.
[0093] Выбор интерфейсов (304) зависит от конкретного исполнения системы (300), которая может быть реализована на базе широко класса устройств, например, персональный компьютер, мейнфрейм, ноутбук, серверный кластер, тонкий клиент, смартфон, сервер и т. п.[0093] The choice of interfaces (304) depends on the specific implementation of the system (300), which can be implemented on the basis of a wide range of devices, for example, a personal computer, mainframe, laptop, server cluster, thin client, smartphone, server, etc.
[0094] В качестве средств В/В данных (305) может использоваться: клавиатура, джойстик, дисплей (сенсорный дисплей), монитор, сенсорный дисплей, тачпад, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т. п.[0094] The following may be used as I/O data means (305): a keyboard, a joystick, a display (touch display), a monitor, a touch display, a touchpad, a mouse, a light pen, a stylus, a touch panel, a trackball, speakers, a microphone, augmented reality means, optical sensors, a tablet, light indicators, a projector, a camera, biometric identification means (retina scanner, fingerprint scanner, voice recognition module), etc.
[0095] Средства сетевого взаимодействия (306) выбираются из устройств, обеспечивающий сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т. п. С помощью средств (305) обеспечивается организация обмена данными между, например, системой (300), представленной в виде сервера и вычислительным устройством пользователя, на котором могут отображаться полученные данные (результаты выявленных аномальных учетных записей и т.д.) по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM. [0096] Конкретный выбор элементов устройства (300) для реализации различных программно-аппаратных архитектурных решений может варьироваться с сохранением обеспечиваемого требуемого функционала.[0095] Network interaction means (306) are selected from devices that provide network reception and transmission of data, for example, an Ethernet card, a WLAN/Wi-Fi module, a Bluetooth module, a BLE module, an NFC module, an IrDa, an RFID module, a GSM modem, etc. Using the means (305), data exchange is organized between, for example, a system (300), represented in the form of a server, and a user's computing device, on which the received data (results of detected anomalous accounts, etc.) can be displayed via a wired or wireless data transmission channel, for example, a WAN, PAN, LAN, Intranet, Internet, WLAN, WMAN or GSM. [0096] The specific selection of elements of the device (300) for the implementation of various software and hardware architectural solutions may vary while maintaining the required functionality provided.
[0097] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области техники. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы.[0097] The submitted application materials disclose preferred examples of the implementation of the technical solution and should not be interpreted as limiting other, particular examples of its implementation that do not go beyond the scope of the requested legal protection, which are obvious to specialists in the relevant field of technology. Thus, the scope of the present technical solution is limited only by the scope of the attached formula.
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| RU2023108563ARU2824919C1 (en) | 2023-04-05 | Method and system for determining activity of accounts in computing environment | |
| RU2023108563 | 2023-04-05 | 
| Publication Number | Publication Date | 
|---|---|
| WO2024210767A1true WO2024210767A1 (en) | 2024-10-10 | 
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| PCT/RU2023/000111PendingWO2024210767A1 (en) | 2023-04-05 | 2023-04-10 | Indentifying activity of accounts in a computing environment | 
| Country | Link | 
|---|---|
| WO (1) | WO2024210767A1 (en) | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| US20080114886A1 (en)* | 2006-11-14 | 2008-05-15 | Fmr Corp. | Detecting and Interdicting Fraudulent Activity on a Network | 
| US20110202500A1 (en)* | 2010-02-15 | 2011-08-18 | Bank Of America Corporation | Anomalous activity detection | 
| US20180077186A1 (en)* | 2016-09-12 | 2018-03-15 | Vectra Networks, Inc. | Method and system for detecting suspicious administrative activity | 
| US20190205511A1 (en)* | 2017-05-17 | 2019-07-04 | Forescout Technologies, Inc. | Account monitoring | 
| US20230093540A1 (en)* | 2021-09-22 | 2023-03-23 | The Toronto-Dominion Bank | System and Method for Detecting Anomalous Activity Based on a Data Distribution | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| US20080114886A1 (en)* | 2006-11-14 | 2008-05-15 | Fmr Corp. | Detecting and Interdicting Fraudulent Activity on a Network | 
| US20110202500A1 (en)* | 2010-02-15 | 2011-08-18 | Bank Of America Corporation | Anomalous activity detection | 
| US20180077186A1 (en)* | 2016-09-12 | 2018-03-15 | Vectra Networks, Inc. | Method and system for detecting suspicious administrative activity | 
| US20190205511A1 (en)* | 2017-05-17 | 2019-07-04 | Forescout Technologies, Inc. | Account monitoring | 
| US20230093540A1 (en)* | 2021-09-22 | 2023-03-23 | The Toronto-Dominion Bank | System and Method for Detecting Anomalous Activity Based on a Data Distribution | 
| Publication | Publication Date | Title | 
|---|---|---|
| US10686829B2 (en) | Identifying changes in use of user credentials | |
| US11157629B2 (en) | Identity risk and cyber access risk engine | |
| US11310282B1 (en) | Scoring confidence in user compliance with an organization's security policies | |
| US20170251007A1 (en) | Automated computer behavioral analysis system and methods | |
| WO2021077642A1 (en) | Network space security threat detection method and system based on heterogeneous graph embedding | |
| US20190028557A1 (en) | Predictive human behavioral analysis of psychometric features on a computer network | |
| CN111400357A (en) | Method and device for identifying abnormal login | |
| US20120030767A1 (en) | System and method for performing threat assessments using situational awareness | |
| Hu et al. | Anomalous user activity detection in enterprise multi-source logs | |
| CN113132311B (en) | Abnormal access detection method, device and equipment | |
| US11444951B1 (en) | Reducing false detection of anomalous user behavior on a computer network | |
| WO2020016906A1 (en) | Method and system for intrusion detection in an enterprise | |
| EP3794481A1 (en) | Creation and verification of behavioral baselines for the detection of cybersecurity anomalies using machine learning techniques | |
| US12395512B2 (en) | Detecting data exfiltration and compromised user accounts in a computing network | |
| CN119109614B (en) | Access control method and system for data security protection | |
| Wang et al. | An unknown protocol syntax analysis method based on convolutional neural network | |
| Kumar et al. | A semantic machine learning algorithm for cyber threat detection and monitoring security | |
| Mihailescu et al. | Unveiling threats: Leveraging user behavior analysis for enhanced cybersecurity | |
| RU2758359C1 (en) | System and method for detecting mass fraudulent activities in the interaction of users with banking services | |
| US11457034B2 (en) | Distribution-based detection of abusive requests | |
| WO2018135964A1 (en) | Method for protecting web applications by automatically generating application models | |
| Raissi-Dehkordi et al. | A multi-perspective approach to insider threat detection | |
| Lambert II | Security analytics: Using deep learning to detect Cyber Attacks | |
| RU2824919C1 (en) | Method and system for determining activity of accounts in computing environment | |
| WO2024210767A1 (en) | Indentifying activity of accounts in a computing environment | 
| Date | Code | Title | Description | 
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | Ref document number:23932240 Country of ref document:EP Kind code of ref document:A1 |