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 PDFInfo
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 125
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000002159 abnormal effect Effects 0.000 claims abstract description 30
- 238000013145 classification model Methods 0.000 claims description 19
- 235000014510 cooky Nutrition 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 8
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 7
- 238000012423 maintenance Methods 0.000 claims description 7
- 238000010801 machine learning Methods 0.000 claims description 6
- 238000013450 outlier detection Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
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
Description
개시되는 실시예들은 크리덴셜 스터핑 탐지를 위한 기술과 관련된다.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.
개시되는 실시예들은 크리덴셜 스터핑 탐지 모델 생성을 위한 장치 및 방법과 크리덴셜 스터핑 탐지를 위한 장치 및 방법을 제공하기 위한 것이다.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
일 실시예에 따르면, 특징 생성부(110), 특징 선택부(120) 및 모델 생성부(130)는 각각 물리적으로 구분된 하나 이상의 장치를 이용하여 구현되거나, 하나 이상의 하드웨어 프로세서 또는 하나 이상의 하드웨어 프로세서 및 소프트웨어의 결합에 의해 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.According to an embodiment, the
특징 생성부(110)는 웹 사이트의 로그인(log-in) 페이지에 접속한 복수의 클라이언트 각각에 대한 하나 이상의 웹 로그(web log)에 기초하여, 복수의 특징(feature) 각각에 대한 복수의 클라이언트 각각의 특징 값을 생성한다.The
이때, 복수의 클라이언트는 웹 사이트에 대한 크리덴셜 스터핑을 시도한 하나 이상의 클라이언트(이하, 비정상 클라이언트로 지칭함) 및 크리덴셜 스터핑과 무관하게 웹 사이트의 로그인 페이지에 접속한 하나 이상의 클라이언트(이하, 정상 클라이언트로 지칭함)를 포함한다.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
한편, 일 실시예에 따르면, 특징 생성부(110)는 사전 수집된 웹 로그 각각에 포함된 클라이언트 IP 주소에 기초하여, 동일한 클라이언트 IP 주소를 포함하는 하나 이상의 웹 로그를 동일한 클라이언트에 의해 발생한 웹 로그로 분류할 수 있다. 이후, 특징 생성부(110)는 각 클라이언트에 의해 발생한 것으로 분류된 하나 이상의 웹 로그에 기초하여 복수의 특징 각각에 대한 각 클라이언트의 특징 값을 추출할 수 있다.Meanwhile, according to an embodiment, the
일 실시예에 따르면, 복수의 특징은 예를 들어, 웹 로그 발생 패턴과 관련된 특징, 웹 사이트의 로그인 페이지에 대한 접속 이력과 관련된 특징, 웹 로그 내에 포함된 유니크한 정보와 관련된 특징 및 클라이언트 요청과 관련된 특징 중 적어도 하나를 포함할 수 있다.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
일 실시예에 따르면, 특징 선택부(120)는 복수의 특징에 대한 각 클라이언트의 특징 값을 이용하여 각 클라이언트를 정상 클라이언트 및 비정상 클라이언트 중 하나로 분류하기 위한 복수의 특징 각각의 중요도를 결정할 수 있다. According to an embodiment, the
구체적으로, 일 실시예에 따르면, 특징 선택부(120)는 복수의 특징 각각에 대한 복수의 클라이언트 각각의 특징 값에 기초하여 복수의 클라이언트 각각을 정상 클라이언트 및 비정상 클라이언트 중 하나로 분류하기 위한 분류 모델을 학습하여 복수의 특징 각각에 대한 중요도를 산출할 수 있다. 이때, 분류 모델은 기계 학습(machine learning) 알고리즘에 의해 학습되는 분류 모델일 수 있으며, 복수의 특징 각각에 대한 중요도는 각 특징이 분류 모델의 예측 결과에 영향을 미치는 정도를 수치적으로 평가한 것일 수 있다. Specifically, according to an embodiment, the
구체적인 예로, 분류 모델은 랜덤 포레스트(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
모델 생성부(130)는 특징 선택부(120)에 의해 선택된 하나 이상의 특징 각각에 대한 복수의 클라이언트 각각의 특징 값에 기초한 학습을 통해 하나 이상의 특징에 대한 이상치(outlier)를 가진 의심 클라이언트를 탐지하기 위한 이상 탐지 모델을 생성한다.The
일 실시예에 따르면, 모델 생성부(130)는 특징 선택부(120)에 의해 선택된 하나 이상의 특징 각각에 대한 복수의 클라이언트 각각의 특징 값을 이용하여 각각 상이한 복수의 후보 탐지 모델을 학습시키고, 학습된 복수의 후보 탐지 모델 중 하나를 이상 탐지 모델로 결정할 수 있다.According to an embodiment, the
이때, 복수의 후보 탐지 모델은 예를 들어, 단일 클래스 서포트 벡터 머신(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
도 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
도 2를 참조하면, 크리덴셜 스터핑 탐지 모델 생성 장치(100)는 하나 이상의 비정상 클라이언트 및 하나 이상의 정상 클라이언트를 포함하는 복수의 클라이언트 각각에 대한 하나 이상의 웹 로그에 기초하여, 복수의 특징 각각에 대한 복수의 클라이언트 각각의 특징 값을 생성한다(210).Referring to FIG. 2 , the credential stuffing detection
이때, 일 실시예에 따르면, 복수의 특징은 웹 로그 발생 패턴과 관련된 특징, 로그인 페이지에 대한 접속 이력과 관련된 특징, 웹 로그 내에 포함된 유니크한 정보와 관련된 특징 및 클라이언트 요청과 관련된 특징 중 적어도 하나를 포함할 수 있다. 이때, 유니크한 정보와 관련된 특징은 예를 들어, 쿠키 별 빈도를 포함할 수 있다. 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
이때, 일 실시예에 따르면, 크리덴셜 스터핑 탐지 모델 생성 장치(100)는 복수의 특징 각각에 대한 복수의 클라이언트 각각의 특징 값에 기초하여 복수의 클라이언트 각각을 비정상 클라이언트 및 정상 클라이언트 중 하나로 분류하기 위한 복수의 특징 각각의 중요도를 결정하고, 결정된 중요도에 기초하여 복수의 특징 중 크리덴셜 스터핑과 연관된 하나 이상의 특징을 선택할 수 있다.At this time, according to an embodiment, the credential stuffing detection
구체적으로, 일 실시예에 따르면, 크리덴셜 스터핑 탐지 모델 생성 장치(100)는 복수의 특징 각각에 대한 복수의 클라이언트 각각의 특징 값에 기초하여 복수의 클라이언트 각각을 비정상 클라이언트 및 정상 클라이언트 중 하나로 분류하기 위한 분류 모델을 학습하여 복수의 특징 각각의 중요도를 결정할 수 있다.Specifically, according to an embodiment, the credential stuffing detection
이후, 크리덴셜 스터핑 탐지 모델 생성 장치(100)는 선택된 하나 이상의 특징 각각에 대한 특징 값에 기초한 학습을 통해 하나 이상의 특징에 대한 이상치를 가진 의심 클라이언트를 탐지하기 위한 이상 탐지 모델을 생성한다(230).Thereafter, the credential stuffing detection
이때, 일 실시예에 따르면, 크리덴셜 스터핑 탐지 모델 생성 장치(100)는 선택된 하나 이상의 특징 각각에 대한 복수의 클라이언트 각각의 특징 값에 기초하여 각각 상이한 복수의 후보 탐지 모델을 학습시킬 수 있다. 또한, 크리덴셜 스터핑 탐지 모델 생성 장치(100)는 학습된 복수의 후보 탐지 모델 중 하나를 이상 탐지 모델로 결정할 수 있다.In this case, according to an embodiment, the credential stuffing detection
한편, 도 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
일 실시예에 따르면, 판단부(310), 특징 추출부(320) 및 탐지부(330)는 각각 물리적으로 구분된 하나 이상의 장치를 이용하여 구현되거나, 하나 이상의 하드웨어 프로세서 또는 하나 이상의 하드웨어 프로세서 및 소프트웨어의 결합에 의해 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.According to an embodiment, the
판단부(310)는 웹 사이트의 로그인 페이지에 접속한 하나 이상의 클라이언트에 의해 기 설정된 시간 동안 발생한 복수의 웹 로그의 개수 및 해당 하나 이상의 클라이언트의 개수에 기초하여, 사전 설정된 탐지 조건이 만족되었는지 여부를 판단한다.The
구체적으로, 일 실시예에 따르면, 판단부(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
또한, 탐지부(330)는 사전 학습된 이상 탐지 모델을 이용하여 하나 이상의 특징 각각에 대한 하나 이상의 클라이언트 각각의 특징 값으로부터 하나 이상의 클라이언트 중 하나 이상의 특징에 대한 이상치를 가진 의심 클라이언트를 탐지한다.In addition, the
구체적으로, 탐지부(330)는 하나 이상의 클라이언트 각각에 대해 하나 이상의 특징에 대한 특징 값을 이상 탐지 모델로 입력하여 입력된 특징 값이 이상치에 해당하는지 여부를 판단할 수 있다. 또한, 탐지부(330)는 하나 이상의 클라이언트 중 이상 탐지 모델에 의해 이상치인 것으로 판단된 특징 값을 가진 클라이언트를 의심 클라이언트로 판단할 수 있다.In detail, the
한편, 일 실시예에 따르면, 사전 학습된 이상 탐지 모델은 상술한 크리덴셜 스터핑 탐지 모델 생성 장치(100)에 의해 생성된 이상 탐지 모델일 수 있다. 또한, 하나 이상의 특징은 크리덴셜 스터핑 탐지 모델 생성 장치(100)에서 이상 탐지 모델 생성을 위한 학습 과정에서 이용된 특징일 수 있다.Meanwhile, according to an embodiment, the pretrained anomaly detection model may be an anomaly detection model generated by the credential stuffing detection
도 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
도 4를 참조하면, 크리덴셜 스터핑 탐지 장치(300)는 웹 사이트의 로그인 페이지에 접속한 하나 이상의 클라이언트에 의해 기 설정된 시간 동안 발생한 복수의 웹 로그를 수집한다(410). Referring to FIG. 4 , the credential
이후, 크리덴셜 스터핑 탐지 장치(300)는 수집된 복수의 웹 로그의 개수 및 하나 이상의 클라이언트의 개수에 기초하여, 사전 설정된 탐지 조건이 만족되었는지 여부를 판단한다(420).Thereafter, the credential
탐지 조건이 만족된 경우, 크리덴셜 스터핑 탐지 장치(300)는 수집된 복수의 웹 로그에 기초하여 하나 이상의 특징 각각에 대한 하나 이상의 클라이언트 각각의 특징 값을 추출한다(430).When the detection condition is satisfied, the credential
이후, 크리덴셜 스터핑 탐지 장치(300)는 이상 탐지 모델을 이용하여 하나 이상의 특징 각각에 대한 하나 이상의 클라이언트 각각의 특징 값으로부터 하나 이상의 클라이언트 중 의심 클라이언트를 탐지한다(440).Thereafter, the credential
한편, 도 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
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer-
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.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)
상기 복수의 특징 중 상기 크리덴셜 스터핑과 연관된 하나 이상의 특징을 선택하는 특징 선택부; 및
상기 선택된 하나 이상의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초한 학습을 통해 상기 하나 이상의 특징에 대한 이상치(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.
상기 복수의 특징은, 웹 로그 발생 패턴과 관련된 특징, 상기 로그인 페이지에 대한 접속 이력과 관련된 특징, 웹 로그 내에 포함된 유니크한 정보와 관련된 특징 및 클라이언트 요청과 관련된 특징 중 적어도 하나를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 장치.
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.
상기 웹 로그 내에 포함된 유니크한 정보와 관련된 특징은, 쿠키 별 빈도를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 장치.
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.
상기 웹 로그 발생 패턴과 관련된 특징은, 상기 복수의 클라이언트 각각에 의해 발생한 웹 로그의 개수, 발생 빈도 및 발생 간격 중 적어도 하나를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 장치.
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.
상기 접속 이력과 관련된 특징은, 상기 로그인 페이지에 대한 상기 복수의 클라이언트 각각의 접속 횟수, 접속 빈도, 접속 간격 및 접속 유지 시간 중 적어도 하나를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 장치.
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.
상기 유니크한 정보와 관련한 특징은, 상기 복수의 클라이언트에 의해 발생한 하나 이상의 웹 로그에 포함된 정보 중 유일한 값을 가지는 정보의 개수 및 빈도 중 적어도 하나를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 장치.
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.
상기 클라이언트 요청과 관련된 특징은, 상기 복수의 클라이언트 각각에 의한 요청에 따라 상기 복수의 클라이언트 각각으로 전송된 데이터 크기 및 상기 요청에 대한 응답 시간 중 적어도 하나를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 장치.
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.
상기 특징 선택부는, 상기 복수의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 상기 복수의 클라이언트 각각을 비정상 클라이언트 및 정상 클라이언트 중 하나로 분류하기 위한 상기 복수의 특징 각각의 중요도를 결정하고,
상기 복수의 특징 각각의 중요도에 기초하여 상기 복수의 특징 중 상기 크리덴셜 스터핑과 연관된 하나 이상의 특징을 선택하는, 크리덴셜 스터핑 탐지 모델 생성 장치.
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.
상기 특징 선택부는, 상기 복수의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 상기 복수의 클라이언트 각각을 비정상 클라이언트 및 정상 클라이언트 중 하나로 분류하기 위한 분류 모델을 학습하여 상기 중요도를 결정하는, 크리덴셜 스터핑 탐지 모델 생성 장치.
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.
상기 분류 모델은, 기계 학습(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.
상기 모델 생성부는, 상기 선택된 하나 이상의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 각각 상이한 복수의 후보 탐지 모델을 학습시키고,
상기 학습된 복수의 후보 탐지 모델 중 하나를 상기 이상 탐지 모델로 결정하는, 크리덴셜 스터핑 탐지 모델 생성 장치.
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.
상기 탐지 조건이 만족된 경우, 상기 복수의 웹 로그에 기초하여 사전 선택된 하나 이상의 특징 각각에 대한 상기 하나 이상의 클라이언트 각각의 특징 값을 추출하는 특징 추출부; 및
사전 학습된 이상 탐지 모델을 이용하여, 상기 하나 이상의 특징 각각에 대한 상기 하나 이상의 클라이언트 각각의 특징 값으로부터 상기 하나 이상의 클라이언트 중 상기 하나 이상의 특징에 대한 이상치(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.
상기 이상 탐지 모델은, 상기 웹 사이트에 대한 크리덴셜 스터핑을 시도한 하나 이상의 비정상 클라이언트 및 상기 크리덴셜 스터핑과 무관하게 상기 웹 사이트의 로그인(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.
상기 복수의 특징 중 상기 크리덴셜 스터핑과 연관된 하나 이상의 특징을 선택하는 단계; 및
상기 선택된 하나 이상의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초한 학습을 통해 상기 하나 이상의 특징에 대한 이상치(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.
상기 복수의 특징은, 웹 로그 발생 패턴과 관련된 특징, 상기 로그인 페이지에 대한 접속 이력과 관련된 특징, 웹 로그 내에 포함된 유니크한 정보와 관련된 특징 및 클라이언트 요청과 관련된 특징 중 적어도 하나를 포함하는, 크리덴셜 스터핑 탐지 방법.
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.
상기 웹 로그 내에 포함된 유니크한 정보와 관련된 특징은, 쿠키 별 빈도를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 방법.
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.
상기 웹 로그 발생 패턴과 관련된 특징은, 상기 복수의 클라이언트 각각에 의해 발생한 웹 로그의 개수, 발생 빈도 및 발생 간격 중 적어도 하나를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 방법.
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.
상기 접속 이력과 관련된 특징은, 상기 로그인 페이지에 대한 상기 복수의 클라이언트 각각의 접속 횟수, 접속 빈도, 접속 간격 및 접속 유지 시간 중 적어도 하나를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 방법.
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.
상기 유니크한 정보와 관련한 특징은, 상기 복수의 클라이언트에 의해 발생한 하나 이상의 웹 로그에 포함된 정보 중 유일한 값을 가지는 정보의 개수 및 빈도 중 적어도 하나를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 방법.
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.
상기 클라이언트 요청과 관련된 특징은, 상기 복수의 클라이언트 각각에 의한 요청에 따라 상기 복수의 클라이언트 각각으로 전송된 데이터 크기 및 상기 요청에 대한 응답 시간 중 적어도 하나를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 방법.
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.
상기 선택하는 단계는, 상기 복수의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 상기 복수의 클라이언트 각각을 비정상 클라이언트 및 정상 클라이언트 중 하나로 분류하기 위한 상기 복수의 특징 각각의 중요도를 결정하는 단계; 및
상기 복수의 특징 각각의 중요도에 기초하여 상기 복수의 특징 중 상기 크리덴셜 스터핑과 연관된 하나 이상의 특징을 선택하는 단계를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 방법.
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.
상기 중요도를 결정하는 단계는, 상기 복수의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 상기 복수의 클라이언트 각각을 비정상 클라이언트 및 정상 클라이언트 중 하나로 분류하기 위한 분류 모델을 학습하여 상기 중요도를 결정하는, 크리덴셜 스터핑 탐지 모델 생성 방법.
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.
상기 분류 모델은, 기계 학습(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.
상기 탐지 모델을 생성하는 단계는, 상기 선택된 하나 이상의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 각각 상이한 복수의 후보 탐지 모델을 학습시키는 단계; 및
상기 학습된 복수의 후보 탐지 모델 중 하나를 상기 이상 탐지 모델로 결정하는 단계를 포함하는, 크리덴셜 스터핑 탐지 모델 생성 방법.
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.
상기 탐지 조건이 만족된 경우, 상기 복수의 웹 로그에 기초하여 상기 하나 이상의 특징 각각에 대한 상기 하나 이상의 클라이언트 각각의 특징 값을 추출하는 단계; 및
사전 학습된 이상 탐지 모델을 이용하여, 상기 하나 이상의 특징 각각에 대한 상기 하나 이상의 클라이언트 각각의 특징 값으로부터 상기 하나 이상의 클라이언트 중 상기 하나 이상의 특징에 대한 이상치(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.
상기 이상 탐지 모델은, 상기 웹 사이트에 대한 크리덴셜 스터핑을 시도한 하나 이상의 비정상 클라이언트 및 상기 크리덴셜 스터핑과 무관하게 상기 웹 사이트의 로그인 페이지에 접속한 하나 이상의 정상 클라이언트를 포함하는 복수의 클라이언트 각각에 대한 하나 이상의 웹 로그에 기초하여 추출된 상기 하나 이상의 특징 각각에 대한 상기 복수의 클라이언트 각각의 특징 값에 기초하여 사전 학습된 모델인, 크리덴셜 스터핑 탐지 방법.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.
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)
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 |
-
2021
- 2021-05-31 KR KR1020210069973A patent/KR20220161790A/en active Search and Examination
Patent Citations (1)
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 |