US20190182270A1 - System and method for inquiring ioc information by p2p protocol - Google Patents
System and method for inquiring ioc information by p2p protocol Download PDFInfo
- Publication number
- US20190182270A1 US20190182270A1 US15/842,330 US201715842330A US2019182270A1 US 20190182270 A1 US20190182270 A1 US 20190182270A1 US 201715842330 A US201715842330 A US 201715842330A US 2019182270 A1 US2019182270 A1 US 2019182270A1
- Authority
- US
- United States
- Prior art keywords
- ioc
- user terminal
- ioc information
- information
- communication module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
Definitions
- the present disclosure relates to a method of inquiring and storing Indicator of Compromise (IoC) information, and more specifically, to a method of inquiring IoC information, which reduces data communication traffic as well as response time when the IoC information is inquired.
- IoC Indicator of Compromise
- IoC Indicator of Compromise
- the IoC information includes information for performing a security function, such as IP information, hostname information, URL information, hash information of a malicious code file, information on Command and Control Server (C&C Server) and the like. Security companies use the IoC information for sharing security threat information or for promptly sharing counteract information to enhance security of companies or public institutions.
- a security function such as IP information, hostname information, URL information, hash information of a malicious code file, information on Command and Control Server (C&C Server) and the like.
- Security companies use the IoC information for sharing security threat information or for promptly sharing counteract information to enhance security of companies or public institutions.
- IoC information generated by a company is transformed to a file of a specific format (XML or JSON) and the file is transferred to another company.
- the company receiving the file processes the file into a usable information form.
- information generated during a predetermined time period is collected through a batch process and is shared through an FTP server or an e-mail once in the predetermined time.
- the information is exchanged by a communication protocol mutually agreed among the companies.
- the shared IoC information is stored in a server or a cloud storage so that a company receiving the IoC information may re-inquire through a re-inquiry interface, if necessary, the IoC information to the server of the company that has transferred the information.
- the communication span for exchanging the IoC information i.e., the distance to the security equipment or the security software which performs the security function
- the physical resources increase; and transmitting and receiving the IoC information takes long time.
- An on-demand method of inquiring information when needed, other than the batch process, is disadvantageous in that a server or a communication circuit which provides the information is heavily loaded since the information that should be identified is received too much from the security equipment or software for performing the security function.
- FIG. 3 A communication method of generally inquiring IoC information according to the conventional technique is shown in FIG. 3 .
- a user terminal 250 goes through a connection process including at least three steps of a TCP connection step, an HTTP connection step, and an SSL encryption step of encrypting HTTP data.
- the connection process like this, if the amount of data to be inquired increases due to the increasing number of users, i.e., if the number of queries increases, the server resources may not manage the load, and the data inquiry may not be performed smoothly, and therefore, too much cost is required to solve the problem since the server resources should be increased.
- the present disclosure has been made in view of the above problems, and it is an object of the present disclosure to provide a method of inquiring IoC information, which can stably and promptly respond to security threats by removing the disadvantages of the conventional technique described above.
- the method of inquiring and storing IoC information of the present disclosure is performed by at least one user terminal in an environment including a plurality of user terminals and an IoC information providing server.
- the user terminals are respectively provided with an event processing module, an IoC inquiry agent module, an encryption socket communication module and a P2P socket communication module.
- the method comprises a first step of determining IoC information to be identification target when an event occurs, which is performed by the event processing module; a second step of requesting the encryption socket communication module and the P2P socket communication module to inquire the IoC information, which is performed by the IoC inquiry agent module; a third step of requesting IoC information to the IoC information providing server, which is performed by the encryption socket communication module; a fourth step of requesting IoC information to a P2P socket communication module of the other user terminal, which is performed by the P2P socket communication module; and a fifth step of storing IoC information receiving first among the IoC information requested at the third and fourth steps.
- the IoC information is stored in a cache memory of the user terminal during a predetermined time period.
- the method further may comprise, before the second step, a 2-1 step of inquiring the IoC information stored in the cache memory of the user terminal, which is performed by the IoC inquiry agent module. If it is determined at the 2-1 step that the IoC information stored in the cache memory is not effective, the second step is performed.
- the plurality of user terminals belong to a local internal network
- the fourth step is a step of requesting IoC information to a P2P socket communication module of the other user terminal through UDP broadcasting, which is performed by the P2P socket communication module of the user terminal.
- the plurality of user terminals belong to a local internal network
- the fourth step is a step of requesting IoC information to a P2P socket communication module of the other user terminal through UDP broadcasting, which is performed by the P2P socket communication module of the user terminal.
- FIG. 1 is a view showing an environment of implementing the present disclosure.
- FIG. 2 is a flowchart illustrating a method of inquiring and storing IoC information according to the present disclosure.
- FIG. 3 is a view showing a connection process for acquiring IoC information according to a conventional technique.
- FIG. 4 is a view showing an example of IoC information including hash information.
- FIG. 5 is a view showing an example of IoC information including IP information.
- Encryption and decryption may be applied, as needed, to the process of transmitting and receiving information (data) performed in this specification, and it should be interpreted that the expressions describing the process of transmitting information (data) in this specification and the claims also include a case of encrypting and decrypting the information (data) although it is not specially mentioned.
- an expression such as “A transmits (transfers) information (data) to B” or “A receives information (data) from B” includes transmitting (transferring) or receiving the information (data) with intervention of another medium therebetween and does not express only directly transmitting (transferring) and receiving the information (data) between A and B.
- a “module” means a logical combination of general-purpose hardware and software performing its functions.
- the present disclosure is performed by an electronic computing device (also referred to as a “terminal”), such as a computer or the like capable of performing electronic operations.
- an electronic computing device also referred to as a “terminal”
- the mathematical operations and calculations of each step of the present disclosure described below may be implemented through a computer operation in a conventional coding method and/or in a coding method devised to be appropriate to the present disclosure.
- FIG. 1 An environment of implementing a method of inquiring and storing IoC information according to the present disclosure is shown in FIG. 1 . It is assumed that total n user terminals 1 , 2 , 3 , . . . , n share IoC information, and each of the user terminals comprises an event processing module 10 , an IoC inquiry agent module 20 , an encryption socket communication module 30 , a P2P socket communication module 40 and a cache memory 50 .
- the user terminals 1 , 2 , 3 , . . . , n may perform general data communication with an IoC information providing server 300 through a communication network 200 .
- the general data communication includes a TCP connection, an HTTP connection and SSL encryption communication as described in the above as well as data communication performed through other conventional methods.
- the user terminals 1 , 2 , 3 , . . . , n may belong to the same local network 100 , they may belong to networks different from each other if information can be shared among the user terminals 1 , 2 , 3 , . . . , n through data communication.
- the event processing module 10 determines a type of information that should be identified.
- the event may be a confirmation request of a user, a file or process event, a network event or the like.
- the IoC information that should be identified may include hash information of a malicious code file, IP information, hostname information, URL information, C&C server information and the like.
- the IoC inquiry agent module 20 inquires IoC information to the cache memory 50 and requests the encryption socket communication module 30 and the P2P socket communication module 40 to inquire IoC information.
- the encryption socket communication module 30 is a module for performing data communication with the IoC information providing server 300 through the communication network 200 . Because the specification describes a process of inquiring and acquiring IoC information when an event occurs in the first user terminal 1 , the communication of the other user terminals 2 , 3 , . . . , n through the communication network 200 is shown in dotted lines.
- the P2P socket communication module 40 is a module for performing data communication with the other user terminals.
- a user terminal may perform data communication with the other user terminals in a UDP broadcasting method.
- the cache memory is cache memory provided in a general electronic terminal, and IoC information received by each of the user terminals 1 , 2 , 3 , . . . , n may be stored for a predetermined time.
- the cache memory 50 is shown in FIG. 1 , the IoC information may be stored in another type of storage medium, not the cache memory, as described below.
- FIG. 2 A flowchart of a method of inquiring and storing IoC information according to the present disclosure is show in FIG. 2 .
- this specification describes a process of receiving IoC information when an event occurs in the first user terminal 1 , the process may be applied to the other user terminals 2 , 3 , . . . , n.
- the event processing module 10 determines the type of IoC information that should be identified (step S 200 ).
- the event may be a user's request, a file or process event, a network event or the like.
- the event processing module 10 determines the type of IoC information that should be identified according to the event type.
- the IoC information may include hash information of a malicious code file, IP information, hostname information, URL information, C&C server information and the like as described above.
- the event processing module 10 inquires whether IoC information is stored in the cache memory 50 (step S 210 ) and determines whether effective IoC information to be identified exists in the cache memory 50 (step S 215 ). If effective IoC information exists in the cache memory 50 , step S 250 is executed to utilize the stored IoC information.
- the IoC information is preferably stored in the cache memory 50 for rapid inquiry. Although an embodiment of storing IoC information in the cache memory 50 will be described below, it does not mean that the IoC information should be stored in the cache memory 50 .
- the IoC information may be stored in another type of storage medium and utilized by a user terminal.
- FIG. 4 An example of IoC information including hash information (a JASON document type) is shown in FIG. 4 , and an example of IoC information including IP information is shown in FIG. 5 .
- the response information to the inquiry of a user terminal 1 (queries) about file hash is shown in FIG. 4
- the response information to the inquiry of a user terminal 1 (queries) about IP is shown in FIG. 5 .
- FIGS. 4 and 5 are only examples, and other types of IoC structures may be used without restriction.
- IoC information received from the other user terminals 2 , 3 , . . . ,n or IoC information received from the IoC information providing server 300 is stored in the cache memory 50 only for a predetermined time period and may be updated after the time is elapsed. It may be programmed to delete the IoC information from the cache memory 50 after the predetermined time is elapsed. Alternatively, it may be programmed to receive new IoC information by making the IoC information stored in the cache memory 50 ineffective after a predetermined time is elapsed. In this specification, it is defined that IoC information stored in the cache memory is not effective if the IoC information is deleted from the cache memory 50 or a predetermined time is elapsed.
- the encryption socket communication module 30 and the P2P socket communication module 40 are requested to inquire IoC information (step S 220 ).
- the encryption socket communication module 30 connects to the IoC information providing server 300 through the communication network 200 and requests IoC information (step S 225 ). Connection between the IoC information providing server 300 and the encryption socket communication module 30 is performed in the conventional method as shown in FIG. 3 or in another known method.
- the P 2 P socket communication module 40 receiving the same request communicates with P 2 P socket communication modules 40 of other user terminals 2 , 3 , . . . , n and receives IoC information through P2P communication if effective IoC information is stored in the cache memories 50 of other user terminals 2 , 3 , . . . , n. If other user terminals 2 , 3 , . . .
- the P2P communication may be performed by a UDP broadcasting method.
- the P 2 P socket communication modules of other user terminals 2 , 3 , . . . , n are configured to respond to UDP broadcasting.
- IoC information is inquired and received by means of communication between the user terminals by the UDP broadcasting method according to the present disclosure, the problems due to processing load and processing time can be solved.
- step S 235 among the IoC information received through the encryption socket communication module 30 and the IoC information received through the P2P socket communication module 40 , it is determined which IoC information is received first. If the IoC information received through the P2P socket communication module 40 is received first, the IoC information is stored in the cache memory 50 of the user terminal 1 (step S 240 ), and otherwise, that is, if there is no effective IoC information stored in other user terminals 2 , 3 , . . . , n, the IoC information received from the IoC information providing server 300 is stored in the cache memory 50 (step S 245 ).
- the user terminal 1 utilizes the IoC information stored in the cache memory 50 to respond to a security threat (step S 250 ). Because a known security technique may be used as the technique of utilizing the IoC information against security threats and this is not an essential part of the present disclosure, details thereof will be omitted.
- the first user terminal 1 acquires IoC information by the method as described in the above and stores the IoC information in the cache memory 50 or in another type of storage medium.
- the second user terminal 2 may communicate with the first user terminal 1 through the P2P socket communication module 40 and inquire and receive IoC information stored in the cache memory 50 or another type of storage medium of the first user terminal ( 10 ).
- the P2P communication may be accomplished by a UDP broadcasting method as described in the above. Because effective IoC information is already stored in the first user terminal 1 , it is possible to immediately acquire the IoC information through the P2P communication. Accordingly, the IoC information can be acquired rapidly compared with the conventional technique of acquiring IoC information from the IoC information providing server 300 through the communication network 200 , and there is an effect of greatly saving the resources of the IoC information providing server 300 .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
- The present application claims priority to Korean Application No. 10-2017-0167993 filed on Dec. 8, 2017, which is incorporated herein by reference.
- The present disclosure relates to a method of inquiring and storing Indicator of Compromise (IoC) information, and more specifically, to a method of inquiring IoC information, which reduces data communication traffic as well as response time when the IoC information is inquired.
- As cyber security threat increases in the online space recently, various methods for promptly sharing information on various kinds of security threats have been developed. A method most frequently used among them is sharing Indicator of Compromise (IoC) information by which many security products promptly identify and block the threat.
- The IoC information includes information for performing a security function, such as IP information, hostname information, URL information, hash information of a malicious code file, information on Command and Control Server (C&C Server) and the like. Security companies use the IoC information for sharing security threat information or for promptly sharing counteract information to enhance security of companies or public institutions.
- In many cases, IoC information generated by a company is transformed to a file of a specific format (XML or JSON) and the file is transferred to another company. The company receiving the file processes the file into a usable information form. In this case, it is general that information generated during a predetermined time period is collected through a batch process and is shared through an FTP server or an e-mail once in the predetermined time. Alternatively, the information is exchanged by a communication protocol mutually agreed among the companies. According to a general IoC information exchange method, the shared IoC information is stored in a server or a cloud storage so that a company receiving the IoC information may re-inquire through a re-inquiry interface, if necessary, the IoC information to the server of the company that has transferred the information.
- According to the conventional technique like this, the communication span for exchanging the IoC information, i.e., the distance to the security equipment or the security software which performs the security function, is long; the physical resources increase; and transmitting and receiving the IoC information takes long time.
- An on-demand method of inquiring information when needed, other than the batch process, is disadvantageous in that a server or a communication circuit which provides the information is heavily loaded since the information that should be identified is received too much from the security equipment or software for performing the security function.
- A communication method of generally inquiring IoC information according to the conventional technique is shown in
FIG. 3 . In order to inquire to an IoC information providing server 300 and receive IoC information therefrom, a user terminal 250 goes through a connection process including at least three steps of a TCP connection step, an HTTP connection step, and an SSL encryption step of encrypting HTTP data. In the connection process like this, if the amount of data to be inquired increases due to the increasing number of users, i.e., if the number of queries increases, the server resources may not manage the load, and the data inquiry may not be performed smoothly, and therefore, too much cost is required to solve the problem since the server resources should be increased. - It is important to promptly share security threat information to promptly respond to cyber security threats. Further, a great deal of damage may occur if the increasing users and loads are handled inappropriately.
- Therefore, the present disclosure has been made in view of the above problems, and it is an object of the present disclosure to provide a method of inquiring IoC information, which can stably and promptly respond to security threats by removing the disadvantages of the conventional technique described above.
- The method of inquiring and storing IoC information of the present disclosure is performed by at least one user terminal in an environment including a plurality of user terminals and an IoC information providing server. The user terminals are respectively provided with an event processing module, an IoC inquiry agent module, an encryption socket communication module and a P2P socket communication module.
- The method comprises a first step of determining IoC information to be identification target when an event occurs, which is performed by the event processing module; a second step of requesting the encryption socket communication module and the P2P socket communication module to inquire the IoC information, which is performed by the IoC inquiry agent module; a third step of requesting IoC information to the IoC information providing server, which is performed by the encryption socket communication module; a fourth step of requesting IoC information to a P2P socket communication module of the other user terminal, which is performed by the P2P socket communication module; and a fifth step of storing IoC information receiving first among the IoC information requested at the third and fourth steps.
- In a preferred embodiment of the present disclosure, at the fifth step, the IoC information is stored in a cache memory of the user terminal during a predetermined time period. Further, the method further may comprise, before the second step, a 2-1 step of inquiring the IoC information stored in the cache memory of the user terminal, which is performed by the IoC inquiry agent module. If it is determined at the 2-1 step that the IoC information stored in the cache memory is not effective, the second step is performed.
- In a preferred embodiment of the present disclosure, the plurality of user terminals belong to a local internal network, and the fourth step is a step of requesting IoC information to a P2P socket communication module of the other user terminal through UDP broadcasting, which is performed by the P2P socket communication module of the user terminal.
- In a preferred embodiment of the present disclosure, the plurality of user terminals belong to a local internal network, and the fourth step is a step of requesting IoC information to a P2P socket communication module of the other user terminal through UDP broadcasting, which is performed by the P2P socket communication module of the user terminal.
-
FIG. 1 is a view showing an environment of implementing the present disclosure. -
FIG. 2 is a flowchart illustrating a method of inquiring and storing IoC information according to the present disclosure. -
FIG. 3 is a view showing a connection process for acquiring IoC information according to a conventional technique. -
FIG. 4 is a view showing an example of IoC information including hash information. -
FIG. 5 is a view showing an example of IoC information including IP information. - Encryption and decryption may be applied, as needed, to the process of transmitting and receiving information (data) performed in this specification, and it should be interpreted that the expressions describing the process of transmitting information (data) in this specification and the claims also include a case of encrypting and decrypting the information (data) although it is not specially mentioned. In this specification, an expression such as “A transmits (transfers) information (data) to B” or “A receives information (data) from B” includes transmitting (transferring) or receiving the information (data) with intervention of another medium therebetween and does not express only directly transmitting (transferring) and receiving the information (data) between A and B. In the description of the present disclosure, the sequence of the steps should be understood as being nonrestrictive if a prior step should not be necessarily performed logically or prior to a following step. That is, although a process described as a following step is performed before a process described as a prior step, the essential spirit of the present disclosure is not affected excluding the exceptional case as described above, and the scope of the present disclosure should also be defined regardless of the sequence of the steps. In addition, in this specification, “A or B” should be defined to include both A and B, as well as selectively indicating any one of A and B. In addition, in this specification, the term “comprise” has an inclusive meaning of further including another element, in addition to the written elements.
- In this specification, a “module” means a logical combination of general-purpose hardware and software performing its functions.
- In this specification, the essential elements of the present disclosure are described, and the elements unrelated to the spirit of the present disclosure will not be mentioned. It should not be interpreted as an exclusive meaning including only the mentioned elements and should be interpreted as a nonexclusive meaning which can exclude nonessential specific elements or include other elements.
- The present disclosure is performed by an electronic computing device (also referred to as a “terminal”), such as a computer or the like capable of performing electronic operations. The mathematical operations and calculations of each step of the present disclosure described below may be implemented through a computer operation in a conventional coding method and/or in a coding method devised to be appropriate to the present disclosure.
- An environment of implementing a method of inquiring and storing IoC information according to the present disclosure is shown in
FIG. 1 . It is assumed that total 1, 2, 3, . . . , n share IoC information, and each of the user terminals comprises an event processing module 10, an IoC inquiry agent module 20, an encryption socket communication module 30, a P2P socket communication module 40 and a cache memory 50. Then user terminals 1, 2, 3, . . . , n may perform general data communication with an IoC information providing server 300 through a communication network 200. The general data communication includes a TCP connection, an HTTP connection and SSL encryption communication as described in the above as well as data communication performed through other conventional methods.user terminals - Although the
1, 2, 3, . . . , n may belong to the same local network 100, they may belong to networks different from each other if information can be shared among theuser terminals 1, 2, 3, . . . , n through data communication.user terminals - If an event for identifying security threat occurs, the event processing module 10 determines a type of information that should be identified. The event may be a confirmation request of a user, a file or process event, a network event or the like. The IoC information that should be identified may include hash information of a malicious code file, IP information, hostname information, URL information, C&C server information and the like.
- The IoC inquiry agent module 20 inquires IoC information to the cache memory 50 and requests the encryption socket communication module 30 and the P2P socket communication module 40 to inquire IoC information.
- The encryption socket communication module 30 is a module for performing data communication with the IoC information providing server 300 through the communication network 200. Because the specification describes a process of inquiring and acquiring IoC information when an event occurs in the
first user terminal 1, the communication of the 2, 3, . . . , n through the communication network 200 is shown in dotted lines.other user terminals - The P2P socket communication module 40 is a module for performing data communication with the other user terminals. For example, a user terminal may perform data communication with the other user terminals in a UDP broadcasting method.
- The cache memory is cache memory provided in a general electronic terminal, and IoC information received by each of the
1, 2, 3, . . . , n may be stored for a predetermined time. Although the cache memory 50 is shown inuser terminals FIG. 1 , the IoC information may be stored in another type of storage medium, not the cache memory, as described below. - A flowchart of a method of inquiring and storing IoC information according to the present disclosure is show in
FIG. 2 . Although this specification describes a process of receiving IoC information when an event occurs in thefirst user terminal 1, the process may be applied to the 2, 3, . . . , n.other user terminals - If an event occurs in the
first user terminal 1, the event processing module 10 determines the type of IoC information that should be identified (step S200). The event may be a user's request, a file or process event, a network event or the like. The event processing module 10 determines the type of IoC information that should be identified according to the event type. The IoC information may include hash information of a malicious code file, IP information, hostname information, URL information, C&C server information and the like as described above. - If IoC information to be identified is determined, the event processing module 10 inquires whether IoC information is stored in the cache memory 50 (step S210) and determines whether effective IoC information to be identified exists in the cache memory 50 (step S215). If effective IoC information exists in the cache memory 50, step S250 is executed to utilize the stored IoC information. The IoC information is preferably stored in the cache memory 50 for rapid inquiry. Although an embodiment of storing IoC information in the cache memory 50 will be described below, it does not mean that the IoC information should be stored in the cache memory 50. The IoC information may be stored in another type of storage medium and utilized by a user terminal.
- An example of IoC information including hash information (a JASON document type) is shown in
FIG. 4 , and an example of IoC information including IP information is shown inFIG. 5 . The response information to the inquiry of a user terminal 1 (queries) about file hash is shown inFIG. 4 , and the response information to the inquiry of a user terminal 1 (queries) about IP is shown inFIG. 5 .FIGS. 4 and 5 are only examples, and other types of IoC structures may be used without restriction. - As described below, IoC information received from the
2, 3, . . . ,n or IoC information received from the IoC information providing server 300 is stored in the cache memory 50 only for a predetermined time period and may be updated after the time is elapsed. It may be programmed to delete the IoC information from the cache memory 50 after the predetermined time is elapsed. Alternatively, it may be programmed to receive new IoC information by making the IoC information stored in the cache memory 50 ineffective after a predetermined time is elapsed. In this specification, it is defined that IoC information stored in the cache memory is not effective if the IoC information is deleted from the cache memory 50 or a predetermined time is elapsed.other user terminals - If IoC information stored in the cache memory 50 is not effective any more as the IoC information is deleted from the cache memory 50 or a predetermined time is elapsed, the encryption socket communication module 30 and the P2P socket communication module 40 are requested to inquire IoC information (step S220).
- If the request is received, the encryption socket communication module 30 connects to the IoC information providing server 300 through the communication network 200 and requests IoC information (step S225). Connection between the IoC information providing server 300 and the encryption socket communication module 30 is performed in the conventional method as shown in
FIG. 3 or in another known method. The P2P socket communication module 40 receiving the same request communicates with P2P socket communication modules 40 of 2, 3, . . . , n and receives IoC information through P2P communication if effective IoC information is stored in the cache memories 50 ofother user terminals 2, 3, . . . , n. Ifother user terminals 2, 3, . . . , n belong to the same local network 100, the P2P communication may be performed by a UDP broadcasting method. In this case, the P2P socket communication modules ofother user terminals 2, 3, . . . , n are configured to respond to UDP broadcasting.other user terminals - If IoC information is inquired and received by means of communication between the user terminals by the UDP broadcasting method according to the present disclosure, the problems due to processing load and processing time can be solved.
- At step S235, among the IoC information received through the encryption socket communication module 30 and the IoC information received through the P2P socket communication module 40, it is determined which IoC information is received first. If the IoC information received through the P2P socket communication module 40 is received first, the IoC information is stored in the cache memory 50 of the user terminal 1 (step S240), and otherwise, that is, if there is no effective IoC information stored in
2, 3, . . . , n, the IoC information received from the IoC information providing server 300 is stored in the cache memory 50 (step S245). Theother user terminals user terminal 1 utilizes the IoC information stored in the cache memory 50 to respond to a security threat (step S250). Because a known security technique may be used as the technique of utilizing the IoC information against security threats and this is not an essential part of the present disclosure, details thereof will be omitted. - Although a method of acquiring and storing IoC information by the
first user terminal 1 has been described in the above, 2, 3, . . . , n may also acquire and utilize the IoC information in the same method. For example, it is assumed that theother user terminals first user terminal 1 acquires IoC information by the method as described in the above and stores the IoC information in the cache memory 50 or in another type of storage medium. Thereafter, if an event occurs in another user terminal, e.g., thesecond user terminal 2, within a predetermined time during which the stored IoC information is effective and thesecond user terminal 2 desires to acquire IoC information, thesecond user terminal 2 may communicate with thefirst user terminal 1 through the P2P socket communication module 40 and inquire and receive IoC information stored in the cache memory 50 or another type of storage medium of the first user terminal (10). The P2P communication may be accomplished by a UDP broadcasting method as described in the above. Because effective IoC information is already stored in thefirst user terminal 1, it is possible to immediately acquire the IoC information through the P2P communication. Accordingly, the IoC information can be acquired rapidly compared with the conventional technique of acquiring IoC information from the IoC information providing server 300 through the communication network 200, and there is an effect of greatly saving the resources of the IoC information providing server 300. - While the present disclosure has been described with reference to the accompanying drawings, the scope of the present disclosure is defined by the appended claims, and it should not be interpreted as being restricted to the embodiments and/or the drawings described above. It should be clearly understood that improvements, changes and modifications of the present disclosure disclosed in the claims and apparent to those skilled in the art fall within the scope of the present disclosure.
Claims (11)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020170167993A KR101850351B1 (en) | 2017-12-08 | 2017-12-08 | Method for Inquiring IoC Information by Use of P2P Protocol |
| KR10-2017-0167993 | 2017-12-08 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20190182270A1 true US20190182270A1 (en) | 2019-06-13 |
| US10341367B1 US10341367B1 (en) | 2019-07-02 |
Family
ID=62087816
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US15/842,330 Active US10341367B1 (en) | 2017-12-08 | 2017-12-14 | System and method for inquiring IOC information by P2P protocol |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US10341367B1 (en) |
| KR (1) | KR101850351B1 (en) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110708327A (en) * | 2019-10-15 | 2020-01-17 | 北京丁牛科技有限公司 | Method and device for constructing hidden channel based on ZeroNet |
| US10880326B1 (en) | 2019-08-01 | 2020-12-29 | Xm Cyber Ltd. | Systems and methods for determining an opportunity for node poisoning in a penetration testing campaign, based on actual network traffic |
| CN112395481A (en) * | 2019-08-19 | 2021-02-23 | 四川大学 | Automatic collapse index extraction method based on multilayer perceptron |
| US11005878B1 (en) | 2019-11-07 | 2021-05-11 | Xm Cyber Ltd. | Cooperation between reconnaissance agents in penetration testing campaigns |
| US11206281B2 (en) | 2019-05-08 | 2021-12-21 | Xm Cyber Ltd. | Validating the use of user credentials in a penetration testing campaign |
| US11206282B2 (en) | 2017-11-15 | 2021-12-21 | Xm Cyber Ltd. | Selectively choosing between actual-attack and simulation/evaluation for validating a vulnerability of a network node during execution of a penetration testing campaign |
| US11283827B2 (en) | 2019-02-28 | 2022-03-22 | Xm Cyber Ltd. | Lateral movement strategy during penetration testing of a networked system |
| US11575700B2 (en) | 2020-01-27 | 2023-02-07 | Xm Cyber Ltd. | Systems and methods for displaying an attack vector available to an attacker of a networked system |
| US11582256B2 (en) | 2020-04-06 | 2023-02-14 | Xm Cyber Ltd. | Determining multiple ways for compromising a network node in a penetration testing campaign |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP4049404A1 (en) * | 2020-01-24 | 2022-08-31 | Via Science, Inc. | Secure data processing |
| WO2024063714A1 (en) | 2022-09-23 | 2024-03-28 | Binalyze Yazilim A.S. | Method for measuring security operation center |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20060070242A (en) * | 2004-12-20 | 2006-06-23 | 에스케이 텔레콤주식회사 | P2P based content sharing service method and recording medium storing computer program for the method |
| JP4887682B2 (en) * | 2005-08-05 | 2012-02-29 | 日本電気株式会社 | COMMUNICATION SYSTEM, KEY MANAGEMENT / DISTRIBUTION SERVER, TERMINAL DEVICE, DATA COMMUNICATION METHOD USED FOR THEM, AND PROGRAM THEREOF |
| WO2011027352A1 (en) * | 2009-09-03 | 2011-03-10 | Mcafee, Inc. | Network access control |
| US8695095B2 (en) * | 2011-03-11 | 2014-04-08 | At&T Intellectual Property I, L.P. | Mobile malicious software mitigation |
| US8931074B2 (en) * | 2012-10-10 | 2015-01-06 | Dell Products L.P. | Adaptive system behavior change on malware trigger |
| US9654445B2 (en) * | 2013-11-13 | 2017-05-16 | ProtectWise, Inc. | Network traffic filtering and routing for threat analysis |
| US9794279B2 (en) * | 2014-06-11 | 2017-10-17 | Accenture Global Services Limited | Threat indicator analytics system |
| US9537841B2 (en) * | 2014-09-14 | 2017-01-03 | Sophos Limited | Key management for compromised enterprise endpoints |
| US9967283B2 (en) * | 2014-09-14 | 2018-05-08 | Sophos Limited | Normalized indications of compromise |
| US10482242B2 (en) * | 2016-03-08 | 2019-11-19 | Tanium Inc. | System and method for performing event inquiries in a network |
-
2017
- 2017-12-08 KR KR1020170167993A patent/KR101850351B1/en active Active
- 2017-12-14 US US15/842,330 patent/US10341367B1/en active Active
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11206282B2 (en) | 2017-11-15 | 2021-12-21 | Xm Cyber Ltd. | Selectively choosing between actual-attack and simulation/evaluation for validating a vulnerability of a network node during execution of a penetration testing campaign |
| US11283827B2 (en) | 2019-02-28 | 2022-03-22 | Xm Cyber Ltd. | Lateral movement strategy during penetration testing of a networked system |
| US11206281B2 (en) | 2019-05-08 | 2021-12-21 | Xm Cyber Ltd. | Validating the use of user credentials in a penetration testing campaign |
| US10880326B1 (en) | 2019-08-01 | 2020-12-29 | Xm Cyber Ltd. | Systems and methods for determining an opportunity for node poisoning in a penetration testing campaign, based on actual network traffic |
| CN112395481A (en) * | 2019-08-19 | 2021-02-23 | 四川大学 | Automatic collapse index extraction method based on multilayer perceptron |
| CN110708327A (en) * | 2019-10-15 | 2020-01-17 | 北京丁牛科技有限公司 | Method and device for constructing hidden channel based on ZeroNet |
| US11005878B1 (en) | 2019-11-07 | 2021-05-11 | Xm Cyber Ltd. | Cooperation between reconnaissance agents in penetration testing campaigns |
| US11575700B2 (en) | 2020-01-27 | 2023-02-07 | Xm Cyber Ltd. | Systems and methods for displaying an attack vector available to an attacker of a networked system |
| US11582256B2 (en) | 2020-04-06 | 2023-02-14 | Xm Cyber Ltd. | Determining multiple ways for compromising a network node in a penetration testing campaign |
Also Published As
| Publication number | Publication date |
|---|---|
| US10341367B1 (en) | 2019-07-02 |
| KR101850351B1 (en) | 2018-04-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10341367B1 (en) | System and method for inquiring IOC information by P2P protocol | |
| US9684791B2 (en) | Method and system for providing a secure secrets proxy and distributing secrets | |
| EP3170091B1 (en) | Method and server of remote information query | |
| US9336406B2 (en) | Multiprotocol access control list with guaranteed protocol compliance | |
| CN102713925B (en) | Confidential information is revealed the leakage of anti-locking system, confidential information leak-preventing method and confidential information and is prevented program | |
| CN111460458B (en) | Data processing method, related device and computer storage medium | |
| US20140122716A1 (en) | Virtual private network access control | |
| US12063216B2 (en) | Access control policy for proxy services | |
| US11496594B1 (en) | Regulation methods for proxy services | |
| CN109522462B (en) | Cloud query method, device, equipment and storage medium based on block chain | |
| US20210112040A1 (en) | Encrypted server name indication inspection | |
| KR20190052033A (en) | Transient transaction server | |
| CN110909030B (en) | Information processing method and server cluster | |
| US8464331B2 (en) | Data transmission management server and method | |
| CN113873057A (en) | Data processing method and device | |
| CN109257453B (en) | System and method for local data IP based network security against data leakage attempts in multi-tenant protected storage deployments | |
| TWI546688B (en) | Method for processing url and associated server and non-transitory computer readable storage medium | |
| CN111092958A (en) | Node access method, device, system and storage medium | |
| CN106060155B (en) | The method and device of P2P resource-sharing | |
| CN105099930A (en) | Method and device for controlling traffic of encrypted data flow | |
| CN110969321B (en) | Industrial information asset management method and device | |
| KR101526326B1 (en) | Folder synchronizing method between user terminal and ip router, and ip router for thesame | |
| CN113419878B (en) | Data operation method and device | |
| US10397029B2 (en) | Relay apparatus | |
| CN121277438A (en) | A data processing system and method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: SAINT SECURITY INC., KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KIM, KIHONG;REEL/FRAME:044400/0832 Effective date: 20171212 |
|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| AS | Assignment |
Owner name: SANDS LAB INC., KOREA, REPUBLIC OF Free format text: CHANGE OF NAME;ASSIGNOR:SAINT SECURITY INC.;REEL/FRAME:059747/0323 Effective date: 20210430 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY Year of fee payment: 4 |