KR102636239B1 - 인-메모리 기반 이상징후 실시간 분석시스템 및 방법 - Google Patents

인-메모리 기반 이상징후 실시간 분석시스템 및 방법 Download PDF

Info

Publication number
KR102636239B1
KR102636239B1 KR1020210078136A KR20210078136A KR102636239B1 KR 102636239 B1 KR102636239 B1 KR 102636239B1 KR 1020210078136 A KR1020210078136 A KR 1020210078136A KR 20210078136 A KR20210078136 A KR 20210078136A KR 102636239 B1 KR102636239 B1 KR 102636239B1
Authority
KR
South Korea
Prior art keywords
data
unit
analysis
aggregation
input data
Prior art date
Application number
KR1020210078136A
Other languages
English (en)
Other versions
KR20220168420A (ko
Inventor
이진택
Original Assignee
인터리젠 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터리젠 주식회사 filed Critical 인터리젠 주식회사
Priority to KR1020210078136A priority Critical patent/KR102636239B1/ko
Publication of KR20220168420A publication Critical patent/KR20220168420A/ko
Application granted granted Critical
Publication of KR102636239B1 publication Critical patent/KR102636239B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, 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/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

인-메모리 기반 이상징후 실시간 분석시스템에서 상기 RTA 분석 프로세서부에서 이상징후를 실시간 분석하는 분석방법은, 제2카푸카부로부터 전송된 제2입력 데이터 중에서 특이 조건에 해당하는 데이터인지를 비교하는 과정이 수행되는 제1차 비교 필드처리 단계; 상기 제1차 비교 필드처리 단계에서 상기 특이 조건에 해당되는 경우에는 상기 분석이 요구되는 데이터를 특정 기준값을 기준으로 과거 프로파일링된 데이터와 비교하는 과정이 수행되는 제2차 프로파일링된 데이터 비교 단계; 및 상기 제2차 프로파일링된 데이터 비교 단계에서 상기 특정 기준값에 만족되지 않는 경우에는 해당 고객에 대한 이상 징후 클래스 aggregation을 메모리에서 추출하여 설정하고, 상기 제2 입력 데이터를 주어진 설정된 이상 징후 클래스 aggregation와 비교하는 과정이 수행되는 제3차 어그리제이션 데이터 비교단계; 를 포함하며, 상기 제3차 어그리제이션 데이터 비교단계에서 설정된 이상 징후 클래스 aggregation에 해당되는 경우에는 상기 RTA 분석 프로세서부가 이상징후 거래로 출력하는 것을 특징으로 한다.

Description

인-메모리 기반 이상징후 실시간 분석시스템 및 방법{Real-time abnormal symptoms detection system and method by in-memory}
본 발명은 인-메모리 기반 이상징후 실시간 분석방법에 관한 것이다.
인터넷을 포함한 통신망의 발전, 자동화 기기의 발달과 더불어 전 세계적으로 인터넷 등을 이용한 관련 금융사기가 급속히 증가하고 있다.
예컨대, 개인의 ID를 도용하여 대포통장으로 계좌이체를 실행한 후 인출해 가는 방식, 보이스피싱으로 대포통장으로 입금하도록 유도한 후에 인출해 가는 것 등의 다양한 수법으로 금융사기의 수법이 나날이 고도화, 지능화되고 있다.
이와 같은 금융사기에 의한 피해는 개인뿐만 아니라 은행이나 전자금융서비스 제공자에게도 시간적으로나 금전적으로 손실을 야기하는 등 사회적으로도 심각한 문제가 되고 있다.
금융사기를 방지하기 위한 관련 기술로는 금융사기에 활용된 것으로 신고된 IP로 접속하는 경우 인터넷 뱅킹 서비스를 차단하는 기술이 사용되고 있다.
또한, 결제자의 다양한 정보를 수집해 패턴을 만든 후 패턴과 다른 이상 결제를 잡아내고 결제 경로를 차단하는 룰(Rule) 기반의 이상금융거래 탐지 시스템에 대한 연구가 지속적으로 이루어지고 있다.
이와. 관련하여, 국내등록 특허공보 제10-1153968호에는 금융사기 방지 시스템이 개시되어 있다. 제10-1153968호 특허에서는 다중채널을 통해 수집한 금융사기 사례에 관한 데이터를 유형별로 저장 및 관리하는 금융사기 패턴 데이터베이스부와, 금융거래를 하는 사용자의 평소 금융거래에 관한 데이터를 사용자 별로 저장 및 관리하는 사용자 패턴 데이터베이스부 및 사용자의 평소 금융거래에 관한 데이터 및 금융사기 사례에 관한 데이터에 따라, 사용자가 통신망을 통해 수행하는 금융거래가 금융사기에 해당하는지 판단하여 사용자의 금융거래를 차단하는 금융사기 검출부를 포함하는 금융사기 방지 시스템과 이를 이용한 방지 방법을 제공한다. 이에 따라 다중채널을 통해 금융사기 사례를 [0013] 수집하고 이를 활용하므로 계속적으로 진화하는 금융사기기법에 유연하게 대처할 수 있는 장점이 있다.
그러나 종래의 기술에서 사용되는 관계형 데이터 모델에 기초를 둔 데이터베이스(Relational Database) 및 IP 추적 기술로는 실시간 분석이 곤란한 문제점이 있다.
최근에는 인-메모리 데이터베이스(In-memory Database) 기술이 제안되어 도입되고 있다. 인-메모리 기반 시스템은 데이터 스토리지의 메인 메모리에 설치되어 운영되는 방식의 데이터베이스 관리 시스템으로, 디스크에 설치되는 방식에 비해 처리 속도가 빠르다는 장점을 갖는다.
대한민국 등록특허공보 제10-1153968호(금융사기 방지 시스템 및 방법)
본 발명의 목적은 인-메모리 기반 이상징후를 실시간으로 분석할 수 있는 분석시스템 및 방법을 제공하는 것이다.
본 발명의 일 측면에 따르면, 인-메모리 기반 이상징후 실시간 분석시스템은, 분석을 위한 입력데이터가 입력되며 복수의 카푸카(kafka) 모듈로 형성된 제1 카푸카부; 상기 제1카푸카부로부터 전송받은 입력 데이터를 파싱하여 정규화 데이터인 제2입력데이터로 변환시키는 파서부; 상기 파서부에서 변환된 제2입력데이터를 복수의 카푸카(kafka) 모듈로 분산 처리하여 전송하는 제2카푸카부; 상기 제2 카푸카부로부터 전송받은 제2 입력 데이터에 대해 주어진 프로세스에 따라 실시간 분석하는 기능을 수행하는 RTA 분석프로세서부; 상기 RTA 분석프로세서부(120)에서 분석이 완료된 제2 입력 데이터에 대해 특정 기준값을 기준으로 설정된 조건 프로세스에 따라 프로파일링하고 프로파일링된 데이터를 key value 방식으로 변환하는 프로파일러부; 및 상기 프로파일러부에서 key value 방식으로 변환된 데이터를 메모리에 저장하는 Redis부; 를 포함하는 것을 특징을 한다.
또한, 상기 제1 카푸카부 및 제2카푸카부는 2 ~10개의 카푸카(kafka) 모듈이 병렬로 형성된 것을 특징으로 한다.
또한, 상기 RTA 분석 프로세서부는 복수 개의 RTA 분석프로세서가 형성되며, 각각 처리 물량을 나누어서 병렬로 분석 처리하는 것을 특징으로 한다.
또한, 상기 프로파일러부에서, 상기 특정 기준값은 고객번호 또는 아이디를 포함하며, 상기 설정된 조건 프로세스는 상기 특정 기준값을 기준으로 거래하였던 단말기기, 국가, 계좌번호, 거래채널, 거래평균금액 중 어느 하나 이상을 포함하는 것을 특징으로 한다.
또한, 상기 분석시스템은 금융서버의 고객인터페이스와 계정계를 통하여 상기 입력데이터를 입력받는 것을 특징으로 한다.
본 발명의 또 다른 측면에 따르면, 상기 분석시스템에서 상기 RTA 분석 프로세서부에서 이상징후를 실시간 분석하는 분석방법은, 상기 제2카푸카부로부터 전송된 제2입력 데이터 중에서 특이 조건에 해당하는 데이터인지를 비교하는 과정이 수행되는 제1차 비교 필드처리 단계; 상기 제1차 비교 필드처리 단계에서 상기 특이 조건에 해당되는 경우에는 상기 분석이 요구되는 데이터를 특정 기준값을 기준으로 과거 프로파일링된 데이터와 비교하는 과정이 수행되는 제2차 프로파일링된 데이터 비교 단계; 및 상기 제2차 프로파일링된 데이터 비교 단계에서 상기 특정 기준값에 만족되지 않는 경우에는 해당 고객에 대한 이상 징후 클래스 aggregation을 메모리에서 추출하여 설정하고, 상기 제2 입력 데이터를 주어진 설정된 이상 징후 클래스 aggregation와 비교하는 과정이 수행되는 제3차 어그리제이션 데이터 비교단계; 를 포함하며, 상기 제3차 어그리제이션 데이터 비교단계에서 설정된 이상 징후 클래스 aggregation에 해당되는 경우에는 상기 RTA 분석 프로세서부가 이상징후 거래로 출력하는 것을 특징으로 한다.
또한, 상기 제3차 어그리제이션 데이터 비교단계에서 설정된 이상 징후 클래스 aggregation에 해당되지 않는 경우에는, 상기 제2입력 데이터는 상기 프로파일러에서 프로파일링되어 상기 Redis부에 저장되는 것을 특징으로 한다.
또한, 상기 제1차 비교 필드처리 단계의 특이 조건은, ”접속국가가 한국이 아니고 접속 단말이 모바일이면서 이체를 한 거래” 또는, 단말정보로 단말식별키(MAC, HDD, IMEI, UUID, androidID, widevineID), 접속 IP, 접속 국가코드, VPN 사용 여부, VM 사용 여부, PROXY 사용 여부, WIFI 사용 여부, 단말 OS, 단말언어 중 어느 하나 이상을 포함하거나, 또는, 거래정보로, 거래채널, 입금/출금의 수신구분, 고객번호, 아이디, 단말정보, 계좌번호, 상대계좌번호, 상대은행코드, 거래금액, 잔액, 계좌주명, 상대 계좌주명, 법인 계좌 여부, 변경 기록코드 중 어느 하나 이상을 포함하는 것을 특징으로 한다.
또한, 상기 제2차 프로파일링된 데이터 비교 단계의 특정 기준값은, 고객기준으로 과거에 해외사용 여부가 있는 경우, 고객 기준으로 과거에 사용했던 단말기인 경우 및 고객 기준으로 과거에 이체했던 계좌인지 여부 중 어느 하나 이상을 포함하는 것을 특징으로 한다.
또한, 상기 제3차 어그리제이션 데이터 비교단계에서 설정된 이상 징후 클래스 aggregation은, 기준시간 동안 동일 아이디가 정해진 임계값 이상 접속시, 기준시간 동안 처리된 누적 금액이 임계값 이상 이체 고객, 지속시간(duration) 동안 기준값에 대한 count가 임계값 초과시 중 어느 하나 이상을 포함하는 것을 특징으로 한다.
본 발명의 일 실시 예에 따르면, 데이터 스토리지의 메인 메모리에 알고리즘이 설치되어 운영되는 방식으로 간단한 아키텍처에 의해 처리시간이 단축되어 실시간 이상징후에 대한 분석이 가능한 효과를 가진다.
도 1은 본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템을 설명하기 위한 구조를 간단하게 도시한 것이다.
도 2는 본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템의 RTA 분석 프로세서부(120)에서 이상징후 실시간 분석방법에 대해 도시한 것이다.
도 3은 본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템을 금융시스템에 적용한 예를 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 명세서에 기재된 "…부", "…기", "모듈", "장치" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
또한, 본 발명의 실시 예의 구성 요소를 설명하는 데 있어서, 제1, 제2 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 '연결', '결합' 또는 '접속'된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결, 결합 또는 접속될 수 있지만, 그 구성 요소와 그 다른 구성요소 사이에 또 다른 구성 요소가 '연결', '결합' 또는 '접속'될 수도 있다고 이해되어야 할 것이다.
이하 본 발명의 구현에 따른 인-메모리 기반 이상징후 실시간 분석시스템 및 방법에 대하여 상세하게 설명한다.
인-메모리 기반 데이터 처리시스템은 디스크가 아닌 주 메모리에 모든 데이터를 보유하고 있는 데이터베이스. 디스크 검색보다 자료 접근이 훨씬 빠른 것이 가장 큰 장점이다. 이에 따라 데이터양의 빠른 증가로 데이터베이스 응답 속도가 떨어지는 문제를 해결할 수 있고 실시간 이상징후 분석이 가능하게 된다.
전형적인 디스크 방식은 디스크에 저장된 데이터를 대상으로 쿼리를 수행하지만, 인-메모리 방식은 메모리 상에 색인을 넣어 필요한 모든 정보를 메모리 상의 색인을 통해 빠르게 검색할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템을 설명하기 위한 구조를 간단하게 도시한 것이다.
도 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)를 포함한다.
본 발명의 일 실시 예에서는 제1 카푸카부(150)와 제2 카푸카부(170)는 데이터 처리를 위해 파서부(parser, 160)의 전, 후단 사이에 분산 처리를 위한 분산 데이터큐(임시저장)로 사용되는 것을 특징으로 한다.
본 발명의 일 실시 예에 따르면, 카푸카(kafka) 모듈은 socket에서 데이터를 수신한 연결된 process가 읽어간 시간 동안 추가 데이터를 버퍼에 임시 저장하기 위해 분산 데이터큐로 사용하는 모듈을 의미한다.
본 발명의 일 실시 예에서 제1 카푸카부(150)는 파셔부(160)의 처리량에 맞추어 2 내지 10개의 카푸카(kafka) 모듈로 분산 처리되어 효율적인 데이터의 전송과 데이터의 전송속도를 높일 수 있다.
도 1에서 입력 데이터의 양이 파서부(160)에서 실시간으로 파싱 처리하는 양보다 많을 경우에는 제1 카푸카부(150)에서 2 ~ 10개의 카푸카(kafka) 모듈로 분산되어 순차적으로 처리된다. 또한, 파서부(160)가 데이터를 정규화하고 RTA 분석프로세서부(120)가 분석을 해야 하는 과정에서 parser 데이터 처리 성능이 RTA 데이터 성능보다 높을 경우, 제2 카푸카부(170)에서는 2 ~ 10개의 카푸카(kafka) 모듈로 분산되어 순차적으로 전송되도록 함으로써, 파서부(160)는 RTA 분석프로세서부(120)에서 처리할 때까지 기다리지 않고 입력된 데이터신호에 대해 파싱 처리를 계속 수행할 수 있다.
따라서, 본 발명의 일 실시 예에 따른 전체적인 데이터 흐름의 속도를 높여서 실시간 분석이 가능하도록 하는 효과를 가진다.
본 발명의 일 실시 예에 따르면, 상기 파서부(parser, 160)는 비정형 상태의 raw 데이터를 파싱하여 정규화 데이터로 변환시키는 기능을 수행한다.
파서부(parser, 160)는 주어진 종단 기호의 열이 특정의 문법에서 생성되는지를 판정하고, 초기 기호로부터 그 열에 도달하는 생성 규칙의 열을 발견하는 프로그램을 가리킨다. 구조를 가진 대상 중에서도 자연 언어로 쓰여진 문이나 인공 언어로 쓰여진 프로그램을 문법 규칙에 따라 구문 해석하여 변환한다.
예를 들면, 입력된 비정형 데이터의 예는 다음과 같다.
- 비정형 데이터 예시 1: "KR", "abc", "1.1.1.1.'...
- 비정형 데이터 예시 2: con="JP", id="efg", ip="2.2.2.2", ...
상기 파서부(parser, 160)에서는 상기 비정형 데이터를 RTA 분석프로세서부(120)에서 분석 작업을 효율적으로 수행하기 위해 다음 표1과 같이 정규화된 제2 입력데이터로 변환을 한다.
표 1은 입력된 비정형 데이터로부터 변환된 정규화 제2입력 데이터의 예를 도시한 것이다.
국가 아이디 아이피
KR abc 1.1.1.1
JP efg 2.2.2.2
RTA 분석 프로세서부(120)는 입력된 제2 입력 데이터를 주어진 프로세스에 따라 Redis부(110)에서 프로파일링된 데이터와 실시간으로 분석하는 분석 프로세서로써, 본 발명의 일 실시 예에서는 실시간 처리 속도를 위해 병렬로 복수개의 RTA(realtime analyzer) 분석프로세서로 형성되어 각각 처리 물량을 나누어서 병렬로 분석 처리하는 것을 특징으로 한다.
예를 들면, 실시간 분석할 시나리오가 100개일 경우 RTA 분석 프로세서를 2개 구동시키면 각각 50개의 시나리오가 배정되어 실시간 분석되는 구조로 수행된다.
본 발명의 일 실시 예에 따른 프로파일러부(130)는 제2 입력 데이터를 특정 기준값을 기준으로 지속적으로 프로파일링하는 모듈이다.
프로파일링은 특정 기준값(예>고객번호, 혹은 아이디)을 기준으로 일정 기간 동안 데이터를 연산하여 쌓아놓는 작업이다. 예를 들면, 고객번호 기준으로 거래하였던 단말기기, 국가, 계좌번호, 거래채널, 거래평균금액 등으로 축적이 된다.
이를 금융시스템에 적용하여 이상징후 탐지를 위해서는 본 발명의 일 실시 예에서는 상기의 예와 같이 개개의 고객들에 대한 과거 이력을 지속적으로 프로파일링을 해서 데이터를 축적하는 단계를 포함한다.
예를 들어 5000만원 이상 이체 시 이상행위로 보는 시나리오가 존재할 시에, 현재 5000만원 이상 이체를 했지만 과거에 거래가 있던 계좌로 이체를 했을 경우라면, 정상으로 볼 수 있다.
본 발명의 일 실시 예에서는 각 고객별로 지속적으로 이체를 했던 상대 계좌번호를 프로파일링하여 지속적으로 메모리에 쌓아놓고, RTA 분석 프로세서부(120)에서는 이를 현재 데이터와 대비하여 조건에 따라 단계별로 이상징후를 판단한다.
상기 프로파일러부(130)에서 프로파일링된 데이터를 key value 방식의 비관계형 데이터로 변환하고, Redis부(110)는 상기 변환된 key value 방식의 데이터를 메모리에 저장하는 것을 특징으로 한다.
일반적은 DBMS는 여러 개의 테이블이 생성하고 각각의 테이블들끼리의 관계를 형성할 수 있고 각각의 테이블에 여러 개의 필드를 생성하여 데이터를 관리하는데 비해, 본 발명의 일 실시 예에 따른 Redis부(110)는 단순 key=value 방식으로 저장되어 있기 때문에 해당 Key에 대한 value 검색이 굉장히 빠르고, 이에 따라 실시간 검색이 가능한 효과를 가진다.
key=value 방식은 키를 고유한 식별자로 사용하는 키-값 쌍의 집합으로 데이터를 저장한다. 단순한 객체에서 복잡한 집합체에 이르기까지 무엇이든 키와 값이 될 수 있다. key=value 방식은 파티셔닝이 가능하고 다른 유형의 데이터베이스로는 불가능한 범위까지 수평 확장을 가능하게 합니다. 이와 같은 key=value 방식은 오픈 소스인 “DynamoDB”를 사용하여 수행될 수 있다.
도 2는 본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템의 RTA 분석 프로세서부(120)에서 이상징후 실시간 분석방법에 대해 도시한 것이다.
본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템은 금융시스템에 적용하여 금융 거래에 대한 이상징후를 분석하여 이상시 출력으로 정보를 제공할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템을 금융시스템에 적용한 예를 도시한 것이다.
도 3을 참조하면, 금융시스템을 이용하는 고객이 고객 단말(500)을 이용한 네트워크를 통하여 금융서버(200)에 접속하여 금융 업무를 처리한다,
상기 고객 단말은 스마트폰, 텔레뱅킹, PC, ATM 등을 포함한다.
본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템(100)은 금융서버(200)의 MCI(Multi channel integration, 210) 및 계정계(250)를 통하여 고객들의 금융 처리 데이터를 실시간으로 입력받는다.
본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템(100)은 금융서버(200)의 MCI(Multi channel integration, 210) 고객 인터페이스를 통하여 고객이 단말(5400)에 의해 처리되는 금융 업무에 대한 데이터를 입력받는다. 또한, 금융서버(200)의 계정계(250)와 접속하여 통해 고객이 다른 금융기관을 통해 처리되는 금융업무에 대한 데이터를 실시간으로 입력받는다.
도 2를 참조하면, 본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템의 RTA 분석 프로세서부(120)에서 이상징후 실시간 분석방법은, 먼저 제1차 비교 필드처리(1st comparsion filed operation) 단계(1210)가 수행된다.
제1차 비교 필드처리(1st comparsion filed operation) 단계(1210)에서는 상기 제2카부카부(170)에서 전송된 정규화된 분석이 요구되는 데이터 중에서 요구되는 특이 조건에 해당하는 데이터를 추출하여 비교하는 과정이 수행된다.
본 발명의 일 실시 예에 따른 제1차 비교 필드처리(1st comparsion filed operation) 단계(1210)에서는 조건 필드와 데이터 필드의 연산 처리로 수행된다.
예를 들면,
- 필드와 값에 대한 연산으로 : =, !=, like, not like, in, not in, >, <, >=, <= 등이 지원된다.
- Ex> A, B, C, D의 변수가 존재할 때
(A=1 and B <= 3 and A != B) or (C like 'man*' and D in ('t', 's')) …
또한, 본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템을 금융시스템에 적용한 금융처리의 이상징후 분석방법에 적용한 경우, 특이 조건은 금융 사기에 해당하는 조건으로 설정될 수 있다.
예를 들면,, 본 발명의 일 실시 예에 따른 인-메모리 기반 이상징후 실시간 분석시스템을 금융시스템에 적용한 금융처리의 이상징후 분석방법의 경우, 제1차 비교 필드처리(1st comparsion filed operation) 단계(1210)에서 특이 조건은 ”접속국가가 한국이 아니고 접속 단말이 모바일이면서 이체를 한 거래” 로 설정할 수 있다.
이와 같은 금융 사기에 해당하는 조건은, 단말정보로 단말식별키(MAC, HDD, IMEI, UUID, androidID, widevineID), 접속 IP, 접속 국가코드, VPN 사용여부, VM 사용여부, PROXY 사용여부, WIFI 사용여부, 단말 OS, 단말언어 등을 포함할 수 있다. 또한, 거래정보로, 거래구분(예비거래/본거래), 거래채널, 수신구분(입금/출금), 고객번호, 아이디, 단말정보, 계좌번호, 상대 계좌번호, 상대 은행코드, 거래금액, 잔액, 계좌주명, 상대 계좌주명, 법인 계좌여부, 변경 기록코드 등을 포함하여 설정할 수 있다.
제1차 비교 필드처리(1st comparsion filed operation) 단계(1210 단계)에서 특이 사항에 해당하지 않는 경우(NO)에는 종료하고, 입력된 데이터는 프로파일러(130)에서 프로파일링되어 Redis부(110)에 저장이 된다.
제1차 비교 필드처리(1st comparsion filed operation) 단계(1210 단계)에서 특이 조건에 해당되는 경우(YES)에는 상기 분석이 요구되는 데이터를 특정 기준값을 기준으로 과거 프로파일링된 데이터와 비교하는 제2차 프로파일링된 데이터 비교(2nd comparsion profiled data,) 단계(1220 단계)가 수행된다.
금융처리의 이상징후에 대한 분석의 경우, 제2차 프로파일링된 데이터 비교(2nd comparsion profiled data, 1220) 단계에서의 특정 기준값의 예를 들면, 다음과 같은 것을 포함할 수 있다.
- 고객기준으로 과거에 해외사용 여부가 있는 경우,
- 고객 기준으로 과거에 사용했던 단말기인 경우,
- 고객 기준으로 과거에 이체했던 계좌인지 여부
상기 특정 기준값에 만족이 되면(YES), 종료하고, 입력된 데이터는 프로파일러(130)에서 프로파일링되고, key=value 값으로 변환되어 Redis부(110)에 저장이 된다.
한편, 해당 고객이 과거에 해외거래 이력이 없고 과거에 사용하지 않았던 단말기를 이용했고 과거에 거래내역이 없는 계좌 거래시 즉, 상기 특정 기준값에 만족이 되지 않으면(NO), aggregation 단계(1231 단계)를 거쳐서 해당 고객에 대해 이상 징후 클래스 aggregation을 메모리(1232)에서 추출(1231)하여 설정하고, 주어진 설정에 대해 제3차 어그리제이션 데이터 비교(3rd comparsion aggregation data) 단계(1235 단계)가 수행된다.
본 발명의 일 실시 예에서 상기 aggregation 단계(1231 단계)는 해외거래 이력이 없고 과거에 사용하지 않았던 단말기를 사용했고 과거 거래내역이 없는 계좌와 거래한 고객을 기준으로 거래건수를 count하는 작업을 포함한다.
또한, aggregation data by pivot value 단계(1232 단계)에서는 상기 1231단계에서 에서 연산한 작업을 메모리에 임계시간 동안 임시 저장하고 제3차 어그리제이션 데이터 비교(3rd comparsion aggregation data) 단계(1235 단계)에서 임계치 비교 작업을 포함하여 수행될 수 있다.
예를 들면, "1시간 동안 해당 고객이 과거에 해외거래 이력이 없고 과거에 사용하지 않았던 단말기를 이용했고 과거에 거래내역이 없는 계좌 2건 이상 거래시”, 본 발명의 일 실시 예에서 상기 aggregation 단계(1231 단계)에서는 해외거래 이력이 없고 과거에 사용하지 않았던 단말기를 사용했고 과거 거래내역이 없는 계좌와 거래한 고객을 기준으로 거래건수를 1시간 동안 count 하는 작업을 포함한다.
또한, aggregation data by pivot value 단계(1232 단계)에서는 상기 aggregation 단계(1231 단계)에서 연산한 작업을 메모리에 임시 저장하고 제3차 어그리제이션 데이터 비교(3rd comparsion aggregation data) 단계(1235 단계)에서 2건 이상 발생하면 이상징후로 탐지하는 작업을 포함하여 수행된다.
금융처리의 이상징후에 대한 분석의 경우, 제3차 어그리제이션 데이터 비교(3rd comparsion aggregation data) 단계(1235 단계)에서 설정된 어그리제이션(aggregation data) 데이터 및 비교분석의 예를 들면, 다음과 같은 것을 더 포함할 수 있다.
- 구성값 : 지속시간, 기준값, 대상값, 연산자(count, sum), 임계값
- 기준시간 또는 지속시간(duration) 동안 기준값에 대한 count가 임계값 초과시
(예> 1시간 동안 동일 아이디(기준값)가 10(임계값)회 이상 접속시)
- 기준시간 또는 지속시간(duration) 동안 기준값에 대한 대상값의 SUM 임계값 초과시
(예> 30분 동안 누적 금액(대상값) 천만 원 (임계값)이상 이체 고객(기준값))
- 지속시간(duration) 동안 기준값에 대한 대상값의 유일 COUNT 임계값 초과시
(예> 1시간 동안 동일단말기(기준값)에서 접속한 아이디(대상값)가 10(임계값)개 이상시)
- 상기 연산들을 지속시간 동안만 메모리에 유지하고 지난 데이터는 메모리에서 삭제(why)
본 발명의 일 실시 예에 따른 해당 고객에 대한 이상 징후 클래스 aggregation는 예상되는 금융 사고에 대해 메모리에 지속적으로 축적되는 것을 특징으로 한다.
예를 들면, “과거에 해외에서 거래내역이 없는 고객이 과거에 사용하지 않은 모바일 장비로 한 번도 이체하지 않은 계좌에 1시간 동안 1천만 원 이상 해외로 이체한 경우에는 설정된 어그리제이션(aggregation data) 데이터를 만족한 것(YES)으로 판단을 하여, 이상징후 거래로 출력(output)을 하고, 입력된 분석이 요구되는 데이터는 프로파일러(130)에서 프로파일링되어 Redis부(110)에 저장이 된다.
또는, 설정된 어그리제이션(aggregation data) 데이터에 해당되지 않는 경우(NO)에는 입력된 데이터는 프로파일러(130)에서 프로파일링되어 Redis부(110)에 저장이 된다.
100: 분석시스템
110: Redis부
120: RTA 분석프로세서부
130: 프로파일러부
150: 제1 카푸카부
160: 파서부
170: 제2 카푸카부
200: 금융서버
500: 고객단말

Claims (10)

  1. 인-메모리 기반 이상징후 실시간 분석시스템에 있어서,
    상기 분석시스템은,
    금융서버의 고객인터페이스와 계정계를 통하여 입력받은 분석을 위한 비정형 상태의 입력데이터가 입력되며 복수의 카푸카(kafka) 모듈로 형성된 제1 카푸카부;
    상기 제1카푸카부에 입력된 비정형 상태의 입력 데이터를 파싱하여 정규화 데이터인 제2입력데이터로 변환시키는 파서부;
    상기 파서부에서 변환된 제2입력데이터를 복수의 카푸카(kafka) 모듈로 분산 처리하여 전송하는 제2카푸카부;
    상기 제2 카푸카부로부터 전송받은 제2 입력 데이터에 대해 주어진 프로세스에 따라 실시간 분석하는 기능을 수행하는 RTA 분석프로세서부;
    상기 RTA 분석프로세서부에서 분석이 완료된 제2 입력 데이터에 대해 특정 기준값을 기준으로 설정된 조건 프로세스에 따라 프로파일링하고 프로파일링된 데이터를 key value 방식으로 변환하는 프로파일러부; 및
    상기 프로파일러부에서 key value 방식으로 변환된 데이터를 메모리에 저장하는 Redis부; 를 포함하는 것을 특징을 하되,
    상기 파서부에 입력되는 비정형 상태의 입력 데이터의 양이 상기 파서부에서 실시간으로 파싱 처리하는 양보다 많을 경우에는 상기 제1 카푸카부에서 2 ~ 10개의 카푸카(kafka) 모듈이 병렬로 분산되어 순차적으로 처리되며, 상기 RTA 분석프로세서부가 분석을 해야 하는 과정에서 parser 데이터 처리 성능이 RTA 데이터 성능보다 높을 경우, 상기 제2 카푸카부에서는 2 ~ 10개의 카푸카(kafka) 모듈로 분산되어 순차적으로 전송되도록 함으로써, 상기 파서부는 상기 RTA 분석프로세서부에서 처리할 때까지 기다리지 않고 입력된 데이터신호에 대해 파싱 처리를 실시간으로 수행하는 것을 특징으로 하는 것을 특징으로 하는 분석시스템.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 프로파일러부에서, 상기 특정 기준값은 고객번호 또는 아이디를 포함하며, 상기 설정된 조건 프로세스는 상기 특정 기준값을 기준으로 거래하였던 단말기기, 국가, 계좌번호, 거래채널, 거래평균금액 중 어느 하나 이상을 포함하는 것을 특징으로 하는 분석시스템.
  5. 삭제
  6. 제1항의 분석시스템에서 상기 RTA 분석 프로세서부에서 이상징후를 실시간 분석하는 분석방법은,
    상기 제2카푸카부로부터 전송된 제2입력 데이터 중에서 금융사기에 해당하는 특이 조건에 해당하는 데이터인지를 비교하는 과정이 수행되는 제1차 비교 필드처리 단계, - 상기 제1차 비교 필드처리 단계의 특이 조건은, 상기 제2입력 데이터 중에서 거래정보로, 거래채널, 입금/출금의 수신구분, 고객번호, 아이디, 단말정보, 계좌번호, 상대계좌번호, 상대은행코드, 거래금액, 잔액, 계좌주명, 상대계좌주명, 법인계좌여부, 변경기록코드 중 어느 하나 이상이 포함하는 것임;
    상기 제1차 비교 필드처리 단계에서 상기 특이 조건에 해당되는 경우에는 상기 분석이 요구되는 데이터를 특정 기준값을 기준으로 과거 프로파일링된 데이터와 비교하는 과정이 수행되는 제2차 프로파일링된 데이터 비교 단계, - 상기 제2차 프로파일링된 데이터 비교 단계의 특정 기준값은, 고객 기준으로 과거에 해외사용 여부가 있는 경우, 고객 기준으로 과거에 사용했던 단말기인 경우 및 고객 기준으로 과거에 이체했던 계좌인지 여부 중 어느 하나 이상이 포함하는 것임; 및
    상기 제2차 프로파일링된 데이터 비교 단계에서 상기 특정 기준값에 만족되지 않는 경우에는 해당 고객에 대한 이상 징후 클래스 aggregation을 메모리에서 추출하여 설정하고, 상기 제2 입력 데이터를 상기 설정된 이상 징후 클래스 aggregation와 비교하는 과정이 수행되는 제3차 어그리제이션 데이터 비교단계, - 상기 제3차 어그리제이션 데이터 비교단계에서 설정된 이상 징후 클래스 aggregation은, 기준시간 동안 동일 아이디가 정해진 임계값 이상 접속시, 기준시간 동안 처리된 누적 금액이 임계값 이상 이체 고객, 지속시간(duration) 동안 기준값에 대한 count가 임계값 초과시 중 어느 하나 이상을 포함하는 것임; 을 포함하며,
    상기 제3차 어그리제이션 데이터 비교단계에서 설정된 이상 징후 클래스 aggregation에 해당되는 경우에는 상기 RTA 분석 프로세서부가 이상징후 거래로 출력하는 것을 특징으로 하는 분석방법.
  7. 제6항에 있어서,
    상기 제3차 어그리제이션 데이터 비교단계에서 설정된 이상 징후 클래스 aggregation에 해당되지 않는 경우에는, 상기 제2입력 데이터는 상기 프로파일러에서 프로파일링되어 상기 Redis부에 저장되는 것을 특징으로 하는 분석방법.
  8. 제6항에 있어서,
    상기 제1차 비교 필드처리 단계의 특이 조건은,
    접속국가가 한국이 아니고 접속 단말이 모바일이면서 이체를 한 거래 또는, 단말정보로 단말식별키, 접속 IP, 접속 국가코드, VPN 사용 여부, VM 사용 여부, PROXY 사용 여부, WIFI 사용 여부, 단말 OS, 단말언어 중 어느 하나 이상을 더 포함하는 것을 특징으로 하는 분석방법.
  9. 삭제
  10. 삭제
KR1020210078136A 2021-06-16 2021-06-16 인-메모리 기반 이상징후 실시간 분석시스템 및 방법 KR102636239B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210078136A KR102636239B1 (ko) 2021-06-16 2021-06-16 인-메모리 기반 이상징후 실시간 분석시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210078136A KR102636239B1 (ko) 2021-06-16 2021-06-16 인-메모리 기반 이상징후 실시간 분석시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20220168420A KR20220168420A (ko) 2022-12-23
KR102636239B1 true KR102636239B1 (ko) 2024-02-20

Family

ID=84536197

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210078136A KR102636239B1 (ko) 2021-06-16 2021-06-16 인-메모리 기반 이상징후 실시간 분석시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102636239B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190102415A1 (en) * 2017-09-29 2019-04-04 Oracle International Corporation Recreating an oltp table and reapplying database transactions for real-time analytics
KR102058697B1 (ko) * 2019-02-12 2019-12-23 (주)Yh데이타베이스 뉴럴네트워크를 이용한 자동학습 기반의 딥러닝 학습 모델을 위한 이상징후 탐지 시스템

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101153968B1 (ko) 2009-11-03 2012-06-08 김대환 금융사기 방지 시스템 및 방법
KR101364763B1 (ko) * 2012-02-20 2014-02-27 주식회사 한국프라임테크놀로지 금융거래패턴분석을 이용한 금융사기 경보 시스템 및 방법
KR20190011353A (ko) * 2017-07-24 2019-02-07 주식회사 닷넷소프트 빅데이터로서 사용을 위해 데이터를 수집, 처리, 변환 및 저장하는 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190102415A1 (en) * 2017-09-29 2019-04-04 Oracle International Corporation Recreating an oltp table and reapplying database transactions for real-time analytics
KR102058697B1 (ko) * 2019-02-12 2019-12-23 (주)Yh데이타베이스 뉴럴네트워크를 이용한 자동학습 기반의 딥러닝 학습 모델을 위한 이상징후 탐지 시스템

Also Published As

Publication number Publication date
KR20220168420A (ko) 2022-12-23

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
EP4099170B1 (en) Method and apparatus of auditing log, electronic device, and medium
EP2973282A1 (en) Fraud detection and analysis
WO2020177450A1 (zh) 信息归并方法、交易查询方法、装置、计算机及存储介质
CN108710644A (zh) 一种关于政务大数据处理方法
CN111800292B (zh) 基于历史流量的预警方法、装置、计算机设备及存储介质
CN114140123B (zh) 一种用于以太坊二层网络交易溯源的方法及系统
CN116186759A (zh) 一种面向隐私计算的敏感数据识别与脱敏方法
CN111832661B (zh) 分类模型构建方法、装置、计算机设备及可读存储介质
KR102636239B1 (ko) 인-메모리 기반 이상징후 실시간 분석시스템 및 방법
CN108768742B (zh) 网络构建方法及装置、电子设备、存储介质
CN110782310B (zh) 从第三方平台异步获取用户属性信息的方法、装置和系统
CN106708869B (zh) 一种群组数据处理的方法及装置
CN114971598A (zh) 一种风控审批系统、方法、设备及介质
CN115495587A (zh) 一种基于知识图谱的告警分析方法及装置
CN112966497A (zh) 风险识别系统、方法、服务器及存储介质
CN111754238A (zh) 可疑交易识别方法及装置
CN113760589A (zh) 一种基于实时流处理框架的服务熔断方法和装置
CN111429257A (zh) 一种交易监控方法和装置
CN114584616B (zh) 一种消息推送方法、装置、电子设备及存储介质
KR102346289B1 (ko) 오픈 소스 빅데이터 시스템에서 구조화된 언어로 통계 및 원본 데이터를 검색하는 방법 및 시스템
CN113269547B (zh) 数据处理方法、装置、电子设备和存储介质
CN116560758A (zh) 日志处理方法、装置、存储介质与电子设备
CN110493205B (zh) 一种地铁数据处理方法及装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right