CN103679040A - Data security reading method and device - Google Patents

Data security reading method and device Download PDF

Info

Publication number
CN103679040A
CN103679040A CN201210325943.2A CN201210325943A CN103679040A CN 103679040 A CN103679040 A CN 103679040A CN 201210325943 A CN201210325943 A CN 201210325943A CN 103679040 A CN103679040 A CN 103679040A
Authority
CN
China
Prior art keywords
instruction
address
fragment
jump
machine
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.)
Granted
Application number
CN201210325943.2A
Other languages
Chinese (zh)
Other versions
CN103679040B (en
Inventor
汪家祥
杨潇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
The safe and sound Information Technology Co., Ltd in sky in Beijing
Original Assignee
Beijing Zhongtian Antai Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Zhongtian Antai Technology Co Ltd filed Critical Beijing Zhongtian Antai Technology Co Ltd
Priority to CN201210325943.2A priority Critical patent/CN103679040B/en
Publication of CN103679040A publication Critical patent/CN103679040A/en
Application granted granted Critical
Publication of CN103679040B publication Critical patent/CN103679040B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The invention provides a data security reading method which comprises the steps of (1) caching an instruction operating environment; (2) reading a target address from a first storage position, and obtaining a machine instruction fragment to be scheduled according to the target address, wherein the last instruction of the machine instruction fragment to be scheduled is a first jump instruction; (3) storing a target address of the first jump instruction at the first storage position; (4) analyzing each instruction in the machine instruction fragment to be scheduled, and if one instruction is a reading instruction, obtaining a source address in the reading instruction, searching for a mapping bitmap, and modifying a reading address in the reading instruction according to data of the mapping bitmap; (5) replacing the first jump instruction with a second jump instruction, and generating a regrouped instruction fragment with a second address, wherein the second jump instruction points to an entry address of an instruction regrouped platform; (6) recovering the instruction operating environment, and jumping to the second address for continuous execution.

Description

Data safe reading method and device
Technical field
The present invention relates to computer safety field, relate in particular to a kind of data safe reading method and device.
Background technology
Existing electronic information security field comprises security of system, data security and three sub-fields of device security.
In data security field, the general three kinds of technology below that adopt are guaranteed data security: (1) data content safety technique, comprise data ciphering and deciphering technology and end-to-end data encryption technology, ensure that data content in storage and transmitting procedure is not illegally read; (2) data security transfer techniques, comprises and prevents illegal copies, printing or other output, ensures the safety of data in use and transfer process; (3) network interrupter technique, comprises network physical blocking-up and the technology such as network barrier is set.
According to correlation analysis, the total effectively detecting ability of current all harm for computing machine is at most in 50% left and right; Because above-mentioned technology is at reply computer inner core virus, wooden horse, Loopholes of OS, system backdoor and people scarce capacity when divulging a secret, all may there is malicious code in any computing equipment (such as computing machine, handheld communication devices etc.) in fact.Once malicious code enters terminal system, above-mentioned encryption technology, anti-copy technology and network interrupter technique are in this case by ineffective.Existing hacking technique can utilize system vulnerability or system backdoor penetrate above-mentioned safety technique and implant malicious code, and utilizes malicious code to obtain user data.Above-mentioned technology more cannot be taken precautions against concerning security matters personnel's active or passive divulging a secret, and for example, internal staff can carry memory device, from internal network or terminal, downloads required data and takes away memory device, causes inside to be divulged a secret; Again for example, internal staff can directly take away computing equipment.
To sum up, anti-copy technology cannot guarantee that classified information is not illegally stored in terminal.Filtration Network Based cannot guarantee that classified information do not lose.Concerning security matters personnel can be caused and divulged a secret by malicious code or malice instrument, also may divulge a secret because of secrecy-involved apparatus or out of control the causing of storage medium.
Summary of the invention
The object of this invention is to provide a kind of data safe reading method and device, improve data security.
According to one aspect of the invention, a kind of data safe reading method is provided, comprising:
Step 1, buffer memory instruction operation environment;
Step 2, from the first memory location, read destination address, according to destination address, obtain machine instruction fragment to be scheduled; The last item instruction of machine instruction fragment to be scheduled is the first jump instruction;
Step 3, in the first memory location, preserve the destination address of the first jump instruction;
Step 4, analyze each instruction in machine instruction fragment to be scheduled, if it is reading command, obtain the source address in reading command, and search mapped bitmap, and according to the reading address in the data modification reading command of mapped bitmap; Described mapped bitmap is for representing whether the data of local memory address are dumped to described safety storage apparatus;
Step 5, the first jump instruction is replaced with to the second jump instruction, generate and there is two address restructuring instruction fragment; The entry address of described the second jump instruction directional order restructuring platform; With
Step 6, recover described instruction operation environment, and jump to the second address and continue to carry out;
Wherein, the execution sequence of step 3 and step 4 can exchange.
Optionally, before step 4, data safe reading method also comprises:
Set up the communication of computing terminal system and described safety storage apparatus;
The second mapped bitmap on described safety storage apparatus is synchronized to described computing terminal system, saves as mapped bitmap.
Optionally, described hardware instruction is hardware port I/O instruction.
Optionally, described safety storage apparatus is remote storage device, and described remote storage device is shared by a plurality of computing terminal systems.
Optionally, described hardware instruction is from hardware mapping layer.
Optionally, in step 2, according to destination address, obtain and treat that dispatch command fragment comprises:
From destination address, obtain one section of machine instruction to be scheduled, this section of machine instruction carried out to dis-assembling;
Check in dis-assembling result whether comprise jump instruction, if do not comprised, continue to obtain one section of machine instruction to be scheduled next, until match jump instruction, this jump instruction is the first jump instruction; Wherein, the first jump instruction and all instructions compositions are before treated dispatch command fragment.
Optionally, between step 5 and step 6, data safe reading method also comprises:
Assembly code after the restructuring of generation is generated to corresponding machine code by assembler.
Optionally, between step 1 and step 2, data safe reading method also comprises:
From the first memory location, read destination address, utilize described destination address to search the corresponding table in address; The corresponding table in described address is for representing whether machine instruction fragment to be scheduled has the restructuring instruction fragment of having preserved;
If find corresponding record, recover described instruction operation environment, and the preservation address jumping in record continues to carry out.
Optionally, if do not find corresponding record in the corresponding table in address, described data safe reading method also comprises after step 5:
Utilize the address of restructuring instruction fragment in the corresponding table in address, to set up a record with described destination address.
According to a further aspect of the present invention, provide a kind of computer-readable medium, store the executable program code of computing machine in described computer-readable recording medium, described program code is for carrying out the step of said method.
Another aspect according to the present invention, provides a kind of data security reading device, comprising:
Instruction operation environment buffer memory and recovery unit, be suitable for buffer memory and recover instruction operation environment;
The first memory location, is suitable for preserving destination address;
Instruction fetch unit, and instruction running environment buffer memory and recovery unit couple, and are suitable for reading destination address from the first memory location, and obtain machine instruction fragment to be scheduled according to destination address; Wherein, the last item instruction of machine instruction fragment to be dispatched is the first jump instruction;
Instruction analysis unit, each hardware instruction judge whether described hardware instruction is reading command in machine instruction fragment to be dispatched described in being suitable for analyzing;
Modifying of order unit, is suitable for searching mapped bitmap, and according to the reading address in the data modification reading command of mapped bitmap; Described mapped bitmap is for representing whether the data of local memory address are dumped to described safety storage apparatus; With
Instruction recombination unit, and instruction running environment buffer memory and recovery unit couple, and are suitable for preserving in the first memory location the destination address of the first jump instruction; Also be suitable for the first jump instruction to replace with the second jump instruction, generate and there is two address restructuring instruction fragment; The entry address of described the second jump instruction indicator device.
Optionally, described data security reading device also comprises:
Lock unit, the communication that is suitable for setting up computing terminal system and described safety storage apparatus, and mapped bitmap is carried out between described computing terminal system and described safety storage apparatus synchronous.
Optionally, described safety storage apparatus is remote storage device, and described remote storage device is shared by a plurality of computing terminal systems.
Optionally, described data security reading device also comprises:
Instruction retrieval unit, is suitable for utilizing described destination address to search the corresponding table in address; The corresponding table in described address is for representing whether machine instruction fragment to be dispatched has the restructuring instruction fragment of having preserved;
If find corresponding record, instruction retrieval unit is also suitable for call instruction running environment buffer memory and recovery unit, recovers described instruction operation environment, and the preservation address jumping in record continues to carry out;
If do not find corresponding record, instruction retrieval unit is also suitable for utilizing the address of restructuring instruction fragment in the corresponding table in address, to set up a record with described destination address.
Optionally, described data security reading device also comprises:
Dis-assembling unit, was suitable for before machine instruction fragment to be scheduled described in instruction analysis element analysis, and machine instruction fragment to be scheduled described in dis-assembling, generates assembly instruction fragment to be scheduled;
Assembly unit, is suitable for the assembly instruction fragment after compilation restructuring, obtains the restructuring instruction fragment that machine code represents.
Compared with prior art, apparatus and method of the present invention have improved the security of data.
Accompanying drawing explanation
Fig. 1 is the system level schematic diagram of computing equipment in prior art;
The process flow diagram of instruction recombination method when Fig. 2 is the operation providing in one embodiment of the invention;
Fig. 3 is the generative process schematic diagram of the restructuring instruction fragment that provides in one embodiment of the invention;
Fig. 4 is the process flow diagram of step S102 in the Fig. 2 providing in another embodiment of the present invention;
The process flow diagram of instruction recombination method when Fig. 5 is the operation providing in another embodiment of the present invention, utilizes the corresponding table in address to preserve the instruction fragment of having recombinated;
The process flow diagram of instruction recombination method when Fig. 6 is the operation providing in another embodiment of the present invention, opens up separately the destination address that the first jump instruction is preserved in memory location;
The process flow diagram of instruction recombination method when Fig. 7 is the operation providing in another embodiment of the present invention, carries out dis-assembling and compilation process for on-fixed length instruction collection;
The process flow diagram of instruction recombination method when Fig. 8 is the operation providing in another embodiment of the present invention, substitutes or record the first jump instruction with pop down instruction;
The process flow diagram of instruction recombination method when Fig. 9 a is the operation providing in another embodiment of the present invention, the feature in a plurality of embodiment before instruction recombination method synthesis during operation wherein;
Operating process schematic diagram when instruction recombination method is moved on X86 system processor when Fig. 9 b-9d is the operation in Fig. 9 a;
Instruction recombination apparatus structure schematic diagram when Figure 10 is the operation providing in one embodiment of the invention;
Instruction recombination apparatus structure schematic diagram when Figure 11 is the operation providing in another embodiment of the present invention;
Figure 12 is the instruction recombination cellular construction schematic diagram providing in another embodiment of the present invention;
Instruction recombination apparatus structure schematic diagram when Figure 13 is the operation providing in another embodiment of the present invention;
Instruction recombination apparatus structure schematic diagram when Figure 14 is the operation providing in another embodiment of the present invention;
Figure 15 is the system level schematic diagram of computing equipment in one embodiment of the invention;
Figure 16 is the process flow diagram of the initialization procedure in the data security access procedure providing in one embodiment of the invention;
Figure 17 is the Bitmap schematic diagram in one embodiment of the invention;
Figure 18 is the process flow diagram of the secure storage method of data that provides in one embodiment of the invention;
Figure 19 is the process flow diagram of the data safe reading method that provides in one embodiment of the invention;
Figure 20 is the process flow diagram of the data safety access method that provides in one embodiment of the invention;
Figure 21 is the process flow diagram of the data safe transmission method that provides in one embodiment of the invention;
Figure 22 is network environment schematic diagram in one embodiment of the invention;
Figure 23 is the structural representation of the data safety storage device that provides in one embodiment of the invention;
Figure 24 is the structural representation of the data security reading device that provides in one embodiment of the invention;
Figure 25 is the data security storage that provides in one embodiment of the invention and the structural representation of reading device;
Figure 26 is the data security storage that provides in another embodiment of the present invention and the structural representation of reading device.
Embodiment
In order to make object of the present invention, technical scheme and advantage clearer, below in conjunction with accompanying drawing, the present invention is described in more detail.Should be appreciated that specific embodiment described herein, only in order to explain the present invention, is not intended to limit the present invention.
analyze
The system level schematic diagram that is illustrated in figure 1 computing equipment in prior art, from top to bottom, computing equipment comprises: user interface layer 101, application layer 102, operating system nucleus layer 103, hardware mapping layer 104 and hardware layer 105.
Wherein, user interface layer 101 is the interfaces between user and equipment, and user for example, is undertaken by this layer and equipment (be other levels of equipment, application layer 102) alternately.Application layer 102 finger application software layers.
Operating system nucleus layer 103 is a kind of logical layers based on software, by software data and software code, formed in general, than contact bed 101 and application layer 102, the code of operating system nucleus layer 103 has higher authority, can carry out complete operation to the various software and hardware resources in computer system.
Hardware mapping layer 104 is a kind of logical layers based on software, and it is generally operational in operating system nucleus layer, has the authority identical with inner nuclear layer.Hardware mapping layer is mainly, in order to solve, the operator scheme of dissimilar hardware is mapped as to a kind of unified high-level interface, upwards shields the singularity of hardware.In general, hardware mapping layer is mainly used by operating system nucleus layer 103, completes the operation to various hardware.
Hardware layer 105 refers to all hardware parts that form computer system.
User operates and obtains graphical or non-graphical feedback by user interface layer 101 (i.e. the user interface in user interface layer 101) to this computing equipment.With the example that is operating as of save data, its process comprises:
(1) user interface 101 that user provides by certain application program, selects " preservation " function;
(2) application layer 102 is called corresponding code, and above-mentioned user operation is converted into the interface function that one or more operating system provides, " preservations " operate and transform into calling of interface function that sequence of operations system kernel layer 103 is provided;
(3) operating system nucleus layer 103 is converted into by each operating system interface function the interface function that one or more hardware mapping layers 104 provide; I.e. " preservation " operation transforms into calling of interface function that a series of hardware mapping layers 104 are provided;
(4) interface function that hardware mapping layer 104 provides oneself each is converted into one or more hardware instructions and calls; Finally,
(5) hardware layer 105 (for example CPU) receives above-mentioned hardware instruction and calls and carry out hardware instruction.
For this computing equipment, after it is invaded by malicious code, malicious code can be obtained desired data from computing equipment, steal data after its behavior pattern comprise:
(1) storage behavior: target data content is saved in to certain memory location;
(2) transport behavior: the data of stealing are directly arrived to the destination address of appointment by Internet Transmission.
In addition, use the behavior pattern that the personnel of above-mentioned computing equipment or information equipment carry out divulging a secret inside to comprise:
(1) initiatively divulge a secret: concerning security matters personnel are copied, by malice instrument, penetrated security system, inserted the means such as wooden horse and directly obtain confidential data by active, and divulge a secret;
(2) passive divulging a secret: the computer of concerning security matters librarian use or storage medium are not good at losing or improper use (for example by concerning security matters equipment directly access Internet) causes divulges a secret because of keeping.
The above-mentioned multiple mode of divulging a secret cannot ensure the data security of this computing equipment.
Inventor finds after deliberation, and in computer run process, cpu address register is preserved the address of next machine instruction that will move, the address that for example pc (program counter, programmable counter) points to; Obtain the data in this register, and the address of pointing to according to these data, read the lower one or more of machine instruction that will move, in the time of can realizing operation, catch the object of machine instruction.
And, by revising the dispatch command fragment for the treatment of that described one or more machine instruction forms, (for example insert therein extra jump instruction, be called instruction recombination herein), make to regain CPU right of execution before this section of instruction operation is complete, and again catch the next one and treat dispatch command fragment, in the time of can realizing operation, catch continuously the object of machine instruction.
And, getting after dispatch command fragment, can also machine instruction wherein be analyzed and be processed, thereby in the time of not only can realizing operation, instruction be caught, recombinated, and can also realize the management to predetermined target instruction target word.
instruction recombination or instruction tracing
Based on above-mentioned analysis and discovery, a kind of instruction recombination method when operation is provided in one embodiment of the present of invention, is called instruction recombination platform during the method operation.As shown in Figure 2, the method S100 comprises:
S101, buffer memory instruction operation environment; Described instruction operation environment comprises address register, and address register is preserved the address of next machine instruction that will move, and this address is the first address;
S102, obtains machine instruction fragment to be scheduled; Wherein, the last item instruction of machine instruction fragment to be scheduled is the first jump instruction;
S103, before described the first jump instruction, inserts the second jump instruction, generates and has two address restructuring instruction fragment; The entry address of described the second jump instruction directional order restructuring platform, carries out after this second jump instruction, execution step S101;
S104, is revised as the second address by the first address in described address register; With
S105, recovers described instruction operation environment.
In the present embodiment, instruction recombination method is carried out on the CPU of X86-based during above-mentioned operation; In other embodiments of the invention, instruction recombination method also can be carried out on MIPS processor or the processor based on ARM framework during above-mentioned operation.One of ordinary skill in the art will appreciate that, in the instruction process unit of any other type that said method can be in computing equipment, carry out.
Wherein, in step S101, described buffer memory instruction operation environment can comprise:
To being pressed into CPU machine instruction in buffer memory stack, move relevant register data.
In other embodiments of the invention, buffer memory or the running environment of holding instruction also can be carried out in other data cached structures appointment, acquiescence and address.
In step S101, described address register can be cpu address register.
In step S102, in machine instruction fragment to be scheduled, the last item instruction is the first jump instruction, in machine instruction fragment to be scheduled, only have a jump instruction, machine instruction fragment to be scheduled comprise described the first jump instruction with and machine instruction all to be scheduled before.
In step S103, the last item instruction (i.e. the first jump instruction JP1) in described machine instruction fragment to be scheduled is front, insert the second jump instruction JP2, the entry address of described JP2 directional order restructuring platform, generates and has the second address A " restructuring instruction fragment.
Inserting the second jump instruction is for when CPU moves described machine instruction fragment to be scheduled, before JP1 operation, restart to move described instruction recombination platform, like this, instruction recombination platform just can continue to analyze next section of machine instruction fragment to be scheduled, thus the restructuring of instruction while completing all operations by method iterates.
In step S105, recovering described instruction operation environment can comprise:
From buffer memory stack, eject the register data that instruction operation is relevant; The destination address of the jump instruction that wherein address register is preserved has been revised as that to take the second address A " be the new machine instruction fragment of entry address.
After step S105 carries out, recovered described instruction operation environment, instruction recombination platform completes once operation, and CPU carries out described restructuring instruction fragment, and CPU will carry out that to take the second address A " be the machine instruction fragment of entry address.When restructuring instruction fragment is carried out the second jump instruction JP2, described instruction recombination platform obtains CPU control (performing step S101) again, now the destination address of the first jump instruction obtains, this destination address is the first new address, then re-executes step S101~step S105.
Below in conjunction with Fig. 3, further illustrate the generative process of instruction recombination process and restructuring instruction fragment.
Fig. 3 comprises machine instruction set 401 to be scheduled (being for example written into the machine instruction of certain program in internal memory), wherein instruction 4012 is the first jump instruction, if the destination address of instruction 4012 is variable, first presumptive instruction 4012 points to machine instruction 4013; The machine instruction all to be scheduled that comprises the first jump instruction 4012 before the first jump instruction 4012 has formed machine instruction fragment 4011.
(instruction recombination platform 411), first buffer memory instruction operation environment after the operation of instruction recombination method; Then obtain (for example copy) machine instruction fragment 4011; It is own that instruction recombination platform has inserted the second jump instruction 4113, the second jump instruction 4113 directional order restructuring platforms 411 before the first jump instruction 4012, thereby generated restructuring instruction fragment 4111, and the address of restructuring instruction fragment is A "; The value A of the address register in the instruction operation environment of described buffer memory is revised as to address A "; Finally recover described instruction operation environment.
Instruction recombination platform 411 finishes after operation, and CPU carries out take A, and " be the restructuring instruction fragment of address, when execution is during to the second jump instruction 4113, instruction recombination platform 411 can regain CPU control.Now, the destination address 4013 of the first jump instruction 4012 has generated, this destination address is the first new address, instruction recombination platform restarts to perform step S101~step S105 according to this destination address, continue to analyze follow-up machine instruction to be scheduled, thus the method for instruction recombination while having completed operation.
According to a further embodiment of the invention, as shown in Figure 4, in step S102, obtaining machine instruction fragment to be scheduled can comprise:
S1021, for example, reads machine instruction to be scheduled address from address register (cpu address register);
S1022, take jump instruction as searched targets, retrieves machine instruction and subsequent instructions thereof that described machine instruction address is pointed to, until find first jump instruction (being called the first jump instruction); Described jump instruction refers to change the machine instruction that machine instruction is sequentially carried out flow process, comprises Jump instruction, Call instruction, Return instruction etc.;
S1023, described the first jump instruction is usingd and machine instruction all to be scheduled before as a machine instruction fragment to be scheduled; This machine instruction fragment is kept in instruction recombination platform, or the memory location that can read of other instruction recombination platforms.
In other embodiments of the invention, obtaining machine instruction fragment to be scheduled, also can to take non-jump instruction (such as writing instruction, reading command etc.) be searched targets, further cutting machine instruction fragment.Due in such embodiments, also need to guarantee wait dispatch jump instruction carry out after instruction recombination platform still can obtain CPU control or right of execution, so jump instruction need to be as the second searched targets, thereby obtain the machine instruction fragment that granularity is less.
According to a further embodiment of the invention, between step S102 and S103, during described operation, instruction recombination method can also comprise:
Utilize the described machine instruction fragment to be scheduled of instruction set coupling, obtain target machine instruction; Described instruction set comprises X86, MIPS and ARM instruction set; With
According to predetermined mode, revise described target machine instruction.
In the time of not only can completing operation, instruction monitoring, can also carry out other processing procedures, and related embodiment will be described in detail below.
Further, in order to improve the efficiency of instruction recombination method, the pointed dispatch command for the treatment of of fixed address jump instruction can be obtained in the lump in step S102.
According to a further embodiment of the invention, a kind of instruction recombination method when operation is provided, the method S300 comprises:
S301, buffer memory instruction operation environment; Described instruction operation environment comprises address register, and address register is preserved the address of next machine instruction that will move, and this address is the first address;
S302, obtains machine instruction fragment to be scheduled; Wherein, the last item instruction of machine instruction fragment to be scheduled is the first jump instruction;
S303, before described the first jump instruction, inserts the second jump instruction, generates and has two address restructuring instruction fragment; The entry address of described the second jump instruction directional order restructuring platform, carries out after this second jump instruction, execution step S301;
S304, is revised as the second address by the first address in described address register;
S305, recovers described instruction operation environment.
Compare with the method providing in embodiment before, difference is: in step S302, in machine instruction fragment to be scheduled, can comprise many jump instructions; In jump instruction, only have an argument address jump instruction, be called the first jump instruction.
It should be noted that, jump instruction can comprise two classes, argument address jump instruction and constant address jump instruction, wherein, the jump address of constant address jump instruction is constant (being immediate), and argument address in argument address jump instruction generally calculates in a machine instruction before jump instruction.
Similarly, the last item instruction of machine instruction fragment to be scheduled is the first jump instruction; Machine instruction fragment to be scheduled comprise described the first jump instruction with and machine instruction all to be scheduled before.
Further, because the machine instruction generating in program operation process has very high repeatability, in order to improve the efficiency of instruction recombination method, save the computational resource (cpu resource) of computing equipment, can utilize a small amount of storage space to preserve restructuring instruction fragment.
A kind of instruction recombination method while according to a further embodiment of the invention, providing operation.As shown in Figure 5, the method S200 comprises:
S201, buffer memory instruction operation environment; Described instruction operation environment comprises address register (for example cpu address register) (in general, instruction operation environment refers to all registers of CPU, comprise general-purpose register, status register, address register etc.), address register is preserved the address of next machine instruction that will move, and this address is the first address;
S202, utilizes the corresponding table in described the first address search address; The corresponding table in described address is for representing whether the dispatch command fragment for the treatment of that the first address A points to has the restructuring instruction fragment of having preserved, and the data of the corresponding table in address are address pair;
S203, if find corresponding record, is revised as described the first address A (being the value A of address register) the address A ' of the restructuring instruction fragment of having preserved;
S204, if do not find corresponding record, obtains machine instruction fragment to be scheduled; Wherein, the last item instruction of machine instruction fragment to be scheduled is the first jump instruction;
S205, before described the first jump instruction, inserts the second jump instruction, generates and has two address restructuring instruction fragment; The entry address of described the second jump instruction directional order restructuring platform, carries out after this second jump instruction, execution step S201;
S206, is revised as the second address by the first address in described address register;
S207, recovers described instruction operation environment.
Further, step S206 also comprises: utilize the second address A " sets up address to (or a record) in the corresponding table in described address with the first address A.There is address A " restructuring instruction fragment be stored in restructuring instruction platform, for reusing.
This method is utilized the corresponding table in address, saves computational resource, the efficiency of instruction recombination while improving operation.
Above-mentioned recombination method, generally by treating that inserting required jump instruction among dispatch command fragment completes, in other embodiments of the invention, also can complete the generation of restructuring instruction fragment by other means.Below in conjunction with embodiment, introduce in detail.
According to a further embodiment of the invention, provide a kind of instruction recombination method, open up separately the destination address that the first jump instruction is preserved in memory location.As shown in Figure 6, the method S110 comprises:
S111, buffer memory instruction operation environment;
S112, reads destination address from the first memory location, obtains the machine instruction fragment for the treatment of scheduling (pending) according to destination address; Wherein, the last item instruction of machine instruction fragment to be dispatched is the first jump instruction;
S113, preserves the destination address of the first jump instruction in the first memory location;
S114, replaces with the second jump instruction by the first jump instruction, generates and has two address restructuring instruction fragment; The entry address of described the second jump instruction directional order restructuring platform, carries out after this second jump instruction, execution step S111;
S115, recovers described instruction operation environment, and jumps to the second address continuation execution.
Wherein, in step S112, obtaining machine instruction fragment to be scheduled can comprise:
S1121, take jump instruction as searched targets, retrieve machine instruction and subsequent instructions thereof that described machine instruction address is pointed to, until find first jump instruction (being called the first jump instruction);
Described jump instruction refers to change the machine instruction that machine instruction is sequentially carried out flow process, comprises Jump instruction, Call instruction, Return instruction etc.;
S1122, described the first jump instruction is usingd and machine instruction all to be scheduled before as a machine instruction fragment to be scheduled; This machine instruction fragment is kept in instruction recombination platform, or the memory location that can read of other instruction recombination platforms.
In step S113, destination address is the destination address parameter of jump instruction, and it can be immediate or variable parameter, for immediate, preserves its value, for variable parameter, preserves its address/quote.When processor is about to carry out certain jump instruction, its jump target addresses is complete as calculated.
According to a further embodiment of the invention, provide a kind of instruction recombination method, for on-fixed length instruction collection, carry out dis-assembling and compilation process.As shown in Figure 7, the method comprises:
S121, buffer memory instruction operation environment;
S122, reads destination address from the first memory location, according to destination address, obtains and treats dispatch command fragment:
From destination address, obtain one section of machine instruction to be scheduled, this section of machine instruction carried out to dis-assembling, and dis-assembling result is processed and mated by a lexical analyzer whether wherein comprise jump instruction, if do not comprised, continue to obtain next section of machine instruction to be scheduled and repeat aforesaid operations, until match jump instruction, this jump instruction is the first jump instruction; The first jump instruction and all instructions before form treats dispatch command fragment;
S123, preserves the destination address of the first jump instruction in the first memory location;
S124, replaces with the second jump instruction by the first jump instruction, generates and has two address restructuring instruction fragment; The entry address of described the second jump instruction directional order restructuring platform; In the present embodiment, this first jump instruction and the second jump instruction are all assembly instruction;
S125, generates corresponding machine code by the assembly code after the restructuring of generation by assembler; With
S126, recovers described instruction operation environment, and jumps to the second address continuation execution.
According to a further embodiment of the invention, provide a kind of instruction recombination method, with pop down instruction, substitute or record the first jump instruction.As shown in Figure 8, the method S130 comprises:
S131, buffer memory instruction operation environment;
S132, obtains address and the parameter of the jump instruction of preserving in stack, calculates the instruction address that next is about to operation, and this address is the first address;
S133, waits the machine instruction fragment of dispatching/carrying out according to the first address acquisition; Wherein, the last item instruction of machine instruction fragment to be dispatched is the first jump instruction;
S134, replacing the first jump instruction is pop down instruction, records address and the operand of the first jump instruction in pop down instruction;
S135 adds the second jump instruction after pop down instruction, generates and has two address restructuring instruction fragment; The entry address of described the second jump instruction directional order restructuring platform; With
S136, recovers described instruction operation environment, and jumps to the second address continuation execution.
One of ordinary skill in the art will appreciate that, the function providing in above-mentioned each embodiment or feature can be superimposed upon in same embodiment according to the actual needs, and just combination provides no longer one by one here, only gives one example below and carries out exemplary illustration.
According to a further embodiment of the invention, provide a kind of instruction recombination method, as shown in Fig. 9 a, comprising:
(1) buffer memory instruction operation environment, described instruction operation environment comprises whole CPU environment and memory environment; Obtain address and the parameter of the jump instruction of preserving in stack, calculate the instruction address (zero-address) that next is about to operation, the first address is set to zero-address;
(2) utilize the first address to search address correspondence and show (also referred to as address search table), if find record, recover the instruction operation environment of institute's buffer memory, and jump to corresponding address (address in the corresponding table in address is internal) the continuation execution of finding;
(3) if do not find record, since the first address, obtain pending machine instruction fragment, the ending of instruction fragment is jump instruction (jump instruction address is the 3rd address);
(4) since the first address, machine code is carried out to dis-assembling, and dis-assembling result is processed by a lexical analyzer, generate the assembly code after restructuring, until the 3rd address;
(5) whether the code that judges the 3rd place, address can further be processed, the destination address of the jump instruction at the 3rd address place be known quantity (for example, immediate), if can, the first address is set to the 3rd address (or destination address of the 3rd address), restarts to carry out (3);
(6) if cannot, assembly code after the restructuring generating is last, add pop down instruction to record the original address position of current the 3rd address (i.e. the value of the 3rd address) and operand, and after pop down instruction, add and jump to the instruction that starts of restructuring platform, can make step (1) again start to carry out;
(7) assembly code after the restructuring of generation is generated to corresponding machine code by assembler, and be stored in the address (the second address) distributing in restructuring address space, and the second address and zero-address are stored in the corresponding table in address with the right form of corresponding address;
(8) recover environment, and jump to the second address continuation execution.
For convenient, understand, the existing method of moving this embodiment and providing with X86 system processor describes, and with reference to figure 9b-9d, an instantiation procedure of instruction recombination is as follows;
(1) restructuring is after platform starts working, first buffer memory present instruction running environment; Obtain address and the parameter of the jump instruction of preserving in stack, calculate the instruction address that next is about to operation, this address is the first address.
(2) utilize the first address to search the corresponding table in address, if find record, recover the instruction operation environment of institute's buffer memory, and jump to the corresponding address continuation execution (Fig. 9 b) of finding; If do not find record, proceed as follows (Fig. 9 c).
(3) dis-assembling, since the first address, is carried out by machine code in-(6), and dis-assembling result is processed by a lexical analyzer, generates restructuring code;
This paragraph assembly code is retrieved, checked and whether comprise jump instruction;
First jump instruction is analyzed, judged whether its jump target addresses is known quantity, if known quantity continues to find, until find the jump instruction of article one argument address, be called the first jump instruction, the address of this instruction is the 3rd address;
At the assembly code (machine instruction from three addresses, the first address to the, does not comprise the first jump instruction) generating, finally add pop down instruction to record original address position and the operand of the first redirect of current the 3rd address;
After pop down instruction, add and jump to the instruction (the second jump instruction) that restructuring platform starts.
(7) assembly code of generation is generated to corresponding machine code by assembler, and be stored in the address (the second address) distributing in restructuring address space;
The second address and zero-address are stored in the corresponding table in address with the right form of corresponding address.
(8) recover environment, and jump to the second address continuation execution.
(Fig. 9 d) processor starts to carry out two address instruction, and the jump instruction in instruction fragment to be reorganized before has replaced with the instruction of pop down instruction and redirect duplicate removal group platform, and the main object of pop down instruction is to provide input parameter to restructuring platform.(Fig. 9 d) is when carrying out to the second jump instruction, restructuring platform is carried out again, carries out above-mentioned step (1), by checking address and the parameter of the jump instruction of preserving in pop down instruction, calculate the instruction address that next is about to operation, this address is the first address.
Processing is afterwards the circulation of said process.
Further, instruction monitoring while moving in order to carry out from system starts, while realizing the operation of computing equipment operation phase, instruction is monitored entirely, in another embodiment of the present invention, load instruction while revising computer starting, before carrying out, load instruction calls instruction recombination platform provided by the invention, instruction recombination method while carrying out above-mentioned operation, because load instruction jump address is known fixed address, instruction recombination platform can establish the corresponding table in address and this article one record in advance, and establishes first restructuring instruction fragment.
Further, according to a further embodiment of the invention, provide a kind of computer-readable medium, wherein, in described computer-readable recording medium, store the executable program code of computing machine, the step of described program code instruction recombination method when carrying out the operation that above-described embodiment provides.
Further, according to a further embodiment of the invention, provide a kind of computer program, wherein, the step of instruction recombination method when the operation providing in above-described embodiment is provided described computer program.
instruction recombination for data security
During above-mentioned operation, instruction recombination method provides the foundation for further application.Instruction recombination method when the various operation that instruction is processed for different machines is provided in the following examples, comprising storage/reading command, I/O instruction, and Internet Transmission instruction:
(1) storage/reading command refers to all instruction or packing of orders that External memory equipment (including but not limited to disk, mobile storage, optical storage) is stored/read in computer system.
(2) I/O instruction refers to the instruction of the address space of all operations peripheral hardware in computer system, and these instructions finally can affect peripheral hardware input/output state, data, signal etc.The I/O Address space here includes but not limited to (I/O address space, memory-mapped I/O device address space).
(3) Internet Transmission instruction refers to all instructions that affect the network equipment in computer system, and these instructions finally can affect all correlation properties such as the transmission, state, data, signal of computer system network equipment.
Wherein, between storage/reading command and I/O instruction, can there is common factor.
According to one embodiment of the invention, instruction recombination method S400 when a kind of operation for storage/reading command is provided, comprising:
S401, buffer memory instruction operation environment; Described instruction operation environment comprises address register, and address register is preserved the address of next machine instruction that will move, and this address is the first address;
S402, utilizes the corresponding table in described the first address search address;
S403, if find corresponding record, is revised as described the first address A the address A ' of the restructuring instruction fragment of having preserved;
S404, if do not find corresponding record, the generation method of restructuring instruction fragment comprises:
S4041, obtains machine instruction fragment to be dispatched; Wherein, the last item instruction of machine instruction fragment to be scheduled is the first jump instruction; S102 is identical with step;
S4042, machine instruction fragment to be dispatched described in dis-assembling, obtains assembly instruction fragment;
S4043, searched targets assembly instruction, described target assembly instruction is storage/reading command;
S4044, if retrieval obtains the storage/reading command in described assembly instruction fragment, storage and the reading address revised are wherein the address on safety storage apparatus; Alter mode can be the direct mapping between local address space and safety storage apparatus address space;
S4045, before described the first jump instruction JP1, inserts the second jump instruction JP2, the entry address of described JP2 directional order restructuring platform;
S4046, the assembly instruction fragment revised of compilation, generation has address A " restructuring machine instruction fragment;
The restructuring instruction fragment that S4047, utilizes restructuring machine instruction sheet sector address A " set up a record (or address to) with the first address A in the corresponding table in described address, have address A " is stored in recombinates in instruction platform;
S4048, is revised as the second address A by the first address A ";
S405, recovers described instruction operation environment.
The present embodiment carries out instruction process after dis-assembling step; In other embodiments, also can omit dis-assembling and corresponding compilation step, directly handling machine instruction.
In step S4044, for storage and reading command, operate, revise target and source address wherein, to realize storage reorientation/redirected, guarantee data security.The method of safe storage/read will be introduced in the following examples provided by the invention more specifically.
According to one embodiment of the invention, instruction recombination method S500 when a kind of operation for I/O instruction is provided, comprising:
S501, buffer memory instruction operation environment; Described instruction operation environment comprises address register, and address register is preserved the address of next machine instruction that will move, and this address is the first address;
S502, utilizes the corresponding table in described the first address search address;
S503, if find corresponding record, is revised as described the first address A the address A ' of the restructuring instruction fragment of having preserved;
S504, if do not find corresponding record, the generation method of restructuring instruction fragment comprises:
S5041, obtains machine instruction fragment to be dispatched; Wherein, the last item instruction of machine instruction fragment to be scheduled is the first jump instruction; S102 is identical with step;
S5042, machine instruction fragment described in dis-assembling, obtains assembly instruction fragment;
S5043, searched targets assembly instruction, described target assembly instruction is I/O instruction;
S5044, if retrieval obtains the I/O instruction in described assembly instruction fragment, all stops the input instruction in described I/O instruction;
S5045, before described the first jump instruction JP1, inserts the second jump instruction JP2, the entry address of described JP2 directional order restructuring platform;
S5046, the assembly instruction fragment revised of compilation, generation has address A " restructuring machine instruction fragment;
The restructuring instruction fragment that S5047, utilizes restructuring machine instruction sheet sector address A " set up a record (or address to) with the first address A in the corresponding table in described address, have address A " is stored in recombinates in instruction platform;
S5048, is revised as the second address A by the first address A ";
S505, recovers described instruction operation environment.
The present embodiment carries out instruction process after dis-assembling step; In other embodiments, also can omit dis-assembling and corresponding compilation step, directly handling machine instruction.
In step S5044, for I/O, instruction operates, and the input instruction in described I/O instruction is all stoped, to realize the write operation of thorough blocking-up to local hardware device; In conjunction with the storage instruction process process in a upper embodiment, can also realize the prevention to the input instruction except storage instruction, can improve the data security in computing equipment.
According to one embodiment of the invention, instruction recombination method S600 when a kind of operation for Internet Transmission instruction is provided, comprising:
S601, buffer memory instruction operation environment; Described instruction operation environment comprises address register, and address register is preserved the address of next machine instruction that will move, and this address is the first address;
S602, utilizes the corresponding table in described the first address search address;
S603, if find corresponding record, is revised as described the first address A the address A ' of the restructuring instruction fragment of having preserved;
S604, if do not find corresponding record, the generation method of restructuring instruction fragment comprises:
S6041, obtains machine instruction fragment to be dispatched; Wherein, the last item instruction of machine instruction fragment to be scheduled is the first jump instruction; S102 is identical with step;
S6042, machine instruction fragment to be dispatched described in dis-assembling, obtains assembly instruction fragment;
S6043, searched targets assembly instruction, described target assembly instruction is Internet Transmission instruction;
S6044, if retrieval obtains the Internet Transmission instruction in described assembly instruction fragment, checks whether remote computing devices corresponding to destination address in described Internet Transmission instruction is secure address, if not, stop described Internet Transmission instruction;
S6045, before described the first jump instruction JP1, inserts the second jump instruction JP2, the entry address of described JP2 directional order restructuring platform;
S6046, the assembly instruction fragment revised of compilation, generation has address A " restructuring machine instruction fragment;
The restructuring instruction fragment that S6047, utilizes restructuring machine instruction sheet sector address A " set up a record (or address to) with the first address A in the corresponding table in described address, have address A " is stored in recombinates in instruction platform;
S6048, is revised as the second address A by the first address A ";
S605, recovers described instruction operation environment.
In step S6044, the instruction of stop/refusal Internet Transmission can replace with the transfer instruction of itself " cancelling the instruction of current operation " or directly replace with illegal command by inserting one to many instructions in the code after restructuring, be depending on the difference of hardware.
The present embodiment carries out instruction process after dis-assembling step; In other embodiments, also can omit dis-assembling and corresponding compilation step, directly handling machine instruction.
In step S6044, for Internet Transmission, instruction operates, and checks whether remote computing devices corresponding to destination address in described Internet Transmission instruction is secure address; If not, stop described Internet Transmission instruction, to realize Security Data Transmission.
The corresponding table in address in above-mentioned a plurality of embodiment is set up and is safeguarded by instruction recombination platform, can be the structure of arrays of regular length, can be also the list structure of variable-length, can also be the suitable data structure of other storage binary datas.Preferably, its adjustable in length, and it takes up room and can discharge.The operation that discharges the corresponding table in address can be carried out at random, also can carry out in the cycle.In certain embodiments, the corresponding table in described address can also comprise and record field Time Created, for when the Free up Memory deletion record, according to the length deletion record of Time Created.In certain embodiments, the corresponding table in described address can also comprise and records access times field, in searching address corresponding table step, if found, will change the value of this field; The described access times field that records is also for when the Free up Memory deletion record, according to how many deletion records of access times.
In addition, those skilled in the art will appreciate that above-mentioned instruction recombination method (instruction recombination method while moving) can be used the method for software or hardware to realize:
(1) if realized with software, the step that said method is corresponding is stored on computer-readable medium with the form of software code, becomes software product;
(2) if realized with hardware, the step that said method is corresponding for example, is described with hardware identification code (Verilog), and curing (through processes such as physical Design/placement-and-routing/wafer factory flows) becomes chip product (for example processor products).To introduce in detail below.
instruction recombination device
During with above-mentioned operation, instruction recombination method S100 is corresponding, according to one embodiment of the invention, and instruction recombination device when a kind of operation is provided.As shown in figure 10, instruction recombination device 500 comprises:
Instruction operation environment buffer memory and recovery unit 501, be suitable for buffer memory and recover instruction operation environment; Described instruction operation environment comprises address register, and this address register is preserved the address of next machine instruction that will move, and this address is the first address;
Instruction fetch unit 502, is suitable for, after unit 501 buffer memory instruction operation environment, obtaining machine instruction fragment to be scheduled; Wherein, the last item instruction of machine instruction fragment to be scheduled is the first jump instruction;
Instruction recombination unit 503, is suitable for resolving, revising described machine instruction fragment to be scheduled, comprising: before the first jump instruction, insert the second jump instruction, generate and have the second address A " restructuring instruction fragment; Described the second jump instruction indicator device 500, carries out after this second jump instruction, and instruction operation environment buffer memory and the recovery unit 501 of device 500 are processed next time; With
Address replacement unit 504, is suitable for the value of the address register in the instruction operation environment of described buffer memory to be revised as the address of restructuring instruction fragment.
Described instruction operation environment buffer memory and recovery unit 501 respectively and instruction acquiring unit 502 and address replacement unit 504 couple, described instruction fetch unit 502, and 503He address, instruction recombination unit replacement unit 504 couples successively.
Install 500 implementations as follows:
First, instruction operation environment buffer memory and recovery unit 501 buffer memory instruction operation environment, for example, be pressed into the register data that instruction operation is relevant in buffer memory stack;
Then, described instruction fetch unit 502 reads machine instruction to be scheduled address from cpu address register 511, and reads machine instruction fragment from described machine instruction address, and the instruction of described machine instruction fragment the last item is jump instruction;
For example, instruction fetch unit 502 reads machine instruction to be scheduled address from cpu address register 511; Take jump instruction as searched targets, retrieve machine instruction corresponding to described machine instruction address, until find first jump instruction; Described jump instruction comprises such as Jump instruction and Call instruction etc.; Using described first jump instruction and all machine instructions before thereof as a machine instruction fragment to be scheduled; This machine instruction fragment is kept in device 500, or the memory location that can read of other device 500;
Then, instruction recombination unit 503, before the last item instruction of the described machine instruction fragment of obtaining, inserts the second jump instruction, and the entry address of described the second jump instruction indicator device 500 generates and has address A " restructuring instruction fragment;
Then, address replacement unit 504 is revised as address A by the value A of the address register in the instruction operation environment of described buffer memory ";
Finally, instruction operation environment buffer memory and recovery unit 501 recover described instruction operation environment, for example, from buffer memory stack, eject the register data that instruction operation is relevant.
During with above-mentioned operation, instruction recombination method S300 is corresponding, and described instruction fetch unit 502 can be using first non-constant address jump instruction as the first jump instruction.To improve the execution efficiency of reconstruction unit.
During with above-mentioned operation, instruction recombination method S200 is corresponding, according to a further embodiment of the invention, instruction recombination device when a kind of operation is provided, in the time of can making full use of operation, instruction repeatability, raises the efficiency, and saves computational resource.
As shown in figure 11, instruction recombination device 600 comprises:
Instruction operation environment buffer memory and recovery unit 601, be suitable for buffer memory and recover instruction operation environment; Described instruction operation environment comprises address register, and address register is preserved the address of next machine instruction that will move, and this address is the first address;
Instruction fetch unit 602, is suitable for obtaining machine instruction fragment to be scheduled; Wherein, the last item instruction of machine instruction fragment to be scheduled is the first jump instruction;
Instruction recombination unit 603, machine instruction fragment to be dispatched described in being suitable for resolving, revising, comprising: before the first jump instruction, insert the second jump instruction, to generate, have two address restructuring instruction fragment; Described the second jump instruction indicator device 600, carries out after this second jump instruction, and instruction operation environment buffer memory and the recovery unit 601 of device 600 are processed next time;
Address replacement unit 604, is suitable for the value of the address register in the instruction operation environment of described buffer memory to be revised as the address of restructuring instruction fragment; With
Instruction retrieval unit 605, is suitable for utilizing the corresponding table in described the first address search address; The corresponding table in described address is for representing whether the dispatch command fragment for the treatment of that the first address A points to has the restructuring instruction fragment of having preserved, and the data of the corresponding table in address are address pair;
If find corresponding record, instruction retrieval unit 605 is suitable for call address replacement unit 604, described the first address A (being the value A of address register) is revised as to the address A ' of the restructuring instruction fragment of having preserved; If do not find corresponding record, instruction retrieval unit is suitable for utilizing the second address A " sets up a record with address A in the corresponding table in described address.
Described instruction operation environment buffer memory and recovery unit 601 respectively and instruction retrieval unit 605 and address replacement unit 604 couple, described instruction retrieval unit 605 is and instruction acquiring unit 602 respectively, 603He address, instruction recombination unit replacement unit 604 couples, and described instruction fetch unit 602,603He address, instruction recombination unit replacement unit 604 couple successively.
The implementation of device 600 is as follows:
First, instruction operation environment buffer memory and recovery unit 601 buffer memory instruction operation environment, for example, be pressed into the register data that instruction operation is relevant in buffer memory stack;
Then, instruction retrieval unit 605 utilizes the value A of the address register in the instruction operation environment of described buffer memory to search the corresponding table in address;
If find corresponding record, instruction retrieval unit 605 call address replacement units 604, address replacement unit 604 is revised as the value A ' in record by the value A of described address register; Address replacement unit 604 call instruction running environment buffer memorys and recovery unit 602 to recover described instruction operation environment, eject the register data that instruction operation is relevant from buffer memory stack, and this reorganization operation finishes;
If do not find corresponding record, described instruction fetch unit 602 is from cpu address register read machine instruction to be scheduled address, and reads machine instruction fragment from described machine instruction address, and the instruction of described machine instruction fragment the last item is jump instruction.Concrete, instruction fetch unit 602 is from cpu address register read machine instruction to be scheduled address; Take jump instruction as searched targets, retrieve machine instruction corresponding to described machine instruction address, until find first jump instruction; Described jump instruction comprises Jump instruction and Call instruction etc.; Using described first jump instruction and all machine instructions before thereof as a machine instruction fragment to be scheduled; This machine instruction fragment is kept in device 600, or the memory location that can read of other device 600;
Then, instruction recombination unit 603, before the last item instruction of the described machine instruction fragment of obtaining, inserts the second jump instruction, and the entry address of described the second jump instruction indicator device 600 generates and has address A " restructuring instruction fragment;
Then, 603Jiang address, instruction recombination unit A " send to instruction retrieval unit 605, instruction retrieval unit 605 utilizes address A " sets up a record with the corresponding table in address A address therein; In order to subsequent instructions, reuse;
Then, address replacement unit 604 is revised as address A by the value A of the address register in the instruction operation environment of described buffer memory ";
Finally, instruction operation environment buffer memory and recovery unit 601 recover described instruction operation environment, from buffer memory stack, eject the register data that instruction operation is relevant.
Continuation is with reference to Figure 11, and wherein, instruction recombination unit 603 can also comprise:
Instruction resolution unit 6031, is suitable for utilizing instruction set to mate described machine instruction fragment, obtains pending target machine instruction (utilizing target instruction target word to retrieve machine instruction fragment to be scheduled); Described instruction set comprises X86, MIPS and ARM instruction set;
Modifying of order unit 6032, is suitable for according to predetermined mode, revises described target machine instruction.
For example, if described target instruction target word is storage/reading command, described instruction resolution unit 6031 will be responsible for obtaining the storage/reading command in machine instruction fragment to be scheduled, and storage and reading address that described modifying of order unit 6032 is revised are wherein the address on safety storage apparatus.Its effect is identical with above-mentioned corresponding embodiment of the method S400, repeats no more here.
Again for example, if described target instruction target word is I/O instruction, described instruction resolution unit 6031 will be responsible for obtaining the I/O instruction in machine instruction fragment to be scheduled, and described modifying of order unit 6032 all stops the input instruction in described I/O instruction.Its effect is identical with above-mentioned corresponding embodiment of the method S500, repeats no more here.
Again for example, if described target instruction target word is Internet Transmission instruction, described instruction resolution unit 6031 will be responsible for obtaining the Internet Transmission instruction in machine instruction fragment to be scheduled, and whether remote computing devices corresponding to destination address in the described Internet Transmission instruction of described modifying of order unit 6032 check is secure address; If not, described modifying of order unit is suitable for stoping described Internet Transmission instruction.Its effect is identical with above-mentioned corresponding embodiment of the method S600, repeats no more here.
According to a further embodiment of the invention, above-mentioned instruction recombination unit can also comprise dis-assembling unit and assembly unit.As shown in figure 12, instruction recombination unit 703 comprises: the dis-assembling unit 7031 coupling successively, instruction resolution unit 7032, modifying of order unit 7033 and assembly unit 7034.
Wherein, dis-assembling unit 7031 was suitable for before resolving, revising described machine instruction fragment to be scheduled, and machine instruction fragment to be scheduled described in dis-assembling, generates assembly instruction fragment to be scheduled; Send to instruction resolution unit 7032.
Assembly unit 7034 is suitable for after resolving, revising described machine instruction fragment to be scheduled, and the assembly instruction fragment after compilation restructuring, obtains the restructuring instruction fragment that machine code represents; Send to instruction replacement unit.
In this embodiment, described instruction resolution unit 7032 and modifying of order unit 7033 will operate assembly instruction fragment to be scheduled.
During with above-mentioned operation, instruction recombination method S110 is corresponding, according to a further embodiment of the invention, and instruction recombination device when a kind of operation is provided.As shown in figure 13, instruction recombination device 800 comprises:
Instruction operation environment buffer memory and recovery unit 801, be suitable for buffer memory instruction operation environment;
Instruction fetch unit 802 and the first memory location 803, wherein, instruction fetch unit 802 is suitable for reading destination address from the first memory location 803, and obtains according to destination address the machine instruction fragment for the treatment of scheduling/execution; Wherein, the last item instruction of machine instruction fragment to be dispatched is the first jump instruction; And
Instruction recombination unit 804, is suitable for the destination address in first memory location 803 preservation the first jump instructions, and the first jump instruction is replaced with to the second jump instruction, generates and has two address restructuring instruction fragment; The entry address of described the second jump instruction indicator device 800.
Wherein, instruction operation environment buffer memory and recovery unit 801 are also suitable for, after instruction recombination unit 804 replacement instructions, recovering described instruction operation environment, and jump to the second address continuation execution.
The implementation of device 800 is as follows:
First, instruction operation environment buffer memory and recovery unit 801 buffer memory instruction operation environment;
Then, instruction fetch unit 802 reads destination address (treating dispatch command address) from the first memory location 803, according to destination address, obtain machine instruction fragment to be dispatched; Wherein, the last item instruction of machine instruction fragment to be dispatched is the first jump instruction;
Then, the destination address of the first jump instruction is preserved in instruction recombination unit 804 in the first memory location 803; For immediate, preserve its value, for variable parameter, preserve its address/quote;
Then, instruction recombination unit 804 replaces with the second jump instruction by the first jump instruction, generates and has two address restructuring instruction fragment;
Finally, instruction operation environment buffer memory and recovery unit 801 recover described instruction operation environment, and jump to the second address continuation execution.
According to a further embodiment of the invention, instruction recombination device when a kind of operation is provided, S130 is corresponding with said method, and the feature that the device providing in above-mentioned some embodiment is provided.As shown in figure 14, this device 900 comprises:
Instruction operation environment buffer memory and recovery unit 901, be suitable for buffer memory and recover instruction operation environment;
Instruction fetch unit 902, the mode that is suitable for calculating by input parameter is obtained next instruction address that is about to operation, and this address is the first address; Also be suitable for treating according to the first address acquisition the machine instruction fragment of scheduling/execution; Wherein, the last item instruction of machine instruction fragment to be dispatched is the first jump instruction;
Instruction recombination unit 903, being suitable for replacing the first jump instruction is pop down instruction, records address and the operand of the first jump instruction in pop down instruction; Also be suitable for adding the second jump instruction after pop down instruction, generate and there is two address restructuring instruction fragment; The entry address of described the second jump instruction indicator device 900; Also be suitable for the second address of restructuring instruction fragment in the corresponding table in address, to set up a record with the first address;
Instruction retrieval unit 904, is suitable for utilizing the corresponding table in described the first address search address; The corresponding table in described address is for representing whether the dispatch command fragment for the treatment of that the first address is pointed to has the restructuring instruction fragment of having preserved, and the data of the corresponding table in address are address pair;
If find corresponding record, instruction retrieval unit 904 is suitable for call instruction running environment buffer memory and recovery unit 901 recovers the instruction operation environment of institute's buffer memory, and jumps to the corresponding address continuation execution (reorganization operation completes) of finding;
If do not find corresponding record, call instruction recomposition unit 903 is carried out reorganization operation.
Wherein, instruction recombination unit 903 can also comprise dis-assembling unit 9031, instruction resolution unit 9032, modifying of order unit 9033, and assembly unit 9034.
Wherein, when instruction recombination unit 902 completes after restructuring, be suitable for the instruction operation environment of call instruction running environment buffer memory and recovery unit 901 recovery institute buffer memorys, and jump to the address continuation execution (this reorganization operation completes) of restructuring instruction fragment.
According to a further embodiment of the invention, above-mentioned dis-assembling unit 9031 can be positioned among instruction fetch unit 902, when obtaining instruction fragment to be scheduled, by it, carries out dis-assembling operation.
It will be appreciated by those skilled in the art that, the arrow of the data stream in the accompanying drawing of said apparatus embodiment is just for the ease of explaining the concrete operations flow process in above-described embodiment, do not limit the data flow between unit or closure in figure, in device between unit for coupling relation.
Above by the detailed introduction of some embodiment instruction recombination method and apparatus during operation, it compared with prior art has the following advantages:
By instruction recombination method, can be under instruction operation state the instruction of monitoring calculation equipment;
Utilize the corresponding table in address, improved instruction recombination efficiency, saved computational resource;
For storage and reading command, operate, revise target and source address wherein, to realize storage reorientation/redirected, guarantee data security;
For I/O, instruction operates, and the input instruction in described I/O instruction is all stoped, to realize the write operation of thorough blocking-up to local hardware device; The prevention to the input instruction except storage instruction can also be realized, the data security in computing equipment can be improved;
For Internet Transmission, instruction operates, and checks whether remote computing devices corresponding to destination address in described Internet Transmission instruction is secure address; If not, stop described Internet Transmission instruction, to realize Security Data Transmission.
data security access procedure
Figure 15 is the system level schematic diagram of computing equipment in one embodiment of the invention.
Wherein, computing equipment (for example terminal system) 200 comprises: user interface layer 201, application layer 202, operating system nucleus layer 203, hardware mapping layer 204, safe floor 205, and hardware layer 206.
Wherein, hardware layer 206 further comprises CPU 2061, hard disk 2062 (being local memory device) and network interface card 2063.
In addition, computing equipment 200 couples with memory device 10 (being called again safety storage apparatus).
In the present embodiment, memory device 10 is remote disk array, connects the network interface card 2063 of hardware layer 206 by network, with computing equipment 200 swap datas.In other embodiments of the invention, memory device 10 can be also other memory devices known or UNKNOWN TYPE.
Wherein, hard disk 2062 also can replace with the local memory device of other types, and such as u dish and CD etc. just illustrates here, and unrestricted object.
In conjunction with above-mentioned hierarchical structure, the data security access procedure that the present embodiment provides comprises:
S1000, initialization;
S2000, data write; With
S3000, data read.
With reference to Figure 16, above-mentioned initialization procedure S1000 comprises:
S1010, the communication of setting up terminal system 200 and safety storage apparatus 10;
S1020, from safety storage apparatus 10, synchronization map bitmap (Bitmap) to current computer terminal system 200, for example, is kept in terminal system 200 internal memories; Described mapped bitmap is for representing whether the data of local memory device have stored safety storage apparatus into;
S1030, if Bitmap initialization are set up in the synchronous operation of step S1020 failure on safety storage apparatus 10, is then synchronized to terminal system 200.
Wherein, in order to distinguish Bitmap on terminal 200 and the Bitmap on memory device 10, hereinafter, except as otherwise noted, Bitmap in terminal system 200 is called to mapped bitmap or the first mapped bitmap, the Bitmap on safety storage apparatus 10 is called to the second mapped bitmap.
In step S1020, if synchronous the second mapped bitmap is to the operation failure of current computer terminal system 200 from memory device 10, illustrate that between memory device 10 and terminal system 200 be First Contact Connections.
Wherein, step S1030 can comprise:
Local storage space in terminal system 200 is mapped on memory device 10, and mapping relations are to take the mapping one by one that 1 sector (or base unit of other storages) is unit, and set up mapped bitmap (Bitmap).
In other embodiments of the invention, also can use other basic tankagies for unit sets up local storage space is to the Bitmap on memory device 100.
Figure 17 is the Bitmap schematic diagram in one embodiment of the invention.Figure comprises for example, storage medium 3000 on local memory device (hard disk in Figure 15 2062), the storage medium 4000 on the memory device 10 being connected with local memory device network.
The process prescription of setting up Bitmap is as follows.To storage medium 3000, on storage medium 4000, set up and its big or small identical storage space 4010, as mapping space one by one.In storage space 4010, preserve Bitmap 4020, Bitmap 4020 is a bitmap, wherein 1 represents 1 sector, on the data of each (0 or 1) signs/indication storage medium 3000, whether corresponding sector is in dump or the storage space 4010 of corresponding stored on storage medium 4000, so mapped bitmap also can be called dump list.After having set up, Bitmap 4020 on memory device 10 is synchronized in terminal system 200.
The process prescription that upgrades Bitmap is as follows.In Bitmap 4020, the sector mark of dump is 1, and the sector of non-dump does not have mark (dump sector and non-dump sector use mark can freely select).For example, when application program or operating system are preserved data when file (), the file system of operating system inside will be opened up a certain amount of storage space on the storage medium at local memory device 3000, for example sector 3040 and sector 3050, and distribute to this document and use, and rewrite local file allocation table.During this document dump (when the data that write sector 3040 and sector 3050 are stored on memory device 10), identical allocated sector, position 4040 and 4050 on storage medium 4000, and preserve therein unload database, finally change the bit data of sector 3040 in Bitmap 4020 and sector 3050 correspondences into 1.
In conjunction with Figure 15, above-mentioned data writing process S2000 further comprises:
S2010, application layer 202 is sent operating writing-file request by the file system of operating system nucleus layer 203, or operating system nucleus layer 203 directly sends operating writing-file request; Or
Application layer 202 is directly sent data writing operation request to hardware mapping layer 204, or operating system nucleus layer 203 directly sends data writing operation request to hardware mapping layer 204;
S2020, operating system nucleus layer 203 becomes hardware port instruction (being hardware instruction) by written document request analysis, is issued to hardware mapping layer 204, and wherein port command comprises the position (for example sector) that need to write memory device;
It should be noted that if step S2010 directly sends data writing operation request to hardware mapping layer 204, this request has been hardware port instruction;
S2030, the hardware port instruction that safe floor 205 receives from hardware mapping layer 204, and the writing position in port command (being sector) is rewritten as to the corresponding stored address being positioned on memory device 10, then upgrade the first mapped bitmap, for example bit data corresponding to described sector is revised as to 1, represents the dump of this sector; Safe floor 205 sends to hardware layer 206 by amended port command.
After ablation process is complete, terminal system 200 data that storage does not write, corresponding reorientation of data is stored on safety storage apparatus 10.
In another embodiment of the present invention, if write local hard drive instruction itself and to write network hard disc instruction different, so not only need change of address, also need to change storage instruction.
According to a further embodiment of the invention, ablation process S2000 can also comprise:
S2040, is synchronized to the first mapped bitmap on memory device 10, saves as the second mapped bitmap, thereby guarantees that the first mapped bitmap in terminal system 200 is consistent with the second mapped bitmap on memory device.
In other embodiments of the invention, in order to save system resource, S2040 also can carry out once before 200 shutdown of local terminal system in unification.
In conjunction with Figure 15, above-mentioned data read process S3000 further comprises:
S3010, is synchronized to the second mapped bitmap on memory device 10 in terminal system 200, saves as the first mapped bitmap;
S3020, application layer 202 is sent and is read file operation requests by the file system of operating system nucleus layer 203, or operating system nucleus layer 203 directly sends and reads file operation requests; Or
Application layer 202 is directly sent read data operation requests to hardware mapping layer 204, or operating system nucleus layer 203 directly sends read data operation requests to hardware mapping layer 204;
S3030, the data reading command that safe floor 205 receives from hardware mapping layer 204, obtain reading address (source address) wherein, search the first mapped bitmap, if it is dump address that the bit data in the first mapped bitmap represents described reading address, the reading address that safe floor 205 is revised port command is the address on memory device 10; Safe floor 205 sends to hardware layer 206 by amended port command.
This reads process does not affect the existing operator scheme of user, has realized reading for the data of dump on safety storage apparatus (being memory device 10).
In step S3010, from synchronous the second mapped bitmap of memory device 10 to local process, be for after having restarted in terminal system 200, keep the consistance of the data on local data and safety storage apparatus.
It will be understood by those skilled in the art that for above-mentioned data and write, read process and initialization procedure, carry out according to actual needs required process or step.
data safety access method
Based on above-mentioned data writing process and read process, describe data security storage provided by the invention and read method below in detail.
It will be understood by those skilled in the art that above and illustrate that in conjunction with Figure 15 reading of data is to understand for convenient with storing process, is not to limit, and in other embodiments of the invention, can on the applicable level of computing equipment, carry out each step described above.
According to one embodiment of the invention, provide a kind of secure storage method of data; As shown in figure 18, the method comprises the steps:
S4010, receives hardware instruction;
S4020, analyzes and judges whether this hardware instruction is storage instruction;
S4030, if this hardware instruction is storage instruction, revises destination address in storage instruction and is the memory address on corresponding memory device (being safety storage apparatus);
S4040, sends to hardware layer by amended storage instruction.
In step S4010, described hardware instruction can be the hardware instruction from hardware mapping layer.Reception can 100% from the hardware instruction of hardware mapping layer all hardware instructions (interface instruction) that send to the processors such as CPU of examination.
Wherein, in terminal system, can move Windows operating system, the hardware abstraction layer HAL in Windows system is hardware mapping layer.In other embodiments, terminal also can move other operating systems, Linux for example, and Unix or embedded OS etc., hardware mapping layer is Linux or Unix or hardware mapping layer corresponding to embedded OS.
In step S4010, instruction recombination method during in conjunction with above-mentioned operation, the process that receives hardware instruction can comprise: while adopting operation, instruction recombination method (for example S101-S105) is obtained hardware instruction.Change a kind of saying, exactly can be when when operation, instruction recombination method get machine instruction, process storage and reading command (for example S404, S504, or S604).Instruction recombination method during by operation, can not only store safety storage apparatus into by calculating net result reorientation, can also store the whole reorientations of the pilot process calculating (comprising the pilot process that operating system produces) into safety storage apparatus.
In step S4010 and S4020, hardware instruction can be the types such as X86 instruction, ARM instruction, MIPS instruction, can be in computing terminal built-in analysis mechanisms, to process dissimilar cpu instruction.
According to a further embodiment of the invention, after step S4030, can also comprise:
S4050, renewal the first mapped bitmap, be set to dump mark, for example " 1 " by destination address (sector) corresponding " position " in the first mapped bitmap; And, the mapped bitmap having upgraded is synchronized to described safety storage apparatus, save as the second mapped bitmap.
In the present embodiment, dump operation is completely transparent for upper layer application and user, does not affect the workflow of active computer operation, application system.
The said method that the present embodiment provides not only can be used in terminal system, can also be applied on any computing equipment and intelligent terminal that comprises application layer, operating system nucleus layer, hardware layer, before hardware layer is carried out instruction, realize instruction-level storage reorientation/redirected (i.e. the storage reorientation based on hardware store instruction/being redirected).
According to one embodiment of the invention, provide a kind of data safe reading method; With reference to Figure 19, the method comprises:
S5010, receives hardware instruction;
S5020, analyzes and judges whether this hardware instruction is reading command;
S5030, if reading command is obtained the source address in reading command, searches the first mapped bitmap, and according to the reading address in the data modification reading command of mapped bitmap; With
S5040, sends to hardware layer by amended hardware instruction.
Before step S5010, the method can also comprise S5000: the second mapped bitmap on memory device is synchronized in terminal system 200, saves as the first mapped bitmap.
In step S5010, described hardware instruction can be from hardware mapping layer.
In step S5010, instruction recombination method during in conjunction with above-mentioned operation, the process that receives hardware instruction can comprise: while adopting operation, instruction recombination method (for example S101-S105) is obtained hardware instruction.Change a kind of saying, can, when when operation, instruction recombination method got machine instruction, process storage and reading command (for example S400) exactly.
In step S5020, if this hardware instruction is not reading command, can directly hardware instruction be sent to hardware layer to go to carry out.
Step S5030 can also further be decomposed into two steps:
S5031, if reading command is obtained the source address in reading command, judges whether described source address is the address on memory device;
S5032, if described source address is not the address on memory device, searches the first mapped bitmap, and according to the reading address in the data modification reading command of mapped bitmap.
In step S5031, if the source address of this reading command has been the address on memory device, computing equipment (for example safe floor in Figure 15 205) need not be searched the data in the first mapped bitmap again, can directly hardware instruction be sent to hardware layer to go to carry out.
Further, in order to save Internet resources, in some embodiments of the invention, safety storage apparatus 10 can be used as the shared resource of a plurality of terminal systems.
Once mentioned above and data security storage and the combination of read method and instruction recombination method can be understood for convenient, below by embodiment, introduced in detail.
According to one embodiment of the invention, provide a kind of data safety access method.As shown in figure 20, the method S6000 comprises:
S6010, buffer memory instruction operation environment;
S6011, reads destination address from the first memory location, obtains the machine instruction fragment for the treatment of scheduling/execution according to destination address; Wherein, the last item instruction of machine instruction fragment to be dispatched is the first jump instruction;
S6012, preserves the destination address of the first jump instruction in the first memory location;
S6013, analyzes and judges whether each instruction in machine instruction to be dispatched is access instruction;
S6014, if access instruction:
For storage instruction, revise destination address in storage instruction and be the memory address on corresponding memory device (being safety storage apparatus); And revise the first mapped bitmap;
For reading command, obtain the source address in reading command, search the first mapped bitmap, and according to the reading address in the data modification reading command of mapped bitmap;
If write local hard drive instruction itself and to write network hard disc instruction different or read local hard drive instruction itself and to read network hard disc instruction different, so not only need modified address, also need corresponding storage instruction or the reading command revised;
S6015, replaces with the second jump instruction by the first jump instruction, generates and has two address restructuring instruction fragment; The entry address of described the second jump instruction directional order restructuring platform;
S6016, recovers described instruction operation environment, and jumps to the second address continuation execution.
It will be appreciated by those skilled in the art that, this embodiment just gives an example in order to illustrate, do not limit the array mode of safe read method, method for secure storing and instruction recombination method, the various safe read method of above-mentioned introduction, method for secure storing and instruction recombination method can be used in combination in various required modes.
Storing and reading is generally the exchanges data of carrying out for local memory device; Transmission generally refers to the exchanges data of being undertaken by the network equipment.
Further, in one embodiment of the invention, provide a kind of data safe transmission method.
As shown in figure 21, the method comprises:
S7010, receives (for example from hardware mapping layer) hardware instruction;
S7020, analyzes and judges whether this hardware instruction is Internet Transmission instruction;
S7030, if this hardware instruction is transfer instruction, reads destination address;
S7040, judges whether destination address is secure address;
S7050, if secure address sends to hardware layer by hardware instruction; If not secure address, refuse this instruction;
S7060, hardware layer transmission transfer instruction and data are to the terminal system of destination address;
S7070, the terminal system of destination address receives and utilizes secure storage method of data save data.
In step S7040, judge that whether destination address is that the method for secure address is as follows.With reference to Figure 22, security server 820 is connected with terminal system 800,810 by network, during data safe transmission method that terminal system 800,810 provides in disposing the above embodiment of the present invention, all to security server 820, has carried out registration operation.Secure address table of security server 820 internal maintenance, has recorded chartered all terminal systems.
When secure address table has change, security server 820 sends to each terminal by the secure address table of renewal automatically, and the framework of terminal system 800 comprises application layer 801, operating system nucleus layer 802, safe floor 803 and hardware layer 804, safe floor 803 is responsible for safeguarding this secure address table.
Safe floor 803 will, according to destination address whether in secure address table, judge whether destination address is secure address.In step S7040, if destination address has been listed secure address table in, destination address is secure address.
The enforcement of above-mentioned safe transmission method, also cannot transmit obtained information even if make wooden horse or malice instrument obtain classified information.Safe transmission method launches safe interconnect portion below to introduce in conjunction with the embodiments.
Although using terminal system in some embodiments of the invention as the main body of applying method provided by the invention, but, any handheld device, intelligent terminal etc. can provide the electronic equipment of file or data edition, preservation or transmission, can become the carrier of application data security access provided by the invention and transmission method.
In addition, those skilled in the art will appreciate that above-mentioned secure storage method of data, read method and transmission method can realize by the form of software or hardware:
(1) if realized with software, the step that said method is corresponding is stored on computer-readable medium with the form of software code, becomes software product;
(2) if realized with hardware, the step that said method is corresponding for example, with the formal description of hardware identification code (Verilog), and curing (through processes such as physical Design/placement-and-routing/wafer factory flows) becomes chip product (for example processor products).
data security access device
Corresponding with above-mentioned secure storage method of data, according to one embodiment of the invention, provide a kind of data safety storage device.
It should be noted that data safety storage device refers in the present invention: the device of realizing secure storage method of data with example, in hardware; Safety storage apparatus refers in the present invention: for the storage entity of dump information or data, such as disk etc.
With reference to Figure 23, data safety storage device 7100 comprises: receiving element 7110, instruction analysis unit 7120, modifying of order unit 7130 and transmitting element 7140.Described receiving element 7110 and instruction analytic units 7120 couple, and unit 7130 is revised and transmitting element 7140 couples in instruction analysis unit 7120 respectively and instruction, and transmitting element 7140 is gone back and instruction and revised unit 7130 and couple.
Wherein, receiving element 7110 is suitable for receiving hardware instruction, and described hardware instruction can be from hardware mapping layer;
Instruction analysis unit 7120 is suitable for analyzing described hardware instruction and judges whether described hardware instruction is storage instruction; If storage instruction, instruction analysis unit 7120 is also suitable for sending it to modifying of order unit 7130, and if not storage instruction, instruction analysis unit 7120 is also suitable for sending it to transmitting element 7140;
Modifying of order unit 7130 is suitable for revising the memory address on safety storage apparatus that the destination address in described storage instruction is correspondence, then amended storage instruction is sent to transmitting element 7140;
Transmitting element 7150 is suitable for the instruction receiving to be transmitted to hardware layer 7200.
Further, this data safety storage device can also comprise: updating block 7150 and lock unit 7160.Wherein, updating block 7150 and instructions modification unit 7130 couple; Lock unit 7160 couples with updating block 7150.
Described updating block 7150 is suitable for, after described storage instruction is revised in modifying of order unit 7130, upgrading position corresponding to destination address described in mapped bitmap.In the present embodiment, " position " data set of sector correspondence in the first mapped bitmap that storage instruction target address is comprised, represents dump.
Described lock unit 7160 is suitable for setting up the communication of computing terminal system and described safety storage apparatus, and mapped bitmap is carried out between described computing terminal system and described safety storage apparatus synchronous.
Concrete, when computing terminal system starts, lock unit 7160 is set up the communication of computing terminal system and described safety storage apparatus, and the second mapped bitmap on described safety storage apparatus is synchronized to described computing terminal system, saves as the first mapped bitmap.
If the second mapped bitmap on described safety storage apparatus is synchronized to described computing terminal thrashing, represent that computing terminal system and safety storage apparatus are communications for the first time, lock unit 7160 is mapped to the local storage space in terminal system on described safety storage apparatus, and sets up mapped bitmap and the second mapped bitmap.For example in the present embodiment, first on safety storage apparatus, set up the second mapped bitmap, be then synchronized to this locality, become the first mapped bitmap.
When updating block 7150 has upgraded position corresponding to destination address described in the first mapped bitmap (being mapped bitmap), lock unit 7160 will send to safety storage apparatus the first mapped bitmap after upgrading, and on safety storage apparatus, saves as the second mapped bitmap.
Described safety storage apparatus can be remote storage device or local memory device, and described remote storage device can be a computing equipment service, also can be shared by a plurality of computing equipments.
Described hardware instruction can be hardware port I/O instruction.
Corresponding with above-mentioned data safe reading method, according to a further embodiment of the invention, provide a kind of data security reading device.
With reference to Figure 24, data security reading device 8100 comprises:
Receiving element 8110, instruction analysis unit 8120, modifying of order unit 8130 and transmitting element 8140.Wherein, receiving element 8110 and instruction analytic units 8120 couple, and unit 8130 is revised and transmitting element 8140 couples in instruction analysis unit 8120 respectively and instruction, and modifying of order unit 8130 also couples with transmitting element 8140.Transmitting element 8140 couples with hardware layer 8200.
Described receiving element 8110 is suitable for receiving hardware instruction, and in the present embodiment, described hardware instruction is from hardware mapping layer.
Described instruction analysis unit 8120 is suitable for analyzing described hardware instruction and judges whether described hardware instruction is reading command, if described hardware instruction is reading command, obtains the source address of reading command and judge whether described source address is the address on safety storage apparatus.
If described hardware instruction is not reading command, or described source address is the address on safety storage apparatus, and instruction analysis unit 8120 sends to transmitting element 8140 by described hardware instruction.
If described source address is not the address on safety storage apparatus, mapped bitmap is searched in modifying of order unit 8130, and according to the reading address in reading command described in the data modification of mapped bitmap.
Identical with the mapped bitmap in above-described embodiment, mapped bitmap described in the present embodiment is also for representing whether the data of local memory address are dumped to described safety storage apparatus.For example, corresponding position in the first mapped bitmap, sector that source address comprises is searched in modifying of order unit 8130.If " position " data are shown as 1, represent dump has occurred, if " position " data are shown as 0 or NULL (sky), there is not dump in expression.If there is dump, modifying of order unit 8130 dump address corresponding to described source address (reading address) changes into, and amended hardware instruction is sent to transmitting element 8140.
Further, described data security reading device can also comprise lock unit 8150.Described lock unit 8150 and instructions are revised unit 8130 and are coupled.Described lock unit 8150 is suitable for setting up the communication of computing terminal system and described safety storage apparatus, and mapped bitmap is carried out between described computing terminal system and described safety storage apparatus synchronous.Concrete, lock unit 8150 is when computing terminal system starts, set up the communication of computing terminal system and described safety storage apparatus, and the second mapped bitmap on described safety storage apparatus is synchronized to described computing terminal system, save as the first mapped bitmap, provide modifying of order unit 8130 to use.
Described safety storage apparatus can be remote storage device, and described remote storage device can be shared by a plurality of computing terminal systems.
In other embodiments of the invention, described safety storage apparatus can be also local memory device.
According to a further embodiment of the invention, above-mentioned data security reading device and data safety storage device can be merged into a device, and wherein instruction analysis unit and modifying of order unit can be processed storage instruction and can process reading command again, introduce for example below.
According to a further embodiment of the invention, provide a kind of data security storage and reading device.As Figure 25, data security storage and reading device 9100 comprise:
Instruction operation environment buffer memory and recovery unit 9101, be suitable for buffer memory and recover instruction operation environment;
Instruction fetch unit 9102, is suitable for obtaining the instruction address that next is about to operation, and this address is the first address; Also be suitable for treating according to the first address acquisition the machine instruction fragment of scheduling/execution; Wherein, the last item instruction of machine instruction fragment to be dispatched is the first jump instruction; In the embodiment of the concrete mode of obtaining machine instruction fragment to be dispatched above, describe in detail, repeat no more here;
Instruction retrieval unit 9104, is suitable for utilizing the corresponding table in described the first address search address; The corresponding table in described address is for representing whether the dispatch command fragment for the treatment of that the first address is pointed to has the restructuring instruction fragment of having preserved, and the data of the corresponding table in address are address pair;
If find corresponding record, instruction retrieval unit 9104 is suitable for call instruction running environment buffer memory and recovery unit 9101 recovers the instruction operation environment of institute's buffer memory, and jumps to the corresponding address continuation execution (this restructuring completes) of finding;
If do not find corresponding record, call instruction recomposition unit 9103 is carried out reorganization operation.
Wherein, instruction recombination unit 9103 comprises:
Instruction resolution unit 9111, is the combination of above-mentioned instruction analysis unit 7120 and instruction analysis unit 8120, and whether each hardware instruction that is suitable for analyzing in the machine instruction fragment for the treatment of scheduling/carry out described in described hardware instruction judgement is storage or reading command;
Modifying of order unit 9112, if instruction resolution unit 9111 is found storage or reading command:
For storage instruction, the destination address of revising in described storage instruction is the corresponding memory address on safety storage apparatus;
For reading command, search mapped bitmap, and according to the reading address in reading command described in the data modification of mapped bitmap;
Updating block 9113, is suitable for, after described storage instruction is revised in modifying of order unit 9112, upgrading position corresponding to destination address described in mapped bitmap, to embody dump;
Lock unit 9114, the communication that is suitable for setting up computing terminal system and described safety storage apparatus, and mapped bitmap is carried out between described computing terminal system and described safety storage apparatus synchronous.
After instruction resolution unit 9111, modifying of order unit 9112, updating block 9113 and lock unit 9114 have operated, it is pop down instruction that instruction recombination unit 9103 is suitable for replacing the first jump instruction, records address and the operand of the first jump instruction in pop down instruction; Also be suitable for adding the second jump instruction after pop down instruction, generate and there is two address restructuring instruction fragment; The entry address of described the second jump instruction indicator device 9100; Also be suitable for the second address of restructuring instruction fragment in the corresponding table in address, to set up a record with the first address.
Description based on the preceding paragraph, instruction recombination unit 9103 in other embodiments, also can and instruction resolution unit 9111, modifying of order unit 9112, updating block 9113 and lock unit 9114 as same level and column unit (as shown in figure 26).
After instruction recombination unit 9103 acquisition restructuring instruction fragments, be also suitable for the instruction operation environment of call instruction running environment buffer memory and recovery unit 9101 recovery institute buffer memorys, and jump to the address continuation execution (reorganization operation completes) of restructuring instruction fragment.
It will be appreciated by those skilled in the art that, this embodiment just gives an example in order to illustrate, restricting data security readers, data safety storage device and instruction recombination device do not merge mode, and various data security reading devices, data safety storage device and the instruction recombination device of above-mentioned introduction can merge in various required modes.
In addition, above-mentioned method for secure storing and device can also be combined with cloud, guarantee the safety of data in cloud, thereby accelerate the application of cloud computing (cloud computing) and popularize.Specific embodiment will be introduced below.
It will be understood by those skilled in the art that the said method realized at safe floor also can complete at operating system nucleus layer to each layer in hardware layer.The position of realizing of concrete function does not depart from the spirit and scope of the present invention.
In above-described embodiment detailed introduction method for secure storing provided by the invention and device, compared with prior art, tool has the following advantages:
1, to have realized instruction-level data dump be data total dumps to secure storage method of data, based on this, realized the secure storage method of data of computing terminal system line period for the national games, on the one hand, even if make wooden horse or malice instrument obtain classified information, also cannot preserve obtained information, data are present in controlled safe range all the time; On the other hand, this locality is no longer kept at any data under concerning security matters state, has therefore prevented that concerning security matters personnel's active from divulging a secret and passive divulging a secret;
2, receive can 100% from the hardware instruction of hardware mapping layer all instructions of examination, further improve data security.
In above-described embodiment also detailed introduction safe read method provided by the invention and device, compared with prior art, tool has the following advantages:
1, data safe reading method coordinates secure storage method of data that data are present in controlled safe range all the time, and guarantees at safe data storage (dump) afterwards, unload database to be read; Because this locality is by any data that are no longer kept under concerning security matters state, therefore prevented that concerning security matters personnel's active from divulging a secret and passive divulging a secret;
When 2, safety storage apparatus is remote storage device, can share for a plurality of terminals, improve the space service efficiency of safety storage apparatus.
Should be noted that and understand, in the situation that not departing from the desired the spirit and scope of the present invention of accompanying claim, can make various modifications and improvement to the present invention of foregoing detailed description.Therefore, the scope of claimed technical scheme is not subject to the restriction of given any specific exemplary teachings.

Claims (15)

1. a data safe reading method, comprising:
Step 1, buffer memory instruction operation environment;
Step 2, from the first memory location, read destination address, according to destination address, obtain machine instruction fragment to be scheduled; The last item instruction of machine instruction fragment to be scheduled is the first jump instruction;
Step 3, in the first memory location, preserve the destination address of the first jump instruction;
Step 4, analyze each instruction in machine instruction fragment to be scheduled, if it is reading command, obtain the source address in reading command, and search mapped bitmap, and according to the reading address in the data modification reading command of mapped bitmap; Described mapped bitmap is for representing whether the data of local memory address are dumped to described safety storage apparatus;
Step 5, the first jump instruction is replaced with to the second jump instruction, generate and there is two address restructuring instruction fragment; The entry address of described the second jump instruction directional order restructuring platform; With
Step 6, recover described instruction operation environment, and jump to the second address and continue to carry out;
Wherein, the execution sequence of step 3 and step 4 can exchange.
2. data safe reading method as claimed in claim 1, before step 4, also comprises:
Set up the communication of computing terminal system and described safety storage apparatus;
The second mapped bitmap on described safety storage apparatus is synchronized to described computing terminal system, saves as mapped bitmap.
3. data safe reading method as claimed in claim 1, wherein, described hardware instruction is hardware port I/O instruction.
4. data safe reading method as claimed in claim 1, wherein, described safety storage apparatus is remote storage device, described remote storage device is shared by a plurality of computing terminal systems.
5. data safe reading method as claimed in claim 1, wherein, described hardware instruction is from hardware mapping layer.
6. data safe reading method as claimed in claim 1, in step 2, obtains and treats that dispatch command fragment comprises according to destination address:
From destination address, obtain one section of machine instruction to be scheduled, this section of machine instruction carried out to dis-assembling;
Check in dis-assembling result whether comprise jump instruction, if do not comprised, continue to obtain one section of machine instruction to be scheduled next, until match jump instruction, this jump instruction is the first jump instruction; Wherein, the first jump instruction and all instructions compositions are before treated dispatch command fragment.
7. data safe reading method as claimed in claim 6, between step 5 and step 6, also comprises:
Assembly code after the restructuring of generation is generated to corresponding machine code by assembler.
8. data safe reading method as claimed in claim 1, between step 1 and step 2, also comprises:
From the first memory location, read destination address, utilize described destination address to search the corresponding table in address; The corresponding table in described address is for representing whether machine instruction fragment to be scheduled has the restructuring instruction fragment of having preserved;
If find corresponding record, recover described instruction operation environment, and the preservation address jumping in record continues to carry out.
9. data safe reading method as claimed in claim 8, if do not find corresponding record in the corresponding table in address, after step 5, also comprises:
Utilize the address of restructuring instruction fragment in the corresponding table in address, to set up a record with described destination address.
10. a computer-readable medium, stores the executable program code of computing machine in described computer-readable recording medium, and described program code is for executing claims the step of the arbitrary described method of 1-9.
11. 1 kinds of data security reading devices, comprising:
Instruction operation environment buffer memory and recovery unit, be suitable for buffer memory and recover instruction operation environment;
The first memory location, is suitable for preserving destination address;
Instruction fetch unit, and instruction running environment buffer memory and recovery unit couple, and are suitable for reading destination address from the first memory location, and obtain machine instruction fragment to be scheduled according to destination address; Wherein, the last item instruction of machine instruction fragment to be dispatched is the first jump instruction;
Instruction analysis unit, each hardware instruction judge whether described hardware instruction is reading command in machine instruction fragment to be dispatched described in being suitable for analyzing;
Modifying of order unit, is suitable for searching mapped bitmap, and according to the reading address in the data modification reading command of mapped bitmap; Described mapped bitmap is for representing whether the data of local memory address are dumped to described safety storage apparatus; With
Instruction recombination unit, and instruction running environment buffer memory and recovery unit couple, and are suitable for preserving in the first memory location the destination address of the first jump instruction; Also be suitable for the first jump instruction to replace with the second jump instruction, generate and there is two address restructuring instruction fragment; The entry address of described the second jump instruction indicator device.
12. data security reading devices as claimed in claim 11, also comprise:
Lock unit, the communication that is suitable for setting up computing terminal system and described safety storage apparatus, and mapped bitmap is carried out between described computing terminal system and described safety storage apparatus synchronous.
13. data security reading devices as claimed in claim 11, wherein, described safety storage apparatus is remote storage device, described remote storage device is shared by a plurality of computing terminal systems.
14. data security reading devices as claimed in claim 11, also comprise:
Instruction retrieval unit, is suitable for utilizing described destination address to search the corresponding table in address; The corresponding table in described address is for representing whether machine instruction fragment to be dispatched has the restructuring instruction fragment of having preserved;
If find corresponding record, instruction retrieval unit is also suitable for call instruction running environment buffer memory and recovery unit, recovers described instruction operation environment, and the preservation address jumping in record continues to carry out;
If do not find corresponding record, instruction retrieval unit is also suitable for utilizing the address of restructuring instruction fragment in the corresponding table in address, to set up a record with described destination address.
15. data security reading devices as claimed in claim 11, also comprise:
Dis-assembling unit, was suitable for before machine instruction fragment to be scheduled described in instruction analysis element analysis, and machine instruction fragment to be scheduled described in dis-assembling, generates assembly instruction fragment to be scheduled;
Assembly unit, is suitable for the assembly instruction fragment after compilation restructuring, obtains the restructuring instruction fragment that machine code represents.
CN201210325943.2A 2012-09-06 2012-09-06 Data safe reading method and device Expired - Fee Related CN103679040B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210325943.2A CN103679040B (en) 2012-09-06 2012-09-06 Data safe reading method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210325943.2A CN103679040B (en) 2012-09-06 2012-09-06 Data safe reading method and device

Publications (2)

Publication Number Publication Date
CN103679040A true CN103679040A (en) 2014-03-26
CN103679040B CN103679040B (en) 2016-09-14

Family

ID=50316550

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210325943.2A Expired - Fee Related CN103679040B (en) 2012-09-06 2012-09-06 Data safe reading method and device

Country Status (1)

Country Link
CN (1) CN103679040B (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015131800A1 (en) * 2014-03-04 2015-09-11 北京中天安泰信息技术有限公司 Data blackhole processing method based on mobile storage device, and mobile storage device
CN106778316A (en) * 2017-03-01 2017-05-31 中天安泰(北京)信息技术有限公司 A kind of data processing method and data processing equipment
CN106778315A (en) * 2017-03-01 2017-05-31 中天安泰(北京)信息技术有限公司 A kind of data processing method and data processing equipment
CN107766729A (en) * 2017-09-11 2018-03-06 北京天融信网络安全技术有限公司 A kind of virus characteristic matching process, terminal and computer-readable recording medium
CN108875369A (en) * 2017-05-15 2018-11-23 中国移动通信有限公司研究院 A kind of control stream integrity checking method, device and computer storage medium
CN112507402A (en) * 2021-02-09 2021-03-16 北京紫光青藤微系统有限公司 FLASH memory read protection processing method and device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1475909A (en) * 2002-08-16 2004-02-18 华为技术有限公司 realization of isertion type system soft ware patch and control method
US7328453B2 (en) * 2001-05-09 2008-02-05 Ecd Systems, Inc. Systems and methods for the prevention of unauthorized use and manipulation of digital content
US7620987B2 (en) * 2005-08-12 2009-11-17 Microsoft Corporation Obfuscating computer code to prevent an attack
US7886287B1 (en) * 2003-08-27 2011-02-08 Avaya Inc. Method and apparatus for hot updating of running processes
CN102156634A (en) * 2011-04-20 2011-08-17 北京北大众志微系统科技有限责任公司 Method for realizing value association indirect jump forecast
CN102163143A (en) * 2011-04-28 2011-08-24 北京北大众志微系统科技有限责任公司 A method realizing prediction of value association indirect jump
CN102609378A (en) * 2012-01-18 2012-07-25 中国科学院计算技术研究所 Message type internal memory accessing device and accessing method thereof

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7328453B2 (en) * 2001-05-09 2008-02-05 Ecd Systems, Inc. Systems and methods for the prevention of unauthorized use and manipulation of digital content
CN1475909A (en) * 2002-08-16 2004-02-18 华为技术有限公司 realization of isertion type system soft ware patch and control method
US7886287B1 (en) * 2003-08-27 2011-02-08 Avaya Inc. Method and apparatus for hot updating of running processes
US7620987B2 (en) * 2005-08-12 2009-11-17 Microsoft Corporation Obfuscating computer code to prevent an attack
CN102156634A (en) * 2011-04-20 2011-08-17 北京北大众志微系统科技有限责任公司 Method for realizing value association indirect jump forecast
CN102163143A (en) * 2011-04-28 2011-08-24 北京北大众志微系统科技有限责任公司 A method realizing prediction of value association indirect jump
CN102609378A (en) * 2012-01-18 2012-07-25 中国科学院计算技术研究所 Message type internal memory accessing device and accessing method thereof

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015131800A1 (en) * 2014-03-04 2015-09-11 北京中天安泰信息技术有限公司 Data blackhole processing method based on mobile storage device, and mobile storage device
CN106778316A (en) * 2017-03-01 2017-05-31 中天安泰(北京)信息技术有限公司 A kind of data processing method and data processing equipment
CN106778315A (en) * 2017-03-01 2017-05-31 中天安泰(北京)信息技术有限公司 A kind of data processing method and data processing equipment
CN108875369A (en) * 2017-05-15 2018-11-23 中国移动通信有限公司研究院 A kind of control stream integrity checking method, device and computer storage medium
CN108875369B (en) * 2017-05-15 2020-07-07 中国移动通信有限公司研究院 Control flow integrity checking method and device and computer storage medium
CN107766729A (en) * 2017-09-11 2018-03-06 北京天融信网络安全技术有限公司 A kind of virus characteristic matching process, terminal and computer-readable recording medium
CN112507402A (en) * 2021-02-09 2021-03-16 北京紫光青藤微系统有限公司 FLASH memory read protection processing method and device

Also Published As

Publication number Publication date
CN103679040B (en) 2016-09-14

Similar Documents

Publication Publication Date Title
CN103679039A (en) Data security storage method and device
CN103942499B (en) Data black hole processing method based on mobile storer and mobile storer
CN103299284B (en) Data safe reading method and device
CN103679040B (en) Data safe reading method and device
CN103299270B (en) Instruction recombination method and device during operation
CN103907098A (en) System and method for critical address space protection in a hypervisor environment
CN103329141B (en) Safe data storage method and device
CN103927493B (en) Data black hole processing method
CN101484876A (en) Heap organization for a multitasking virtual machine
CN103729598B (en) The safe interacted system of data and method for building up thereof
CN103677746B (en) Instruction recombination method and device
US11036852B2 (en) System and method for software diversification
CN103942492A (en) Stand-alone data black hole processing method and computing device
CN103729600B (en) Data security interacted system method for building up and data security interacted system
CN103679041A (en) Data security reading method and device
CN103679042A (en) Data security storage method and device
CN103677769B (en) Instruction recombination method and device
CN103677770A (en) Instruction recombining method and device
CN103729601B (en) The safe interacted system of data and data safety mutual contact construction in a systematic way cube method
Mesbah et al. Reverse engineering a Java Card memory management algorithm

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100097 HAIDIAN, BEIJING TO: 100071 FENGTAI, BEIJING

TA01 Transfer of patent application right

Effective date of registration: 20150129

Address after: 100071 Beijing city Fengtai District Xiaotun Road No. 89 aerospace standard tower

Applicant after: The safe and sound Information Technology Co., Ltd in sky in Beijing

Address before: 100097 Beijing city Haidian District landianchang road Jin Yuan era business center B block 2-6B1

Applicant before: Beijing Zhongtian Antai Technology Co., Ltd.

CB02 Change of applicant information

Address after: 100071 Beijing city Fengtai District Xiaotun Road No. 89 aerospace standard tower

Applicant after: Zhongtian Aetna (Beijing) Information Technology Co. Ltd.

Address before: 100071 Beijing city Fengtai District Xiaotun Road No. 89 aerospace standard tower

Applicant before: The safe and sound Information Technology Co., Ltd in sky in Beijing

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160914

Termination date: 20180906