KR102223741B1 - Method, apparatus and computer program for determining random generation of string - Google Patents
Method, apparatus and computer program for determining random generation of string Download PDFInfo
- Publication number
- KR102223741B1 KR102223741B1 KR1020190055840A KR20190055840A KR102223741B1 KR 102223741 B1 KR102223741 B1 KR 102223741B1 KR 1020190055840 A KR1020190055840 A KR 1020190055840A KR 20190055840 A KR20190055840 A KR 20190055840A KR 102223741 B1 KR102223741 B1 KR 102223741B1
- Authority
- KR
- South Korea
- Prior art keywords
- string
- character string
- frequency
- frequency data
- character
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- 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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명의 일 실시예에 따른 사용자 식별 문자열이 무작위로 생성되었는지 여부를 판단하는 방법은, 상기 문자열의 적어도 일부이고, N(N은 자연수)개의 연속하는 문자를 포함하는 하나 이상의 제1 부분 문자열 각각이, 복수의 사용자 식별 문자열에 포함되어있는 빈도를 포함하는 제1 빈도 데이터를 생성하는 단계; 상기 문자열의 적어도 일부이고, M(M은 자연수)개의 연속하는 문자를 포함하는 하나 이상의 제2 부분 문자열 각각이, 상기 복수의 사용자 식별 문자열에 포함되어있는 빈도를 포함하는 제2 빈도 데이터를 생성하는 단계; 및 인공 신경망을 이용하여, 상기 제1 빈도 데이터 및 상기 제2 빈도 데이터로부터 상기 문자열의 무작위 생성 여부를 결정하는 단계;를 포함할 수 있다.A method of determining whether a user identification character string is randomly generated according to an embodiment of the present invention is at least a part of the character string, each of one or more first substrings including N (N is a natural number) consecutive characters Generating first frequency data including frequencies included in the plurality of user identification character strings; At least a part of the character string, each of one or more second substrings including M (M is a natural number) consecutive characters, generating second frequency data including frequencies included in the plurality of user identification character strings step; And determining whether the character string is randomly generated from the first frequency data and the second frequency data using an artificial neural network.
Description
본 발명은 사용자 식별 문자열이 무작위로 생성되었는지 여부를 판단하는 방법, 장치 및 컴퓨터 프로그램에 관한 것이다.The present invention relates to a method, apparatus, and computer program for determining whether a user identification character string is randomly generated.
컴퓨터를 비롯한 다양한 스마트기기가 보급됨에 따라 현대에는 온라인망을 이용한 서비스, 특히 온라인을 통해 콘텐츠를 제공하는 서비스들이 등장하고 있다. 이러한 서비스들은 단순히 콘텐츠를 제공하는데 그치지 않고 사용자가 콘텐츠에 대한 추천, 공감, 덧글 등과 같은 피드백 입력할 수 있도록 한다.With the spread of various smart devices including computers, services using online networks, especially services that provide content through online, are emerging in modern times. These services do not just provide content, but allow users to input feedback, such as recommendations, empathy, and comments about the content.
오늘날 사용자가 입력한 피드백은 콘텐츠 만큼이나 강력한 파급 효과를 갖기에, 특정 의도를 가진 사용자의 다량의 피드백에 의해 콘텐츠가 최초 의도와 다른 목적 등으로 사용되는 것을 방지하기 위해 사용자의 계정 당 입력할 수 있는 피드백을 소정의 조건에 따라 제한하고 있는 추세이다.Today's user-entered feedback is as powerful as the content, so it can be entered per user's account in order to prevent the content from being used for purposes other than the original intent by a large amount of feedback from users with a specific intent. There is a trend of limiting feedback according to predetermined conditions.
이러한 추세에 따라, 특정 의도를 가진 사용자들은 컴퓨터와 같은 정보 처리 장치를 이용하여 사용자 계정을 다량 생성하여 부정한 행위를 여전히 이어가고 있으며, 이로 인하여 다양한 문제점이 발생하고 있는 실정이다. 따라서 정보 처리 장치에 의해 무작위로 생성된 사용자 식별 문자열 판별의 필요성이 점차 대두되고 있다.In accordance with this trend, users with specific intentions create a large number of user accounts using information processing devices such as computers and continue to engage in fraudulent behavior, resulting in various problems. Therefore, the necessity of discriminating a user identification character string randomly generated by an information processing device is gradually emerging.
본 발명은 사용자 계정과 같은 사용자 식별 문자열이 컴퓨터와 같은 정보 처리 장치에 의해 무작위로 생성되었는지 여부를 정확하게 결정하고자 한다.An object of the present invention is to accurately determine whether a user identification string such as a user account is randomly generated by an information processing device such as a computer.
또한 본 발명은 무작위로 생성된 사용자 식별 문자열을 이용한 다양한 불법적인 행위를 효과적으로 차단할 수 있도록 하고자 한다.In addition, the present invention is intended to be able to effectively block various illegal activities using a randomly generated user identification string.
또한 본 발명은 무작위로 생성되지 않았을 확률이 특별히 높은 사용자 식별 문자열을 사전에 필터링 함으로써 보다 높은 정확도로 사용자 식별 문자열의 무작위 생성 여부를 결정하고자 한다.In addition, the present invention is to determine whether or not to generate a user identification string randomly with higher accuracy by filtering in advance a user identification string having a particularly high probability that it was not randomly generated.
본 발명의 일 실시예에 따른 사용자 식별 문자열이 무작위로 생성되었는지 여부를 판단하는 방법은, 상기 문자열의 적어도 일부이고, N(N은 자연수)개의 연속하는 문자를 포함하는 하나 이상의 제1 부분 문자열 각각이, 복수의 사용자 식별 문자열에 포함되어있는 빈도를 포함하는 제1 빈도 데이터를 생성하는 단계; 및 상기 제1 빈도 데이터에 기초하여 상기 사용자 식별 문자열의 무작위 생성 여부를 결정하는 단계;를 포함할 수 있다.A method of determining whether a user identification character string is randomly generated according to an embodiment of the present invention is at least a part of the character string, each of one or more first substrings including N (N is a natural number) consecutive characters Generating first frequency data including frequencies included in the plurality of user identification character strings; And determining whether to randomly generate the user identification character string based on the first frequency data.
본 발명의 일 실시예에 따른 문자열의 무작위 생성 여부 판단 방법은 상기 문자열의 적어도 일부이고, M(M은 자연수)개의 연속하는 문자를 포함하는 하나 이상의 제2 부분 문자열 각각이, 상기 복수의 사용자 식별 문자열에 포함되어있는 빈도를 포함하는 제2 빈도 데이터를 생성하는 단계;를 더 포함하고, 상기 사용자 식별 문자열의 무작위 생성 여부를 결정하는 단계는 상기 제1 빈도 데이터 및 상기 제2 빈도 데이터에 기초하여 상기 사용자 식별 문자열의 무작위 생성 여부를 결정 할 수 있다.In the method for determining whether a character string is randomly generated according to an embodiment of the present invention, each of the at least one second substring including M (M is a natural number) consecutive characters, which is at least a part of the character string, identifies the plurality of users. Generating second frequency data including a frequency included in the character string; further comprising, determining whether to randomly generate the user identification character string, based on the first frequency data and the second frequency data It is possible to determine whether to randomly generate the user identification string.
상기 사용자 식별 문자열의 무작위 생성 여부를 결정하는 단계는 인공 신경망을 이용하여, 상기 제1 빈도 데이터 및 상기 제2 빈도 데이터로부터 상기 문자열의 무작위 생성 여부를 결정하고, 상기 인공 신경망은 상기 문자열이 무작위로 생성되었는지 여부가 표지(Label)된 적어도 하나의 학습 데이터에 기반하여, 상기 학습 데이터에 포함되는 제1 빈도 데이터 및 제2 빈도 데이터와 상기 무작위 생성 여부간의 상관관계를 학습한 신경망일 수 있다.The step of determining whether to randomly generate the user identification string is performed using an artificial neural network to determine whether to randomly generate the character string from the first frequency data and the second frequency data, and the artificial neural network randomly generates the character string. The neural network may be a neural network that learns a correlation between the first frequency data and the second frequency data included in the training data and the random generation based on at least one learning data labeled as to whether or not it is generated.
본 발명의 일 실시예에 따른 문자열의 무작위 생성 여부 판단 방법은 상기 문자열에 포함된 각 문자의 종류에 기초하여, 상기 문자열에 대응되는 패턴 문자열을 생성하는 단계; 및 상기 패턴 문자열의 적어도 일부이고, K(K는 자연수)개의 연속하는 문자를 포함하는 하나 이상의 제3 부분 문자열 각각이, 상기 복수의 사용자 식별 문자열 각각에 대응되는 패턴 문자열에 포함되어있는 빈도를 포함하는 제3 빈도 데이터를 생성하는 단계;를 더 포함할 수 있다. 이때 상기 사용자 식별 문자열의 무작위 생성 여부를 결정하는 단계는 상기 제1 빈도 데이터 및 상기 제3 빈도 데이터에 기초하여 상기 사용자 식별 문자열의 무작위 생성 여부를 결정할 수 있다.According to an embodiment of the present invention, a method for determining whether a character string is randomly generated comprises: generating a pattern character string corresponding to the character string based on the type of each character included in the character string; And a frequency in which each of one or more third substrings, which is at least a part of the pattern string and includes K (K is a natural number) consecutive characters, is included in the pattern string corresponding to each of the plurality of user identification strings. It may further include a; step of generating the third frequency data. In this case, determining whether to randomly generate the user identification string may determine whether to randomly generate the user identification string based on the first frequency data and the third frequency data.
본 발명의 일 실시예에 따른 문자열의 무작위 생성 여부 판단 방법은 상기 패턴 문자열의 적어도 일부이고, L(L은 자연수)개의 연속하는 문자를 포함하는 하나 이상의 제4 부분 문자열 각각이, 상기 복수의 사용자 식별 문자열 각각에 대응되는 패턴 문자열에 포함되어있는 빈도를 포함하는 제4 빈도 데이터를 생성하는 단계;를 더 포함할 수 있다. 이때 상기 사용자 식별 문자열의 무작위 생성 여부를 결정하는 단계는 상기 제1 빈도 데이터, 상기 제3 빈도 데이터 및 상기 제4 빈도 데이터에 기초하여 상기 사용자 식별 문자열의 무작위 생성 여부를 결정할 수 있다.In the method for determining whether a character string is randomly generated according to an embodiment of the present invention, each of the at least one fourth substring including L (L is a natural number) consecutive characters is at least a part of the pattern character string, and the plurality of users It may further include a step of generating fourth frequency data including a frequency included in a pattern string corresponding to each of the identification strings. In this case, determining whether to randomly generate the user identification string may determine whether to randomly generate the user identification string based on the first frequency data, the third frequency data, and the fourth frequency data.
상기 사용자 식별 문자열의 무작위 생성 여부를 결정하는 단계는 인공 신경망을 이용하여, 상기 제1 빈도 데이터, 상기 제3 빈도 데이터 및 상기 제4 빈도 데이터로부터 상기 문자열의 무작위 생성 여부를 결정하고, 상기 인공 신경망은 상기 문자열이 무작위로 생성되었는지 여부가 표지(Label)된 적어도 하나의 학습 데이터에 기반하여, 상기 학습 데이터에 포함되는 제1 빈도 데이터, 제3 빈도 데이터 및 제4 빈도 데이터와 상기 무작위 생성 여부간의 상관관계를 학습한 신경망일 수 있다.The step of determining whether to randomly generate the user identification string is performed using an artificial neural network to determine whether to randomly generate the string from the first frequency data, the third frequency data, and the fourth frequency data, and the artificial neural network Is based on at least one learning data labeled whether or not the character string is randomly generated, between the first frequency data, the third frequency data, and the fourth frequency data included in the training data, and whether or not the random generation is performed. It may be a neural network that has learned the correlation.
상기 패턴 문자열을 생성하는 단계는 상기 문자열에 포함되는 제1 문자가 제1 종류의 문자인 경우, 상기 패턴 문자열의 상기 제1 문자의 위치와 대응되는 위치의 문자를 상기 제1 종류에 대응되는 문자로 결정할 수 있다.In the generating of the pattern string, when the first character included in the character string is a character of a first type, a character at a position corresponding to the position of the first character of the pattern character string is converted to a character corresponding to the first type. Can be determined by
상기 제1 문자의 종류는 알파벳 종류, 숫자 종류 및 특수문자 종류 중 어느 하나일 수 있다.The type of the first character may be any one of an alphabet type, a number type, and a special character type.
본 발명의 일 실시예에 따른 문자열의 무작위 생성 여부 판단 방법은 상기 사용자 식별 문자열이 소정의 지정 조건을 만족하는지 여부를 포함하는 지정 조건 판단 데이터를 생성하는 단계;를 더 포함할 수 있다. 이때 상기 사용자 식별 문자열의 무작위 생성 여부를 결정하는 단계는 상기 제1 빈도 데이터 및 상기 지정 조건 판단 데이터에 기초하여 상기 사용자 식별 문자열의 무작위 생성 여부를 결정할 수 있다.The method for determining whether a character string is randomly generated according to an embodiment of the present invention may further include generating designation condition determination data including whether the user identification character string satisfies a predetermined designation condition. In this case, determining whether to randomly generate the user identification string may determine whether to randomly generate the user identification string based on the first frequency data and the designation condition determination data.
본 발명의 일 실시예에 따른 판단 대상 사용자 식별 문자열이 무작위로 생성되었는지 여부를 판단하는 방법은, 복수의 사용자 식별 문자열에서, 상기 판단 대상 문자열을 구성하는 적어도 하나의 부분 문자열이 출현하는 출현 빈도에 기초하여 문자열 빈도 데이터를 생성하는 단계; 상기 복수의 사용자 식별 문자열 각각에 대응되는 패턴 문자열에서, 패턴 문자열을 구성하는 적어도 하나의 부분 패턴 문자열의 출현 빈도에 기초하여 패턴 문자열 빈도 데이터를 생성하는 단계로써, 상기 패턴 문자열은 상기 판단 대상 문자열에 포함된 각 문자의 종류에 기초하여 상기 판단 대상 문자열로부터 생성되는 문자열이고; 상기 판단 대상 문자열이 소정의 지정 조건을 만족하는지 여부를 포함하는 지정 조건 판단 데이터를 생성하는 단계; 및 상기 문자열 빈도 데이터, 상기 패턴 문자열 빈도 데이터 및 상기 지정 조건 판단 데이터에 기초하여 상기 판단 대상 문자열의 무작위 생성 여부를 결정하는 단계;를 포함할 수 있다.A method of determining whether a user identification character string to be determined according to an embodiment of the present invention is randomly generated is based on the frequency of occurrence of at least one substring constituting the determination target character string in a plurality of user identification character strings. Generating character string frequency data based on; In the pattern string corresponding to each of the plurality of user identification strings, generating pattern string frequency data based on the frequency of appearance of at least one partial pattern string constituting the pattern string, wherein the pattern string is in the determination target string A character string generated from the determination target character string based on the type of each included character; Generating designation condition determination data including whether the determination object character string satisfies a predetermined designation condition; And determining whether the character string to be determined is randomly generated based on the character string frequency data, the pattern character string frequency data, and the designation condition determination data.
상기 판단 대상 문자열의 무작위 생성 여부를 결정하는 단계는 인공 신경망을 이용하여, 상기 문자열 빈도 데이터, 상기 패턴 문자열 빈도 데이터 및 상기 지정 조건 판단 데이터로부터 상기 판단 대상 문자열의 무작위 생성 여부를 결정할 수 있다. 이때 상기 인공 신경망은 사용자 식별 문자열이 무작위로 생성되었는지 여부가 표지(Label)된 적어도 하나의 학습 데이터에 기반하여, 상기 학습 데이터에 포함되는 문자열 빈도 데이터, 패턴 문자열 빈도 데이터 및 지정 조건 판단 데이터와 상기 무작위로 생성되었는지 여부간의 상관관계를 학습한 신경망일 수 있다.In determining whether to generate the character string to be determined randomly, it may be determined whether or not to generate the character string to be determined randomly from the character string frequency data, the pattern character string frequency data, and the designation condition determination data using an artificial neural network. In this case, the artificial neural network includes character string frequency data, pattern character string frequency data, and designation condition determination data included in the training data, based on at least one learning data labeled whether or not a user identification character string is randomly generated. It may be a neural network that has learned the correlation between whether it is randomly generated or not.
상기 문자열 빈도 데이터는 상기 판단 대상 문자열의 적어도 일부이고, N(N은 자연수)개의 연속하는 문자를 포함하는 하나 이상의 제1 부분 문자열 각각이, 복수의 사용자 식별 문자열에 포함되어있는 빈도를 포함하는 제1 빈도 데이터 및 상기 판단 대상 문자열의 적어도 일부이고, M(M은 자연수)개의 연속하는 문자를 포함하는 하나 이상의 제2 부분 문자열 각각이, 상기 복수의 사용자 식별 문자열에 포함되어있는 빈도를 포함하는 제2 빈도 데이터를 포함할 수 있다.The character string frequency data is at least a part of the character string to be determined, and a first substring including at least one first substring including N (N is a natural number) consecutive characters is a first including a frequency included in a plurality of user identification character strings. 1 frequency data and at least a part of the character string to be determined, each of one or more second substrings including M (M is a natural number) consecutive characters, a first including a frequency included in the plurality of user
상기 패턴 문자열 빈도 데이터는 상기 패턴 문자열의 적어도 일부이고, K(K는 자연수)개의 연속하는 문자를 포함하는 하나 이상의 제3 부분 문자열 각각이, 상기 복수의 사용자 식별 문자열 각각에 대응되는 패턴 문자열에 포함되어있는 빈도를 포함하는 제3 빈도 데이터 및 상기 패턴 문자열의 적어도 일부이고, L(L은 자연수)개의 연속하는 문자를 포함하는 하나 이상의 제4 부분 문자열 각각이, 상기 복수의 사용자 식별 문자열 각각에 대응되는 패턴 문자열에 포함되어있는 빈도를 포함하는 제4 빈도 데이터를 포함할 수 있다.The pattern string frequency data is at least a part of the pattern string, and each of one or more third substrings including K (K is a natural number) consecutive characters is included in the pattern string corresponding to each of the plurality of user identification strings. Each of the third frequency data including the frequency and at least a part of the pattern character string, each of the at least one fourth substring including L (L is a natural number) consecutive characters, corresponds to each of the plurality of user identification character strings The fourth frequency data including the frequency included in the pattern string to be used may be included.
본 발명의 일 실시예에 따른 판단 대상 사용자 식별 문자열이 무작위로 생성되었는지 여부를 판단하는 방법은 상기 문자열 빈도 데이터를 생성하는 단계 이전에, 상기 복수의 사용자 식별 문자열에서의 복수의 부분 문자열 각각의 출현 빈도를 누적하여 문자열 빈도 데이터베이스를 생성하는 단계;를 더 포함할 수 있다.A method of determining whether a user identification string to be determined according to an embodiment of the present invention is randomly generated is, prior to the step of generating the string frequency data, the appearance of each of a plurality of substrings in the plurality of user identification strings. It may further include a step of generating a string frequency database by accumulating frequencies.
상기 문자열 빈도 데이터를 생성하는 단계는, 상기 문자열 빈도 데이터베이스에서 상기 판단 대상 문자열을 구성하는 적어도 하나의 부분 문자열 각각의 출현 빈도를 확인하는 단계; 상기 부분 문자열 각각의 출현 빈도에 기초하여 상기 판단 대상 문자열의 엔트로피를 산출하는 단계; 및 상기 부분 문자열 각각의 출현 빈도 및 상기 엔트로피를 포함하는 상기 문자열 빈도 데이터를 생성하는 단계;를 포함할 수 있다.The generating of the character string frequency data may include: checking an appearance frequency of each of at least one substring constituting the determination target character string in the character string frequency database; Calculating an entropy of the character string to be determined based on the frequency of occurrence of each of the sub character strings; And generating the character string frequency data including the frequency of occurrence and the entropy of each of the substrings.
본 발명의 일 실시예에 따른 판단 대상 사용자 식별 문자열이 무작위로 생성되었는지 여부를 판단하는 장치에 있어서, 상기 장치는 제어부를 포함하고, 상기 제어부는 복수의 사용자 식별 문자열에서, 상기 판단 대상 문자열을 구성하는 적어도 하나의 부분 문자열이 출현하는 출현 빈도에 기초하여 문자열 빈도 데이터를 생성하고, 상기 복수의 사용자 식별 문자열 각각에 대응되는 패턴 문자열에서, 패턴 문자열을 구성하는 적어도 하나의 부분 패턴 문자열의 출현 빈도에 기초하여 패턴 문자열 빈도 데이터를 생성하고, 상기 판단 대상 문자열이 소정의 지정 조건을 만족하는지 여부를 포함하는 지정 조건 판단 데이터를 생성하고, 상기 문자열 빈도 데이터, 상기 패턴 문자열 빈도 데이터 및 상기 지정 조건 판단 데이터에 기초하여 상기 판단 대상 문자열의 무작위 생성 여부를 결정하고, 상기 패턴 문자열은 상기 판단 대상 문자열에 포함된 각 문자의 종류에 기초하여 상기 문자열로부터 생성되는 문자열일 수 있다.In the apparatus for determining whether a user identification character string to be determined according to an embodiment of the present invention is randomly generated, the apparatus includes a control unit, and the control unit configures the determination target character string from a plurality of user identification character strings. Character string frequency data is generated based on the frequency of occurrence of at least one sub-string of the pattern string, and in the pattern string corresponding to each of the plurality of user identification strings, the frequency of occurrence of at least one sub-pattern string constituting the pattern string is determined. Generates pattern string frequency data based on, and generates designation condition determination data including whether the determination target character string satisfies a predetermined designation condition, and generates the character string frequency data, the pattern character string frequency data, and the designation condition determination data It is determined whether or not the determination target character string is randomly generated based on, and the pattern character string may be a character string generated from the character string based on the type of each character included in the determination target character string.
본 발명에 따르면, 사용자 계정과 같은 사용자 식별 문자열이 컴퓨터와 같은 정보 처리 장치에 의해 무작위로 생성되었는지 여부를 정확하게 결정할 수 있고, 나아가 무작위로 생성된 사용자 식별 문자열을 이용한 다양한 불법적인 행위를 효과적으로 차단할 수 있다.According to the present invention, it is possible to accurately determine whether or not a user identification string such as a user account is randomly generated by an information processing device such as a computer, and furthermore, various illegal actions using the randomly generated user identification string can be effectively blocked. have.
또한 무작위로 생성되지 않았을 확률이 특별히 높은 사용자 식별 문자열을 사전에 필터링 함으로써 보다 높은 정확도로 사용자 식별 문자열의 무작위 생성 여부를 결정할 수 있다.In addition, it is possible to determine whether to randomly generate a user identification string with higher accuracy by filtering in advance a user identification string with a particularly high probability that it was not randomly generated.
도 1은 본 발명의 일 실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2 는 본 발명의 일 실시예에 있어서 사용자 단말(100) 및 서버(200)의 내부 구성을 설명하기 위한 블록도이다.
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 인공 신경망을 설명하기 위한 도면이다.
도 4a 는 본 발명의 일 실시예에 따른 프로세서(212)가 문자열 빈도 데이터베이스(620)를 생성하는 과정을 설명하기 위한 도면이다.
도 4b 는 본 발명의 일 실시예에 따른 프로세서(212)가 패턴 문자열 빈도 데이터베이스(640)를 생성하는 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 프로세서(212)가 판단 대상 사용자 식별 문자열(510)로부터 인공 신경망에 입력하기 위한 특징 데이터(560)를 생성하는 과정을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 프로세서(212)가 문자열(510-1) 'inwoo_roo_'로부터 인공 신경망에 입력하기 위한 특징 데이터(560-1)를 생성하는 과정을 예시적으로 설명하기 위한 도면이다.
도 7은 서버(200)가 학습된 인공 신경망을 이용하여 문자열의 무작위 생성 여부 판단 방법을 설명하기 위한 흐름도이다.1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention.
2 is a block diagram for explaining the internal configuration of the
3A and 3B are diagrams for explaining an artificial neural network according to an embodiment of the present invention.
4A is a diagram illustrating a process of generating a character
4B is a diagram illustrating a process of generating a pattern
FIG. 5 is a diagram illustrating a process of generating
6 is an exemplary diagram illustrating a process of generating feature data 560-1 for input to an artificial neural network from a character string 510-1'inwoo_roo_' by the
7 is a flowchart illustrating a method of determining whether a character string is randomly generated by using a learned artificial neural network by the
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이러한 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 본 명세서에 기재되어 있는 특정 형상, 구조 및 특성은 본 발명의 정신과 범위를 벗어나지 않으면서 일 실시예로부터 다른 실시예로 변경되어 구현될 수 있다. 또한, 각각의 실시예 내의 개별 구성요소의 위치 또는 배치도 본 발명의 정신과 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 행하여지는 것이 아니며, 본 발명의 범위는 특허청구범위의 청구항들이 청구하는 범위 및 그와 균등한 모든 범위를 포괄하는 것으로 받아들여져야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 구성요소를 나타낸다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The detailed description of the present invention described below refers to the accompanying drawings, which illustrate specific embodiments in which the present invention may be practiced. These embodiments are described in detail sufficient to enable a person skilled in the art to practice the present invention. It should be understood that the various embodiments of the present invention are different from each other, but need not be mutually exclusive. For example, specific shapes, structures, and characteristics described in the present specification may be changed and implemented from one embodiment to another without departing from the spirit and scope of the present invention. In addition, it should be understood that the position or arrangement of individual elements in each embodiment may be changed without departing from the spirit and scope of the present invention. Accordingly, the detailed description to be described below is not made in a limiting sense, and the scope of the present invention should be taken as encompassing the scope claimed by the claims of the claims and all scopes equivalent thereto. Like reference numerals in the drawings indicate the same or similar elements over several aspects.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 여러 실시예에 관하여 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to enable those of ordinary skill in the art to easily implement the present invention.
도 1은 본 발명의 일 실시예에 따른 네트워크 환경의 예를 도시한 도면이다.1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention.
도 1의 네트워크 환경은 복수의 사용자 단말들(101, 102, 103, 104), 서버(200) 및 네트워크(300)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 사용자 단말의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다.The network environment of FIG. 1 shows an example including a plurality of
복수의 사용자 단말들(101, 102, 103, 104)은 사용자의 조작에 따라 무작위로 생성되었는지 여부를 판단하고자 하는 사용자 식별 문자열을 서버(200)에 전송하고, 서버(200)로부터 해당 사용자 식별 문자열의 무작위 생성 여부를 수신할 수 있다.The plurality of
본 발명에서 '사용자 식별 문자열'은 복수의 사용자를 식별하기 위해 사용되는 적어도 하나 이상의 문자로 이루어진 문자의 조합을 의미할 수 있다. 이와 같은 사용자 식별 문자열은 서비스 이용을 위한 회원 가입 과정에서, 사용자 입력하여 서버(200)로 전송한 것 일 수 있다. 가령 성명이 '홍길동'인 사용자는, 'gildong_03'과 같이 영문자, 특수문자 및 숫자를 포함하는 사용자 식별 문자열을 입력하여 서버(200)로 전송할 수 있다.In the present invention, the'user identification string' may mean a combination of characters including at least one character used to identify a plurality of users. Such a user identification string may be a user input and transmitted to the
한편 본 발명에서 사용자 식별 문자열이 '무작위로 생성'되는 것은, 다양한 종류의 정보처리장치가 임의의(또는 랜덤의) 문자들의 조합 및/또는 임의의 문자들의 순서로 사용자 식별 문자열을 생성하는 것을 의미할 수 있다. 예를 들어 'rk1-3q0n'와 같은 사용자 식별 문자열은 정보처리장치가 임의의 문자들의 조합 및/또는 순서로 생성한 사용자 식별 문자열 일 수 있다. Meanwhile, in the present invention, when a user identification string is'randomly generated', it means that various types of information processing apparatuses generate a user identification string in an arbitrary (or random) combination of characters and/or in an order of arbitrary characters. can do. For example, a user identification string such as'rk1-3q0n' may be a user identification string generated by the information processing apparatus in an arbitrary combination and/or order of characters.
복수의 사용자 단말들(101, 102, 103, 104)은 컴퓨터 장치로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 복수의 사용자 단말들(101, 102, 103, 104)의 예를 들면, 스마트폰, 휴대폰, 네비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 테블릿 PC 등이 있다. The plurality of
복수의 사용자 단말들(101, 102, 103, 104)은 무선 또는 유선 통신 방식을 이용하여 네트워크(300)를 통해 복수의 사용자 단말들(101, 102, 103, 104) 상호간에 및/또는 서버(200)와 통신할 수 있다.The plurality of
한편 복수의 사용자 단말들(101, 102, 103, 104)의 통신 방식은 제한되지 않으며, 네트워크(300)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. Meanwhile, the communication method of the plurality of
예를 들어, 네트워크(300)는 PAN(Personal Area Network), LAN(Local Area Network), CAN(Campus Area Network), MAN(Metropolitan Area Network), WAN(Wide Area Network), BBN(Broad Band Network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. For example, the
또한, 네트워크(300)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(Hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.In addition, the
이하에서는 설명의 편의를 위하여 복수의 사용자 단말들(101, 102, 103, 104)을 사용자 단말(100)로 명명하여 설명한다.Hereinafter, for convenience of description, a plurality of
서버(200)는 사용자 식별 문자열이 무작위로 생성되었는지 여부를 판단할 수 있다. 이때 서버(200)는 전술한 사용자 단말(100)로부터 판단 대상 사용자 식별 문자열을 수신하여 해당 문자열에 대한 판단을 수행할 수도 있고, 메모리로부터 독출된 사용자 식별 문자열 및/또는 외부장치로부터 수신한 사용자 식별 문자열의 무작위 생성 여부를 판단할 수도 있다. 또한 서버(200)는 서비스의 관리자인 사용자의 사용자 단말(100)로부터 확인하고자 하는 사용자 식별 문자열을 수신하거나, 사용자 식별 문자열을 메모리로부터 독출하는 명령을 수신하여 해당 사용자 식별 문자열의 무작위 생성 여부를 판단할 수도 있다.The
일 예시에서, 서버(200)는 사용자 식별 문자열이 무작위로 생성되었는지 여부를 판단하는 서비스를 제공하는 장치일 수 있다. In one example, the
다른 예시에서, 서버(200)는 사용자 식별 문자열의 판단과 별개의 서비스를 제공하는 장치로, 사용자의 회원가입 절차 등에서 사용자 식별 문자열이 무작위로 생성되었는지 여부를 판단하는 장치일 수도 있다. 가령 서버(200)는 웹툰과 같은 웹 콘텐츠를 제공하는 장치로, 서비스를 이용하기 위한 회원 가입 과정 또는 소정의 확인과정에서, 사용자가 입력한 사용자 식별 문자열이 무작위로 생성되었는지 여부를 판단하는 장치일 수 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다.In another example, the
이와 같은 서버(200)는 네트워크(300)를 통하여 사용자 단말(100)에 명령, 코드, 파일, 콘텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다.Such a
도 2 는 본 발명의 일 실시예에 있어서 사용자 단말(100) 및 서버(200)의 내부 구성을 설명하기 위한 블록도이다.2 is a block diagram for explaining the internal configuration of the
사용자 단말(100)과 서버(200)는 메모리(111, 211), 프로세서(112, 212), 통신 모듈(113, 213) 그리고 입출력 인터페이스(114, 214)를 포함할 수 있다.The
메모리(111, 211)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(Random Access Memory), ROM(Read Only Memory) 및 디스크 드라이브와 같은 비소명성 대용량 기록장치(Permanent Mass Storage Device)를 포함할 수 있다. The
또한, 메모리(111, 211)에는 운영체제, 적어도 하나의 프로그램 코드, 학습된 신경망 및 문자열 빈도 데이터베이스 등이 저장될 수 있다. 학습된 신경망에 문자열 빈도 데이터베이스에 대한 상세한 설명은 후술한다.In addition, the
이러한 소프트웨어 구성요소들은 드라이브 메커니즘(Drive Mechanism)을 이용하여 메모리(111, 211)와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체를 포함할 수 있다. These software components may be loaded from a computer-readable recording medium separate from the
다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 통신 모듈(113, 213)을 통해 메모리(111, 211)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템(일례로 상술한 서버(200))이 네트워크(300)를 통해 제공하는 파일들에 의해 설치되는 프로그램에 기반하여 메모리(111, 211)에 로딩될 수 있다.In another embodiment, software components may be loaded into the
프로세서(112, 212)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(111, 211) 또는 통신 모듈(113, 213)에 의해 프로세서(112, 212)로 제공될 수 있다. 예를 들어 프로세서(112, 212)는 메모리(111, 211)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.The
통신 모듈(113, 213)은 네트워크(300)를 통해 사용자 단말(100)과 서버(200)가 서로 통신하기 위한 기능을 제공할 수 있으며, 다른 사용자 단말(미도시) 또는 다른 서버(미도시)와 통신하기 위한 기능을 제공할 수 있다. 일례로, 사용자 단말(100)의 프로세서(112)가 메모리(111)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이 통신 모듈(113)의 제어에 따라 네트워크(300)를 통해 서버(200)로 전달될 수 있다. 역으로, 서버(200) 프로세서(212)의 제어에 따라 제공되는 제어 신호나 명령, 콘텐츠, 파일 등이 통신 모듈(213)과 네트워크(300)를 거쳐 사용자 단말(100)의 통신 모듈(113)을 통해 사용자 단말(100)로 수신될 수 있다. The
입출력 인터페이스(114, 214)는 입출력 장치(115)와의 인터페이스를 위한 수단일 수 있다. 이때 입력 장치는 예를 들어 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 이미지를 표시하기 위한 디스플레이와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(114, 214)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다.The input/
또한, 다른 실시예들에서 사용자 단말(100) 및 서버(200)는 도 2 의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 사용자 단말(100)은 상술한 입출력 장치(115) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(Transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.In addition, in other embodiments, the
본 발명의 일 실시예에 따른 서버(200)의 프로세서(212)는 인공 신경망을 이용하여 사용자 식별 문자열이 무작위로 생성되었는지 여부를 판단할 수 있다.The
본 발명에서 '인공 신경망'은 사용자 식별 문자열이 무작위로 생성되었는지 여부가 표지(Label)된 적어도 하나의 학습 데이터에 기반하여 학습된 것으로, 입력된 사용자 식별 문자열이 무작위로 생성되었는지 여부에 대응되는 결과를 출력하도록 학습된 신경망일 수 있다. 이때 학습 데이터에는 문자열 빈도 데이터, 패턴 문자열 빈도 데이터 및 지정 조건 판단 데이터가 특징값으로 포함되어 인공 신경망에 입력될 수 있다.In the present invention, the'artificial neural network' is learned based on at least one learning data labeled whether or not the user identification string is randomly generated, and a result corresponding to whether the input user identification string is randomly generated. It may be a neural network that has been trained to output. In this case, the training data may include character string frequency data, pattern character string frequency data, and designation condition determination data as feature values and input to the artificial neural network.
따라서 인공 신경망은 복수의 사용자 식별 문자열에 대한 문자열 빈도 데이터, 패턴 문자열 빈도 데이터 및 지정 조건 판단 데이터와 사용자 식별 문자열이 무작위로 생성되었는지 여부간의 상관관계를 학습한 신경망일 수 있다. 이와 같은 인공 신경망은 머신 러닝(Machine Learning) 또는 딥러닝(Deep Learning) 기법에 의해 학습된 것 일 수 있다.Accordingly, the artificial neural network may be a neural network that learns a correlation between string frequency data, pattern string frequency data, and designation condition determination data for a plurality of user identification strings, and whether a user identification string is randomly generated. Such an artificial neural network may be learned by machine learning or deep learning.
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 인공 신경망을 설명하기 위한 도면이다.3A and 3B are diagrams for explaining an artificial neural network according to an embodiment of the present invention.
본 발명의 일 실시예에서, 인공 신경망(400A)은 도 3a에 도시된 바와 같이 하나 이상의 인공 신경망(NN 1, NN 2, NN 3)을 포함할 수 있다. In an embodiment of the present invention, the artificial
인공 신경망(400A)은 하나 이상의 인공 신경망(NN 1, NN 2, NN 3) 각각에 특징 데이터(560)를 입력하고, 하나 이상의 인공 신경망(NN 1, NN 2, NN 3)각각의 출력을 소정의 방식(예를 들어 출력값의 평균)으로 처리하여 최종 결과(570)를 결정할 수 있다. The artificial
이때 하나 이상의 인공 신경망(NN 1, NN 2, NN 3)은 서로 다른 모델(Model)에 대응되는 신경망 일 수도 있다. 예를 들어 NN 1은 SVM(Support Vector Machine) 모델에 따른 신경망이고, NN 2는 kNN(k-Nearest Neighbors) 모델에 따른 신경망이고, NN 3은 선형 회기 모델에 따른 신경망일 수 있다. At this time, one or more artificial neural networks (
다만 이와 같은 신경망의 구성 및 종류는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아다. 따라서 학습 데이터를 이용하여 학습이 가능하고, 학습 결과에 기초하여 입력 특징에 대한 출력 결과를 생성하는 신경망이라면 하나 이상의 인공 신경망(NN 1, NN 2, NN 3)으로 제한 없이 사용될 수 있다.However, the configuration and type of such a neural network are exemplary, and the spirit of the present invention is not limited thereto. Therefore, if it is possible to learn using the training data, and a neural network that generates an output result for an input feature based on the training result, one or more artificial neural networks (
본 발명의 다른 실시예에서, 인공 신경망(400B)은 도 3b에 도시된 바와 같이 하나의 인공 신경망(NN)을 포함할 수도 있다. 이러한 경우 인공 신경망(400B)은 하나의 인공 신경망(NN)에 특징 데이터(560)를 입력하고, 인공 신경망(NN)의 출력을 최종 결과(570)로 사용할 수 있다. 이때 하나의 인공 신경망(NN)은 도 3a에서 설명한 다양한 종류의 인공 신경망 중 어느 하나일 수 있다.In another embodiment of the present invention, the artificial
본 발명의 일 실시예에 따른 프로세서(212)는 복수의 사용자 식별 문자열에서의 복수의 부분 문자열 각각의 출현 빈도를 누적하여 문자열 빈도 데이터베이스를 생성할 수 있다. 또한 이와 유사하게, 본 발명의 일 실시예에 따른 프로세서(212)는 복수의 사용자 식별 문자열 각각에 대응되는 패턴 문자열에서 복수의 부분 패턴 문자열 각각의 출현 빈도를 누적하여 패턴 문자열 빈도 데이터베이스를 생성할 수 있다.The
도 4a 는 본 발명의 일 실시예에 따른 프로세서(212)가 문자열 빈도 데이터베이스(620)를 생성하는 과정을 설명하기 위한 도면이다. 도 4b 는 본 발명의 일 실시예에 따른 프로세서(212)가 패턴 문자열 빈도 데이터베이스(640)를 생성하는 과정을 설명하기 위한 도면이다. 4A is a diagram illustrating a process of generating a character
본 발명에서 '사용자 식별 문자열'은 전술한 바와 같이 사용자를 식별하기 위해 사용되는 적어도 하나 이상의 문자로 이루어진 문자들의 조합을 의미하는 것일 수 있다.In the present invention, the'user identification string' may mean a combination of characters consisting of at least one character used to identify a user as described above.
한편 본 발명에서 '부분 문자열'은 원본 문자열의 연속하는 일 부분만을 포함하는 문자열을 의미할 수 있다. 가령 'inwoo_roo_'와 같은 사용자 식별 문자열에 대한 부분 문자열은 'inw', 'nwo', inwo', 'o_roo_', 'nwoo_roo'일 수 있다. 이때 각 부분 문자열이 포함하는 문자의 수는 부분 문자열 생성 조건에 따라 달라질 수 있다. 또한 하나의 원본 문자열로부터 생성되는 부분 문자열들의 적어도 일부분은 중첩될 수 있다. 가령 전술한 예시에서, 부분 문자열 'inw'와 'nwo'는 'nw'가 중첩되는 것일 수 있다.Meanwhile, in the present invention, the'substring' may mean a character string including only one continuous part of the original character string. For example, a substring for a user identification string such as'inwoo_roo_' may be'inw','nwo', inwo','o_roo_', and'nwoo_roo'. In this case, the number of characters included in each substring may vary according to the substring generation condition. Also, at least some of the substrings generated from one original string may overlap. For example, in the above example, the substrings'inw' and'nwo' may overlap with'nw'.
본 발명에서 '부분 문자열의 출현 빈도'는 판단의 풀(Pool)이 되는 하나 이상의 문자열에서, 각각의 부분 문자열이 몇 번 포함되는지를 의미하는 것 일 수 있다. 가령 판단의 풀이 되는 문자열이 'inwoo_roo_'와 같은 하나의 사용자 식별 문자열만 포함하는 경우, 부분문자열 'inw'는 1회, 부분문자열 'now'는 1회, 부분문자열 'woo'는 1회, 부분문자열 'oo_'는 2회, 그리고 부분문자열 'o_r'은 1회 출현되는 것일 수 있다. 이때 판단의 풀이 되는 하나 이상의 문자열은 상술한 예시에서와 같이 하나의 문자열을 포함할 수도 있고, 복수의 문자열을 포함할 수도 있다. In the present invention, the'frequency of occurrence of substrings' may mean how many times each substring is included in one or more character strings that become a pool of judgment. For example, if the string used for judgment contains only one user identification string such as'inwoo_roo_', the substring'inw' is once, the substring'now' is once, the substring'woo' is once, and the partial The string'oo_' may appear twice, and the substring'o_r' may appear once. At this time, the one or more character strings used as a pool of determination may include one character string or a plurality of character strings, as in the above-described example.
본 발명의 일 실시예에 따른 프로세서(212)는 복수의 사용자 식별 문자열(이때 복수의 사용자 식별 문자열은 무작위로 생성되지 않는 것으로 판단되는 하나 이상의 문자열들임)(610) 각각을 부분 문자열로 분할하고, 분할된 부분 문자열들의 포함 횟수(또는 출현 횟수)를 누적하여 문자열 빈도 데이터베이스(620)를 생성할 수 있다. 가령 프로세서(212)는 복수의 사용자 식별 문자열(610)에서 부분 문자열인 'ang'가 출현되는 횟수를 누적하여 빈도 데이터베이스(620)에 'ang'를 74749회 출현으로 저장할 수 있다.The
본 발명에서 사용자 식별 문자열에 대응되는 '패턴 문자열'은 사용자 식별 문자열을 구성하는 각 문자의 종류에 기초하여 사용자 식별 문자열을 패턴화 한 문자열을 의미할 수 있다. 본 발명의 일 실시예에 따른 프로세서(212)는 사용자 식별 문자열에 포함되는 제1 문자가 제1 종류의 문자인 경우, 패턴 문자열의 제1 문자의 위치와 대응되는 위치의 문자를 제1 종류에 대응되는 문자로 결정하는 방식으로 생성할 수 있다.In the present invention, the'pattern string' corresponding to the user identification string may mean a string in which the user identification string is patterned based on the type of each character constituting the user identification string. In the case where the first character included in the user identification character string is a character of the first type, the
가령, 알파벳을 '0', 숫자를 '1', 특수문자를 '2'로 패턴화 하는 경우, 프로세서(212)는 'inwoo_roo_'와 같은 사용자 식별 문자열로부터 '0000020002'와 같은 패턴 문자열을 생성할 수 있다.For example, in the case of patterning an alphabet as '0', a number as '1', and a special character as '2', the
본 발명의 일 실시예에 따른 프로세서(212)는 복수의 사용자 식별 문자열(610) 각각에 대응되는 패턴 문자열(630)을 생성할 수 있다. 또한 본 발명의 일 실시예에 따른 프로세서(212)는 생성된 복수의 패턴 문자열(630) 각각을 부분 패턴 문자열로 분할하고, 부분 패턴 문자열들의 포함 횟수(또는 출현 횟수)를 누적하여 패턴 문자열 빈도 데이터베이스(640)를 생성할 수 있다. 가령 프로세서(212)는 복수의 패턴 문자열(630)에서 부분 패턴 문자열인 '000'이 출현되는 횟수를 누적하여 빈도 데이터베이스(640)에 '000'을 235649회 출현으로 저장할 수 있다. The
이하에서는 인공 신경망이 도 3a 및 도 3b에서 설명한 구조 중 어느 하나의 구조를 가지며, 전술한 학습 데이터(사용자 식별 문자열에 대한 문자열 빈도 데이터, 사용자 식별 문자열에 대한 패턴 문자열 빈도 데이터 및 사용자 식별 문자열에 대한 지정 조건 판단 데이터를 특징값으로 포함하고, 사용자 식별 문자열이 무작위로 생성되었는지 여부가 표지(Label)된 데이터)에 기초하여 학습되어있음을 전제로 설명한다. 또한 문자열 빈도 데이터베이스(620) 및 패턴 문자열 빈도 데이터베이스(640)가 도 4a 및 도 4b에서 설명한 과정에 따라 생성되어 있음을 전제로, 판단 대상 사용자 식별 문자열이 무작위로 생성되었는지 여부를 판단하는 내용을 중심으로 설명한다.Hereinafter, the artificial neural network has one of the structures described in FIGS. 3A and 3B, and the above-described training data (string frequency data for a user identification string, pattern string frequency data for a user identification string, and a user identification string) It is assumed that designation condition determination data is included as a feature value, and whether or not a user identification character string is randomly generated is learned based on labeled data). In addition, on the premise that the character
도 5는 본 발명의 일 실시예에 따른 프로세서(212)가 판단 대상 사용자 식별 문자열(510)로부터 특징 데이터(560)를 생성하는 과정을 설명하기 위한 도면이다. 도 6은 본 발명의 일 실시예에 따른 프로세서(212)가 문자열(510-1) 'inwoo_roo_'로부터 특징 데이터(560-1)를 생성하는 과정을 예시적으로 설명하기 위한 도면이다. 이하에서는 도 5 및 도 6을 함께 참조하여 설명한다. 한편 생성된 특징 데이터(560, 560-1)는 판단 대상 사용자 식별 문자열(510, 510-1)의 무작위 생성 여부를 판단하는 근거로써 사용될 수 있다. 이에 대한 상세한 설명은 후술한다.5 is a diagram illustrating a process of generating
본 발명의 일 실시예에 따른 프로세서(212)는 판단 대상 문자열(510, 510-1)을 구성하는 적어도 하나의 부분 문자열 각각이 복수의 사용자 식별 문자열에 출현하는 출현 빈도에 기초하여 문자열 빈도 데이터(520, 520-1)를 생성할 수 있다. The
이때 본 발명의 일 실시예에 따른 프로세서(212)는 두 가지 이상의 길이의 부분 문자열을 이용하여 문자열 빈도 데이터(520, 520-1)를 생성할 수 있다. 가령 프로세서(212)는 N개(N은 자연수, 예를 들어 3)의 연속하는 문자를 포함하는 하나 이상의 제1 부분 문자열 각각이 복수의 사용자 식별 문자열에 포함되어있는 빈도를 포함하는 제1 빈도 데이터를 생성할 수 있다. In this case, the
또한 프로세서(212)는 M개(M은 자연수로 N과 상이한 수, 예를 들어 4)의 연속하는 문자를 포함하는 하나 이상의 제2 부분 문자열 각각이 복수의 사용자 식별 문자열에 포함되어있는 빈도를 포함하는 제2 빈도 데이터를 생성할 수 있다. 이때 프로세서(212)는 도 4a에서 설명한 문자열 빈도 데이터베이스(620)를 참조하여, 각 부분 문자열의 빈도를 결정할 수 있다.In addition, the
보다 구체적으로, 프로세서(212)는 문자열 빈도 데이터베이스(620)에서 판단 대상 문자열(510, 510-1)을 구성하는 적어도 하나의 부분 문자열 각각의 출현 빈도를 확인할 수 있다. 가령 프로세서(212)가 3개의 연속하는 문자를 포함하는 제1 부분 문자열에 대한 제1 빈도 데이터를 생성하는 경우, 프로세서(212)는 문자열 빈도 데이터베이스(620)에서 판단 대상 문자열(510-1)인 'inwoo_roo_'의 부분 문자열인 'woo', 'oo_', 'inw', 'roo' 등의 출현 빈도를 확인할 수 있다.More specifically, the
프로세서(212)는 확인된 부분 문자열 각각의 출현 빈도에 기초하여 수학식에 1 따라 판단 대상 문자열(510, 510-1)의 엔트로피를 산출할 수 있다.The
이때 n은 판단 대상 문자열(510, 510-1)에 대한 소정의 길이를 갖는(예를 들어 3개의 문자로 이루어진) 부분 문자열의 총 개수이고, pi는 문자열 빈도 데이터베이스(620)에서 확인된 i번째 부분 문자열의 출현 빈도를 의미할 수 있다. 엔트로피 H는 판단 대상 문자열(510, 510-1)이 무작위로 생성될 가능성에 비례하여 높은 수치로 산출될 수 있다.At this time, n is the total number of substrings having a predetermined length (for example, consisting of 3 characters) with respect to the character strings to be determined (510, 510-1), and pi is the i-th identified in the character
프로세서(212)는 상술한 과정에 의해서 확인된 부분 문자열 각각의 출현 빈도 및 산출된 엔트로피 H를 포함하는 문자열 빈도 데이터(520, 520-1)를 생성할 수 있다. 생성된 문자열 빈도 데이터(520, 520-1)는 판단 대상 문자열(510, 510-1)의 무작위 생성 여부를 결정하는 근거로써 사용될 수 있다. 가령 생성된 문자열 빈도 데이터(520, 520-1)는 인공 신경망에 입력하기 위한 특징 데이터(560, 560-1)의 생성에 사용될 수 있다.The
한편 프로세서(212)는 상술한 문자열 빈도 데이터(520, 520-1)를 부분 문자열의 종류 별로 생성할 수 있다. 가령 프로세서(212)는 N개의 연속하는 문자를 포함하는 하나 이상의 제1 부분 문자열 각각이 복수의 사용자 식별 문자열에 포함되어있는 빈도를 포함하는 제1 빈도 데이터를 생성하고, 이와 별개로 M개의 연속하는 문자를 포함하는 하나 이상의 제2 부분 문자열 각각이 복수의 사용자 식별 문자열에 포함되어있는 빈도를 포함하는 제2 빈도 데이터를 생성할 수 있다. Meanwhile, the
본 발명의 다른 실시예에서, 상술한 빈도 데이터(520, 520-1)에는 더 많은 종류의 부분 문자열의 빈도 데이터가 포함될 수도 있고, 더 적은 종류의 빈도 데이터를 포함될 수도 있다. 예를 들어, 빈도 데이터(520, 520-1)는 하나의 종류의 부분 문자열(즉 N개의 연속하는 문자를 포함하는 부분 문자열)에 대한 빈도 데이터 만을 포함할 수도 있고, 세 종류 또는 다섯 종류의 부분 문자열에 대한 빈도 데이터를 포함할 수도 있다. 다만 이는 예시적인 것으로, 빈도 데이터(520, 520-1)에 포함 되는 부분 문자열 빈도 데이터의 종류의 수는 이에 한정되는 것이 아니다.In another embodiment of the present invention, the
문자열 빈도 데이터(520, 520-1)를 생성하는 과정과 유사하게, 본 발명의 일 실시예에 따른 프로세서(212)는 복수의 사용자 식별 문자열 각각에 대응되는 패턴 문자열에서, 패턴 문자열(530, 530-1)을 구성하는 적어도 하나의 부분 패턴 문자열의 출현 빈도에 기초하여 패턴 문자열 빈도 데이터(540, 540-1)를 생성할 수 있다. 이때 패턴 문자열(530, 530-1)은 판단 대상 문자열(510, 510-1)로부터 생성된 문자열일 수 있다.Similar to the process of generating the character
본 발명의 일 실시예에 따른 프로세서(212)는 두 가지 이상의 길이의 부분 패턴 문자열을 이용하여 문자열 빈도 데이터(540, 540-1)를 생성할 수 있다. 가령 프로세서(212)는 K개(K는 자연수, 예를 들어 3)의 연속하는 문자를 포함하는 하나 이상의 제3 부분 문자열 각각이, 복수의 사용자 식별 문자열 각각에 대응되는 패턴 문자열에 포함되어있는 빈도를 포함하는 제3 빈도 데이터를 생성할 수 있다. The
또한 프로세서(212)는 L개(L은 자연수로 K와 상이한 수, 예를 들어 4)의 연속하는 문자를 포함하는 하나 이상의 제4 부분 문자열 각각이, 복수의 사용자 식별 문자열 각각에 대응되는 패턴 문자열에 포함되어있는 빈도를 포함하는 제4 빈도 데이터를 생성할 수 있다. 이때 프로세서(212)는 도 4b에서 설명한 패턴 문자열 빈도 데이터베이스(640)를 참조하여, 각 부분 패턴 문자열의 빈도를 결정할 수 있다.In addition, the
보다 구체적으로, 프로세서(212)는 패턴 문자열 빈도 데이터베이스(640)에서 패턴 문자열(530, 530-1)을 구성하는 적어도 하나의 부분 패턴 문자열 각각의 출현 빈도를 확인할 수 있다. 가령 프로세서(212)가 3개의 연속하는 문자를 포함하는 제3 부분 문자열에 대한 제3 빈도 데이터를 생성하는 경우, 프로세서(212)는 패턴 문자열 빈도 데이터베이스(640)에서 패턴 문자열(530, 530-1)인 '0000020002'의 부분 문자열인 '000', '002', '200' 등의 출현 빈도를 확인할 수 있다.More specifically, the
또한 프로세서(212)는 확인된 부분 패턴 문자열 각각의 출현 빈도에 기초하여 상술한 수학식에 1 따라 패턴 문자열(530, 530-1)의 엔트로피를 산출할 수 있다.In addition, the
프로세서(212)는 상술한 과정에 의해서 확인된 패턴 부분 문자열 각각의 출현 빈도 및 산출된 엔트로피 H를 포함하는 문자열 빈도 데이터(540, 540-1)를 생성할 수 있다. 생성된 문자열 빈도 데이터(540, 540-1)는 판단 대상 문자열(510, 510-1)의 무작위 생성 여부를 결정하는 근거로써 사용될 수 있다. 가령 생성된 문자열 빈도 데이터(540, 540-1)는 인공 신경망에 입력하기 위한 특징 데이터(560, 560-1)의 생성에 사용될 수 있다.The
한편 프로세서(212)는 상술한 패턴 문자열 빈도 데이터(540, 540-1)를 부분 패턴 문자열의 종류(즉 길이) 별로 생성할 수 있으며, 이에 대한 상세한 설명은 판단 대상 문자열(510, 510-1)로부터 문자열 빈도 데이터(520, 520-1)를 생성하는 과정과 동일하므로 생략한다. Meanwhile, the
본 발명의 일 실시예에 따른 프로세서(212)는 판단 대상 문자열(510, 510-1)이 소정의 지정 조건을 만족하는지 여부를 포함하는 지정 조건 판단 데이터(550, 550-1)를 생성할 수 있다.The
가령 프로세서(212)는 판단 대상 문자열(510, 510-1)에 특정 종류의 문자가 소정의 조건을 만족하도록 포함(가령 판단 대상 문자열(510, 510-1)의 맨 앞 또는 맨 뒤에 숫자가 위치하는 조건을 만족하도록 포함)되어있는지를 판단하고, 해당 조건을 만족하는 경우 사용자에 의해 생성된 것임을 나타내는 판단 데이터를 생성할 수 있다.For example, the
또한 프로세서(212)는 판단 대상 문자열(510, 510-1)에서 동일한 부분 문자열이 2번 이상 반복되는지를 판단하고, 해당 조건을 만족하는 경우 사용자에 의해 생성된 것임을 나타내는 판단 데이터를 생성할 수 있다.In addition, the
또한 프로세서(212)는 판단 대상 문자열(510, 510-1)이 문자열 빈도 데이터베이스(620)에서 빈도 수가 소정의 임계 빈도 이상인 부분 문자열을 포함하는지 여부를 판단하고, 포함하는 경우 사용자에 의해 생성된 것임을 나타내는 판단 데이터를 생성할 수 있다.In addition, the
또한 프로세서(212)는 판단 대상 문자열(510, 510-1)을 소정의 규칙에 따라 구분한 문자집합에 포함되는 문자의 수의 최대값이, 판단 대상 문자열(510, 510-1)에 포함되는 전체 문자의 수의 절반 이하인지를 판단하고, 절반 이하인 경우 사용자에 의해 생성된 것 임을 나타내는 판단 데이터를 생성할 수 있다.In addition, the
그 외에 프로세서(212)는 판단 대상 문자열(510, 510-1)에 포함되는 전체 문자의 수, 판단 대상 문자열(510, 510-1)에 서로 다른 특수문자가 둘 이상 포함되어 있는지 여부 등에 기초하여 지정 조건 판단 데이터(550, 550-1)를 생성할 수 있다. 생성된 지정 조건 판단 데이터(550, 550-1)는 전술한 특징 데이터들과 마찬가지로, 판단 대상 문자열(510, 510-1)의 무작위 생성 여부를 결정하는 근거로써 사용될 수 있다. 가령 생성된 지정 조건 판단 데이터(550, 550-1)는 인공 신경망에 입력하기 위한 특징 데이터(560, 560-1)의 생성에 사용될 수 있다.In addition, the
본 발명의 일 실시예에 따른 프로세서(212)는 판단 대상 문자열(510, 510-1)이 하나 이상의 지정 조건을 모두 만족하는 경우, 판단 대상 문자열(510, 510-1)이 무작위로 생성되지 않은 것으로 결정할 수 있다. 이러한 경우 프로세서(212)는 판단 대상 문자열(510, 510-1)에 대해 후술하는 무작위 생성 여부를 판단하는 과정을 생략할 수 있다.
이와 같이 본 발명은 무작위로 생성되지 않았을 확률이 특별히 높은 사용자 식별 문자열을 사전에 필터링 함으로써 보다 높은 정확도로 사용자 식별 문자열의 무작위 생성 여부를 결정할 수 있다.As described above, the present invention can determine whether to generate a user identification string randomly with higher accuracy by filtering in advance a user identification string having a particularly high probability that it is not randomly generated.
본 발명의 일 실시예에 따른 프로세서(212)는 상술한 과정에 의해 생성된 문자열 빈도 데이터(520, 520-1), 패턴 문자열 빈도 데이터(540, 540-1) 및 지정 조건 판단 데이터(550, 550-1)에 기초하여, 판단 대상 문자열(510, 510-1)의 무작위 생성 여부를 결정할 수 있다. The
가령 프로세서(212)는 후술하는 바와 같이 학습된 인공 신경망을 이용하여 판단 대상 문자열(510, 510-1)의 무작위 생성 여부를 결정할 수도 있고, 소정의 분류기(Classifier)를 이용하여 판단 대상 문자열(510, 510-1)의 무작위 생성 여부를 결정할 수도 있다. 다만 이는 예시적인 것으로, 입력된 특징 데이터에 대해서 무작위 생성 여부를 출력하는 수단이라면 판단 대상 문자열(510, 510-1)의 무작위 생성 여부를 결정하는데 제한 없이 사용될 수 있다.For example, the
이하에서는 설명의 편의를 위하여, 프로세서(212)가 학습된 신경망을 이용하여 판단 대상 문자열(510, 510-1)의 무작위 생성 여부를 결정하는 예시를 중심으로 설명한다.Hereinafter, for convenience of explanation, an example in which the
본 발명의 일 실시예에 따른 프로세서(212)는 상술한 과정에 의해 생성된 문자열 빈도 데이터(520, 520-1), 패턴 문자열 빈도 데이터(540, 540-1) 및 지정 조건 판단 데이터(550, 550-1)로부터 인공 신경망에 입력하기 위한 특징 데이터(560, 560-1)를 생성할 수 있다.The
이때 프로세서(212)는 다양한 방식으로 특징 데이터(560, 560-1)를 생성할 수 있다. 가령 프로세서(212)는 문자열 빈도 데이터(520, 520-1), 패턴 문자열 빈도 데이터(540, 540-1) 및 지정 조건 판단 데이터(550, 550-1) 각각을 성분으로 하는 벡터(Vector)를 생성하는 방식으로 특징 데이터(560, 560-1)를 생성할 수 있다. 다만 이는 예시적인 것으로, 특징 데이터(560, 560-1)의 구체적인 생성 방식은 인공 신경망의 구조 및/또는 종류에 따라 달라질 수 있다.In this case, the
본 발명의 일 실시예에 따른 프로세서(212)는 인공신경망을 이용하여 특징 데이터(560, 560-1)로부터 판단 대상 문자열(510, 510-1)의 무작위 생성 여부를 결정할 수 있다.The
전술한 바와 같이 인공 신경망은 문자열 빈도 데이터(520, 520-1), 패턴 문자열 빈도 데이터(540, 540-1) 및 지정 조건 판단 데이터(550, 550-1)와 사용자 식별 문자열이 무작위로 생성되었는지 여부간의 상관관계를 학습한 신경망일 수 있다.As described above, the artificial neural network determines whether character string frequency data (520, 520-1), pattern string frequency data (540, 540-1), designation condition determination data (550, 550-1), and user identification character strings are randomly generated. It may be a neural network that has learned the correlation between whether or not.
따라서 인공 신경망에 문자열 빈도 데이터(520, 520-1), 패턴 문자열 빈도 데이터(540, 540-1) 및 지정 조건 판단 데이터(550, 550-1)를 포함하는 특징 데이터(560, 560-1)를 입력하면, 인공 신경망은 입력에 대한 응답으로 판단 대상 문자열(510, 510-1)이 무작위로 생성되었는지 여부를 출력할 수 있다.Therefore, feature data (560, 560-1) including character string frequency data (520, 520-1), pattern string frequency data (540, 540-1), and designated condition determination data (550, 550-1) in the artificial neural network When is input, the artificial neural network may output whether or not the
본 발명의 일 실시예에서, 인공 신경망은 벡터의 형태로 판단 대상 문자열(510, 510-1)이 무작위로 생성되었는지 여부를 출력할 수 있다. 가령 인공 신경망은 {0.82156, 0.17844}와 같은 형태로 판단 대상 문자열(510, 510-1)의 무작위 생성 여부를 출력할 수 있다. 이때 벡터의 첫 번째 성분은 판단 대상 문자열(510, 510-1)이 무작위로 생성되지 않았을 확률을 의미하고, 벡터의 두 번째 성분은 판단 대상 문자열(510, 510-1)이 무작위로 생성되었을 확률을 의미할 수 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다.In an embodiment of the present invention, the artificial neural network may output whether or not the
선택적 실시예에서, 인공 신경망에 입력되는 특징 데이터(560, 560-1)는 문자열 빈도 데이터(520, 520-1), 패턴 문자열 빈도 데이터(540, 540-1) 및 지정 조건 판단 데이터(550, 550-1) 중 일부만을 포함할 수 있다. 가령 특징 데이터(560, 560-1)는 문자열 빈도 데이터(520, 520-1)만 포함할 수 있고, 문자열 빈도 데이터(520, 520-1) 및 패턴 문자열 빈도 데이터(540, 540-1)만 포함할 수도 있고, 문자열 빈도 데이터(520, 520-1) 및 지정 조건 판단 데이터(550, 550-1)만 포함할 수도 있다. 물론 이러한 경우 인공 신경망은 각각의 특징 데이터에 적합한 형태로 미리 학습될 수 있다.In an optional embodiment, the
이로써 본원 발명은 사용자 식별 문자열이 무작위로 생성되었는지 여부를 보다 정확하게 판단할 수 있고, 나아가 무작위로 생성된 사용자 식별 문자열을 이용한 다양한 불법적인 행위를 효과적으로 차단할 수 있다.Accordingly, the present invention can more accurately determine whether or not the user identification character string is randomly generated, and furthermore, it is possible to effectively block various illegal actions using the randomly generated user identification character string.
도 7은 서버(200)가 학습된 인공 신경망을 이용하여 문자열의 무작위 생성 여부 판단 방법을 설명하기 위한 흐름도이다. 이하에서는 도 1 내지 도 6을 함께 참조하여 설명하되, 도 1 내지 도 6에서 설명한 내용과 중복되는 내용의 설명은 생략한다.7 is a flowchart illustrating a method of determining whether a character string is randomly generated by using a learned artificial neural network by the
본 발명의 일 실시예에 따른 서버(200)는 복수의 사용자 식별 문자열에서의 복수의 부분 문자열 각각의 출현 빈도를 누적하여 문자열 빈도 데이터베이스를 생성할 수 있다. 또한 서버(200)는 복수의 사용자 식별 문자열 각각에 대응되는 패턴 문자열에서 복수의 부분 패턴 문자열 각각의 출현 빈도를 누적하여 패턴 문자열 빈도 데이터베이스를 생성할 수 있다.(S71)The
본 발명에서 '사용자 식별 문자열'은 전술한 바와 같이 사용자를 식별하기 위해 사용되는 적어도 하나 이상의 문자로 이루어진 문자들의 조합을 의미하는 것일 수 있다.In the present invention, the'user identification string' may mean a combination of characters consisting of at least one character used to identify a user as described above.
한편 본 발명에서 '부분 문자열'은 원본 문자열의 연속하는 일 부분만을 포함하는 문자열을 의미할 수 있다. 가령 'inwoo_roo_'와 같은 사용자 식별 문자열에 대한 부분 문자열은 'inw', 'nwo', inwo', 'o_roo_', 'nwoo_roo'일 수 있다. 이때 각 부분 문자열이 포함하는 문자의 수는 부분 문자열 생성 조건에 따라 달라질 수 있다. 또한 하나의 원본 문자열로부터 생성되는 부분 문자열들의 적어도 일부분은 중첩될 수 있다. 가령 전술한 예시에서, 부분 문자열 'inw'와 'nwo'는 'nw'가 중첩되는 것일 수 있다.Meanwhile, in the present invention, the'substring' may mean a character string including only one continuous part of the original character string. For example, a substring for a user identification string such as'inwoo_roo_' may be'inw','nwo', inwo','o_roo_', and'nwoo_roo'. In this case, the number of characters included in each substring may vary according to the substring generation condition. Also, at least some of the substrings generated from one original string may overlap. For example, in the above example, the substrings'inw' and'nwo' may overlap with'nw'.
본 발명에서 '부분 문자열의 출현 빈도'는 판단의 풀(Pool)이 되는 하나 이상의 문자열에서, 각각의 부분 문자열이 몇 번 포함되는지를 의미하는 것 일 수 있다. 가령 판단의 풀이 되는 문자열이 'inwoo_roo_'와 같은 하나의 사용자 식별 문자열만 포함하는 경우, 부분문자열 'inw'는 1회, 부분문자열 'now'는 1회, 부분문자열 'woo'는 1회, 부분문자열 'oo_'는 2회, 그리고 부분문자열 'o_r'은 1회 출현되는 것일 수 있다. 이때 판단의 풀이 되는 하나 이상의 문자열은 상술한 예시에서와 같이 하나의 문자열을 포함할 수도 있고, 복수의 문자열을 포함할 수도 있다. In the present invention, the'frequency of occurrence of substrings' may mean how many times each substring is included in one or more character strings that become a pool of judgment. For example, if the string used for judgment contains only one user identification string such as'inwoo_roo_', the substring'inw' is once, the substring'now' is once, the substring'woo' is once, and the partial The string'oo_' may appear twice, and the substring'o_r' may appear once. At this time, the one or more character strings used as a pool of determination may include one character string or a plurality of character strings, as in the above-described example.
본 발명의 일 실시예에 따른 서버(200)는 복수의 사용자 식별 문자열(이때 복수의 사용자 식별 문자열은 무작위로 생성되지 않는 것으로 판단되는 하나 이상의 문자열들임)(610) 각각을 부분 문자열로 분할하고, 분할된 부분 문자열들의 포함 횟수(또는 출현 횟수)를 누적하여 문자열 빈도 데이터베이스(620)를 생성할 수 있다. 가령 서버(200)는 복수의 사용자 식별 문자열(610)에서 부분 문자열인 'ang'가 출현되는 횟수를 누적하여 빈도 데이터베이스(620)에 'ang'를 74749회 출현으로 저장할 수 있다.The
본 발명에서 사용자 식별 문자열에 대응되는 '패턴 문자열'은 사용자 식별 문자열을 구성하는 각 문자의 종류에 기초하여 사용자 식별 문자열을 패턴화 한 문자열을 의미할 수 있다. 본 발명의 일 실시예에 따른 서버(200)는 사용자 식별 문자열에 포함되는 제1 문자가 제1 종류의 문자인 경우, 패턴 문자열의 제1 문자의 위치와 대응되는 위치의 문자를 제1 종류에 대응되는 문자로 결정하는 방식으로 생성할 수 있다.In the present invention, the'pattern string' corresponding to the user identification string may mean a string in which the user identification string is patterned based on the type of each character constituting the user identification string. When the first character included in the user identification character string is a character of the first type, the
가령, 알파벳을 '0', 숫자를 '1', 특수문자를 '2'로 패턴화 하는 경우, 서버(200)는 'inwoo_roo_'와 같은 사용자 식별 문자열로부터 '0000020002'와 같은 패턴 문자열을 생성할 수 있다.For example, in the case of patterning an alphabet as '0', a number as '1', and a special character as '2', the
본 발명의 일 실시예에 따른 서버(200)는 복수의 사용자 식별 문자열(610) 각각에 대응되는 패턴 문자열(630)을 생성할 수 있다. 또한 본 발명의 일 실시예에 따른 서버(200)는 생성된 복수의 패턴 문자열(630) 각각을 부분 패턴 문자열로 분할하고, 부분 패턴 문자열들의 포함 횟수(또는 출현 횟수)를 누적하여 패턴 문자열 빈도 데이터베이스(640)를 생성할 수 있다. 가령 서버(200)는 복수의 패턴 문자열(630)에서 부분 패턴 문자열인 '000'이 출현되는 횟수를 누적하여 빈도 데이터베이스(640)에 '000'을 235649회 출현으로 저장할 수 있다. The
본 발명의 일 실시예에 따른 서버(200)는 복수의 학습 데이터에 기초하여 사용자 식별 문자열이 무작위로 생성되었는지 여부를 판단하는 인공 신경망을 학습시킬 수 있다.(S72)The
본 발명에서 '인공 신경망'은 사용자 식별 문자열이 무작위로 생성되었는지 여부가 표지(Label)된 적어도 하나의 학습 데이터에 기반하여 학습된 것으로, 입력된 사용자 식별 문자열이 무작위로 생성되었는지 여부에 대응되는 결과를 출력하도록 학습된 신경망일 수 있다. 이때 학습 데이터에는 문자열 빈도 데이터, 패턴 문자열 빈도 데이터 및 지정 조건 판단 데이터가 특징값으로 포함되어 인공 신경망에 입력될 수 있다.In the present invention, the'artificial neural network' is learned based on at least one learning data labeled whether or not the user identification string is randomly generated, and a result corresponding to whether the input user identification string is randomly generated. It may be a neural network that has been trained to output. In this case, the training data may include character string frequency data, pattern character string frequency data, and designation condition determination data as feature values and input to the artificial neural network.
따라서 인공 신경망은 복수의 사용자 식별 문자열에 대한 문자열 빈도 데이터, 패턴 문자열 빈도 데이터 및 지정 조건 판단 데이터와 사용자 식별 문자열이 무작위로 생성되었는지 여부간의 상관관계를 학습한 신경망일 수 있다. 이와 같은 인공 신경망은 머신 러닝(Machine Learning) 또는 딥러닝(Deep Learning) 기법에 의해 학습된 것 일 수 있다.Accordingly, the artificial neural network may be a neural network that learns a correlation between string frequency data, pattern string frequency data, and designation condition determination data for a plurality of user identification strings, and whether a user identification string is randomly generated. Such an artificial neural network may be learned by machine learning or deep learning.
본 발명의 일 실시예에서, 인공 신경망(400A)은 도 3a에 도시된 바와 같이 하나 이상의 인공 신경망(NN 1, NN 2, NN 3)을 포함할 수 있다. In an embodiment of the present invention, the artificial
인공 신경망(400A)은 하나 이상의 인공 신경망(NN 1, NN 2, NN 3) 각각에 특징 데이터(560)를 입력하고, 하나 이상의 인공 신경망(NN 1, NN 2, NN 3)각각의 출력을 소정의 방식(예를 들어 출력값의 평균)으로 처리하여 최종 결과(570)를 결정할 수 있다. The artificial
이때 하나 이상의 인공 신경망(NN 1, NN 2, NN 3)은 서로 다른 모델(Model)에 대응되는 신경망 일 수도 있다. 예를 들어 NN 1은 SVM(Support Vector Machine) 모델에 따른 신경망이고, NN 2는 kNN(k-Nearest Neighbors) 모델에 따른 신경망이고, NN 3은 선형 회기 모델에 따른 신경망일 수 있다. At this time, one or more artificial neural networks (
다만 이와 같은 신경망의 구성 및 종류는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아다. 따라서 학습 데이터를 이용하여 학습이 가능하고, 학습 결과에 기초하여 입력 특징에 대한 출력 결과를 생성하는 신경망이라면 하나 이상의 인공 신경망(NN 1, NN 2, NN 3)으로 제한 없이 사용될 수 있다.However, the configuration and type of such a neural network are exemplary, and the spirit of the present invention is not limited thereto. Therefore, if it is possible to learn using the training data, and a neural network that generates an output result for an input feature based on the training result, one or more artificial neural networks (
본 발명의 다른 실시예에서, 인공 신경망(400B)은 도 3b에 도시된 바와 같이 하나의 인공 신경망(NN)을 포함할 수도 있다. 이러한 경우 인공 신경망(400B)은 하나의 인공 신경망(NN)에 특징 데이터(560)를 입력하고, 인공 신경망(NN)의 출력을 최종 결과(570)로 사용할 수 있다. 이때 하나의 인공 신경망(NN)은 도 3a에서 설명한 다양한 종류의 인공 신경망 중 어느 하나일 수 있다.In another embodiment of the present invention, the artificial
본 발명의 일 실시예에 따른 서버(200)는 판단 대상 문자열(510, 510-1)을 구성하는 적어도 하나의 부분 문자열 각각이 복수의 사용자 식별 문자열에 출현하는 출현 빈도에 기초하여 문자열 빈도 데이터(520, 520-1)를 생성할 수 있다.(S73)The
이때 본 발명의 일 실시예에 따른 서버(200)는 두 가지 이상의 길이의 부분 문자열을 이용하여 문자열 빈도 데이터(520, 520-1)를 생성할 수 있다. 가령 서버(200)는 N개(N은 자연수, 예를 들어 3)의 연속하는 문자를 포함하는 하나 이상의 제1 부분 문자열 각각이 복수의 사용자 식별 문자열에 포함되어있는 빈도를 포함하는 제1 빈도 데이터를 생성할 수 있다. In this case, the
또한 서버(200)는 M개(M은 자연수로 N과 상이한 수, 예를 들어 4)의 연속하는 문자를 포함하는 하나 이상의 제2 부분 문자열 각각이 복수의 사용자 식별 문자열에 포함되어있는 빈도를 포함하는 제2 빈도 데이터를 생성할 수 있다. 이때 서버(200)는 도 4a에서 설명한 문자열 빈도 데이터베이스(620)를 참조하여, 각 부분 문자열의 빈도를 결정할 수 있다.In addition, the
보다 구체적으로, 서버(200)는 문자열 빈도 데이터베이스(620)에서 판단 대상 문자열(510, 510-1)을 구성하는 적어도 하나의 부분 문자열 각각의 출현 빈도를 확인할 수 있다. 가령 서버(200)가 3개의 연속하는 문자를 포함하는 제1 부분 문자열에 대한 제1 빈도 데이터를 생성하는 경우, 서버(200)는 문자열 빈도 데이터베이스(620)에서 판단 대상 문자열(510-1)인 'inwoo_roo_'의 부분 문자열인 'woo', 'oo_', 'inw', 'roo' 등의 출현 빈도를 확인할 수 있다.More specifically, the
서버(200)는 확인된 부분 문자열 각각의 출현 빈도에 기초하여 수학식에 2 따라 판단 대상 문자열(510, 510-1)의 엔트로피를 산출할 수 있다.The
이때 n은 판단 대상 문자열(510, 510-1)에 대한 소정의 길이를 갖는(예를 들어 3개의 문자로 이루어진) 부분 문자열의 총 개수이고, pi는 문자열 빈도 데이터베이스(620)에서 확인된 i번째 부분 문자열의 출현 빈도를 의미할 수 있다. 엔트로피 H는 판단 대상 문자열(510, 510-1)이 무작위로 생성될 가능성에 비례하여 높은 수치로 산출될 수 있다.At this time, n is the total number of substrings having a predetermined length (for example, consisting of 3 characters) with respect to the character strings to be determined (510, 510-1), and pi is the i-th identified in the character
서버(200)는 상술한 과정에 의해서 확인된 부분 문자열 각각의 출현 빈도 및 산출된 엔트로피 H를 포함하는 문자열 빈도 데이터(520, 520-1)를 생성할 수 있다. 생성된 문자열 빈도 데이터(520, 520-1)는 인공 신경망에 입력하기 위한 특징 데이터(560, 560-1)의 생성에 사용될 수 있다.The
한편 서버(200)는 상술한 문자열 빈도 데이터(520, 520-1)를 부분 문자열의 종류 별로 생성할 수 있다. 가령 서버(200)는 N개의 연속하는 문자를 포함하는 하나 이상의 제1 부분 문자열 각각이 복수의 사용자 식별 문자열에 포함되어있는 빈도를 포함하는 제1 빈도 데이터를 생성하고, 이와 별개로 M개의 연속하는 문자를 포함하는 하나 이상의 제2 부분 문자열 각각이 복수의 사용자 식별 문자열에 포함되어있는 빈도를 포함하는 제2 빈도 데이터를 생성할 수 있다. 부분 문자열의 종류 별로 생성된 빈도 데이터는 인공 신경망에 서로 구별되는 특징 데이터로써 입력될 수 있다.Meanwhile, the
본 발명의 일 실시예에 따른 서버(200)는 복수의 사용자 식별 문자열 각각에 대응되는 패턴 문자열에서, 패턴 문자열(530, 530-1)을 구성하는 적어도 하나의 부분 패턴 문자열의 출현 빈도에 기초하여 패턴 문자열 빈도 데이터(540, 540-1)를 생성할 수 있다.(S77) 이때 패턴 문자열(530, 530-1)은 판단 대상 문자열(510, 510-1)로부터 생성된 문자열일 수 있다.The
본 발명의 일 실시예에 따른 서버(200)는 두 가지 이상의 길이의 부분 패턴 문자열을 이용하여 문자열 빈도 데이터(540, 540-1)를 생성할 수 있다. 가령 서버(200)는 K개(K는 자연수, 예를 들어 3)의 연속하는 문자를 포함하는 하나 이상의 제3 부분 문자열 각각이, 복수의 사용자 식별 문자열 각각에 대응되는 패턴 문자열에 포함되어있는 빈도를 포함하는 제3 빈도 데이터를 생성할 수 있다. The
또한 서버(200)는 L개(L은 자연수로 K와 상이한 수, 예를 들어 4)의 연속하는 문자를 포함하는 하나 이상의 제4 부분 문자열 각각이, 복수의 사용자 식별 문자열 각각에 대응되는 패턴 문자열에 포함되어있는 빈도를 포함하는 제4 빈도 데이터를 생성할 수 있다. 이때 서버(200)는 도 4b에서 설명한 패턴 문자열 빈도 데이터베이스(640)를 참조하여, 각 부분 패턴 문자열의 빈도를 결정할 수 있다.In addition, the
보다 구체적으로, 서버(200)는 패턴 문자열 빈도 데이터베이스(640)에서 패턴 문자열(530, 530-1)을 구성하는 적어도 하나의 부분 패턴 문자열 각각의 출현 빈도를 확인할 수 있다. 가령 서버(200)가 3개의 연속하는 문자를 포함하는 제3 부분 문자열에 대한 제3 빈도 데이터를 생성하는 경우, 서버(200)는 패턴 문자열 빈도 데이터베이스(640)에서 패턴 문자열(530, 530-1)인 '0000020002'의 부분 문자열인 '000', '002', '200' 등의 출현 빈도를 확인할 수 있다.More specifically, the
또한 서버(200)는 확인된 부분 패턴 문자열 각각의 출현 빈도에 기초하여 상술한 수학식에 1 따라 패턴 문자열(530, 530-1)의 엔트로피를 산출할 수 있다.In addition, the
서버(200)는 상술한 과정에 의해서 확인된 패턴 부분 문자열 각각의 출현 빈도 및 산출된 엔트로피 H를 포함하는 문자열 빈도 데이터(540, 540-1)를 생성할 수 있다. 생성된 문자열 빈도 데이터(540, 540-1)는 인공 신경망에 입력하기 위한 특징 데이터(560, 560-1)의 생성에 사용될 수 있다.The
한편 서버(200)는 상술한 패턴 문자열 빈도 데이터(540, 540-1)를 부분 패턴 문자열의 종류(즉 길이) 별로 생성할 수 있으며, 이에 대한 상세한 설명은 판단 대상 문자열(510, 510-1)로부터 문자열 빈도 데이터(520, 520-1)를 생성하는 과정과 동일하므로 생략한다. 부분 패턴 문자열의 종류 별로 생성된 빈도 데이터도 인공 신경망에 서로 구별되는 특징 데이터로써 입력될 수 있다.Meanwhile, the
본 발명의 일 실시예에 따른 서버(200)는 판단 대상 문자열(510, 510-1)이 소정의 지정 조건을 만족하는지 여부를 포함하는 지정 조건 판단 데이터(550, 550-1)를 생성할 수 있다.(S75)The
가령 서버(200)는 판단 대상 문자열(510, 510-1)에 특정 종류의 문자가 소정의 조건을 만족하도록 포함(가령 판단 대상 문자열(510, 510-1)의 맨 앞 또는 맨 뒤에 숫자가 위치하는 조건을 만족하도록 포함)되어있는지를 판단하고, 해당 조건을 만족하는 경우 사용자에 의해 생성된 것임을 나타내는 판단 데이터를 생성할 수 있다.For example, the
또한 서버(200)는 판단 대상 문자열(510, 510-1)에서 동일한 부분 문자열이 2번 이상 반복되는지를 판단하고, 해당 조건을 만족하는 경우 사용자에 의해 생성된 것임을 나타내는 판단 데이터를 생성할 수 있다.In addition, the
또한 서버(200)는 판단 대상 문자열(510, 510-1)이 문자열 빈도 데이터베이스(620)에서 빈도 수가 소정의 임계 빈도 이상인 부분 문자열을 포함하는지 여부를 판단하고, 포함하는 경우 사용자에 의해 생성된 것임을 나타내는 판단 데이터를 생성할 수 있다.In addition, the
또한 서버(200)는 판단 대상 문자열(510, 510-1)을 소정의 규칙에 따라 구분한 문자집합에 포함되는 문자의 수의 최대값이, 판단 대상 문자열(510, 510-1)에 포함되는 전체 문자의 수의 절반 이하인지를 판단하고, 절반 이하인 경우 사용자에 의해 생성된 것 임을 나타내는 판단 데이터를 생성할 수 있다.In addition, the
그 외에 서버(200)는 판단 대상 문자열(510, 510-1)에 포함되는 전체 문자의 수, 판단 대상 문자열(510, 510-1)에 서로 다른 특수문자가 둘 이상 포함되어 있는지 여부 등에 기초하여 지정 조건 판단 데이터(550, 550-1)를 생성할 수 있다. 생성된 지정 조건 판단 데이터(550, 550-1) 는 인공 신경망에 입력하기 위한 특징 데이터(560, 560-1)의 생성에 사용될 수 있다.In addition, the
본 발명의 일 실시예에 따른 서버(200)는 판단 대상 문자열(510, 510-1)이 하나 이상의 지정 조건을 모두 만족하는 경우, 판단 대상 문자열(510, 510-1)이 무작위로 생성되지 않은 것으로 결정할 수 있다. 이러한 경우 서버(200)는 판단 대상 문자열(510, 510-1)에 대해 후술하는 인공 신경망에 의한 판단을 생략할 수 있다.
본원발명은 무작위로 생성되지 않았을 확률이 특별히 높은 사용자 식별 문자열을 사전에 필터링 함으로써 보다 높은 정확도로 사용자 식별 문자열의 무작위 생성 여부를 결정할 수 있다.In the present invention, it is possible to determine whether or not to generate a user identification character string with higher accuracy by filtering in advance a user identification character string having a particularly high probability that it is not generated randomly.
본 발명의 일 실시예에 따른 서버(200)는 상술한 과정에 의해 생성된 문자열 빈도 데이터(520, 520-1), 패턴 문자열 빈도 데이터(540, 540-1) 및 지정 조건 판단 데이터(550, 550-1)로부터 인공 신경망에 입력하기 위한 특징 데이터(560, 560-1)를 생성할 수 있다.The
이때 서버(200)는 다양한 방식으로 특징 데이터(560, 560-1)를 생성할 수 있다. 가령 서버(200)는 문자열 빈도 데이터(520, 520-1), 패턴 문자열 빈도 데이터(540, 540-1) 및 지정 조건 판단 데이터(550, 550-1) 각각을 성분으로 하는 벡터(Vector)를 생성하는 방식으로 특징 데이터(560, 560-1)를 생성할 수 있다. 다만 이는 예시적인 것으로, 특징 데이터(560, 560-1)의 구체적인 생성 방식은 인공 신경망의 구조 및/또는 종류에 따라 달라질 수 있다.In this case, the
본 발명의 일 실시예에 따른 서버(200)는 인공신경망을 이용하여 특징 데이터(560, 560-1)로부터 판단 대상 문자열(510, 510-1)의 무작위 생성 여부를 결정할 수 있다.(S76)The
전술한 바와 같이 인공 신경망은 문자열 빈도 데이터(520, 520-1), 패턴 문자열 빈도 데이터(540, 540-1) 및 지정 조건 판단 데이터(550, 550-1)와 사용자 식별 문자열이 무작위로 생성되었는지 여부간의 상관관계를 학습한 신경망일 수 있다.As described above, the artificial neural network determines whether character string frequency data (520, 520-1), pattern string frequency data (540, 540-1), designation condition determination data (550, 550-1), and user identification character strings are randomly generated. It may be a neural network that has learned the correlation between whether or not.
따라서 인공 신경망에 문자열 빈도 데이터(520, 520-1), 패턴 문자열 빈도 데이터(540, 540-1) 및 지정 조건 판단 데이터(550, 550-1)를 포함하는 특징 데이터(560, 560-1)를 입력하면, 인공 신경망은 입력에 대한 응답으로 판단 대상 문자열(510, 510-1)이 무작위로 생성되었는지 여부를 출력할 수 있다.Therefore, feature data (560, 560-1) including character string frequency data (520, 520-1), pattern string frequency data (540, 540-1), and designated condition determination data (550, 550-1) in the artificial neural network When is input, the artificial neural network may output whether or not the
본 발명의 일 실시예에서, 인공 신경망은 벡터의 형태로 판단 대상 문자열(510, 510-1)이 무작위로 생성되었는지 여부를 출력할 수 있다. 가령 인공 신경망은 {0.82156, 0.17844}와 같은 형태로 판단 대상 문자열(510, 510-1)의 무작위 생성 여부를 출력할 수 있다. 이때 벡터의 첫 번째 성분은 판단 대상 문자열(510, 510-1)이 무작위로 생성되지 않았을 확률을 의미하고, 벡터의 두 번째 성분은 판단 대상 문자열(510, 510-1)이 무작위로 생성되었을 확률을 의미할 수 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다.In an embodiment of the present invention, the artificial neural network may output whether or not the
선택적 실시예에서, 인공 신경망에 입력되는 특징 데이터(560, 560-1)는 문자열 빈도 데이터(520, 520-1), 패턴 문자열 빈도 데이터(540, 540-1) 및 지정 조건 판단 데이터(550, 550-1) 중 일부만을 포함할 수 있다. 가령 특징 데이터(560, 560-1)는 문자열 빈도 데이터(520, 520-1)만 포함할 수 있고, 문자열 빈도 데이터(520, 520-1) 및 패턴 문자열 빈도 데이터(540, 540-1)만 포함할 수도 있고, 문자열 빈도 데이터(520, 520-1) 및 지정 조건 판단 데이터(550, 550-1)만 포함할 수도 있다. 물론 이러한 경우 인공 신경망은 각각의 특징 데이터에 적합한 형태로 미리 학습될 수 있다.In an optional embodiment, the
이로써 본원 발명은 사용자 식별 문자열이 무작위로 생성되었는지 여부를 보다 정확하게 판단할 수 있고, 나아가 무작위로 생성된 사용자 식별 문자열을 이용한 다양한 불법적인 행위를 효과적으로 차단할 수 있다.Accordingly, the present invention can more accurately determine whether or not the user identification character string is randomly generated, and furthermore, it is possible to effectively block various illegal actions using the randomly generated user identification character string.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the devices and components described in the embodiments are, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA). , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, such as one or more general purpose computers or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. Further, the processing device may access, store, manipulate, process, and generate data in response to the execution of software. For the convenience of understanding, although it is sometimes described that one processing device is used, one of ordinary skill in the art, the processing device is a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as a parallel processor.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to operate as desired or processed independently or collectively. You can command the device. Software and/or data may be interpreted by a processing device or, to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodyed in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operation of the embodiment, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described by the limited embodiments and drawings as described above, various modifications and variations can be made from the above description to those of ordinary skill in the art. For example, the described techniques are performed in a different order from the described method, and/or components such as systems, structures, devices, circuits, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and those equivalent to the claims also fall within the scope of the claims to be described later.
100: 사용자 단말
101, 102, 103, 104: 사용자 단말
111: 메모리
112: 프로세서
113: 통신 모듈
114: 입출력 인터페이스
115: 입출력 장치
200: 서버
211: 메모리
212: 프로세서
213: 통신 모듈
214: 입출력 인터페이스
300: 네트워크100: user terminal
101, 102, 103, 104: user terminal
111: memory
112: processor
113: communication module
114: input/output interface
115: input/output device
200: server
211: memory
212: processor
213: communication module
214: input/output interface
300: network
Claims (17)
상기 문자열의 적어도 일부이고, N(N은 자연수)개의 연속하는 문자를 포함하는 하나 이상의 제1 부분 문자열 각각이, 복수의 사용자 식별 문자열에 포함되어있는 빈도를 포함하는 제1 빈도 데이터를 생성하는 단계; 및
상기 제1 빈도 데이터에 기초하여 상기 사용자 식별 문자열의 무작위 생성 여부를 결정하는 단계;를 포함하는, 문자열의 무작위 생성 여부 판단 방법.In a method of determining whether a user identification string is randomly generated,
Generating first frequency data including frequencies in which at least a part of the string and each of one or more first substrings including N (N is a natural number) consecutive characters are included in a plurality of user identification strings ; And
Determining whether to randomly generate the user identification character string based on the first frequency data.
상기 문자열의 무작위 생성 여부 판단 방법은
상기 문자열의 적어도 일부이고, M(M은 자연수)개의 연속하는 문자를 포함하는 하나 이상의 제2 부분 문자열 각각이, 상기 복수의 사용자 식별 문자열에 포함되어있는 빈도를 포함하는 제2 빈도 데이터를 생성하는 단계;를 더 포함하고,
상기 사용자 식별 문자열의 무작위 생성 여부를 결정하는 단계는
상기 제1 빈도 데이터 및 상기 제2 빈도 데이터에 기초하여 상기 사용자 식별 문자열의 무작위 생성 여부를 결정하는, 문자열의 무작위 생성 여부 판단 방법.The method according to claim 1,
How to determine whether the string is randomly generated
At least a part of the character string, each of one or more second substrings including M (M is a natural number) consecutive characters, generating second frequency data including frequencies included in the plurality of user identification character strings Step; further includes,
The step of determining whether to randomly generate the user identification string
A method of determining whether to randomly generate a character string based on the first frequency data and the second frequency data.
상기 사용자 식별 문자열의 무작위 생성 여부를 결정하는 단계는
인공 신경망을 이용하여, 상기 제1 빈도 데이터 및 상기 제2 빈도 데이터로부터 상기 문자열의 무작위 생성 여부를 결정하고,
상기 인공 신경망은 상기 문자열이 무작위로 생성되었는지 여부가 표지(Label)된 적어도 하나의 학습 데이터에 기반하여, 상기 학습 데이터에 포함되는 제1 빈도 데이터 및 제2 빈도 데이터와 상기 무작위 생성 여부간의 상관관계를 학습한 신경망인, 문자열의 무작위 생성 여부 판단 방법.The method according to claim 2,
The step of determining whether to randomly generate the user identification string
Using an artificial neural network, it is determined whether or not the character string is randomly generated from the first frequency data and the second frequency data,
The artificial neural network is based on at least one learning data labeled with whether or not the character string is randomly generated, and a correlation between the first frequency data and the second frequency data included in the training data and whether or not the random generation is generated. A neural network that learned to, how to determine whether a string is randomly generated.
상기 문자열의 무작위 생성 여부 판단 방법은
상기 문자열에 포함된 각 문자의 종류에 기초하여, 상기 문자열에 대응되는 패턴 문자열을 생성하는 단계; 및
상기 패턴 문자열의 적어도 일부이고, K(K는 자연수)개의 연속하는 문자를 포함하는 하나 이상의 제3 부분 문자열 각각이, 상기 복수의 사용자 식별 문자열 각각에 대응되는 패턴 문자열에 포함되어있는 빈도를 포함하는 제3 빈도 데이터를 생성하는 단계;를 더 포함하고,
상기 사용자 식별 문자열의 무작위 생성 여부를 결정하는 단계는
상기 제1 빈도 데이터 및 상기 제3 빈도 데이터에 기초하여 상기 사용자 식별 문자열의 무작위 생성 여부를 결정하는, 문자열의 무작위 생성 여부 판단 방법.The method according to claim 1
How to determine whether the string is randomly generated
Generating a pattern character string corresponding to the character string based on the type of each character included in the character string; And
At least a part of the pattern string, each of one or more third substrings including K (K is a natural number) consecutive characters, including a frequency included in the pattern string corresponding to each of the plurality of user identification strings Generating third frequency data; further comprising,
The step of determining whether to randomly generate the user identification string
A method of determining whether to randomly generate a character string based on the first frequency data and the third frequency data.
상기 문자열의 무작위 생성 여부 판단 방법은
상기 패턴 문자열의 적어도 일부이고, L(L은 자연수)개의 연속하는 문자를 포함하는 하나 이상의 제4 부분 문자열 각각이, 상기 복수의 사용자 식별 문자열 각각에 대응되는 패턴 문자열에 포함되어있는 빈도를 포함하는 제4 빈도 데이터를 생성하는 단계;를 더 포함하고,
상기 사용자 식별 문자열의 무작위 생성 여부를 결정하는 단계는
상기 제1 빈도 데이터, 상기 제3 빈도 데이터 및 상기 제4 빈도 데이터에 기초하여 상기 사용자 식별 문자열의 무작위 생성 여부를 결정하는, 문자열의 무작위 생성 여부 판단 방법.The method of claim 4
How to determine whether the string is randomly generated
At least a part of the pattern string, each of one or more fourth substrings including L (L is a natural number) consecutive characters, including a frequency included in the pattern string corresponding to each of the plurality of user identification strings Generating fourth frequency data; further comprising,
The step of determining whether to randomly generate the user identification string
A method of determining whether to randomly generate a character string based on the first frequency data, the third frequency data, and the fourth frequency data.
상기 사용자 식별 문자열의 무작위 생성 여부를 결정하는 단계는
인공 신경망을 이용하여, 상기 제1 빈도 데이터, 상기 제3 빈도 데이터 및 상기 제4 빈도 데이터로부터 상기 문자열의 무작위 생성 여부를 결정하고,
상기 인공 신경망은 상기 문자열이 무작위로 생성되었는지 여부가 표지(Label)된 적어도 하나의 학습 데이터에 기반하여, 상기 학습 데이터에 포함되는 제1 빈도 데이터, 제3 빈도 데이터 및 제4 빈도 데이터와 상기 무작위 생성 여부간의 상관관계를 학습한 신경망인, 문자열의 무작위 생성 여부 판단 방법.The method of claim 5,
The step of determining whether to randomly generate the user identification string
Using an artificial neural network, it is determined whether or not to generate the character string randomly from the first frequency data, the third frequency data, and the fourth frequency data,
The artificial neural network includes first frequency data, third frequency data, and fourth frequency data and the randomization data included in the training data based on at least one learning data labeled whether or not the character string is randomly generated. A neural network that has learned the correlation between whether or not it is generated, a method of determining whether a character string is randomly generated.
상기 패턴 문자열을 생성하는 단계는
상기 문자열에 포함되는 제1 문자가 제1 종류의 문자인 경우, 상기 패턴 문자열의 상기 제1 문자의 위치와 대응되는 위치의 문자를 상기 제1 종류에 대응되는 문자로 결정하는, 문자열의 무작위 생성 여부 판단 방법.The method of claim 4
Generating the pattern string
When the first character included in the character string is a character of the first type, a character at a position corresponding to the position of the first character of the pattern character string is determined as a character corresponding to the first type, random generation of a character string How to judge whether or not.
상기 제1 문자의 종류는
알파벳 종류, 숫자 종류 및 특수문자 종류 중 어느 하나인, 문자열의 무작위 생성 여부 판단 방법.The method of claim 7
The type of the first character is
A method of determining whether a character string is randomly generated, which is one of an alphabet type, a number type, and a special character type.
상기 문자열의 무작위 생성 여부 판단 방법은
상기 사용자 식별 문자열이 소정의 지정 조건을 만족하는지 여부를 포함하는 지정 조건 판단 데이터를 생성하는 단계;를 더 포함하고,
상기 사용자 식별 문자열의 무작위 생성 여부를 결정하는 단계는
상기 제1 빈도 데이터 및 상기 지정 조건 판단 데이터에 기초하여 상기 사용자 식별 문자열의 무작위 생성 여부를 결정하는, 문자열의 무작위 생성 여부 판단 방법.The method according to claim 1
How to determine whether the string is randomly generated
Generating designation condition determination data including whether the user identification character string satisfies a predetermined designation condition; further comprising,
The step of determining whether to randomly generate the user identification string
A method of determining whether to randomly generate a character string based on the first frequency data and the designated condition determination data.
복수의 사용자 식별 문자열에서, 상기 판단 대상 문자열을 구성하는 적어도 하나의 부분 문자열이 출현하는 출현 빈도에 기초하여 문자열 빈도 데이터를 생성하는 단계;
상기 복수의 사용자 식별 문자열 각각에 대응되는 패턴 문자열에서, 패턴 문자열을 구성하는 적어도 하나의 부분 패턴 문자열의 출현 빈도에 기초하여 패턴 문자열 빈도 데이터를 생성하는 단계로써, 상기 패턴 문자열은 상기 판단 대상 문자열에 포함된 각 문자의 종류에 기초하여 상기 판단 대상 문자열로부터 생성되는 문자열이고;
상기 판단 대상 문자열이 소정의 지정 조건을 만족하는지 여부를 포함하는 지정 조건 판단 데이터를 생성하는 단계; 및
상기 문자열 빈도 데이터, 상기 패턴 문자열 빈도 데이터 및 상기 지정 조건 판단 데이터에 기초하여 상기 판단 대상 문자열의 무작위 생성 여부를 결정하는 단계;를 포함하는, 문자열의 무작위 생성 여부 판단 방법.In a method of determining whether a user identification string to be determined is randomly generated,
Generating character string frequency data based on an appearance frequency in which at least one sub character string constituting the determination target character string appears in a plurality of user identification character strings;
In the pattern string corresponding to each of the plurality of user identification strings, generating pattern string frequency data based on the frequency of appearance of at least one partial pattern string constituting the pattern string, wherein the pattern string is in the determination target string A character string generated from the determination target character string based on the type of each included character;
Generating designation condition determination data including whether the determination object character string satisfies a predetermined designation condition; And
Determining whether the character string to be determined is randomly generated based on the character string frequency data, the pattern character string frequency data, and the specified condition determination data.
상기 판단 대상 문자열의 무작위 생성 여부를 결정하는 단계는
인공 신경망을 이용하여, 상기 문자열 빈도 데이터, 상기 패턴 문자열 빈도 데이터 및 상기 지정 조건 판단 데이터로부터 상기 판단 대상 문자열의 무작위 생성 여부를 결정하고,
상기 인공 신경망은 사용자 식별 문자열이 무작위로 생성되었는지 여부가 표지(Label)된 적어도 하나의 학습 데이터에 기반하여, 상기 학습 데이터에 포함되는 문자열 빈도 데이터, 패턴 문자열 빈도 데이터 및 지정 조건 판단 데이터와 상기 무작위로 생성되었는지 여부간의 상관관계를 학습한 신경망인, 문자열의 무작위 생성 여부 판단 방법.The method of claim 10,
The step of determining whether to randomly generate the character string to be determined is
Using an artificial neural network, it is determined whether or not the character string to be determined is randomly generated from the character string frequency data, the pattern character string frequency data, and the designated condition determination data,
The artificial neural network includes character string frequency data, pattern character string frequency data, and designated condition determination data and the randomization data included in the training data based on at least one learning data labeled whether or not a user identification character string is randomly generated. A neural network that learns the correlation between whether or not it is generated as a method to determine whether a character string is randomly generated.
상기 문자열 빈도 데이터는
상기 판단 대상 문자열의 적어도 일부이고, N(N은 자연수)개의 연속하는 문자를 포함하는 하나 이상의 제1 부분 문자열 각각이, 복수의 사용자 식별 문자열에 포함되어있는 빈도를 포함하는 제1 빈도 데이터 및
상기 판단 대상 문자열의 적어도 일부이고, M(M은 자연수)개의 연속하는 문자를 포함하는 하나 이상의 제2 부분 문자열 각각이, 상기 복수의 사용자 식별 문자열에 포함되어있는 빈도를 포함하는 제2 빈도 데이터를 포함하는, 문자열의 무작위 생성 여부 판단 방법.The method of claim 10
The string frequency data is
First frequency data including a frequency in which each of at least a part of the character string to be determined and including N (N is a natural number) consecutive characters is included in a plurality of user identification character strings, and
Second frequency data including a frequency included in the plurality of user identification strings each of at least a part of the determination target character string and including M (M is a natural number) consecutive characters Including, a method of determining whether a string is randomly generated.
상기 패턴 문자열 빈도 데이터는
상기 패턴 문자열의 적어도 일부이고, K(K는 자연수)개의 연속하는 문자를 포함하는 하나 이상의 제3 부분 문자열 각각이, 상기 복수의 사용자 식별 문자열 각각에 대응되는 패턴 문자열에 포함되어있는 빈도를 포함하는 제3 빈도 데이터 및
상기 패턴 문자열의 적어도 일부이고, L(L은 자연수)개의 연속하는 문자를 포함하는 하나 이상의 제4 부분 문자열 각각이, 상기 복수의 사용자 식별 문자열 각각에 대응되는 패턴 문자열에 포함되어있는 빈도를 포함하는 제4 빈도 데이터를 포함하는, 문자열의 무작위 생성 여부 판단 방법.The method of claim 10
The pattern string frequency data is
At least a part of the pattern string, each of one or more third substrings including K (K is a natural number) consecutive characters, including a frequency included in the pattern string corresponding to each of the plurality of user identification strings 3rd frequency data and
At least a part of the pattern string, each of one or more fourth substrings including L (L is a natural number) consecutive characters, including a frequency included in the pattern string corresponding to each of the plurality of user identification strings A method of determining whether a character string is randomly generated, including the fourth frequency data.
상기 문자열의 무작위 생성 여부 판단 방법은 상기 문자열 빈도 데이터를 생성하는 단계 이전에,
상기 복수의 사용자 식별 문자열에서의 복수의 부분 문자열 각각의 출현 빈도를 누적하여 문자열 빈도 데이터베이스를 생성하는 단계;를 더 포함하는, 문자열의 무작위 생성 여부 판단 방법.The method of claim 10
The method of determining whether the character string is randomly generated, prior to the step of generating the character string frequency data,
Generating a character string frequency database by accumulating the frequency of appearances of each of the plurality of sub character strings in the plurality of user identification character strings.
상기 문자열 빈도 데이터를 생성하는 단계는,
문자열 빈도 데이터베이스에서 상기 판단 대상 문자열을 구성하는 적어도 하나의 부분 문자열 각각의 출현 빈도를 확인하는 단계로써, 상기 문자열 빈도 데이터베이스는 상기 복수의 사용자 식별 문자열에서의 복수의 부분 문자열 각각의 출현 빈도를 누적한 것 이고;
상기 부분 문자열 각각의 출현 빈도에 기초하여 상기 판단 대상 문자열의 엔트로피를 산출하는 단계; 및
상기 부분 문자열 각각의 출현 빈도 및 상기 엔트로피를 포함하는 상기 문자열 빈도 데이터를 생성하는 단계;를 포함하는, 문자열의 무작위 생성 여부 판단 방법.The method of claim 10
Generating the character string frequency data,
Checking the frequency of appearance of each of at least one substring constituting the character string to be determined in a character string frequency database, wherein the character string frequency database accumulates the frequency of appearance of each of the plurality of substrings in the plurality of user identification character strings. Will be;
Calculating an entropy of the character string to be determined based on the frequency of occurrence of each of the sub character strings; And
Generating the character string frequency data including the frequency of occurrence and the entropy of each of the substrings; including, determining whether a character string is randomly generated.
상기 제어부는
복수의 사용자 식별 문자열에서, 상기 판단 대상 문자열을 구성하는 적어도 하나의 부분 문자열이 출현하는 출현 빈도에 기초하여 문자열 빈도 데이터를 생성하고,
상기 복수의 사용자 식별 문자열 각각에 대응되는 패턴 문자열에서, 패턴 문자열을 구성하는 적어도 하나의 부분 패턴 문자열의 출현 빈도에 기초하여 패턴 문자열 빈도 데이터를 생성하고,
상기 판단 대상 문자열이 소정의 지정 조건을 만족하는지 여부를 포함하는 지정 조건 판단 데이터를 생성하고,
상기 문자열 빈도 데이터, 상기 패턴 문자열 빈도 데이터 및 상기 지정 조건 판단 데이터에 기초하여 상기 판단 대상 문자열의 무작위 생성 여부를 결정하고,
상기 패턴 문자열은 상기 판단 대상 문자열에 포함된 각 문자의 종류에 기초하여 상기 문자열로부터 생성되는 문자열인, 문자열의 무작위 생성 여부 판단 장치.A device for determining whether a user identification string to be determined is randomly generated, wherein the device includes a control unit,
The control unit
In a plurality of user identification character strings, generating character string frequency data based on the frequency of appearance of at least one sub character string constituting the determination target character string,
In a pattern string corresponding to each of the plurality of user identification strings, pattern string frequency data is generated based on the frequency of appearance of at least one partial pattern string constituting the pattern string,
Generating designation condition determination data including whether the determination target character string satisfies a predetermined designation condition,
Determine whether to randomly generate the character string to be determined based on the character string frequency data, the pattern character string frequency data, and the designation condition determination data,
The pattern character string is a character string generated from the character string based on the type of each character included in the determination target character string.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190055840A KR102223741B1 (en) | 2019-05-13 | 2019-05-13 | Method, apparatus and computer program for determining random generation of string |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190055840A KR102223741B1 (en) | 2019-05-13 | 2019-05-13 | Method, apparatus and computer program for determining random generation of string |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200131068A KR20200131068A (en) | 2020-11-23 |
KR102223741B1 true KR102223741B1 (en) | 2021-03-05 |
Family
ID=73680318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190055840A KR102223741B1 (en) | 2019-05-13 | 2019-05-13 | Method, apparatus and computer program for determining random generation of string |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102223741B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100409612C (en) | 2000-02-01 | 2008-08-06 | 诺基亚有限公司 | Method for checking integrity of data, system and mobile terminal |
-
2019
- 2019-05-13 KR KR1020190055840A patent/KR102223741B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100409612C (en) | 2000-02-01 | 2008-08-06 | 诺基亚有限公司 | Method for checking integrity of data, system and mobile terminal |
Also Published As
Publication number | Publication date |
---|---|
KR20200131068A (en) | 2020-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4058916B1 (en) | Detecting unknown malicious content in computer systems | |
Ilahi et al. | Challenges and countermeasures for adversarial attacks on deep reinforcement learning | |
Pei et al. | Towards practical verification of machine learning: The case of computer vision systems | |
Song et al. | Deepmem: Learning graph neural network models for fast and robust memory forensic analysis | |
US11023295B2 (en) | Utilizing a neural network model to determine risk associated with an application programming interface of a web application | |
Wang et al. | Deep learning‐based efficient model development for phishing detection using random forest and BLSTM classifiers | |
KR102523160B1 (en) | Method and system for detecting duplicated document using document similarity measuring model based on deep learning | |
US11675928B2 (en) | Electronic device for obfuscating and decoding data and method for controlling same | |
WO2018093926A1 (en) | Semi-supervised training of neural networks | |
Shezan et al. | Read between the lines: An empirical measurement of sensitive applications of voice personal assistant systems | |
CN109714356A (en) | A kind of recognition methods of abnormal domain name, device and electronic equipment | |
CN107408115A (en) | web site access control | |
JP6777612B2 (en) | Systems and methods to prevent data loss in computer systems | |
Aralikatte et al. | Fault in your stars: an analysis of android app reviews | |
CN115210722A (en) | Method and system for graph computation using hybrid inference | |
Ulfath et al. | Hybrid CNN-GRU framework with integrated pre-trained language transformer for SMS phishing detection | |
CN105631336A (en) | System and method for detecting malicious files on mobile device, and computer program product | |
CN105323145A (en) | Malicious information identification method, device and system | |
KR102223741B1 (en) | Method, apparatus and computer program for determining random generation of string | |
KR102128415B1 (en) | Method and system for correcting keyboard typo based on deep learning model | |
JP2021131875A (en) | Method and system for detecting automatic input | |
KR20200078454A (en) | Method and system for correcting keyboard typo based on deep learning model | |
JP6930862B2 (en) | Client tampering judgment system and method | |
CN115828269A (en) | Method, device, equipment and storage medium for constructing source code vulnerability detection model | |
Li et al. | An android malicious application detection method with decision mechanism in the operating environment of blockchain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
E701 | Decision to grant or registration of patent right |