KR20220168420A - Real-time abnormal symptoms detection system and method by in-memory - Google Patents
Real-time abnormal symptoms detection system and method by in-memory Download PDFInfo
- Publication number
- KR20220168420A KR20220168420A KR1020210078136A KR20210078136A KR20220168420A KR 20220168420 A KR20220168420 A KR 20220168420A KR 1020210078136 A KR1020210078136 A KR 1020210078136A KR 20210078136 A KR20210078136 A KR 20210078136A KR 20220168420 A KR20220168420 A KR 20220168420A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- unit
- analysis
- aggregation
- input data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 208000024891 symptom Diseases 0.000 title claims abstract description 35
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 21
- 238000001514 detection method Methods 0.000 title description 3
- 238000004458 analytical method Methods 0.000 claims abstract description 63
- 230000002776 aggregation Effects 0.000 claims abstract description 38
- 238000004220 aggregation Methods 0.000 claims abstract description 38
- 238000012545 processing Methods 0.000 claims abstract description 28
- 230000008569 process Effects 0.000 claims abstract description 26
- 238000010223 real-time analysis Methods 0.000 claims abstract description 23
- 241000007116 Griselinia littoralis Species 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 4
- 230000002265 prevention Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4016—Transaction verification involving fraud or risk level assessment in transaction processing
Abstract
Description
본 발명은 인-메모리 기반 이상징후 실시간 분석방법에 관한 것이다.The present invention relates to an in-memory based anomaly analysis method in real time.
인터넷을 포함한 통신망의 발전, 자동화 기기의 발달과 더불어 전 세계적으로 인터넷 등을 이용한 관련 금융사기가 급속히 증가하고 있다. With the development of communication networks including the Internet and the development of automated devices, related financial fraud using the Internet is rapidly increasing worldwide.
예컨대, 개인의 ID를 도용하여 대포통장으로 계좌이체를 실행한 후 인출해 가는 방식, 보이스피싱으로 대포통장으로 입금하도록 유도한 후에 인출해 가는 것 등의 다양한 수법으로 금융사기의 수법이 나날이 고도화, 지능화되고 있다.For example, the methods of financial fraud are getting more sophisticated day by day with various methods, such as the method of stealing an individual ID to perform account transfer to the Daepo bankbook and then making withdrawals, and the method of withdrawing after inducing deposits into the Daepo bankbook through voice phishing. are becoming intelligent.
이와 같은 금융사기에 의한 피해는 개인뿐만 아니라 은행이나 전자금융서비스 제공자에게도 시간적으로나 금전적으로 손실을 야기하는 등 사회적으로도 심각한 문제가 되고 있다.The damage caused by such financial fraud is becoming a serious social problem, causing time and money losses not only to individuals but also to banks and electronic financial service providers.
금융사기를 방지하기 위한 관련 기술로는 금융사기에 활용된 것으로 신고된 IP로 접속하는 경우 인터넷 뱅킹 서비스를 차단하는 기술이 사용되고 있다.As a related technology to prevent financial fraud, a technology that blocks Internet banking service when accessing to an IP reported as being used for financial fraud is used.
또한, 결제자의 다양한 정보를 수집해 패턴을 만든 후 패턴과 다른 이상 결제를 잡아내고 결제 경로를 차단하는 룰(Rule) 기반의 이상금융거래 탐지 시스템에 대한 연구가 지속적으로 이루어지고 있다.In addition, research on a rule-based abnormal financial transaction detection system that collects various information of a payer to create a pattern, catches an abnormal payment that is different from the pattern, and blocks the payment route is being continuously conducted.
이와. 관련하여, 국내등록 특허공보 제10-1153968호에는 금융사기 방지 시스템이 개시되어 있다. 제10-1153968호 특허에서는 다중채널을 통해 수집한 금융사기 사례에 관한 데이터를 유형별로 저장 및 관리하는 금융사기 패턴 데이터베이스부와, 금융거래를 하는 사용자의 평소 금융거래에 관한 데이터를 사용자 별로 저장 및 관리하는 사용자 패턴 데이터베이스부 및 사용자의 평소 금융거래에 관한 데이터 및 금융사기 사례에 관한 데이터에 따라, 사용자가 통신망을 통해 수행하는 금융거래가 금융사기에 해당하는지 판단하여 사용자의 금융거래를 차단하는 금융사기 검출부를 포함하는 금융사기 방지 시스템과 이를 이용한 방지 방법을 제공한다. 이에 따라 다중채널을 통해 금융사기 사례를 [0013] 수집하고 이를 활용하므로 계속적으로 진화하는 금융사기기법에 유연하게 대처할 수 있는 장점이 있다.with this In relation to this, Korean Patent Publication No. 10-1153968 discloses a financial fraud prevention system. Patent No. 10-1153968 discloses a financial fraud pattern database unit that stores and manages data on financial fraud cases collected through multiple channels by type, and stores and Financial fraud that blocks the user's financial transaction by determining whether the user's financial transaction through the communication network corresponds to a financial fraud according to the managed user pattern database unit and the user's usual financial transaction data and financial fraud case data A financial fraud prevention system including a detection unit and a prevention method using the same are provided. Accordingly, since financial fraud cases are collected and utilized through multiple channels, there is an advantage in flexibly coping with continuously evolving financial fraud techniques.
그러나 종래의 기술에서 사용되는 관계형 데이터 모델에 기초를 둔 데이터베이스(Relational Database) 및 IP 추적 기술로는 실시간 분석이 곤란한 문제점이 있다. However, real-time analysis is difficult with a relational database and IP tracking technology based on a relational data model used in the prior art.
최근에는 인-메모리 데이터베이스(In-memory Database) 기술이 제안되어 도입되고 있다. 인-메모리 기반 시스템은 데이터 스토리지의 메인 메모리에 설치되어 운영되는 방식의 데이터베이스 관리 시스템으로, 디스크에 설치되는 방식에 비해 처리 속도가 빠르다는 장점을 갖는다.Recently, an in-memory database technology has been proposed and introduced. The in-memory based system is a database management system that is installed and operated in the main memory of data storage, and has the advantage of faster processing speed than the method installed on a disk.
본 발명의 목적은 인-메모리 기반 이상징후를 실시간으로 분석할 수 있는 분석시스템 및 방법을 제공하는 것이다.An object of the present invention is to provide an analysis system and method capable of analyzing in-memory-based anomalies in real time.
본 발명의 일 측면에 따르면, 인-메모리 기반 이상징후 실시간 분석시스템은, 분석을 위한 입력데이터가 입력되며 복수의 카푸카(kafka) 모듈로 형성된 제1 카푸카부; 상기 제1카푸카부로부터 전송받은 입력 데이터를 파싱하여 정규화 데이터인 제2입력데이터로 변환시키는 파서부; 상기 파서부에서 변환된 제2입력데이터를 복수의 카푸카(kafka) 모듈로 분산 처리하여 전송하는 제2카푸카부; 상기 제2 카푸카부로부터 전송받은 제2 입력 데이터에 대해 주어진 프로세스에 따라 실시간 분석하는 기능을 수행하는 RTA 분석프로세서부; 상기 RTA 분석프로세서부(120)에서 분석이 완료된 제2 입력 데이터에 대해 특정 기준값을 기준으로 설정된 조건 프로세스에 따라 프로파일링하고 프로파일링된 데이터를 key value 방식으로 변환하는 프로파일러부; 및 상기 프로파일러부에서 key value 방식으로 변환된 데이터를 메모리에 저장하는 Redis부; 를 포함하는 것을 특징을 한다.According to one aspect of the present invention, an in-memory based anomaly symptom real-time analysis system includes: a first Kafka unit formed of a plurality of kafka modules and receiving input data for analysis; a parser unit parsing the input data transmitted from the first Kapuka unit and converting it into second input data that is normalized data; a second kafka unit that distributes and transmits the second input data converted by the parser unit to a plurality of kafka modules; an RTA analysis processor unit performing real-time analysis according to a given process on the second input data transmitted from the second KaPuka unit; a profiler unit for profiling the second input data analyzed by the RTA
또한, 상기 제1 카푸카부 및 제2카푸카부는 2 ~10개의 카푸카(kafka) 모듈이 병렬로 형성된 것을 특징으로 한다.In addition, the first Kafka unit and the second Kafka unit are characterized in that 2 to 10 Kafka modules are formed in parallel.
또한, 상기 RTA 분석 프로세서부는 복수 개의 RTA 분석프로세서가 형성되며, 각각 처리 물량을 나누어서 병렬로 분석 처리하는 것을 특징으로 한다.In addition, the RTA analysis processor unit is characterized in that a plurality of RTA analysis processors are formed, and each processing quantity is divided and analyzed in parallel.
또한, 상기 프로파일러부에서, 상기 특정 기준값은 고객번호 또는 아이디를 포함하며, 상기 설정된 조건 프로세스는 상기 특정 기준값을 기준으로 거래하였던 단말기기, 국가, 계좌번호, 거래채널, 거래평균금액 중 어느 하나 이상을 포함하는 것을 특징으로 한다.In addition, in the profiler unit, the specific reference value includes a customer number or ID, and the set condition process is performed based on the specific reference value, and the terminal device, country, account number, transaction channel, and average transaction amount are any one or more. It is characterized in that it includes.
또한, 상기 분석시스템은 금융서버의 고객인터페이스와 계정계를 통하여 상기 입력데이터를 입력받는 것을 특징으로 한다.In addition, the analysis system is characterized in that the input data is received through a customer interface and an account system of a financial server.
본 발명의 또 다른 측면에 따르면, 상기 분석시스템에서 상기 RTA 분석 프로세서부에서 이상징후를 실시간 분석하는 분석방법은, 상기 제2카푸카부로부터 전송된 제2입력 데이터 중에서 특이 조건에 해당하는 데이터인지를 비교하는 과정이 수행되는 제1차 비교 필드처리 단계; 상기 제1차 비교 필드처리 단계에서 상기 특이 조건에 해당되는 경우에는 상기 분석이 요구되는 데이터를 특정 기준값을 기준으로 과거 프로파일링된 데이터와 비교하는 과정이 수행되는 제2차 프로파일링된 데이터 비교 단계; 및 상기 제2차 프로파일링된 데이터 비교 단계에서 상기 특정 기준값에 만족되지 않는 경우에는 해당 고객에 대한 이상 징후 클래스 aggregation을 메모리에서 추출하여 설정하고, 상기 제2 입력 데이터를 주어진 설정된 이상 징후 클래스 aggregation와 비교하는 과정이 수행되는 제3차 어그리제이션 데이터 비교단계; 를 포함하며, 상기 제3차 어그리제이션 데이터 비교단계에서 설정된 이상 징후 클래스 aggregation에 해당되는 경우에는 상기 RTA 분석 프로세서부가 이상징후 거래로 출력하는 것을 특징으로 한다.According to another aspect of the present invention, in the analysis system, the analysis method of analyzing the anomaly in the RTA analysis processor unit in real time determines whether the second input data transmitted from the second KaPuka unit corresponds to a specific condition. a first comparison field processing step in which a comparison process is performed; In the first comparison field processing step, when the specific condition is met, a second profiled data comparison step in which a process of comparing the data required for analysis with data profiled in the past based on a specific reference value is performed. ; and in the second profiled data comparison step, if the specific reference value is not satisfied, an anomaly symptom class aggregation for the corresponding customer is extracted from the memory and set, and the second input data is set with the anomaly symptom class aggregation given. a third aggregation data comparison step in which a comparison process is performed; and outputting the RTA analysis processor unit as an abnormal symptom transaction when it corresponds to the abnormal symptom class aggregation set in the third aggregation data comparison step.
또한, 상기 제3차 어그리제이션 데이터 비교단계에서 설정된 이상 징후 클래스 aggregation에 해당되지 않는 경우에는, 상기 제2입력 데이터는 상기 프로파일러에서 프로파일링되어 상기 Redis부에 저장되는 것을 특징으로 한다.In addition, if it does not correspond to the anomaly symptom class aggregation set in the third aggregation data comparison step, the second input data is profiled by the profiler and stored in the Redis unit.
또한, 상기 제1차 비교 필드처리 단계의 특이 조건은, ”접속국가가 한국이 아니고 접속 단말이 모바일이면서 이체를 한 거래” 또는, 단말정보로 단말식별키(MAC, HDD, IMEI, UUID, androidID, widevineID), 접속 IP, 접속 국가코드, VPN 사용 여부, VM 사용 여부, PROXY 사용 여부, WIFI 사용 여부, 단말 OS, 단말언어 중 어느 하나 이상을 포함하거나, 또는, 거래정보로, 거래채널, 입금/출금의 수신구분, 고객번호, 아이디, 단말정보, 계좌번호, 상대계좌번호, 상대은행코드, 거래금액, 잔액, 계좌주명, 상대 계좌주명, 법인 계좌 여부, 변경 기록코드 중 어느 하나 이상을 포함하는 것을 특징으로 한다.In addition, the specific condition of the first comparison field processing step is “transaction made while the accessing terminal is mobile and the accessing country is not Korea” or, as the terminal information, the terminal identification key (MAC, HDD, IMEI, UUID, androidID . / Including any one or more of the classification of receipt of withdrawal, customer number, ID, terminal information, account number, counterpart account number, counterpart bank code, transaction amount, balance, account holder name, counterpart account holder name, corporate account status, change record code It is characterized by doing.
또한, 상기 제2차 프로파일링된 데이터 비교 단계의 특정 기준값은, 고객기준으로 과거에 해외사용 여부가 있는 경우, 고객 기준으로 과거에 사용했던 단말기인 경우 및 고객 기준으로 과거에 이체했던 계좌인지 여부 중 어느 하나 이상을 포함하는 것을 특징으로 한다.In addition, the specific reference value of the second profiled data comparison step is based on customer standards, if there has been overseas use in the past, Characterized in that it includes any one or more of whether the terminal was used in the past on a customer basis and whether the account was transferred in the past on a customer basis.
또한, 상기 제3차 어그리제이션 데이터 비교단계에서 설정된 이상 징후 클래스 aggregation은, 기준시간 동안 동일 아이디가 정해진 임계값 이상 접속시, 기준시간 동안 처리된 누적 금액이 임계값 이상 이체 고객, 지속시간(duration) 동안 기준값에 대한 count가 임계값 초과시 중 어느 하나 이상을 포함하는 것을 특징으로 한다.In addition, the abnormal symptom class aggregation set in the third aggregation data comparison step is, when the same ID accesses over a predetermined threshold value during the reference time, the accumulated amount processed during the reference time is greater than the threshold value, the transfer customer, the duration ( It is characterized in that the count for the reference value during duration) includes any one or more of when the threshold value is exceeded.
본 발명의 일 실시 예에 따르면, 데이터 스토리지의 메인 메모리에 알고리즘이 설치되어 운영되는 방식으로 간단한 아키텍처에 의해 처리시간이 단축되어 실시간 이상징후에 대한 분석이 가능한 효과를 가진다.According to an embodiment of the present invention, an algorithm is installed and operated in the main memory of data storage, and processing time is reduced by a simple architecture, thereby enabling real-time analysis of anomalies.
도 1은 본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템을 설명하기 위한 구조를 간단하게 도시한 것이다.
도 2는 본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템의 RTA 분석 프로세서부(120)에서 이상징후 실시간 분석방법에 대해 도시한 것이다.
도 3은 본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템을 금융시스템에 적용한 예를 도시한 것이다.1 is a schematic diagram of a structure for explaining an in-memory based anomaly symptom real-time analysis system according to an embodiment of the present invention.
FIG. 2 illustrates a real-time analysis method for abnormal symptoms in the RTA
3 illustrates an example of applying the in-memory based real-time anomaly analysis system according to an embodiment of the present invention to a financial system.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.Terms used in this application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise.
본 출원에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. In this application, when a certain component is said to "include", it means that it may further include other components without excluding other components unless otherwise stated.
또한, 명세서에 기재된 "…부", "…기", "모듈", "장치" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In addition, terms such as "...unit", "...unit", "module", and "device" described in the specification mean a unit that processes at least one function or operation, which is hardware or software, or a combination of hardware and software. can be implemented as
또한, 본 발명의 실시 예의 구성 요소를 설명하는 데 있어서, 제1, 제2 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 '연결', '결합' 또는 '접속'된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결, 결합 또는 접속될 수 있지만, 그 구성 요소와 그 다른 구성요소 사이에 또 다른 구성 요소가 '연결', '결합' 또는 '접속'될 수도 있다고 이해되어야 할 것이다.Also, terms such as first and second may be used in describing components of an embodiment of the present invention. These terms are only used to distinguish the component from other components, and the nature, order, or order of the corresponding component is not limited by the term. When an element is described as being 'connected', 'coupled' or 'connected' to another element, the element may be directly connected, coupled or connected to the other element, but not between the element and the other element. It should be understood that another component may be 'connected', 'coupled' or 'connected' between elements.
이하 본 발명의 구현에 따른 인-메모리 기반 이상징후 실시간 분석시스템 및 방법에 대하여 상세하게 설명한다.Hereinafter, an in-memory based anomaly symptom real-time analysis system and method according to an implementation of the present invention will be described in detail.
인-메모리 기반 데이터 처리시스템은 디스크가 아닌 주 메모리에 모든 데이터를 보유하고 있는 데이터베이스. 디스크 검색보다 자료 접근이 훨씬 빠른 것이 가장 큰 장점이다. 이에 따라 데이터양의 빠른 증가로 데이터베이스 응답 속도가 떨어지는 문제를 해결할 수 있고 실시간 이상징후 분석이 가능하게 된다.An in-memory based data processing system is a database that holds all data in main memory rather than on disk. The biggest advantage is that data access is much faster than disk search. Accordingly, it is possible to solve the problem of slow database response due to the rapid increase in the amount of data, and to analyze anomalies in real time.
전형적인 디스크 방식은 디스크에 저장된 데이터를 대상으로 쿼리를 수행하지만, 인-메모리 방식은 메모리 상에 색인을 넣어 필요한 모든 정보를 메모리 상의 색인을 통해 빠르게 검색할 수 있다.A typical disk method performs a query on data stored on disk, but an in-memory method puts an index in memory and can quickly retrieve all necessary information through the in-memory index.
도 1은 본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템을 설명하기 위한 구조를 간단하게 도시한 것이다.1 is a schematic diagram of a structure for explaining an in-memory based anomaly symptom real-time analysis system according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템(100)은 분석을 위한 raw 데이터가 입력되며, 입력된 raw 데이터를 분산 처리하여 파서부(parser, 160)로 전송처리 하기 위해 복수의 카푸카(kafka)모듈이 병렬로 형성된 제1 카푸카부(150), 상기 제1 카푸카부(150)로부터 전송받은 비정형 상태의 raw 데이터를 파싱하여 정규화 데이터인 제2 입력데이터로 변환시키는 파서부(parser, 160), 상기 파서부(parser, 160)에서 변환된 제2입력 데이터를 분산 처리하여 RTA부로 전송하기 위해, 복수의 카푸카(kafka) 모듈이 병렬로 형성된 제2 카푸카부(170), 상기 제2 카푸카부(170)로부터 전송받은 제2입력 데이터에 대해 주어진 프로세스에 따라 데이터를 실시간 분석하는 기능을 수행하는 RTA 분석프로세서부(120), 상기 RTA 분석프로세서부(120)에서 분석된 제2입력 데이터에 대해 설정된 조건 프로세스에 따라 프로파일링하고, 프로파일링된 데이터를 Key=value 형식으로 변환하는 프로파일러부(130) 및 상기 프로파일러부(130)에서 key=value 방식으로 변환된 데이터를 메모리에 저장하는 Redis부(110)를 포함한다.Referring to FIG. 1, in the in-memory based anomaly symptom real-
본 발명의 일 실시 예에서는 제1 카푸카부(150)와 제2 카푸카부(170)는 데이터 처리를 위해 파서부(parser, 160)의 전, 후단 사이에 분산 처리를 위한 분산 데이터큐(임시저장)로 사용되는 것을 특징으로 한다. In one embodiment of the present invention, the first KaPuka
본 발명의 일 실시 예에 따르면, 카푸카(kafka) 모듈은 socket에서 데이터를 수신한 연결된 process가 읽어간 시간 동안 추가 데이터를 버퍼에 임시 저장하기 위해 분산 데이터큐로 사용하는 모듈을 의미한다.According to an embodiment of the present invention, a kafka module refers to a module used as a distributed data queue to temporarily store additional data in a buffer while a connected process receiving data from a socket reads them.
본 발명의 일 실시 예에서 제1 카푸카부(150)는 파셔부(160)의 처리량에 맞추어 2 내지 10개의 카푸카(kafka) 모듈로 분산 처리되어 효율적인 데이터의 전송과 데이터의 전송속도를 높일 수 있다.In one embodiment of the present invention, the first Kafka
도 1에서 입력 데이터의 양이 파서부(160)에서 실시간으로 파싱 처리하는 양보다 많을 경우에는 제1 카푸카부(150)에서 2 ~ 10개의 카푸카(kafka) 모듈로 분산되어 순차적으로 처리된다. 또한, 파서부(160)가 데이터를 정규화하고 RTA 분석프로세서부(120)가 분석을 해야 하는 과정에서 parser 데이터 처리 성능이 RTA 데이터 성능보다 높을 경우, 제2 카푸카부(170)에서는 2 ~ 10개의 카푸카(kafka) 모듈로 분산되어 순차적으로 전송되도록 함으로써, 파서부(160)는 RTA 분석프로세서부(120)에서 처리할 때까지 기다리지 않고 입력된 데이터신호에 대해 파싱 처리를 계속 수행할 수 있다.In FIG. 1 , when the amount of input data is greater than the amount parsed in real time by the
따라서, 본 발명의 일 실시 예에 따른 전체적인 데이터 흐름의 속도를 높여서 실시간 분석이 가능하도록 하는 효과를 가진다.Therefore, it has an effect of enabling real-time analysis by increasing the speed of the overall data flow according to an embodiment of the present invention.
본 발명의 일 실시 예에 따르면, 상기 파서부(parser, 160)는 비정형 상태의 raw 데이터를 파싱하여 정규화 데이터로 변환시키는 기능을 수행한다.According to an embodiment of the present invention, the
파서부(parser, 160)는 주어진 종단 기호의 열이 특정의 문법에서 생성되는지를 판정하고, 초기 기호로부터 그 열에 도달하는 생성 규칙의 열을 발견하는 프로그램을 가리킨다. 구조를 가진 대상 중에서도 자연 언어로 쓰여진 문이나 인공 언어로 쓰여진 프로그램을 문법 규칙에 따라 구문 해석하여 변환한다.
예를 들면, 입력된 비정형 데이터의 예는 다음과 같다.For example, an example of input unstructured data is as follows.
- 비정형 데이터 예시 1: "KR", "abc", "1.1.1.1.'...- Unstructured data example 1: "KR", "abc", "1.1.1.1.'...
- 비정형 데이터 예시 2: con="JP", id="efg", ip="2.2.2.2", ...- Unstructured data example 2: con="JP", id="efg", ip="2.2.2.2", ...
상기 파서부(parser, 160)에서는 상기 비정형 데이터를 RTA 분석프로세서부(120)에서 분석 작업을 효율적으로 수행하기 위해 다음 표1과 같이 정규화된 제2 입력데이터로 변환을 한다.The
표 1은 입력된 비정형 데이터로부터 변환된 정규화 제2입력 데이터의 예를 도시한 것이다.Table 1 shows an example of normalized second input data converted from input unstructured data.
RTA 분석 프로세서부(120)는 입력된 제2 입력 데이터를 주어진 프로세스에 따라 Redis부(110)에서 프로파일링된 데이터와 실시간으로 분석하는 분석 프로세서로써, 본 발명의 일 실시 예에서는 실시간 처리 속도를 위해 병렬로 복수개의 RTA(realtime analyzer) 분석프로세서로 형성되어 각각 처리 물량을 나누어서 병렬로 분석 처리하는 것을 특징으로 한다.The RTA
예를 들면, 실시간 분석할 시나리오가 100개일 경우 RTA 분석 프로세서를 2개 구동시키면 각각 50개의 시나리오가 배정되어 실시간 분석되는 구조로 수행된다.For example, if there are 100 scenarios to be analyzed in real time, if two RTA analysis processors are driven, 50 scenarios are assigned to each and analyzed in real time.
본 발명의 일 실시 예에 따른 프로파일러부(130)는 제2 입력 데이터를 특정 기준값을 기준으로 지속적으로 프로파일링하는 모듈이다.The
프로파일링은 특정 기준값(예>고객번호, 혹은 아이디)을 기준으로 일정 기간 동안 데이터를 연산하여 쌓아놓는 작업이다. 예를 들면, 고객번호 기준으로 거래하였던 단말기기, 국가, 계좌번호, 거래채널, 거래평균금액 등으로 축적이 된다.Profiling is the operation of calculating and accumulating data for a certain period of time based on a specific reference value (e.g. customer number or ID). For example, the terminal device, country, account number, transaction channel, and average transaction amount are accumulated based on the customer number.
이를 금융시스템에 적용하여 이상징후 탐지를 위해서는 본 발명의 일 실시 예에서는 상기의 예와 같이 개개의 고객들에 대한 과거 이력을 지속적으로 프로파일링을 해서 데이터를 축적하는 단계를 포함한다.In order to apply this to the financial system to detect anomalies, an embodiment of the present invention includes the step of continuously profiling the past history of each customer and accumulating data, as in the above example.
예를 들어 5000만원 이상 이체 시 이상행위로 보는 시나리오가 존재할 시에, 현재 5000만원 이상 이체를 했지만 과거에 거래가 있던 계좌로 이체를 했을 경우라면, 정상으로 볼 수 있다. For example, when there is a scenario in which a transfer of more than 50 million won is regarded as an abnormal behavior, if the transfer is made to an account where there was a transaction in the past even though the current transfer is more than 50 million won, it can be regarded as normal.
본 발명의 일 실시 예에서는 각 고객별로 지속적으로 이체를 했던 상대 계좌번호를 프로파일링하여 지속적으로 메모리에 쌓아놓고, RTA 분석 프로세서부(120)에서는 이를 현재 데이터와 대비하여 조건에 따라 단계별로 이상징후를 판단한다.In one embodiment of the present invention, the relative account number that has been continuously transferred for each customer is profiled and continuously stored in memory, and the RTA
상기 프로파일러부(130)에서 프로파일링된 데이터를 key value 방식의 비관계형 데이터로 변환하고, Redis부(110)는 상기 변환된 key value 방식의 데이터를 메모리에 저장하는 것을 특징으로 한다.Characterized in that the data profiled by the
일반적은 DBMS는 여러 개의 테이블이 생성하고 각각의 테이블들끼리의 관계를 형성할 수 있고 각각의 테이블에 여러 개의 필드를 생성하여 데이터를 관리하는데 비해, 본 발명의 일 실시 예에 따른 Redis부(110)는 단순 key=value 방식으로 저장되어 있기 때문에 해당 Key에 대한 value 검색이 굉장히 빠르고, 이에 따라 실시간 검색이 가능한 효과를 가진다.Compared to general DBMS, which creates several tables, can form relationships between tables, and manages data by creating several fields in each table, the Redis unit (110) according to an embodiment of the present invention ) is stored in a simple key=value method, so searching for the value for the key is very fast, and as a result, it has the effect of real-time searching.
key=value 방식은 키를 고유한 식별자로 사용하는 키-값 쌍의 집합으로 데이터를 저장한다. 단순한 객체에서 복잡한 집합체에 이르기까지 무엇이든 키와 값이 될 수 있다. key=value 방식은 파티셔닝이 가능하고 다른 유형의 데이터베이스로는 불가능한 범위까지 수평 확장을 가능하게 합니다. 이와 같은 key=value 방식은 오픈 소스인 “DynamoDB”를 사용하여 수행될 수 있다.The key=value method stores data as a set of key-value pairs using the key as a unique identifier. Keys and values can be anything from simple objects to complex aggregates. The key=value approach allows for partitioning and horizontal scaling to an extent not possible with other types of databases. This key=value method can be performed using the open source “DynamoDB”.
도 2는 본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템의 RTA 분석 프로세서부(120)에서 이상징후 실시간 분석방법에 대해 도시한 것이다.FIG. 2 illustrates a real-time analysis method for abnormal symptoms in the RTA
본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템은 금융시스템에 적용하여 금융 거래에 대한 이상징후를 분석하여 이상시 출력으로 정보를 제공할 수 있다.The in-memory based anomaly symptom real-time analysis system according to an embodiment of the present invention can be applied to a financial system to analyze anomaly symptoms for financial transactions and provide information as an output in case of an anomaly.
도 3은 본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템을 금융시스템에 적용한 예를 도시한 것이다.3 illustrates an example of applying the in-memory based real-time anomaly analysis system according to an embodiment of the present invention to a financial system.
도 3을 참조하면, 금융시스템을 이용하는 고객이 고객 단말(500)을 이용한 네트워크를 통하여 금융서버(200)에 접속하여 금융 업무를 처리한다,Referring to FIG. 3, a customer using a financial system accesses a
상기 고객 단말은 스마트폰, 텔레뱅킹, PC, ATM 등을 포함한다.The customer terminal includes a smart phone, telebanking, PC, ATM, and the like.
본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템(100)은 금융서버(200)의 MCI(Multi channel integration, 210) 및 계정계(250)를 통하여 고객들의 금융 처리 데이터를 실시간으로 입력받는다.The in-memory based anomaly symptom real-
본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템(100)은 금융서버(200)의 MCI(Multi channel integration, 210) 고객 인터페이스를 통하여 고객이 단말(5400)에 의해 처리되는 금융 업무에 대한 데이터를 입력받는다. 또한, 금융서버(200)의 계정계(250)와 접속하여 통해 고객이 다른 금융기관을 통해 처리되는 금융업무에 대한 데이터를 실시간으로 입력받는다.The in-memory based anomaly symptom real-
도 2를 참조하면, 본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템의 RTA 분석 프로세서부(120)에서 이상징후 실시간 분석방법은, 먼저 제1차 비교 필드처리(1st comparsion filed operation) 단계(1210)가 수행된다.Referring to FIG. 2, in the real-time analysis method for anomalies in the RTA
제1차 비교 필드처리(1st comparsion filed operation) 단계(1210)에서는 상기 제2카부카부(170)에서 전송된 정규화된 분석이 요구되는 데이터 중에서 요구되는 특이 조건에 해당하는 데이터를 추출하여 비교하는 과정이 수행된다.In the first comparison field processing (1st comparison field operation)
본 발명의 일 실시 예에 따른 제1차 비교 필드처리(1st comparsion filed operation) 단계(1210)에서는 조건 필드와 데이터 필드의 연산 처리로 수행된다.In step 1210 of a first comparison field operation according to an embodiment of the present invention, operation processing of a condition field and a data field is performed.
예를 들면,For example,
- 필드와 값에 대한 연산으로 : =, !=, like, not like, in, not in, >, <, >=, <= 등이 지원된다. - Operations on fields and values: =, !=, like, not like, in, not in, >, <, >=, <=, etc. are supported.
- Ex> A, B, C, D의 변수가 존재할 때- Ex> When there are variables of A, B, C, D
(A=1 and B <= 3 and A != B) or (C like 'man*' and D in ('t', 's')) …(A=1 and B <= 3 and A != B) or (C like 'man*' and D in ('t', 's')) …
또한, 본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템을 금융시스템에 적용한 금융처리의 이상징후 분석방법에 적용한 경우, 특이 조건은 금융 사기에 해당하는 조건으로 설정될 수 있다.In addition, when the in-memory-based real-time analysis system for anomalies according to an embodiment of the present invention is applied to a method for analyzing anomalies in financial processing applied to a financial system, a specific condition may be set as a condition corresponding to financial fraud.
예를 들면,, 본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템을 금융시스템에 적용한 금융처리의 이상징후 분석방법의 경우, 제1차 비교 필드처리(1st comparsion filed operation) 단계(1210)에서 특이 조건은 ”접속국가가 한국이 아니고 접속 단말이 모바일이면서 이체를 한 거래” 로 설정할 수 있다.For example, in the case of an anomaly analysis method for financial processing in which the in-memory-based real-time analysis system for anomaly analysis according to an embodiment of the present invention is applied to a financial system, the first comparison field processing (1st comparison filed operation) In
이와 같은 금융 사기에 해당하는 조건은, 단말정보로 단말식별키(MAC, HDD, IMEI, UUID, androidID, widevineID), 접속 IP, 접속 국가코드, VPN 사용여부, VM 사용여부, PROXY 사용여부, WIFI 사용여부, 단말 OS, 단말언어 등을 포함할 수 있다. 또한, 거래정보로, 거래구분(예비거래/본거래), 거래채널, 수신구분(입금/출금), 고객번호, 아이디, 단말정보, 계좌번호, 상대 계좌번호, 상대 은행코드, 거래금액, 잔액, 계좌주명, 상대 계좌주명, 법인 계좌여부, 변경 기록코드 등을 포함하여 설정할 수 있다.The conditions corresponding to such financial fraud are terminal information such as terminal identification key (MAC, HDD, IMEI, UUID, androidID, widevineID), access IP, access country code, whether to use VPN, whether to use VM, whether to use PROXY, WIFI It may include usage status, terminal OS, terminal language, and the like. In addition, as transaction information, transaction classification (preliminary transaction/main transaction), transaction channel, reception classification (deposit/withdrawal), customer number, ID, terminal information, account number, counterparty account number, counterparty bank code, transaction amount, balance , the name of the account holder, the name of the other account holder, whether or not a corporate account, and the change record code can be set.
제1차 비교 필드처리(1st comparsion filed operation) 단계(1210 단계)에서 특이 사항에 해당하지 않는 경우(NO)에는 종료하고, 입력된 데이터는 프로파일러(130)에서 프로파일링되어 Redis부(110)에 저장이 된다.In the 1st comparison field operation step (step 1210), if it does not correspond to the specific case (NO), it ends, and the input data is profiled in the
제1차 비교 필드처리(1st comparsion filed operation) 단계(1210 단계)에서 특이 조건에 해당되는 경우(YES)에는 상기 분석이 요구되는 데이터를 특정 기준값을 기준으로 과거 프로파일링된 데이터와 비교하는 제2차 프로파일링된 데이터 비교(2nd comparsion profiled data,) 단계(1220 단계)가 수행된다.In the first comparison field operation step (step 1210), if a specific condition is met (YES), the data required for analysis is compared with data profiled in the past based on a specific reference value. A 2 nd comparison profiled data step (step 1220) is performed.
금융처리의 이상징후에 대한 분석의 경우, 제2차 프로파일링된 데이터 비교(2nd comparsion profiled data, 1220) 단계에서의 특정 기준값의 예를 들면, 다음과 같은 것을 포함할 수 있다.In the case of analysis of anomalies in financial processing, examples of specific reference values in the second comparison profiled
- 고객기준으로 과거에 해외사용 여부가 있는 경우,- If there has been overseas use in the past on a customer basis,
- 고객 기준으로 과거에 사용했던 단말기인 경우,- In the case of a terminal used in the past on a customer basis,
- 고객 기준으로 과거에 이체했던 계좌인지 여부- Whether the account has been transferred in the past on a customer basis
상기 특정 기준값에 만족이 되면(YES), 종료하고, 입력된 데이터는 프로파일러(130)에서 프로파일링되고, key=value 값으로 변환되어 Redis부(110)에 저장이 된다.When the specific reference value is satisfied (YES), it ends, and the input data is profiled in the
한편, 해당 고객이 과거에 해외거래 이력이 없고 과거에 사용하지 않았던 단말기를 이용했고 과거에 거래내역이 없는 계좌 거래시 즉, 상기 특정 기준값에 만족이 되지 않으면(NO), aggregation 단계(1231 단계)를 거쳐서 해당 고객에 대해 이상 징후 클래스 aggregation을 메모리(1232)에서 추출(1231)하여 설정하고, 주어진 설정에 대해 제3차 어그리제이션 데이터 비교(3rd comparsion aggregation data) 단계(1235 단계)가 수행된다.On the other hand, when the customer has no overseas transaction history in the past, used a terminal that has not been used in the past, and accounts with no transaction history in the past, that is, if the above specific reference value is not satisfied (NO), the aggregation step (step 1231) After going through, the anomaly symptom class aggregation for the customer is extracted (1231) from the
본 발명의 일 실시 예에서 상기 aggregation 단계(1231 단계)는 해외거래 이력이 없고 과거에 사용하지 않았던 단말기를 사용했고 과거 거래내역이 없는 계좌와 거래한 고객을 기준으로 거래건수를 count하는 작업을 포함한다.In one embodiment of the present invention, the aggregation step (step 1231) includes counting the number of transactions based on customers who have no overseas transaction history, have used a terminal that has not been used in the past, and have traded with accounts without past transaction history. do.
또한, aggregation data by pivot value 단계(1232 단계)에서는 상기 1231단계에서 에서 연산한 작업을 메모리에 임계시간 동안 임시 저장하고 제3차 어그리제이션 데이터 비교(3rd comparsion aggregation data) 단계(1235 단계)에서 임계치 비교 작업을 포함하여 수행될 수 있다.In addition, in the aggregation data by pivot value step (step 1232), the operation calculated in
예를 들면, "1시간 동안 해당 고객이 과거에 해외거래 이력이 없고 과거에 사용하지 않았던 단말기를 이용했고 과거에 거래내역이 없는 계좌 2건 이상 거래시”, 본 발명의 일 실시 예에서 상기 aggregation 단계(1231 단계)에서는 해외거래 이력이 없고 과거에 사용하지 않았던 단말기를 사용했고 과거 거래내역이 없는 계좌와 거래한 고객을 기준으로 거래건수를 1시간 동안 count 하는 작업을 포함한다.For example, "when the customer has no overseas transaction history in the past, uses a terminal that has not been used in the past, and trades two or more accounts with no transaction history in the past for 1 hour", in one embodiment of the present invention, the
또한, aggregation data by pivot value 단계(1232 단계)에서는 상기 aggregation 단계(1231 단계)에서 연산한 작업을 메모리에 임시 저장하고 제3차 어그리제이션 데이터 비교(3rd comparsion aggregation data) 단계(1235 단계)에서 2건 이상 발생하면 이상징후로 탐지하는 작업을 포함하여 수행된다.In addition, in the aggregation data by pivot value step (step 1232), the operation calculated in the aggregation step (step 1231) is temporarily stored in memory and the 3 rd comparison aggregation data step (step 1235) If more than 2 cases occur in , it is performed including detecting as an anomaly.
금융처리의 이상징후에 대한 분석의 경우, 제3차 어그리제이션 데이터 비교(3rd comparsion aggregation data) 단계(1235 단계)에서 설정된 어그리제이션(aggregation data) 데이터 및 비교분석의 예를 들면, 다음과 같은 것을 더 포함할 수 있다.In the case of analysis of anomalies in financial processing, for example of the aggregation data data and comparative analysis set in the 3 rd comparison aggregation data step (step 1235), the following You may include more such as
- 구성값 : 지속시간, 기준값, 대상값, 연산자(count, sum), 임계값- Configuration values: duration, reference value, target value, operator (count, sum), threshold value
- 기준시간 또는 지속시간(duration) 동안 기준값에 대한 count가 임계값 초과시- When the count for the reference value exceeds the threshold value during the reference time or duration
(예> 1시간 동안 동일 아이디(기준값)가 10(임계값)회 이상 접속시)(Example> When the same ID (standard value) accesses more than 10 (threshold value) times in 1 hour)
- 기준시간 또는 지속시간(duration) 동안 기준값에 대한 대상값의 SUM 임계값 초과시- When the SUM threshold of the target value for the reference value is exceeded during the reference time or duration
(예> 30분 동안 누적 금액(대상값) 천만 원 (임계값)이상 이체 고객(기준값))(Example> Customers who transferred more than KRW 10 million (threshold value) of the cumulative amount (target value) for 30 minutes (standard value))
- 지속시간(duration) 동안 기준값에 대한 대상값의 유일 COUNT 임계값 초과시- When the unique COUNT threshold of the target value for the reference value is exceeded during the duration
(예> 1시간 동안 동일단말기(기준값)에서 접속한 아이디(대상값)가 10(임계값)개 이상시)(Example> When there are 10 (threshold) or more IDs (target value) accessed from the same terminal (standard value) for 1 hour)
- 상기 연산들을 지속시간 동안만 메모리에 유지하고 지난 데이터는 메모리에서 삭제(why)- Keep the above operations in memory only for the duration and delete the past data from memory (why)
본 발명의 일 실시 예에 따른 해당 고객에 대한 이상 징후 클래스 aggregation는 예상되는 금융 사고에 대해 메모리에 지속적으로 축적되는 것을 특징으로 한다.According to an embodiment of the present invention, anomaly symptom class aggregation for a corresponding customer is continuously accumulated in a memory for expected financial accidents.
예를 들면, “과거에 해외에서 거래내역이 없는 고객이 과거에 사용하지 않은 모바일 장비로 한 번도 이체하지 않은 계좌에 1시간 동안 1천만 원 이상 해외로 이체한 경우에는 설정된 어그리제이션(aggregation data) 데이터를 만족한 것(YES)으로 판단을 하여, 이상징후 거래로 출력(output)을 하고, 입력된 분석이 요구되는 데이터는 프로파일러(130)에서 프로파일링되어 Redis부(110)에 저장이 된다.For example, “If a customer with no transaction history abroad in the past transfers over 10 million won overseas to an account that has never been transferred to an account that has never been transferred to a mobile device that has not been used in the past, the set aggregation data ) The data is judged to be satisfied (YES), and the output is output as an anomaly transaction, and the input data required for analysis are profiled in the
또는, 설정된 어그리제이션(aggregation data) 데이터에 해당되지 않는 경우(NO)에는 입력된 데이터는 프로파일러(130)에서 프로파일링되어 Redis부(110)에 저장이 된다.Alternatively, if it does not correspond to the set aggregation data (NO), the input data is profiled in the
100: 분석시스템
110: Redis부
120: RTA 분석프로세서부
130: 프로파일러부
150: 제1 카푸카부
160: 파서부
170: 제2 카푸카부
200: 금융서버
500: 고객단말100: analysis system
110: Redis part
120: RTA analysis processor
130: profiler unit
150: 1st Kapukabu
160: parser
170: second kapukabu
200: financial server
500: customer terminal
Claims (10)
상기 분석시스템은,
분석을 위한 입력데이터가 입력되며 복수의 카푸카(kafka) 모듈로 형성된 제1 카푸카부;
상기 제1카푸카부로부터 전송받은 입력 데이터를 파싱하여 정규화 데이터인 제2입력데이터로 변환시키는 파서부;
상기 파서부에서 변환된 제2입력데이터를 복수의 카푸카(kafka) 모듈로 분산 처리하여 전송하는 제2카푸카부;
상기 제2 카푸카부로부터 전송받은 제2 입력 데이터에 대해 주어진 프로세스에 따라 실시간 분석하는 기능을 수행하는 RTA 분석프로세서부;
상기 RTA 분석프로세서부(120)에서 분석이 완료된 제2 입력 데이터에 대해 특정 기준값을 기준으로 설정된 조건 프로세스에 따라 프로파일링하고 프로파일링된 데이터를 key value 방식으로 변환하는 프로파일러부; 및
상기 프로파일러부에서 key value 방식으로 변환된 데이터를 메모리에 저장하는 Redis부; 를 포함하는 것을 특징을 하는 분석시스템.In the in-memory based anomaly real-time analysis system,
The analysis system,
a first Kafka unit formed of a plurality of kafka modules and receiving input data for analysis;
a parser unit parsing the input data transmitted from the first Kapuka unit and converting it into second input data that is normalized data;
a second kafka unit that distributes and transmits the second input data converted by the parser unit to a plurality of kafka modules;
an RTA analysis processor unit performing real-time analysis according to a given process on the second input data transmitted from the second KaPuka unit;
a profiler unit for profiling the second input data analyzed by the RTA analysis processor unit 120 according to a condition process set based on a specific reference value and converting the profiled data into a key value method; and
a Redis unit that stores the data converted in the key value method by the profiler unit in a memory; Analysis system comprising a.
상기 제1 카푸카부 및 제2카푸카부는 2 ~10개의 카푸카(kafka) 모듈이 병렬로 형성된 것을 특징으로 하는 분석시스템.According to claim 1,
Wherein the first Kafka unit and the second Kafka unit are characterized in that 2 to 10 Kafka modules are formed in parallel.
상기 RTA 분석 프로세서부는 복수 개의 RTA 분석프로세서가 형성되며, 각각 처리 물량을 나누어서 병렬로 분석 처리하는 것을 특징으로 하는 분석시스템.According to claim 1,
The RTA analysis processor unit is characterized in that a plurality of RTA analysis processors are formed, each processing volume is divided and analyzed and processed in parallel.
상기 프로파일러부에서, 상기 특정 기준값은 고객번호 또는 아이디를 포함하며, 상기 설정된 조건 프로세스는 상기 특정 기준값을 기준으로 거래하였던 단말기기, 국가, 계좌번호, 거래채널, 거래평균금액 중 어느 하나 이상을 포함하는 것을 특징으로 하는 분석시스템.According to claim 1,
In the profiler unit, the specific reference value includes a customer number or ID, and the set condition process includes any one or more of the terminal device, country, account number, transaction channel, and average transaction amount that have been transacted based on the specific reference value. An analysis system characterized in that for doing.
상기 분석시스템은 금융서버의 고객인터페이스와 계정계를 통하여 상기 입력데이터를 입력받는 것을 특징으로 하는 분석시스템.
According to claim 1,
The analysis system, characterized in that for receiving the input data through the customer interface and account system of the financial server.
상기 제2카푸카부로부터 전송된 제2입력 데이터 중에서 특이 조건에 해당하는 데이터인지를 비교하는 과정이 수행되는 제1차 비교 필드처리 단계;
상기 제1차 비교 필드처리 단계에서 상기 특이 조건에 해당되는 경우에는 상기 분석이 요구되는 데이터를 특정 기준값을 기준으로 과거 프로파일링된 데이터와 비교하는 과정이 수행되는 제2차 프로파일링된 데이터 비교 단계; 및
상기 제2차 프로파일링된 데이터 비교 단계에서 상기 특정 기준값에 만족되지 않는 경우에는 해당 고객에 대한 이상 징후 클래스 aggregation을 메모리에서 추출하여 설정하고, 상기 제2 입력 데이터를 주어진 설정된 이상 징후 클래스 aggregation와 비교하는 과정이 수행되는 제3차 어그리제이션 데이터 비교단계; 를 포함하며,
상기 제3차 어그리제이션 데이터 비교단계에서 설정된 이상 징후 클래스 aggregation에 해당되는 경우에는 상기 RTA 분석 프로세서부가 이상징후 거래로 출력하는 것을 특징으로 하는 분석방법.In the analysis system of claim 1, the analysis method of real-time analysis of anomalies in the RTA analysis processor unit,
a first comparison field processing step of performing a process of comparing whether or not data corresponding to a specific condition among the second input data transmitted from the second KaPuka unit is performed;
In the first comparison field processing step, when the specific condition is met, a second profiled data comparison step in which a process of comparing the data required for analysis with data profiled in the past based on a specific reference value is performed. ; and
In the second profiled data comparison step, when the specific reference value is not satisfied, an anomaly symptom class aggregation for the corresponding customer is extracted from memory and set, and the second input data is compared with the given abnormal symptom class aggregation. A third aggregation data comparison step in which the process of performing is performed; Including,
Characterized in that the RTA analysis processor unit outputs the abnormal symptom transaction when it corresponds to the abnormal symptom class aggregation set in the third aggregation data comparison step.
상기 제3차 어그리제이션 데이터 비교단계에서 설정된 이상 징후 클래스 aggregation에 해당되지 않는 경우에는, 상기 제2입력 데이터는 상기 프로파일러에서 프로파일링되어 상기 Redis부에 저장되는 것을 특징으로 하는 분석방법.According to claim 6,
And if it does not correspond to the anomaly symptom class aggregation set in the third aggregation data comparison step, the second input data is profiled in the profiler and stored in the Redis unit.
상기 제1차 비교 필드처리 단계의 특이 조건은,
”접속국가가 한국이 아니고 접속 단말이 모바일이면서 이체를 한 거래” 또는, 단말정보로 단말식별키, 접속 IP, 접속 국가코드, VPN 사용 여부, VM 사용 여부, PROXY 사용 여부, WIFI 사용 여부, 단말 OS, 단말언어 중 어느 하나 이상을 포함하거나,
또는, 거래정보로, 거래채널, 입금/출금의 수신구분, 고객번호, 아이디, 단말정보, 계좌번호, 상대계좌번호, 상대은행코드, 거래금액, 잔액, 계좌주명, 상대계좌주명, 법인계좌여부, 변경기록코드 중 어느 하나 이상을 포함하는 것을 특징으로 하는 분석방법.According to claim 6,
The specific condition of the first comparison field processing step is,
”The access country is not Korea and the access terminal is mobile and transfer transaction” or, as terminal information, terminal identification key, access IP, access country code, whether to use VPN, whether to use VM, whether to use PROXY, whether to use WIFI, terminal Including any one or more of OS and terminal language,
Or, as transaction information, transaction channel, deposit/withdrawal receipt classification, customer number, ID, terminal information, account number, counterparty account number, counterparty bank code, transaction amount, balance, account holder name, counterpart account holder name, corporate account status , Analysis method characterized in that it includes any one or more of the change record code.
상기 제2차 프로파일링된 데이터 비교 단계의 특정 기준값은,
고객기준으로 과거에 해외사용 여부가 있는 경우, 고객 기준으로 과거에 사용했던 단말기인 경우 및 고객 기준으로 과거에 이체했던 계좌인지 여부 중 어느 하나 이상을 포함하는 것을 특징으로 하는 분석방법.According to claim 6,
The specific reference value of the second profiled data comparison step,
Analysis method characterized in that it includes any one or more of whether there has been overseas use in the past on a customer basis, whether the terminal has been used in the past on a customer basis, and whether it is an account that has been transferred in the past on a customer basis.
상기 제3차 어그리제이션 데이터 비교단계에서 설정된 이상 징후 클래스 aggregation은,
기준시간 동안 동일 아이디가 정해진 임계값 이상 접속시, 기준시간 동안 처리된 누적 금액이 임계값 이상 이체 고객, 지속시간(duration) 동안 기준값에 대한 count가 임계값 초과시 중 어느 하나 이상을 포함하는 것을 특징으로 하는 분석방법
According to claim 6,
The abnormal symptom class aggregation set in the third aggregation data comparison step,
When the same ID accesses more than a set threshold during the reference time, the accumulated amount processed during the reference time includes more than one of the transfer customers, and the count for the reference value during the duration exceeds the threshold. Analysis method by
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210078136A KR102636239B1 (en) | 2021-06-16 | 2021-06-16 | Real-time abnormal symptoms detection system and method by in-memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210078136A KR102636239B1 (en) | 2021-06-16 | 2021-06-16 | Real-time abnormal symptoms detection system and method by in-memory |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220168420A true KR20220168420A (en) | 2022-12-23 |
KR102636239B1 KR102636239B1 (en) | 2024-02-20 |
Family
ID=84536197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210078136A KR102636239B1 (en) | 2021-06-16 | 2021-06-16 | Real-time abnormal symptoms detection system and method by in-memory |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102636239B1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101153968B1 (en) | 2009-11-03 | 2012-06-08 | 김대환 | System and method for preventing financial fraud |
KR20130095548A (en) * | 2012-02-20 | 2013-08-28 | 주식회사 한국프라임테크놀로지 | Financial fraud warning system using banking transaction pattern analysis and a method thereof |
KR20190011353A (en) * | 2017-07-24 | 2019-02-07 | 주식회사 닷넷소프트 | System for Retrieving, Processing, Converting, and Saving Data for Use As Big Data |
US20190102415A1 (en) * | 2017-09-29 | 2019-04-04 | Oracle International Corporation | Recreating an oltp table and reapplying database transactions for real-time analytics |
KR102058697B1 (en) * | 2019-02-12 | 2019-12-23 | (주)Yh데이타베이스 | Financial fraud detection system by deeplearning neural-network |
-
2021
- 2021-06-16 KR KR1020210078136A patent/KR102636239B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101153968B1 (en) | 2009-11-03 | 2012-06-08 | 김대환 | System and method for preventing financial fraud |
KR20130095548A (en) * | 2012-02-20 | 2013-08-28 | 주식회사 한국프라임테크놀로지 | Financial fraud warning system using banking transaction pattern analysis and a method thereof |
KR20190011353A (en) * | 2017-07-24 | 2019-02-07 | 주식회사 닷넷소프트 | System for Retrieving, Processing, Converting, and Saving Data for Use As Big Data |
US20190102415A1 (en) * | 2017-09-29 | 2019-04-04 | Oracle International Corporation | Recreating an oltp table and reapplying database transactions for real-time analytics |
KR102058697B1 (en) * | 2019-02-12 | 2019-12-23 | (주)Yh데이타베이스 | Financial fraud detection system by deeplearning neural-network |
Also Published As
Publication number | Publication date |
---|---|
KR102636239B1 (en) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240037225A1 (en) | Systems and methods for detecting resources responsible for events | |
US10839328B2 (en) | Method and system for risk monitoring in online business | |
EP2973282A1 (en) | Fraud detection and analysis | |
US20210092160A1 (en) | Data set creation with crowd-based reinforcement | |
CN103714479A (en) | Intelligent centralized monitor method and system for bank personal business fraudulent conducts | |
CN105187674B (en) | Compliance checking method and device for service recording | |
Cortes et al. | Communities of interest | |
CN113269547A (en) | Data processing method and device, electronic equipment and storage medium | |
CN114841801A (en) | Credit wind control method and device based on user behavior characteristics | |
CN114140123B (en) | Method and system for tracing two-layer network transaction of Ethernet workshop | |
KR102636239B1 (en) | Real-time abnormal symptoms detection system and method by in-memory | |
US20210035235A1 (en) | System and method for detecting fraud among tax experts | |
CN116739605A (en) | Transaction data detection method, device, equipment and storage medium | |
CN115238815A (en) | Abnormal transaction data acquisition method, device, equipment, medium and program product | |
CN114971598A (en) | Wind-controlled approval system, method, equipment and medium | |
CN112966497A (en) | Risk identification system, method, server and storage medium | |
CN108768742B (en) | Network construction method and device, electronic equipment and storage medium | |
CN111429257A (en) | Transaction monitoring method and device | |
CN114584616B (en) | Message pushing method and device, electronic equipment and storage medium | |
KR102346289B1 (en) | Method and system for retrieving statistics and original data in structured language from open source big data system | |
CN114723548A (en) | Data processing method, apparatus, device, medium, and program product | |
WO2023249558A1 (en) | Method and system for adaptively executing a plurality of tasks | |
CN114065198A (en) | Method and device for performing data verification | |
CN117194161A (en) | Database exception handling method and device, electronic equipment and storage medium | |
CN116703505A (en) | Order information judging method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |