A policy setting system and method based on authority control
By embedding security control files in applications, dynamically adjusting permissions and intercepting malicious behaviors, the deficiencies of software permissions and behavior control in existing technologies are addressed, and effective control of malware and privacy protection are achieved.
Patent Information
- Application Number
- CN202110747098.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2016-12-01
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2036-12-01
AI Technical Summary
Existing technologies make it difficult to precisely control software permissions and behaviors, especially the privacy leakage risks of malware, and traditional antivirus software and security guards cannot effectively control them without affecting software functions.
By embedding security control files in applications, restricting permissions based on policy configuration files, dynamically adjusting and blocking malicious behaviors, and ensuring that only legitimate functions are allowed to run.
It enables precise control of software permissions and behaviors to prevent privacy leaks without relying on external monitoring software, ensuring that the normal functions of the application are not affected.
Smart Images

Figure CN113360856B_ABST
Abstract
Description
[0001] The present invention is application number 201611095114.4, application name is “A system and method for securely controlling software permissions and behaviors”, application date is December 1, 2016, and application type is divisional application of invention. Technical Field
[0002] The present invention relates to the technical field of application adaptation, and in particular to a policy setting system and method based on permission management. Background Art
[0003] With the development of software systems and the internet, a large number of applications with diverse functions have emerged, meeting people's diverse software needs in work and life. However, at the same time, malware and rogue software on computers, especially mobile devices, are constantly emerging, making them difficult for users to identify. In particular, some free apps provided by some manufacturers may appear to be practical and secure, but in the background, the software collects users' private information, such as location, address book contents, text messages, photos, etc., and quietly uploads this private information to the manufacturer's servers, creating a risk of information leakage.
[0004] For similar malware or rogue software, ordinary users are unable to identify its permissions and behaviors. On the other hand, even if they know that the software poses a risk of privacy leakage, many users have to compromise and continue to allow the software to run and collect information, considering that the software has functional advantages that are difficult to replace by other software.
[0005] The antivirus software and security guard tools currently on the market all monitor the software externally. Once they find that the software has violated the permissions or behaviors, they will directly shut down the software or even uninstall the software, making it difficult to accurately control the permissions and behaviors of the software.
[0006] Chinese patent CN 105389263 A discloses a method for monitoring application software permissions, including: downloading a third-party application software installation package; parsing the third-party application software's attributes, the process name at startup, and the permissions requested, with the attributes including at least the package name, activity, services, broadcast, and permission; generating a comparative verification job based on the parsed information; installing the generated job on a tested terminal equipped with security software, and having the tested terminal install the third-party application software according to the job's description and perform comparative verification. While this patent can monitor software access rights, it relies on the user installing security software in the operating system and cannot enable the software itself to manage permissions and behavior.
[0007] Chinese patent CN104298916A discloses an application management method, an application management system and a user device. The application management method includes the following steps. An original application is received, and a usage rights management program code is injected into the original application through a repackaging program to generate a repackaging application. The repackaging application is made public for the user device to download and install the repackaging application, wherein the user device executes the client program. When the user device executes the repackaging application, the usage rights management program code issues a usage rights check request to start the client program to issue a usage rights check response based on the usage rights information of the repackaging application. The usage rights check response indicates whether the repackaging application can continue to execute. When the usage rights check response indicates that the repackaging application cannot continue to execute, the usage rights management program code terminates the repackaging application.
[0008] Chinese patent CN104484599A discloses an application-based behavior processing method and device, the method comprising: when detecting an application startup operation, obtaining behavior permission information corresponding to the application; monitoring the behavior information of the application; and processing the behavior information according to the behavior permission information.
[0009] Chinese patent CN103761471A discloses a method and apparatus for installing applications on a smart terminal device. The method includes: during application installation, upon detecting that the application needs to read a configuration information file, loading an application authorization permission list interface set for the application to be installed, wherein the application authorization permission list interface is provided for modifying the application authorization permission list, includes one or more behavioral permissions selectively authorized by the user for the application to be installed, and records modifications to the application authorization permission list; after the application is installed, updating the application's behavioral permissions according to the modification record of the application authorization permission list.
[0010] For software that abuses permissions or engages in malicious behavior, existing technologies all use a one-time ban approach to control it.
[0011] The system provided by the present invention is capable of upgrading and generating new security control files based on changes in the permissions of applications, aiming at software that abuses permissions or engages in malicious behavior. This prevents the application from changing its permission scope due to remote calls to permissions, which could affect user safety. The present invention does not simply and crudely prohibit its operation and use. Instead, it intercepts its malicious actions and closes permissions with hidden dangers based on policies. Other functions in the application that are useful to the user are retained and allowed to execute. There is no need for users to install antivirus software or security guards and other monitoring software on the operating system. The application itself can achieve the management and control of permissions and security behaviors. Summary of the Invention
[0012] To address the deficiencies of the prior art, the present invention provides a method for securely managing software permissions and behaviors, characterized in that the method comprises:
[0013] The security control file that controls application permissions based on policy configuration files is set in the form of code at the initial location where the application runs in the form of program code.
[0014] The security control file triggered by the running of the application limits the permissions of the application according to the first policy configuration file pushed by the server,
[0015] The server generates and pushes a second policy configuration file to the security control file of the application based on the permission information and running status of the application fed back by the security control file.
[0016] According to a preferred embodiment, the server adjusts the first policy configuration file to the second policy configuration file based on the permission information of the application to be controlled marked and fed back by the security control file.
[0017] The security control file limits the permissions of the application based on the permission policy list of the second policy configuration file.
[0018] According to a preferred embodiment, the security control file adjusts the permission policy list of the second policy configuration file based on the operation obstacle of the application to generate a third policy configuration file. The security control file marks the version information of the third policy configuration file and its corresponding application and pushes it to the server for storage.
[0019] According to a preferred embodiment, the server selects a first policy configuration file, a second policy configuration file or a third policy configuration file that matches the version information of the application fed back by the security control file and pushes it to the security control file in the application.
[0020] According to a preferred embodiment, the server pushes update information to the security control file based on the permission information of failed control and the version information of the corresponding application fed back by the security control file, thereby updating the security control file.
[0021] According to a preferred embodiment, the step of setting the security control file for controlling application program permissions based on the policy configuration file in the form of code at the initial location where the application program in the form of program code is running includes:
[0022] Disassemble, reverse assemble and / or decompile the application to be controlled into program code,
[0023] The code of the security control file is set at the initial position or initialization node position of the program code.
[0024] The program code provided with the security control file is forward compiled into an application program controlled by the security control file.
[0025] According to a preferred embodiment, the security control file calculates and determines the number and time of activation of the restricted permissions during the operation of the application based on the policy requirements of the first policy configuration file or the second policy configuration file, and intercepts the restriction information sent by the restricted permissions;
[0026] The security control file recalculates and determines the number of startup times and time of the restricted permissions during the operation of the application based on the running obstacles of the application, thereby generating the third policy configuration file and pushing the recalculated and determined number of startup times and time of the restricted permissions and the restriction information to the server for storage.
[0027] According to a preferred embodiment, the security control file determines the restricted permissions by comparing the permission information listed in the permission policy list in the policy configuration file with the permission information applied for by the application.
[0028] The control instruction of the security control file is triggered based on the activation of the restricted authority, thereby preventing the activation of the restricted authority and / or intercepting the restriction information sent by the restricted authority.
[0029] According to a preferred embodiment, when the security control file loses signal connection with the server, the security control file adds the permission information to be controlled of the application that is not recorded in the permission policy list of the first policy configuration file to the permission policy list and sets it to a prohibited state, thereby generating the second policy configuration file.
[0030] The security control file adjusts the permission policy list of the second policy configuration file based on the operation obstacle of the application program to generate a third policy configuration file.
[0031] A system for security management and control of software permissions and behaviors, characterized by comprising a server, a component module, a compilation module and a security management file.
[0032] The server stores the code of the security control file and pushes the policy configuration file based on the feedback information of the security control file.
[0033] The compiling module disassembles, reverse assembles and / or reverse compiles the application to be managed into program code.
[0034] The component module sets the security control file based on the policy configuration file to control the application program permissions in the form of code at the initial location of the application program running in the form of program code.
[0035] The security control file triggered by the running of the application limits the permissions of the application according to the first policy configuration file pushed by the server,
[0036] The server generates and pushes a second policy configuration file to the security control file of the application based on the permission information and running status of the application fed back by the security control file.
[0037] The present invention also provides a policy setting system based on permission control, which includes at least a server and a security control file. The security control file set at the initial location of the application program limits the permissions of the application program according to a first policy configuration file pushed by the server. The security control file is triggered to run based on the running of the application program, and the security control file restricts and controls the permissions of the application program item by item according to the list items in the permission policy list of the first policy configuration file.
[0038] Preferably, the security control file is set in the form of code at the initial location of the application program running in the form of program code.
[0039] Preferably, after the code of the security control file is set at the starting position or initialization node position of the program running, the running mechanism of the application program changes.
[0040] When the application runs to the starting position or the initialization node position, the code of the security control file will be executed. After the execution of the code of the security control file is completed, it will return to continue executing the subsequent coding program of the application.
[0041] Preferably, the security control file feeds back permissions that are not listed in the permission policy list to the server. Based on the permission information and operating status of the application fed back by the security control file, the server adjusts the permission policy list of the pushed first policy configuration file, adds new permissions, and thus generates a second policy configuration file containing an updated permission policy list and feeds it back to the security control file.
[0042] Preferably, the security control file calculates and determines the number of startup times and time of the restricted permissions during the operation of the application based on the policy requirements of the first policy configuration file or the second policy configuration file, and intercepts the restriction information sent by the restricted permissions; the security control file recalculates and determines the number of startup times and time of the restricted permissions during the operation of the application based on the operation obstacles of the application, thereby generating the third policy configuration file and pushing the recalculated and determined number of startup times and time of the restricted permissions and the restriction information to the server for storage.
[0043] The present invention also provides a policy setting method for a policy setting system based on authority management and control, the method comprising:
[0044] The security control file set at the initial location where the application is run limits the permissions of the application according to the first policy configuration file pushed by the server, wherein:
[0045] The security control file is triggered to run based on the running of the application program. The security control file restricts and controls the permissions of the application program item by item according to the list items of the permission policy list of the first policy configuration file.
[0046] The present invention also provides an application adaptation system, which includes at least a server, a component module and a compilation module. The compilation module disassembles, reverse assembles and / or reverse compiles the application to be controlled into program code. The component module sets a security control file that controls the application permissions based on a policy configuration file in the form of code at the initial location of the application running in the form of program code. The security control file triggered based on the running of the application limits the permissions of the application according to the first policy configuration file, the second policy configuration file or the third policy configuration file pushed by the server.
[0047] Preferably, after the code of the security control file is set at the starting position or initialization node position of the program running, the running mechanism of the application program changes.
[0048] When the application runs to the starting position or the initialization node position, the code of the security control file will be executed. After the execution of the code of the security control file is completed, it will return to continue executing the subsequent coding program of the application.
[0049] The present invention also provides an application adaptation terminal, which includes at least a component module and a compilation module. The compilation module disassembles, reverse assembles and / or reverse compiles the application to be controlled into program code. The component module sets the security control file that controls the application permissions based on the policy configuration file in the form of code at the initial location of the application running in the form of program code.
[0050] Preferably, the terminal is connected to a server, and the security control file triggered based on the running of the application limits the permissions of the application according to the first policy configuration file, the second policy configuration file or the third policy configuration file pushed by the server.
[0051] Beneficial technical effects of the present invention:
[0052] 1. For software that abuses permissions or engages in malicious behavior, this invention does not simply prohibit its operation and use. Instead, it intercepts malicious actions and disables permissions that pose potential risks based on policies. Other functions within the application that are useful to users are retained and allowed to execute.
[0053] 2. There is no need to rely on users to install antivirus software or security guards and other monitoring software on the operating system. The application itself can achieve the management and control of permissions and security behaviors.
[0054] 3. Traditional manually set prohibited permissions are one-sided and easily cause some application programs to be blocked or fail to prohibit unset permissions. The present invention adjusts the permissions of application programs based on manual settings and further prohibits other unnecessary permissions without affecting the application program. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] Figure 1 is a logical diagram of the method of the present invention; and
[0056] Figure 2 It is a logical schematic diagram of the system of the present invention.
[0057] Reference Signs List
[0058] 10: Server 20: Component module 30: Compiler module
[0059] 40: Security Control Documents DETAILED DESCRIPTION
[0060] The following is a detailed description with reference to the accompanying drawings.
[0061] The contents of the security control file include the permission type, trust level, permission group name, and functions involving personal privacy information that need to be controlled under the permission group.
[0062] The application in this invention is an application provided by a third-party program developer for installation on a user's computer system or smart device system. Computer systems include Windows, XP, and Linux. Smart device systems include iOS and Android.
[0063] The server of the present invention includes a remote server and a cloud server.
[0064] like Figure 1 As shown, the present invention provides a method for securely controlling software permissions and behaviors, including:
[0065] S1: A security control file that controls application permissions based on a policy configuration file is set in the form of code at the initial location where the application, which exists in the form of program code, runs.
[0066] S2: The security control file triggered by the running of the application limits the permissions of the application according to the first policy configuration file pushed by the server;
[0067] S3: The server generates and pushes a second policy configuration file to the security control file of the application based on the permission information and running status of the application fed back by the security control file.
[0068] In the present invention, application permissions include real-time permissions for making calls, sending text messages and / or multimedia messages, unauthorized access to 2G / 3G / 4G, unauthorized access to WLAN, unauthorized access to Bluetooth, access to contacts, access to call logs, access to text messages and / or multimedia messages, obtaining the phone's location, recording using the microphone, accessing the camera, writing / deleting contacts, writing / deleting call logs, and writing / deleting text messages and / or multimedia messages. The present invention does not limit the types of actions, and the actions may also include other types of application actions.
[0069] The permission restrictions of the present invention include allowing access and prohibiting access. The security control file sets different permissions for different applications. For example, for the application WeChat, the security control file sets the access permission for the foreground running state of WeChat, sets the access permission for the non-running state of WeChat, and sets refined access permissions for the background running state of WeChat. For example: for the background running state of WeChat, the access permission for the system resource GPS resource can be set to allow access, and the access permission for the system resource address book can be set to prohibit access, etc. The present invention does not impose any special restrictions on this.
[0070] Security control files are administrative documents manually compiled and repeatedly tested by the service team. They can be complete executable programs or code snippets. They are coded in languages such as PASCAL, C, FORTRAN, BASIC, COBOL, and FOXBASE.
[0071] Example 1
[0072] This embodiment provides a method for securely managing and controlling software permissions and behaviors, including:
[0073] S1: Set the security control file based on the policy configuration file to control the application permissions in the form of code at the initial location of the application running in the form of program code.
[0074] S2: The security control file triggered by the running of the application limits the permissions of the application according to the first policy configuration file pushed by the server.
[0075] S3: The server generates and pushes a second policy configuration file to the security control file of the application based on the permission information and running status of the application fed back by the security control file.
[0076] This embodiment describes a method for securely managing and controlling software permissions and behaviors as follows.
[0077] S1: A security control file for controlling application permissions based on a policy configuration file is set in the form of code at the initial location where the application program exists in the form of program code.
[0078] When an application is running, it will request various permissions, such as obtaining location, reading the address book, and accessing the camera and microphone. These permissions and behaviors are not necessarily required for the functionality claimed by the application developer. They may be additional code added by the developer to maximize profits, or injected and superimposed later by the software download channel manufacturer. Therefore, these permissions and behaviors may be redundant or even harmful to the end user of the application. For example, a developer created a free game program that only provides interactive puzzle games and does not have location-based gaming features or the ability to play online with friends. However, when the game program is running, it will request permission to obtain the system's location and access the address book. Its real purpose is to upload user information to its servers and then sell it to other advertising companies for profit.
[0079] The application of the present invention includes applications published or unpublished by developers. When the user of the application is ready to use the application within a specific scope and needs to ensure its security and controllability, the security control file is set into the program code of the application, so that the application has the function of security control of its own permissions, and then the application with security control function is used within a specific scope. The security control file is a universal version applicable to most applications. For special applications discovered later, they may have undergone code obfuscation or encryption protection, and the code directly injected into the security control file may cause the monitoring function to fail. Therefore, the security control file can be modified and improved, upgraded and updated, so as to achieve better compatibility and universality.
[0080] Preferably, the step of setting the security control file for controlling application program permissions based on the policy configuration file in the form of code at the initial location where the application program in the form of program code is running includes:
[0081] S11: Disassemble, reverse assemble, and / or reverse compile the application to be controlled into program code;
[0082] S12: Setting the code of the security control file to the initial position or initialization node position of the program code;
[0083] S13: Forward compile the program code provided with the security control file into an application program controlled by the security control file.
[0084] Disassemble the application to be managed into program code. Alternatively, decompile or reverse-assemble the application to be managed into program code in SMALI or JAVA format.
[0085] Find the starting point of the application's code and set the security control file's code there, or at the initialization node. Setting the security control file effectively changes the application's operating mechanism. When the application reaches the starting point or initialization node, the security control file's code executes. After the security control file's code completes, execution returns to the application's subsequent code.
[0086] After the security control file is set up, the modified and set application will be re-assembled or forward compiled to form an application with security control functions that can be installed and run normally, and then released within a specific range.
[0087] S2: The security control file triggered based on the running of the application limits the permissions of the application according to the first policy configuration file pushed by the server.
[0088] The security control file is triggered to run based on the running of the application. When the security control file runs, it sends a policy configuration file request information to the server. The server responds to the request of the security control file and pushes the latest first policy configuration file to the security control file. The first policy configuration file contains a permission policy list. The permission policy list lists some permissions that are prohibited from being enabled and some permissions that are allowed to be enabled to ensure the information security of the application. The security control file restricts and controls the permissions of the application item by item according to the list items in the permission policy list of the first policy configuration file. Alternatively, when the application attempts to run the permissions listed in the permission policy list, the security control file monitors and triggers an interception action to intercept the information sent by the permission to ensure that the actual running behavior of the application does not exceed the permission policy range specified by the server, thereby achieving the goal of security control.
[0089] S3: The server generates and pushes a second policy configuration file to the security control file of the application based on the permission information and running status of the application fed back by the security control file.
[0090] In the case where the security control file performs corresponding control on the permissions of the application based on the first policy configuration file, the security control file feeds back to the server the permissions that are not listed in the permission policy list, that is, feeds back the permissions that are not within the control scope. The security control file feeds back to the server the permission information of the application that is within the control scope and the permission information that is not within the control scope, as well as the operating status of the permissions. Based on the permission information and operating status of the application fed back by the security control file, the server adjusts the permission policy list of the pushed first policy configuration file, adds new permissions, and thus generates a second policy configuration file containing an updated permission policy list. The server pushes the second policy configuration file to the security control file of the corresponding application.
[0091] According to a preferred embodiment, the server adjusts the first policy configuration file to the second policy configuration file based on the permission information of the application to be controlled marked and fed back by the security control file. The security control file limits the permissions of the application based on the permission policy list of the second policy configuration file.
[0092] Preferably, the security control file marks the permission information to be controlled before sending it to the server during the process of feeding back permission information to the server. The server adjusts the permission policy list of the first policy configuration file based on the permission information to be controlled marked and fed back by the security control file, adds new permissions, and thus generates a second policy configuration file containing an updated permission policy list and pushes it to the corresponding security control file. For example, the newly added permissions of the second policy configuration file are set to prohibited. The security control file restricts and controls the permissions of the application item by item based on the list items in the permission policy list of the second policy configuration file. Alternatively, when the application attempts to run the permissions listed in the permission policy list, the security control file monitors and triggers an interception action to intercept the information sent by the permission to ensure that the actual operation of the application does not exceed the permission policy range specified by the server, thereby achieving the goal of security control.
[0093] According to a preferred embodiment, the security control file adjusts the permission policy list of the second policy configuration file based on the operation obstacle of the application to generate a third policy configuration file. The security control file marks the version information of the third policy configuration file and its corresponding application and pushes it to the server for storage.
[0094] After the security control file implements permission control according to the second policy configuration file, it may cause operational problems for the application. This is because some permissions are essential for the application to operate. The security control file adjusts the newly added control permissions in the permission policy list of the second policy configuration file one by one, changing the permission limits until the application can operate normally. The security control file monitors the newly enabled permissions and the information they send and sends them to the server. The second policy configuration file with the adjusted permission policy list is generated as a third policy configuration file. The security control file adds a tag to the third policy configuration file and pushes it and the corresponding application version information to the server. The server stores the tagged third policy configuration file and the corresponding application version information. When the security control file is reinstalled in an application with the same version information, the server directly pushes the tagged third policy configuration file to the security control file based on the application version information provided by the security control file. By adjusting the policy configuration file, the present invention can enhance the scope of application control. This prevents the omission of permission management due to the pre-set control scope, and prevents the operation of the application from being affected and causing operational problems due to one-sided control of permissions.
[0095] According to a preferred embodiment, the server selects a first policy configuration file, a second policy configuration file or a third policy configuration file that matches the version information of the application fed back by the security control file and pushes it to the security control file in the application.
[0096] Different applications are subject to different permission control scopes. Some applications apply to the first policy configuration file without adjustment. Some applications apply to the adjusted second policy configuration file. Some applications apply to the adjusted third policy configuration file. After the security control file is set into the application, it is triggered to start based on the operation of the application. After the security control file is started, the version information of the application is sent to the server. If the server stores a record of the application version information and its corresponding policy configuration file, the corresponding first policy configuration file, second policy configuration file or third policy configuration file is sent to the security control file. If the server has no record of the version information of the application fed back by the security control file, the first policy configuration file with a universal scope is sent to it.
[0097] According to a preferred embodiment, the server pushes update information to the security control file based on the permission information of failed control and the version information of the corresponding application fed back by the security control file, thereby updating the security control file.
[0098] Security control files can be used across a wide range of universal versions of applications. However, due to the diversity of applications, some may utilize code obfuscation or encryption. Directly setting code in the security control file may result in control failures. This means that the permissions within the application are not subject to the controls and restrictions set by the security control file. Therefore, the security control file transmits application version information and permission control status to the server. The security control file development team, based on the application version information and permission control status recorded on the server, modifies and improves the security control file to achieve greater compatibility and universality. These modified applications will achieve full compatibility and applicability over a period of time.
[0099] According to a preferred embodiment, the security control file calculates and determines the number of activations and duration of restricted permissions during the application's operation based on the policy requirements of the first policy configuration file or the second policy configuration file, and intercepts the restriction information sent by the restricted permissions. The security control file further calculates and determines the number of activations and duration of restricted permissions during the application's operation based on the application's operational obstacles, thereby generating the third policy configuration file and pushing the recalculated and determined number of activations and duration of the restricted permissions, as well as the restriction information, to the server for storage.
[0100] Preferably, the security control file can identify specific malicious behaviors within an application. For example, a first or second policy configuration file pushed by a server specifies that mobile office applications are prohibited from using microphone recording permissions and that geolocation acquisition must be limited to one attempt per day to prevent information leakage. While the application is running, if it attempts to activate the microphone, the security control file detects this behavior and immediately blocks it. Each time the application acquires geolocation, the security control file triggers a determination and record. If this trigger occurs more than once between 00:00 and 24:00, the security control file reports the result and blocks the application. If the permissions specified in the first policy configuration file hinder the application's operation, causing an operational hindrance, the security control file adjusts the permission policy list in the policy configuration file to generate a third policy configuration file and recalculates and determines the activation count and time for restricted permissions during the application's operation. Alternatively, based on the application's operational hindrance, the security control file recalculates and determines the activation count and time for restricted permissions that do not affect the application's operation, thereby adjusting the permission policy list in the policy configuration file to generate a third policy configuration file. The security control file pushes the recalculated and determined activation count and time for restricted permissions, along with the restriction information, to the server for storage.
[0101] According to a preferred embodiment, the security control file determines restricted permissions by comparing the permission information listed in the permission policy list in the policy configuration file with the permission information requested by the application. The control instructions of the security control file are triggered based on the activation of the restricted permission, thereby preventing the activation of the restricted permission and / or intercepting the restriction information sent by the restricted permission.
[0102] For example, the permission policy list of the policy configuration file stipulates that the permission to read text messages is prohibited. The application runs or applies for permission to run to read text messages during operation. The security control file determines that the permission to read text messages is a restricted permission and should be prohibited by comparing the prohibition information of the permission to read text messages listed in the permission policy list in the policy configuration file with the application permission to read text messages. The control instructions of the security control file are triggered when the permission to read text messages of the application is run. The control instructions of the security control file are triggered based on the activation of the permission to read text messages, thereby preventing the activation of the permission to read text messages and / or intercepting the information sent by the application after reading the text messages.
[0103] According to a preferred embodiment, if the security control file loses signal connection with the server, the security control file adds the application's permission information to be controlled that is not recorded in the permission policy list of the first policy configuration file to the permission policy list and sets it to a prohibited state, thereby generating a second policy configuration file. The security control file adjusts the permission policy list of the second policy configuration file based on the application's operational obstacle to generate a third policy configuration file.
[0104] After the security control profile is set up in an application, the application with control functions can be published and used independently without being connected to the server. If the security control profile loses signal connection with the server, the security control profile no longer requires information pushed by the server to control the application. The security control profile is set up with a default policy profile. The security control profile can still control the application's permissions and malicious behavior based on the default policy profile.
[0105] If the security control file finds that the application has permission information to be controlled that is not recorded in the permission policy list of the first policy configuration file, the permission information to be controlled will be added to the permission control list and set to a prohibited state, thereby generating the second policy configuration file. Since some necessary permissions are prohibited, the application has operational obstacles. The security control file adjusts the permission policy list of the second policy configuration file based on the operational obstacles of the application, and adjusts the newly added restricted permissions that affect the operation of the application to a permitted state, thereby allowing the application to operate normally. The adjusted second policy configuration file generates a third policy configuration file.
[0106] Example 2
[0107] This embodiment is a further improvement and explanation of Embodiment 1, and repeated contents will not be repeated here.
[0108] like Figure 2 As shown, this embodiment provides a system for security management and control of software permissions and behaviors, including a server 10 , a component module 20 , a compilation module 30 , and a security management file 40 .
[0109] Preferably, the first policy configuration file is manually written and repeatedly tested, rather than automatically generated by software or a system. The first policy file is stored on a server or configured in a security control file.
[0110] According to a preferred embodiment, the security control file is integrated into the component module 20 before being set into the application.
[0111] The server stores the code of the security control file and pushes the policy configuration file based on the feedback information of the security control file.
[0112] Preferably, the component placement module 20 and the compilation module 30 are located on a remote server or smart terminal to which the application is wirelessly connected. Therefore, the code for the security control file is stored in the server 10 or in the component placement module 20. The component placement module 20 allows the user to specify the objects to be placed and the time between them.
[0113] Smart terminals include desktop computers, laptops, smartphones, smart bracelets, smart glasses, etc.
[0114] Typically, users cannot access the code for the security control file. Instead, they connect to the server 10 wirelessly on their smart terminal to activate the compilation module 30 and the configuration module 20. The compilation module 30 decodes the specified application, while the configuration module 20 sets the security control file for the specified application. Ultimately, the compilation module 30 forward-compiles the application with the security control file into an application with the ability to manage its own permissions.
[0115] The user connects to the server through the application of the smart terminal and instructs the installation of the security control file for the specified application. The server responds to the instruction of the smart terminal and starts the compilation module 30. The compilation module 30 disassembles, reverse assembles and / or reverse compiles the application to obtain the program code. After the compilation module 30 completes decoding the application, it sends a completion message to the component module 20. The component module 20 responds to the information of the compilation module 20 and starts to set the code of the security control file 40 to the program code of the application. After the component module 20 sets the security control file 40, it sends a forward compilation instruction or information to the compilation module 20. The compilation module 20 performs forward compilation on the application with the program code of the security control file.
[0116] Specifically, the operation of the system for securely controlling software permissions and behaviors of the present invention is described as follows.
[0117] S1: The component module 20 sets the security control file for controlling the application program permissions based on the policy configuration file in the form of code at the initial location of the application program running in the form of program code.
[0118] Preferably, the step of the component module 20 setting the security control file for controlling application program permissions based on the policy configuration file in the form of code at the initial location where the application program in the form of program code is running includes:
[0119] S11: The compiling module 30 disassembles, reverse assembles and / or reverse compiles the application program to be managed into program code;
[0120] S12: The component placement module 20 places the code of the security control file at the initial position or initialization node position of the program code;
[0121] S13: The compiling module 30 forward compiles the program code provided with the security control file into an application program controlled by the security control file.
[0122] The compiling module 30 disassembles the application program to be managed into program codes, or the compiling module 30 decompiles or reverse-compiles the application program to be managed into program codes in the form of SMALI or JAVA.
[0123] The component module 20 finds the starting position of the program running in the program code of the application program, and sets the code of the security control file at the starting position of the program running or the initialization node position.
[0124] After the security control file is set, the compilation module 30 will re-forward assemble or forward compile the modified and set application to form an application with security control functions that can be installed and run normally for release within a specific range.
[0125] S2: The security control file triggered based on the running of the application limits the permissions of the application according to the first policy configuration file pushed by the server.
[0126] The security control file 40 is triggered to run based on the running of the application. When the security control file 40 runs, it sends a policy configuration file request information to the server 10. The server 10 responds to the request of the security control file 40 and pushes the latest first policy configuration file to the security control file 40. The first policy configuration file contains a permission policy list. The permission policy list lists some permissions that are prohibited from being enabled and some permissions that are allowed to be enabled to ensure the information security of the application. The security control file 40 restricts and controls the permissions of the application item by item according to the list items in the permission policy list of the first policy configuration file. Alternatively, when the application attempts to run the permissions listed in the permission policy list, the security control file monitors and triggers an interception action to intercept the information sent by the permission to ensure that the actual running behavior of the application does not exceed the permission policy range specified by the server, thereby achieving the goal of security control.
[0127] S3: The server generates and pushes a second policy configuration file to the security control file of the application based on the permission information and operating status of the application fed back by the security control file.
[0128] In the case where the security control file performs corresponding control on the permissions of the application based on the first policy configuration file, the security control file feeds back to the server the permissions that are not listed in the permission policy list, that is, feeds back the permissions that are not within the control scope. The security control file feeds back to the server the permission information of the application that is within the control scope and the permission information that is not within the control scope, as well as the operating status of the permissions. Based on the permission information and operating status of the application fed back by the security control file, the server adjusts the permission policy list of the pushed first policy configuration file, adds new permissions, and thus generates a second policy configuration file containing an updated permission policy list. The server pushes the second policy configuration file to the security control file of the corresponding application.
[0129] According to a preferred embodiment, the server adjusts the first policy configuration file to the second policy configuration file based on the permission information of the application to be controlled marked and fed back by the security control file. The security control file limits the permissions of the application based on the permission policy list of the second policy configuration file.
[0130] According to a preferred embodiment, the security control file adjusts the permission policy list of the second policy configuration file based on the operation obstacle of the application to generate a third policy configuration file. The security control file marks the version information of the third policy configuration file and its corresponding application and pushes it to the server for storage.
[0131] After the security control file performs permission control according to the second policy configuration file, it may cause obstacles to the operation of the application. The security control file adjusts the newly added control permissions in the permission policy list of the second policy configuration file one by one, and changes the permission restrictions until the application can run normally. The security control file monitors the newly launched permissions and the information sent by them and sends them to the server, and generates the second policy configuration file with the adjusted permission policy list as a third policy configuration file. The security control file adds a tag to the third policy configuration file and pushes it and the corresponding application version information to the server. The server stores the marked third policy configuration file and the corresponding application version information.
[0132] According to a preferred embodiment, the server selects a first policy configuration file, a second policy configuration file or a third policy configuration file that matches the version information of the application fed back by the security control file and pushes it to the security control file in the application.
[0133] After the security control file is installed in the application, it is triggered to start based on the application's operation. After starting, the security control file sends the application's version information to the server. If the server stores the application's version information and its corresponding final policy configuration file, it sends the corresponding first, second, or third policy configuration file to the security control file. If the server does not have a record of the application version information provided by the security control file, it sends the first policy configuration file, which has a universal scope.
[0134] According to a preferred embodiment, the server pushes update information to the security control file based on the permission information of failed control and the version information of the corresponding application fed back by the security control file, thereby updating the security control file.
[0135] The security control file reports application version information and permission control failures to the server. The security control system's R&D team modifies and improves the security control file based on the application version information and permission control status recorded on the server to achieve greater compatibility and universality. The modified application will be fully compatible and applicable within a certain period of time. The security control system's R&D team installs the updated security control file on the server 10 or the component module 20. After the update, the component module 20 installs the latest security control file on the application.
[0136] According to a preferred embodiment, the security control file calculates and determines the number of activations and duration of restricted permissions during the application's operation based on the policy requirements of the first policy configuration file or the second policy configuration file, and intercepts the restriction information sent by the restricted permissions. The security control file further calculates and determines the number of activations and duration of restricted permissions during the application's operation based on the application's operational obstacles, thereby generating the third policy configuration file and pushing the recalculated and determined number of activations and duration of the restricted permissions, as well as the restriction information, to the server for storage.
[0137] According to a preferred embodiment, the security control file determines restricted permissions by comparing the permission information listed in the permission policy list in the policy configuration file with the permission information requested by the application. The control instructions of the security control file are triggered based on the activation of the restricted permission, thereby preventing the activation of the restricted permission and / or intercepting the restriction information sent by the restricted permission.
[0138] According to a preferred embodiment, if the security control file loses signal connection with the server, the security control file adds the application's permission information to be controlled that is not recorded in the permission policy list of the first policy configuration file to the permission policy list and sets it to a prohibited state, thereby generating a second policy configuration file. The security control file adjusts the permission policy list of the second policy configuration file based on the application's operational obstacle to generate a third policy configuration file.
[0139] After the security control profile is set up in an application, the application with control functions can be published and used independently without being connected to the server. If the security control profile loses signal connection with the server, the security control profile no longer requires information pushed by the server to control the application. The security control profile is set up with a default policy profile. The security control profile can still control the application's permissions and malicious behavior based on the default policy profile.
[0140] If the security control file finds that the application has permission information to be controlled that is not recorded in the permission policy list of the first policy configuration file, the permission information to be controlled will be added to the permission control list and set to a prohibited state, thereby generating the second policy configuration file. Since some necessary permissions are prohibited, the application has operational obstacles. The security control file adjusts the permission policy list of the second policy configuration file based on the operational obstacles of the application, and adjusts the newly added restricted permissions that affect the operation of the application to a permitted state, thereby allowing the application to operate normally. The adjusted second policy configuration file generates a third policy configuration file.
[0141] Compared to programs that rely on security systems for security management, this system frees applications from the drawbacks of relying on security systems for permission settings. Applications processed by this system proactively manage all permission requests without affecting their operation. This system eliminates the need for users to actively manage application permissions and behavior, making running applications more convenient and simple.
[0142] It should be noted that the above-described specific embodiments are illustrative only. Those skilled in the art may devise various solutions based on the disclosure of the present invention, and such solutions fall within the scope of the present invention and are intended to be protected by the present invention. Those skilled in the art should understand that the present description and its accompanying drawings are intended to be illustrative only and are not intended to limit the scope of the claims. The scope of protection of the present invention is defined by the claims and their equivalents.
Claims
1. A policy setting system based on authority management, characterized in that: At least includes a server and a security control file, wherein the security control file controls application permissions based on a policy configuration file. The security control file set at the initial location where the application is run limits the permissions of the application according to the first policy configuration file pushed by the server, wherein: The security control file is triggered to run based on the running of the application. The security control file restricts and controls the permissions of the application item by item according to the list items of the permission policy list of the first policy configuration file. The server adjusts the first policy configuration file to a second policy configuration file based on the permission information of the application to be controlled marked and fed back by the security control file, wherein the security control file feeds back permissions not listed in the permission policy list to the server. The server adjusts the permission policy list of the pushed first policy configuration file based on the permission information and operating status of the application fed back by the security control file, adds the new permissions, thereby generating a second policy configuration file containing the updated permission policy list and feeding it back to the security control file; The security control file adjusts the permission policy list of the second policy configuration file based on the operation obstacle of the application, thereby generating a third policy configuration file. The security control file marks the version information of the third policy configuration file and its corresponding application and pushes it to the server for storage. The server selects a first policy configuration file, a second policy configuration file, or a third policy configuration file that matches the version information of the application fed back by the security control file and pushes the selected configuration file to the security control file in the application.
2. The policy setting system based on authority management according to claim 1, characterized in that: The security control file is set in the form of code at the initial location of the application program running in the form of program code.
3. The policy setting system based on authority management according to claim 2, characterized in that: After the code of the security control file is set at the initial location or initialization node location of the program, the operating mechanism of the application changes. When the application runs to the initial position or the initialization node position, the code of the security control file will be executed. After the execution of the code of the security control file is completed, it returns to continue executing the subsequent coding program of the application.
4. The policy setting system based on authority management according to any one of claims 1 to 3, characterized in that: The security control file calculates and determines the number of startup times and time of the restricted permissions during the operation of the application based on the policy requirements of the first policy configuration file or the second policy configuration file, and intercepts the restriction information sent by the restricted permissions; The security control file recalculates and determines the number of startup times and time of the restricted permissions during the operation of the application based on the running obstacles of the application, thereby generating the third policy configuration file and pushing the recalculated and determined number of startup times and time of the restricted permissions and the restriction information to the server for storage.
5. An application adaptation system, characterized in that: At least includes server, component module and compilation module, The compiling module disassembles, reverse assembles and / or reverse compiles the application to be managed into program code. The component module sets the security control file based on the policy configuration file to control the application program permissions in the form of code at the initial location of the application program running in the form of program code. The security control file triggered by the running of the application limits the permissions of the application according to the first policy configuration file, the second policy configuration file or the third policy configuration file pushed by the server, The server adjusts the first policy configuration file to the second policy configuration file based on the permission information of the application to be controlled marked and fed back by the security control file, wherein the security control file feeds back to the server the permissions not listed in the permission policy list. The server adjusts the permission policy list of the pushed first policy configuration file based on the permission information and operating status of the application fed back by the security control file, adds the new permissions, thereby generating a second policy configuration file containing the updated permission policy list and feeding it back to the security control file; The security control file adjusts the permission policy list of the second policy configuration file based on the operation obstacle of the application, thereby generating a third policy configuration file. The security control file marks the version information of the third policy configuration file and its corresponding application and pushes it to the server for storage. The server selects a first policy configuration file, a second policy configuration file, or a third policy configuration file that matches the version information of the application fed back by the security control file and pushes the selected configuration file to the security control file in the application.
6. The application adaptation system according to claim 5, characterized in that: After the code of the security control file is set at the initial location or initialization node location of the program, the operating mechanism of the application changes. When the application runs to the initial position or the initialization node position, the code of the security control file will be executed. After the execution of the code of the security control file is completed, it returns to continue executing the subsequent coding program of the application.
7. An application adaptation terminal, comprising the application adaptation system according to claim 5 or 6, characterized in that: At least includes the component module and the compilation module, The compiling module disassembles, reverse assembles and / or reverse compiles the application to be managed into program code. The component module sets the security control file for controlling the application program permissions based on the policy configuration file in the form of code at the initial location where the application program exists in the form of program code runs.
8. The application adaptation terminal according to claim 7, characterized in that: The terminal is connected to the server, The security control file triggered based on the running of the application limits the permissions of the application according to the first policy configuration file, the second policy configuration file or the third policy configuration file pushed by the server.
Citation Information
Patent Citations
Application program installation method and device based on intelligent terminal
CN103761471A
Method, system and equipment for monitoring application software permissions
CN105389263A
Method for application management, corresponding system, and user device
CN104298916A
Behavior processing method and device based on application program
CN104484599A