CN106650462A - Method and device for detecting Flash vulnerability exploitation - Google Patents

Method and device for detecting Flash vulnerability exploitation Download PDF

Info

Publication number
CN106650462A
CN106650462A CN201611064559.6A CN201611064559A CN106650462A CN 106650462 A CN106650462 A CN 106650462A CN 201611064559 A CN201611064559 A CN 201611064559A CN 106650462 A CN106650462 A CN 106650462A
Authority
CN
China
Prior art keywords
flash
reading
specified object
writing data
read
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.)
Pending
Application number
CN201611064559.6A
Other languages
Chinese (zh)
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.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201611064559.6A priority Critical patent/CN106650462A/en
Publication of CN106650462A publication Critical patent/CN106650462A/en
Pending legal-status Critical Current

Links

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Abstract

The invention discloses a method and device for detecting Flash vulnerability exploitation. The method includes the steps that in the running process of a Flash module of an application program, a read-write operation event on an appointed object in the Flash module is monitored; when the read-write operation event on the appointed object is monitored, the appointed object is acquired, and whether the value of a length element in the appointed object is larger than a preset threshold value or not is judged; if yes, it is determined that vulnerability exploitation exists in a Flash file run by the Flash module; otherwise, it is determined that no vulnerability exploitation exists in the Flash file run by the Flash module. According to the scheme, corresponding universal solutions are proposed according to different conditions based on the Flash vulnerability exploitation principle, convenience and high efficiency are ensured, both current known vulnerability exploitation attacks and potential threats likely to appear can be prevented, and the method has quite high feasibility.

Description

A kind of method and apparatus of detection Flash vulnerability exploits
Technical field
The present invention relates to Internet technical field, and in particular to a kind of method and apparatus of detection Flash vulnerability exploits.
Background technology
With the continuous development of Internet technology, people are further frequent for the use of network, can be carried out by network Many matters such as work, study, life, amusement, have brought great convenience.However, people are using interconnection During net there is leak in used many files, and the leak of these files is to malice developer with opportunity, malice Developers can utilize the leak of these files to attack the application program for opening these files.
Several years ago the leak of Java is the main media of many attacker's Infection Action systems, and Adobe Flash at present Player leaks (hereinafter referred to as Flash leaks) then become new attack medium.Flash file is a kind of based on the dynamic of vector File is drawn, they include abundant video, sound and figure.Widely it is embedded in webpage.Contain during the first quarter in 2015 There are the malicious web pages for Flash Player players to occupy 93.3% in overall malicious web pages, and to fourth quarter then Rise violently 99.2%.
After Hacking Team attacks for the previous period, Flash has produced serious Oday leaks again, the time, The safety of numerous Flash user is all gone, a set of general Flash vulnerability exploit detection modes of our exigences, no It is only capable of guarding against currently known leak attack, moreover it is possible to which the potentiality that prevention is likely to occur is threatened.
The content of the invention
In view of the above problems, it is proposed that the present invention so as to provide one kind overcome the problems referred to above or at least in part solve on The method and apparatus for stating the detection Flash vulnerability exploits of problem.
According to one aspect of the present invention, there is provided a kind of method of detection Flash vulnerability exploits, including:
In the running of the Flash modules of application program, the specified object in monitoring to Flash modules is written and read The event of operation;
When listen to the event of operation is written and read to the specified object when, obtain the specified object, judge described Whether the value of the length element in specified object is more than predetermined threshold value;
It is then, to determine in the Flash file that Flash modules are run there is vulnerability exploit;
Otherwise, it determines there is no vulnerability exploit in the Flash file that run of Flash modules.
Alternatively, the method is further included:
When it is determined that there is vulnerability exploit in the Flash file that run of Flash modules, forbid entering the specified object Row read-write operation is continued executing with;
When it is determined that there is no vulnerability exploit in the Flash file that run of Flash modules, it is allowed to the specified object It is written and read continuing executing with for operation.
Alternatively, the method is further included:Before the Flash modules operation of application program, in knowing Flash modules The reading and writing data function of operation is written and read to the specified object;
The monitoring to Flash modules in specified object be written and read the event of operation and include:Monitor the data to read That writes function calls event;
It is described when listen to the event of operation is written and read to the specified object when, obtaining the specified object includes: When the event being called to the reading and writing data function is listened to, the specified object is obtained.
Alternatively, the event of calling for monitoring the reading and writing data function includes:
The carry Hook Function on the reading and writing data function;
The message for indicating to be called to the reading and writing data function is intercepted by the Hook Function, the finger is not allowed Show the continuation transmission of the message being called to the reading and writing data function.
Alternatively, it is described when it is determined that there is vulnerability exploit in the Flash file that run of Flash modules, forbid to institute State specified object be written and read operation continue executing with including:
When it is determined that there is vulnerability exploit in the Flash file that run of Flash modules, forced by the Hook Function Terminate the continuation transmission of the message for indicating and being called to the reading and writing data function.
Alternatively, when it is determined that there is no vulnerability exploit in the Flash file that run of Flash modules, it is allowed to described Specified object be written and read operation continue executing with including:
When it is determined that there is no vulnerability exploit in the Flash file that run of Flash modules, put by the Hook Function The row message for indicating to be called the reading and writing data function so that the instruction is carried out to the reading and writing data function The message called continues to transmit.
Alternatively, it is described to know the reading and writing data function bag for being written and read operation in Flash modules to the specified object Include:
Static analysis is carried out to Flash modules, is known in Flash modules to the specified object according to staticaanalysis results It is written and read the reading and writing data function of operation.
Alternatively, when it is determined that there is vulnerability exploit in the Flash file that run of Flash modules, the method is further Including:
The value of the length element in the specified object is reverted to into original value.
Alternatively, the specified object includes:Vector objects, and/or, ByteArray objects;
Length element in the specified object includes:Length elements, and/or, capacity elements.
Alternatively, the application program includes following one or more:
Web browser, word-processing application, PowerPoint application program, spreadsheet applications, at figure Reason application program.
According to another aspect of the present invention, there is provided a kind of device of detection Flash vulnerability exploits, including:
Monitoring unit, is suitable in the running of the Flash modules of application program, monitors to the finger in Flash modules Determine the event that object is written and read operation;Notify at detection when listening to and being written and read the event of operation to the specified object Reason unit;
The detection process unit, is suitable to, when notice is received, obtain the specified object, judges the specified object In the value of length element whether be more than predetermined threshold value;It is then, to determine and exist in the Flash file that Flash modules are run leakage Hole utilizes;Otherwise, it determines there is no vulnerability exploit in the Flash file that run of Flash modules.
Alternatively, the detection process unit, is further adapted in the Flash file that Flash modules are run is determined When there is vulnerability exploit, forbid being written and read operation to the specified object continuing executing with;And, it is suitable to as determination Flash When there is no vulnerability exploit in the Flash file that module is run, it is allowed to be written and read the continuation of operation to the specified object Perform.
Alternatively, the monitoring unit, was further adapted for before the Flash modules operation of application program, knew Flash The reading and writing data function of operation is written and read in module to the specified object;That monitors the reading and writing data function calls thing Part;The detection process unit is notified when the event being called to the reading and writing data function is listened to.
Alternatively, the event of calling for monitoring the reading and writing data function includes:
The monitoring unit, is suitable to the carry Hook Function on the reading and writing data function;Blocked by the Hook Function The message for indicating to be called to the reading and writing data function is cut, does not allow the instruction to adjust the reading and writing data function The continuation transmission of message.
Alternatively, the detection process unit, is suitable to the presence of leakage in the Flash file that Flash modules are run is determined Hole utilize when, by the Hook Function force terminate it is described indicate the reading and writing data function is called message after Resume and pass.
Alternatively, the detection process unit, is suitable to determine do not exist in the Flash file that Flash modules are run During vulnerability exploit, by the Hook Function clearance message for indicating to be called the reading and writing data function so that The message for indicating to be called the reading and writing data function continues to transmit.
Alternatively, the monitoring unit, is suitable to carry out static analysis to Flash modules, is known according to staticaanalysis results The reading and writing data function of operation is written and read in Flash modules to the specified object.
Alternatively, the detection process unit, is further adapted in the Flash file that Flash modules are run is determined When there is vulnerability exploit, the value of the length element in the specified object is reverted to into original value.
Alternatively, the specified object includes:Vector objects, and/or, ByteArray objects;
Length element in the specified object includes:Length elements, and/or, capacity elements.
Alternatively, the application program includes following one or more:
Web browser, word-processing application, PowerPoint application program, spreadsheet applications, at figure Reason application program.
From the foregoing, the technical scheme that the present invention is provided runs the mistake of Flash file in the Flash modules of application program Cheng Zhong, by monitoring to Flash modules in specified object be written and read the event of operation realizing the finger in Flash modules Determine to judge whether the value of the length element for specifying object is maliciously tampered by larger numerical value when object is written and read operation Process, when the value of the length element for finding to specify object is excessive, determines malicious attacker by inciting somebody to action according to leak Attack Theory The length element of specified object is changed to larger numerical value to obtain the literacy of any memory address, i.e. application program There is vulnerability exploit in the Flash file that Flash modules are run, conversely, determining the Flash file that Flash modules are run Have no problem, and then realize for the dynamic detection of Flash vulnerability exploits.Principle of this programme according to Flash vulnerability exploits Suiting measures to different conditions ground proposes corresponding general counter-measure, and convenient and efficient can not only take precautions against currently known vulnerability exploit and attack, moreover it is possible to The potentiality that prevention is likely to occur is threatened, with very high exploitativeness.
Described above is only the general introduction of technical solution of the present invention, in order to better understand the technological means of the present invention, And can be practiced according to the content of specification, and in order to allow the above and other objects of the present invention, feature and advantage can Become apparent, below especially exemplified by the specific embodiment of the present invention.
Description of the drawings
By the detailed description for reading hereafter preferred embodiment, various other advantages and benefit is common for this area Technical staff will be clear from understanding.Accompanying drawing is only used for illustrating the purpose of preferred embodiment, and is not considered as to the present invention Restriction.And in whole accompanying drawing, it is denoted by the same reference numerals identical part.In the accompanying drawings:
Fig. 1 shows a kind of flow chart of the method for detection Flash vulnerability exploits according to an embodiment of the invention;
Fig. 2 shows the schematic diagram of the local primary code that Flash modules according to an embodiment of the invention are generated;
Fig. 3 shows a kind of schematic diagram of the device of detection Flash vulnerability exploits according to an embodiment of the invention.
Specific embodiment
The exemplary embodiment of the disclosure is more fully described below with reference to accompanying drawings.Although showing the disclosure in accompanying drawing Exemplary embodiment, it being understood, however, that may be realized in various forms the disclosure and should not be by embodiments set forth here Limited.On the contrary, there is provided these embodiments are able to be best understood from the disclosure, and can be by the scope of the present disclosure Complete conveys to those skilled in the art.
In order to become apparent from dripping the embodiment of explanation this programme, first the principle of current Flash vulnerability exploits is said It is bright:
During Flash vulnerability exploits, attack carrier and have to obtain the literacy of any memory address, and then Remaining attack process can be completed.For the Flash modules in application program, wherein normally specifying object certain Can not carry out the memory read-write of arbitrary address, their own suffer from operable memory range restriction, but if attack The person of hitting is modified using some way to this restriction, and they just have the ability of any internal memory of operation.
With Vector structure example explanations:
In Vector the value in length domains limit the Vector objects operable Vector datarams region Size, it is assumed that Vector<int>The length values of object A are 1, and data are stored in address B, then under normal circumstances we pass through A The address realm that can be read and write only has:
[B, B+1*sizeof (int)],
If method can be realized for length values being revised as 10, then the address realm that A can read and write is:
[B, b+10*sizeof (int)],
As long as attacker by length change it is sufficiently large, then can just operate the internal memory of any range, attacker also can borrow This carrys out the data for distorting crucial memory address of malice, lays out the code of oneself to affect the flow process of program performing, completes Lou Hole utilizes.
During whole vulnerability exploit, attacker triggers leak by well-designed Flash file, so as to repair Changing is used for the length for running specified object in the Flash modules of Flash file in application program, for this purpose, this programme for The detection thinking of Flash vulnerability exploits is monitored by the length elements of the specified object in Flash modules, from And judge whether current process is leaky by malicious exploitation.
Fig. 1 shows a kind of flow chart of the method for detection Flash vulnerability exploits according to an embodiment of the invention.Such as Shown in Fig. 1, the method includes:
Step S110 is specified right in monitoring to Flash modules in the running of the Flash modules of application program Event as being written and read operation.
Step S120, when listen to the event of operation is written and read to the specified object when, obtain the specified object, Whether the value for judging the length element in the specified object is more than predetermined threshold value.
Step S130, is then, to determine in the Flash file that Flash modules are run there is vulnerability exploit.
Step S140, otherwise, it determines there is no vulnerability exploit in the Flash file that run of Flash modules.
It can be seen that, the method shown in Fig. 1 application program Flash modules operation Flash file during, by monitor Specified object in Flash modules is written and read the event of operation to realize that the specified object in Flash modules is carried out Whether the value that the length element for specifying object is judged during read-write operation is maliciously tampered by the process of larger numerical value, when discovery refers to Determine the length element of object value it is excessive when, determine malicious attacker by by the length of specified object according to leak Attack Theory What the Flash modules that element is changed to larger numerical value to obtain the literacy of any memory address, i.e. application program were run There is vulnerability exploit in Flash file, conversely, determining that the Flash file that Flash modules are run has no problem, and then realize For the dynamic detection of Flash vulnerability exploits.This programme proposes corresponding logical according to the principle suiting measures to different conditions of Flash vulnerability exploits With counter-measure, convenient and efficient, currently known vulnerability exploit can not only be taken precautions against and attacked, moreover it is possible to which it is potential that prevention is likely to occur Property threaten, with very high exploitativeness.
In one embodiment of the invention, the method shown in Fig. 1 is further included:
Step S150, when it is determined that there is vulnerability exploit in the Flash file that run of Flash modules, forbids to described Specified object is written and read continuing executing with for operation.
Step S160, when it is determined that there is no vulnerability exploit in the Flash file that run of Flash modules, it is allowed to institute State specified object and be written and read continuing executing with for operation.
It is also known that open the process of Flash file being in the application:Application program first loads Flash file, After the completion of loading, the Flash file for being loaded is sent to the Flash modules of application program, rendered and opened by Flash modules The Flash file, starts running of the Flash modules to Flash file.In order to specified right in monitoring to Flash modules Event as being written and read operation, in one embodiment of the invention, before the Flash modules operation of application program, Fig. 1 Shown method first needs to know in Flash modules and is written and read the reading and writing data function of operation to the specified object;Flash Module is in running, if reading and writing data function is called, explanation is to specifying object to be written and read operation therefore above-mentioned Specified object in monitoring in step S110- step S120 to Flash modules is written and read the event of operation, when listening to institute When stating specified object and being written and read the event of operation, obtaining the specified object includes:Monitor the tune of the reading and writing data function Use event;When the event being called to the reading and writing data function is listened to, the specified object in carrying out to Flash modules Judgement, that is, obtain and specify object, to specifying object in the value of length element be analyzed, to judge the specified element In the value of length element whether be maliciously tampered as larger value.Wherein, it is above-mentioned to know in Flash modules to described specified right As the reading and writing data function for being written and read operation includes:Static analysis is carried out to Flash modules, is known according to staticaanalysis results The reading and writing data function of operation is written and read in Flash modules to the specified object.
Specifically, the process of event of calling of the above-mentioned monitoring reading and writing data function can be accomplished by: To specifying object to be written and read carry Hook Function on the reading and writing data function of operation in Flash modules;When Flash modules exist When needing in running to specifying object to be written and read operation, needs call the data to specifying object to be written and read operation to read Function is write, its mode is that the message for indicating to be called to the reading and writing data function is sent to reading and writing data function, then we Case intercepts the message for indicating to be called to the reading and writing data function by the Hook Function, does not allow the instruction to institute State the continuation transmission of the message that reading and writing data function is called.Intercept instruction when Hook Function is carried out to data read/write function During the message called, this programme carry out to Flash modules in specified object judgement, that is, obtain specify object, to specify it is right The value of the length element as in is analyzed, with judge specify object in length element value whether be maliciously tampered as Larger value, is then, to determine in the Flash file that Flash modules are run there is vulnerability exploit, is forbidden to the specified object It is written and read continuing executing with for operation, Ke Yishi, when it is determined that there is vulnerability exploit in the Flash file that run of Flash modules When, force the continuation for terminating the message for indicating and being called to the reading and writing data function to pass by the Hook Function Pass;Otherwise, it determines there is no vulnerability exploit in the Flash file that run of Flash modules, it is allowed to which the specified object is carried out Read-write operation is continued executing with, Ke Yishi, when it is determined that there is no vulnerability exploit in the Flash file that run of Flash modules, By the Hook Function clearance message for indicating to be called the reading and writing data function so that the instruction is to institute The message continuation transmission that reading and writing data function is called is stated, normal execution is called to data read/write function, and then normally in fact Now to the read-write operation of specified object.
Further, in one embodiment of the invention, when it is determined that depositing in the Flash file that run of Flash modules In vulnerability exploit, the method shown in Fig. 1 is further included:The value of the length element in the specified object is reverted to original Value.
The implementation process of this programme is illustrated with a specific example:Due to writing in script for Flash file, normal quilt Attacker be used for operating the structure of any memory address be in Vector and ByteArray the two objects, therefore this example respectively The specified object mentioned as in method shown in Fig. 1 using ByteArray objects and Vector objects is illustrating:
During with ByteArray objects as specified object, in application program the Flash of Flash file but application program is loaded Module is not had started before operation, and static analysis is carried out to Flash modules, analyzes the main functional modules generation in Flash modules Code, finds the reading and writing data function that operation is written and read to ByteArray objects;Before Flash modules bring into operation, finding Reading and writing data function on carry Hook Function, i.e. the reading and writing data function to finding carry out HOOK, when occurring that the data are read When writing the call operation of function reading, the length elements and capacity elements of the ByteArray objects for reading is checked, wherein The length of length element assignment ByteArray objects, the maximum of capacity element assignment Bytearray object lengths. If length elements are more than capacity elements, or length is then judged to the profit that starts a leak more than certain predetermined threshold value With needing to carry out further protective treatment.
During with Vector objects as specified object, in application program the Flash modules of Flash file but application program are loaded Before not having started operation, static analysis is carried out to Flash modules, analyze the main functional modules code in Flash modules, looked for To the reading and writing data function that operation is written and read to Vector objects.Again due to being ActionScript scripts when Flash modules When generating the machine primary code (being called jit codes below), the logic basis performed by it are generated the machine primary codes Rather than the original code of Flash modules itself, therefore can not be directly original according to Flash modules itself as described previously Code find reading and writing data function and the direct carry Hook Function on the reading and writing data function, but when Flash modules When generating jit codes for ActionScript scripts, needs judge whether have to in Flash modules in the jit codes for generating Vector objects are written and read calling for the reading and writing data function of operation, if then on the main line code of respective handling logic Carry Hook Function carries out HOOK, checks the length elements and capacity elements of corresponding Vector objects, if Length elements are more than capacity elements, or length elements are then judged to the utilization that starts a leak more than certain threshold value.
For example, Fig. 2 shows the signal of the local primary code that Flash modules according to an embodiment of the invention are generated Figure, as shown in Fig. 2 in this section of jit code, the part for 1. indicating illustrates:It is right in Flash module runnings Vector objects in Flash modules are read, and specifically, read the data at the vernier 0x18 of Vector objects; The process that Vector objects are read out data manipulation is included performed by this section of code:2. it is Vector objects to indicate ecx Pointer, through 3. shown step, the value of the length elements of Vector objects is preserved in eax, by this reading data The value of the length elements of the vernier 0x18 and Vector objects to be accessed is compared, to judge that this reads the address of data Whether in the corresponding access rights of Vector objects, if vernier 0x18 is less than the value of the length elements of Vector objects, Illustrate in access rights, it is normal to perform, the code process logic for 4. indicating is entered, call and behaviour is read out to Vector objects The Data Read Function GetNativeIntProperty of work, to carry out digital independent, otherwise then can not normally perform.
In this section of jit code, the part for 5. indicating illustrates:In Flash module runnings, to Flash moulds Vector objects in block carry out write operation, specifically, write data at the vernier 0x0C of Vector objects;This section of code Performed includes to the process that Vector objects carry out writing data manipulation:6. pointers of the ecx for Vector objects, Jing are indicated 7. shown step is crossed, the value of the length elements of Vector objects is preserved in eax, by this reading data trip to be accessed Whether the value of length elements of mark 0x0C and Vector objects is compared, existed with judging that this writes the address of data In the corresponding access rights of Vector objects, if vernier 0x0C is illustrated less than the value of the length elements of Vector objects It is normal to perform in access rights, the code process logic for 8. indicating is entered, calling carries out the number of write operation to Vector objects According to write function SetNativeIntProperty, to carry out digital independent, otherwise then can not normally perform.
Based on above-mentioned execution logic, this programme only need to add HOOK codes in mainline processing flow process, that is to say, that upper State the 4. shown ground for calling the Data Read Function GetNativeIntProperty being read to Vector objects Fang Jinhang HOOK, specifically, mount point that can be with GetNativeIntProperty as Hook Function, and, it is above-mentioned 8. Shown calling is entered where the data write function SetNativeIntProperty that write operation is carried out to Vector objects Row HOOK, specifically, mount point that can be with SetNativeIntProperty as Hook Function is being called to Vector objects Row write is entered to Vector objects during the Data Read Function GetNativeIntProperty being read or calling Vector objects are obtained during the data write function SetNativeIntProperty for entering operation, in Vector objects The value of length elements is compared judgement, to determine the Flash file that current Flash modules are run in whether there is leak Utilize.The wherein opportunity of HOOK is that Flash modules call VirtualProtect that jit codes place page is set to into EXCUTE to hold When row attribute.
In the above-described embodiments, application program includes following one or more:Web browser, text processing application journey Sequence, PowerPoint application program, spreadsheet applications, graphics process application program.These application programs are in loading Flash File and render opening during Flash vulnerability exploits can be detected using the technical scheme of this programme, do not limit here System.
Fig. 3 shows a kind of schematic diagram of the device of detection Flash vulnerability exploits according to an embodiment of the invention.Such as Shown in Fig. 3, the device 300 of detection Flash vulnerability exploits includes:
Monitoring unit 310, is suitable in the running of the Flash modules of application program, monitors in Flash modules Specified object is written and read the event of operation;Detection is notified when listening to and being written and read the event of operation to the specified object Processing unit 320.
Detection process unit 320, is suitable to, when notice is received, obtain the specified object, judges the specified object In the value of length element whether be more than predetermined threshold value;It is then, to determine and exist in the Flash file that Flash modules are run leakage Hole utilizes;Otherwise, it determines there is no vulnerability exploit in the Flash file that run of Flash modules.
It can be seen that, the device shown in Fig. 3 application program Flash modules operation Flash file during, by monitor Specified object in Flash modules is written and read the event of operation to realize that the specified object in Flash modules is carried out Whether the value that the length element for specifying object is judged during read-write operation is maliciously tampered by the process of larger numerical value, when discovery refers to Determine the length element of object value it is excessive when, determine malicious attacker by by the length of specified object according to leak Attack Theory What the Flash modules that element is changed to larger numerical value to obtain the literacy of any memory address, i.e. application program were run There is vulnerability exploit in Flash file, conversely, determining that the Flash file that Flash modules are run has no problem, and then realize For the dynamic detection of Flash vulnerability exploits.This programme proposes corresponding logical according to the principle suiting measures to different conditions of Flash vulnerability exploits With counter-measure, convenient and efficient, currently known vulnerability exploit can not only be taken precautions against and attacked, moreover it is possible to which it is potential that prevention is likely to occur Property threaten, with very high exploitativeness.
In one embodiment of the invention, detection process unit 320, is further adapted for when determination Flash modules are transported When there is vulnerability exploit in capable Flash file, forbid being written and read operation to the specified object continuing executing with;And, It is suitable to when it is determined that there is no vulnerability exploit in the Flash file that run of Flash modules, it is allowed to which the specified object is carried out Read-write operation is continued executing with.
Wherein, monitoring unit 310, were further adapted for before the Flash modules operation of application program, knew Flash moulds The reading and writing data function of operation is written and read in block to the specified object;That monitors the reading and writing data function calls event; The detection process unit 320 is notified when the event being called to the reading and writing data function is listened to.
Specifically, monitoring unit 310, are suitable to the carry Hook Function on the reading and writing data function;By the hook Intercepting api callses indicate the message being called to the reading and writing data function, do not allow the instruction to the reading and writing data function The continuation transmission of the message being called.
Further, in one embodiment of the invention, detection process unit 320, is suitable to when determination Flash modules are run Flash file in when there is vulnerability exploit, force to terminate the instruction to the reading and writing data letter by the Hook Function The continuation transmission of the message that number is called.
In another embodiment of the present invention, detection process unit 320, is suitable to work as what determination Flash modules were run When there is no vulnerability exploit in Flash file, the reading and writing data function is entered by the Hook Function clearance instruction The message that row is called so that the message that the instruction is called to the reading and writing data function continues to transmit.
In one embodiment of the invention, monitoring unit 310, are suitable to carry out static analysis to Flash modules, according to quiet State analysis result is known in Flash modules and is written and read the reading and writing data function of operation to the specified object.
In one embodiment of the invention, detection process unit 320, is further adapted for when determination Flash modules are transported When there is vulnerability exploit in capable Flash file, the value of the length element in the specified object is reverted to into original value.
In one embodiment of the invention, it is intended that object includes:Vector objects, and/or, ByteArray objects;Institute The length element stated in specified object includes:Length elements, and/or, capacity elements.
In one embodiment of the invention, application program includes following one or more:Web browser, word processing Application program, PowerPoint application program, spreadsheet applications, graphics process application program.
Wherein, each embodiment of the device shown in Fig. 3 is corresponding identical with each embodiment shown in Fig. 1-Fig. 2, above Describe in detail, will not be described here.
In sum, the technical scheme that the present invention is provided runs the process of Flash file in the Flash modules of application program In, by monitor to Flash modules in specified object be written and read the event of operation realize in Flash modules specify Whether the value that the length element for specifying object is judged when object is written and read operation is maliciously tampered by the mistake of larger numerical value Journey, when the value of the length element for finding to specify object is excessive, determines malicious attacker by referring to according to leak Attack Theory The length element for determining object is changed to larger numerical value to obtain the Flash of the literacy of any memory address, i.e. application program There is vulnerability exploit in the Flash file that module is run, conversely, determining that the Flash file that Flash modules are run is not asked Topic, and then realize for the dynamic detection of Flash vulnerability exploits.Principle suiting measures to different conditions ground of this programme according to Flash vulnerability exploits Corresponding general counter-measure is proposed, convenient and efficient can not only take precautions against currently known vulnerability exploit and attack, moreover it is possible to which prevention can The potentiality that can occur is threatened, with very high exploitativeness.
It should be noted that:
Provided herein algorithm and display be not inherently related to any certain computer, virtual bench or miscellaneous equipment. Various fexible units can also be used together based on teaching in this.As described above, construct required by this kind of device Structure be obvious.Additionally, the present invention is also not for any certain programmed language.It is understood that, it is possible to use it is various Programming language realizes the content of invention described herein, and the description done to language-specific above is to disclose this Bright preferred forms.
In specification mentioned herein, a large amount of details are illustrated.It is to be appreciated, however, that the enforcement of the present invention Example can be put into practice in the case of without these details.In some instances, known method, structure is not been shown in detail And technology, so as not to obscure the understanding of this description.
Similarly, it will be appreciated that in order to simplify the disclosure and help understand one or more in each inventive aspect, exist Above in the description of the exemplary embodiment of the present invention, each feature of the present invention is grouped together into single enforcement sometimes In example, figure or descriptions thereof.However, the method for the disclosure should be construed to reflect following intention:I.e. required guarantor The more features of feature that the application claims ratio of shield is expressly recited in each claim.More precisely, such as following Claims reflect as, inventive aspect is all features less than single embodiment disclosed above.Therefore, Thus the claims for following specific embodiment are expressly incorporated in the specific embodiment, wherein each claim itself All as the separate embodiments of the present invention.
Those skilled in the art are appreciated that can be carried out adaptively to the module in the equipment in embodiment Change and they are arranged in one or more equipment different from the embodiment.Can be the module or list in embodiment Unit or component are combined into a module or unit or component, and can be divided in addition multiple submodule or subelement or Sub-component.In addition at least some in such feature and/or process or unit is excluded each other, can adopt any Combine to all features disclosed in this specification (including adjoint claim, summary and accompanying drawing) and so disclosed Where all processes or unit of method or equipment are combined.Unless expressly stated otherwise, this specification is (including adjoint power Profit is required, summary and accompanying drawing) disclosed in each feature can it is identical by offers, be equal to or the alternative features of similar purpose carry out generation Replace.
Although additionally, it will be appreciated by those of skill in the art that some embodiments described herein include other embodiments In included some features rather than further feature, but the combination of the feature of different embodiments means in of the invention Within the scope of and form different embodiments.For example, in the following claims, embodiment required for protection appoint One of meaning can in any combination mode using.
The present invention all parts embodiment can be realized with hardware, or with one or more processor operation Software module realize, or with combinations thereof realization.It will be understood by those of skill in the art that can use in practice Microprocessor or digital signal processor (DSP) are realizing the dress of detection Flash vulnerability exploits according to embodiments of the present invention The some or all functions of some or all parts in putting.The present invention is also implemented as described here for performing Method some or all equipment or program of device (for example, computer program and computer program).This The program of the realization present invention of sample can be stored on a computer-readable medium, or can have one or more signal Form.Such signal can be downloaded from internet website and obtained, or be provided on carrier signal, or with any other Form is provided.
It should be noted that above-described embodiment the present invention will be described rather than limits the invention, and ability Field technique personnel can design without departing from the scope of the appended claims alternative embodiment.In the claims, Any reference symbol between bracket should not be configured to limitations on claims.Word "comprising" is not excluded the presence of not Element listed in the claims or step.Word "a" or "an" before element does not exclude the presence of multiple such Element.The present invention can come real by means of the hardware for including some different elements and by means of properly programmed computer It is existing.If in the unit claim for listing equipment for drying, several in these devices can be by same hardware branch To embody.The use of word first, second, and third does not indicate that any order.These words can be explained and be run after fame Claim.
The invention discloses A1, a kind of method of detection Flash vulnerability exploits, wherein, including:
In the running of the Flash modules of application program, the specified object in monitoring to Flash modules is written and read The event of operation;
When listen to the event of operation is written and read to the specified object when, obtain the specified object, judge described Whether the value of the length element in specified object is more than predetermined threshold value;
It is then, to determine in the Flash file that Flash modules are run there is vulnerability exploit;
Otherwise, it determines there is no vulnerability exploit in the Flash file that run of Flash modules.
A2, the method as described in A1, wherein, the method is further included:
When it is determined that there is vulnerability exploit in the Flash file that run of Flash modules, forbid entering the specified object Row read-write operation is continued executing with;
When it is determined that there is no vulnerability exploit in the Flash file that run of Flash modules, it is allowed to the specified object It is written and read continuing executing with for operation.
A3, the method as described in A1 or A2, wherein, the method is further included:Run in the Flash modules of application program Before, know in Flash modules and the reading and writing data function of operation is written and read to the specified object;
The monitoring to Flash modules in specified object be written and read the event of operation and include:Monitor the data to read That writes function calls event;
It is described when listen to the event of operation is written and read to the specified object when, obtaining the specified object includes: When the event being called to the reading and writing data function is listened to, the specified object is obtained.
A4, the method as described in A3, wherein, the event of calling for monitoring the reading and writing data function includes:
The carry Hook Function on the reading and writing data function;
The message for indicating to be called to the reading and writing data function is intercepted by the Hook Function, the finger is not allowed Show the continuation transmission of the message being called to the reading and writing data function.
A5, the method as described in A4, wherein, it is described to there is leak in the Flash file that Flash modules are run is determined During utilization, forbid being written and read the specified object operation continue executing with including:
When it is determined that there is vulnerability exploit in the Flash file that run of Flash modules, forced by the Hook Function Terminate the continuation transmission of the message for indicating and being called to the reading and writing data function.
A6, the method as described in A4, wherein, when it is determined that there is no leak profit in the Flash file that run of Flash modules Used time, it is allowed to the specified object is written and read operation continue executing with including:
When it is determined that there is no vulnerability exploit in the Flash file that run of Flash modules, put by the Hook Function The row message for indicating to be called the reading and writing data function so that the instruction is carried out to the reading and writing data function The message called continues to transmit.
A7, the method as described in A3, wherein, it is described know in Flash modules operation is written and read to the specified object Reading and writing data function include:
Static analysis is carried out to Flash modules, is known in Flash modules to the specified object according to staticaanalysis results It is written and read the reading and writing data function of operation.
A8, the method as described in A2, wherein, when it is determined that there is vulnerability exploit in the Flash file that run of Flash modules When, the method is further included:
The value of the length element in the specified object is reverted to into original value.
A9, the method as described in A1, wherein, the specified object includes:Vector objects, and/or, ByteArray pair As;
Length element in the specified object includes:Length elements, and/or, capacity elements.
A10, the method as described in A1, wherein, the application program includes following one or more:
Web browser, word-processing application, PowerPoint application program, spreadsheet applications, at figure Reason application program.
The invention also discloses B11, a kind of device of detection Flash vulnerability exploits, wherein, including:
Monitoring unit, is suitable in the running of the Flash modules of application program, monitors to the finger in Flash modules Determine the event that object is written and read operation;Notify at detection when listening to and being written and read the event of operation to the specified object Reason unit;
The detection process unit, is suitable to, when notice is received, obtain the specified object, judges the specified object In the value of length element whether be more than predetermined threshold value;It is then, to determine and exist in the Flash file that Flash modules are run leakage Hole utilizes;Otherwise, it determines there is no vulnerability exploit in the Flash file that run of Flash modules.
B12, the device as described in B11, wherein,
The detection process unit, is further adapted for there is leak in the Flash file that Flash modules are run is determined During utilization, forbid being written and read operation to the specified object continuing executing with;And, it is suitable to when determination Flash modules are transported When there is no vulnerability exploit in capable Flash file, it is allowed to be written and read operation to the specified object and continue executing with.
B13, the device as described in B11 or B12, wherein,
The monitoring unit, is further adapted for before the Flash modules operation of application program, in knowing Flash modules The reading and writing data function of operation is written and read to the specified object;That monitors the reading and writing data function calls event;Work as prison The detection process unit is notified when hearing the event being called to the reading and writing data function.
B14, the device as described in B13, wherein,
The monitoring unit, is suitable to the carry Hook Function on the reading and writing data function;Blocked by the Hook Function The message for indicating to be called to the reading and writing data function is cut, does not allow the instruction to adjust the reading and writing data function The continuation transmission of message.
B15, the device as described in B14, wherein,
The detection process unit, is suitable to there is vulnerability exploit in the Flash file that Flash modules are run is determined When, force the continuation for terminating the message for indicating and being called to the reading and writing data function to pass by the Hook Function Pass.
B16, the device as described in B14, wherein,
The detection process unit, is suitable to there is no vulnerability exploit in the Flash file that Flash modules are run is determined When, by the Hook Function clearance message for indicating to be called the reading and writing data function so that the instruction The message being called to the reading and writing data function continues to transmit.
B17, the device as described in B13, wherein,
The monitoring unit, is suitable to carry out static analysis to Flash modules, and according to staticaanalysis results Flash moulds are known The reading and writing data function of operation is written and read in block to the specified object.
B18, the device as described in B12, wherein,
The detection process unit, is further adapted for there is leak in the Flash file that Flash modules are run is determined During utilization, the value of the length element in the specified object is reverted to into original value.
B19, the device as described in B11, wherein, the specified object includes:Vector objects, and/or, ByteArray Object;
Length element in the specified object includes:Length elements, and/or, capacity elements.
B20, the device as described in B11, wherein, the application program includes following one or more:
Web browser, word-processing application, PowerPoint application program, spreadsheet applications, at figure Reason application program.

Claims (10)

1. a kind of method of detection Flash vulnerability exploits, wherein, including:
In the running of the Flash modules of application program, the specified object in monitoring to Flash modules is written and read operation Event;
When listen to the event of operation is written and read to the specified object when, obtain the specified object, judge described specified Whether the value of the length element in object is more than predetermined threshold value;
It is then, to determine in the Flash file that Flash modules are run there is vulnerability exploit;
Otherwise, it determines there is no vulnerability exploit in the Flash file that run of Flash modules.
2. the method for claim 1, wherein the method is further included:
When it is determined that there is vulnerability exploit in the Flash file that run of Flash modules, forbid reading the specified object Write operation is continued executing with;
When it is determined that there is no vulnerability exploit in the Flash file that run of Flash modules, it is allowed to which the specified object is carried out Read-write operation is continued executing with.
3. method as claimed in claim 1 or 2, wherein, the method is further included:Transport in the Flash modules of application program Before row, know in Flash modules and the reading and writing data function of operation is written and read to the specified object;
The monitoring to Flash modules in specified object be written and read the event of operation and include:Monitor the reading and writing data letter Several calls event;
It is described when listen to the event of operation is written and read to the specified object when, obtaining the specified object includes:Work as prison When hearing the event being called to the reading and writing data function, the specified object is obtained.
4. method as claimed in claim 3, wherein, the event of calling for monitoring the reading and writing data function includes:
The carry Hook Function on the reading and writing data function;
The message for indicating to be called to the reading and writing data function is intercepted by the Hook Function, does not allow the instruction right The continuation transmission of the message that the reading and writing data function is called.
5. method as claimed in claim 4, wherein, it is described to there is leakage in the Flash file that Flash modules are run is determined When hole utilizes, forbid being written and read the specified object operation continue executing with including:
When it is determined that there is vulnerability exploit in the Flash file that run of Flash modules, force to terminate by the Hook Function The continuation transmission of the message for indicating to be called the reading and writing data function.
6. a kind of device of detection Flash vulnerability exploits, wherein, including:
Monitoring unit, is suitable in the running of the Flash modules of application program, specified right in monitoring to Flash modules Event as being written and read operation;Detection process list is notified when listening to and being written and read the event of operation to the specified object Unit;
The detection process unit, is suitable to, when notice is received, the specified object be obtained, in judging the specified object Whether the value of length element is more than predetermined threshold value;It is then, to determine there is leak profit in the Flash file that Flash modules are run With;Otherwise, it determines there is no vulnerability exploit in the Flash file that run of Flash modules.
7. device as claimed in claim 6, wherein,
The detection process unit, is further adapted for there is vulnerability exploit in the Flash file that Flash modules are run is determined When, forbid being written and read operation to the specified object continuing executing with;And, it is suitable to work as what determination Flash modules were run When there is no vulnerability exploit in Flash file, it is allowed to be written and read operation to the specified object and continue executing with.
8. device as claimed in claims 6 or 7, wherein,
The monitoring unit, was further adapted for before the Flash modules operation of application program, knew in Flash modules to institute State the reading and writing data function that specified object is written and read operation;That monitors the reading and writing data function calls event;When listening to The detection process unit is notified during the event being called to the reading and writing data function.
9. device as claimed in claim 8, wherein,
The monitoring unit, is suitable to the carry Hook Function on the reading and writing data function;Intercepted by the Hook Function and referred to Show the message being called to the reading and writing data function, do not allow what the instruction was called to the reading and writing data function The continuation transmission of message.
10. device as claimed in claim 9, wherein,
The detection process unit, is suitable to when it is determined that there is vulnerability exploit in the Flash file that run of Flash modules, lead to Cross the Hook Function to force to terminate the continuation transmission of the message for indicating and being called the reading and writing data function.
CN201611064559.6A 2016-11-28 2016-11-28 Method and device for detecting Flash vulnerability exploitation Pending CN106650462A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611064559.6A CN106650462A (en) 2016-11-28 2016-11-28 Method and device for detecting Flash vulnerability exploitation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611064559.6A CN106650462A (en) 2016-11-28 2016-11-28 Method and device for detecting Flash vulnerability exploitation

Publications (1)

Publication Number Publication Date
CN106650462A true CN106650462A (en) 2017-05-10

Family

ID=58812544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611064559.6A Pending CN106650462A (en) 2016-11-28 2016-11-28 Method and device for detecting Flash vulnerability exploitation

Country Status (1)

Country Link
CN (1) CN106650462A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107229844A (en) * 2017-05-31 2017-10-03 武汉斗鱼网络科技有限公司 Detect method, device, service end and the client of SWF file callers
CN107766733A (en) * 2017-10-10 2018-03-06 北京奇虎科技有限公司 A kind of screen method of security breaches, device and terminal
CN112422553A (en) * 2020-11-17 2021-02-26 杭州安恒信息技术股份有限公司 Method, device and equipment for detecting VBScript vulnerability exploitation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693396A (en) * 2012-06-11 2012-09-26 中南大学 Flash bug detection method based on virtual execution mode
CN103617396A (en) * 2013-11-29 2014-03-05 杭州华三通信技术有限公司 Detection method and system of vulnerability exploitation
CN103714292A (en) * 2014-01-15 2014-04-09 四川师范大学 Method for detecting exploit codes
CN104298922A (en) * 2013-07-16 2015-01-21 腾讯科技(深圳)有限公司 Method and device of stopping vulnerability exploiting

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693396A (en) * 2012-06-11 2012-09-26 中南大学 Flash bug detection method based on virtual execution mode
CN104298922A (en) * 2013-07-16 2015-01-21 腾讯科技(深圳)有限公司 Method and device of stopping vulnerability exploiting
CN103617396A (en) * 2013-11-29 2014-03-05 杭州华三通信技术有限公司 Detection method and system of vulnerability exploitation
CN103714292A (en) * 2014-01-15 2014-04-09 四川师范大学 Method for detecting exploit codes

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YUKICHEN: "Angler EK最新CVE-2015-8446 Flash Exploit分析", 《HTTP://BLOGS.360.CN/POST/ANGLER-EK%E6%9C%80%E6%96%B0CVE-2015-8446-FLASH-EXPLOIT%E5%88%86%E6%9E%90.HTML》 *
YUKICHEN: "Angler EK最新CVE-2015-8446 Flash Exploit分析", 《JU.OUTOFMEMORY.CN/ENTRY/227971》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107229844A (en) * 2017-05-31 2017-10-03 武汉斗鱼网络科技有限公司 Detect method, device, service end and the client of SWF file callers
CN107229844B (en) * 2017-05-31 2019-09-10 武汉斗鱼网络科技有限公司 Detect method, apparatus, server-side and the client of SWF file caller
CN107766733A (en) * 2017-10-10 2018-03-06 北京奇虎科技有限公司 A kind of screen method of security breaches, device and terminal
CN112422553A (en) * 2020-11-17 2021-02-26 杭州安恒信息技术股份有限公司 Method, device and equipment for detecting VBScript vulnerability exploitation

Similar Documents

Publication Publication Date Title
Sun et al. Taintart: A practical multi-level information-flow tracking system for android runtime
US9262628B2 (en) Operating system sandbox
US8726392B1 (en) Systems and methods for combining static and dynamic code analysis
Ali-Gombe et al. Aspectdroid: Android app analysis system
Xu et al. An adaptive and configurable protection framework against android privilege escalation threats
US11714884B1 (en) Systems and methods for establishing and managing computer network access privileges
EP2881881A2 (en) Detecting java sandbox escaping attacks based on java bytecode instrumentation and java method hooking
JP2009521737A (en) Method and apparatus for detecting and preventing unsafe operation of JAVASCRIPT program
US20190073473A1 (en) Dynamic security domain data flow analysis via passive monitoring
KR20110087193A (en) Apparatus and method for processing documents with executable text
CN105930694B (en) Flexible instruction set for fuzzy virtual machines
EP3028211A1 (en) Determining malware based on signal tokens
US11163645B2 (en) Apparatus and method of control flow integrity enforcement utilizing boundary checking
CN106650462A (en) Method and device for detecting Flash vulnerability exploitation
Yang et al. {Iframes/Popups} Are Dangerous in Mobile {WebView}: Studying and Mitigating Differential Context Vulnerabilities
Mouzarani et al. Smart fuzzing method for detecting stack‐based buffer overflow in binary codes
Piromsopa et al. Survey of protections from buffer-overflow attacks
Grace et al. Behaviour analysis of inter-app communication using a lightweight monitoring app for malware detection
Lantz et al. Towards self-monitoring enclaves: Side-channel detection using performance counters
CN110717181B (en) Non-control data attack detection method and device based on novel program dependency graph
Ahmed Rumee et al. Droidtest: Testing android applications for leakage of private information
US8484753B2 (en) Hooking nonexported functions by the offset of the function
Kudo et al. Access control for plugins in Cordova-based hybrid applications
Khanmohammadi et al. Hydroid: A hybrid approach for generating API Call traces from obfuscated android applications for mobile security
Shen et al. Toward efficient dynamic analysis and testing for Android malware

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170510

RJ01 Rejection of invention patent application after publication