WO2014094470A1 - 识别程序的网络行为的方法、装置及系统 - Google Patents

识别程序的网络行为的方法、装置及系统 Download PDF

Info

Publication number
WO2014094470A1
WO2014094470A1 PCT/CN2013/083667 CN2013083667W WO2014094470A1 WO 2014094470 A1 WO2014094470 A1 WO 2014094470A1 CN 2013083667 W CN2013083667 W CN 2013083667W WO 2014094470 A1 WO2014094470 A1 WO 2014094470A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
network behavior
application layer
layer data
protocol
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.)
Ceased
Application number
PCT/CN2013/083667
Other languages
English (en)
French (fr)
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 US14/653,335 priority Critical patent/US9749341B2/en
Publication of WO2014094470A1 publication Critical patent/WO2014094470A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/128Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor

Definitions

  • the present invention belongs to the field of computer technology, and in particular, to a method, device and system for identifying a network behavior of a program. Background technique
  • the DoD model includes: a link layer, an internet layer, a transport layer, and an application layer.
  • a program In order for a program to send or receive Internet data, it needs to conform its own data to the TCP/IP protocol standard in order for the data to be transmitted accurately and efficiently over the Internet.
  • the data structure of the link layer, the Internet layer, and the transport layer all have a relatively strict set of standards.
  • the programmer cannot change the structure without authorization, so it is easy to be monitored by security software or security devices to critical data. camouflage.
  • the data structure of the application layer alone has high customizable features. Allow programmers to arbitrarily define their content and structure according to their own needs and ideas.
  • the existing detection scheme for the data structure of the application layer mainly relies on the signature detection. That is, the researcher finds a certain type of network threat (remote control, Trojan, worm, etc.) that has already appeared, and passes the sample obtained. Conduct research and analysis, capture the network packets it transmits, and then extract its fixed features (such as a specific character at a certain offset) as the basis for automatic detection of the program.
  • the biggest shortcoming of such a traditional solution is that there is hysteresis, and a sample of new threats must be found for analysis in order to effectively intercept.
  • the present invention has been made in order to provide a method, apparatus and system for recognizing a network behavior of an identification program that overcomes the above technical problems or at least partially solves the above technical problems.
  • a method for identifying a network behavior of a program includes: acquiring, in a process of accessing a network, application layer data in a current network behavior of the program; determining whether the data in the application layer is Including an unknown protocol; if the protocols in the application layer data are known protocols, the current network behavior of the program is identified as the network behavior of the identifiable program; if the application layer data includes an unknown protocol, the program is The current network behavior is identified as the network behavior of the suspicious program.
  • an apparatus for identifying a network behavior of a program includes: an obtaining module, configured to acquire an application layer in a current network behavior of the program during a program accessing a network Data; a first determining module, configured to determine whether an unknown protocol is included in the application layer data; a module, when the protocol in the application layer data is a known protocol, identifying a current network behavior of the program as a network behavior of the identifiable program; and when the application layer data includes an unknown protocol, The current network behavior is identified as the network behavior of the suspicious program.
  • a system for identifying a network behavior of a program comprising: a client and a cloud server, wherein the client is configured to acquire a current network of the program during a program accessing the network Application layer data in the behavior; determining whether the application layer data includes an unknown protocol; if the protocols in the application layer data are known protocols, identifying the current network behavior of the program as the network behavior of the identifiable program; The application layer data includes an unknown protocol, and the current network behavior of the program is identified as the network behavior of the suspicious program, and then the network behavior of the identifiable program or the characteristic information of the network behavior of the suspicious program is sent to the cloud server;
  • the server is configured to judge, according to the feature information, whether the network behavior of the identifiable program or the network behavior of the suspicious program is a network behavior of the malicious program, and return a judgment result to the client.
  • a system for identifying a network behavior of a program includes: a client and a cloud server, wherein the client is configured to acquire a current network behavior of the program during a program accessing the network.
  • the data packet includes: application layer data, and receiving the recognition result returned by the cloud server; the cloud server is configured to receive the data packet in the current network behavior of the program acquired by the client, and determine whether the application layer data includes the unknown Protocol; if the protocol in the application layer data is a known protocol, the current network behavior of the program is identified as the network behavior of the identifiable program; if the application layer data includes an unknown protocol, the current network of the program The behavior is identified as the network behavior of the suspicious program, sending the recognition result to the client.
  • a method, apparatus, and system for identifying a network behavior of a program when the application layer data in the current network behavior of the program is a known protocol, identifying the current network behavior of the program as an identifiable program Network behavior; when the application layer data in the current network behavior of the program includes an unknown protocol, the current network behavior of the program is identified as the network behavior of the suspicious program, thereby achieving accurate identification of the network behavior of the program, which will include
  • the network behavior of the program of the unknown protocol is identified as the network behavior of the suspicious program, and the risk prompt information can be sent to the user, and the final selection is made by the user, thereby solving the solution of the traditional network behavior of the recognition program for the new occurrence or
  • the problem that the network behavior of the new variant program cannot be accurately identified further solves the problem that the traditional network protocol of the recognition program does not intercept the unknown network protocol, and improves the network security of the user.
  • the client may send the feature information in the application layer data to
  • the cloud server determines whether the network behavior of the program is the network behavior of the malicious program according to the black and white list in the black and white list library.
  • the black and white list with a large amount of data and frequent changes is stored in the cloud server, and the cloud is The server can identify the network behavior of the malicious program, which can effectively save the client local resources and reduce the performance overhead of the client local machine, and also accelerate the identification. The responsiveness of network behavior.
  • FIG. 1 is a flow chart showing a program network behavior recognition method 100 according to an embodiment of the present invention
  • FIG. 2 is a block diagram showing a structure of a program network behavior recognition apparatus 200 according to another embodiment of the present invention
  • 3 is a block diagram showing the structure of a program network behavior recognition system 300 according to still another embodiment of the present invention
  • FIG. 4 is a block diagram schematically showing a server for executing a method according to the present invention
  • FIG. 5 is schematically shown in FIG.
  • a memory unit for holding or carrying program code implementing the method according to the invention is shown. detailed description
  • a method, device and system for identifying a program network behavior proposed by the embodiments of the present invention are based on the data structure of the application layer in the TCP/IP protocol system having high customizable characteristics, once the application layer data is detected. Including the customized data structure, the current network behavior may be considered to be at risk. Therefore, the program network behavior recognition method proposed by the present invention mainly determines whether the application layer data of the current network behavior of the program includes an unknown protocol. If all are known protocols, the current network behavior of the program is identified as the network behavior of the identifiable program; if an unknown protocol is included, the current network behavior of the program is identified as the network behavior of the suspicious program.
  • step S101 the method 100 of the embodiment of the present invention begins with a step Step S101.
  • step S102 in the process of the program accessing the network, the application layer data of the current network behavior of the program is acquired.
  • the program is a normal file, a collection of machine code instructions and data, and is a static concept.
  • the process of executing a program on a computer is a dynamic concept.
  • the same program can run on several data sets at the same time, which means that the same program can correspond to multiple processes.
  • Network behavior is initiated by a running program (that is, a process).
  • the current network behavior of the program that is, the network behavior initiated by the processes belonging to the program.
  • Network behavior can be understood as a variety of behaviors that need to be performed over the network, including, for example: HTTP (Hypertext Transport Protocol) access (common download files or upload information), SMTP (Simple Mai l Transfer Protocol) , Simple Mail Transfer Protocol) Request (receive and receive email), DNS (Domain Name System) request (resolve information such as IP address corresponding to domain name), etc.
  • HTTP Hypertext Transport Protocol
  • SMTP Simple Mai l Transfer Protocol
  • Simple Mail Transfer Protocol Request send and receive email
  • DNS Domain Name System
  • intercepting the information of the network behavior at any part of the process can achieve the purpose of monitoring the current network behavior of the program.
  • the implementation of specific monitoring can be, but is not limited to, the following methods: By registering the protocol driver on the client, creating a filter driver similar to the operating system, and using the application programming interface function provided by the operating system (such as a hook function) to intercept the current network behavior.
  • Winsock network programming interface function
  • the filter drives a similar filter driver to get data on network behavior.
  • the specific implementation manner may be: registering a protocol driver to an NDIS (Network Driver Interface Specifi cati on, network driver interface specification), or driving the device stack in Afd.sys (anci lary Function Driver for Winsock, Winsock auxiliary function driver) , Tdi . sys ( Transport Di spatch Interface ) drive device stack or Tcpip. sys (Transmi Ss Control Protocol / Internet Protocol) drive device stack to add a filter driver similar to the operating system .
  • NDIS Network Driver Interface Specifi cati on, network driver interface specification
  • Afd.sys anci lary Function Driver for Winsock, Winsock auxiliary function driver
  • the hook function is used to intercept the data of the network behavior.
  • the specific implementation manner may be: intercepting the NtDevi celoControl function provided by the kernel in the Windows SSDT (System Servi ces Descriptor Table) by using a hook function, and obtaining the number of communication of all application devices. According to the filtering of the request sent to Afd. sys; can also use the hook function to intercept the service function provided by Tcpip. sys driver or NDIS. sys exported interface, etc., to monitor the network behavior of the program by the above method.
  • the network behavior of the program can also be monitored in the following ways: According to Windows LSP (Layered Service Provider), the LSP mechanism can be extended, and all applications can be used to take over Winsock using their own DLL files. After the request, it will be forwarded to Windows' own mswsock. dl l, or it can be sent to the Windows system IP device driver 10CTL_ I P_SET_F I REWALL_H00K registration firewall callback and so on.
  • the manner of monitoring the network behavior is not limited to the manners listed above.
  • step S104 it is determined whether the application layer data includes an unknown protocol.
  • whether the unknown protocol is included in the application layer data may be determined according to a format of the known protocol.
  • the known protocol includes at least one of the following: HTTP protocol, DNS protocol, SMTP protocol, FTP protocol (File Transfer Protocol), SNMP protocol (Simple Network Management Protocol), and P0P3 protocol (the third version of the post office agreement).
  • the known protocols including:
  • Three protocols such as the HTTP protocol, the DNS protocol, and the SMTP protocol, may also include some encryption protocols, such as the FTP protocol.
  • the encryption protocol mainly encapsulates the unknown encryption format of the unknown protocol in the data packet, and the data package includes some identifiable common protocols. These common protocols may include: SNMP protocol, P0P3 protocol, eMule/eDonkey protocol, or BITT0RRENT protocol, etc. Since different protocols have their own fixed formats, the known protocol can detect the format of the protocol itself.
  • the HTTP protocol includes a protocol header, but there is no protocol tail. Host, Refer and other fields are included in the protocol header.
  • the content, common formats in the protocol header include: Host, Refer, User-agent, Url and other fields.
  • the application layer data includes an unknown protocol, then there is a risk.
  • a set of general protocol also known as a known protocol
  • Known protocols such as DNS protocol, HTTP protocol, FTP protocol, SMTP protocol, SSL/TLS protocol, SSH protocol, uTorrent protocol, eMule/eDonkey protocol, BitTorrent protocol, etc.
  • DNS protocol HyperText Transfer Protocol
  • FTP protocol FTP protocol
  • SMTP protocol Secure Digital Protocol
  • SSL/TLS protocol Secure Shell protocol
  • SSH protocol Secure Shell protocol
  • uTorrent protocol eMule/eDonkey protocol
  • BitTorrent protocol etc.
  • the above known protocols occupy the vast majority of network data. section. As long as the data structure of the above known protocols can be effectively identified and analyzed, the remaining unknown protocols will be very few.
  • the format of the known protocol may be collected in advance, and the known protocols include, but are not limited to, the DNS protocol, the HTTP protocol, the FTP protocol, the SMTP protocol, the SSL/TLS protocol, the SSH protocol, the uTorrent protocol, and the eMule. /eDonkey protocol, BitTorrent protocol, etc., and then in step S104, according to the advance receipt
  • the format of the known protocol is used to identify the protocol in the application layer data. If the protocol in the application layer data can be identified, it is determined that the application layer data is a known protocol, if at least the application layer data is present. If some protocols are not recognized, it is judged that the application layer data includes an unknown protocol.
  • step S106 If it is determined in step S104 that the protocols in the application layer data are all known protocols, then step S106 is performed. In step S106, the current network behavior of the program is identified as the network behavior of the identifiable program.
  • the network behavior can be recognized, and the network behavior can be identified as the network behavior of the identifiable program in step S106.
  • the network behavior is identified by the identifier " 1 " as the network behavior of the identifiable program. It will of course be understood that the specific form of the identifier is not limited in the embodiments of the invention.
  • step S106 the end step S121 can be entered.
  • step S106 may be followed by step S110.
  • step S110 it is determined whether the network behavior of the identifiable program is the network behavior of the malicious program.
  • a malicious program usually refers to a program written by an operator with an attack intent. These threats can be divided into two categories: threats that require host programs and threats that are independent of each other. The former is basically a program fragment that cannot be independent of an actual application, utility, or system program; the latter is a self-contained program that can be scheduled and run by the operating system. Malicious programs include: trapdoors, logic bombs, Trojan horses, worms, bacteria and viruses, and more.
  • the following two ways may be used to determine whether the network behavior of the identifiable program is a network behavior of the malicious program, where
  • a module is preset on the client for storing the black and white list in the black and white list library, and the client can determine whether the network behavior is a malicious program network behavior through the black and white list and the acquired feature information.
  • the blacklist and whitelist related to the network defense may perform different check items for different protocols.
  • General check items including: Check the remote ip address, local port, remote port, transport layer protocol (usually one of TCP or UDP).
  • Protocol type checking Some known protocols may be used by Trojan remote control to transmit data. Once such a known protocol is discovered, it can be judged as a data protocol packet used by a malicious program.
  • Protocol details check other known agreements, according to the structure specific to the agreement, the object itself has reference value and does not involve detection. Based on this, it is used as the standard for black and white judgment. The details of the agreement will vary according to the agreement.
  • the specific items will also be different, such as: Check the URL, Host, Referer, User-Agent and other encrypted fields in the HTTP protocol on the client; Check the encrypted fields such as Name and Type in the Queries information in the DNS protocol.
  • the client obtains feature information in the application layer data of the network behavior of the identifiable program, and the feature information may be part of the code in the application layer data, the data packet in the application layer data, or the data in the application layer data.
  • a piece of data in the package determining whether the network behavior of the identifiable program is a network behavior of the malicious program according to the black and white list on the client and the acquired feature information.
  • the network behavior is introduced as an HTTP access behavior, and specifically to the above steps, obtained in step S102.
  • step S104 it is determined according to the format of the known HTTP protocol that the protocols included in the HTTP access behavior are all known protocols.
  • the HTTP access behavior is identified as the network behavior of the identifiable program.
  • step S1 10 acquiring feature information in the application layer data of the HTTP access behavior, such as a Host field, an Url field, an IP address field, etc., and determining whether the feature information belongs to a malicious program according to a black and white list in the black and white list library.
  • the characteristic information in the network behavior if it belongs, the network behavior belongs to the network behavior of the malicious program, and proceeds to step S1 12, if not, the network behavior belongs to the normal network behavior, and proceeds to step S114.
  • the DNS protocol is mainly for the domain name resolution of the request packet, the string of the resolved domain name, and the IP address returned by the DNS. Is it abnormal?
  • the SMTP protocol it is mainly to determine whether the name field is abnormal, such as detecting the sender, recipient, sender's name and domain name, and whether the recipient's name and domain name are abnormal.
  • the FTP protocol and the HTTP protocol it is mainly to determine whether the domain name and the Url field are abnormal. If the above field matches the blacklist in the cloud server or client, the protocol is considered to be at risk and it is necessary to provide a risk alert to the user.
  • All the data obtained in the SMTP protocol can be processed by the hash value such as MD5 and then uploaded to the cloud server.
  • the black and white list only detects the MD5 value of the data in the SMTP protocol in the cloud server, and does not involve the mail content itself.
  • a database is preset on the cloud server, and the database is used to store the black and white list in the black and white list library, and the client sends the acquired feature information to the cloud server, and the cloud server determines according to the black and white list and the received feature information. Whether the network behavior is the network behavior of a malicious program.
  • the client first acquires feature information in the application layer data in the network behavior of the identifiable program, and the feature information may be part of the code in the application layer data (for example, a Host field or a Url field), in the application layer data.
  • the application layer data also has some custom data. For example, when a user uploads a file to a website or a server using HTTP or FTP, in addition to specifying the necessary identification information uploaded by the user by a field such as a URL and a Host, the file uploaded by the user itself is used as a data packet, attached to the HTTP or FTP. Transfer to the specified server in the protocol.
  • the content of the file uploaded by the user belongs to the data packet in the above application layer protocol (of course, if the file is large, it may be split into multiple data packets for transmission). This is only a common example. For different protocols and different application scenarios, such packets will appear in different forms. Of course, in some cases, there may not be such a packet or the packet is empty.
  • the client sends the feature information to the cloud server, and the cloud server determines, according to the black and white list in the black and white list, whether the feature information belongs to the feature information in the network behavior of the malicious program, and returns the judgment result to the client, if it belongs, Then, the network behavior belongs to the network behavior of the malicious program, and proceeds to step S112. If it does not belong, the network behavior belongs to the normal network behavior, and the process proceeds to step S114. Since the storage space of the cloud server is much larger than that of the client, the black and white list library can be pre-stored as much as possible on the cloud server, thereby improving the accuracy of the network behavior recognition. At the same time, in the cloud server After updating the newly collected black and white list library, it can be updated in time.
  • step S112 the risk prompt information is transmitted and/or the current network of the identifiable program is intercepted.
  • the behavior then proceeds to the end step S121.
  • the network connection of the program may be suspended first, and a prompt message is sent to the user to inform the user that the program is abnormal, and the user makes a final selection, if the user selects Intercept, then the network behavior will be completely blocked.
  • step S110 determines whether it is the network behavior of the malicious program. If it is judged in step S110 that it is not the network behavior of the malicious program, it proceeds to step S114, and the current network behavior of the identifiable program is identified as the normal network behavior, and then proceeds to the end step S121. Normal network behavior is not risky or has very low risk, allowing this normal network behavior to access the network.
  • step S108 is performed.
  • the current network behavior of the program is identified as the network behavior of the suspicious program. That is, the protocol of the application layer data of the network behavior of the program is compared with a general protocol.
  • the network behavior of the program may be temporarily unable to be accurately identified.
  • the network behavior can be considered to be at risk, and the network behavior of the program can be identified as the network behavior of the suspicious program.
  • the network behavior is identified as the network behavior of a suspicious program by the identifier " 0 ". It will of course be understood that the specific form of the identifier is not limited in the embodiments of the invention.
  • step S108 the end step S121 can be entered.
  • step S108 may be followed by step S16.
  • step S116 it is determined whether the network behavior of the suspicious program is a network behavior of the malicious program.
  • a malicious program usually refers to a program written with an attack intent.
  • IJ Threats that require host programs and threats that are independent of each other.
  • the former is basically a program fragment that cannot be independent of an actual application, utility, or system program; the latter is a self-contained program that can be scheduled and run by the operating system, including: trapdoors, logic bombs, Trojan horses , worms, bacteria and viruses, etc.
  • the following two ways can be used to determine whether the network behavior of the suspicious program is a malicious program's network behavior, where
  • a module is preset on the client for storing the black and white list in the black and white list library, and the client determines whether the network behavior is a malicious program network behavior through the black and white list and the acquired feature information.
  • the client obtains feature information in the application layer data of the network behavior of the suspicious program, and the feature information may be part of code in the application layer data, a data packet in the application layer data, or a data packet in the application layer data.
  • a piece of data according to the black and white list on the client, and the acquired feature information, determine whether the network behavior of the suspicious program is a malicious program's network behavior, and if so, the network behavior belongs to the malicious program's network behavior, enters In step S118, if it does not belong, the network behavior belongs to a risky network behavior, and the process proceeds to step S120. It should be noted that, for different protocols, the detected items are different.
  • the DNS protocol it is mainly for the domain name resolution of the request packet, the string of the resolved domain name, and the IP address returned by the DNS are abnormal.
  • the name field is mainly determined, including: the sender, the recipient, the sender's name and domain name, and whether the recipient's name and domain name are abnormal.
  • the HTTP protocol it is mainly determined whether the fields such as Host, URL, User-Agent, Referer, and Method are abnormal. There are two main categories for judging whether or not anomalies are: (1) Accurate matching: For example, if a Trojan is found, it is found that the Trojan is connected to an IP address or URL, and the IP address or URL is not found to have other legitimate uses.
  • a module is preset on the cloud server for storing the black and white list in the black and white list library, and the client sends the acquired feature information to the cloud server, and the cloud server determines whether the network behavior is based on the black and white list and the received feature information.
  • the feature information uploaded by the client to the cloud server can be encrypted.
  • the MD5 algorithm can calculate the hash value of all URLs, host URLs, domain name URLs, hierarchical domain name URLs, and query path URLs, and send the MD5 hash value to The cloud server, the cloud server returns the ciphertext data together with the MD5 hash value to the client, and the ciphertext data includes the MD5 hash value.
  • the client obtains feature information in the application layer data in the network behavior of the suspicious program, and the feature information may be part of code in the application layer data (for example, a Host field or a Url field), and a data packet in the application layer data. Or a piece of data in the data packet in the application layer data; the client sends the feature information to the cloud server, and the cloud server determines, according to the black and white list in the black and white list, whether the feature information belongs to the feature information in the network behavior of the malicious program. And returning the judgment result to the client. If it belongs, the network behavior belongs to the network behavior of the malicious program, and proceeds to step S118. If it does not belong, the network behavior belongs to the risky network behavior, and the process proceeds to step S120.
  • the feature information may be part of code in the application layer data (for example, a Host field or a Url field), and a data packet in the application layer data. Or a piece of data in the data packet in the application layer data; the client sends the feature information
  • the black and white list library can be pre-stored as much as possible on the cloud server, thereby improving the accuracy of the network behavior recognition. At the same time, it can be processed in time after the newly collected black and white list library.
  • some black and white lists with larger data volume and more frequent changes may be saved to the cloud server, and some relative A part of the black and white list that is fixed, has a very accurate hit, and has a small amount of data is saved to the client. If it is determined in step S116 that it is the network behavior of the malicious program, it proceeds to step S118.
  • step S118 the risk alert information is transmitted and/or the current network behavior of the program identified as suspicious is intercepted, and then the process proceeds to step S121.
  • the network connection of the program may be suspended first, and a prompt message is sent to the user to inform the user that the program is abnormal, and the user makes a final selection, if the user selects Intercept, then the network behavior will be completely blocked.
  • step S116 if it is judged in step S116 that it is not the network behavior of the malicious program, it proceeds to step S120.
  • step S120 the risk alert information is transmitted, and then the process proceeds to step S121. That is, although the network behavior of the suspicious program is not the network behavior of the malicious program, the network behavior of the suspicious program is at risk, so the risk alert information is sent to the user through step S120, and the final selection is made by the user.
  • FIG. 1 is not limited to the sequence of the steps shown, and the sequence of steps may be adjusted as needed.
  • the steps are not limited to the above step, and the steps may be performed. Further splitting into more steps can also be combined into fewer steps.
  • a program network behavior recognition apparatus 200 adapted to solve the above problems according to another embodiment of the present invention will now be described with reference to FIG.
  • the program network behavior recognition apparatus 200 includes: an acquisition module 202, a first determination module 204, and an identification module 206, wherein: an acquisition module 202, configured to acquire application layer data in a current network behavior of the program; a determining module 204, configured to determine whether the application layer data includes an unknown protocol; the identifying module 206, configured to identify the current network behavior of the program as identifiable when the protocols in the application layer data are all known protocols The network behavior of the program; and when the application layer data includes an unknown protocol, the current network behavior of the program is identified as the network behavior of the suspicious program.
  • the first determining module 202 is further configured to determine, according to a format of the known protocol, whether an unknown protocol is included in the application layer data.
  • a sufficient number of known protocols are pre-stored on the client, and the known protocols include: HTTP protocol, DNS protocol, SMTP protocol, and the like, and may also include some encryption protocols, such as the FTP protocol.
  • the encryption protocol mainly encapsulates the unified encryption format of the unknown protocol in the data packet, and the data package includes some identifiable common protocols. These common protocols may include: SNMP protocol, P0P3 protocol, ED0NKEY protocol, or BITT0RRENT protocol. Wait.
  • HTTP protocol detection protocol header and protocol tail HTTP protocol includes protocol header, However, there is no protocol end. Host, Refer and other fields are included in the protocol header. Common formats in the protocol header include: Host, Refer, User-agent, Url and other fields. Unknown protocols are considered risky. If an unknown protocol is not included in the scope of the identifiable agreement, there may be a custom protocol in it.
  • the apparatus 200 further includes: a second determining module 208 and a first processing module 210, wherein the second determining module 208 is configured to determine whether the network behavior of the identifiable program is malicious The network processing behavior of the program; the first processing module 210 is configured to determine that the second determining module 208 can recognize When the network behavior of the other program is the network behavior of the malicious program, the risk prompt information is sent, and/or the current network behavior of the identifiable program is intercepted; when the second determining module 208 determines that the network behavior of the identifiable program is not a malicious program Network behavior that identifies the normal network behavior of the program's current network behavior.
  • the second determining module 208 includes: a first obtaining unit and a first determining unit, where the first acquiring unit is configured to acquire feature information in the application layer data in the network behavior of the identifiable program, the feature The information may be part of the code in the application layer data, the data packet in the application layer data, or a piece of data in the data packet in the application layer data; the first determining unit is configured to determine the network behavior of the identifiable program according to the feature information. Whether it is a network behavior of a malicious program.
  • the second determining module 208 further includes: a second obtaining unit, a first sending unit, and a first receiving unit, where the second acquiring unit is configured to acquire the application layer data in the network behavior of the identifiable program
  • the feature information may be part of the code in the application layer data, the data packet in the application layer data, or a piece of data in the data packet in the application layer data
  • the first sending unit is configured to send the feature information to the cloud server
  • the first receiving unit is configured to receive the determination result returned by the cloud server.
  • the apparatus 200 further includes: a third determining module 212 and a second processing module 214, wherein the third determining module 212 is configured to determine whether the network behavior of the program identified as suspicious is a network behavior of the malicious program;
  • the module 214 is configured to: when the third determining module 212 determines that the network behavior of the suspicious program is a network behavior of the malicious program, send the risk prompt information, and/or intercept the current network behavior of the program identified as suspicious; when the third determining module 212 The network behavior of the suspicious program is not the network behavior of the malicious program, and the risk prompt information is sent.
  • the third determining module 212 includes: a third obtaining unit and a second determining unit, where the third acquiring unit is configured to acquire feature information in the application layer data in the network behavior of the identifiable program, the feature information It may be part of the code in the application layer data, the data packet in the application layer data, or a piece of data in the data packet in the application layer data; the second determining unit is configured to determine, according to the feature information, whether the network behavior of the identifiable program is Network behavior for malicious programs.
  • the third determining module 212 further includes: a fourth obtaining unit, a second sending unit, and a second receiving unit, where the fourth obtaining unit is configured to acquire application layer data in a network behavior of the program identified as suspicious The feature information in the application layer data, the partial code in the application layer data, the data packet in the application layer data, or a piece of data in the data packet in the application layer data; the second sending unit is configured to send the feature information to the cloud
  • the server determines, by the cloud server, whether the network behavior of the program identified as a suspicious program is a network behavior of the malicious program according to the characteristic information; and the second receiving unit is configured to receive the determination result returned by the cloud server.
  • the program network behavior recognition system 300 includes: a client 302 and a cloud server 304, according to an aspect of an embodiment of the present invention, wherein
  • the client 302 is configured to acquire application layer data in a current network behavior of the program during the process of accessing the network by the program; determine whether the application layer data includes an unknown protocol; if the protocols in the application layer data are known protocols , the current network behavior of the program is identified as the network behavior of the identifiable program; if the application layer data includes an unknown protocol, the current network behavior of the program is identified as the network behavior of the suspicious program, and then the identifiable program is
  • the network behavior or the characteristic information of the network behavior of the suspicious program is sent to the cloud server; optionally, the client may be a mobile phone, a tablet computer or a personal computer, etc.; the cloud server 304 is configured to determine the identifiable program according to the feature information. Whether the network behavior, or the network behavior of the suspicious program is the network behavior of the malicious program, and returns the judgment result to the client.
  • the cloud server 304 includes a database for storing a black and white list library, and the cloud server determines, according to the black and white list in the black and white list, whether the network behavior of the identifiable program or the network behavior of the suspicious program is The network behavior of a malicious program.
  • the program network behavior recognition system 300 includes: a client 302 and a cloud server 304, wherein
  • the client 302 is configured to acquire, in the process of accessing the network by the program, the data packet in the current network behavior of the program, where the data packet includes: application layer data, and receiving the recognition result returned by the cloud server 304;
  • the cloud server 304 is configured to receive a data packet in a current network behavior of the program acquired by the client 302, and determine whether the application layer data includes an unknown protocol; if the protocol in the application layer data is a known protocol, the program is The current network behavior is identified as the network behavior of the identifiable program; if the application layer data includes an unknown protocol, the current network behavior of the program is identified as the network behavior of the suspicious program, and the recognition result is sent to the client.
  • the cloud server 304 may further acquire the network behavior of the identifiable program or the characteristic information of the network behavior of the suspicious program, and determine the network behavior of the identifiable program or the suspicious program according to the characteristic information. Whether the network behavior is the network behavior of the malicious program, and returns a judgment result to the client 304, the feature information includes: part of the code in the application layer data, the data packet in the application layer data, or the data packet in the application layer data a piece of data.
  • the client 302 can also include a memory (which can include one or more computer readable storage media), a memory controller, one or more processing units (CPUs), peripheral interfaces, RF circuitry, Audio circuits, speakers, microphones, input/output (I/O) subsystems, other inputs control the client, and external ports.
  • the client can include one or more optical sensors that can communicate over one or more communication buses or signal lines.
  • client 302 is merely one example of a portable multifunction device, and that the client may have more or fewer components than shown, two or more components may be combined, or may have different components Configuration or settings.
  • the memory may include high speed random access memory, and may also include non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile memory. Access to the memory by the client's other components, such as the CPU and peripheral interface, can be controlled by the memory controller.
  • the peripheral interface couples the client's input and output peripherals to the CPU and memory.
  • One or more processors execute or execute various software programs and/or sets of instructions stored in memory to implement various functions of the client and process the data.
  • the peripheral interface, CPU, and memory controller can be implemented on a single chip, such as a chip. In some other embodiments, they can be implemented on separate chips.
  • the RF (Radio Frequency) circuit receives and transmits an RF signal.
  • the RF circuit converts an electrical signal into an electromagnetic signal / converts the electromagnetic signal into an electrical signal, and communicates with the communication network and other communication devices through the electromagnetic signal.
  • the RF circuitry may include known circuitry for performing these functions including, but not limited to, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset , User Identification Module (SM) card, memory, and more.
  • an antenna system an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset , User Identification Module (SM) card, memory, and more.
  • SM User Identification Module
  • Audio circuitry, speakers, and microphones provide an audio interface between the user and the client.
  • the audio circuit receives audio data from the peripheral interface, converts the audio data into an electrical signal, and transmits the electrical signal to the speaker.
  • the speaker converts the electrical signal into a sound wave that is heard by a person.
  • the audio circuit also receives an electrical signal from the sound wave converted by the microphone.
  • the audio circuit converts the electrical signal into audio data and sends the audio data to a peripheral interface for processing. Audio data can be retrieved from memory and/or RF circuitry via a peripheral interface and/or transmitted to memory and/or RF circuitry.
  • the I/O subsystem couples the input/output peripherals on the client to the peripheral interface.
  • the I/O subsystem can include a display controller and one or more input controllers for other input or control clients.
  • One or more input controllers receive/transmit electrical signals from/to other input or control clients.
  • Other input/control clients can include physical buttons, dials, slide switches, joysticks, click wheels, and more.
  • the input controller can be coupled to any of the following: a keyboard, an infrared port, a USB port, and a pointing device such as a mouse.
  • the touch-sensitive touch screen provides an input interface and an output interface between the client and the user.
  • the display controller receives and/or transmits electrical signals from/to the touch screen.
  • the touch screen displays the visual output to the user.
  • Visual output can include graphics, text, icons, video, and any combination thereof (collectively "graphics").
  • the touch screen has a touch sensitive surface, sensor or group of sensors for accepting input from a user based on tactile and/or tactile contact.
  • the touch screen and display controller detect contact on the touch screen and convert the detected touch into interaction with a user interface object displayed on the touch screen.
  • the point of contact between the touch screen and the user corresponds to the user's finger.
  • Other display techniques may also be employed in other embodiments.
  • Steps similar to those of the network behavior of the identification program of other embodiments are not described in detail herein.
  • the various component embodiments of the present invention may be implemented in hardware, or in a software module running on one or more processors, or in a combination thereof.
  • a microprocessor or digital signal processor (DSP) is used in practice to implement some or all of the functionality of some or all of the components of the search device in accordance with embodiments of the present invention.
  • DSP digital signal processor
  • the invention can also be implemented as a device or device program (e.g., a computer program and a computer program product) for performing some or all of the methods described herein.
  • Such a program implementing the invention may be stored on a computer readable medium or may be in the form of one or more signals. Such signals may be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.
  • FIG. 5 illustrates a server, such as an application server, that can implement a method of identifying network behavior of a program in accordance with an embodiment of the present invention.
  • the server conventionally includes a processor 510 and a computer program product or computer readable medium in the form of a memory 520.
  • Memory 520 can be an electronic memory such as flash memory, EEPROM (Electrically Erasable Programmable Read Only Memory), EPROM, hard disk or ROM.
  • Memory 520 has a memory space 530 for program code 540 for performing any of the method steps described above.
  • storage space 530 for program code can include various program code 540 for implementing various steps in the above methods, respectively.
  • the program code can be read from or written to one or more computer program products.
  • These computer program products include program code carriers such as hard disks, compact disks (CDs), memory cards or floppy disks. Such computer program products are typically portable or fixed storage units as described with reference to Figure 5.
  • the storage unit may have a storage section, a storage space, and the like arranged similarly to the storage 520 in the server of FIG.
  • the program code can be compressed, for example, in an appropriate form.
  • the storage unit includes computer readable code 53 ⁇ , i.e., a code readable by a processor, such as 510, which when executed by the server causes the server to perform various steps in the methods described above.
  • an embodiment or “an embodiment,” or “one or more embodiments” as used herein means that the particular features, structures, or characteristics described in connection with the embodiments are included in at least one embodiment of the invention.
  • the phrase “in one embodiment” herein does not necessarily refer to the same embodiment.
  • modules in the devices of the embodiments can be adaptively changed and placed in one or more devices different from the embodiment.
  • the modules or units or components of the embodiments may be combined into one module or unit or component, and further they may be divided into a plurality of sub-modules or sub-units or sub-components.
  • any combination of the features disclosed in the specification, including the accompanying claims, the abstract and the drawings, and any methods so disclosed, or All processes or units of the device are combined.
  • Each feature disclosed in the specification (including the accompanying claims, the abstract and the drawings) may be replaced by an alternative feature that provides the same, equivalent or similar purpose.
  • the various component embodiments of the present invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof.
  • a microprocessor or digital signal processor may be used in practice to implement some or all of the functionality of some or all of the components of the web access system in accordance with embodiments of the present invention.
  • the invention can also be implemented as a device or device program (e.g., a computer program and a computer program product) for performing some or all of the methods described herein.
  • a program implementing the present invention may be stored on a computer readable medium or may be in the form of one or more signals. Such signals may be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种识别程序的网络行为的方法、装置及系统,其中方法包括:在程序访问网络的过程中,获取程序的当前网络行为中的应用层数据;判断应用层数据中是否包括未知的协议;若应用层数据中的协议都是已知的协议,则将程序的当前网络行为标识为能够识别的程序的网络行为;若应用层数据中包括未知的协议,则将程序的当前网络行为标识为可疑的程序的网络行为。由此实现对程序的网络行为的准确识别,将包括未知的协议的程序的网络行为标识为可疑的程序的网络行为,并可向用户发送风险提示信息,由用户进行最终的选择,由此解决了传统的识别程序的网络行为的方案对于新出现或新变种的程序的网络行为不能准确识别的问题。

Description

识别程序的网络行为的方法、 装置及系统 技术领域
本发明属于计算机技术领域, 尤其涉及一种识别程序的网络行为的方法、 装置 及系统。 背景技术
众所周知, 当今互联网环境中, 应用最为广泛的网络结构满足 DoD模型 (又称 TCP/IP协议族) 。 该 DoD模型包括: 链路层、 互联网层、 传输层和应用层。 一个程 序若要发送或接收互联网数据, 就需要让自己的数据符合 TCP/IP协议标准, 才能让 数据在互联网中准确且有效的传输。 而这四层协议中: 链路层、 互联网层、 传输层 的数据结构均有一套相对严格的标准, 编程者不能擅自更改其结构, 所以很容易被 安全软件或安全设备监控到关键数据且难于伪装。 唯独应用层的数据结构, 具有很 高的可定制特性。 允许编程人员根据自己的需求和想法任意定义其中的内容与结构。
现有的对应用层的数据结构的检测方案, 主要是依靠特征码进行检测 即: 研究人员发现了某一种已经出现的网络威胁 (远控、 木马、 蠕虫等) , 通过对拿到 的样本进行研究和分析, 抓取其传输的网络数据包, 然后提取其固定特征 (如某一 特定偏移量处出现某一特定字符) , 作为程序自动检测的依据。 而入这样的传统解 决方案最大的缺点在于存在滞后性, 必须找到新型威胁的样本加以分析, 才能做出 有效拦截。
由此可知, 传统的识别程序的网络行为的方式对于新出现或新变种的程序的网 络行为不能准确识别。 发明内容
鉴于上述技术问题, 提出了本发明以便提供一种克服上述技术问题或者至少部 分地解决上述技术问题的识别程序的网络行为的方法、 装置及系统。
依据本发明实施例的一个方面, 提供了一种识别程序的网络行为的方法, 方法 包括: 在程序访问网络的过程中, 获取程序的当前网络行为中的应用层数据; 判断 应用层数据中是否包括未知的协议; 若应用层数据中的协议都是已知的协议, 则将 程序的当前网络行为标识为能够识别的程序的网络行为; 若应用层数据中包括未知 的协议, 则将程序的当前网络行为标识为可疑的程序的网络行为。
根据本发明实施例的另一方面, 提供了一种识别程序的网络行为的装置, 装置 包括: 获取模块, 用于在程序访问网络的过程中, 获取所述程序的当前网络行为中 的应用层数据; 第一判断模块, 用于判断应用层数据中是否包括未知的协议; 识别 模块, 用于在应用层数据中的协议都是已知的协议时, 将程序的当前网络行为标识 为能够识别的程序的网络行为; 以及当应用层数据中包括未知的协议时, 将程序的 当前网络行为标识为可疑的程序的网络行为。
根据本发明实施例的又一方面, 提供了一种识别程序的网络行为的系统, 该系 统包括: 客户端和云端服务器, 其中客户端用于在程序访问网络的过程中, 获取程 序的当前网络行为中的应用层数据; 判断应用层数据中是否包括未知的协议; 如果 应用层数据中的协议都是已知的协议, 则将程序的当前网络行为标识为能够识别的 程序的网络行为; 如果应用层数据中包括未知的协议, 则将程序的当前网络行为标 识为可疑的程序的网络行为, 然后将能够识别的程序的网络行为或者可疑的程序的 网络行为的特征信息发送至云端服务器; 云端服务器用于根据特征信息判断能够识 别的程序的网络行为、 或可疑的程序的网络行为是否为恶意程序的网络行为, 并向 客户端返回判断结果。
根据本发明实施例的又一方面, 提供了一种识别程序的网络行为的系统, 包括: 客户端和云端服务器, 其中客户端, 用于在程序访问网络的过程中, 获取程序的当 前网络行为中的数据包, 数据包包括: 应用层数据, 以及接收云端服务器返回的识 别结果; 云端服务端, 用于接收客户端获取的程序的当前网络行为中数据包, 判断 应用层数据中是否包括未知的协议; 若应用层数据中的协议都是已知的协议, 则将 程序的当前网络行为标识为能够识别的程序的网络行为; 若应用层数据中包括未知 的协议, 则将程序的当前网络行为标识为可疑的程序的网络行为, 向客户端发送识 别结果。
根据本发明实施例的识别程序的网络行为的方法、 装置及系统, 当程序的当前 网络行为中的应用层数据都是已知的协议时, 将程序的当前网络行为标识为能够识 别的程序的网络行为; 当程序的当前网络行为中的应用层数据中包括未知的协议时, 将程序的当前网络行为标识为可疑的程序的网络行为, 由此实现对程序的网络行为 的准确识别, 将包括未知的协议的程序的网络行为标识为可疑的程序的网络行为, 并可向用户发送风险提示信息, 由用户进行最终的选择, 由此解决了传统的识别程 序的网络行为的方案对于新出现或新变种的程序的网络行为不能准确识别的问题, 进一步解决了传统的识别程序的网络行为的方案中不对未知的网络协议进行拦截的 问题, 提高用户的网络安全性。
而且, 在将程序的当前网络行为标识为能够识别的程序的网络行为之后, 或者 将程序的当前网络行为标识为可疑的程序的网络行为之后, 客户端可以将应用层数 据中的特征信息发送至云端服务器, 由云端服务器根据黑白名单库中的黑白名单, 判断程序的网络行为是否为恶意程序的网络行为, 通过将数据量较大、 变动比较频 繁的一些黑白名单存储在云端服务器上, 由云端服务器来识别恶意程序的网络行为, 可有效节约客户端本地资源和降低客户端本地机器的性能开销, 同时也可加快识别 网络行为的响应速度。 上述说明仅是本发明技术方案的概述, 为了能够更清楚了解 本发明的技术手段, 而可依照说明书的内容予以实施, 并且为了让本发明的上述和 其它目的、 特征和优点能够更明显易懂, 以下特举本发明的具体实施方式。 附图说明
通过阅读下文优选实施方式的详细描述, 各种其他的优点和益处对于本领域普 通技术人员将变得清楚明了。 附图仅用于示出优选实施方式的目的, 而并不认为是 对本发明的限制。 而且在整个附图中, 用相同的参考符号表示相同的部件。 在附图 中- 图 1示出了根据本发明一个实施例的程序网络行为识别方法 100的流程图; 图 2示出了根据本发明另一个实施例的程序网络行为识别装置 200的结构框图; 图 3示出了根据本发明又一个实施例的程序网络行为识别系统 300的结构框图; 图 4示意性地示出了用于执行根据本发明的方法的服务器的框图; 以及 图 5示意性地示出了用于保持或者携带实现根据本发明的方法的程序代码的存 储单元。 具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。 虽然附图中显示了本公 开的示例性实施例, 然而应当理解, 可以以各种形式实现本公开而不应被这里阐述 的实施例所限制。 相反, 提供这些实施例是为了能够更透彻地理解本公开, 并且能 够将本公开的范围完整的传达给本领域的技术人员。
传统的程序网络行为识别方案大多由已知的数据入手, 即: 试图找到数据中哪 些部分是已知的, 再从这些已知的数据中找到有用的部分, 用于判定该数据是否有 威胁。 但这种思路的弊病在于一旦网络数据的应用层数据是未知的, 那么能拿到的 有效已知的数据就会很少, 如此就很难对网络行为是否存在威胁作出精确判断, 很 容易放过未知的具有网络威胁的网络行为。
为此, 本发明实施例提出的一种程序网络行为识别方法、 装置及系统, 其思路 是基于 TCP/IP协议体系中应用层的数据结构具有较高的可定制特性, 一旦检测到应 用层数据中包括自定义的数据结构, 即可认为当前的网络行为存在风险, 由此本发 明提出的程序网络行为识别方法主要是, 通过判断程序的当前网络行为的应用层数 据中是否包括未知的协议, 若都是已知的协议, 则将程序的当前网络行为标识为能 够识别的程序的网络行为; 若包括未知的协议, 则将程序的当前网络行为标识为可 疑的程序的网络行为。
下面结合图 1具体说明根据本发明一个实施例的、 适于解决上述技术问题的程 序网络行为识别方法 100的流程图。 如图 1所示, 本发明实施例的方法 100始于步 骤 S101。 随后, 在步骤 S 102中, 在程序访问网络的过程中, 获取程序的当前网络行 为的应用层数据。
需要说明的是, 程序是一个普通的文件, 是一个机器代码指令和数据的集合, 是一个静态的概念。 进程时程序在计算机上的一次执行过程, 是一个动态的概念。 同一个程序可以同时运行于若干个数据集合上, 也就是说同一个程序可以对应多个 进程。 网络行为是由运行中的程序 (也即进程) 所发起的。 程序的当前网络行为, 也即是由属于该程序的进程所发起的网络行为。
为了便于理解此步骤, 首先简单介绍一下网络行为。 网络行为可以理解为需要 通过网络进行的各种行为, 种类繁多, 例如包括: HTTP ( Hypertext Transport Protocol , 超文本传送协议)访问 (常见的有下载文件或上传信息) , SMTP ( Simple Mai l Transfer Protocol , 简单邮件传输协议)请求(收发电子邮件) , DNS ( Domain Name System, 域名系统) 请求 (解析域名对应的 IP地址等信息) 等等。
其次, 再介绍一下应用程序访问网络的流程: 通常一个程序如果需要连接网络, 需要通过操作系统 (如 Windows ) 提供的 API ( App l ication Program Interface , 应用程序接口) 接口发送连接网络的请求, 操作系统接收到应用程序的这种网络请 求后, 会接收应用程序要发送的数据, 并对接收到的数据进行封装, 之后将封装的 数据发送给物理设备 (如网卡等) , 最后硬件设备将数据传出。
基于以上应用程序访问网络的流程, 在该流程的任何一个环节对网络行为的信 息进行截获都可以实现监控程序的当前网络行为的目的。 具体监控的实施方式可以 但不限于以下几种方式: 通过在客户端注册协议驱动、 创建于操作系统相似的过滤 驱动、 利用操作系统提供的应用程序编程接口函数 (例如 hook函数) 截获当前网络 行为的信息、 接管程序调用网络编程接口函数 (Winsock) 的请求或者是利用注册防 火墙回调等方式, 截获程序的当前网络行为的信息。 下面进行具体的说明- 在应用程序访问网络的过程中, 操作系统在处理相关数据的时候, 会使用一些 协议驱动和过滤驱动来获取网络行为的数据, 所以可以注册协议驱动或创建与操作 系统使用的过滤驱动相似的过滤驱动, 进而获取到网络行为的数据。 具体实施方式 可以是: 向 NDIS ( Network Driver Interface Specifi cati on, 网络驱动程序接口 规范)注册协议驱动, 也可以在 Afd. sys ( Anci l lary Function Driver for Winsock, Winsock的辅助功能驱动) 驱动设备栈、 Tdi . sys ( Transport Di spatch Interface , 传输分配接口)驱动设备栈或 Tcpip. sys ( Transmi ss ion Control Protocol/Internet Protocol ,传输控制 /网络通讯协议)驱动设备栈上增加与操作系统相似的过滤驱动。
另外, 获取程序的当前网络行为中的应用层数据还可以通过以下方式来实现: 利用 hook 函数将网络行为的数据截获。 具体实施方式可以是: 用 hook 函数截获 Windows SSDT ( System Servi ces Descriptor Table , 系统月艮务描述符表) 中内核 提供的与设备通信接口 NtDevi celoControl 函数, 获取所有应用程序设备通信的数 据, 过滤其中对 Afd. sys发送的请求; 还可以是利用 hook函数截获 Tcpip. sys驱动 提供的服务函数或 NDIS. sys导出的接口等, 通过上述方式来监控程序的网络行为。 当然也可以通过以下方式来对程序的网络行为进行监控: 根据 Windows 的 LSP ( Layered Service Provider, 分层服务提供商) , 可以讲 LSP 机制进行扩展, 使 用自己的 DLL文件接管所有应用程序调用 Winsock的请求后, 再转发到 Windows 自 身的 mswsock. dl l 中去, 或者也可以是向 Windows 系统 IP 设备驱动发送 10CTL_ I P_SET_F I REWALL_H00K注册防火墙回调等等。 在实践中, 监控程序的网络行 为时, 可以根据实际情况选择以上不同的方式, 当然监控网络行为的方式也不限于 以上所列举的方式。
随后, 在步骤 S104中, 判断应用层数据中是否包括未知的协议, 在一些实施例 中, 可根据已知的协议的格式, 判断应用层数据中是否包括未知的协议。 例如: 已 知的协议至少包括下列中的至少一个: HTTP协议、 DNS协议、 SMTP协议、 FTP协议 ( Fi le Transfer Protocol ,文件传输协议)、 SNMP协议(Simple Network Management Protocol , 简单网络管理协议) 和 P0P3协议 (邮局协议的第 3个版本协议) 。
可选地, 在客户端上预先收集数量足够多的已知的协议, 该已知的协议包括:
HTTP协议、 DNS协议、 SMTP协议等三种协议, 也可以包括一些加密协议, 例如: FTP 协议等。 加密协议主要是在数据包中对未知的协议进行统一的加密格式进行封装, 数据包里面附加一些可识别的常用协议,这些常用的协议可以包括: SNMP协议、 P0P3 协议、 eMule/eDonkey协议, 或者 BITT0RRENT协议等。 由于不同的协议其本身有一 些固定的格式, 因此对于已知的协议可检测协议的本身的格式, 例如 HTTP协议包括 协议头, 但没有协议尾, Host、 Refer等字段均属于协议头中所包含的内容, 协议头 中常见的格式包括: Host、 Refer, User-agent, Url等字段部分。
如果应用层数据中包括未知的协议, 则可认为存在风险。 虽然应用层数据可以 由软件开发人员随意指定, 但为了互联网中数据传输的方便, 已经在实际应用过程 中形成了一套通用协议(也可称为已知的协议)标准。 已知的协议如 DNS协议、 HTTP 协议、 FTP协议、 SMTP协议、 SSL/TLS协议、 SSH协议、 uTorrent协议、 eMule/eDonkey 协议、 BitTorrent 协议等, 上述已知的协议占据了网络数据中的绝大部分。 只要能 有效识别和分析上述已知的协议的数据结构, 那么剩下的未知的协议将会是极少数 的。 由于已知的协议基本可以满足所有数据传输需求, 所以有理由认为凡是需要自 定义协议 (即未知的协议) 进行数据传输的, 都应该是有某种特殊需求而在某一极 小范围的特定环境中使用, 而不应该在互联网当中广泛传播。 故此将包含有未知的 协议的应用层数据列为可疑, 有必要向用户进行风险提示。
具体到方法 100的流程中, 可预先收集已知的协议的格式, 已知的协议包括但 不限于 DNS协议、 HTTP协议、 FTP协议、 SMTP协议、 SSL/TLS协议、 SSH协议、 uTorrent 协议、 eMule/eDonkey协议、 BitTorrent协议等, 然后在步骤 S104中, 根据预先收 集的已知的协议的格式, 对应用层数据中的协议进行识别, 如果应用层数据中的协 议都能识别, 则判断应用层数据中都是已知的协议, 如果应用层数据中有至少部分 协议不能识别, 则判断应用层数据中包括未知的协议。
如果在步骤 S 104 中判断出应用层数据中的协议都是已知的协议, 则进行步骤 S106。 在步骤 S 106中, 将程序的当前网络行为标识为能够识别的程序的网络行为。
也就是, 当网络行为的应用层数据中的协议都是已知的协议时, 意味着能够识 别该网络行为, 此时在步骤 S106中可将该网络行为标识为能够识别的程序的网络行 为。 例如通过标识符 " 1 "将网络行为标识为能够识别的程序的网络行为。 当然可以 理解的是, 在本发明的实施例中并不限定标识符的具体形式。
在步骤 S 106之后, 可进入结束步骤 S 121。 但是为了进一步判断能够识别的程 序的网络行为是否为恶意程序的网络行为, 可在步骤 S 106之后进入步骤 S110 , 在步 骤 S110中, 判断能够识别的程序的网络行为是否为恶意程序的网络行为。
恶意程序通常是指带有攻击意图的操作方所编写的一段程序。 这些威胁可以分 成两个类别: 需要宿主程序的威胁和彼此独立的威胁。 前者基本上是不能独立于某 个实际的应用程序、 实用程序或系统程序的程序片段; 后者是可以被操作系统调度 和运行的自包含程序。 恶意程序包括: 陷门、 逻辑炸弹、 特洛伊木马、 蠕虫、 细菌 和病毒等等。
在一些实施例中, 可采用以下两种方式判断能够识别的程序的网络行为是否为 恶意程序的网络行为, 其中,
方式一, 在客户端上预设一个模块用于存储黑白名单库中的黑白名单, 由客户 端通过黑白名单以及获取的特征信息可判断网络行为是否为恶意程序的网络行为。
可选地, 网络防御相关的黑白名单可以针对不同协议进行不同的检查项。例如: ( 1 ) 通用检查项, 包括: 检查远端 ip地址, 本地端口、 远端端口、 传输层协议 (通 常为 TCP或 UDP之一) 。 (2 ) 协议类型检查, 有些已知协议可能会被木马远控用于 传输数据, 此类已知协议一旦被发现即可被判断为被恶意程序使用的数据协议包。 ( 3 ) 协议详情检查, 其他已知协议, 根据协议特有的结构获取其中有参考价值并且 不会涉及检测的对象本身, 以此为依据作为黑白判断的标准, 该协议详情会根据协 议的不同而具体项目也会不同, 如: 在客户端上检测 HTTP 协议中的 URL、 Host , Referer, User-Agent等加密后的字段; 检测 DNS协议中的 Queries信息中的 Name 和 Type等加密后的字段。
具体地, 客户端获取能够识别的程序的网络行为的应用层数据中的特征信息, 该特征信息可以是应用层数据中的部分代码、 应用层数据中的数据包、 或者应用层 数据中的数据包中的一段数据; 根据客户端上的黑白名单, 以及获取的特征信息, 判断能够识别的程序的网络行为是否为恶意程序的网络行为。
以网络行为是 HTTP访问行为进行介绍, 具体到上述步骤中, 在步骤 S102中获 取 HTTP访问行为的应用层数据。 在步骤 S104中, 根据已知的 HTTP协议的格式判断 出该 HTTP访问行为包括的协议都是已知的协议。 然后在步骤 S106中, 将 HTTP访问 行为标识为能够识别的程序的网络行为。 接着在步骤 S1 10 中, 获取 HTTP访问行为 的应用层数据中的特征信息, 例如 Host字段、 Url字段、 IP地址字段等, 并根据黑 白名单库中的黑白名单判断上述特征信息是否属于恶意程序的网络行为中的特征信 息, 如果属于, 则该网络行为属于恶意程序的网络行为, 进入到步骤 S1 12中, 如果 不属于, 则该网络行为属于正常的网络行为, 进入到步骤 S 114中。
需要说明的是, 针对不同的协议, 在方式一中的检测的项目不同,例如对于 DNS 协议, 主要是针对请求包的域名解析, 判断解析的域名的字符串, 以及 DNS 返回来 的 IP地址等是否异常。 对于 SMTP协议主要是判断 name字段部分是否异常, 例如检 测邮件发送人、 接收人、 发送人的名称和域名, 以及接收人的名称和域名等是否异 常。 对于 FTP协议和 HTTP协议, 主要是判断域名和 Url字段是否异常。 如果上述字 段与云端服务器或客户端中的黑名单相符合, 则认为该协议有风险, 有必要向用户 进行风险提示。 对于 SMTP协议中取得的一切数据均可以 MD5等哈希值进行处理后再 上传云端服务器, 黑白名单在云端服务器中仅检测 SMTP协议中的数据的 MD5值, 不涉及邮件内容本身。
方式二, 在云端服务器上预设一个数据库, 该数据库用于存储黑白名单库中的 黑白名单, 客户端将获取的特征信息发送到云端服务器, 由云端服务器根据黑白名 单以及接收到的特征信息判断网络行为是否为恶意程序的网络行为。
具体地, 首先客户端获取能够识别的程序的网络行为中的应用层数据中的特征 信息, 该特征信息可以是应用层数据中的部分代码(例如 Host字段或者 Url字段)、 应用层数据中的数据包、 或者应用层数据中的数据包中的一段数据。 通常情况下, 应用层数据中除了包括用于传输的字段之外, 也会有一些自定义的数据。 例如用户 用 HTTP或 FTP向网站或服务器上传文件时, 除了由 URL和 Host等字段指定用户上 传的一些必要识别信息之外, 用户上传的文件本身就会被作为一个数据包, 附加在 HTTP或 FTP协议中向指定服务器进行传输。 此时, 用户上传的文件内容就属于上述 的应用层协议中的数据包 (当然, 文件大的话有可能会被拆分成多个数据包进行传 输) 。 这仅为一个比较常见的例子, 对于不同协议和不同的应用情景, 这种数据包 会以不同形式出现。 当然, 某些情形下也可能不存在这种数据包或数据包为空。
然后, 客户端将特征信息发送至云端服务器, 由云端服务器根据黑白名单库中 的黑白名单判断上述特征信息是否属于恶意程序的网络行为中的特征信息, 并向客 户端返回判断结果, 如果属于, 则该网络行为属于恶意程序的网络行为, 进入到步 骤 S112中, 如果不属于, 则该网络行为属于正常的网络行为, 进入到步骤 S114中。 由于云端服务器的存储空间要远远大于客户端, 因此云端服务器上可以尽可能多的 预先存储黑白名单库, 进而可以提高网络行为识别的准确性。 同时, 在云端服务器 上对于最新收集到的黑白名单库之后可以及时进行更新处理。
回到上述方法 100的流程中, 如果在步骤 S1 10中判断是恶意程序的网络行为, 则进入到步骤 S112, 在步骤 S 112中, 发送风险提示信息和 /或拦截能够识别的程序 的当前网络行为, 然后进入结束步骤 S121。 例如, 如果可以确定程序的当前网络行 为是恶意程序的网络行为, 可以先暂停该程序的网络连接, 并向用户发送提示信息, 告知用户该程序为异常, 由用户做出最终选择, 如果用户选择拦截, 那么该网络行 为将会被彻底阻止。 相反, 如果在步骤 S110中判断不是恶意程序的网络行为, 则进 入到步骤 S 114中, 将能够识别的程序的当前网络行为标识为正常的网络行为, 然后 进入结束步骤 S121。 正常的网络行为不具有风险或具有极低的风险, 允许该正常的 网络行为访问网络。
相反, 如果在步骤 S 104 中判断出应用层数据中包括未知的协议, 则进行步骤 S108。 在步骤 S 108中, 将程序的当前网络行为标识为可疑的程序的网络行为。 也就 是, 将程序的网络行为的应用层数据的协议与通用的协议进行比较, 当程序的网络 行为的应用层数据中包括未知的协议时, 则可认为该程序的网络行为暂时无法准确 识别, 可认为该网络行为存在风险, 此时可将该程序的网络行为标识为可疑的程序 的网络行为。 例如通过标识符 " 0 "将网络行为标识为可疑的程序的网络行为。 当然 可以理解的是, 在本发明的实施例中并不限定标识符的具体形式。
在步骤 S 108之后, 可进入结束步骤 S 121。 但是为了进一步判断可疑的程序的 网络行为是否为恶意程序的网络行为, 可在步骤 S108 之后进入步骤 S1 16。 在步骤 S116中, 判断可疑的程序的网络行为是否为恶意程序的网络行为。
恶意程序通常是指带有攻击意图所编写的一段程序, 这些威胁可以分成两个类 另 IJ : 需要宿主程序的威胁和彼此独立的威胁。 前者基本上是不能独立于某个实际的 应用程序、 实用程序或系统程序的程序片段; 后者是可以被操作系统调度和运行的 自包含程序, 恶意程序包括: 陷门、 逻辑炸弹、 特洛伊木马、 蠕虫、 细菌和病毒等 等。
在一些实施例中, 可采用以下两种方式判断可疑的程序的网络行为是否为恶意 程序的网络行为, 其中
方式一, 在客户端上预设一个模块用于存储黑白名单库中的黑白名单, 由客户 端通过黑白名单以及获取的特征信息判断网络行为是否为恶意程序的网络行为。
具体地, 客户端获取可疑的程序的网络行为的应用层数据中的特征信息, 该特 征信息可以是应用层数据中的部分代码、 应用层数据中的数据包、 或者应用层数据 中的数据包中的一段数据; 根据客户端上的黑白名单, 以及获取的特征信息, 判断 可疑的程序的网络行为是否为恶意程序的网络行为, 如果属于, 则该网络行为属于 恶意程序的网络行为, 进入到步骤 S118中, 如果不属于, 则该网络行为属于有风险 的网络行为, 进入到步骤 S120中。 需要说明的是, 针对不同的协议, 检测的项目不同, 例如对于 DNS协议, 主要 是针对请求包的域名解析, 判断解析的域名的字符串, 以及 DNS返回来的 IP地址等 是否异常。 对于 SMTP协议主要是判断 name字段部分, 包括: 邮件发送人、 接收人、 发送人的名称和域名, 以及接收人的名称和域名等是否异常。 对于 HTTP协议, 主要 判断 Host、 URL, User-Agent , Referer和 Method等字段是否异常。 对于是否异常 的判断, 主要是两个大类: (1 ) 精准匹配: 比如发现了一个木马, 发现该木马连接 了某个 IP地址或 URL, 而且该 IP地址或 URL没有发现有其他正当用途, 那么再发现 有程序去连接该 IP地址或 URL时, 就认为该程序有异常 (还可以有更复杂一些的判 断标准, 比如连接某个特定 IP 的特定端口, 才认为有异常) ; (2 ) 模糊匹配, 经 过服务器端的应用程序的长期监控和分析, 发现大量木马都是指向同一个 IP段或同 一个顶级域名, 而且这个 IP段或顶级域名上极少出现或根本没出现过正常的网站。 那么可以认为连接到这一个 IP段或顶级域名下的程序就都是有异常的。 此种情形可 有更复杂的判断标准, 例如利用 game456进行木马传播的例子: game456的官方域名 是 game456. com和 game456. net, 而很多木马所连接的域名都很接近官方域名, 比如 game456. me、 game456. 3322. org、 game456. com. abed, org 等等。 那么可认为凡是类 似于 game456官方域名, 具有一定欺骗性的这些域名, 就都是有异常的。
方式二, 在云端服务器上预设一个模块用于存储黑白名单库中的黑白名单, 客 户端将获取的特征信息发送到云端服务器, 由云端服务器根据黑白名单以及接收到 的特征信息判断网络行为是否为恶意程序的网络行为。 客户端上传到云端服务器的 特征信息可以经过加密处理, 例如: 通过 MD5算法可以计算全部 URL、 主机 URL、 域 名 URL、分级域名 URL、查询路径 URL的哈希值, 将此 MD5哈希值发送至云端服务器, 云端服务器将密文数据连同 MD5哈希值返回客户端, 密文数据包括 MD5哈希值。
具体地, 客户端获取可疑的程序的网络行为中的应用层数据中的特征信息, 该 特征信息可以是应用层数据中的部分代码 (例如 Host字段或者 Url字段) 、 应用层 数据中的数据包、 或者应用层数据中的数据包中的一段数据; 客户端将特征信息发 送至云端服务器, 由云端服务器根据黑白名单库中的黑白名单判断上述特征信息是 否属于恶意程序的网络行为中的特征信息, 并向客户端返回判断结果, 如果属于, 则该网络行为属于恶意程序的网络行为, 进入到步骤 S118中, 如果不属于, 则该网 络行为属于有风险的网络行为, 进入到步骤 S120中。
由于云端服务器的存储空间要远远大于客户端, 因此云端服务器上可以尽可能 多的预先存储黑白名单库, 进而可以提高网络行为识别的准确性。 同时, 对于最新 收集到的黑白名单库之后可以及时进行处理。 在一些实施例中, 为了节约客户端的 本地资源和降低客户端的性能开销, 同时也为了提高响应速度, 可把数据量较大、 变动比较频繁的一些黑白名单保存到云端服务器上, 而把一些相对比较固定、 命中 非常精准、 数据量很小的一部分黑白名单保存到客户端上。 如果在步骤 S116中判断是恶意程序的网络行为, 则进入到步骤 S118中。 在步 骤 S118 中, 发送风险提示信息和 /或拦截标识为可疑的程序的当前网络行为, 然后 进入结束步骤 S121。 例如, 如果可以确定程序的当前网络行为是恶意程序的网络行 为, 可以先暂停该程序的网络连接, 并向用户发送提示信息, 告知用户该程序为异 常, 由用户做出最终选择, 如果用户选择拦截, 那么该网络行为将会被彻底阻止。
相反, 如果在步骤 S116 中判断不是恶意程序的网络行为, 则进入到步骤 S120 中。 在步骤 S120中, 发送风险提示信息, 然后进入结束步骤 S121。 也就是, 虽然可 疑的程序的网络行为不是恶意程序的网络行为, 但该可疑的程序的网络行为存在风 险, 因此通过步骤 S 120向用户发送风险提示信息, 由用户做出最终的选择。
需要说明的是, 图 1所示的方法并不限定按所示的各步骤的顺序进行, 可以根 据需要调整各步骤的先后顺序, 另外, 所述步骤也不限定于上述步骤划分, 上述步 骤可以进一步拆分成更多步骤也可以合并成更少步骤。
下面结合图 2说明根据本发明另一个实施例的、 适于解决上述问题的一种程序 网络行为识别装置 200。
如图 2所示, 该程序网络行为识别装置 200包括: 获取模块 202、 第一判断模 块 204和识别模块 206, 其中: 获取模块 202, 用于获取程序的当前网络行为中的应 用层数据; 第一判断模块 204, 用于判断应用层数据中是否包括未知的协议; 识别模 块 206, 用于在应用层数据中的协议都是已知的协议时, 将程序的当前网络行为标识 为能够识别的程序的网络行为; 以及当应用层数据中包括未知的协议时, 将程序的 当前网络行为标识为可疑的程序的网络行为。
在一些实施例中, 第一判断模块 202进一步用于根据已知的协议的格式, 判断 应用层数据中是否包括未知的协议。 例如, 在客户端上预先存储数量足够多的已知 的协议, 该已知的协议包括: HTTP协议、 DNS协议、 SMTP协议等三种协议, 也可以 包括一些加密协议, 例如: FTP协议等。 加密协议主要是在数据包中对未知的协议进 行统一的加密格式进行封装, 数据包里面附加一些可识别的常用协议, 这些常用的 协议可以包括: SNMP协议、 P0P3协议、 ED0NKEY协议, 或者 BITT0RRENT协议等。 由 于不同的协议其本身有一些固定的格式, 因此对于已知的协议可检测协议的本身的 格式, 例如: HTTP协议检测协议头和协议尾, Host , Refer等字段部分, HTTP协议 包括协议头, 但没有协议尾, Host、 Refer等字段均属于协议头中所包含的内容, 协 议头中常见的格式包括: Host、 Refer , User-agent , Url 等字段部分。 而未知的协 议则认为是有风险的, 如果是未知的协议, 不在可识别的协议所包括的范围内, 则 有可能有自定义的协议在里面。
参见图 2, 在本发明的另一个实施例中, 装置 200还包括: 第二判断模块 208 和第一处理模块 210,其中第二判断模块 208用于判断能够识别的程序的网络行为是 否为恶意程序的网络行为; 第一处理模块 210用于当第二判断模块 208判断能够识 别的程序的网络行为为恶意程序的网络行为时, 发送风险提示信息, 和 /或拦截能够 识别的程序的当前网络行为; 当第二判断模块 208 判断能够识别的程序的网络行为 不是恶意程序的网络行为, 将能够识别的程序的当前网络行为识别正常的网络行为。
在一些实施例中, 第二判断模块 208包括: 第一获取单元和第一判断单元, 其 中第一获取单元用于获取能够识别的程序的网络行为中的应用层数据中的特征信 息, , 特征信息可以是应用层数据中的部分代码、 应用层数据中的数据包、 或者应 用层数据中的数据包中的一段数据; 第一判断单元用于根据特征信息, 判断能够识 别的程序的网络行为是否为恶意程序的网络行为。
在一些实施例中, 第二判断模块 208还包括: 第二获取单元、 第一发送单元和 第一接收单元, 其中第二获取单元用于获取能够识别的程序的网络行为中的应用层 数据中的特征信息, 特征信息可以是应用层数据中的部分代码、 应用层数据中的数 据包、 或者应用层数据中的数据包中的一段数据; 第一发送单元用于将特征信息发 送至云端服务器, 由云端服务器根据特征信息判断能够识别的程序的网络行为是否 为恶意程序的网络行为; 以及第一接收单元用于接收所述云端服务器返回的判断结 果。
继续参见图 2, 装置 200还包括: 第三判断模块 212和第二处理模块 214, 其中 第三判断模块 212 用于判断标识为可疑的程序的网络行为是否为恶意程序的网络行 为; 第二处理模块 214用于当第三判断模块 212判断可疑的程序的网络行为是恶意 程序的网络行为时, 发送风险提示信息, 和 /或拦截标识为可疑的程序的当前网络行 为; 当第三判断模块 212 判断可疑的程序的网络行为不是恶意程序的网络行为, 发 送风险提示信息。
在一些实施例中, 第三判断模块 212包括: 第三获取单元和第二判断单元, 其 中第三获取单元用于获取能够识别的程序的网络行为中的应用层数据中的特征信 息, 特征信息可以是应用层数据中的部分代码、 应用层数据中的数据包、 或者应用 层数据中的数据包中的一段数据; 第二判断单元用于根据特征信息, 判断能够识别 的程序的网络行为是否为恶意程序的网络行为。
在一些实施例中, 第三判断模块 212还包括: 第四获取单元、 第二发送单元和 第二接收单元, 其中第四获取单元用于获取标识为可疑的程序的网络行为中的应用 层数据中的特征信息, 特征信息可以是应用层数据中的部分代码、 应用层数据中的 数据包、 或者应用层数据中的数据包中的一段数据; 第二发送单元用于将特征信息 发送至云端服务器, 由云端服务器根据特征信息, 判断标识为可疑的程序的网络行 为是否为恶意程序的网络行为; 以及第二接收单元用于接收云端服务器返回的判断 结果。
下面结合图 3说明根据本发明又一个实施例的、 适于解决上述问题的一种程序 网络行为识别系统 300。 如图 3所示, 根据本发明实施例的一个方面该程序网络行为识别系统 300, 该 系统包括: 客户端 302和云端服务器 304, 其中
客户端 302, 用于在程序访问网络的过程中, 获取程序的当前网络行为中的应 用层数据; 判断应用层数据中是否包括未知的协议; 如果应用层数据中的协议都是 已知的协议, 则将程序的当前网络行为标识为能够识别的程序的网络行为; 如果应 用层数据中包括未知的协议, 则将程序的当前网络行为标识为可疑的程序的网络行 为, 然后将能够识别的程序的网络行为或者可疑的程序的网络行为的特征信息发送 至云端服务器; 可选地, 该客户端可以是移动电话、 平板电脑或者个人计算机等; 云端服务器 304用于根据特征信息判断能够识别的程序的网络行为、 或可疑的 程序的网络行为是否为恶意程序的网络行为, 并向客户端返回判断结果。
在一些实施例中, 云端服务器 304中包括一用于存储黑白名单库的数据库, 云 端服务器根据黑白名单库中的黑白名单, 判断能够识别的程序的网络行为、 或者可 疑的程序的网络行为是否为恶意程序的网络行为。
如图 3所示, 根据本发明实施的另一个方面该程序网络行为识别系统 300, 包 括: 客户端 302和云端服务器 304, 其中
客户端 302, 用于在程序访问网络的过程中, 获取程序的当前网络行为中的数 据包, 数据包包括: 应用层数据, 以及接收云端服务器 304返回的识别结果;
云端服务端 304, 用于接收客户端 302获取的程序的当前网络行为中数据包, 判断应用层数据中是否包括未知的协议; 若应用层数据中的协议都是已知的协议, 则将程序的当前网络行为标识为能够识别的程序的网络行为; 若应用层数据中包括 未知的协议, 则将程序的当前网络行为标识为可疑的程序的网络行为, 向客户端发 送识别结果。
在一些实施例中, 云端服务器 304还可获取能够识别的程序的网络行为或者可 疑的程序的网络行为的特征信息, 根据特征信息判断所述能够识别的程序的网络行 为、 或所述可疑的程序的网络行为是否为恶意程序的网络行为, 并向客户端 304 返 回判断结果, 该特征信息包括: 应用层数据中的部分代码、 应用层数据中的数据包、 或者应用层数据中的数据包中的一段数据。
在一些实施例中, 该客户端 302还可包括存储器 (其可包括一个或多个计算机 可读存储介质) , 存储器控制器, 一个或多个处理单元(CPU) , 外设接口, RF电路, 音频电路, 扬声器, 传声器, 输入 /输出 (I/O ) 子系统, 其他输入会控制客户端, 以及外部端口。 客户端可以包括一个或多个光学传感器, 这些部件可以通过一个或 多个通信总线或信号线来通信。
应当理解, 客户端 302仅仅是便携式多功能设备的一个示例, 并且客户端可以 具有比所示出的更多或更少的部件, 可以组合两个或更多个部件, 或者可以具有不 同的部件配置或设置。 存储器可以包括高速随机存取存储器, 并且还可以包括非易失性存储器, 例如 一个或多个磁盘存储器件、 闪存器件、 或其他非易失性存储器。 客户端的诸如 CPU 和外设接口的其他部件对存储器的访问可由存储器控制器来控制。
外设接口将客户端的输入和输出外设耦接到 CPU和存储器。 一个或多个处理器 运行或执行存储在存储器中的各种软件程序和 /或指令集, 以实现客户端的各种功能 并且处理数据。
在一些实施例中, 外设接口、 CPU 以及存储器控制器可以在诸如芯片的单个芯 片上实现。 在一些其他实施例中, 它们可以在分立的芯片上实现。
RF (射频) 电路接收并发送 RF信号。 RF电路将电信号转换为电磁信号 /将电磁 信号转换为电信号, 并且通过该电磁信号与通信网络以及其他通信设备进行通信。
RF电路可以包括用于执行这些功能的已知电路, 其包括但不限于天线系统、 RF收发 机、 一个或多个放大器、 调谐器、 一个或多个振荡器、 数字信号处理器、 CODEC芯片 组、 用户标识模块 (SM) 卡、 存储器等等。
音频电路、 扬声器、 以及传声器提供了用户与客户端之间的音频接口。 音频电 路从外设接口接收音频数据, 将该音频数据转换为电信号, 并且将该电信号发送给 扬声器。 扬声器将该电信号转换为人听得到的声波。 音频电路还接收传声器从声波 转换来的电信号。 音频电路将电信号转换为音频数据, 并将该音频数据发送到外设 接口用以进行处理。 可通过外设接口从存储器和 /或 RF电路检索音频数据并且 /或者 将音频数据发送到存储器和 /或 RF电路。
I/O子系统将客户端上的输入 /输出外设耦接到外设接口。 I/O子系统可包括显 示控制器和用于其他输入或控制客户端的一个或多个输入控制器。 一个或多个输入 控制器从 /向其他输入或控制客户端接收 /发送电信号。 其他输入 /控制客户端可以包 括物理按钮、 拨号盘、 滑动开关、 操纵杆、 点击滚轮等等。 在一些另选实施例中, 输入控制器可以耦接到以下中的任一个: 键盘、 红外端口、 USB端口、 以及诸如鼠标 的指示设备。
触摸敏感式触摸屏提供了客户端与用户之间的输入接口和输出接口。 显示控制 器从 /向触摸屏接收和 /或发送电信号。 触摸屏将可视输出显示给用户。 可视输出可 包括图形、 文本、 图标、 视频以及其任意组合 (统称为 "图形" ) 。
触摸屏具有用于基于触觉和 /或触感接触接受来自用户的输入的触摸敏感表面、 传感器或传感器组。 触摸屏以及显示控制器检测触摸屏上的接触, 并将检测到的接 触转换为与显示在触摸屏上的用户界面对象的交互。 在一个示例实施例中, 触摸屏 与用户之间的接触点对应于用户的手指。 在其他实施例中也可采用其他显示技术。
对于与其他实施例的识别程序的网络行为的方法类似的步骤,在这里不再详述。 本发明的各个部件实施例可以以硬件实现, 或者以在一个或者多个处理器上运 行的软件模块实现, 或者以它们的组合实现。 本领域的技术人员应当理解, 可以在 实践中使用微处理器或者数字信号处理器 (DSP ) 来实现根据本发明实施例的搜索设 备中的一些或者全部部件的一些或者全部功能。 本发明还可以实现为用于执行这里 所描述的方法的一部分或者全部的设备或者装置程序 (例如, 计算机程序和计算机 程序产品) 。 这样的实现本发明的程序可以存储在计算机可读介质上, 或者可以具 有一个或者多个信号的形式。 这样的信号可以从因特网网站上下载得到, 或者在载 体信号上提供, 或者以任何其他形式提供。
例如, 图 5示出了可以实现根据本发明实施例的识别程序的网络行为的方法的 服务器, 例如应用服务器。 该服务器传统上包括处理器 510和以存储器 520形式的 计算机程序产品或者计算机可读介质。 存储器 520 可以是诸如闪存、 EEPR0M (电可 擦除可编程只读存储器) 、 EPR0M、 硬盘或者 ROM之类的电子存储器。 存储器 520具 有用于执行上述方法中的任何方法步骤的程序代码 540的存储空间 530。 例如, 用于 程序代码的存储空间 530 可以包括分别用于实现上面的方法中的各种步骤的各个程 序代码 540。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这 一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD )、 存储卡或者软盘之类的程序代码载体。 这样的计算机程序产品通常为如参考图 5 所 述的便携式或者固定存储单元。该存储单元可以具有与图 5的服务器中的存储器 520 类似布置的存储段、 存储空间等。 程序代码可以例如以适当形式进行压缩。 通常, 存储单元包括计算机可读代码 53 Γ , 即可以由例如诸如 510之类的处理器读取的代 码, 这些代码当由服务器运行时, 导致该服务器执行上面所描述的方法中的各个步 骤。
本文中所称的 "一个实施例" 、 "实施例" 或者 "一个或者多个实施例" 意味 着, 结合实施例描述的特定特征、 结构或者特性包括在本发明的至少一个实施例中。 此外, 请注意, 这里 "在一个实施例中" 的词语例子不一定全指同一个实施例。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。 各种通用系统也可以与基于在此的示教一起使用。 根据上面的描述, 构造这类系统 所要求的结构是显而易见的。 此外, 本发明也不针对任何特定编程语言。 应当明白, 可以利用各种编程语言实现在此描述的本发明的内容, 并且上面对特定语言所做的 描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中, 说明了大量具体细节。 然而, 能够理解, 本发明的 实施例可以在没有这些具体细节的情况下实践。 在一些实例中, 并未详细示出公知 的方法、 结构和技术, 以便不模糊对本说明书的理解。
类似地, 应当理解, 为了精简本公开并帮助理解各个发明方面中的一个或多个, 在上面对本发明的示例性实施例的描述中, 本发明的各个特征有时被一起分组到单 个实施例、 图、 或者对其的描述中。 然而, 并不应将该公开的方法解释成反映如下 意图: 即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特 征。 更确切地说, 如下面的权利要求书所反映的那样, 发明方面在于少于前面公开 的单个实施例的所有特征。 因此, 遵循具体实施方式的权利要求书由此明确地并入 该具体实施方式, 其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解, 可以对实施例中的设备中的模块进行自适应性 地改变并且把它们设置在与该实施例不同的一个或多个设备中。 可以把实施例中的 模块或单元或组件组合成一个模块或单元或组件, 以及此外可以把它们分成多个子 模块或子单元或子组件。 除了这样的特征和 /或过程或者单元中的至少一些是相互排 斥之外, 可以采用任何组合对本说明书 (包括伴随的权利要求、 摘要和附图) 中公 开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。 除非 另外明确陈述, 本说明书 (包括伴随的权利要求、 摘要和附图) 中公开的每个特征 可以由提供相同、 等同或相似目的的替代特征来代替。
此外, 本领域的技术人员能够理解, 尽管在此所述的一些实施例包括其它实施 例中所包括的某些特征而不是其它特征, 但是不同实施例的特征的组合意味着处于 本发明的范围之内并且形成不同的实施例。 例如, 在下面的权利要求书中, 所要求 保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现, 或者以在一个或者多个处理器上运 行的软件模块实现, 或者以它们的组合实现。 本领域的技术人员应当理解, 可以在 实践中使用微处理器或者数字信号处理器 (DSP ) 来实现根据本发明实施例的网址访 问系统中的一些或者全部部件的一些或者全部功能。 本发明还可以实现为用于执行 这里所描述的方法的一部分或者全部的设备或者装置程序 (例如, 计算机程序和计 算机程序产品) 。 这样的实现本发明的程序可以存储在计算机可读介质上, 或者可 以具有一个或者多个信号的形式。 这样的信号可以从因特网网站上下载得到, 或者 在载体信号上提供, 或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制, 并且本 领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。 在权利 要求中, 不应将位于括号之间的任何参考符号构造成对权利要求的限制。 单词 "包 含"不排除存在未列在权利要求中的元件或步骤。 位于元件之前的单词 "一"或 "一 个" 不排除存在多个这样的元件。 本发明可以借助于包括有若干不同元件的硬件以 及借助于适当编程的计算机来实现。 在列举了若干装置的单元权利要求中, 这些装 置中的若干个可以是通过同一个硬件项来具体体现。 单词第一、 第二、 以及第三等 的使用不表示任何顺序。 可将这些单词解释为名称。
此外, 还应当注意, 本说明书中使用的语言主要是为了可读性和教导的目的而 选择的, 而不是为了解释或者限定本发明的主题而选择的。 因此, 在不偏离所附权 利要求书的范围和精神的情况下, 对于本技术领域的普通技术人员来说许多修改和 变更都是显而易见的。 对于本发明的范围, 对本发明所做的公开是说明性的, 而非 限制性的, 本发明的范围由所附权利要求书限定。

Claims

权 利 要 求
1. 一种识别程序的网络行为的方法, 其特征在于, 所述方法包括:
在程序访问网络的过程中, 获取程序的当前网络行为中的应用层数据; 判断所述应用层数据中是否包括未知的协议;
若所述应用层数据中的协议都是已知的协议, 则将所述程序的当前网络行为标 识为能够识别的程序的网络行为;
若所述应用层数据中包括未知的协议, 则将所述程序的当前网络行为标识为可 疑的程序的网络行为。
2. 根据权利要求 1所述的方法, 其特征在于, 所述判断所述应用层数据中是否 包括未知的协议的步骤为:
根据已知的协议的格式, 判断所述应用层数据中是否包括未知的协议, 如果应 用层数据中的协议都能识别, 则判断应用层数据都是已知的协议, 如果应用层数据 中有至少部分协议不能识别, 则判断应用层数据包括未知的协议。
3. 根据权利要求 2所述的方法, 其特征在于, 所述已知的协议至少包括下列中 的至少一个: 超文本传送协议、 域名系统协议、 简单邮件传输协议、 文件传送协议、 简单网络管理协议和邮局协议第 3版协议。
4. 根据权利要求 1至 3任一所述的方法, 其特征在于, 在将所述程序的当前网 络行为标识为能够识别的程序的网络行为的步骤之后, 所述方法还包括:
判断所述能够识别的程序的网络行为是否为恶意程序的网络行为;
若是恶意程序的网络行为, 则发送风险提示信息, 和 /或拦截所述能够识别的程 序的当前网络行为;
若不是恶意程序的网络行为, 则将所述能够识别的程序的当前网络行为标识为 正常的网络行为。
5. 根据权利要求 4所述的方法, 其特征在于, 所述判断所述能够识别的程序的 网络行为是否为恶意程序的网络行为的步骤包括:
获取所述能够识别的程序的网络行为中的应用层数据中的特征信息, 所述特征 信息包括: 应用层数据中的部分代码、 应用层数据中的数据包、 或者应用层数据中 的数据包中的一段数据;
根据所述特征信息, 判断所述能够识别的程序的网络行为是否为恶意程序的网 络行为。
6. 根据权利要求 4所述的方法, 其特征在于, 所述判断所述能够识别的程序的 网络行为是否为恶意程序的网络行为的步骤包括:
获取能够识别的程序的网络行为中的应用层数据中的特征信息, 所述特征信息 包括: 应用层数据中的部分代码、 应用层数据中的数据包、 或者应用层数据中的数 据包中的一段数据;
将所述特征信息发送至云端服务器, 由所述云端服务器根据所述特征信息判断 所述能够识别的程序的网络行为是否为恶意程序的网络行为, 并返回判断结果。
7. 根据权利要求 1至 4任一所述的方法, 其特征在于, 在将所述程序的当前网 络行为标识为可疑的程序的网络行为的步骤之后, 所述方法还包括:
判断所述可疑的程序的网络行为是否为恶意程序的网络行为;
若是恶意程序的网络行为, 则发送风险提示信息, 和 /或拦截所述可疑的程序的 当前网络行为;
若不是恶意程序的网络行为, 则发送风险提示信息。
8. 根据权利要求 7所述的方法, 其特征在于, 所述判断所述可疑的程序的网络 行为是否为恶意程序的网络行为的步骤包括:
获取所述可疑的程序的网络行为中的应用层数据中的特征信息, 所述特征信息 包括: 应用层数据中的部分代码、 应用层数据中的数据包、 或者应用层数据中的数 据包中的一段数据;
根据所述特征信息, 判断所述可疑的程序的网络行为是否为恶意程序的网络行 为。
9. 根据权利要求 7所述的方法, 其特征在于, 所述判断所述可疑的程序的网络 行为是否为恶意程序的网络行为的步骤包括:
获取所述可疑的程序的网络行为中的应用层数据中的特征信息, 所述特征信息 包括: 应用层数据中的部分代码、 应用层数据中的数据包、 或者应用层数据中的数 据包中的一段数据;
将所述特征信息发送至云端服务器, 由所述云端服务器根据所述特征信息判断 所述可疑的程序的网络行为是否为恶意程序的网络行为, 并返回判断结果。
10. 一种识别程序的网络行为的装置, 其特征在于, 所述装置包括: 获取模块, 用于在程序访问网络的过程中, 获取所述程序的当前网络行为中的 应用层数据;
第一判断模块, 用于判断所述应用层数据中是否包括未知的协议;
识别模块, 用于在所述应用层数据中的协议都是已知的协议时, 将所述程序的 当前网络行为标识为能够识别的程序的网络行为; 以及当所述应用层数据中包括未 知的协议时, 将所述程序的当前网络行为标识为可疑的程序的网络行为。
11. 根据权利要求 10所述的装置, 其特征在于, 所述第一判断模块进一步用于 根据已知的协议的格式, 判断所述应用层数据中是否包括未知的协议。
12. 根据权利要求 1 1所述的装置, 其特征在于, 所述已知的可以识别的协议至 少包括下列中的至少一个: 超文本传送协议、 域名系统协议、 简单邮件传输协议、 文件传送协议、 简单网络管理协议和邮局协议第 3版协议。
13. 根据权利要求 10至 12任一所述的装置, 其特征在于, 所述装置还包括: 第二判断模块, 用于判断所述能够识别的程序的网络行为是否为恶意程序的网 络行为;
第一处理模块, 用于当所述第二判断模块判断所述能够识别的程序的网络行为 是恶意程序的网络行为时, 发送风险提示信息, 和 /或拦截所述能够识别的程序的当 前网络行为; 以及用于当所述第二判断模块判断所述能够识别的程序的网络行为不 是恶意程序的网络行为, 将所述能够识别的程序的当前网络行为识别正常的网络行 为。
14. 根据权利要求 13所述的装置, 其特征在于, 所述第二判断模块包括: 第一获取单元, 用于获取能够识别的程序的网络行为中的应用层数据中的特征 信息, 所述特征信息包括应用层数据中的部分代码、 应用层数据中的数据包、 或者 应用层数据中的数据包中的一段数据;
第一判断单元, 用于根据所述特征信息, 判断所述能够识别的程序的网络行为 是否为恶意程序的网络行为。
15. 根据权利要求 13所述的装置, 其特征在于, 所述第二判断模块包括: 第二获取单元, 用于获取能够识别的程序的网络行为中的应用层数据中的特征 信息, 所述特征信息包括: 应用层数据中的部分代码、 应用层数据中的数据包、 或 者应用层数据中的数据包中的一段数据;
第一发送单元, 用于将所述特征信息发送至云端服务器, 由所述云端服务器根 据所述特征信息判断所述能够识别的程序的网络行为是否为恶意程序的网络行为; 第一接收单元, 用于接收所述云端服务器返回的判断结果。
16. 根据权利要求 10至 13任一所述的装置, 其特征在于, 所述装置还包括: 第三判断模块, 用于判断所述可疑的程序的网络行为是否为恶意程序的网络行 为;
第二处理模块, 用于当所述第三判断模块判断所述可疑的程序的网络行为是恶 意程序的网络行为时, 发送风险提示信息, 和 /或拦截所述可疑的程序的当前网络行 为; 以及用于当所述第三判断模块判断所述可疑的程序的网络行为不是恶意程序的 网络行为时, 发送风险提示信息。
17. 根据权利要求 16所述的装置, 其特征在于, 所述第三判断模块包括: 第三获取单元, 用于获取能够识别的程序的网络行为中的应用层数据中的特征 信息, 所述特征信息包括: 应用层数据中的部分代码、 应用层数据中的数据包、 或 者应用层数据中的数据包中的一段数据;
第二判断单元, 用于根据所述特征信息, 判断所述能够识别的程序的网络行为 是否为恶意程序的网络行为。
18. 根据权利要求 16所述的装置, 其特征在于, 所述第三判断模块包括: 第四获取单元, 用于获取所述可疑的程序的网络行为中的应用层数据中的特征 信息, 所述特征信息包括: 应用层数据中的部分代码、 应用层数据中的数据包、 或 者应用层数据中的数据包中的一段数据;
第二发送单元, 用于将所述特征信息发送至云端服务器, 由所述云端服务器根 据所述特征信息, 判断所述可疑的程序的网络行为是否为恶意程序的网络行为; 第二接收单元, 用于接收所述云端服务器返回的判断结果。
19. 一种识别程序的网络行为的系统, 其特征在于, 包括: 客户端和云端服务 器, 其中
所述客户端, 用于在程序访问网络的过程中, 获取程序的当前网络行为中的应 用层数据; 判断所述应用层数据中是否包括未知的协议; 若所述应用层数据中的协 议都是已知的协议, 则将所述程序的当前网络行为标识为能够识别的程序的网络行 为; 若所述应用层数据中包括未知的协议, 则将所述程序的当前网络行为标识为可 疑的程序的网络行为, 然后将能够识别的程序的网络行为或者可疑的程序的网络行 为的特征信息发送至云端服务器, 所述特征信息包括: 应用层数据中的部分代码、 应用层数据中的数据包、 或者应用层数据中的数据包中的一段数据;
所述云端服务器,用于根据所述特征信息判断所述能够识别的程序的网络行为、 或所述可疑的程序的网络行为是否为恶意程序的网络行为, 并向所述客户端返回判 断结果。
20. 一种识别程序的网络行为的系统, 其特征在于, 包括: 客户端和云端服务 器, 其中
所述客户端, 用于在程序访问网络的过程中, 获取程序的当前网络行为中的数 据包, 所述数据包包括: 应用层数据, 以及接收所述云端服务器返回的识别结果; 所述云端服务端, 用于接收所述客户端获取的程序的当前网络行为中数据包, 判断所述应用层数据中是否包括未知的协议; 若所述应用层数据中的协议都是已知 的协议, 则将所述程序的当前网络行为标识为能够识别的程序的网络行为; 若所述 应用层数据中包括未知的协议, 则将所述程序的当前网络行为标识为可疑的程序的 网络行为, 向所述客户端发送识别结果。
21、 一种计算机程序, 包括计算机可读代码, 当所述计算机可读代码在服务器 上运行时, 导致所述服务器执行根据权利要求 1至 9 中的任一所述的识别程序的网 络行为的方法。
22、 一种计算机可读介质, 其中存储了如权利要求 21所述的计算机程序。
PCT/CN2013/083667 2012-12-18 2013-09-17 识别程序的网络行为的方法、装置及系统 Ceased WO2014094470A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/653,335 US9749341B2 (en) 2012-12-18 2013-09-17 Method, device and system for recognizing network behavior of program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210551543.3 2012-12-18
CN201210551543.3A CN103051617B (zh) 2012-12-18 2012-12-18 识别程序的网络行为的方法、装置及系统

Publications (1)

Publication Number Publication Date
WO2014094470A1 true WO2014094470A1 (zh) 2014-06-26

Family

ID=48064116

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/083667 Ceased WO2014094470A1 (zh) 2012-12-18 2013-09-17 识别程序的网络行为的方法、装置及系统

Country Status (3)

Country Link
US (1) US9749341B2 (zh)
CN (1) CN103051617B (zh)
WO (1) WO2014094470A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20250055855A1 (en) * 2021-04-16 2025-02-13 Visa International Service Association Method, System, and Computer Program Product for Protocol Parsing for Network Security

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067360B (zh) * 2012-12-18 2016-12-28 北京奇虎科技有限公司 程序网络行为识别方法及系统
CN103051617B (zh) * 2012-12-18 2015-09-02 北京奇虎科技有限公司 识别程序的网络行为的方法、装置及系统
CN103905415A (zh) * 2013-10-25 2014-07-02 哈尔滨安天科技股份有限公司 一种防范远控类木马病毒的方法及系统
CN103905421A (zh) * 2013-12-17 2014-07-02 哈尔滨安天科技股份有限公司 一种基于url异构性的可疑事件检测方法及系统
CN103944894B (zh) * 2014-04-14 2017-02-15 上海交通大学 基于云计算的恶意域名检测系统
CN105099991B (zh) * 2014-04-28 2019-05-31 北京奇虎科技有限公司 在移动终端中抓取网络数据包的方法及装置
CN104967589B (zh) * 2014-05-27 2019-02-05 腾讯科技(深圳)有限公司 一种安全性检测方法、装置和系统
CN104933357A (zh) * 2015-06-01 2015-09-23 国家电网公司 一种基于数据挖掘的洪泛攻击检测系统
CN105574146A (zh) * 2015-12-15 2016-05-11 北京奇虎科技有限公司 网址拦截方法及装置
CN106911579A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 一种网络转发设备中进行流量控制的装置及方法
CN106912077A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 一种数据终端中进行流量控制的装置及方法
US10659368B2 (en) 2015-12-31 2020-05-19 F5 Networks, Inc. Transparent control and transfer of network protocols
CN105786441B (zh) * 2016-01-29 2019-01-25 腾讯科技(深圳)有限公司 一种音频处理的方法、服务器、用户设备及系统
CN107817995B (zh) * 2016-09-12 2021-03-30 华为技术有限公司 一种后台静默启动应用的方法、装置及终端设备
WO2018085732A1 (en) * 2016-11-03 2018-05-11 RiskIQ, Inc. Techniques for detecting malicious behavior using an accomplice model
CN106921679A (zh) * 2017-05-04 2017-07-04 北京匡恩网络科技有限责任公司 对用户网络访问进行审计的方法及装置
WO2018218537A1 (zh) * 2017-05-31 2018-12-06 西门子公司 工业控制系统及其网络安全的监视方法
US10929539B2 (en) * 2017-08-11 2021-02-23 Nec Corporation Automated software safeness categorization with installation lineage and hybrid information sources
CN107798235B (zh) * 2017-10-30 2020-01-10 清华大学 基于one-hot编码机制的无监督异常访问检测方法及装置
CN108334775B (zh) * 2018-01-23 2022-09-23 创新先进技术有限公司 一种越狱插件检测方法及装置
CN108965251B (zh) * 2018-06-08 2019-07-26 广州大学 一种云端结合的安全手机防护系统
CN109151574B (zh) * 2018-10-15 2020-03-24 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备以及存储介质
CN110221961B (zh) * 2019-04-26 2024-05-28 平安科技(深圳)有限公司 全局hook自动修复方法、装置、设备及存储介质
CN110278271B (zh) * 2019-06-24 2022-04-12 厦门美图之家科技有限公司 网络请求控制方法、装置及终端设备
CN112396071B (zh) * 2019-08-13 2025-02-14 中兴通讯股份有限公司 一种信息监控方法及装置、终端及存储介质
US11165815B2 (en) * 2019-10-28 2021-11-02 Capital One Services, Llc Systems and methods for cyber security alert triage
CN111629027B (zh) * 2020-04-10 2023-06-23 云南电网有限责任公司信息中心 一种基于区块链的可信文件储存处理的方法
CN111669376B (zh) * 2020-05-27 2022-05-03 福建健康之路信息技术有限公司 一种内网安全风险识别的方法和装置
CN112994950A (zh) * 2021-04-07 2021-06-18 北京安天网络安全技术有限公司 告警误报排除方法、装置及计算机可读介质
CN113497829B (zh) * 2021-06-02 2024-02-13 江苏小牛电子科技有限公司 一种基于websocket控制电子班牌的方法
CN114221780B (zh) * 2021-10-26 2024-05-10 深圳市永达电子信息股份有限公司 工控系统网络安全保障方法、装置和计算机存储介质
CN114448685B (zh) * 2022-01-13 2023-11-03 绿盟科技集团股份有限公司 一种生成网络协议报文防护策略的方法及装置
CN115590482B (zh) * 2022-07-20 2024-10-29 重庆长安汽车股份有限公司 一种驾驶员异常行为预测方法、装置、设备及存储介质
CN117939506B (zh) * 2024-03-25 2024-06-18 云南大学 一种基于近似依赖规则的无线通信网络异常检测方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101272380A (zh) * 2008-02-19 2008-09-24 北大方正集团有限公司 一种网络行为管理的方法、系统及装置
US20100191853A1 (en) * 2009-01-29 2010-07-29 Rojas Bud A Methods And Systems For Managing Network Access
CN103051617A (zh) * 2012-12-18 2013-04-17 北京奇虎科技有限公司 识别程序的网络行为的方法、装置及系统
CN103067360A (zh) * 2012-12-18 2013-04-24 北京奇虎科技有限公司 程序网络行为识别方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7739737B2 (en) * 2003-07-29 2010-06-15 Wisconsin Alumni Research Foundation Method and apparatus to detect malicious software
US7769851B1 (en) * 2005-01-27 2010-08-03 Juniper Networks, Inc. Application-layer monitoring and profiling network traffic
CN100374972C (zh) * 2005-08-03 2008-03-12 珠海金山软件股份有限公司 一种检测和防御计算机恶意程序的系统和方法
US7870612B2 (en) * 2006-09-11 2011-01-11 Fujian Eastern Micropoint Info-Tech Co., Ltd Antivirus protection system and method for computers
CN101593253B (zh) * 2009-06-22 2012-04-04 成都市华为赛门铁克科技有限公司 一种恶意程序判断方法及装置
CN102136956A (zh) * 2010-01-21 2011-07-27 宏碁股份有限公司 检测网络通讯行为的监测方法及其系统
US8695095B2 (en) * 2011-03-11 2014-04-08 At&T Intellectual Property I, L.P. Mobile malicious software mitigation
CN102497425A (zh) * 2011-12-12 2012-06-13 山东电力研究院 一种基于透明代理的恶意软件检测系统及其方法
CN102594623B (zh) * 2011-12-31 2015-07-29 华为数字技术(成都)有限公司 防火墙的数据检测方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101272380A (zh) * 2008-02-19 2008-09-24 北大方正集团有限公司 一种网络行为管理的方法、系统及装置
US20100191853A1 (en) * 2009-01-29 2010-07-29 Rojas Bud A Methods And Systems For Managing Network Access
CN103051617A (zh) * 2012-12-18 2013-04-17 北京奇虎科技有限公司 识别程序的网络行为的方法、装置及系统
CN103067360A (zh) * 2012-12-18 2013-04-24 北京奇虎科技有限公司 程序网络行为识别方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20250055855A1 (en) * 2021-04-16 2025-02-13 Visa International Service Association Method, System, and Computer Program Product for Protocol Parsing for Network Security

Also Published As

Publication number Publication date
CN103051617B (zh) 2015-09-02
US9749341B2 (en) 2017-08-29
US20150350232A1 (en) 2015-12-03
CN103051617A (zh) 2013-04-17

Similar Documents

Publication Publication Date Title
CN103051617B (zh) 识别程序的网络行为的方法、装置及系统
US11985163B2 (en) Security appliance
US20240283674A1 (en) Device identification
US10834107B1 (en) Launcher for setting analysis environment variations for malware detection
US10432649B1 (en) System and method for classifying an object based on an aggregated behavior results
US10872151B1 (en) System and method for triggering analysis of an object for malware in response to modification of that object
US10855700B1 (en) Post-intrusion detection of cyber-attacks during lateral movement within networks
CN109871348B (zh) 安全连接的框架
US9591015B1 (en) System and method for offloading packet processing and static analysis operations
US9888019B1 (en) System and method for detecting malicious links in electronic messages
WO2013181982A1 (zh) 一种识别程序的网络行为是否异常的方法、装置及系统
CN104685510A (zh) 识别应用程序是否是恶意程序
RU2653241C1 (ru) Обнаружение угрозы нулевого дня с использованием сопоставления ведущего приложения/программы с пользовательским агентом
US11336692B1 (en) Employing SNI hostname extraction to populate a reverse DNS listing to protect against potentially malicious domains
WO2013117148A1 (zh) 检测远程入侵计算机行为的方法及系统
CN103401863B (zh) 一种基于云安全的网络数据流分析方法和装置
CN107171894A (zh) 终端设备、分布式云端检测系统以及样本检测的方法
CN112703496A (zh) 关于恶意浏览器插件对应用用户的基于内容策略的通知
CN103701816B (zh) 执行拒绝服务攻击的服务器的扫描方法和扫描装置
CN103067360B (zh) 程序网络行为识别方法及系统
US10963562B2 (en) Malicious event detection device, malicious event detection method, and malicious event detection program
US20220337488A1 (en) Network device type classification
CN105849741A (zh) 信息处理装置、信息处理方法及程序
CN116318926A (zh) 流量安全检测和云防火墙配置方法、装置及设备
US8572731B1 (en) Systems and methods for blocking a domain based on the internet protocol address serving the domain

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13863938

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14653335

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 13863938

Country of ref document: EP

Kind code of ref document: A1