RU2571382C1 - System and method for antivirus scanning depending on certificate trust level - Google Patents

System and method for antivirus scanning depending on certificate trust level Download PDF

Info

Publication number
RU2571382C1
RU2571382C1 RU2014141813/08A RU2014141813A RU2571382C1 RU 2571382 C1 RU2571382 C1 RU 2571382C1 RU 2014141813/08 A RU2014141813/08 A RU 2014141813/08A RU 2014141813 A RU2014141813 A RU 2014141813A RU 2571382 C1 RU2571382 C1 RU 2571382C1
Authority
RU
Russia
Prior art keywords
certificate
trust
file
final
level
Prior art date
Application number
RU2014141813/08A
Other languages
Russian (ru)
Inventor
Андрей Юрьевич Солодовников
Андрей Владимирович Ладиков
Михаил Александрович Павлющик
Original Assignee
Закрытое акционерное общество "Лаборатория Касперского"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Закрытое акционерное общество "Лаборатория Касперского" filed Critical Закрытое акционерное общество "Лаборатория Касперского"
Priority to RU2014141813/08A priority Critical patent/RU2571382C1/en
Application granted granted Critical
Publication of RU2571382C1 publication Critical patent/RU2571382C1/en

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

FIELD: information technology.
SUBSTANCE: method for antivirus scanning depending on the certificate trust level of a public key of the digital signature of a file, comprising obtaining an end certificate identifier; drawing up a chain of certificates from the end certificate, determined by the obtained certificate identifier, to the root certificate; determining, using a database of trusted certificates and depending on the chain of certificates, the trust level for the end certificate; performing antivirus scanning of the file depending on the trust level of the end certificate and scanning rules.
EFFECT: high efficiency of antivirus scanning through antivirus scanning whose process depends on a certificate trust level determined using a database of trusted certificates.
18 cl, 6 dwg, 1 tbl

Description

Область техникиTechnical field

Изобретение относится к области защиты целостности данных с помощью контрольных сумм, сертификатов и электронно-цифровых подписей, а именно к системам антивирусной проверки в зависимости от уровня доверия сертификата.The invention relates to the field of data integrity protection using checksums, certificates and digital signatures, in particular to anti-virus verification systems, depending on the level of trust of the certificate.

Уровень техникиState of the art

В настоящее время для проверки целостности файлов, производители программного обеспечения (ПО) используют криптосистему с открытым ключом. Файл подписывается электронно-цифровой подписью (ЭЦП) производителя ПО. Вместе с файлом сохраняется ЭЦП и сертификат открытого ключа, подтверждающий принадлежность открытого ключа производителю ПО. Зная открытый ключ доверенного УЦ, подлинность цифровой подписи файла может быть легко проверена.Currently, to verify the integrity of files, software manufacturers (software) use a cryptosystem with a public key. The file is signed with an electronic digital signature (EDS) of the software manufacturer. Together with the file, the EDS and the public key certificate are saved, confirming that the public key belongs to the software manufacturer. Knowing the public key of a trusted CA, the authenticity of the digital signature of the file can be easily verified.

Сертификат имеет ограниченный срок действия, после окончания которого сертификат необходимо заменить. Проверка действительности сертификатов открытого ключа электронно-цифровой подписи файлов широко используется антивирусными приложениями в качестве одной из предварительных проверок, позволяющей определить файлы, имеющие недействительную цифровую подпись или отозванные сертификаты.The certificate has a limited validity period, after which the certificate must be replaced. Verification of the validity of public key certificates for electronic digital signature of files is widely used by antivirus applications as one of the preliminary checks to identify files that have an invalid digital signature or revoked certificates.

Согласно криптографическому стандарту X.509, сертификат включает в частности следующие поля:According to the cryptographic standard X.509, the certificate includes in particular the following fields:

- серийный номер, используемый для идентификации сертификата;- the serial number used to identify the certificate;

- субъект, представляющий сторону, которой был выдан сертификат;- the entity representing the party to which the certificate was issued;

- алгоритм электронной-цифровой подписи;- electronic digital signature algorithm;

- электронно-цифровая подпись;- electronic digital signature;

- издатель сертификата;- publisher of the certificate;

- срок действия сертификата;- certificate validity period;

- открытый ключ электронно-цифровой подписи;- public key of digital signature;

- хэш-сумма открытого ключа;- hash of the public key;

- алгоритм хэширования открытого ключа.- public key hashing algorithm.

Однако если секретный ключ производителя ПО был скомпрометирован, УЦ отзовет сертификат открытого ключа. Зачастую файлы подписываются не напрямую доверенным УЦ, а посредством цепочки, состоящей из нескольких удостоверяющих центров. При компрометации ключа одного из УЦ цепочки, сертификаты, подписанные этим ключом с момента его компрометации, также подлежат отзыву. Данное обстоятельство также учитывается при антивирусной проверке - файлы с отозванными сертификатами могут исполняться с ограничениями или могут быть вовсе блокированы.However, if the secret key of the software manufacturer has been compromised, the CA will revoke the public key certificate. Often, files are not signed directly by a trusted CA, but through a chain of several certification authorities. When a key of one of the CA chains is compromised, the certificates signed by this key from the moment of its compromise are also subject to revocation. This circumstance is also taken into account during anti-virus scanning - files with revoked certificates may be executed with restrictions or may be completely blocked.

Тем не менее подобная система имеет ряд недостатков при использовании антивирусными приложениями. Например, если на компьютере установлен руткит (вредоносная программа, предназначенная для сокрытия своего присутствия в системе путем перехвата системных функций или подмены системных библиотек), он может выдавать дискредитированные сертификаты за доверенные или наоборот. Кроме этого, вредоносное приложение может установить подложный корневой сертификат, в результате встроенная в операционную систему (ОС) проверка подлинности цифровой подписи не сможет определить дискредитированный сертификат. Встроенная проверка подлинности цифровой подписи зачастую может быть достаточно медленной из-за необходимости периодической загрузки из сети списка отозванных сертификатов и списка доверенных сертификатов (в некоторых случаях загрузка может занимать несколько десятков секунд, что непозволительно для антивирусной проверки файла).Nevertheless, such a system has several disadvantages when used by antivirus applications. For example, if a rootkit is installed on the computer (a malicious program designed to hide its presence in the system by intercepting system functions or spoofing system libraries), it may issue discredited certificates as trusted or vice versa. In addition, a malicious application can install a fake root certificate, as a result, digital signature authentication built into the operating system (OS) will not be able to determine the compromised certificate. Integrated digital signature authentication can often be quite slow due to the need to periodically download from the network a list of revoked certificates and a list of trusted certificates (in some cases, downloading can take several tens of seconds, which is not permissible for antivirus verification of a file).

Для решения проблемы проверки сертификатов в антивирусах в патенте US 8499150 B1 описывается способ формирования базы данных доверенных сертификатов и способ проверки сертификатов по сформированной базе. Если сертификат был скомпрометирован после подписания файла, такой файл все же будет считаться доверенным. Основной функционал по проверке сертификатов реализован на стороне сервера, тем не менее часть функционала может быть перенесена на сторону клиента.To solve the problem of certificate verification in antiviruses, US 8,499,150 B1 describes a method for generating a database of trusted certificates and a method for verifying certificates against a generated database. If the certificate was compromised after signing the file, such a file will still be considered trusted. The main functionality for certificate verification is implemented on the server side, however, part of the functionality can be transferred to the client side.

В патенте US 7444509 B2 описывается система, в которой проверка сертификата в некоторых случаях осуществляется путем пересылки запроса удаленному серверу. Таким образом, изначально сертификат проверяется с помощью локальных баз данных, затем, в случае отсутствия записи для данного сертификата, запрос может быть отправлен на проверку удаленному серверу, содержащему большую базу данных. В патенте также описана возможность сохранения в кэш всей цепочки сертификатов - от промежуточного до корневого сертификата.US 7444509 B2 describes a system in which certificate verification in some cases is performed by forwarding a request to a remote server. Thus, initially the certificate is verified using local databases, then, if there is no record for this certificate, the request can be sent for verification to a remote server containing a large database. The patent also describes the possibility of storing the entire chain of certificates from the intermediate to the root certificate in the cache.

В патенте US 6215872 B1 описывается формирование списка доверенных сертификатов с использованием сообщества конечных пользователей.US Pat. No. 6,215,872 B1 describes the formation of a list of trusted certificates using an end-user community.

Анализ предшествующего уровня техники позволяет сделать вывод о неэффективности и в некоторых случаях о невозможности применения предшествующих технологий, недостатки которых решаются настоящим изобретением, а именно системой и способом антивирусной проверки в зависимости от уровня доверия сертификата.Analysis of the prior art allows us to conclude about the inefficiency and in some cases the impossibility of using previous technologies, the disadvantages of which are solved by the present invention, namely, a system and method of anti-virus scanning depending on the level of trust of the certificate.

Раскрытие изобретенияDisclosure of invention

Настоящее изобретение относится к системам и способам защиты целостности данных с помощью контрольных сумм, сертификатов и электронно-цифровых подписей.The present invention relates to systems and methods for protecting data integrity using checksums, certificates, and digital signatures.

Технический результат настоящего изобретения заключается в увеличении производительности антивирусной проверки путем антивирусной проверки, процесс выполнения которой зависит от уровня доверия сертификата, определенного с использованием базы данных доверенных сертификатов.The technical result of the present invention is to increase the performance of anti-virus scanning by anti-virus scanning, the execution process of which depends on the level of trust of the certificate, determined using the database of trusted certificates.

Согласно варианту реализации используется способ изменения функционала приложения, в котором: с помощью средства проверки получают идентификатор конечного сертификата; с помощью средства проверки выстраивают цепочку сертификатов от конечного сертификата, определяемого полученным идентификатором сертификата, до корневого сертификата; с помощью средства задания уровня доверия определяют с помощью базы данных доверенных сертификатов и в зависимости от цепочки сертификатов уровень доверия для конечного сертификата; с помощью приложения проводят антивирусную проверку файла в зависимости от уровня доверия конечного сертификата, а также от правил проверки.According to an embodiment, a method for changing the functionality of the application is used, in which: using the verification tool, an identifier of the final certificate is obtained; using the verification tool, they build a chain of certificates from the final certificate defined by the received certificate identifier to the root certificate; using the means of setting the level of trust, they determine, with the help of a database of trusted certificates, and depending on the chain of certificates, the level of trust for the final certificate; using the application, an anti-virus scan of the file is performed depending on the level of trust of the final certificate, as well as on the verification rules.

Согласно одному из частных вариантов реализации идентификатором сертификата служит один из параметров: серийный номер; открытый ключ; хэш-сумма от открытого ключа сертификата; имя субъекта и издателя сертификата.According to one particular embodiment, the certificate identifier is one of the parameters: serial number; public key hash amount from the public key of the certificate; name of the subject and publisher of the certificate.

Согласно другому частному варианту реализации уровень доверия принимает одно из значений: высокий, означающий, что файл является безопасным, дополнительная антивирусная проверка не проводится; средний, означающий, что будет проведена антивирусная проверка файла; низкий, означающий, что цифровая подпись владельца сертификата недействительна, будет проведена дополнительная антивирусная проверка файла.According to another particular embodiment, the level of trust takes one of the following values: high, meaning that the file is safe, no additional anti-virus scan is performed; medium, which means that an anti-virus scan of the file will be performed; low, which means that the digital signature of the certificate holder is invalid, an additional anti-virus check of the file will be carried out.

Согласно еще одному из частных вариантов реализации уровень доверия конечного сертификата соответствует уровню доверия упомянутого конечного сертификата в базе данных доверенных сертификатов.According to yet another particular embodiment, the level of trust of the final certificate corresponds to the level of trust of said final certificate in the database of trusted certificates.

Согласно одному из частных вариантов реализации последовательно проверяют промежуточные сертификаты цепочки сертификатов с использованием базы данных доверенных сертификатов, когда конечный сертификат отсутствует в базе данных доверенных сертификатов.According to one particular embodiment, the intermediate certificates of the certificate chain are sequentially checked using the trusted certificate database when the final certificate is not in the trusted certificate database.

Согласно другому частному варианту реализации для конечного сертификата определяют низкий уровень доверия, когда по крайней мере один из промежуточных сертификатов содержится в базе данных доверенных сертификатов с низким уровнем доверия.In another particular embodiment, a low level of trust is determined for an end certificate when at least one of the intermediate certificates is contained in a low level trust certificate database.

Согласно еще одному из частных вариантов реализации для конечного сертификата определяют низкий уровень доверия, когда все сертификаты цепочки сертификатов отсутствуют в базе данных доверенных сертификатов.According to another private embodiment, a low level of trust is determined for the final certificate when all certificates in the certificate chain are not in the trust certificate database.

Согласно одному из частных вариантов реализации для конечного сертификата определяют средний уровень доверия, когда выполняются следующие условия: по крайней мере один сертификат из цепочки сертификатов содержится в базе данных доверенных сертификатов; в цепочке сертификатов отсутствуют сертификаты с низким уровнем доверия.According to one particular embodiment, the final level of trust is determined for the final certificate when the following conditions are met: at least one certificate from the certificate chain is contained in the trust certificate database; The certificate chain does not contain certificates with a low level of trust.

Согласно другому частному варианту реализации правила включают по крайней мере следующие: когда конечный сертификат имеет высокий уровень доверия, файл считается легитимным и дальнейшая антивирусная проверка не требуется; когда конечный сертификат имеет средний уровень доверия, будет проверена дополнительная антивирусная проверка файла; когда конечный сертификат имеет низкий уровень доверия, будет выполнено одно из следующих действий: проведена наиболее тщательная дополнительная антивирусная проверка файла; запуск файла будет заблокирован.According to another particular embodiment, the rules include at least the following: when the final certificate has a high level of trust, the file is considered legitimate and no further anti-virus scan is required; when the final certificate has an average level of trust, an additional antivirus scan of the file will be checked; when the final certificate has a low level of trust, one of the following actions will be performed: the most thorough additional anti-virus scan of the file has been performed; file launch will be blocked.

Согласно еще одному частному варианту реализации с помощью приложения проводят дополнительную антивирусную проверку файла в зависимости от содержимого полей сертификата.According to another particular embodiment, an additional anti-virus scan of the file is carried out using the application, depending on the contents of the certificate fields.

Согласно одному из частных вариантов реализации с помощью приложения отправляют средству проверки конечный сертификат для выполнения дополнительной проверки конечного сертификата, когда конечный сертификат отсутствует в базе данных доверенных сертификатов.According to one particular embodiment, the application sends the final certificate to the verification tool to perform additional verification of the final certificate when the final certificate is not in the trust certificate database.

Согласно варианту реализации используется система антивирусной проверки в зависимости от уровня доверия сертификата, содержащая: средство проверки, предназначенное для получения идентификатора конечного сертификата; средство проверки, предназначенное для выстраивания цепочки сертификатов от конечного сертификата, определяемого полученным идентификатором сертификата, до корневого сертификата; средство задания уровня доверия, предназначенное для определения с помощью базы данных доверенных сертификатов и в зависимости от цепочки сертификатов уровень доверия для конечного сертификата; приложение, предназначенное для проведения антивирусной проверки файла в зависимости от уровня доверия конечного сертификата, а также от правил проверки.According to an embodiment, an anti-virus scan system is used, depending on the level of trust of the certificate, comprising: a scan tool designed to obtain the identifier of the final certificate; verification tool designed to build a chain of certificates from the final certificate defined by the received certificate identifier to the root certificate; trust level setting tool for determining the trust level for the final certificate using a database of trusted certificates and depending on the certificate chain; An application designed to conduct anti-virus scan of a file depending on the level of trust of the final certificate, as well as on the verification rules.

Согласно одному из частных вариантов реализации идентификатором сертификата служит один из параметров: серийный номер; открытый ключ; хэш-сумма от открытого ключа сертификата; имя субъекта и издателя сертификата.According to one particular embodiment, the certificate identifier is one of the parameters: serial number; public key hash amount from the public key of the certificate; name of the subject and publisher of the certificate.

Согласно другому частному варианту реализации уровень доверия принимает одно из значений: высокий, означающий, что файл является безопасным, дополнительная антивирусная проверка не проводится; средний, означающий, что будет проведена антивирусная проверка файла; низкий, означающий, что цифровая подпись владельца сертификата недействительна, будет выполнено одно из следующих действий: проведена наиболее тщательная дополнительная антивирусная проверка файла с учетом того, что файл не был подписан ЭЦП владельца сертификата; запуск файла будет заблокирован.According to another particular embodiment, the level of trust takes one of the following values: high, meaning that the file is safe, no additional anti-virus scan is performed; medium, which means that an anti-virus scan of the file will be performed; low, meaning that the digital signature of the certificate holder is invalid, one of the following actions will be performed: the most thorough additional anti-virus scan of the file is carried out taking into account that the file was not signed by the EDS of the certificate holder; file launch will be blocked.

Согласно еще одному из частных вариантов реализации уровень доверия конечного сертификата соответствует уровню доверия упомянутого конечного сертификата в базе данных доверенных сертификатов.According to yet another particular embodiment, the level of trust of the final certificate corresponds to the level of trust of said final certificate in the database of trusted certificates.

Согласно одному из частных вариантов реализации средство проверки предназначено для последовательной проверки промежуточных сертификатов цепочки сертификатов с использованием базы данных доверенных сертификатов, когда конечный сертификат отсутствует в базе данных доверенных сертификатов.According to one particular embodiment, the verification tool is for sequentially verifying intermediate certificates of a certificate chain using a trusted certificate database when the final certificate is not in the trusted certificate database.

Согласно другому частному варианту реализации средство задания уровня доверия дополнительно предназначено для определения низкого уровня доверия для конечного сертификата, когда по крайней мере один из промежуточных сертификатов содержится в базе данных доверенных сертификатов с низким уровнем доверия.According to another particular embodiment, the trust level setting means is further adapted to determine a low level of trust for the final certificate when at least one of the intermediate certificates is contained in the low trust certificate database.

Согласно еще одному частному варианту реализации средство задания уровня доверия дополнительно предназначено для определения среднего уровня доверия для конечного сертификата, когда все сертификаты цепочки сертификатов отсутствуют в базе данных доверенных сертификатов.According to yet another particular embodiment, the trust level setting means is further intended to determine the average level of trust for the final certificate when all certificates in the certificate chain are not in the trust certificate database.

Согласно одному из частных вариантов реализации средство задания уровня доверия дополнительно предназначено для определения среднего уровня доверия для конечного сертификата, когда выполняются следующие условия: по крайней мере один сертификат из цепочки сертификатов содержится в базе данных доверенных сертификатов; в цепочке сертификатов отсутствуют сертификаты с низким уровнем доверия.According to one particular embodiment, the trust level setting tool is further intended to determine the average level of trust for the final certificate when the following conditions are met: at least one certificate from the certificate chain is contained in the trust certificate database; The certificate chain does not contain certificates with a low level of trust.

Согласно другому частному варианту реализации правила включают по крайней мере следующие: когда конечный сертификат имеет высокий уровень доверия, файл считается легитимным и дальнейшая антивирусная проверка не требуется; когда конечный сертификат имеет средний уровень доверия, будет проверена дополнительная антивирусная проверка файла; когда конечный сертификат имеет низкий уровень доверия, будет выполнено одно из следующих действий: проведена наиболее тщательная дополнительная антивирусная проверка файла с учетом того, что файл не был подписан ЭЦП владельца сертификата; запуск файла будет заблокирован.According to another particular embodiment, the rules include at least the following: when the final certificate has a high level of trust, the file is considered legitimate and no further anti-virus scan is required; when the final certificate has an average level of trust, an additional antivirus scan of the file will be checked; when the final certificate has a low level of trust, one of the following actions will be performed: the most thorough additional anti-virus scan of the file is carried out taking into account that the file was not signed by the EDS of the certificate holder; file launch will be blocked.

Согласно еще одному частному варианту реализации приложение предназначено для проведения дополнительной антивирусной проверки файла в зависимости от содержимого полей сертификата.According to another particular embodiment, the application is intended for additional anti-virus scanning of a file depending on the contents of the certificate fields.

Согласно одну из частных вариантов реализации приложение дополнительно предназначено для отправки средству проверки конечного сертификата для выполнения дополнительной проверки конечного сертификата, когда конечный сертификат отсутствует в базе данных доверенных сертификатов.According to one particular implementation, the application is further intended to be sent to the certificate of verification of the final certificate to perform additional verification of the final certificate when the final certificate is not in the database of trusted certificates.

Краткое описание чертежейBrief Description of the Drawings

Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:Additional objectives, features and advantages of the present invention will be apparent from reading the following description of an embodiment of the invention with reference to the accompanying drawings, in which:

На Фиг. 1 представлена общая схема системы верификации цифровой подписи.In FIG. 1 shows a general diagram of a digital signature verification system.

На Фиг. 2 представлен способ формирования и пополнения базы данных.In FIG. 2 presents a method of forming and updating the database.

На Фиг. 3 представлен способ антивирусной проверки в зависимости от уровня доверия сертификата.In FIG. Figure 3 shows an anti-virus scan method, depending on the level of certificate trust.

На Фиг. 4 приведен способ обхода цепочки сертификатов.In FIG. Figure 4 shows how to bypass the certificate chain.

На Фиг. 5 приведен возможный пример обхода цепочки сертификатов.In FIG. Figure 5 shows a possible example of a certificate chain bypass.

Фиг. 6 представляет пример компьютерной системы общего назначения.FIG. 6 is an example of a general purpose computer system.

Описание вариантов осуществления изобретенияDescription of Embodiments

Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.The objects and features of the present invention, methods for achieving these objects and features will become apparent by reference to exemplary embodiments. However, the present invention is not limited to the exemplary embodiments disclosed below, it can be embodied in various forms. The essence described in the description is nothing more than the specific details provided to assist the specialist in the field of technology in a comprehensive understanding of the invention, and the present invention is defined in the scope of the attached claims.

На Фиг. 1 представлена общая схема системы верификации цифровой подписи. Система содержит компьютерное устройство пользователя 110 (далее для наглядности будет упоминаться как компьютер) с установленным приложением 101. Компьютер 110 может быть, например, персональным компьютером (ПК), ноутбуком, планшетом, смартфоном и пр. В предпочтительном варианте реализации приложение 101 является антивирусом. При выполнении антивирусной проверки файла будет также выполнена проверка действительности сертификата открытого ключа ЭЦП файла. Сертификат считается действительным, если выполнены следующие условия:In FIG. 1 shows a general diagram of a digital signature verification system. The system comprises a user’s computer device 110 (hereinafter referred to as a computer for illustration purposes) with the application 101 installed. The computer 110 can be, for example, a personal computer (PC), laptop, tablet, smartphone, etc. In a preferred embodiment, the application 101 is an antivirus. During the anti-virus scan of the file, the validity of the public key certificate of the digital signature of the file will also be checked. A certificate is considered valid if the following conditions are met:

- электронно-цифровая подпись удостоверяющего центра верна;- the digital signature of the certification center is correct;

- срок действия сертификата текущий момент времени не окончен;- the validity period of the certificate is not expired;

- сертификат не был отозван.- The certificate has not been revoked.

Система также содержит сервер 120, связанный с компьютером 110 посредством компьютерной сети. Система содержит средство проверки 103, связанное с приложением 101 и предназначенное для получения конечного сертификата от приложения 101 при выполнении проверки сертификата. Конечный сертификат - сертификат открытого ключа производителя ПО, электронно-цифровой подписью которого был подписан файл. Средство задания уровня доверия 104 связано со средством проверки 103 и служит для определения уровня доверия для сертификатов с помощью базы данных доверенных сертификатов 105 (для иллюстративности, далее будет упоминаться как база данных 105). Уровень доверия в рассматриваемой системе выступает параметром (например целочисленным), определяющим действительность сертификата, и используется при антивирусной проверке. База данных 105 связана со средством задания уровня доверия 104 и содержит сертификаты, а также соответствующие им уровни доверия и идентификаторы, по которым однозначным образом можно определить каждый сертификат. Идентификатором сертификата может служить, например, серийный номер, открытый ключ, хэш-сумма от открытого ключа сертификата, имя субъекта и издателя и пр. В частном варианте реализации система также включает локальную базу данных 105a, связанную с базой данных 105. В частном варианте реализации полный или частичный список сертификатов с уровнями доверия периодически передается из базы данных 105 в локальную базу данных 105a.The system also includes a server 120 connected to a computer 110 via a computer network. The system includes a verification tool 103 associated with the application 101 and designed to obtain the final certificate from the application 101 when performing certificate verification. The final certificate is the public key certificate of the software manufacturer, whose digital signature was signed by the file. The tool for setting the level of trust 104 is associated with the means of verification 103 and is used to determine the level of trust for certificates using the database of trusted certificates 105 (for illustrative purposes, hereinafter referred to as database 105). The level of trust in the system under consideration acts as a parameter (for example, integer) that determines the validity of the certificate and is used during anti-virus scanning. Database 105 is associated with a tool for setting the level of trust 104 and contains certificates, as well as their corresponding levels of trust and identifiers, by which each certificate can be uniquely determined. A certificate identifier can be, for example, a serial number, a public key, a hash from the public key of a certificate, the name of the subject and publisher, etc. In a particular embodiment, the system also includes a local database 105a associated with the database 105. In a particular embodiment a complete or partial list of certificates with trust levels is periodically transferred from the database 105 to the local database 105a.

Средство задания уровня доверия 104 также необходимо для пополнения базы данных 105 сертификатами полученных файлов и соответствующими им уровнями доверия.The tool for setting the level of trust 104 is also necessary to replenish the database 105 with certificates of received files and their corresponding levels of trust.

Средство проверки 103 также служит для выстраивания цепочки сертификатов от конечного сертификата до корневого сертификата. Цепочка сертификатов состоит из множества сертификатов, необходимых для сертификации производителя ПО, идентифицируемого конечным сертификатом. Обычно цепочка сертификатов содержит конечный сертификат, множество промежуточных сертификатов и корневой сертификат - сертификат корневого удостоверяющего центра, которому доверяют все удостоверяющие центры в цепочке сертификатов. Каждый промежуточный УЦ в цепочке содержит сертификат, выданный удостоверяющим центром, находящимся на уровень выше в цепочке. При этом корневой сертификат был выдан собственным удостоверяющим центром, который также называется корневым (т.е. является самоподписанным сертификатом). Кроме этого, средство проверки 103 служит для определения одного из:The verification tool 103 also serves to build a chain of certificates from the end certificate to the root certificate. The certificate chain consists of many certificates required for certification of the software manufacturer, identified by the final certificate. Typically, a certificate chain contains an end certificate, many intermediate certificates, and a root certificate — a certificate of the root certification authority that is trusted by all certification authorities in the certificate chain. Each intermediate CA in the chain contains a certificate issued by a certification authority located one level higher in the chain. At the same time, the root certificate was issued by its own certification authority, which is also called the root certificate (i.e., it is a self-signed certificate). In addition, the verification tool 103 is used to determine one of:

- первого сертификата из цепочки сертификатов, содержащегося в базе данных 105;- the first certificate from the certificate chain contained in the database 105;

- конечного сертификата в цепочке сертификатов.- The final certificate in the certificate chain.

В частном варианте реализации система включает базу данных вредоносных файлов 106. База данных вредоносных файлов 106 для каждого вредоносного файла может содержать хэш-сумму, сертификат открытого ключа ЭЦП и его идентификатор, статус вредоносного файла (например вирус, руткит, червь, троян), исходный файл и пр.In a private embodiment, the system includes a database of malicious files 106. The database of malicious files 106 for each malicious file may contain a hash, an EDS public key certificate and its identifier, the status of the malicious file (for example, virus, rootkit, worm, trojan), the original file, etc.

В частном примере реализации приложение 101 и файл 102 расположены на компьютере 110, а средства 103-106 расположены на сервере 120. В другом примере реализации база данных 105 может быть расположена на компьютере 110.In a particular embodiment, application 101 and file 102 are located on computer 110, and tools 103-106 are located on server 120. In another example implementation, database 105 may be located on computer 110.

На Фиг. 2 представлен способ формирования и пополнения базы данных 105. При запуске неизвестного файла 102 на компьютере 110, приложение 101 определяет сертификат открытого ключа цифровой подписи файла и отправляет идентификатор сертификата и файла (например хэш-сумма от файла) на сервер 120 средству проверки 103. Приложение 101 может быть установлено на множестве компьютерных устройств различных пользователей - таким образом, на сервер 120 поступают идентификаторы сертификатов от множества неизвестных файлов. С использованием базы данных 105 сертификат может быть однозначно определен по полученному идентификатору. В частном варианте реализации, если в базе данных 105 не был найден сертификат, определенный полученным идентификатором, средство проверки 103 может запросить неизвестный файл у приложения 101. В другом варианте реализации неизвестный файл может быть получен средством проверки 103 от производителя ПО.In FIG. 2, a method for generating and updating the database 105 is presented. When an unknown file 102 is launched on the computer 110, the application 101 determines the public key certificate of the digital signature of the file and sends the identifier of the certificate and file (for example, the hash sum from the file) to the server 120 to the verification tool 103. Appendix 101 can be installed on a variety of computer devices of various users — thus, certificate identifiers from a plurality of unknown files are received on server 120. Using database 105, a certificate can be uniquely identified by the identifier obtained. In a particular embodiment, if the certificate determined by the identifier was not found in the database 105, the verification tool 103 may request an unknown file from the application 101. In another embodiment, an unknown file may be obtained by the verification tool 103 from the software manufacturer.

В частном варианте реализации сервер проверки 103 периодически (например раз в сутки) ранжирует сертификаты по количеству пользователей, от которых был получен идентификатор соответствующего сертификата. На шаге 201 средство проверки 103 выбирает из ранжированного списка определенное количество наиболее популярных сертификатов (например первые десять сертификатов). В другом варианте реализации средство проверки 103 проверяет все сертификаты, идентификаторы которых были полученные от пользователей.In a particular embodiment, the verification server 103 periodically (for example, once a day) ranks the certificates by the number of users from whom the identifier of the corresponding certificate was received. At step 201, the verifier 103 selects from the ranked list a certain number of the most popular certificates (for example, the first ten certificates). In another embodiment, the verification tool 103 verifies all certificates whose identifiers were received from users.

На шаге 202 происходит проверка действительности сертификатов из списка, выбранного на предыдущем этапе. Исходя из определения, действительность сертификата определяется путем проверки следующих условий:At step 202, the validity of the certificates from the list selected in the previous step is verified. Based on the definition, the validity of the certificate is determined by checking the following conditions:

- электронно-цифровая подпись удостоверяющего центра верна;- the digital signature of the certification center is correct;

- срок действия сертификата на текущий момент времени не окончен;- the validity of the certificate at the current time is not expired;

- сертификат не был отозван.- The certificate has not been revoked.

Кроме этого, сертификат может быть недействительным по следующим причинам:In addition, the certificate may be invalid for the following reasons:

- истек срок действия одного из сертификатов цепочки сертификатов;- one of the certificates in the certificate chain has expired;

- сроки действия сертификатов цепочки сертификатов могут не пересекаться;- the validity period of the certificate chain certificates may not overlap;

- цепочка сертификатов зациклена - один из сертификатов цепочки сертификатов издан УЦ, сертифицированным УЦ проверяемого сертификата.- the certificate chain is looped - one of the certificate chain certificates is issued by the CA certified by the CA of the certificate being verified.

Стоит отметить, что проверка действительности сертификата не ограничивается приведенными выше условиями, а может включать и другие условия, перечисленные, например, в стандарте X.509.It is worth noting that the verification of the validity of the certificate is not limited to the above conditions, but may include other conditions listed, for example, in the X.509 standard.

Проверка электронной подписи в частном варианте реализации может быть осуществлена системными средствами (в ОС Windows, например, с помощью программы Sign Tool). В другом варианте реализации проверка электронной подписи может быть осуществлена путем ее расшифровки открытым ключом, содержащимся в сертификате открытого ключа данной электронной подписи и последующего сравнения полученного значения хэш-функции от файла с вычисленным значением хэш-функции от файла.Validation of an electronic signature in a particular embodiment can be carried out by system tools (in Windows, for example, using the Sign Tool program). In another embodiment, the verification of the electronic signature can be carried out by decrypting it with the public key contained in the public key certificate of the given electronic signature and then comparing the obtained value of the hash function from the file with the calculated value of the hash function from the file.

На шаге 203 средство задания уровня доверия 104 задает средний уровень доверия для сертификатов, идентификаторы которых были получены от пользователей и являются действительными. Оставшимся недействительным сертификатам, идентификаторы которых были получены от пользователей, присваивается низкий уровень доверия. В частном варианте реализации, оставшиеся сертификаты могут быть проанализированы вручную на стороне сервера.At step 203, the trust level setting tool 104 sets the average trust level for certificates whose identifiers have been obtained from users and are valid. The remaining invalid certificates, the identifiers of which were obtained from users, are assigned a low level of trust. In a private implementation, the remaining certificates can be analyzed manually on the server side.

В частном примере реализации уровень доверия может принимать следующие значения: низкий, средний, высокий. Низкий уровень доверия может означать, что цифровая подпись владельца недействительна и требуется проведение дополнительной антивирусной проверки файла (например, с использованием более сложный и ресурсоемких алгоритмов в сравнении с обычной антивирусной проверкой). Средний уровень доверия может означать, что будет проведена обычная антивирусная проверка. Высокий уровень доверия, напротив, означает, что файл является безопасным и дополнительных антивирусных проверок не требуется.In a particular example of implementation, the level of trust can take the following values: low, medium, high. A low level of trust may mean that the digital signature of the owner is invalid and additional anti-virus scanning of the file is required (for example, using more complex and resource-intensive algorithms compared to conventional anti-virus scanning). A medium level of trust may mean that a routine anti-virus scan will be performed. A high level of trust, on the contrary, means that the file is safe and no additional anti-virus checks are required.

Далее средство проверки 103 получает список вредоносных файлов и их сертификатов из базы данных вредоносных файлов 106. На этапе 204 для сертификатов открытого ключа электронно-цифровой подписи, которой были подписаны вредоносные файлы, задают низкий уровень доверия. На этапе 205 высокий уровень доверия задают для сертификатов, у которых удостоверяющий центр содержится в списке доверенных удостоверяющих центров. В частном варианте реализации доверенными удостоверяющими центрами могут быть УЦ наиболее крупных производителей программного обеспечения (ПО). В другом частном примере реализации список доверенных удостоверяющих центров может быть заранее сформирован сервером 120.Next, the verification tool 103 obtains a list of malicious files and their certificates from the malware file database 106. At step 204, a low level of trust is set for the electronic public key signature certificates of the digital signature to which the malicious files were signed. At step 205, a high level of trust is set for certificates for which the certification authority is contained in the list of trusted certification authorities. In a particular embodiment, trusted certification authorities may be CAs of the largest manufacturers of software (software). In another particular embodiment, the list of trusted certification authorities may be pre-generated by server 120.

В частном варианте реализации на шаге 204 промежуточным сертификатам, встречающимся в цепочках сертификатов у определенного количества вредоносных файлов, может быть задан низкий уровень доверия. Например, если промежуточный сертификат присутствовал в десяти цепочках сертификатов, при этом шесть файлов, подписанных конечными сертификатами этих цепочек, были вредоносными, то рассматриваемому промежуточному сертификату будет присвоен низкий уровень доверия. В то же время, если вредоносных файлов оказалось, например, два - промежуточному сертификату может быть присвоен средний уровень доверия, т.к. нет достаточных оснований полагать, что промежуточный сертификат был дискредитирован.In a particular embodiment, in step 204, a low level of trust can be set for intermediate certificates that occur in the certificate chains of a certain number of malicious files. For example, if an intermediate certificate was present in ten certificate chains, and six files signed by the final certificates of these chains were malicious, then the intermediate certificate under consideration will be assigned a low level of trust. At the same time, if there are two malicious files, for example, an intermediate level of trust can be assigned to an intermediate certificate, because there is no sufficient reason to believe that the intermediate certificate has been discredited.

В итоге, на шаге 206 средство задания уровня доверия 104 добавляет (если база данных была только создана и соответственно является пустой) или пополняет базу данных 105 сертификатами полученных файлов и соответствующими им уровнями доверия.As a result, at step 206, the tool for setting the level of trust 104 adds (if the database has only been created and, accordingly, is empty) or replenishes the database with 105 certificates of received files and the corresponding levels of trust.

На Фиг. 3 представлен способ антивирусной проверки файла с использованием информации об уровне доверия сертификата. На первом шаге 301 средство проверки 103 получает идентификатор конечного сертификата открытого ключа ЭЦП файла, проверяемого приложением 101. Далее, на шаге 302 средство проверки 103 строит цепочку сертификатов от конечного сертификата до корневого сертификата. С использованием базы данных 105 сертификат может быть однозначно определен по полученному идентификатору. Построение цепочки сертификатов происходит известным из уровня техники способом. У конечного сертификата определяется первый УЦ, выдавший сертификат. Для сертификата первого УЦ определяется второй УЦ, выдавший сертификат первого УЦ и так далее, до определения корневого УЦ.In FIG. Figure 3 shows a method of anti-virus scanning of a file using information about the certificate trust level. At the first step 301, the verification tool 103 obtains the identifier of the final certificate of the public key of the digital signature of the file verified by the application 101. Next, at step 302, the verification tool 103 builds a chain of certificates from the final certificate to the root certificate. Using database 105, a certificate can be uniquely identified by the identifier obtained. The construction of the chain of certificates occurs in a manner known from the prior art. The final CA determines the first CA that issued the certificate. For the certificate of the first CA, the second CA is determined, which issued the certificate of the first CA and so on, until the root CA is determined.

На шаге 303 средство проверки 103 последовательно обходит цепочку сертификатов, производя последовательно поиск каждого сертификата из цепочки в базе данных 105. Уровень доверия конечного сертификата будет обновлен в зависимости от результата обхода цепочки сертификатов. Способ обхода цепочки сертификатов будет рассмотрен ниже, при описании Фиг. 4.At step 303, the verification tool 103 sequentially bypasses the certificate chain, sequentially searching for each certificate from the chain in the database 105. The trust level of the final certificate will be updated depending on the result of the certificate chain bypass. A method of bypassing the certificate chain will be discussed below, with the description of FIG. four.

В итоге на шаге 304 с использованием базы данных 105 определяют уровень доверия для конечного сертификата. В итоге, на шаге 305 приложение 101 на компьютере 110 проводит антивирусную проверку файла 102 в зависимости от уровня доверия конечного сертификата. Данная зависимость определяется правилами проверки, которые будут описаны ниже, в таблице 1. В частном варианте реализации способ антивирусной проверки зависит от содержимого полей сертификата, таких как, например: срок действия, страна выпуска сертификата и пр.As a result, in step 304, the trust level for the final certificate is determined using the database 105. As a result, at step 305, application 101 on computer 110 performs an anti-virus scan of file 102, depending on the level of trust of the final certificate. This dependence is determined by the verification rules, which will be described below, in table 1. In a particular embodiment, the anti-virus scan method depends on the contents of the certificate fields, such as, for example: expiration date, country of issue of the certificate, etc.

На Фиг. 4 приведен способ обхода цепочки сертификатов. Проверка сертификатов происходит последовательно, начиная от конечного сертификата и заканчивая корневым сертификатом. На шаге 410 проверяется, содержится ли конечный сертификат в базе данных 105. Если сертификат содержится в базе данных 105, дальнейший обход цепочки сертификатов не требуется.In FIG. Figure 4 shows how to bypass the certificate chain. Certificate verification is performed sequentially, starting from the final certificate and ending with the root certificate. At step 410, a check is made to see if the final certificate is contained in the database 105. If the certificate is contained in the database 105, no further traversal of the certificate chain is required.

В противном случае на шаге 420 обход продолжается со следующего сертификата в цепочке и до тех пор, пока на шаге 430 не будет определено, что рассматриваемый промежуточный сертификат содержится в базе данных 105 с низким уровнем доверия (шаг 431), или пока не будет достигнут корневой сертификат (шаги 440-441). При этом если промежуточный сертификат содержится в базе данных 105 с высоким или средним уровнем доверия, обход цепочки будет продолжен.Otherwise, at step 420, the crawl continues from the next certificate in the chain until at step 430 it is determined that the intermediate certificate in question is contained in the database 105 with a low level of trust (step 431), or until the root is reached certificate (steps 440-441). However, if the intermediate certificate is contained in the database 105 with a high or medium level of trust, the chain will continue to bypass.

Если промежуточный сертификат содержится в базе данных 105 и имеет низкий уровень доверия, конечному сертификату также будет присвоен низкий уровень доверия. Этот шаг позволяет определить вредоносный файл, когда один из промежуточных сертификатов цепочки сертификатов имеет низкий уровень доверия, даже если по каким-либо причинам (например промежуточный сертификат был отозван из-за компрометации УЦ, в то время как родительские УЦ не были скомпрометированы) остальные сертификаты цепочки сертификатов имеют средний или высокий уровень доверия.If the intermediate certificate is contained in the database 105 and has a low level of trust, the final certificate will also be assigned a low level of trust. This step allows you to identify a malicious file when one of the intermediate certificates of the certificate chain has a low level of trust, even if for some reason (for example, the intermediate certificate was revoked due to the compromise of the CA, while the parent CAs were not compromised) other certificates certificate chains have a medium or high level of trust.

Если был достигнут корневой сертификат и при этом по крайней мере один из промежуточных сертификатов содержится в базе данных 105 со средним или высоким уровнем доверия, конечному сертификату файла будет присвоен средний уровень доверия.If a root certificate has been reached and at least one of the intermediate certificates is contained in the database 105 with an average or high level of trust, the final certificate of the file will be assigned an average level of trust.

Кроме этого, на шаге 441 проверяется, присутствовали ли в цепочке сертификатов промежуточные сертификаты с высоким уровнем доверия. Если да, конечному сертификату будет также присвоен высокий уровень доверия.In addition, at step 441, it is checked whether intermediate certificates with a high level of trust were present in the certificate chain. If so, the final certificate will also be assigned a high level of trust.

Последний из возможных результатов обхода цепочки сертификатов: ни один из сертификатов цепочки не содержался в базе данных 105. В этом случае конечному сертификату может быть присвоен низкий уровень доверия. Кроме этого, в частном варианте реализации идентификатор конечного сертификата может быть отправлен средству проверки 103, которое проанализирует сертификат в соответствии со способом, представленным на Фиг. 2. В другом варианте реализации, средству проверки 103 может быть также отправлен идентификатор файла (например хэш-сумма).The last possible result of bypassing the certificate chain: none of the certificates in the chain were contained in the database 105. In this case, the final certificate may be assigned a low level of trust. In addition, in a particular embodiment, the identifier of the final certificate may be sent to the verification tool 103, which will analyze the certificate in accordance with the method shown in FIG. 2. In another embodiment, a file identifier (eg, a hash sum) may also be sent to the verification tool 103.

Ниже, в таблице 1 приведен пример правил проверки, в соответствии с которыми проводится антивирусная проверка после окончания обхода цепочки сертификатов.Table 1 below shows an example of the verification rules, in accordance with which the anti-virus scan is performed after the end of the certificate chain bypass.

Таблица 1Table 1 No. Уровень доверия конечного сертификатаEnd Certificate Trust Level ПравилоThe rule 1one ВысокийTall Файл считается доверенным, дальнейшая антивирусная проверка не требуетсяThe file is considered trusted; no further anti-virus scan is required 22 СреднийAverage Необходимо провести дополнительную антивирусную проверкуAn additional anti-virus scan is required. 33 НизкийLow Необходимо провести более тщательную дополнительную антивирусную проверку файлаA more thorough additional antivirus scan of the file is necessary.

Например, согласно первому правилу, если в приведенном на Фиг. 4 способе был найден сертификат, являющийся конечным сертификатом с высоким уровнем доверия, файл считается легитимным и дальнейшая антивирусная проверка не требуется. Согласно же второму правилу будет проведена дополнительная антивирусная проверка. Такой проверкой может быть, например, эвристические алгоритмы, использование облачных сервисов, эмуляция и пр.For example, according to the first rule, if in FIG. In method 4, a certificate was found, which is the final certificate with a high level of trust, the file is considered legitimate and no further anti-virus scan is required. According to the second rule, an additional anti-virus scan will be carried out. Such a check can be, for example, heuristic algorithms, the use of cloud services, emulation, etc.

Согласно третьему правилу таблицы 1 будет проведена дополнительная антивирусная проверка с учетом того, что файл не был подписан цифровой подписью владельца или цифровая подпись не верна. В этом случае будет проведена наиболее тщательная антивирусная проверка или комплекс проверок, позволяющих с большой вероятностью определить вредоносные файлы. Например, могут использоваться более ресурсоемкие эвристические алгоритмы, поведенческие алгоритмы и пр. В частном варианте реализации, если сертификат имеет низкий уровень доверия, он может быть заблокирован приложением 101 при запуске.According to the third rule of Table 1, an additional anti-virus check will be carried out taking into account that the file was not digitally signed by the owner or the digital signature is not correct. In this case, the most thorough anti-virus scan or a set of checks will be carried out, which will most likely identify malicious files. For example, more resource-intensive heuristic algorithms, behavioral algorithms, etc. can be used. In a particular embodiment, if the certificate has a low level of trust, it can be blocked by application 101 at startup.

На Фиг. 5 приведен возможный пример обхода цепочки сертификатов согласно способу, приведенному на Фиг. 4. В рассматриваемом примере файл подписан конечным сертификатом 501. Цепочка сертификатов состоит из сертификатов 501-506. Т.е. конечный сертификат 501 был подписан УЦ 4, сертификат 502 которого был подписан УЦ 3 и т.д.In FIG. 5 shows a possible example of a certificate chain bypass according to the method shown in FIG. 4. In this example, the file is signed with the final certificate 501. The certificate chain consists of certificates 501-506. Those. final certificate 501 was signed by CA 4, certificate 502 of which was signed by CA 3, etc.

Средство проверки 103, на шаге 410 последовательно обходит сертификаты из цепочки сертификатов, начиная с корневого сертификата. Первый сертификат, который присутствует в базе данных 105 является сертификат 502, который, согласно базе данных 105 имеет высокий уровень доверия. Т.к. он не является корневым сертификатом, то согласно способу, приведенному на Фиг. 4 обход сертификатов цепочки сертификатов продолжается (шаг 440). Сертификат 503 не содержится в базе данных 105. Следующий сертификат 504 содержится в базе данных с низким уровнем доверия. Несмотря на то, что в цепочке сертификатов еще осталось два непроверенных сертификата, далее нет необходимости продолжать обход (шаг 431), т.к. был найден дискредитированный промежуточный сертификат 504. Согласно правилу 3 из таблицы 1 необходимо провести наиболее тщательную дополнительную антивирусную проверку файла.The verification tool 103, in step 410, sequentially bypasses the certificates from the certificate chain, starting with the root certificate. The first certificate that is present in database 105 is certificate 502, which, according to database 105, has a high level of trust. Because it is not a root certificate, according to the method shown in FIG. 4, the certificate chain certificate bypass continues (step 440). Certificate 503 is not in database 105. The next certificate 504 is in a database with a low level of trust. Despite the fact that there are still two unverified certificates in the certificate chain, then there is no need to continue the bypass (step 431), because a discredited intermediate certificate 504 was found. According to rule 3 of table 1, the most thorough additional anti-virus scan of the file is necessary.

Фиг. 6 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.FIG. 6 is an example of a general purpose computer system, a personal computer or server 20 comprising a central processor 21, a system memory 22, and a system bus 23 that contains various system components, including memory associated with the central processor 21. The system bus 23 is implemented as any prior art bus structure comprising, in turn, a bus memory or a bus memory controller, a peripheral bus and a local bus that is capable of interacting with any other bus architecture. The system memory contains read-only memory (ROM) 24, random access memory (RAM) 25. The main input / output system (BIOS) 26, contains basic procedures that ensure the transfer of information between the elements of the personal computer 20, for example, at the time of loading the operating ROM systems 24.

Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.The personal computer 20 in turn contains a hard disk 27 for reading and writing data, a magnetic disk drive 28 for reading and writing to removable magnetic disks 29, and an optical drive 30 for reading and writing to removable optical disks 31, such as a CD-ROM, DVD -ROM and other optical information carriers. The hard disk 27, the magnetic disk drive 28, the optical drive 30 are connected to the system bus 23 through the interface of the hard disk 32, the interface of the magnetic disks 33 and the interface of the optical drive 34, respectively. Drives and associated computer storage media are non-volatile means of storing computer instructions, data structures, software modules and other data of a personal computer 20.

Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.The present description discloses an implementation of a system that uses a hard disk 27, a removable magnetic disk 29, and a removable optical disk 31, but it should be understood that other types of computer storage media 56 that can store data in a form readable by a computer (solid state drives, flash memory cards, digital disks, random access memory (RAM), etc.) that are connected to the system bus 23 through the controller 55.

Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например колонками, принтером и т.п.Computer 20 has a file system 36 where the recorded operating system 35 is stored, as well as additional software applications 37, other program modules 38, and program data 39. The user is able to enter commands and information into personal computer 20 via input devices (keyboard 40, keypad “ the mouse "42). Other input devices (not displayed) can be used: microphone, joystick, game console, scanner, etc. Such input devices are, as usual, connected to the computer system 20 via a serial port 46, which in turn is connected to the system bus, but can be connected in another way, for example, using a parallel port, a game port, or a universal serial bus (USB). A monitor 47 or other type of display device is also connected to the system bus 23 via an interface such as a video adapter 48. In addition to the monitor 47, the personal computer may be equipped with other peripheral output devices (not displayed), such as speakers, a printer, and the like.

Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 6. В вычислительной сети могут присутствовать также и другие устройства, например маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.The personal computer 20 is capable of operating in a networked environment, using a network connection with another or more remote computers 49. The remote computer (or computers) 49 are the same personal computers or servers that have most or all of the elements mentioned earlier in the description of the creature the personal computer 20 of FIG. 6. Other devices, such as routers, network stations, peer-to-peer devices, or other network nodes may also be present on the computer network.

Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.Network connections can form a local area network (LAN) 50 and a wide area network (WAN). Such networks are used in corporate computer networks, internal networks of companies and, as a rule, have access to the Internet. In LAN or WAN networks, the personal computer 20 is connected to the local area network 50 via a network adapter or network interface 51. When using the networks, the personal computer 20 may use a modem 54 or other means of providing communication with a global computer network such as the Internet. The modem 54, which is an internal or external device, is connected to the system bus 23 via the serial port 46. It should be clarified that the network connections are only exemplary and are not required to display the exact network configuration, i.e. in reality, there are other ways to establish a technical connection between one computer and another.

В соответствии с описанием, компоненты, этапы исполнения, структура данных, описанные выше, могут быть выполнены, используя различные типы операционных систем, компьютерных платформ, программ.In accordance with the description, components, execution steps, data structure described above can be performed using various types of operating systems, computer platforms, programs.

В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.In conclusion, it should be noted that the information provided in the description are examples that do not limit the scope of the present invention defined by the claims.

Claims (18)

1. Способ антивирусной проверки в зависимости от уровня доверия сертификата открытого ключа цифровой подписи файла, в котором:
а) с помощью средства проверки получают идентификатор конечного сертификата;
б) с помощью средства проверки выстраивают цепочку сертификатов от конечного сертификата, определяемого полученным идентификатором сертификата, до корневого сертификата;
в) с помощью средства задания уровня доверия определяют с помощью базы данных доверенных сертификатов и в зависимости от цепочки сертификатов уровень доверия для конечного сертификата, при этом:
- используют уровень доверия из базы данных доверенных сертификатов, если он присутствует в упомянутой базе данных доверенных сертификатов для упомянутого конечного сертификата;
- последовательно проверяют промежуточные сертификаты цепочки сертификатов с использованием базы данных доверенных сертификатов, когда конечный сертификат отсутствует в базе данных доверенных сертификатов;
г) с помощью приложения проводят антивирусную проверку файла в зависимости от уровня доверия конечного сертификата, а также от правил проверки.
1. Method of anti-virus scan, depending on the level of trust of the certificate of the public key of a digital signature of the file, in which:
a) using the verification tool receive the identifier of the final certificate;
b) using the verification tool, they build a chain of certificates from the final certificate defined by the received certificate identifier to the root certificate;
c) using the means of setting the level of trust, determine the level of trust for the final certificate using a database of trusted certificates and, depending on the chain of certificates, in this case:
- use the level of trust from the trust certificate database if it is present in said trust certificate database for said final certificate;
- sequentially check the intermediate certificates of the certificate chain using the trust certificate database when the final certificate is not in the trust certificate database;
d) using the application, an anti-virus scan of the file is carried out depending on the level of trust of the final certificate, as well as on the verification rules.
2. Способ по п. 1, в котором идентификатором сертификата служит один из параметров:
- серийный номер;
- открытый ключ;
- хэш-сумма от открытого ключа сертификата;
- имя субъекта и издателя сертификата.
2. The method according to claim 1, wherein the certificate identifier is one of the parameters:
- serial number;
- public key;
- the hash amount from the public key of the certificate;
- name of the subject and publisher of the certificate.
3. Способ по п. 1, в котором уровень доверия принимает одно из значений:
- высокий, означающий, что файл является безопасным, дополнительная антивирусная проверка не проводится, при этом дополнительная антивирусная проверка включает по меньшей мере использование одного из:
- эвристических алгоритмов;
- облачных сервисов;
- эмуляции;
- средний, означающий, что будет проведена антивирусная проверка файла;
- низкий, означающий, что цифровая подпись владельца сертификата недействительна, будет проведена дополнительная антивирусная проверка файла.
3. The method according to p. 1, in which the level of trust takes one of the values:
- high, meaning that the file is safe, additional anti-virus scanning is not performed, while additional anti-virus scanning includes at least one of:
- heuristic algorithms;
- cloud services;
- emulations;
- medium, which means that an anti-virus scan of the file will be performed;
- low, which means that the digital signature of the certificate holder is invalid, an additional anti-virus check of the file will be carried out.
4. Способ по п. 3, в котором правила проверки включают по крайней мере следующие:
- когда конечный сертификат имеет высокий уровень доверия, файл считается легитимным и дальнейшая антивирусная проверка не требуется;
- когда конечный сертификат имеет средний уровень доверия, будет проведена дополнительная антивирусная проверка файла;
- когда конечный сертификат имеет низкий уровень доверия, будет выполнено одно из следующих действий:
- проведена дополнительная антивирусная проверка файла;
- запуск файла будет заблокирован.
4. The method of claim 3, wherein the verification rules include at least the following:
- when the final certificate has a high level of trust, the file is considered legitimate and further anti-virus scanning is not required;
- when the final certificate has an average level of trust, an additional anti-virus scan of the file will be carried out;
- when the final certificate has a low level of trust, one of the following actions will be performed:
- conducted an additional anti-virus file scan;
- the launch of the file will be blocked.
5. Способ по п. 1, в котором для конечного сертификата определяют низкий уровень доверия, когда по крайней мере один из промежуточных сертификатов содержится в базе данных доверенных сертификатов с низким уровнем доверия.5. The method according to claim 1, wherein a low level of trust is determined for the final certificate when at least one of the intermediate certificates is contained in the database of trusted certificates with a low level of trust. 6. Способ по п. 1, в котором для конечного сертификата определяют низкий уровень доверия, когда все сертификаты цепочки сертификатов отсутствуют в базе данных доверенных сертификатов.6. The method according to claim 1, wherein a low level of trust is determined for the final certificate when all certificates in the certificate chain are not in the trust certificate database. 7. Способ по п. 1, в котором для конечного сертификата определяют средний уровень доверия, когда выполняются следующие условия:
- по крайней мере один сертификат из цепочки сертификатов содержится в базе данных доверенных сертификатов;
- в цепочке сертификатов отсутствуют сертификаты с низким уровнем доверия.
7. The method according to p. 1, in which for the final certificate determine the average level of trust when the following conditions are true:
- at least one certificate from the certificate chain is contained in the trust certificate database;
- There are no certificates with a low level of trust in the certificate chain.
8. Способ по п. 1, в котором на шаге г) с помощью приложения проводят дополнительную антивирусную проверку файла в зависимости от содержимого полей сертификата.8. The method according to p. 1, in which, at step d) using the application, an additional anti-virus scan of the file is performed depending on the contents of the certificate fields. 9. Способ по п. 1, в котором с помощью приложения отправляют средству проверки конечный сертификат для выполнения дополнительной проверки конечного сертификата, когда конечный сертификат отсутствует в базе данных доверенных сертификатов.9. The method of claim 1, wherein the application sends the final certificate to the verification tool to perform additional verification of the final certificate when the final certificate is not in the trust certificate database. 10. Система антивирусной проверки в зависимости от уровня доверия сертификата открытого ключа цифровой подписи файла, содержащая:
а) средство проверки, предназначенное для:
- получения идентификатора конечного сертификата;
- выстраивания цепочки сертификатов от конечного сертификата, определяемого полученным идентификатором сертификата, до корневого сертификата;
- последовательной проверки промежуточных сертификатов цепочки сертификатов с использованием базы данных доверенных сертификатов, когда конечный сертификат отсутствует в базе данных доверенных сертификатов;
б) средство задания уровня доверия, предназначенное для определения с помощью базы данных доверенных сертификатов и в зависимости от цепочки сертификатов уровень доверия для конечного сертификата, при этом используют уровень доверия из базы данных доверенных сертификатов, если он присутствует в упомянутой базе данных доверенных сертификатов для упомянутого конечного сертификата;
в) приложение, предназначенное для проведения антивирусной проверки файла в зависимости от уровня доверия конечного сертификата, а также от правил проверки.
10. The anti-virus scan system, depending on the level of trust of the certificate of the public key of the digital signature of the file, containing:
a) a means of verification intended for:
- obtaining the identifier of the final certificate;
- building a chain of certificates from the final certificate, determined by the received certificate identifier, to the root certificate;
- sequential verification of intermediate certificates of the certificate chain using the trust certificate database when the final certificate is not in the trust certificate database;
b) means for setting the level of trust, intended to determine the level of trust for the final certificate using the database of trusted certificates, and the level of trust from the database of trusted certificates is used if it is present in the said trust database for the said final certificate;
c) an application designed for anti-virus scanning of a file depending on the level of trust of the final certificate, as well as on the verification rules.
11. Система по п. 10, в которой идентификатором сертификата служит один из параметров:
- серийный номер;
- открытый ключ;
- хэш-сумма от открытого ключа сертификата;
- имя субъекта и издателя сертификата.
11. The system of claim 10, wherein the certificate identifier is one of the parameters:
- serial number;
- public key;
- the hash amount from the public key of the certificate;
- name of the subject and publisher of the certificate.
12. Система по п. 10, в которой уровень доверия принимает одно из значений:
- высокий, означающий, что файл является безопасным, дополнительная антивирусная проверка не проводится, при этом дополнительная антивирусная проверка включает по меньшей мере использование одного из:
- эвристических алгоритмов;
- облачных сервисов;
- эмуляции;
- средний, означающий, что будет проведена антивирусная проверка файла;
- низкий, означающий, что цифровая подпись владельца сертификата недействительна, будет выполнено одно из следующих действий:
- проведена дополнительная антивирусная проверка файла с учетом того, что файл не был подписан ЭЦП владельца сертификата;
- запуск файла будет заблокирован.
12. The system of claim. 10, in which the level of trust takes one of the values:
- high, meaning that the file is safe, additional anti-virus scanning is not performed, while additional anti-virus scanning includes at least one of:
- heuristic algorithms;
- cloud services;
- emulations;
- medium, which means that an anti-virus scan of the file will be performed;
- low, meaning that the digital signature of the certificate holder is invalid, one of the following actions will be performed:
- an additional anti-virus scan of the file was carried out taking into account that the file was not signed by the EDS of the certificate holder;
- the launch of the file will be blocked.
13. Система по п. 12, в которой правила проверки включают по крайней мере следующие:
- когда конечный сертификат имеет высокий уровень доверия, файл считается легитимным и дальнейшая антивирусная проверка не требуется;
- когда конечный сертификат имеет средний уровень доверия, будет проведена дополнительная антивирусная проверка файла;
- когда конечный сертификат имеет низкий уровень доверия, будет выполнено одно из следующих действий:
- проведена дополнительная антивирусная проверка файла с учетом того, что файл не был подписан ЭЦП владельца сертификата;
- запуск файла будет заблокирован.
13. The system of claim 12, wherein the verification rules include at least the following:
- when the final certificate has a high level of trust, the file is considered legitimate and further anti-virus scanning is not required;
- when the final certificate has an average level of trust, an additional anti-virus scan of the file will be carried out;
- when the final certificate has a low level of trust, one of the following actions will be performed:
- an additional anti-virus scan of the file was carried out taking into account that the file was not signed by the EDS of the certificate holder;
- the launch of the file will be blocked.
14. Система по п. 10, в которой средство задания уровня доверия дополнительно предназначено для определения низкого уровня доверия для конечного сертификата, когда по крайней мере один из промежуточных сертификатов содержится в базе данных доверенных сертификатов с низким уровнем доверия.14. The system of claim 10, wherein the confidence level setting means is further adapted to determine a low level of trust for the final certificate when at least one of the intermediate certificates is contained in the low level trust certificate database. 15. Система по п. 10, в которой средство задания уровня доверия дополнительно предназначено для определения среднего уровня доверия для конечного сертификата, когда все сертификаты цепочки сертификатов отсутствуют в базе данных доверенных сертификатов.15. The system of claim 10, wherein the tool for setting the level of trust is additionally designed to determine the average level of trust for the final certificate when all certificates in the certificate chain are not in the trust certificate database. 16. Система по п. 10, в которой средство задания уровня доверия дополнительно предназначено для определения среднего уровня доверия для конечного сертификата, когда выполняются следующие условия:
- по крайней мере один сертификат из цепочки сертификатов содержится в базе данных доверенных сертификатов;
- в цепочке сертификатов отсутствуют сертификаты с низким уровнем доверия.
16. The system according to p. 10, in which the tool sets the level of trust is additionally designed to determine the average level of trust for the final certificate when the following conditions are true:
- at least one certificate from the certificate chain is contained in the trust certificate database;
- There are no certificates with a low level of trust in the certificate chain.
17. Система по п. 10, в которой приложение предназначено для проведения дополнительной антивирусной проверки файла в зависимости от содержимого полей сертификата.17. The system of claim 10, wherein the application is designed to conduct additional anti-virus scan of a file depending on the contents of the certificate fields. 18. Система по п. 10, в которой приложение дополнительно предназначено для отправки средству проверки конечного сертификата для выполнения дополнительной проверки конечного сертификата, когда конечный сертификат отсутствует в базе данных доверенных сертификатов. 18. The system of claim 10, wherein the application is further intended to be sent to the certificate verifier of the final certificate to perform additional verification of the final certificate when the final certificate is not in the database of trusted certificates.
RU2014141813/08A 2014-10-17 2014-10-17 System and method for antivirus scanning depending on certificate trust level RU2571382C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2014141813/08A RU2571382C1 (en) 2014-10-17 2014-10-17 System and method for antivirus scanning depending on certificate trust level

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2014141813/08A RU2571382C1 (en) 2014-10-17 2014-10-17 System and method for antivirus scanning depending on certificate trust level

Publications (1)

Publication Number Publication Date
RU2571382C1 true RU2571382C1 (en) 2015-12-20

Family

ID=54871341

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014141813/08A RU2571382C1 (en) 2014-10-17 2014-10-17 System and method for antivirus scanning depending on certificate trust level

Country Status (1)

Country Link
RU (1) RU2571382C1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2706873C1 (en) * 2018-12-28 2019-11-21 Акционерное общество "Лаборатория Касперского" System and method of checking file eds
US20200210624A1 (en) * 2018-12-28 2020-07-02 AO Kaspersky Lab System and method for attack resiliency in verifying digital signatures of files

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2008118893A (en) * 2005-11-14 2009-11-20 Майкрософт Корпорейшн (Us) DEFINITION SERVICE, DIGITAL CERTIFICATE WAS CANCELLATED
GB2495648A (en) * 2008-09-11 2013-04-17 F Secure Oyj Maintaining a database of trusted public keys in a plurality of computer devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2008118893A (en) * 2005-11-14 2009-11-20 Майкрософт Корпорейшн (Us) DEFINITION SERVICE, DIGITAL CERTIFICATE WAS CANCELLATED
GB2495648A (en) * 2008-09-11 2013-04-17 F Secure Oyj Maintaining a database of trusted public keys in a plurality of computer devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2706873C1 (en) * 2018-12-28 2019-11-21 Акционерное общество "Лаборатория Касперского" System and method of checking file eds
US20200210624A1 (en) * 2018-12-28 2020-07-02 AO Kaspersky Lab System and method for attack resiliency in verifying digital signatures of files

Similar Documents

Publication Publication Date Title
JP7201622B2 (en) Script-based blockchain interaction
US10452853B2 (en) Disarming malware in digitally signed content
US11496518B2 (en) System and method for distributed network access control
US10778444B2 (en) Devices and methods for application attestation
EP3029594B1 (en) System and method for antivirus checking of files based on level of trust of their digital certificates
EP3061027B1 (en) Verifying the security of a remote server
US11601268B2 (en) Device attestation including attestation-key modification following boot event
US9055052B2 (en) Method and system for improving storage security in a cloud computing environment
JP5497171B2 (en) System and method for providing a secure virtual machine
US11140150B2 (en) System and method for secure online authentication
US10171463B1 (en) Secure transport layer authentication of network traffic
US20060265446A1 (en) Dynamic executable
US20130081116A1 (en) Trusted internet identity
JP2009151751A (en) Method and system for creating and updating approved-file and trusted-domain database
US20180198620A1 (en) Systems and methods for assuring data on leased computing resources
RU2571381C1 (en) System and method to replenish data base of trusted certificates used during antivirus check
JP2008539482A (en) Method, system, and program product for connecting client to network
KR102107082B1 (en) A Method For Detecting Counterfeit application in Mobile Device Based On Blockchain
RU2571382C1 (en) System and method for antivirus scanning depending on certificate trust level
Song et al. Trustcube: An infrastructure that builds trust in client
RU2708353C1 (en) System and method of proofing against scanning of eds files
WO2020180365A1 (en) System and method of establishing a trusted relationship in a distributed system
CN114978544A (en) Access authentication method, device, system, electronic equipment and medium
Liu et al. Risk‐Based Dynamic Identity Authentication Method Based on the UCON Model
McLuskie et al. X. 509 certificate error testing