US8407196B1 - Object-oriented database for file system emulator - Google Patents
Object-oriented database for file system emulator Download PDFInfo
- Publication number
- US8407196B1 US8407196B1 US12/395,654 US39565409A US8407196B1 US 8407196 B1 US8407196 B1 US 8407196B1 US 39565409 A US39565409 A US 39565409A US 8407196 B1 US8407196 B1 US 8407196B1
- Authority
- US
- United States
- Prior art keywords
- database
- objects
- fields
- root
- hierarchy
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Definitions
- the present invention is related to data backup and recovery technology and more particularly, to a non-relational database for emulation of a file system.
- Another problem in using the emulators for malware analysis is that each malware component modifies the file system and a new (i.e., clean) file system needs to be loaded into the emulator for analyzing another malware component and collecting statistics needed. Therefore, a method for a rapid recovery of the file system is needed in order to repeatedly emulate the file system for testing and analyzing it with another malware component.
- the present invention implements a database system for emulation of a file system that substantially obviates one or several of the disadvantages of the related art.
- a database architecture that supports functionality of an emulator.
- a method for adding new types of objects to a database is provided.
- a hierarchical data architecture is created for implementing a files system and/or a system registry inside an emulator.
- the proposed data architecture supports the emulator and provides for effective recovery of a database fragments after multiple modifications of the fragments by an emulated malware component.
- an object-oriented database is provided.
- Each of the database objects has various data fields.
- Special user types are assigned to the database objects.
- each user type is defined by a selected set of data fields.
- some user types can have the same set of the data fields and the data fields of different user types can be partly coincident.
- the database objects in the proposed architecture have a parent-child relationship. Thus, the types of users having similar or the same set of the data fields are logically separated.
- Each database object has a unique parent object and a unique set of index fields.
- the set of the index fields is a unique set of data fields of an object.
- the exemplary embodiment also has a root object that is unique for the database. The root object is different from any other database objects, because the fields of the root object are the data field sets with the names that are unique and can only be assigned to the root object.
- the proposed database has a cross-referencing capability.
- FIG. 1 illustrates an object-oriented database architecture, in accordance with the exemplary embodiment
- FIG. 2 illustrates an object-oriented database structure used for file system emulation, in accordance with the exemplary embodiment
- FIG. 3 illustrates an example of implementing the emulator using the object-oriented database, in accordance with the exemplary embodiment
- FIG. 4 illustrates a block diagram of a method for using the object-oriented database in an emulator, in accordance with the exemplary embodiment
- FIGS. 5A and 5B illustrate examples of transparent data read/write operations, in accordance with the exemplary embodiment
- FIG. 6 illustrates an example of table association within the object-oriented database, in accordance with the exemplary embodiment
- FIG. 7 illustrates an exemplary structure of a database root object
- FIG. 8 illustrates an exemplary structure of a list of all types of object fields
- FIG. 9 illustrates an exemplary structure of user types of the data object
- FIG. 10 illustrates an exemplary structure of a list of user fields of the data object
- FIG. 11 illustrates an exemplary structure of a structure of an exemplary type
- FIG. 12 illustrates an exemplary structure of an exemplary object
- FIG. 13 illustrates an exemplary structure of an object with object's index fields
- FIG. 14 illustrates a schematic of an exemplary computer system on which the exemplary embodiment can be implemented.
- the present invention is intended as a non-relational hierarchical database for emulation of a file system (or a system registry) with a malware component executed on it that substantially obviates one or several of the disadvantages of the related art.
- a database architecture that supports functionality of a file system emulator.
- a method for adding new types of objects to an object-oriented non-relational database is also provided.
- the object-oriented hierarchical database is created for emulating file systems or system registries with malware components executed on them.
- the object-oriented database supports an emulator and provides for effective recovery of a database fragments after multiple modifications of the fragments by a malware component.
- Each of the database objects has various data fields, such as, for example, a text string, a Boolean expression, a number, a reference, a list, etc. Special user types are assigned to the database objects.
- Taxon a prototype for all types of the plants
- Specie for defining the plant family
- SubSpecie for defining the sub family or kind of the plant
- Book for defining a book containing information about the plant
- Image for visual representation of the plant
- Synonym for referencing to other similar plants or analogous species
- each user type is defined by a selected set of data fields.
- the following set of data fields will be used: Name, Author, SubTaxon (e.g., child-objects).
- some user types can have the same set of the data fields and the data fields of different user types can be partly coincident.
- the type Species will have the field set coinciding with the fields of the user type Taxon. In other words, the type Species inherits the fields from the parent type Taxon.
- the fields of the user type SubSpecies will also coincide with the data field set of the type Taxon.
- the user types having similar or the same set of the data fields are logically separated.
- logical separation of the user types is provided by the database hierarchy (i.e., a parent-child relationship among the data objects of the object-oriented database).
- database hierarchy i.e., a parent-child relationship among the data objects of the object-oriented database.
- proposed object-oriented non-relational database can have an arbitrary number of user types.
- the database objects can be entirely or partially filled.
- Each database object is defined by a unique parent-object, its type and a unique set of index fields.
- the object's set of the index fields is a unique set of data fields of this object.
- An object can have one or several index fields. Note that while the set of the index fields is unique to an object, an individual index field can be the same for several objects.
- the data fields Name and Author can be its index fields.
- the index fields are very critical to an object as it can only be accessed using the index fields. Thus, in order to access the object Taxon the following parameters are needed: the object's type (Taxon), the object's name (Name), the author (Author).
- index fields of an object filled can be any of: index fields, non-index fields, lists, references, etc.
- An index field is the field used for uniquely identifying and accessing an object.
- An object can have several index fields. As discussed above, an object can be accessed based on its index field and its type. All index fields do not have to be filled, but a combination of the filled index fields has to be unique for an object of a particular type, so the objects can be differentiated within the type. For example, two objects of the type Taxon with the same name (Name) can exist, as long as they have different authors (Author).
- a non-index field is the data field that can be any of: a string, a number, a Boolean expression.
- a list is a collection of child-objects of any type ordered by types of objects.
- a reference is a data field referring to any object within the database regardless of its location.
- a reference field can refer to child-objects as well as to parent-objects. In other words, object cross-referencing scheme is implemented in the exemplary embodiment. Note that the reference field cannot refer to a root object of the database.
- a unique parent-object is required for each object of the database.
- the exemplary embodiment also has a root object, which is unique for the database.
- the root object is different from any other database objects.
- the fields of the root object are the data field sets with the names that are unique and can only be assigned to the root object.
- the proposed database has a hierarchical structure supported by parent-child relationships and a cross-referencing capability among its objects.
- a complete path to an object within the hierarchy of the database is a list of locations (i.e., objects) within the hierarchy that need to be passed on the way from the root object to the destination object.
- FIG. 1 illustrates a non-relational object-oriented database architecture, in accordance with the exemplary embodiment.
- the database has a required root object 110 .
- the root object 110 has a set of fields (Root 1 -Root N) that only reference objects of the next level of the hierarchy. Other objects staring from the first level below root level (i.e., objects 120 , 130 and 140 ) do not have any limitations to their data field sets. All of the field sets of the child-objects are grouped by their types. For example, all child-objects of the root object 110 are organized as follows: first are objects 120 and 130 of the Type 11 , then, object 140 of the Type 12 and object 150 of the Type 13 . The child-objects 120 , 130 , 140 and 150 can have an arbitrary number of Sub Objects and Sub Sub Objects, as shown in FIG. 1 .
- the database can be modified or edited by adding objects of a new type (for example, a malware component can add or delete files).
- existing database objects can be modified by addition or removal of the fields of a given type.
- the fields of the given type can also be re-named.
- the database objects can also be removed. In this case, first, all references to the object are removed. Then, all child-objects with their respective references are removed and only then, the object is removed.
- the object-oriented database is highly scalable and flexible.
- FIG. 2 illustrates an object-oriented non-relational database structure described above used for file system emulation, in accordance with the exemplary embodiment.
- a file system is implemented as a hierarchical structure consisting of files, directories and links.
- Implementation of the file system requires specific types of objects.
- the file system has three types of objects: a file, a list of objects (i.e., directory), a reference (i.e., link). All types of objects have two fields: an object Name and Content (see FIG. 2 ).
- the object Name is an index field of a string format.
- the Content is a non-index field, which depends on the type of object. Thus, if the object type is file, the Content is a text field. If the object type is directory, the Content is a list of child-objects. If the object type is a reference, the Content is a link (or a pointer) to another database object (except for the root object).
- the root object 210 has a field File System 211 .
- the root object 210 has the child-objects 220 , 230 , 240 and 250 .
- the objects 220 , 260 and 280 correspond to the directories of the file system and always contain the lists of other child-objects.
- the objects 230 , 240 , 270 and 285 in this example are files and cannot have any child objects.
- the exemplary objects 250 and 290 correspond to links of the file system.
- the content 4 of the object 250 references the object 270 and the content 9 of the object 290 references the object 240 .
- the hierarchy of files and directories begins with the root object 210 representing the file system.
- each file system object is uniquely identified by the type of object, index fields and the object's parent-object.
- a full path to the object is created as a list of objects of different level within the hierarchy from the root object to the destination object.
- a path to the file 285 can be represented as:
- ⁇ Root ⁇ Folder, Name1 ⁇ Folder, Name5 ⁇ File, Name8 ⁇ a part of the database used by an emulator is loaded into memory. In this case, only the fields that are filled are loaded. Note that if the object types are edited at a time of loading the database into the memory, the database needs to be re-loaded in order for modifications to take place.
- a system registry can be emulated using the architecture depicted in FIG. 2 .
- FIG. 3 illustrates an example of implementing the emulator using an object-oriented non-relational database, in accordance with the exemplary embodiment.
- the database is partially loaded into memory.
- it is not necessary to load the entire database 310 into the memory. It is sufficient to only specify the path to the selected objects that need to be loaded for the emulator.
- a part of the database from the root object to the selected objects is recreated in the memory using the paths to the selected objects that include all objects within the hierarchy that lie between the root object and the selected object.
- a block 320 (in FIG. 3 ) of an operational memory is allocated. It is used for a pre-distributed database portion. Then, for the memory block 320 a backup copy 330 is created. The backup copy includes all of the cross-references.
- the selected part of the database is loaded into the allocated memory area 320 to be employed by the emulator (i.e., to be modified by the emulated malware component).
- the allocated memory 320 i.e., in the emulated database.
- the allocated memory 320 may not be sufficient, and an additional memory block 340 can be used.
- the database needs to be restored to the initial state.
- the backup copy 330 is copied into the memory block 320 and the additional memory area 340 is cleared (e.g., flashed). Note that the integrity of the cross-references (i.e., links) remains it tact.
- FIG. 4 illustrates a block diagram of a method for using the object-oriented hierarchical database (depicted in FIG. 1 ) in the emulator, in accordance with the exemplary embodiment.
- a selected portion of the database i.e., branch
- a backup copy of the loaded database branch is created at step 420 .
- the backup copy can be placed into an operating memory or on a hard disk.
- step 430 the database portion loaded at step 410 is employed by the emulator.
- step 440 it is determined whether the allocated memory block is sufficient for operations of the emulator. If the memory block is not sufficient, then, at step 450 , additional memory is provided. After the emulation is completed, the database is restored to its initial state at step 460 .
- FIGS. 5A and 5B illustrate examples of data read/write operations, in accordance with the exemplary embodiment.
- FIG. 5A illustrates “transparent” read and write operations.
- file 510 is read from the part 520 of the database located on disk.
- the mechanism of “transparent” write operations is used. For this, a new record 540 is created, while the corresponding portion 520 a of the initial file remains unchanged.
- file 510 is read, the part 530 is read from the record 540 instead of being read from the part 520 .
- the operations with the file system can be emulated without affecting any real files located on the disk.
- FIG. 5B illustrates read operation when a file is read from different parts of the disk.
- An exemplary file consists of parts 550 and 560 that are located on the record 570 on the disk.
- the parts 550 and 560 are located on the record 570 and are out of order.
- for reading the file is used as a single entity.
- the method of “transparent” read and write from and to the disk can be implemented.
- FIG. 6 illustrates an example of table association within the object-oriented database, in accordance with the exemplary embodiment.
- the hierarchical structure of the database depicted in FIG. 1 is presented in form of association tables.
- FIG. 6 illustrates an exemplary database consisting of association tables: a table of objects 630 , a table of type definitions 620 and a table of field definitions 610 .
- the field table 610 contains description of all fields present in objects of the hierarchical database depicted in FIG. 1 .
- the fields are sorted out in the same order as in the types.
- a field description in the table uses the following parameters: field name 640 , field type 645 , index field flag 650 .
- the filed name does not have to be unique.
- the position of the filed in the table is used.
- the field type 645 can be a string, a number, a link or a list.
- the type table 620 contains the descriptions of all types present in the hierarchical database depicted in FIG. 1 . Each type has a reference to a set of fields (i.e., field range) in the field table 610 .
- a type description in the type table 620 uses the following parameters: type name 655 , field range 660 .
- Some types can reference to the same filed range or just an upper part of this range.
- the fields are sorted out in such a way that the index fields are positioned first, non-index fields are placed after them, then, go lists and references (i.e., links).
- a type created based on another type, cannot reference to a part of the filed range, which does not contain any index fields.
- the fields 10 - 14 in the table 610 coincide for types 7 and 8 of the table 620 .
- the type 8 is considered to be inherited from type 7 of the table 620 .
- the fields 10 - 11 of the table 610 are coincident in part for types 7 and 9 of the table 620 .
- the type 9 of the table 620 cannot have a field range 9 - 11 of the table 610 , since the index fields are always located in the beginning of the field range.
- the exemplary database consisting of the associated tables allows speeding up read and search operations in the hierarchical database. An access to the objects of different type becomes more flexible and yet less complicated. For example, the hierarchical tree of the proposed non-relational database consisting of approximately 500 objects can be scanned in an order of a second.
- the exemplary embodiment provides an easily implemented non-relational database that can support the emulation of a large file system.
- the file system stored in the database is affected by a malware and is modified.
- the proposed embodiment provides for a robust and efficient way of recovering a malware-affected database fragments so it they can be used for testing and analyzing the file system with another malware component.
- FIG. 7 illustrates an exemplary structure of a database root object.
- An exemplary non-relational database generates a screen shot depicted in FIG. 7 .
- the root object has 13 unique data fields, such as, for example “Description from Jay,” “PRICELIST Jumbo (S atira),” “Information sources,” etc.
- FIG. 8 illustrates an exemplary structure of a list of all types of object fields.
- object fields such as, for example, void (i.e., empty), text (string, tstring, lstring), signed variable, unsigned variable, Boolean expression, etc.
- FIG. 9 illustrates an exemplary structure of user types of the data object.
- An exemplary database has 51 user types.
- Root is a type of database root object
- Synonim is a type of an object that is a synonym to other objects that reference this object
- Kingdom is a type of plant habitat
- Specie is a type of plant
- SubSpecie is a subtype of plant, and etc.
- FIG. 10 illustrates an exemplary structure of a list of user fields of the data object.
- An exemplary database has 138 user fields having also fields reserved for a future use.
- FIG. 11 illustrates an exemplary structure of a structure of an exemplary type Taxon (i.e., a prototype of all other types).
- Taxon has parameters such as ID, Base structure, Group number, Size, Flags (insertable and changed), Object count, and a field set (Name, Author, Author_old, Year, Number, Status, Hybrid, Basionym, See, Nomen, Subtaxon).
- FIG. 12 illustrates an exemplary structure of an exemplary object type Taxon.
- the field Subtaxon consists of 82 elements. There are two index fields (Name and Author) that are filled and two non-index fields (Status and Nomen).
- FIG. 13 illustrates an exemplary structure of an object Taxon with five object's index fields (Name, Author, Author_old, Year, Number) and four non-index fields (Status, Hybrid, Basionym, See, Nomen) and sixteen child-objects.
- an exemplary system for implementing the invention includes a general purpose computing device in the form of a computer or server 20 or the like, including a processing unit 21 , a system memory 22 , and a system bus 23 that couples various system components including the system memory to the processing unit 21 .
- the system bus 23 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
- the system memory includes read-only memory (ROM) 24 and random access memory (RAM) 25 .
- ROM read-only memory
- RAM random access memory
- the computer 20 may further include a hard disk drive 27 for reading from and writing to a hard disk, not shown, a magnetic disk drive 28 for reading from or writing to a removable magnetic disk 29 , and an optical disk drive 30 for reading from or writing to a removable optical disk 31 such as a CD-ROM, DVD-ROM or other optical media.
- a hard disk drive 27 for reading from and writing to a hard disk, not shown
- a magnetic disk drive 28 for reading from or writing to a removable magnetic disk 29
- an optical disk drive 30 for reading from or writing to a removable optical disk 31 such as a CD-ROM, DVD-ROM or other optical media.
- the hard disk drive 27 , magnetic disk drive 28 , and optical disk drive 30 are connected to the system bus 23 by a hard disk drive interface 32 , a magnetic disk drive interface 33 , and an optical drive interface 34 , respectively.
- the drives and their associated computer-readable media provide non-volatile storage of computer readable instructions, data structures, program modules and other data for the computer 20 .
- a number of program modules may be stored on the hard disk, magnetic disk 29 , optical disk 31 , ROM 24 or RAM 25 , including an operating system 35 .
- the computer 20 includes a file system 36 associated with or included within the operating system 35 , one or more application programs 37 , other program modules 38 and program data 39 .
- a user may enter commands and information into the computer 20 through input devices such as a keyboard 40 and pointing device 42 .
- Other input devices may include a microphone, joystick, game pad, satellite dish, scanner or the like.
- serial port interface 46 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port or 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 .
- personal computers typically include other peripheral output devices (not shown), such as speakers and printers.
- the computer 20 may operate in a networked environment using logical connections to one or more remote computers 49 .
- the remote computer (or computers) 49 may be another computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the personal computer 20 , although only a memory storage device 50 has been illustrated.
- the logical connections include a local area network (LAN) 51 and a wide area network (WAN) 52 .
- LAN local area network
- WAN wide area network
- the computer 20 When used in a LAN networking environment, the computer 20 is connected to the local network 51 through a network interface or adapter 53 . When used in a WAN networking environment, the computer 20 typically includes a modem 54 or other means for establishing communications over the wide area network 52 , such as the Internet.
- the modem 54 which may be internal or external, is connected to the system bus 23 via the serial port interface 46 .
- program modules depicted relative to the personal computer 20 may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/395,654 US8407196B1 (en) | 2009-02-28 | 2009-02-28 | Object-oriented database for file system emulator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/395,654 US8407196B1 (en) | 2009-02-28 | 2009-02-28 | Object-oriented database for file system emulator |
Publications (1)
Publication Number | Publication Date |
---|---|
US8407196B1 true US8407196B1 (en) | 2013-03-26 |
Family
ID=47892406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/395,654 Expired - Fee Related US8407196B1 (en) | 2009-02-28 | 2009-02-28 | Object-oriented database for file system emulator |
Country Status (1)
Country | Link |
---|---|
US (1) | US8407196B1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110302222A1 (en) * | 2010-06-07 | 2011-12-08 | Salesforce.Com, Inc. | System, method and computer program product for creating a child database object using a child database object type identified from a parent database object |
US20130110798A1 (en) * | 2011-10-27 | 2013-05-02 | Microsoft Corporation | Intercepting and processing database commands |
US20180032411A1 (en) * | 2016-07-29 | 2018-02-01 | Datos IO Inc. | Data protection and recovery across relational and non-relational databases |
CN111258808A (en) * | 2018-12-03 | 2020-06-09 | 中国移动通信集团安徽有限公司 | Method, apparatus, device and medium for automatic data management |
CN111695270A (en) * | 2020-06-24 | 2020-09-22 | 中国人民解放军国防科技大学 | Intelligent combat simulation method and device, computer equipment and storage medium |
US12093276B1 (en) | 2018-11-23 | 2024-09-17 | Amazon Technologies, Inc. | Emulating a non-relational database on a relational database with a distributed data store |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6094649A (en) * | 1997-12-22 | 2000-07-25 | Partnet, Inc. | Keyword searches of structured databases |
US20030105758A1 (en) * | 2001-12-05 | 2003-06-05 | International Business Machines Corporation | System and method for testing and promoting database update code |
US20050187944A1 (en) * | 2004-02-10 | 2005-08-25 | Microsoft Corporation | Systems and methods for a database engine in-process data provider |
US20060041574A1 (en) * | 2003-10-23 | 2006-02-23 | Microsoft Corporation | Type path indexing |
US20070156793A1 (en) * | 2005-02-07 | 2007-07-05 | D Souza Roy P | Synthetic full copies of data and dynamic bulk-to-brick transformation |
US20090077544A1 (en) * | 2007-09-14 | 2009-03-19 | International Business Machines Corporation | Method, system and program product for optimizing emulation of a suspected malware |
US20090126016A1 (en) * | 2007-10-02 | 2009-05-14 | Andrey Sobko | System and method for detecting multi-component malware |
US7603713B1 (en) * | 2009-03-30 | 2009-10-13 | Kaspersky Lab, Zao | Method for accelerating hardware emulator used for malware detection and analysis |
US7739100B1 (en) * | 2005-10-18 | 2010-06-15 | Mcafee, Inc. | Emulation system, method and computer program product for malware detection by back-stepping in program code |
-
2009
- 2009-02-28 US US12/395,654 patent/US8407196B1/en not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6094649A (en) * | 1997-12-22 | 2000-07-25 | Partnet, Inc. | Keyword searches of structured databases |
US20030105758A1 (en) * | 2001-12-05 | 2003-06-05 | International Business Machines Corporation | System and method for testing and promoting database update code |
US20060041574A1 (en) * | 2003-10-23 | 2006-02-23 | Microsoft Corporation | Type path indexing |
US20050187944A1 (en) * | 2004-02-10 | 2005-08-25 | Microsoft Corporation | Systems and methods for a database engine in-process data provider |
US20070156793A1 (en) * | 2005-02-07 | 2007-07-05 | D Souza Roy P | Synthetic full copies of data and dynamic bulk-to-brick transformation |
US7739100B1 (en) * | 2005-10-18 | 2010-06-15 | Mcafee, Inc. | Emulation system, method and computer program product for malware detection by back-stepping in program code |
US20090077544A1 (en) * | 2007-09-14 | 2009-03-19 | International Business Machines Corporation | Method, system and program product for optimizing emulation of a suspected malware |
US20090126016A1 (en) * | 2007-10-02 | 2009-05-14 | Andrey Sobko | System and method for detecting multi-component malware |
US7603713B1 (en) * | 2009-03-30 | 2009-10-13 | Kaspersky Lab, Zao | Method for accelerating hardware emulator used for malware detection and analysis |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110302222A1 (en) * | 2010-06-07 | 2011-12-08 | Salesforce.Com, Inc. | System, method and computer program product for creating a child database object using a child database object type identified from a parent database object |
US20130110798A1 (en) * | 2011-10-27 | 2013-05-02 | Microsoft Corporation | Intercepting and processing database commands |
US20180032411A1 (en) * | 2016-07-29 | 2018-02-01 | Datos IO Inc. | Data protection and recovery across relational and non-relational databases |
US10705926B2 (en) * | 2016-07-29 | 2020-07-07 | Rubrik, Inc. | Data protection and recovery across relational and non-relational databases |
US12093276B1 (en) | 2018-11-23 | 2024-09-17 | Amazon Technologies, Inc. | Emulating a non-relational database on a relational database with a distributed data store |
CN111258808A (en) * | 2018-12-03 | 2020-06-09 | 中国移动通信集团安徽有限公司 | Method, apparatus, device and medium for automatic data management |
CN111258808B (en) * | 2018-12-03 | 2023-04-07 | 中国移动通信集团安徽有限公司 | Method, apparatus, device and medium for data automation management |
CN111695270A (en) * | 2020-06-24 | 2020-09-22 | 中国人民解放军国防科技大学 | Intelligent combat simulation method and device, computer equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Carvey et al. | Digital forensics with open source tools | |
CN105144088B (en) | Metadata is associated with and with source code based on its application and service | |
Huebner et al. | Data hiding in the NTFS file system | |
US8407196B1 (en) | Object-oriented database for file system emulator | |
US7401089B2 (en) | Storage reports file system scanner | |
MXPA06001214A (en) | File system represented inside a database. | |
JP2008516347A (en) | Saving and restoring the interlock tree data store | |
Minnaard et al. | Timestomping ntfs | |
JP2004348744A (en) | Identification method for identifying change carried out for table, and its system | |
Barrera-Gomez et al. | Walk This Way: Detailed Steps for Transferring Born-Digital Content from Media You Can Read In-House. | |
Messier | Operating system forensics | |
Prade et al. | Forensic analysis of the resilient file system (ReFS) version 3.4 | |
US8359592B2 (en) | Identifying groups and subgroups | |
Atwal et al. | Shining a light on Spotlight: Leveraging Apple's desktop search utility to recover deleted file metadata on macOS | |
CN107784055A (en) | Transaction methods and device based on non-relational database | |
CN118519674B (en) | System difference data acquisition method and device | |
Jarrett et al. | Purple dawn: Dead disk forensics on Google's Fuchsia operating system | |
JP2008305352A (en) | Full-text search system | |
Göbel et al. | Fishy-a framework for implementing filesystem-based data hiding techniques | |
KR101135629B1 (en) | Method and apparatus for preventing autorun of portable USB storage | |
Dewald et al. | Incident Analysis and Forensics in Docker Environments | |
CN117991987A (en) | Method and device for processing orphan nodes, operating system and electronic equipment | |
Lee et al. | Automated redaction of private and personal data in collections | |
Pan et al. | Reproducibility of digital evidence in forensic investigations | |
Wee | Analysis of hidden data in NTFS file system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: KASPERSKY LAB, ZAO, RUSSIAN FEDERATION Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KRYUKOV, ANDREY V.;REEL/FRAME:022328/0255 Effective date: 20090227 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20250326 |