Способ эмуляции вызовов системных функций для обхода средств противодействия эмуляции

Изобретение относится к способам эмуляции вызовов системных функций для обхода средств противодействия эмуляции. Технический результат заключается в обеспечении возможности эмуляции вызовов системных функций. Результат достигается с помощью способа эмуляции вызовов системных функций для обхода средств противодействия эмуляции, при этом способ включает следующие этапы: получают исполняемый файл на вход эмулятора; проверяют условия требования эмуляции вызовов системных функций; при выполнении хотя бы одного вышеприведенного условия используют эмуляцию системных вызовов; эмулируют выполнение исполняемого файла согласно последовательному выполнению инструкций; при обнаружении вызова системной функции переключают процесс эмуляции на эмуляцию системных вызовов; производят эмуляцию вызова системной функции в виде цепочки низкоуровневых вызовов. 7 з.п. ф-лы, 6 ил., 1 табл.

 

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

Изобретение относится к антивирусным решениям, а более конкретно к способам эмуляции вызовов системных функций для обхода средств противодействия эмуляции.

Уровень техники

Код современных программ, в том числе вредоносных, представляет собой сложный набор инструкций: переходов, вызовов, циклов и т.д. Стоит отметить, что сложность исполняемых файлов постоянно увеличивается, что связано с ростом популярности языков программирования высокого уровня, а также усложнением компьютерной техники и операционных систем. Это относится как к доверенным приложениям, так и к вредоносным. Вредоносные приложения могут совершать ряд характерных действий, таких как кража паролей и других конфиденциальных данных пользователя, включение компьютера в бот-сеть для проведения DDoS-атак или рассылки спама, блокирование корректного функционирования системы с целью вымогательства и другие отрицательные и нежелательные с точки зрения пользователя действия.

Одним из методов исследования потенциально вредоносной программы является использование эмулятора, который применяется в антивирусном приложении при анализе поведения приложения. Существуют различные способы эмуляции. Одним из них является программная имитация процессора, памяти и других устройств путем создания виртуальных копий регистров процессора, памяти и набора инструкций процессора. Таким образом, инструкции программы исполняются не на реальном процессоре, а на его виртуальной копии, а вызовы системных API-функций эмулируют и отправляют в ответ проэмулированный результат работы функции.

Для противодействия эмуляции программного кода создатели вредоносных программ используют различные уловки, которые могут базироваться на ограничениях, связанных с процессом эмуляции и реализацией эмулятора в антивирусных решениях. Один из таких подходов заключается в том, чтобы добавить в код программы большое количество инструкций, которые не несут вредоносной составляющей, однако требуют времени для эмуляции. Учитывая тот факт, что время, отведенное на эмуляцию программного кода, является ограниченным, чтобы не вызывать недовольство пользователя (как правило, это время может составлять несколько секунд), то процесс эмуляции может остановиться до начала выполнения по-настоящему вредоносного кода. Один из методов борьбы с таким подходом противодействия эмуляции описан в патенте US7603713, способ работы которого включает выполнение ряда инструкций на реальном процессоре, что существенно ускоряет процесс эмуляции неизвестных приложений для того, чтобы можно было добраться до самого вредоносного кода. Другой подход, раскрытый в заявке US20110225655, рассматривает вариант определения приложения как подозрительного, если оно противодействует эмуляции. Подобный подход основан на том, что безопасное (легитимное) приложение, как правило, показывает предупреждение о невозможности выполнения в эмуляторе, вредоносное спокойно завершает выполнение или резко меняет вектор (логику) выполнения.

Другой способ противодействия эмуляции основан на определении того факта, что приложение на данный момент запущено именно в эмуляторе, а не в реальной операционной системе. Стоит отметить, что эмулятор создает виртуальную копию процессора, компонентов компьютера и операционной системы (ОС) лишь в ограниченном объеме с усеченными возможностями, так как полное воссоздание всех возможностей того же процессора или системных API-функций невозможно по ряду причин: большие трудозатраты на подобную разработку, наличие недокументированных функций, большое падение производительности при работе подобного эмулятора. Таким образом, создатели вредоносных программ могут прибегать к следующим приемам, которые позволяют обнаружить факт выполнения в эмулируемой среде:

- Вызов недокументированной или редко используемой API-функции.

- Выполнение ряда инструкций центрального процессора с последующей проверкой, например, ряда установленных флагов. При недостаточно точной эмуляции команд процессора ряд флагов может иметь отличные значения от тех, что были бы установлены при выполнении на процессоре.

- Проверка корректности выполнения API функции. Проверка может быть очень усложненной и включать анализ возвращаемых кодов ошибки при некорректном вызове или проверку установленных регистров процессора.

- Поиск в памяти определенных байт. Например, побайтовый поиск заголовка MZ в памяти после загрузки kernel32.dll при старте процесса. В ОС Vista 64 для kernel32.dll используется 64Кб выравнивание, и область между заголовком и первой секцией не будет отображена в адресное пространство процесса, и при попытке доступа к ней произойдет исключение. Если исключение не было зарегистрировано, то будет вызван стандартный обработчик исключений ОС, который завершит процесс.

Последний подход используется повсеместно, так как позволяет постоянно обходить существующие эмуляторы, имплементировать корректную эмуляцию каждой API функции невозможно по описанным выше причинам.

Анализ предшествующего уровня техники и возможностей, которые появляются при комбинировании их в одной системе, позволяют получить новый результат, а повышение качества обнаружения вредоносных приложений с использованием способа эмуляции вызовов системных функций для обхода средств противодействия эмуляции.

Сущность изобретения

Технический результат настоящего изобретения заключается в обеспечении возможности эмуляции вызовов системных функций.

Согласно одному из вариантов реализации предоставляется способ эмуляции вызовов системных функций для обхода средств противодействия эмуляции, в котором: получают исполняемый файл на вход эмулятора; проверяют условие требования эмуляции вызовов системных функций; при выполнении хотя бы одного вышеприведенного условия используют эмуляцию системных вызовов; эмулируют выполнение исполняемого файла согласно последовательному выполнению инструкций; при обнаружении вызова системной функции переключают процесс эмуляции на эмуляцию системных вызовов; производят эмуляцию вызова системной функции в виде цепочки низкоуровневых вызовов.

Согласно одному из частных вариантов реализации условием требования эмуляции вызовов системных функций является быстрое завершение эмуляции исполняемого файла.

Согласно другому частному варианту реализации условием требования эмуляции вызовов системных функций является отсутствие ограничения на время эмуляции.

Согласно еще одному из частных вариантов реализации условием требования эмуляции вызовов системных функций является отсутствие информации по неизвестному файла со стороны антивирусного приложения.

Согласно одному из частных вариантов реализации последовательным выполнением инструкций является по меньшей мере выполнение всех переходов, как условных, так и безусловных, а также вызов различных функций внутри исполняемого файла.

Согласно другому частному варианту реализации низкоуровневым вызовом является инструкция на языке ассемблера.

Согласно еще одному из частных вариантов реализации низкоуровневым вызовом является последовательный вызов всех связанных системных функций.

Согласно одному из частных вариантов реализации заканчивают эмуляцию вызова системной функции при переходе в режим ядра.

Краткое описание чертежей

Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:

Фиг.1 иллюстрирует пример работы классического эмулятора при обработке вызов API-функции.

Фиг.2 показывает пример выполнения API-функции в операционной среде Windows.

Фиг.3 иллюстрирует способ эмуляции вызовов API-функций в рамках настоящего изобретения.

Фиг.4 показывает систему, в рамках которой может быть реализовано настоящее изобретение.

Фиг.5 иллюстрирует способ реализации настоящего изобретения.

Фиг.6 представляет пример компьютерной системы общего назначения, на которой может быть реализовано настоящее изобретение.

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

Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется только в объеме приложенной формулы.

Фиг.1 иллюстрирует пример работы классического эмулятора при обработке вызов API-функции. Когда при работе приложения в реальной ОС происходит вызов API-функции, ОС производит большое количество действий, что связано со сложной внутренней архитектурой ОС. Схематически вызов API-функции приводит к выполнению большого количества инструкций на процессоре, после чего приложению возвращается результат работы вызванной API-функции. При работе эмулятора вызов API-функции не приводит к такому же выполнению ряда инструкции, что и в реальной ОС, а вместо этого приложению возвращается сэмулированный результат работы API функции. Например, при попытке создать файл эмулятор вернет указатель на виртуальный файл. Однако несмотря на общий результат работы (например, возврат указателя на файл) результат работы вызванной API-функции может отличаться в ОС и эмуляторе, что связано с тем, что при вызове API-функции могут быть изменены, например, некоторые из регистров процессора, что не будет отражено при работе эмулятора. Данное расхождение может быть использовано для противодействия эмуляции и в первую очередь - вредоносными программами.

Фиг.2 показывает пример выполнения API-функции в операционной системе Windows. В качестве примера API-функции была выбрана WriteFile. На этапе 210 Windows приложение (например, Microsoft Word или Notepad) пытается записать данные в файл путем вызова соответствующей Win32 API функции WriteFile в Kernel32.dll. Затем на этапе 220 происходит вызов NtWriteFile в Ntdll.dll (т.е. происходит последовательный вызов всех связанных системных функций), что в свою очередь приводит к вызову системного прерывания на этапе 230 и поиску соответствующего обработчика (что делает функция KiSystemService в Ntoskrnl.dll) при вызове NtWriteFile. Отметим, что данный процесс происходит в режиме пользователя, а после вызова прерывания происходит переход в режим ядра. На этапе 240 происходит вызов NtWriteFile уже непосредственно в Ntoskrnl.dll и непосредственно выполнение записи в файл на этапе 250 (здесь также скрыты детали, связанные с работой драйвера файловой системы). Исходя из этого становится понятно, что при вызове даже одной API функции в современных ОС происходит большое количество операций (т.е. более низкоуровневых событий в рамках рассмотрения самой структуры ОС), в том числе и переход выполнения приложения из режима пользователя в режим ядра. При рассмотрении этих операций с точки зрения исполнения инструкций на языке ассемблера становится ясно, что корректно проэмулировать вызов API-функции очень тяжело ввиду необходимости учета состояния всех регистров процессора и состояния всех внутренних структур ОС.

Как уже отмечалось, создатели вредоносных программ могут использовать различные варианты проверки корректности выполнения API-функции, в том числе и с помощью проверки регистров центрального процессора для определения факта работы приложения в эмуляторе. Таким образом, для того чтобы обойти (а точнее - пройти) подобную проверку, в данном изобретении предлагается способ выполнения всех вызываемых функций по инструкциям машинного кода.

Фиг.3 иллюстрирует способ эмуляции вызовов API-функций в рамках настоящего изобретения. На этапе 310 происходит классическая эмуляция приложения, как, например, в случае эмуляции приложения Notepad (приведен небольшой фрагмент кода приложения при его отладке в отладчике OllyDbg):

Таблица 1

Такие инструкции, как MOV, PUSH, SUB, LEA и подобные будут эмулироваться как есть, т.е. путем эмуляции ассемблерных инструкций с помощью виртуального процессора в эмуляторе. Как только происходит вызов API функции (что определяется на этапе 320), такой как

то эмуляция подобного вызова будет происходить по машинным инструкциям (этап 330) с учетом всех вложенных вызовов, как представлено, например, на Фиг.2. При достижении перехода в режим ядра при выполнении API-функции, что будет проверено на этапе 340, эмуляция будет переведена в стандартный (обычный, классический) режим, т.е. дальнейшие вызовы не будут обработаны последовательно по каждой инструкции, а лишь будет возвращен результат вызова функции. После этого способ возвращается с этапа 350 на этап 310 для дальнейшей эмуляции.

Фиг.4 показывает систему, в рамках которой может быть реализовано настоящее изобретение. Допустим, на компьютере пользователя имеется неизвестный исполняемый файл 410, который следует проэмулировать для определения факта его возможной вредоносности. Следует уточнить, что под исполняемым файлом следует понимать не только исполняемые файлы, имеющие РЕ или ELF формат, но также и другие файлы, содержащие различный код, такие как файлы .class или .jar (для выполнения в виртуальной машине Java), различные файлы сценариев, такие как .vbs и многие другие. Сам файл 410 содержит инструкции 420, последовательная эмуляция которых воспроизводит выполнение файла 410. Отметим, что последовательная эмуляция подразумевает в том числе и выполнение всех переходов как условных, так и безусловных, а также вызов различных функций внутри исполняемого файла 410. При последовательной эмуляции каждая инструкция 420 попадает на вход модуля разбора инструкций 430 внутри эмулятора 405, при этом данный модуль определяет, является ли инструкция вызовом системной API-функции и в случае положительного ответа эмулятор 405 производит эмуляцию вызова данной функции (отображено как 450) в виде цепочки более низкоуровневых событий, таких какие показаны, например, на Фиг.2 (т.е. этапы 210-230 на Фиг.2 до перехода в режим ядра). В противном случае эмулятор 405 эмулирует ее исполнение в рамках классической эмуляции (отображено как 440), т.е. возвращает проэмулированный результат работы функции (т.е. без эмуляции всех этапов отмеченных на Фиг.2). В некоторых случаях инструкция вызова API-функции может быть проэмулирована, так же, как это бы сделано в случае классической эмуляции 440. Например, функция URLDownloadToFile в низкоуровневом представлении содержит сложную цепочку обращений к драйверу TCP/IP, и последовательная эмуляция подобной цепочки может быть нецелесообразна. В одном из вариантов реализации целесообразность использования эмуляции системных вызовов определяет модуль разбора инструкций 430, например, на основании известной информации о скорости проведения эмуляции тех или иных вызовов.

Фиг.5 иллюстрирует способ реализации настоящего изобретения. На этапе 510 происходит попытка эмуляции исполняемого файла 410 на компьютере пользователя. На этапе 520 проверяется, требуется ли выполнение эмуляции системных API-функций.

Требования для эмуляции системных функций:

- Первоначальная эмуляция завершилась очень быстро и без оповещения пользователя. Это, как правило, означает, что приложение определяет факт работы в эмуляторе, при этом не оповещая об этом пользователя, что обычно делают опасные программы.

- Требуется провести более глубокую эмуляцию исполняемого файла 410. Это происходит в том случае, если исполняемый файл 410 не встречался ранее, что означает отсутствие информации по неизвестному файлу со стороны антивирусного приложения, в рамках которого работает эмулятор (т.е. не классифицирован и не находится в базах антивирусного приложения как вредоносное или безопасное приложение).

- Классическим эмулятором обнаружены методы противодействия эмуляции, такие как: вызовы API-функций с заведомо неверными параметрами с последующей проверкой статуса (кода) ошибки, проверка волатильных регистров после вызова API-функций, сканирование содержимого системных модулей, попытки обнаружить в системе отладчик, а также вызовы стандартных методов обнаружения исполнения под виртуальной машиной (RedPill).

- Обнаружение применения приемов самораспаковки или самозащиты (пакеры и протекторы).

- Необходимость эмуляции потенциально вредоносного приложения в составе ОС пользователя со всеми присутствующими библиотеками и интерпретаторами (например, .NET или Java). Также предложенный способ эмуляции позволяет производить эмуляцию пакетных и управляющих файлов, таких как пакетный файл (batch file) с расширением .bat или .cmd, powershell-сценариев, reg-файлов для внесения данных в реестр и других типов файлов, запуск которых приводит к исполнению кода на компьютере пользователя.

- Время на эмуляцию не ограничено жесткими рамками, например может составлять десятки секунд или даже нескольких минут и более, что характерно при первом анализе приложения.

Выполнение хотя бы одного из подобных требований приводит к эмуляции системных вызовов 450 на этапе 530 для эмуляции API-функций по машинным инструкциям, как это показано на Фиг.4. В ином случае на этапе 540 происходит использование лишь классической эмуляции 440. Использование подобных требований позволяет более гибко подходить к процессу эмуляции в рамках антивирусного приложения, не вызывая недовольства пользователя, что связано с дополнительной нагрузкой из-за необходимости эмулировать API-функции по машинным инструкциям.

Фиг.6 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.

Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.

Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш-карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.

Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47 персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например колонками, принтером и т.п.

Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг.6. В вычислительной сети могут присутствовать также и другие устройства, например маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.

Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.

В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.

1. Способ эмуляции вызовов системных функций для обхода средств противодействия эмуляции, в котором:
а) получают исполняемый файл на вход эмулятора;
б) проверяют условия требования эмуляции вызовов системных функций;
в) при выполнении хотя бы одного вышеприведенного условия используют эмуляцию системных вызовов;
г) эмулируют выполнение исполняемого файла согласно последовательному выполнению инструкций;
д) при обнаружении вызова системной функции переключают процесс эмуляции на эмуляцию системных вызовов;
е) производят эмуляцию вызова системной функции в виде цепочки низкоуровневых вызовов.

2. Способ по п.1, в котором условием требования эмуляции вызовов системных функций является быстрое завершение эмуляции исполняемого файла.

3. Способ по п.1, в котором условием требования эмуляции вызовов системных функций является отсутствие ограничения на время эмуляции.

4. Способ по п.1, в котором условием требования эмуляции вызовов системных функций является отсутствие информации по неизвестному файла со стороны антивирусного приложения.

5. Способ по п.1, в котором последовательным выполнением инструкций является по меньшей мере выполнение всех переходов, как условных, так и безусловных, а также вызов различных функций внутри исполняемого файла.

6. Способ по п.1, в котором низкоуровневым вызовом является инструкция на языке ассемблера.

7. Способ по п.1, в котором низкоуровневым вызовом является последовательный вызов всех связанных системных функций.

8. Способ по п.1, в котором заканчивают эмуляцию вызова системной функции при переходе в режим ядра.



 

Похожие патенты:

Изобретение относится к вычислительной технике. Технический результат заключается в повышении качества обнаружения вредоносного программного обеспечения.

Изобретение относится к средствам создания правил фильтраций незначительных событий для анализа протоколов событий. Технический результат заключается в уменьшении ложных срабатываний при выявления вредоносных объектов.

Изобретение относится к средствам проверки сертификатов открытого ключа. Технический результат заключается в уменьшении вероятности несанкционированного доступа.

Изобретение относится к области автоматической настройки средств безопасности во время исполнения прикладных программ. Техническим результатом является сокращение потребляемых средством безопасности вычислительных ресурсов во время исполнения прикладной программы без потери качества обеспечения безопасности.

Изобретение относится к области систем обработки данных, имеющих множество аппаратных режимов работы, а также к управлению доступом к памяти в зависимости от текущего аппаратного режима.

Изобретение относится к области доступа абонентов традиционной стационарной сети к домену мультимедийной подсистемы на базе протоколов Интернета (IMS). Техническим результатом является уменьшение трафика в сети.

Изобретение относится к системам и способам для безопасной привязки (или сопряжения) портативных электронных устройств к одному или более вычислительным устройствам.

Изобретение относится к устройству связи и способу связи. Технический результат заключается в осуществлении вызова команд между операционными системами без снижения уровня безопасности операционных систем.

Изобретение относится к системам и способам фильтрации сообщений на основе отчетов пользователей. Технический результат настоящего изобретения заключается в идентификации сообщений, относящихся к различным категориям, таким как, например, категория сообщений, содержащих спам, на основе отчетов пользователей.

Изобретение относится к сенсорным устройствам. Технический результат заключается в уменьшении вероятности несанкционированного доступа.

Изобретение касается системы, предназначенной для управления правами доступа пользователя к информации, связанной с полетом и безопасностью летательного аппарата. Технический результат заключается в обеспечении идентификации пользователей, получавших доступ к указанной информации. Предложены система управления правами доступа к бортовым прикладным программам и данным и способ, применяемый этой системой, а также летательный аппарат, содержащий эту систему. Система управления правами доступа к бортовой информации пользователя, находящегося на борту летательного аппарата, содержит, по меньшей мере, одно устройство (10) идентификации, выполненное с возможностью считывания информации о личности пользователя, содержащейся в его персональной карточке, и бортовой вычислитель (1), содержащий средства (11) управления правами доступа, выполненные с возможностью аутентификации пользователя и определения прав доступа к бортовой информации в зависимости от личности пользователя. 3 н. и 7 з.п. ф-лы, 2 ил.

Изобретение относится к устройству и способу обработки информации и носителю записи с программой для управления устройством обработки информации. Технический результат заключается в повышении быстродействия обработки данных. Устройство выполнено с возможностью считывать программу приложения с носителя записи, на котором записаны программа приложения, служащая в качестве контента, первый корневой сертификат, выпущенный к программе приложения, и второй корневой сертификат, выпущенный до выпуска первого корневого сертификата к программе приложения, и выполнять программу приложения, при этом устройство обработки информации содержит: средство формирования для формирования в запоминающем устройстве первой папки для хранения данных, подлежащих обработке программой приложения, причем первая папка связана с первым корневым сертификатом; и средство копирования для копирования в первую папку данных, содержащихся во второй папке, причем вторая папка связана со вторым корневым сертификатом в случае, когда вторая папка имеется в запоминающем устройстве. 3 н. и 7 з.п. ф-лы, 19 ил.

Изобретение относится к распространению криптографического секретного ключа между передающей и принимающей сторонами. Технический результат заключается в возможности автоматического регулирования защиты и времени ожидания генерации криптографического секретного ключа за счет установки числа итераций, на основании которого управляют числом сообщений, обмен которыми должен быть выполнен в течение генерации криптографического секретного ключа. Устройство для приема и передачи данных защищенным образом содержит контроллер генерации ключа и блок предоставления числа итераций. 4 н. и 7 з.п. ф-лы, 17 ил.

Изобретение относится к устройству для отправки изображений, требующему аутентификации для использования данного устройства и обеспечиваемой в нем функции. Техническим результатом является обеспечение возможности установки наследования информации аутентификации для отправки изображений и отображения экрана для ввода информации аутентификации в соответствии со способом установки пункта назначения. Для этого в устройстве для отправки изображений выполняют обработку для первой аутентификации для аутентификации пользователя, сохраняют информацию аутентификации, используемую в случае, когда выполняется обработка для первой аутентификации, и устанавливают пункт назначения, к которому средство отправки отправляет данные изображения, посредством множества видов способов установки пункта назначения. Затем выполняют обработку для второй аутентификации, требуемой для средства отправки для отправки данных изображения к установленному пункту назначения, и определяют, использовать ли информацию аутентификации, сохраненную в средстве хранения информации, когда выполняется обработка для второй аутентификации, на основе способа установки пункта назначения. 3 н. и 5 з.п. ф-лы, 17 ил.

Изобретение относится к беспроводной связи, а именно к способу для безопасной передачи клиента управления доступом. Техническим результатом является повышение безопасности. Способ содержит запрос пользовательского клиента управления доступом из беспроводной сети, при этом запрос связан с первым подтверждающим сертификатом; прием пользовательского клиента управления доступом и второго подтверждающего сертификата, при этом первый и второй подтверждающий сертификаты выданы доверенной структурой; и сохранение пользовательского клиента управления доступом в безопасном элементе, если второй подтверждающий сертификат действителен; причем пользовательский клиент управления доступом сохраняют в индивидуальном сегменте из числа множества сегментов, из которых состоит безопасный элемент, и последующие модификации сохраненного пользовательского клиента управления доступом могут быть выполнены только с использованием второго подтверждающего сертификата; а доступ к беспроводной сети ограничен (i) доступом посредством пользовательского клиента управления доступом и (ii) запросами пользовательских клиентов управления доступом. 3 н. и 19 з.п. ф-лы, 8 ил.
Изобретение относится к вычислительной технике и электросвязи, предназначено для решения задач защиты компьютерной информации. Техническим результатом изобретения является повышение быстродействия за счет увеличения степени параллелизма. Способ выполнения трех раундов преобразования осуществляется вдоль осей х, у, z. В первом раунде выполняют N двухмерных преобразований замены слоев L x0, L x1, ..., L x(N-1) ; во втором раунде выполняют N двухмерных преобразований замены слоев L y0 , L y1 , ..., Ly (N-1); в третьем раунде выполняют N двухмерных преобразований замены слоев L z0, L z1, ..., L z(N-1) . 5 ил., 1 табл.

Изобретение относится к средствам управления результатами измерений. Технический результат заключается в уменьшении времени обработки информации. Обеспечивают передачу устройством измерения биологической информации, касающейся аутентификации, относящейся к аутентификации устройства измерения биологической информации. Обеспечивают определение устройством измерения биологической информации необходимости выполнения аутентификации. Обеспечивают прием управляющим устройством как информации, касающейся аутентификации, относящейся к аутентификации, так и биологической информации из устройства измерения биологической информации. Обеспечивают выполнение аутентификации управляющим устройством на основании информации, касающейся аутентификации. Сохраняют биологическую информацию, полученную средством связи, в запоминающем средстве, независимо от того, является положительным или отрицательным результат аутентификации средства аутентификации. Передают легитимную аутентификационную информацию средством связи, если средством определения необходимости выполнения аутентификации определено, что выполнение аутентификации необходимо, и передают фиктивную информацию средством связи, если определено, что выполнение аутентификации не требуется. 3 н. и 2 з.п. ф-лы, 10 ил.

Изобретение относится к средствам обеспечения безопасности электронных сетевых транзакций. Техническим результатом является повышение безопасности электронных транзакций через Интернет. Выполняют процедуру усиленной (многофакторной) аутентификации клиентов и серверов, процедуры хеширования, подписывания электронной подписью и проверки электронной подписи клиентов и серверов. Выполняют процесс сканирования программной среды клиентов, после чего принимают решения о критичности или не критичности обнаруженных у клиентов системы уязвимостей программной среды. В процессе взаимодействия участников производят архивирование копий решений клиентов и серверов, подписанных их электронными подписями, о продолжении или закрытии сеансов работы клиентов с серверами. 2 н. и 6 з.п. ф-лы, 1 ил.

Изобретение относится к способу и устройству выполнения криптографического преобразования в электронном компоненте. Технический результат заключается в повышении безопасности установки соединений с аутентификацией пароля за счет повышения эффективности выполнения криптографического преобразования. В способе выполняют получение точки P(X,Y) исходя из параметра t на эллиптической кривой, удовлетворяющей выражению Y2=f(X), и исходя из многочленов X1(t), X2(t), Х3(t) и U(t), удовлетворяющих равенству f(X1(t)).f(X2(t)).f(X3(t))=U(t)2 в Fq, при этом q=3 mod 4, далее получают значение параметра t и определяют точку Р путем выполнения подэтапов, на которых (i) вычисляют Х1=X1(t), X2=X2(t), Х3=Х3(t) и U=U(t), (ii) если элемент f(X1).f(X2) является квадратом, то проверяют, является ли элемент f(X3) квадратом в Fq, и если является, то вычисляют квадратный корень из элемента f(X3), чтобы получить точку Р(Х3), (iii) иначе проверяют, является ли элемент f(X1) квадратом, и если является, вычисляют квадратный корень из f(X1), чтобы получить точку P(X1), (iv) иначе вычисляют квадратный корень элемента f(X2), чтобы получить точку P(X2), и далее эту точку Р используют в криптографическом приложении. 2 н. и 6 з.п. ф-лы, 3 ил.

Группа изобретений относится к средствам контроля по меньшей мере одного процесса, происходящего в системе, связанной с безопасностью. Технический результат заключается в обеспечении возможности гибкой и обобщенной сертификации связанных с безопасностью систем. Для этого предложен способ контроля связанной с безопасностью системы посредством устройства контроля, обеспеченного для контроля связанной с безопасностью системы, в котором осуществляется: выбор первого процесса из множества процессов, исполняемых на устройстве контроля, формирование вызова первым процессом; передачу вызова к устройству, формирующему по меньшей мере часть связанной с безопасностью системы; выбор второго процесса из множества процессов, исполняемых на связанной с безопасностью системе; вычисление, посредством второго процесса, результата обработки путем применения по меньшей мере одной предварительно определенной функции к вызову; передача, вторым процессом, результата обработки в первый процесс; проверку, первым процессом, результата обработки, вычисленного вторым процессом, с результатом обработки, вычисленным первым процессом, причем результат обработки, вычисленный первым процессом, применяет ту же самую по меньшей мере одну предопределенную функцию; и оценивание связанной с безопасностью системы как находящейся в безопасном состоянии, если результат обработки, вычисленный первым процессом, и результат обработки, вычисленный вторым процессом, согласуются. 3 н. и 8 з.п. ф-лы, 2 ил.

Изобретение относится к способам эмуляции вызовов системных функций для обхода средств противодействия эмуляции. Технический результат заключается в обеспечении возможности эмуляции вызовов системных функций. Результат достигается с помощью способа эмуляции вызовов системных функций для обхода средств противодействия эмуляции, при этом способ включает следующие этапы: получают исполняемый файл на вход эмулятора; проверяют условия требования эмуляции вызовов системных функций; при выполнении хотя бы одного вышеприведенного условия используют эмуляцию системных вызовов; эмулируют выполнение исполняемого файла согласно последовательному выполнению инструкций; при обнаружении вызова системной функции переключают процесс эмуляции на эмуляцию системных вызовов; производят эмуляцию вызова системной функции в виде цепочки низкоуровневых вызовов. 7 з.п. ф-лы, 6 ил., 1 табл.

Наверх