Stability Detection Method and Device for Device Fingerprint Algorithm

By analyzing the test scenarios and parameter changes of the device fingerprint algorithm, the stability of the device fingerprint algorithm is evaluated using machine learning models, which solves the problems of device fingerprint technology in data tampering and insufficient model stability, and improves the ability of asset applications to resist network black production.

CN114416586BActive Publication Date: 2025-07-29INDUSTRIAL AND COMMERCIAL BANK OF CHINA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210093361.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-26
Publication Date
2025-07-29
Estimated Expiration
2042-01-26

AI Technical Summary

Technical Problem

The existing equipment fingerprint technology has insufficient data tampering, accuracy and privacy in terms of burying point collection, and insufficient stability, accuracy and efficiency in model algorithms, resulting in insufficient resistance to network black industries by asset applications.

Method used

By obtaining the response message of the application to be tested, determining the test scenario, and changing the parameters of the fingerprint of the same original device, generating multiple test device fingerprints, analyzing the results of the device identification, and evaluating the stability of the device fingerprint algorithm.

Benefits of technology

Effectively identify parameters that lack stability in the device fingerprint algorithm, optimize the device fingerprint algorithm, improve the ability of asset applications to resist black industries, and improve the stability and identification accuracy of device fingerprint technology.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114416586B_ABST
    Figure CN114416586B_ABST
Patent Text Reader

Abstract

The present invention provides a method and device for detecting the stability of a device fingerprint algorithm, which relate to the fields of fingerprint algorithm detection, information security technology, and finance. The method includes: determining a test scenario of the application under test based on a response message of a service request; when the test scenario is a device fingerprint type test scenario, changing parameters of the same original device fingerprint to obtain multiple test device fingerprints; respectively sending the multiple test device fingerprints to the application under test; and determining the stability of the device fingerprint algorithm according to the device identification results returned by the application under test for the test device fingerprints. The method and device for detecting the stability of the device fingerprint algorithm in this application can effectively identify parameters lacking in stability in the device fingerprint algorithm, so as to optimize in a timely manner and effectively improve the resistance of asset applications to black production.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the fields of fingerprint algorithm detection, information security technology, and finance, and particularly relates to a method and device for detecting the stability of device fingerprint algorithms. Background Art

[0002] In recent years, with the rapid development of computer technology and Internet technology, the number of network fraud attack events has increased significantly, and it is growing at a rate of more than 30% per year. At the same time, hackers' attack methods are more diverse and disguised, and traditional monitoring methods are easily bypassed, resulting in the inability to accurately locate attacks or fraud behaviors. Under the pressure and challenges brought by factors such as the rapid development of new technologies, the increasingly severe security situation, and the continuous strengthening of industry supervision, more intelligent device fingerprint technology is needed to deal with attack behaviors in Internet applications. However, there are currently many technical difficulties in device fingerprint technology. For example, there are problems such as insufficient data anti-tampering, accuracy, and privacy in the aspect of data collection through data points; in the aspect of model algorithms, there are problems such as insufficient stability, accuracy, and efficiency of the model in identifying devices. These problems have greatly affected the practical application of device fingerprint technology, resulting in insufficient resistance of asset applications to online black production. Summary of the Invention

[0003] To solve the problems existing in the prior art, on the first aspect, the present application provides a method for detecting the stability of a device fingerprint algorithm, which relates to the fields of fingerprint algorithm detection, information security technology, and finance. The method includes:

[0004] Determine the test scenario of the application under test based on the response message of the service request of the application under test;

[0005] When the test scenario is a device fingerprint type test scenario, change the parameters of the same original device fingerprint to obtain multiple test device fingerprints;

[0006] Send the multiple test device fingerprints to the application under test respectively;

[0007] Determine the stability of the device fingerprint algorithm according to the device identification result returned by the application under test for the test device fingerprint.

[0008] In an embodiment, the determining the test scenario of the application under test according to the message sent by the application under test includes:

[0009] Obtain the word segmentation feature of the response message and the distribution feature of device information collection behavior;

[0010] Input the word segmentation feature and the distribution feature of device information collection behavior into a pre-trained test scenario classification model to obtain the test scenario of the application under test.

[0011] In one embodiment, the steps of training the test scenario classification model include:

[0012] Obtain multiple device fingerprint algorithm application instance messages and generate a training data set;

[0013] Use the training data set to train a machine learning model to obtain the test scenario classification model.

[0014] In one embodiment, the obtaining multiple device fingerprint algorithm application instance messages and generating a training data set includes:

[0015] Extract the word segmentation features and device information collection behavior distribution features of the device fingerprint algorithm application instance messages respectively;

[0016] Assign classification identifiers to the device fingerprint algorithm application instance messages respectively;

[0017] Generate a training data set according to the device fingerprint algorithm application instance messages and their corresponding word segmentation features, device information collection behavior distribution features, and classification identifiers.

[0018] In one embodiment, the changing the parameters of the same original device fingerprint to obtain multiple test device fingerprints includes:

[0019] Change one or more of the device physical address, device unique identifier, advertising identifier, installed application list, browser user agent, and canvas fingerprint of the original device fingerprint to obtain multiple test device fingerprints.

[0020] In one embodiment, the determining the stability of the device fingerprint algorithm according to the device recognition result includes:

[0021] Statistically count the number of successful tests and the total number of tests corresponding to each test device fingerprint according to the device recognition result;

[0022] Determine the stability score of the device fingerprint algorithm according to the number of successful tests, the total number of tests, the preset test weight, the number of test device fingerprints, and the number of changed parameters in the test device fingerprints corresponding to each test device fingerprint.

[0023] In one embodiment, the statistically counting the number of successful tests and the total number of tests corresponding to each test device fingerprint according to the device recognition result includes:

[0024] Step 1: Initialize the number of successful tests and the total number of tests;

[0025] Step 2: Send a test device fingerprint to the application to be tested;

[0026] Step 3: Increment the total number of tests by one;

[0027] Step 4: Obtain the device recognition result returned by the application under test for the test device fingerprint;

[0028] Step 5: Determine whether the device recognition result returned by the test device fingerprint is consistent with the device recognition result of the original device fingerprint;

[0029] Step 6: If so, increment the number of successful tests by one;

[0030] Repeat the above steps 2 to 6 until all test device fingerprints have been sent.

[0031] In a second aspect, the present application also provides a stability detection device for a device fingerprint algorithm, including:

[0032] A test scenario determination module, configured to determine the test scenario of the application under test according to the response message of the application under test based on the service request;

[0033] A test device fingerprint generation module, configured to change the parameters of the same original device fingerprint to obtain multiple test device fingerprints when the test scenario is a device fingerprint type test scenario;

[0034] A test device fingerprint sending module, configured to send the multiple test device fingerprints to the application under test respectively;

[0035] A stability determination module, configured to determine the stability of the device fingerprint algorithm according to the device recognition result returned by the application under test for the test device fingerprint.

[0036] In an embodiment, the test scenario determination module includes:

[0037] A first feature extraction unit, configured to obtain the word segmentation feature of the response message and the device information collection behavior distribution feature;

[0038] A test scenario determination unit, configured to input the word segmentation feature and the device information collection behavior distribution feature into a pre-trained test scenario classification model to obtain the test scenario of the application under test.

[0039] In an embodiment, the stability detection device for the device fingerprint algorithm further includes:

[0040] A training data set generation module, configured to obtain multiple device fingerprint algorithm application instance messages and generate a training data set;

[0041] A test scenario classification model training module, configured to train a machine learning model using the training data set to obtain the test scenario classification model.

[0042] In an embodiment, the training data set generation module includes:

[0043] A second feature extraction unit, configured to extract the word segmentation features and the device information collection behavior distribution features of the device fingerprint algorithm application instance message respectively;

[0044] A classification identifier assignment unit, configured to assign classification identifiers to the device fingerprint algorithm application instance messages respectively;

[0045] A training data set generation unit, configured to generate a training data set according to the device fingerprint algorithm application instance message and its corresponding word segmentation features, device information collection behavior distribution features, and classification identifiers.

[0046] In one embodiment, the test device fingerprint generation module is specifically configured to:

[0047] Change one or more of the device physical address, device unique identifier, advertising identifier, installed application list, browser user agent, and canvas fingerprint of the original device fingerprint to obtain multiple test device fingerprints.

[0048] In one embodiment, the stability determination module includes:

[0049] A statistics unit, configured to respectively count the number of successful tests and the total number of tests corresponding to each test device fingerprint according to the device recognition result;

[0050] A scoring unit, configured to determine the stability score of the device fingerprint algorithm according to the number of successful tests, the total number of tests, the preset test weight, and the number of test device fingerprints corresponding to each test device fingerprint.

[0051] In one embodiment, the statistics unit is specifically configured to perform the following steps:

[0052] Step 1: Initialize the number of successful tests and the total number of tests;

[0053] Step 2: Send a test device fingerprint to the application to be tested;

[0054] Step 3: Increment the total number of tests by one;

[0055] Step 4: Obtain the device recognition result returned by the application to be tested for the test device fingerprint;

[0056] Step 5: Determine whether the device recognition result returned by the test device fingerprint is consistent with the device recognition result corresponding to the original device fingerprint;

[0057] Step 6: If so, increment the number of successful tests by one;

[0058] Repeat the above steps 2 to 6 until all test device fingerprints have been sent.

[0059] In a third aspect, the present application provides an electronic device, including:

[0060] a central processing unit, a memory, and a communication module. A computer program is stored in the memory. The central processing unit can call the computer program. When the central processing unit executes the computer program, it implements the stability detection method for any device fingerprint algorithm provided by the present application.

[0061] In a fourth aspect, the present application provides a computer-readable storage medium for storing a computer program. When the computer program is executed by a processor, it implements the stability detection method for any device fingerprint algorithm provided by the present application.

[0062] The stability detection method and device for the device fingerprint algorithm of the present application can effectively identify the parameters lacking in stability in the device fingerprint algorithm, so as to optimize them in a timely manner, and effectively improve the resistance of asset applications to black production. The present application can automatically and intelligently judge and analyze the stability of the device fingerprint algorithm of the application to be tested, improve the stability of the device fingerprint technology in model recognition devices, and is conducive to promoting the further development of the device fingerprint technology. BRIEF DESCRIPTION OF THE DRAWINGS

[0063] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the following drawings are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0064] Figure 1 It is a schematic diagram of the stability detection method for the device fingerprint algorithm provided by the present application.

[0065] Figure 2 It is a schematic diagram of the test scenario provided by the present application.

[0066] Figure 3 It is another schematic diagram of the stability detection method for the device fingerprint algorithm provided by the present application.

[0067] Figure 4 It is another schematic diagram of the stability detection method for the device fingerprint algorithm provided by the present application.

[0068] Figure 5 It is another schematic diagram of the stability detection method for the device fingerprint algorithm provided by the present application.

[0069] Figure 6 It is a schematic flowchart of counting the number of successful tests and the total number of tests corresponding to the device fingerprints of each test device provided by the present application.

[0070] Figure 7 Schematic diagram of the stability detection device for the device fingerprint algorithm provided by this application.

[0071] Figure 8 Another schematic diagram of the stability detection device for the device fingerprint algorithm provided by this application.

[0072] Figure 9 Another schematic diagram of the stability detection device for the device fingerprint algorithm provided by this application.

[0073] Figure 10 Another schematic diagram of the stability detection device for the device fingerprint algorithm provided by this application.

[0074] Figure 11 Another schematic diagram of the stability detection device for the device fingerprint algorithm provided by this application.

[0075] Figure 12 Schematic diagram of an electronic device provided by this application. Specific implementation mode

[0076] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.

[0077] For the convenience of the public's understanding of this application, the device fingerprint and the application scenario of this application are first described as follows.

[0078] In online scenarios with high security requirements, such as online banking transactions, some software and / or hardware technologies are often needed to track business entities, that is, to locate "who you are". Hardware technologies include, for example, the earlier USB tokens. With the evolution of the actual needs of business scenarios, device fingerprints have emerged. Just as a person's fingerprint can uniquely determine a person's identity, a device fingerprint can also uniquely determine the identity of a device. In other words, it can be considered that the device fingerprint has the function of a device ID that can uniquely represent device characteristics and the function of determining the device system environment. Device fingerprint technology can be used to generate corresponding device fingerprints for each operating device. In this process, it is necessary to collect the hardware information and software setting information of the device, such as the International Mobile Equipment Identity (IMEI), Unique Device Identifier (UDID), CPU instruction set, Bluetooth MAC address, system version, application version, chip manufacturer information, etc.

[0079] Although device fingerprints are unique and their generation process is complex, there are still black industry practitioners who try to evade tracking by tampering with device fingerprints or forging non-existent device fingerprints. Therefore, in the process of data interaction, whether the application can successfully identify the true identity of the device based on the tampered device fingerprint has become the key to resisting online black industries. In the prior art, the device fingerprint algorithm for identifying device fingerprints is usually integrated into the application. For example, the browser integrates it by implanting JS, and most other APPs integrate it through SDK. Therefore, the stability monitoring of the device fingerprint algorithm is particularly important.

[0080] This application aims to monitor the stability of the device fingerprint algorithm integrated in a certain application (hereinafter referred to as the application to be tested). The stability detection method of the device fingerprint algorithm provided by this application is as Figure 1 shown, and this method includes the following steps:

[0081] Step S101, determine the test scenario of the application to be tested according to the response message of the service request of the application to be tested.

[0082] Specifically, the application to be tested is any application integrated with a device fingerprint algorithm, such as browser APPs. Therefore, it is first necessary to determine whether the test scenario of the application to be tested involves the application of the device fingerprint algorithm. Specifically, taking the scenario of online banking online transactions through a browser page as an example, as Figure 2As shown, this scenario includes a test user and an application under test. The test user uses a test device to send service requests to the application under test, such as login requests, transaction requests like money transfers, etc.; the application under test returns a response message corresponding to the service request. Based on the response message, it is determined whether the test scenario of the application under test involves the application of the device fingerprint algorithm. If so, the test scenario of the application under test is determined to be a device fingerprint type test scenario, and then subsequent steps are executed to perform the stability test of the device fingerprint algorithm; if not, the test scenario of the application under test is determined to be a non-device fingerprint type test scenario. At this time, the service request is changed to change the test scenario or the application under test is replaced. The stability detection method of the device fingerprint algorithm in this application is only applicable to the device fingerprint type test scenario.

[0083] Step S102, when the test scenario is a device fingerprint type test scenario, change the parameters of the same original device fingerprint to obtain multiple test device fingerprints.

[0084] There are mainly two implementation methods for generating test device fingerprints. The first is to use a real device or simulator to change the parameters of the device fingerprint. For example, it is possible to imitate the simulators, device modification tools, stealth modes, etc. commonly used in black production to change the parameters of the original device fingerprint and generate test device fingerprints; the second is to directly send a device data message to the device fingerprint interface of the test device corresponding to the original device fingerprint, including but not limited to means such as simulating black production to send data packets, changing different parameters of the same test device, and thus changing its original device fingerprint to obtain a test device fingerprint. Among them, the first implementation method can change parameters such as the device physical address, device unique identifier, advertising identifier, installed application list, etc., and the second implementation method can change parameters such as the browser user agent and canvas fingerprint.

[0085] Step S103, send the multiple test device fingerprints to the application under test respectively.

[0086] Step S104, determine the stability of the device fingerprint algorithm according to the device recognition result returned by the application under test for the test device fingerprint.

[0087] Specifically, in the device fingerprint test scenario, the application under test will call the device fingerprint algorithm to identify the test device fingerprint sent by the test user, and obtain the corresponding device identification result. The test user judges the stability of the device fingerprint algorithm based on the device identification result. Since the test device fingerprint is obtained by changing one or more parameters of the original device fingerprint, for any test device fingerprint, if the device identification result obtained by the application under test for it is the same as the device identification result corresponding to the original device fingerprint, it indicates that the device fingerprint algorithm is relatively stable in identifying the changed parameters in the test device fingerprint; on the contrary, if the device identification result obtained by the application under test for it is different from the device identification result corresponding to the original device fingerprint, it indicates that the device fingerprint algorithm is unstable in identifying the changed parameters in the test device fingerprint, and the identification ability of the algorithm needs to be further enhanced.

[0088] This application determines whether the device fingerprint algorithm is stable based on whether the application under test can still identify the true identity of the device and effectively identify the uniqueness of the test device when the parameters of the original device fingerprint change. At the same time, it can effectively identify the parameters lacking stability in the device fingerprint algorithm, so as to optimize in time and effectively improve the resistance of asset applications to black production.

[0089] In one embodiment, as Figure 3 shown, step S101, determining the test scenario of the application under test according to the message sent by the application under test, includes:

[0090] Step S1011, obtaining the word segmentation feature of the response message and the distribution feature of device information collection behavior.

[0091] Specifically, the request header URL and the request body of the response message are segmented into n-grams with characters as the smallest unit of word segmentation, and then the word segmentation feature of the response message is calculated through the TF-IDF algorithm; then the distribution feature of device information collection behavior is collected, including but not limited to [device, IMEI, fringeprint, FP, AndroidID] and other content related to device information collection behavior.

[0092] Step S1012, inputting the word segmentation feature and the distribution feature of device information collection behavior into a pre-trained test scenario classification model to obtain the test scenario of the application under test.

[0093] Specifically, according to the word segmentation feature and the distribution feature of device information collection behavior input into the pre-trained test scenario classification model, the test scenario classification model will output the corresponding test scenario, including two types: device fingerprint test scenario and non-device fingerprint test scenario.

[0094] In one embodiment, as Figure 4As shown in the figure, the method for detecting the stability of the device fingerprint algorithm further includes the step of training the test scenario classification model:

[0095] Step S201: Obtain multiple device fingerprint algorithm application instance messages and generate a training data set.

[0096] Specifically, the generation of the training data set can be implemented by performing the following steps:

[0097] 1) Extract the word segmentation features and the distribution features of the device information collection behavior of the device fingerprint algorithm application instance messages respectively.

[0098] Among them, the device fingerprint algorithm application instance messages are pre-stored messages, which are response messages during data interaction for various applications, and these response messages are all stored in the database. The method for obtaining the device fingerprint algorithm application instance messages here can be to directly retrieve them from each database.

[0099] For each device fingerprint algorithm application instance message, operations for extracting the word segmentation features and the distribution features of the device information collection behavior are performed. Specifically, reference can be made to the steps for obtaining the word segmentation features and the distribution features of the response message in step S1011, which will not be elaborated here.

[0100] 2) Assign classification identifiers to the device fingerprint algorithm application instance messages respectively. That is, assign an identifier for the device fingerprint class test scenario or the non-device fingerprint class test scenario to each device fingerprint algorithm application instance message. In practical applications, for example, the digital identifier "1" can be used to represent the device fingerprint class test scenario, and the digital identifier "0" can be used to represent the non-device fingerprint class test scenario.

[0101] 3) Generate a training data set according to the device fingerprint algorithm application instance messages and their corresponding word segmentation features, distribution features of the device information collection behavior, and classification identifiers.

[0102] Specifically, for each device fingerprint algorithm application instance message, establish a feature vector mapping relationship of its word segmentation features, distribution features of the device information collection behavior, and classification identifier as a piece of training data. Establish a training data set according to the training data of multiple device fingerprint algorithm application instance messages.

[0103] Step S202: Use the training data set to train a machine learning model to obtain the test scenario classification model.

[0104] Send the training data set obtained in step S201 into the machine learning model for training. The trained test scenario classification model can classify and identify the word segmentation features and the distribution features of the device information collection behavior of the input response message to obtain the recognition result of the device fingerprint class test scenario or the non-device fingerprint class test scenario.

[0105] Among them, the machine learning model includes, but is not limited to, the gradient descent tree algorithm (GBDT) algorithm model, random forest, etc.

[0106] In one embodiment, in step S102, when the test scenario is a device fingerprint type test scenario, the parameters of the same original device fingerprint are changed to obtain multiple test device fingerprints. Specifically:

[0107] The original device fingerprint can be the device fingerprint of the test device. After the application under test calls the integrated device fingerprint algorithm to identify the original device fingerprint, the device identity can be uniquely determined as the test device. For the parameters included in the original device fingerprint, such as device physical address, device unique identifier, advertising identifier, installed application list, browser user agent, and canvas fingerprint, by changing one or more of these parameters, test device fingerprints can be obtained. For example, changing the device physical address can obtain one test device fingerprint; changing both the device physical address and the device unique identifier can also obtain one test device fingerprint. In this step, multiple test device fingerprints can be obtained by changing different parameters or parameter combinations. The parameters of the original device fingerprint that are changed can be called test parameters.

[0108] In one embodiment, as Figure 5 shown, in step S104, determining the stability of the device fingerprint algorithm according to the device recognition result includes the following steps S1041 to S1042:

[0109] Step S1041, respectively count the number of successful tests and the total number of tests corresponding to each test device fingerprint according to the device recognition result.

[0110] Among them, the number of successful tests refers to the number of times that the device recognition result returned by the application under test for the test device fingerprint is consistent with the device recognition result corresponding to the original device fingerprint, and the total number of tests refers to the number of times the test device fingerprint is sent to the application under test.

[0111] Specifically, the statistical process is as Figure 6 shown:

[0112] Step 1: Initialize the number of successful tests to 0 and initialize the total number of tests to 0;

[0113] Step 2: Send a test device fingerprint to the application under test;

[0114] Step 3: Increment the total number of tests by one;

[0115] Step 4: Obtain the device recognition result returned by the application under test for the test device fingerprint;

[0116] Step 5: Determine whether the device identification result returned by the test device fingerprint is consistent with the device identification result of the original device fingerprint; if so, execute Step 6; if not, execute Step 7;

[0117] Step 6: Increment the number of successful tests by one;

[0118] Step 7: Determine whether the total number of tests is equal to the total number of test device fingerprints; if not, repeat the above Steps 2 to 7 until all test device fingerprints have been sent, that is, whether the total number of tests is equal to the total number of test device fingerprints; if so, end.

[0119] Step S1042: Determine the stability score of the device fingerprint algorithm based on the number of successful tests, the total number of tests, the preset test weight, the number of test device fingerprints, and the number of changed parameters in the test device fingerprints.

[0120] When performing the stability score, the test device fingerprints need to be classified according to the different numbers of changed parameters. For example, the test device fingerprints that only change any one parameter are classified into the first category, the test device fingerprints that change any two parameters are classified into the second category, the test device fingerprints that change any three parameters are classified into the third category...;

[0121] For each category of test device fingerprints, calculate the stability score separately. Taking the second category (changing any two parameters) of test device fingerprints as an example, the calculation process is as follows:

[0122] First, calculate the test success probability of each test device fingerprint in this category. Specifically, for a certain test device fingerprint in this category, substitute its total number of tests and the number of successful tests into the following formula (1) to calculate the test success probability:

[0123] i is a positive integer (1)

[0124] where m is the number of test device fingerprints in this category; P i is the test success probability of the i-th test device fingerprint; p is is the number of successful tests of the i-th test device fingerprint; p it is the total number of tests of the i-th test device fingerprint.

[0125] Then, substitute the test success probabilities, the preset test weight, and the number of test device fingerprints in this category into the following formula (2) to calculate the stability score S:

[0126] i is a positive integer (2)

[0127] Wherein, m is the number of fingerprints of this type of test device; n is the number of parameters changed in the fingerprints of this type of test device; P i is the test success probability of the i-th test device fingerprint in this type; w i is the test weight corresponding to the i-th test device fingerprint in this type, and is a preset constant.

[0128] Through the above calculation process, calculate for the fingerprints of the first type of test device, the fingerprints of the second type of test device, the fingerprints of the third type of test device... in sequence, and obtain multiple stability score values.

[0129] In this embodiment, the stability of the device fingerprint algorithm of the application to be tested is considered respectively when the number of changed parameters is different. In practical applications, assuming that there are a total of N parameters in the original device fingerprint that can be changed, then a total of N fingerprints of the first type of test device can be obtained, fingerprints of the second type of test device, fingerprints of the third type of test device... and so on.

[0130] In one embodiment, the method for detecting the stability of the device fingerprint algorithm further includes:

[0131] Store the application to be tested, the original device fingerprint, each test device fingerprint and its corresponding device recognition result, the generation method of the test device fingerprint, and the stability score of the device fingerprint algorithm of the application to be tested for the staff to view.

[0132] The method for detecting the stability of the device fingerprint algorithm of the present application can effectively identify the parameters lacking stability in the device fingerprint algorithm, optimize in time, and effectively improve the resistance of asset applications to black production. The present application can automatically and intelligently judge and analyze the stability of the device fingerprint algorithm of the application to be tested, improve the stability of the device fingerprint technology in the aspect of model-identifying devices, and is beneficial to promoting the further development of the device fingerprint technology.

[0133] Based on the same inventive concept, the embodiment of the present application also provides a device for detecting the stability of a device fingerprint algorithm, which can be used to implement the method described in the above embodiment, as described in the following embodiment. Since the principle of solving problems by the device for detecting the stability of the device fingerprint algorithm is similar to that of the method for detecting the stability of the device fingerprint algorithm, the implementation of the device for detecting the stability of the device fingerprint algorithm can refer to the implementation of the method for detecting the stability of the device fingerprint algorithm, and the repeated parts will not be described again. Hereinafter, the term "unit" or "module" may be a combination of software and / or hardware that can realize a predetermined function. Although the system described in the following embodiments is preferably implemented in software, implementation in hardware, or a combination of software and hardware is also possible and contemplated.

[0134] Such as Figure 7As shown in the figure, the present application also provides a stability detection device for a device fingerprint algorithm, including:

[0135] A test scenario determination module 701, configured to determine the test scenario of the application under test based on the response message of the service request of the application under test;

[0136] A test device fingerprint generation module 702, configured to change the parameters of the same original device fingerprint to obtain multiple test device fingerprints when the test scenario is a device fingerprint type test scenario;

[0137] A test device fingerprint sending module 703, configured to send the multiple test device fingerprints to the application under test respectively;

[0138] A stability determination module 704, configured to determine the stability of the device fingerprint algorithm according to the device identification result returned by the application under test for the test device fingerprint.

[0139] In an embodiment, as Figure 8 shown, the test scenario determination module 701 includes:

[0140] A first feature extraction unit 7011, configured to obtain the word segmentation feature and the device information collection behavior distribution feature of the response message;

[0141] A test scenario determination unit 7012, configured to input the word segmentation feature and the device information collection behavior distribution feature into a pre-trained test scenario classification model to obtain the test scenario of the application under test.

[0142] In an embodiment, as Figure 9 shown, the stability detection device for the device fingerprint algorithm further includes:

[0143] A training data set generation module 705, configured to obtain multiple device fingerprint algorithm application instance messages and generate a training data set;

[0144] A test scenario classification model training module 706, configured to train a machine learning model using the training data set to obtain the test scenario classification model.

[0145] In an embodiment, as Figure 10 shown, the training data set generation module 705 includes:

[0146] A second feature extraction unit 7051, configured to extract the word segmentation feature and the device information collection behavior distribution feature of the device fingerprint algorithm application instance message respectively;

[0147] A classification identifier assignment unit 7052, configured to assign classification identifiers to the device fingerprint algorithm application instance messages respectively;

[0148] A training data set generation unit 7053, configured to generate a training data set according to the device fingerprint algorithm application instance message, its corresponding word segmentation features, device information collection behavior distribution features, and classification identifier.

[0149] In one embodiment, the test device fingerprint generation module 702 is specifically configured to:

[0150] Modify one or more of the device physical address, device unique identifier, advertising identifier, installed application list, browser user agent, and canvas fingerprint of the original device fingerprint to obtain multiple test device fingerprints.

[0151] In one embodiment, as Figure 11 shown, the stability determination module 704 includes:

[0152] A statistics unit 7041, configured to respectively count the number of successful test times and the total number of test times corresponding to each test device fingerprint according to the device recognition result;

[0153] A scoring unit 7042, configured to determine the stability score of the device fingerprint algorithm according to the number of successful test times, the total number of test times, a preset test weight, and the number of test device fingerprints corresponding to each test device fingerprint.

[0154] In one embodiment, the statistics unit 7041 is specifically configured to perform the following steps:

[0155] Step 1: Initialize the number of successful test times and the total number of test times;

[0156] Step 2: Send a test device fingerprint to the application to be tested;

[0157] Step 3: Increment the total number of test times by one;

[0158] Step 4: Obtain the device recognition result returned by the application to be tested for the test device fingerprint;

[0159] Step 5: Determine whether the device recognition result returned by the test device fingerprint is consistent with the device recognition result corresponding to the original device fingerprint;

[0160] Step 6: If so, increment the number of successful test times by one;

[0161] Repeat the above steps 2 to 6 until all test device fingerprints have been sent.

[0162] The stability detection device of the device fingerprint algorithm of the present application can effectively identify the parameters lacking stability in the device fingerprint algorithm, so as to optimize them in time and effectively improve the resistance of asset applications to black production. The present application can automatically and intelligently judge and analyze the stability of the device fingerprint algorithm of the application to be tested, improve the stability of the device fingerprint technology in model recognition devices, and is conducive to promoting the further development of the device fingerprint technology.

[0163] The present invention also provides an electronic device. Refer to Figure 12 , the electronic device 100 specifically includes:

[0164] A central processor 110, a memory 120, a communication module 130, an input unit 140, an output unit 150, and a power supply 160.

[0165] Among them, the memory 120, the communication module 130, the input unit 140, the output unit 150, and the power supply 160 are respectively connected to the central processor 110. A computer program is stored in the memory 120, the central processor 110 can call the computer program, and when the central processor 110 executes the computer program, all steps in the stability detection method of the device fingerprint algorithm in the above embodiments are implemented.

[0166] An embodiment of the present application also provides a computer-readable storage medium for storing a computer program, and the computer program can be executed by a processor. When the computer program is executed by the processor, any stability detection method provided by the present invention is implemented.

[0167] Those skilled in the art should understand that the embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, the embodiments of this specification can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the embodiments of this specification can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk memory, CD-ROM, optical memory, etc.) that contain computer-usable program code. Each embodiment in this specification is described in a progressive manner. For the same or similar parts among the embodiments, reference can be made to each other. The key point of each embodiment is to illustrate the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple. For the relevant parts, reference can be made to the partial description of the method embodiment. In the description of this specification, the description with reference to terms such as "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials, or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the embodiments of this specification.

[0168] In this specification, the schematic expressions of the above terms do not necessarily refer to the same embodiment or example. In addition, without contradiction, those skilled in the art can combine and combine the different embodiments or examples described in this specification and the features of different embodiments or examples. The above is only the embodiments of the embodiments of this specification and is not used to limit the embodiments of this specification. For those skilled in the art, various changes and modifications can be made to the embodiments of this specification. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the embodiments of this specification should be included within the scope of the claims of the embodiments of this specification.

Claims

1. A method for detecting the stability of a device fingerprint algorithm, characterized in that Including: Determine the test scenario of the application under test based on the response message of the service request for the application under test; When the test scenario is a device fingerprint type test scenario, change the parameters of the same original device fingerprint to obtain multiple test device fingerprints; Send the multiple test device fingerprints to the application under test respectively; Determine the stability of the device fingerprint algorithm according to the device recognition result returned by the application under test for the test device fingerprint; Among them, the changing the parameters of the same original device fingerprint to obtain multiple test device fingerprints includes: using a real device or simulator to change at least one of the device physical address, device unique identifier, advertising identifier, and installed application list in the original device fingerprint to obtain multiple test device fingerprints; or, by sending a device data message to the device fingerprint interface of the test device corresponding to the original device fingerprint, changing at least one of the browser user agent and canvas fingerprint to obtain multiple test device fingerprints; Determining the stability of the device fingerprint algorithm according to the device recognition result returned by the application under test for the test device fingerprint includes: if the device recognition result returned by the application under test for the test device fingerprint is consistent with the device recognition result corresponding to the original device fingerprint, it is determined that the device fingerprint algorithm is stable in recognizing the changed parameters in the test device fingerprint; if the device recognition result returned by the application under test for the test device fingerprint is inconsistent with the device recognition result corresponding to the original device fingerprint, it is determined that the device fingerprint algorithm is unstable in recognizing the changed parameters in the test device fingerprint.

2. The stability detection method of the device fingerprint algorithm according to claim 1, characterized in that The determining the test scenario of the application under test according to the message sent by the application under test includes: Obtain the word segmentation feature and device information collection behavior distribution feature of the response message; Input the word segmentation feature and the device information collection behavior distribution feature into a pre-trained test scenario classification model to obtain the test scenario of the application under test.

3. The stability detection method of the device fingerprint algorithm according to claim 2, wherein The steps of training the test scenario classification model include: Obtain multiple device fingerprint algorithm application instance messages and generate a training data set; Use the training data set to train a machine learning model to obtain the test scenario classification model.

4. The stability detection method of the device fingerprint algorithm according to claim 3, wherein The obtaining multiple device fingerprint algorithm application instance messages and generating a training data set includes: Extract the word segmentation feature and device information collection behavior distribution feature of the device fingerprint algorithm application instance message respectively; Assign classification identifiers to the device fingerprint algorithm application instance messages respectively; Generate a training data set according to the device fingerprint algorithm application instance message and its corresponding word segmentation feature, device information collection behavior distribution feature, and classification identifier.

5. The stability detection method of the device fingerprint algorithm according to claim 1, characterized in that, The determining the stability of the device fingerprint algorithm according to the device recognition result includes: Statistically count the number of test successes and total number of tests corresponding to each test device fingerprint according to the device recognition result; Determine the stability score of the device fingerprint algorithm according to the number of test successes, total number of tests, preset test weight, number of test device fingerprints, and number of changed parameters in the test device fingerprint corresponding to each test device fingerprint.

6. The method for detecting the stability of the device fingerprint algorithm according to claim 5, characterized in that, Counting the number of successful tests and the total number of tests corresponding to each test device fingerprint respectively according to the device recognition result described above, including: Step 1: Initialize the number of successful tests and the total number of tests; Step 2: Send a test device fingerprint to the application under test; Step 3: Increment the total number of tests by one; Step 4: Obtain the device recognition result returned by the application under test for the test device fingerprint; Step 5: Determine whether the device recognition result returned by the test device fingerprint is consistent with the device recognition result of the original device fingerprint; Step 6: If so, increment the number of successful tests by one; Repeat the above steps 2 to 6 until all test device fingerprints have been sent.

7. A stability detection device for an equipment fingerprint algorithm, characterized in that, A method for detecting the stability of the device fingerprint algorithm described in claim 1, including: A test scenario determination module for determining the test scenario of the application under test according to the response message of the application under test based on the service request; A test device fingerprint generation module for changing the parameters of the same original device fingerprint to obtain multiple test device fingerprints when the test scenario is a device fingerprint type test scenario; A test device fingerprint sending module for sending the multiple test device fingerprints to the application under test respectively; A stability determination module for determining the stability of the device fingerprint algorithm according to the device recognition result returned by the application under test for the test device fingerprint.

8. An electronic device, characterized in that, Including: A central processing unit, a memory, and a communication module. A computer program is stored in the memory. The central processing unit can call the computer program. When the central processing unit executes the computer program, it implements the method for detecting the stability of the device fingerprint algorithm described in any one of claims 1 to 6.

9. A computer-readable storage medium for storing a computer program, characterized in that, The computer program, when executed by a processor, implements the method for detecting the stability of the device fingerprint algorithm described in any one of claims 1 to 6.

10. A computer program product, including a computer program, which, when executed by a processor, implements the method for detecting the stability of the device fingerprint algorithm described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Method, device and equipment for detecting service logic vulnerability and medium

    CN110414242A

  • Vulnerability testing method and system in login scene

    CN111931188A