KR102042086B1 - Module for controlling encryption communication protocol - Google Patents
Module for controlling encryption communication protocol Download PDFInfo
- Publication number
- KR102042086B1 KR102042086B1 KR1020180000756A KR20180000756A KR102042086B1 KR 102042086 B1 KR102042086 B1 KR 102042086B1 KR 1020180000756 A KR1020180000756 A KR 1020180000756A KR 20180000756 A KR20180000756 A KR 20180000756A KR 102042086 B1 KR102042086 B1 KR 102042086B1
- Authority
- KR
- South Korea
- Prior art keywords
- connection
- traffic
- communication protocol
- program
- unit
- Prior art date
Links
Images
Classifications
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
Abstract
본 발명은 암호화 통신 프로토콜 제어 모듈로서, 암호화 통신 프로토콜의 연결이 발생하는지 여부를 감시하고, 상기 암호화 통신 프로토콜의 연결이 발생하면 상기 암호화 통신 프로토콜의 목적지 정보를 변경하는 연결 감시부; 상기 변경된 목적지 정보에 따라 상기 암호화 통신 프로토콜의 연결을 형성하는 클라이언트 연결부; 상기 연결 감시부로부터 상기 목적지 정보를 전달받아 목적지에 해당하는 대상 서버와의 연결 여부를 결정하고 상기 대상 서버와의 연결을 위한 연결정보를 전달하는 제어부; 및 상기 제어부로부터 전달받은 연결정보에 따라 상기 대상 서버에 연결을 요청하는 서버 연결부를 포함한다.The present invention provides an encryption communication protocol control module, comprising: a connection monitoring unit configured to monitor whether a connection of an encryption communication protocol occurs and to change destination information of the encryption communication protocol when the connection of the encryption communication protocol occurs; A client connection unit forming a connection of the encrypted communication protocol according to the changed destination information; A control unit which receives the destination information from the connection monitoring unit, determines whether to connect with a target server corresponding to a destination, and transmits connection information for connection with the target server; And a server connection unit requesting a connection to the target server according to the connection information received from the controller.
Description
본 발명은 암호화 통신 프로토콜 제어 기술에 관한 것으로서, 보다 상세하게는, 개인컴퓨터에서 수행되는 정보를 기반으로 암호화 통신 프로토콜을 제어하는 암호화 통신 프로토콜 제어 모듈에 관한 것이다.The present invention relates to an encryption communication protocol control technology, and more particularly, to an encryption communication protocol control module for controlling an encryption communication protocol based on information performed on a personal computer.
국내외 주요 인터넷 서비스에서는 사용자의 개인정보를 보호하기 위해 암호화 통신 프로토콜인 TLS/SSL을 웹서비스, 메일서비스에 적용하여 사용하고 있다. 암호화 통신 프로토콜을 사용하여 전송되는 암호화 트래픽은 외부의 스니핑 공격에 대하여 안전성을 확보하고 보안적인 측면에서 기밀성 강화를 기대할 수 있다. 그러나 대부분의 보안장비들이 암호화 트래픽의 분석이 불가능하여 인터넷 서비스에서 암호화 통신을 이용한 악의적인 행위를 통제할 수 없다.In order to protect user's personal information, major domestic and foreign internet services use TLS / SSL, which is an encryption communication protocol, for web service and mail service. Encrypted traffic transmitted using an encrypted communication protocol can be secured against external sniffing attacks and can be expected to enhance confidentiality in terms of security. However, most security devices cannot analyze the encrypted traffic and cannot control malicious behavior using encrypted communication in Internet services.
암호화 통신을 이용한 인터넷 서비스상의 보안위협을 감소시키기 위한 암호화 통신 프로토콜 제어 방법으로는 통상적으로 프록시를 이용하는 방법, 네트워크 보안장비를 이용하는 방법 등이 있다. 프록시를 이용하여 제어하는 방법은 클라이언트와 목적지 사이에 프록시 서버를 두어 이 곳을 경유하는 암호화 트래픽을 복호화 하여 제어한다. 이 방법은 PC에 별도의 설정이 필요하여 가용성이 낮고 프록시 서버를 설정할 수 있는 인터넷 브라우저와 일부 프로그램에만 적용이 가능하여 확장성이 낮다. 네트워크 보안장비를 이용하여 제어하는 방법은 인터넷 게이트웨이에서 암호화 트래픽 통신이 감지되면 복호화 하여 제어한다.As a method of controlling an encryption communication protocol for reducing security threats on an Internet service using encryption communication, there is a method using a proxy or a method using a network security device. In the control method using a proxy, a proxy server is placed between a client and a destination to decrypt and control encrypted traffic passing through the location. This method is low in availability because it requires a separate setting on the PC and is only applicable to Internet browsers and some programs that can set up a proxy server. The control method using the network security equipment decrypts and controls the encrypted traffic communication when the internet gateway is detected.
즉, 이 두 가지 방법은 IP주소, MAC 주소, PORT 번호, 트래픽 내용 등과 같은 인터넷 통신 정보를 기반으로 제어하나, 이 정보만으로는 암호화 트래픽을 발생시킨 PC의 확인만이 가능할 뿐, 해당 PC의 사용자는 정확히 식별될 수 없고, PC에서 통신에 사용한 프로세스 이름, 첨부로 전송 된 파일의 실제 경로 등의 정보도 알 수 없는 문제가 있다.In other words, these two methods are controlled based on internet communication information such as IP address, MAC address, PORT number, traffic contents, etc.But only this information can be used to identify the PC that generated the encrypted traffic. There is a problem that cannot be correctly identified, and information such as the process name used for communication on the PC and the actual path of the file transmitted as an attachment is unknown.
본 발명의 목적은 개인컴퓨터에서 수행되는 정보를 기반으로 암호화 통신 프로토콜을 제어하는 암호화 통신 프로토콜 제어 모듈을 제공하는데 있다.An object of the present invention is to provide an encryption communication protocol control module for controlling an encryption communication protocol based on information performed in a personal computer.
상기 목적을 달성하기 위한 본 발명의 제1 측면은, 암호화 통신 프로토콜 제어 모듈로서, 암호화 통신 프로토콜의 연결이 발생하는지 여부를 감시하고, 상기 암호화 통신 프로토콜의 연결이 발생하면 상기 암호화 통신 프로토콜의 목적지 정보를 변경하는 연결 감시부; 상기 변경된 목적지 정보에 따라 상기 암호화 통신 프로토콜의 연결을 형성하는 클라이언트 연결부; 상기 연결 감시부로부터 상기 목적지 정보를 전달받아 목적지에 해당하는 대상 서버와의 연결 여부를 결정하고 상기 대상 서버와의 연결을 위한 연결정보를 전달하는 제어부; 및 상기 제어부로부터 전달받은 연결정보에 따라 상기 대상 서버에 연결을 요청하는 서버 연결부를 포함한다.A first aspect of the present invention for achieving the above object is an encryption communication protocol control module, which monitors whether a connection of an encryption communication protocol occurs, and if the connection of the encryption communication protocol occurs, destination information of the encryption communication protocol. Connection monitoring unit to change; A client connection unit forming a connection of the encrypted communication protocol according to the changed destination information; A control unit which receives the destination information from the connection monitoring unit, determines whether to connect with a target server corresponding to a destination, and transmits connection information for connection with the target server; And a server connection unit requesting a connection to the target server according to the connection information received from the controller.
바람직하게, 상기 연결 감시부는, 상기 암호화 통신 프로토콜의 연결을 수행하는 프로그램이 개인컴퓨터에서 실행되는지 여부를 감시하고, 상기 프로그램이 실행되면, 상기 프로그램에 DLL 인젝션을 하고 상기 프로그램의 연결 함수에 대하여 API 후킹을 하여 상기 목적지 정보를 변경하거나, 또는 상기 프로그램의 드라이버를 실행시켜 TDI 필터 드라이버를 등록하고 TDI 필터를 통한 감시를 통해 상기 목적지 정보를 획득하여 상기 목적지 정보를 변경하되, 상기 변경된 목적지 정보는 상기 클라이언트 연결부에 해당할 수 있다.Preferably, the connection monitoring unit monitors whether a program that performs the connection of the encryption communication protocol is executed on a personal computer, and when the program is executed, injects a DLL into the program and APIs for the connection function of the program. Hooking to change the destination information, or to execute the driver of the program to register the TDI filter driver and obtain the destination information through monitoring through a TDI filter to change the destination information, the changed destination information is It may correspond to a client connection.
바람직하게, 상기 연결 감시부는, 상기 목적지 정보는 상기 제어부에 전달하고, 상기 변경된 목적지에 따라 상기 프로그램을 통하여 상기 클라이언트 연결부로 연결이 요청되도록 할 수 있다.Preferably, the connection monitoring unit may transmit the destination information to the control unit and allow a connection request to the client connection unit through the program according to the changed destination.
바람직하게, 상기 제어부는, 상기 목적지 정보를 포함하는 연결정보를 상기 서버 연결부에 전달하고, 서명정보에 해당하는 제1 개인키 및 제1 인증서를 생성하여 상기 개인컴퓨터에 등록할 수 있다.Preferably, the control unit may transmit connection information including the destination information to the server connection unit, generate a first private key and a first certificate corresponding to signature information, and register the same with the personal computer.
바람직하게, 상기 서버 연결부는, 상기 연결정보에 따라 상기 대상 서버와 연결이 완료되면, 상기 암호화 통신 프로토콜의 공개정보로부터 주체이름 및 주체대체이름을 추출하여 상기 제어부에 전달할 수 있다.Preferably, when the connection with the target server is completed according to the connection information, the server connection unit may extract the subject name and the subject alternative name from the public information of the encryption communication protocol and transfer it to the controller.
바람직하게, 상기 제어부는, 상기 주체이름 및 주체대체이름을 기초로 공개정보에 해당하는 제2 인증서 및 비밀정보에 해당하는 제2 개인키를 생성하고, 상기 제1 개인키를 이용하여 상기 제2 인증서에 전자서명을 수행하고, 상기 제2 개인키 및 상기 전자서명이 수행된 제2 인증서를 상기 클라이언트 연결부에 전달할 수 있다.Preferably, the controller generates a second private key corresponding to the second certificate and secret information corresponding to the public information based on the subject name and the subject alternative name, and uses the first private key to generate the second private key. The electronic signature may be performed on the certificate, and the second private key and the second certificate on which the electronic signature is performed may be transferred to the client connection unit.
바람직하게, 상기 클라이언트 연결부는, 상기 전자서명이 수행된 제2 인증서를 등록하고, 상기 프로그램으로부터 요청된 연결 요청을 수락하고, 상기 전자서명이 수행된 제2 인증서를 상기 프로그램에 전달할 수 있다.Preferably, the client connection unit may register a second certificate on which the digital signature is performed, accept a connection request requested from the program, and transfer the second certificate on which the digital signature is performed to the program.
바람직하게, 상기 프로그램에 의하여 상기 개인컴퓨터에 등록된 제1 인증서 및 상기 제2 인증서를 기초로, 상기 전자서명이 수행된 제2 인증서의 발급기관, 이름, 및 유효기간이 검사되면, 상기 클라이언트 연결부와의 연결이 완료될 수 있다.Preferably, based on the first certificate and the second certificate registered in the personal computer by the program, if the issuer, name, and validity period of the second certificate for which the electronic signature was performed are checked, the client connection unit The connection with can be completed.
바람직하게, 상기 클라이언트 연결부는, 상기 암호화 통신 프로토콜의 연결이 형성되면, 상기 암호화 통신 프로토콜의 연결을 수행하는 프로그램으로부터 수신한 암호화 트래픽을 복호화하여 상기 제어부에 전달할 수 있다.Preferably, when the connection of the encrypted communication protocol is formed, the client connection unit may decrypt the encrypted traffic received from a program that performs the connection of the encrypted communication protocol and transmit the decrypted traffic to the controller.
바람직하게, 상기 제어부는, 상기 복호화된 트래픽의 내용을 로그로 저장하고, 상기 트래픽의 내용을 검사한 후, 상기 서버 연결부에 트래픽을 전달하되, 상기 트래픽의 내용 검사에 따라 상기 트래픽의 내용이 부적합한 것으로 판단되면, 상기 트래픽의 내용이 변경된 후 상기 서버 연결부에 전달될 수 있다.Preferably, the control unit stores the contents of the decoded traffic as a log, inspects the contents of the traffic, and then delivers the traffic to the server connection unit, wherein the contents of the traffic are inappropriate according to the contents inspection of the traffic. If it is determined that the contents of the traffic is changed, it may be delivered to the server connection unit.
바람직하게, 상기 서버 연결부는, 상기 트래픽을 상기 대상 서버의 암호화 통신 프로토콜의 공개정보를 기초로 암호화 한 후, 암화된 트래픽을 상기 대상 서버에 전송할 수 있다.Preferably, the server connection unit, after encrypting the traffic based on the public information of the encryption communication protocol of the target server, may transmit the encrypted traffic to the target server.
바람직하게, 상기 암호화 통신 프로토콜의 연결을 수행하는 프로그램이 접근하는 파일과 상기 프로그램이 읽는 파일의 내용을 감시하는 파일 감시부를 더 포함할 수 있다.Preferably, the method may further include a file monitoring unit for monitoring a file accessed by a program that performs the connection of the encrypted communication protocol and contents of a file read by the program.
바람직하게, 상기 파일 감시부는, 상기 클라이언트 연결부와 상기 암호화 통신 프로토콜의 연결이 형성되면, 상기 프로그램에서 파일 읽기가 발생하는지 여부를 감시하고, 상기 프로그램에서 파일 읽기가 발생하면 상기 프로그램이 읽은 파일의 내용을 저장하되, 상기 프로그램이 읽은 파일의 내용은 상기 프로그램을 통하여 암호화 트래픽으로 상기 클라이언트 연결부에 전송될 수 있다.Preferably, the file monitoring unit monitors whether a file read occurs in the program when the client connection unit and the encryption communication protocol are connected, and contents of a file read by the program when a file read occurs in the program. Store the contents of the file read by the program may be transmitted to the client connection as encrypted traffic through the program.
바람직하게, 상기 클라이언트 연결부는, 상기 암호화 트래픽을 복호화하여 제어부에 전달하고, 상기 제어부는, 상기 복호화된 트래픽을 상기 파일 감시부로 전달할 수 있다.Preferably, the client connection unit may decrypt the encrypted traffic and transmit the decrypted traffic to the control unit, and the control unit may transmit the decrypted traffic to the file monitoring unit.
바람직하게, 상기 파일 감시부는, 상기 제어부로부터 전달받은 트래픽의 내용이 상기 저장된 읽은 파일의 내용에 포함되는지 여부를 검사하고, 검사 결과를 제어부에 전달할 수 있다.Preferably, the file monitoring unit may check whether the content of the traffic received from the controller is included in the content of the stored read file, and may transmit the test result to the controller.
바람직하게, 상기 제어부는, 상기 검사 결과가 파일 유출 행위에 해당함을 나타내면, 상기 클라이언트 연결부에 암호화 통신 프로토콜의 연결 종료를 요청하고, 상기 클라이언트 연결부는 상기 연결 종료의 요청에 따라 암호화 통신 프로토콜의 연결을 종료할 수 있다.Preferably, the control unit, when indicating that the check result corresponds to a file leaking behavior, requests the client connection unit to terminate the connection of the encryption communication protocol, and the client connection unit terminates the connection of the encryption communication protocol according to the request for termination of the connection. You can exit.
상기한 바와 같이 본 발명에 의하면, 암호화 통신의 특징인 종단간의 기밀성은 유지하되, 기밀정보 유출을 방지하는 효과가 있다.As described above, according to the present invention, the end-to-end confidentiality which is a characteristic of the encrypted communication is maintained, but there is an effect of preventing the leakage of confidential information.
또한, 인증 시스템과 융합하여 암호화 트래픽을 발생시킨 사용자를 식별할 때 정확성을 높이고, 개인정보 유출감지 시스템과 융합하여 암호화 통신 프로토콜을 사용한 개인정보 파일의 유출을 감지하는 효과가 있다.In addition, the accuracy of identifying the user who generated the encryption traffic by fusion with the authentication system is improved, and the personal information leakage detection system has the effect of detecting the leakage of the personal information file using the encryption communication protocol.
또한, 개인 컴퓨터에서 감시를 원하는 프로세스만 목적지 정보를 변경해 제어할 수 있는 효과가 있다. In addition, only a process that a user wants to monitor on the personal computer can change and control the destination information.
또한, 종래의 프록시 방식과 비교하여, 개인 컴퓨터에 프록시 설정 없이 통제가 가능하고, 인터넷 브라우저 외에 다른 프로그램도 통제가 가능한 효과가 있고, 종래의 네트워크 보안 장비 방식과 비교하여, 네트워크 구성을 변경하지 않고 통제가 가능하고, IP 주소, MAC 주소, PORT번호, 트래픽 내용 등과 같은 인터넷 통신 정보 기반의 통제와 통신 프로세스 이름, 파일 정보 등과 같은 사용자의 개인 컴퓨터에서 발생하는 행위를 기반으로도 통제가 가능한 효과가 있다.In addition, compared to the conventional proxy method, it is possible to control the personal computer without proxy setting, and to control other programs besides the Internet browser, and compared with the conventional network security equipment method, without changing the network configuration. It is possible to control and control based on Internet communication information based control such as IP address, MAC address, PORT number, traffic content, etc., and actions occurring on user's personal computer such as communication process name and file information. have.
도 1은 본 발명의 바람직한 실시예에 따른 암호화 통신 프로토콜 제어 모듈의 블록도이다.
도 2는 일 실시예에 따른 암호화 통신 프로토콜 제어 방법에서 암호화 통신 프로토콜 연결이 형성되는 과정을 나타내는 흐름도이다.
도 3 및 도 4는 TDI 필터에서 수행되는 목적지 정보 변경을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 암호화 통신 프로토콜 제어 방법에서 트래픽 전송이 제어되는 과정을 나타내는 흐름도이다.
도 6은 일 실시예에 따른 암호화 통신 프로토콜 제어 방법에서 응답 트래픽 전송이 제어되는 과정을 나타내는 흐름도이다.
도 7은 일 실시예에 따른 암호화 통신 프로토콜 제어 방법에서 파일 전송이 제어되는 과정을 나타내는 흐름도이다.
도 8 및 도 9는 미니필터에서 수행되는 데이터 감시를 설명하기 위한 도면이다. 1 is a block diagram of a cryptographic communication protocol control module according to a preferred embodiment of the present invention.
2 is a flowchart illustrating a process of forming an encrypted communication protocol connection in a method of controlling an encrypted communication protocol according to an exemplary embodiment.
3 and 4 are diagrams for explaining change of destination information performed in a TDI filter.
5 is a flowchart illustrating a process of controlling traffic transmission in an encryption communication protocol control method according to an embodiment.
6 is a flowchart illustrating a process in which response traffic transmission is controlled in an encryption communication protocol control method according to an embodiment.
7 is a flowchart illustrating a process of controlling file transfer in an encryption communication protocol control method according to an embodiment.
8 and 9 are diagrams for explaining data monitoring performed in the minifilter.
이하, 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.Advantages and features of the present invention, and a method of achieving them will be apparent from the following detailed description with reference to the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various forms, and only the present embodiments are intended to complete the disclosure of the present invention, and the general knowledge in the art to which the present invention pertains. It is provided to fully convey the scope of the invention to those skilled in the art, and the present invention is defined only by the scope of the claims. Like reference numerals refer to like elements throughout. “And / or” includes each and all combinations of one or more of the items mentioned.
비록 제1, 제2 등이 다양한 소자, 구성요소 및/또는 섹션들을 서술하기 위해서 사용되나, 이들 소자, 구성요소 및/또는 섹션들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자, 구성요소 또는 섹션들을 다른 소자, 구성요소 또는 섹션들과 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자, 제1 구성요소 또는 제1 섹션은 본 발명의 기술적 사상 내에서 제2 소자, 제2 구성요소 또는 제2 섹션일 수도 있음은 물론이다.Although the first, second, etc. are used to describe various elements, components and / or sections, these elements, components and / or sections are of course not limited by these terms. These terms are only used to distinguish one element, component or section from another element, component or section. Therefore, the first device, the first component, or the first section mentioned below may be a second device, a second component, or a second section within the technical spirit of the present invention.
또한, 각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In addition, in each step, an identification code (eg, a, b, c, etc.) is used for convenience of description, and the identification code does not describe the order of the steps, and each step is clearly specified in context. Unless stated in order, it may occur differently from the stated order. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 “포함한다(comprises)" 및/또는 “포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase. As used herein, “comprises” and / or “comprising” refers to the presence of one or more other components, steps, operations and / or elements. Or does not exclude additions.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in the present specification may be used in a sense that can be commonly understood by those skilled in the art. In addition, the terms defined in the commonly used dictionaries are not ideally or excessively interpreted unless they are specifically defined clearly.
또한, 본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the embodiments of the present invention, when it is determined that a detailed description of a known function or configuration may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, terms to be described below are terms defined in consideration of functions in the embodiments of the present invention, which may vary according to intentions or customs of users and operators. Therefore, the definition should be made based on the contents throughout the specification.
도 1은 본 발명의 바람직한 실시예에 따른 암호화 통신 프로토콜 제어 모듈의 블록도이다.1 is a block diagram of a cryptographic communication protocol control module according to a preferred embodiment of the present invention.
도 1을 참조하면, 암호화 통신 프로토콜 제어 모듈(100)은 연결 감시부(110), 클라이언트 연결부(120), 제어부(130), 서버 연결부(140), 및 파일 감시부(150)를 포함한다. Referring to FIG. 1, the encryption communication
연결 감시부(110)는 암호화 통신 프로토콜의 연결이 발생하는지 여부를 감시하고, 암호화 통신 프로토콜의 연결이 발생하면 암호화 통신 프로토콜의 목적지 정보를 변경한다. 바람직하게, 연결 감시부(110)는 암호화 통신 프로토콜의 목적지를 클라이언트 연결부(120)로 변경할 수 있고, 원래의 목적지 정보는 제어부(130)에 전달할 수 있다. 이를 통하여, 개인컴퓨터에서 수행되는 암호화 통신 프로토콜을 수행하는 프로그램이 대상 서버로 트래픽을 전송하거나 또는 파일을 읽는 경우에, 해당 정보들이 암호화 통신 프로토콜의 원래 목적지에 해당하는 대상 서버로 바로 전달되는 것이 아니라, 클라이언트 연결부(120)를 통하여 전달되는 것이다.The
클라이언트 연결부(120)는 변경된 목적지 정보에 따라 암호화 통신 프로토콜의 연결을 형성한다. 바람직하게, 클라이언트 연결부(120)는 개인컴퓨터의 프로그램과 암호화 통신 프로토콜의 연결을 형성할 수 있고, 암호화 통신 프로토콜의 연결이 형성된 이후에는, 프로그램으로부터 암호화 트래픽을 수신하고 복호화 하여 제어부(130)에 전달할 수 있고, 대상 서버로부터 전송된 트래픽을 전달받아 암호화하여 클라이언트, 즉, 개인컴퓨터의 프로그램에 응답 트래픽으로 전송할 수 있다.The
제어부(130)는 연결 감시부(110)로부터 목적지 정보를 전달받아 목적지에 해당하는 대상 서버와의 연결 여부를 결정하고 대상 서버와의 연결을 위한 연결정보를 전달한다. 바람직하게, 개인컴퓨터의 프로그램과 클라이언트 연결부(120)의 연결이 완료된 후에는, 클라이언트 연결부(120)에서 전달받은 트래픽의 내용을 검사하여 차단 여부를 결정하거나, 트래픽의 내용을 파일 감시부(150)에 전달하여 검사 결과를 받을 수 있고, 검사 결과에 따라 클라이언트 연결부(120)에서 전달받은 트래픽을 그대로 서버 연결부(140)에 전달하거나 또는 전달받은 트래픽을 변경하여 전달할 수 있다. 또한, 제어부(130)는 서버 연결부(140)에서 전달 받은 트래픽을 클라이언트 연결부(120)에 그대로 전달하거나 또는 변경하여 전달할 수 있다.The
서버 연결부(140)는 제어부(130)로부터 전달받은 연결정보에 따라 대상 서버에 연결을 요청한다. 바람직하게, 대상 서버와 연결이 완료되고, 프로그램과 클라이언트 연결부(120)의 연결이 완료되면, 서버 연결부(140)는 제어부(130)로부터 목적지 정보와 트래픽 내용을 전달받고, 트래픽을 암호화하여 대상 서버에 전달할 수 있고, 대상 서버로부터 응답에 대한 암호화 트래픽을 수신하여 복호화한 다음, 복호화된 트래픽을 제어부에 전달할 수 있다. The
파일 감시부(150)는 암호화 통신 프로토콜의 연결을 수행하는 프로그램이 접근하는 파일과 프로그램이 읽는 파일의 내용을 감시한다. 바람직하게, 파일 감시부(150)는 프로그램이 읽은 파일의 내용을 저장하고, 제어부(130)로부터 읽은 파일의 내용에 대한 트래픽 내용 검사를 요청 받으면, 트래픽 내용이 저장된 읽은 파일의 내용에 존재하는지 여부를 검사하고 검사 결과를 제어부(130)에 전달할 수 있다.The
이하에서는, 암호화 통신 프로토콜 제어 모듈(100)에서 수행되는 암호화 통신 프로토콜 제어 방법에 대하여 설명할 것이며, 암호화 통신 프로토콜 제어 방법은 암호화 통신 프로토콜의 연결을 형성하는 과정과 암호화 통신 프로토콜의 연결이 형성된 후에 트래픽이나 파일 전송의 제어를 수행하는 과정으로 이루어 지는 바, 먼저, 도 2 내지 4를 참조하여 암호화 통신 프로토콜의 연결을 형성하는 과정을 설명하고, 도 5 내지 8을 참조하여 트래픽 및 파일 전송의 제어를 수행하는 과정을 설명한다.Hereinafter, an encryption communication protocol control method performed by the encryption communication
도 2는 일 실시예에 따른 암호화 통신 프로토콜 제어 방법에서 암호화 통신 프로토콜 연결이 형성되는 과정을 나타내는 흐름도이다. 2 is a flowchart illustrating a process of forming an encrypted communication protocol connection in a method of controlling an encrypted communication protocol according to an exemplary embodiment.
도 2를 참조하면, 연결 감시부(110)는 개인컴퓨터에서 암호화 통신 프로토콜 연결을 형성하는 프로그램이 실행되는지 여부를 감시하고 있다가 프로그램이 실행되면(단계 S201), 연결 감시부(110)는 프로그램의 실행을 감지한다(단계 S202).Referring to FIG. 2, the
연결 감시부(110)는 실행된 프로그램이 암호화 통신 프로토콜의 연결을 형성하고자 하는 목적지에 대한 정보를 제어부(130)에 전달하고(단계 S203), 목적지 정보를 변경한다(단계 S204). 여기에서, 목적지에 대한 정보는 IP와 포트(Port) 정보에 해당할 수 있고, 변경된 목적지 정보는 클라이언트 연결부(120)에 해당한다.The
일 실시예에서, 연결 감시부(110)는 프로그램에 DLL 인젝션을 하고 프로그램의 연결 함수에 대하여 API 후킹을 하여 목적지 정보를 변경할 수 있다. 이와 같은 DLL 인젝션 및 API 후킹 방법은 특정 프로세스에 DLL을 강제로 삽입하고 특정 API가 호출되었을 때 지정된 코드를 실행하게 하여 원래 목적지가 아닌 다른 목적지로 변경하는 작업을 할 수 있도록 하는 것이다. 보다 구체적으로, 연결 감시부(110)는 프로그램에 DLL 인젝션(DLL Injection)을 하고 프로그램의 연결 함수에 API 후킹(API Hooking)을 하여 연결함수의 호출을 감시하고, 연결함수가 호출되는 것이 감지되면, 연결 감시부(110)는 목적지 정보를 클라이언트 연결부(120)로 변경하기 위한 지정된 코드를 실행한다. 즉, 지정된 코드의 실행으로 인하여 목적지 정보가 클라이언트 연결부(120)로 변경되는 것이다. In one embodiment, the
다른 실시예에서, 연결 감시부(110)는 프로그램의 드라이버를 실행시켜 TDI 필터 드라이버를 등록하고 TDI 필터를 통한 감시를 통해 목적지 정보를 획득하여 목적지 정보를 변경할 수 있다. 이와 같은 방법은, 도 3에 도시된 바와 같은, 윈도우의 네트워크 계층에서 TDI Filter 계층에 드라이버를 등록시킨 후 감시를 하는 것이고, 이를 통하여 TCP 연결 요청 신호가 들어왔을 때, 목적지 정보를 원래 목적지가 아닌 다른 곳으로 변경하는 작업이 수행되도록 하는 것이다. 보다 구체적으로, 연결 감시부(110)는 프로그램에서 드라이버(Driver)를 실행시키고, 드라이버의 실행에 따라 TDI 필터 드라이버(TDI Filter Driver)의 등록 및 TDI 필터(Filter)에 의한 감시가 시작되도록 한다. 여기에서, TDI 필터는 네트워크로 나가는 패킷을 감시하기 위하여 TCP, IP, UDP, RawIP 디바이스에 추가되어 해당 장치의 네트워크 연결을 감시하게 된다. 도 4를 참조하면, 연결을 감시하기 위한 커널(Kernel) 구조로서, TDI Filter에서 네트워크 연결이 감지되면, TDI_CONNECT 함수를 이용하여 통신하게 되고, 여기에서, TDI_CONNECT 함수는 연결(통신)하고자 하는 목적지에 연결을 요청하는 함수이고, TDI_CONNECT 함수를 통하여 접속하는 IP와 포트 정보가 목적지에 대한 정보에 해당된다. 그 다음, 네트워크를 통하여 통신하려고 하는 프로세스는 감시 대상 항목으로 추가되고, 예를 들어, iexplore.exe가 실행될 시 해당 프로세스가 통신을 하려고 시도하는 것이므로 iexplore.exe가 감시 대상 항목으로 추가될 수 있다. 그 다음, 감시 대상 항목이 목적지 정보를 변경하기 위하여 기등록된 프로세스인지 여부가 확인되고, 목적지 정보를 변경하기 위하여 기등록된 프로세스이면, 연결 감시부(110)는 IP와 포트(Port)를 변경하여 목적지를 클라이언트 연결부(120)로 변경한 후 통신을 진행할 수 있다.In another embodiment, the
연결 감시부(110)는 목적지 정보를 변경한 후, 프로그램에 암호화 통신 프로토콜의 연결을 호출하고(단계 S205), 프로그램은 클라이언트 연결부(120)에 암호화 통신 프로토콜의 연결을 요청한다(단계 S206). 즉, 단계 S204를 통하여 프로그램의 연결함수에서 목적지 정보가 클라이언트 연결부(120)로 변경되었는바, 연결 감시부(110)가 프로그램의 연결함수를 호출하면, 프로그램이 클라이언트 연결부(120)로 연결을 요청하게 되는 것이다. After changing the destination information, the
클라이언트 연결부(120)는 프로그램으로부터 요청된 연결요청을 바로 수신한 후 이하에서 설명할 단계 S207 내지 S215가 수행될 때까지 대기하거나, 또는 단계 S207 내지 S216이 수행될 때까지 대기하고 있다가 연결요청을 수신할 수 있다. 이하에서는, 후자의 경우를 기준으로 설명한다.The
단계 S203을 통하여 제어부(130)로 목적지 정보가 전달되면, 제어부(130)는 목적지 정보를 검사하고(단계 S207), 목적지에 대한 정보를 포함하는 연결정보를 서버 연결부(140)에 전달한다(단계 S208). 여기에서, 연결정보는 목적지 정보(IP, Port) 및 목적지 정보의 검사 결과값을 포함한다. 보다 구체적으로, 제어부(130)는 목적지 정보에 포함된 IP가 암호화 통신 프로토콜의 제어 대상인지 여부를 검사하고, IP가 암호화 통신 프로토콜의 제어 대상이 아닌 것으로 검사 되면, 암호화 통신 프로토콜의 연결 완료 후 수행되는 트래픽 및 파일 전송의 제어 과정에서 로그 저장 및 트래픽 변경을 수행하지 않는다. 또한, 제어부(130)는 목적지 정보에 포함된 IP가 허가된 목적지로 향하는 접속인지 여부를 검사하고, IP가 허가되지 않은 목적지로 향하는 접속인 것으로 검사되면, 암호화 통신 프로토콜의 연결 완료 후, 해당 연결을 종료할 수 있다.When the destination information is transmitted to the
서버 연결부(140)는 연결정보를 수신하여 목적지에 해당하는 대상 서버에 암호화 통신 프로토콜의 연결을 요청하고(단계 S209), 연결이 완료되면(단계 S210), 암호화 통신 프로토콜의 공개정보로부터 주체이름 및 주체대체이름을 추출한다(단계 S211). 여기에서, 공개정보는 공개키를 의미하는 것으로서, 공개정보는 SSL 인증서 형태로 되어 있고, 서버 연결부(140)는 인증서의 속성 안에 포함되어 있는 주체이름 및 주체대체이름을 추출하는 것이다. 예를 들어, 주체이름에는 google.com과 같은 대표 도메인 이름 값이 들어갈 수 있고, 주체대체이름에는, 다중 도메인이 사용되는 경우, 대표 도메인 외의 다중 도메인 이름 값이 들어갈 수 있다. 바람직하게, 주체이름 및 주체대체이름은, 암호화 통신 프로토콜에 접속한 URL과 공개키로 사용된 인증서의 주체이름이 동일한지 여부를 비교하여 해당 암호화 통신 프로토콜의 정규 여부를 확인하는데 이용될 수 있다.그 다음, 서버 연결부(140)는 주체이름 및 주체대체이름을 제어부(130)에 전달한다(S212).The
제어부(130)는 서버 연결부(140)로부터 주체이름 및 주체대체이름을 전달받기 이전에 서명정보를 생성하여 등록할 수 있다(단계 S213). 바람직하게, 제어부(130)는 인증기관이 발행한 서명정보에 해당하는 제1 개인키 및 제1 인증서를 생성하여 개인컴퓨터에 등록할 수 있다.The
제어부(130)는 단계 S212에서 전달받은 주체이름 및 주체대체이름을 기초로 공개정보 및 비밀정보를 생성하고 단계 S213에서 생성된 서명정보를 이용하여 공개정보를 전자서명한다(단계 S214). 바람직하게, 제어부(130)는 주체이름 및 주체대체이름을 기초로, 공개정보에 해당하는 제2 인증서 및 비밀정보에 해당하는 제2 개인키를 생성하고, 제1 개인키를 이용하여 제2 인증서에 전자서명을 수행할 수 있다. 여기에서, 제2 개인키 및 제2 인증서를 생성하는 방법은 종래의 opensslAPI가 활용될 수 있으나, 그 방법은 이에 한정되지 않는다. The
제어부(130)는 공개정보에 해당하는 전자서명이 수행된 제2 인증서와 비밀정보에 해당하는 제2 개인키를 클라이언트 연결부(120)에 전달한다(단계 S215).The
클라이언트 연결부(120)는 전자서명이 수행된 제2 인증서에 해당하는 공개정보를 등록하고(단계 S216), 단계 S206에서 프로그램으로부터 요청된 연결요청을 수신한다(단계 S217). 클라이언트 연결부(120)는 전자서명이 수행된 제2 인증서를 포함하는 공개정보를 프로그램에 전달한다(단계 S218).The
프로그램은 전자서명이 수행된 제2 인증서를 포함하는 공개정보를 검사하고(단계 S219), 연결을 완료한다(단계 S220). 바람직하게, 프로그램은 단계 S213을 통하여 개인컴퓨터에 등록된 제1 인증서를 기초로 전자서명이 수행된 제2 인증성의 발급 기관을 검사하고, 전자서명이 수행된 제2 인증서의 이름과 암호화 통신 프로토콜의 접속 대상의 이름, 즉, 주체이름 및 주체대체이름을 비교하여 검사하고, 전자서명이 수행된 제2 인증서의 유효기간을 검사할 수 있다. 이와 같은 검사들이 통과되면, 프로그램과 클라이언트 연결부(120)의 암호화 통신 프로토콜의 연결은 완료된다.The program checks the public information including the second certificate on which the digital signature was performed (step S219), and completes the connection (step S220). Preferably, the program checks the issuing authority of the second authenticity in which the digital signature was performed based on the first certificate registered in the personal computer through step S213, and determines the name of the second certificate in which the digital signature was performed and the encryption communication protocol. The name of the object to be accessed, that is, the subject name and the subject alternative name may be compared and checked, and the validity period of the second certificate on which the digital signature is performed may be checked. If such checks pass, the connection of the encryption communication protocol of the program and the
도 5는 일 실시예에 따른 암호화 통신 프로토콜 제어 방법에서 트래픽 전송이 제어되는 과정을 나타내는 흐름도이다.5 is a flowchart illustrating a process of controlling traffic transmission in an encryption communication protocol control method according to an embodiment.
도 5에 도시된 과정은 도 2에서 단계 S220을 통하여 프로그램과 클라이언트 연결부(120)의 암호화 통신 프로토콜의 연결이 완료된 후에 수행되는 것으로서, 도 5를 참조하면, 프로그램에서 클라이언트 연결부(120)로 암호화 트래픽을 전송한다(단계 S501).The process shown in FIG. 5 is performed after the connection between the program and the encrypted communication protocol of the
클라이언트 연결부(120)는 암호화 트래픽을 복호화하고(단계 S502), 복호화한 트래픽을 제어부(130)에 전달한다(단계 S503). 바람직하게, 암호화 트래픽의 복호화는 종래의 암호화 패킷 수신 함수에 의하여 수행될 수 있고, 복호화를 하기 위한 정보에 해당하는 대칭키는, 도 2를 참조하여 설명된 단계 S218가 수행될 때 생성될 수 있다.The
제어부(130)는 트래픽 내용을 로그로 저장하고(단계 S504), 트래픽 내용을 검사한 후(단계 S505), 트래픽을 서버 연결부(140)로 전달한다(단계 S506). 여기에서, 로그로 저장한다는 것은 감사기록을 남기는 것으로서, 제어부(130)는 트래픽 내용을 파일 형태로 저장할 수 있다.The
일 실시예에서, 제어부(130)는 단계 S505의 수행 결과 트래픽의 내용이 부적합한 것으로 판단되면, 트래픽의 내용을 변경한 후 변경한 트래픽을 서버 연결부(140)로 전달할 수 있다. 보다 구체적으로, 제어부(130)는 부적합한 트래픽의 형태에 대한 패턴을 미리 정의하여 등록할 수 있고, 단계 S505에서 제어부(130)는 트래픽의 내용에 기등록된 부적합한 트래픽의 형태에 대한 패턴이 있는지 여부를 검사하여 트래픽의 내용이 부적합한 것인지 여부를 판단할 수 있다. 트래픽의 내용이 부적합한 것으로 판단되면, 제어부(130)는, 클라이언트 연결부(120)로부터 수신하여 메모리에 저장한 트래픽 내용의 전체 또는 일부를 변경한 후 서버 연결부(140)로 전달할 수 있다. 즉, 제어부(130)는 트래픽 내용의 전체 또는 일부를 변경하여 원래 목적의 트래픽이 대상 서버로 전달되지 못하게 하는 것이다.In an embodiment, if it is determined that the contents of the traffic are inappropriate as a result of performing step S505, the
서버 연결부(140)는 트래픽을 암호화 하고(단계 S507), 암호화한 트래픽을 대상 서버에 전달한다(단계 S508). 바람직하게, 서버 연결부(140)는 트래픽을 대상 서버의 암호화 통신 프로토콜의 공개정보를 기초로 암호화 할 수 있고, 여기에서, 트래픽을 암호화하는데 이용되는 공개정보는 대상 서버의 인증서이며, 서버 연결부(140)는 인증서를 이용하여 대칭키를 생성한 후 대칭키를 이용하여 트래픽을 암호화하거나 트래픽을 복호화할 수 있다.The
대상 서버는 서버 연결부(140)로부터 암호화한 트래픽을 수신한다(단계 S509). 즉, 본 발명에 따르면, 대상 서버는 프로그램으로부터 암호화된 트래픽을 바로 수신하는 것이나 아니라, 클라이언트 연결부(120), 제어부(130), 및 서버 연결부(140)를 통하여 안전하다고 판단된 트래픽을 전달받는 것이다.The target server receives the encrypted traffic from the server connection unit 140 (step S509). That is, according to the present invention, the target server does not directly receive the encrypted traffic from the program, but receives the traffic determined to be secure through the
도 6은 일 실시예에 따른 암호화 통신 프로토콜 제어 방법에서 응답 트래픽 전송이 제어되는 과정을 나타내는 흐름도이다.6 is a flowchart illustrating a process in which response traffic transmission is controlled in an encryption communication protocol control method according to an embodiment.
도 5의 단계 S501 내지 S509를 통하여 대상 서버가 암호화 트래픽을 수신한 후, 대상 서버는 수신한 암호화 트래픽에 대한 응답으로서 암호화 트래픽을 서버 연결부(140)에 전송한다(단계 S601). 여기에서, 대상서버가 서버 연결부(140)에 전송하는 암호화 트래픽은 대상서버가 수신한 암호화 트래픽에 대한 응답 트래픽으로서 서로 다른 트래픽에 해당한다.After the target server receives the encrypted traffic through steps S501 to S509 of FIG. 5, the target server transmits the encrypted traffic to the
서버 연결부(140)는 암호화 트래픽을 복호화 하고(단계 S602), 복호화한 트래픽을 제어부(130)에 전달한다(단계 S603). 바람직하게, 서버 연결부는, 상기 도 5를 참조하여 설명된 단계 S507에서 트래픽을 암호화하는데 이용된 대칭키를 이용하여 암호화 트래픽을 복호화할 수 있다.The
제어부(130)는 복호화된 트래픽을 전달받고, 상기 도 5를 참조하여 설명된 단계 S505에서 수행된 트래픽 내용의 검사 결과에 따라 트래픽을 변경한다(단계 S604). 바람직하게, 단계 S505에서 트래픽의 내용이 부적합한 것으로 검사되어 트래픽이 변경된 경우에는, 제어부(130)는 트래픽 내용의 전체 또는 일부를 변경하여 프로그램이 대상 서버로부터 전송된 응답 트래픽을 수신했을 때 수행되는 동작이 변경되도록 할 수 있고, 단계 S505에서 트래픽의 내용이 적합한 것으로 검사된 경우에는, 제어부(130)는 트래픽 내용을 변경하지 않을 수 있다.The
제어부(130)는 단계 S604의 수행에 따라 변경되거나 또는 변경되지 않은 트래픽을 클라이언트 연결부(120)에 전달한다(단계 S605).The
클라이언트 연결부(120)는 트래픽을 암호화 하여(단계 S606), 프로그램에 전달하고(단계 S607), 프로그램은 암호화된 트래픽을 수신한다(단계 S608).The
예를 들어, 프로그램에서 트래픽A를 전송하고 대상서버가 트래픽A를 수신한 후, 이에 대한 응답으로서 트래픽B를 전송한다고 가정하고, 서버 연결부(140)에서 암호화C 및 복호화D가 수행되고, 클라이언트 연결부에서 암호화C' 및 복호화D'이 수행된다고 가정하면, 도 5 및 도 6을 통하여 수행되는 트래픽 및 응답 트래픽의 전송 제어 과정은 다음과 같다.For example, assuming that the program transmits traffic A and the target server receives the traffic A, and then sends traffic B as a response thereto, encryption C and decryption D are performed at the
프로그램으로부터 암호화된 트래픽 C'(A)가 클라이언트 연결부(120)에 전송되고, 클라이언트 연결부(120)는 암호화 트래픽을 복호화하여 D'(C'(A))(=A)를 제어부(130)에 전달하고, 제어부(130)는 트래픽A의 내용을 로그로 저장하고 내용을 검사한 후 트래픽 A를 서버 연결부(140)에 전달하고, 서버 연결부는 트래픽을 암호화 하여 C(A)를 대상서버에 전달하고, 대상서버는 암호화 트래픽을 복화하하여 D(C(A))(=A)를 획득한다. 그 다음, 대상서버는 트래픽A에 대한 응답으로서 트래픽B를 암호화하여 C(B)를 서버 연결부(140)에 전송하고, 서버 연결부(140)는 암호화 트래픽을 복호화 하여 D(C(B))(=B)를 제어부(130)에 전달하고, 제어부(130)는 검사 결과에 따라 트래픽B를 변경한 후 클라이언트 연결부(120)에 전달하고, 클라이언트 연결부(120)는 트래픽B를 암호화 하여 C'(B)를 프로그램에 전달하고, 프로그램은 암호화 트래픽을 복호화하여 D'(C'(B))(=B)를 획득한다.The encrypted traffic C '(A) from the program is transmitted to the
다른 예를 들어, 프로그램이 웹 브라우저이고, 대상 서버가 포털사이트(예를 들어, daum.net)에 해당하고, 메일 전송으로 판단될 수 있는 “subject”라는 내용이 트래픽에 있는 경우를 부적합한 트래픽에 해당하는 것으로 가정하면, 도 5 및 도 6을 통하여 수행되는 트래픽 및 응답 트래픽의 전송 제어 과정은 다음과 같다.In another example, if the program is a web browser, the target server corresponds to a portal site (eg daum.net), and there is a "subject" in the traffic that can be determined to send mail, Assuming that this is the case, the transmission control process of traffic and response traffic performed through FIGS. 5 and 6 is as follows.
웹 브라우저에서 사용자에 의하여 메일 전송이 선택(클릭)되면, 웹 브라우저는 Request Headers의 내용과 Request Payload의 내용을 암호화 하여 클라이언트 연결부(120)에 전송한다. 클라이언트 연결부(120)는 암호화 트래픽을 복호화하여 제어부(130)에 전달하고, 복호화된 트래픽은 도 10의 (a)에 도시된 바와 같다. 제어부(130)는 트래픽의 내용을 로그로 저장하고, 트래픽 내용을 검사한다. 검사 결과 트래픽의 내용 중 “subject”라는 내용이 감지되는바 제어부(130)는 해당 트래픽을 부적합한 것으로 판단하고 트래픽을 변경한다. 예를 들어, 제어부(130)는 도 10의 (b)에 도시된 바와 같이, Request Payload의 752 Byte의 내용을 모두 Null로 변경할 수 있다. 제어부(130)는 변경된 트래픽을 서버 연결부(140)에 전달하고, 서버 연결부(140)는 트래픽을 암호화하여 포털사이트로 전송한다.When the mail transmission is selected (clicked) by the user in the web browser, the web browser encrypts the contents of the request headers and the contents of the request payload and transmits the contents to the
포털사이트는 서버 연결부(140)로부터 수신한 트래픽에 대한 응답으로 도 10의 (c)에 도시된 바와 같은 응답 트래픽을 암호화 하여 서버 연결부(140)로 전송한다. 서버 연결부(140)는 암호화 트래픽을 복호화 하여 제어부(130)에 전달한다. 여기에서, 복호화된 트래픽은 도 10의 (c)에 도시된 바와 같다. 웹 브라운저로부터 트래픽이 전달될 때 제어부(130)에서 해당 트래픽은 부적절한 것으로 판단하여 변경되었으므로, 제어부(130)는 웹 브라우저가 암호화 통신 연결을 종료하도록 포털사이트로부터 전송된 응답 트래픽을 변경한다. 예를 들어, 제어부(130)는 도 10의 (c)에 도시된 바와 같은 HTTP 프로토콜 요청의 성공을 의미하는 트래픽을 도 10의 (d)에 도시된 바와 같은 트래픽으로 변경할 수 있고, “HTTP/1.1 400”은 HTTP 프로토콜 요청의 실패를 의미한다. 제어부(130)는 변경된 트래픽을 클라이언트 연결부(120)에 전달하고, 클라이언트 연결부(120)는 해당 트래픽을 암호화 하여 웹 브라우저에 전송한다. 결과적으로, 웹 브라우저는 도 10의 (d)에 도시된 트래픽을 수신하고, 도 10의 (e)에 도시된 바와 같은 메일 전송 실패 페이지를 출력하게 된다.The portal site encrypts the response traffic as shown in (c) of FIG. 10 in response to the traffic received from the
도 7은 일 실시예에 따른 암호화 통신 프로토콜 제어 방법에서 파일 전송이 제어되는 과정을 나타내는 흐름도이다.7 is a flowchart illustrating a process of controlling file transfer in an encryption communication protocol control method according to an embodiment.
도 7에 도시된 과정은 도 2에서 단계 S220을 통하여 프로그램과 클라이언트 연결부(120)의 암호화 통신 프로토콜의 연결이 완료된 후에 수행되는 것으로서, 도 6을 참조하면, 파일 감시부(150)는 프로그램에서 파일 읽기가 수행되는지 여부를 감시하고(단계 S701), 프로그램에서 파일 읽기가 발생하면(단계 S702), 파일 감시부(150)는 프로그램에서 읽은 내용을 저장한다(단계 S703). 프로그램에서 파일을 전송하기 위해서는 파일을 읽고 다른 위치에 쓰거나 파일을 읽고 네트워크를 통해 패킷을 전송하는 방법을 취하게 되므로, 어떤 파일이 읽히는지를 감시하여 파일이 외부로 유출될 때 비교될 수 있는 대상이 되도록 프로그램에서 읽은 내용을 저장하는 것이다. The process shown in FIG. 7 is performed after the connection between the program and the encryption communication protocol of the
바람직하게, 파일 읽기가 수행되는지 여부의 감시는 미니필터(Minifilter)를 통하여 수행될 수 있다. 파일 시스템 필터 드라이버의 계층 구조를 나타낸 도 8을 참조하면, 미니필터는 Filter Manager Frame과 연결되어, 파일 시스템에 대한 요청을 가로채어 원래 의도했던 대상에 도달하기 전에 차단하거나 변경을 하는 작업을 수행할 수 있다. 보다 구체적으로, 도 9를 참조하면, 미니필터를 통하여 수행되는 동작을 설명하기 위한 것으로서 파일 읽기의 발생을 감지하고 읽은 내용을 저장하는 부분에 대한 커널 구조를 나타낸다. 프로그램은 ReadFile 함수와 createFilemapping 함수를 이용하여 파일을 읽으므로, 필터 드라이버에서 파일을 읽는 것을 감시하기 위해 미니필터에는 ReadFile 함수와 createFilemapping 함수 각각에 매칭되는 함수인 IRP_MJ_READ 함수와 IRP_MJ_ACQUIRE_FOR_SECTION_SYNCHRONIZATION 함수를 등록하여 프로그램이 파일을 읽는지 여부를 감시할 수 있다. 여기에서, IRP_MJ_READ 함수와 IRP_MJ_ACQUIRE_FOR_SECTION_SYNCHRONIZATION 함수 각각은 데이터가 목표 드라이버(File system Driver)에 도달하기 전에 데이터를 획득하여 감시하는 PreOperation 계층과 데이터가 목표 드라이버에 도달한 후에 데이터를 획득하여 감시하는 PostOperation 계층을 포함한다.Preferably, monitoring whether file reading is performed may be performed through a minifilter. Referring to FIG. 8, which shows the hierarchical structure of the file system filter driver, the minifilter is connected with a Filter Manager Frame to intercept a request for a file system and perform an operation of blocking or changing before reaching the intended destination. Can be. More specifically, referring to FIG. 9, it illustrates a kernel structure for a part for detecting the occurrence of file reading and storing the read content, for explaining an operation performed through the minifilter. Since the program reads the file using the ReadFile and createFilemapping functions, the minifilter registers the IRP_MJ_READ and IRP_MJ_ACQUIRE_FOR_SECTION_SYNCHRONIZATION functions in the minifilter to monitor reading the file from the filter driver. You can monitor whether or not you read. Here, each of the IRP_MJ_READ and IRP_MJ_ACQUIRE_FOR_SECTION_SYNCHRONIZATION functions includes a PreOperation layer that acquires and monitors data before it reaches the file system driver, and a PostOperation layer that acquires and monitors the data after it reaches the target driver. do.
바람직하게, IRP_MJ_READ 함수에서 파일 읽기가 발생하는지 여부를 감시 할 때에는 PostOperation에서 감시할 수 있고, 파일 읽기가 발생하여 읽은 내용이 들어오면 읽은 내용의 일부분과 파일의 경로, 드라이브 정보, 및 프로세스 아이디 등의 정보가 저장될 수 있다.Preferably, when monitoring whether file reading occurs in IRP_MJ_READ function, it can be monitored by PostOperation. When a file read occurs and the read comes in, the part of the read and the path of the file, drive information, process ID, etc. Information can be stored.
일반적인 파일들은 Create, Open, Read, Write 함수를 이용하므로 드라이버 단에서 파일의 데이터 확인이 가능하나, 특정 조건에서 발생하는 IRP_MJ_ACQUIRE_FOR_SECTION_SYNCHRONIZATION 함수에서는 데이터가 직접 읽혀지는게 아니기 때문에, 즉, Create, Open, Read, Write와 같은 함수들이 호출되지 않기 때문에, IRP_MJ_ACQUIRE_FOR_SECTION_SYNCHRONIZATION 함수에서는 임의로 OpenFile, ReadFile과 같은 함수를 호출하여 직접 파일을 열고 데이터를 직접 읽는 것을 시도하게 된다. 해당 작업은 파일 핸들이 열리기 전인 PreOperation 에서 감시가 이루어 진다. 여기에서, 파일 핸들은 프로그램에 사용되는 각각의 파일을 식별하기 위하여 부여되는 고유의 ID에 해당한다. ZwOpenFile 함수를 이용하여 파일 핸들을 얻고 ZwReadfile 함수를 이용하여 파일의 데이터 일부분을 가지고 온다. 읽은 데이터는 파일의 경로와 드라이브 정보와 프로세스 아이디 등의 정보를 저장해 놓는다. 또한, 저장된 데이터 정보가 발생할 때마다 유저 단의 어플리케이션과 통신을 하여 어플리케이션의 메모리에 Read 된 파일 목록들을 저장하여 두고, 저장된 데이터는 IRP_MJ_CLEANUP 함수에서 해당 파일 핸들이 종료될 때까지 유지된다.Since general files use Create, Open, Read, and Write functions, the data of the file can be checked in the driver stage, but since IRP_MJ_ACQUIRE_FOR_SECTION_SYNCHRONIZATION function does not read data directly, that is, Create, Open, Read, Write Since functions such as are not called, IRP_MJ_ACQUIRE_FOR_SECTION_SYNCHRONIZATION will randomly call functions such as OpenFile and ReadFile to open the file and read the data directly. The operation is monitored in PreOperation before the file handle is opened. Here, the file handle corresponds to a unique ID assigned to identify each file used for the program. Get the file handle using ZwOpenFile and get the data portion of the file using ZwReadfile. The read data stores information such as file path, drive information, and process ID. In addition, whenever the stored data information occurs, it communicates with the application of the user end to store the list of files read in the application memory, and the stored data is maintained until the file handle is terminated in the IRP_MJ_CLEANUP function.
프로그램은 읽은 내용을 암호화 트래픽으로 클라이언트 연결부(120)에 전송한다(단계 S704).The program transmits the read content to the
클라이언트 연결부(120)는 암호화 트래픽을 복호화하고(단계 S705), 복호화한 트래픽을 제어부(130)에 전달한다(단계 S706).The
제어부(130)는 복호화된 트래픽 내용의 검사를 파일 감시부(150)에 요청한다(단계 S707).The
파일 감시부(150)는 검사를 요청 받은 트래픽 내용과 단계 S603에서 저장한 읽은 내용을 비교하여(단계 S708), 파일 유출 행위 여부를 감지한다(단계 S709). 바람직하게, 파일 감시부(150)는 트래픽 내용이 읽은 내용에 포함되는지 여부를 검사할 수 있고, 읽은 내용이 트래픽 내용을 포함한다면 파일 유출 행위로 판단할 수 있다. The
일 실시예에서, 파일 감시부(150)는 파일 유출 행위인 것으로 검사되면, 파일 유출 행위에 해당한다는 검사결과를 제어부(140)에 전달하고(단계 S710), 제어부(140)는 클라이언트 연결부(130)에 프로그램과의 암호화 통신 프로토콜의 연결 종료를 요청하고(단계 S711), 클라이언트 연결부(130)는 이에 따라 프로그램과의 암호화 통신 프로토콜의 연결을 종료할 수 있다(단계 S712). In one embodiment, if the
다른 실시예에서, 파일 유출 행위에 해당하지 않는 것으로 검사되어 파일 감시부(150)가 해당 검사 결과를 제어부(130)에 전달하면, 제어부(130)는 트래픽을 서버 연결부(140)에 전달하고, 서버 연결부(140)는 전달받은 트래픽을 암호화한 후 대상 서버에 전달하여, 대상 서버가 암호화된 트래픽을 수신하도록 할 수 있다.In another embodiment, when the
즉, 본 발명에 의하면, 프로그램으로부터 대상 서버로 파일이 바로 전송되는 것이 아니라, 클라이언트 연결부(120), 제어부(130), 서버 연결부(140), 및 파일 감시부(150)를 통하여 파일 유출 행위에 해당하지 않는 것으로 검사된 파일에 대해서만 대상 서버로 전송하고, 파일 유출 행위인 것으로 검사되면 암호화 통신 프로토콜의 연결을 종료하므로 보안이 유지될 수 있는 것이다.That is, according to the present invention, the file is not directly transmitted from the program to the target server, but the file leaking activity is performed through the
전술한 본 발명에 따른 암호화 통신 프로토콜 제어 모듈에 대한 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러가지로 변형하여 실시하는 것이 가능하고 이 또한 본 발명에 속한다.While a preferred embodiment of the cryptographic communication protocol control module according to the present invention has been described above, the present invention is not limited thereto, and the present invention is not limited thereto, and various modifications can be made within the scope of the claims and the detailed description of the invention and the accompanying drawings. It is possible and this also belongs to the present invention.
100: 암호화 통신 프로토콜 제어 모듈
110: 연결 감시부
120: 클라이언트 연결부
130: 제어부
140: 서버 연결부
150: 파일 감시부100: encrypted communication protocol control module
110: connection monitoring unit
120: client connection
130: control unit
140: server connection
150: file monitor
Claims (16)
상기 변경된 목적지 정보에 따라 상기 암호화 통신 프로토콜의 연결을 형성하는 클라이언트 연결부;
상기 연결 감시부로부터 상기 목적지 정보를 전달받아 목적지 정보에 포함된 IP가 암호화 통신 프로토콜의 제어 대상인지 여부를 검사하고, IP가 암호화 통신 프로토콜의 제어 대상이 아닌 것으로 검사 되면, 암호화 통신 프로토콜의 연결 완료 후 수행되는 트래픽 및 파일 전송의 제어 과정에서 로그 저장 및 트래픽 변경을 수행하지 않고, IP가 암호화 통신 프로토콜의 제어 대상인 것으로 검사 되면, 목적지에 해당하는 대상 서버와의 연결을 위한 연결정보를 전달하는 제어부; 및
상기 제어부로부터 전달받은 연결정보에 따라 상기 대상 서버에 연결을 요청하는 서버 연결부를 포함하는 암호화 통신 프로토콜 제어 모듈로서,
상기 연결 감시부는,
상기 암호화 통신 프로토콜의 연결을 수행하는 프로그램이 개인컴퓨터에서 실행되는지 여부를 감시하고,
상기 프로그램이 실행되면, 상기 프로그램에 DLL 인젝션을 하고 상기 프로그램의 연결 함수에 대하여 API 후킹을 하여 상기 목적지 정보를 변경하거나, 또는 상기 프로그램의 드라이버를 실행시켜 TDI 필터 드라이버를 등록하고 TDI 필터를 통한 감시를 통해 상기 목적지 정보를 획득하여 상기 목적지 정보를 상기 클라이언트 연결부로 변경하고,
상기 변경된 목적지 정보를 상기 제어부에 전달하고, 상기 변경된 목적지에 따라 상기 프로그램을 통하여 상기 클라이언트 연결부로 연결이 요청되도록 하고,
상기 제어부는,
상기 변경된 목적지 정보를 포함하는 연결정보를 상기 서버 연결부에 전달하고, 서명정보에 해당하는 제1 개인키 및 제1 인증서를 생성하여 상기 개인컴퓨터에 등록하고
상기 서버 연결부는,
상기 변경된 연결정보에 따라 상기 대상 서버와 연결이 완료되면, 상기 암호화 통신 프로토콜의 공개정보로부터 주체이름 및 주체대체이름을 추출하여 상기 제어부에 전달하고
상기 제어부는,
상기 주체이름 및 주체대체이름을 기초로 공개정보에 해당하는 제2 인증서 및 비밀정보에 해당하는 제2 개인키를 생성하고, 상기 제1 개인키를 이용하여 상기 제2 인증서에 전자서명을 수행하고, 상기 제2 개인키 및 상기 전자서명이 수행된 제2 인증서를 상기 클라이언트 연결부에 전달하고
상기 클라이언트 연결부는,
상기 전자서명이 수행된 제2 인증서를 등록하고, 상기 프로그램으로부터 요청된 연결 요청을 수락하고, 상기 전자서명이 수행된 제2 인증서를 상기 프로그램에 전달하는 것을 특징으로 하는 암호화 통신 프로토콜 제어 모듈.
A connection monitoring unit that monitors whether a connection of the encryption communication protocol occurs in a program of the personal computer, and changes destination information of the encryption communication protocol when the connection of the encryption communication protocol occurs;
A client connection unit forming a connection of the encrypted communication protocol according to the changed destination information;
Upon receiving the destination information from the connection monitoring unit, it is checked whether the IP included in the destination information is the control target of the encryption communication protocol, and if it is determined that the IP is not the control target of the encryption communication protocol, the connection of the encryption communication protocol is completed. Control unit that transmits connection information for connection with the target server corresponding to the destination when the IP is checked to be the control target of the encryption communication protocol without performing log storage and traffic change in the control process of the traffic and file transfer performed afterwards. ; And
An encryption communication protocol control module including a server connection unit for requesting connection to the target server according to the connection information received from the control unit.
The connection monitoring unit,
Monitoring whether a program that performs the connection of the encrypted communication protocol is executed on the personal computer,
When the program is executed, DLL injection is made to the program and API hooking is performed on the link function of the program to change the destination information, or the driver of the program is registered to register the TDI filter driver and monitor through the TDI filter. Acquire the destination information through to change the destination information to the client connection,
Deliver the changed destination information to the controller, and request a connection to the client connection unit through the program according to the changed destination;
The control unit,
Transfer the connection information including the changed destination information to the server connection unit, generate a first private key and a first certificate corresponding to signature information, and register the same with the personal computer;
The server connection unit,
When the connection with the target server is completed according to the changed connection information, the subject name and the subject substitute name are extracted from the public information of the encryption communication protocol and transferred to the controller.
The control unit,
Generate a second certificate corresponding to the public information and a second private key corresponding to the secret information based on the subject name and the subject alternative name, and perform an electronic signature on the second certificate using the first private key; And transmitting the second private key and the second certificate on which the digital signature is performed, to the client connection unit.
The client connection unit,
And registering the second certificate on which the digital signature was performed, accepting the connection request requested from the program, and transferring the second certificate on which the digital signature was performed to the program.
상기 프로그램에 의하여 상기 개인컴퓨터에 등록된 제1 인증서 및 상기 제2 인증서를 기초로, 상기 전자서명이 수행된 제2 인증서의 발급기관, 이름, 및 유효기간이 검사되면, 상기 클라이언트 연결부와의 연결이 완료되는 것을 특징으로 하는 암호화 통신 프로토콜 제어 모듈.
The method of claim 1,
If the issuer, name, and expiration date of the second certificate on which the electronic signature is performed are checked based on the first certificate and the second certificate registered in the personal computer by the program, connection with the client connection unit The encryption communication protocol control module, characterized in that is completed.
상기 암호화 통신 프로토콜의 연결이 형성되면,
상기 암호화 통신 프로토콜의 연결을 수행하는 프로그램으로부터 수신한 암호화 트래픽을 복호화하여 상기 제어부에 전달하는 것을 특징으로 하는 암호화 통신 프로토콜 제어 모듈.
The method of claim 1, wherein the client connection unit,
Once the connection of the cryptographic communication protocol is established,
Cryptographic communication protocol control module, characterized in that for decrypting the encrypted traffic received from the program that performs the connection of the encrypted communication protocol and forwarded to the controller.
상기 복호화된 트래픽의 내용을 로그로 저장하고, 상기 트래픽의 내용을 검사한 후, 상기 서버 연결부에 트래픽을 전달하되,
상기 트래픽의 내용 검사에 따라 상기 트래픽의 내용이 부적합한 것으로 판단되면, 상기 트래픽의 내용이 변경된 후 상기 서버 연결부에 전달되는 것을 특징으로 하는 암호화 통신 프로토콜 제어 모듈.
The method of claim 9, wherein the control unit,
After storing the contents of the decrypted traffic as a log, inspecting the contents of the traffic, and forwards the traffic to the server connection,
And if it is determined that the contents of the traffic are inappropriate according to the inspection of the contents of the traffic, the contents of the traffic are changed and then transmitted to the server connection unit.
상기 트래픽을 상기 대상 서버의 암호화 통신 프로토콜의 공개정보를 기초로 암호화 한 후, 암호화된 트래픽을 상기 대상 서버에 전송하는 것을 특징으로 하는 암호화 통신 프로토콜 제어 모듈.
The method of claim 10, wherein the server connection unit,
Encrypting the traffic based on the public information of the encryption communication protocol of the target server, and then transmitting the encrypted traffic to the target server.
상기 암호화 통신 프로토콜의 연결을 수행하는 프로그램이 접근하는 파일과 상기 프로그램이 읽는 파일의 내용을 감시하는 파일 감시부를 더 포함하는 것을 특징으로 하는 암호화 통신 프로토콜 제어 모듈.
The method of claim 1,
And a file monitoring unit configured to monitor a file accessed by a program executing the connection of the encrypted communication protocol and contents of a file read by the program.
상기 클라이언트 연결부와 상기 암호화 통신 프로토콜의 연결이 형성되면,
상기 프로그램에서 파일 읽기가 발생하는지 여부를 감시하고, 상기 프로그램에서 파일 읽기가 발생하면 상기 프로그램이 읽은 파일의 내용을 저장하되,
상기 프로그램이 읽은 파일의 내용은 상기 프로그램을 통하여 암호화 트래픽으로 상기 클라이언트 연결부에 전송되는 것을 특징으로 하는 암호화 통신 프로토콜 제어 모듈.
The method of claim 12, wherein the file monitoring unit,
When the connection between the client connection unit and the encrypted communication protocol is formed,
Monitor whether or not a file read occurs in the program, and if a file read occurs in the program, store the contents of the file read by the program,
The contents of the file read by the program are transmitted to the client connection unit in encrypted traffic through the program.
상기 클라이언트 연결부는, 상기 암호화 트래픽을 복호화하여 제어부에 전달하고, 상기 제어부는, 상기 복호화된 트래픽을 상기 파일 감시부로 전달하는 것을 특징으로 하는 암호화 통신 프로토콜 제어 모듈.
The method of claim 13,
And the client connection unit decrypts the encrypted traffic and transmits the encrypted traffic to a control unit, and the control unit transmits the decrypted traffic to the file monitoring unit.
상기 제어부로부터 전달받은 트래픽의 내용이 상기 저장된 읽은 파일의 내용에 포함되는지 여부를 검사하고, 검사 결과를 제어부에 전달하는 것을 특징으로 하는 암호화 통신 프로토콜 제어 모듈.
The method of claim 14, wherein the file monitoring unit,
And checking whether the contents of the traffic received from the controller are included in the contents of the stored read file, and transmitting the test result to the controller.
상기 제어부는, 상기 검사 결과가 파일 유출 행위에 해당함을 나타내면, 상기 클라이언트 연결부에 암호화 통신 프로토콜의 연결 종료를 요청하고,
상기 클라이언트 연결부는 상기 연결 종료의 요청에 따라 암호화 통신 프로토콜의 연결을 종료하는 것을 특징으로 하는 암호화 통신 프로토콜 제어 모듈.The method of claim 15,
If the control unit indicates that the check result corresponds to a file leakage activity, the controller requests the client connection unit to terminate the connection of the encryption communication protocol.
And the client connection unit terminates the connection of the encryption communication protocol according to the request for terminating the connection.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180000756A KR102042086B1 (en) | 2018-01-03 | 2018-01-03 | Module for controlling encryption communication protocol |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180000756A KR102042086B1 (en) | 2018-01-03 | 2018-01-03 | Module for controlling encryption communication protocol |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190083160A KR20190083160A (en) | 2019-07-11 |
KR102042086B1 true KR102042086B1 (en) | 2019-11-27 |
Family
ID=67254354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180000756A KR102042086B1 (en) | 2018-01-03 | 2018-01-03 | Module for controlling encryption communication protocol |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102042086B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102263755B1 (en) * | 2019-10-16 | 2021-06-11 | (주)소만사 | System and method forwarding for end point traffic |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010091596A (en) * | 2000-03-16 | 2001-10-23 | 강태교 | Real-time security telecomunication system on certification |
KR101124551B1 (en) * | 2007-10-25 | 2012-03-16 | 후지쯔 가부시끼가이샤 | Information providing method, relay method, information holding device and relay device |
KR101469285B1 (en) * | 2008-08-26 | 2014-12-04 | 주식회사 케이티 | System and method for analyzing alternative internet traffic using routing based on policy |
JP4875118B2 (en) | 2009-03-24 | 2012-02-15 | 株式会社東芝 | Method for manufacturing nonvolatile memory device |
KR101188307B1 (en) * | 2010-12-24 | 2012-10-09 | (주) 세인트 시큐리티 | System and method of network activity monitoring to particular process |
-
2018
- 2018-01-03 KR KR1020180000756A patent/KR102042086B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20190083160A (en) | 2019-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10305903B2 (en) | Bypassing certificate pinning | |
US9813444B2 (en) | Reliable selection of security countermeasures | |
US7627896B2 (en) | Security system providing methodology for cooperative enforcement of security policies during SSL sessions | |
Sun et al. | The devil is in the (implementation) details: an empirical analysis of OAuth SSO systems | |
US6874084B1 (en) | Method and apparatus for establishing a secure communication connection between a java application and secure server | |
US8316429B2 (en) | Methods and systems for obtaining URL filtering information | |
US8356333B2 (en) | System and method for verifying networked sites | |
Kiljan et al. | A survey of authentication and communications security in online banking | |
US8776238B2 (en) | Verifying certificate use | |
US20020112167A1 (en) | Method and apparatus for transparent encryption | |
US7421576B1 (en) | Interception and modification of network authentication packets with the purpose of allowing alternative authentication modes | |
Ravindran et al. | A Review on Web Application Vulnerability Assessment and Penetration Testing. | |
KR102042086B1 (en) | Module for controlling encryption communication protocol | |
CN117081815A (en) | Method, device, computer equipment and storage medium for data security transmission | |
CN111611620A (en) | Access request processing method of access platform and related device | |
KR101893100B1 (en) | Scada control system for building facilities management and method for managing security policies of the system | |
Claessens et al. | A tangled world wide web of security issues | |
JP2005309846A (en) | Database protection system | |
KR101788019B1 (en) | Apparatus and method for preventing data loss | |
Chen et al. | Path leaks of HTTPS Side-Channel by cookie injection | |
Phumkaew et al. | Android forensic and security assessment for hospital and stock-and-trade applications in thailand | |
CN106130996A (en) | A kind of website attack protection checking system and method | |
Sorge | IT Security measures and their relation to data protection | |
Radholm et al. | Ethical Hacking of an IoT-device: Threat Assessment and Penetration Testing: A Survey on Security of a Smart Refrigerator | |
CN114157503A (en) | Access request authentication method and device, API gateway equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |