KR20220161790A - Apparatus and method for generating credential stuffing detection model, apparatus and method for detecting credential stuffing - Google Patents

Apparatus and method for generating credential stuffing detection model, apparatus and method for detecting credential stuffing Download PDF

Info

Publication number
KR20220161790A
KR20220161790A KR1020210069973A KR20210069973A KR20220161790A KR 20220161790 A KR20220161790 A KR 20220161790A KR 1020210069973 A KR1020210069973 A KR 1020210069973A KR 20210069973 A KR20210069973 A KR 20210069973A KR 20220161790 A KR20220161790 A KR 20220161790A
Authority
KR
South Korea
Prior art keywords
clients
feature
features
client
credential stuffing
Prior art date
Application number
KR1020210069973A
Other languages
Korean (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 KR1020210069973A priority Critical patent/KR20220161790A/en
Publication of KR20220161790A publication Critical patent/KR20220161790A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Disclosed are an apparatus and method for generating a model for detecting credential stuffing, and an apparatus and method for detecting credential stuffing. An apparatus for generating a credential stuffing detection model according to an embodiment comprises: a feature generating part which generates feature values for each of a plurality of clients for each of a plurality of features, based on one or more web logs for each of the plurality of clients including one or more abnormal clients that attempted credential stuffing for a website and one or more normal clients that accessed a log-in page of the website regardless of the credential stuffing; a feature selection part which selects one or more features associated with the credential stuffing among the plurality of features; and a model generating part which generates an outlier detection model for detecting suspicious clients with outliers for the one or more features through learning based on the feature values for each of the plurality of clients for each of the selected one or more features. The present invention can improve the accuracy and reliability of credential stuffing detection.

Description

크리덴셜 스터핑 탐지 모델 생성 장치 및 방법, 크리덴셜 스터핑 탐지 장치 및 방법{APPARATUS AND METHOD FOR GENERATING CREDENTIAL STUFFING DETECTION MODEL, APPARATUS AND METHOD FOR DETECTING CREDENTIAL STUFFING}Apparatus and method for generating credential stuffing detection model, credential stuffing detection apparatus and method

개시되는 실시예들은 크리덴셜 스터핑 탐지를 위한 기술과 관련된다.The disclosed embodiments relate to techniques for credential stuffing detection.

크리덴셜 스터핑(Credential stuffing)이란 웹 사이트에 대한 사용자 계정을 탈취하기 위한 공격 유형 중 하나로, 다른 곳에서 유출된 사용자의 로그인 인증 정보(예를 들어, 아이디와 비밀 번호)를 특정 웹 사이트에 무작위로 대입하여 로그인이 이루어지면 로그인된 사용자 계정에 등록된 개인 정보를 유출시키는 방식의 공격을 의미한다. Credential stuffing is one of the types of attacks to hijack a user account for a website. A user's login credentials (e.g., ID and password) leaked elsewhere are randomly transferred to a specific website. It refers to an attack in which personal information registered in the logged-in user account is leaked when a login is performed by substitution.

크리덴셜 스터핑은 랜섬웨어(ransomware), 디도스(DDoS, Distributed Denial of Service) 공격과 함께 주요한 사이버 위협 요소로 꼽히고 있으며, 특히 금융 서비스와 같이 민감한 개인 정보를 다루는 곳을 대상으로 활발하게 행해지고 있다.Credential stuffing is considered as a major cyber threat along with ransomware and Distributed Denial of Service (DDoS) attacks, and is particularly active in places that handle sensitive personal information such as financial services.

크리덴셜 스터핑은 공격에 성공한 경우 개인과 기업에 막대한 금전적 손해로 이어질 수 있는 아주 심각한 보안 이슈이나, 유출된 로그인 인증 정보의 주체뿐만 아니라 웹 사이트의 관리자들이 크리덴셜 스터핑이 발생하였다는 사실을 초기에 인지 못하는 경우가 대부분이다. Credential stuffing is a very serious security issue that can lead to huge financial damages to individuals and companies if the attack is successful, but the subject of the leaked login authentication information as well as the website administrators should be aware of the fact that credential stuffing has occurred at the beginning. Most of the time they are not aware of it.

이러한 크리덴셜 스터핑을 탐지하기 위해 규칙(rule) 기반 탐지 방식이 이용되고 있으나, 규칙 기반의 탐지 방식의 경우, 적용 환경에 따라 규칙을 설정하여야 하며, 탐지 기준 역시 운영자의 경험에 의존하는 경우가 많아 오탐 가능성이 매우 높다는 문제점이 있다.A rule-based detection method is used to detect such credential stuffing, but in the case of a rule-based detection method, rules must be set according to the application environment, and the detection criteria also depend on the operator's experience in many cases. The problem is that the possibility of false positives is very high.

대한민국 등록특허 제10-2120214호 (2020.06.08. 공고)Republic of Korea Patent Registration No. 10-2120214 (2020.06.08. Notice)

개시되는 실시예들은 크리덴셜 스터핑 탐지 모델 생성을 위한 장치 및 방법과 크리덴셜 스터핑 탐지를 위한 장치 및 방법을 제공하기 위한 것이다.Disclosed embodiments are to provide an apparatus and method for generating a credential stuffing detection model and an apparatus and method for detecting credential stuffing.

일 실시예에 따른 크리덴셜 스터핑 탐지 모델 생성 장치는, 웹 사이트에 대한 크리덴셜 스터핑을 시도한 하나 이상의 비정상 클라이언트 및 상기 크리덴셜 스터핑과 무관하게 상기 웹 사이트의 로그인(log-in) 페이지에 접속한 하나 이상의 정상 클라이언트를 포함하는 복수의 클라이언트 각각에 대한 하나 이상의 웹 로그(web log)에 기초하여, 복수의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값을 생성하는 특징 생성부; 상기 복수의 특징 중 상기 크리덴셜 스터핑과 연관된 하나 이상의 특징을 선택하는 특징 선택부; 및 상기 선택된 하나 이상의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초한 학습을 통해 상기 하나 이상의 특징에 대한 이상치(outlier)를 가진 의심 클라이언트를 탐지하기 위한 이상 탐지 모델을 생성하는 모델 생성부를 포함한다.An apparatus for generating a credential stuffing detection model according to an embodiment includes one or more abnormal clients that attempt credential stuffing for a website and one that accesses a log-in page of the website regardless of the credential stuffing. a feature generating unit generating feature values of each of the plurality of clients for each of the plurality of features, based on one or more web logs for each of the plurality of clients including the above normal clients; a feature selector selecting one or more features related to the credential stuffing from among the plurality of features; and a model generating unit configured to generate an anomaly detection model for detecting a suspicious client having an outlier for the one or more characteristics through learning based on the characteristic value of each of the plurality of clients for each of the one or more selected characteristics. do.

상기 복수의 특징은, 웹 로그 발생 패턴과 관련된 특징, 상기 로그인 페이지에 대한 접속 이력과 관련된 특징, 웹 로그 내에 포함된 유니크한 정보와 관련된 특징 및 클라이언트 요청과 관련된 특징 중 적어도 하나를 포함할 수 있다.The plurality of features may include at least one of a feature related to a web log generation pattern, a feature related to an access history to the login page, a feature related to unique information included in a web log, and a feature related to a client request. .

상기 웹 로그 내에 포함된 유니크한 정보와 관련된 특징은, 쿠키 별 빈도를 포함할 수 있다.The characteristic related to the unique information included in the web log may include a frequency of each cookie.

상기 웹 로그 발생 패턴과 관련된 특징은, 상기 복수의 클라이언트 각각에 의해 발생한 웹 로그의 개수, 발생 빈도 및 발생 간격 중 적어도 하나를 포함할 수 있다.The characteristics related to the web log generation pattern may include at least one of the number of web logs generated by each of the plurality of clients, a generation frequency, and a generation interval.

상기 접속 이력과 관련된 특징은, 상기 로그인 페이지에 대한 상기 복수의 클라이언트 각각의 접속 횟수, 접속 빈도, 접속 간격 및 접속 유지 시간 중 적어도 하나를 포함할 수 있다.The characteristics related to the access history may include at least one of a number of times each of the plurality of clients accesses the login page, an access frequency, an access interval, and a connection maintenance time.

상기 유니크한 정보와 관련한 특징은, 상기 복수의 클라이언트에 의해 발생한 하나 이상의 웹 로그에 포함된 정보 중 유일한 값을 가지는 정보의 개수 및 빈도 중 적어도 하나를 포함할 수 있다.The characteristics related to the unique information may include at least one of the number and frequency of information having a unique value among information included in one or more web logs generated by the plurality of clients.

상기 클라이언트 요청과 관련된 특징은, 상기 복수의 클라이언트 각각에 의한 요청에 따라 상기 복수의 클라이언트 각각으로 전송된 데이터 크기 및 상기 요청에 대한 응답 시간 중 적어도 하나를 포함할 수 있다.The characteristic related to the client request may include at least one of a data size transmitted to each of the plurality of clients according to a request by each of the plurality of clients and a response time to the request.

상기 특징 선택부는, 상기 복수의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 상기 복수의 클라이언트 각각을 비정상 클라이언트 및 정상 클라이언트 중 하나로 분류하기 위한 상기 복수의 특징 각각의 중요도를 결정하고, 상기 복수의 특징 각각의 중요도에 기초하여 상기 복수의 특징 중 상기 크리덴셜 스터핑과 연관된 하나 이상의 특징을 선택할 수 있다.The feature selector determines an importance of each of the plurality of features for classifying each of the plurality of clients into one of an abnormal client and a normal client based on a feature value of each of the plurality of clients for each of the plurality of features; One or more features related to the credential stuffing may be selected from among the plurality of features based on the importance of each of the plurality of features.

상기 특징 선택부는, 상기 복수의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 상기 복수의 클라이언트 각각을 비정상 클라이언트 및 정상 클라이언트 중 하나로 분류하기 위한 분류 모델을 학습하여 상기 중요도를 결정할 수 있다.The feature selector may determine the importance by learning a classification model for classifying each of the plurality of clients into one of an abnormal client and a normal client based on a feature value of each of the plurality of clients for each of the plurality of features. .

상기 분류 모델은, 기계 학습(machine learning) 알고리즘에 의해 학습되는 분류 모델일 수 있다.The classification model may be a classification model learned by a machine learning algorithm.

상기 모델 생성부는, 상기 선택된 하나 이상의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 각각 상이한 복수의 후보 탐지 모델을 학습시키고, 상기 학습된 복수의 후보 탐지 모델 중 하나를 상기 이상 탐지 모델로 결정할 수 있다.The model generation unit learns a plurality of different candidate detection models based on feature values of each of the plurality of clients for each of the selected one or more features, and selects one of the plurality of learned candidate detection models as the anomaly detection model. can be determined by

일 실시예에 따른 크리덴셜 스터핑 탐지 장치는, 웹 사이트의 로그인(log-in) 페이지에 접속한 하나 이상의 클라이언트에 의해 기 설정된 시간 동안 발생한 복수의 웹 로그(web log)의 개수 및 상기 하나 이상의 클라이언트의 개수에 기초하여, 사전 설정된 탐지 조건이 만족되었는지 여부를 판단하는 판단부; 상기 탐지 조건이 만족된 경우, 상기 복수의 웹 로그에 기초하여 사전 선택된 하나 이상의 특징 각각에 대한 상기 하나 이상의 클라이언트 각각의 특징 값을 추출하는 특징 추출부; 및 사전 학습된 이상 탐지 모델을 이용하여, 상기 하나 이상의 특징 각각에 대한 상기 하나 이상의 클라이언트 각각의 특징 값으로부터 상기 하나 이상의 클라이언트 중 상기 하나 이상의 특징에 대한 이상치(outlier)를 가진 의심 클라이언트를 탐지하는 탐지부를 포함한다.Credential stuffing detection apparatus according to an embodiment, the number of a plurality of web logs generated during a predetermined time by one or more clients accessing a log-in page of a website and the one or more clients Based on the number of, a determination unit for determining whether a preset detection condition is satisfied; a feature extraction unit extracting a feature value of each of the at least one client for each of the at least one pre-selected feature based on the plurality of web logs when the detection condition is satisfied; and detecting a suspicious client having an outlier for the one or more characteristics among the one or more clients from feature values of each of the one or more clients for each of the one or more characteristics, using a pretrained anomaly detection model. includes wealth

상기 이상 탐지 모델은, 상기 웹 사이트에 대한 크리덴셜 스터핑을 시도한 하나 이상의 비정상 클라이언트 및 상기 크리덴셜 스터핑과 무관하게 상기 웹 사이트의 로그인(log-in) 페이지에 접속한 하나 이상의 정상 클라이언트를 포함하는 복수의 클라이언트 각각에 대한 하나 이상의 웹 로그(web log)에 기초하여 추출된 상기 하나 이상의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 사전 학습된 모델일 수 있다.The anomaly detection model includes at least one abnormal client that attempted credential stuffing for the website and at least one normal client that accessed the log-in page of the website regardless of the credential stuffing. It may be a pretrained model based on a feature value of each of the plurality of clients for each of the one or more features extracted based on one or more web logs for each of the clients.

일 실시예에 따른 크리덴셜 스터핑 탐지 모델 생성 방법은, 웹 사이트에 대한 크리덴셜 스터핑(credential stuffing)을 시도한 하나 이상의 비정상 클라이언트 및 상기 크리덴셜 스터핑과 무관하게 상기 웹 사이트의 로그인(log-in) 페이지에 접속한 하나 이상의 정상 클라이언트를 포함하는 복수의 클라이언트 각각에 대한 하나 이상의 웹 로그(web log)에 기초하여, 복수의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값을 생성하는 단계; 상기 복수의 특징 중 상기 크리덴셜 스터핑과 연관된 하나 이상의 특징을 선택하는 단계; 및 상기 선택된 하나 이상의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초한 학습을 통해 상기 하나 이상의 특징에 대한 이상치(outlier)를 가진 의심 클라이언트를 탐지하기 위한 이상 탐지 모델을 생성하는 단계를 포함한다.A credential stuffing detection model generation method according to an embodiment includes one or more abnormal clients that attempt credential stuffing for a website and a log-in page of the website regardless of the credential stuffing. generating a characteristic value of each of the plurality of clients for each of a plurality of characteristics, based on one or more web logs for each of a plurality of clients including one or more normal clients accessing the; selecting one or more characteristics associated with the credential stuffing from among the plurality of characteristics; and generating an anomaly detection model for detecting a suspicious client having an outlier for the one or more characteristics through learning based on a feature value of each of the plurality of clients for each of the one or more selected characteristics. .

상기 복수의 특징은, 웹 로그 발생 패턴과 관련된 특징, 상기 로그인 페이지에 대한 접속 이력과 관련된 특징, 웹 로그 내에 포함된 유니크한 정보와 관련된 특징 및 클라이언트 요청과 관련된 특징 중 적어도 하나를 포함할 수 있다.The plurality of features may include at least one of a feature related to a web log generation pattern, a feature related to an access history to the login page, a feature related to unique information included in a web log, and a feature related to a client request. .

상기 웹 로그 내에 포함된 유니크한 정보와 관련된 특징은, 쿠키 별 빈도를 포함할 수 있다.The characteristic related to the unique information included in the web log may include a frequency of each cookie.

상기 웹 로그 발생 패턴과 관련된 특징은, 상기 복수의 클라이언트 각각에 의해 발생한 웹 로그의 개수, 발생 빈도 및 발생 간격 중 적어도 하나를 포함할 수 있다.The characteristics related to the web log generation pattern may include at least one of the number of web logs generated by each of the plurality of clients, a generation frequency, and a generation interval.

상기 접속 이력과 관련된 특징은, 상기 로그인 페이지에 대한 상기 복수의 클라이언트 각각의 접속 횟수, 접속 빈도, 접속 간격 및 접속 유지 시간 중 적어도 하나를 포함할 수 있다.The characteristics related to the access history may include at least one of a number of times each of the plurality of clients accesses the login page, an access frequency, an access interval, and a connection maintenance time.

상기 유니크한 정보와 관련한 특징은, 상기 복수의 클라이언트에 의해 발생한 하나 이상의 웹 로그에 포함된 정보 중 유일한 값을 가지는 정보의 개수 및 빈도 중 적어도 하나를 포함할 수 있다.The characteristics related to the unique information may include at least one of the number and frequency of information having a unique value among information included in one or more web logs generated by the plurality of clients.

상기 클라이언트 요청과 관련된 특징은, 상기 복수의 클라이언트 각각에 의한 요청에 따라 상기 복수의 클라이언트 각각으로 전송된 데이터 크기 및 상기 요청에 대한 응답 시간 중 적어도 하나를 포함할 수 있다.The characteristic related to the client request may include at least one of a data size transmitted to each of the plurality of clients according to a request by each of the plurality of clients and a response time to the request.

상기 선택하는 단계는, 상기 복수의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 상기 복수의 클라이언트 각각을 비정상 클라이언트 및 정상 클라이언트 중 하나로 분류하기 위한 상기 복수의 특징 각각의 중요도를 결정하는 단계; 및 상기 복수의 특징 각각의 중요도에 기초하여 상기 복수의 특징 중 상기 크리덴셜 스터핑과 연관된 하나 이상의 특징을 선택하는 단계를 포함할 수 있다.The selecting may include determining an importance of each of the plurality of features for classifying each of the plurality of clients into one of an abnormal client and a normal client based on a feature value of each of the plurality of clients for each of the plurality of features. step; and selecting one or more features related to the credential stuffing from among the plurality of features based on the importance of each of the plurality of features.

상기 중요도를 결정하는 단계는, 상기 복수의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 상기 복수의 클라이언트 각각을 비정상 클라이언트 및 정상 클라이언트 중 하나로 분류하기 위한 분류 모델을 학습하여 상기 중요도를 결정할 수 있다.The determining of the importance may include determining the importance by learning a classification model for classifying each of the plurality of clients into one of an abnormal client and a normal client based on a characteristic value of each of the plurality of clients for each of the plurality of characteristics. can decide

상기 분류 모델은, 기계 학습(machine learning) 알고리즘에 의해 학습되는 분류 모델일 수 있다.The classification model may be a classification model learned by a machine learning algorithm.

상기 탐지 모델을 생성하는 단계는, 상기 선택된 하나 이상의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 각각 상이한 복수의 후보 탐지 모델을 학습시키는 단계; 및 상기 학습된 복수의 후보 탐지 모델 중 하나를 상기 이상 탐지 모델로 결정하는 단계를 포함할 수 있다.The generating of the detection model may include: learning a plurality of different candidate detection models based on a feature value of each of the plurality of clients for each of the one or more selected features; and determining one of the plurality of learned candidate detection models as the anomaly detection model.

일 실시예에 따른 크리덴셜 스터핑 탐지 방법은, 웹 사이트의 로그인(log-in) 페이지에 접속한 하나 이상의 클라이언트에 의해 기 설정된 시간 동안 발생한 복수의 웹 로그(web log)의 개수 및 상기 하나 이상의 클라이언트의 개수에 기초하여, 사전 설정된 탐지 조건이 만족되었는지 여부를 판단하는 단계; 상기 탐지 조건이 만족된 경우, 상기 복수의 웹 로그에 기초하여 상기 하나 이상의 특징 각각에 대한 상기 하나 이상의 클라이언트 각각의 특징 값을 추출하는 단계; 및 사전 학습된 이상 탐지 모델을 이용하여 상기 하나 이상의 특징 각각에 대한 상기 하나 이상의 클라이언트 각각의 특징 값으로부터 상기 하나 이상의 클라이언트 중 상기 하나 이상의 특징에 대한 이상치(outlier)를 가진 의심 클라이언트를 탐지하는 단계를 포함한다.A credential stuffing detection method according to an embodiment includes the number of a plurality of web logs generated during a predetermined time by one or more clients accessing a log-in page of a website and the one or more clients Based on the number of, determining whether a preset detection condition is satisfied; extracting a characteristic value of each of the one or more clients for each of the one or more characteristics based on the plurality of web logs when the detection condition is satisfied; and detecting a suspicious client having an outlier for the one or more characteristics among the one or more clients from feature values of each of the one or more clients for each of the one or more characteristics using a pretrained anomaly detection model. include

상기 이상 탐지 모델은, 상기 웹 사이트에 대한 크리덴셜 스터핑을 시도한 하나 이상의 비정상 클라이언트 및 상기 크리덴셜 스터핑과 무관하게 상기 웹 사이트의 로그인 페이지에 접속한 하나 이상의 정상 클라이언트를 포함하는 복수의 클라이언트 각각에 대한 하나 이상의 웹 로그에 기초하여 추출된 상기 하나 이상의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 사전 학습된 모델일 수 있다.The anomaly detection model is for each of a plurality of clients including one or more abnormal clients that attempt credential stuffing for the website and one or more normal clients that access the login page of the website regardless of the credential stuffing. The model may be pretrained based on feature values of each of the plurality of clients for each of the one or more features extracted based on one or more web logs.

개시되는 실시예들에 따르면, 웹 사이트의 로그인 페이지에 접속한 클라이언트에 대한 웹 로그에 기초하여 추출된 특징을 이용하여 크리덴셜 스터핑을 탐지하기 위한 탐지 모델을 생성하고, 생성된 탐지 모델을 이용하여 크리덴셜 스터핑이 의심되는 클라이언트를 탐지으로써, 크리덴셜 스터핑 탐지의 정확도와 신뢰성을 향상시킬 수 있으며, 신속한 크리덴셜 스터핑 탐지를 가능케 할 수 있다.According to the disclosed embodiments, a detection model for detecting credential stuffing is generated using a feature extracted based on a web log of a client accessing a login page of a website, and using the generated detection model By detecting a client suspected of credential stuffing, accuracy and reliability of credential stuffing detection can be improved, and credential stuffing can be detected quickly.

도 1은 일 실시예에 따른 크리덴셜 스터핑(credential stuffing) 탐지 모델 생성 장치의 구성도
도 2는 일 실시예에 따른, 크리덴셜 스터핑 탐지 모델 생성 방법의 순서도
도 3은 일 실시예에 따른 크리덴셜 스터핑 탐지 장치의 구성도
도 4는 일 실시예에 따른, 크리덴셜 스터핑 탐지 방법의 순서도
도 5는 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
1 is a block diagram of an apparatus for generating a credential stuffing detection model according to an embodiment;
2 is a flowchart of a method for generating a credential stuffing detection model according to an embodiment.
3 is a block diagram of a credential stuffing detection device according to an embodiment;
4 is a flowchart of a method for detecting credential stuffing, according to an embodiment.
5 is a block diagram for illustrating and describing a computing environment including a computing device according to an exemplary embodiment;

이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The detailed descriptions that follow are provided to provide a comprehensive understanding of the methods, devices and/or systems described herein. However, this is only an example and the present invention is not limited thereto.

본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments of the present invention, if it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of a user or operator. Therefore, the definition should be made based on the contents throughout this specification. Terminology used in the detailed description is only for describing the embodiments of the present invention and should in no way be limiting. Unless expressly used otherwise, singular forms of expression include plural forms. In this description, expressions such as "comprising" or "comprising" are intended to indicate any characteristic, number, step, operation, element, portion or combination thereof, one or more other than those described. It should not be construed to exclude the existence or possibility of any other feature, number, step, operation, element, part or combination thereof.

도 1은 일 실시예에 따른 크리덴셜 스터핑(credential stuffing) 탐지 모델 생성 장치의 구성도이다.1 is a block diagram of an apparatus for generating a credential stuffing detection model according to an embodiment.

도 1을 참조하면, 일 실시예에 따른 크리덴셜 스터핑 탐지모델 생성 장치(100)는 웹 로그에 기초하여 웹 사이트에 대한 크리덴셜 스터핑(credential stuffing)이 의심되는 의심 클라이언트를 탐지하기 위한 이상 탐지 모델을 생성하기 위한 것으로, 특징 생성부(110), 특징 선택부(120) 및 모델 생성부(130)를 포함한다.Referring to FIG. 1, an apparatus 100 for generating a credential stuffing detection model according to an embodiment is an anomaly detection model for detecting a suspicious client suspected of credential stuffing on a website based on a web log. It is for generating, and includes a feature generator 110, a feature selector 120 and a model generator 130.

일 실시예에 따르면, 특징 생성부(110), 특징 선택부(120) 및 모델 생성부(130)는 각각 물리적으로 구분된 하나 이상의 장치를 이용하여 구현되거나, 하나 이상의 하드웨어 프로세서 또는 하나 이상의 하드웨어 프로세서 및 소프트웨어의 결합에 의해 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.According to an embodiment, the feature generation unit 110, the feature selection unit 120, and the model generation unit 130 are each implemented using one or more physically separated devices, one or more hardware processors, or one or more hardware processors. and software, and unlike the illustrated example, specific operations may not be clearly distinguished.

특징 생성부(110)는 웹 사이트의 로그인(log-in) 페이지에 접속한 복수의 클라이언트 각각에 대한 하나 이상의 웹 로그(web log)에 기초하여, 복수의 특징(feature) 각각에 대한 복수의 클라이언트 각각의 특징 값을 생성한다.The feature generator 110 determines a plurality of clients for each of a plurality of features, based on one or more web logs for each of a plurality of clients accessing the log-in page of the website. Create each feature value.

이때, 복수의 클라이언트는 웹 사이트에 대한 크리덴셜 스터핑을 시도한 하나 이상의 클라이언트(이하, 비정상 클라이언트로 지칭함) 및 크리덴셜 스터핑과 무관하게 웹 사이트의 로그인 페이지에 접속한 하나 이상의 클라이언트(이하, 정상 클라이언트로 지칭함)를 포함한다.At this time, the plurality of clients are one or more clients that attempted credential stuffing on the website (hereinafter referred to as abnormal clients) and one or more clients that accessed the login page of the website regardless of credential stuffing (hereinafter referred to as normal clients). refer to).

한편, 웹 로그란, 웹 사이트를 제공하는 웹 서버(web server)가 웹 사이트에 접속한 클라이언트와 관련된 다양한 정보를 기록한 로그 파일을 의미한다. 구체적으로, 웹 로그는 웹 사이트에 접속한 클라이언트의 특성 및 행위와 관련된 다양한 정보들을 포함할 수 있다.Meanwhile, a web log refers to a log file in which a web server providing a web site records various information related to a client accessing the web site. Specifically, the web log may include various pieces of information related to the characteristics and actions of a client accessing a web site.

이때, 클라이언트의 특성과 관련된 정보는 예를 들어, 클라이언트의 IP(Internet Protocol) 어드레스, 클라이언트가 웹 사이트에 접속하기 위해 이용한 웹 브라우저와 관련된 정보(예를 들어, 웹 브라우저의 명칭, 버전 등), 클라이언트의 운영 체제(Operating System, OS)와 관련된 정보(예를 들어, OS의 명칭, 버전 등) 등을 포함할 수 있다.At this time, the information related to the characteristics of the client includes, for example, the IP (Internet Protocol) address of the client, information related to the web browser used by the client to access the website (eg, name of the web browser, version, etc.), Information related to the operating system (OS) of the client (eg, the name and version of the OS) may be included.

또한, 클라이언트의 행위와 관련된 정보는 예를 들어, 클라이언트의 웹 사이트 접속과 관련된 시간 정보(예를 들어, 접속 날짜 및 시간, 접속 종료 날짜 및 시간 등), 클라이언트가 방문한 웹 사이트 내 웹 페이지와 관련된 정보, 클라이언트의 웹 사이트 유입 경로와 관련된 정보(예를 들어, 레퍼러(referrer)), 클라이언트의 요청과 관련된 정보(예를 들어, HTTP(Hyper Text Transfer Protocol) 요청의 종류, HTTP 프로토콜 버전, HTTP 요청에 대한 응답 시간 및 상태 코드(status code), HTTP 요청에 따라 클라이언트로 전송된 데이터의 크기, 클라이언트가 요청한 URL(Uniform Resource Locator) 등), 클라이언트의 로그인과 관련된 쿠키(cookie) 등을 포함할 수 있다.In addition, the information related to the behavior of the client is, for example, time information related to the client's website access (eg, access date and time, access end date and time, etc.), and related to the web page in the website visited by the client. information, information related to the client's website entry path (e.g. referrer), information related to the client's request (e.g. type of HTTP (Hyper Text Transfer Protocol) request, HTTP protocol version, HTTP request response time and status code (status code), size of data transmitted to the client according to the HTTP request, URL (Uniform Resource Locator) requested by the client, etc.), cookies related to the client's login, etc. have.

한편, 웹 로그에 포함되는 정보는 반드시 상술한 예에 한정되는 것은 아니며, 실시예에 따라 다양하게 변경될 수 있다.Meanwhile, information included in the web log is not necessarily limited to the above example, and may be variously changed according to embodiments.

일 실시예에 따르면, 복수의 클라이언트 각각에 대한 웹 로그는 웹 사이트의 로그인 페이지에 접속한 클라이언트 중 기 설정된 시간 동안 기 설정된 횟수 이상의 웹 로그를 발생시킨 클라이언트에 대한 웹 로그를 사전 수집한 후, 정상 클라이언트에 의해 발생한 웹 로그인지 비정상 클라이언트에 의해 발생한 웹 로그인지 여부를 나타내는 라벨(label)을 부가함으로써 획득된 웹 로그일 수 있다.According to an embodiment, web logs for each of a plurality of clients are collected after pre-collecting web logs for clients that have generated web logs more than a predetermined number of times during a predetermined period of time among clients accessing a login page of a website. It may be a web log obtained by adding a label indicating whether the web log-in occurred by a client or an abnormal client.

예를 들어, 복수의 클라이언트 중 정상 클라이언트에 대한 웹 로그는 사전 수집된 웹 로그 중 웹 사이트에 대한 크리덴셜 스터핑과 무관한 것으로 사전 분석된 정상 클라이언트에 의해 기 설정된 시간 동안 발생한 웹 로그를 포함할 수 있다. 또한, 복수의 클라이언트 중 비정상 클라이언트에 대한 웹 로그는 사전 수집된 웹 로그 중 웹 사이트에 대한 크리덴셜 스터핑을 시도한 것으로 사전 분석된 비정상 클라이언트에 의해 기 설정된 시간 동안 발생한 웹 로그를 포함할 수 있다. 이때, 웹 사이트에 대한 크리덴셜 스터핑 시도한 비정상 클라이언트는 크리덴셜 스터핑에 의해 로그인에 성공한 비정상 클라이언트뿐 아니라 로그인에 실패한 비정상 클라이언트를 포함할 수 있다. For example, a web log for a normal client among a plurality of clients may include a web log generated during a preset time by a normal client pre-analyzed as having nothing to do with credential stuffing for a website among pre-collected web logs. have. In addition, the web log for an abnormal client among the plurality of clients may include a web log generated during a predetermined time by an abnormal client pre-analyzed as attempting credential stuffing on a website among pre-collected web logs. At this time, the abnormal clients that have attempted credential stuffing for the website may include abnormal clients that have failed to log in as well as abnormal clients that have successfully logged in by credential stuffing.

보다 구체적인 예로, 정상 클라이언트에 대한 웹 로그는 웹 사이트에 대한 크리덴셜 스터핑이 발생하지 않은 상태에서 로그인 페이지에 접속한 하나 이상의 클라이언트 중 10분 동안 10회 이상의 웹 로그를 발생시킨 클라이언트에 의해 발생한 웹 로그를 사전 수집한 것일 수 있다. 또한, 비정상 클라이언트에 의해 발생한 하나 이상의 웹 로그는 웹 사이트에 대한 크리덴셜 스터핑을 시도한 것으로 사전 분석된 클라이언트에 의해 10분 동안 발생한 웹 로그를 사전 수집한 것일 수 있다.As a more specific example, the web log for a normal client is a web log generated by a client that generated web logs 10 or more times in 10 minutes among one or more clients who accessed the login page without credential stuffing on the website. may be pre-collected. In addition, one or more web logs generated by an abnormal client may be pre-collected web logs generated for 10 minutes by a client pre-analyzed as attempting credential stuffing on a website.

한편, 일 실시예에 따르면, 특징 생성부(110)는 사전 수집된 웹 로그 각각에 포함된 클라이언트 IP 주소에 기초하여, 동일한 클라이언트 IP 주소를 포함하는 하나 이상의 웹 로그를 동일한 클라이언트에 의해 발생한 웹 로그로 분류할 수 있다. 이후, 특징 생성부(110)는 각 클라이언트에 의해 발생한 것으로 분류된 하나 이상의 웹 로그에 기초하여 복수의 특징 각각에 대한 각 클라이언트의 특징 값을 추출할 수 있다.Meanwhile, according to an embodiment, the feature generation unit 110 converts one or more web logs including the same client IP address to a web log generated by the same client based on the client IP address included in each pre-collected web log. can be classified as Thereafter, the feature generating unit 110 may extract a feature value of each client for each of a plurality of features based on one or more web logs classified as being generated by each client.

일 실시예에 따르면, 복수의 특징은 예를 들어, 웹 로그 발생 패턴과 관련된 특징, 웹 사이트의 로그인 페이지에 대한 접속 이력과 관련된 특징, 웹 로그 내에 포함된 유니크한 정보와 관련된 특징 및 클라이언트 요청과 관련된 특징 중 적어도 하나를 포함할 수 있다.According to an embodiment, the plurality of features include, for example, a feature related to a web log generation pattern, a feature related to an access history to a login page of a website, a feature related to unique information included in a web log, and a client request It may include at least one of the related features.

예를 들어, 웹 로그 발생 패턴과 관련한 특징은 발생된 복수의 클라이언트 각각에 의해 발생한 웹 로그의 개수, 발생 빈도 및 발생 간격(예를 들어, 발생 간격의 최대 값, 최소 값, 평균 값, 중간 값 등) 중 적어도 하나를 포함할 수 있다.For example, the characteristics related to the web log generation pattern include the number of web logs generated by each of a plurality of clients, the frequency of occurrence, and the interval between occurrences (eg, maximum value, minimum value, average value, and median value of the occurrence interval). etc.) may include at least one of them.

또한, 로그인 페이지에 대한 접속 이력과 관련한 특징은 예를 들어, 로그인 페이지에 대한 복수의 클라이언트 각각의 접속 횟수, 접속 빈도, 접속 간격(예를 들어, 접속 간격의 최대 값, 최소 값, 평균 값, 중간 값) 및 접속 유지 시간(예를 들어, 접속 유지 시간의 최대 값, 최소 값, 평균 값, 중간 값 등) 중 적어도 하나를 포함할 수 있다.In addition, the characteristics related to the access history for the login page may include, for example, the number of accesses of each of a plurality of clients to the login page, the access frequency, and the access interval (eg, maximum value, minimum value, average value of the access interval, median value) and connection maintenance time (eg, maximum value, minimum value, average value, median value, etc. of connection maintenance time).

또한, 웹 로그 내에 포함된 유니크한 정보와 관련된 특징은 예를 들어, 각 클라이언트에 의해 발생한 하나 이상의 웹 로그에 포함된 정보 중 유일한 값을 가지는 정보의 개수 및 빈도 중 적어도 하나를 포함할 수 있다. 이때, 웹 로그 내에 포함된 유니크한 정보는 예를 들어, 유니크한 쿠키(cookie), 유니크한 URL, 유니크한 포트 번호, 유니크한 상태 코드 및 유니크한 레퍼러 중 적어도 하나를 포함할 수 있다. In addition, the characteristics related to the unique information included in the web log may include, for example, at least one of the number and frequency of information having a unique value among information included in one or more web logs generated by each client. At this time, the unique information included in the web log may include, for example, at least one of a unique cookie, a unique URL, a unique port number, a unique status code, and a unique referrer.

구체적으로, 유니크한 정보와 관련된 특징은 예를 들어, 쿠키 별 빈도를 포함할 수 있다. 구체적으로, 웹 로그에 포함된 쿠키 중 로그인 성공 시 유니크한 값으로 쿠키 값이 변동되는 쿠키의 경우 로그인 실패 시 쿠키 값이 변동되지 않으므로, 쿠키 별 빈도가 높다는 것은 유니크한 값을 가진 쿠키의 수가 적다는 것을 의미하며 이는 곧 로그인 시도에 비해 실패 횟수가 높다는 것을 의미할 수 있다. 이러한, 쿠키 별 빈도는 예를 들어, 오픈 뱅킹 서비스에 의해 발생하는 스크래핑(scrapping) 과 크리덴셜 스터핑을 구분하여 오탐 확률을 낮추기 위한 요소로 활용될 수 있다. Specifically, characteristics related to unique information may include, for example, frequency of each cookie. Specifically, among cookies included in web logs, cookies whose cookie value changes to a unique value upon successful login do not change when login fails. Therefore, a high frequency per cookie means that the number of cookies with unique values is small. This means that the number of failures is higher than that of login attempts. The frequency of each cookie can be used as a factor for lowering the probability of false positives by distinguishing between scrapping and credential stuffing, which are generated by, for example, open banking services.

한편, 클라이언트 요청과 관련된 특징은 예를 들어, 복수의 클라이언트 각각에 의한 요청에 따라 각 클라이언트로 전송된 데이터 크기(예를 들어, 전송된 데이터 크기의 최대 값, 최소 값, 평균 값, 중간 값 등) 및 각 클라이언트의 요청에 대한 응답 시간(예를 들어, 응답 시간의 최대 값, 최소 값, 평균 값, 중간 값 등) 중 적어도 하나를 포함할 수 있다.On the other hand, the characteristic related to the client request is, for example, the size of data transmitted to each client according to the request by each of a plurality of clients (eg, maximum value, minimum value, average value, median value, etc. of the transmitted data size). ) and a response time for each client's request (eg, maximum value, minimum value, average value, median value, etc. of response time).

한편, 복수의 특징은 반드시 상술한 예에 한정되는 것은 아니며, 상술한 예 외에도 웹 로그에 포함된 정보 중 클라이언트 및 클라이언트의 행위에 따라 변경되는 정보로부터 특징 값을 도출할 수 있는 다양한 특징들을 포함할 수 있다. 즉, 복수의 특징은 웹 사이트의 로그인 페이지에 접속한 클라이언트에 의해 발생한 각 웹 로그에 포함된 정보로부터 대응하는 특징 값을 획득 가능한 것으로 충분하며 반드시 특정한 특징으로 한정되는 것은 아니다.On the other hand, the plurality of features are not necessarily limited to the above examples, and in addition to the above examples, among information included in the web log, a plurality of features may include various features capable of deriving feature values from information that is changed according to the client and the behavior of the client. can That is, it is sufficient that a plurality of features can obtain a corresponding feature value from information included in each web log generated by a client accessing a login page of a website, and is not necessarily limited to a specific feature.

특징 선택부(120)는 특징 생성부(110)에 의해 복수의 클라이언트 각각에 대한 특징 값이 생성된 복수의 특징 중 크리덴셜 스터핑과 연관된 하나 이상의 특징을 선택한다.The feature selector 120 selects one or more features associated with credential stuffing from among a plurality of features for which feature values for each of a plurality of clients are generated by the feature generator 110 .

일 실시예에 따르면, 특징 선택부(120)는 복수의 특징에 대한 각 클라이언트의 특징 값을 이용하여 각 클라이언트를 정상 클라이언트 및 비정상 클라이언트 중 하나로 분류하기 위한 복수의 특징 각각의 중요도를 결정할 수 있다. According to an embodiment, the feature selection unit 120 may determine the importance of each of the plurality of features for classifying each client into one of a normal client and an abnormal client using feature values of each client for the plurality of features.

구체적으로, 일 실시예에 따르면, 특징 선택부(120)는 복수의 특징 각각에 대한 복수의 클라이언트 각각의 특징 값에 기초하여 복수의 클라이언트 각각을 정상 클라이언트 및 비정상 클라이언트 중 하나로 분류하기 위한 분류 모델을 학습하여 복수의 특징 각각에 대한 중요도를 산출할 수 있다. 이때, 분류 모델은 기계 학습(machine learning) 알고리즘에 의해 학습되는 분류 모델일 수 있으며, 복수의 특징 각각에 대한 중요도는 각 특징이 분류 모델의 예측 결과에 영향을 미치는 정도를 수치적으로 평가한 것일 수 있다. Specifically, according to an embodiment, the feature selector 120 creates a classification model for classifying each of a plurality of clients into one of a normal client and an abnormal client based on a feature value of each of a plurality of clients for each of a plurality of features. By learning, the importance of each of the plurality of features may be calculated. At this time, the classification model may be a classification model learned by a machine learning algorithm, and the importance of each of the plurality of features is a numerical evaluation of the degree to which each feature affects the prediction result of the classification model. can

구체적인 예로, 분류 모델은 랜덤 포레스트(random forest) 알고리즘을 이용하여 학습된 분류 모델일 수 있으며, 이 경우, 복수의 특징 각각에 대한 중요도는 랜덤 포레스트 알고리즘에 의해 제공되는 지니 중요도(Gini importance)일 수 있다.As a specific example, the classification model may be a classification model learned using a random forest algorithm, and in this case, the importance of each of a plurality of features may be Gini importance provided by the random forest algorithm. have.

한편, 일 실시예에 따르면, 특징 선택부(120)는 복수의 특징 각각에 대한 중요도가 결정된 경우, 결정된 중요도에 기초하여 복수의 특징 중 중요도가 높은 순서대로 하나 이상의 특징을 선택하거나, 복수의 특징 중 중요도가 기 설정된 값 이상인 하나 이상의 특징을 선택할 수 있다. 또한, 실시예에 따라, 특징 선택부(120)는 복수의 특징 각각에 대한 중요도를 사용자(예를 들어, 웹 사이트의 보안 담당자)에게 제공하고, 사용자의 선택에 따라 복수의 특징 중 하나 이상의 특징을 선택할 수 있다.Meanwhile, according to an embodiment, when the importance of each of the plurality of features is determined, the feature selector 120 selects one or more features in order of importance from among the plurality of features based on the determined importance, or selects one or more features from among the plurality of features. Among them, one or more features having an importance greater than or equal to a preset value may be selected. Also, according to an embodiment, the feature selection unit 120 provides a user (eg, a security officer of a website) with an importance for each of a plurality of features, and selects one or more features from among the plurality of features according to the user's selection. can choose

모델 생성부(130)는 특징 선택부(120)에 의해 선택된 하나 이상의 특징 각각에 대한 복수의 클라이언트 각각의 특징 값에 기초한 학습을 통해 하나 이상의 특징에 대한 이상치(outlier)를 가진 의심 클라이언트를 탐지하기 위한 이상 탐지 모델을 생성한다.The model generation unit 130 detects a suspicious client having an outlier for one or more characteristics through learning based on the characteristic values of each of the plurality of clients for each of the one or more characteristics selected by the feature selection unit 120. Create an anomaly detection model for

일 실시예에 따르면, 모델 생성부(130)는 특징 선택부(120)에 의해 선택된 하나 이상의 특징 각각에 대한 복수의 클라이언트 각각의 특징 값을 이용하여 각각 상이한 복수의 후보 탐지 모델을 학습시키고, 학습된 복수의 후보 탐지 모델 중 하나를 이상 탐지 모델로 결정할 수 있다.According to an embodiment, the model generator 130 trains a plurality of different candidate detection models using feature values of each of a plurality of clients for each of one or more features selected by the feature selector 120, and learning One of the plurality of candidate detection models may be determined as an anomaly detection model.

이때, 복수의 후보 탐지 모델은 예를 들어, 단일 클래스 서포트 벡터 머신(One-Class Support Vector Machine), 로컬 아웃 라이어 팩터(Local Outlier Factor), 격리 포레스트(Isolation Forest), 타원 엔벨로프(Elliptic Envelope) 등을 포함할 수 있다. 그러나, 복수의 후보 탐지 모델은 상술한 예 외에도 하나 이상의 특징 각각에 대한 특정 클라이언트의 특징 값을 이용하여 이상치를 가진 의심 클라이언트를 감지하도록 학습될 수 있는 다양한 기계 학습 기반의 이상 탐지 모델(anomaly detection model)을 포함할 수 있다.At this time, the plurality of candidate detection models include, for example, a one-class support vector machine, a local outlier factor, an isolation forest, an elliptic envelope, and the like. can include However, in addition to the above-described examples, a plurality of candidate detection models are various machine learning-based anomaly detection models that can be trained to detect a suspicious client having an outlier using a feature value of a specific client for each of one or more features. ) may be included.

한편, 일 실시예에 따르면, 모델 생성부(130)는 특징 선택부(120)에 의해 선택된 하나 이상의 특징 각각에 대한 복수의 클라이언트 각각의 특징 값을 이용하여 복수의 후보 탐지 모델 각각을 학습시킨 후, 학습된 복수의 후보 탐지 모델 중 탐지 결과에 대한 정답율이 가장 높은 후보 학습 모델을 이상 탐지 모델로 선택할 수 있다.Meanwhile, according to an embodiment, the model generation unit 130 trains each of a plurality of candidate detection models using feature values of each of a plurality of clients for each of one or more features selected by the feature selection unit 120, and then , a candidate learning model having the highest correct answer rate for a detection result among a plurality of learned candidate detection models may be selected as an anomaly detection model.

도 2는 일 실시예에 따른, 크리덴셜 스터핑 탐지 모델 생성 방법의 순서도이다.2 is a flowchart of a method for generating a credential stuffing detection model, according to an embodiment.

도 2에 도시된 방법은 예를 들어, 도 1에 도시된 크리덴셜 스터핑 탐지 모델 생성 장치(100)에 의해 수행될 수 있다.The method shown in FIG. 2 may be performed by, for example, the credential stuffing detection model generating apparatus 100 shown in FIG. 1 .

도 2를 참조하면, 크리덴셜 스터핑 탐지 모델 생성 장치(100)는 하나 이상의 비정상 클라이언트 및 하나 이상의 정상 클라이언트를 포함하는 복수의 클라이언트 각각에 대한 하나 이상의 웹 로그에 기초하여, 복수의 특징 각각에 대한 복수의 클라이언트 각각의 특징 값을 생성한다(210).Referring to FIG. 2 , the credential stuffing detection model generating apparatus 100 detects a plurality of characteristics for each of a plurality of characteristics based on one or more web logs for each of a plurality of clients including one or more abnormal clients and one or more normal clients. A characteristic value of each client of is generated (210).

이때, 일 실시예에 따르면, 복수의 특징은 웹 로그 발생 패턴과 관련된 특징, 로그인 페이지에 대한 접속 이력과 관련된 특징, 웹 로그 내에 포함된 유니크한 정보와 관련된 특징 및 클라이언트 요청과 관련된 특징 중 적어도 하나를 포함할 수 있다. 이때, 유니크한 정보와 관련된 특징은 예를 들어, 쿠키 별 빈도를 포함할 수 있다. In this case, according to an embodiment, the plurality of features is at least one of a feature related to a web log generation pattern, a feature related to an access history to a login page, a feature related to unique information included in a web log, and a feature related to a client request. can include In this case, the characteristics related to the unique information may include, for example, the frequency of each cookie.

구체적으로, 일 실시예에 따르면, 웹 로그 발생 패턴과 관련된 특징은 복수의 클라이언트 각각에 의해 발생한 웹 로그의 개수, 발생 빈도 및 발생 간격 중 적어도 하나를 포함할 수 있다. Specifically, according to an embodiment, the characteristic related to the web log generation pattern may include at least one of the number of web logs generated by each of a plurality of clients, a generation frequency, and a generation interval.

또한, 일 실시예에 따르면, 접속 이력과 관련된 특징은 로그인 페이지에 대한 복수의 클라이언트 각각의 접속 횟수, 접속 빈도, 접속 간격 및 접속 유지 시간 중 적어도 하나를 포함할 수 있다.Also, according to an embodiment, the characteristics related to the access history may include at least one of the number of times each of a plurality of clients accesses the login page, the access frequency, the access interval, and the connection maintenance time.

또한, 일 실시예에 따르면, 유니크한 정보와 관련한 특징은 복수의 클라이언트에 의해 발생한 하나 이상의 웹 로그에 포함된 정보 중 유일한 값을 가지는 정보의 개수 및 빈도 중 적어도 하나를 포함할 수 있다.Also, according to an embodiment, the feature related to unique information may include at least one of the number and frequency of information having a unique value among information included in one or more web logs generated by a plurality of clients.

또한, 일 실시예에 따르면, 클라이언트 요청과 관련된 특징은 복수의 클라이언트 각각에 의한 요청에 따라 복수의 클라이언트 각각으로 전송된 데이터 크기 및 복수의 클라이언트 각각의 요청에 대한 응답 시간 중 적어도 하나를 포함할 수 있다.Further, according to an embodiment, the characteristic related to the client request may include at least one of a data size transmitted to each of the plurality of clients according to a request by each of the plurality of clients and a response time to the request of each of the plurality of clients. have.

이후, 크리덴셜 스터핑 탐지 모델 생성 장치(100)는 복수의 특징 중 크리덴셜 스터핑과 연관된 하나 이상의 특징을 선택한다(220).Thereafter, the credential stuffing detection model generation apparatus 100 selects one or more features related to credential stuffing from among a plurality of features (220).

이때, 일 실시예에 따르면, 크리덴셜 스터핑 탐지 모델 생성 장치(100)는 복수의 특징 각각에 대한 복수의 클라이언트 각각의 특징 값에 기초하여 복수의 클라이언트 각각을 비정상 클라이언트 및 정상 클라이언트 중 하나로 분류하기 위한 복수의 특징 각각의 중요도를 결정하고, 결정된 중요도에 기초하여 복수의 특징 중 크리덴셜 스터핑과 연관된 하나 이상의 특징을 선택할 수 있다.At this time, according to an embodiment, the credential stuffing detection model generating apparatus 100 is configured to classify each of the plurality of clients into one of an abnormal client and a normal client based on a characteristic value of each of the plurality of clients for each of the plurality of characteristics. An importance of each of a plurality of features may be determined, and one or more features associated with credential stuffing may be selected from among the plurality of features based on the determined importance.

구체적으로, 일 실시예에 따르면, 크리덴셜 스터핑 탐지 모델 생성 장치(100)는 복수의 특징 각각에 대한 복수의 클라이언트 각각의 특징 값에 기초하여 복수의 클라이언트 각각을 비정상 클라이언트 및 정상 클라이언트 중 하나로 분류하기 위한 분류 모델을 학습하여 복수의 특징 각각의 중요도를 결정할 수 있다.Specifically, according to an embodiment, the credential stuffing detection model generation apparatus 100 classifies each of a plurality of clients into one of an abnormal client and a normal client based on a characteristic value of each of a plurality of clients for each of a plurality of characteristics. It is possible to determine the importance of each of a plurality of features by learning a classification model for each feature.

이후, 크리덴셜 스터핑 탐지 모델 생성 장치(100)는 선택된 하나 이상의 특징 각각에 대한 특징 값에 기초한 학습을 통해 하나 이상의 특징에 대한 이상치를 가진 의심 클라이언트를 탐지하기 위한 이상 탐지 모델을 생성한다(230).Thereafter, the credential stuffing detection model generating apparatus 100 generates an anomaly detection model for detecting a suspicious client having an outlier value for one or more characteristics through learning based on a feature value for each of the one or more selected characteristics (230). .

이때, 일 실시예에 따르면, 크리덴셜 스터핑 탐지 모델 생성 장치(100)는 선택된 하나 이상의 특징 각각에 대한 복수의 클라이언트 각각의 특징 값에 기초하여 각각 상이한 복수의 후보 탐지 모델을 학습시킬 수 있다. 또한, 크리덴셜 스터핑 탐지 모델 생성 장치(100)는 학습된 복수의 후보 탐지 모델 중 하나를 이상 탐지 모델로 결정할 수 있다.In this case, according to an embodiment, the credential stuffing detection model generating apparatus 100 may learn a plurality of different candidate detection models based on feature values of each of a plurality of clients for each of one or more selected features. Also, the credential stuffing detection model generating apparatus 100 may determine one of a plurality of learned candidate detection models as an anomaly detection model.

한편, 도 2에 도시된 순서도에서 적어도 일부의 단계들은 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.Meanwhile, in the flowchart shown in FIG. 2, at least some of the steps may be combined with other steps and performed together, omitted, divided into detailed steps, or performed by adding one or more steps not shown.

도 3은 실시예에 따른 크리덴셜 스터핑 탐지 장치의 구성도이다.3 is a configuration diagram of a credential stuffing detection apparatus according to an embodiment.

도 3을 참조하면, 일 실시예에 따른 크리덴셜 스터핑 탐지 장치(300)는 판단부(310), 특징 추출부(320) 및 탐지부(330)를 포함한다.Referring to FIG. 3 , an apparatus 300 for detecting credential stuffing according to an embodiment includes a determination unit 310 , a feature extraction unit 320 and a detection unit 330 .

일 실시예에 따르면, 판단부(310), 특징 추출부(320) 및 탐지부(330)는 각각 물리적으로 구분된 하나 이상의 장치를 이용하여 구현되거나, 하나 이상의 하드웨어 프로세서 또는 하나 이상의 하드웨어 프로세서 및 소프트웨어의 결합에 의해 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.According to an embodiment, the determination unit 310, the feature extraction unit 320, and the detection unit 330 are each implemented using one or more physically separated devices, one or more hardware processors, or one or more hardware processors and software. It may be implemented by a combination of , and unlike the illustrated example, specific operations may not be clearly distinguished.

판단부(310)는 웹 사이트의 로그인 페이지에 접속한 하나 이상의 클라이언트에 의해 기 설정된 시간 동안 발생한 복수의 웹 로그의 개수 및 해당 하나 이상의 클라이언트의 개수에 기초하여, 사전 설정된 탐지 조건이 만족되었는지 여부를 판단한다.The determination unit 310 determines whether a preset detection condition is satisfied based on the number of web logs generated during a preset period of time by one or more clients accessing the login page of the website and the number of the corresponding one or more clients. judge

구체적으로, 일 실시예에 따르면, 판단부(140)는 기 설정된 시간 동안 로그인 페이지에 접속한 하나 이상의 클라이언트의 개수와 해당 하나 이상의 클라이언트에 의해 발생한 웹 로그의 개수의 비율이 기 설정된 기준 값을 초과하는 경우, 사전 설정된 탐지 조건이 만족된 것으로 판단할 수 있다. 이때, 로그인 페이지에 접속한 클라이언트의 개수는 웹 로그에 포함된 클라이언트의 IP 어드레스를 기준으로 산출될 수 있으며, 기 설정된 시간 및 기 설정된 기준 값은 실시예에 따라 다양하게 설정될 수 있다.Specifically, according to an embodiment, the determination unit 140 determines that the ratio of the number of one or more clients accessing the login page for a preset period of time to the number of web logs generated by the one or more clients exceeds a preset reference value. In this case, it may be determined that a preset detection condition is satisfied. At this time, the number of clients accessing the login page may be calculated based on the IP address of the client included in the web log, and a predetermined time and a predetermined reference value may be set in various ways according to embodiments.

특징 추출부(320)는 판단부(310)에 의해 탐지 조건이 만족된 것으로 판단된 경우, 탐지 조건 만족 여부를 판단하기 위해 이용된 복수의 웹 로그에 기초하여 하나 이상의 특징 각각에 대한 하나 이상의 클라이언트 각각의 특징 값을 추출한다. When the feature extraction unit 320 determines that the detection condition is satisfied by the determination unit 310, the feature extraction unit 320 determines one or more clients for each of one or more features based on a plurality of web logs used to determine whether or not the detection condition is satisfied. Extract each feature value.

또한, 탐지부(330)는 사전 학습된 이상 탐지 모델을 이용하여 하나 이상의 특징 각각에 대한 하나 이상의 클라이언트 각각의 특징 값으로부터 하나 이상의 클라이언트 중 하나 이상의 특징에 대한 이상치를 가진 의심 클라이언트를 탐지한다.In addition, the detection unit 330 detects a suspicious client having an outlier for one or more characteristics among the one or more clients from the characteristic values of each of the one or more clients for each of the one or more characteristics by using the pretrained anomaly detection model.

구체적으로, 탐지부(330)는 하나 이상의 클라이언트 각각에 대해 하나 이상의 특징에 대한 특징 값을 이상 탐지 모델로 입력하여 입력된 특징 값이 이상치에 해당하는지 여부를 판단할 수 있다. 또한, 탐지부(330)는 하나 이상의 클라이언트 중 이상 탐지 모델에 의해 이상치인 것으로 판단된 특징 값을 가진 클라이언트를 의심 클라이언트로 판단할 수 있다.In detail, the detection unit 330 may input feature values for one or more features of each of the one or more clients into an anomaly detection model and determine whether the input feature values correspond to an outlier. Also, the detection unit 330 may determine a client having a characteristic value determined to be an outlier by an anomaly detection model among one or more clients as a suspicious client.

한편, 일 실시예에 따르면, 사전 학습된 이상 탐지 모델은 상술한 크리덴셜 스터핑 탐지 모델 생성 장치(100)에 의해 생성된 이상 탐지 모델일 수 있다. 또한, 하나 이상의 특징은 크리덴셜 스터핑 탐지 모델 생성 장치(100)에서 이상 탐지 모델 생성을 위한 학습 과정에서 이용된 특징일 수 있다.Meanwhile, according to an embodiment, the pretrained anomaly detection model may be an anomaly detection model generated by the credential stuffing detection model generating apparatus 100 described above. Also, one or more features may be features used in a learning process for generating an anomaly detection model in the credential stuffing detection model generating apparatus 100 .

도 4는 일 실시예에 따른, 크리덴셜 스터핑 탐지 방법의 순서도이다.4 is a flowchart of a method for detecting credential stuffing, according to an embodiment.

도 4에 도시된 방법은 예를 들어, 도 3에 도시된 크리덴셜 스터핑 탐지 장치(300)에 의해 수행될 수 있다.The method shown in FIG. 4 may be performed by, for example, the credential stuffing detection apparatus 300 shown in FIG. 3 .

도 4를 참조하면, 크리덴셜 스터핑 탐지 장치(300)는 웹 사이트의 로그인 페이지에 접속한 하나 이상의 클라이언트에 의해 기 설정된 시간 동안 발생한 복수의 웹 로그를 수집한다(410). Referring to FIG. 4 , the credential stuffing detection device 300 collects a plurality of web logs generated during a preset time by one or more clients accessing a login page of a website (410).

이후, 크리덴셜 스터핑 탐지 장치(300)는 수집된 복수의 웹 로그의 개수 및 하나 이상의 클라이언트의 개수에 기초하여, 사전 설정된 탐지 조건이 만족되었는지 여부를 판단한다(420).Thereafter, the credential stuffing detection device 300 determines whether a preset detection condition is satisfied based on the number of collected web logs and the number of one or more clients (420).

탐지 조건이 만족된 경우, 크리덴셜 스터핑 탐지 장치(300)는 수집된 복수의 웹 로그에 기초하여 하나 이상의 특징 각각에 대한 하나 이상의 클라이언트 각각의 특징 값을 추출한다(430).When the detection condition is satisfied, the credential stuffing detection apparatus 300 extracts a feature value of one or more clients for each of one or more features based on the collected plurality of web logs (430).

이후, 크리덴셜 스터핑 탐지 장치(300)는 이상 탐지 모델을 이용하여 하나 이상의 특징 각각에 대한 하나 이상의 클라이언트 각각의 특징 값으로부터 하나 이상의 클라이언트 중 의심 클라이언트를 탐지한다(440).Thereafter, the credential stuffing detection apparatus 300 detects a suspicious client among one or more clients from characteristic values of each of one or more clients for each of one or more characteristics by using an anomaly detection model (440).

한편, 도 4에 도시된 순서도에서 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.Meanwhile, in the flowchart shown in FIG. 4, at least some of the steps are performed in reverse order, combined with other steps, performed together, omitted, divided into detailed steps, or performed by adding one or more steps not shown. It can be.

도 5는 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.5 is a block diagram illustrating a computing environment including a computing device according to an exemplary embodiment. In the illustrated embodiment, each component may have different functions and capabilities other than those described below, and may include additional components other than those described below.

도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 컴퓨팅 장치(12)는 일 실시예에 따른 크리덴셜 스터핑 탐지 모델 생성 장치(100) 또는 크리덴셜 스터핑 탐지 장치(300)에 포함된 하나 이상의 컴포넌트일 수 있다.The illustrated computing environment 10 includes a computing device 12 . The computing device 12 may be one or more components included in the credential stuffing detection model generating device 100 or the credential stuffing detection device 300 according to an embodiment.

컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.Computing device 12 includes at least one processor 14 , a computer readable storage medium 16 and a communication bus 18 . Processor 14 may cause computing device 12 to operate according to the above-mentioned example embodiments. For example, processor 14 may execute one or more programs stored on computer readable storage medium 16 . The one or more programs may include one or more computer-executable instructions, which when executed by processor 14 are configured to cause computing device 12 to perform operations in accordance with an illustrative embodiment. It can be.

컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer-readable storage medium 16 is configured to store computer-executable instructions or program code, program data, and/or other suitable form of information. Program 20 stored on computer readable storage medium 16 includes a set of instructions executable by processor 14 . In one embodiment, computer readable storage medium 16 includes memory (volatile memory such as random access memory, non-volatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, other forms of storage media that can be accessed by computing device 12 and store desired information, or any suitable combination thereof.

통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.Communications bus 18 interconnects various other components of computing device 12, including processor 14 and computer-readable storage medium 16.

컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.Computing device 12 may also include one or more input/output interfaces 22 and one or more network communication interfaces 26 that provide interfaces for one or more input/output devices 24 . An input/output interface 22 and a network communication interface 26 are connected to the communication bus 18 . Input/output device 24 may be coupled to other components of computing device 12 via input/output interface 22 . Exemplary input/output devices 24 include a pointing device (such as a mouse or trackpad), a keyboard, a touch input device (such as a touchpad or touchscreen), a voice or sound input device, various types of sensor devices, and/or a photographing device. input devices, and/or output devices such as display devices, printers, speakers, and/or network cards. The exemplary input/output device 24 may be included inside the computing device 12 as a component constituting the computing device 12, or may be connected to the computing device 12 as a separate device distinct from the computing device 12. may be

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Although the present invention has been described in detail through representative examples above, those skilled in the art can make various modifications to the above-described embodiments without departing from the scope of the present invention. will understand Therefore, the scope of the present invention should not be limited to the described embodiments and should not be defined, and should be defined by not only the claims to be described later, but also those equivalent to these claims.

10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 크리덴셜 스터핑 탐지 모델 생성 장치
110: 특징 생성부
120: 특징 선택부
130: 모델 생성부
140: 판단부
150: 탐지부
300: 크리덴셜 스터핑 탐지 장치
310: 판단부
320: 특징 추출부
330: 탐지부
10: Computing environment
12: computing device
14: Processor
16: computer readable storage medium
18: communication bus
20: program
22: I/O interface
24: I/O device
26: network communication interface
100: credential stuffing detection model generating device
110: feature generator
120: feature selection unit
130: model generating unit
140: judgment unit
150: detection unit
300: credential stuffing detection device
310: judgment unit
320: feature extraction unit
330: detection unit

Claims (26)

웹 사이트에 대한 크리덴셜 스터핑(credential stuffing)을 시도한 하나 이상의 비정상 클라이언트 및 상기 크리덴셜 스터핑과 무관하게 상기 웹 사이트의 로그인(log-in) 페이지에 접속한 하나 이상의 정상 클라이언트를 포함하는 복수의 클라이언트 각각에 대한 하나 이상의 웹 로그(web log)에 기초하여, 복수의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값을 생성하는 특징 생성부;
상기 복수의 특징 중 상기 크리덴셜 스터핑과 연관된 하나 이상의 특징을 선택하는 특징 선택부; 및
상기 선택된 하나 이상의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초한 학습을 통해 상기 하나 이상의 특징에 대한 이상치(outlier)를 가진 의심 클라이언트를 탐지하기 위한 이상 탐지 모델을 생성하는 모델 생성부를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 장치.
Each of a plurality of clients including one or more abnormal clients that attempted credential stuffing on the website and one or more normal clients that accessed the log-in page of the website regardless of the credential stuffing. a feature generating unit generating a feature value of each of the plurality of clients for each of a plurality of features, based on one or more web logs for;
a feature selector selecting one or more features related to the credential stuffing from among the plurality of features; and
And a model generator for generating an anomaly detection model for detecting a suspicious client having an outlier for the one or more characteristics through learning based on the feature values of each of the plurality of clients for each of the one or more selected characteristics. , Credential stuffing detection model generator.
청구항 1에 있어서,
상기 복수의 특징은, 웹 로그 발생 패턴과 관련된 특징, 상기 로그인 페이지에 대한 접속 이력과 관련된 특징, 웹 로그 내에 포함된 유니크한 정보와 관련된 특징 및 클라이언트 요청과 관련된 특징 중 적어도 하나를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 장치.
The method of claim 1,
The plurality of features include at least one of a feature related to a web log generation pattern, a feature related to an access history to the login page, a feature related to unique information included in a web log, and a feature related to a client request. A device for generating a model for detecting dental stuffing.
청구항 2에 있어서,
상기 웹 로그 내에 포함된 유니크한 정보와 관련된 특징은, 쿠키 별 빈도를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 장치.
The method of claim 2,
The feature related to the unique information included in the web log includes a frequency of each cookie, credential stuffing detection model generating device.
청구항 2에 있어서,
상기 웹 로그 발생 패턴과 관련된 특징은, 상기 복수의 클라이언트 각각에 의해 발생한 웹 로그의 개수, 발생 빈도 및 발생 간격 중 적어도 하나를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 장치.
The method of claim 2,
The feature related to the web log generation pattern includes at least one of the number of web logs generated by each of the plurality of clients, a generation frequency, and a generation interval.
청구항 2에 있어서,
상기 접속 이력과 관련된 특징은, 상기 로그인 페이지에 대한 상기 복수의 클라이언트 각각의 접속 횟수, 접속 빈도, 접속 간격 및 접속 유지 시간 중 적어도 하나를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 장치.
The method of claim 2,
The characteristic related to the access history includes at least one of a number of times of access of each of the plurality of clients to the login page, a connection frequency, an access interval, and a connection maintenance time.
청구항 2에 있어서,
상기 유니크한 정보와 관련한 특징은, 상기 복수의 클라이언트에 의해 발생한 하나 이상의 웹 로그에 포함된 정보 중 유일한 값을 가지는 정보의 개수 및 빈도 중 적어도 하나를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 장치.
The method of claim 2,
The feature related to the unique information includes at least one of the number and frequency of information having a unique value among information included in one or more web logs generated by the plurality of clients.
청구항 2에 있어서,
상기 클라이언트 요청과 관련된 특징은, 상기 복수의 클라이언트 각각에 의한 요청에 따라 상기 복수의 클라이언트 각각으로 전송된 데이터 크기 및 상기 요청에 대한 응답 시간 중 적어도 하나를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 장치.
The method of claim 2,
The characteristic related to the client request includes at least one of a data size transmitted to each of the plurality of clients according to a request by each of the plurality of clients and a response time to the request.
청구항 1에 있어서,
상기 특징 선택부는, 상기 복수의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 상기 복수의 클라이언트 각각을 비정상 클라이언트 및 정상 클라이언트 중 하나로 분류하기 위한 상기 복수의 특징 각각의 중요도를 결정하고,
상기 복수의 특징 각각의 중요도에 기초하여 상기 복수의 특징 중 상기 크리덴셜 스터핑과 연관된 하나 이상의 특징을 선택하는, 크리덴셜 스터핑 탐지 모델 생성 장치.
The method of claim 1,
The feature selector determines an importance of each of the plurality of features for classifying each of the plurality of clients into one of an abnormal client and a normal client based on a feature value of each of the plurality of clients for each of the plurality of features;
Credential stuffing detection model generation device for selecting one or more features associated with the credential stuffing from among the plurality of features based on the importance of each of the plurality of features.
청구항 8에 있어서,
상기 특징 선택부는, 상기 복수의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 상기 복수의 클라이언트 각각을 비정상 클라이언트 및 정상 클라이언트 중 하나로 분류하기 위한 분류 모델을 학습하여 상기 중요도를 결정하는, 크리덴셜 스터핑 탐지 모델 생성 장치.
The method of claim 8,
The feature selector determines the importance by learning a classification model for classifying each of the plurality of clients into one of an abnormal client and a normal client based on a feature value of each of the plurality of clients for each of the plurality of features. Credential stuffing detection model generator.
청구항 9에 있어서,
상기 분류 모델은, 기계 학습(machine learning) 알고리즘에 의해 학습되는 분류 모델인, 크리덴셜 스터핑 탐지 모델 생성 장치.
The method of claim 9,
The classification model is a classification model learned by a machine learning algorithm, credential stuffing detection model generating device.
청구항 1에 있어서,
상기 모델 생성부는, 상기 선택된 하나 이상의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 각각 상이한 복수의 후보 탐지 모델을 학습시키고,
상기 학습된 복수의 후보 탐지 모델 중 하나를 상기 이상 탐지 모델로 결정하는, 크리덴셜 스터핑 탐지 모델 생성 장치.
The method of claim 1,
The model generating unit learns a plurality of different candidate detection models based on feature values of each of the plurality of clients for each of the selected one or more features;
and determining one of the plurality of learned candidate detection models as the anomaly detection model.
웹 사이트의 로그인(log-in) 페이지에 접속한 하나 이상의 클라이언트에 의해 기 설정된 시간 동안 발생한 복수의 웹 로그(web log)의 개수 및 상기 하나 이상의 클라이언트의 개수에 기초하여, 사전 설정된 탐지 조건이 만족되었는지 여부를 판단하는 판단부;
상기 탐지 조건이 만족된 경우, 상기 복수의 웹 로그에 기초하여 사전 선택된 하나 이상의 특징 각각에 대한 상기 하나 이상의 클라이언트 각각의 특징 값을 추출하는 특징 추출부; 및
사전 학습된 이상 탐지 모델을 이용하여, 상기 하나 이상의 특징 각각에 대한 상기 하나 이상의 클라이언트 각각의 특징 값으로부터 상기 하나 이상의 클라이언트 중 상기 하나 이상의 특징에 대한 이상치(outlier)를 가진 의심 클라이언트를 탐지하는 탐지부를 포함하는, 크리덴셜 스터핑 탐지 장치.
A preset detection condition is satisfied based on the number of web logs generated during a preset period of time by one or more clients accessing the log-in page of the website and the number of the one or more clients. a judgment unit that determines whether or not;
a feature extraction unit extracting a feature value of each of the at least one client for each of the at least one pre-selected feature based on the plurality of web logs when the detection condition is satisfied; and
A detection unit for detecting a suspicious client having an outlier for one or more characteristics among the one or more clients from feature values of each of the one or more clients for each of the one or more characteristics, using a pretrained anomaly detection model. Including, a credential stuffing detection device.
청구항 12에 있어서,
상기 이상 탐지 모델은, 상기 웹 사이트에 대한 크리덴셜 스터핑을 시도한 하나 이상의 비정상 클라이언트 및 상기 크리덴셜 스터핑과 무관하게 상기 웹 사이트의 로그인(log-in) 페이지에 접속한 하나 이상의 정상 클라이언트를 포함하는 복수의 클라이언트 각각에 대한 하나 이상의 웹 로그(web log)에 기초하여 추출된 상기 하나 이상의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 사전 학습된 모델인, 크리덴셜 스터핑 탐지 장치.
The method of claim 12,
The anomaly detection model includes at least one abnormal client that attempted credential stuffing for the website and at least one normal client that accessed the log-in page of the website regardless of the credential stuffing. Credential stuffing detection device, which is a pre-learned model based on a feature value of each of the plurality of clients for each of the one or more features extracted based on one or more web logs for each client of.
웹 사이트에 대한 크리덴셜 스터핑(credential stuffing)을 시도한 하나 이상의 비정상 클라이언트 및 상기 크리덴셜 스터핑과 무관하게 상기 웹 사이트의 로그인(log-in) 페이지에 접속한 하나 이상의 정상 클라이언트를 포함하는 복수의 클라이언트 각각에 대한 하나 이상의 웹 로그(web log)에 기초하여, 복수의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값을 생성하는 단계;
상기 복수의 특징 중 상기 크리덴셜 스터핑과 연관된 하나 이상의 특징을 선택하는 단계; 및
상기 선택된 하나 이상의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초한 학습을 통해 상기 하나 이상의 특징에 대한 이상치(outlier)를 가진 의심 클라이언트를 탐지하기 위한 이상 탐지 모델을 생성하는 단계를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 방법.
Each of a plurality of clients including one or more abnormal clients that attempted credential stuffing on the website and one or more normal clients that accessed the log-in page of the website regardless of the credential stuffing. generating a characteristic value of each of the plurality of clients for each of a plurality of characteristics, based on one or more web logs for;
selecting one or more characteristics associated with the credential stuffing from among the plurality of characteristics; and
Generating an anomaly detection model for detecting a suspicious client having an outlier for the one or more characteristics through learning based on a feature value of each of the plurality of clients for each of the one or more selected characteristics. How to create a credential stuffing detection model.
청구항 14에 있어서,
상기 복수의 특징은, 웹 로그 발생 패턴과 관련된 특징, 상기 로그인 페이지에 대한 접속 이력과 관련된 특징, 웹 로그 내에 포함된 유니크한 정보와 관련된 특징 및 클라이언트 요청과 관련된 특징 중 적어도 하나를 포함하는, 크리덴셜 스터핑 탐지 방법.
The method of claim 14,
The plurality of features include at least one of a feature related to a web log generation pattern, a feature related to an access history to the login page, a feature related to unique information included in a web log, and a feature related to a client request. Denial stuffing detection method.
청구항 15에 있어서,
상기 웹 로그 내에 포함된 유니크한 정보와 관련된 특징은, 쿠키 별 빈도를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 방법.
The method of claim 15
The method of generating a credential stuffing detection model, wherein the feature related to the unique information included in the web log includes a frequency of each cookie.
청구항 15에 있어서,
상기 웹 로그 발생 패턴과 관련된 특징은, 상기 복수의 클라이언트 각각에 의해 발생한 웹 로그의 개수, 발생 빈도 및 발생 간격 중 적어도 하나를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 방법.
The method of claim 15
The feature related to the web log generation pattern includes at least one of the number of web logs generated by each of the plurality of clients, a generation frequency, and a generation interval.
청구항 15에 있어서,
상기 접속 이력과 관련된 특징은, 상기 로그인 페이지에 대한 상기 복수의 클라이언트 각각의 접속 횟수, 접속 빈도, 접속 간격 및 접속 유지 시간 중 적어도 하나를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 방법.
The method of claim 15
The characteristic related to the access history includes at least one of the number of times of access of each of the plurality of clients to the login page, the access frequency, the access interval, and the connection maintenance time.
청구항 15에 있어서,
상기 유니크한 정보와 관련한 특징은, 상기 복수의 클라이언트에 의해 발생한 하나 이상의 웹 로그에 포함된 정보 중 유일한 값을 가지는 정보의 개수 및 빈도 중 적어도 하나를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 방법.
The method of claim 15
The feature related to the unique information includes at least one of the number and frequency of information having a unique value among information included in one or more web logs generated by the plurality of clients.
청구항 15에 있어서,
상기 클라이언트 요청과 관련된 특징은, 상기 복수의 클라이언트 각각에 의한 요청에 따라 상기 복수의 클라이언트 각각으로 전송된 데이터 크기 및 상기 요청에 대한 응답 시간 중 적어도 하나를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 방법.
The method of claim 15
The characteristic related to the client request includes at least one of a data size transmitted to each of the plurality of clients according to a request by each of the plurality of clients and a response time to the request.
청구항 14에 있어서,
상기 선택하는 단계는, 상기 복수의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 상기 복수의 클라이언트 각각을 비정상 클라이언트 및 정상 클라이언트 중 하나로 분류하기 위한 상기 복수의 특징 각각의 중요도를 결정하는 단계; 및
상기 복수의 특징 각각의 중요도에 기초하여 상기 복수의 특징 중 상기 크리덴셜 스터핑과 연관된 하나 이상의 특징을 선택하는 단계를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 방법.
The method of claim 14,
The selecting may include determining an importance of each of the plurality of features for classifying each of the plurality of clients into one of an abnormal client and a normal client based on a feature value of each of the plurality of clients for each of the plurality of features. step; and
And selecting one or more features associated with the credential stuffing from among the plurality of features based on the importance of each of the plurality of features.
청구항 21에 있어서,
상기 중요도를 결정하는 단계는, 상기 복수의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 상기 복수의 클라이언트 각각을 비정상 클라이언트 및 정상 클라이언트 중 하나로 분류하기 위한 분류 모델을 학습하여 상기 중요도를 결정하는, 크리덴셜 스터핑 탐지 모델 생성 방법.
The method of claim 21,
The determining of the importance may include determining the importance by learning a classification model for classifying each of the plurality of clients into one of an abnormal client and a normal client based on a characteristic value of each of the plurality of clients for each of the plurality of characteristics. How to create a credential stuffing detection model to determine.
청구항 22에 있어서,
상기 분류 모델은, 기계 학습(machine learning) 알고리즘에 의해 학습되는 분류 모델인, 크리덴셜 스터핑 탐지 모델 생성 방법.
The method of claim 22
The classification model is a classification model learned by a machine learning algorithm, credential stuffing detection model generation method.
청구항 14에 있어서,
상기 탐지 모델을 생성하는 단계는, 상기 선택된 하나 이상의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 각각 상이한 복수의 후보 탐지 모델을 학습시키는 단계; 및
상기 학습된 복수의 후보 탐지 모델 중 하나를 상기 이상 탐지 모델로 결정하는 단계를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 방법.
The method of claim 14,
The generating of the detection model may include: learning a plurality of different candidate detection models based on a feature value of each of the plurality of clients for each of the one or more selected features; and
and determining one of the plurality of learned candidate detection models as the anomaly detection model.
웹 사이트의 로그인(log-in) 페이지에 접속한 하나 이상의 클라이언트에 의해 기 설정된 시간 동안 발생한 복수의 웹 로그(web log)의 개수 및 상기 하나 이상의 클라이언트의 개수에 기초하여, 사전 설정된 탐지 조건이 만족되었는지 여부를 판단하는 단계;
상기 탐지 조건이 만족된 경우, 상기 복수의 웹 로그에 기초하여 상기 하나 이상의 특징 각각에 대한 상기 하나 이상의 클라이언트 각각의 특징 값을 추출하는 단계; 및
사전 학습된 이상 탐지 모델을 이용하여, 상기 하나 이상의 특징 각각에 대한 상기 하나 이상의 클라이언트 각각의 특징 값으로부터 상기 하나 이상의 클라이언트 중 상기 하나 이상의 특징에 대한 이상치(outlier)를 가진 의심 클라이언트를 탐지하는 단계를 포함하는, 크리덴셜 스터핑 탐지 방법.
A preset detection condition is satisfied based on the number of web logs generated during a preset period of time by one or more clients accessing the log-in page of the website and the number of the one or more clients. determining whether or not;
extracting a characteristic value of each of the one or more clients for each of the one or more characteristics based on the plurality of web logs when the detection condition is satisfied; and
Using a pretrained anomaly detection model, detecting a suspicious client having an outlier for the one or more characteristics among the one or more clients from feature values of each of the one or more clients for each of the one or more characteristics. Including, credential stuffing detection method.
청구항 25에 있어서,
상기 이상 탐지 모델은, 상기 웹 사이트에 대한 크리덴셜 스터핑을 시도한 하나 이상의 비정상 클라이언트 및 상기 크리덴셜 스터핑과 무관하게 상기 웹 사이트의 로그인 페이지에 접속한 하나 이상의 정상 클라이언트를 포함하는 복수의 클라이언트 각각에 대한 하나 이상의 웹 로그에 기초하여 추출된 상기 하나 이상의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 사전 학습된 모델인, 크리덴셜 스터핑 탐지 방법.
The method of claim 25
The anomaly detection model is for each of a plurality of clients including one or more abnormal clients that attempt credential stuffing for the website and one or more normal clients that access the login page of the website regardless of the credential stuffing. A method for detecting credential stuffing, which is a pre-learned model based on feature values of each of the plurality of clients for each of the one or more features extracted based on one or more web logs.
KR1020210069973A 2021-05-31 2021-05-31 Apparatus and method for generating credential stuffing detection model, apparatus and method for detecting credential stuffing KR20220161790A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210069973A KR20220161790A (en) 2021-05-31 2021-05-31 Apparatus and method for generating credential stuffing detection model, apparatus and method for detecting credential stuffing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210069973A KR20220161790A (en) 2021-05-31 2021-05-31 Apparatus and method for generating credential stuffing detection model, apparatus and method for detecting credential stuffing

Publications (1)

Publication Number Publication Date
KR20220161790A true KR20220161790A (en) 2022-12-07

Family

ID=84441360

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210069973A KR20220161790A (en) 2021-05-31 2021-05-31 Apparatus and method for generating credential stuffing detection model, apparatus and method for detecting credential stuffing

Country Status (1)

Country Link
KR (1) KR20220161790A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102120214B1 (en) 2019-11-15 2020-06-08 (주)유엠로직스 Cyber targeted attack detect system and method using ensemble learning

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102120214B1 (en) 2019-11-15 2020-06-08 (주)유엠로직스 Cyber targeted attack detect system and method using ensemble learning

Similar Documents

Publication Publication Date Title
US11171925B2 (en) Evaluating and modifying countermeasures based on aggregate transaction status
JP6530786B2 (en) System and method for detecting malicious elements of web pages
US11070557B2 (en) Delayed serving of protected content
US10193909B2 (en) Using instrumentation code to detect bots or malware
US20210377303A1 (en) Machine learning to determine domain reputation, content classification, phishing sites, and command and control sites
US10721245B2 (en) Method and device for automatically verifying security event
EP2769508B1 (en) System and method for detection of denial of service attacks
Cao et al. Machine learning to detect anomalies in web log analysis
US11671448B2 (en) Phishing detection using uniform resource locators
US11381598B2 (en) Phishing detection using certificates associated with uniform resource locators
US20160182545A1 (en) Methods, systems, and media for masquerade attack detection by monitoring computer user behavior
JP2012527691A (en) System and method for application level security
US11582251B2 (en) Identifying patterns in computing attacks through an automated traffic variance finder
US20210377304A1 (en) Machine learning to determine command and control sites
Fallah et al. Android malware detection using network traffic based on sequential deep learning models
Pramila et al. A survey on adaptive authentication using machine learning techniques
US11470114B2 (en) Malware and phishing detection and mediation platform
Afandi et al. COVID-19 phishing detection based on hyperlink using k-nearest neighbor (KNN) algorithm
KR20220161790A (en) Apparatus and method for generating credential stuffing detection model, apparatus and method for detecting credential stuffing
RU2758359C1 (en) System and method for detecting mass fraudulent activities in the interaction of users with banking services
Jaswal et al. Detection and Prevention of Phishing Attacks on Banking Website
KR20220157565A (en) Apparatus and method for detecting web scanning attack
WO2021133592A1 (en) Malware and phishing detection and mediation platform
Ma et al. A Deep Learning‐Based Trust Assessment Method for Cloud Users
US20230065787A1 (en) Detection of phishing websites using machine learning

Legal Events

Date Code Title Description
A201 Request for examination