RU2013147291A - Система и способ сохранения состояния эмулятора и его последующего восстановления - Google Patents
Система и способ сохранения состояния эмулятора и его последующего восстановления Download PDFInfo
- Publication number
- RU2013147291A RU2013147291A RU2013147291/08A RU2013147291A RU2013147291A RU 2013147291 A RU2013147291 A RU 2013147291A RU 2013147291/08 A RU2013147291/08 A RU 2013147291/08A RU 2013147291 A RU2013147291 A RU 2013147291A RU 2013147291 A RU2013147291 A RU 2013147291A
- Authority
- RU
- Russia
- Prior art keywords
- emulation
- file
- emulator
- images
- necessary
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/567—Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
1. Способ для эмуляции файлов, содержащий этапы на которых:а) получают файл на эмуляцию;б) проверяют, выполняется ли эмуляция в первый раз;в) определяют образ состояния эмулятора, который загружается в эмулятор для последующей эмуляции файла;г) производят эмуляцию файла;д) создают образы состояния эмулятора;е) проверяют некорректное завершение эмуляции файла;ж) выбирают необходимый образ для продолжения эмуляции в случае некорректного завершения эмуляции файла;з) загружают выбранный образ для продолжения эмуляции файла.2. Способ по п.1, в котором получают файл на эмуляцию по крайней мере в одном из следующих случаев:- файл является неизвестным и требуется провести его эмуляцию для определения его возможной вредоносности;- эмуляция необходима для определения всех возможных кодов ошибок;- эмуляция необходима для исследования функционала приложения, когда необходимо определить, какие используются системные вызовы, список необходимых сторонних библиотек.3. Способ по п.1, в котором необходимым условием создания новых образов состояния эмулятора является, по меньшей мере, одно из следующих условий:- ветвление в коде;- применение антиэмуляционного приема;- эмуляция определенного количества инструкций;- периодическое создание образов через заданные промежутки времени.4. Способ по п.1, в котором некорректное завершение эмуляции файла может быть, по меньшей мере, одним из:- слишком быстрое завершение эмулируемого процесса;- отсутствие необходимых библиотек;- необработанное исключение.5. Способ по п.1, в котором образы состояния эмулятора создаются в виде древовидной структуры, при этом переходы между образами строятся �
Claims (14)
1. Способ для эмуляции файлов, содержащий этапы на которых:
а) получают файл на эмуляцию;
б) проверяют, выполняется ли эмуляция в первый раз;
в) определяют образ состояния эмулятора, который загружается в эмулятор для последующей эмуляции файла;
г) производят эмуляцию файла;
д) создают образы состояния эмулятора;
е) проверяют некорректное завершение эмуляции файла;
ж) выбирают необходимый образ для продолжения эмуляции в случае некорректного завершения эмуляции файла;
з) загружают выбранный образ для продолжения эмуляции файла.
2. Способ по п.1, в котором получают файл на эмуляцию по крайней мере в одном из следующих случаев:
- файл является неизвестным и требуется провести его эмуляцию для определения его возможной вредоносности;
- эмуляция необходима для определения всех возможных кодов ошибок;
- эмуляция необходима для исследования функционала приложения, когда необходимо определить, какие используются системные вызовы, список необходимых сторонних библиотек.
3. Способ по п.1, в котором необходимым условием создания новых образов состояния эмулятора является, по меньшей мере, одно из следующих условий:
- ветвление в коде;
- применение антиэмуляционного приема;
- эмуляция определенного количества инструкций;
- периодическое создание образов через заданные промежутки времени.
4. Способ по п.1, в котором некорректное завершение эмуляции файла может быть, по меньшей мере, одним из:
- слишком быстрое завершение эмулируемого процесса;
- отсутствие необходимых библиотек;
- необработанное исключение.
5. Способ по п.1, в котором образы состояния эмулятора создаются в виде древовидной структуры, при этом переходы между образами строятся на основании условий созданий новых образов состояния эмулятора.
6. Способ по п.1, в котором загружают выбранный образ для продолжения эмуляции файла с изменениям состояния эмулятора.
7. Способ по п.6, в котором изменением состояния эмулятора может быть, по меньшей мере, одно из:
- переход в другую ветку кода при условном переходе;
- изменение статуса описателей ресурсов;
- откат сделанных ранее изменений;
- изменение значения выполненной функции.
8. Система для эмуляции файлов, содержащая средства:
а) эмулятор, связанный со средство загрузки образов и средством создания образов, при этом эмулятор предназначен для получения файла, последующей эмуляции файла и проверки некорректного завершения эмуляции файла;
б) средство загрузки образов, связанное с базой данных образов, при этом средство загрузки образов предназначено для определения и загрузки образа состояния эмулятора, который загружается в эмулятор для последующей эмуляции файла, в том числе и при некорректном завершении эмуляции файла;
в) средство создания образов, связанное с базой данных образов, при этом средство создания образов предназначено для создания образов состояния эмулятора;
г) база данных образов, предназначенная для хранения образов состояния эмулятора.
9. Система по п.8, в которой эмулятор получает файл на эмуляцию по крайней мере в одном из следующих случаев:
- файл является неизвестным и требуется провести его эмуляцию для определения его возможной вредоносности;
- эмуляция необходима для определения всех возможных кодов ошибок;
- эмуляция необходима для исследования функционала приложения, когда необходимо определить, какие используются системные вызовы, список необходимых сторонних библиотек.
10. Система по п.8, в которой необходимыми условиями создания новых образов состояния эмулятора является по меньшей мере одно из следующих условий:
- ветвление в коде;
- применение антиэмуляционного приема;
- эмуляция определенного количества инструкций;
- периодическое создание образов через заданные промежутки времени.
11. Система по п.8, в которой некорректное завершение эмуляции файла может быть по меньшей мере одним из:
- слишком быстрое завершение эмулируемого процесса;
- отсутствие необходимых библиотек;
- необработанное исключение.
12. Система по п.8, в которой образы состояния эмулятора создаются в виде древовидной структуры, при этом переходы между образами строятся на основании условий созданий новых образов состояния эмулятора.
13. Система по п.8, в которой загружают выбранный образ для продолжения эмуляции файла с изменениям состояния эмулятора.
14. Система по п.13, в которой изменением состояния эмулятора может быть по меньшей мере одно из:
- переход в другую ветку кода при условном переходе;
- изменение статуса описателей ресурсов;
- откат сделанных ранее изменений;
- изменение значения выполненной функции.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2013147291/08A RU2553056C2 (ru) | 2013-10-24 | 2013-10-24 | Система и способ сохранения состояния эмулятора и его последующего восстановления |
US14/221,488 US9111096B2 (en) | 2013-10-24 | 2014-03-21 | System and method for preserving and subsequently restoring emulator state |
DE202014011116.2U DE202014011116U1 (de) | 2013-10-24 | 2014-04-03 | System zum Bewahren und nachfolgenden Wiederherstellen eines Emulatorzustands |
EP20140163292 EP2866167A1 (en) | 2013-10-24 | 2014-04-03 | System and method for preserving and subsequently restoring emulator state |
US14/748,418 US9740864B2 (en) | 2013-10-24 | 2015-06-24 | System and method for emulation of files using multiple images of the emulator state |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2013147291/08A RU2553056C2 (ru) | 2013-10-24 | 2013-10-24 | Система и способ сохранения состояния эмулятора и его последующего восстановления |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2013147291A true RU2013147291A (ru) | 2015-04-27 |
RU2553056C2 RU2553056C2 (ru) | 2015-06-10 |
Family
ID=52997074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2013147291/08A RU2553056C2 (ru) | 2013-10-24 | 2013-10-24 | Система и способ сохранения состояния эмулятора и его последующего восстановления |
Country Status (3)
Country | Link |
---|---|
US (2) | US9111096B2 (ru) |
DE (1) | DE202014011116U1 (ru) |
RU (1) | RU2553056C2 (ru) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2553056C2 (ru) * | 2013-10-24 | 2015-06-10 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ сохранения состояния эмулятора и его последующего восстановления |
WO2016203759A1 (ja) * | 2015-06-16 | 2016-12-22 | 日本電気株式会社 | 分析システム、分析方法、分析装置及び、コンピュータ・プログラムが記憶された記録媒体 |
RU2634171C1 (ru) * | 2016-12-12 | 2017-10-24 | Акционерное общество "Лаборатория Касперского" | Способ выполнения кода интерпретатором |
US10402273B2 (en) | 2016-12-14 | 2019-09-03 | Microsoft Technology Licensing, Llc | IoT device update failure recovery |
US10715526B2 (en) | 2016-12-14 | 2020-07-14 | Microsoft Technology Licensing, Llc | Multiple cores with hierarchy of trust |
US10416991B2 (en) * | 2016-12-14 | 2019-09-17 | Microsoft Technology Licensing, Llc | Secure IoT device update |
US9817675B1 (en) * | 2017-01-31 | 2017-11-14 | Hytrust, Inc. | Methods and systems for attaching an encrypted data partition during the startup of an operating system |
RU2659742C1 (ru) * | 2017-08-17 | 2018-07-03 | Акционерное общество "Лаборатория Касперского" | Способ эмуляции исполнения файлов, содержащих инструкции, отличные от машинных |
US10691800B2 (en) * | 2017-09-29 | 2020-06-23 | AO Kaspersky Lab | System and method for detection of malicious code in the address space of processes |
EP3926470B1 (en) | 2020-06-19 | 2023-08-16 | AO Kaspersky Lab | Emulator and emulation method |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4933956A (en) | 1983-04-14 | 1990-06-12 | Codex Corporation | Simplified decoding of lattices and codes |
US6067410A (en) | 1996-02-09 | 2000-05-23 | Symantec Corporation | Emulation repair system |
US6093213A (en) * | 1995-10-06 | 2000-07-25 | Advanced Micro Devices, Inc. | Flexible implementation of a system management mode (SMM) in a processor |
US6795966B1 (en) * | 1998-05-15 | 2004-09-21 | Vmware, Inc. | Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction |
US6338147B1 (en) * | 1998-10-29 | 2002-01-08 | International Business Machines Corporation | Program products for performing checkpoint/restart of a parallel program |
US6415436B1 (en) * | 1998-12-11 | 2002-07-02 | Hewlett-Packard Company | Mechanism for cross validating emulated states between different emulation technologies in a dynamic compiler |
US6374207B1 (en) * | 1999-02-10 | 2002-04-16 | International Business Machines Corporation | Methods, data structures, and computer program products for representing states of interaction in automatic host access and terminal emulation using scripts |
US8805664B1 (en) * | 2003-08-11 | 2014-08-12 | The Mathworks, Inc. | System and method for simulating branching behavior |
US7849297B2 (en) * | 2003-08-28 | 2010-12-07 | Mips Technologies, Inc. | Software emulation of directed exceptions in a multithreading processor |
US7403887B1 (en) * | 2004-01-14 | 2008-07-22 | Microsoft Corporation | Emulated memory management |
US20060155525A1 (en) * | 2005-01-10 | 2006-07-13 | Aguilar Maximino Jr | System and method for improved software simulation using a plurality of simulator checkpoints |
US7328145B2 (en) * | 2005-04-05 | 2008-02-05 | Cisco Technology, Inc. | Method and system for emulation of an internetwork operating system device |
JP2007058731A (ja) * | 2005-08-26 | 2007-03-08 | Matsushita Electric Ind Co Ltd | プロセッサ、及び並列命令実行対応デバッグ装置 |
US7664626B1 (en) * | 2006-03-24 | 2010-02-16 | Symantec Corporation | Ambiguous-state support in virtual machine emulators |
US7962798B2 (en) * | 2006-04-17 | 2011-06-14 | The Trustees Of Columbia University In The City Of New York | Methods, systems and media for software self-healing |
US20080127114A1 (en) * | 2006-11-28 | 2008-05-29 | Amit Vasudevan | Framework for stealth dynamic coarse and fine-grained malware analysis |
US20080320594A1 (en) | 2007-03-19 | 2008-12-25 | Xuxian Jiang | Malware Detector |
US8011010B2 (en) | 2007-04-17 | 2011-08-30 | Microsoft Corporation | Using antimalware technologies to perform offline scanning of virtual machine images |
US8296119B2 (en) * | 2007-11-05 | 2012-10-23 | Cadence Design Systems, Inc. | Saving and restarting discrete event simulations |
US8370932B2 (en) * | 2008-09-23 | 2013-02-05 | Webroot Inc. | Method and apparatus for detecting malware in network traffic |
US9177144B2 (en) * | 2008-10-30 | 2015-11-03 | Mcafee, Inc. | Structural recognition of malicious code patterns |
US7673201B1 (en) * | 2009-03-12 | 2010-03-02 | Xilinx, Inc. | Recovering a prior state of a circuit design within a programmable integrated circuit |
US7603713B1 (en) | 2009-03-30 | 2009-10-13 | Kaspersky Lab, Zao | Method for accelerating hardware emulator used for malware detection and analysis |
US20110041179A1 (en) | 2009-08-11 | 2011-02-17 | F-Secure Oyj | Malware detection |
US8635395B2 (en) * | 2009-09-14 | 2014-01-21 | Vmware, Inc. | Method of suspending and resuming virtual machines |
US8832829B2 (en) | 2009-09-30 | 2014-09-09 | Fireeye, Inc. | Network-based binary file extraction and analysis for malware detection |
RU101235U1 (ru) * | 2010-03-02 | 2011-01-10 | Закрытое акционерное общество "Лаборатория Касперского" | Система проверки на присутствие вредоносного программного обеспечения с изменяемыми настройками проверки |
US20110219449A1 (en) * | 2010-03-04 | 2011-09-08 | St Neitzel Michael | Malware detection method, system and computer program product |
US8898509B2 (en) * | 2010-05-18 | 2014-11-25 | Vmware, Inc. | Policy-based checkpointing fault tolerance across remote virtual machines |
US8832836B2 (en) | 2010-12-30 | 2014-09-09 | Verisign, Inc. | Systems and methods for malware detection and scanning |
US8418099B2 (en) | 2011-03-08 | 2013-04-09 | Oracle International Corporation | Performance counters for integrated circuits |
US20120246630A1 (en) * | 2011-03-23 | 2012-09-27 | Secure By Design | System and Method for Automating Installation and Updating of Third Party Software |
US9665266B2 (en) | 2011-10-27 | 2017-05-30 | Blackberry Limited | Setting reminders from an instant messaging application |
US9015025B2 (en) | 2011-10-31 | 2015-04-21 | International Business Machines Corporation | Verifying processor-sparing functionality in a simulation environment |
US9514507B2 (en) * | 2011-11-29 | 2016-12-06 | Citrix Systems, Inc. | Methods and systems for maintaining state in a virtual machine when disconnected from graphics hardware |
JP5991211B2 (ja) * | 2012-05-25 | 2016-09-14 | 富士通株式会社 | シミュレーション方法、およびシミュレーションプログラム |
RU2514141C1 (ru) | 2012-09-28 | 2014-04-27 | Закрытое акционерное общество "Лаборатория Касперского" | Способ эмуляции вызовов системных функций для обхода средств противодействия эмуляции |
RU2553056C2 (ru) * | 2013-10-24 | 2015-06-10 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ сохранения состояния эмулятора и его последующего восстановления |
-
2013
- 2013-10-24 RU RU2013147291/08A patent/RU2553056C2/ru active
-
2014
- 2014-03-21 US US14/221,488 patent/US9111096B2/en active Active
- 2014-04-03 DE DE202014011116.2U patent/DE202014011116U1/de not_active Expired - Lifetime
-
2015
- 2015-06-24 US US14/748,418 patent/US9740864B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20150121531A1 (en) | 2015-04-30 |
RU2553056C2 (ru) | 2015-06-10 |
DE202014011116U1 (de) | 2017-12-07 |
US9111096B2 (en) | 2015-08-18 |
US9740864B2 (en) | 2017-08-22 |
US20150294112A1 (en) | 2015-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2013147291A (ru) | Система и способ сохранения состояния эмулятора и его последующего восстановления | |
US9355017B2 (en) | Automated error checking system for a software application and method therefor | |
KR102317833B1 (ko) | 악성 코드 탐지 모델 학습 방법 및 이를 이용한 탐지 방법 | |
CN110347085B (zh) | 自动化测试系统、方法、车辆以及计算机可读介质 | |
CN103279418B (zh) | 一种组态控制信息的测试方法和装置 | |
US9952855B2 (en) | Software test automation | |
JP2015508549A5 (ja) | モバイル環境用のトロイの木馬化されたアプリケーション(アプリ)を特定するためのコンピュータ実装方法、非一時コンピュータ読み取り可能な媒体およびコンピュータシステム | |
US10042744B2 (en) | Adopting an existing automation script to a new framework | |
JP2015524126A5 (ru) | ||
CN105573915B (zh) | 一种基于代码覆盖率的测试方法和装置 | |
RU2011144144A (ru) | Способ и устройство для проверки исполняемой программы с использованием модели | |
US8910148B2 (en) | Packaging an application with plurality of libraries | |
US9058427B2 (en) | Iterative generation of symbolic test drivers for object-oriented languages | |
RU2017120292A (ru) | Обновление встроенного программного обеспечения | |
WO2016162075A1 (en) | Removing library objects from a static library | |
RU2014145739A (ru) | Способ и система регрессионного тестирования функциональности веб-страницы, машиночитаемый носитель информации | |
CN108108169B (zh) | 一种基于Jenkins的多分支的构建方法及系统 | |
CN106487602B (zh) | 应用程序发布版本监控方法与监控装置 | |
CN110990051B (zh) | 软件包依赖关系的维护方法、装置、介质和设备 | |
GB2569756A (en) | Loader and method for processing a resource bundle | |
KR20160050634A (ko) | 테스트 대상 소프트웨어를 테스트하는 시스템, 테스트 대상 소프트웨어를 테스트하는 방법 및 클라우드 서버 | |
CN108874656A (zh) | 代码测试方法、装置、可读存储介质及计算机设备 | |
CN109471799A (zh) | 一种需求环境的部署方法、装置、存储介质及终端 | |
CN105550575A (zh) | 一种未导出的函数地址和数据结构偏移的获取方法及装置 | |
CN109144524B (zh) | 一种教育平台上学科游戏的版本发布方法及电子设备 |