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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000004044 response Effects 0.000 claims abstract description 128
- 238000004891 communication Methods 0.000 claims abstract description 102
- 230000004913 activation Effects 0.000 claims abstract description 62
- 238000013480 data collection Methods 0.000 claims abstract description 39
- 238000012545 processing Methods 0.000 abstract description 9
- 230000000694 effects Effects 0.000 abstract description 8
- 239000000126 substance Substances 0.000 abstract 1
- 230000009471 action Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 238000007689 inspection Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 208000015181 infectious disease Diseases 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 206010028980 Neoplasm Diseases 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 201000011510 cancer Diseases 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000004374 forensic analysis Methods 0.000 description 1
- 238000011842 forensic investigation Methods 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000036210 malignancy Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Abstract
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
устройствами/компьютерными системами. Примерное клиентское устройство может взаимодействовать с удаленным контент-сервером 18 по коммуникационному каналу для обмена данными, такими как веб-контент, электронные сообщения, различные документы и т.д.devices/computer systems. An exemplary client device may communicate with a
[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,
[0028] В некоторых вариантах осуществления сервер 14 службы доменных имен (DNS) взаимодействует с сервером 16 безопасности для селективного сбора компьютерных криминалистических данных от клиентских устройств 10а-f, как подробно показано ниже. Такие криминалистические данные могут включать в себя, например, метаданные, описывающие передачу данных между выбранным клиентом и выбранным контент-сервером, и/или фактическую полезную нагрузку соответствующей передачи данных. Метаданные в данном документе обозначают характеристики передачи, отличные от контента передачи или самой полезной нагрузки. Примерные метаданные включают в себя, среди прочего, сетевые адреса отправителя и/или получателя, размер полезной нагрузки и временную метку, указывающую реальное время соответствующей передачи. Термин «криминалистический» используется в данном документе для указания, что соответствующие данные могут быть использованы в целях компьютерной безопасности, например, для определения, заражена ли соответствующая клиентская система вредоносным программным обеспечением, или для проспективной идентификации паттернов сетевого трафика, характеризующих еще неизвестные угрозы компьютерной безопасности. Каждый из серверов 14-16 в целом представляет собой набор коммуникативно связанных компьютеров, которые могут быть или могут не быть близко расположенными друг к другу. Специалисту в данной области известно, что действия, выполняемые серверами 14-16, как описано в данном документе, могут быть разделены между несколькими физическими машинами или процессорами.[0028] In some embodiments, a domain name service (DNS)
[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
[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,
[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
[0032] В альтернативном варианте осуществления ID 25 клиента может содержать дайджест профиля клиентского устройства. Примерная информация профиля устройства может включать в себя, например, кодировки типа устройства, операционной системы, текущего географического местоположения и идентификатора текущего пользователя соответствующего клиентского устройства. Такая информация может использоваться DNS-сервером 14 и/или сервером 16 безопасности для выбора соответствующего клиентского устройства для активации/деактивации служб безопасности, как более подробно показано ниже.[0032] In an alternative embodiment, the
[0033] В ответ на получение тегированного запроса 26 DNS некоторые варианты осуществления DNS-сервера 14 возвращают помеченный ответ 28 DNS, пример которого показан на фиг. 4. Помеченный ответ 28 DNS включает в себя кодировку сетевого адреса 23 и флаг 27 активации службы, указывающий, активна ли конкретная служба безопасности для соответствующего запрашивающего клиентского устройства 10. Примерные службы безопасности, селективно активируемые/деактивируемые флагом 27, включают в себя сбор криминалистических данных, родительский контроль (например, ограничение доступа определенных пользователей к определенным доменам), контроль приложений (например, запрет на запуск определенных приложений, например Facebook®, мгновенный обмен сообщениями, игры и т.д.), защита от мошенничества, защита от вредоносных программ, инспекция трафика и т.д.[0033] In response to receiving a tagged
[0034] В альтернативном варианте осуществления помеченный ответ 28 DNS может включать в себя множество флагов активации службы, например, битовую карту, причем каждый бит представляет собой отдельную службу безопасности (например, родительский контроль, инспекция трафика, сбор криминалистических данных и т.д.), и значение соответствующего бита указывает, разрешена или не разрешена соответствующая служба. В другом примере помеченный ответ 28 DNS может включать в себя набор значений параметров службы вместе с или вместо простого флага активации службы. В еще одном примере отдельные значения флага 27 активации службы могут указывать различные режимы работы целевого клиентского устройства. Например, одно значение может инструктировать клиентское устройство выделить соответствующий трафик (например, интерпретировать ответ 28 DNS как ответ NXDomain), тогда как другое значение может инструктировать клиентское устройство принудительно установить таймаут или перенаправить трафик на другой IP-адрес.[0034] In an alternative embodiment, the tagged
[0035] Элементы данных, такие как ID 25 клиента и ID флага 27 активации службы, могут быть кодированы и включены в запросы клиентов и/или ответные сообщения сервера с использованием любого способа, известного в данной области техники. Многие современные протоколы/форматы данных, используемые в электронной коммуникации, резервируют набор выбранных битов каждого пакета данных для неспецифического использования. Различные варианты осуществления могут использовать такие резервированные биты для кодирования ID 25 клиента и/или флага 27 активации службы. В простейшем примере выбранный бит соответствующего сообщения может действовать как флаг активации службы; значение 1 может указывать, что служба разрешена, тогда как значение 0 может указывать, что служба отключена или что соответствующее сообщение не помечено. Некоторые варианты осуществления используют сообщения DNS, форматированные согласно используемому в настоящее время стандарту, такому как, среди прочего, описанный в Запросе на Комментарии (RFC) 1035 Инженерного Совета Интернета (IETF). В одном таком примере ID 25 клиента и/или флаг 27 активации службы могут быть вставлены как дополнительная запись ресурса или запись псевдоресурса запроса или ответа DNS, например, как содержимое поля RDATA.[0035] Data elements such as
[0036] В некоторых вариантах осуществления DNS-сервер 14 может селективно активировать/деактивировать службу безопасности путем соответствующей установки значения флага 27 активации службы только для определенных клиентских устройств и/или пользователей. Решение, разрешить или не разрешить определенную службу, может быть принято сервером 16 безопасности в соответствии с идентификатором клиентского устройства, выдающего соответствующий тегированный запрос DNS, и, кроме того, в соответствии с такими критериями, как текущее географическое положение клиентского устройства, тип устройства, профиль аппаратного обеспечения и/или программного обеспечения соответствующего клиентского устройства. Примеры алгоритмов принятия решений и критериев показываются ниже. Чтобы задействовать такие алгоритмы принятия решения, некоторые варианты осуществления собирают информацию профиля устройства от клиентских устройств и передают такую информацию профиля в сервер 16 безопасности, который может организовывать и хранить ее в базе 19 данных профилей клиента (см. фиг. 2-В).[0036] In some embodiments, the implementation of the
[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
[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®.
[0039] В некоторых вариантах осуществления приложение безопасности содержит прокси 56 DNS, построитель 57 профилей и коммуникационный менеджер 58. Компоненты 56-57-58 могут исполняться как автономные исполняемые объекты или могут быть встроены в приложение 54 безопасности, например, как динамически загружаемые библиотеки. Специалисту в данной области понятно, что некоторые функции компонентов 56-57-58 могут быть реализованы на сетевом шлюзе 12 (см. фиг. 1) вместо клиентской системы 10.[0039] In some embodiments, the security application comprises a
[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
[0041] Фиг. 7 показывает примерную последовательность этапов, выполняемых прокси 56 DNS согласно некоторым вариантам осуществления настоящего изобретения. Примерный алгоритм, описанный в данном документе, обеспечивает выборочную обработку запросов доступа к сети, при этом выбор достигается с уровнем детализации одного запроса DNS.[0041] FIG. 7 shows an exemplary sequence of steps performed by a
[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
[0043] Если перехваченное сообщение DNS является ответом, этап 220 анализирует сообщение для определения, помечено оно или нет, то есть содержит ли оно флаг активации службы и указывает ли значение флага, что служба безопасности активна для соответствующего клиентского устройства 10. Если нет, этап 222 пересылает соответствующий ответ DNS запрашивающему программному объекту (например, клиентское приложение 52 или OS 50).[0043] If the intercepted DNS message is a response,
[0044] В некоторых вариантах осуществления приложение 54 безопасности поддерживает пул предварительно определенных фиктивных сетевых адресов, зарезервированных в целях безопасности. В данном документе фиктивные адреса используются как замены для фактических сетевых адресов, возвращаемых поставщиками DNS. Фиктивный адрес может указывать и может и не указывать местонахождение реального онлайн-ресурса. Приложение 54 безопасности поддерживает таблицу ассоциации адресов (например, хеш-таблицу), содержащую преобразование между реальными и фиктивными адресами, как показано ниже. В некоторых вариантах осуществления приложение 54 безопасности дополнительно регистрирует фиктивные IP-адреса с помощью интерфейса VPN клиентской системы 10, так что весь трафик к и/или от таких фиктивных адресов будет проходить через приложение 54 безопасности. Это позволяет коммуникационному менеджеру 58 выполнять операции безопасности на таком трафике, например, для перенаправления или инспекции такого трафика, как более подробно описано ниже. Отдельные фиктивные адреса могут использоваться для различных служб, таких как родительский контроль, выборка трафика, контроль доступа и т.д.[0044] In some embodiments,
[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
[0046] В некоторых вариантах осуществления коммуникационный менеджер 58 перехватывает и обрабатывает, по меньшей мере, часть электронных коммуникаций между клиентским устройством 10 и контент-сервером 18. Как показано выше, некоторые варианты осуществления конфигурируют приложение 54 безопасности для перехвата коммуникаций, приходящих от и/или исходящих к предварительно определенному набору IP-адресов. Фиг. 8 показывает примерную последовательность этапов, выполняемых коммуникационным менеджером 58, для обработки исходящих коммуникаций, например, запросов протокола передачи гипертекста (HTTP) к контент-серверу 18. Если такая коммуникация обнаружена (этапы 242-244), этап 246 определяет, совпадает ли IP-адрес назначения соответствующей коммуникации с каким-либо из списка фиктивных IP-адресов, поддерживаемых приложением 54 безопасности. Если нет, коммуникационный менеджер 58 может пересылать коммуникацию на коммуникационный интерфейс клиентской системы 10 для передачи ее предполагаемому получателю.[0046] In some embodiments, the
[0047] Если да, с указанием, что соответствующая коммуникация была выбрана для обработки безопасности, этап 248 выполняет некоторые действия безопасности согласно соответствующей коммуникации. Примерные действия безопасности включают в себя определение набора метаданных, содержащих, например, реальный IP-адрес назначения, связанный с соответствующим фиктивным адресом, коммуникационный порт, размер полезной нагрузки и временную метку коммуникации. Другое действие безопасности может содержать создание копии полезной нагрузки соответствующей коммуникации. Еще одно примерное действие безопасности содержит проверку полезной нагрузки коммуникации для определения, шифрована ли соответствующая полезная нагрузка или нет, или содержит ли соответствующая полезная нагрузка определенный тип данных (например, изображение, исполняемый код и т.д.). В еще одном примере этап 248 содержит сканирование полезной нагрузки соответствующей коммуникации на наличие вредоносного кода. В некоторых вариантах осуществления этап 248 дополнительно содержит размещение информации, извлеченной о/из соответствующей коммуникации, в журнал или очередь для автономной передачи на сервер 16 безопасности. Некоторые варианты осуществления определяют тип действия безопасности в соответствии с фиктивным адресом. Например, некоторые фиктивные адреса могут указывать действие родительского контроля, тогда как другой фиктивный адрес может указывать сканирование вредоносного кода.[0047] If yes, indicating that the corresponding communication has been selected for security processing,
[0048] На дополнительном этапе 252 коммуникационный менеджер 58 может просматривать таблицу ассоциации адресов для определения реального IP-адреса, соответствующего фиктивному адресу, указанному в соответствующей коммуникации, и редактировать соответствующую коммуникацию для замены фиктивного адреса реальным IP-адресом. В некоторых вариантах осуществления этап 252 может дополнительно переупаковать исходную коммуникацию, чтобы перемаршрутизировать ее через туннель виртуальной частной сети на сервер 16 безопасности (см. фиг. 5-В). Этап 254 может затем переслать коммуникацию на коммуникационный интерфейс клиентского устройства 10.[0048] In an
[0049] Фиг. 9 показывает примерную последовательность этапов, выполняемых коммуникационным менеджером 58 при обработке входящих коммуникаций. Когда такая коммуникация получена (этапы 262-264), этап 266 может просматривать таблицу ассоциации адресов для определения, совпадает ли исходный IP-адрес коммуникации с фиктивным адресом. Если нет, коммуникационный менеджер 58 может пересылать входящую коммуникацию ее предполагаемому получателю (например, приложению 52).[0049] FIG. 9 shows an exemplary sequence of steps performed by the
[0050] Если да, с указанием, что соответствующая коммуникация выбрана для обработки безопасности, этап 268 выполняет набор действий безопасности в соответствии с входящей коммуникацией. Примерные действия безопасности включают в себя определение набора метаданных коммуникации (например, начальный IP-адрес, размер полезной нагрузки, временная отметка и т.д.), копирование полезной нагрузки соответствующей коммуникации, проверку полезной нагрузки для определения набора характеристик (например, шифрована ли соответствующая полезная нагрузка, содержит ли она исполняемый код и т.д.), и сканирование соответствующей полезной нагрузки на наличие вредоносного кода, среди прочего. Некоторые варианты осуществления могут дополнительно передавать такую информацию на сервер 16 безопасности.[0050] If yes, indicating that the appropriate communication is selected for security processing,
[0051] На этапе 272 коммуникационный менеджер 58 может затем редактировать входящую коммуникация для замены исходного IP-адреса на ассоциированный фиктивный IP-адрес. Дополнительный этап 274 может затем пересылать редактированную коммуникацию ее предполагаемому получателю (например, клиентское приложение 52).[0051] At
[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
[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
[0054] Этап 290 может дополнительно определять, удовлетворено ли условие активации службы для текущего запроса DNS и соответствующего клиентского устройства. Иначе говоря, на этапе 290 сервер 14 может селективно активировать службу безопасности для некоторых клиентов и/или некоторых доменных имен. Выбор клиента может происходить в соответствии с данными профиля клиента, извлеченными из базы 19 данных. В альтернативном варианте осуществления, в котором прокси 56 DNS отправляет данные профиля клиента, кодированные в тегированном запросе 26 DNS, сервер 14 может выбирать соответствующее клиентское устройство в соответствии с такими данными. В еще одном варианте осуществления этапы 288-290 выполняются сервером 16 безопасности, передающим затем список выбранных клиентских устройств на DNS-сервер 14.[0054]
[0055] В примерном варианте осуществления сбора криминалистических данных, DNS-сервер 14 может выбирать клиенты, соответствующие определенному типу устройства (например, смартфоны), клиенты из определенного региона или страны (например, Германия), клиенты, работающие под управлением конкретной операционной системы и/или версии (например, Android, iOS 10) и т.д. Другой примерный критерий выбора клиента включает в себя, запускает ли соответствующее клиентское устройство конкретное приложение, например неизвестное или подозрительное программное обеспечение. В одном таком примере HTTP-запросы на доступ к IP-адресам, связанным с конкретными доменными именами и полученным от устройств, на которых запущено определенное отслеживаемое приложение, могут быть копированы или перенаправлены через VPN на сервер 16 безопасности.[0055] In an exemplary forensic data collection embodiment,
[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,
[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
[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
[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
[0060] Изображенная компьютерная система содержит набор физических устройств, включая аппаратный процессор 32 и блок 34 памяти. Процессор 32 содержит физическое устройство (например, микропроцессор, многоядерная интегральная схема, выполненная на полупроводниковой подложке и т.д.), конфигурированное для выполнения вычислительных и/или логических операций с набором сигналов и/или данных. В некоторых вариантах осуществления такие операции доставляются процессору 32 в форме последовательности инструкций процессора (например, машинный код или кодирование другого типа). Блок 34 памяти может содержать энергозависимый машиночитаемый носитель (например, DRAM, SRAM), хранящий инструкции и/или данные, к которым осуществляется доступ или которые генерируются процессором 32.[0060] The depicted computer system includes a collection of physical devices, including a
[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]
[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
Этап 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
[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
[0074] В примерном сценарии анализа трафика компонент VPN сервера 16 безопасности регистрирует метаданные, прикрепленные к каждому принятому сетевому пакету, и сохраняет копию полезной нагрузки пакета на диск для последующей проверки. Сам пакет затем пересылается на его истинный IP-адрес назначения. Любой ответный пакет от соответствующего IP-адреса будет перенаправлен обратно на соответствующее клиентское устройство. В некоторых вариантах осуществления компонент VPN сервера 16 безопасности также будет регистрировать входящий трафик, предназначенный для соответствующего клиентского устройства, перехватывая, таким образом, полный обмен между подозреваемым вредоносным программным кодом и его удаленными поставщиками служб.[0074] In an exemplary traffic analysis scenario, the VPN component of the
[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
[0080] Некоторые варианты осуществления реализуют гибридную конфигурацию, в которой некоторые из клиентских устройств 10а-f исполняют экземпляр приложения 54 безопасности, а другие не исполняют. В одном таком примере шлюз 12 может попытаться автоматически предоставить приложение 54 безопасности всем клиентским устройствам 10а-е, соединенным с локальной сетью 13. Некоторые такие устройства, например термостаты, умные часы и т.д., могут иметь ограниченные аппаратные ресурсы и, следовательно, не могут выполнять полноценный экземпляр приложения 54 безопасности. Некоторые варианты осуществления могут затем использовать программное обеспечение, исполняемое на шлюзе 12, для расширения описанных в данном документе служб безопасности на такие устройства.[0080] Some embodiments implement a hybrid configuration in which some of the
[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
[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
[0083] Однако, выполнение, по меньшей мере, части приложения 54 безопасности на шлюзе 12 в отличие от отдельных клиентских устройств также имеет недостатки. Например, автоматическое обнаружение устройства (т.е. использование программного обеспечения, исполняемого на шлюзе 12 для определения типа устройства каждого клиента 10а-f) может быть ограниченным и затратным с точки зрения вычислений. Хотя некоторая информация о клиенте с указанием типа может быть доступна в форме МАС-адресов и т.д., другие данные, такие как использование ресурсов и установленное программное обеспечение, могут быть полностью недоступны для шлюза 12.[0083] However, running at least part of the
[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)
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)
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)
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 |