KR102715592B1 - Data management device, data management method and a computer-readable storage medium for storing data management program - Google Patents
Data management device, data management method and a computer-readable storage medium for storing data management program Download PDFInfo
- Publication number
- KR102715592B1 KR102715592B1 KR1020230074162A KR20230074162A KR102715592B1 KR 102715592 B1 KR102715592 B1 KR 102715592B1 KR 1020230074162 A KR1020230074162 A KR 1020230074162A KR 20230074162 A KR20230074162 A KR 20230074162A KR 102715592 B1 KR102715592 B1 KR 102715592B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- personal information
- data management
- type
- user action
- Prior art date
Links
- 238000013523 data management Methods 0.000 title claims abstract description 385
- 238000000034 method Methods 0.000 title claims abstract description 230
- 238000003860 storage Methods 0.000 title description 27
- 238000013507 mapping Methods 0.000 claims abstract description 19
- 230000009471 action Effects 0.000 claims description 124
- 238000000605 extraction Methods 0.000 claims description 62
- 238000012545 processing Methods 0.000 claims description 59
- 238000011161 development Methods 0.000 claims description 43
- 239000000284 extract Substances 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims 1
- 238000004458 analytical method Methods 0.000 description 87
- 238000010586 diagram Methods 0.000 description 54
- 238000012550 audit Methods 0.000 description 48
- 238000007726 management method Methods 0.000 description 43
- 230000006399 behavior Effects 0.000 description 34
- 230000006870 function Effects 0.000 description 33
- 230000014509 gene expression Effects 0.000 description 29
- 230000000873 masking effect Effects 0.000 description 26
- 238000012544 monitoring process Methods 0.000 description 23
- 238000013473 artificial intelligence Methods 0.000 description 22
- 206010000117 Abnormal behaviour Diseases 0.000 description 19
- 230000004044 response Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 16
- 230000008901 benefit Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 238000001914 filtration Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000012217 deletion Methods 0.000 description 6
- 230000037430 deletion Effects 0.000 description 6
- 238000010219 correlation analysis Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 239000000047 product Substances 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
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/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/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 데이터를 수집하는 단계; 상기 수집된 데이터를 분류하는 단계; 및 상기 데이터에 포함된 적어도 하나의 정보를 매핑하여 사용자 행위 메타데이터를 생성하는 단계를 포함하는, 데이터 관리 방법을 제공한다. The present invention provides a data management method, comprising: a step of collecting data; a step of classifying the collected data; and a step of generating user behavior metadata by mapping at least one piece of information included in the data.
Description
본 발명은 데이터 관리 장치, 데이터 관리 방법 및 데이터 관리 프로그램을 저장하는 컴퓨터로 판독 가능한 저장 매체에 관한 것이다. The present invention relates to a data management device, a data management method, and a computer-readable storage medium storing a data management program.
기술의 발전으로 인해 데이터의 양과 다양성이 증가함에 따라 데이터 관리의 중요성이 더욱 부각되고 있다. 데이터 관리는 기업이나 조직이 데이터를 효과적으로 수집, 저장, 분석, 활용하는 것을 의미한다. As the amount and variety of data increases due to technological advancements, the importance of data management is becoming more prominent. Data management means that companies or organizations effectively collect, store, analyze, and utilize data.
기업의 핵심 기능을 통합적으로 관리하는 Enterprise Resource Planning (ERP) 시스템은 기업 내의 중요한 데이터를 효율적으로 관리하는 도구로 널리 사용된다. 예산 관리, 생산 관리, 재고 관리, 구매 관리 등과 같은 기업의 주요 기능들을 통합하여 한 시스템에서 효과적으로 운영할 수 있다. 이때, 대표적인 ERP 시스템으로 SAP 제품을 예로 들 수 있다. Enterprise Resource Planning (ERP) systems, which manage the core functions of a company in an integrated manner, are widely used as tools for efficiently managing important data within a company. Key functions of a company, such as budget management, production management, inventory management, and purchasing management, can be integrated and operated effectively in one system. In this case, SAP products can be cited as a representative ERP system.
다만, 기존의 시스템에서는 서버와의 통신에서 발생하는 패킷을 일반적인 분석 방법으로는 직접적인 의미를 이해하기 어려울 수 있다. 특히, SAP 시스템과 같이 복잡한 데이터 구조와 특정 프로토콜을 사용하여 데이터를 교환하는 경우에는 패킷으로부터 의미 있는 값을 추출하거나 해석하는 것이 더욱 어렵기 때문에 패킷을 분석하는 방법에 대한 구체적인 방안이 필요하다. However, in existing systems, it may be difficult to directly understand the meaning of packets generated in communication with servers using general analysis methods. In particular, in cases where data is exchanged using complex data structures and specific protocols such as SAP systems, it is more difficult to extract or interpret meaningful values from packets, so a specific method for analyzing packets is required.
또한, 수집되어 분석된 데이터에 개인정보가 포함된 경우, 개인정보를 추출하여 별도로 보관해야 한다. 다만, 개인정보를 추출하는 방법은 다양한 방법이 있는데, 패턴의 정확성 등에 따라 추출 결과가 달라질 수 있으며, 잘못된 패턴 설정으로 인해 부정확한 개인정보 추출이 발생할 수 있는 우려가 있다. In addition, if the collected and analyzed data contains personal information, the personal information must be extracted and stored separately. However, there are various methods for extracting personal information, and the extraction results may vary depending on the accuracy of the pattern, etc., and there is a concern that incorrect personal information extraction may occur due to incorrect pattern settings.
또한, 수집되어 분석된 로그 데이터는 데이터베이스 등에서 관리될 수 있으며, 이때 관리되는 로그 데이터들은 구체적으로 사용자의 어떤 업무 행위에 관한 것인지에 대한 구분이 없다. In addition, the collected and analyzed log data can be managed in a database, etc., and there is no distinction as to what specific work actions the managed log data is related to.
따라서, 본 발명은 기존 기술의 문제점을 해결하기 위한 사용자 행위를 매핑하여 데이터를 관리하는 데이터 관리 장치, 데이터 관리 방법 및 데이터 관리 프로그램을 저장하는 컴퓨터로 판독 가능한 저장 매체를 제공하고자 한다. Accordingly, the present invention aims to provide a data management device, a data management method, and a computer-readable storage medium storing a data management program for managing data by mapping user actions to solve the problems of the existing technology.
본 발명의 일 실시 예는 데이터를 수집하는 단계; 상기 수집된 데이터를 분류하는 단계; 및 상기 데이터에 포함된 적어도 하나의 정보를 매핑하여 사용자 행위 메타데이터를 생성하는 단계를 포함하는, 데이터 관리 방법을 제공한다. One embodiment of the present invention provides a data management method, comprising: a step of collecting data; a step of classifying the collected data; and a step of mapping at least one piece of information included in the data to generate user behavior metadata.
상기 데이터 관리 방법은 애플리케이션 개발환경에서 사용자 행위를 나타내는 키 및 텍스트를 수집하는 단계; AI 엔진을 통하여 상기 수집된 텍스트를 분류하는 단계; 및 상기 애플리케이션 개발환경, 상기 사용자 행위를 나타내는 키 및 상기 분류된 텍스트를 매핑하여 상기 사용자 행위 메타데이터에 저장하는 단계를 포함하는 것을 특징으로 한다. The above data management method is characterized by including a step of collecting keys and text representing user actions in an application development environment; a step of classifying the collected text through an AI engine; and a step of mapping the application development environment, the keys representing the user actions, and the classified text and storing them in the user action metadata.
상기 데이터 관리 방법은 상기 사용자 행위 메타데이터와 저장된 로그 데이터를 매핑하기 위하여 상기 로그 데이터를 인덱스 처리하되, 상기 인덱스에 상기 사용자 행위 메타데이터에 포함된 상기 분류된 텍스트를 추가하는 단계를 더 포함하는 것을 특징으로 한다. The above data management method is characterized by further including a step of indexing the log data to map the user action metadata and the stored log data, and adding the classified text included in the user action metadata to the index.
상기 데이터 관리 방법은 상기 로그 데이터에 대한 조회를 요청받는 단계; 및 상기 인덱스에 포함된 상기 분류된 텍스트를 제공하는 단계를 더 포함하는 것을 특징으로 한다. The above data management method is characterized by further including a step of receiving a request for a query on the log data; and a step of providing the classified text included in the index.
본 발명의 일 실시 예는 데이터를 저장하는 데이터베이스; 및 상기 데이터를 처리하는 프로세서를 포함하고, 상기 프로세서는, 데이터를 수집하는 단계; 상기 수집된 데이터를 분류하는 단계; 및 상기 데이터에 포함된 적어도 하나의 정보를 매핑하여 사용자 행위 메타데이터를 생성하는, 데이터 관리 장치를 제공한다. One embodiment of the present invention provides a data management device including a database for storing data; and a processor for processing the data, wherein the processor performs the steps of: collecting data; classifying the collected data; and generating user behavior metadata by mapping at least one piece of information included in the data.
상기 프로세서는, 애플리케이션 개발환경에서 사용자 행위를 나타내는 키 및 텍스트를 수집하고, AI 엔진을 통하여 상기 수집된 텍스트를 분류하고, 상기 애플리케이션 개발환경, 상기 사용자 행위를 나타내는 키 및 상기 분류된 텍스트를 매핑하여 상기 사용자 행위 메타데이터에 저장하는 것을 특징으로 한다. The above processor is characterized by collecting keys and texts representing user actions in an application development environment, classifying the collected texts through an AI engine, and mapping the application development environment, the keys representing the user actions, and the classified texts to store them in the user action metadata.
상기 프로세서는 상기 사용자 행위 메타데이터와 저장된 로그 데이터를 매핑하기 위하여 상기 로그 데이터를 인덱스 처리하되, 상기 인덱스에 상기 사용자 행위 메타데이터에 포함된 상기 분류된 텍스트를 추가하는 것을 특징으로 한다. The above processor is characterized by indexing the log data to map the user action metadata and the stored log data, and adding the classified text included in the user action metadata to the index.
상기 프로세서는 상기 로그 데이터에 대한 조회를 요청받는 경우, 상기 인덱스에 포함된 상기 분류된 텍스트를 제공하는 것을 특징으로 한다. The above processor is characterized in that, when a query for the above log data is requested, it provides the classified text included in the above index.
본 발명의 일 실시 예는 애플리케이션 개발환경에서 사용자 행위를 나타내는 키 및 텍스트를 수집하고, AI 엔진을 통하여 상기 수집된 텍스트를 분류하고, 상기 애플리케이션 개발환경, 상기 사용자 행위를 나타내는 키 및 상기 분류된 텍스트를 매핑하여 사용자 행위 메타데이터에 저장하는 단계를 수행하는 데이터 관리 프로그램을 저장하는 컴퓨터로 판독 가능한 저장 매체를 제공한다. One embodiment of the present invention provides a computer-readable storage medium storing a data management program that performs the steps of collecting keys and text representing user actions in an application development environment, classifying the collected text through an AI engine, and mapping the application development environment, the keys representing the user actions, and the classified text and storing the mapped text in user action metadata.
본 발명의 일 실시 예에 따르면, ERP 시스템에서의 데이터 관리를 위한 혁신적인 기술을 제공함으로써 기업의 데이터 보안과 모니터링에 대한 요구를 충족시킬 수 있다. According to one embodiment of the present invention, by providing an innovative technology for data management in an ERP system, the needs of enterprises for data security and monitoring can be met.
또한, 본 발명의 일 실시 예에 따르면, 서버에 대한 모든 접속 기록을 로그로 생성하여 로그 기록에 대한 안정성을 확보할 수 있다는 장점이 있다. In addition, according to one embodiment of the present invention, there is an advantage in that all access records to the server can be created as logs, thereby ensuring stability of log records.
또한, 본 발명의 일 실시 예에 따르면, 디피-헬만 알고리즘을 사용하는 경우에도 SSL 암호를 해제하고 로그를 기록하며 안전한 방식으로 업무 시스템으로 전송함으로써 데이터의 무결성과 기밀성을 보장할 수 있다는 장점이 있다. In addition, according to one embodiment of the present invention, there is an advantage in that the integrity and confidentiality of data can be ensured by decrypting SSL encryption, recording logs, and transmitting data to a business system in a secure manner even when using the Diffie-Hellman algorithm.
또한, 본 발명의 일 실시 예에 따르면, 개인정보 메타데이터 및 예외처리 리스트를 사용한 다차원 추출 방법을 통해 개인정보 추출에 대한 정확도를 높일 수 있다는 장점이 있다. In addition, according to one embodiment of the present invention, there is an advantage in that the accuracy of personal information extraction can be increased through a multidimensional extraction method using personal information metadata and an exception handling list.
또한, 본 발명의 일 실시 예에 따르면, 개인정보가 포함된 모든 로그 데이터에 대해 사용자 행위를 매핑할 수 있다는 장점이 있다. In addition, according to one embodiment of the present invention, there is an advantage in that user actions can be mapped to all log data containing personal information.
도 1은 본 발명의 데이터 관리 장치를 설명하기 위한 하드웨어를 개시하는 도면이다.
도 2는 본 발명의 데이터 관리 장치의 일 실시 예를 개시하는 도면이다.
도 3은 본 발명의 데이터 관리 플랫폼의 일 실시 예를 개시하는 도면이다.
도 4는 본 발명의 데이터 관리 방법의 일 실시 예를 설명하는 플로우 차트이다.
도 5는 본 발명의 데이터 관리 방법의 일 실시 예를 개시하는 도면이다.
도 6은 본 발명의 패킷 수집 방법의 일 실시 예를 개시하는 도면이다.
도 7은 본 발명의 패킷 수집 방법의 다른 일 실시 예를 개시하는 도면이다.
도 8은 본 발명의 패킷 수집 방법에 따라 수집한 RFC 프로토콜 기반의 패킷 분석 데이터의 일 실시 예를 개시하는 도면이다.
도 9는 본 발명의 패킷 수집 방법에 따라 수집한 GUI 프로토콜 기반의 패킷 분석 장치의 일 실시 예를 개시하는 도면이다.
도 10은 본 발명의 패킷 수집 방법에 따라 수집한 GUI 프로토콜 기반의 패킷 분석 방법의 일 실시 예를 개시하는 도면이다.
도 11은 본 발명의 패킷 수집 방법에 따라 수집한 GUI 프로토콜 기반의 패킷 분석 데이터의 일 실시 예를 개시하는 도면이다.
도 12는 본 발명의 패킷 수집 방법에 따라 수집한 HTTP/HTTPS 기반의 패킷 분석 방법의 일 실시 예를 개시하는 도면이다.
도 13은 본 발명의 패킷 수집 방법에 따라 수집한 HTTP/HTTPS 기반의 패킷의 분석 데이터의 일 실시 예를 개시하는 도면이다.
도 14는 본 발명의 분석된 패킷에 포함된 데이터 중 개인정보를 추출하는 일 실시 예를 개시하는 도면이다.
도 15는 본 발명의 분석된 패킷에 포함된 데이터를 시각화한 일 실시 예를 개시하는 도면이다.
도 16은 본 발명의 분석된 패킷에 포함된 데이터를 검색하는 일 실시 예를 개시하는 도면이다.
도 17은 본 발명의 데이터 관리 방법에 따라 수집된 데이터를 모니터링하는 일 실시 예를 개시하는 도면이다.
도 18은 본 발명의 데이터 관리 플랫폼이 수집된 패킷을 분배하는 실시 예를 설명하는 도면이다.
도 19는 본 발명의 데이터 관리 플랫폼이 RFC 프로토콜 기반의 패킷을 분석하는 실시 예를 설명하는 도면이다.
도 20은 본 발명의 데이터 관리 플랫폼이 패킷을 분석하는 실시 예를 설명하는 도면이다.
도 21은 본 발명의 데이터 관리 플랫폼이 감사 로그를 저장하고 모니터링하는 실시 예를 설명하는 도면이다.
도 22는 본 발명의 데이터 관리 방법이 수집된 패킷을 분배하는 실시 예를 설명하는 도면이다.
도 23은 본 발명의 데이터 관리 플랫폼이 HTTPS 기반 패킷을 분석하는 실시 예를 설명하는 도면이다.
도 24는 본 발명의 데이터 관리 방법이 HTTPS 기반 패킷을 분석하는 실시 예를 설명하는 도면이다.
도 25는 본 발명의 데이터 관리 방법의 일 실시 예를 설명하는 도면이다.
도 26은 본 발명의 데이터 관리 플랫폼에서 개인정보를 추출하고 저장하는 실시 예를 설명하는 도면이다.
도 27은 본 발명의 데이터 관리 플랫폼에서 사용되는 정규식 패턴의 일 예를 설명하는 도면이다.
도 28은 본 발명의 데이터 관리 플랫폼에서 사용되는 마스킹 패턴의 일 예를 설명하는 도면이다.
도 29는 본 발명의 데이터 관리 플랫폼에서 정의하는 개인정보 메타데이터(1036)의 일 예를 설명하는 도면이다.
도 30은 본 발명의 데이터 관리 플랫폼에서 아키텍쳐 유형을 구분하여 개인정보를 추출하는 실시 예를 설명하는 도면이다.
도 31은 본 발명의 데이터 관리 플랫폼에서 개인정보 추출 규칙을 생성하는 실시 예를 설명하는 도면이다.
도 32는 본 발명의 데이터 관리 플랫폼에서 개인정보 예외처리 리스트를 생성하는 실시 예를 설명하는 도면이다.
도 33은 본 발명의 데이터 관리 플랫폼의 예외 필터를 생성하는 실시 예를 설명하는 도면이다.
도 34는 본 발명의 데이터 관리 플랫폼에서 추출된 개인정보를 검색하고 출력하는 실시 예를 설명하는 도면이다.
도 35는 본 발명의 데이터 관리 방법이 개인정보를 관리하는 실시 예를 설명하는 도면이다.
도 36은 본 발명의 데이터 관리 방법이 개인정보를 추출하고 저장하는 다른 실시 예를 설명하는 도면이다.
도 37은 본 발명의 데이터 관리 방법에서 개인정보를 관리하는 실시 예를 설명하는 도면이다.
도 38은 본 발명의 데이터 관리 플랫폼에서 사용자 행위를 수집하고 매핑하는 실시 예를 설명하는 도면이다.
도 39는 본 발명의 데이터 관리 플랫폼에서 사용자 행위 메타데이터를 생성하는 실시 예를 설명하는 도면이다.
도 40은 본 발명의 데이터 관리 플랫폼에서 사용자 행위 메타데이터와 로그 데이터를 매핑하는 실시 예를 설명하는 도면이다.
도 41은 본 발명의 데이터 관리 방법이 사용자 행위 메타데이터를 생성하는 실시 예를 설명하는 도면이다.
도 42는 본 발명의 데이터 관리 방법이 사용자 행위 메타데이터와 로그 데이터를 매핑하는 실시 예를 설명하는 도면이다.
도 43은 본 발명의 데이터 관리 방법이 사용자 행위 메타데이터를 생성하는 실시 예를 설명하는 도면이다. FIG. 1 is a diagram disclosing hardware for explaining a data management device of the present invention.
FIG. 2 is a drawing disclosing one embodiment of a data management device of the present invention.
FIG. 3 is a diagram disclosing one embodiment of the data management platform of the present invention.
FIG. 4 is a flow chart illustrating one embodiment of a data management method of the present invention.
FIG. 5 is a diagram disclosing one embodiment of a data management method of the present invention.
FIG. 6 is a diagram disclosing one embodiment of a packet collection method of the present invention.
FIG. 7 is a diagram disclosing another embodiment of the packet collection method of the present invention.
FIG. 8 is a diagram disclosing one embodiment of packet analysis data based on RFC protocol collected according to the packet collection method of the present invention.
FIG. 9 is a drawing disclosing one embodiment of a packet analysis device based on a GUI protocol collected according to the packet collection method of the present invention.
FIG. 10 is a diagram disclosing one embodiment of a packet analysis method based on a GUI protocol collected according to the packet collection method of the present invention.
FIG. 11 is a diagram disclosing one embodiment of packet analysis data based on a GUI protocol collected according to a packet collection method of the present invention.
FIG. 12 is a diagram disclosing one embodiment of a packet analysis method based on HTTP/HTTPS collected according to the packet collection method of the present invention.
FIG. 13 is a diagram disclosing one embodiment of analysis data of HTTP/HTTPS-based packets collected according to the packet collection method of the present invention.
FIG. 14 is a diagram disclosing an embodiment of extracting personal information from data included in an analyzed packet of the present invention.
FIG. 15 is a diagram disclosing an embodiment of visualizing data included in an analyzed packet of the present invention.
FIG. 16 is a diagram disclosing one embodiment of searching data included in an analyzed packet of the present invention.
FIG. 17 is a diagram disclosing an embodiment of monitoring data collected according to a data management method of the present invention.
FIG. 18 is a diagram illustrating an embodiment in which the data management platform of the present invention distributes collected packets.
FIG. 19 is a diagram illustrating an embodiment in which the data management platform of the present invention analyzes packets based on the RFC protocol.
FIG. 20 is a diagram illustrating an embodiment in which the data management platform of the present invention analyzes packets.
FIG. 21 is a diagram illustrating an embodiment in which the data management platform of the present invention stores and monitors audit logs.
FIG. 22 is a drawing illustrating an embodiment of a data management method of the present invention distributing collected packets.
FIG. 23 is a diagram illustrating an embodiment in which the data management platform of the present invention analyzes HTTPS-based packets.
FIG. 24 is a drawing illustrating an embodiment of a data management method of the present invention analyzing HTTPS-based packets.
FIG. 25 is a drawing illustrating one embodiment of a data management method of the present invention.
FIG. 26 is a drawing illustrating an example of extracting and storing personal information in the data management platform of the present invention.
Figure 27 is a drawing illustrating an example of a regular expression pattern used in the data management platform of the present invention.
Figure 28 is a drawing illustrating an example of a masking pattern used in the data management platform of the present invention.
Figure 29 is a drawing illustrating an example of personal information metadata (1036) defined in the data management platform of the present invention.
Figure 30 is a drawing explaining an example of extracting personal information by distinguishing architecture types in the data management platform of the present invention.
FIG. 31 is a diagram illustrating an example of generating a personal information extraction rule in the data management platform of the present invention.
Figure 32 is a drawing illustrating an example of creating a personal information exception processing list in the data management platform of the present invention.
FIG. 33 is a diagram illustrating an embodiment of creating an exception filter of the data management platform of the present invention.
Figure 34 is a drawing illustrating an embodiment of searching and outputting personal information extracted from the data management platform of the present invention.
Figure 35 is a drawing explaining an embodiment of a data management method of the present invention for managing personal information.
FIG. 36 is a drawing illustrating another embodiment of the data management method of the present invention for extracting and storing personal information.
Figure 37 is a drawing explaining an embodiment of managing personal information in the data management method of the present invention.
FIG. 38 is a diagram illustrating an embodiment of collecting and mapping user behavior in the data management platform of the present invention.
FIG. 39 is a diagram illustrating an example of generating user behavior metadata in the data management platform of the present invention.
FIG. 40 is a diagram illustrating an example of mapping user behavior metadata and log data in the data management platform of the present invention.
FIG. 41 is a drawing illustrating an embodiment of a data management method of the present invention that generates user action metadata.
FIG. 42 is a diagram illustrating an embodiment of a data management method of the present invention that maps user behavior metadata and log data.
FIG. 43 is a drawing illustrating an embodiment of a data management method of the present invention that generates user action metadata.
이하에서는 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 이하에서 설명되는 실시예들은 여러 가지 상 이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략한다.Hereinafter, various embodiments will be described in detail with reference to the drawings. The embodiments described below may be modified and implemented in various different forms. In order to more clearly explain the features of the embodiments, detailed descriptions of matters that are widely known to those skilled in the art to which the embodiments below belong will be omitted.
한편, 본 명세서에서 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우 뿐 아니라, '그 중간에 다른 구성을 사이에 두고 연결'되어 있는 경우도 포함한다. 또한, 어떤 구성이 다른 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들 더 포함할 수도 있다는 것을 의미한다.Meanwhile, when it is said in this specification that a certain configuration is "connected" to another configuration, this includes not only the case where it is "directly connected" but also the case where it is "connected with another configuration in between." In addition, when it is said that a certain configuration "includes" another configuration, this means that, unless specifically stated otherwise, it does not exclude other configurations but may include other configurations as well.
또한, 본 명세서에서 사용되는 “제 1”또는 “제 2”등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설 명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. Additionally, terms including ordinal numbers, such as “first” or “second,” used herein may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
또한, 각각의 모듈이 포함하는 기능부(function unit)들은 모듈이 수행하는 기능을 설명하기 위한 논리적 구조이기 때문에, 각각의 기능부가 수행하는 기능은 모듈이 수행할 수 있음은 물론이다. 즉, 각각의 모듈은 모듈 내에 포함된 모든 기능부들을 포함할 필요가 없고, 기능을 수행하기 위한 적어도 하나의 기능부를 포함할 수 있다. In addition, since the function units included in each module are a logical structure for explaining the function performed by the module, it goes without saying that the module can perform the function performed by each function unit. In other words, each module does not need to include all the function units included in the module, and can include at least one function unit for performing the function.
이하에서는 첨부한 도면을 참조하여 실시 예를 예시하여 상세히 기술하도록 한다. 실시 예에서 프레임워크, 모듈, 응용 프로그램 인터페이스 등은 물리 장치 결합된 장치로 구현할 수도 있고 소프트웨어로 구현할 수도 있다. 이때, 실시 예가 소프트웨어로 구현될 경우 저장매체에 저장되고 컴퓨터 등에 설치되어 프로세서에 의해 실행될 수 있다. Hereinafter, embodiments will be described in detail with reference to the attached drawings. In the embodiments, the framework, modules, application program interfaces, etc. may be implemented as devices combined with physical devices or may be implemented as software. In this case, if the embodiments are implemented as software, they may be stored in a storage medium and installed on a computer or the like and executed by a processor.
도 1은 본 발명의 데이터 관리 장치를 설명하기 위한 하드웨어를 개시하는 도면이다. FIG. 1 is a diagram disclosing hardware for explaining a data management device of the present invention.
본 도면은 후술하는 데이터 관리 플랫폼과 관련된 하드웨어 구성 요소 간의 데이터 송수신에 대한 실시 예를 설명한다. This drawing illustrates an embodiment of data transmission and reception between hardware components related to the data management platform described below.
본 발명은 플랫폼을 통하여 사용자에게 제공될 수 있다. 이를 위하여 사용자/클라이언트(1000)는 웹 브라우저 등을 통하여 네트워크 장치(1001)에 접속하여 컴퓨팅 서버(1004)의 제어 하에 별도의 스토리지/데이터베이스(1003)에 저장된 데이터와 애플리케이션을 이용할 수 있게 된다. The present invention can be provided to a user through a platform. To this end, a user/client (1000) can access a network device (1001) through a web browser or the like and use data and applications stored in a separate storage/database (1003) under the control of a computing server (1004).
보다 상세하게는, 사용자/클라이언트(1000)는 클라이언트 단말기를 통하여 서비스(예를 들어, 데이터의 검색, 수정, 삭제 등의 작업)를 요청하고, 컴퓨팅 서버(1004)를 통하여 연산되고 네트워크 장치(1001)를 통하여 수신한 데이터를 화면에 출력할 수 있다. 일 실시 예에서, 사용자/클라이언트(1000)는 본 발명의 데이터 관리 플랫폼에 접근하는 모든 대상을 포함할 수 있다. 즉, 본 도면에서 사용자/클라이언트(1000)는 네트워크 장치(1001)를 이용하여 데이터 관리 플랫폼에 접근할 수 있으며, 네트워크 장치(1001)의 제한을 두지 않는다. More specifically, a user/client (1000) may request a service (e.g., a task such as searching, modifying, or deleting data) through a client terminal, and may output data calculated through a computing server (1004) and received through a network device (1001) on a screen. In one embodiment, the user/client (1000) may include all objects that access the data management platform of the present invention. That is, in this drawing, the user/client (1000) may access the data management platform using the network device (1001), and is not limited to the network device (1001).
네트워크 장치(1001)는 사용자/클라이언트(1000)와 컴퓨팅 서버(1004) 사이에서 데이터 전송을 중개하는 역할을 한다. 여기에서, 네트워크 장치(1001)는 라우터, TAP, 스위치 등을 포함할 수 있다. 라우터는 IP 주소를 이용하여 데이터를 전송하고, 스위치는 MAC 주소를 이용하여 데이터를 전송한다. 여기에서, 라우터와 같은 네트워크 장비(1001)는 SPAN(Switched Port Analyzer) 모드를 이용하여 특정 포트(port)만을 미러링하여 패킷을 데이터 관리 플랫폼(10000)에 전달할 수 있다. 이하에서 자세히 설명하도록 한다. The network device (1001) mediates data transmission between a user/client (1000) and a computing server (1004). Here, the network device (1001) may include a router, a TAP, a switch, etc. The router transmits data using an IP address, and the switch transmits data using a MAC address. Here, the network equipment (1001) such as the router may transmit packets to the data management platform (10000) by mirroring only a specific port using the SPAN (Switched Port Analyzer) mode. This will be described in detail below.
TAP(Test Access Point)은 네트워크 상에서 데이터를 수집하는 용도로 사용될 수 있다. 보다 상세하게는, TAP은 네트워크 장치(1001) 중 하나로, 네트워크의 백-본(back-bone) 라인에 추가되어 미러링만 전문적으로 해주는 장치에 대응한다. 즉, Network TAP(Test Access Point, 이하, TAP)을 통해 본 발명의 데이터 관리 플랫폼(10000)에 패킷을 전달할 수 있다. 이에 따라, 네트워크 상에서 송수신되는 데이터 패킷의 흐름에 영향을 주지 않고 패킷을 복사하여 데이터 관리 플랫폼에 전달할 수 있다. TAP (Test Access Point) can be used for the purpose of collecting data on a network. More specifically, TAP corresponds to a device that is added to the back-bone line of a network as one of the network devices (1001) and specializes only in mirroring. That is, packets can be transmitted to the data management platform (10000) of the present invention through the Network TAP (Test Access Point, hereinafter, TAP). Accordingly, packets can be copied and transmitted to the data management platform without affecting the flow of data packets transmitted and received on the network.
스토리지/데이터베이스(1003)는 데이터를 저장하고, 관리할 수 있다. 스토리지는 주로 하드 디스크나 SSD를 이용하여 데이터를 저장하고, 데이터베이스는 구조화된 데이터를 관리하며, 검색 및 수정 등의 작업을 수행할 수 있다. Storage/database (1003) can store and manage data. Storage mainly stores data using a hard disk or SSD, and the database manages structured data and can perform tasks such as searching and modifying.
컴퓨팅 서버(1004)는 데이터 처리를 담당한다. 클라이언트(1000)로부터 요청된 작업을 처리하고, 처리 결과를 클라이언트(10000)에게 반환한다. 이를 위해 중앙연산장치(Central Processing Unit, CPU), RAM 등의 하드웨어를 이용하여 계산 작업을 수행할 수 있다. 그리고 컴퓨팅 서버(1004)는 여러 가지 데이터의 입출력을 제어하고 데이터 관리 플랫폼(10000)에서 처리된 데이터를 스토리지/데이터베이스(1003)에 저장할 수 있다. 이때, 본 발명의 데이터 관리 플랫폼(10000)이 수행하는 기능은 컴퓨팅 서버(1004)의 프로세서에 의해 수행될 수 있다. 또한, 컴퓨팅 서버(1004)는 하드웨어 구성 요소 또는 데이터 관리 플랫폼 내의 모듈들의 상태를 모니터링하고 제어하는 시스템 매니저를 포함할 수 있다. The computing server (1004) is responsible for data processing. It processes a task requested from a client (1000) and returns the processing result to the client (10000). To this end, a calculation task can be performed using hardware such as a central processing unit (CPU) and RAM. In addition, the computing server (1004) can control the input/output of various data and store data processed by the data management platform (10000) in the storage/database (1003). At this time, the function performed by the data management platform (10000) of the present invention can be performed by the processor of the computing server (1004). In addition, the computing server (1004) can include a system manager that monitors and controls the status of hardware components or modules within the data management platform.
이하, 본 발명을 실시하기 위하여 본 도면의 하드웨어 구성요소가 사용될 수 있으며, 상기 하드웨어 구성 요소 간의 데이터 처리(processing) 방법이 포함됨은 물론이다. Hereinafter, the hardware components of this drawing can be used to implement the present invention, and of course, a data processing method between the hardware components is included.
도 2는 본 발명의 데이터 관리 장치의 일 실시 예를 개시하는 도면이다. FIG. 2 is a drawing disclosing one embodiment of a data management device of the present invention.
이 도면의 실시 예는 데이터 관리 장치를 예시하고 있으며, 데이터 관리 장치를 설명하기 위한 physical) 장치와 논리적인 요소(logical component)를 포함하고 있다. An embodiment of this drawing illustrates a data management device, including physical components and logical components for describing the data management device.
본 발명은 일 실시 예에서 SaaS(Software as a Service) 플랫폼을 통해 사용자에게 제공될 수 있다. SaaS 플랫폼은 클라우드 컴퓨팅 기술을 이용하여 네트워크를 통해 사용자에게 서비스로 제공되는 소프트웨어를 뜻한다. 이를 위하여, 스토리지/데이터베이스(1003), 컴퓨팅 서버(1004) 및 컨테이너 플랫폼(1005)은 사용자/클라이언트(1000)가 데이터 관리 플랫폼(10000) 및 데이터 관리 소프트웨어 패키지(20000)를 클라우드 상에서 이용할 수 있도록 지원할 수 있다. The present invention may be provided to a user through a SaaS (Software as a Service) platform in one embodiment. The SaaS platform refers to software that is provided as a service to a user through a network using cloud computing technology. To this end, the storage/database (1003), the computing server (1004), and the container platform (1005) may support the user/client (1000) to use the data management platform (10000) and the data management software package (20000) on the cloud.
본 발명은 데이터 처리를 위하여 사용자/클라이언트(1000), 스토리지/데이터베이스(1003), 애플리케이션 서버(1002), 컴퓨팅 서버(1004), 컨테이너 플랫폼(1005), 데이터 관리 플랫폼(10000) 및 데이터 관리 소프트웨어 패키지(20000)를 사용할 수 있다. The present invention can use a user/client (1000), a storage/database (1003), an application server (1002), a computing server (1004), a container platform (1005), a data management platform (10000), and a data management software package (20000) for data processing.
이때, 스토리지/데이터베이스(1003) 및 컴퓨팅 서버(1004)는 하드웨어일 수 있으며, 애플리케이션 서버(1002), 컨테이너 플랫폼(1005), 데이터 관리 플랫폼(10000) 및 데이터 관리 소프트웨어 패키지(20000)는 소프트웨어에 대응할 수 있다. 하드웨어에 대하여는 상술한 내용을 참고하도록 하고, 이 도면을 참조하여 데이터 관리 장치의 실시 예를 설명하면 다음과 같다. At this time, the storage/database (1003) and the computing server (1004) may be hardware, and the application server (1002), the container platform (1005), the data management platform (10000) and the data management software package (20000) may correspond to software. For hardware, refer to the above-described contents, and an embodiment of the data management device will be described with reference to this drawing as follows.
사용자/클라이언트(1000)는 데이터 처리를 위해 데이터 관리 소프트웨어(20000)에 접속할 수 있다. A user/client (1000) can access data management software (20000) for data processing.
컨테이너 플랫폼(1005)은 OS(Operating System), 컨테이너(container), 도커(docker) 등으로 구성되어 데이터 처리를 위한 가상 환경을 제공할 수 있다. The container platform (1005) can provide a virtual environment for data processing by being composed of an operating system (OS), a container, and docker.
데이터 관리 플랫폼(10000)은 데이터 관리 소프트웨어 패키지(20000) 내에 포함된 적어도 하나의 엔진 또는 모듈을 제어할 수 있다. 이를 위하여, 데이터 관리 플랫폼(10000)은 내부 데이터베이스(여기에서, 데이터베이스는 데이터 관리 소프트웨어 패키지(20000) 내의 내부 데이터베이스를 의미한다.), 스토리지, 분산 파일 시스템 등의 기술을 사용하여 데이터를 관리할 수 있다. 또한, 데이터 관리 플랫폼(10000)은 데이터 관리 소프트웨어 패키지(20000) 내에 포함된 적어도 하나의 엔진 또는 모듈을 관리하기 위한 시스템 매니저 또는 관리콘솔을 포함할 수 있다. The data management platform (10000) can control at least one engine or module included in the data management software package (20000). To this end, the data management platform (10000) can manage data using technologies such as an internal database (here, the database means an internal database within the data management software package (20000)), storage, and a distributed file system. In addition, the data management platform (10000) can include a system manager or management console for managing at least one engine or module included in the data management software package (20000).
데이터 관리 소프트웨어 패키지(20000)는 수집 모듈(20001), 분석 모듈(20002), 키 관리 모듈(20003), 개인정보 관리 모듈(20004), 모니터링 모듈(20005) 및 AI 엔진(20006) 중 적어도 하나를 포함할 수 있다. 다만, 데이터 관리 소프트웨어 패키지(20000)에 포함된 모듈 및 엔진은 필수적인 구성요소가 아니며 본 발명을 설명하기 위한 요소에 해당한다. 따라서, 데이터 실시 예를 수행하기 위한 다른 이름의 모듈이 포함될 수 있음은 물론이다. The data management software package (20000) may include at least one of a collection module (20001), an analysis module (20002), a key management module (20003), a personal information management module (20004), a monitoring module (20005), and an AI engine (20006). However, the modules and engines included in the data management software package (20000) are not essential components and are elements for explaining the present invention. Therefore, it goes without saying that a module with a different name for performing a data embodiment may be included.
수집 모듈(20001)은 다양한 소스에서 데이터를 수집하고 데이터를 처리 파이프 라인으로 전송할 수 있다. 수집 모듈(20001)은 로그, 이벤트, 센서, 웹 서버 등 다양한 소스에서 데이터(예를 들어, 패킷)를 수집할 수 있다. 특히, 수집 모듈(20001)은 로그 수집을 위해 에이전트를 사용할 때 에이전트를 중앙 관리할 수 있다. The collection module (20001) can collect data from various sources and transmit the data to a processing pipeline. The collection module (20001) can collect data (e.g., packets) from various sources such as logs, events, sensors, and web servers. In particular, the collection module (20001) can centrally manage agents when using agents for log collection.
분석 모듈(20002)은 데이터를 분석하고 가치 있는 인사이트를 도출하는 데 사용될 수 있다. 분석 모듈(20002)은 수집된 패킷을 분석하여 데이터를 추출할 수 있다. 이때, 포함된 데이터가 개인정보인 경우, 개인정보 관리 모듈(20004)을 통하여 개인정보 보호와 관련된 기능을 제공할 수 있다. 또한, 포함된 데이터를 미리 수집된 행위 정보(예를 들어, 조회, 삭제, 추가, 변경, 출력 등을 포함한다.)와 매핑할 수 있다. The analysis module (20002) can be used to analyze data and derive valuable insights. The analysis module (20002) can analyze collected packets to extract data. At this time, if the included data is personal information, functions related to personal information protection can be provided through the personal information management module (20004). In addition, the included data can be mapped with previously collected behavior information (e.g., including inquiry, deletion, addition, change, output, etc.).
키 관리 모듈(20003)은 데이터 암호화 및 복호화를 위한 키를 생성, 저장 및 관리할 수 있다. 키 관리 모듈(20003)은 토큰, 대칭 키, 공개 키, 디지털 인증서 등의 기술을 사용하여 키를 관리할 수 있다. 키 관리 모듈(20003)은 데이터에 개인정보가 포함되어 있는 경우, 개인정보를 암호화 및 복호화를 위한 키를 생성, 저장 및 관리할 수 있다. 또한, 키 관리 모듈(20003)은 데이터에 개인정보가 포함되어 있지 않더라도 데이터의 보안을 위하여 토큰, 대칭 키, 공개 키, 디지털 인증서 등의 기술을 사용할 수 있다. The key management module (20003) can generate, store, and manage keys for data encryption and decryption. The key management module (20003) can manage keys using technologies such as tokens, symmetric keys, public keys, and digital certificates. If the data contains personal information, the key management module (20003) can generate, store, and manage keys for encrypting and decrypting the personal information. In addition, the key management module (20003) can use technologies such as tokens, symmetric keys, public keys, and digital certificates to secure the data even if the data does not contain personal information.
개인정보 관리 모듈(20004)은 개인정보 보호와 관련된 기능을 제공할 수 있다. 개인정보 관리 모듈(20004)은 데이터에 개인정보가 포함되어 있는 경우, 개인정보의 수집, 추출, 암호화, 저장, 처리, 검색, 삭제 등을 제어할 수 있다. The personal information management module (20004) can provide functions related to personal information protection. The personal information management module (20004) can control the collection, extraction, encryption, storage, processing, search, deletion, etc. of personal information when personal information is included in the data.
모니터링 모듈(20005)은 데이터의 검색 및 탐지를 수행할 수 있다. 모니터링 모듈(20005)은 데이터 처리 및 데이터 처리 환경을 모니터링하고 문제를 식별할 수 있다. 또한, 모니터링 모듈(20005)은 로그, 성능 지표, 이벤트 등을 모니터링하고 경고를 생성할 수 있다. The monitoring module (20005) can perform data search and detection. The monitoring module (20005) can monitor data processing and data processing environment and identify problems. In addition, the monitoring module (20005) can monitor logs, performance indicators, events, etc. and generate alerts.
AI 엔진(20006)은 인공지능 기술(기계 학습을 포함한다.)을 이용하여 데이터 처리 및 데이터 분석 작업을 수행할 수 있다. 특히, 수집되어 저장된 로그에 텍스트가 포함되어 있는 경우, AI 엔진(20006)은 수집된 텍스트를 인공지능을 기반으로 행위를 분류할 수 있다. The AI engine (20006) can perform data processing and data analysis tasks using artificial intelligence technology (including machine learning). In particular, if the collected and stored log contains text, the AI engine (20006) can classify the collected text into actions based on artificial intelligence.
도 3은 본 발명의 데이터 관리 플랫폼의 일 실시 예를 개시하는 도면이다. FIG. 3 is a diagram disclosing one embodiment of the data management platform of the present invention.
이 도면의 실시 예는 데이터 관리 플랫폼(10000)을 예시하고 있으며, 물리적인(physical) 장치와 논리적인 요소(logical component)를 포함하고 있다. 특히, 본 도면에서 데이터 관리 플랫폼(10000)은 상술한 데이터 관리 플랫폼보다 더 넓은 범위에 대응할 수 있다. 예를 들어, 데이터 관리 플랫폼(10000)은 상술한 데이터 관리 소프트웨어 패키지(20000)에서 구현하는 모듈 중 적어도 하나를 포함하고, 물리 장치 상에서 구동되는 응용 프로그래밍 인터페이스 Application Programming Interface, API)를 포함할 수 있다. 물리 장치에 대하여는 상술한 내용을 참고하도록 한다. The embodiment of this drawing illustrates a data management platform (10000), which includes a physical device and a logical component. In particular, the data management platform (10000) in this drawing can correspond to a wider range than the data management platform described above. For example, the data management platform (10000) can include at least one of the modules implemented in the data management software package (20000) described above, and can include an application programming interface (API) that runs on a physical device. For the physical device, refer to the above-described content.
데이터 관리 플랫폼(10000)은 컴퓨팅 서버(1004)와 스토리지/데이터베이스(1003)의 리소스(resource)를 이용하여 데이터 관리 플랫폼(10000) 내에 포함된 모듈의 기능을 수행할 수 있다. 이때, 시스템 매니저는 데이터 관리 플랫폼(10000) 내의 모듈 또는 엔진 중 적어도 하나를 제어할 수 있으며, 시스템 매니저는 컴퓨팅 서버(1004) 내에 위치하거나 별도로 위치하여 데이터 관리 플랫폼(10000)을 제어할 수 있다. The data management platform (10000) can perform the functions of the modules included in the data management platform (10000) by utilizing the resources of the computing server (1004) and the storage/database (1003). At this time, the system manager can control at least one of the modules or engines within the data management platform (10000), and the system manager can be located within the computing server (1004) or located separately to control the data management platform (10000).
데이터 관리 플랫폼(10000)은 수집 모듈(20001), 분석 모듈(20002), 키 관리 모듈(20003), 개인정보 관리 모듈(20004), 모니터링 모듈(20005) 및 AI 엔진(20006) 중 적어도 하나를 포함할 수 있다. 각각의 모듈에 대한 설명은 상술한 바와 같다. The data management platform (10000) may include at least one of a collection module (20001), an analysis module (20002), a key management module (20003), a personal information management module (20004), a monitoring module (20005), and an AI engine (20006). The description of each module is as described above.
데이터 관리 플랫폼(10000)은 사용자/클라이언트(1000)와 데이터를 송수신하며, 송수신된 데이터에 대하여 수집 모듈(20001), 분석 모듈(20002), 키 관리 모듈(20003), 개인정보 관리 모듈(20004), 모니터링 모듈(20005) 및 AI 엔진(20006)이 수행하는 적어도 하나의 기능을 적용할 수 있다. 이때, 데이터 관리 플랫폼(10000)은 사용자/클라이언트(1000)의 요청에 의해 데이터 관리 플랫폼(10000) 내에 포함된 개별적인 모듈을 단독으로 사용할 수 있다. 예를 들어, 사용자/클라이언트(1000)는 데이터 관리 플랫폼(10000) 내의 키 관리 모듈(20003) 또는 개인정보 관리 모듈(20004)의 기능만을 선택적으로 사용할 수 있다. The data management platform (10000) transmits and receives data with a user/client (1000), and can apply at least one function performed by a collection module (20001), an analysis module (20002), a key management module (20003), a personal information management module (20004), a monitoring module (20005), and an AI engine (20006) to the transmitted and received data. At this time, the data management platform (10000) can independently use individual modules included in the data management platform (10000) at the request of the user/client (1000). For example, the user/client (1000) can selectively use only the functions of the key management module (20003) or the personal information management module (20004) in the data management platform (10000).
또한, 도면에 도시되지는 않았으나 데이터 관리 플랫폼(10000)은 내부에 포함된 모듈의 기능을 수행하기 위하여 외부 스토리지/데이터베이스(1003)과는 다른 내부 데이터베이스를 사용할 수 있다. Additionally, although not shown in the drawing, the data management platform (10000) may use an internal database different from the external storage/database (1003) to perform the functions of the modules included therein.
도 4는 본 발명의 데이터 관리 방법의 일 실시 예를 설명하는 플로우 차트이다. FIG. 4 is a flow chart illustrating one embodiment of a data management method of the present invention.
본 발명이 개시하는 데이터 관리 방법은 단계(S1000)에서, 패킷을 수집할 수 있다. The data management method disclosed in the present invention can collect packets in step (S1000).
일 실시 예에서, 패킷을 수집하는 방법은 에이전트(agent) 방식의 클라우드 기반의 패킷 수집 방법 또는 패킷 미러 방식의 패킷 수집 방법을 이용할 수 있다. 자세한 설명은 후술하도록 한다. In one embodiment, the method of collecting packets may utilize an agent-based cloud-based packet collection method or a packet mirror-based packet collection method. A detailed description will be given later.
일 실시 예에서, NIC(Network Interface Card)로부터 패킷을 수집할 수 있다. 여기에서, NIC는 네트워크 연결을 위해 사용되며, 유선 또는 무선 방식으로 네트워크와 연결될 수 있다. NIC는 컴퓨터와 네트워크 간에 데이터 전송을 가능하게 하기 위해 패킷을 보내고 받는 역할을 하며, 네트워크 카드, LAN 카드, 이더넷 카드 등을 포함할 수 있다. In one embodiment, packets can be collected from a NIC (Network Interface Card). Here, the NIC is used for network connection and can be connected to the network in a wired or wireless manner. The NIC serves to send and receive packets to enable data transmission between the computer and the network, and can include a network card, a LAN card, an Ethernet card, etc.
또한, 본 발명이 개시하는 데이터 관리 방법은 수집된 패킷에 필터를 적용할 수 있다. Additionally, the data management method disclosed in the present invention can apply a filter to collected packets.
보다 상세하게는, 본 발명의 데이터 관리 방법은 수집된 패킷을 재조합하고 필터링하여 분석 프로세스로 분배할 수 있다. 보다 상세하게는, 패킷의 재조합은 수집된 각각의 네트워크 패킷을 분석 가능한 패킷 형태로 합치는 것을 의미하며, 필터 적용은 기 설정된 필터링 규칙을 이용하여 해당 패킷을 분석할지 여부를 결정하는 설정을 의미한다. 이에 따라, 분석할 대상이 되는 패킷인 경우, 적절한 분석 프로세스로 분배될 수 있다. More specifically, the data management method of the present invention can reassemble and filter collected packets and distribute them to an analysis process. More specifically, packet reassembly means merging each collected network packet into an analyzable packet form, and filter application means a setting that determines whether to analyze the packet using a preset filtering rule. Accordingly, if the packet is a target for analysis, it can be distributed to an appropriate analysis process.
단계(S2000)에서, 패킷을 분석할 수 있다. 일 실시 예에서, 패킷의 기반이 되는 프로토콜의 종류에 따라 패킷을 분석할 수 있다. 보다 상세하게는, 패킷이 RFC(Remote Function Call) 프로토콜 기반인지, GUI/SNC 프로토콜 기반인지, HTTP/HTTPS 기반인지에 따라 패킷을 분석할 수 있다. 이때, 데이터 관리 방법은 이용 가능한 컴퓨팅 서버의 코어 수 및 트랜잭션 양을 고려하여 프로세스의 개수를 설정할 수 있다. 자세한 설명은 후술하도록 한다.In step (S2000), a packet can be analyzed. In one embodiment, a packet can be analyzed according to the type of protocol on which the packet is based. More specifically, a packet can be analyzed according to whether the packet is based on RFC (Remote Function Call) protocol, GUI/SNC protocol, or HTTP/HTTPS. At this time, the data management method can set the number of processes by considering the number of cores and transaction amount of the available computing server. A detailed description will be given later.
단계(S3000)에서, 데이터를 모니터링할 수 있다. 일 실시 예에서, 분석된 패킷에 포함된 데이터를 모니터링할 수 있다. 또한, 저장된 데이터를 실시간 모니터링하여 이상행위 이벤트를 감지하고, 감지된 이벤트에 대한 경고를 발생시킬 지 여부를 결정할 수 있다. In step (S3000), data can be monitored. In one embodiment, data included in the analyzed packet can be monitored. In addition, stored data can be monitored in real time to detect abnormal behavior events and determine whether to generate an alert for the detected event.
이를 위하여, 일 실시 예에서, 데이터 관리 방법은 분석된 패킷으로부터 데이터를 추출하고, 추출된 데이터를 저장할 수 있다. 데이터 관리 방법은 데이터에 포함된 정보에 따라 다른 방식으로 추출된 데이터를 저장할 수 있다. 예를 들어, 데이터에 개인정보가 저장되어 있는 경우, 개인정보를 추출한 뒤 개인정보를 암호화한 뒤 추출된 데이터를 저장할 수 있다. 또한, 데이터 관리 방법은 패킷 내의 중요 데이터만을 추출함으로써 중요 필드의 검색을 용이하게 하고, 결과적으로 데이터 관리 방법의 성능을 높일 수 있다. To this end, in one embodiment, the data management method can extract data from the analyzed packet and store the extracted data. The data management method can store the extracted data in different ways depending on the information contained in the data. For example, if personal information is stored in the data, the personal information can be extracted, the personal information can be encrypted, and then the extracted data can be stored. In addition, the data management method can facilitate the search of important fields by extracting only important data in the packet, thereby improving the performance of the data management method.
도 5는 본 발명의 데이터 관리 방법의 일 실시 예를 개시하는 도면이다. FIG. 5 is a diagram disclosing one embodiment of a data management method of the present invention.
단계(S1010)에서, 패킷을 수집할 수 있다. 일 실시 예에서, 패킷을 수집하는 방법은 에이전트(agent) 방식의 클라우드 기반의 패킷 수집 방법 또는 패킷 미러 방식의 패킷 수집 방법을 이용할 수 있다. 자세한 설명은 후술하도록 한다. In step (S1010), packets can be collected. In one embodiment, a method of collecting packets can use an agent-based cloud-based packet collection method or a packet mirror-based packet collection method. A detailed description will be given later.
단계(S1020)에서, 수집된 패킷에 필터를 적용할 수 있다. 보다 상세하게는, 본 발명의 데이터 관리 방법은 수집된 패킷을 재조합하고 필터링하여 분석 프로세스로 분배할 수 있다. In step (S1020), a filter can be applied to the collected packets. More specifically, the data management method of the present invention can reassemble and filter the collected packets and distribute them to an analysis process.
단계(S1030)에서, 필터가 적용된 패킷을 분석할 수 있다. In step (S1030), packets to which a filter is applied can be analyzed.
여기에서, 패킷의 기반이 되는 프로토콜의 종류에 따라 다르게 분석할 수 있다. 보다 상세하게는, 단계(S1031)에서, RFC(Remote Function Call) 프로토콜 기반의 패킷을 분석하고, 단계(S1032)에서, GUI 프로토콜 기반의 패킷을 분석하고, 단계(S1033)에서, HTTP/HTTPS 기반의 패킷을 분석할 수 있다. Here, the packet can be analyzed differently depending on the type of protocol that is the basis of the packet. More specifically, in step (S1031), a packet based on RFC (Remote Function Call) protocol can be analyzed, in step (S1032), a packet based on GUI protocol can be analyzed, and in step (S1033), a packet based on HTTP/HTTPS can be analyzed.
단계(S1031)에서, RFC 프로토콜 기반의 패킷 분석은 네트워크에서 RFC 프로토콜을 사용하는 패킷을 분석하는 과정을 의미한다. RFC는 분산 환경에서 서로 다른 시스템 또는 컴퓨터 간에 함수 호출을 수행하기 위한 프로토콜과 메커니즘으로, RFC는 클라이언트와 서버 모델을 기반으로 작동하며 클라이언트가 원격 시스템에 있는 서버의 함수를 호출하여 원격에서 실행할 수 있도록 한다. 즉, RFC 프로토콜은 원격 함수 호출을 위한 통신 프로토콜이기 때문에 RFC 프로토콜을 사용하는 패킷은 이러한 원격 함수 호출에 대한 정보를 담고 있다. In step (S1031), packet analysis based on the RFC protocol means the process of analyzing packets using the RFC protocol in a network. RFC is a protocol and mechanism for performing function calls between different systems or computers in a distributed environment. RFC operates based on a client and server model, allowing a client to call a function of a server in a remote system and execute it remotely. In other words, since the RFC protocol is a communication protocol for remote function calls, packets using the RFC protocol contain information about such remote function calls.
단계(S1032)에서, GUI 프로토콜 기반의 패킷 분석은 클라이언트와 애플리케이션 서버 간에 통신하는 GUI 프로토콜 기반의 패킷을 수집하여, 패킷에 포함된 클라이언트 IP또는 Port, 서버 IP 또는 Port, 패킷 데이터(byte stream) 등을 추출하는 방식이다. In step (S1032), packet analysis based on the GUI protocol collects packets based on the GUI protocol that communicate between the client and the application server, and extracts the client IP or port, server IP or port, packet data (byte stream), etc. included in the packets.
단계(S1033)에서, HTTP/HTTPS 기반의 패킷 분석은 웹 브라우저와 서버간 송수신하는 패킷을 미러링하거나 SSL 프로세싱하여 패킷에 포함된 데이터를 추출하는 방식이다. In step (S1033), HTTP/HTTPS-based packet analysis is a method of extracting data included in packets by mirroring or SSL processing packets transmitted and received between a web browser and a server.
각각에 대한 자세한 분석 방법은 후술하도록 한다.Detailed analysis methods for each will be described later.
단계(S1040)에서, 분석된 패킷으로부터 개인정보 메타데이터를 활용하여 개인정보를 추출할 수 있다. 일 실시 예에서, 분석된 패킷에 개인정보가 포함되어 있는지 확인하기 위하여, 저장된 개인정보 메타데이터를 사용하여 개인정보를 추출할 수 있다. 이에 대하여는, 후술하도록 한다. In step (S1040), personal information can be extracted by utilizing personal information metadata from the analyzed packet. In one embodiment, in order to check whether personal information is included in the analyzed packet, personal information can be extracted by utilizing stored personal information metadata. This will be described later.
단계(S1050)에서, 로그를 저장할 수 있다. 이때, 분석된 패킷에 포함된 유의미한 정보는 로그로 저장될 수 있다. 일 실시 예에서, 데이터 관리 방법은 분석된 정보를 감사 로그(Audit log)에 저장할지 여부를 결정할 수 있다. 또한, 개인정보가 포함된 경우, 개인정보는 패턴화 되어 데이터베이스에 저장될 수 있다. 마지막으로, 데이터 관리 방법은 로그(log) 저장 속도를 높이기 위해 멀티 쓰레딩(multithreading) 방식으로 동작하며, 일시적으로 데이터베이스에 접근이 되지 않는 경우에 대비하여 메모리 큐잉(queuing) 및 파일 큐잉을 수행할 수 있다.In step (S1050), a log can be stored. At this time, meaningful information included in the analyzed packet can be stored as a log. In one embodiment, the data management method can determine whether to store the analyzed information in an audit log. In addition, if personal information is included, the personal information can be patterned and stored in a database. Finally, the data management method operates in a multithreading manner to increase the log storage speed, and can perform memory queuing and file queuing in preparation for cases where the database is temporarily not accessed.
단계(S1060)에서, 저장된 로그를 이용하여 이상행위를 감지할 수 있다. 이때, 이상행위가 감지된 경우, 이상행위 감지에 대한 정보를 기록한 새로운 로그를 생성하여 다시 단계(S1050)를 통해 로그를 저장할 수 있다. 또한, 데이터 관리 방법은 사용자로부터 감사 로그(Audit Log)를 요청받는 경우, 수집된 데이터의 화면을 재구현할 수 있다. 보다 상세하게는, GUI 프로토콜은 그래픽 사용자 인터페이스를 표시하고 상호 작용하는데 사용되는 프로토콜로, 이러한 프로토콜을 분석함으로써 사용자의 작업 흐름, 입력, 출력 등을 시각적으로 이해할 수 있으며 시스템의 동작 상태를 파악하고 문제를 진단하는데 도움을 줄 수 있다. 이에 대하여는 이하의 도면에서 자세히 설명하도록 한다. In step (S1060), abnormal behavior can be detected using the stored log. At this time, if an abnormal behavior is detected, a new log recording information on the detection of the abnormal behavior can be created and the log can be stored again through step (S1050). In addition, the data management method can re-implement the screen of the collected data when an audit log is requested from a user. In more detail, the GUI protocol is a protocol used to display and interact with a graphical user interface, and by analyzing this protocol, the user's work flow, input, output, etc. can be visually understood, and the operating status of the system can be identified and problems can be diagnosed. This will be described in detail in the following drawings.
도 6은 본 발명의 패킷 수집 방법의 일 실시 예를 개시하는 도면이다. FIG. 6 is a diagram disclosing one embodiment of a packet collection method of the present invention.
본 도면은 에이전트(agent) 방식의 클라우드 기반의 패킷 수집 방법에 대하여 설명한다. 보다 상세하게는, 일 실시 예는 적어도 하나 이상의 클라이언트(1000a, 1000b, 1000c), 네트워크(1001), 클라우드 AP(1010), 데이터 관리 플랫폼(10000, 20000)을 포함한다. This drawing describes a cloud-based packet collection method in the agent manner. More specifically, one embodiment includes at least one client (1000a, 1000b, 1000c), a network (1001), a cloud AP (1010), and a data management platform (10000, 20000).
적어도 하나의 클라이언트(1000a, 1000b, 1000c)는 수집 대상 패킷을 생성하는 기기로, 예를 들어, 서버, 노트북, 스마트폰 등을 포함할 수 있다. At least one client (1000a, 1000b, 1000c) is a device that generates packets to be collected, and may include, for example, a server, a laptop, a smartphone, etc.
네트워크(1001)는 패킷 수집 대상 네트워크로, 클라이언트(1000a, 1000b, 1000c)는 네트워크(1001)에 연결되어 있을 수 있다. Network (1001) is a packet collection target network, and clients (1000a, 1000b, 1000c) may be connected to network (1001).
클라우드 AP(1010)는 적어도 하나의 AP(1011, 1012, 1013, 1014)를 포함할 수 있다. 여기에서, 적어도 하나의 AP(1011, 1012, 1013, 1014)는 패킷 수집 에이전트와 연결되고, 패킷 수집 에이전트는 AP(1011, 1012, 1013, 1014)에서 생성된 모든 패킷을 수집하고 처리할 수 있다. Cloud AP (1010) may include at least one AP (1011, 1012, 1013, 1014). Here, at least one AP (1011, 1012, 1013, 1014) is connected to a packet collection agent, and the packet collection agent may collect and process all packets generated in the AP (1011, 1012, 1013, 1014).
보다 상세하게는, 패킷 수집 에이전트는 수집된 패킷을 인식할 수 있는 형태로 필터링하고 추출하여 압축하고 암호화할 수 있다. 패킷 수집 에이전트는 AP(1011, 1012, 1013, 1014)와 연결되고, 수집된 패킷을 처리하고 데이터 관리 플랫폼(10000, 20000)으로 전송할 수 있다. More specifically, the packet collection agent can filter, extract, compress, and encrypt the collected packets into a recognizable form. The packet collection agent can be connected to APs (1011, 1012, 1013, 1014), process the collected packets, and transmit them to a data management platform (10000, 20000).
데이터 관리 플랫폼(10000, 20000)은 수집된 패킷을 수신하고, 패킷을 분석하고 저장하며, 분석 모듈을 통해 데이터를 분석할 수 있다. The data management platform (10000, 20000) can receive collected packets, analyze and store the packets, and analyze data through the analysis module.
이러한 방식으로 클라우드 지원(agent 방식) 기반의 패킷 수집 방법은 높은 확장성과 유연성을 제공하며, 다양한 네트워크 환경에서 적용할 수 있다. 또한, 클라우드 환경에서 데이터를 처리하므로 하드웨어나 소프트웨어 업그레이드나 유지보수가 용이하며, 안정적인 서비스를 제공할 수 있다. In this way, the cloud-supported (agent-based) packet collection method provides high scalability and flexibility and can be applied in various network environments. In addition, since data is processed in a cloud environment, hardware or software upgrades and maintenance are easy and stable services can be provided.
본 도면과 같은 에이전트 방식의 클라우드 기반의 패킷 수집 방법은 클라우드를 사용하는 경우 적용이 가능하다. An agent-based, cloud-based packet collection method like this drawing can be applied when using a cloud.
도 7은 본 발명의 패킷 수집 방법의 다른 일 실시 예를 개시하는 도면이다.FIG. 7 is a diagram disclosing another embodiment of the packet collection method of the present invention.
본 도면은 패킷 미러 방식의 패킷 수집 방법에 대하여 설명한다. 보다 상세하게는, 실시 예는, 일 실시 예는 적어도 하나 이상의 클라이언트(1000a, 1000b, 1000c), 네트워크(1001), 전용선/VPN(1001a), CSP(1015) 및 데이터 관리 플랫폼(10000, 20000)을 포함한다. 상술한 내용과 중복되는 설명은 생략하도록 한다. This drawing describes a packet collection method using a packet mirror method. More specifically, an embodiment includes at least one client (1000a, 1000b, 1000c), a network (1001), a dedicated line/VPN (1001a), a CSP (1015), and a data management platform (10000, 20000). Any description overlapping with the above will be omitted.
네트워크(1001)는 전용선/VPN(1001a)에 연결되며, 전용선/VPN(1001a)은 데이터 관리 플랫폼(10000, 20000)과 CSP(Cloud Service Provider, 클라우드 서비스 제공자, 1015) 각각에 연결될 수 있다. 여기에서, CSP는 예를 들어, AWS(Amason Web Service), GCP(Google Cloud Platform), Azure 와 같은 클라우드 서비스 제공자를 의미한다. The network (1001) is connected to a dedicated line/VPN (1001a), and the dedicated line/VPN (1001a) can be connected to each of a data management platform (10000, 20000) and a CSP (Cloud Service Provider, 1015). Here, the CSP means a cloud service provider such as, for example, AWS (Amason Web Service), GCP (Google Cloud Platform), and Azure.
패킷 미러 방식을 통하여 데이터 관리 플랫폼(10000, 20000)은 네트워크 트래픽을 복제하여 전용선/VPN(1001a)로부터 패킷을 전달받고, 동일한 패킷은 CSP(1015)에 전달될 수 있다. Through the packet mirror method, the data management platform (10000, 20000) can replicate network traffic and receive packets from the dedicated line/VPN (1001a), and the same packets can be transmitted to the CSP (1015).
이 방법을 통하여 데이터 관리 플랫폼(10000, 20000)은 수집된 모든 패킷을 캡처하고 분석할 수 있다. Through this method, the data management platform (10000, 20000) can capture and analyze all collected packets.
본 도면과 같은 패킷 미러 방식의 패킷 수집 방법은 CSP, 자체 클라우드, 애플리케이션 서버에서 제공하는 프라이빗 클라우드(예를 들어, SAP PCE)를 사용하는 경우 적용이 가능하다. The packet mirror method of packet collection, as shown in this drawing, can be applied when using a private cloud (e.g., SAP PCE) provided by a CSP, self-cloud, or application server.
본 발명은 상술한 바와 같이 수집된 패킷을 분석할 수 있다. 구체적으로 수집된 패킷은 RFC 프로토콜 기반, GUI 프로토콜 기반, HTTP/HTTPS 기반 중 어느 하나에 해당할 수 있다. 이에 따라, 본 발명의 일 실시 예는 수집된 패킷을 다른 방식으로 분석하고, 저장할 수 있다. 이에 대하여 자세히 설명하도록 한다. The present invention can analyze collected packets as described above. Specifically, the collected packets can correspond to any one of RFC protocol-based, GUI protocol-based, and HTTP/HTTPS-based. Accordingly, one embodiment of the present invention can analyze and store collected packets in a different manner. This will be described in detail.
도 8은 본 발명의 패킷 수집 방법에 따라 수집한 RFC 프로토콜 기반의 패킷 분석 데이터의 일 실시 예를 개시하는 도면이다. FIG. 8 is a diagram disclosing one embodiment of packet analysis data based on RFC protocol collected according to the packet collection method of the present invention.
데이터 관리 플랫폼은 프로토콜을 기반으로 한 패킷을 통하여 본 도면에서 도시하는 다양한 데이터를 추출할 수 있다. 본 도면에서는, RFC 프로토콜 기반의 패킷 분석 데이터를 예로 들어 설명하나, RFC 프로토콜 기반의 패킷이 이하의 모든 정보를 포함하는 것은 아니다. 특히, 후술하는 (6) 및 (8)에 포함된 정보는 GUI 프로토콜 기반의 패킷 분석 데이터에 해당한다. The data management platform can extract various data as shown in this figure through packets based on the protocol. In this figure, packet analysis data based on the RFC protocol is explained as an example, but the packet based on the RFC protocol does not include all the information below. In particular, the information included in (6) and (8) described below corresponds to packet analysis data based on the GUI protocol.
보다 상세하게는, 데이터 관리 플랫폼은 RFC 구조 정보를 이용하여 패킷을 분석하고 데이터를 추출할 수 있다. 이때, RFC 구조 정보가 없는 경우, 데이터 관리 플랫폼은 RFC 정보 요청 파일을 생성하여, RFC 정보를 요청할 수 있다. 자세한 설명은 후술하도록 한다. More specifically, the data management platform can analyze packets and extract data using RFC structure information. At this time, if there is no RFC structure information, the data management platform can generate an RFC information request file to request RFC information. A detailed explanation will be provided later.
(1) 시간(요청 시간, 세션 정보의 시작 시간을 포함한다.)(1) Time (including request time and start time of session information)
(2) 프로토콜 정보(RFC 프로토콜, GUI 프로토콜, HTTP/HTTPS 등을 포함한다.)(2) Protocol information (including RFC protocol, GUI protocol, HTTP/HTTPS, etc.)
(3) 서버 IP 또는 Port(3) Server IP or Port
(4) 클라이언트 IP 또는 Port(클라이언트가 접속한 지역(region)을 포함한다.)(4) Client IP or Port (including the region from which the client connected)
(5) 계정(사용자 ID, 사번, 조직이름 등을 포함한다.)(5) Account (including user ID, employee number, organization name, etc.)
(6) 트랜잭션명(트랜잭션 코드(T-code)를 포함한다. 여기서 트랜잭션 코드는 트랙잭션을 명시하는 일종의 단축코드로써 논리적인 업무 프로세스이다.)(6) Transaction name (including transaction code (T-code). Here, transaction code is a kind of short code that specifies the transaction and is a logical business process.)
(7) RFC 함수 명(7) RFC function name
(8) 이벤트 정보(이벤트는 로그인(성공/실패), 개인정보 입력, 특정 T-Code 접근 여부, SAP ALL 접속 여부, 공통계정 접속 여부, 사용자 오류, 파일 다운로드, 프로그램 덤프, 사용자 암호 변경 여부, 메타 데이터 수정 여부, 중복접속 조회 여부, 특정 GL 계정(GUI 프로토콜의 경우, 계좌(account) 정보 누적 조회 여부 등을 포함한다.) (8) Event information (events include login (success/failure), personal information input, access to specific T-Code, access to SAP ALL, access to common account, user error, file download, program dump, user password change, metadata modification, duplicate access check, specific GL account (in the case of GUI protocol, cumulative account information check, etc.)
(9) 개인정보 개수(9) Number of personal information
일 실시 예에서, 데이터 관리 플랫폼은 트랜잭션명과 이벤트 정보를 통하여 패킷이 수행하고자 하는 업무를 판단할 수 있다. In one embodiment, the data management platform can determine the task that a packet is intended to perform through the transaction name and event information.
도 9는 본 발명의 패킷 수집 방법에 따라 수집한 GUI 프로토콜 기반의 패킷 분석 장치의 일 실시 예를 개시하는 도면이다. FIG. 9 is a drawing disclosing one embodiment of a packet analysis device based on a GUI protocol collected according to the packet collection method of the present invention.
본 도면에서는, 본 발명의 패킷 수집 방법에 따라 수집한 패킷이 GUI 프로토콜 기반인 경우, 패킷을 분석하는 실시 예를 설명한다. 일 실시 예는, 사용자/클라이언트(1000, 이하, 클라이언트), 네트워크 장치(1001), 스토리지/데이터베이스(1003), 컴퓨팅 서버(1004), 애플리케이션 서버(1002)를 포함할 수 있다. 상술한 구성과 중복되는 설명은 생략하도록 한다. In this drawing, an embodiment of analyzing a packet when a packet collected according to the packet collection method of the present invention is based on a GUI protocol is described. One embodiment may include a user/client (1000, hereinafter, client), a network device (1001), a storage/database (1003), a computing server (1004), and an application server (1002). Descriptions that overlap with the above-described configuration will be omitted.
일 실시 예에서, 상술한 구성 요소를 이용하여 GUI 프로토콜을 기반으로 한 패킷 분석을 수행할 수 있다. 이를 위해서는 클라이언트(1000)에서 발생하는 GUI 프로토콜 기반의 트래픽을 캡처하고 분석하는 것이 필요하다. 이를 위해서는 다음과 같은 작업이 필요하다. In one embodiment, packet analysis based on the GUI protocol can be performed using the above-described components. To do this, it is necessary to capture and analyze GUI protocol-based traffic occurring in the client (1000). To do this, the following tasks are required.
클라이언트(1000)는 네트워크 장치(1001)를 이용해 애플리케이션 서버(1002)에 대응하는 애플리케이션을 실행하고, 애플리케이션 시스템에 로그인할 수 있다. 클라이언트(1000)는 애플리케이션을 통하여 필요한 작업을 수행할 수 있다. 클라이언트(1000)는 입력되는 입력 데이터 또는 애플리케이션 서버(1002)를 통하여 수신한 출력 데이터에 대한 정보를 화면에 출력할 수 있다. The client (1000) can execute an application corresponding to the application server (1002) using the network device (1001) and log in to the application system. The client (1000) can perform necessary tasks through the application. The client (1000) can output information on input data input or output data received through the application server (1002) to the screen.
네트워크 장비(1001)는 클라이언트(1000)와 애플리케이션 서버(1002) 사이의 네트워크 트래픽을 캡처할 수 있다. 특히, 네트워크 장비(1001)는 TAP을 포함할 수 있다. 이를 통해, 예를 들어, 애플리케이션 서버(1002)가 SAP 운영 서버인 경우, SAP 애플리케이션 사용자, SAP EP 서버 및 레거시 시스템에서 SAP 서버와 통신하는 GUI 프로토콜 기반의 패킷을 로깅할 수 있다. 또한, 네트워크 장비(1001)는 스위치를 포함할 수 있다. 이를 통해, SAP 운영 서버로 네트워크를 주고받는 스위치에서 포트 미러를 통하여 SAP 서버에 대한 내부 감사를 수행할 수 있고, SAP 서버에서 사용되는 개인 정보에 대해 모니터링할 수 있다. The network device (1001) can capture network traffic between the client (1000) and the application server (1002). In particular, the network device (1001) can include a TAP. Through this, for example, when the application server (1002) is an SAP operation server, packets based on the GUI protocol that communicate with the SAP server from an SAP application user, an SAP EP server, and a legacy system can be logged. In addition, the network device (1001) can include a switch. Through this, an internal audit on the SAP server can be performed through a port mirror in a switch that transmits and receives network traffic to and from the SAP operation server, and personal information used in the SAP server can be monitored.
애플리케이션 서버(1002)에서는 GUI 프로토콜을 기반으로 하는 트래픽이 발생할 수 있다. Traffic based on the GUI protocol may occur in the application server (1002).
데이터 관리 플랫폼(10000) 또는 데이터 관리 소프트웨어(20000)는 애플리케이션 서버(1002)에서 발생하는 트래픽을 캡쳐하고, 캡처한 트래픽을 분석할 수 있다. 이때, 데이터 관리 플랫폼(10000) 또는 데이터 관리 소프트웨어(20000) 내의 수집 모듈(20001) 및 분석 모듈(20002)을 통해 애플리케이션 서버(1002)에서 발생하는 트래픽을 수집하고 분석할 수 있다. 이에 따라, GUI 프로토콜의 구조와 내용을 이해하고 분석할 수 있다. 이때, 애플리케이션 서버(1002)는 컴퓨팅 서버(1004)의 자원을 이용할 수 있다. The data management platform (10000) or data management software (20000) can capture traffic generated from the application server (1002) and analyze the captured traffic. At this time, the traffic generated from the application server (1002) can be collected and analyzed through the collection module (20001) and analysis module (20002) within the data management platform (10000) or data management software (20000). Accordingly, the structure and content of the GUI protocol can be understood and analyzed. At this time, the application server (1002) can utilize the resources of the computing server (1004).
스토리지/데이터베이스(1003)는 분석한 결과 또는 애플리케이션 서버(1002)에 필요한 정보를 저장할 수 있다. The storage/database (1003) can store the analyzed results or information required by the application server (1002).
도 10은 본 발명의 패킷 수집 방법에 따라 수집한 GUI 프로토콜 기반의 패킷 분석 방법의 일 실시 예를 개시하는 도면이다.FIG. 10 is a diagram disclosing one embodiment of a packet analysis method based on a GUI protocol collected according to the packet collection method of the present invention.
단계(S2010)에서, 클라이언트 화면에 출력되는 애플리케이션과 애플리케이션 서버 간 송수신되는 패킷을 수집할 수 있다. 보다 상세하게는, 클라이언트와 애플리케이션 서버 간에 통신하는 GUI 프로토콜 기반의 패킷을 분석하고 입출력 데이터 및 모니터링에 필요한 정보를 수집할 수 있다. 여기에서, 입력 데이터는 클라이언트가 클라이언트의 단말기(terminal)을 이용하여 입력하는 사용자 명령어를 포함할 수 있다. In step (S2010), packets transmitted and received between an application displayed on a client screen and an application server can be collected. More specifically, packets based on a GUI protocol that communicates between a client and an application server can be analyzed, and input/output data and information necessary for monitoring can be collected. Here, the input data can include a user command that a client inputs using a terminal of the client.
클라이언트가 클라이언트 단말기를 통해 사용자 명령어를 입력 데이터로써 입력하면, 입력 데이터는 네트워크를 통해 애플리케이션 서버에 전송된다. 일 실시 예에서, 애플리케이션 서버에 입력 데이터가 전송되는 경우, 입력 데이터는 모니터링 될 수 있다. When a client inputs a user command as input data through a client terminal, the input data is transmitted to an application server through a network. In one embodiment, when the input data is transmitted to the application server, the input data can be monitored.
보다 상세하게는, 데이터 관리 플랫폼은 입력 데이터를 제공받아 분석할 수 있다. 이때, 입력 패킷에 기 설정된 사용자 명령어(예를 들어, 특정 이벤트 발생)가 포함된 경우, 데이터 관리 플랫폼은 접근 제한이 필요하다고 판단할 수 있다. 이에 따라, 데이터 관리 플랫폼은 사용자 명령어(여기에서, 사용자 명령어는 입력 패킷에 포함된 사용자 명령어와 다른 언어로 표현될 수 있다.)를 통해 애플리케이션 서버(1002)에게 클라이언트의 접근을 통제할 수 있다. 이때, 입력 데이터는 SAP DIAG 프로토콜을 통해 SAP 애플리케이션 서버와 송수신되는 데이터를 예로 들 수 있다. More specifically, the data management platform can receive and analyze input data. At this time, if the input packet includes a preset user command (e.g., occurrence of a specific event), the data management platform can determine that access restriction is necessary. Accordingly, the data management platform can control the client's access to the application server (1002) through the user command (here, the user command can be expressed in a language different from the user command included in the input packet). At this time, the input data can be, for example, data transmitted and received with the SAP application server through the SAP DIAG protocol.
또한, 클라이언트 단말기는 애플리케이션 서버에서 출력된 데이터를 출력할 수 있다. 즉, 애플리케이션 서버는 전송되는 입력 데이터에 대한 내용을 검색하면서 검색된 결과에 대한 내용이 포함된 출력 데이터를 클라이언트 단말기에 전송하여 클라이언트 단말기의 화면에 정보가 출력되도록 할 수 있다. 이때, 애플리케이션 서버는 출력 데이터를 출력하되, 출력 데이터는 서버 정보, 트랜잭션 코드(T-code), 프로그램명, 상태 메시지 중 적어도 하나를 포함할 수 있다. In addition, the client terminal can output data output from the application server. That is, the application server can search for content regarding the input data being transmitted and transmit output data including content regarding the searched result to the client terminal so that information is displayed on the screen of the client terminal. At this time, the application server outputs output data, and the output data can include at least one of server information, transaction code (T-code), program name, and status message.
입력 데이터와 마찬가지로, 데이터 관리 플랫폼은 출력 데이터를 제공받아 분석할 수 있다. 이때, 출력 데이터는 서버 정보, 트랜잭션 코드(T-code), 프로그램명, 상태 메시지 중 적어도 하나를 포함할 수 있다. 입력 데이터와 마찬가지로, 데이터 관리 플랫폼은 분석된 출력 데이터에 기초하여 접근 제한이 필요하다고 판단할 수 있다. 이에 따라, 데이터 관리 플랫폼은 접근을 통제할 수 있다. As with input data, the data management platform can receive and analyze output data. At this time, the output data can include at least one of server information, transaction code (T-code), program name, and status message. As with input data, the data management platform can determine that access restriction is necessary based on the analyzed output data. Accordingly, the data management platform can control access.
또한, 출력 데이터는 SAP DIAG 프로토콜을 통해 SAP 애플리케이션 서버와 클라이언트 단말기와 송수신되는 데이터를 예로 들 수 있다.Additionally, output data can be, for example, data transmitted and received between the SAP application server and client terminal via the SAP DIAG protocol.
단계(S2020)에서, 수집된 패킷의 분석 여부를 결정할 수 있다. 이를 위하여, 본 발명은 수집된 정보의 분석 여부를 결정하여 성능을 높일 수 있도록 필터링을 수행할 수 있다. 여기에서, 수집된 정보를 분석하지 않기로 결정하는 경우 분석을 진행하지 않고 종료한다. In step (S2020), it is possible to determine whether to analyze the collected packets. To this end, the present invention can perform filtering to improve performance by determining whether to analyze the collected information. Here, if it is determined not to analyze the collected information, the analysis is terminated without proceeding.
단계(S2030)에서, 패킷을 분석할 수 있다. 일 실시 예에서, 패킷 내의 포함된 정보의 보안을 제어하기 위해 패킷 디코딩 및 프로토콜을 분석할 수 있다. 일 실시 예에서, 입력 데이터 또는 출력 데이터에 대한 클라이언트 IP또는 Port, 서버 IP 또는 Port, 패킷 데이터(byte stream) 등으로 자세하게 분석할 수 있다. In step (S2030), the packet can be analyzed. In one embodiment, packet decoding and protocol can be analyzed to control the security of information included in the packet. In one embodiment, the client IP or Port, server IP or Port, packet data (byte stream), etc. for input data or output data can be analyzed in detail.
단계(S2040)에서, 분석된 패킷에 포함된 데이터를 세션 정보로 구성하여 저장할 수 있다. GUI 프로토콜 기반의 패킷을 분석한 분석 정보와 입출력 데이터를 사용해 세션 정보를 생성하고, 저장할 수 있다. 일 실시 예에서, 저장된 세션 정보는 사용자가 이해하기 쉬운 언어로 클라이언트 화면에 출력될 수 있다. In step (S2040), data included in the analyzed packet can be configured as session information and stored. Session information can be generated and stored using analysis information and input/output data analyzed from packets based on the GUI protocol. In one embodiment, the stored session information can be output on the client screen in a language that is easy for the user to understand.
즉, 네트워크 연결 정보 및 입출력 패킷을 분석함으로써, 의미 있는 정보인 입출력 데이터를 용이하게 출력할 수 있어, 클라이언트는 애플리케이션 서버의 GUI 화면과 실질적으로 유사한 형태의 화면을 확인할 수 있다. That is, by analyzing network connection information and input/output packets, meaningful information such as input/output data can be easily output, so that the client can check a screen that is substantially similar to the GUI screen of the application server.
이와 같이, 클라이언트는 GUI 화면과 실질적으로 유사한 형태로 용이하게 재구현할 수 있기 때문에 애플리케이션 서버 정보, 트랜잭션 코드(T-code), 프로그램명, 상태 메세지, 출력데이터 등을 화면을 통하여 모니터링하면서 용이하게 분석할 수 있다. In this way, since the client can be easily re-implemented in a form substantially similar to the GUI screen, it can easily analyze application server information, transaction code (T-code), program name, status messages, output data, etc. by monitoring them through the screen.
도 11은 본 발명의 패킷 수집 방법에 따라 수집한 GUI 프로토콜 기반의 패킷 분석 데이터의 일 실시 예를 개시하는 도면이다.FIG. 11 is a diagram disclosing one embodiment of packet analysis data based on a GUI protocol collected according to a packet collection method of the present invention.
일 실시 예에서, GUI 프로토콜을 기반으로 한 패킷으로부터 시간, 프로토콜 정보, 서버/클라이언트 IP 또는 Port, 계정, 트랜잭션명, 이벤트 정보, 개인정보 개수 중 적어도 하나에 대한 데이터를 추출할 수 있다. 각각의 정의에 대한 내용은 상술한 바와 같다. In one embodiment, data on at least one of time, protocol information, server/client IP or port, account, transaction name, event information, and number of personal information can be extracted from a packet based on a GUI protocol. The contents of each definition are as described above.
일 실시 예에서, GUI 프로토콜 기반의 패킷의 분석 결과를 본 도면과 같이 “화면 재현”의 형태로 클라이언트에게 제공할 수 있다. In one embodiment, the analysis results of packets based on the GUI protocol can be provided to the client in the form of a “screen reproduction” as shown in the drawing.
보다 상세하게는, 본 발명의 데이터 관리 플랫폼은 클라이언트에게 분석된 패킷에 포함된 데이터를 사용자가 알기 쉬운 방법으로 출력할 수 있다.More specifically, the data management platform of the present invention can output data included in an analyzed packet to a client in a manner that is easy for a user to understand.
본 도면을 통하여 예를 들어, 설명하면, 제 1 사용자가 애플리케이션 서버에 접속하여 “1175”을 입력한 경우, 데이터 관리 플랫폼이 “Request Screen”을 통하여 제 1 사용자가 애플리케이션 서버에 접속하여 입력한 화면을 재현한 실시 예를 나타낸다. For example, by way of explanation through this drawing, when a first user accesses an application server and inputs “1175”, an embodiment is shown in which the data management platform reproduces the screen input by the first user when accessing the application server through the “Request Screen”.
또한, 제 1 사용자가 애플리케이션 서버에 접속하여 “1175”를 입력한 이후, 애플리케이션 서버로부터 수신하여 출력한 경우, 데이터 관리 플랫폼은 “Response Screen”을 통하여 제 1 사용자가 애플리케이션 서버로부터 수신한 출력 화면을 재현할 수 있다. In addition, when the first user accesses the application server and enters “1175”, and then receives and outputs the output screen from the application server, the data management platform can reproduce the output screen received by the first user from the application server through the “Response Screen”.
이를 통하여, 제 2 사용자(예를 들면, 제 1 사용자의 관리자)는 데이터 관리 플랫폼을 이용하여 제 1 사용자가 입력한 데이터를 포함하는 화면과 출력된 데이터를 포함하는 화면을 각각 “Request Screen” 및 “Response Screen”을 통하여 확인할 수 있다. Through this, a second user (e.g., an administrator of the first user) can use the data management platform to check the screen containing the data entered by the first user and the screen containing the output data, respectively, through the “Request Screen” and “Response Screen.”
도 12는 본 발명의 패킷 수집 방법에 따라 수집한 HTTP/HTTPS 기반의 패킷 분석 방법의 일 실시 예를 개시하는 도면이다.FIG. 12 is a diagram disclosing one embodiment of a method for analyzing HTTP/HTTPS-based packets collected according to the packet collection method of the present invention.
HTTP(Hypertext Transfer Protocol)는 인터넷에서 데이터를 주고받기 위한 프로토콜 중 하나로, HTTP는 기본적으로 평문(Plain Text)을 이용하여 통신하기 때문에, HTTP 패킷을 수집할 수 있다면 누구나 패킷에 포함된 내용을 확인할 수 있다. 즉, HTTP 기반의 패킷은 보안에 취약하기 때문에 이러한 보안 취약점을 보완하기 위해, HTTPS(HTTP Secure) 기반으로 패킷을 송수신하는 경우가 있다. HTTP (Hypertext Transfer Protocol) is one of the protocols for sending and receiving data on the Internet. Since HTTP basically uses plain text for communication, anyone who can collect HTTP packets can check the contents of the packets. In other words, HTTP-based packets are vulnerable to security, so in order to supplement this security vulnerability, packets are sometimes sent and received based on HTTPS (HTTP Secure).
HTTPS는 HTTP의 보안 버전으로, SSL(Secure Sockets Layer)이나 TLS(Transport Layer Security) 프로토콜을 이용하여 통신할 수 있다. SSL 프로토콜은 데이터를 암호화하여 전송하기 때문에, 임의의 대상이 패킷을 수집하더라도 SSL 암호를 해제하지 않으면 패킷을 분석할 수 없다. HTTPS is a secure version of HTTP, and can communicate using the SSL (Secure Sockets Layer) or TLS (Transport Layer Security) protocol. Since the SSL protocol encrypts and transmits data, even if a random target collects packets, they cannot analyze the packets unless the SSL encryption is decrypted.
따라서, 본 발명은 HTTPS 기반의 패킷을 분석하기 위해 SSL 프로세싱을 수행할 수 있다. 여기에서, SSL 프로세싱은 HTTPS 통신에서 데이터를 암호화하고 복호화하는 과정을 포함할 수 있다. SSL 프로세싱은 클라이언트와 서버 간의 암호화 키 교환, 인증, 데이터 암호화, 복호화 등을 수행할 수 있다. Accordingly, the present invention can perform SSL processing to analyze HTTPS-based packets. Here, SSL processing can include a process of encrypting and decrypting data in HTTPS communication. SSL processing can perform encryption key exchange, authentication, data encryption, decryption, etc. between a client and a server.
보다 상세하게, 본 발명의 패킷 수집 방법 중 HTTP/HTTPS 기반의 패킷을 분석하는 방법을 설명하면 다음과 같다. In more detail, a method of analyzing HTTP/HTTPS-based packets among the packet collection methods of the present invention is described as follows.
사용자가 웹 브라우저(web browser, 1030)를 실행하면, 웹 브라우저(1030)는 HTTP/HTTPS를 통해 웹 서버에 요청을 보낼 수 있고, 웹 서버에서 응답을 받아와 사용자에게 데이터를 출력할 수 있다. When a user runs a web browser (1030), the web browser (1030) can send a request to a web server via HTTP/HTTPS, receive a response from the web server, and output data to the user.
프록시 서버(proxy server)는 클라이언트와 웹 서버(예를 들어, SAP 서버) 사이에서 중계 기능을 수행할 수 있다. 웹 브라우저(1030)에서 웹 서버에 접속할 때, 프록시 서버를 거쳐서 요청과 응답을 주고받을 수 있다. 이를 통해, 사용자의 IP 주소를 숨기거나, 캐싱을 통해 네트워크 성능을 향상시키는 등의 기능을 수행할 수 있다.A proxy server can perform an intermediary function between a client and a web server (e.g., an SAP server). When accessing a web server from a web browser (1030), requests and responses can be exchanged via the proxy server. Through this, functions such as hiding a user's IP address or improving network performance through caching can be performed.
SSL 프로세싱은 HTTPS 연결에서 SSL 인증서를 확인하고, 키 교환 및 암호화/복호화를 수행할 수 있다. SSL processing can verify SSL certificates, exchange keys, and perform encryption/decryption over HTTPS connections.
데이터 관리 플랫폼은 HTTP/HTTPS 패킷 추출 및 분석을 수행할 수 있다. 이를 위하여, 데이터 관리 플랫폼에 포함된 수집 모듈 및 분석 모듈을 이용할 수 있다. 수집된 패킷이 HTTP 기반의 패킷인 경우, 바로 분석을 수행하고, HTTPS 기반의 패킷인 경우, SSL 프로세싱을 거친 후 분석을 수행할 수 있다. SSL 프로세싱을 통해 복호화된 HTTPS 패킷은 웹 브라우저나 프록시 서버에서 추출되어 분석될 수 있다. The data management platform can perform HTTP/HTTPS packet extraction and analysis. For this purpose, the collection module and analysis module included in the data management platform can be used. If the collected packet is an HTTP-based packet, analysis can be performed immediately, and if it is an HTTPS-based packet, analysis can be performed after SSL processing. HTTPS packets decrypted through SSL processing can be extracted and analyzed by a web browser or proxy server.
데이터 관리 플랫폼은 HTTP 패킷 또는 SSL 프로세싱을 통하여 발생하는 패킷들을 큐(1032, queue)에 저장할 수 있고, 큐(1032)에서 패킷을 추출하여 분석할 수 있다. 여기에서, 큐(1032)의 크기는 SSL 프로세싱의 대역폭과 처리 능력에 따라 결정될 수 있다. 또한, 큐(1032)는 메모리 큐 및 파일 큐를 포함할 수 있다. The data management platform can store packets generated through HTTP packets or SSL processing in a queue (1032), and extract packets from the queue (1032) and analyze them. Here, the size of the queue (1032) can be determined according to the bandwidth and processing capability of SSL processing. In addition, the queue (1032) can include a memory queue and a file queue.
이에 따라, 본 발명은 HTTP/HTTPS 기반의 패킷을 분석할 수 있으며, HTTPS 기반의 패킷을 분석하기 위하여 SSL 프로세싱을 수행하는 방법에 대하여는 이하에서 자세히 설명하도록 한다. Accordingly, the present invention can analyze HTTP/HTTPS-based packets, and a method for performing SSL processing to analyze HTTPS-based packets will be described in detail below.
도 13은 본 발명의 패킷 수집 방법에 따라 수집한 HTTP/HTTPS 기반의 패킷의 분석 데이터의 일 실시 예를 개시하는 도면이다. FIG. 13 is a diagram disclosing one embodiment of analysis data of HTTP/HTTPS-based packets collected according to the packet collection method of the present invention.
일 실시 예에서, HTTP/HTTPS를 기반으로 한 패킷으로부터 시간, 프로토콜 정보, 서버/클라이언트 IP 또는 Port, 계정, 트랜잭션명, 이벤트 정보, 개인정보 개수 중 적어도 하나에 대한 데이터를 추출할 수 있다. 각각의 정의에 대한 내용은 상술한 바와 같다. In one embodiment, data on at least one of time, protocol information, server/client IP or port, account, transaction name, event information, and number of personal information can be extracted from a packet based on HTTP/HTTPS. The contents of each definition are as described above.
일 실시 예에서, HTTP/HTTPS 기반의 패킷 분석 결과를 본 도면과 같이 “데이터”의 형태로 클라이언트에게 제공할 수 있다. In one embodiment, the HTTP/HTTPS-based packet analysis results can be provided to the client in the form of “data” as shown in the drawing.
데이터 관리 플랫폼은 HTTP/HTTPS 기반의 패킷을 분석하면, html 형태 또는 함수 형태의 데이터를 추출할 수 있다. 이때, 데이터 관리 플랫폼은 html 형태의 경우 웹 페이지를 그대로 출력할 수 있고, 함수 형태의 경우, 함수를 그대로 출력할 수 있다. The data management platform can extract data in HTML or function form by analyzing HTTP/HTTPS-based packets. In this case, the data management platform can output the web page as is in HTML form, and can output the function as is in function form.
도 14는 본 발명의 분석된 패킷에 포함된 데이터 중 개인정보를 추출하는 일 실시 예를 개시하는 도면이다. FIG. 14 is a diagram disclosing an embodiment of extracting personal information from data included in an analyzed packet of the present invention.
일 실시 예에서, 데이터 관리 플랫폼(10000)은 개인정보 메타데이터를 사용하여 로그 데이터(log data)와 인덱스(index)를 포함하는 감사 로그(Audit log, 1033)로부터 개인정보를 추출할 수 있다. In one embodiment, the data management platform (10000) can extract personal information from an audit log (1033) including log data and an index using personal information metadata.
보다 상세하게는, 감사 로그(1033)는 네트워크 상에서 발생하는 이벤트들을 기록한 로그의 집합으로, 로그 데이터(log data) 및 인덱스(index)를 포함할 수 있다. 여기에서, 감사 로그(1033)는 인덱스 처리가 완료된 로그 데이터의 집합일 수 있다. More specifically, the audit log (1033) is a set of logs that record events occurring on a network and may include log data and an index. Here, the audit log (1033) may be a set of log data for which index processing has been completed.
데이터 관리 플랫폼(10000)은 감사 로그에서 개인 정보를 추출하기 위하여 개인정보 메타데이터를 사용할 수 있다. 여기에서, 개인정보 메타데이터는 개인정보가 어떤 형태로 저장되어 있는지, 어떤 필드에 저장되어 있는지, 개인정보 유형 별로 사용되는 정규식 패턴 및 마스킹 패턴 등이 정의되어 있다. 예를 들어, 이름, 주소, 전화번호 등의 개인정보 유형에 대한 메타데이터를 구성할 수 있다. 이에 따라, 분석 모듈은 개인정보 메타데이터를 기반으로 로그 데이터에서 개인정보를 식별하고 추출할 수 있다. The data management platform (10000) can use personal information metadata to extract personal information from audit logs. Here, personal information metadata defines the form in which personal information is stored, the field in which it is stored, regular expression patterns and masking patterns used for each type of personal information, etc. For example, metadata for personal information types such as name, address, and phone number can be configured. Accordingly, the analysis module can identify and extract personal information from log data based on the personal information metadata.
일 실시 예에서, 추출된 개인정보는 개인정보 유형 별로 기 설정된 방식에 따라 암호화되어 다시 감사 로그(1033) 또는 데이터 관리 플랫폼(10000) 내부 데이터베이스 상에 저장될 수 있다. 자세한 내용은 후술하도록 한다. In one embodiment, the extracted personal information may be encrypted according to a preset method for each type of personal information and stored again in an audit log (1033) or an internal database of a data management platform (10000). This will be described in more detail later.
일 실시 예에서, 데이터 관리 플랫폼(10000)은 추출된 개인 정보를 사용하여 특정 기간 동안의 로그 데이터를 검색할 수 있고, 관리자나 사용자가 필요할 때 검색하거나 검색된 로그 데이터를 확인할 수 있다. 이에 대하여는 후술하도록 한다. In one embodiment, the data management platform (10000) can search log data for a specific period of time using the extracted personal information, and an administrator or user can search or check the searched log data when necessary. This will be described later.
도 15는 본 발명의 분석된 패킷에 포함된 데이터를 시각화한 일 실시 예를 개시하는 도면이다.FIG. 15 is a diagram disclosing an embodiment of visualizing data included in an analyzed packet of the present invention.
상술한 실시 예를 통하여 분석된 패킷에 포함되는 데이터는 다음과 같다. The data included in the packet analyzed through the above-described example are as follows.
(1) 세션 정보: 시작 시간, Duration Time, Log ID, Session ID, Context ID(1) Session information: Start time, Duration Time, Log ID, Session ID, Context ID
(2) 접속 정보: 서버 IP, 서버 Port, 서버 Mac, 클라이언트 IP, 클라이언트 Port, 클라이언트 Mac(2) Connection information: Server IP, Server Port, Server Mac, Client IP, Client Port, Client Mac
(3) SAP 정보: SID, 프로토콜, SAP 인스턴스, 클라이언트(3) SAP information: SID, protocol, SAP instance, client
(4) 프로그램 정보: OK Code, T-code, Title App, Title Main(4) Program information: OK Code, T-code, Title App, Title Main
(5) CUA(Central User Administration) 정보: CUA Name, CUA Status(5) CUA (Central User Administration) information: CUA Name, CUA Status
(6) 사용자 정보: 사용자 ID, 사용자 UID, 사용자명(6) User information: User ID, User UID, User name
(7) 이벤트 정보: 이벤트 카테고리, 이벤트 코드, 이벤트 이름, 이벤트 설명, 이벤트 값, 알림 수준(7) Event information: event category, event code, event name, event description, event value, notification level
(8) 사용자 정의 정보: 이벤트, 경고, 이벤트 유형, 이벤트 건수, 경고 건수, 아키텍쳐, 개인정보 존재 여부, 개인정보 유형 건수, 개인정보건수(8) User-defined information: events, warnings, event types, number of events, number of warnings, architecture, presence of personal information, number of personal information types, number of personal information
일 실시 예에서, 데이터 관리 플랫폼은 분석된 패킷으로부터 위와 같은 데이터를 추출할 수 있다. 이때, 데이터 관리 플랫폼은 패킷으로부터 추출된 데이터에 개인정보가 포함된 경우, 개인정보에 대한 암호화를 수행하여 저장할 수 있다. 특히, 데이터 관리 플랫폼은 개인정보에 대하여는 별도의 화면으로 출력할 수 있다. In one embodiment, the data management platform can extract the above data from the analyzed packet. At this time, if the data extracted from the packet contains personal information, the data management platform can perform encryption on the personal information and store it. In particular, the data management platform can output the personal information on a separate screen.
이를 통해, 법 및 인증에서 요구하는 모든 사항(계정 정보, 접속일시, 접속지 정보, 처리한 주체 정보, 수행 업무)을 수집할 수 있다. 보다 상세하게는, 계정 정보는 사용자 정보의 사용자 ID, 사번, 조직이름을 통하여, 접속일시는 세션 정보의 시작 시간을 통하여, 접속지 정보는 접속 정보의 클라이언트 IP 또는 Port를 통하여, 처리한 정보주체 정보는 사용자 정의 정보(개인정보 존재 여부, 개인정보 건수, 주민등록번호, 외국인등록번호, 여권 정보 및 카드 정보 등)를 통하여, 수행 업무는 프로그램 정보 및 사용자 정의 정보를 통하여 판단할 수 있다. Through this, all information required by law and certification (account information, access date and time, access location information, information on the subject being processed, and tasks performed) can be collected. More specifically, account information can be determined through the user ID, employee number, and organization name of the user information, access date and time can be determined through the start time of the session information, access location information can be determined through the client IP or port of the access information, processed information subject information can be determined through user-defined information (whether personal information exists, number of personal information, resident registration number, alien registration number, passport information, and card information, etc.), and tasks performed can be determined through program information and user-defined information.
도 16은 본 발명의 분석된 패킷에 포함된 데이터를 검색하는 일 실시 예를 개시하는 도면이다.FIG. 16 is a diagram disclosing one embodiment of searching data included in an analyzed packet of the present invention.
일 실시 예에서, 데이터 관리 플랫폼은 상술한 데이터들을 검색하여 사용자에게 검색 결과를 제공할 수 있다. In one embodiment, the data management platform can search the data described above and provide search results to the user.
이를 위하여, 본 도면의 (a)와 같이 데이터 관리 플랫폼은 사용자가 쉽게 검색할 수 있도록 검색 인터페이스를 제공할 수 있다. 데이터 관리 플랫폼은 분석된 데이터의 필드를 기준으로 데이터를 검색할 수 있다. 예를 들어, 데이터 필드는 프로토콜, 시스템, 계정, 사번, 서버 IP, 서버 Port, 클라이언트 IP, 클라이언트 Port, 인스턴스명, 트랜잭션명, 프로그램명 등을 포함할 수 있다. 이때, 데이터 관리 플랫폼은 사용자로부터 입력 받은 필드 중 적어도 하나를 기준으로 데이터를 검색하고, 검색 결과를 출력할 수 있다. To this end, the data management platform can provide a search interface so that the user can easily search, as in (a) of the drawing. The data management platform can search data based on fields of the analyzed data. For example, the data fields can include protocol, system, account, employee number, server IP, server port, client IP, client port, instance name, transaction name, program name, etc. In this case, the data management platform can search data based on at least one of the fields input by the user and output the search results.
다른 실시 예에서, 본 도면의 (b)와 같이 데이터 관리 플랫폼은 쿼리(query) 검색 기능을 제공할 수 있다. 예를 들어, 사용자가 protocol_type=GUI를 제 1 쿼리로 입력하고, server_ip=175.117.145.125를 제 2 쿼리로 입력하는 경우, 데이터 관리 플랫폼은 제 1 쿼리 및 제 2 쿼리를 기준으로 데이터를 검색할 수 있다. In another embodiment, the data management platform may provide a query search function, such as (b) of the present drawing. For example, if a user inputs protocol_type=GUI as a first query and server_ip=175.117.145.125 as a second query, the data management platform may search for data based on the first query and the second query.
일 실시 예에서, 검색된 결과는 상술한 바와 같이 “화면 재현” 형태 또는 “데이터” 형태로 출력될 수 있다.In one embodiment, the search results may be output in the form of a “screen representation” or “data” as described above.
도 17은 본 발명의 데이터 관리 방법에 따라 수집된 데이터를 모니터링하는 일 실시 예를 개시하는 도면이다. FIG. 17 is a diagram disclosing an embodiment of monitoring data collected according to a data management method of the present invention.
상술한 바와 같이, 데이터 관리 플랫폼(10000)은 적어도 하나의 클라이언트(1000a, 1000b, 1000c)로부터 네트워크(1001) 및 TAP(1001b)을 통하여 패킷을 수집하고 분석할 수 있다. As described above, the data management platform (10000) can collect and analyze packets from at least one client (1000a, 1000b, 1000c) through the network (1001) and TAP (1001b).
수집된 패킷은 기 정의된 이벤트에 기초하여 분류되고 저장될 수 있다. 일 실시 예에서, 데이터 관리 플랫폼(10000)은 분석된 패킷으로부터 수집된 데이터를 모니터링할 수 있다. The collected packets can be classified and stored based on predefined events. In one embodiment, the data management platform (10000) can monitor data collected from the analyzed packets.
보다 상세하게는, 데이터 관리 플랫폼(10000)은 모니터링 모듈(20005)을 통하여 수집된 데이터에 대한 이상 행위를 감지하여 클라이언트(1000a, 1000b, 1000c)의 사용자에게 알람을 제공할 수 있다. 예를 들어, 데이터 관리 플랫폼(10000)은 대시 보드(Dash board), 이메일, SMS 등을 통하여 사용자에게 수집된 데이터에 대한 이상 행위를 보고(report)할 수 있다. More specifically, the data management platform (10000) can detect abnormal behavior in the collected data through the monitoring module (20005) and provide an alarm to the users of the clients (1000a, 1000b, 1000c). For example, the data management platform (10000) can report abnormal behavior in the collected data to the users through a dashboard, email, SMS, etc.
일 실시 예에서, 데이터 관리 플랫폼(10000)은 이상 행위가 감지되는 경우, 클라이언트(1000a, 1000b, 1000c)의 접속을 제어할 수 있다. 예를 들어, 사용자가 클라이언트(1000a, 1000b, 1000c)에 접속하여 수행한 이벤트가 이상 행위로 판단되는 경우, 모니터링 모듈(20005)은 대시 보드 등을 통하여 사용자에게 알람을 제공함과 동시에 클라이언트(1000a, 1000b, 1000c)의 접속을 차단할 수 있다. In one embodiment, the data management platform (10000) can control the access of clients (1000a, 1000b, 1000c) when an abnormal behavior is detected. For example, when an event performed by a user by accessing a client (1000a, 1000b, 1000c) is determined to be an abnormal behavior, the monitoring module (20005) can provide an alarm to the user through a dashboard or the like and block the access of the client (1000a, 1000b, 1000c).
특히, 데이터 관리 플랫폼(10000)은 클라이언트(1000a, 1000b, 1000c)가 아카이브 파일(Archive File)이 포함된 데이터베이스(1003)에 접근하여 이벤트를 발생시키는 것을 모니터링하여 알람을 제공하거나 접근을 제어할 수 있다. 여기에서, 데이터베이스(1003)는 데이터 관리 플랫폼(10000) 외부에 저장된 저장소(storage) 또는 내부에 저장된 저장소에 대응한다. 또한, 이벤트에 대한 정보는 상술한 내용을 참고하도록 한다. In particular, the data management platform (10000) can monitor when a client (1000a, 1000b, 1000c) accesses a database (1003) containing an archive file and generates an event, thereby providing an alarm or controlling access. Here, the database (1003) corresponds to a storage stored outside the data management platform (10000) or a storage stored inside the same. In addition, for information on the event, refer to the above-described content.
또한, 데이터 관리 플랫폼(1000)은 이상 행위가 아니더라도 기 설정된 이벤트에 해당하는 경우, 클라이언트(1000a, 1000b, 1000c)의 접근을 제어할 수 있다. In addition, the data management platform (1000) can control access of clients (1000a, 1000b, 1000c) if it corresponds to a preset event, even if it is not an abnormal behavior.
또한, 데이터 관리 플랫폼(1000)은 클라이언트(1000a, 1000b, 1000c)로부터 입력된 데이터가 개인정보인 경우, 이를 감지하여 보안 담당자에게 예를 들어, 메일로 입력된 데이터를 포함하는 화면을 전송할 수 있다. In addition, the data management platform (1000) can detect if data entered from a client (1000a, 1000b, 1000c) is personal information and send a screen containing the entered data to a security officer, for example, by email.
도 18은 본 발명의 데이터 관리 플랫폼이 수집된 패킷을 분배하는 실시 예를 설명하는 도면이다. FIG. 18 is a diagram illustrating an embodiment in which the data management platform of the present invention distributes collected packets.
일 실시 예에서, 데이터 관리 플랫폼은 수집 모듈(20001)을 통하여 패킷을 수집할 수 있다. In one embodiment, the data management platform can collect packets through a collection module (20001).
보다 상세하게는, 수집 모듈(20001)은 네트워크(예를 들어, 상술한 NIC를 통하여)에서 패킷을 수집할 수 있다. 여기에서, 패킷 수집은 상술한 물리적인 장치 또는 가상 머신에서 실행되는 소프트웨어로 수행될 수 있다. 여기에서, 패킷은 프로토콜 헤더와 페이로드 데이터로 구성된 패킷을 포함할 수 있다. More specifically, the collection module (20001) can collect packets from a network (e.g., via the NIC described above). Here, packet collection can be performed by software running on the physical device described above or a virtual machine. Here, the packet can include a packet composed of a protocol header and payload data.
본 발명의 일 실시 예에서, 데이터 관리 플랫폼은 사용자가 애플리케이션 서버에 접근해서 수행하는 모든 행위에 대한 패킷을 수집할 수 있다. 예를 들어, 애플리케이션 사용자는 SAP GUI 프로토콜, RFC 프로토콜, HTTP 등 다양한 프로토콜을 사용하여 SAP 서버에 접근할 수 있다. 뿐만 아니라, 애플리케이션 사용자는 SAP SNC 프로토콜, HTTPS 등을 사용하여서도 SAP 서버에 접근할 수 있다. 각각의 경우에 대하여 자세히 설명하도록 한다. In one embodiment of the present invention, the data management platform can collect packets for all actions performed by a user when accessing an application server. For example, an application user can access an SAP server using various protocols such as SAP GUI protocol, RFC protocol, HTTP, etc. In addition, an application user can access an SAP server using SAP SNC protocol, HTTPS, etc. Each case will be described in detail.
분석 모듈(20002)은 수집 모듈(20001)을 통하여 수집된 패킷을 프로토콜을 기반으로 분배할 수 있다. 보다 상세하게는, 분석 모듈(20002)은 조각난 패킷을 재조립하고, TCP 정보, 프로토콜, 포트(port), IP 주소 등을 기반으로 패킷을 제 1 분석 모듈(20002a), 제 2 분석 모듈(20002b), …등에 분배할 수 있다. 여기에서, 제 1 분석 모듈(20002a) 및 제 2 분석 모듈(20002b)는 예를 든 것으로, 프로토콜에 기초하여, 데이터 관리 플랫폼은 패킷을 분석하기 위한 모듈을 생성할 수 있다. The analysis module (20002) can distribute packets collected through the collection module (20001) based on the protocol. More specifically, the analysis module (20002) can reassemble fragmented packets and distribute the packets to the first analysis module (20002a), the second analysis module (20002b), etc. based on TCP information, protocol, port, IP address, etc. Here, the first analysis module (20002a) and the second analysis module (20002b) are examples, and based on the protocol, the data management platform can generate a module for analyzing the packets.
제 1 분석 모듈(20002a) 및 제 2 분석 모듈(20002b)은 패킷을 분석하고, 패킷에 포함된 데이터를 데이터베이스(20007)에 저장할 수 있다. The first analysis module (20002a) and the second analysis module (20002b) can analyze packets and store data included in the packets in a database (20007).
데이터베이스(20007)은 분석된 패킷의 로그 데이터를 저장하고, 필요한 경우 검색 및 조회 기능을 제공할 수 있다. The database (20007) stores log data of analyzed packets and can provide search and query functions when necessary.
이하에서는, 각각 다른 프로토콜에 대한 패킷 분석 방법에 대하여 자세히 설명하도록 한다. Below, we will explain packet analysis methods for each different protocol in detail.
도 19는 본 발명의 데이터 관리 플랫폼이 RFC 프로토콜 기반의 패킷을 분석하는 실시 예를 설명하는 도면이다.FIG. 19 is a diagram illustrating an example of a data management platform of the present invention analyzing a packet based on the RFC protocol.
일 실시 예에서, 데이터 관리 플랫폼(10000)은 수집 모듈(20001)과 분석 모듈(20002)을 통하여 애플리케이션서버(1002)와 RFC 정보와 패킷에 대한 분석 및 구조 정보를 송수신할 수 있다. 이하에서, 데이터 관리 플랫폼(10000)은 수집 모듈(20001) 또는 분석 모듈(20002)이 수행하는 기능을 지원하기 위한 API를 제공할 수 있다. In one embodiment, the data management platform (10000) can transmit and receive RFC information and analysis and structure information on packets to and from the application server (1002) through the collection module (20001) and the analysis module (20002). Hereinafter, the data management platform (10000) can provide an API to support the functions performed by the collection module (20001) or the analysis module (20002).
수집 모듈(20001)은 RFC 패킷 수집부(2001)를 포함할 수 있다. 여기에서, RFC 패킷 수집부(2001)는 수집된 패킷 중 RFC 패킷을 추출하여 분석 모듈(20002)에 전달할 수 있다. The collection module (20001) may include an RFC packet collection unit (2001). Here, the RFC packet collection unit (2001) may extract RFC packets from among the collected packets and transmit them to the analysis module (20002).
분석 모듈(20002)은 RFC 정보 요청부(2002) 및 RFC 패킷 분석부(2003)를 포함할 수 있다. 즉, 분석 모듈(20002)은 수집 모듈(20001)로부터 전달받은 RFC 패킷을 분석할 수 있다. 보다 상세하게는, 데이터 관리 플랫폼(10000) 내에 RFC 구조 정보가 있는 경우, RFC 구조 정보를 이용하여 RFC 패킷을 분석할 수 있다. 반면, 데이터 관리 플랫폼(10000) 내에 RFC 구조 정보가 없는 경우, RFC 정보 요청부(2002)는 RFC 정보 요청 파일을 생성할 수 있다. RFC 정보 요청부(2002)는 RFC 정보 요청 파일을 감지하는 경우, 애플리케이션 서버(1002)에 RFC 구조 정보를 요청할 수 있다. 이에 따라, 데이터 관리 플랫폼(10000)은 애플리케이션 서버(1002)에 RFC 정보를 요청할 수 있고, RFC 구조 정보를 수신할 수 있다. RFC 패킷 분석부(2003) 은 애플리케이션 서버(1002)로부터 수신한 RFC 구조 정보를 이용하여 RFC 패킷을 분석할 수 있다. The analysis module (20002) may include an RFC information request unit (2002) and an RFC packet analysis unit (2003). That is, the analysis module (20002) may analyze an RFC packet received from the collection module (20001). More specifically, if there is RFC structure information in the data management platform (10000), the RFC packet may be analyzed using the RFC structure information. On the other hand, if there is no RFC structure information in the data management platform (10000), the RFC information request unit (2002) may generate an RFC information request file. If the RFC information request unit (2002) detects an RFC information request file, it may request RFC structure information from the application server (1002). Accordingly, the data management platform (10000) may request RFC information from the application server (1002) and receive RFC structure information. The RFC packet analysis unit (2003) can analyze RFC packets using RFC structure information received from the application server (1002).
도 20은 본 발명의 데이터 관리 플랫폼이 패킷을 분석하는 실시 예를 설명하는 도면이다.FIG. 20 is a diagram illustrating an embodiment in which the data management platform of the present invention analyzes packets.
일 실시 예에서, 데이터 관리 플랫폼(10000)은 수집 모듈(20001)을 통하여 수집된 패킷이 HTTP/HTTPS 기반의 패킷, GUI/SNC 프로토콜 기반의 패킷인 경우, 분석 모듈(20002)을 통하여 패킷을 분석할 수 있다. 이때, 데이터 관리 플랫폼(10000)은 패킷을 분석하는데 사용되는 인증서를 관리하는 데이터베이스(20007)를 유지할 수 있다. In one embodiment, the data management platform (10000) can analyze packets through the analysis module (20002) if the packets collected through the collection module (20001) are HTTP/HTTPS-based packets or GUI/SNC protocol-based packets. At this time, the data management platform (10000) can maintain a database (20007) that manages certificates used to analyze packets.
보다 상세하게는, 분석 모듈(20002)은 HTTP 패킷 분석부(2004), HTTPS 패킷 분석부(2005), GUI 패킷 분석부(2006) 및 SNC 패킷 분석부(2007)를 포함할 수 있다. More specifically, the analysis module (20002) may include an HTTP packet analysis unit (2004), an HTTPS packet analysis unit (2005), a GUI packet analysis unit (2006), and an SNC packet analysis unit (2007).
여기에서, HTTP 패킷 분석부(2004)는 HTTP 패킷을 분석하고, HTTPS 패킷 분석부(2005)는 HTTPS 패킷을 분석하고, GUI 패킷 분석부(2006)는 GUI 프로토콜 기반 패킷을 분석하고, SNC 패킷 분석부(2007) SNC 프로토콜 기반 패킷 분석을 수행할 수 있다. Here, the HTTP packet analysis unit (2004) can analyze HTTP packets, the HTTPS packet analysis unit (2005) can analyze HTTPS packets, the GUI packet analysis unit (2006) can analyze GUI protocol-based packets, and the SNC packet analysis unit (2007) can perform SNC protocol-based packet analysis.
분석 모듈(20002)은 보안 수준이 상대적으로 낮은 HTTP 패킷 및 GUI 프로토콜 기반의 패킷은 상술한 실시 예에 따라 패킷을 분석할 수 있다. The analysis module (20002) can analyze packets based on HTTP packets and GUI protocols with relatively low security levels according to the above-described embodiment.
반면, 보안 수준이 상대적으로 높은 HTTPS 패킷 및 SNC 패킷은 데이터베이스(20007)에 저장된 SSL 인증서를 사용하여 암호화된 통신을 복호화하여 패킷을 분석할 수 있다. On the other hand, HTTPS packets and SNC packets with relatively high security levels can be analyzed by decrypting encrypted communications using the SSL certificate stored in the database (20007).
이에 따라, 데이터 관리 플랫폼(10000)은 암호화된 HTTPS 기반의 패킷을 HTTP 기반의 패킷과 동일하게 데이터를 추출할 수 있다. 마찬가지로, 데이터 관리 플랫폼(10000)은 암호화된 SNC 프로토콜 기반의 패킷을 GUI 프로토콜 기반의 패킷과 동일하게 데이터를 추출할 수 있다. Accordingly, the data management platform (10000) can extract data from an encrypted HTTPS-based packet in the same way as an HTTP-based packet. Similarly, the data management platform (10000) can extract data from an encrypted SNC protocol-based packet in the same way as a GUI protocol-based packet.
HTTPS 패킷을 분석하는 방법에 대하여는 후술하도록 한다. 이때, HTTPS 패킷과 SNC 패킷에 사용되는 인증서는 동일하거나 상이한 인증서에 대응할 수 있다. The method of analyzing HTTPS packets will be described later. At this time, the certificates used for HTTPS packets and SNC packets may correspond to the same or different certificates.
도 21은 본 발명의 데이터 관리 플랫폼이 감사 로그를 저장하고 모니터링하는 실시 예를 설명하는 도면이다.FIG. 21 is a diagram illustrating an embodiment in which the data management platform of the present invention stores and monitors audit logs.
일 실시 예에서, 데이터 관리 플랫폼(10000)은 상술한 실시 예에 따라 추출한 원본 데이터를 정의된 필드 규칙에 따라 변환하고 가공하여 감사 로그(1033)를 생성할 수 있다. 여기에서, 생성된 감사 로그(1033)는 데이터베이스(20007)에 저장될 수 있다. In one embodiment, the data management platform (10000) may convert and process the original data extracted according to the above-described embodiment according to defined field rules to generate an audit log (1033). Here, the generated audit log (1033) may be stored in a database (20007).
또한, 데이터 관리 플랫폼(10000)은 가공된 데이터 중에서 개인정보 메타데이터를 이용하여 개인정보를 추출할 수 있다. 이에 따라, 데이터 관리 플랫폼(10000)은 감사 로그(1033)와 개인정보를 각각 데이터베이스(20007)에 저장할 수 있다. 이를 위하여, 분석 모듈(20002)은 감사 로그 저장부(2008)를 더 포함할 수 있다. In addition, the data management platform (10000) can extract personal information using personal information metadata from the processed data. Accordingly, the data management platform (10000) can store audit logs (1033) and personal information in a database (20007), respectively. For this purpose, the analysis module (20002) can further include an audit log storage unit (2008).
또한, 분석 모듈(20003)은 상관 분석 규칙 생성부(2009)를 더 포함할 수 있다. 데이터 관리 플랫폼(10000)은 분석 모듈(20002)를 통하여 상관 분석 규칙을 생성할 수 있다. 여기에서, 상관 규칙이란 이상 행위 판단에 대한 규칙을 나타낼 수 있다. 예를 들어, 데이터 관리 플랫폼(10000)은 1초당 데이터가 1-2건 입력되는 경우 정상 행위로 판단하고, 1초당 데이터가 10건 이상 입력되는 경우 이상 행위로 판단할 수 있다. 여기에서, “상관”이라는 표현은 로그(log) 간의 상관성을 나타낼 수 있다. 이때, 데이터 관리 플랫폼(10000)은 상관 규칙에 의해 또다른 이벤트(로그)를 발생시킬 수 있다. 이때의 로그는 인시던트로 정의할 수 있다. 즉, 데이터 관리 플랫폼(10000)을 통하여 모니터링을 원하는 주체(subject)가 상관 규칙을 생성하고, 데이터 관리 플랫폼(10000)은 상관 규칙에 기초하여 로그들을 분석하고 또 다른 로그인 인시던트를 발생시킬 수 있다. In addition, the analysis module (20003) may further include a correlation analysis rule generation unit (2009). The data management platform (10000) may generate a correlation analysis rule through the analysis module (20002). Here, the correlation rule may represent a rule for determining abnormal behavior. For example, the data management platform (10000) may determine that if 1-2 pieces of data are input per second, it is a normal behavior, and if 10 or more pieces of data are input per second, it is an abnormal behavior. Here, the expression “correlation” may represent a correlation between logs. At this time, the data management platform (10000) may generate another event (log) by the correlation rule. The log at this time may be defined as an incident. That is, a subject wishing to monitor can create a correlation rule through the data management platform (10000), and the data management platform (10000) can analyze logs based on the correlation rule and generate another login incident.
또한, 상관 분석 규칙은 다른 플랫폼에 의해 기 정의된 규칙에 대응할 수 있다. 이에 따라, 데이터 관리 플랫폼(10000)은 생성된 상관 분석 규칙을 이용하여 감사 로그(1033)를 분석하여 이상행위 이벤트를 생성할 수 있다. 이때, 생성된 상관 분석 규칙에 대한 정보 및 이상행위 이벤트에 대한 정보는 데이터베이스(20007)에 저장될 수 있다.In addition, the correlation analysis rule can correspond to a rule predefined by another platform. Accordingly, the data management platform (10000) can analyze the audit log (1033) using the generated correlation analysis rule to generate an abnormal behavior event. At this time, information about the generated correlation analysis rule and information about the abnormal behavior event can be stored in the database (20007).
데이터 관리 플랫폼(10000)의 모니터링 모듈(20005)는 이상행위 모니터링부(2010)를 더 포함할 수 있다. 이상행위 모니터링부(2010)는 생성된 이상행위 이벤트에 기초하여 저장된 감사 로그(1033), 개인정보 등을 검색 또는 모니터링할 수 있다. The monitoring module (20005) of the data management platform (10000) may further include an abnormal behavior monitoring unit (2010). The abnormal behavior monitoring unit (2010) may search or monitor stored audit logs (1033), personal information, etc. based on generated abnormal behavior events.
이에 따라, 데이터 관리 플랫폼(10000)은 수집, 분석되어 저장된 데이터에서 개인정보를 추출할 수 있고, 추출된 개인정보를 이용하여 사용자 행위를 통계화할 수 있다. 이후, 수집된 사용자 행위 중 위반 행위가 발생한 경우, 데이터 관리 플랫폼(10000)은 사용자를 차단 또는 관리자에게 경고를 제공할 수 있다. Accordingly, the data management platform (10000) can extract personal information from the collected, analyzed, and stored data, and can use the extracted personal information to compile statistics on user behavior. Thereafter, if a violation occurs among the collected user behaviors, the data management platform (10000) can block the user or provide a warning to the administrator.
도 22는 본 발명의 데이터 관리 방법이 수집된 패킷을 분배하는 실시 예를 설명하는 도면이다.FIG. 22 is a drawing illustrating an embodiment of a data management method of the present invention for distributing collected packets.
단계(S10010)에서, 데이터 관리 방법은 패킷을 수집하고 필터를 적용할 수 있다. 이때, 데이터 관리 방법은 NIC와 같은 네트워크 장비를 통하여 패킷을 수집할 수 있다. 이후, 데이터 관리 방법은 수집된 패킷을 재조합하고, 각각의 네트워크 패킷을 분석 가능한 패킷 형태로 합칠 수 있다. In step (S10010), the data management method can collect packets and apply a filter. At this time, the data management method can collect packets through network equipment such as a NIC. Thereafter, the data management method can reassemble the collected packets and combine each network packet into an analyzable packet form.
일 실시 예에서, 데이터 관리 방법은 필터링 규칙에 기초하여 패킷을 분석할지 여부를 결정할 수 있다. 여기에서, 필터링 규칙은 데이터 관리 플랫폼에 의해 결정될 수 있다. 보다 상세하게는, 데이터 관리 방법은 상술한 NIC나 라우터와 같은 네트워크 장비를 통하여 패킷을 수집할 수 있다. 이때, 수집되는 모든 패킷을 분석한다면 성능에 이슈가 있을 수 있기 때문에 필터링 규칙에 의해 분석할 패킷을 필터링할 수 있다. 예를 들면, HTTP나 SAP GUI 프로토콜 기반의 패킷은 분석할 필요가 있지만 그 외의 다른 프로토콜로 수집된 패킷은 분석할 필요가 없을 수 있다. 이때, 데이터 관리 방법은 포트 또는 IP 별로 원하는 프로토콜 기반의 패킷만을 분석하도록 수집된 패킷을 필터링할 수 있다. 이때, 사용자는 데이터 관리 방법을 이용하여 직접 필터링 규칙을 설정할 수 있다. In one embodiment, the data management method can determine whether to analyze packets based on filtering rules. Here, the filtering rules can be determined by the data management platform. More specifically, the data management method can collect packets through network equipment such as the NIC or router described above. At this time, since analyzing all collected packets may cause performance issues, packets to be analyzed can be filtered by filtering rules. For example, packets based on HTTP or SAP GUI protocols need to be analyzed, but packets collected using other protocols may not need to be analyzed. At this time, the data management method can filter the collected packets so that only packets based on the desired protocol are analyzed by port or IP. At this time, the user can directly set the filtering rules using the data management method.
단계(S10020)에서, 데이터 관리 방법은 TCP 세션 정보에 기초하여 프로토콜을 구분할 수 있다. 상술한 바와 같이, 데이터 관리 방법은 수집된 패킷을 프로토콜을 기반으로 구분하여 분석할 수 있다. In step (S10020), the data management method can distinguish protocols based on TCP session information. As described above, the data management method can analyze collected packets by distinguishing them based on protocols.
데이터 관리 방법은 단계(S10020)에서 구분된 프로토콜에 기초하여 다른 방법으로 패킷을 분석할 수 있다. 각각에 대한 분석 방법은 상술한 바와 같다.The data management method can analyze packets in different ways based on the protocols distinguished in step (S10020). The analysis methods for each are as described above.
단계(S10030)에서, 데이터 관리 방법은 RFC 프로토콜 기반 패킷을 분석할 수 있다. In step (S10030), the data management method can analyze a packet based on the RFC protocol.
단계(S10040)에서, 데이터 관리 방법은 GUI/SNC 프로토콜 기반 패킷을 분석할 수 있다. In step (S10040), the data management method can analyze a GUI/SNC protocol-based packet.
단계(S10050)에서, 데이터 관리 방법은 HTTP/HTTPS 기반 패킷을 분석할 수 있다. In step (S10050), the data management method can analyze HTTP/HTTPS-based packets.
단계(S10030) 내지 단계(S10050)에서, 데이터 관리 방법은 패킷을 파싱한 후 분석을 위한 처리 규칙을 수행할 수 있다. 이때, 데이터 관리 방법은 패킷의 바이너리 데이터를 분석하여 각종 데이터(계정 데이터, SID, 화면 입력 데이터, 화면 출력 데이터 등)를 추출할 수 있다. 또한, 처리 규칙은 분석된 패킷 내에 포함된 데이터를 감사 로그(1033)에 저장할 것인지 여부, 분석된 패킷 내에 포함된 데이터의 가공 또는 로깅(logging) 여부, 이벤트 및 경고를 발생시킬지 여부 등을 처리하는 설정을 나타낼 수 있다. 이외에도, 데이터 관리 방법은 불필요한 로그를 필터링하는 필터 규칙과 처리 규칙을 처리하기 위한 데이터를 로딩하는 적제 규칙을 더 수행할 수 있다. In steps (S10030) to (S10050), the data management method may perform processing rules for analysis after parsing the packet. At this time, the data management method may analyze binary data of the packet to extract various data (account data, SID, screen input data, screen output data, etc.). In addition, the processing rules may indicate settings for processing whether to store data included in the analyzed packet in an audit log (1033), whether to process or log data included in the analyzed packet, and whether to generate events and warnings. In addition, the data management method may further perform a filter rule for filtering out unnecessary logs and an upload rule for loading data for processing the processing rules.
단계(S10060)에서, 데이터 관리 방법은 분석된 패킷에 기초하여 감사 로그(1033)를 생성할 수 있다. 이때, 데이터 관리 방법은 로그 저장 속도를 높이기 위하여 멀티 쓰레딩(multi-threading) 방식으로 동작하며 데이터베이스의 접근이 일시적으로 불가능한 경우에 대비하여 메모리 큐잉 및 파일 큐잉을 수행할 수 있다. In step (S10060), the data management method can generate an audit log (1033) based on the analyzed packet. At this time, the data management method operates in a multi-threading manner to increase the log storage speed, and can perform memory queuing and file queuing in preparation for cases where database access is temporarily impossible.
단계(S10070)에서, 데이터 관리 방법은 생성된 감사 로그(1033)에 대하여 개인정보 메타데이터를 이용하여 개인정보를 추출할 수 있다. In step (S10070), the data management method can extract personal information using personal information metadata for the generated audit log (1033).
단계(S10080)에서, 데이터 관리 방법은 감사 로그(1033)를 저장할 수 있다. 이때, 데이터 관리 방법은 감사 로그(1033)와 개인정보를 각각 저장할 수 있다. In step (S10080), the data management method can store an audit log (1033). At this time, the data management method can store the audit log (1033) and personal information, respectively.
단계(S10090)에서, 데이터 관리 방법은 이상행위를 모니터링할 수 있다. In step (S10090), the data management method can monitor abnormal behavior.
도 23은 본 발명의 데이터 관리 플랫폼이 HTTPS 기반 패킷을 분석하는 실시 예를 설명하는 도면이다.FIG. 23 is a diagram illustrating an embodiment in which the data management platform of the present invention analyzes HTTPS-based packets.
HTTPS(SSL)로 보호된 웹 브라우저에서의 사용자 행위는 기존의 네트워크 트래픽 미러 기술로는 로그를 기록할 수 없다. 특히, HTTPS 연결 시 키교환을 위해 디피-헬만(Diffie-Hellman) 알고리즘을 사용하는 경우에는 로그를 기록할 수 없다. 여기에서, 디피-헬만(Diffie-Hellman) 알고리즘은 대칭키 암호화 방식에서 사용되는 알고리즘 중 하나로, 키 교환 프로토콜을 안전하게 수행하기 위한 방법에 대응한다. User behavior in a web browser protected by HTTPS (SSL) cannot be logged using existing network traffic mirror technology. In particular, logs cannot be recorded when the Diffie-Hellman algorithm is used for key exchange during HTTPS connection. Here, the Diffie-Hellman algorithm is one of the algorithms used in symmetric key encryption, and corresponds to a method for safely performing key exchange protocols.
하지만 기업 내 이상행위 및 개인정보 과남용을 모니터링하기 위해서는 웹 브라우저에서의 사용자 행위에 대한 로그를 기록하고 모니터링 해야 하는 요구가 있다.However, in order to monitor abnormal behavior and misuse of personal information within a company, there is a need to record and monitor logs of user behavior in web browsers.
본 발명의 일 실시 예에 따르면, 키교환을 위해 디피-헬만 알고리즘을 사용하는 경우에도 웹 브라우저에서의 사용자 행위에 대한 로그를 기록해 기업 내 이상행위 및 개인정보 과남용을 모니터링할 수 있다. According to one embodiment of the present invention, even when the Diffie-Hellman algorithm is used for key exchange, logs of user actions in a web browser can be recorded to monitor abnormal behavior and misuse of personal information within a company.
이를 위하여, 데이터 관리 플랫폼(10000)은 디피-헬만 알고리즘을 사용하는 경우에도 사용자 행위를 모니터링할 수 있도록 한다. To this end, the data management platform (10000) enables monitoring of user behavior even when using the Diffie-Hellman algorithm.
보다 상세하게는, 데이터 관리 플랫폼(10000)의 분석 모듈(20002)은 프록시 서버 구성부(2011), SSL 설정부(2012), HTTP 요청/응답 데이터 분석부(2013) 및 메시지 데이터 생성부(2014)를 더 포함할 수 있다. More specifically, the analysis module (20002) of the data management platform (10000) may further include a proxy server configuration unit (2011), an SSL setting unit (2012), an HTTP request/response data analysis unit (2013), and a message data generation unit (2014).
여기에서, 프록시 서버 구성부(2011)는 웹 브라우저(1030)와 웹 서버(1034) 사이에 프록시 서버(1031)를 구성할 수 있다. 여기에서, 프록시 서버(1031)는 클라이언트와 서버 간의 네트워크 통신을 중개하는 서버로, 클라이언트는 프록시 서버(1031)를 이용하는 경우 직접 웹 서버(1034)와 통신하지 않고 프록시 서버(1031)를 통하여 간접적으로 통신할 수 있다. Here, the proxy server configuration unit (2011) can configure a proxy server (1031) between a web browser (1030) and a web server (1034). Here, the proxy server (1031) is a server that mediates network communication between a client and a server, and when a client uses the proxy server (1031), it can communicate indirectly through the proxy server (1031) without directly communicating with the web server (1034).
SSL 설정부(2012)는 프록시 서버(1031)에서 SSL을 설정할 수 있다. 보다 상세하게는, SSL 설정부(2012)는 프록시 서버(1031)를 구성하고, 클라이언트 SSL 설정을 이용하여 웹 브라우저(1030)와 프록시 서버(1031) 간의 SSL 환경을 구성하여 HTTPS 요청/응답에 대한 처리를 수행할 수 있다. 일 실시 예에서, SSL 설정부(2012)는 SSL 설정을 위하여 SSL 인증서를 사용할 수 있다. 여기에서, SSL 인증서는 상술한 패킷을 분석하기 위한 인증서와는 상이한 인증서에 대응할 수 있다. 즉, 이때의 SSL 인증서는 SSL 설정을 지원(support)하기 위한 것에 대응한다. The SSL setting unit (2012) can set up SSL in the proxy server (1031). More specifically, the SSL setting unit (2012) can configure the proxy server (1031) and use the client SSL setting to configure an SSL environment between the web browser (1030) and the proxy server (1031) to perform processing for HTTPS requests/responses. In one embodiment, the SSL setting unit (2012) can use an SSL certificate for SSL setting. Here, the SSL certificate can correspond to a certificate different from the certificate for analyzing the packet described above. That is, the SSL certificate at this time corresponds to supporting the SSL setting.
HTTPS 요청 데이터를 전달받은 프록시 서버(1031)는 SSL 연결을 일시적으로 중단할 수 있고, HTTP 요청/응답 분석부(2013)를 통해 HTTP 요청/응답 데이터를 처리하고, 다시 SSL 연결을 수행할 수 있다. A proxy server (1031) that receives HTTPS request data can temporarily suspend the SSL connection, process the HTTP request/response data through the HTTP request/response analysis unit (2013), and perform the SSL connection again.
이에 따라, 메시지 데이터 생성부(2014)는 HTTP 요청/응답 데이터를 조합하여 메시지 데이터(1035)를 생성할 수 있고, 생성된 메시지 데이터(1035)를 큐(1032)에 저장할 수 있다. 여기에서, 큐(1032)는 메모리 큐와 파일 큐를 포함할 수 있다. Accordingly, the message data generation unit (2014) can generate message data (1035) by combining HTTP request/response data and store the generated message data (1035) in a queue (1032). Here, the queue (1032) can include a memory queue and a file queue.
이후, 데이터 관리 플랫폼(10000)은 큐(1032)에 저장된 메시지 데이터(1035)를 외부로 전송할 수 있다. Afterwards, the data management platform (10000) can transmit message data (1035) stored in the queue (1032) to the outside.
마지막으로, 데이터 관리 플랫폼(10000)은 서버 SSL 설정을 이용하여 프록시 서버(1031)와 웹 서버(1034) 간의 SSL 환경을 구성하여 HTTPS 요청/응답에 대한 처리를 수행하고, HTTPS 응답 데이터를 전달할 수 있다. Finally, the data management platform (10000) can configure an SSL environment between a proxy server (1031) and a web server (1034) using server SSL settings to process HTTPS requests/responses and transmit HTTPS response data.
이를 통해 디피-헬만 알고리즘을 사용하는 경우에도 웹 브라우저에서의 사용자 행위에 대한 로그를 기록할 수 있다. This allows us to log user actions in web browsers even when using the Diffie-Hellman algorithm.
도 24는 본 발명의 데이터 관리 방법이 HTTPS 기반 패킷을 분석하는 실시 예를 설명하는 도면이다.FIG. 24 is a drawing illustrating an embodiment of a data management method of the present invention analyzing HTTPS-based packets.
단계(S20010)에서, 데이터 관리 방법은 HTTPS 기반 패킷을 수집하기 위하여 프록시 서버를 구성하고 클라이언트 SSL을 설정하고, 단계(S20020)에서, 프록시 서버를 구성하고 서버 SSL을 설정할 수 있다. 즉, 데이터 관리 방법은 프록시 서버를 구성하고, 서버 SSL 설정을 이용하여 프록시 서버와 웹 서버 간의 SSL 환경을 구성하여 HTTPS 요청/응답에 대한 처리를 수행하고, HTTPS 응답 데이터를 전달할 수 있다. In step (S20010), the data management method may configure a proxy server and set client SSL to collect HTTPS-based packets, and in step (S20020), the proxy server may be configured and server SSL may be set. That is, the data management method may configure a proxy server, configure an SSL environment between the proxy server and a web server using the server SSL settings, perform processing for HTTPS requests/responses, and transmit HTTPS response data.
프록시 서버가 구성되고, SSL이 설정되는 경우, 단계(S20030)에서, 데이터 관리 방법은 HTTPS 패킷을 수집할 수 있다. 상술한 바와 달리, 본 도면의 데이터 관리 방법에서는 HTTPS 패킷을 수집하는 경우를 예를 들어 설명한다. When a proxy server is configured and SSL is set up, in step (S20030), the data management method can collect HTTPS packets. Unlike the above, the data management method of this drawing explains an example of collecting HTTPS packets.
HTTPS 연결의 경우 키교환을 위해 디피-헬만 알고리즘을 사용하는데, 디피-헬만 알고리즘을 이용하여 패킷을 암호화하는 경우에는 기존의 네트워크 트래픽 미러 기술로는 사용자 행위에 대한 로그를 기록할 수 없기 때문에 본 발명은 이하의 방법을 제안한다. In the case of HTTPS connections, the Diffie-Hellman algorithm is used for key exchange. Since it is impossible to record logs of user actions using the existing network traffic mirror technology when encrypting packets using the Diffie-Hellman algorithm, the present invention proposes the following method.
단계(S20040)에서, 데이터 관리 방법은 HTTPS 요청/응답에 대한 처리를 수행할 수 있다. 즉, 데이터 관리 방법은 프록시 서버를 구성하고, 클라이언트 SSL 설정을 이용하여 웹 브라우저와 프록시 서버 간의 SSL 환경을 구성하여 HTTPS 요청/응답에 대한 처리를 수행할 수 있다. 이후, HTTPS 요청 데이터를 전달받은 프록시 서버는 SSL 연결을 중단하고, HTTP 요청/응답 데이터를 처리한 후 다시 SSL 연결을 수행할 수 있다.In step (S20040), the data management method can perform processing for HTTPS requests/responses. That is, the data management method can configure a proxy server and configure an SSL environment between a web browser and the proxy server using client SSL settings to perform processing for HTTPS requests/responses. Thereafter, the proxy server that has received the HTTPS request data can terminate the SSL connection, process the HTTP request/response data, and then perform the SSL connection again.
단계(S20050)에서, 데이터 관리 방법은 HTTP 요청/응답 데이터를 조합하여 메시지 데이터(1035)를 생성할 수 있다. 이때, 데이터 관리 방법은 불필요한 데이터를 필터링할 수 있다. 보다 상세하게는, 데이터 관리 방법은 HTTP 요청/응답 데이터를 조합하여 메시지 데이터(1035)를 생성할 수 있는데, 로깅(logging)할 때 불필요한 데이터(예를 들어, 이미지 데이터)는 전달하지 않을 수 있다. In step (S20050), the data management method can generate message data (1035) by combining HTTP request/response data. At this time, the data management method can filter out unnecessary data. More specifically, the data management method can generate message data (1035) by combining HTTP request/response data, and when logging, unnecessary data (e.g., image data) may not be transmitted.
단계(S20060)에서, 데이터 관리 방법은 생성된 메시지 데이터(1035)를 메모리 큐(queue) 또는 파일 큐 중 적어도 하나에 적재할 수 있다. 보다 상세하게는, 데이터 관리 방법은 메시지 데이터(1035)를 저장하기 위한 큐로 메모리 큐 및 파일 큐를 사용할 수 있다. 이때, 메시지 데이터(1035)를 저장하기 위하여 파일 큐만 사용하는 경우 성능이 낮아질 위험이 있고, 메모리 큐만 사용하는 경우 데이터의 유실이 발생할 수 있기 때문에 두가지 큐를 조합하여 사용할 수 있다. In step (S20060), the data management method can load the generated message data (1035) into at least one of a memory queue or a file queue. More specifically, the data management method can use a memory queue and a file queue as queues for storing the message data (1035). At this time, if only a file queue is used to store the message data (1035), there is a risk of performance degradation, and if only a memory queue is used, data loss may occur, so the two queues can be used in combination.
단계(S20070)에서, 데이터 관리 방법은 큐에 적재된 메시지 데이터(1035)를 저장소로 전달하여 저장할 수 있다. 여기에서, 저장소는 상술한 데이터 관리 플랫폼 내에 포함된 데이터베이스에 대응한다. In step (S20070), the data management method can transfer message data (1035) loaded into the queue to a storage and store it. Here, the storage corresponds to a database included in the data management platform described above.
도 25는 본 발명의 데이터 관리 방법의 일 실시 예를 설명하는 도면이다. FIG. 25 is a drawing illustrating one embodiment of a data management method of the present invention.
단계(S30010)에서, 데이터 관리 방법은 네트워크를 통하여 패킷을 수집할 수 있다. 본 발명의 데이터 관리 방법이 네트워크를 통하여 패킷을 수집하는 방법은 도 5 내지 도 7, 도 18 및 도 19의 실시 예를 참고하도록 한다. In step (S30010), the data management method can collect packets through a network. The method of collecting packets through a network by the data management method of the present invention will be described with reference to the embodiments of FIGS. 5 to 7, FIG. 18, and FIG. 19.
단계(S30020)에서, 데이터 관리 방법은 수집된 패킷에 포함된 정보에 기초하여 프로토콜을 구분할 수 있다. 본 발명의 데이터 관리 방법이 수집된 패킷에 포함된 정보에 기초하여 프로토콜을 구분하는 방법은 도 5 및 도 18의 실시 예를 참고하도록 한다. In step (S30020), the data management method can distinguish protocols based on information included in collected packets. The method of distinguishing protocols based on information included in collected packets by the data management method of the present invention will be described with reference to the embodiments of FIG. 5 and FIG. 18.
단계(S30030)에서, 데이터 관리 방법은 프로토콜에 기초하여 패킷을 분석할 수 있다. 본 발명의 데이터 관리 방법이 프로토콜에 기초하여 패킷을 분석하는 방법은 도 5, 도 8 내지 도 13, 도 18 내지 도 20의 실시 예를 참고하도록 한다. In step (S30030), the data management method can analyze packets based on a protocol. The method of analyzing packets based on a protocol by the data management method of the present invention will be described with reference to the embodiments of FIGS. 5, 8 to 13, and 18 to 20.
단계(S30040)에서, 데이터 관리 방법은 분석된 패킷에 포함된 정보에 기초하여 로그를 생성할 수 있다. 본 발명의 데이터 관리 방법이 분석된 패킷에 포함된 정보에 기초하여 로그를 생성하는 방법은 도 18 및 도 21의 실시 예를 참고하도록 한다. In step (S30040), the data management method can generate a log based on information included in the analyzed packet. The method of generating a log based on information included in the analyzed packet by the data management method of the present invention will be described with reference to the embodiments of FIG. 18 and FIG. 21.
이를 통하여, 법 또는 규정에서 기준으로 하는 개인정보 처리 시스템에 대한 요구사항(requirements)을 만족시킬 수 있다. 예를 들어, 본 발명에 따르면, “개인정보의 안정성 확보조치 기준 제 8 조”에 의해 개인정보 처리 시스템에 대한 접속기록을 의미적으로 보관 하여야 한다는 조건을 만족할 수 있다. Through this, requirements for personal information processing systems based on laws or regulations can be satisfied. For example, according to the present invention, the condition that access records for personal information processing systems must be meaningfully stored according to “
개인정보를 추출하기 위한 방법으로는 주로 정규식(Regular expression)을 이용한 방법이 사용된다. 다만, 정규식을 이용한 방법은 잘못 추출될 우려가 존재한다. The method mainly used to extract personal information is a method using regular expressions. However, there is a risk of incorrect extraction using methods using regular expressions.
이러한 점을 보완하기 위하여 본 발명에서는 개인정보를 추출하기 위하여 정규식 방법 뿐만 아니라 개인정보 메타데이터 및 예외처리 리스트를 사용한 다차원 추출 방법을 통해 개인정보 추출에 대한 정확도를 높일 수 있다. To complement these points, the present invention can increase the accuracy of personal information extraction through a multidimensional extraction method using personal information metadata and an exception handling list as well as a regular expression method to extract personal information.
도 26은 본 발명의 데이터 관리 플랫폼에서 개인정보를 추출하고 저장하는 실시 예를 설명하는 도면이다. FIG. 26 is a drawing illustrating an example of extracting and storing personal information in the data management platform of the present invention.
본 발명의 데이터 관리 플랫폼(10000)에 포함된 개인정보 관리 모듈(20004)는 감사 로그(1033)로부터 개인정보를 추출 위하여 개인정보 유형을 정의할 수 있다. 여기에서, 감사 로그(1033)에는 인덱스(index) 처리가 완료된 로그 데이터(log data)를 포함할 수 있다. 또한, 개인정보 유형은 예를 들어, 주민등록번호, 신용카드 번호, 계좌 번호 등과 같은 개인정보의 종류를 포함할 수 있다. The personal information management module (20004) included in the data management platform (10000) of the present invention can define a personal information type in order to extract personal information from an audit log (1033). Here, the audit log (1033) can include log data for which index processing has been completed. In addition, the personal information type can include a type of personal information such as, for example, a resident registration number, a credit card number, an account number, etc.
보다 상세하게는, 개인정보 관리 모듈(20004)의 개인정보 유형 분석부(2019)는 개인정보 추출을 위한 개인정보 메타데이터(1036) 생성을 위해 저장된 감사 로그(1033)에서 사용되는 개인정보 유형 및 추출 방식을 분석할 수 있다. 이에 대한 분석 결과를 개인정보 메타데이터(1036)에 저장할 수 있다. 이때, 개인정보 관리 모듈(20004)는 아키텍쳐(여기에서, 아키텍쳐는 애플리케이션 개발환경, 화면 사용자 인터페이스(User Interface, UI)를 포함한다.) 유형에 기초하여 개인정보 메타데이터(1036)에 포함된 필드를 정의할 수 있다. 여기에서, 아키텍쳐 유형은 로그 데이터의 변수 및 값을 분석하는 파서(parser)를 구분하는 정보에 대응한다. 일 실시 예에서, 개인정보 관리 모듈(20004)는 로그 데이터 내 필드 정보에 대하여 프로토콜 유형 및 URL을 기준으로 아키텍쳐 유형을 구분할 수 있고, 이에 따라 인덱스의 필드 정보를 생성할 수 있다. 또한, 개인정보 메타데이터(1036)는 아키텍쳐 유형(화면 유형), 화면 정보(level 1, level 2) 및 개인정보 추출 규칙을 포함할 수 있다. More specifically, the personal information type analysis unit (2019) of the personal information management module (20004) can analyze the personal information type and extraction method used in the stored audit log (1033) to generate personal information metadata (1036) for personal information extraction. The analysis result thereof can be stored in the personal information metadata (1036). At this time, the personal information management module (20004) can define the fields included in the personal information metadata (1036) based on the architecture type (here, the architecture includes an application development environment and a screen user interface (UI)). Here, the architecture type corresponds to information that distinguishes a parser that analyzes variables and values of log data. In one embodiment, the personal information management module (20004) can distinguish the architecture type based on the protocol type and URL for field information in the log data, and generate field information of the index accordingly. Additionally, personal information metadata (1036) may include architecture type (screen type), screen information (
이를 위하여, 개인정보 관리 모듈(20004)의 개인정보 패턴 저장부(2020)는 개인정보 유형 별로 사용되는 패턴을 저장할 수 있다. 개인정보 관리 모듈(20004)은 개인정보 유형을 정의하고, 개인정보 유형 별로 사용되는 정규식 패턴 및 마스킹 패턴을 저장할 수 있다. 여기에서, 개인정보 관리 모듈(20004)이 개인정보 유형을 정의하고, 개인정보 유형 별로 사용되는 정규식 패턴을 저장하는 이유는 개인정보 메타데이터(1036)에 포함되는 정보를 생성하기 위함이다. To this end, the personal information pattern storage unit (2020) of the personal information management module (20004) can store patterns used for each personal information type. The personal information management module (20004) can define personal information types and store regular expression patterns and masking patterns used for each personal information type. Here, the reason why the personal information management module (20004) defines personal information types and stores regular expression patterns used for each personal information type is to generate information included in the personal information metadata (1036).
결론적으로, 데이터 관리 플랫폼(10000)은 개인정보 유형을 정의하고, 개인정보 유형 별로 사용되는 정규식 패턴을 저장해 놓음으로써 개인정보 메타데이터(1036)를 생성할 수 있게 되고, 개인정보 메타데이터(1036)와 후술하는 개인정보 예외처리 리스트(1037)를 이용하여 개인정보 추출 규칙을 생성하고, 개인정보 추출 규칙을 이용해 개인정보를 추출할 수 있다. In conclusion, the data management platform (10000) can create personal information metadata (1036) by defining personal information types and storing regular expression patterns used for each personal information type, and can create personal information extraction rules using the personal information metadata (1036) and the personal information exception processing list (1037) described below, and can extract personal information using the personal information extraction rules.
또한, 개인정보 관리 모듈(20004)의 개인정보 예외처리 리스트 생성부(2021)는 개인정보 예외처리 리스트(1037)를 생성할 수 있고, 개인정보 추출 규칙 생성부(2022)는 추출할 개인정보 추출 규칙을 생성할 수 있다. 이때, 개인정보 관리 모듈(20004)는 개인정보 예외처리 리스트(1037)를 생성하기 위하여, 개인정보 메타데이터(1036)를 이용하여 감사 로그(1033)에서 가상으로 추출되는 개인정보 항목을 확인할 수 있고, 추출된 값이나 분석된 변수에 기초하여 예외처리 리스트(1037)에 포함되는 예외처리 규칙을 정의할 수 있다. In addition, the personal information exception processing list generation unit (2021) of the personal information management module (20004) can generate a personal information exception processing list (1037), and the personal information extraction rule generation unit (2022) can generate personal information extraction rules to be extracted. At this time, the personal information management module (20004) can use personal information metadata (1036) to virtually check personal information items extracted from the audit log (1033) in order to generate the personal information exception processing list (1037), and can define exception processing rules included in the exception processing list (1037) based on the extracted values or analyzed variables.
다른 실시 예에서, 개인정보 관리 모듈(20004)의 개인정보 해쉬 값 수집부(2023)는 개인정보 유형별 해쉬(hash) 값을 수집할 수 있고, 개인정보 유형별 값 필터(value filter)를 생성할 수 있다. 여기에서, 값 필터는 개인정보 값의 해쉬 값에 대해 블룸-필터 자료 구조를 사용하여 만든 필터에 대응한다. 본 발명에서는, 값 필터를 통해 대량의 데이터 집합에서 비교 값의 포함 여부를 빠르게 확인할 수 있다는 장점이 있다. In another embodiment, the personal information hash value collection unit (2023) of the personal information management module (20004) can collect hash values for each personal information type and generate a value filter for each personal information type. Here, the value filter corresponds to a filter created using a Bloom-filter data structure for the hash value of the personal information value. In the present invention, there is an advantage in that it is possible to quickly check whether a comparison value is included in a large data set through the value filter.
보다 상세하게는, 개인정보 관리 모듈(20004)는 여러 유형 별로 개인정보 값에 대한 해쉬 값을 수집하여 개인정보 유형 별로 저장할 수 있다. 개인정보 관리 모듈(20004)의 개인정보 값 필터 생성부(2024)는 수집된 개인정보 데이터를 기준으로 개인정보 유형별 값 필터 파일을 생성할 수 있다.More specifically, the personal information management module (20004) can collect hash values for personal information values by type and store them by personal information type. The personal information value filter generation unit (2024) of the personal information management module (20004) can generate a personal information type-specific value filter file based on the collected personal information data.
이후, 개인정보 관리 모듈(20004)의 개인정보 추출부(2025)는 개인정보를 추출할 수 있고, 개인정보 암호화부(2026)는 추출된 개인정보를 암호화하고, 개인정보 저장부(2027)는 암호화된 개인정보를 저장할 수 있다. 보다 상세하게는, 개인정보 관리 모듈(20004)는 감사 로그(1033)에 포함된 로그 데이터를 아키텍쳐 유형 별로 분석하여 변수 및 값을 추출하고, 추출된 값에 개인정보 (추출) 규칙이 포함된 개인정보 메타데이터(1036)를 이용하여 개인정보를 추출할 수 있다. Thereafter, the personal information extraction unit (2025) of the personal information management module (20004) can extract personal information, the personal information encryption unit (2026) can encrypt the extracted personal information, and the personal information storage unit (2027) can store the encrypted personal information. More specifically, the personal information management module (20004) can analyze the log data included in the audit log (1033) by architecture type to extract variables and values, and extract personal information using personal information metadata (1036) that includes personal information (extraction) rules in the extracted values.
일 실시 예에서, 개인정보 관리 모듈(20004)는 추출된 개인정보 값의 해쉬 값이 값 필터 내에 포함되어 있는지 검증할 수 있다. 이때, 해쉬 값이 값 필터 내에 포함되어 있는 경우, 개인정보 관리 모듈(20004)는 감사 로그(1033)의 인덱스에 추출된 개인정보를 저장할 수 있다. 반면, 해쉬 값이 값 필터 내에 포함되어 있지 않은 경우, 개인정보 관리 모듈(20004)는 잘못 추출된 것으로 판단하여 추출된 개인정보를 제거할 수 있다. In one embodiment, the personal information management module (20004) can verify whether the hash value of the extracted personal information value is included in the value filter. At this time, if the hash value is included in the value filter, the personal information management module (20004) can store the extracted personal information in the index of the audit log (1033). On the other hand, if the hash value is not included in the value filter, the personal information management module (20004) can determine that the extracted personal information is incorrectly extracted and remove the extracted personal information.
이후, 암호화된 개인정보를 검색하는 경우, 개인정보 관리 모듈(20004)은 암호화된 개인정보를 복호화한 후 마스킹 규칙에 의해 처리된 개인정보를 출력할 수 있다. Thereafter, when searching for encrypted personal information, the personal information management module (20004) can decrypt the encrypted personal information and then output the personal information processed by the masking rule.
이하, 개인정보 관리 모듈(20004)이 수행하는 기능은 데이터 관리 플랫폼(10000)이 수행하는 것으로 지칭할 수 있다. Hereinafter, the function performed by the personal information management module (20004) may be referred to as that performed by the data management platform (10000).
이를 통하여, 개인정보 추출에 대한 정확도를 높일 수 있다. 이하, 후술하는 도면을 통하여 본 발명을 상세히 설명하도록 한다. Through this, the accuracy of personal information extraction can be improved. Hereinafter, the present invention will be described in detail through the drawings described below.
도 27은 본 발명의 데이터 관리 플랫폼에서 사용되는 정규식 패턴의 일 예를 설명하는 도면이다.Figure 27 is a drawing illustrating an example of a regular expression pattern used in the data management platform of the present invention.
상술한 실시 예에서, 데이터 관리 플랫폼은 개인정보 유형 별로 사용되는 패턴을 저장할 수 있다. 특히, 데이터 관리 플랫폼은 개인정보 유형 별로 사용될 정규식 패턴 및 마스킹 패턴을 저장할 수 있다. In the above-described embodiment, the data management platform can store patterns used for each type of personal information. In particular, the data management platform can store regular expression patterns and masking patterns to be used for each type of personal information.
본 도면은 데이터 관리 플랫폼에서 사용되는 개인정보 유형 별 정규식 패턴을 나타낸다. 예를 들어, 개인정보가 주민등록번호인 경우, 정규식 패턴은 “(\d{6}[ ,-]-?[1-4]\d{6})|(\d{6}[ ,-]?[1-4])”에 대응할 수 있다. 또한, 다른 예를 들면, 개인정보가 운전면허번호인 경우, 정규식 패턴은 “(\d{2}-\d{2}-\d{6}-\d{2})”에 대응할 수 있다. 이와 같이, 데이터 관리 플랫폼은 개인정보 유형(주민등록번호, 운전면허번호, 전화번호, 메일주소, 주소, 생년월일, 여권번호, 계좌번호, 신용카드번호, 건강보험번호, 외국인등록 번호 등)에 대하여 각각의 정규식 패턴을 정의할 수 있다. 또한, 각각의 개인정보 유형에 대한 정규식 패턴은 기 설정되어 데이터 관리 플랫폼에 저장될 수 있다. 이때, 본 도면에 포함된 개인정보 유형은 예시일 뿐으로 다른 개인정보 등이 더 포함될 수 있음은 물론이다. This diagram shows regular expression patterns for each type of personal information used in the data management platform. For example, if the personal information is a resident registration number, the regular expression pattern can correspond to “(\d{6}[ ,-]-?[1-4]\d{6})|(\d{6}[ ,-]?[1-4])”. In addition, as another example, if the personal information is a driver’s license number, the regular expression pattern can correspond to “(\d{2}-\d{2}-\d{6}-\d{2})”. In this way, the data management platform can define regular expression patterns for each type of personal information (resident registration number, driver’s license number, phone number, email address, address, date of birth, passport number, account number, credit card number, health insurance number, alien registration number, etc.). In addition, regular expression patterns for each type of personal information can be preset and stored in the data management platform. At this time, the personal information types included in this diagram are only examples, and it goes without saying that other personal information, etc. may be included.
도 28은 본 발명의 데이터 관리 플랫폼에서 사용되는 마스킹 패턴의 일 예를 설명하는 도면이다.Figure 28 is a drawing illustrating an example of a masking pattern used in the data management platform of the present invention.
상술한 실시 예에서, 데이터 관리 플랫폼은 개인정보 유형 별로 사용되는 패턴을 저장할 수 있다. 특히, 데이터 관리 플랫폼은 개인정보 유형 별로 사용될 정규식 패턴 및 마스킹 패턴을 저장할 수 있다. In the above-described embodiment, the data management platform can store patterns used for each type of personal information. In particular, the data management platform can store regular expression patterns and masking patterns to be used for each type of personal information.
본 도면은 데이터 관리 플랫폼에서 사용되는 개인정보 유형 별 마스킹 패턴을 나타낸다. 마스킹 처리 규칙에는 일부 마스킹, 전체 마스킹, 범위 마스킹, 무작위 마스킹 및 일관성 유지 마스킹 등을 포함할 수 있다. This diagram shows masking patterns for each type of personal information used in the data management platform. Masking processing rules may include partial masking, full masking, range masking, random masking, and consistent masking.
예를 들어, 개인정보가 주민등록번호인 경우, 마스킹 처리 기준이 존재하고, 마스킹 패턴은 “11111-2******”에 대응할 수 있다. 즉, 이 경우에는 주민등록번호에 대한 일부 마스킹 패턴을 적용한 것이다. For example, if the personal information is a resident registration number, there is a masking processing standard, and the masking pattern can correspond to “11111-2******”. That is, in this case, some masking pattern is applied to the resident registration number.
이때, 마스킹 처리 기준은 기 설정된 값에 따라 다를 수 있으며, 본 도면에서는 java를 기준으로 하였으나 다른 방법의 마스킹 처리 규칙을 적용할 수 있음은 물론이다. At this time, the masking processing criteria may vary depending on the preset value, and although Java is used as the standard in this drawing, it is of course possible to apply other masking processing rules.
데이터 관리 플랫폼은 마스킹 처리 규칙에 따라 개인정보를 유형 별로 마스킹 처리할 수 있다. 상술한 예를 들어, 데이터 관리 플랫폼은 주민등록번호의 뒷자리 중 6자리를 가려서 처리할 수 있으며, 운전면허번호의 경우 뒷자리 3자리만을 마스킹 처리할 수 있다. The data management platform can mask personal information by type according to the masking processing rules. For example, the data management platform can mask and process the last six digits of the resident registration number, and in the case of the driver's license number, only the last three digits can be masked.
상술한 실시 예에 따라 마스킹 처리된 개인정보는 이후 개인정보 조회 요청 시 마스킹 처리된 상태로 출력될 수 있다. 이에 따라, 데이터 관리 플랫폼을 이용하는 경우 개인정보에 보안을 가할 수 있다. Personal information that has been masked according to the above-described embodiment can be output in a masked state when a personal information inquiry request is made thereafter. Accordingly, personal information can be secured when using a data management platform.
도 29는 본 발명의 데이터 관리 플랫폼에서 정의하는 개인정보 메타데이터(1036)의 일 예를 설명하는 도면이다.Figure 29 is a drawing illustrating an example of personal information metadata (1036) defined in the data management platform of the present invention.
일 실시 예에서, 데이터 관리 플랫폼은 개인정보 메타데이터(1036)를 이용하여 감사 로그에 포함된 개인정보를 추출할 수 있다. 이를 위하여, 데이터 관리 플랫폼은 개인정보 메타데이터(1036)를 생성하고, 저장할 수 있다. In one embodiment, the data management platform can extract personal information included in the audit log using personal information metadata (1036). To this end, the data management platform can generate and store personal information metadata (1036).
데이터 관리 플랫폼은 아키텍쳐 유형 별로 추출할 개인정보 유형 및 방식을 정의하고 개인정보 메타데이터(1036)에 저장할 수 있다. 여기에서, 아키텍쳐 유형이란 GUI 데이터인지, json 데이터인지, WEBGUI인지 여부 등을 나타낼 수 있다. 즉, 데이터 관리 플랫폼은 GUI 데이터 별로 추출할 개인정보 유형 및 방식을 정의하고, 개인정보 메타데이터(1036)에 저장할 수 있고, json 데이터 별로 추출할 개인정보 유형 및 방식을 정의할 수 있다. The data management platform can define the type and method of personal information to be extracted by architecture type and store them in personal information metadata (1036). Here, the architecture type can indicate whether it is GUI data, json data, WEBGUI, etc. In other words, the data management platform can define the type and method of personal information to be extracted by GUI data and store them in personal information metadata (1036), and can define the type and method of personal information to be extracted by json data.
보다 상세하게는, 개인정보 메타데이터(1036)은 아키텍쳐 유형, 화면 정보(레벨 1), 화면 정보(레벨 2) 및 개인정보 추출 규칙을 포함할 수 있다. More specifically, personal information metadata (1036) may include architecture type, screen information (level 1), screen information (level 2), and personal information extraction rules.
여기에서, 아키텍쳐 유형은 상술한 바와 같이 화면 유형에 대응한다. 실제로 출력되는 화면이 어떤 화면인지에 대한 정보를 포함하고 있다. 일 실시 예에서, 아키텍쳐 유형에 기초하여 개인정보 추출 규칙이 결정될 수 있다. 또한, 개인정보 메타데이터(1036)는 아키텍쳐 유형에 대응하는 레벨 1 화면 정보, 레벨 2 화면 정보를 포함할 수 있다. Here, the architecture type corresponds to the screen type as described above. It includes information about what screen is actually output. In one embodiment, a personal information extraction rule can be determined based on the architecture type. In addition, the personal information metadata (1036) can include
개인정보 추출 규칙은 추출 방식 및 값을 포함할 수 있다. 추출 방식은 값 추출 방식, 변수 추출 방식, 값 컨텐트 추출 방식, 전문 정규식 추출 방식, 복합 개인정보 추출 방식을 예로 들 수 있다. 이하 추출 방식에 대해 설명하도록 한다. Personal information extraction rules can include extraction methods and values. Extraction methods include, for example, value extraction methods, variable extraction methods, value content extraction methods, specialized regular expression extraction methods, and complex personal information extraction methods. The extraction methods are described below.
값 추출 방식은 추출된 개인정보의 값(value)을 기준으로 개인정보를 추출하는 방식이다. 이때, 본 발명의 데이터 관리 플랫폼은 값 추출 방식의 값(value)에 대하여 개인정보 유형 리스트를 이용할 수 있다. The value extraction method is a method of extracting personal information based on the value of the extracted personal information. At this time, the data management platform of the present invention can use a list of personal information types for the value of the value extraction method.
변수 추출 방식은 아키텍쳐 유형에 포함된 변수(variable)를 기준으로 개인정보를 추출하는 방식이다. 이때, 본 발명의 데이터 관리 플랫폼은 변수 추출 방식의 값에 대하여 개인정보 유형 리스트와 변수명 리스트를 함께 이용할 수 있다. 여기에서, 변수명 리스트는 개인정보 유형에 따른 변수명 리스트에 대응한다. 예를 들어, A 화면(A 유형)에서는 “주민”이 변수명 리스트에 포함될 수 있고, B 화면(B 유형)에서는 “SSN”이 변수명리스트에 포함될 수 있다. The variable extraction method is a method of extracting personal information based on variables included in an architecture type. At this time, the data management platform of the present invention can use a personal information type list and a variable name list together for the value of the variable extraction method. Here, the variable name list corresponds to a variable name list according to the personal information type. For example, in screen A (type A), “resident” may be included in the variable name list, and in screen B (type B), “SSN” may be included in the variable name list.
전문 정규식 추출 방식은 변수가 존재하지 않은 상태에서 파싱(parsing)이 불가능한 전체 텍스트(full text)를 기준으로 개인정보를 추출하는 방식이다. 이때, 본 발명의 데이터 관리 플랫폼은 전문 정규식 추출 방식의 값에 대하여 개인정보 유형 리스트와 패턴 리스트를 함께 이용할 수 있다. 여기에서, 패턴 리스트는 값에 대한 정규식 뿐만 아니라 정규식의 앞 또는 뒤에 패턴을 추가한 것을 포함할 수 있다. 예를 들어, 데이터 관리 플랫폼은 주민번호가 정규식인 경우, 주민번호 앞에 “:”이 있는 경우를 패턴 리스트에 포함시킬 수 있다. The specialized regular expression extraction method is a method of extracting personal information based on the full text that cannot be parsed in the absence of variables. At this time, the data management platform of the present invention can use the personal information type list and the pattern list together for the value of the specialized regular expression extraction method. Here, the pattern list can include not only the regular expression for the value, but also the pattern added before or after the regular expression. For example, if the resident registration number is a regular expression, the data management platform can include the case where there is “:” before the resident registration number in the pattern list.
복합 개인정보 추출 방식은 개인정보를 추출할 때 하나의 개인정보를 기준으로 개인정보를 추출하는 것이 아닌 두개 이상의 개인정보를 기준으로 개인정보를 추출하는 방식이다. 일 실시 예에서, 데이터 관리 플랫폼은 아키텍쳐 유형 별로 “이름”과 “주민등록번호”가 모두 존재할 때만 개인정보로 판단할 수 있다. 반면, 데이터 관리 플랫폼은 아키텍쳐 유형 별로 “이름” 또는 “주민등록번호” 중 하나만 있는 경우에는 개인정보가 아니라고 판단할 수 있다. The composite personal information extraction method is a method of extracting personal information based on two or more pieces of personal information, rather than extracting personal information based on one piece of personal information. In one embodiment, the data management platform can determine that it is personal information only when both “name” and “resident registration number” exist for each architecture type. On the other hand, the data management platform can determine that it is not personal information when only one of “name” or “resident registration number” exists for each architecture type.
이와 같이, 본 발명의 데이터 관리 플랫폼은 개인정보 메타데이터(1036)에 포함된 정보를 바탕으로 개인정보를 추출할 수 있다. In this way, the data management platform of the present invention can extract personal information based on information included in personal information metadata (1036).
도 30은 본 발명의 데이터 관리 플랫폼에서 아키텍쳐 유형을 구분하여 개인정보를 추출하는 실시 예를 설명하는 도면이다.Figure 30 is a drawing explaining an example of extracting personal information by distinguishing architecture types in the data management platform of the present invention.
일 실시 예에서, 데이터 관리 플랫폼(10000)의 아키텍쳐 유형 분석부(2029)는 감사 로그(1033)로부터 아키텍쳐 유형을 구분한 뒤, 개인정보 추출부(2025)를 통하여 아키텍쳐 유형 별로 정의된 개인정보 메타데이터(1036)를 이용하여 개인정보를 추출할 수 있다. In one embodiment, the architecture type analysis unit (2029) of the data management platform (10000) can distinguish the architecture type from the audit log (1033) and then extract personal information using personal information metadata (1036) defined for each architecture type through the personal information extraction unit (2025).
보다 상세하게는, 데이터 관리 플랫폼(10000)은 아키텍쳐 유형에 기초하여 개인정보 메타데이터(1036)에 포함되는 필드를 정의할 수 있다. 여기에서, 아키텍쳐 유형은 로그 데이터의 변수 및 값을 분석하는 파서를 구분하는 정보에 대응한다. 즉, 아키텍쳐 유형에 따라 변수 및 값을 분석하기 위한 파싱(parsing) 방법이 달라진다. 따라서, 데이터 관리 플랫폼(10000)은 아키텍쳐 유형에 기초하여 개인정보 메타데이터(1036)에 포함되는 필드를 정의해야 한다. More specifically, the data management platform (10000) can define fields included in the personal information metadata (1036) based on the architecture type. Here, the architecture type corresponds to information that distinguishes a parser that analyzes variables and values of log data. That is, the parsing method for analyzing variables and values varies depending on the architecture type. Therefore, the data management platform (10000) must define fields included in the personal information metadata (1036) based on the architecture type.
일 실시 예에서, 데이터 관리 플랫폼(10000)의 아키텍쳐 유형 분석부(2029)는 감사 로그(1033) 내에 포함된 로그 데이터 내의 필드 정보에 대하여 프로토콜 유형 및 URL을 기준으로 아키텍쳐 유형을 구분할 수 있고, 이에 따라 인덱스의 필드 정보를 생성할 수 있다. In one embodiment, the architecture type analysis unit (2029) of the data management platform (10000) can distinguish the architecture type based on the protocol type and URL for field information in the log data included in the audit log (1033), and generate the field information of the index accordingly.
이에 따라, 데이터 관리 플랫폼(10000)의 개인정보 추출부(2025)는 아키텍쳐 유형 별로 정의된 개인정보 메타데이터(1036) 및 상술한 예외처리 리스트(1037) 중 적어도 하나를 활용하여 개인정보를 추출할 수 있다. Accordingly, the personal information extraction unit (2025) of the data management platform (10000) can extract personal information by utilizing at least one of the personal information metadata (1036) defined by architecture type and the exception handling list (1037) described above.
이후, 데이터 관리 플랫폼은 추출된 개인정보를 암호화하고, 암호화된 개인정보를 저장할 수 있다. Afterwards, the data management platform can encrypt the extracted personal information and store the encrypted personal information.
도 31은 본 발명의 데이터 관리 플랫폼에서 개인정보 추출 규칙을 생성하는 실시 예를 설명하는 도면이다.FIG. 31 is a diagram illustrating an example of generating a personal information extraction rule in the data management platform of the present invention.
일 실시 예에서, 데이터 관리 플랫폼은 개인정보 추출 규칙을 생성할 수 있다. 이를 위하여, 본 도면에서는 개인정보 추출 규칙을 생성하는 사용자 인터페이스를 설명한다. 개인정보 추출 규칙을 생성하기 위하여, 사용자 인터페이스는 기본 정보, 값 정규식 추출 정보, 변수 기반 추출 정보 중 적어도 하나를 포함할 수 있다. In one embodiment, the data management platform can generate a personal information extraction rule. To this end, the drawing describes a user interface for generating a personal information extraction rule. To generate a personal information extraction rule, the user interface can include at least one of basic information, value regular expression extraction information, and variable-based extraction information.
보다 상세하게는, 기본 정보는 개인정보 추출 규칙을 적용할 대상을 나타낸다. 여기에서, 기본 정보는 로그 유형, 레벨 1(화면, 트랜잭션), 레벨 2(프로그램, 서비스) 중 적어도 하나를 포함할 수 있다. 이에 따라, 사용자는 로그 유형(예를 들어, SAP GUI 로그), 레벨 1 또는 레벨 2 중 적어도 하나를 개인정보 추출 규칙을 적용할 대상으로 입력할 수 있다. More specifically, the basic information indicates the target to which the personal information extraction rule is to be applied. Here, the basic information may include at least one of a log type, level 1 (screen, transaction), and level 2 (program, service). Accordingly, the user may input at least one of a log type (e.g., SAP GUI log),
또한, 값 정규식 추출 정보는 개인정보 추출 방식 별로 추출할 개인 정보를 포함할 수 있다. 보다 상세하게는, 전체 개인정보가 존재하며, 데이터 관리 플랫폼은 사용자로부터 추출할 개인정보를 선택받을 수 있다. 이에 따라, 데이터 관리 플랫폼은 개인정보 추출 방식 별로 로그에서 값을 추출한 후 정규식 패턴과 비교하여 개인정보를 판단할 수 있다. 이를 위하여, 데이터 관리 플랫폼은 상술한 실시 예인 개인정보 유형별로 저장된 정규식 패턴 파일을 이용할 수 있다. In addition, the value regular expression extraction information may include personal information to be extracted by personal information extraction method. More specifically, the entire personal information exists, and the data management platform may select personal information to be extracted from the user. Accordingly, the data management platform may extract values from the log by personal information extraction method and then compare them with the regular expression pattern to determine personal information. To this end, the data management platform may use the regular expression pattern file stored by personal information type, which is the embodiment described above.
또한, 데이터 관리 플랫폼은 로그 유형별로 분석된 변수의 값을 이용하여 개인정보 추출 규칙을 생성할 수 있다. 이를 위하여, 데이터 관리 플랫폼은 사용자로부터 변수 기반 추출 정보를 입력 받을 수 있다. In addition, the data management platform can create personal information extraction rules using the values of variables analyzed by log type. To this end, the data management platform can receive variable-based extraction information from users.
도 32는 본 발명의 데이터 관리 플랫폼에서 개인정보 예외처리 리스트를 생성하는 실시 예를 설명하는 도면이다.Figure 32 is a drawing illustrating an example of creating a personal information exception processing list in the data management platform of the present invention.
일 실시 예에서, 데이터 관리 플랫폼은 개인정보 예외처리 리스트(1037)를 생성할 수 있다. 보다 상세하게는, 데이터 관리 플랫폼은 감사 로그(1033)로부터 개인정보 메타데이터(1036)를 이용하여 가상으로 추출되는 개인정보 항목을 확인할 수 있다. 즉, 데이터 관리 플랫폼은 개인정보 메타데이터(1036)에 포함된 항목(예를 들어, 상술한 key/value, 화면명/필드명 등)을 이용하여 개인정보를 가상으로 추출할 수 있다. 여기에서, 가상으로 추출된 개인정보 항목은 원본 로그 데이터에서 본 발명의 실시 예에 따라 생성된 개인정보 메타데이터(1036)의 항목을 기준으로 출력된 후보 데이터(candidate data)에 대응한다. In one embodiment, the data management platform can generate a personal information exception processing list (1037). More specifically, the data management platform can check personal information items virtually extracted using personal information metadata (1036) from the audit log (1033). That is, the data management platform can virtually extract personal information using items included in the personal information metadata (1036) (e.g., key/value, screen name/field name, etc. described above). Here, the virtually extracted personal information items correspond to candidate data output based on items of personal information metadata (1036) generated according to an embodiment of the present invention from the original log data.
데이터 관리 플랫폼은 추출된 값 또는 분석된 변수를 기준으로 예외처리 리스트(1037)를 생성할 수 있다. 보다 상세하게는, 데이터 관리 플랫폼은 개인정보 메타데이터(1036)에 포함된 항목을 기준으로 예외처리 리스트(1037)를 생성할 수 있다. The data management platform can generate an exception handling list (1037) based on the extracted values or analyzed variables. More specifically, the data management platform can generate an exception handling list (1037) based on items included in personal information metadata (1036).
이때, 데이터 관리 플랫폼은 개인정보 메타데이터(1036)에 포함된 아키텍쳐 유형, 화면 정보 및 개인정보 추출 규칙 중 적어도 하나를 예외처리 리스트(1037)를 생성할 수 있다. 예를 들어, 데이터 관리 플랫폼은 예외처리 리스트를 생성할 때, “제 1 아키텍쳐(UI) 유형에서 해당 키는 개인정보가 아니기 때문에 추출하지 않는다” 또는 “제 2 아키텍쳐(UI) 유형에서 해당 값은 개인정보가 아니기 때문에 추출하지 않는다”와 같이 등록할 수 있다. At this time, the data management platform can generate an exception handling list (1037) for at least one of the architecture type, screen information, and personal information extraction rules included in the personal information metadata (1036). For example, when the data management platform generates an exception handling list, it can register, “In the first architecture (UI) type, the corresponding key is not extracted because it is not personal information” or “In the second architecture (UI) type, the corresponding value is not extracted because it is not personal information.”
예를 들면, 데이터 관리 플랫폼은 감사 로그(1033)에서 가상의 개인정보로 “계좌번호”를 추출할 수 있다. 여기에서, “계좌번호”는 후보 데이터에 대응한다. 또한, 개인정보 메타데이터(1036)의 화면명/필드명에는 A제품/시리얼 넘버가 포함되어 있을 수 있다. 여기에서, A제품의 시리얼 넘버는 개인정보에 해당하지 않는다고 가정한다. 이때, A제품에 대한 시리얼 넘버가 개인정보인 “계좌번호”와 동일한 경우, 데이터 관리 플랫폼은 추출된 “계좌번호”는 개인정보가 아닌 것으로 판단하여 예외처리 리스트(1037)에 등록할 수 있다. For example, the data management platform can extract “account number” as virtual personal information from the audit log (1033). Here, the “account number” corresponds to the candidate data. In addition, the screen name/field name of the personal information metadata (1036) may include the A product/serial number. Here, it is assumed that the serial number of the A product does not correspond to personal information. In this case, if the serial number for the A product is identical to the “account number” which is personal information, the data management platform can determine that the extracted “account number” is not personal information and register it in the exception processing list (1037).
즉, 데이터 관리 플랫폼은 상술한 실시 예에 따라 정의된 개인정보 메타데이터(1036)를 참고하여, 가상으로 추출되는 개인정보를 확인할 수 있다. 이때의 개인정보는 정확한 개인정보가 아닌 후보 데이터이기 때문에, 후보 데이터에 대하여 개인정보 메타데이터(1036)에 포함된 항목을 기준으로 예외처리 리스트(1037)를 생성할 수 있다. That is, the data management platform can verify the virtually extracted personal information by referring to the personal information metadata (1036) defined according to the above-described embodiment. Since the personal information at this time is candidate data and not exact personal information, an exception processing list (1037) can be created based on the items included in the personal information metadata (1036) for the candidate data.
일 실시 예에서, 데이터 관리 플랫폼은 감사 로그(1033)에서 개인정보를 추출할 때, 예외처리 리스트(1037)에 포함된 항목을 제외하고 개인정보를 추출할 수 있다. In one embodiment, when extracting personal information from an audit log (1033), the data management platform may extract personal information excluding items included in the exception handling list (1037).
이에 따라, 잘못된 개인정보를 추출할 확률을 낮추는 장점이 있다. Accordingly, there is an advantage in reducing the probability of extracting incorrect personal information.
도 33은 본 발명의 데이터 관리 플랫폼의 예외 필터를 생성하는 실시 예를 설명하는 도면이다.FIG. 33 is a diagram illustrating an embodiment of creating an exception filter of the data management platform of the present invention.
일 실시 예에서, 데이터 관리 플랫폼은 상술한 방법으로 예외처리 리스트를 생성할 수 있다. 본 도면에서는 예외처리 리스트를 생성하기 위한 예외 필터 사용자 인터페이스를 설명한다. 예외 필터 사용자 인터페이스는 적어도 하나의 개인정보 항목을 포함할 수 있다. In one embodiment, the data management platform can generate an exception handling list in the manner described above. This drawing illustrates an exception filter user interface for generating an exception handling list. The exception filter user interface can include at least one personal information item.
일 실시 예에서, 데이터 관리 플랫폼은 사용자로부터 개인정보 항목에 대한 예외 필터 정보를 입력받을 수 있다. 여기에서, 예외 필터 정보는 아키텍쳐 유형(UI 유형), 레벨 1(화면, 트랜잭션), 값, 레벨 2(프로그램, 서비스), 변수 중 적어도 하나를 포함할 수 있다. In one embodiment, the data management platform may receive exception filter information for personal information items from a user. Here, the exception filter information may include at least one of an architecture type (UI type), level 1 (screen, transaction), value, level 2 (program, service), and variable.
본 도면의 예를 들어 설명하면, 데이터 관리 플랫폼은 사용자로부터 예외 필터 정보로 “아키텍쳐 유형=SAP GUI”“레벨 1=SE16”“레벨 2=SAPMF02D-7230”“변수=RDTMS_VAL2”“값=8201301037329”를 수신할 수 있다. For example, in this diagram, the data management platform may receive “Architecture Type=SAP GUI”, “
이에 따라, 데이터 관리 플랫폼은 사용자로부터 입력받은 예외 필터 정보를 이용하여 예외처리 리스트를 생성할 수 있다. Accordingly, the data management platform can create an exception handling list using exception filter information input by the user.
도 34는 본 발명의 데이터 관리 플랫폼에서 추출된 개인정보를 검색하고 출력하는 실시 예를 설명하는 도면이다.Figure 34 is a drawing illustrating an embodiment of searching and outputting personal information extracted from the data management platform of the present invention.
본 발명의 데이터 관리 플랫폼(10000)에 포함된 개인정보 관리 모듈(20004)의 개인정보 복호화부(2028)은 암호화된 개인정보를 복호화할 수 있다. 보다 상세하게는, 사용자가 데이터 관리 플랫폼(10000)의 모니터링 모듈(20005)를 통하여 개인정보 검색을 요청하는 경우, 데이터 관리 플랫폼(10000)은 암호화된 개인정보를 복호화할 수 있다. 이때, 데이터 관리 플랫폼(10000)은 감사 로그(1033)에 포함된 데이터를 이용하여 개인정보를 복호화할 수 있다. The personal information decryption unit (2028) of the personal information management module (20004) included in the data management platform (10000) of the present invention can decrypt encrypted personal information. More specifically, when a user requests personal information search through the monitoring module (20005) of the data management platform (10000), the data management platform (10000) can decrypt encrypted personal information. At this time, the data management platform (10000) can decrypt personal information using data included in the audit log (1033).
일 실시 예에서, 개인정보 관리 모듈(20004)는 데이터베이스(20007)에 포함된 암호화 키를 이용하여 암호화된 개인정보를 복호화할 수 있다. 이후, 개인정보 관리 모듈(20004)의 마스킹 처리부(2029)는 복호화된 개인정보를 마스킹 처리하여 모니터링 모듈(20005)에게 제공할 수 있다. 여기에서, 개인정보를 마스킹 처리하는 방법은 상술한 바와 같다. 이에 따라, 모니터링 모듈(20005)는 개인정보 관리 모듈(20004)에 의해 마스킹 처리된 개인정보를 출력하여 사용자에게 제공할 수 있다. In one embodiment, the personal information management module (20004) can decrypt encrypted personal information using an encryption key included in the database (20007). Thereafter, the masking processing unit (2029) of the personal information management module (20004) can mask the decrypted personal information and provide it to the monitoring module (20005). Here, the method of masking the personal information is as described above. Accordingly, the monitoring module (20005) can output the personal information masked by the personal information management module (20004) and provide it to the user.
이를 통하여, 데이터 관리 플랫폼은 추출된 개인정보에 대한 검색 요청이 있는 경우, 암호화 키에 기반하여 개인정보를 복호화한 뒤 마스킹 처리하여 사용자에게 제공할 수 있다. 이에 따라, 개인정보 보호에 기여할 수 있다. Through this, the data management platform can decrypt personal information based on an encryption key and provide it to the user after masking it when there is a search request for extracted personal information. Accordingly, it can contribute to personal information protection.
도 35는 본 발명의 데이터 관리 방법이 개인정보를 관리하는 실시 예를 설명하는 도면이다. Figure 35 is a drawing explaining an embodiment of a data management method of the present invention for managing personal information.
단계(S40010)에서, 데이터 관리 방법은 개인정보 유형을 분석할 수 있다. 이를 위하여, 데이터 관리 방법은 감사 로그에서 사용되는 개인정보 유형을 분석할 수 있다. In step (S40010), the data management method can analyze the type of personal information. To this end, the data management method can analyze the type of personal information used in the audit log.
단계(S40020)에서, 데이터 관리 방법은 개인정보 유형을 정의하고, 개인정보 유형 별로 사용되는 패턴을 저장할 수 있다. 데이터 관리 방법은 개인정보 유형 별로 사용되는 정규식 패턴 및 마스킹 패턴을 저장할 수 있다. 이에 따라, 데이터 관리 방법은 키/값 또는 화면명/필드명이 포함된 개인정보 메타데이터(1036)를 생성할 수 있다. 개인정보 메타데이터(1036)를 생성하는 구체적인 방법은 상술한 바와 같다. In step (S40020), the data management method can define personal information types and store patterns used for each personal information type. The data management method can store regular expression patterns and masking patterns used for each personal information type. Accordingly, the data management method can generate personal information metadata (1036) including key/value or screen name/field name. The specific method of generating personal information metadata (1036) is as described above.
단계(S40030)에서, 데이터 관리 방법은 개인정보 예외처리 리스트(1037)를 생성할 수 있다. 데이터 관리 방법은 개인정보 메타데이터(1036)를 이용하여 감사 로그에서 가상으로 추출되는 개인정보 항목을 확인할 수 있고, 추출된 값 또는 분석된 변수에 기초하여 예외처리 리스트(1037)에 포함되는 예외처리 규칙을 정의할 수 있다. 이에 따라, 데이터 관리 방법은 개인정보 예외처리 리스트(1037)를 생성할 수 있다. In step (S40030), the data management method can generate a personal information exception processing list (1037). The data management method can verify personal information items virtually extracted from an audit log using personal information metadata (1036), and can define exception processing rules included in the exception processing list (1037) based on the extracted values or analyzed variables. Accordingly, the data management method can generate a personal information exception processing list (1037).
단계(S40040)에서, 데이터 관리 방법은 개인정보 메타데이터(1036) 및 예외처리 리스트(1037)에 기초하여 개인정보 추출 규칙을 생성할 수 있다. In step (S40040), the data management method can generate a personal information extraction rule based on personal information metadata (1036) and an exception handling list (1037).
단계(S40050)에서, 데이터 관리 방법은 개인정보 추출 규칙에 기초하여 개인정보를 추출할 수 있다. In step (S40050), the data management method can extract personal information based on personal information extraction rules.
단계(S40060)에서, 데이터 관리 방법은 추출된 개인정보를 암호화하여 저장할 수 있다. 일 실시 예에서, 데이터 관리 방법은 추출된 개인정보를 암호화하기 위한 암호화 키를 생성할 수 있다. In step (S40060), the data management method can encrypt and store the extracted personal information. In one embodiment, the data management method can generate an encryption key for encrypting the extracted personal information.
단계(S40070)에서, 데이터 관리 방법은 개인정보 검색 요청 시 암호화된 개인정보를 복호화할 수 있다. 이때, 데이터 관리 방법은 개인정보 검색 요청 시 생성된 암호화키를 이용하여 암호화된 개인정보를 복호화할 수 있다. In step (S40070), the data management method can decrypt encrypted personal information when a personal information search request is made. At this time, the data management method can decrypt encrypted personal information using an encryption key generated when a personal information search request is made.
단계(S40080)에서, 데이터 관리 방법은 복호화된 개인정보를 마스킹 처리할 수 있다. 개인정보를 마스킹 처리하는 방법에 대하여는 상술한 바와 같다. In step (S40080), the data management method can mask the decrypted personal information. The method for masking the personal information is as described above.
단계(S40090)에서, 데이터 관리 방법은 마스킹 처리된 개인정보를 출력할 수 있다. 이를 통하여, 복호화된 개인정보는 마스킹 처리되어 출력되기 때문에 개인정보의 검색을 요청한 사용자는 개인정보를 침해하지 않으면서 데이터베이스 내의 개인정보를 검색하고 이용할 수 있다. In step (S40090), the data management method can output masked personal information. Through this, since the decrypted personal information is output with masking, a user who requests a search for personal information can search and use the personal information in the database without infringing on the personal information.
또한, 정규식 패턴 방식으로 추출된 개인정보의 경우 잘못 추출될 우려가 있다. 이에 따라, 본 발명에서는 상술한 실시 예 이외에도 개인정보가 잘못 추출될 위험을 줄이기 위하여 실제로 로그 상에 존재하는 개인정보를 블룸-필터(Bloom filter)화 시킬 수 있다. 즉, 추출된 개인정보에 블룸-필터를 적용하여 개인정보라고 판단되는 경우에만 추출하여 개인정보 추출의 정확도를 높일 수 있다. 이하에서 자세히 설명하도록 한다. In addition, there is a risk that personal information extracted in a regular expression pattern manner may be incorrectly extracted. Accordingly, in addition to the above-described embodiments, the present invention can Bloom-filter personal information that actually exists in the log in order to reduce the risk of incorrectly extracting personal information. That is, by applying Bloom-filter to the extracted personal information, only those items that are determined to be personal information can be extracted, thereby increasing the accuracy of personal information extraction. This will be explained in detail below.
도 36은 본 발명의 데이터 관리 방법이 개인정보를 추출하고 저장하는 다른 실시 예를 설명하는 도면이다.FIG. 36 is a drawing illustrating another embodiment of the data management method of the present invention for extracting and storing personal information.
단계(S50010)에서, 데이터 관리 방법은 개인정보에 대한 해쉬(hash) 값을 수집할 수 있다. 보다 상세하게는, 데이터 관리 방법은 개인정보 암호화 솔루션과 같이 개인정보를 관리하는 시스템/플랫폼으로부터 여러 유형의 개인정보 값에 대한 해쉬 값을 수집할 수 있다. 여기에서, 개인정보를 관리하는 시스템/플랫폼은 외부 서버에 존재할 수 있다. 일 실시 예에서, 데이터 관리 방법은 수집된 해쉬 값을 개인정보 유형 별로 저장할 수 있다. In step (S50010), the data management method can collect hash values for personal information. More specifically, the data management method can collect hash values for various types of personal information values from a system/platform that manages personal information, such as a personal information encryption solution. Here, the system/platform that manages personal information can exist on an external server. In one embodiment, the data management method can store the collected hash values by type of personal information.
단계(S50020)에서, 데이터 관리 방법은 개인정보 유형 별 값 필터(value filter)를 생성할 수 있다. 여기에서, 값 필터는 개인정보 값의 해쉬 값에 대해 블룸-필터 자료 구조(bloom filter data structure)를 사용하여 만든 필터에 대응한다. In step (S50020), the data management method can generate a value filter for each personal information type. Here, the value filter corresponds to a filter created using a bloom filter data structure for a hash value of a personal information value.
단계(S50030)에서, 데이터 관리 방법은 개인정보를 추출할 수 있다. 일 실시 예에서, 감사 로그 내 로그 데이터를 아키텍쳐 유형 별로 분석하여 변수 및 값을 추출하고, 추출된 값에 개인정보 추출 규칙을 적용하여 개인정보를 추출할 수 있다. 이에 대하여는 상술한 바와 같다. In step (S50030), the data management method can extract personal information. In one embodiment, log data in the audit log can be analyzed by architecture type to extract variables and values, and personal information can be extracted by applying a personal information extraction rule to the extracted values. This is as described above.
단계(S50040)에서, 데이터 관리 방법은 개인정보 값을 검증할 수 있다. 즉, 상술한 내용에 더불어 추출된 개인정보 값을 검증하기 위하여 값 필터를 사용할 수 있다. In step (S50040), the data management method can verify personal information values. That is, in addition to the above-described contents, a value filter can be used to verify the extracted personal information values.
단계(S50050)에서, 개인정보에 대한 해쉬 값이 값 필터 내에 포함되어 있는 경우, 단계(S50060)에서, 데이터 관리 방법은 인덱스에 추출된 개인정보를 저장할 수 있다. 보다 상세하게는, 추출한 개인정보에 대한 해쉬 값이 블룸-필터 자료 구조를 사용하여 만든 값 필터 내에 포함되어 있는 경우, 데이터 관리 방법은 추출한 개인정보를 진짜(real) 개인정보인 것으로 판단할 수 있다. 이에 따라, 데이터 관리 방법은 감사 로그 내 추출된 개인정보에 대하여 진짜 개인정보라는 인덱스를 저장할 수 있다. In step (S50050), if the hash value for the personal information is included in the value filter, in step (S50060), the data management method can store the extracted personal information in the index. More specifically, if the hash value for the extracted personal information is included in the value filter created using the Bloom-filter data structure, the data management method can determine that the extracted personal information is real personal information. Accordingly, the data management method can store an index called real personal information for the extracted personal information in the audit log.
단계(S50070)에서, 데이터 관리 방법은 개인정보에 대한 해쉬 값이 값 필터 내에 포함되어 있지 않은 경우, 단계(S50080)에서, 데이터 관리 방법은 추출된 개인정보를 제거할 수 있다. 보다 상세하게는, 추출한 개인정보에 대한 해쉬 값이 블룸-필터 자료 구조를 사용하여 만든 값 필터 내에 포함되어 있지 않은 경우, 데이터 관리 방법은 추출한 개인정보를 가짜(fake) 개인정보인 것으로 판단할 수 있다. 이에 따라, 데이터 관리 방법은 추출한 개인정보가 잘못 추출된 것으로 판단하여 추출된 개인정보를 제거할 수 있다. 여기에서, 추출된 개인정보를 제거한다는 것은 데이터를 자체를 제거하는 것이 아닌 개인정보로서의 가치를 잃는 것을 의미할 수 있다. In step (S50070), if the hash value for the personal information is not included in the value filter, in step (S50080), the data management method can remove the extracted personal information. More specifically, if the hash value for the extracted personal information is not included in the value filter created using the Bloom-filter data structure, the data management method can determine that the extracted personal information is fake personal information. Accordingly, the data management method can determine that the extracted personal information is extracted incorrectly and remove the extracted personal information. Here, removing the extracted personal information may mean losing the value as personal information rather than removing the data itself.
이에 따라, 본 발명에서는, 블룸-필터 자료 구조를 이용하여 대량으로 관리되는 개인정보와 개인정보로 추출된 값을 빠르게 비교할 수 있다. 또한, 값을 검증하기 힘든 유형의 개인정보에 대한 오류를 제거할 수 있다. Accordingly, in the present invention, it is possible to quickly compare personal information managed in bulk with values extracted from personal information using a bloom-filter data structure. In addition, it is possible to eliminate errors in personal information of a type whose values are difficult to verify.
도 37은 본 발명의 데이터 관리 방법에서 개인정보를 관리하는 실시 예를 설명하는 도면이다.Figure 37 is a drawing explaining an embodiment of managing personal information in the data management method of the present invention.
단계(S60010)에서, 데이터 관리 방법은 데이터를 분석할 수 있다. 본 발명의 데이터 관리 방법이 데이터를 분석하는 방법은 도 2 내지 도 5, 도 8 내지도 26, 도 29, 도 30 및 도 35의 실시 예를 참고하도록 한다.In step (S60010), the data management method can analyze data. The method of analyzing data by the data management method of the present invention will be described with reference to the embodiments of FIGS. 2 to 5, FIGS. 8 to 26, FIG. 29, FIG. 30, and FIG. 35.
단계(S60020)에서, 데이터 관리 방법은 분석된 데이터로부터 개인정보를 추출할 수 있다. In step (S60020), the data management method can extract personal information from the analyzed data.
본 발명의 데이터 관리 방법이 개인정보를 추출하는 방법은 도 5, 도 14, 도 26, 도 35 및 도 36의 실시 예를 참고하도록 한다. The method of extracting personal information in the data management method of the present invention will be described with reference to the embodiments of FIGS. 5, 14, 26, 35, and 36.
애플리케이션 상에서 수행하는 사용자의 업무 행위는 개발자의 취향 및 개발 표준에 따라 상이하게 표현된다. 즉, 본 발명을 통하여 사용자의 업무 행위를 기초로 하는 데이터에 대한 “조회, 삭제, 추가, 변경, 프린트”와 같은 사용자 행위의 구분을 용이하게 하고자 한다. The user's work actions performed on the application are expressed differently depending on the developer's taste and development standards. That is, through the present invention, it is intended to facilitate the distinction of user actions such as "search, delete, add, change, and print" for data based on the user's work actions.
따라서, 본 발명은 애플리케이션의 메뉴 및 아이콘의 텍스트를 수집하고, 인공지능을 기반으로 자동으로 분류하여 법적으로 요구하는 사용자 행위에 대한 상세 구분을 할 수 있다. Accordingly, the present invention can collect texts of menus and icons of an application, automatically classify them based on artificial intelligence, and make detailed distinctions about user actions required by law.
또한, 감사 로그(audit log) 시스템에서 발생하는 이벤트 및 사용자의 활동 등의 정보를 기록한 로그로, 보안 및 감사 추적 등을 위해 사용될 수 있다. 여기에서, 감사 로그는 로그 데이터 및 로그 데이터에 대응하는 인덱스를 포함할 수 있다. In addition, the audit log is a log that records information such as events and user activities occurring in the system, and can be used for security and audit tracking. Here, the audit log can include log data and an index corresponding to the log data.
로그 데이터는 일반적으로 시간, 이벤트/행위, 사용자/주체, 대상/객체, 결과 등의 정보로 구별되며, 각각의 로그 데이터는 하나의 레코드(Record)를 형성하며, 여러 개의 레코드가 연속적으로 기록될 수 있다. Log data is generally distinguished by information such as time, event/action, user/subject, target/object, and result, and each log data forms one record, and multiple records can be recorded continuously.
또한, 감사 로그의 데이터는 데이터베이스 등에서 인덱싱 처리되어 관리되는 것이 일반적이다. 이때, 로그 데이터의 검색 및 분석을 효율적으로 수행하기 위해 각 로그 레코드에 대한 인덱스도 함께 관리될 수 있다. 여기에서, 인덱스는 보통 검색에 사용되는 필드와 검색 속도를 향상시키기 위한 키(Key) 등의 정보를 포함한다. In addition, audit log data is usually managed by indexing in a database, etc. At this time, an index for each log record can also be managed to efficiently perform search and analysis of log data. Here, the index usually includes information such as fields used for search and keys to improve search speed.
예를 들어, 시간, 이벤트/행위, 사용자/주체, 대상/객체 등의 필드를 가진 감사 로그에서 사용자가 특정 파일을 삭제한 기록을 검색하기 위해, 시간 필드와 대상 필드를 조합하여 인덱스를 생성할 수 있다. 이렇게 생성된 인덱스를 활용하면, 검색 시간을 대폭 줄일 수 있다는 장점이 있다. For example, in order to search for records of users deleting specific files in audit logs with fields such as time, event/action, user/subject, and target/object, an index can be created by combining the time field and the target field. Utilizing the index created in this way has the advantage of significantly reducing search time.
뿐만 아니라, 인덱스에 사용자 행위를 매핑하면, 로그 데이터를 사용자 행위를 기준으로 분류할 수 있어 보안 분석이나 모니터링에 용이하다는 장점이 있다. In addition, mapping user behavior to an index has the advantage of allowing log data to be classified based on user behavior, making it easy to conduct security analysis or monitor.
본 발명의 데이터 관리 플랫폼은 감사 로그에 포함된 로그 데이터를 인공지능을 기반으로 분류된 사용자 행위를 기준으로 인덱싱 처리해 사용자가 사용자 행위를 기준으로 로그 데이터를 검색할 수 있도록 한다. 이하, 본 발명에 대해 자세히 설명한다. The data management platform of the present invention indexes log data included in an audit log based on user behavior classified based on artificial intelligence, thereby allowing a user to search log data based on user behavior. Hereinafter, the present invention will be described in detail.
도 38은 본 발명의 데이터 관리 플랫폼에서 사용자 행위를 수집하고 매핑하는 실시 예를 설명하는 도면이다.FIG. 38 is a diagram illustrating an embodiment of collecting and mapping user behavior in the data management platform of the present invention.
본 발명의 데이터 관리 플랫폼(10000)은 수집 모듈(20001), 분석 모듈(20002), 모니터링 모듈(20005) 및 AI 엔진(20006)을 이용하여 사용자 행위를 수집하고, 로그 데이터와 매핑하여 인덱스 처리한 후 로그 데이터 조회 요청에 따라 사용자 행위로 인덱스 처리된 로그 데이터를 제공할 수 있다. The data management platform (10000) of the present invention can collect user actions using a collection module (20001), an analysis module (20002), a monitoring module (20005), and an AI engine (20006), map the collected actions to log data, index them, and then provide log data indexed with user actions in response to a log data query request.
보다 상세하게는, 수집 모듈(20001)을 사용하여 사용자 행위에 대응하는 키 및 텍스트를 수집할 수 있다. 이때, 수집 모듈(20001)은 애플리케이션 개발환경에 연결하여 사용자 행위를 수집할 수 있다. 애플리케이션 개발환경에서는 사용자 행위를 선택하는 메뉴, 아이콘에 대한 키 및 텍스트를 보관하고 있다. 이에 따라, 본 발명의 데이터 관리 플랫폼(10000)에 포함된 수집 모듈(20001)은 이러한 사용자 행위에 대응하는 키 및 텍스트를 수집할 수 있다. More specifically, the collection module (20001) can be used to collect keys and texts corresponding to user actions. At this time, the collection module (20001) can be connected to an application development environment to collect user actions. The application development environment stores keys and texts for menus and icons for selecting user actions. Accordingly, the collection module (20001) included in the data management platform (10000) of the present invention can collect keys and texts corresponding to such user actions.
AI 엔진(20006)은 수집된 텍스트를 인공지능(AI)을 기반으로 사용자 행위(action)을 분류할 수 있다. 예를 들어, 사용자 행위는 조회, 삭제, 추가, 변경, 프린트 등의 사용자의 업무 행위를 포함할 수 있다. 이를 위하여, AI 엔진(20006)은 기계학습(machine learning), 딥 러닝(deep learning), 자연어 처리(Natural Language Processing, NLP), 규칙 기반 접근(Rule-Based Approach) 등의 방법을 사용할 수 있다. The AI engine (20006) can classify collected text into user actions based on artificial intelligence (AI). For example, the user actions may include user work actions such as inquiry, deletion, addition, change, and printing. To this end, the AI engine (20006) can use methods such as machine learning, deep learning, natural language processing (NLP), and a rule-based approach.
분석 모듈(20002)은 분류된 사용자 행위에 대한 데이터를 키(key) 및 사용자 행위(action)로 구분하여 사용자 행위 메타데이터(1038)를 생성할 수 있다. 이때, 사용자 행위 메타데이터(1038)는 데이터 관리 플랫폼(10000) 내부 데이터베이스(20007) 안에 저장될 수 있다.The analysis module (20002) can generate user action metadata (1038) by dividing data on classified user actions into keys and user actions. At this time, the user action metadata (1038) can be stored in an internal database (20007) of the data management platform (10000).
분석 모듈(20002)은 저장된 사용자 행위 메타데이터(1038)와 감사 로그(1033) 안에 포함된 로그 데이터를 매핑할 수 있다. 이때, 분석 모듈(20002)는 로그 데이터와 사용자 행위 메타데이터(1038)을 매핑하기 위하여, 로그 데이터를 인덱스 처리할 때 애플리케이션 개발환경 유형 별 키로 사용할 수 있는 필드와 사용자 행위 메타데이터(1038) 내에 키 정보를 매핑하여 인덱스의 사용자 행위 필드에 저장할 수 있다. The analysis module (20002) can map the stored user behavior metadata (1038) and the log data included in the audit log (1033). At this time, in order to map the log data and the user behavior metadata (1038), the analysis module (20002) can map the key information in the user behavior metadata (1038) and the field that can be used as a key for each application development environment type when indexing the log data and store it in the user behavior field of the index.
여기에서, 키 정보는 사용자 행위를 나타내는 식별 정보를 나타낸다. 일 실시 예에서, 데이터 관리 플랫폼(10000)은 사용자 행위를 텍스트로 저장하지 않고, 사용자 행위를 식별하기 위한 축약된 ID(Identification)로 저장할 수 있다. 예를 들어, 데이터 관리 플랫폼(10000)은 사용자 행위가 “조회”인 경우, 키 정보로 “R”을 저장하고, 사용자 행위가 “삭제”인 경우, 키 정보로 “D”를 저장하고, 사용자 행위가 “수정”인 경우, 키 정보로 “U”를 저장하고, 사용자 행위가 “프린트”인 경우, 키 정보로 “P”를 저장할 수 있다. Here, the key information represents identification information indicating the user action. In one embodiment, the data management platform (10000) may store the user action as an abbreviated ID (Identification) for identifying the user action, rather than storing it as text. For example, the data management platform (10000) may store “R” as key information when the user action is “search”, store “D” as key information when the user action is “delete”, store “U” as key information when the user action is “modify”, and store “P” as key information when the user action is “print”.
사용자는 모니터링 모듈(20005)를 통하여 로그를 조회할 수 있다. 일 실시 예에서, 모니터링 모듈(20005)은 데이터베이스(20007) 내 감사 로그(1033)에 포함된 로그 데이터를 제공할 때, 인덱스의 사용자 행위 필드를 참조하여 사용자에게 정보를 제공할 수 있다. A user can view logs through the monitoring module (20005). In one embodiment, the monitoring module (20005) may provide information to the user by referencing the user action field of the index when providing log data included in the audit log (1033) in the database (20007).
이하, 데이터 관리 플랫폼(10000) 내부의 각각의 모듈에서 수행되는 기능은 데이터 관리 플랫폼(10000)이 수행하는 것으로 기재하도록 한다. Hereinafter, the functions performed in each module within the data management platform (10000) are described as being performed by the data management platform (10000).
도 39는 본 발명의 데이터 관리 플랫폼에서 사용자 행위 메타데이터를 생성하는 실시 예를 설명하는 도면이다.FIG. 39 is a diagram illustrating an embodiment of generating user behavior metadata in the data management platform of the present invention.
일 실시 예에서, 데이터 관리 플랫폼(10000)은 상술한 AI 엔진을 통하여 사용자 행위에 대응하는 키 및 텍스트를 수집할 수 있고, 수집된 텍스트를 인공지능을 기반으로 사용자 행위로 분류할 수 있다. 이에 따라, 데이터 관리 플랫폼(10000)은 수집된 사용자 행위에 대응하는 키 및 텍스트에 대하여 사용자 행위 메타데이터(1038)를 생성할 수 있다. In one embodiment, the data management platform (10000) can collect keys and texts corresponding to user actions through the AI engine described above, and classify the collected texts into user actions based on artificial intelligence. Accordingly, the data management platform (10000) can generate user action metadata (1038) for the keys and texts corresponding to the collected user actions.
보다 상세하게는, 데이터 관리 플랫폼(10000)은 사용자 행위 메타데이터(1038)를 생성하기 위하여, 애플리케이션 개발환경 유형 별 키 및 사용자 행위 키를 매핑할 수 있다. 즉, 사용자 행위 메타데이터(1038)는 애플리케이션 개발환경 유형 별 키, 사용자 행위 키, 사용자 행위를 필드로 가질 수 있다. More specifically, the data management platform (10000) can map a key by application development environment type and a user action key to generate user action metadata (1038). That is, the user action metadata (1038) can have a key by application development environment type, a user action key, and a user action as fields.
여기에서, 애플리케이션 개발환경 유형은 상술한 아키텍쳐 유형, 화면 유저 인터페이스 유형을 포함할 수 있다. 즉, 애플리케이션 개발환경 유형은 애플리케이션 개발환경 내에서 사용자 업무 행위로 사용할 수 있는 정보 필드를 나타낸다. 예를 들어, 화면에 존재하는 메뉴 아이콘, ok 아이콘, cancel 아이콘 등을 포함할 수 있다. 또한, 사용자 행위 키는 상술한 사용자 행위를 식별하기 위한 ID를 나타낸다. 따라서, 데이터 관리 플랫폼(10000)은 사용자 행위 메타데이터(1038) 내에 애플리케이션 개발환경 유형 별 키 및 사용자 행위 키를 매핑할 수 있다. Here, the application development environment type may include the architecture type and screen user interface type described above. That is, the application development environment type represents an information field that can be used as a user task action within the application development environment. For example, it may include a menu icon, an OK icon, a cancel icon, etc. that exist on the screen. In addition, the user action key represents an ID for identifying the user action described above. Accordingly, the data management platform (10000) may map the application development environment type-specific key and the user action key within the user action metadata (1038).
예를 들어, 애플리케이션 개발환경 유형별 키가 “제 1 애플리케이션에서 del 키”라면, 상술한 AI 엔진 및 분석 모듈을 통하여, 데이터 관리 플랫폼(10000)은 사용자 행위 키 “D”와 매핑하여 사용자 행위 메타데이터(1038)를 생성할 수 있다. 이때, 데이터 관리 플랫폼(10000)은 애플리케이션 개발환경 유형 별 키인 “제 1 애플리케이션에서 del 키”와 사용자 행위 키인 ”D”의 사용자 행위가 “삭제”임을 사용자 행위 메타데이터(1038)에 함께 저장할 수 있다. For example, if the key by application development environment type is “del key in
도 40은 본 발명의 데이터 관리 플랫폼에서 사용자 행위 메타데이터와 로그 데이터를 매핑하는 실시 예를 설명하는 도면이다.FIG. 40 is a diagram illustrating an example of mapping user behavior metadata and log data in the data management platform of the present invention.
일 실시 예에서, 데이터 관리 플랫폼(10000)은 저장된 사용자 행위 메타데이터(1038)와 감사 로그(1033)에 포함된 로그 데이터를 매핑할 수 있다. In one embodiment, the data management platform (10000) can map stored user action metadata (1038) and log data included in an audit log (1033).
보다 상세하게는, 데이터 관리 플랫폼(10000)은 로그 데이터와 사용자 행위 메타데이터(1038)을 매핑하기 위하여, 로그 데이터를 인덱스 처리할 수 있다. 구체적으로, 데이터 관리 플랫폼(10000)은 상술한 실시 예를 통하여 사용자 행위 메타데이터(1038) 내의 애플리케이션 개발환경 유형 별 키 필드와 사용자 행위 키 필드를 매핑할 수 있다. 또한, 일 실시 예에서, 데이터 관리 플랫폼(10000)은 인덱스의 사용자 행위 필드에 사용자 행위 메타데이터(1038)의 사용자 행위를 저장할 수 있다. More specifically, the data management platform (10000) can index the log data in order to map the log data and the user action metadata (1038). Specifically, the data management platform (10000) can map the key field for each application development environment type in the user action metadata (1038) and the user action key field through the above-described embodiment. In addition, in one embodiment, the data management platform (10000) can store the user action of the user action metadata (1038) in the user action field of the index.
이에 따라, 감사 로그(1033)에 저장된 제 1 로그 데이터가 사용자가 제 1 애플리케이션 화면에서 del 키를 누르는 로그를 나타내는 경우, 데이터 관리 플랫폼(10000)은 제 1 로그 데이터를 조회하는 요청을 수신하는 경우, 매핑된 사용자 행위인 “삭제”를 바로 제공할 수 있다. Accordingly, if the first log data stored in the audit log (1033) indicates a log in which a user presses the del key on the first application screen, the data management platform (10000) can immediately provide the mapped user action, “delete,” when receiving a request to view the first log data.
이렇게 인덱스에 사용자 행위를 매핑하면, 로그 데이터를 사용자 행위를 기준으로 분류할 수 있어 보안 분석이나 모니터링에 용이하다는 장점이 있다. Mapping user behavior to an index in this way has the advantage of allowing log data to be classified based on user behavior, making it easy to conduct security analysis or monitor.
도 41은 본 발명의 데이터 관리 방법이 사용자 행위 메타데이터를 생성하는 실시 예를 설명하는 도면이다.FIG. 41 is a drawing illustrating an embodiment of a data management method of the present invention that generates user action metadata.
단계(S60030)에서, 데이터 관리 방법은 애플리케이션 개발환경에서 사용자 행위를 나타내는 메뉴, 버튼 또는 아이콘 등에 대한 키(key) 및 텍스트(text)를 수집할 수 있다. 보다 상세하게는, 애플리케이션 개발환경에서는 사용자 행위를 선택하는 메뉴에 대한 키 및 텍스트를 보관할 수 있다. 이에 따라, 데이터 관리 방법은 애플리케이션 개발환경에 연결하여 사용자 행위를 선택하는 메뉴에 대한 키 및 텍스트를 수집할 수 있다. 예를 들어, 데이터 관리 방법은 제 1 애플리케이션 개발환경에 연결하여, 제 1 애플리케이션 개발 환경에서 사용자 행위인 “삭제”를 나타내는 제 1 아이콘에 대한 키 및 텍스트 “”를 수집할 수 있다. In step (S60030), the data management method can collect keys and text for menus, buttons, or icons representing user actions in an application development environment. More specifically, the application development environment can store keys and text for a menu for selecting a user action. Accordingly, the data management method can connect to the application development environment and collect keys and text for a menu for selecting a user action. For example, the data management method can connect to a first application development environment and collect keys and text “” for a first icon representing “delete”, which is a user action, in the first application development environment.
이때, 인공지능을 통하여 수집된 텍스트를 분류하기 때문에, 완벽하게 동일한 단어를 사용하지 않더라도 그 의미가 동일한 경우 동일한 사용자 행위로 분류될 수 있다. 예를 들어, 애플리케이션 개발환경에 따라 사용자 행위를 나타내는 버튼에 대응하는 텍스트가 다를 수 있다. 예를 들어, 제 1 애플리케이션 개발환경에서는 삭제를 나타내는 버튼에 대응하는 텍스트가 “delete”지만, 제 2 애플리케이션 개발환경에서는 삭제를 나타내는 버튼에 대응하는 텍스트가 “remove”일 수 있다. 이 경우, 본 발명의 데이터 관리 방법에 따르면, 다른 애플리케이션 개발환경에서 다른 텍스트를 쓰더라도 의미가 동일한 경우 동일한 사용자 행위로 분류할 수 있다. At this time, since the collected text is classified through artificial intelligence, even if the exact same words are not used, if the meaning is the same, it can be classified as the same user action. For example, depending on the application development environment, the text corresponding to the button indicating the user action may be different. For example, in the first application development environment, the text corresponding to the button indicating deletion may be “delete,” but in the second application development environment, the text corresponding to the button indicating deletion may be “remove.” In this case, according to the data management method of the present invention, even if different texts are used in different application development environments, if the meaning is the same, it can be classified as the same user action.
본 발명의 데이터 관리 방법이 사용자 행위를 나타내는 키 및 텍스트를 수집하는 방법은 도 38의 실시 예를 참고하도록 한다. The method of collecting keys and texts representing user actions by the data management method of the present invention will be described with reference to the embodiment of FIG. 38.
단계(S60040)에서, 데이터 관리 방법은 AI 엔진을 통하여 수집된 텍스트를 분류할 수 있다. 상술한 예를 참고하면, 데이터 관리 방법은 AI 엔진을 통하여 “delete”라는 텍스트를 사용자 행위인 “삭제”로 분류할 수 있다. In step (S60040), the data management method can classify the collected text through the AI engine. Referring to the example described above, the data management method can classify the text “delete” as the user action “delete” through the AI engine.
단계(S60050)에서, 데이터 관리 방법은 분류된 데이터를 사용자 행위 메타데이터로 저장할 수 있다. 상술한 바와 같이, 데이터 관리 방법은 제 1 애플리케이션 개발환경에서, 제 1 아이콘에 대한 키 및 텍스트 “”를 사용자 행위 “삭제”와 매핑하여 사용자 행위 메타데이터에 저장할 수 있다. In step (S60050), the data management method can store the classified data as user action metadata. As described above, the data management method can map the key and text “” for the first icon to the user action “delete” in the first application development environment and store it in the user action metadata.
도 42는 본 발명의 데이터 관리 방법이 사용자 행위 메타데이터와 로그 데이터를 매핑하는 실시 예를 설명하는 도면이다.FIG. 42 is a diagram illustrating an embodiment of a data management method of the present invention that maps user behavior metadata and log data.
단계(S60060)에서, 데이터 관리 방법은 로그 데이터와 사용자 행위 메타데이터를 매핑하기 위한 메모리를 캐싱할 수 있다. 여기에서, 사용자 행위 메타데이터 상술한 바와 같은 방법으로 생성되어 저장된 것을 특징으로 한다. 일 실시 예에서, 데이터 관리 방법은 로그 데이터와 사용자 행위 메타데이터를 빠르게 매핑하기 위하여 매핑할 정보를 메모리에 캐싱(caching)할 수 있다. 즉, 데이터 관리 방법은 로그 데이터와 사용자 행위 메타데이터 중 매핑할 정보를 데이터베이스 상에서 조회하는 것이 아니라, 미리 메모리에 읽어 두어 빠르게 접근하도록 할 수 있다. In step (S60060), the data management method can cache a memory for mapping log data and user behavior metadata. Here, the user behavior metadata is characterized by being generated and stored in the method described above. In one embodiment, the data management method can cache information to be mapped in a memory in order to quickly map the log data and the user behavior metadata. That is, the data management method can read information to be mapped among the log data and the user behavior metadata into a memory in advance to enable quick access, rather than searching for it in a database.
단계(S60070)에서, 데이터 관리 방법은 로그 데이터와 사용자 행위 메타데이터를 매핑한 후 인덱스 처리할 수 있다. 보다 상세하게는, 데이터 관리 방법은 로그 데이터를 인덱스 처리할 때, 애플리케이션 개발환경 유형 별 키 필드와 사용자 행위 키 필드를 매핑하여 인덱스의 사용자 행위 필드에 저장할 수 있다. 일 시 예에서, 데이터 관리 방법은 로그 데이터를 인덱스 처리할 때, 인덱스의 사용자 행위 필드에 사용자 행위 메타데이터의 사용자 행위를 저장할 수 있다. In step (S60070), the data management method can map log data and user action metadata and then perform index processing. More specifically, when indexing log data, the data management method can map a key field by application development environment type and a user action key field and store them in a user action field of the index. In one example, when indexing log data, the data management method can store a user action of the user action metadata in a user action field of the index.
단계(S60080)에서, 데이터 관리 방법은 로그 조회를 요청받는 경우, 인덱스의 사용자 행위 필드를 참조하여 정보를 제공할 수 있다. In step (S60080), the data management method can provide information by referencing a user action field of an index when a log query is requested.
이를 통해, 개인정보가 포함된 모든 로그 데이터에 대해 사용자 행위를 매핑할 수 있다. This allows us to map user behavior to all log data that contains personal information.
도 43은 본 발명의 데이터 관리 방법이 사용자 행위 메타데이터를 생성하는 실시 예를 설명하는 도면이다. FIG. 43 is a drawing illustrating an embodiment of a data management method of the present invention that generates user action metadata.
단계(S70010)에서, 데이터 관리 방법은 데이터를 수집할 수 있다. 본 발명의 데이터 관리 방법이 데이터를 수집하는 방법은 도 2 내지 도 7 및 도 38의 실시 예를 참고하도록 한다. In step (S70010), the data management method can collect data. The method of collecting data by the data management method of the present invention will be described with reference to the embodiments of FIGS. 2 to 7 and FIG. 38.
단계(S70020)에서, 데이터 관리 방법은 수집된 데이터를 분류할 수 있다. 본 발명의 데이터 관리 방법이 데이터를 분류하는 방법은 도 38, 도 39 및 도 41의 실시 예를 참고하도록 한다.In step (S70020), the data management method can classify the collected data. The method of classifying data in the data management method of the present invention will be described with reference to the embodiments of FIGS. 38, 39, and 41.
단계(S70030)에서, 데이터 관리 방법은 데이터에 포함된 적어도 하나의 정보를 매핑하여 사용자 행위 메타데이터를 생성할 수 있다. 본 발명의 데이터 관리 방법이 사용자 행위 메타데이터를 생성하는 방법은 도 39 및 도 41의 실시 예를 참고하도록 한다.In step (S70030), the data management method can generate user behavior metadata by mapping at least one piece of information included in the data. The method of generating user behavior metadata by the data management method of the present invention will be described with reference to the embodiments of FIG. 39 and FIG. 41.
10000: 데이터 관리 플랫폼10000: Data Management Platform
Claims (9)
상기 수집된 데이터를 분류하고 분석하는 단계;
상기 애플리케이션 개발환경 유형 별 키와 사용자 행위를 식별하기 위한 키 ID를 매핑하여 사용자 행위 메타데이터를 생성하되, 상기 애플리케이션 개발환경 유형 별 키와 사용자 행위를 식별하기 위한 키 ID를 이용하여 사용자 행위를 식별하고, 상기 식별된 사용자 행위를 상기 사용자 행위 메타데이터에 저장하는 단계;
상기 애플리케이션 개발환경 유형은 아키텍쳐 유형을 포함하되, 상기 아키텍쳐 유형은 GUI 데이터 유형, json 데이터 유형 및 WEBGUI 데이터 유형 중 적어도 하나인 것을 특징으로 하는, 데이터 관리 방법.
A step of collecting data including key IDs for identifying keys and user actions by application development environment type;
A step of classifying and analyzing the collected data;
A step of generating user action metadata by mapping a key ID for identifying a user action and a key for each type of application development environment, identifying the user action using the key ID for identifying the user action and the key for each type of application development environment, and storing the identified user action in the user action metadata;
A data management method, wherein the above application development environment type includes an architecture type, and the architecture type is at least one of a GUI data type, a json data type, and a WEBGUI data type.
상기 데이터에 개인정보가 포함된 경우, 상기 데이터에 기초하여 개인정보 메타데이터에 포함된 필드를 정의하는 단계;
상기 개인정보의 유형 별로 사용되는 패턴을 저장하는 단계;
개인정보 예외처리 리스트를 생성하는 단계;
상기 개인정보 메타데이터 및 상기 개인정보 예외처리 리스트에 기초하여 개인정보 추출 규칙을 생성하는 단계;
상기 개인정보 추출 규칙에 기초하여 상기 개인정보를 추출하는 단계;
상기 개인정보 유형 별 값 필터를 생성하는 단계; 및
상기 추출된 개인 정보를 상기 값 필터에 기초하여 검증하는 단계를 포함하는, 데이터 관리 방법. In paragraph 1,
If the above data contains personal information, a step of defining fields included in personal information metadata based on the above data;
A step of storing patterns used for each type of the above personal information;
Steps to create a list of personal information exceptions;
A step of generating a personal information extraction rule based on the above personal information metadata and the above personal information exception processing list;
A step of extracting the personal information based on the above personal information extraction rules;
Step of creating a value filter for each of the above personal information types; and
A data management method, comprising a step of verifying the extracted personal information based on the value filter.
상기 사용자 행위 메타데이터와 저장된 로그 데이터를 매핑하기 위하여 상기 로그 데이터를 인덱스 처리하는 단계를 더 포함하고,
상기 로그 데이터를 인덱스 처리하는 단계는, 상기 인덱스에 텍스트를 추가하는 단계를 더 포함하되, 상기 텍스트는 상기 수집된 데이터 중 상기 사용자 행위와 관련된 텍스트를 AI 엔진을 통하여 분류한 것을 특징으로 하는, 데이터 관리 방법. In paragraph 1,
Further comprising a step of indexing the log data to map the user action metadata and the stored log data,
A data management method, wherein the step of indexing the log data further includes the step of adding text to the index, wherein the text is classified as text related to the user action among the collected data through an AI engine.
상기 로그 데이터에 대한 조회를 요청받는 단계; 및
상기 인덱스에 포함된 상기 분류된 텍스트를 제공하는 단계를 더 포함하는, 데이터 관리 방법. In the third paragraph,
A step of requesting an inquiry for the above log data; and
A data management method further comprising the step of providing the classified text included in the above index.
상기 데이터를 처리하는 프로세서를 포함하고,
상기 프로세서는,
애플리케이션 개발환경 유형 별 키 및 사용자 행위를 식별하기 위한 키 ID를 포함하는 데이터를 수집하고,
상기 수집된 데이터를 분류하고 분석하고,
상기 애플리케이션 개발환경 유형 별 키와 사용자 행위를 식별하기 위한 키 ID를 매핑하여 사용자 행위 메타데이터를 생성하되, 상기 애플리케이션 개발환경 유형 별 키와 사용자 행위를 식별하기 위한 키 ID를 이용하여 사용자 행위를 식별하고, 상기 식별된 사용자 행위를 상기 사용자 행위 메타데이터에 저장하고,
상기 애플리케이션 개발환경 유형은 아키텍쳐 유형을 포함하되, 상기 아키텍쳐 유형은 GUI 데이터 유형, json 데이터 유형 및 WEBGUI 데이터 유형 중 적어도 하나인 것을 특징으로 하는, 데이터 관리 장치.
a database that stores data; and
Including a processor for processing the above data,
The above processor,
Collect data including key IDs to identify keys and user actions by application development environment type,
Classify and analyze the collected data above,
By mapping the key for each type of application development environment and the key ID for identifying the user action, user action metadata is created, and the user action is identified using the key for each type of application development environment and the key ID for identifying the user action, and the identified user action is stored in the user action metadata.
A data management device, wherein the above application development environment type includes an architecture type, and the architecture type is at least one of a GUI data type, a json data type, and a WEBGUI data type.
상기 프로세서는,
상기 데이터에 개인정보가 포함된 경우, 상기 데이터에 기초하여 개인정보 메타데이터에 포함된 필드를 정의하고,
상기 개인정보의 유형 별로 사용되는 패턴을 저장하고,
개인정보 예외처리 리스트를 생성하고,
상기 개인정보 메타데이터 및 상기 개인정보 예외처리 리스트에 기초하여 개인정보 추출 규칙을 생성하고,
상기 개인정보 추출 규칙에 기초하여 상기 개인정보를 추출하고,
상기 개인정보 유형 별 값 필터를 생성하고,
상기 추출된 개인 정보를 상기 값 필터에 기초하여 검증하
는, 데이터 관리 장치. In paragraph 5,
The above processor,
If the above data contains personal information, define the fields included in the personal information metadata based on the above data,
Store the patterns used for each type of personal information above,
Create a list of personal information exceptions,
Create a personal information extraction rule based on the above personal information metadata and the above personal information exception processing list,
Extract the personal information based on the above personal information extraction rules,
Create a value filter for each of the above personal information types,
The extracted personal information is verified based on the above value filter.
is a data management device.
상기 프로세서는
상기 사용자 행위 메타데이터와 저장된 로그 데이터를 매핑하기 위하여 상기 로그 데이터를 인덱스 처리하고,
상기 인덱스에 텍스트를 추가하되, 상기 텍스트는 상기 수집된 데이터 중 상기 사용자 행위와 관련된 텍스트를 AI 엔진을 통하여 분류한 것을 특징으로 하는, 데이터 관리 장치. In paragraph 5,
The above processor
Indexing the log data to map the user action metadata and the stored log data,
A data management device, characterized in that it adds text to the above index, wherein the text is classified by using an AI engine as text related to the user action among the collected data.
상기 프로세서는
상기 로그 데이터에 대한 조회를 요청받는 경우, 상기 인덱스에 포함된 상기 분류된 텍스트를 제공하는, 데이터 관리 장치. In paragraph 7,
The above processor
A data management device that provides the classified text included in the index when a query for the above log data is requested.
상기 수집된 데이터를 분류하고 분석하는 단계;
상기 애플리케이션 개발환경 유형 별 키와 사용자 행위를 식별하기 위한 키 ID를 매핑하여 사용자 행위 메타데이터를 생성하되, 상기 애플리케이션 개발환경 유형 별 키와 사용자 행위를 식별하기 위한 키 ID를 이용하여 사용자 행위를 식별하고, 상기 식별된 사용자 행위를 상기 사용자 행위 메타데이터에 저장하는 단계;
상기 애플리케이션 개발환경 유형은 아키텍쳐 유형을 포함하되, 상기 아키텍쳐 유형은 GUI 데이터 유형, json 데이터 유형 및 WEBGUI 데이터 유형 중 적어도 하나인 것을 특징으로 하는, 데이터 관리 방법을 컴퓨터에 실행시키기 위한 컴퓨터 프로그램이 저장된 컴퓨터가 판독 가능한 기록 매체.
A step of collecting data including key IDs for identifying keys and user actions by application development environment type;
A step of classifying and analyzing the collected data;
A step of generating user action metadata by mapping a key ID for identifying a user action and a key for each type of application development environment, identifying the user action using the key ID for identifying the user action and the key for each type of application development environment, and storing the identified user action in the user action metadata;
A computer-readable recording medium storing a computer program for executing a data management method on a computer, wherein the application development environment type includes an architecture type, and the architecture type is characterized in that at least one of a GUI data type, a json data type, and a WEBGUI data type.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230074162A KR102715592B1 (en) | 2023-06-09 | 2023-06-09 | Data management device, data management method and a computer-readable storage medium for storing data management program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230074162A KR102715592B1 (en) | 2023-06-09 | 2023-06-09 | Data management device, data management method and a computer-readable storage medium for storing data management program |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102715592B1 true KR102715592B1 (en) | 2024-10-11 |
Family
ID=93118539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230074162A KR102715592B1 (en) | 2023-06-09 | 2023-06-09 | Data management device, data management method and a computer-readable storage medium for storing data management program |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102715592B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120007842A (en) * | 2010-07-15 | 2012-01-25 | (주)소만사 | Query tool control method for preventing inner users from leaking the personal information and query tool control system therefor |
KR20160114077A (en) * | 2014-01-30 | 2016-10-04 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | Scrubber to remove personally identifiable information |
KR101920613B1 (en) * | 2018-06-01 | 2018-11-21 | 주식회사 시큐브 | Security policy and audit log bi-directional lookup, comparing and tracking system and method thereof |
KR20230073056A (en) * | 2021-11-18 | 2023-05-25 | 주식회사 엔피코어 | Malicious event log automatic analysis device and method |
-
2023
- 2023-06-09 KR KR1020230074162A patent/KR102715592B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120007842A (en) * | 2010-07-15 | 2012-01-25 | (주)소만사 | Query tool control method for preventing inner users from leaking the personal information and query tool control system therefor |
KR20160114077A (en) * | 2014-01-30 | 2016-10-04 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | Scrubber to remove personally identifiable information |
KR101920613B1 (en) * | 2018-06-01 | 2018-11-21 | 주식회사 시큐브 | Security policy and audit log bi-directional lookup, comparing and tracking system and method thereof |
KR20230073056A (en) * | 2021-11-18 | 2023-05-25 | 주식회사 엔피코어 | Malicious event log automatic analysis device and method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10795992B2 (en) | Self-adaptive application programming interface level security monitoring | |
US11343268B2 (en) | Detection of network anomalies based on relationship graphs | |
US8713682B2 (en) | Dynamic learning method and adaptive normal behavior profile (NBP) architecture for providing fast protection of enterprise applications | |
US8819807B2 (en) | Apparatus and method for analyzing and monitoring sap application traffic, and information protection system using the same | |
EP3403187A1 (en) | Single click delta analysis | |
JP2019506674A (en) | Pattern matching based dataset extraction | |
Lindqvist et al. | eXpert-BSM: A host-based intrusion detection solution for Sun Solaris | |
Spyridopoulos et al. | Incident analysis & digital forensics in SCADA and industrial control systems | |
CN107409134B (en) | Forensic analysis method | |
US20230231882A1 (en) | Honeypot identification method, apparatus, device, and medium based on cyberspace mapping | |
US20240364748A1 (en) | Frictionless supplementary multi-factor authentication for sensitive transactions within an application session | |
CN107992771A (en) | A kind of data desensitization method and device | |
US20220027456A1 (en) | Rasp-based implementation using a security manager | |
US20240256683A1 (en) | Secure data collection from an air-gapped network | |
CN105930740B (en) | Source retroactive method, monitoring method, restoring method and system when software file is changed | |
KR101201629B1 (en) | Cloud computing system and Method for Security Management for each Tenant in Multi-tenancy Environment | |
Cha et al. | A blockchain-enabled IoT auditing management system complying with ISO/IEC 15408-2 | |
KR102715592B1 (en) | Data management device, data management method and a computer-readable storage medium for storing data management program | |
KR102657163B1 (en) | Data management device, data management method and a computer-readable storage medium for storing data management program | |
KR102669468B1 (en) | Data management device, data management method and a computer-readable storage medium for storing data management program | |
KR102657161B1 (en) | Data management device, data management method and a computer-readable storage medium for storing data management program | |
KR102669482B1 (en) | Data management device, data management method and a computer-readable storage medium for storing data management program | |
KR102657165B1 (en) | Data management device, data management method and a computer-readable storage medium for storing data management program | |
KR102669472B1 (en) | Data management device, data management method and a computer-readable storage medium for storing data management program | |
KR102660695B1 (en) | Data management device, data management method and a computer-readable storage medium for storing data management program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |