Intelligent terminal application sensitive behavior and privacy policy consistency analysis method and device
Patent Information
- Application Number
- CN202310920155.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-24
- Publication Date
- 2026-10-20
- Estimated Expiration
- 2043-07-24
AI Technical Summary
[0004]有鉴于此,本申请提供了一种智能终端应用敏感行为与隐私政策一致性分析方法及装置,用于解决应用的隐私政策的描述并不规范,与其实际进行的敏感行为相违背,导致无法保证用户信息的安全的问题
[0086]从上述的技术方案可以看出,本申请实施例提供的智能终端应用敏感行为与隐私政策一致性分析方法,由于对于每一目标应用实际产生的目标敏感行为数据,均判断是否满足任一条设定不一致条件,当目标敏感行为数据满足任一条不一致条件时,输出目标应用的目标隐私政策与目标敏感行为数据对应的目标敏感行为不一致的结论及目标敏感行为数所满足的不一致条件,避免了目标应用的目标隐私政策的描述不规范,与其实际进行的目标敏感行为相违背的情况,保证了用户信息的安全。
Smart Images

Figure CN116933316B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of Internet technology, and more specifically, to a method and apparatus for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications. Background Technology
[0002] With the development of network information technology, various applications on smart terminals have been integrated into all aspects of people's lives, bringing them great convenience. However, as the application market continues to expand, the applications within it are becoming increasingly complex. Some applications' sensitive actions may leak user information, making user information increasingly insecure. To protect user information security, application developers are required to attach a privacy policy when uploading their applications to the application market. The privacy policy can declare which sensitive actions will be performed, and the application can perform these sensitive actions after the user agrees.
[0003] However, some applications have poorly defined privacy policies that contradict their actual sensitive practices, making it impossible to guarantee the security of user information. Summary of the Invention
[0004] In view of this, this application provides a method and apparatus for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications, which is used to solve the problem that the description of the application's privacy policy is not standardized and contradicts the sensitive behaviors it actually performs, resulting in the inability to guarantee the security of user information.
[0005] To achieve the above objectives, the following solution is proposed:
[0006] A method for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications includes:
[0007] Obtain the target privacy policy of the target application to be analyzed, as well as the target sensitive behavior data actually generated by the target application.
[0008] For each target-sensitive behavior data, determine whether it meets any of the following inconsistent conditions:
[0009] The target privacy policy does not contain a statement regarding the target sensitive behaviors corresponding to the target sensitive behavior data;
[0010] All statements regarding the target sensitive behaviors in the target privacy policy indicate that the target sensitive behaviors will not be performed;
[0011] The target privacy policy contains both statements indicating that the target sensitive behavior will be performed and statements indicating that the target sensitive behavior will not be performed;
[0012] If so, output the conclusion that the target privacy policy is inconsistent with the target sensitive behavior and the inconsistency conditions satisfied by the target sensitive behavior data.
[0013] Preferably, it further includes:
[0014] For each set of target-sensitive behavioral data, determine whether it meets any of the following consistent conditions:
[0015] All statements regarding the target sensitive behaviors in the target privacy policy indicate that the target sensitive behaviors will be performed;
[0016] The statements regarding the sensitive actions to be performed in the target privacy policy are sufficient to cover the target sensitive actions;
[0017] If so, output the conclusion that the target privacy policy is consistent with the target sensitive behavior and the consistency conditions satisfied by the target sensitive behavior data.
[0018] Preferably, after obtaining the target privacy policy of the target application to be analyzed and the target sensitive behavior data actually generated by the target application, the method further includes:
[0019] Extract the statements regarding sensitive behaviors from the target privacy policy;
[0020] The process of determining whether the target sensitive behavior data meets the consistency and inconsistency conditions includes:
[0021] Based on the statements of each sensitive behavior in the target privacy policy, determine whether the target sensitive behavior data meets the consistency condition and the inconsistency condition.
[0022] Preferably, the statements regarding sensitive behaviors in the target privacy policy are extracted, including:
[0023] The target privacy policy is input into a preset sensitive behavior statement extraction model to obtain the extracted statements of each sensitive behavior in the target privacy policy. The sensitive behavior statement extraction model is a model trained using each first training privacy policy as training samples and the pre-extracted statements of each first training sensitive behavior in each first training privacy policy as sample labels.
[0024] Preferably, the statement of sensitive behavior in the extracted privacy policy specifically includes: a first combination of the data type, entity, and action corresponding to the sensitive behavior, wherein the data type corresponding to the sensitive behavior is the type of sensitive information involved in the sensitive behavior, the entity corresponding to the sensitive behavior is the entity to which the sensitive information involved flows, and the action corresponding to the sensitive behavior indicates whether the sensitive information corresponding to the sensitive behavior will flow to the entity corresponding to the sensitive behavior or will not flow to the entity corresponding to the sensitive behavior.
[0025] Preferably, the action corresponding to the sensitive behavior is a preset first identifier or a preset second identifier. When the action corresponding to the sensitive behavior is the first identifier, it means that the sensitive information corresponding to the sensitive behavior will flow to the entity corresponding to the sensitive behavior. When the action corresponding to the sensitive behavior is the second identifier, it means that the sensitive information corresponding to the sensitive behavior will not flow to the entity corresponding to the sensitive behavior.
[0026] Preferably, for each of the first training privacy policies, the process of extracting the first combination corresponding to each of the first training sensitive behaviors in the first training privacy policy includes:
[0027] Extract key information regarding sensitive behaviors of the first training from the first training privacy policy;
[0028] Extract the data types that match the key information from the preset data type label library;
[0029] Extract entities that match the key information from the preset entity annotation library;
[0030] Extract actions that match the key information from a pre-defined action annotation library;
[0031] Based on the extracted data types, entities, and actions that match the first training sensitive behavior, a first combination corresponding to the first training sensitive behavior is constructed.
[0032] Preferably, the construction process of the data type annotation library, the entity annotation library, and the action annotation library includes:
[0033] Obtain the preset privacy policies for each second training session;
[0034] Obtain each statement in the privacy policy of each second training session;
[0035] Each sentence is segmented into words to obtain the segmentation results for each sentence;
[0036] In the word segmentation results of each statement, search for words with data type attributes, words with entity attributes, and words with action attributes.
[0037] The data type annotation library is constructed based on the words with data type attributes found.
[0038] The entity annotation library is constructed based on the words with entity attributes found.
[0039] The action annotation library is constructed based on the words with action attributes found.
[0040] Preferably, the process of acquiring the target sensitive behavior data actually generated by the target application includes:
[0041] A second combination of the data types of sensitive information actually generated in the target application and the entities to which the sensitive information actually flows is obtained using a preset static analysis algorithm or dynamic analysis algorithm, which serves as the target sensitive behavior data actually generated by the target application.
[0042] Preferably, the process of obtaining the data type of the sensitive information actually generated in the target application and the second combination of the entities to which the sensitive information actually flows using a preset static analysis algorithm includes:
[0043] Obtain the API calls from the target application;
[0044] Based on each API call, obtain the second combination of the data type of the sensitive information actually generated in the target application and the entity to which the sensitive information actually flows.
[0045] Preferably, the second combination of entities that obtain the data type of the sensitive information actually generated in the target application and the actual flow direction of the sensitive information based on each API call includes:
[0046] Determine a preset list of sensitive information sources and a preset list of sensitive information aggregates, wherein the list of sensitive information sources includes preset data types of each sensitive information, and the list of sensitive information aggregates includes preset entities to which each sensitive information flows;
[0047] The process iteratively executes steps to determine the data type matched by any API call in the sensitive information source list and the entity matched by any API call in the sensitive information aggregate list. If the matched data type and entity have not been determined, the combination of the matched data type and entity is determined as the second combination of the data type of the sensitive information actually generated in the target application and the entity to which the sensitive information actually flows. This process continues until the data type and entity matched by all API calls are determined.
[0048] Preferably, the absence of any statement regarding the target sensitive behavior in the target privacy policy specifically means that none of the first combinations corresponding to the target privacy policy are associated with the second combination;
[0049] The statements regarding the target sensitive behaviors in the target privacy policy all indicate that the target sensitive behaviors will not be performed. Specifically, for each target privacy policy corresponding to the first combination associated with the second combination, the actions in the first combination are all identified by the second identifier.
[0050] The target privacy policy contains both statements indicating that the target sensitive behavior will be performed and statements indicating that the target sensitive behavior will not be performed. Specifically, the first combination corresponding to the target privacy policy associated with the second combination contains both a first combination that includes the action of the first identifier and a first combination that includes the action of the second identifier.
[0051] The statements regarding the target sensitive behaviors in the target privacy policy all indicate that performing the target sensitive behaviors specifically means that, for each target privacy policy associated with the second combination, the data type in the first combination is consistent with the data type in the second combination, the entity in the first combination is consistent with the entity in the second combination, and the action in the first combination is the first identifier.
[0052] The statement of sensitive actions to be performed in the target privacy policy can cover the target sensitive actions in the following ways: for each first combination corresponding to the target privacy policy associated with the second combination, the data type in the second combination belongs to the data type in the first combination and the entity in the second combination belongs to the entity in the first combination, or, the data type in the second combination belongs to the data type in the first combination and the entity in the second combination is the same as the entity in the first combination, or, the data type in the second combination is the same as the data type in the first combination and the entity in the second combination belongs to the entity in the first combination, and the action in the first combination is the first identifier.
[0053] Preferably, the process of determining the first combination corresponding to the target privacy policy associated with the second combination includes:
[0054] For each of the target privacy policies mentioned, the first combination is:
[0055] Calculate the semantic similarity between the data types in the first combination and the data types in the second combination;
[0056] Calculate the semantic similarity between entities in the first combination and entities in the second combination;
[0057] When the semantic similarity between the data types in the first combination and the data types in the second combination is greater than 0, and the semantic similarity between the entities in the first combination and the entities in the second combination is greater than 0, the first combination is determined to be a combination associated with the second combination.
[0058] Preferably, the process of determining whether the data type in the first combination is consistent with the data type in the second combination, and whether the entity in the first combination is consistent with the entity in the second combination, includes:
[0059] Determine whether the semantic similarity between the data types in the first combination and the data types in the second combination, and the semantic similarity between the entities in the first combination and the entities in the second combination, are both equal to 1;
[0060] If so, then the data type in the first combination is consistent with the data type in the second combination, and the entity in the first combination is consistent with the entity in the second combination.
[0061] Preferably, the process of determining whether the data type in the second combination belongs to the data type in the first combination includes:
[0062] Determine whether the semantic similarity between the data types in the second combination and the data types in the first combination is between 0 and 1;
[0063] If so, then the data type in the second combination belongs to the data type in the first combination;
[0064] Determine whether the semantic similarity between entities in the second combination and entities in the first combination is between 0 and 1;
[0065] If so, then the entity in the second group is determined to belong to the entity in the first group.
[0066] Preferably, calculating the semantic similarity between the data types in the first combination and the data types in the second combination includes:
[0067] Determine the first dependency relationship between the data types in the first group and the data types in the second group;
[0068] Based on the preset source node t and the first subordinate relationship, the data types in the first combination and the data types in the second combination are used as nodes to construct a first directed graph, wherein the nodes corresponding to the data types in the first combination and the data types in the second combination all belong to the source node t.
[0069] The semantic similarity sim(u1,v1) between the data types in the first combination and the data types in the second combination is calculated based on the following formula:
[0070]
[0071] Wherein, Δ(u1,t) is the pre-calculated distance between node u1 corresponding to the data type in the first combination of the first directed graph and the source node t, and Δ(v1,t) is the pre-calculated distance between node v1 corresponding to the data type in the second combination of the first directed graph and the source node t.
[0072] The calculation of semantic similarity between entities in the first combination and entities in the second combination includes:
[0073] Determine a second dependency relationship between entities in the first group and entities in the second group;
[0074] Based on the source node t and the second dependency relationship, the entities in the first combination and the entities in the second combination are used as nodes to construct a second directed graph, wherein the nodes corresponding to the entities in the first combination and the entities in the second combination all belong to the source node t.
[0075] The semantic similarity sim(u2,v2) between entities in the first combination and entities in the second combination is calculated based on the following formula:
[0076]
[0077] Wherein, Δ(u2,t) is the pre-calculated distance between node u2, corresponding to the entity in the first combination of the second directed graph, and the source node t, and Δ(v2,t) is the pre-calculated distance between node v2, corresponding to the entity in the second combination of the second directed graph, and the source node t.
[0078] A device for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications, comprising:
[0079] The policy and behavior data acquisition unit is used to acquire the target privacy policy of the target application to be analyzed and the target sensitive behavior data actually generated by the target application.
[0080] The first judgment unit is used to determine whether each of the target sensitive behavior data satisfies any of the following inconsistent conditions:
[0081] The target privacy policy does not contain a statement regarding the target sensitive behaviors corresponding to the target sensitive behavior data;
[0082] All statements regarding the target sensitive behaviors in the target privacy policy indicate that the target sensitive behaviors will not be performed;
[0083] The target privacy policy contains both statements indicating that the target sensitive behavior will be performed and statements indicating that the target sensitive behavior will not be performed;
[0084] If so, execute the steps of the first conclusion and conditional output unit as follows;
[0085] The first conclusion and condition output unit is used to output the conclusion that the target privacy policy is inconsistent with the target sensitive behavior and the inconsistency conditions satisfied by the target sensitive behavior data.
[0086] As can be seen from the above technical solutions, the method for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications provided in this application determines whether any set inconsistency condition is met for the target sensitive behavior data actually generated by each target application. When the target sensitive behavior data meets any inconsistency condition, the method outputs the conclusion that the target privacy policy of the target application is inconsistent with the target sensitive behavior corresponding to the target sensitive behavior data, as well as the inconsistency condition met by the number of target sensitive behaviors. This avoids the situation where the description of the target privacy policy of the target application is not standardized and contradicts the target sensitive behavior it actually performs, thus ensuring the security of user information.
[0087] Furthermore, since the inconsistency conditions are as follows: the target privacy policy does not contain any statement about the target sensitive behavior; the target privacy policy contains statements all indicating that the target sensitive behavior will not be performed; and the target privacy policy contains both statements indicating that the target sensitive behavior will be performed and statements indicating that the target sensitive behavior will not be performed, when the target sensitive behavior data does not meet any of the inconsistency conditions, not only is the conclusion that the target privacy policy and the target sensitive behavior data are inconsistent, but also the inconsistency conditions satisfied by the target sensitive behavior data are output. This allows the app store to understand the reason for the inconsistency between the target privacy policy and the target sensitive behavior based on the inconsistency conditions satisfied by the target sensitive behavior data. It can further reveal the specific behaviors that are not described in a standardized manner in the target privacy policy, and take appropriate action on the application based on the specific behaviors that are not described in a standardized manner in the privacy policy. Attached Figure Description
[0088] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0089] Figure 1 This is a flowchart of a method for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications, as disclosed in an embodiment of this application.
[0090] Figure 2 This is a schematic diagram of a state matrix disclosed in an embodiment of this application;
[0091] Figure 3 A schematic diagram illustrating the process of analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications;
[0092] Figure 4 This is a schematic diagram of the structure of a device for analyzing the consistency between sensitive behaviors and privacy policies of a smart terminal application, as disclosed in an embodiment of this application.
[0093] Figure 5 This is a hardware structure block diagram of a device for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications, as disclosed in an embodiment of this application. Detailed Implementation
[0094] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0095] This application provides a solution for analyzing the consistency between sensitive behaviors of smart terminal applications and privacy policies. It can be applied to various applications on smart terminals, such as background applications and website applications. Smart terminals can be mobile phones, tablets, etc.
[0096] The proposed solution can be implemented based on a terminal with data processing capabilities, such as a computer, server, or cloud platform.
[0097] This application provides a scheme for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications. The following is a detailed explanation... Figure 1 This application describes the methodology for analyzing the consistency between sensitive behaviors of smart terminal applications and privacy policies. Figure 1 As shown, the method may include:
[0098] S100. Obtain the target privacy policy of the target application to be analyzed and the target sensitive behavior data actually generated by the target application.
[0099] Specifically, to avoid situations where an application's privacy policy is not well-defined or contradicts its actual sensitive actions, the application's privacy policy and its actual sensitive behavior data can be analyzed to determine if there are inconsistencies between the privacy policy and the corresponding sensitive behaviors. Therefore, it is necessary to obtain the target application's privacy policy and the actual sensitive behavior data generated by the target application. Specifically, the link to the target privacy policy can be obtained from the application details page of the target application in the app store, and then the privacy policy document and third-party information sharing list within the link can be extracted to obtain the target privacy policy.
[0100] S110. For each target sensitive behavior data, determine whether it meets any of the set inconsistency conditions.
[0101] The inconsistencies include: the target privacy policy does not contain any statement about the target sensitive behavior corresponding to the target sensitive behavior data; all statements about the target sensitive behavior in the target privacy policy indicate that the target sensitive behavior will not be performed; and the target privacy policy contains both statements indicating that the target sensitive behavior will be performed and statements indicating that the target sensitive behavior will not be performed.
[0102] If so, proceed with step S120 below.
[0103] Specifically, considering the various situations where the target privacy policy and the target sensitive behavior data correspond to different target sensitive behaviors, for example, if the target sensitive behavior data corresponds to the target sensitive behavior of third party A obtaining user location information, but the target privacy policy does not contain any relevant statement regarding third party A obtaining user location information, it indicates that the description of the target privacy policy is not standardized, and the target privacy policy is inconsistent with the target sensitive behavior. If the target sensitive behavior data corresponds to the target sensitive behavior of third party A obtaining user location information, but the statements in the target privacy policy regarding third party A obtaining user location information all state that third party A will not obtain user location information, it indicates that the target privacy policy contradicts its actual target sensitive behavior, and the target privacy policy is inconsistent with the target sensitive behavior. If the target sensitive behavior data corresponds to the target sensitive behavior of third party A obtaining user location information, but the target privacy policy contains both statements indicating that third party A will obtain user location information and statements indicating that third party A will not obtain user location information, it indicates that the description of the target privacy policy is not standardized, and the target privacy policy is inconsistent with the target sensitive behavior. Therefore, this application embodiment sets the above three inconsistency conditions according to different situations. When the target sensitive behavior data meets any one of the inconsistency conditions, it is considered that the target privacy policy is inconsistent with the target sensitive behavior.
[0104] S120. Output the conclusion that the target privacy policy and the target sensitive behavior are inconsistent, and the inconsistency conditions satisfied by the target sensitive behavior data.
[0105] Specifically, when the target sensitive behavior data meets any of the above inconsistency conditions, the conclusion that the target privacy policy is inconsistent with the target sensitive behavior is output, so that the app market knows that the target privacy policy is inconsistent with the target sensitive behavior. The inconsistency conditions met by the target sensitive behavior data are also output, so that the app market can know the reason for the inconsistency between the target privacy policy and the target sensitive behavior based on the inconsistency conditions met by the target sensitive behavior data. This can reveal the specific behaviors that are not described in the target privacy policy, so that the app can be dealt with accordingly based on the specific behaviors that are not described in the privacy policy.
[0106] The method for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications provided in this application determines whether any set inconsistency condition is met for the target sensitive behavior data actually generated by each target application. When the target sensitive behavior data meets any inconsistency condition, the method outputs the conclusion that the target privacy policy of the target application is inconsistent with the target sensitive behavior corresponding to the target sensitive behavior data, as well as the inconsistency condition met by the number of target sensitive behaviors. This avoids the situation where the description of the target privacy policy of the target application is not standardized and contradicts the target sensitive behavior it actually performs, thus ensuring the security of user information.
[0107] Furthermore, since the inconsistency conditions are as follows: the target privacy policy does not contain any statement about the target sensitive behavior; the target privacy policy contains statements all indicating that the target sensitive behavior will not be performed; and the target privacy policy contains both statements indicating that the target sensitive behavior will be performed and statements indicating that the target sensitive behavior will not be performed, when the target sensitive behavior data does not meet any of the inconsistency conditions, not only is the conclusion that the target privacy policy and the target sensitive behavior data are inconsistent, but also the inconsistency conditions satisfied by the target sensitive behavior data are output. This allows the app store to understand the reason for the inconsistency between the target privacy policy and the target sensitive behavior based on the inconsistency conditions satisfied by the target sensitive behavior data. It can further reveal the specific behaviors that are not described in a standardized manner in the target privacy policy, and take appropriate action on the application based on the specific behaviors that are not described in a standardized manner in the privacy policy.
[0108] Optionally, considering that the consistency between the target privacy policy and the target sensitive behavior can be divided into different situations, consistency conditions can be preset based on different situations, and it can be determined whether the target sensitive behavior data meets any of the consistency conditions. Based on this, for each target sensitive behavior data, it can also be determined whether any of the preset consistency conditions are met. If so, the conclusion that the target privacy policy and the target sensitive behavior are consistent and the consistency conditions met by the target sensitive behavior data are output.
[0109] Specifically, when the target sensitive behavior data meets any of the consistency conditions, the conclusion that the target privacy policy is consistent with the target sensitive behavior is output, so that the app store knows that the target privacy policy is consistent with the target sensitive behavior. The consistency conditions that the target sensitive behavior data meets are also output, so that the app store can know the reason why the target privacy policy is consistent with the target sensitive behavior based on the consistency conditions that the target sensitive behavior data meets.
[0110] Setting inconsistency conditions can include:
[0111] All statements regarding target-sensitive behaviors in the target privacy policy indicate that target-sensitive behaviors are being conducted.
[0112] Specifically, a target privacy policy may contain multiple statements regarding target sensitive behaviors. When all statements in the target privacy policy indicate that the target sensitive behavior will be performed, the target privacy policy is consistent with the target sensitive behavior. For example, if the target sensitive behavior data corresponds to the target sensitive behavior of third party A obtaining the user's location information, and the target privacy policy states that third party A will obtain the user's location information, then the target privacy policy is consistent with the target sensitive behavior.
[0113] The target privacy policy's statements regarding the sensitive actions to be taken can cover the target's sensitive actions.
[0114] Specifically, if the declaration of sensitive actions to be performed in the target privacy policy covers the target sensitive actions, then the target privacy policy is consistent with the target sensitive actions. For example, if the target sensitive action corresponding to the target sensitive action data is that third party A obtains the user's location information, and the target privacy policy declares that a third party will obtain the user's location information, and third party A is a third party, then the target privacy policy is consistent with the target sensitive actions.
[0115] In this embodiment of the application, when the target sensitive behavior data meets any of the set consistency conditions, the conclusion that the target privacy policy is consistent with the target sensitive behavior is output, and the consistency conditions met by the target sensitive behavior data are also output, so that the application market can not only know the conclusion that the target privacy policy is consistent with the target sensitive behavior, but also know the reason why the target privacy policy is consistent with the target sensitive behavior based on the consistency conditions met by the target sensitive behavior data.
[0116] Optionally, to determine whether the target sensitive behavior data meets the aforementioned consistency and inconsistency conditions, after obtaining the target privacy policy of the target application to be analyzed and the actual target sensitive behavior data generated by the target application, the statements regarding each sensitive behavior in the target privacy policy can be extracted, and the determination of whether the target sensitive behavior data meets the aforementioned consistency and inconsistency conditions can be based on the statements regarding each sensitive behavior in the target privacy policy. Therefore, the process of extracting the statements regarding each sensitive behavior in the target privacy policy may include:
[0117] The target privacy policy is input into a pre-defined sensitive behavior statement extraction model to obtain the statements of each sensitive behavior extracted from the target privacy policy. The sensitive behavior statement extraction model is trained using each first training privacy policy as training samples and the pre-extracted statements of each first training sensitive behavior from each first training privacy policy as sample labels.
[0118] Specifically, in this application embodiment, a sensitive behavior statement extraction model is pre-trained using each first training privacy policy as a training sample and the pre-extracted statements of each first training sensitive behavior in each first training privacy policy as sample labels. By inputting the target privacy policy into the sensitive behavior statement extraction model, the statements of each sensitive behavior in the target privacy policy can be obtained.
[0119] Optionally, considering that the statements regarding sensitive behaviors in a privacy policy mainly include three key elements: the type of sensitive information involved in the sensitive behavior, the entity to which the sensitive information flows, and the entity's actions on the sensitive information, for example, if an application's privacy policy states, "We will collect your location information when you use the shake function," then the type of sensitive information involved in this statement is location information, the entity to which the location information flows is the application, and the entity's actions on the sensitive information are collection. Based on this, the statements regarding each sensitive behavior extracted from the privacy policy can be:
[0120] The first combination of data type, entity, and action corresponding to a sensitive behavior. Here, the data type corresponding to the sensitive behavior is the type of sensitive information involved in the sensitive behavior; the entity corresponding to the sensitive behavior is the entity to which the sensitive information flows; and the action corresponding to the sensitive behavior indicates whether the sensitive information will flow to the entity corresponding to the sensitive behavior or not. The extracted privacy policy statements mentioned above are, respectively, statements regarding each sensitive behavior in the extracted target privacy policy and statements regarding each first training sensitive behavior in the extracted first training privacy policies.
[0121] Based on this, in this embodiment of the application, the process of extracting the first combination corresponding to the first training sensitive behavior in each first training privacy policy is described, and the process may include:
[0122] Step S1: Extract key information about sensitive behaviors in First Training from the First Training Privacy Policy.
[0123] Specifically, in order to extract the data types, entities, and actions in the first combination corresponding to the first training sensitive behavior in the first training privacy policy, the key information about the first training sensitive behavior in the first training privacy policy is first extracted so that the data types, entities, and actions can be extracted from the key information.
[0124] Step S2: Extract the data type that matches the key information from the preset data type label library.
[0125] Specifically, this application pre-defines a data type annotation library, which includes various data types. Therefore, the data type that matches the key information is extracted from the data type annotation library.
[0126] Step S3: Extract entities that match the key information from the preset entity annotation library.
[0127] Specifically, this application pre-defines an entity annotation library, which includes various entities. Therefore, entities that match the key information are extracted from the entity annotation library.
[0128] Step S4: Extract the actions that match the key information from the preset action annotation library.
[0129] Specifically, this application pre-defines an action annotation library, which includes various actions. Therefore, actions that match the key information are extracted from the action annotation library.
[0130] Step S5: Construct the first combination corresponding to the first training sensitive behavior based on the extracted data types, entities, and actions that match the first training sensitive behavior.
[0131] Specifically, after extracting the data types, entities, and actions that match the first training sensitive behavior, the extracted data types, entities, and actions that match the first training sensitive behavior are combined to obtain the first combination corresponding to the first training sensitive behavior.
[0132] Based on this, the aforementioned sensitive behavior declaration extraction model can be specifically configured as follows: extract key information about training sensitive behaviors from the target privacy policy; extract data types matching the key information from the aforementioned data type annotation library; extract entities matching the sensitive behaviors from the target privacy policy from the aforementioned entity annotation library; extract actions matching the sensitive behaviors from the target privacy policy from the aforementioned action annotation library; and combine the extracted data types, entities, and actions into a first set of internal state representations corresponding to the sensitive behaviors in the target privacy policy. Optionally, this sensitive behavior declaration extraction model can be a Bi-GRU-CRF model.
[0133] In this embodiment of the application, the construction process of the above-mentioned data type annotation library, entity annotation library, and action annotation library is described respectively. This process may include:
[0134] Step S10: Obtain the preset privacy policies for each second training session.
[0135] Specifically, the embodiments of this application pre-define each second training privacy policy, so as to construct a data type annotation library, an entity annotation library, and an action annotation library based on each second training privacy policy.
[0136] Step S11: Obtain each statement in the privacy policy of each second training session.
[0137] Specifically, each second training privacy policy can be segmented according to the set punctuation marks to obtain the statements in each second training privacy policy. Optionally, the set punctuation marks can be ".", ";", "?", and "!", etc.
[0138] Step S12: Perform word segmentation on each sentence to obtain the word segmentation result for each sentence.
[0139] Specifically, after obtaining each statement in each second training privacy policy, each statement is segmented to obtain the segmentation result of each statement, so that a data type annotation library, an entity annotation library, and an action annotation library can be built based on the segmentation result of each statement.
[0140] Step S13: In the word segmentation results of each statement, search for words with data type attributes, words with entity attributes, and words with action attributes.
[0141] Specifically, in the word segmentation results of each statement, words with data type attributes, words with entity attributes, and words with action attributes are searched so that data type annotation libraries, entity annotation libraries, and action annotation libraries can be built based on the searched words.
[0142] Step S14: Construct a data type annotation library based on the words with data type attributes found.
[0143] Specifically, the words with data type attributes found can be combined into a data type annotation library. Optionally, the frequency of each word with data type attributes found can be counted, and words with high frequency can be combined into a data type annotation library.
[0144] Step S15: Construct an entity annotation library based on the words with entity attributes found.
[0145] Specifically, the words with entity attributes found can be combined into an entity annotation library. Optionally, the frequency of each word with entity attributes found can be counted, and words with high frequency can be combined into an entity annotation library.
[0146] Step 16: Construct an action annotation library based on the words with action attributes found.
[0147] Specifically, the words with action attributes found can be combined into an action tagging library. Optionally, the frequency of each word with action attributes found can be counted, and words with high frequency of action attributes can be combined into an action tagging library.
[0148] Optionally, considering that in actual analysis, the specific nature of an entity's operation on sensitive information is not important, only whether the entity performs any operation on the sensitive information is required, the action corresponding to the sensitive action can be a preset first identifier or a preset second identifier. When the action of the sensitive action is the first identifier, it indicates that the sensitive information corresponding to the sensitive action will flow to the entity corresponding to the sensitive action; when the action of the sensitive action is the second identifier, it indicates that the sensitive information corresponding to the sensitive action will not flow to the entity corresponding to the sensitive action. Optionally, the first identifier can be 1, and the second identifier can be 0.
[0149] Optionally, when the declarations of sensitive behaviors in the target privacy policy extracted above constitute a first combination of the data type, entity, and action corresponding to the sensitive behavior, the target sensitive behavior data obtained above can be a second combination of the data type of sensitive information actually generated in the target application and the entity to which the actual generated sensitive information flows. Based on this, the process of obtaining the target sensitive behavior data actually generated by the target application above can include:
[0150] A second combination of the data types of sensitive information actually generated in the target application and the entities to which the sensitive information actually flows is obtained using a preset static analysis algorithm or dynamic analysis algorithm, which serves as the target application's actual sensitive behavior data.
[0151] Specifically, static analysis algorithms, without actually executing the program, infer the flow of sensitive information in the application by performing static analysis on the application's structure, variables, function calls, etc., and obtain the data types of sensitive information actually generated in the target application and the entities to which the sensitive information flows. Dynamic analysis algorithms, on the other hand, detect the transmission of sensitive information by actually executing the program and monitoring its behavior during runtime, and obtain the data types of sensitive information actually generated in the target application and the entities to which the sensitive information flows. This application's embodiments presuppose both static and dynamic analysis algorithms. A second combination of the data types of sensitive information actually generated in the target application and the entities to which the sensitive information flows can be obtained through either static or dynamic analysis algorithms, serving as the target application's actual sensitive behavior data.
[0152] Optionally, the process of using static analysis algorithms to obtain the second combination of the data types of sensitive information actually generated in the target application and the entities to which the actual sensitive information flows may include:
[0153] Step S01: Obtain the API calls in the target application.
[0154] Specifically, API calls in an application refer to the interaction between an application and other software components, services, or platforms achieved by calling application programming interfaces (APIs). The goal is to obtain each API call in the target application for static analysis, thereby obtaining a second combination of the data types of sensitive information actually generated in the target application and the entities to which the generated sensitive information flows.
[0155] Step S02: Based on each API call, obtain the second combination of the data type of the sensitive information actually generated in the target application and the entity to which the sensitive information actually flows.
[0156] Specifically, static analysis can be performed on each API call to obtain a second combination of the data types of sensitive information actually generated in the target application and the entities to which the sensitive information actually flows.
[0157] Optionally, step S02 above, which involves obtaining the data type of the sensitive information actually generated in the target application and the second combination of the entities to which the sensitive information actually flows based on each API call, may include:
[0158] Step S021: Determine the preset list of sensitive information sources and the list of sensitive information aggregates. The list of sensitive information sources includes the preset data types of each sensitive information, and the list of sensitive information aggregates includes the preset entities to which each sensitive information flows.
[0159] Specifically, this application embodiment pre-defines a sensitive information source list including the preset data types of each sensitive information and a sensitive information aggregation list including the preset entities of each sensitive information flow direction, so as to determine the data type of the sensitive information actually generated in the target application in the sensitive information source list and determine the entity of the sensitive information flow direction actually generated in the target application in the sensitive information aggregation list.
[0160] Step S022: Iteratively execute the steps of determining the data type matched by any API call in the sensitive information source list and the entity matched by any API call in the sensitive information sink list, and when the matched data type and entity have not been determined, determining the combination of the matched data type and entity as the second combination of the data type of the sensitive information actually generated in the target application and the entity to which the actual generated sensitive information flows, until the data type and entity matched by all API calls are determined.
[0161] Specifically, considering that there may be multiple sensitive paths from the same data type of sensitive information to the same entity in an application, when analyzing whether the privacy policy is consistent with the sensitive behavior, it is only necessary to determine whether the fact that the sensitive information flows to the entity is true, regardless of the number of sensitive paths. Therefore, when the data type and entity matched by the API call have not been determined, the combination of the data type and entity matched is determined as the second combination of the data type of the sensitive information actually generated in the target application and the entity to which the actual generated sensitive information flows.
[0162] Optionally, a state matrix can be set to correspond to the data type and the entity. This state matrix determines whether the data type and entity matched by the API call have already been identified. See also... Figure 2 The rows of the state matrix represent data types, and the columns represent entities. The data types are A, B, and C, and the entities are D, E, and F. When the data type and entity matched by each API call are not determined, all elements in the state matrix are set to 0. If it is determined that the data type matched by an API call is A and the entity matched is D, since the elements corresponding to A and D are 0, it means that A and D have not been determined before. A and D are combined into a second combination, and the elements corresponding to A and D are set to 1. When it is determined again that the data type matched by an API call is A and the entity matched is D, since the elements corresponding to A and D are 1, A and D are not combined into a second combination at this time.
[0163] In this embodiment of the application, when the data type and entity matched by the API call have not been determined, the combination of the matched data type and entity is determined as the second combination of the data type of the sensitive information actually generated in the target application and the entity to which the sensitive information actually flows. This avoids the problem that the same second combination is repeatedly combined, which leads to the problem that it takes a long time to obtain the second combination of the data type of the sensitive information actually generated in the target application and the entity to which the sensitive information actually flows.
[0164] Optionally, considering that at the code level, there may be multiple API calls for obtaining the same type of sensitive information, such as API calls for obtaining location information such as android.location.Location:getLatitude() for obtaining the latitude of the user's current location, android.location.Location:getLongitude() for obtaining the longitude of the user's current location, and android.location.LocationManager:getLastKnownLocation() for obtaining the known location information recorded on the user's device last time. The information obtained by these API calls all belong to location information. However, the description of sensitive information in the privacy policy is relatively coarse-grained, such as location information, device information, and contact information, without specifying the specific location information obtained. Therefore, in order to match the description of the privacy policy and save time in judging whether the target sensitive behavior data meets the consistency and inconsistency conditions, a list of sensitive information sources including location information, calendar information, network information, contact information, account information, database information, mobile phone information, file information, and pop-up information can be preset, as well as a list of sensitive information sinks including telephone connection, network connection, logs, and files.
[0165] In this embodiment of the application, the list of sensitive information sources may include location information, calendar information, network information, contact information, account information, database information, mobile phone information, file information, and pop-up information, etc., which matches the granularity of the description of sensitive information in the privacy policy, saving time in determining whether the target sensitive behavior data meets the consistency and inconsistency conditions.
[0166] Optionally, step S022 above can be implemented using the improved IFDS (Interprocedural Finite Distributive Subset) algorithm, wherein the IFDS algorithm is represented as a quintuple (G # ,D,F,M, ), where the directed graph G is called the supergraph # =(N # E # A collection of interprocedural control flow graphs (ICFGs) of a program, where each G... i ∈G # This represents an ICFG, G of the program. main This represents a hypergraph with the entry function "main". For each G... i They all have a unique starting point s p and the only endpoint ep The calling and returning nodes between procedures are represented as Call. p and Ret p D represents a finite set of data stream facts. M represents the set of data flow distribution functions, where M represents E # →F from the hypergraph G # The mapping from edges to data flow functions, Indicates the operator that satisfies Then, intersection or union operations are performed. The improved IFDS algorithm is shown in the following code snippet:
[0167]
[0168]
[0169] The algorithm first maps the input SourceList and SinkList lists to categories based on the aforementioned sensitive information source list (sources) and sensitive information sink list (sinks), establishing mapping libraries SourceMap and SinkMap. If the current API call is in the mapping library, analysis begins. Additionally, a state matrix is added, indicating that if a sensitive path from SourceCategory to SinkCategory has been extracted, the value at the corresponding position in the matrix is set to 1; otherwise, it is 0, and the corresponding source in SourceList is deleted. In the next iteration, if the current sensitive path already exists, it is skipped. Here, SourceCategory represents the data type in the second combination, and SinkCategory represents the entity in the second combination.
[0170] Optionally, when the declarations of sensitive behaviors in the target privacy policy extracted above are a first combination of data types, entities, and actions corresponding to the sensitive behaviors, and the target sensitive behavior data obtained above is a second combination of data types of sensitive information actually generated in the target application and entities to which the actual generated sensitive information flows, in order to determine whether the second combination meets the inconsistency and consistency conditions based on the first combination corresponding to the target privacy policy, before determining whether the second combination meets the inconsistency and consistency conditions based on the first combination, it is determined whether the target privacy policy associated with the second combination corresponds to the first combination, so as to determine whether the second combination meets the inconsistency and consistency conditions based on the first combination associated with the second combination. Based on this, the process of determining whether the target privacy policy associated with the second combination corresponds to the first combination may include:
[0171] For each objective, the privacy policy corresponds to the first combination:
[0172] Step S001: Calculate the semantic similarity between the data types in the first combination and the data types in the second combination.
[0173] Step S002: Calculate the semantic similarity between entities in the first combination and entities in the second combination.
[0174] Specifically, to determine whether the first combination and the second combination are related, the semantic similarity between the data types and entities in the first combination and the second combination can be compared. Therefore, the semantic similarity between the data types in the first combination and the data types in the second combination, as well as the semantic similarity between the entities, is calculated.
[0175] Step S003: When the semantic similarity between the data types in the first combination and the data types in the second combination is greater than 0, and the semantic similarity between the entities in the first combination and the entities in the second combination is greater than 0, the first combination is determined as a combination associated with the second combination.
[0176] Specifically, when the semantic similarity between the data types in the first combination and the data types in the second combination is greater than 0, and the semantic similarity between the entities in the first combination and the entities in the second combination is greater than 0, it indicates that the first combination and the second combination are associated.
[0177] Based on this, the statement that there is no sensitive behavior in the above target privacy policy can specifically be: there is no first combination associated with the second combination in each first combination corresponding to the target privacy policy.
[0178] Specifically, if there is no first combination associated with the second combination in each first combination corresponding to the target privacy policy, it means that there is no first combination in which the data type has a semantic similarity greater than 0 with the data type in the second combination and the entity has a semantic similarity greater than 0 with the entity in the second combination, and there is no statement of target sensitive behavior in the target privacy policy.
[0179] The statements regarding target-sensitive behaviors in the aforementioned target privacy policies all indicate that no target-sensitive behaviors will be performed. Specifically, for each target privacy policy corresponding to the first combination associated with the second combination, the actions in the first combination are all 0.
[0180] Specifically, for each target privacy policy associated with the second group, the action in the first group is always 0. 0 indicates that the sensitive information corresponding to the sensitive action will not flow to the entity performing the sensitive action, meaning that all statements regarding the target sensitive action in the target privacy policy indicate that the target sensitive action will not be performed. For example, the second group is (A, location information), and the associated first group is (A, location information, 0).
[0181] The aforementioned target privacy policy contains both statements indicating that target-sensitive actions will be performed and statements indicating that target-sensitive actions will not be performed. Specifically, the first combination corresponding to the target privacy policy associated with the second combination contains both a first combination that includes action 1 and a first combination that includes action 0.
[0182] Specifically, within the first combination corresponding to the target privacy policy associated with the second combination, there exist both first combinations containing actions of type 1 and first combinations containing actions of type 0. 1 indicates that sensitive information corresponding to the sensitive action will flow to the entity performing the sensitive action, while 0 indicates that sensitive information corresponding to the sensitive action will not flow to the entity performing the sensitive action. This means that the target privacy policy contains both statements indicating that the target sensitive action will be performed and statements indicating that the target sensitive action will not be performed. For example, the second combination is (Third Party A, Location Information), and the associated first combinations are (Third Party A, Location Information, 1) and (Third Party A, Location Information, 0).
[0183] The above-mentioned statements regarding target-sensitive behaviors in the target privacy policy all indicate that the target-sensitive behaviors can specifically be: in the first group corresponding to the target privacy policy associated with the second group, the data type in the first group is consistent with the data type in the second group, and the entity in the first group is consistent with the entity in the second group, and the action in the first group is 1.
[0184] Specifically, in the first group corresponding to the target privacy policy associated with the second group, the data types in the first group are consistent with those in the second group, the entities in the first group are consistent with those in the second group, and the action in the first group is 1, indicating that all statements regarding target-sensitive behaviors in the target privacy policy represent the performance of target-sensitive behaviors. For example, the second group is (Third Party A, Location Information), and the associated first group is (Third Party A, Location Information, 1).
[0185] The statement of sensitive actions to be performed in the above target privacy policy can cover the following specific sensitive actions: For the first combination corresponding to the target privacy policy associated with the second combination, the data type in the first combination belongs to the data type in the first combination and the entity in the second combination belongs to the entity in the first combination, or, the data type in the second combination belongs to the data type in the first combination and the entity in the second combination is the same as the entity in the first combination, or, the data type in the second combination is the same as the data type in the first combination and the entity in the second combination belongs to the entity in the first combination, and the action in the first combination is 1.
[0186] Specifically, for the first combination corresponding to the target privacy policy associated with the second combination, if the data type in the first combination is a data type in the first combination and the entity in the second combination is an entity in the first combination, and the action in the first combination is 1; or, if the data type in the first combination is a data type in the first combination and the entity in the second combination is the same as the entity in the first combination, and the action in the first combination is 1; or, if the data type in the first combination is the same as the data type in the first combination and the entity in the second combination is an entity in the first combination, and the action in the first combination is 1, then the statement of sensitive behavior to be performed in the target privacy policy can cover the target sensitive behavior. For example, the second combination is (Third Party A, Location Information), and the associated first combination is (Third Party, Location Information, 1), where Third Party A is a third party.
[0187] Optionally, it can be determined whether the semantic similarity between the data types in the first combination and the data types in the second combination, and whether the semantic similarity between the entities in the first combination and the entities in the second combination are both equal to 1. If so, it is determined that the data types in the first combination and the data types in the second combination are consistent, and the entities in the first combination and the entities in the second combination are consistent. It can also be determined whether the semantic similarity between the data types in the second combination and the data types in the first combination is between 0 and 1. If so, it is determined that the data types in the second combination belong to the data types in the first combination. Finally, it can be determined whether the semantic similarity between the entities in the second combination and the entities in the first combination is between 0 and 1. If so, it is determined that the entities in the second combination belong to the entities in the first combination.
[0188] Considering that solving the semantic similarity between data types and between entities can be transformed into a single-source shortest path problem, a directed graph is constructed using data types and entities as nodes. The semantic similarity between nodes is calculated based on the distance between nodes in the directed graph. Therefore, in this embodiment, the process of calculating the semantic similarity between data types in the first combination and data types in the second combination in step S001, and the process of calculating the semantic similarity between entities in the first combination and entities in the second combination in step S002, are described as follows:
[0189] The process of calculating the semantic similarity between the data types in the first combination and the data types in the second combination in step S001 above may include:
[0190] Step S0011: Determine the first dependency relationship between the data types in the first group and the data types in the second group.
[0191] Specifically, to calculate the semantic similarity between the data types in the first combination and the data types in the second combination, it is necessary to construct a directed graph using the data types in the first combination and the data types in the second combination as nodes. The edge between two nodes in the directed graph represents the subordinate relationship between the two nodes. Therefore, it is necessary to determine the first subordinate relationship between the data types in the first combination and the data types in the second combination so as to construct a directed graph based on the first subordinate relationship.
[0192] Step S0012: Based on the preset source node t and the first dependency relationship, construct a first directed graph by using the data types in the first combination and the data types in the second combination as nodes. The nodes corresponding to the data types in the first combination and the second combination all belong to the source node t.
[0193] Specifically, in this embodiment of the application, a source node t is preset. Based on the source node t and the first dependency relationship, the data types in the first combination and the data types in the second combination are both used as nodes to construct a first directed graph. The nodes corresponding to the data types in the first combination and the data types in the second combination all belong to the source node t. The edges between nodes in the first directed graph indicate that there is a dependency relationship between the nodes.
[0194] Step S0013: Calculate the semantic similarity sim(u1,v1) between the data types in the first combination and the data types in the second combination based on the following formula:
[0195]
[0196] Wherein, Δ(u1,t) is the pre-calculated distance between node u1 corresponding to the data type in the first combination of the first directed graph and the source node t, and Δ(v1,t) is the pre-calculated distance between node v1 corresponding to the data type in the second combination of the first directed graph and the source node t.
[0197] Specifically, Δ(u1,t) and Δ(v1,t) can be calculated based on the directed graph shortest path calculation algorithm.
[0198] The process of calculating the semantic similarity between entities in the first combination and entities in the second combination in step S002 above may include:
[0199] Step S0021: Determine the second dependency relationship between the entities in the first group and the entities in the second group.
[0200] Specifically, to calculate the semantic similarity between entities in the first combination and entities in the second combination, it is necessary to construct a directed graph with entities in the first combination and entities in the second combination as nodes. An edge between two nodes in a directed graph represents a subordinate relationship between the two nodes. Therefore, it is necessary to determine the second subordinate relationship between entities in the first combination and entities in the second combination so as to construct a directed graph based on the second subordinate relationship.
[0201] Step S0022: Based on the source node t and the second dependency relationship, construct a second directed graph by using the entities in the first combination and the entities in the second combination as nodes. The nodes corresponding to the entities in the first combination and the second combination all belong to the source node t.
[0202] Specifically, based on the source node t and the second dependency relationship, the entities in the first combination and the entities in the second combination are all treated as nodes to construct a second directed graph. The nodes corresponding to the entities in the first combination and the entities in the second combination all belong to the source node t. The edges between nodes in the second directed graph represent the dependency relationship between the nodes.
[0203] Step S0023: Calculate the semantic similarity sim(u2,v2) between entities in the first combination and entities in the second combination based on the following formula:
[0204]
[0205] Where Δ(u2,t) is the pre-calculated distance between node u2, corresponding to the entity in the first combination of the second directed graph, and source node t, and Δ(v2,t) is the pre-calculated distance between node v2, corresponding to the entity in the second combination of the second directed graph, and source node t.
[0206] Specifically, Δ(u2,t) and Δ(v2,t) can be calculated based on the directed graph shortest path calculation algorithm.
[0207] See Figure 3 , Figure 3 This diagram illustrates the process of analyzing the consistency between sensitive behaviors and privacy policies in smart terminal applications. It retrieves the application's APK (Android Application Package) file, privacy policy document, and third-party information sharing list from the app store. Based on the improved IFDS algorithm, it extracts the data types and entities matching each API call in the APK file. These data types and entities are combined into a second set, serving as a sensitive behavior tuple. Then, using the Bi-GRU-CRF model, it extracts the first set, including data type, entity, and action, corresponding to each sensitive behavior in the privacy policy document and third-party information sharing list. This first set is then used as the privacy policy triple for consistency analysis.
[0208] Consistent situations are categorized as follows:
[0209] Explicitly stated: In the privacy policy triple associated with the sensitive behavior double, the data type in the privacy policy triple is consistent with the data type in the sensitive behavior double, the entity in the privacy policy triple is consistent with the entity in the sensitive behavior double, and the action in the privacy policy triple is 1.
[0210] Vague definition: For a privacy policy triple associated with a sensitive behavior tuple, the data type in the privacy policy triple is the same as the data type in the privacy policy triple and the entity in the sensitive behavior tuple is the same as the entity in the privacy policy triple; or, the data type in the sensitive behavior tuple is the same as the data type in the privacy policy triple and the entity in the sensitive behavior tuple is the same as the entity in the privacy policy triple; or, the data type in the sensitive behavior tuple is the same as the data type in the privacy policy triple and the entity in the sensitive behavior tuple is the same as the entity in the privacy policy triple, and the action in the privacy policy triple is 1.
[0211] Inconsistencies can be categorized as follows:
[0212] Omitted statement: There is no privacy policy triplet associated with the sensitive behavior tuple in any of the privacy policy triplets.
[0213] Incorrect statement: For each privacy policy triplet associated with a sensitive behavior tuple, the action in the privacy policy triplet is 0.
[0214] Ambiguous statements: Among the privacy policy triples associated with sensitive behavior binary pairs, there are privacy policy triples that include action 1 and privacy policy triples that include action 0.
[0215] The following describes the device for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications provided in the embodiments of this application. The device for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications described below can be referred to in correspondence with the method for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications described above.
[0216] First, combined Figure 4 This section introduces a device for analyzing the consistency between sensitive behaviors and privacy policies in smart terminal applications, such as... Figure 4 As shown, the device for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications may include:
[0217] The policy and behavior data acquisition unit 10 is used to acquire the target privacy policy of the target application to be analyzed and the target sensitive behavior data actually generated by the target application.
[0218] The first judgment unit 20 is used to determine whether each of the target sensitive behavior data satisfies any of the following inconsistent conditions:
[0219] The target privacy policy does not contain a statement regarding the target sensitive behaviors corresponding to the target sensitive behavior data;
[0220] All statements regarding the target sensitive behaviors in the target privacy policy indicate that the target sensitive behaviors will not be performed;
[0221] The target privacy policy contains both statements indicating that the target sensitive behavior will be performed and statements indicating that the target sensitive behavior will not be performed;
[0222] If so, execute the steps of the first conclusion and conditional output unit 30 as follows;
[0223] The first conclusion and condition output unit 30 is used to output the conclusion that the target privacy policy is inconsistent with the target sensitive behavior and the inconsistency conditions satisfied by the target sensitive behavior data.
[0224] Optionally, the device for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications may further include:
[0225] The second judgment unit is used to determine whether each of the target sensitive behavior data meets any of the following consistent conditions:
[0226] All statements regarding the target sensitive behaviors in the target privacy policy indicate that the target sensitive behaviors will be performed;
[0227] The statements regarding the sensitive actions to be performed in the target privacy policy are sufficient to cover the target sensitive actions;
[0228] If so, execute the steps of the second conclusion and conditional output unit as follows;
[0229] The second conclusion and condition output unit is used to output the conclusion that the target privacy policy is consistent with the target sensitive behavior and the consistency conditions satisfied by the target sensitive behavior data.
[0230] Optionally, the device for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications may further include:
[0231] The statement extraction unit is used to extract statements regarding sensitive behaviors from the target privacy policy.
[0232] Based on this, the process by which the first judgment unit determines whether the target sensitive behavior data meets the inconsistency condition may include:
[0233] Based on the statements of each sensitive behavior in the target privacy policy, determine whether the target sensitive behavior data meets the inconsistency condition.
[0234] The process by which the second judgment unit determines whether the target sensitive behavior data meets the consistency condition may include:
[0235] Based on the statements of each sensitive behavior in the target privacy policy, determine whether the target sensitive behavior data meets the consistency condition.
[0236] Optionally, the process by which the statement extraction unit extracts statements regarding sensitive behaviors from the target privacy policy may include:
[0237] The target privacy policy is input into a preset sensitive behavior statement extraction model to obtain the extracted statements of each sensitive behavior in the target privacy policy. The sensitive behavior statement extraction model is a model trained using each first training privacy policy as training samples and the pre-extracted statements of each first training sensitive behavior in each first training privacy policy as sample labels.
[0238] Optionally, the statements about sensitive behaviors extracted from the privacy policy may specifically include: a first combination of the data type, entity, and action corresponding to the sensitive behavior, wherein the data type corresponding to the sensitive behavior is the type of sensitive information involved in the sensitive behavior, the entity corresponding to the sensitive behavior is the entity to which the sensitive information involved flows, and the action corresponding to the sensitive behavior indicates whether the sensitive information corresponding to the sensitive behavior will flow to the entity corresponding to the sensitive behavior or will not flow to the entity corresponding to the sensitive behavior.
[0239] Optionally, the action corresponding to the sensitive behavior is a preset first identifier or a preset second identifier. When the action corresponding to the sensitive behavior is the first identifier, it means that the sensitive information corresponding to the sensitive behavior will flow to the entity corresponding to the sensitive behavior. When the action corresponding to the sensitive behavior is the second identifier, it means that the sensitive information corresponding to the sensitive behavior will not flow to the entity corresponding to the sensitive behavior.
[0240] Optionally, the device for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications may further include:
[0241] A key information extraction unit is used to extract key information about the first training sensitive behavior from the first training privacy policy.
[0242] The data type extraction unit is used to extract the data type that matches the key information from a preset data type annotation library;
[0243] The entity extraction unit is used to extract entities that match the key information from a preset entity annotation library.
[0244] An action extraction unit is used to extract actions that match the key information from a preset action annotation library.
[0245] The first combination construction unit is used to construct a first combination corresponding to the first training sensitive behavior based on the extracted data types, entities, and actions that match the first training sensitive behavior.
[0246] Optionally, the device for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications may further include:
[0247] The second training privacy policy acquisition unit is used to acquire the preset second training privacy policies;
[0248] The statement acquisition unit is used to acquire each statement in each of the second training privacy policies;
[0249] The word segmentation result acquisition unit is used to segment each sentence and obtain the word segmentation result for each sentence.
[0250] The word search unit is used to search for words with data type attributes, words with entity attributes, and words with action attributes in the word segmentation results of each sentence.
[0251] The data type annotation library construction unit is used to construct the data type annotation library based on the found words that have data type attributes;
[0252] The entity annotation library construction unit is used to construct the entity annotation library based on the words with entity attributes found.
[0253] The action annotation library construction unit is used to construct the action annotation library based on the words with action attributes found.
[0254] Optionally, the process by which the policy and behavior data acquisition unit acquires the target sensitive behavior data actually generated by the target application may include:
[0255] A second combination of the data types of sensitive information actually generated in the target application and the entities to which the sensitive information actually flows is obtained using a preset static analysis algorithm or dynamic analysis algorithm, which serves as the target sensitive behavior data actually generated by the target application.
[0256] Optionally, the process by which the policy and behavior data acquisition unit uses a preset static analysis algorithm to acquire the data type of the sensitive information actually generated in the target application and the second combination of the entities to which the sensitive information actually flows may include:
[0257] Obtain the API calls from the target application;
[0258] Based on each API call, obtain the second combination of the data type of the sensitive information actually generated in the target application and the entity to which the sensitive information actually flows.
[0259] Optionally, the process by which the policy and behavior data acquisition unit obtains the data type of the sensitive information actually generated in the target application and the second combination of the entities to which the sensitive information actually flows based on each API call may include:
[0260] Determine a preset list of sensitive information sources and a preset list of sensitive information aggregates, wherein the list of sensitive information sources includes preset data types of each sensitive information, and the list of sensitive information aggregates includes preset entities to which each sensitive information flows;
[0261] The process iteratively executes steps to determine the data type matched by any API call in the sensitive information source list and the entity matched by any API call in the sensitive information aggregate list. If the matched data type and entity have not been determined, the combination of the matched data type and entity is determined as the second combination of the data type of the sensitive information actually generated in the target application and the entity to which the sensitive information actually flows. This process continues until the data type and entity matched by all API calls are determined.
[0262] Optionally, the absence of a statement regarding the target sensitive behavior in the target privacy policy specifically means that there is no first combination associated with the second combination among the first combinations corresponding to the target privacy policy;
[0263] The statements regarding the target sensitive behaviors in the target privacy policy all indicate that the target sensitive behaviors will not be performed. Specifically, for each target privacy policy corresponding to the first combination associated with the second combination, the actions in the first combination are all identified by the second identifier.
[0264] The target privacy policy contains both statements indicating that the target sensitive behavior will be performed and statements indicating that the target sensitive behavior will not be performed. Specifically, the first combination corresponding to the target privacy policy associated with the second combination contains both a first combination that includes the action of the first identifier and a first combination that includes the action of the second identifier.
[0265] The statements regarding the target sensitive behaviors in the target privacy policy all indicate that performing the target sensitive behaviors specifically means that, for each target privacy policy associated with the second combination, the data type in the first combination is consistent with the data type in the second combination, the entity in the first combination is consistent with the entity in the second combination, and the action in the first combination is the first identifier.
[0266] The statement of sensitive actions to be performed in the target privacy policy can cover the target sensitive actions in the following ways: for each first combination corresponding to the target privacy policy associated with the second combination, the data type in the second combination belongs to the data type in the first combination and the entity in the second combination belongs to the entity in the first combination, or, the data type in the second combination belongs to the data type in the first combination and the entity in the second combination is the same as the entity in the first combination, or, the data type in the second combination is the same as the data type in the first combination and the entity in the second combination belongs to the entity in the first combination, and the action in the first combination is the first identifier.
[0267] Optionally, the device for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications may further include:
[0268] Associated with the first combination determination unit, used for:
[0269] For each of the target privacy policies mentioned, the first combination is:
[0270] Calculate the semantic similarity between the data types in the first combination and the data types in the second combination;
[0271] Calculate the semantic similarity between entities in the first combination and entities in the second combination;
[0272] When the semantic similarity between the data types in the first combination and the data types in the second combination is greater than 0, and the semantic similarity between the entities in the first combination and the entities in the second combination is greater than 0, the first combination is determined to be a combination associated with the second combination.
[0273] Optionally, the device for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications may further include:
[0274] The third judgment unit is used to judge whether the semantic similarity between the data types in the first combination and the data types in the second combination, and whether the semantic similarity between the entities in the first combination and the entities in the second combination are both equal to 1.
[0275] If so, then perform the steps of the first determining unit as described below;
[0276] The first determining unit is used to determine that the data type in the first combination is consistent with the data type in the second combination, and that the entity in the first combination is consistent with the entity in the second combination.
[0277] Optionally, the device for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications may further include:
[0278] The fourth judgment unit is used to determine whether the semantic similarity between the data types in the second combination and the data types in the first combination is between 0 and 1;
[0279] If so, then perform the steps of the second determining unit as described below;
[0280] The second determining unit is used to determine that the data type in the second combination belongs to the data type in the first combination.
[0281] Optionally, the device for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications may further include:
[0282] The fifth judgment unit is used to determine whether the semantic similarity between the entities in the second combination and the entities in the first combination is between 0 and 1;
[0283] If so, then perform the steps of the third determination unit as described below;
[0284] The third determining unit is used to determine that the entity in the second combination belongs to the entity in the first combination.
[0285] Optionally, the process by which the associated first combination determining unit calculates the semantic similarity between the data types in the first combination and the data types in the second combination may include:
[0286] Determine the first dependency relationship between the data types in the first group and the data types in the second group;
[0287] Based on the preset source node t and the first subordinate relationship, the data types in the first combination and the data types in the second combination are used as nodes to construct a first directed graph, wherein the nodes corresponding to the data types in the first combination and the data types in the second combination all belong to the source node t.
[0288] The semantic similarity sim(u1,v1) between the data types in the first combination and the data types in the second combination is calculated based on the following formula:
[0289]
[0290] Wherein, Δ(u1,t) is the pre-calculated distance between node u1 corresponding to the data type in the first combination of the first directed graph and the source node t, and Δ(v1,t) is the pre-calculated distance between node v1 corresponding to the data type in the second combination of the first directed graph and the source node t.
[0291] Optionally, the process by which the associated first combination determining unit calculates the semantic similarity between entities in the first combination and entities in the second combination may include:
[0292] Determine a second dependency relationship between entities in the first group and entities in the second group;
[0293] Based on the source node t and the second dependency relationship, the entities in the first combination and the entities in the second combination are used as nodes to construct a second directed graph, wherein the nodes corresponding to the entities in the first combination and the entities in the second combination all belong to the source node t.
[0294] The semantic similarity sim(u2,v2) between entities in the first combination and entities in the second combination is calculated based on the following formula:
[0295]
[0296] Wherein, Δ(u2,t) is the pre-calculated distance between node u2, corresponding to the entity in the first combination of the second directed graph, and the source node t, and Δ(v2,t) is the pre-calculated distance between node v2, corresponding to the entity in the second combination of the second directed graph, and the source node t.
[0297] The smart terminal application sensitive behavior and privacy policy consistency analysis device provided in this application embodiment can be applied to smart terminal application sensitive behavior and privacy policy consistency analysis equipment. Figure 5 The diagram shows the hardware structure of a device for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications. Figure 5 The hardware structure of the device for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications may include: at least one processor 1, at least one communication interface 2, at least one memory 3, and at least one communication bus 4.
[0298] In this embodiment, the number of processor 1, communication interface 2, memory 3, and communication bus 4 is at least one, and processor 1, communication interface 2, and memory 3 communicate with each other through communication bus 4.
[0299] Processor 1 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention.
[0300] Memory 3 may include high-speed RAM, and may also include non-volatile memory, such as at least one disk storage device;
[0301] The memory stores a program, which the processor can call. The program is used to implement the various processing flows in the aforementioned intelligent terminal application sensitive behavior and privacy policy consistency analysis scheme.
[0302] This application embodiment also provides a storage medium that can store a program suitable for execution by a processor. The program is used to implement various processing flows in the aforementioned intelligent terminal application sensitive behavior and privacy policy consistency analysis scheme.
[0303] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0304] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.
[0305] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications, characterized in that, include: Obtain the target privacy policy of the target application to be analyzed, as well as the target sensitive behavior data actually generated by the target application. Extract the statements of sensitive behaviors from the target privacy policy; wherein the extracted statements of sensitive behaviors in the privacy policy specifically include: a first combination of the data type, entity, and action corresponding to the sensitive behavior, wherein the data type corresponding to the sensitive behavior is the type of sensitive information involved in the sensitive behavior, the entity corresponding to the sensitive behavior is the entity to which the sensitive information involved flows, and the action corresponding to the sensitive behavior indicates whether the sensitive information corresponding to the sensitive behavior will flow to the entity corresponding to the sensitive behavior or will not flow to the entity corresponding to the sensitive behavior; the action corresponding to the sensitive behavior is a preset first identifier or a preset second identifier. When the action corresponding to the sensitive behavior is the first identifier, it indicates that the sensitive information corresponding to the sensitive behavior will flow to the entity corresponding to the sensitive behavior, and when the action corresponding to the sensitive behavior is the second identifier, it indicates that the sensitive information corresponding to the sensitive behavior will not flow to the entity corresponding to the sensitive behavior. For each target-sensitive behavior data, determine whether it meets any of the following inconsistent conditions: The target privacy policy does not contain a statement regarding the target sensitive behaviors corresponding to the target sensitive behavior data; All statements regarding the target sensitive behaviors in the target privacy policy indicate that the target sensitive behaviors will not be performed; The target privacy policy contains both statements indicating that the target sensitive behavior will be performed and statements indicating that the target sensitive behavior will not be performed; If so, output the conclusion that the target privacy policy is inconsistent with the target sensitive behavior and the inconsistency conditions satisfied by the target sensitive behavior data; The process of acquiring the target sensitive behavior data actually generated by the target application includes: A second combination of the data types of sensitive information actually generated in the target application and the entities to which the sensitive information actually flows is obtained using a preset static analysis algorithm or dynamic analysis algorithm, which serves as the target sensitive behavior data actually generated by the target application.
2. The method according to claim 1, characterized in that, Also includes: For each set of target-sensitive behavioral data, determine whether it meets any of the following consistent conditions: All statements regarding the target sensitive behaviors in the target privacy policy indicate that the target sensitive behaviors will be performed; The statements regarding the sensitive actions to be performed in the target privacy policy are sufficient to cover the target sensitive actions; If so, output the conclusion that the target privacy policy is consistent with the target sensitive behavior and the consistency conditions satisfied by the target sensitive behavior data.
3. The method according to claim 2, characterized in that, The process of determining whether the target sensitive behavior data meets the consistency and inconsistency conditions includes: Based on the statements of each sensitive behavior in the target privacy policy, determine whether the target sensitive behavior data meets the consistency condition and the inconsistency condition.
4. The method according to claim 3, characterized in that, Extract the statements regarding sensitive behaviors from the target privacy policy, including: The target privacy policy is input into a preset sensitive behavior statement extraction model to obtain the extracted statements of each sensitive behavior in the target privacy policy. The sensitive behavior statement extraction model is a model trained using each first training privacy policy as training samples and the pre-extracted statements of each first training sensitive behavior in each first training privacy policy as sample labels.
5. The method according to claim 4, characterized in that, For each of the first training privacy policies, the process of extracting the first combination corresponding to each of the first training sensitive behaviors in the first training privacy policy includes: Extract key information regarding sensitive behaviors of the first training from the first training privacy policy; Extract the data types that match the key information from the preset data type label library; Extract entities that match the key information from the preset entity annotation library; Extract actions that match the key information from a pre-defined action annotation library; Based on the extracted data types, entities, and actions that match the first training sensitive behavior, a first combination corresponding to the first training sensitive behavior is constructed.
6. The method according to claim 5, characterized in that, The construction process of the data type annotation library, the entity annotation library, and the action annotation library includes: Obtain the preset privacy policies for each second training session; Obtain each statement in the privacy policy of each second training session; Each sentence is segmented into words to obtain the segmentation results for each sentence; In the word segmentation results of each statement, search for words with data type attributes, words with entity attributes, and words with action attributes. The data type annotation library is constructed based on the words with data type attributes found. The entity annotation library is constructed based on the words with entity attributes found. The action annotation library is constructed based on the words with action attributes found.
7. The method according to claim 1, characterized in that, The process of obtaining the data type of the sensitive information actually generated in the target application and the second combination of the entities to which the sensitive information actually flows, using a preset static analysis algorithm, includes: Obtain the API calls from the target application; Based on each API call, obtain the second combination of the data type of the sensitive information actually generated in the target application and the entity to which the sensitive information actually flows.
8. The method according to claim 7, characterized in that, The second combination of entities that obtain the data type and the actual flow direction of sensitive information actually generated in the target application based on each API call includes: Determine a preset list of sensitive information sources and a preset list of sensitive information aggregates, wherein the list of sensitive information sources includes preset data types of each sensitive information, and the list of sensitive information aggregates includes preset entities to which each sensitive information flows; The process iteratively executes steps to determine the data type matched by any API call in the sensitive information source list and the entity matched by any API call in the sensitive information aggregate list. If the matched data type and entity have not been determined, the combination of the matched data type and entity is determined as the second combination of the data type of the sensitive information actually generated in the target application and the entity to which the sensitive information actually flows. This process continues until the data type and entity matched by all API calls are determined.
9. The method according to claim 2, characterized in that, Specifically, the statement that there is no sensitive behavior related to the target in the target privacy policy means that there is no first combination associated with the second combination in each of the first combinations corresponding to the target privacy policy; The statements regarding the target sensitive behaviors in the target privacy policy all indicate that the target sensitive behaviors will not be performed. Specifically, for each target privacy policy corresponding to the first combination associated with the second combination, the actions in the first combination are all identified by the second identifier. The target privacy policy contains both statements indicating that the target sensitive behavior will be performed and statements indicating that the target sensitive behavior will not be performed. Specifically, the first combination corresponding to the target privacy policy associated with the second combination contains both a first combination that includes the action of the first identifier and a first combination that includes the action of the second identifier. The statements regarding the target sensitive behaviors in the target privacy policy all indicate that performing the target sensitive behaviors specifically means that, for each target privacy policy associated with the second combination, the data type in the first combination is consistent with the data type in the second combination, the entity in the first combination is consistent with the entity in the second combination, and the action in the first combination is the first identifier. The statement of sensitive actions to be performed in the target privacy policy can cover the target sensitive actions in the following ways: for each first combination corresponding to the target privacy policy associated with the second combination, the data type in the second combination belongs to the data type in the first combination and the entity in the second combination belongs to the entity in the first combination, or, the data type in the second combination belongs to the data type in the first combination and the entity in the second combination is the same as the entity in the first combination, or, the data type in the second combination is the same as the data type in the first combination and the entity in the second combination belongs to the entity in the first combination, and the action in the first combination is the first identifier.
10. The method according to claim 9, characterized in that, The process of determining the first combination corresponding to the target privacy policy associated with the second combination includes: For each of the target privacy policies mentioned, the first combination is: Calculate the semantic similarity between the data types in the first combination and the data types in the second combination; Calculate the semantic similarity between entities in the first combination and entities in the second combination; When the semantic similarity between the data types in the first combination and the data types in the second combination is greater than 0, and the semantic similarity between the entities in the first combination and the entities in the second combination is greater than 0, the first combination is determined to be a combination associated with the second combination.
11. The method according to claim 10, characterized in that, The process of determining whether the data types in the first combination are consistent with the data types in the second combination, and whether the entities in the first combination are consistent with the entities in the second combination, includes: Determine whether the semantic similarity between the data types in the first combination and the data types in the second combination, and the semantic similarity between the entities in the first combination and the entities in the second combination, are both equal to 1; If so, then the data type in the first combination is consistent with the data type in the second combination, and the entity in the first combination is consistent with the entity in the second combination.
12. The method according to claim 10, characterized in that, The process of determining whether the data type in the second combination belongs to the data type in the first combination includes: Determine whether the semantic similarity between the data types in the second combination and the data types in the first combination is between 0 and 1; If so, then the data type in the second combination belongs to the data type in the first combination; Determine whether the semantic similarity between entities in the second combination and entities in the first combination is between 0 and 1; If so, then the entity in the second group is determined to belong to the entity in the first group.
13. The method according to claim 10, characterized in that, The calculation of the semantic similarity between the data types in the first combination and the data types in the second combination includes: Determine the first dependency relationship between the data types in the first group and the data types in the second group; Based on the preset source node t and the first subordinate relationship, the data types in the first combination and the data types in the second combination are used as nodes to construct a first directed graph, wherein the nodes corresponding to the data types in the first combination and the data types in the second combination all belong to the source node t. The semantic similarity sim(u1,v1) between the data types in the first combination and the data types in the second combination is calculated based on the following formula: ; Wherein, Δ(u1,t) is the pre-calculated distance between node u1 corresponding to the data type in the first combination of the first directed graph and the source node t, and Δ(v1,t) is the pre-calculated distance between node v1 corresponding to the data type in the second combination of the first directed graph and the source node t. The calculation of semantic similarity between entities in the first combination and entities in the second combination includes: Determine a second dependency relationship between entities in the first group and entities in the second group; Based on the source node t and the second dependency relationship, the entities in the first combination and the entities in the second combination are used as nodes to construct a second directed graph, wherein the nodes corresponding to the entities in the first combination and the entities in the second combination all belong to the source node t. The semantic similarity sim(u2,v2) between entities in the first combination and entities in the second combination is calculated based on the following formula: ; Wherein, Δ(u2,t) is the pre-calculated distance between node u2, corresponding to the entity in the first combination of the second directed graph, and the source node t, and Δ(v2,t) is the pre-calculated distance between node v2, corresponding to the entity in the second combination of the second directed graph, and the source node t.
14. A device for analyzing the consistency between sensitive behaviors and privacy policies of smart terminal applications, characterized in that, include: The policy and behavior data acquisition unit is used to acquire the target privacy policy of the target application to be analyzed and the target sensitive behavior data actually generated by the target application. Extract the statements of sensitive behaviors from the target privacy policy; wherein the extracted statements of sensitive behaviors in the privacy policy specifically include: a first combination of the data type, entity, and action corresponding to the sensitive behavior, wherein the data type corresponding to the sensitive behavior is the type of sensitive information involved in the sensitive behavior, the entity corresponding to the sensitive behavior is the entity to which the sensitive information involved flows, and the action corresponding to the sensitive behavior indicates whether the sensitive information corresponding to the sensitive behavior will flow to the entity corresponding to the sensitive behavior or will not flow to the entity corresponding to the sensitive behavior; the action corresponding to the sensitive behavior is a preset first identifier or a preset second identifier. When the action corresponding to the sensitive behavior is the first identifier, it indicates that the sensitive information corresponding to the sensitive behavior will flow to the entity corresponding to the sensitive behavior, and when the action corresponding to the sensitive behavior is the second identifier, it indicates that the sensitive information corresponding to the sensitive behavior will not flow to the entity corresponding to the sensitive behavior. The first judgment unit is used to determine whether each of the target sensitive behavior data satisfies any of the following inconsistent conditions: The target privacy policy does not contain a statement regarding the target sensitive behaviors corresponding to the target sensitive behavior data; All statements regarding the target sensitive behaviors in the target privacy policy indicate that the target sensitive behaviors will not be performed; The target privacy policy contains both statements indicating that the target sensitive behavior will be performed and statements indicating that the target sensitive behavior will not be performed; If so, execute the steps of the first conclusion and conditional output unit as follows; The first conclusion and condition output unit is used to output the conclusion that the target privacy policy is inconsistent with the target sensitive behavior and the inconsistency conditions satisfied by the target sensitive behavior data; The process of obtaining the target sensitive behavior data actually generated by the target application includes: using a preset static analysis algorithm or dynamic analysis algorithm to obtain the data type of the sensitive information actually generated in the target application and the second combination of the entities to which the sensitive information actually flows, as the target sensitive behavior data actually generated by the target application.
Citation Information
Patent Citations
Privacy protection policy-oriented APP privacy data consistency behavior analysis method
CN112068844A
