[go: up one dir, main page]

RU2776349C1 - Systems and methods for using dns messages for selective collection of computer forensic data - Google Patents

Systems and methods for using dns messages for selective collection of computer forensic data Download PDF

Info

Publication number
RU2776349C1
RU2776349C1 RU2021135003A RU2021135003A RU2776349C1 RU 2776349 C1 RU2776349 C1 RU 2776349C1 RU 2021135003 A RU2021135003 A RU 2021135003A RU 2021135003 A RU2021135003 A RU 2021135003A RU 2776349 C1 RU2776349 C1 RU 2776349C1
Authority
RU
Russia
Prior art keywords
address
dns
client
client system
service
Prior art date
Application number
RU2021135003A
Other languages
Russian (ru)
Inventor
Даньел-Александру МИРЧЕСКУ
Original Assignee
БИТДЕФЕНДЕР АйПиАр МЕНЕДЖМЕНТ ЛТД
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by БИТДЕФЕНДЕР АйПиАр МЕНЕДЖМЕНТ ЛТД filed Critical БИТДЕФЕНДЕР АйПиАр МЕНЕДЖМЕНТ ЛТД
Application granted granted Critical
Publication of RU2776349C1 publication Critical patent/RU2776349C1/en

Links

Images

Abstract

FIELD: data processing.
SUBSTANCE: invention relates to the field of data processing. This effect is achieved by intercepting a Domain Name Service (DNS) response message received on a computer system, wherein the DNS response message contains a target Internet Protocol (IP) address indicating the network location of the remote resource, wherein the DNS response message further comprises an activation flag services, determining, according to the value of the service activation flag, whether the forensic data collection service is active, in response, if the service activation flag indicates that the forensic data collection service is active, modifying the DNS response message by replacing the target IP address with a dummy IP address, intercepting electronic communication directed to the destination IP address, determining whether the destination IP address matches the bogus IP address, in response to determining whether the destination IP address matches the bogus IP address if the destination IP address matches the bogus IP address IP address, a forensic data collection procedure is performed to characterize the emerging malicious code, wherein the forensic data collection procedure comprises transmitting a set of metadata characterizing electronic communication to a remote security server.
EFFECT: enabling the collection of computer security data from client devices.
20 cl, 13 dwg

Description

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕFIELD OF TECHNOLOGY TO WHICH THE INVENTION RELATES

[0001] Изобретение относится к системам и способам борьбы с вредоносным программным обеспечением и, в частности, к селективному сбору выборок сетевого трафика для криминалистического анализа.[0001] The invention relates to systems and methods for combating malware and, in particular, to the selective collection of network traffic samples for forensic analysis.

[0002] Вредоносное программное обеспечение, также известное как вредоносный код, поражает большое количество компьютерных систем по всему миру. В своих многочисленных формах, таких как компьютерные вирусы, троянские программы, шпионское программное обеспечение и программы-вымогатели, вредоносный код представляет серьезный риск для миллионов пользователей компьютеров, делая их уязвимыми, среди прочего, для потери данных и конфиденциальной информации, хищения идентификационных данных и потери производительности.[0002] Malicious software, also known as malicious code, infects a large number of computer systems around the world. In its many forms, such as computer viruses, Trojan horses, spyware, and ransomware, malware poses a serious risk to millions of computer users, making them vulnerable to, among other things, data and confidential information loss, identity theft, and loss of performance.

[0003] Большое количество устройств, неофициально называемых Интернетом Вещей (IoT), все чаще подключается к коммуникационным сетям и Интернету. Такие устройства включают в себя, среди прочего, смартфоны, умные часы, телевизоры и другие мультимедийные устройства, игровые консоли, бытовые приборы и различные бытовые датчики, такие как термостаты. По мере того, как все больше таких устройств переходят в онлайн, они становятся уязвимыми для угроз безопасности, таких как вредоносный код и вторжение. Следовательно, существует растущая потребность в защите таких устройств от вредоносного кода, а также в защите обмена данными с и от таких устройств. Особая область, к которой был возобновлен интерес с появлением Интернета Вещей, включает в себя приложения контроля доступа, например, родительский контроль, и предотвращение передачи конфиденциальной информации через устройства IoT.[0003] A large number of devices, informally referred to as the Internet of Things (IoT), are increasingly connected to communication networks and the Internet. Such devices include, but are not limited to, smartphones, smart watches, televisions and other multimedia devices, game consoles, home appliances, and various household sensors such as thermostats. As more of these devices go online, they become vulnerable to security threats such as malware and intrusion. Therefore, there is a growing need to protect such devices from malicious code, as well as to protect communication with and from such devices. A particular area that has received renewed interest with the advent of the Internet of Things includes access control applications, such as parental controls, and the prevention of sensitive information transmission through IoT devices.

[0004] Вредоносное программное обеспечение постоянно развивается, побуждая поставщиков компьютерной безопасности не отставать от постоянно меняющегося ландшафта угроз. Часть этих усилий направлена на своевременное обнаружение и анализ появляющегося вредоносного кода. Одна конкретная категория способов защиты от вредоносных программ, обычно известная как поведенческое обнаружение, основана на мониторинге активности устройства и/или компонента программного обеспечения в соответствии с набором правил. Некоторые паттерны активности (например, последовательности событий аппаратного обеспечения или программного обеспечения) соответствуют нормальным правомерным использованиям соответствующего устройства, тогда как другие могут указывать на зловредность. Надежная идентификация ненормальных паттернов поведения, указывающих на наличие вредоносного кода, обычно требует достаточного объема криминалистических данных, собранных от зараженных устройств. В случае обнаружения трафика данных, указывающего на наличие вредоносного кода, изучение таких паттернов может потребовать доступа к сетевому трафику к и/или от зараженных устройств IoT. Однако в случае возникновения еще неизвестных угроз устройства злоумышленника нелегко идентифицировать.[0004] Malicious software is constantly evolving, prompting computer security providers to keep up with the ever-changing threat landscape. Part of these efforts is aimed at the timely detection and analysis of emerging malicious code. One specific category of anti-malware methods, commonly known as behavioral detection, is based on monitoring device and/or software component activity according to a set of rules. Some activity patterns (eg, sequences of hardware or software events) correspond to normal legitimate uses of the device in question, while others may indicate malicious activity. Reliable identification of abnormal behavior patterns that indicate the presence of malicious code usually requires a sufficient amount of forensic data collected from infected devices. If data traffic is detected that indicates the presence of malicious code, the study of such patterns may require access to network traffic to and/or from infected IoT devices. However, in the event of yet unknown threats, the attacker's devices are not easily identified.

[0005] Поэтому существует значительный интерес к разработке систем и способов сбора криминалистических данных от устройств различных типов и, в частности, селективного сбора сетевого трафика к и/или от устройств IoT.[0005] Therefore, there is considerable interest in developing systems and methods for collecting forensic data from various types of devices and, in particular, selectively collecting network traffic to and/or from IoT devices.

РАСКРЫТИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯDISCLOSURE OF THE INVENTION

[0006] Согласно одному аспекту способ содержит использование по меньшей мере одного аппаратного процессора компьютерной системы, чтобы перехватывать ответное сообщение службы доменных имен (DNS), полученное в компьютерной системе, причем ответное сообщение DNS содержит целевой адрес интернет-протокола (IP), указывающий сетевое расположение удаленного ресурса, при этом ответное сообщение DNS дополнительно содержит флаг активации службы. Способ дополнительно содержит использование по меньшей мере одного аппаратного процессора компьютерной системы, чтобы определять, согласно значению флага активации службы, активна ли служба безопасности, и в ответ, если флаг активации службы указывает, что служба безопасности активна, модифицировать ответное сообщение DNS путем замены целевого IP-адреса фиктивным IP-адресом. Способ дополнительно содержит использование по меньшей мере одного аппаратного процессора компьютерной системы, чтобы перехватывать электронную коммуникацию, направленную на IP-адрес назначения, определять, совпадает ли IP-адрес назначения с фиктивным IP-адресом, и в ответ на определение, совпадает ли IP-адрес назначения с фиктивным IP-адресом, если IP-адрес назначения совпадает с фиктивным IP-адресом, выполнять процедуру компьютерной безопасности согласно электронной коммуникации. Способ дополнительно содержит использование по меньшей мере одного аппаратного процессора компьютерной системы, чтобы, в ответ на определение, совпадает ли IP-адрес назначения с фиктивным IP-адресом, если IP-адрес назначения не совпадает с фиктивным IP-адресом, пересылать электронную коммуникацию на IP-адрес назначения.[0006] According to one aspect, the method comprises using at least one computer system hardware processor to intercept a Domain Name Service (DNS) response message received on the computer system, the DNS response message comprising a target Internet Protocol (IP) address indicating a network the location of the remote resource, with the DNS response message additionally containing a service activation flag. The method further comprises using at least one hardware processor of the computer system to determine, according to the value of the service activation flag, whether the security service is active, and in response, if the service activation flag indicates that the security service is active, modify the DNS response message by replacing the target IP -addresses with a fictitious IP address. The method further comprises using at least one hardware processor of the computer system to intercept electronic communication directed to the destination IP address, determine if the destination IP address matches the dummy IP address, and in response to determining if the IP address matches destination with a fictitious IP address, if the destination IP address matches the fictitious IP address, perform the computer security procedure according to electronic communication. The method further comprises using at least one hardware processor of the computer system to, in response to determining whether the destination IP address matches the dummy IP address, if the destination IP address does not match the dummy IP address, forward the electronic communication to the IP - destination address.

[0007] Согласно другому аспекту компьютерная система содержит по меньшей мере один аппаратный процессор, конфигурированный для выполнения прокси службы доменных имен (DNS) и коммуникационного диспетчера. Прокси DNS конфигурирован, чтобы перехватывать ответное сообщение службы доменных имен (DNS), полученное в компьютерной системе, причем ответное сообщение DNS содержит целевой адрес интернет-протокола (IP), указывающий сетевое расположение удаленного ресурса, при этом ответное сообщение DNS дополнительно содержит флаг активации службы. Прокси DNS дополнительно конфигурирован, чтобы определять, согласно значению флага активации службы, активна ли служба безопасности, и в ответ, если флаг активации службы указывает, что служба безопасности активна, модифицировать ответное сообщение DNS путем замены целевого IP-адреса фиктивным IP-адресом. Коммуникационный менеджер конфигурирован, чтобы перехватывать электронную коммуникацию, направленную на IP-адрес назначения, определять, совпадает ли IP-адрес назначения с фиктивным IP-адресом, и в ответ, если IP-адрес назначения совпадает с фиктивным IP-адресом, выполнять процедуру компьютерной безопасности согласно электронной коммуникации. Коммуникационный менеджер дополнительно конфигурирован, чтобы, в ответ на определение, совпадает ли IP-адрес назначения с фиктивным IP-адресом, если IP-адрес назначения не совпадает с фиктивным IP-адресом, пересылать электронную коммуникацию на IP-адрес назначения.[0007] According to another aspect, the computer system includes at least one hardware processor configured to run a Domain Name Service (DNS) proxy and a communications manager. The DNS proxy is configured to intercept a Domain Name Service (DNS) response message received on a computer system, wherein the DNS response message contains a target Internet Protocol (IP) address indicating the network location of the remote resource, wherein the DNS response message further comprises a service activation flag . The DNS proxy is further configured to determine, according to the value of the service activation flag, whether the security service is active, and in response, if the service activation flag indicates that the security service is active, modify the DNS response message by replacing the target IP address with a bogus IP address. The communication manager is configured to intercept electronic communication directed to the destination IP address, determine if the destination IP address matches the bogus IP address, and in response, if the destination IP matches the bogus IP address, perform a computer security procedure according to electronic communication. The communication manager is further configured to, in response to determining whether the destination IP address matches the dummy IP address, if the destination IP address does not match the dummy IP address, forward the electronic communication to the destination IP address.

[0008] Согласно другому аспекту невременный машиночитаемый носитель хранит инструкции, побуждающие, при выполнении по меньшей мере одним аппаратным процессором компьютерной системы, компьютерную систему формировать прокси службы доменных имен (DNS) и коммуникационный менеджер. Прокси DNS конфигурирован, чтобы перехватывать ответное сообщение службы доменных имен (DNS), полученное в компьютерной системе, причем ответное сообщение DNS содержит целевой адрес интернет-протокола (IP), указывающий сетевое расположение удаленного ресурса, при этом ответное сообщение DNS дополнительно содержит флаг активации службы. Прокси DNS дополнительно конфигурирован, чтобы определять, согласно значению флага активации службы, активна ли служба безопасности, и в ответ, если флаг активации службы указывает, что служба безопасности активна, модифицировать ответное сообщение DNS путем замены целевого IP-адреса фиктивным IP-адресом. Коммуникационный менеджер конфигурирован, чтобы перехватывать электронную коммуникацию, направленную на IP-адрес назначения, определять, совпадает ли IP-адрес назначения с фиктивным IP-адресом, и в ответ, если IP-адрес назначения совпадает с фиктивным IP-адресом, выполнять процедуру компьютерной безопасности согласно электронной коммуникации. Коммуникационный менеджер дополнительно конфигурирован, чтобы, в ответ на определение, совпадает ли IP-адрес назначения с фиктивным IP-адресом, если IP-адрес назначения не совпадает с фиктивным IP-адресом, пересылать электронную коммуникацию на IP-адрес назначения.[0008] According to another aspect, the non-transitory computer-readable medium stores instructions that cause, when executed by at least one hardware processor of the computer system, the computer system to generate a Domain Name Services (DNS) proxy and a communications manager. The DNS proxy is configured to intercept a Domain Name Service (DNS) response message received on a computer system, wherein the DNS response message contains a target Internet Protocol (IP) address indicating the network location of the remote resource, wherein the DNS response message further comprises a service activation flag . The DNS proxy is further configured to determine, according to the value of the service activation flag, whether the security service is active, and in response, if the service activation flag indicates that the security service is active, modify the DNS response message by replacing the target IP address with a bogus IP address. The communication manager is configured to intercept electronic communication directed to the destination IP address, determine if the destination IP address matches the bogus IP address, and in response, if the destination IP matches the bogus IP address, perform a computer security procedure according to electronic communication. The communication manager is further configured to, in response to determining whether the destination IP address matches the dummy IP address, if the destination IP address does not match the dummy IP address, forward the electronic communication to the destination IP address.

[0009] Согласно другому аспекту серверная компьютерная система участвует в транзакциях службы доменных имен (DNS) с множеством клиентских систем, при этом серверная компьютерная система содержит по меньшей мере один аппаратный процессор, конфигурированный, чтобы, в ответ на получение сообщения запроса DNS от клиентской системы множества клиентских систем, причем сообщение запроса DNS содержит имя целевого домена, идентифицировать клиентскую систему согласно сообщению запроса DNS. По меньшей мере один аппаратный процессор дополнительно конфигурирован, чтобы, в ответ на идентификацию клиентской системы, определять, удовлетворено ли условие выбора клиента согласно доменному имени и, дополнительно, согласно идентификатору клиентской системы. По меньшей мере один аппаратный процессор дополнительно конфигурирован, чтобы, в ответ на определение, удовлетворено ли условие выбора клиента, если условие выбора клиента удовлетворено, передавать ответное сообщение DNS в клиентскую систему, при этом ответное сообщение DNS содержит целевой адрес Интернет-Протокола (IP), связанный с именем целевого домена, причем ответное сообщение DNS дополнительно конфигурировано так, чтобы включать в себя флаг активации службы. По меньшей мере один аппаратный процессор дополнительно конфигурирован, чтобы, в ответ на определение, удовлетворено ли условие выбора клиента, если условие выбора клиента не удовлетворено, передавать другое ответное сообщение DNS в клиентскую систему, причем другое ответное сообщение DNS содержит целевой IP-адрес и дополнительно конфигурировано так, чтобы не включать в себя флаг активации службы. Клиентская система конфигурирована для интерпретации получения флага активации службы как триггер для выполнения процедуры компьютерной безопасности согласно электронной коммуникации, направленной на целевой IP-адрес или входящей от него.[0009] According to another aspect, the server computer system participates in Domain Name Service (DNS) transactions with a plurality of client systems, wherein the server computer system comprises at least one hardware processor configured to, in response to receiving a DNS query message from the client system a plurality of client systems, wherein the DNS query message contains the name of the target domain, identify the client system according to the DNS query message. The at least one hardware processor is further configured to, in response to the client system identification, determine whether the client selection condition is satisfied according to the domain name and further according to the client system identifier. The at least one hardware processor is further configured to, in response to determining whether the client selection condition is satisfied, if the client selection condition is satisfied, send a DNS response message to the client system, wherein the DNS response message contains a target Internet Protocol (IP) address. associated with the name of the target domain, wherein the DNS response message is further configured to include a service activation flag. The at least one hardware processor is further configured to, in response to determining whether the client selection condition is satisfied, if the client selection condition is not satisfied, send another DNS response message to the client system, the other DNS response message comprising a target IP address and further configured to not include the service activation flag. The client system is configured to interpret the receipt of the service activation flag as a trigger to perform a computer security procedure according to electronic communication directed to or from the target IP address.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

[0010] Вышеупомянутые аспекты и преимущества настоящего изобретения станут более понятными после прочтения нижеследующего подробного описания со ссылкой на чертежи, на которых:[0010] The above aspects and advantages of the present invention will become more clear after reading the following detailed description with reference to the drawings, in which:

[0011] Фиг. 1 показывает примерный набор клиентских устройств, защищенных от угроз компьютерной безопасности, согласно некоторым вариантам осуществления настоящего изобретения.[0011] FIG. 1 shows an exemplary set of client devices protected from computer security threats, in accordance with some embodiments of the present invention.

[0012] Фиг. 2-А показывает типичную транзакцию службы доменных имен (DNS), как известно в уровне техники.[0012] FIG. 2-A shows a typical Domain Name Service (DNS) transaction as known in the art.

[0013] Фиг. 2-В иллюстрирует модифицированную транзакцию DNS согласно некоторым вариантам осуществления настоящего изобретения.[0013] FIG. 2-B illustrates a modified DNS transaction according to some embodiments of the present invention.

[0014] Фиг. 3 показывает примерный тегированный запрос DNS согласно некоторым вариантам осуществления настоящего изобретения.[0014] FIG. 3 shows an exemplary tagged DNS query according to some embodiments of the present invention.

[0015] Фиг. 4 показывает примерный помеченный ответ DNS согласно некоторым вариантам осуществления настоящего изобретения.[0015] FIG. 4 shows an exemplary labeled DNS response according to some embodiments of the present invention.

[0016] Фиг. 5-А показывает примерный вариант осуществления, в котором клиентское устройство передает криминалистические данные в сервер безопасности, причем криминалистические данные содержат дайджест сетевого трафика между клиентским устройством и контент-сервером.[0016] FIG. 5-A shows an exemplary embodiment in which the client device transmits forensic data to a security server, where the forensic data contains a digest of network traffic between the client device and the content server.

[0017] Фиг. 5-В показывает альтернативный вариант осуществления, в котором по меньшей мере часть сетевого трафика между клиентским устройством и контент-сервером перемаршрутизирована через сервер безопасности.[0017] FIG. 5-B shows an alternate embodiment in which at least a portion of the network traffic between the client device and the content server is rerouted through the security server.

[0018] Фиг. 6 иллюстрирует примерное программное обеспечение, исполняемое на клиентском устройстве согласно некоторым вариантам осуществления настоящего изобретения.[0018] FIG. 6 illustrates exemplary software executing on a client device in accordance with some embodiments of the present invention.

[0019] Фиг. 7 показывает примерную последовательность этапов, выполняемых прокси DNS, исполняемым на клиентском устройстве, согласно некоторым вариантам осуществления настоящего изобретения.[0019] FIG. 7 shows an exemplary sequence of steps performed by a DNS proxy running on a client device, in accordance with some embodiments of the present invention.

[0020] Фиг. 8 показывает примерную последовательность этапов, выполняемых коммуникационным менеджером для обработки исходящих коммуникаций, причем коммуникационный менеджер выполняется на клиентской системе согласно некоторым вариантам осуществления настоящего изобретения.[0020] FIG. 8 shows an exemplary sequence of steps performed by a communications manager to process outgoing communications, with the communications manager executing on a client system in accordance with some embodiments of the present invention.

[0021] Фиг. 9 показывает примерную последовательность этапов, выполняемых коммуникационным менеджером для обработки входящих коммуникаций согласно некоторым вариантам осуществления настоящего изобретения.[0021] FIG. 9 shows an exemplary sequence of steps performed by a communications manager to process incoming communications, in accordance with some embodiments of the present invention.

[0022] Фиг. 10 показывает примерную последовательность этапов, выполняемых DNS-сервером согласно некоторым вариантам осуществления настоящего изобретения.[0022] FIG. 10 shows an exemplary sequence of steps performed by a DNS server in accordance with some embodiments of the present invention.

[0023] Фиг. 11 иллюстрирует примерную конфигурацию аппаратного обеспечения компьютерной системы, программируемой для выполнения способов и алгоритмов согласно некоторым вариантам осуществления настоящего изобретения.[0023] FIG. 11 illustrates an exemplary hardware configuration of a computer system programmed to execute the methods and algorithms in accordance with some embodiments of the present invention.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯIMPLEMENTATION OF THE INVENTION

[0024] В нижеследующем описании подразумевается, что все упоминаемые соединения между конструкциями могут быть непосредственными рабочими соединениями или опосредованными рабочими соединениями через промежуточные конструкции. Набор элементов включает в себя один или более элементов. Подразумевается, что любое упоминание элемента относится к по меньшей мере одному элементу. Множество элементов включает в себя по меньшей мере два элемента. Если не требуется иное, любые описанные этапы способа не обязательно должны выполняться в конкретном показанном порядке. Первый элемент (например, данные), полученный из второго элемента, включает в себя первый элемент, равный второму элементу, а также первый элемент, генерированный посредством обработки второго элемента и, опционально, других данных. Выполнение определения или решения в соответствии с параметром включает в себя выполнение определения или решения в соответствии с параметром и, опционально, в соответствии с другими данными. Если не указано иное, индикатор некоторого количества/данных может представлять собой само количество/данные или индикатор, отличный от самого количества/данных. Компьютерная программа представляет собой последовательность инструкций процессора, выполняющих задачу. Компьютерные программы, описанные в некоторых вариантах осуществления настоящего изобретения, могут быть автономными программными объектами или подобъектами (например, подпрограммами, библиотеками) других компьютерных программ. Доменное имя представляет собой метку/псевдоним, идентифицирующие сетевой адрес. Термин «база данных» используется в данном документе для обозначения любой организованной коллекции данных. Машиночитаемые носители включают в себя невременные носители, такие как магнитные, оптические и полупроводниковые носители данных (например, жесткие диски, оптические диски, флэш-память, DRAM), а также коммуникационные каналы, такие как проводящие кабели и волоконно-оптические связи. Согласно некоторым вариантам осуществления настоящее изобретение относится, среди прочего, к компьютерным системам, содержащим аппаратное обеспечение (например, один или более процессоров), программированное для выполнения описанных в данном документе способов, а также инструкции кодирования машиночитаемых носителей для выполнения описанных в данном документе способов.[0024] In the following description, it is understood that all referenced connections between structures may be direct working connections or indirect working connections through intermediate structures. An element set includes one or more elements. Any reference to an element is intended to refer to at least one element. The set of elements includes at least two elements. Unless otherwise required, any method steps described need not be performed in the specific order shown. The first element (eg, data) derived from the second element includes a first element equal to the second element, as well as a first element generated by processing the second element and optionally other data. Making a determination or decision in accordance with a parameter includes making a determination or decision in accordance with the parameter and, optionally, in accordance with other data. Unless otherwise indicated, an indicator of some quantity/data may be the quantity/data itself or an indicator other than the quantity/data itself. A computer program is a sequence of processor instructions that perform a task. The computer programs described in some embodiments of the present invention may be stand-alone program objects or sub-objects (eg, routines, libraries) of other computer programs. A domain name is a label/alias that identifies a network address. The term "database" is used in this document to refer to any organized collection of data. Computer-readable media includes non-transitory media such as magnetic, optical, and semiconductor storage media (eg, hard disks, optical disks, flash memory, DRAM) as well as communication channels such as conductive cables and fiber optic links. In some embodiments, the present invention relates, inter alia, to computer systems comprising hardware (e.g., one or more processors) programmed to perform the methods described herein, as well as computer-readable media encoding instructions for performing the methods described herein.

[0025] Нижеследующее описание иллюстрирует варианты осуществления изобретения посредством примера и не обязательно с целью ограничения.[0025] The following description illustrates embodiments of the invention by way of example and not necessarily by way of limitation.

[0026] Фиг. 1 показывает примерный набор клиентских устройств 10a-f, защищенных от угроз компьютерной безопасности, согласно некоторым вариантам осуществления настоящего изобретения. Примерные клиентские системы 10а-f включают в себя персональные компьютерные системы, корпоративные мэйнфреймы, мобильные вычислительные платформы (например, портативные компьютеры, планшеты, мобильные телефоны), развлекательные устройства (например, телевизоры, игровые консоли), носимые устройства (например, умные часы, фитнес-браслеты), бытовые приборы (например, холодильники, стиральные машины) и любое другое электронное устройство, содержащее процессор, память и коммуникационный интерфейс, позволяющий соответствующему устройству коммуницировать с другими[0026] FIG. 1 shows an exemplary set of client devices 10a-f protected from computer security threats, in accordance with some embodiments of the present invention. Exemplary client systems 10a-f include personal computer systems, corporate mainframes, mobile computing platforms (e.g., laptops, tablets, mobile phones), entertainment devices (e.g., televisions, game consoles), wearable devices (e.g., smartwatches, fitness bracelets), household appliances (e.g. refrigerators, washing machines) and any other electronic device containing a processor, memory and a communication interface that allows the device to communicate with other

устройствами/компьютерными системами. Примерное клиентское устройство может взаимодействовать с удаленным контент-сервером 18 по коммуникационному каналу для обмена данными, такими как веб-контент, электронные сообщения, различные документы и т.д.devices/computer systems. An exemplary client device may communicate with a remote content server 18 over a communication channel to exchange data such as web content, emails, various documents, and so on.

[0027] В примерной конфигурации на фиг. 1 клиентские устройства 10а-е соединены между собой локальной сетью 13, такой как локальная вычислительная сеть (LAN), домашняя сеть, корпоративная сеть и т.д. Устройства 10а-е могут быть дополнительно соединены с расширенной сетью 15, такой как глобальная вычислительная сеть (WAN) и/или Интернет. В некоторых вариантах осуществления по меньшей мере часть сетевого трафика между клиентскими устройствами 10а-е и расширенной сетью 15 проходит через шлюз 12, такой как маршрутизатор или сетевой концентратор. Другое примерное клиентское устройство 1 Of может быть не соединено с локальной сетью 13, но вместо этого соединено с расширенной сетью 15, например, посредством сети мобильной телефонной связи или общедоступной точки доступа Wi-Fi.[0027] In the exemplary configuration of FIG. 1, client devices 10a-e are interconnected by a local area network 13 such as a local area network (LAN), home network, corporate network, and so on. Devices 10a-e may further be connected to an extended network 15 such as a wide area network (WAN) and/or the Internet. In some embodiments, at least a portion of network traffic between client devices 10a-e and extended network 15 passes through a gateway 12, such as a router or network hub. Another exemplary client device 1 Of may not be connected to the local network 13 but instead connected to the extended network 15, such as through a mobile phone network or a public Wi-Fi hotspot.

[0028] В некоторых вариантах осуществления сервер 14 службы доменных имен (DNS) взаимодействует с сервером 16 безопасности для селективного сбора компьютерных криминалистических данных от клиентских устройств 10а-f, как подробно показано ниже. Такие криминалистические данные могут включать в себя, например, метаданные, описывающие передачу данных между выбранным клиентом и выбранным контент-сервером, и/или фактическую полезную нагрузку соответствующей передачи данных. Метаданные в данном документе обозначают характеристики передачи, отличные от контента передачи или самой полезной нагрузки. Примерные метаданные включают в себя, среди прочего, сетевые адреса отправителя и/или получателя, размер полезной нагрузки и временную метку, указывающую реальное время соответствующей передачи. Термин «криминалистический» используется в данном документе для указания, что соответствующие данные могут быть использованы в целях компьютерной безопасности, например, для определения, заражена ли соответствующая клиентская система вредоносным программным обеспечением, или для проспективной идентификации паттернов сетевого трафика, характеризующих еще неизвестные угрозы компьютерной безопасности. Каждый из серверов 14-16 в целом представляет собой набор коммуникативно связанных компьютеров, которые могут быть или могут не быть близко расположенными друг к другу. Специалисту в данной области известно, что действия, выполняемые серверами 14-16, как описано в данном документе, могут быть разделены между несколькими физическими машинами или процессорами.[0028] In some embodiments, a domain name service (DNS) server 14 interacts with a security server 16 to selectively collect computer forensic data from client devices 10a-f, as detailed below. Such forensic data may include, for example, metadata describing the data transfer between the selected client and the selected content server and/or the actual payload of the corresponding data transfer. Metadata in this document refers to characteristics of a transmission other than the content of the transmission or the payload itself. Exemplary metadata includes, among other things, the network addresses of the sender and/or recipient, the size of the payload, and a timestamp indicating the real time of the corresponding transmission. The term "forensic" is used in this document to indicate that the relevant data can be used for computer security purposes, for example, to determine whether the corresponding client system is infected with malware, or to prospectively identify network traffic patterns that characterize as yet unknown computer security threats. . Each of the servers 14-16 is generally a collection of communicatively connected computers, which may or may not be closely spaced. One of skill in the art will recognize that the activities performed by servers 14-16 as described herein may be split across multiple physical machines or processors.

[0029] Серверы 14-16 соединены с базой 19 данных профилей клиента и конфигурированы для доступа к базе 19 данных для выполнения селективной вставки данных, извлечения данных и/или других операций управления базой данных. База 19 данных конфигурирована для хранения множества клиентских записей, относящихся к клиентским устройствам 10а-f и/или к пользователям соответствующих клиентских устройств. В некоторых вариантах осуществления каждая клиентская запись соответствует отдельному клиентскому устройству 10а-f. В одном таком примере клиентская запись может хранить набор идентификаторов соответствующего клиентского устройства (например, управление доступом к среде передачи - МАС-адрес, международный идентификатор мобильного оборудования - номер IMEI и т.д.), индикатор типа устройства (например, цифровая камера, термостат, смартфон, планшетный компьютер, маршрутизатор, автомобиль), различные индикаторы конфигурации аппаратного обеспечения соответствующего клиентского устройства (например, имеет ли соответствующее устройство камеру и т.д.), список программных приложений, установленных на соответствующем устройстве, и индикатор географического местоположения соответствующего клиентского устройства. Другая информация, хранящаяся в примерной клиентской записи, содержит данные использования устройства, такие как статистика доступа к сети соответствующим клиентским устройством, например, относительная частота использования различных коммуникационных портов, относительный объем трафика в течение различных временных интервалов и т.д. Другие примерные клиентские записи могут включать в себя метаданные, описывающие сетевой трафик, передаваемый или получаемый соответствующим клиентским устройством. В некоторых вариантах осуществления такие метаданные могут быть организованы в соответствии с форматом, таким как Экспорт (IoT)Информации IP-Потока (IPFIX) от Инженерного Совета Интернета или NetFlow® от Cisco, Inc. База 19 данных может быть форматирована и храниться в соответствии с любым стандартом, известным в данной области техники. Примерные форматы баз данных включают в себя, среди прочего, реляционную базу данных, базу данных расширяемого языка разметки (XML), электронную таблицу и хранилище данных типа "ключ-значение".[0029] Servers 14-16 are connected to the client profile database 19 and configured to access the database 19 to perform selective data insertion, data retrieval, and/or other database management operations. The database 19 is configured to store a plurality of client records relating to client devices 10a-f and/or users of respective client devices. In some embodiments, each client entry corresponds to a separate client device 10a-f. In one such example, the client record may store a set of identifiers for the corresponding client device (eg, media access control - MAC address, International Mobile Equipment Identity - IMEI number, etc.), a device type indicator (eg, digital camera, thermostat , smartphone, tablet, router, car), various hardware configuration indicators of the respective client device (such as whether the respective device has a camera, etc.), a list of software applications installed on the respective device, and an indicator of the geographic location of the respective client device . Other information stored in the exemplary client record includes device usage data such as network access statistics of the respective client device, such as the relative usage frequency of different communication ports, the relative amount of traffic during different time intervals, and so on. Other exemplary client records may include metadata describing network traffic transmitted or received by the respective client device. In some embodiments, such metadata may be organized according to a format such as IP Flow Information Export (IoT) (IPFIX) from the Internet Engineering Council or NetFlow® from Cisco, Inc. The database 19 may be formatted and stored according to any standard known in the art. Exemplary database formats include, but are not limited to, a relational database, an extensible markup language (XML) database, a spreadsheet, and a key-value data store.

[0030] В некоторых вариантах осуществления DNS-сервер 14 предоставляет службы доменных имен клиентским устройствам 10а-f, причем соответствующие службы содержат, среди прочего, преобразование доменных имен в сетевые адреса и/или наоборот. Типичная передача данных между клиентским устройством и удаленным контент-сервером содержит несколько этапов. Такая передача требует знания сетевого адреса (например, Интернет-Протокол - IP-адреса) контент-сервера. Часто этот адрес не известен клиенту по разным причинам. Например, может существовать несколько машин зеркальных контент-серверов, и клиент может динамически направляться на наиболее удобный из них в соответствии с текущей нагрузкой каждого зеркального сервера или в соответствии с текущим географическим положением клиентского устройства. Однако клиентское устройство может знать доменное имя, содержащее псевдоним неизвестного сетевого адреса. Для установки соединения с удаленным контент-сервером, программный объект, исполняемый на соответствующем клиентском устройстве, может, таким образом, выдать запрос на доступ к соответствующему доменному имени вместо IP-адреса как такового. В ответ другой программный объект (например, операционная система) клиентского устройства может попытаться преобразовать псевдоним/доменное имя в фактический сетевой адрес и затем передать запрос в корректное сетевое местоположение. Такое преобразование может задействовать поставщика DNS, такого как сервер 14 на фиг. 1. Фиг. 2-А иллюстрирует типичный обмен сообщениями согласно протоколу DNS, как известно в данной области техники. Клиентское устройство 10 передает запрос 22 DNS в DNS-сервер 14, причем запрос 22 содержит кодировку доменного имени. В ответ DNS-сервер 14 может вернуть ответ 24 DNS запрашивающему клиенту, причем ответ 24 включает в себя кодировку сетевого адреса, идентифицированного соответствующим доменным именем/псевдонимом. Примерные кодировки адресов включают в себя, среди прочего, форматы IPv4 и IPv6.[0030] In some embodiments, DNS server 14 provides domain name services to client devices 10a-f, the respective services including, among other things, resolving domain names to network addresses and/or vice versa. A typical data transfer between a client device and a remote content server contains several steps. Such transmission requires knowledge of the network address (eg, Internet Protocol - IP addresses) of the content server. Often this address is not known to the client for various reasons. For example, there may be multiple mirror content server machines, and the client may be dynamically directed to the most convenient one according to the current load of each mirror server, or according to the current geographic location of the client device. However, the client device may know the domain name containing the alias of the unknown network address. In order to establish a connection to a remote content server, the software object executing on the respective client device may thus issue a request to access the respective domain name instead of the IP address per se. In response, another software entity (eg, operating system) of the client device may attempt to resolve the alias/domain name to an actual network address and then forward the request to the correct network location. Such a translation may involve a DNS provider, such as server 14 in FIG. 1. FIG. 2-A illustrates a typical DNS protocol messaging as known in the art. The client device 10 sends a DNS query 22 to the DNS server 14, the query 22 containing the encoding of the domain name. In response, DNS server 14 may return a DNS response 24 to the requesting client, with response 24 including an encoding of the network address identified by the corresponding domain name/alias. Exemplary address encodings include, among others, the IPv4 and IPv6 formats.

[0031] Фиг. 2-В показывает примерный обмен DNS между клиентским устройством 10 и DNS-сервером 14 согласно некоторым вариантам осуществления настоящего изобретения. В отличие от обычного обмена DNS (фиг. 2-А), в некоторых вариантах осуществления клиентское устройство 10 может передавать тегированный запрос 26 DNS в DNS-сервер 14, причем тегированный запрос содержит идентификатор соответствующего клиентского устройства 10. Примерный тегированный запрос 26 изображен на фиг. 3 и включает в себя кодировку доменного имени 21 и ID 25 клиента. ID 25 клиента может содержать любой элемент, позволяющий отличить клиентское устройство 10 от других клиентских устройств. Примерные ID клиента включают в себя хеш, МАС-адрес, номер IMEI и т.д. В некоторых вариантах осуществления ID 25 клиента может не позволять индивидуально идентифицировать клиентское устройство 10, но, тем не менее, указывает групповую идентифицируемость соответствующего клиентского устройства. Например, ID 25 клиента может селективно указывать группу устройств (например, устройства в определенном отделе корпорации, устройства, расположенные в определенном сетевом субдомене, устройства, принадлежащие определенной домашней сети, устройства, защищенные в соответствии с определенным контрактом на предоставление услуг), тип устройства (например, смартфоны в противоположность настольным ПК в противоположность встроенным) и т.д.[0031] FIG. 2-B shows an exemplary DNS exchange between client device 10 and DNS server 14, in accordance with some embodiments of the present invention. Unlike conventional DNS exchange (FIG. 2-A), in some embodiments, client device 10 may send a tagged DNS query 26 to DNS server 14, the tagged query containing the identity of the corresponding client device 10. An exemplary tagged query 26 is depicted in FIG. . 3 and includes encoding of domain name 21 and client ID 25. The client ID 25 may contain any element that distinguishes the client device 10 from other client devices. Exemplary client IDs include hash, MAC address, IMEI number, and so on. In some embodiments, the client ID 25 may not allow the client device 10 to be individually identified, but nevertheless indicates the group identifiability of the corresponding client device. For example, client ID 25 can selectively specify a group of devices (e.g., devices in a particular department of a corporation, devices located in a particular network subdomain, devices belonging to a particular home network, devices protected under a particular service contract), device type ( e.g. smartphones versus desktops versus built-in PCs), etc.

[0032] В альтернативном варианте осуществления ID 25 клиента может содержать дайджест профиля клиентского устройства. Примерная информация профиля устройства может включать в себя, например, кодировки типа устройства, операционной системы, текущего географического местоположения и идентификатора текущего пользователя соответствующего клиентского устройства. Такая информация может использоваться DNS-сервером 14 и/или сервером 16 безопасности для выбора соответствующего клиентского устройства для активации/деактивации служб безопасности, как более подробно показано ниже.[0032] In an alternative embodiment, the client ID 25 may contain a client device profile digest. The exemplary device profile information may include, for example, encodings of the device type, operating system, current geographic location, and current user ID of the respective client device. Such information may be used by the DNS server 14 and/or the security server 16 to select the appropriate client device to activate/deactivate security services, as shown in more detail below.

[0033] В ответ на получение тегированного запроса 26 DNS некоторые варианты осуществления DNS-сервера 14 возвращают помеченный ответ 28 DNS, пример которого показан на фиг. 4. Помеченный ответ 28 DNS включает в себя кодировку сетевого адреса 23 и флаг 27 активации службы, указывающий, активна ли конкретная служба безопасности для соответствующего запрашивающего клиентского устройства 10. Примерные службы безопасности, селективно активируемые/деактивируемые флагом 27, включают в себя сбор криминалистических данных, родительский контроль (например, ограничение доступа определенных пользователей к определенным доменам), контроль приложений (например, запрет на запуск определенных приложений, например Facebook®, мгновенный обмен сообщениями, игры и т.д.), защита от мошенничества, защита от вредоносных программ, инспекция трафика и т.д.[0033] In response to receiving a tagged DNS query 26, some embodiments of the DNS server 14 return a tagged DNS response 28, an example of which is shown in FIG. 4. The tagged DNS response 28 includes a network address encoding 23 and a service activation flag 27 indicating whether a particular security service is active for the corresponding requesting client device 10. Exemplary security services selectively enabled/disabled by flag 27 include forensic data collection , parental controls (for example, restricting certain users from accessing certain domains), application control (for example, preventing certain applications from running, such as Facebook®, instant messaging, games, etc.), fraud protection, malware protection , traffic inspection, etc.

[0034] В альтернативном варианте осуществления помеченный ответ 28 DNS может включать в себя множество флагов активации службы, например, битовую карту, причем каждый бит представляет собой отдельную службу безопасности (например, родительский контроль, инспекция трафика, сбор криминалистических данных и т.д.), и значение соответствующего бита указывает, разрешена или не разрешена соответствующая служба. В другом примере помеченный ответ 28 DNS может включать в себя набор значений параметров службы вместе с или вместо простого флага активации службы. В еще одном примере отдельные значения флага 27 активации службы могут указывать различные режимы работы целевого клиентского устройства. Например, одно значение может инструктировать клиентское устройство выделить соответствующий трафик (например, интерпретировать ответ 28 DNS как ответ NXDomain), тогда как другое значение может инструктировать клиентское устройство принудительно установить таймаут или перенаправить трафик на другой IP-адрес.[0034] In an alternative embodiment, the tagged DNS response 28 may include a plurality of service activation flags, such as a bitmap, with each bit representing a different security service (e.g., parental control, traffic inspection, forensic intelligence, etc.). ), and the value of the corresponding bit indicates whether the corresponding service is enabled or disabled. In another example, the labeled DNS response 28 may include a set of service parameter values along with or instead of a simple service activation flag. In yet another example, individual values of the service activation flag 27 may indicate different modes of operation of the target client device. For example, one value may instruct the client device to allocate appropriate traffic (eg, interpret a 28 DNS response as an NXDomain response), while another value may instruct the client device to force a timeout or redirect traffic to a different IP address.

[0035] Элементы данных, такие как ID 25 клиента и ID флага 27 активации службы, могут быть кодированы и включены в запросы клиентов и/или ответные сообщения сервера с использованием любого способа, известного в данной области техники. Многие современные протоколы/форматы данных, используемые в электронной коммуникации, резервируют набор выбранных битов каждого пакета данных для неспецифического использования. Различные варианты осуществления могут использовать такие резервированные биты для кодирования ID 25 клиента и/или флага 27 активации службы. В простейшем примере выбранный бит соответствующего сообщения может действовать как флаг активации службы; значение 1 может указывать, что служба разрешена, тогда как значение 0 может указывать, что служба отключена или что соответствующее сообщение не помечено. Некоторые варианты осуществления используют сообщения DNS, форматированные согласно используемому в настоящее время стандарту, такому как, среди прочего, описанный в Запросе на Комментарии (RFC) 1035 Инженерного Совета Интернета (IETF). В одном таком примере ID 25 клиента и/или флаг 27 активации службы могут быть вставлены как дополнительная запись ресурса или запись псевдоресурса запроса или ответа DNS, например, как содержимое поля RDATA.[0035] Data elements such as client ID 25 and service activation flag ID 27 may be encoded and included in client requests and/or server response messages using any method known in the art. Many modern protocols/data formats used in electronic communication reserve a set of selected bits of each data packet for non-specific use. Various embodiments may use such reserved bits to encode the client ID 25 and/or the service activation flag 27 . In the simplest example, the selected bit of the corresponding message can act as a service activation flag; a value of 1 may indicate that the service is enabled, while a value of 0 may indicate that the service is disabled, or that the associated message is unflagged. Some embodiments use DNS messages formatted according to a currently used standard, such as, among others, as described in Internet Engineering Task Force (IETF) Request for Comments (RFC) 1035. In one such example, the client ID 25 and/or service activation flag 27 may be inserted as an additional resource record or a DNS query or response pseudo-resource record, such as the contents of an RDATA field.

[0036] В некоторых вариантах осуществления DNS-сервер 14 может селективно активировать/деактивировать службу безопасности путем соответствующей установки значения флага 27 активации службы только для определенных клиентских устройств и/или пользователей. Решение, разрешить или не разрешить определенную службу, может быть принято сервером 16 безопасности в соответствии с идентификатором клиентского устройства, выдающего соответствующий тегированный запрос DNS, и, кроме того, в соответствии с такими критериями, как текущее географическое положение клиентского устройства, тип устройства, профиль аппаратного обеспечения и/или программного обеспечения соответствующего клиентского устройства. Примеры алгоритмов принятия решений и критериев показываются ниже. Чтобы задействовать такие алгоритмы принятия решения, некоторые варианты осуществления собирают информацию профиля устройства от клиентских устройств и передают такую информацию профиля в сервер 16 безопасности, который может организовывать и хранить ее в базе 19 данных профилей клиента (см. фиг. 2-В).[0036] In some embodiments, the implementation of the DNS server 14 can selectively activate/deactivate the security service by appropriately setting the value of the service activation flag 27 only for certain client devices and/or users. The decision to allow or not to allow a particular service can be made by the security server 16 according to the ID of the client device issuing the corresponding tagged DNS query, and further according to criteria such as the current geographical location of the client device, device type, profile hardware and/or software of the respective client device. Examples of decision algorithms and criteria are shown below. To enable such decision algorithms, some embodiments collect device profile information from client devices and pass such profile information to the security server 16, which may organize and store it in the client profile database 19 (see FIG. 2-B).

[0037] Некоторые варианты осуществления используют флаг 27 активации службы для селективного сбора криминалистических данных, как более подробно показано ниже. В ответ на выбор клиентского устройства в качестве цели для сбора данных, DNS-сервер 14 может ответить на запрос DNS, полученный от соответствующего клиентского устройства с помеченным ответом DNS, в котором флаг 27 активации службы установлен для указания, что сбор данных разрешен. В ответ на получение соответствующего помеченного ответа DNS приложение безопасности, исполняемое на выбранном клиентском устройстве, может собирать криминалистическую информацию от выбранного устройства и передавать соответствующую информацию на сервер 16 безопасности для анализа. Сбор криминалистических данных может происходить согласно нескольким сценариям. В одном примере, показанном на фиг. 5-А, программное обеспечение безопасности, исполняемое на клиентском устройстве 10, может определять метаданные и/или фактическую полезную нагрузку коммуникации между клиентским устройством 10 и контент-сервером 18, упаковывать такую информацию как криминалистические данные 30 и добавлять ее в очередь исходящих сообщений для передачи на сервер 16 безопасности. В другом примере, показанном на фиг. 5-В, в ответ на получение помеченного ответа DNS, указывающего, что сбор данных активен, программное обеспечение безопасности, исполняемое на соответствующем клиентском устройстве, может осуществлять перемаршрутизацию, по меньшей мере, части трафика данных между клиентским устройством 10 и контент-сервером 18 через коммуникационный туннель, соединяющий клиентское устройство 10 с сервером 16 безопасности. Примером такого туннеля является соединение виртуальной частной сети (VPN). Другими словами, на фиг. 5-В сбор криминалистических данных содержит маршрутизацию прямых коммуникаций к и/или от выбранных клиентских устройств через сервер 16 безопасности, на котором может анализироваться соответствующий трафик.[0037] Some embodiments use a service activation flag 27 to selectively collect forensic data, as shown in more detail below. In response to selecting a client device as a target for data collection, DNS server 14 may respond to a DNS query received from the corresponding client device with a labeled DNS response in which a service activation flag 27 is set to indicate that data collection is allowed. In response to receiving an appropriate labeled DNS response, the security application running on the selected client device may collect forensic information from the selected device and pass the corresponding information to the security server 16 for analysis. Forensic data collection can occur according to several scenarios. In one example shown in FIG. 5-A, security software running on client device 10 may determine the metadata and/or actual payload of the communication between client device 10 and content server 18, package information such as forensic data 30, and add it to the outgoing message queue for transmission. to the security server 16. In another example shown in FIG. 5-B, in response to receiving a labeled DNS response indicating that data collection is active, security software running on the corresponding client device may reroute at least a portion of the data traffic between client device 10 and content server 18 via a communication tunnel connecting the client device 10 to the security server 16 . An example of such a tunnel is a virtual private network (VPN) connection. In other words, in FIG. 5-B, forensic data collection comprises routing direct communications to and/or from selected client devices through a security server 16 where the relevant traffic can be analyzed.

[0038] Фиг. 6 показывает примерные компоненты программного обеспечения, исполняемые на клиентском устройстве согласно некоторым вариантам осуществления настоящего изобретения. Такое программное обеспечение может включать в себя операционную систему (OS) 50, которая может быть любой широко доступной операционной системой, например, Microsoft Windows®, MacOS®, Linux®, iOS® или Android®. OS 50 предоставляет интерфейс между аппаратным обеспечением клиентского устройства 10 и набором приложений, включая клиентское приложение 52 и приложение 54 безопасности. Клиентское приложение 52 в целом представляет собой любую компьютерную программу, такую как, среди прочего, приложение для обработки текста, приложение для работы с электронными таблицами, обработка изображений, игры, электронная коммуникация, просмотр веб-страниц и приложение для социальных сетей. Приложение 54 безопасности предоставляет службы компьютерной безопасности клиентскому устройству 10, например, защиту от вредоносных программ, обнаружение вторжений и управление доступом к сети.[0038] FIG. 6 shows exemplary software components executing on a client device in accordance with some embodiments of the present invention. Such software may include an operating system (OS) 50, which may be any widely available operating system such as Microsoft Windows®, MacOS®, Linux®, iOS®, or Android®. OS 50 provides an interface between client device 10 hardware and a set of applications, including client application 52 and security application 54. The client application 52 is generally any computer program such as, but not limited to, a word processing application, a spreadsheet application, image processing, gaming, electronic communication, web browsing, and a social networking application. The security application 54 provides computer security services to the client device 10, such as anti-malware, intrusion detection, and network access control.

[0039] В некоторых вариантах осуществления приложение безопасности содержит прокси 56 DNS, построитель 57 профилей и коммуникационный менеджер 58. Компоненты 56-57-58 могут исполняться как автономные исполняемые объекты или могут быть встроены в приложение 54 безопасности, например, как динамически загружаемые библиотеки. Специалисту в данной области понятно, что некоторые функции компонентов 56-57-58 могут быть реализованы на сетевом шлюзе 12 (см. фиг. 1) вместо клиентской системы 10.[0039] In some embodiments, the security application comprises a DNS proxy 56, a profile builder 57, and a communication manager 58. The components 56-57-58 may run as stand-alone executables or may be embedded within the security application 54, such as as dynamic link libraries. One skilled in the art will appreciate that some of the functions of the components 56-57-58 may be implemented on the network gateway 12 (see FIG. 1) instead of the client system 10.

[0040] В некоторых вариантах осуществления прокси 56 DNS конфигурирован как посредник между клиентским устройством 10 и DNS-сервером 14 в том смысле, что прокси 54 DNS перехватывает и модифицирует поток и/или контент DNS-сообщений, входящих в и/или исходящих из клиентского устройства 10. Некоторые варианты осуществления конфигурируют OS 50 для селективной маршрутизации исходящего трафика на определенные IP-адреса через прокси 56 DNS. Такая функциональность может быть реализована, например, с использованием VPN с разделенным туннелированием. В одном таком примере приложение 54 безопасности может регистрировать IP-адрес (IP-адреса) DNS-сервера 14 с OS 50, тем самым объявляя сервер 14 поставщиком DNS для соответствующей клиентской системы. Приложение 54 может дополнительно конфигурировать интерфейс VPN клиентской системы 10 так, что весь трафик на соответствующие IP-адреса будет проходить через прокси 56 DNS.[0040] In some embodiments, the DNS proxy 56 is configured to mediate between the client device 10 and the DNS server 14 in that the DNS proxy 54 intercepts and modifies the flow and/or content of DNS messages incoming and/or outgoing from the client device. devices 10. Some embodiments configure the OS 50 to selectively route outgoing traffic to specific IP addresses through the DNS proxy 56 . Such functionality can be implemented, for example, using a split tunneling VPN. In one such example, security application 54 may register the IP address(es) of OS 50 DNS server 14, thereby declaring server 14 to be the DNS provider for the respective client system. The application 54 may further configure the VPN interface of the client system 10 such that all traffic to the respective IP addresses will go through the DNS proxy 56 .

[0041] Фиг. 7 показывает примерную последовательность этапов, выполняемых прокси 56 DNS согласно некоторым вариантам осуществления настоящего изобретения. Примерный алгоритм, описанный в данном документе, обеспечивает выборочную обработку запросов доступа к сети, при этом выбор достигается с уровнем детализации одного запроса DNS.[0041] FIG. 7 shows an exemplary sequence of steps performed by a DNS proxy 56 according to some embodiments of the present invention. The exemplary algorithm described in this document provides selective processing of network access queries, with the selection achieved at the level of detail of a single DNS query.

[0042] Последовательность этапов 202-204 перехватывает входящие и исходящие сообщения DNS. На этапе 206 прокси DNS определяет тип перехваченного сообщения. Если сообщение представляет собой запрос DNS (например, запрос клиентского приложения 52 для доступа к определенному доменному имени), в последовательности этапов 208-210 прокси 56 DNS помечает соответствующий запрос DNS с помощью ID клиента соответствующего клиентского устройства для создания тегированного запроса 26 DNS и передает запрос 26 на DNS-сервер 14.[0042] The sequence of steps 202-204 intercepts incoming and outgoing DNS messages. At step 206, the DNS proxy determines the type of intercepted message. If the message is a DNS request (for example, a client application 52 request to access a specific domain name), in the sequence of steps 208-210, the DNS proxy 56 tags the corresponding DNS request with the client ID of the corresponding client device to create a tagged DNS request 26 and transmits the request 26 to DNS server 14.

[0043] Если перехваченное сообщение DNS является ответом, этап 220 анализирует сообщение для определения, помечено оно или нет, то есть содержит ли оно флаг активации службы и указывает ли значение флага, что служба безопасности активна для соответствующего клиентского устройства 10. Если нет, этап 222 пересылает соответствующий ответ DNS запрашивающему программному объекту (например, клиентское приложение 52 или OS 50).[0043] If the intercepted DNS message is a response, step 220 analyzes the message to determine if it is tagged or not, that is, if it contains a service activation flag and if the value of the flag indicates that the security service is active for the corresponding client device 10. If not, step 222 forwards the appropriate DNS response to the requesting software entity (eg, client application 52 or OS 50).

[0044] В некоторых вариантах осуществления приложение 54 безопасности поддерживает пул предварительно определенных фиктивных сетевых адресов, зарезервированных в целях безопасности. В данном документе фиктивные адреса используются как замены для фактических сетевых адресов, возвращаемых поставщиками DNS. Фиктивный адрес может указывать и может и не указывать местонахождение реального онлайн-ресурса. Приложение 54 безопасности поддерживает таблицу ассоциации адресов (например, хеш-таблицу), содержащую преобразование между реальными и фиктивными адресами, как показано ниже. В некоторых вариантах осуществления приложение 54 безопасности дополнительно регистрирует фиктивные IP-адреса с помощью интерфейса VPN клиентской системы 10, так что весь трафик к и/или от таких фиктивных адресов будет проходить через приложение 54 безопасности. Это позволяет коммуникационному менеджеру 58 выполнять операции безопасности на таком трафике, например, для перенаправления или инспекции такого трафика, как более подробно описано ниже. Отдельные фиктивные адреса могут использоваться для различных служб, таких как родительский контроль, выборка трафика, контроль доступа и т.д.[0044] In some embodiments, security application 54 maintains a pool of predefined dummy network addresses reserved for security purposes. In this document, bogus addresses are used as replacements for the actual network addresses returned by DNS providers. A fictitious address may or may not indicate the location of a real online resource. The security application 54 maintains an address association table (eg, a hash table) containing the conversion between real and bogus addresses, as shown below. In some embodiments, security application 54 further registers bogus IP addresses with client system 10's VPN interface such that all traffic to and/or from such bogus addresses will go through security application 54. This allows the communication manager 58 to perform security operations on such traffic, for example, to redirect or inspect such traffic, as described in more detail below. Separate dummy addresses can be used for various services such as parental control, traffic sampling, access control, etc.

[0045] Если перехваченное сообщение DNS представляет собой помеченный ответ, причем значение флага указывает, что службы безопасности активны, то на этапе 224 из пула выбирают доступный фиктивный адрес. Некоторые варианты осуществления выбирают фиктивный адрес дополнительно в соответствии со значением флага 27 активации службы, например, когда различные значения указывают активацию различных служб. Затем прокси 56 DNS может создать ассоциацию между соответствующим фиктивным адресом и фактическим сетевым адресом, содержащимся в ответе DNS (например, запись хеш-таблицы, преобразующая фиктивный адрес в реальный адрес или наоборот). Следующий этап 228 может редактировать помеченный ответ DNS для заменены фактического сетевого адреса выбранным фиктивным адресом. На этапе 228 некоторые варианты осуществления дополнительно удаляют флаг активации службы из соответствующего сообщения DNS, чтобы оно выглядело как стандартный ответ DNS. Такие стратегии обфускации могут помочь скрыть действия программного обеспечения безопасности от потенциального вредоносного кода, исполняемого на клиентском устройстве 10. Следующий этап 230 передает модифицированный ответ DNS запрашивающему программному объекту (например, клиентскому приложению 52 или OS 50).[0045] If the intercepted DNS message is a labeled response, and the value of the flag indicates that the security services are active, then at step 224, an available dummy address is selected from the pool. Some embodiments select the dummy address further according to the value of the service activation flag 27, for example, when different values indicate the activation of different services. The DNS proxy 56 may then create an association between the corresponding dummy address and the actual network address contained in the DNS response (eg, a hash table entry that maps the dummy address to the real address or vice versa). The next step 228 may edit the tagged DNS response to replace the actual network address with the selected dummy address. At block 228, some embodiments further remove the service activation flag from the corresponding DNS message to make it look like a standard DNS response. Such obfuscation strategies can help hide security software activity from potential malicious code executing on client device 10. The next step 230 transmits a modified DNS response to the requesting software entity (eg, client application 52 or OS 50).

[0046] В некоторых вариантах осуществления коммуникационный менеджер 58 перехватывает и обрабатывает, по меньшей мере, часть электронных коммуникаций между клиентским устройством 10 и контент-сервером 18. Как показано выше, некоторые варианты осуществления конфигурируют приложение 54 безопасности для перехвата коммуникаций, приходящих от и/или исходящих к предварительно определенному набору IP-адресов. Фиг. 8 показывает примерную последовательность этапов, выполняемых коммуникационным менеджером 58, для обработки исходящих коммуникаций, например, запросов протокола передачи гипертекста (HTTP) к контент-серверу 18. Если такая коммуникация обнаружена (этапы 242-244), этап 246 определяет, совпадает ли IP-адрес назначения соответствующей коммуникации с каким-либо из списка фиктивных IP-адресов, поддерживаемых приложением 54 безопасности. Если нет, коммуникационный менеджер 58 может пересылать коммуникацию на коммуникационный интерфейс клиентской системы 10 для передачи ее предполагаемому получателю.[0046] In some embodiments, the communication manager 58 intercepts and processes at least a portion of the electronic communications between the client device 10 and the content server 18. As shown above, some embodiments configure the security application 54 to intercept communications coming from and/ or outgoing to a predefined set of IP addresses. Fig. 8 shows an exemplary sequence of steps performed by the communication manager 58 to process outbound communications, such as Hypertext Transfer Protocol (HTTP) requests to the content server 18. If such communication is detected (steps 242-244), step 246 determines if the IP the destination address of the corresponding communication with any of the list of dummy IP addresses maintained by the security application 54 . If not, the communication manager 58 may forward the communication to the communication interface of the client system 10 for transmission to the intended recipient.

[0047] Если да, с указанием, что соответствующая коммуникация была выбрана для обработки безопасности, этап 248 выполняет некоторые действия безопасности согласно соответствующей коммуникации. Примерные действия безопасности включают в себя определение набора метаданных, содержащих, например, реальный IP-адрес назначения, связанный с соответствующим фиктивным адресом, коммуникационный порт, размер полезной нагрузки и временную метку коммуникации. Другое действие безопасности может содержать создание копии полезной нагрузки соответствующей коммуникации. Еще одно примерное действие безопасности содержит проверку полезной нагрузки коммуникации для определения, шифрована ли соответствующая полезная нагрузка или нет, или содержит ли соответствующая полезная нагрузка определенный тип данных (например, изображение, исполняемый код и т.д.). В еще одном примере этап 248 содержит сканирование полезной нагрузки соответствующей коммуникации на наличие вредоносного кода. В некоторых вариантах осуществления этап 248 дополнительно содержит размещение информации, извлеченной о/из соответствующей коммуникации, в журнал или очередь для автономной передачи на сервер 16 безопасности. Некоторые варианты осуществления определяют тип действия безопасности в соответствии с фиктивным адресом. Например, некоторые фиктивные адреса могут указывать действие родительского контроля, тогда как другой фиктивный адрес может указывать сканирование вредоносного кода.[0047] If yes, indicating that the corresponding communication has been selected for security processing, step 248 performs some security actions according to the corresponding communication. Exemplary security actions include defining a set of metadata containing, for example, a real destination IP address associated with a corresponding dummy address, a communication port, a payload size, and a communication timestamp. Another security action may comprise making a copy of the payload of the corresponding communication. Another exemplary security action comprises checking the communication payload to determine if the corresponding payload is encrypted or not, or if the corresponding payload contains a certain type of data (eg, image, executable code, etc.). In yet another example, step 248 comprises scanning the corresponding communication payload for malicious code. In some embodiments, step 248 further comprises placing the information retrieved about/from the respective communication into a log or queue for offline transmission to the security server 16. Some embodiments determine the type of security action according to the dummy address. For example, some bogus addresses may indicate a parental control action, while another bogus address may indicate a malware scan.

[0048] На дополнительном этапе 252 коммуникационный менеджер 58 может просматривать таблицу ассоциации адресов для определения реального IP-адреса, соответствующего фиктивному адресу, указанному в соответствующей коммуникации, и редактировать соответствующую коммуникацию для замены фиктивного адреса реальным IP-адресом. В некоторых вариантах осуществления этап 252 может дополнительно переупаковать исходную коммуникацию, чтобы перемаршрутизировать ее через туннель виртуальной частной сети на сервер 16 безопасности (см. фиг. 5-В). Этап 254 может затем переслать коммуникацию на коммуникационный интерфейс клиентского устройства 10.[0048] In an additional step 252, the communication manager 58 may look up the address association table to determine the real IP address corresponding to the dummy address specified in the corresponding communication and edit the corresponding communication to replace the dummy address with the real IP address. In some embodiments, step 252 may further repackage the original communication to reroute it through the VPN tunnel to the security server 16 (see FIG. 5-B). Step 254 may then forward the communication to the communication interface of the client device 10.

[0049] Фиг. 9 показывает примерную последовательность этапов, выполняемых коммуникационным менеджером 58 при обработке входящих коммуникаций. Когда такая коммуникация получена (этапы 262-264), этап 266 может просматривать таблицу ассоциации адресов для определения, совпадает ли исходный IP-адрес коммуникации с фиктивным адресом. Если нет, коммуникационный менеджер 58 может пересылать входящую коммуникацию ее предполагаемому получателю (например, приложению 52).[0049] FIG. 9 shows an exemplary sequence of steps performed by the communications manager 58 when processing incoming communications. When such a communication is received (steps 262-264), step 266 may look up the address association table to determine if the source IP address of the communication matches the dummy address. If not, the communication manager 58 may forward the incoming communication to its intended recipient (eg, application 52).

[0050] Если да, с указанием, что соответствующая коммуникация выбрана для обработки безопасности, этап 268 выполняет набор действий безопасности в соответствии с входящей коммуникацией. Примерные действия безопасности включают в себя определение набора метаданных коммуникации (например, начальный IP-адрес, размер полезной нагрузки, временная отметка и т.д.), копирование полезной нагрузки соответствующей коммуникации, проверку полезной нагрузки для определения набора характеристик (например, шифрована ли соответствующая полезная нагрузка, содержит ли она исполняемый код и т.д.), и сканирование соответствующей полезной нагрузки на наличие вредоносного кода, среди прочего. Некоторые варианты осуществления могут дополнительно передавать такую информацию на сервер 16 безопасности.[0050] If yes, indicating that the appropriate communication is selected for security processing, step 268 performs a set of security actions in accordance with the incoming communication. Exemplary security actions include determining a set of communication metadata (e.g., start IP address, payload size, timestamp, etc.), copying the payload of the corresponding communication, checking the payload to determine the set of characteristics (e.g., whether the corresponding payload, whether it contains executable code, etc.), and scanning the corresponding payload for malicious code, among other things. Some embodiments may further transmit such information to the security server 16 .

[0051] На этапе 272 коммуникационный менеджер 58 может затем редактировать входящую коммуникация для замены исходного IP-адреса на ассоциированный фиктивный IP-адрес. Дополнительный этап 274 может затем пересылать редактированную коммуникацию ее предполагаемому получателю (например, клиентское приложение 52).[0051] At step 272, the communication manager 58 may then edit the incoming communication to replace the original IP address with the associated dummy IP address. An additional step 274 may then forward the edited communication to its intended recipient (eg, client application 52).

[0052] В некоторых вариантах осуществления построитель 57 профилей (фиг. 6) конфигурирован для определения различных характеристик конфигурации аппаратного обеспечения и/или программного обеспечения клиентского устройства 10 и для передачи таких данных в форме индикатора 29 профиля в сервер безопасности 16 (фиг. 2-В). Примерные характеристики аппаратного обеспечения могут включать в себя, например, тип устройства соответствующего клиентского устройства (например, смартфон, ПК, планшетный компьютер, термостат), характеристику идентификации (например, МАС-адрес, IMEI и т.д.), спецификации аппаратного обеспечения различных компонент (например, производитель, модель), индикатор, имеет ли соответствующее клиентское устройство 10 конкретный компонент аппаратного обеспечения (например, камера, микрофон, считыватель отпечатков пальцев, система глобального позиционирования -датчик GPS и т.д.). Другие примерные характеристики аппаратного обеспечения включают в себя объем используемого в данный момент ресурса (например, дросселирование CPU, использование RAM и диска, активное экранное время). Примерные характеристики программного обеспечения включают в себя, среди прочего, тип и версию OS 50, список установленных в данный момент программных приложений и статистические данные, указывающие, насколько каждое приложение используется на соответствующем устройстве. Индикатор 29 профиля может дополнительно включать в себя индикатор текущего географического местоположения клиентского устройства (например, страна, географические координаты и т.д.). В ответ на получение индикатора 29 профиля сервер 16 безопасности может хранить такую информацию в базе 19 данных профилей клиента. В некоторых вариантах осуществления информация профиля клиента используется для выбора клиентского устройства из множества клиентских устройств для служб безопасности, таких как сбор криминалистических данных, как описано ниже. Например, такая информация профиля может предоставлять подсказки, какие устройства могут быть заражены вредоносным программным обеспечением.[0052] In some embodiments, the profile builder 57 (FIG. 6) is configured to determine various hardware and/or software configuration characteristics of the client device 10 and to communicate such data in the form of a profile indicator 29 to the security server 16 (FIG. 2- AT). Exemplary hardware characteristics may include, for example, the device type of the corresponding client device (e.g., smartphone, PC, tablet computer, thermostat), identification characteristic (e.g., MAC address, IMEI, etc.), hardware specifications of various component (eg, manufacturer, model), an indication of whether the corresponding client device 10 has a specific hardware component (eg, camera, microphone, fingerprint reader, global positioning system-GPS sensor, etc.). Other exemplary hardware characteristics include the amount of resource currently in use (eg, CPU throttling, RAM and disk usage, active screen time). Exemplary software characteristics include, but are not limited to, OS 50 type and version, a list of currently installed software applications, and statistics indicating how much each application is used on the respective device. The profile indicator 29 may further include an indicator of the client device's current geographic location (eg, country, geographic coordinates, etc.). In response to receiving the profile indicator 29, the security server 16 may store such information in the client profile database 19 . In some embodiments, client profile information is used to select a client device from a plurality of client devices for security services, such as forensic intelligence, as described below. For example, such profile information may provide clues as to which devices may be infected with malware.

[0053] Фиг. 10 показывает примерную последовательность этапов, выполняемых DNS-сервером 14 согласно некоторым вариантам осуществления настоящего изобретения. Последовательность этапов 282-284 перехватывает запросы DNS. В некоторых вариантах осуществления такие запросы помечаются идентификатором клиента (см. описание выше в отношении фиг. 7). Когда запрос получен, этап 286 идентифицирует клиентское устройство, на котором был создан соответствующий запрос, согласно ID 25 клиента (см., например, фиг. З). На дополнительном этапе 288 DNS-сервер 14 может искать профиль клиента соответствующего клиентского устройства в базе 19 данных профилей.[0053] FIG. 10 shows an exemplary sequence of steps performed by a DNS server 14 according to some embodiments of the present invention. The sequence of steps 282-284 intercepts DNS requests. In some embodiments, such requests are tagged with a client identifier (see the description above with respect to FIG. 7). When a request is received, step 286 identifies the client device on which the corresponding request was created according to client ID 25 (see, for example, FIG. 3). In an additional step 288, the DNS server 14 may look up the client profile of the corresponding client device in the profile database 19 .

[0054] Этап 290 может дополнительно определять, удовлетворено ли условие активации службы для текущего запроса DNS и соответствующего клиентского устройства. Иначе говоря, на этапе 290 сервер 14 может селективно активировать службу безопасности для некоторых клиентов и/или некоторых доменных имен. Выбор клиента может происходить в соответствии с данными профиля клиента, извлеченными из базы 19 данных. В альтернативном варианте осуществления, в котором прокси 56 DNS отправляет данные профиля клиента, кодированные в тегированном запросе 26 DNS, сервер 14 может выбирать соответствующее клиентское устройство в соответствии с такими данными. В еще одном варианте осуществления этапы 288-290 выполняются сервером 16 безопасности, передающим затем список выбранных клиентских устройств на DNS-сервер 14.[0054] Step 290 may further determine if a service activation condition is satisfied for the current DNS query and the corresponding client device. In other words, at step 290, the server 14 may selectively activate the security service for some clients and/or some domain names. The selection of the client may take place according to the client profile data retrieved from the database 19 . In an alternative embodiment in which the DNS proxy 56 sends the client profile data encoded in the tagged DNS request 26, the server 14 may select an appropriate client device in accordance with such data. In yet another embodiment, steps 288-290 are performed by the security server 16, which then transmits the list of selected client devices to the DNS server 14.

[0055] В примерном варианте осуществления сбора криминалистических данных, DNS-сервер 14 может выбирать клиенты, соответствующие определенному типу устройства (например, смартфоны), клиенты из определенного региона или страны (например, Германия), клиенты, работающие под управлением конкретной операционной системы и/или версии (например, Android, iOS 10) и т.д. Другой примерный критерий выбора клиента включает в себя, запускает ли соответствующее клиентское устройство конкретное приложение, например неизвестное или подозрительное программное обеспечение. В одном таком примере HTTP-запросы на доступ к IP-адресам, связанным с конкретными доменными именами и полученным от устройств, на которых запущено определенное отслеживаемое приложение, могут быть копированы или перенаправлены через VPN на сервер 16 безопасности.[0055] In an exemplary forensic data collection embodiment, DNS server 14 may select clients corresponding to a particular device type (eg, smartphones), clients from a particular region or country (eg, Germany), clients running a particular operating system, and /or version (e.g. Android, iOS 10), etc. Another exemplary client selection criterion includes whether the respective client device runs a particular application, such as unknown or suspicious software. In one such example, HTTP requests to access IP addresses associated with specific domain names from devices running a particular monitored application can be replicated or redirected via the VPN to the security server 16 .

[0056] Другие критерии выбора клиента могут включать в себя подсчет клиентских устройств и/или запросов DNS. Например, DNS-сервер 14 может выбирать предварительно определенное количество клиентских устройств в течение каждого временного интервала (например, не более 100 отличных клиентов в секунду) или предварительно определенное количество запросов DNS (например, не более 50 отличных запросов DNS от одного и того же клиента). В варианте осуществления, изображенном на фиг. 5-В, в котором клиентское устройство может селективно перемаршрутизировать определенные коммуникации на сервер 16 безопасности через VPN-туннель в соответствии со значением флага активации службы, другой примерный критерий выбора включает в себя текущую нагрузку службы VPN, выполняющейся на сервере 16 безопасности. В примерном варианте осуществления родительского контроля другой критерий выбора может включать в себя текущего пользователя соответствующего клиентского устройства (например, активировать правила родительского контроля селективно, только когда дети используют устройство). Индивидуальные критерии выбора могут быть комбинированы в сложные критерии, включающие в себя несколько условий (например, 100 запросов DNS, полученных от различных смартфонов в Бельгии и Нидерландах).[0056] Other client selection criteria may include client device counts and/or DNS queries. For example, DNS server 14 may select a predetermined number of client devices during each time interval (e.g., no more than 100 distinct clients per second) or a predetermined number of DNS queries (e.g., no more than 50 distinct DNS queries from the same client). ). In the embodiment depicted in FIG. 5-B, in which the client device can selectively reroute certain communications to the security server 16 through the VPN tunnel according to the value of the service activation flag, another exemplary selection criterion includes the current load of the VPN service running on the security server 16. In an exemplary parental control embodiment, another selection criterion may include the current user of the respective client device (eg, activate parental control rules selectively only when children are using the device). The individual selection criteria can be combined into complex criteria including multiple conditions (eg 100 DNS queries received from various smartphones in Belgium and the Netherlands).

[0057] Если условие выбора удовлетворено для клиентского устройства, выдавшего текущий запрос DNS, этап 294 может формулировать помеченный ответ DNS путем установки флага 27 активации службы для указания, что служба безопасности активна (см., например, фиг. 4). В некоторых вариантах осуществления установка флага 27 на активный эффективно выбирает соответствующее клиентское устройство для конкретной службы безопасности, такой как сбор криминалистических данных, родительский контроль и т.д. Такой выбор активируется здесь по запросу DNS, и может быть отключен для последующих запросов, полученных от этого же клиентского устройства.[0057] If the selection condition is satisfied for the client device issuing the current DNS query, step 294 may formulate a labeled DNS response by setting a service activation flag 27 to indicate that the security service is active (see, for example, FIG. 4). In some embodiments, setting flag 27 to active effectively selects the appropriate client device for a particular security service, such as forensic collection, parental controls, and so on. This selection is enabled here on a DNS request, and can be disabled for subsequent requests received from the same client device.

[0058] Когда условия выбора не удовлетворены для соответствующего клиентского устройства и текущего запроса DNS, этап 296 может формулировать помеченный ответ DNS путем установки флага 27 активации для указания, что служба безопасности неактивна. В альтернативном варианте осуществления этап 296 может формулировать стандартный ответ DNS, в котором флаг 27 активации службы полностью отсутствует. Следующий этап 298 может передавать ответ DNS, формулированный на этапе 294 или 296, на запрашивающее клиентское устройство.[0058] When the selection conditions are not satisfied for the respective client device and the current DNS query, step 296 may formulate a labeled DNS response by setting an activation flag 27 to indicate that the security service is inactive. In an alternative embodiment, step 296 may formulate a standard DNS response in which the service activation flag 27 is completely absent. The next step 298 may send the DNS response formulated in step 294 or 296 to the requesting client device.

[0059] Вышеприведенное описание показывает примерные компьютерные программы, выполняющие различные способы согласно некоторым вариантам осуществления настоящего изобретения. Такие компьютерные программы обычно выполняются многоцелевым аппаратным процессором, однако квалифицированному специалисту понятно, что раскрытые в данном документе способы и алгоритмы могут быть реализованы с использованием специализированных компонентов аппаратного обеспечения, таких как специализированная интегральная схема (ASIC) или программируемая пользователем вентильная матрица (FPGA). Фиг. 11 иллюстрирует примерную конфигурацию аппаратного обеспечения компьютерной системы, программируемой для выполнения описанных в данном документе способов и алгоритмов. Фиг. 11 показывает общую компьютерную систему, которая может представлять собой, например, любое из клиентских устройств 10а-f, DNS-сервер 14 и сервер 16 безопасности, среди прочего. Квалифицированному специалисту понятно, что конфигурация аппаратного обеспечения некоторых клиентских систем (например, мобильные телефоны, умные часы) может несколько отличаться от показанной на фиг. 11 конфигурации.[0059] The above description shows exemplary computer programs that perform various methods according to some embodiments of the present invention. Such computer programs are typically executed by a general purpose hardware processor, however, those skilled in the art will appreciate that the methods and algorithms disclosed herein may be implemented using specialized hardware components such as an application specific integrated circuit (ASIC) or field programmable gate array (FPGA). Fig. 11 illustrates an exemplary hardware configuration of a computer system programmed to execute the methods and algorithms described herein. Fig. 11 shows a general computer system, which may be, for example, any of the client devices 10a-f, a DNS server 14, and a security server 16, among others. The skilled artisan will appreciate that the hardware configuration of some client systems (eg, mobile phones, smartwatches) may differ slightly from that shown in FIG. 11 configurations.

[0060] Изображенная компьютерная система содержит набор физических устройств, включая аппаратный процессор 32 и блок 34 памяти. Процессор 32 содержит физическое устройство (например, микропроцессор, многоядерная интегральная схема, выполненная на полупроводниковой подложке и т.д.), конфигурированное для выполнения вычислительных и/или логических операций с набором сигналов и/или данных. В некоторых вариантах осуществления такие операции доставляются процессору 32 в форме последовательности инструкций процессора (например, машинный код или кодирование другого типа). Блок 34 памяти может содержать энергозависимый машиночитаемый носитель (например, DRAM, SRAM), хранящий инструкции и/или данные, к которым осуществляется доступ или которые генерируются процессором 32.[0060] The depicted computer system includes a collection of physical devices, including a hardware processor 32 and a memory unit 34. The processor 32 includes a physical device (eg, a microprocessor, a multi-core integrated circuit implemented on a semiconductor substrate, etc.) configured to perform computational and/or logic operations on a set of signals and/or data. In some embodiments, such operations are delivered to processor 32 in the form of a sequence of processor instructions (eg, machine code or other type of encoding). Memory unit 34 may include a volatile computer-readable medium (eg, DRAM, SRAM) that stores instructions and/or data that is accessed or generated by processor 32.

[0061] Устройства 36 ввода могут включать в себя, среди прочего, компьютерные клавиатуры, мыши и микрофоны, включая соответствующие аппаратные интерфейсы и/или адаптеры, позволяющие пользователю вводить данные и/или инструкции в соответствующую компьютерную систему. Устройства 38 вывода могут включать в себя устройства отображения, такие как мониторы и динамики, среди прочего, а также аппаратные интерфейсы/адаптеры, такие как графические карты, позволяющие изображенной компьютерной системе передавать данные пользователю. В некоторых вариантах осуществления устройства 36 ввода и устройства 38 вывода совместно используют общее аппаратное обеспечение, как в случае устройств с сенсорным экраном. Запоминающие устройства 42 включают в себя машиночитаемые носители, обеспечивающие энергонезависимое хранение, чтение и запись программных инструкций и/или данных. Примеры запоминающих устройств 42 включают в себя магнитные и оптические диски и устройства флэш-памяти, а также съемные носители, такие как диски и приводы CD и/или DVD. Набор сетевых адаптеров 44 вместе со связанным коммуникационным интерфейсом (интерфейсами) позволяет изображенной компьютерной системе подключаться к компьютерной сети и/или к другим устройствам/компьютерным системам. Контроллер-концентратор 40 представляет собой множество системных, периферийных шин и/или шин набора микросхем, и/или всех других схем, обеспечивающих коммуникацию между процессором 32 и устройствами 34, 36, 38, 42 и 44. Например, контроллер-концентратор 40 может включать в себя, среди прочего, контроллер памяти, контроллер ввода/вывода (I/O) и контроллер прерываний. В другом примере контроллер-концентратор 40 может содержать процессор 32 соединения северного моста к памяти 34 и/или процессор 32 соединения южного моста к устройствам 36, 38, 42 и 44.[0061] Input devices 36 may include, among other things, computer keyboards, mice, and microphones, including appropriate hardware interfaces and/or adapters that allow a user to enter data and/or instructions into an appropriate computer system. Output devices 38 may include display devices such as monitors and speakers, among other things, as well as hardware interfaces/adapters, such as graphics cards, to allow the depicted computer system to communicate data to a user. In some embodiments, input devices 36 and output devices 38 share common hardware, as is the case for touch screen devices. The storage devices 42 include computer-readable media for non-volatile storage, reading and writing of program instructions and/or data. Examples of storage devices 42 include magnetic and optical disks and flash memory devices, as well as removable media such as disks and CD and/or DVD drives. The set of network adapters 44, together with the associated communication interface(s), allows the depicted computer system to be connected to a computer network and/or to other devices/computer systems. Controller hub 40 is a plurality of system, peripheral, and/or chipset buses, and/or all other circuitry enabling communication between processor 32 and devices 34, 36, 38, 42, and 44. For example, controller hub 40 may include includes, among other things, a memory controller, an input/output (I/O) controller, and an interrupt controller. In another example, controller hub 40 may include a northbridge connection processor 32 to memory 34 and/or a southbridge connection processor 32 to devices 36, 38, 42, and 44.

[0062] Вышеописанные примерные системы и способы позволяют селективно выполнять операции компьютерной безопасности на разнородных клиентах, таких как персональные компьютеры и смартфоны, а также на устройствах Интернета Вещей (IoT), таких как телевизоры, термостаты, холодильники и носимые устройства, среди прочего. Селективность в данном документе обозначает возможность точного целенаправленного выбора устройства из множества клиентских устройств и выполнения некоторой процедуры безопасности на соответствующем устройстве, в отличие от неизбирательного выполнения соответствующей процедуры безопасности на множестве клиентских устройств. В некоторых вариантах осуществления выбор целевых устройств централизован на удаленной серверной компьютерной системе, коммуникативно связанной с множеством клиентских устройств.[0062] The exemplary systems and methods described above enable computer security operations to be selectively performed on heterogeneous clients such as personal computers and smartphones, as well as Internet of Things (IoT) devices such as televisions, thermostats, refrigerators, and wearable devices, among others. Selectivity in this document refers to the ability to accurately selectively select a device from a plurality of client devices and perform some security procedure on the corresponding device, as opposed to indiscriminately perform the corresponding security procedure on a plurality of client devices. In some embodiments, target device selection is centralized on a remote server computer system communicatively coupled to a plurality of client devices.

[0063] В некоторых вариантах осуществления приложение безопасности исполняется на каждом клиентском устройстве и содержит прокси службы доменных имен (DNS), перехватывающий и обрабатывающий сообщения DNS, которыми обмениваются соответствующее клиентское устройство и удаленный DNS-сервер. Для ясности и простоты в приведенном выше раскрытии используется термин "служба доменных имен" для обозначения обычной DNS, используемой в настоящее время в Интернет-коммуникациях. Однако квалифицированному специалисту понятно, что описанные в данном документе способы и системы могут быть легко адаптированы к любому другому формату и протоколу для преобразования доменного имени в сетевой адрес или наоборот.[0063] In some embodiments, the security application runs on each client device and includes a Domain Name Service (DNS) proxy that intercepts and processes DNS messages exchanged between the respective client device and a remote DNS server. For clarity and simplicity, the above disclosure uses the term "Domain Name Service" to refer to the conventional DNS currently used in Internet communications. However, the skilled artisan will appreciate that the methods and systems described herein can be easily adapted to any other format and protocol for converting a domain name to a network address or vice versa.

[0064] В некоторых вариантах осуществления компонент прокси DNS тегирует исходящие запросы DNS, адресованные DNS-серверу, идентификатором соответствующего клиентского устройства. В ответ DNS-сервер может отвечать помеченным ответом DNS, содержащим флаг активации службы. В некоторых вариантах осуществления DNS-сервер выбирает конкретное клиентское устройство для процедуры безопасности путем установки флага активации службы на предварительно определенное значение при выдаче ответа DNS соответствующему клиенту. В свою очередь, приложение безопасности, исполняемое на клиенте, может интерпретировать некоторые значения флага активации службы как триггер для исполнения соответствующей процедуры безопасности. Различные значения флага могут запускать различные процедуры безопасности. В альтернативном варианте осуществления наличие флага активации службы в ответе DNS может запускать процедуры безопасности, тогда как отсутствие такого флага может указывать приложению безопасности не выполнять соответствующие процедуры.[0064] In some embodiments, the DNS proxy component tags outgoing DNS queries addressed to the DNS server with the identifier of the corresponding client device. In response, the DNS server may respond with a tagged DNS response containing a service activation flag. In some embodiments, the DNS server selects a particular client device for security by setting the service activation flag to a predetermined value when issuing a DNS response to the appropriate client. In turn, the security application running on the client may interpret certain values of the service activation flag as a trigger for the execution of the appropriate security procedure. Different flag values can trigger different security procedures. In an alternative embodiment, the presence of a service activation flag in the DNS response may trigger security procedures, while the absence of such a flag may instruct the security application not to perform the appropriate procedures.

[0065] Ввиду вышеизложенного, примерные вышеописанные системы и способы обеспечивают достижение селективности клиента на уровне отдельных сообщений DNS. Иначе говоря, процедуры безопасности могут быть разрешены/не разрешены посредством любого отдельного обмена DNS между соответствующим клиентским устройством и DNS-сервером. В некоторых обычных приложениях компьютерной безопасности клиенты выбираются для определенных процедур в соответствии с индивидуальными вариантами клиентской подписки или в соответствии с параметрами конфигурации программного обеспечения. Например, некоторые клиенты могут подписываться на родительский контроль, тогда как другие могут не подписываться. Сходным образом, программное обеспечение безопасности может перенаправлять через VPN-туннель трафик одних клиентов, но не других. Однако такая селективность клиентов обычно предопределена и не изменяется во времени, например, все запросы доступа, поступающие от конкретного клиента, обычно обрабатываются в соответствии с одним и тем же правилом/процедурой. В отличие от таких обычных систем, некоторые варианты осуществления позволяют более гибкий выбор клиента, выполняемый для каждого сообщения DNS. Это позволяет, например, выбрать клиента для конкретной процедуры в соответствии с расписанием, в соответствии с текущей нагрузкой на сервер, в соответствии с доменным именем, к которому клиент пытается получить доступ, в соответствии с текущим географическим положением клиента (например, установка геозон) и др.[0065] In view of the foregoing, the exemplary systems and methods described above achieve client selectivity at the level of individual DNS messages. In other words, the security procedures can be resolved/not resolved by any single DNS exchange between the respective client device and the DNS server. In some common computer security applications, clients are selected for certain procedures according to individual client subscription options or according to software configuration settings. For example, some clients may subscribe to parental controls while others may not. Similarly, some client traffic may be routed through the VPN tunnel by security software, but not others. However, this client selectivity is usually predetermined and does not change over time, eg all access requests coming from a particular client are usually processed according to the same rule/procedure. Unlike such conventional systems, some embodiments allow more flexible client selection to be performed on a per DNS message basis. This allows, for example, to select a client for a specific procedure according to the schedule, according to the current load on the server, according to the domain name the client is trying to access, according to the client's current geographic location (for example, setting geofences), and others

[0066] Примерные процедуры безопасности, селективно активизируемые согласно некоторым вариантам осуществления настоящего изобретения, включают в себя, среди прочего, селективный сбор криминалистической информации от клиентов, селективную маршрутизацию трафика через сервер безопасности, родительский контроль (например, селективный мониторинг и/или ограничение доступа определенных клиентов/пользователей к определенному онлайн-контенту), приложение или управления доступом (например, селективный мониторинг и/или ограничение использования клиентом выбранных приложений и/или протоколов коммуникации, таких как Facebook® и онлайновый обмен сообщениями).[0066] Exemplary security procedures selectively activated in accordance with some embodiments of the present invention include, but are not limited to, selective collection of forensic information from clients, selective routing of traffic through a security server, parental controls (e.g., selective monitoring and/or restricting access to certain clients/users to certain online content), application or access control (eg selective monitoring and/or restriction of the client's use of selected applications and/or communication protocols such as Facebook® and online messaging).

[0067] Важный класс приложений, обеспечиваемых или поддерживаемых некоторыми вариантами осуществления настоящего изобретения, основан на селективном сборе компьютерных криминалистических данных от клиентов. Такой сбор может быть полезен, например, для своевременного обнаружения возникающих угроз компьютерной безопасности, таких как вредоносный код. Новое вредоносное программное обеспечение появляется постоянно, и при отсутствии информации о его поведении такое программное обеспечение может обходить обычные меры безопасности и быстро распространяться. Устройства 1оТ особенно уязвимы для таких заражений. Поэтому важно собирать как можно больше информации о возникающих заражениях, и в идеале селективно собирать такую информацию от уже зараженных устройств. Некоторый вредоносный код селективно заражает устройства определенного типа (например, мобильные телефоны) и/или устройства, работающие под управлением операционной системы определенного типа (например, AFndroid®). Некоторые варианты осуществления обеспечивают возможность такого селективного целенаправленного выбора клиентов и, следовательно, эффективного сбора информации в целях безопасности. В одном таком примере DNS-сервер может выбирать клиентское устройство, соответствующее профилю вероятной цели для конкретного вредоносного кода (например, смартфон из конкретной страны). В ответ, программное обеспечение безопасности, исполняемое на выбранном клиентском устройстве, может делать снимок трафика данных, входящего в/исходящего из соответствующего клиентского устройства. За счет разрешения селективной активации сбора данных для каждого сообщения DNS некоторые варианты осуществления позволяют собирать трафик данных, исходящий к или входящий из определенного представляющего интерес интернет-домена или сетевого адреса (например, подозрительный командно-управляющий сервер).[0067] An important class of applications provided or supported by some embodiments of the present invention is based on the selective collection of computer forensic data from clients. Such a collection can be useful, for example, for the timely detection of emerging computer security threats, such as malicious code. New malicious software appears all the time, and without information about its behavior, such software can bypass normal security measures and spread quickly. IoT devices are particularly vulnerable to such infections. Therefore, it is important to collect as much information as possible about emerging infections, and ideally collect such information selectively from already infected devices. Some malicious code selectively infects devices of a certain type (eg mobile phones) and/or devices running a certain type of operating system (eg AFndroid®). Some embodiments enable such selective targeting of clients and hence efficient collection of information for security purposes. In one such example, a DNS server may select a client device that matches a likely target profile for a particular malicious code (eg, a smartphone from a particular country). In response, the security software running on the selected client device may take a snapshot of the data traffic incoming/outgoing from the respective client device. By allowing selective activation of data collection for each DNS message, some embodiments allow data traffic to be collected to or from a particular Internet domain or network address of interest (eg, a suspect command and control server).

[0068] Альтернативный вариант сбора данных может перенаправлять на сервер безопасности коммуникацию между выбранным клиентским устройством и подозрительным интернет-доменом или сетевым адресом. Такое перенаправление может быть разрешено, например, с использованием VPN-туннеля. Затем сервер безопасности может анализировать перенаправленный трафик на предмет наличия злонамеренных действий. Перемаршрутизация и инспекция сетевого трафика известны в области компьютерной безопасности. Однако типичные конфигурации осуществляют перемаршрутизацию всего трафика выбранного клиента, обеспечивая тем самым его постоянную защиту от онлайн-угроз. Такая масштабная сеть перемаршрутизации трафика от тысяч защищенных клиентов к небольшому количеству серверов VPN является относительно дорогостоящей с точки зрения затрат на оборудование и вычислительной нагрузки и может негативно влиять на взаимодействие с пользователем на стороне клиента. В отличие от таких обычных систем в некоторых вариантах осуществления настоящего изобретения трафик каждого клиентского устройства может быть селективно перемаршрутизирован через VPN. Например, в варианте осуществления сбора данных только трафик к/от определенных представляющих интерес доменов может быть перенаправлен на серверы VPN. Кроме того, описанные в данном документе системы и способы позволяют производить случайную выборку сетевого трафика от множества клиентских устройств, соответствующих определенному профилю (например, смартфоны и планшетные компьютеры под управлением iOS®). Такая случайная выборка может гарантировать, что ни одно конкретное клиентское устройство не будет подвергаться непропорциональному воздействию процедур сбора данных, при этом общее влияние на взаимодействие с пользователем будет значительно меньше, чем в традиционных системах.[0068] An alternative collection of data may redirect to the security server communication between the selected client device and the suspect Internet domain or network address. Such redirection may be allowed, for example, using a VPN tunnel. The security server can then analyze the redirected traffic for malicious activity. Rerouting and inspection of network traffic are known in the field of computer security. However, typical configurations reroute all traffic of the selected client, thereby ensuring that it is always protected from online threats. Such a massive network of rerouting traffic from thousands of secure clients to a small number of VPN servers is relatively costly in terms of hardware costs and computational load, and can negatively impact the user experience on the client side. Unlike such conventional systems, in some embodiments of the present invention, the traffic of each client device can be selectively rerouted through the VPN. For example, in a data collection embodiment, only traffic to/from certain domains of interest may be redirected to the VPN servers. In addition, the systems and methods described herein allow random sampling of network traffic from a plurality of client devices that match a particular profile (eg, iOS® smartphones and tablets). This random sampling can ensure that no particular client device is disproportionately impacted by data collection procedures, while the overall impact on the user experience is significantly less than in traditional systems.

[0069] Некоторые варианты осуществления могут использовать помеченный ответ DNS как триггер для сбора других криминалистических данных. В одном таком примере в ответ на помеченный ответ DNS программное обеспечение безопасности может определять параметры текущего состояния соответствующего клиентского устройства (например, получать текущее значение различных переменных OS и/или ключей реестра, делать снимок конкретного раздела памяти и т.д.). Такие данные могут быть переданы на сервер безопасности и использованы в криминалистических расследованиях вместе с данными сетевого трафика.[0069] Some embodiments may use a tagged DNS response as a trigger to collect other forensic data. In one such example, in response to a labeled DNS response, the security software may determine the parameters of the current state of the respective client device (eg, obtain the current value of various OS variables and/or registry keys, take a snapshot of a particular section of memory, etc.). Such data can be transferred to a security server and used in forensic investigations along with network traffic data.

[0070] Примерный сценарий использования описанных в данном документе систем и способов содержит упреждающее обнаружение шпионского программного обеспечения. В Западной Европе была обнаружена вспышка нового вредоносного кода, поражающего устройства под управлением операционной системы Android®. Вредоносный код доставляется через Google Play® Store, упакованный как оригинальный инструмент для упорядочивания фотографий. Однако скрытой целью приложения является сбор личных данных пользователя и их отправка на сервер. Технически это считается шпионским программным обеспечением.[0070] An exemplary use case for the systems and methods described herein includes proactive detection of spyware. An outbreak of new malware has been discovered in Western Europe that is targeting devices running the Android® operating system. The malicious code is delivered via the Google Play® Store, packaged as an original photo organizing tool. However, the hidden purpose of the application is to collect the user's personal data and send it to the server. This is technically considered spyware.

Этап I - инициирование подозрения зловредности.Stage I - initiation of suspicion of malignancy.

[0071] Клиентские устройства, защищенные согласно некоторым вариантам осуществления настоящего изобретения, отправляют различные запросы DNS и информацию профиля клиента на сервер 14 DNS и/или сервер 16 безопасности (см. фиг. 2-В). Индикатор 29 профиля клиента может включать в себя список приложений, установленных в настоящий момент на устройстве. На основе такой информации обнаруживается установка неизвестного приложения. Кроме того, запись запросов DNS, полученных от этого клиентского устройства, выявляет частые запросы доступа к доменному имени upload application name.serviceprovider.com. Сервер 16 безопасности запускает серию эвристических процедур идентификации вредоносного кода в журналах DNS, обнаруживая, что домен serviceprovider.com зарегистрирован платформой как поставщик служб (PAS) и что запросы DNS для соответствующего домена поступают через относительно регулярные промежутки времени. Эти два факта вызывают подозрение в зловредности, и сервер 16 безопасности решает произвести выборку и/или инспекцию сетевого трафика, которым обмениваются соответствующее клиентское устройство и подозрительный домен.[0071] Client devices secured according to some embodiments of the present invention send various DNS queries and client profile information to DNS server 14 and/or security server 16 (see FIG. 2-B). The client profile indicator 29 may include a list of applications currently installed on the device. Based on this information, the installation of an unknown application is detected. In addition, a record of DNS requests received from this client device reveals frequent requests to access the domain name upload application name.serviceprovider.com. The security server 16 runs a series of malicious code heuristics in the DNS logs, detecting that the serviceprovider.com domain is registered as a Service Provider (PAS) by the platform and that DNS requests for the corresponding domain are received at relatively regular intervals. These two facts raise the suspicion of maliciousness, and the security server 16 decides to sample and/or inspect the network traffic exchanged between the respective client device and the suspicious domain.

Этап II - анализ трафикаStage II - traffic analysis

[0072] Для сбора репрезентативной выборки трафика, сервер 16 безопасности идентифицирует выбранный поднабор клиентских устройств, считающихся репрезентативными для этой угрозы, в соответствии с профилями устройств, хранящимися в базе 19 данных профилей. Например, выбор может быть выполнен в соответствии с текущим местоположением устройств-кандидате в (например, страны Западной Европы) и операционной системой (в данном случае конкретная версия Android®). Сервер 16 безопасности может передавать список выбранных устройств на DNS-сервер 14. В ответ DNS-сервер 14 может пометить по меньшей мере некоторые ответы DNS на запросы DNS, содержащие домен serviceprovider.com и полученные от выбранных клиентов, для указания на активацию службы сбора криминалистических данных на соответствующих устройствах. В некоторых вариантах осуществления значение флага 27 активации службы инструктирует программное обеспечение безопасности на принимающем клиентском устройстве перенаправить трафик на serviceprovider.com через VPN на сервер 16 безопасности. DNS-сервер 14 будет отслеживать каждое выбранное клиентское устройство, например, записывать, сколько запросов DNS serviceprovider.com были получены от соответствующего клиентского устройства, и остановит сбор криминалистических данных от соответствующего клиентского устройства, когда будет собрано достаточное количество выборок трафика. Чтобы остановить сбор данных, DNS-сервер 14 может сбросить флаг 27 активации службы для указания, что служба сбора данных неактивна, или может ответить стандартным ответом DNS, в котором вообще отсутствует флаг 27 активации службы.[0072] To collect a representative sample of traffic, the security server 16 identifies a selected subset of client devices considered representative of this threat in accordance with the device profiles stored in the profile database 19 . For example, the selection may be made according to the candidate device's current location in (eg, Western European countries) and operating system (in this case, a specific version of Android®). The security server 16 may send a list of selected devices to the DNS server 14. In response, the DNS server 14 may flag at least some of the DNS responses to DNS requests containing the serviceprovider.com domain received from the selected clients to indicate activation of the forensic collection service. data on the respective devices. In some embodiments, the value of the service activation flag 27 instructs the security software on the receiving client device to redirect traffic to serviceprovider.com over the VPN to the security server 16 . The DNS server 14 will keep track of each selected client device, for example, record how many DNS serviceprovider.com requests have been received from the respective client device, and stop collecting forensic data from the respective client device when enough traffic samples have been collected. To stop data collection, the DNS server 14 may reset the service activation flag 27 to indicate that the data collection service is inactive, or may respond with a standard DNS response that does not include the service activation flag 27 at all.

[0073] В свою очередь, в ответ на получение помеченного ответа DNS, указывающего, что сбор криминалистических данных активен, программное обеспечение безопасности, исполняемое на клиентском устройстве, заменяет реальный IP-адрес, соответствующий serviceprovider.com, на фиктивным IP-адресом. Затем, когда подозреваемый вредоносный код пытается связаться с serviceprovider.com, оно отправит запрос на соединение на фиктивный IP-адрес. Такой запрос может быть перемаршрутизирован через интерфейс VPN клиентского устройства на сервер 16 безопасности. Перемаршрутизация обычно содержит замену фиктивного IP-адреса на соответствующий реальный IP-адрес назначения и переупаковку сетевого трафика в соответствии с протоколом VPN. Некоторые варианты осуществления приложения 54 безопасности дополнительно прикрепляют некоторые метаданные (например, порт назначения, IP-адрес назначения, сетевой протокол, временную метку и т.д.) к перенаправленному трафику.[0073] In turn, in response to receiving a labeled DNS response indicating that forensic data collection is active, the security software running on the client device replaces the real IP address corresponding to serviceprovider.com with a bogus IP address. Then, when the suspected malware attempts to contact serviceprovider.com, it will send a connection request to a bogus IP address. Such a request may be rerouted through the VPN interface of the client device to the security server 16 . Rerouting typically involves replacing the bogus IP address with the corresponding real destination IP address and repackaging the network traffic according to the VPN protocol. Some embodiments of the security application 54 additionally attach some metadata (eg, destination port, destination IP address, network protocol, timestamp, etc.) to the redirected traffic.

[0074] В примерном сценарии анализа трафика компонент VPN сервера 16 безопасности регистрирует метаданные, прикрепленные к каждому принятому сетевому пакету, и сохраняет копию полезной нагрузки пакета на диск для последующей проверки. Сам пакет затем пересылается на его истинный IP-адрес назначения. Любой ответный пакет от соответствующего IP-адреса будет перенаправлен обратно на соответствующее клиентское устройство. В некоторых вариантах осуществления компонент VPN сервера 16 безопасности также будет регистрировать входящий трафик, предназначенный для соответствующего клиентского устройства, перехватывая, таким образом, полный обмен между подозреваемым вредоносным программным кодом и его удаленными поставщиками служб.[0074] In an exemplary traffic analysis scenario, the VPN component of the security server 16 logs the metadata attached to each received network packet and saves a copy of the packet's payload to disk for later verification. The packet itself is then forwarded to its true destination IP address. Any response packet from the corresponding IP address will be forwarded back to the corresponding client device. In some embodiments, the VPN component of the security server 16 will also log incoming traffic destined for the respective client device, thus intercepting the full exchange between the suspected malware and its remote service providers.

[0075] Используя некоторые из систем и способов, описанных в данном документе, аналитики компьютерной безопасности смогли собрать следующие типы информации:[0075] Using some of the systems and methods described herein, computer security analysts were able to collect the following types of information:

- телеметрия для идентификации вспышки нового потенциально вредоносного приложения;- telemetry to identify the outbreak of a new potentially malicious application;

- подозрительный веб-сервис, идентифицированный по подозрительному доменному имени; и- a suspicious web service identified by a suspicious domain name; and

- выборки данных, которыми обмениваются новое неизвестное приложение и подозрительное доменное имя.- samples of data exchanged between a new unknown application and a suspicious domain name.

[0076] Используя эти данные, аналитическая группа смогла применить эвристические процедуры для определения, что веб-служба в подозрительном домене используется для злонамеренных коммуникаций командно-управляющего типа. Это примерное определение зловредности было выполнено в соответствии со временем и периодичностью обмена пакетами, тем фактом, что сообщения шифрованы, идентификатором владельца ключа шифрования и средним размером полезной нагрузки коммуникации (относительно небольшие пакеты). Другой набор эвристических процедур идентифицировал подозрительный домен как злонамеренный загрузчик (сборщик пользовательских данных) в соответствии с асимметрией обменов (полезная нагрузка пакетов, возникающих на клиентском устройстве, обычно намного больше полезной нагрузки входящих пакетов), и с тем фактом, что такой асимметричный трафик был замечен только на некоторых зараженных клиентах, что предполагает, что соответствующие клиенты каким-то образом были выбраны командно-управляющим сервером как представляющие интерес.[0076] Using this data, the analysis team was able to apply heuristics to determine that the web service in the suspect domain is being used for malicious command-and-control communications. This rough definition of maliciousness was made according to the timing and frequency of packet exchanges, the fact that messages are encrypted, the identity of the owner of the encryption key, and the average size of the communication payload (relatively small packets). Another set of heuristics identified the suspicious domain as a malicious downloader (user data collector) according to the asymmetry of the exchanges (the payload of packets originating on the client device is usually much larger than the payload of incoming packets), and the fact that such asymmetric traffic has been seen only on some of the infected clients, suggesting that the affected clients were somehow chosen by the C&C server as being of interest.

[0077] В данной области техники известны несколько систем и способов использования сообщений DNS для селективного целенаправленного выбора отдельных клиентов для конкретных служб. Однако в обычных системах и способах, как правило, объектом, выполняющим соответствующую службу, является сам DNS-сервер. В примере родительского контроля в ответ на получение запроса DNS, помеченного идентификатором клиента, DNS-сервер может селективно выбирать, возвращать IP-адрес или нет, в соответствии с идентификатором клиента и/или запрошенным доменным именем. В примере балансирования нагрузки DNS-сервер может выбирать среди множества IP-адресов согласно текущему географическому положению запрашивающего клиента.[0077] Several systems and methods are known in the art for using DNS messages to selectively target individual clients for specific services. However, in conventional systems and methods, typically, the entity performing the corresponding service is the DNS server itself. In a parental control example, in response to receiving a DNS query tagged with a client ID, the DNS server can selectively choose whether or not to return an IP address according to the client ID and/or domain name requested. In the load balancing example, the DNS server may choose among a plurality of IP addresses according to the current geographic location of the requesting client.

[0078] В отличие от таких обычных систем, в некоторых вариантах осуществления настоящего изобретения задачи безопасности разделены между программным обеспечением, исполняемым на DNS-сервере, и программным обеспечением, исполняемым на клиентском устройстве. Например, задача выбора клиента для конкретной службы выполняется DNS-сервером, коммуницирующим с запрашивающим клиентским устройством посредством помеченного ответа DNS. В свою очередь, программное обеспечение безопасности, исполняемое на клиенте, фактически выполняет соответствующую службу (например, сбор криминалистических данных, перенаправление трафика на сервер безопасности, родительский контроль и т.д.). У такого разделения задач существует несколько преимуществ. С одной стороны, централизация процесса принятия решений на сервере обеспечивает комплексное управление информацией безопасности и оптимальную скорость реагирования на возникающие угрозы. С другой стороны, выполнение операций безопасности на самом клиенте позволяет повысить точность, сложность и гибкость соответствующих операций. Таким образом, практически любая операция может выполняться на клиенте с использованием при этом преимуществ вышеописанного выбора каждого сообщения DNS. Например, селективное перенаправление сетевого трафика клиента через VPN на сервер безопасности возможно с использованием описанных в данном документе систем и способов, тогда как оно не может быть выполнено одним DNS-сервером, т.е. с использованием обычной модели безопасности, ориентированной на DNS-сервер.[0078] Unlike such conventional systems, in some embodiments of the present invention, security tasks are divided between software running on the DNS server and software running on the client device. For example, the task of selecting a client for a particular service is performed by a DNS server communicating with the requesting client device via a labeled DNS response. In turn, the security software running on the client actually performs the corresponding service (eg collection of forensic data, redirection of traffic to the security server, parental control, etc.). This separation of concerns has several advantages. On the one hand, the centralization of the decision-making process on the server provides comprehensive management of security information and optimal speed of response to emerging threats. On the other hand, performing security operations on the client itself can improve the accuracy, complexity, and flexibility of security operations. Thus, virtually any operation can be performed on the client while taking advantage of the per-DNS per-message selection described above. For example, selective redirection of client network traffic over a VPN to a security server is possible using the systems and methods described in this document, while it cannot be performed by a single DNS server, i.e. using the normal DNS server-centric security model.

[0079] Хотя приведенное выше описание в основном сосредоточено на вариантах осуществления, в которых программное обеспечение безопасности, такое как прокси 56 DNS и коммуникационный менеджер 58, исполняется на конечном клиентском устройстве (например, смартфон, ПК), в альтернативных вариантах осуществления, по меньшей мере, некоторые из функций прокси 56 DNS и/или менеджера 58 могут быть реализованы на сетевом устройстве, действующем как шлюз к локальной сети, соединяющей несколько клиентских устройств. См., например, шлюз 12 на фиг. 1. В таких конфигурациях шлюз 12 может перехватывать сообщения DNS, входящие в и/или исходящие из локальной сети 13, и может модифицировать их, как показано выше. Когда шлюз 12 предоставляет клиентам адреса локальной сети (например, действуя как DHCP-сервер для локальной сети 13), шлюз 12 различает отдельные клиентские устройства и, следовательно, может тегировать исходящие запросы DNS с помощью соответствующего идентификатора клиента. Кроме того, шлюз 12 находится в удобном положении для перехвата и селективной маршрутизизации других электронных коммуникаций (например, HTTP-запросы) между клиентами в локальной сети и внешними IP-адресами. Следовательно, шлюз 12 может выполнять процедуры безопасности, показанные в данном документе, например, селективно собирать криминалистические данные, выполнять действия родительского контроля и т.д.[0079] Although the above description is mainly focused on embodiments in which security software such as DNS proxy 56 and communication manager 58 runs on the end client device (e.g., smartphone, PC), in alternative embodiments, at least At least some of the functions of DNS proxy 56 and/or manager 58 may be implemented on a network device acting as a gateway to a local area network connecting multiple client devices. See, for example, gateway 12 in FIG. 1. In such configurations, gateway 12 may intercept DNS messages entering and/or leaving local network 13 and may modify them as shown above. When gateway 12 provides clients with LAN addresses (eg, acting as a DHCP server for LAN 13), gateway 12 distinguishes between individual client devices and can therefore tag outgoing DNS requests with the appropriate client ID. In addition, gateway 12 is in a position to intercept and selectively route other electronic communications (eg, HTTP requests) between clients on the local network and external IP addresses. Therefore, gateway 12 can perform the security procedures shown herein, such as selective forensic data collection, parental control actions, and so on.

[0080] Некоторые варианты осуществления реализуют гибридную конфигурацию, в которой некоторые из клиентских устройств 10а-f исполняют экземпляр приложения 54 безопасности, а другие не исполняют. В одном таком примере шлюз 12 может попытаться автоматически предоставить приложение 54 безопасности всем клиентским устройствам 10а-е, соединенным с локальной сетью 13. Некоторые такие устройства, например термостаты, умные часы и т.д., могут иметь ограниченные аппаратные ресурсы и, следовательно, не могут выполнять полноценный экземпляр приложения 54 безопасности. Некоторые варианты осуществления могут затем использовать программное обеспечение, исполняемое на шлюзе 12, для расширения описанных в данном документе служб безопасности на такие устройства.[0080] Some embodiments implement a hybrid configuration in which some of the client devices 10a-f execute an instance of the security application 54 and others do not. In one such example, gateway 12 may attempt to automatically provision security application 54 to all client devices 10a-e connected to local network 13. Some such devices, such as thermostats, smartwatches, etc., may have limited hardware resources and, therefore, cannot run a full instance of the security application 54. Some embodiments may then use software running on gateway 12 to extend the security services described herein to such devices.

[0081] Могут быть получены многочисленные преимущества при выполнении, по меньшей мере, части функциональных возможностей приложения 54 безопасности на шлюзе 12 в отличие от конечных клиентских устройств 10а-f, как показано выше. Одним преимуществом является то, что операции, выполняемые на шлюзе 12 (такие как тегирование запросов DNS, обнаружение флагов активации служб, модифицирование IP-адресов и т.д.), практически не могут быть обнаружены программным обеспечением, исполняемым на клиентских устройствах. Кроме того, вредоносный код, исполняемый на клиентских устройствах, не может мешать или нарушать работу шлюза 12. Другим преимуществом является то, что шлюз 12 может сам по себе эффективно собирать и/или инспектировать трафик данных, т.е. без перенаправления соответствующего трафика на сервер VPN. В одном таком примере шлюз 12 может определять метаданные трафика (например, начальные IP-адреса и IP-адреса назначения, размер пакета, временные метки) и передавать такие метаданные на сервер 16 безопасности для анализа.[0081] Numerous benefits can be obtained by running at least a portion of the functionality of the security application 54 on the gateway 12 as opposed to the end client devices 10a-f as shown above. One advantage is that operations performed on gateway 12 (such as tagging DNS queries, discovering service activation flags, modifying IP addresses, etc.) are virtually undetectable by software running on client devices. In addition, malicious code executing on client devices cannot interfere with or disrupt the gateway 12. without redirecting the relevant traffic to the VPN server. In one such example, gateway 12 may determine traffic metadata (eg, start and destination IP addresses, packet size, timestamps) and pass such metadata to security server 16 for analysis.

[0082] Еще одним преимуществом конфигураций, в которых, по меньшей мере, часть приложения 54 безопасности исполняется на шлюзе 12, является понимание топологии локальной сети. В примере на фиг. 1 DNS-сервер 14 обычно не знает, что клиентские устройства 10а и 10b соединены с одной и той же локальной сетью, но шлюз 12 знает. Следовательно, при перехвате нескольких запросов DNS для одного и того же доменного имени шлюз 12 может информировать сервер 14, исходят ли соответствующие запросы DNS от членов одной и той же сети или нет. Такая информация потенциально имеет отношение к компьютерной безопасности, например, в ситуациях, когда вредоносный код распространяется от одного сетевого узла к другим. В другой примерной ситуации несколько запросов DNS для одного и того же доменного имени, поступающие от устройств разных типов (смартфоны, ПК, телевизоры), соединенных с домашней сетью, могут указывать на законное использование развлекательной онлайновой службы, такой как Spotify® или Netflix®. В еще одном примере несколько запросов DNS для одного и того же доменного имени, исходящие от устройств, работающих под управлением одной и той же ОС (например, Windows®), могут указывать на законную попытку распространения обновления программного обеспечения на несколько устройств в корпоративной сети.[0082] Another benefit of configurations in which at least a portion of the security application 54 runs on the gateway 12 is an understanding of the local network topology. In the example in FIG. 1 DNS server 14 does not normally know that client devices 10a and 10b are connected to the same local network, but gateway 12 does. Therefore, when intercepting multiple DNS requests for the same domain name, gateway 12 can inform server 14 whether the corresponding DNS requests originate from members of the same network or not. Such information is potentially relevant to computer security, for example, in situations where malicious code is distributed from one network node to another. In another exemplary situation, multiple DNS queries for the same domain name from different types of devices (smartphones, PCs, TVs) connected to the home network may indicate legitimate use of an online entertainment service such as Spotify® or Netflix®. In yet another example, multiple DNS requests for the same domain name from devices running the same OS (eg, Windows®) may indicate a legitimate attempt to distribute a software update to multiple devices on a corporate network.

[0083] Однако, выполнение, по меньшей мере, части приложения 54 безопасности на шлюзе 12 в отличие от отдельных клиентских устройств также имеет недостатки. Например, автоматическое обнаружение устройства (т.е. использование программного обеспечения, исполняемого на шлюзе 12 для определения типа устройства каждого клиента 10а-f) может быть ограниченным и затратным с точки зрения вычислений. Хотя некоторая информация о клиенте с указанием типа может быть доступна в форме МАС-адресов и т.д., другие данные, такие как использование ресурсов и установленное программное обеспечение, могут быть полностью недоступны для шлюза 12.[0083] However, running at least part of the security application 54 on the gateway 12, as opposed to individual client devices, also has disadvantages. For example, automatic device discovery (ie, using software running on gateway 12 to determine the device type of each client 10a-f) can be limited and computationally expensive. While some client type information may be available in the form of MAC addresses, etc., other data, such as resource usage and installed software, may not be entirely available to gateway 12.

[0084] Специалисту в данной области техники ясно, что вышеупомянутые варианты осуществления могут быть изменены многими способами в пределах объема изобретения. Соответственно, объем изобретения должен определяться нижеследующей формулой изобретения и ее юридическими эквивалентами.[0084] Those skilled in the art will appreciate that the above embodiments may be varied in many ways within the scope of the invention. Accordingly, the scope of the invention is to be determined by the following claims and their legal equivalents.

Claims (55)

1. Способ использования сообщений службы доменных имен (DNS) для селективного сбора компьютерных криминалистических данных, содержащий использование по меньшей мере одного аппаратного процессора компьютерной системы, чтобы:1. A method of using Domain Name Service (DNS) messages to selectively collect computer forensic data, comprising using at least one computer system hardware processor to: перехватывать ответное сообщение службы доменных имен (DNS), полученное в компьютерной системе, причем ответное сообщение DNS содержит целевой адрес интернет-протокола (IP), указывающий сетевое расположение удаленного ресурса, при этом ответное сообщение DNS дополнительно содержит флаг активации службы;intercept a Domain Name Service (DNS) response message received on the computer system, the DNS response message comprising a target Internet Protocol (IP) address indicating the network location of the remote resource, the DNS response message further comprising a service activation flag; определять, согласно значению флага активации службы, активна ли служба сбора криминалистических данных;determine, according to the value of the service activation flag, whether the forensic data collection service is active; в ответ, если флаг активации службы указывает, что служба сбора криминалистических данных активна, модифицировать ответное сообщение DNS путем замены целевого IP-адреса фиктивным IP-адресом;in response, if the service activation flag indicates that the forensic intelligence service is active, modify the DNS response message by replacing the target IP address with a bogus IP address; перехватывать электронную коммуникацию, направленную на IP-адрес назначения;intercept electronic communication directed to the destination IP address; определять, совпадает ли IP-адрес назначения с фиктивным IP-адресом;determine if the destination IP address matches the dummy IP address; в ответ на определение, совпадает ли IP-адрес назначения с фиктивным IP-адресом, если IP-адрес назначения совпадает с фиктивным IP-адресом, выполнять процедуру сбора криминалистических данных для характеристики появляющегося вредоносного кода, причем процедура сбора криминалистических данных содержит передачу набора метаданных, характеризующих электронную коммуникацию, на удаленный сервер безопасности.in response to determining whether the destination IP address matches the bogus IP address, if the destination IP matches the bogus IP address, perform a forensic data collection procedure to characterize the emerging malicious code, the forensic data collection procedure comprising transmitting a set of metadata, characterizing electronic communication to a remote security server. 2. Способ по п.1, в котором выполнение процедуры сбора криминалистических данных дополнительно содержит использование по меньшей мере одного аппаратного процессора, чтобы перемаршрутизировать электронную коммуникацию через туннель, соединяющий компьютерную систему с удаленным сервером безопасности.2. The method of claim 1, wherein performing the forensic data collection procedure further comprises using at least one hardware processor to reroute electronic communication through a tunnel connecting the computer system to the remote security server. 3. Способ по п.1, в котором набор метаданных включает в себя целевой IP-адрес и временную метку электронной коммуникации.3. The method of claim 1, wherein the metadata set includes a target IP address and an electronic communication timestamp. 4. Способ по п.3, в котором набор метаданных дополнительно содержит индикатор размера полезной нагрузки электронной коммуникации.4. The method of claim 3, wherein the metadata set further comprises an electronic communication payload size indicator. 5. Способ по п.1, в котором выполнение процедуры сбора криминалистических данных дополнительно содержит использование по меньшей мере одного аппаратного процессора, чтобы перемаршрутизировать электронную коммуникацию через туннель, соединяющий компьютерную систему с удаленным сервером безопасности.5. The method of claim 1, wherein performing the forensic data collection procedure further comprises using at least one hardware processor to reroute electronic communication through a tunnel connecting the computer system to the remote security server. 6. Способ по п.1, в котором процедура сбора криминалистических данных дополнительно содержит передачу индикатора текущего состояния клиентской системы, выбранной из множества клиентских систем в соответствии с тем, исходит ли электронная коммуникация из клиентской системы.6. The method of claim 1, wherein the forensic data collection procedure further comprises transmitting a current state indicator of a client system selected from a plurality of client systems according to whether the electronic communication originates from the client system. 7. Компьютерная система для использования сообщений службы доменных имен (DNS) для селективного сбора компьютерных криминалистических данных, содержащая по меньшей мере один аппаратный процессор, конфигурированный для выполнения прокси службы доменных имен (DNS) и коммуникационного менеджера, при этом:7. A computer system for using Domain Name Service (DNS) messages for selective collection of computer forensic data, comprising at least one hardware processor configured to perform a Domain Name Service (DNS) proxy and a communication manager, wherein: DNS-прокси конфигурирован, чтобы:The DNS proxy is configured to: перехватывать ответное сообщение DNS, полученное в компьютерной системе, причем ответное сообщение DNS содержит целевой адрес интернет-протокола (IP), указывающий сетевое расположение удаленного ресурса, при этом ответное сообщение DNS дополнительно содержит флаг активации службы,intercept a DNS response message received in the computer system, wherein the DNS response message contains a target Internet Protocol (IP) address indicating the network location of the remote resource, wherein the DNS response message further comprises a service activation flag, определять, согласно значению флага активации службы, активна ли служба сбора криминалистических данных, иdetermine, according to the value of the service activation flag, whether the forensic data collection service is active, and в ответ, если флаг активации службы указывает, что служба сбора криминалистических данных активна, модифицировать ответное сообщение DNS путем замены целевого IP-адреса фиктивным IP-адресом; иin response, if the service activation flag indicates that the forensic intelligence service is active, modify the DNS response message by replacing the target IP address with a bogus IP address; and коммуникационный менеджер конфигурирован, чтобы:the communication manager is configured to: перехватывать электронную коммуникацию, направленную на IP-адрес назначения, определять, совпадает ли IP-адрес назначения с фиктивным IP-адресом, и в ответ на определение, совпадает ли IP-адрес назначения с фиктивным IP-адресом, если IP-адрес назначения совпадает с фиктивным IP-адресом, выполнять процедуру сбора криминалистических данных для характеристики появляющегося вредоносного кода, причем процедура сбора криминалистических данных содержит передачу набора метаданных, характеризующих электронную коммуникацию, на удаленный сервер безопасности.intercept electronic communication directed to the destination IP address, determine whether the destination IP address matches the bogus IP address, and in response to determining whether the destination IP address matches the bogus IP address, if the destination IP address matches the a fictitious IP address, perform a forensic data collection procedure to characterize the emerging malicious code, wherein the forensic data collection procedure comprises transmitting a set of metadata characterizing electronic communication to a remote security server. 8. Компьютерная система по п.7, в которой набор метаданных включает в себя целевой IP-адрес и временную метку электронной коммуникации.8. The computer system of claim 7, wherein the metadata set includes a target IP address and an electronic communication timestamp. 9. Компьютерная система по п.8, в которой набор метаданных дополнительно содержит индикатор размера полезной нагрузки электронной коммуникации.9. The computer system of claim 8, wherein the metadata set further comprises an electronic communication payload size indicator. 10. Компьютерная система по п.7, в которой процедура сбора криминалистических данных дополнительно содержит передачу индикатора текущего состояния клиентской системы, выбранной из множества клиентских систем в соответствии с тем, исходит ли электронная коммуникация из клиентской системы.10. The computer system of claim 7, wherein the forensic data collection routine further comprises transmitting a current state indicator of a client system selected from a plurality of client systems according to whether the electronic communication originates from the client system. 11. Невременный машиночитаемый носитель, хранящий инструкции,11. A non-transitory computer-readable medium that stores instructions побуждающие, при выполнении по меньшей мере одним аппаратным процессором компьютерной системы, компьютерную систему формировать прокси службы доменных имен (DNS) и коммуникационный менеджер, причем:causing, when executed by at least one hardware processor of the computer system, the computer system to form a Domain Name Services (DNS) proxy and a communications manager, wherein: DNS-прокси конфигурирован, чтобы:The DNS proxy is configured to: перехватывать ответное сообщение DNS, полученное в компьютерной системе, причем ответное сообщение DNS содержит целевой адрес интернет-протокола (IP), указывающий сетевое расположение удаленного ресурса, при этом ответное сообщение DNS дополнительно содержит флаг активации службы,intercept a DNS response message received in the computer system, wherein the DNS response message contains a target Internet Protocol (IP) address indicating the network location of the remote resource, wherein the DNS response message further comprises a service activation flag, определять, согласно значению флага активации службы, активна ли служба сбора криминалистических данных, иdetermine, according to the value of the service activation flag, whether the forensic data collection service is active, and в ответ, если флаг активации службы указывает, что служба сбора криминалистических данных активна, модифицировать ответное сообщение DNS путем замены целевого IP-адреса фиктивным IP-адресом; иin response, if the service activation flag indicates that the forensic intelligence service is active, modify the DNS response message by replacing the target IP address with a bogus IP address; and коммуникационный менеджер конфигурирован, чтобы:the communication manager is configured to: перехватывать электронную коммуникацию, направленную на IP-адрес назначения, определять, совпадает ли IP-адрес назначения с фиктивным IP-адресом, и в ответ на определение, совпадает ли IP-адрес назначения с фиктивным IP-адресом, если IP-адрес назначения совпадает с фиктивным IP-адресом, выполнять процедуру сбора криминалистических данных для характеристики появляющегося вредоносного кода, причем процедура сбора криминалистических данных содержит передачу набора метаданных, характеризующих электронную коммуникацию, на удаленный сервер безопасности.intercept electronic communication directed to the destination IP address, determine whether the destination IP address matches the bogus IP address, and in response to determining whether the destination IP address matches the bogus IP address, if the destination IP address matches the a fictitious IP address, perform a forensic data collection procedure to characterize the emerging malicious code, wherein the forensic data collection procedure comprises transmitting a set of metadata characterizing electronic communication to a remote security server. 12. Серверная компьютерная система для использования сообщений службы доменных имен (DNS) для селективного сбора компьютерных криминалистических данных, содержащая по меньшей мере один аппаратный процессор, конфигурированный для участия в транзакциях службы доменных имен (DNS) с множеством клиентских систем и дополнительно конфигурированный, чтобы:12. A server computer system for using Domain Name Service (DNS) messages to selectively collect computer forensic data, comprising at least one hardware processor configured to participate in Domain Name Service (DNS) transactions with multiple client systems and further configured to: в ответ на определение подозрительности интернет-домена на зловредность, определять профиль целевого устройства в соответствии с интернет-доменом, причем профиль целевого устройства в совокупности является репрезентативным для электронных устройств, характеризующихся тем, что расположены внутри выбранной географической области и исполняют выбранную операционную систему;in response to determining the suspicion of an Internet domain for malware, determine the target device profile in accordance with the Internet domain, and the profile of the target device in the aggregate is representative of electronic devices characterized by being located within the selected geographic area and executing the selected operating system; в ответ на получение сообщения запроса DNS, содержащего интернет-домен, идентифицировать, в соответствии с сообщением запроса DNS, клиентскую систему, из которой исходит сообщение запроса DNS;in response to receiving the DNS query message containing the Internet domain, identify, in accordance with the DNS query message, the client system from which the DNS query message originates; в ответ на идентификацию клиентской системы, определять, совпадает ли клиентская система с профилем целевого устройства;in response to identifying the client system, determine if the client system matches the profile of the target device; в ответ на определение, совпадает ли клиентская система с профилем целевого устройства, если клиентская система совпадает с профилем целевого устройства, передавать ответное сообщение DNS в клиентскую систему, при этом ответное сообщение DNS содержит целевой адрес интернет-протокола (IP), связанный с доменным именем, причем ответное сообщение DNS дополнительно конфигурировано так, чтобы включать в себя флаг активации службы; иin response to determining if the client system matches the profile of the target device, if the client system matches the profile of the target device, send a DNS response message to the client system, wherein the DNS response message contains the target Internet Protocol (IP) address associated with the domain name , wherein the DNS response message is further configured to include a service activation flag; and в ответ на определение, совпадает ли клиентская система с профилем целевого устройства, если клиентская система не совпадает с профилем целевого устройства, передавать другое ответное сообщение DNS в клиентскую систему, причем другое ответное сообщение DNS содержит целевой IP-адрес и дополнительно конфигурировано так, чтобы не включать в себя флаг активации службы;in response to determining if the client system matches the profile of the target device, if the client system does not match the profile of the target device, send another DNS response message to the client system, the other DNS response message containing the target IP address and further configured not to include a service activation flag; при этом клиентская система конфигурирована для интерпретации получения флага активации службы как триггер для выполнения процедуры сбора криминалистических данных согласно электронной коммуникации, направленной на целевой IP-адрес или входящей от него.wherein the client system is configured to interpret the receipt of the service activation flag as a trigger to perform a forensic data collection procedure according to electronic communication directed to or incoming from the target IP address. 13. Серверная компьютерная система по п.12, в которой по меньшей мере один аппаратный процессор дополнительно конфигурирован, чтобы:13. The server computer system of claim 12, wherein the at least one hardware processor is further configured to: в ответ на определение, совпадает ли клиентская система с профилем целевого устройства, если клиентская система совпадает с профилем целевого устройства, определять, имеет ли право клиентская система выполнять сбор криминалистических данных согласно счетчику сообщений запроса DNS, ранее полученных от клиентской системы; иin response to determining whether the client system matches the profile of the target device, if the client system matches the profile of the target device, determine whether the client system is authorized to perform forensic data collection according to a counter of DNS query messages previously received from the client system; and в ответ, передавать ответное сообщение DNS, включающее в себя флаг активации службы, только когда клиентская система имеет право выполнять сбор криминалистических данных.in response, send a DNS response message including the service activation flag only when the client system is authorized to perform forensic data collection. 14. Серверная компьютерная система по п.12, в которой по меньшей мере один аппаратный процессор дополнительно конфигурирован, чтобы:14. The server computer system of claim 12, wherein the at least one hardware processor is further configured to: в ответ на определение, совпадает ли клиентская система с профилем целевого устройства, если клиентская система совпадает с профилем целевого устройства, определять, имеет ли право клиентская система выполнять сбор криминалистических данных согласно счетчику сообщений запроса DNS, включающих в себя доменное имя, ранее полученное в серверной компьютерной системе; иin response to determining whether the client system matches the profile of the target device, if the client system matches the profile of the target device, to determine whether the client system is authorized to perform forensic data collection according to a counter of DNS query messages including a domain name previously obtained in the server computer system; and в ответ, передавать ответное сообщение DNS, включающее в себя флаг активации службы, только когда клиентская система имеет право выполнять сбор криминалистических данных.in response, send a DNS response message including the service activation flag only when the client system is authorized to perform forensic data collection. 15. Серверная компьютерная система по п.12, в которой по меньшей мере один аппаратный процессор дополнительно конфигурирован, чтобы:15. The server computer system of claim 12, wherein the at least one hardware processor is further configured to: в ответ на определение, совпадает ли клиентская система с профилем целевого устройства, если клиентская система совпадает с профилем целевого устройства, определять, имеет ли право клиентская система выполнять сбор криминалистических данных согласно счетчику отличных друг от друга клиентских систем, которые передали сообщения запроса DNS в серверную компьютерную систему в течение выбранного интервала времени; иin response to determining whether the client system matches the profile of the target device, if the client system matches the profile of the target device, determine whether the client system is eligible to perform forensic data collection according to a count of distinct client systems that have sent DNS query messages to the server computer system during a selected time interval; and в ответ, передавать ответное сообщение DNS, включающее в себя флаг активации службы, только когда клиентская система имеет право выполнять сбор криминалистических данных.in response, send a DNS response message including the service activation flag only when the client system is authorized to perform forensic data collection. 16. Серверная компьютерная система по п.12, в которой по меньшей мере один аппаратный процессор дополнительно конфигурирован, чтобы:16. The server computer system of claim 12, wherein the at least one hardware processor is further configured to: в ответ на определение, совпадает ли клиентская система с профилем целевого устройства, если клиентская система совпадает с профилем целевого устройства, выполнять поиск в базе данных профилей клиента для определения, установлено ли выбранное программное приложение для исполнения на клиентской системе; иin response to determining whether the client system matches the profile of the target device, if the client system matches the profile of the target device, search the client profile database to determine whether the selected software application is installed to run on the client system; and в ответ, передавать ответное сообщение DNS, включающее в себя флаг активации службы, только когда выбранное программное приложение установлено для исполнения на клиентской системе.in response, send a DNS response message including the service activation flag only when the selected software application is set to run on the client system. 17. Серверная компьютерная система по п.12, в которой по меньшей мере один аппаратный процессор дополнительно конфигурирован, чтобы:17. The server computer system of claim 12, wherein the at least one hardware processor is further configured to: в ответ на определение, совпадает ли клиентская система с профилем целевого устройства, если клиентская система совпадает с профилем целевого устройства, случайным образом выбирать клиентскую систему для сбора криминалистических данных; иin response to determining whether the client system matches the profile of the target device, if the client system matches the profile of the target device, randomly select a client system to collect forensic data; and в ответ, передавать ответное сообщение DNS, включающее в себя флаг активации службы, только когда клиентская система выбрана для сбора криминалистических данных.in response, send a DNS response message including the service activation flag only when the client system is selected for forensic data collection. 18. Серверная компьютерная система по п.12, в которой профиль целевого устройства является репрезентативным для электронных устройств, дополнительно характеризующихся тем, что являются устройствами типа выбранного устройства.18. The server computer system of claim 12, wherein the target device profile is representative of electronic devices further characterized by being devices of the selected device type. 19. Серверная компьютерная система по п.12, в которой по меньшей мере один аппаратный процессор дополнительно конфигурирован, чтобы идентифицировать клиентскую систему в соответствии с ID клиента, включенным в сообщение запроса DNS, причем ID клиента уникальным образом идентифицирует клиентскую систему среди множества клиентских систем.19. The server computer system of claim 12, wherein the at least one hardware processor is further configured to identify the client system in accordance with a client ID included in the DNS query message, wherein the client ID uniquely identifies the client system among the plurality of client systems. 20. Серверная компьютерная система по п.19, в которой ID клиента содержит хэш- значение.20. The server computer system of claim 19, wherein the client ID contains a hash value.
RU2021135003A 2019-05-07 2020-07-02 Systems and methods for using dns messages for selective collection of computer forensic data RU2776349C1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US16/405,140 2019-05-07

Publications (1)

Publication Number Publication Date
RU2776349C1 true RU2776349C1 (en) 2022-07-19

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120254996A1 (en) * 2011-03-31 2012-10-04 Wilbourn Robert S Dns resolution, policies, and views for large volume systems
RU2500078C2 (en) * 2011-01-28 2013-11-27 Нтт Досомо, Инк. Method and apparatus for determining server responding to service request from mobile device, apparatus having mobile device or dns server
US20160036848A1 (en) * 2014-07-31 2016-02-04 Cisco Technology, Inc. Intercloud security as a service
US20190052658A1 (en) * 2017-08-10 2019-02-14 Cisco Technology, Inc. Dns metadata-based signaling for network policy control
US20190097965A1 (en) * 2016-03-09 2019-03-28 Oracle International Corporation Methods and apparatus for intelligent domain name system forwarding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2500078C2 (en) * 2011-01-28 2013-11-27 Нтт Досомо, Инк. Method and apparatus for determining server responding to service request from mobile device, apparatus having mobile device or dns server
US20120254996A1 (en) * 2011-03-31 2012-10-04 Wilbourn Robert S Dns resolution, policies, and views for large volume systems
US20160036848A1 (en) * 2014-07-31 2016-02-04 Cisco Technology, Inc. Intercloud security as a service
US20190097965A1 (en) * 2016-03-09 2019-03-28 Oracle International Corporation Methods and apparatus for intelligent domain name system forwarding
US20190052658A1 (en) * 2017-08-10 2019-02-14 Cisco Technology, Inc. Dns metadata-based signaling for network policy control

Similar Documents

Publication Publication Date Title
AU2020276394B2 (en) Systems and methods for using DNS messages to selectively collect computer forensic data
US12341814B2 (en) Implementing decoys in a network environment
Habibi et al. Heimdall: Mitigating the internet of insecure things
US10587636B1 (en) System and method for bot detection
US9942270B2 (en) Database deception in directory services
US8561177B1 (en) Systems and methods for detecting communication channels of bots
US11489853B2 (en) Distributed threat sensor data aggregation and data export
US20180115523A1 (en) Methods and systems for api deception environment and api traffic control and security
Tambe et al. Detection of threats to IoT devices using scalable VPN-forwarded honeypots
US10581880B2 (en) System and method for generating rules for attack detection feedback system
US12041094B2 (en) Threat sensor deployment and management
US20180191650A1 (en) Publish-subscribe based exchange for network services
US20200067883A1 (en) Port Authentication Control For Access Control and Information Security
US10721148B2 (en) System and method for botnet identification
US20190036925A1 (en) Network Device Information Validation For Access Control and Information Security
US9769187B2 (en) Analyzing network traffic based on a quantity of times a credential was used for transactions originating from multiple source devices
RU2776349C1 (en) Systems and methods for using dns messages for selective collection of computer forensic data
HK40062438A (en) Systems and methods for using dns messages to selectively collect computer forensic data
FR3087603A1 (en) TECHNIQUE FOR COLLECTING INFORMATION RELATING TO A ROUTE CONDUCTED IN A NETWORK
KR101045332B1 (en) IRC and HTPT botnet information sharing system and method
US20250260722A1 (en) Enabling device context awareness, data ingestion and real-time actions in mobile networks
Sharma et al. Fog computing: An overview of IoT applications with security issues and challenges
Ussath et al. Enhanced sinkhole system: Collecting system details to support investigations
Adim Hafshejani Design and Deployment of a Cloud Monitoring System for Enhanced Network Security
CN115486031A (en) Threat sensor deployment and management