A software protection method, system, device and medium based on artificial intelligence

Through artificial intelligence-based software protection methods, graph convolution networks and video processing models are used to analyze user input data and screen recording videos, and dynamically adjust software protection measures to solve the problem of cracking risks caused by fuzz testing and improve software security. .

CN118839320BActive Publication Date: 2025-01-24SICHUAN CIRUI TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411158845.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-22
Publication Date
2025-01-24
Estimated Expiration
2044-08-22

AI Technical Summary

Technical Problem

The existing technology is difficult to effectively deal with the cracking risks brought by fuzz testing, and traditional software protection methods are difficult to adapt to dynamically changing fuzz testing attack technology.

Method used

Adopting artificial intelligence -based software protection methods, by obtaining the input data of the user at different time points, the data chart structure is constructed and the probability value of the fuzzy test is determined using the diagram convolution network. When the probability value is greater than the risk threshold, the screen recording function is turned on, and the screen recording video is analyzed using the video processing model (such as the door control cycle unit) to determine the possible degree of user cracking software, so as to determine software protection measures based on this extent.

Benefits of technology

Effectively respond to cracking risks brought about by vague tests, improve the degree of safety of software, and can dynamically adjust protection measures to cope with different levels of cracking risks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118839320B_ABST
    Figure CN118839320B_ABST
Patent Text Reader

Abstract

The present invention provides a software protection method, system, device and medium based on artificial intelligence. The present invention relates to the field of software protection technology. The method comprises obtaining multiple data input by a user at different time points; determining a probability value of a fuzzy test based on the multiple data input by the user at different time points; turning on a screen recording function when the probability value of the fuzzy test is greater than a risk threshold; obtaining a screen recording video obtained after turning on the screen recording function; determining the possibility of a user cracking the software based on the screen recording video using a video processing model; determining software protection measures based on the possibility of a user cracking the software; and protecting the software based on the software protection measures. The method can cope with the cracking risk brought by the fuzzy test and improve the software security.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of software protection, and in particular to a software protection method, system, device and medium based on artificial intelligence. Background Art

[0002] With the rapid development of information technology, the widespread use of software has brought many security challenges. Software protection, especially protection against cracking and illegal use, has become an important research field. Especially for the software testing method of fuzz testing, protection measures are particularly critical.

[0003] Fuzz testing is an automated software testing technique that sends a large amount of random or abnormal data to the software's input interface in an attempt to trigger unhandled exceptions or errors inside the software. The main goal of this method is to discover security vulnerabilities and defects in the software and reveal potential weaknesses in the software's boundary conditions and error handling mechanisms. Since fuzz testing can effectively discover many security risks, some criminals also use fuzz testing to find software vulnerabilities in order to crack the software's protection measures. Traditional software protection methods usually rely on static detection and static analysis, which are difficult to adapt to dynamically changing fuzz testing attack techniques. Therefore, there is an urgent need for a software protection solution to deal with the cracking risks brought by fuzz testing. Summary of the invention

[0004] The main technical problem solved by the present invention is how to deal with the cracking risks brought by fuzzy testing and improve the security level of software.

[0005] According to a first aspect, the present invention provides a software protection method based on artificial intelligence, comprising: obtaining multiple data input by a user at different time points; determining a probability value of a fuzzy test based on the multiple data input by the user at different time points; turning on a screen recording function when the probability value of the fuzzy test is greater than a risk threshold; obtaining a screen recording video obtained after turning on the screen recording function; determining the possibility of a user cracking the software based on the screen recording video using a video processing model; determining software protection measures based on the possibility of the user cracking the software; and protecting the software based on the software protection measures.

[0006] In one possible implementation, determining the probability value of the fuzzy test based on the multiple data input by the user at different time points includes: constructing a data graph structure based on the multiple data input by the user at different time points, the data graph structure including multiple nodes and multiple edges between the multiple nodes, each node representing data input by the user at a time point, and the features of the edges between the nodes representing the time difference between different nodes; and processing the data graph structure based on a graph convolutional network to determine the probability value of the fuzzy test.

[0007] In a possible implementation, the video processing model is a gated recurrent unit, the input of the video processing model is the screen recording video, and the output of the video processing model is the possibility of the user cracking the software.

[0008] In a possible implementation, determining software protection measures based on the possibility of the user cracking the software includes: when the possibility of the user cracking the software is higher than or equal to a preset threshold, implementing a preset strict software protection policy; when the possibility of the user cracking the software is lower than the preset threshold, maintaining the status quo.

[0009] According to a second aspect, the present invention provides a software protection system based on artificial intelligence, comprising:

[0010] A first acquisition module is used to acquire multiple data input by the user at different time points;

[0011] A probability value determination module, used to determine the probability value of the fuzzy test based on multiple data input by the user at different time points;

[0012] An enabling module, used to enable the screen recording function when the probability value of the fuzzy test is greater than a risk threshold;

[0013] The second acquisition module is used to acquire the screen recording video obtained after the screen recording function is turned on;

[0014] A possibility determination module, used to determine the possibility of a user cracking the software based on the screen recording video using a video processing model;

[0015] A protection measure determination module, used to determine software protection measures based on the possibility of the user cracking the software;

[0016] A protection module is used to protect the software based on the software protection measure.

[0017] In a possible implementation manner, the probability value determination module is further used to:

[0018] A data graph structure is constructed based on multiple data input by the user at different time points, wherein the data graph structure includes multiple nodes and multiple edges between the multiple nodes, each node represents data input by the user at a time point, and the features of the edges between the nodes represent the time difference between different nodes; the data graph structure is processed based on a graph convolutional network to determine the probability value of the fuzzy test.

[0019] In a possible implementation, the video processing model is a gated recurrent unit, the input of the video processing model is the screen recording video, and the output of the video processing model is the possibility of the user cracking the software.

[0020] In a possible implementation, the protection measure determination module is further used to:

[0021] When the possibility of the user cracking the software is higher than or equal to a preset threshold, a preset strict software protection policy is implemented;

[0022] When the possibility of the user cracking the software is lower than a preset threshold, the status quo is maintained.

[0023] According to a third aspect, an embodiment of the present invention provides an electronic device, comprising: a processor; a memory; and a computer program; wherein the computer program is stored in the memory and is configured to be executed by the processor to implement a method as described above, the method comprising: obtaining multiple data input by a user at different time points; determining a probability value of a fuzzy test based on the multiple data input by the user at different time points; turning on a screen recording function when the probability value of the fuzzy test is greater than a risk threshold; obtaining a screen recording video obtained after turning on the screen recording function; determining the possibility of a user cracking the software based on the screen recording video using a video processing model; determining software protection measures based on the possibility of the user cracking the software; and protecting the software based on the software protection measures.

[0024] According to the fourth aspect, the present embodiment provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the aforementioned artificial intelligence-based software protection method, the method comprising: obtaining multiple data input by a user at different time points; determining a probability value of a fuzzy test based on the multiple data input by the user at different time points; turning on a screen recording function when the probability value of the fuzzy test is greater than a risk threshold; obtaining a screen recording video obtained after turning on the screen recording function; determining the possibility of a user cracking the software using a video processing model based on the screen recording video; determining software protection measures based on the possibility of the user cracking the software; and protecting the software based on the software protection measures.

[0025] The present invention provides a software protection method and system based on artificial intelligence, which includes obtaining multiple data input by a user at different time points; determining a probability value of a fuzzy test based on the multiple data input by the user at different time points; turning on a screen recording function when the probability value of the fuzzy test is greater than a risk threshold; obtaining a screen recording video obtained after turning on the screen recording function; determining the possibility of a user cracking the software based on the screen recording video using a video processing model; determining software protection measures based on the possibility of the user cracking the software; and protecting the software based on the software protection measures. The method can cope with the cracking risks brought by fuzzy testing and improve the software security. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] Figure 1 A schematic diagram of an application scenario of an artificial intelligence-based software protection method provided by an embodiment of the present invention;

[0027] Figure 2 A flowchart of a software protection method based on artificial intelligence provided by an embodiment of the present invention;

[0028] Figure 3 A schematic diagram of a flow chart of determining a probability value of a fuzzy test based on multiple data input by a user at different time points provided by an embodiment of the present invention;

[0029] Figure 4 A schematic diagram of a data graph structure provided by an embodiment of the present invention;

[0030] Figure 5 A schematic diagram of an artificial intelligence-based software protection system provided by an embodiment of the present invention;

[0031] Figure 6 A schematic diagram of an electronic device provided by an embodiment of the present invention;

[0032] Figure 7 A schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0033] The present invention is further described in detail below by specific embodiments in conjunction with the accompanying drawings. Wherein similar elements in different embodiments adopt associated similar element numbers. In the following embodiments, many detailed descriptions are for making the present invention better understood. However, those skilled in the art can easily recognize that some features can be omitted in different situations, or can be replaced by other elements, materials, methods. In some cases, some operations related to the present invention are not shown or described in the specification, this is to avoid the core part of the present invention being overwhelmed by too much description, and for those skilled in the art, it is not necessary to describe these related operations in detail, and they can fully understand the related operations according to the description in the specification and the general technical knowledge in the art.

[0034] Figure 1 A schematic diagram of an application scenario of an artificial intelligence-based software protection method provided in an embodiment of the present invention. Figure 1 The application scenario of the artificial intelligence-based software protection method may include a server 11, a network 12, a terminal 13 and a storage device 14.

[0035] In some embodiments, the server 11 may be a single server or a server group. The server 11 may access information and / or data stored in the terminal 13 or the storage device 14 through the network 12. In some embodiments, the server 11 may be used to execute Figure 2 The artificial intelligence-based software protection method shown in .

[0036] The network 12 may facilitate the exchange of information and / or data. In some embodiments, the network 12 may be any form of wired or wireless network, or any combination thereof.

[0037] Terminal 13 may refer to one or more terminal devices used by a user. In some embodiments, terminal 13 may include one or more combinations of a mobile device, a tablet computer, a laptop computer, etc. For example, the terminal may store a screen recording video obtained after the screen recording function is turned on.

[0038] The storage device 14 may store data and / or instructions. For example, the storage device 14 may store data instructions of an artificial intelligence-based software protection method.

[0039] Fuzz Testing is a software testing method that is mainly used to discover security vulnerabilities and defects in software. The basic principle of fuzz testing is to send a large amount of random or abnormal data to the input interface of the software to trigger unhandled exceptions or errors inside the software, thereby revealing potential problems in the software. Fuzz testing can be used to discover vulnerabilities in the software, which may be exploited by attackers to crack the software. Fuzz testing can discover security vulnerabilities in the software, such as buffer overflow, integer overflow, SQL injection, etc. Attackers can exploit these vulnerabilities to gain unauthorized access or execute arbitrary code. The information collected during fuzz testing can help attackers better understand how the software works, thereby assisting in reverse engineering activities. Reverse engineering can be used to analyze the encryption algorithm or other protection measures of the software in order to crack it.

[0040] In an embodiment of the present invention, there is provided Figure 2 The software protection method based on artificial intelligence shown in the figure can effectively deal with fuzz testing. The software protection method based on artificial intelligence includes steps S1 to S7:

[0041] Step S1, obtaining multiple data input by the user at different time points.

[0042] The multiple data input by the user at different time points refers to any type of information provided by the user during the interaction with the software. The multiple data input by the user at different time points may include but are not limited to text input data, numerical input data, file upload data, selection input data, etc.

[0043] Text input data includes things like usernames, passwords, search queries, etc.

[0044] Numerical input data includes age, amount, quantity, etc.

[0045] File upload data includes photos, documents, audio files, etc.

[0046] Selecting input data includes selecting from drop-down menus, radio buttons, etc.

[0047] Step S2, determining a probability value of a fuzzy test based on a plurality of data input by the user at different time points.

[0048] In some embodiments, Figure 3 A flow chart of determining a probability value of a fuzzy test based on multiple data input by a user at different time points provided in an embodiment of the present invention, wherein the process of determining a probability value of a fuzzy test based on multiple data input by a user at different time points comprises steps S21 to S22:

[0049] Step S21, constructing a data graph structure based on multiple data input by the user at different time points, the data graph structure includes multiple nodes and multiple edges between the multiple nodes, each node represents data input by the user at a time point, and the characteristics of the edges between the nodes represent the time difference between different nodes.

[0050] Figure 4 A schematic diagram of a data graph structure provided by an embodiment of the present invention, such as Figure 4 As shown, the data graph structure includes node A, node B, node C, and node D. Node A, node B, node C, and node D respectively represent data input at different time points. The characteristics of the edges between the nodes represent the time difference between different nodes. For example, node A, node B, node C, and node D are arranged in chronological order.

[0051] Step S22: Process the data graph structure based on a graph convolutional network to determine a probability value of a fuzzy test.

[0052] A graph convolutional network (GCN) is a deep learning model for processing graph structure data. The input of the graph convolutional network is the data graph structure, and the output of the graph convolutional network is the probability value of the fuzzy test.

[0053] Graph Convolutional Network (GCN) is a deep learning model for processing graph structured data. GCN can learn the relationship between nodes from graph structured data and extract useful information from it. Graph Convolutional Network is a way to implement artificial intelligence.

[0054] The output of the graph convolutional network will be used to determine the risk level of the user's behavior. The output may be a probability value, and the probability value of the fuzzy test indicates the likelihood of the fuzzy test. The larger the probability value of the fuzzy test, the more likely it is a fuzzy test.

[0055] By building a graph structure, the temporal order of user operations can be explicitly represented, which is particularly important for detecting fuzz testing, because fuzz testing usually involves a series of carefully designed operation sequences. Figure 4 In the graph, nodes A, B, C, and D are arranged in chronological order, which can clearly reflect the time series of user behavior. The graph structure can capture the associations between different operations, which is very useful for identifying abnormal behavior patterns. In fuzz testing, attackers may use specific sequences of operations to trigger vulnerabilities in the software. The graph structure makes it easier to find the connections between these operations. Graph convolutional networks are able to process graph-structured data and learn from the complex relationships between nodes. This enables the model to effectively capture patterns in user behavior and be used to evaluate the possibility of fuzz testing. Graph structures can help detect abnormal behavior, especially those sequences of operations that do not match normal behavior patterns. For example, if a user performs a series of unconventional operations in succession in a short period of time, this may indicate a risk of fuzz testing. By representing the time difference between different nodes through the edges between nodes, we can better understand the time sequence of user operations, which is particularly important for detecting fuzz testing. For example, in Figure 4 In the example, the time difference between node A and node B is two seconds, which reflects the time interval between the two operations of the user.

[0056] Step S3, when the probability value of the fuzzy test is greater than the risk threshold, the screen recording function is turned on.

[0057] The result obtained by processing the data graph structure through the graph convolution network indicates the probability that the user behavior is a fuzz test. The higher the probability value, the more likely the user behavior is a fuzz test. The risk threshold is a pre-set value used to determine whether the risk level of the user behavior has reached the level where screen recording needs to be enabled. If the probability value of the fuzz test exceeds this threshold, the user behavior is considered to have a high risk.

[0058] Step S4, obtaining the screen recording video obtained after the screen recording function is turned on.

[0059] Screen recording videos are video files obtained after the screen recording function is turned on. They record the screen activities of the user when using the software. Saving screen recording videos as evidence can provide assistance in subsequent analysis.

[0060] Step S5, determining the possibility of the user cracking the software using a video processing model based on the screen recording video.

[0061] The video processing model is a gated recurrent unit, the input of the video processing model is the screen recording video, and the output of the video processing model is the possibility of the user cracking the software. The gated recurrent unit (GRU) can effectively process sequence data by introducing a gating mechanism to control the flow of information. The gated recurrent unit (GRU) model includes an input layer, a hidden layer, and an output layer. The gated recurrent unit is an implementation method of artificial intelligence.

[0062] Screen recording videos are essentially a series of image frames arranged in chronological order and can be regarded as a kind of sequence data. The gated recurrent unit can capture the temporal relationship between these frames and learn the characteristics of user behavior. The gated recurrent unit controls the flow of information by introducing a gating mechanism, which means that it can remember important information and use it at subsequent moments. When processing screen recording videos, this memory ability can help the model understand the continuity of user behavior, such as a series of operations performed continuously by the user. Screen recording videos contain rich visual information, including user operations, window switching, text input, etc. The gated recurrent unit can handle this complexity and extract meaningful features from the video.

[0063] In some embodiments, the video processing model includes a video analysis layer and a possibility determination layer. The video analysis layer and the possibility determination layer both include a gated loop unit, the input of the video analysis layer is the screen recording video, the output of the video analysis layer is user mouse operation record sequence data, user keyboard operation record sequence data, software interface change sequence data, software prompt information sequence data, the input of the possibility determination layer is user mouse operation record sequence data, user keyboard operation record sequence data, software interface change sequence data, software prompt information sequence data, and the output of the possibility determination layer is the possibility of the user cracking the software.

[0064] The user mouse operation record sequence data includes sequence data of user mouse operations extracted from the screen recording video, such as clicks, drags, etc. For example, the user clicks the file menu, selects the new option, double-clicks a folder, etc.

[0065] The user keyboard operation record sequence data includes the user keyboard input sequence data extracted from the screen recording video, such as typed commands, texts, etc. For example, the user inputs "newfile.txt" and presses the Enter key.

[0066] The software interface change sequence data includes the software interface change sequence data extracted from the screen recording video, such as the opening and closing of windows, the expansion and collapse of menus, etc. For example, the user opens a new window, closes the current window, etc.

[0067] The software prompt information sequence data includes sequence data of software prompt information extracted from the screen recording video, such as error messages, warnings, etc. For example, error messages, warnings, etc. received by the user.

[0068] The video analysis layer is mainly responsible for extracting key behavioral features from the original screen recording video, such as user mouse operations, keyboard operations, software interface changes, and prompt information. The purpose of this layer is to convert the video into a more structured and processable data form. The possibility determination layer further processes the features extracted in the first layer to determine whether the user behavior poses a risk of cracking the software. The task of this layer is to assess the degree of risk based on the extracted behavioral features. By dividing the video processing model into two levels, a hierarchical processing flow can be achieved, that is, feature extraction first and then risk assessment. Such a hierarchical division is conducive to model learning and optimization, enabling the model to better capture abnormal patterns in user behavior.

[0069] Step S6: determining software protection measures based on the possibility of the user cracking the software.

[0070] In some embodiments, when the possibility of the user cracking the software is higher than or equal to a preset threshold, a preset strict software protection policy is implemented; when the possibility of the user cracking the software is lower than the preset threshold, the status quo is maintained. The preset strict software protection policy can be manually set in advance.

[0071] The preset strict software protection policy is a set of protection measures set in advance to prevent the software from being cracked. The preset strict software protection policy may include but is not limited to strengthening the authentication mechanism, restricting the use of functions, locking accounts, etc.

[0072] Step S7: protecting the software based on the software protection measure.

[0073] After the software protection measures are determined, the software is protected.

[0074] Based on the same inventive concept, Figure 5 A schematic diagram of an artificial intelligence-based software protection system provided in an embodiment of the present invention, wherein the artificial intelligence-based software protection system comprises:

[0075] The first acquisition module 51 is used to acquire the test user information and the test video of the test user's software to be authorized;

[0076] An estimated time period determination module 52 is used to determine an estimated familiarity time period of the test user and a real experience time period required by the test user based on the test video of the software to be authorized of the test user and the test user information using an estimated time period determination model;

[0077] The second acquisition module 53 is used to obtain information of multiple historical users and a trial authorization time period corresponding to each historical user;

[0078] A similar historical user determination module 54 is used to determine a plurality of similar historical users, a similarity between the test user and each similar historical user based on the plurality of historical user information and the test user information;

[0079] A construction module 55, configured to construct a user graph structure based on the estimated familiarity period of the test user, the actual experience period required by the test user, the multiple similar historical users, and the similarity between the test user and each similar historical user;

[0080] An authorization time determination module 56 is used to process the user graph structure based on a graph autoencoder to determine a target trial period authorization time for the software to be authorized;

[0081] The authorization module 57 is used to perform software authorization based on the target trial period authorization time of the software to be authorized.

[0082] Based on the same inventive concept, an embodiment of the present invention provides an electronic device, such as Figure 6 As shown, including:

[0083] The invention comprises: a processor 61; a memory 62; and a computer program; wherein the computer program is stored in the memory 62 and is configured to be executed by the processor 61 to implement the software protection method based on artificial intelligence as provided above, the method comprising: obtaining test user information and a test video of the software to be authorized of the test user; determining the estimated familiarity time period of the test user and the real experience time period required by the test user using an estimated time period determination model based on the test video of the software to be authorized of the test user and the test user information; obtaining multiple historical user information and the trial authorization time period corresponding to each historical user; determining multiple similar historical users and the similarity between the test user and each similar historical user based on the multiple historical user information and the test user information; constructing a user graph structure based on the estimated familiarity time period of the test user, the real experience time period required by the test user, the multiple similar historical users, and the similarity between the test user and each similar historical user; processing the user graph structure based on a graph autoencoder to determine a target trial authorization time of the software to be authorized; and performing software authorization based on the target trial authorization time of the software to be authorized.

[0084] Based on the same inventive concept, this embodiment provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor 61, implements the aforementioned artificial intelligence-based software protection method, the method comprising: obtaining test user information and a test video of the test user's software to be authorized; determining the test user's estimated familiarity time period and the actual experience time period required by the test user using an estimated time period determination model based on the test video of the software to be authorized by the test user and the test user information; obtaining multiple historical user information and a trial authorization time period corresponding to each historical user; determining multiple similar historical users and the similarity between the test user and each similar historical user based on the multiple historical user information and the test user information; constructing a user graph structure based on the test user's estimated familiarity time period, the actual experience time period required by the test user, the multiple similar historical users, and the similarity between the test user and each similar historical user; processing the user graph structure based on a graph autoencoder to determine a target trial authorization time for the software to be authorized; and performing software authorization based on the target trial authorization time for the software to be authorized.

[0085] The artificial intelligence-based software protection method provided in the embodiments of the present application can be applied to terminal devices (such as mobile phones), tablet computers, laptops, ultra-mobile personal computers (UMPCs), handheld computers, netbooks, personal digital assistants (PDAs), wearable devices (such as smart watches, smart glasses or smart helmets, etc.), augmented reality (AR) and virtual reality (VR) devices, smart home devices, car computers and other electronic devices, and the embodiments of the present application do not impose any restrictions on this.

[0086] Taking the mobile phone 100 as an example of the electronic device, Figure 7 A schematic structural diagram of the mobile phone 100 is shown.

[0087] like Figure 7As shown, the mobile phone 100 may include a processing module 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc.

[0088] The processing module 110 may include one or more processing units, for example, the processing module 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.

[0089] The processing module 110 can be used to: obtain multiple data input by the user at different time points; determine the probability value of the fuzzy test based on the multiple data input by the user at different time points; turn on the screen recording function when the probability value of the fuzzy test is greater than the risk threshold; obtain the screen recording video obtained after turning on the screen recording function; determine the possibility of the user cracking the software based on the screen recording video using a video processing model; determine the software protection measures based on the possibility of the user cracking the software; and protect the software based on the software protection measures.

[0090] The basic concepts have been described above. Obviously, for those skilled in the art, the above detailed disclosure is only for example and does not constitute a limitation of this specification. Although not explicitly stated here, those skilled in the art may make various modifications, improvements and corrections to this specification. Such modifications, improvements and corrections are suggested in this specification, so such modifications, improvements and corrections still belong to the spirit and scope of the exemplary embodiments of this specification.

[0091] At the same time, this specification uses specific words to describe the embodiments of this specification. For example, "one embodiment", "an embodiment", and / or "some embodiments" refer to a certain feature, structure or characteristic related to at least one embodiment of this specification. Therefore, it should be emphasized and noted that "one embodiment" or "an embodiment" or "an alternative embodiment" mentioned twice or more in different positions in this specification does not necessarily refer to the same embodiment. In addition, certain features, structures or characteristics in one or more embodiments of this specification can be appropriately combined.

[0092] In addition, unless explicitly stated in the claims, the order of the processing elements and sequences described in this specification, the use of alphanumeric characters, or the use of other names are not intended to limit the order of the processes and methods of this specification. Although the above disclosure discusses some invention embodiments that are currently considered useful through various examples, it should be understood that such details are only for illustrative purposes, and the attached claims are not limited to the disclosed embodiments. On the contrary, the claims are intended to cover all modifications and equivalent combinations that are consistent with the essence and scope of the embodiments of this specification. For example, although the system components described above can be implemented by hardware devices, they can also be implemented only by software solutions, such as installing the described system on an existing server or mobile device.

[0093] Similarly, it should be noted that in order to simplify the description disclosed in this specification and thus help understand one or more embodiments of the invention, in the above description of the embodiments of this specification, multiple features are sometimes combined into one embodiment, figure or description thereof. However, this disclosure method does not mean that the features required by the subject matter of this specification are more than the features mentioned in the claims. In fact, the features of the embodiments are less than all the features of the single embodiment disclosed above.

[0094] Finally, it should be understood that the embodiments described in this specification are only used to illustrate the principles of the embodiments of this specification. Other variations may also fall within the scope of this specification. Therefore, as an example and not a limitation, alternative configurations of the embodiments of this specification may be considered consistent with the teachings of this specification. Accordingly, the embodiments of this specification are not limited to the embodiments explicitly introduced and described in this specification.

Claims

1. A software protection method based on artificial intelligence, characterized in that: include: Get multiple data input by users at different time points; Determining the probability value of the fuzzy test based on the multiple data input by the user at different time points, wherein determining the probability value of the fuzzy test based on the multiple data input by the user at different time points includes: Building a data graph structure based on the multiple data input by the user at different time points, the data graph structure includes multiple nodes and multiple edges between the multiple nodes, each node represents the data input by the user at a time point, and the features of the edges between the nodes represent the time difference between different nodes; Processing the data graph structure based on a graph convolutional network to determine a probability value of a fuzzy test; When the probability value of the fuzzy test is greater than the risk threshold, the screen recording function is turned on; Get the screen recording video after turning on the screen recording function; Determine the possibility of the user cracking the software using a video processing model based on the screen recording video, wherein the video processing model is a gated loop unit, the input of the video processing model is the screen recording video, and the output of the video processing model is the possibility of the user cracking the software; Determining software protection measures based on the likelihood of the user cracking the software; The software is protected based on the software protection measure.

2. The software protection method based on artificial intelligence according to claim 1, characterized in that: Determining the software protection measures based on the possibility of the user cracking the software includes: When the possibility of the user cracking the software is higher than or equal to a preset threshold, a preset strict software protection policy is implemented; When the possibility of the user cracking the software is lower than a preset threshold, the status quo is maintained.

3. A software protection system based on artificial intelligence, characterized in that: include: A first acquisition module is used to acquire multiple data input by the user at different time points; A probability value determination module is used to determine the probability value of the fuzzy test based on the multiple data input by the user at different time points, and the probability value determination module is also used to: Building a data graph structure based on the multiple data input by the user at different time points, the data graph structure includes multiple nodes and multiple edges between the multiple nodes, each node represents the data input by the user at a time point, and the features of the edges between the nodes represent the time difference between different nodes; Processing the data graph structure based on a graph convolutional network to determine a probability value of a fuzzy test; An enabling module, used to enable the screen recording function when the probability value of the fuzzy test is greater than a risk threshold; The second acquisition module is used to acquire the screen recording video obtained after the screen recording function is turned on; A possibility determination module, used to determine the possibility of the user cracking the software based on the screen recording video using a video processing model, wherein the video processing model is a gated loop unit, the input of the video processing model is the screen recording video, and the output of the video processing model is the possibility of the user cracking the software, wherein the video processing model is a gated loop unit, the input of the video processing model is the screen recording video, and the output of the video processing model is the possibility of the user cracking the software; A protection measure determination module, used to determine software protection measures based on the possibility of the user cracking the software; A protection module is used to protect the software based on the software protection measure.

4. The artificial intelligence-based software protection system according to claim 3, characterized in that: The protection measure determination module is also used for: When the possibility of the user cracking the software is higher than or equal to a preset threshold, a preset strict software protection policy is implemented; When the possibility of the user cracking the software is lower than a preset threshold, the status quo is maintained.

5. An electronic device, characterized in that: include: processor; Memory; And a computer program; wherein the computer program is stored in the memory and is configured to be executed by the processor to implement the artificial intelligence-based software protection method as described in any one of claims 1 to 2.

6. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the artificial intelligence-based software protection method as described in any one of claims 1 to 2 is implemented.

Citation Information

Patent Citations

  • Software security protection method and device

    CN106803037A

  • Software intelligent anti-attack protection system

    CN110837626A