EP3058500A1 - Method and system for operating and monitoring permissions for applications in an electronic device - Google Patents
Method and system for operating and monitoring permissions for applications in an electronic deviceInfo
- Publication number
- EP3058500A1 EP3058500A1 EP13895606.5A EP13895606A EP3058500A1 EP 3058500 A1 EP3058500 A1 EP 3058500A1 EP 13895606 A EP13895606 A EP 13895606A EP 3058500 A1 EP3058500 A1 EP 3058500A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- application
- rule
- user
- set forth
- permissions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Definitions
- This disclosure relates to a method, apparatus, and computer program for operating one or more applications.
- a wireless communication system can be seen as a facility that enables wireless carriers between two or more nodes such as fixed or mobile communication devices, access points such as base stations, servers and so on,
- a communication system and compatible communicating devices typically operate in accordance with a given standard or specification which sets out what the various entities associated with the system are permitted to do and how that should be achieved.
- the standards, specifications and related protocols can define the manner how and what communication devices shall communicate, how various aspects of the communications shall be implemented and how the devices shall be configured.
- Examples of wireless systems include public land mobile networks (PLMN) such as cellular networks, satellite based communication systems and different wireless local networks, for example wireless local area networks (WLAN).
- Wireless systems can be divided into coverage areas referred to as cells. Different types of cells can provide different features. For example, ceils can have different shapes, sizes, power levels and other characteristics.
- a user can access the communication system by means of an appropriate communication device.
- a communication device of a user is often referred to as user equipment (UE) or terminal.
- UE user equipment
- a communication device is provided with an appropriate signal receiving and transmitting arrangement for enabling communications with other parties.
- Wireless systems enable mobility for users where a mobile device can communicate over an air interface with another communication device such as e.g. a base station and/or other user equipment.
- a weather related application can quickly provide information to a user regarding the weather.
- an application to operate properly it may need access to information, for example location information, associated with the user equipment. This may raise security concerns for users.
- a method comprising: receiving a request from a second application to access information from a first application, said first and second applications installed on a user equipment, and in response to said request, determining whether said second application is operating in accordance with at least one rule.
- said method comprises providing said information to said second application when it is determined that said second application is operating in accordance with said at least one rule.
- said method comprises denying said information to said second application when it is determined that said second application is not operating in accordance with said at least one rule.
- said method comprises halting said second application when it is determined that said second application is not operating in accordance with said at least one rule
- said at least one rule is at least one of: defined by a developer of said first application; defined by a user of said user equipment; automatically created by said user equipment.
- said at least one rule is enforced by at least one of: said first application; an operating system of said user equipment,
- said information is protected by a custom permission of said first application.
- said custom permission is created by a developer of said first application.
- said at least one rule is integrated with said first application.
- said method comprises monitoring behaviour of said second application for a period of time.
- said monitoring comprises monitoring a manner in which the second application uses the information.
- Preferabiy said monitoring is triggered by said request.
- Preferably said method comprises defining a threshold number of contraventions of said at least one rule, and denying said information to said second application once said threshold number has been reached.
- a computer program comprising computer executable instructions which when run on one or more processors perform the method of the first aspect
- an apparatus comprising at least one processor; and at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to: receive a request from a second application to access information from a first application, said first and second applications installed on said apparatus, and in response to said request, determine whether said second application is operating in accordance with at least one rule.
- said at least one processor and said at least one memory are configured to cause said apparatus to provide said information to said second application when it is determined that said second application is operating in accordance with said at least one rule.
- said at least one processor and said at least one memory are configured to cause said apparatus to deny said information to said second application when it is determined that said second application is not operating in accordance with said at least one rule.
- said at least one processor and said at least one memory are configured to cause said apparatus to halt said second application when it is determined that said second application is not operating in accordance with said at least one rule.
- said at least one rule is at least one of: defined by a developer of said first application; defined by a user of said apparatus; automatically created by said apparatus.
- said at least one rule is enforced by at least one of: said first application; an operating system of said apparatus.
- said at least one processor and said at least one memory are configured to cause said apparatus to protect said information by a custom permission of said first application.
- Preferably said custom permission is created by a developer of said first application.
- said at least one rule is integrated with said first application.
- said at least one processor and said at least one memory are configured to cause said apparatus to monitor behaviour of said second application for a period of time.
- said monitoring comprises monitoring a manner in which the second application uses the information.
- Preferably said monitoring is triggered by said request.
- said at least one processor and said at least one memory are configured to cause said apparatus to deny said information to said second application when a defined threshold number of contraventions of said at least one rule has been reached.
- an apparatus comprising means for receiving a request from a second application to access information from a first application, said first and second applications installed on said apparatus, and in response to said request, means for determining whether said second application is operating in accordance with at least one rule.
- said apparatus comprises means for providing said information to said second application when it is determined that said second application is operating in accordance with said at least one rule.
- said apparatus comprises means for denying said information to said second application when it is determined that said second application is not operating in accordance with said at least one rule, Preferably said apparatus comprises means for halting said second application when it is determined that said second application is not operating in accordance with said at least one rule
- said at least one rule is at least one of: defined by a developer of said first application; defined by a user of said apparatus; automatically created by said apparatus.
- said at least one rule is enforced by at least one of: said first application; an operating system of said apparatus.
- said apparatus comprises means for protecting said information by a custom permission of said first application.
- Preferably said custom permission is created by a developer of said first application.
- At least one rule is integrated with said first application.
- said apparatus comprises means for monitoring behaviour of said second application for a period of time.
- said monitoring comprises monitoring a manner in which the second application uses the information.
- said monitoring is triggered by said request.
- said apparatus comprises means for denying said information to said second application when a defined threshold number of contraventions of said at least one rule has been reached
- a method comprising defining at least one rule for operation of an application on a user equipment, said at least one rule related to one or more permissions granted to said application; and detecting when said application attempts to access said one or more permissions; and in response to said detecting, initiating a monitoring period of said operation of said application, and determining whether said application operates in accordance with said at least one rule during said monitoring period.
- said method comprises at least one of: alerting a user; halting said application.
- said method comprises halting said application if the application contravenes said at least one rule a threshold number of times.
- said at least one rule is defined during installation of said application.
- said method comprises ranking said permissions according to a perceived risk.
- a computer program comprising computer executable instructions which when run on one or more processors performs the method of the fifth aspect.
- an apparatus comprising at least one processor; and at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to: define at least one rule for operation of an application on said apparatus, said at least one rule related to one or more permissions granted to said application; and detect when said application attempts to access said one or more permissions; and in response to said detecting, initiate a monitoring period of said operation of said application, and determine whether said application operates in accordance with said at least one rule during said monitoring period.
- said at least one processor and said at least one memory are configured to cause the apparatus to at least one of: alert a user; halt said application.
- said at least one processor and said at least one memory are configured to cause the apparatus to halt said application if the application contravenes said at least one rule a threshold number of times.
- said at least one rule is defined during installation of said application.
- an apparatus comprising means for defining at least one rule for operation of an application on said apparatus, said at least one rule related to one or more permissions granted to said application; and means for detecting when said application attempts to access said one or more permissions; and in response to said detecting, means for initiating a monitoring period of said operation of said application, and means for determining whether said application operates in accordance with said at least one rule during said monitoring period.
- said apparatus comprises means for at least one of: alerting a user; baiting said application.
- said apparatus comprises means for halting said application if the application contravenes said at least one rule a threshold number of times.
- said at least one rule is defined during installation of said application.
- said apparatus comprises means for ranking said permissions according to a perceived risk.
- Figure 1 shows a schematic diagram of a network according to some embodiments
- Figure 2 shows a schematic diagram of a control apparatus according to some embodiments
- Figure 3 shows a user interface according to an embodiment
- Figure 4 shows a user interface according to an embodiment
- Figure 5 is a flow chart showing steps according to an embodiment
- Figure 6 is a flow chart showing steps according to another embodiment.
- a wireless communication system serving mobile communication devices.
- UE user equipment
- 102, 103, 105 are provided wireless access via at least one base station or similar wireless transmitting and/or receiving node or point.
- FIG. 1 example two overlapping access systems or radio service areas of a cellular system 100 and 110 and three smaller radio service areas 115, 117 and 119 provided by base stations 108, 107, 116, 118 and 120 are shown, Each mobile communication device and station may have one or more radio channels open at the same time and may send signals to and/or receive signals from more than one source. It is noted that the radio service area borders or edges are schematically shown for Illustration purposes only in Figure 1 , It shall also be understood that the sizes and shapes of radio service areas may vary considerably from the shapes of Figure 1.
- a base station site can provide one or more cells.
- a base station can also provide a plurality of sectors, for example three radio sectors, each sector providing a cell or a subarea of a cell. All sectors within a cell can be served by the same base station.
- Base stations are typically controlled by at least one appropriate controller apparatus so as to enable operation thereof and management of mobile communication devices in communication with the base stations.
- control apparatus 108 and 109 is shown to control the respective macro level base stations 108 and 107.
- the control apparatus of a base station can be interconnected with other control entities.
- the control apparatus is typically provided with memory capacity and at least one data processor.
- the control apparatus and functions may be distributed between a plurality of control units.
- the control apparatus may additionally or alternatively be provided in a radio network controller, in Figure 1 stations 108 and 107 are shown as connected to a wider communications network 113 via gateway 112.
- a further gateway function may be provided to connect to another network,
- the smaller stations 118, 118 and 120 can also be connected to the network 113, for example by a separate gateway function and/or via the controllers of the macro level stations.
- stations 116 and 118 are connected via a gateway 111 whilst station 120 connects via the controller apparatus 108.
- the smaller stations may not be provided.
- An appropriate mobile communication device may be provided by any device capable of sending and receiving radio signals.
- Non-limiting examples include a mobile station (MS) such as a mobile phone or what is known as a 'smart phone', a computer provided with a wireless interface card or other wireless interface facility, personal data assistant (PDA) provided with wireless communication capabilities, or any combinations of these or the like.
- a mobile communication device may provide, for example, communication of data for carrying communications such as voice, electronic mail (email), text message, multimedia and so on. Users may thus be offered and provided numerous services via their communication devices. Non- limiting examples of these services include two-way or multi-way calls, data communication or multimedia services or simply an access to a data communications network system, such as the Internet. Users may also be provided broadcast or multicast data.
- Non-limiting examples of the content include downloads, television and radio programs, videos, advertisements, various alerts and other information.
- the communication devices 102, 103, 105 can access the communication system based on various access techniques, such as code division multiple access (CDIVIA), or wideband CDMA (WCDMA).
- CDIVIA code division multiple access
- WCDMA wideband CDMA
- Other examples include time division multiple access (TDMA), frequency division multiple access (FDiv!A) and various schemes thereof such as the interleaved frequency division multipie access (IFDMA), single carrier frequency division multipie access (SC-FDfvIA) and orthogonal frequency division multiple access (OFDMA), space division multiple access (SOMA) and so on.
- TDMA time division multiple access
- FDiv!A frequency division multiple access
- IFDMA interleaved frequency division multipie access
- SC-FDfvIA single carrier frequency division multipie access
- OFDMA orthogonal frequency division multiple access
- SOMA space division multiple access
- LTE Long-term evolution
- UMTS Universal Mobile Telecommunications System
- LTE- A LTE Advanced
- E-UTRAN Evolved Universal Terrestrial Radio Access Network
- Base stations of such systems are known as evolved or enhanced Node Bs (eNBs) and may provide E-UTRAN features such as user plane Radio Link Control/Medium Access Control/Physical layer protocol (RLC/MAC/PHY) and control plane Radio Resource Control (RRC) protocol terminations towards the communication devices.
- E-UTRAN features such as user plane Radio Link Control/Medium Access Control/Physical layer protocol (RLC/MAC/PHY) and control plane Radio Resource Control (RRC) protocol terminations towards the communication devices.
- RLC/MAC/PHY Radio Link Control/Medium Access Control/Physical layer protocol
- RRC Radio Resource Control
- Other examples of radio access system include those provided by base stations of systems that are based on technologies such as wireless local area network (WLAN) and/or WIMax (Woridwide Interoperability for Microwave Access).
- WLAN wireless local area network
- WIMax Worldwide Interoperability for Microwave Access
- transceiver apparatus is designated schematically by block 208.
- the transceiver apparatus 208 may be provided for example by means of a radio part and associated antenna arrangement.
- the antenna arrangement may be arranged internally or externally to the mobile device.
- a mobile device is also typically provided with at least one data processing entity 201 , at least one memory 202 and other possible components 203 for use in software and hardware aided execution of tasks it is designed to perform, including control of access to and communications with access systems and other communication devices.
- the data processing, storage and other relevant control apparatus can be provided on an appropriate circuit board and/or in chipsets. This feature is denoted by reference 204.
- the user may control the operation of the mobile device by means of a suitable user interface such as key pad 205, voice commands, touch sensitive screen or pad, combinations thereof or the like.
- a display 208, a speaker and a microphone can also be provided.
- a mobile communication device may comprise appropriate connectors (either wired or wireless) to other devices and/or for connecting external accessories, for example hands-free equipment, thereto.
- a user can download an application or app to their user equipment, such as a smart phone. Once downloaded the application can provide an extra functionality to the user equipment, or act as a gateway or shortcut to certain information for a user, Examples of applications include (but are not limited to) news; weather; games; entertainment (such as music and/or videos); communication (such as email and/or SMS); online banking etc. Apps can be pre-installed on the user equipment, such that they are present the first time a user switches the user equipment on, A user can also download applications to the user equipment. To do this a user typicaily navigates to an application "market-place" from where a user can search from a number of available applications, select one or more desired applications, and install the one or more applications.
- Permissions are requested by an application at install time and if granted the application can use the resources protected by those particular permissions during runtime.
- an application developer decides what kind of resources the application has to gain access to in order to work properly. For example the application may need access to calendar data, location data, internet connection etc. The developer then adds a list of corresponding permissions that are needed to access those resources to the application package.
- a list of permissions (or at least a part of the list) will be presented to the user for approval.
- FIG. 3 An example of this is shown in Figure 3 in which a user has selected a "News" application to be installed.
- a user On a user interface 310 of a display 308 of the user equipment, the user is provided with a list 312 of permissions that the news application requests access to. These include “storage” 314, location” 318, “camera” 318, "your applications information” 320, “phone calls” 322, and "network communication” 324.
- this is only a portion of the permissions that the news application requests access to and the user can see the full list by selecting the "See all" icon 328, In order to complete installation of the application the user must select the "Accept” icon 328, which means that the user grants the application access to the listed permissions.
- embodiments may provide a user (such as an end user of the user equipment or an app developer themselves) a flexible framework for specifying which permissions the user allows the app to access, and/or the way in which the app can behave during runtime.
- Embodiments may use information or combine information from various sources and compare that information against predefined rules in order to detect a possibly misbehaving application.
- the information that is used could be for example time, network usage, location, other running applications etc. It should be appreciated that this list is not exhaustive and that of course other information sources may be used.
- an application that can be used to edit images taken with a smart phone can be considered.
- Such an application will need access to memory storage for retrieving the original image and for storing the edited image. Therefore a user may be happy to provide permission for the application to access memory storage. It might also be possible with such an application to download new special effects or the like that the user can use to edit the images. Therefore a user may also be happy to provide the corresponding permission to allow the application to access the internet.
- the granuiarity of such permissions is typically very coarse.
- the user may be happy for the application to download the aforementioned "special effects", however the general internet access permission may allow the application to perform much broader activities than this.
- the application could in theory, with the generalised internet access, upload a user's personal data from memory storage to a server in the internet without the user's consent.
- Embodiments may provide a user with the option to specify or limit actions that an application may take with respect to a particular permission.
- a user may be able to specify that an application has permission to download information from the internet, but not to upload information, and vice versa.
- a user may also be able to specify a limit or threshold for the amount of data that an application can download and/or upload, in further embodiments a user can specify times at which the application can access the authorised permission.
- the user may also specify where (e.g. particular website) the application is permitted to download and/or upload information from and to.
- embodiments still enable coarse permission and/or denials of permissions.
- a user may wish to deny permission in a coarse manner, so as to completely deny the image editing application access to text messages.
- a user can define "rules" that an application should (or must) adhere to. Such rules can be defined at any time. In some embodiments a user can define the rules at the time of installing the application.
- FIG 4. This is similar to the example of Figure 3, except in addition to the "Accept" button 428, there is also provided a "Define Rules” icon 430, By selecting this icon the user can define rules for particular permissions.
- the user can "Accept” or "Define rules” for each permission in turn.
- the user has selected the "Storage” parameter 414 in the list, as shown by the box surrounding that parameter.
- the user can either fully accept this permission by selecting icon 428, or can choose to define rules for this permission by selecting "Define Rules” icon 430. The user can do this for each parameter in the list. If the user selects the "Define Rules" icon for any of the parameters, then the user is taken to a further screen in which those rules can be specified.
- a user can specify which parts of the memory storage the particular application is permitted access to.
- a user may for example wish to specify that the application is permitted access to stored images and nothing else.
- a user may wish to specify that an application is permitted access to location data, and nothing else etc.
- a user can set rules before installing an application. For example a user can set generic rules through a "Settings" menu on the user equipment using which the user can set generic rules by which any downloaded applications must comply. These generic rules can be set or updated at any time.
- a user can also define rules after an application has been installed. For example the user can bring up the "app permissions" list (as shown for example in Figure 4) to accept permissions or define rules for permissions at any time.
- the rules may be configured to cause the user equipment to monitor the behaviour of the application during runtime. That is in addition to providing initial permissions the rules may define the behaviour that the application should follow, and the behaviour of the app is monitored to ensure that the rules are adhered to. in some embodiments, as described above, the rules can be defined by the user. In another embodiment the rules could be defined by the developer of the application. In such an embodiment a user may be provided with an option such as "Accept developer defined rules and permissions?". The application developer may be incentivised to define rules in a manner that makes the app secure for the user, so that the developer can become a "trusted" vendor of applications.
- the rules may be automatically created based on the requested permissions and the description of the application. Previous user behaviour, for example taking into consideration the type of permissions that the user typically allows, may be considered when automatically creating the rules. This embodiment is convenient for the user since if minimises user intervention.
- Some embodiments may use a trusted third party (such as or similar to a certification authority).
- the third party could either validate the app developer generated rules or create new rules altogether.
- overprivilege e.g. excessive or non-permitted use of permissions
- applications can be detected. For example the number of API (Application Programming Interface) calls that an application uses can be determined, and those API calls can then be mapped to permissions. Over time a permissions map can be automatically built, which can subsequently be used to detect overprivilege.
- API Application Programming Interface
- the application behaviour can be first analysed in a "sandbox" environment (e.g. isolated from other software on the user equipment) and then the requested permissions can be mapped to the function calls that the program has made during "normal" operation. If there are permissions that the app requests but doesn't appear to need (for example a "weather” app requesting access to an email account of a user), then rules can be defined that will block the use of those permissions. In some embodiments the user might have to approve the permissions during installation in order to get the app working.
- rules can be defined for how to limit the use of the permissions, once it has been determined how an app should behave. This can enable detection of when a possibly malicious app tries to "piggy-back" its way into some data it should not have access to by using a possible security vulnerability of an otherwise legitimate app (privilege escalatk
- a user may be presented with the option of creating rules for only the most "dangerous" or "risky” permissions.
- What is considered a “dangerous” or “risky” permission can be itself user defined at any point, or may be automatically determined by the user equipment, or may be determined by the application developer. This may speed up the rule defining process since the user may be presented with fewer options.
- the permission requests may be ranked according to their perceived “danger” or "risk”, and presented to the user in a ranked fashion i.e. with the most dangerous permissions at the top of the list.
- "Dangerous" permissions could be for example location data, access to an email account, access to text messages or any permission that might affect the user's privacy. Also permissions that might cost the user money (e.g. Internet access, calling, sending text messages etc.) could be ranked as "Dangerous",
- the behaviour of the app may then be monitored for a period of time. This period may be the entire period in which the app is running. Alternatively it may be a shorter period. In some embodiments the behaviour is monitored periodically.
- the behaviour of the app or a check as to whether the app is only using permissions it has been granted is not only checked at the point of opening the app, but the behaviour is monitored for a period of time during run-time to check that the app is operating according to the defined rules. This may prevent an app from initially running according to defined rules, and then subsequently contravening those rules a period of time after the app has been opened.
- the "rule enforcement system" could be notified when an app is started. At this point a check may be made in a "rules database” to see the rules that are defined for that app, If there are no rules defined for that app in the rules database, then nothing needs to be done when that application makes a function call that requires the use of a particular permission later on. However, if there are rules defined for the app, then the enforcement system would start to monitor the application behaviour. When the app makes a call that requires the use of a certain permission, it is checked if that particular permission is accompanied by a rule (or rules).
- the monitoring phase for that app is triggered, in some cases the determination can be made instantaneously (that is the "monitoring" covers only the point in time that the permission is requested). However in many cases the actions carried out by an application following grant of a permission to that application are of interest, so in some embodiments the monitoring continues for a period following grant of the permission. This period could be user defined, automatically defined, or defined by the app developer. In some embodiments the monitoring period is the entire active period of the application. By way of example, if there is a quota for uplink traffic, then when the "Internet" permission is requested monitoring of the amount of data sent on the uplink can be commenced and monitored for the defined period.
- the user could be alerted. For example a message could appear on the display of the user equipment to warn the user that the app may be operating in a suspicious manner. Alternatively or in addition a different alert such as a vibration or a sound may be used to alert the user.
- the application is automatically halted if it contravenes one or more rules. In another embodiment an alert is only created after a predefined number of contraventions of the rules.
- an alert may depend upon the ranking of the permission in question that has been violated and its associated rule. For example an application may be immediately halted if a rule associated with a high ranking permission is contravened. If a middle or low ranking permission and its associated rule is contravened then the user may only be alerted or the application halted after a number of violations. in some embodiments an alert or halting of the application may occur when certain combination of permissions are requested by an application. For example a rule couid be set such that an alert is created or the application is halted if the application requests location information and attempts to access the user equipment memory, either simultaneously or within a predetermined time period.
- the enforcement of the rules may be carried out in real time. For example when the application issues a call that would break a rule, a user would need to approve the action before the application proceeds. Alternatively the information can be simply provided to the user (for example "app X has breached the rule Y"), and using that information the user can decide whether to allow the app to continue or to stop the app. In this way the simplicity of the existing permissions based system can be maintained, with the rules providing an additional level of security separate from the actual permission enforcement.
- FIG. 5 is a flow chart showing the steps according to an embodiment. In this embodiment the user has entered an applications market place or vendor.
- step S1 the user selects an application to download.
- step S2 the user can view the permissions requested by the application. For example a list of permissions as shown in Figure 4 is displayed to the user.
- the user can define rules associated with a particular permission, or can accept each permission. This can be done on a permission by permission basis, or the user can choose to accept all permissions in one go.
- the rules may be defined in the manner described above.
- step S4 the user runs the application.
- step S5 monitoring of the application. During this period it is monitored whether the application contravenes any of the defined rules.
- step S6 the user is alerted, and/or the application is halted if it is determined that the application has contravened one or more of the rules,
- step S3 may be carried out by the user, or automatically by the user equipment, as discussed above.
- steps S2 and S3 may be optional.
- step S3 of defining the rules/accepting permissions may be carried out separately from the downloading of the application i.e. the user may set generic rules/permissions to be applied to any app that is downloaded.
- the rules are defined by the application developer, then in some embodiments the developer can define rules regarding how that application interacts with other applications.
- an application (app A) to make some service or functionality available to other applications (app B).
- the functionality can be protected by a custom permission generated by the developer of app A. This custom permission can be enforced either in the operating system (OS) like any other permission, or alternatively it can be enforced by app A itself.
- OS operating system
- the developer of app A might not have total (or any) control of which apps are permitted to use the functionality of app A, particularly if the developer of app A is not in control of granting permissions (the end user may have control over the permissions).
- any app that has knowledge of a service that app A provides may be able to add that permission to its list of requested permissions, and the developer of app A may have little or no control over whether that particular app (app B) will be granted that permission.
- the developer of application A can define rules thai will need to be followed by application B (or any number of other applications) in accessing the protected functionality/resource from application A.
- the application developer can define what happens if a rule is broken. For example the action to be taken does not have to always be the same. For example a simple breaking of a rule might be deemed acceptabie, but multiple violations within a certain time period might "blacklist" that application (application B) from accessing the resource.
- the first application receives a request from a second application to access information from the first application.
- This rule may be a predefined rule. This rule may be defined as discussed above. In one embodiment the rule is defined by a developer of the first application. However the rule could be defined by an end user or automatically created by the user equipment. The rule can be integrated with the first application or "bundled" therewith. In such an embodiment the rule may be automatically installed along with the first application. If the second application is operating in accordance with the rule, then at step S3 the requested information is provided to the second application.
- step S4 the information is denied to the second application, or the second application may be halted.
- Step S5 shows an additional step of monitoring the behaviour of the second application.
- this is shown as following on directly from step S3, but in other embodiments this monitoring may follow or precede any of the other steps shown in Figure 6.
- the monitoring is triggered by the request received at the first application, !n another embodiment the behaviour of the second application is already being monitored before the request is received at the first application,
- the embodiments can be implemented. For example it could be an integrated part of the user equipment operating system. That is the user may be able to control the permissions and associated rules via a settings menu on the user equipment. Alternatively the functionality may itself be provided in an app that is downloadable to the user equipment. In this case the app developer may be the manufacturer of the user equipment in question.
- the permissions and/or associated rules can then be defined by entering the application. It will be appreciated that some embodiments may provide an additional level of security that can help a user to make educated decisions regarding how to control the information provided to applications, or even block some potentially harmful function calls independently.
- An appropriately adapted computer program code product or products may be used for implementing the embodiments, when loaded on an appropriate data processing apparatus, for example for determining geographical boundary based operations and/or other control operations.
- the program code product for providing the operation may be stored on, provided and embodied by means of an appropriate carrier medium.
- An appropriate computer program can be embodied on a computer readable record medium. A possibility is to download the program code product via a data network.
- the various embodiments may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Embodiments of the inventions may thus be practiced in various components such as integrated circuit modules.
- the design of integrated circuits is by and large a highly automated process. Complex and powerful software tools are available for converting a logic level design into a semiconductor circuit design ready to be etched and formed on a semiconductor substrate. if is also noted herein that while the above describes exemplifying embodiments of the invention, there are several variations and modifications which may be made to the disclosed solution without departing from the scope of the present invention.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Telephone Function (AREA)
- Storage Device Security (AREA)
- Telephonic Communication Services (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/IB2013/059452 WO2015056056A1 (en) | 2013-10-18 | 2013-10-18 | Method and system for operating and monitoring permissions for applications in an electronic device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| EP3058500A1 true EP3058500A1 (en) | 2016-08-24 |
| EP3058500A4 EP3058500A4 (en) | 2018-01-17 |
Family
ID=52827716
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP13895606.5A Ceased EP3058500A4 (en) | 2013-10-18 | 2013-10-18 | Method and system for operating and monitoring permissions for applications in an electronic device |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US11218507B2 (en) |
| EP (1) | EP3058500A4 (en) |
| JP (1) | JP2016540287A (en) |
| CN (2) | CN105659246A (en) |
| WO (1) | WO2015056056A1 (en) |
Families Citing this family (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103310149B (en) | 2013-05-27 | 2018-06-26 | 华为终端(东莞)有限公司 | System function calling method, device and terminal |
| KR102337990B1 (en) * | 2014-09-18 | 2021-12-13 | 삼성전자주식회사 | Electronic Device Using Token for Setting Permission |
| WO2017075088A1 (en) | 2015-10-27 | 2017-05-04 | Blackberry Limited | Detecting resource access |
| WO2017075087A1 (en) * | 2015-10-27 | 2017-05-04 | Blackberry Limited | Detecting resource access |
| JP6656388B2 (en) * | 2016-02-04 | 2020-03-04 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | Actor migration |
| US9807101B1 (en) * | 2016-04-29 | 2017-10-31 | Oracle International Corporation | Inferring security-sensitive entities in libraries |
| CN107317916B (en) * | 2017-05-26 | 2019-09-10 | Oppo广东移动通信有限公司 | Application control methods and related products |
| US11075946B2 (en) * | 2017-12-19 | 2021-07-27 | T-Mobile Usa, Inc. | Honeypot adaptive security system |
| JP7119480B2 (en) * | 2018-03-23 | 2022-08-17 | 日本電気株式会社 | Application execution authority management device, method and program |
| CN110062106B (en) * | 2019-03-27 | 2021-10-15 | 努比亚技术有限公司 | Calling method of application program, mobile terminal and storage medium |
| CN110083465B (en) * | 2019-04-26 | 2021-08-17 | 上海连尚网络科技有限公司 | Data transmission method between boarded applications |
| EP4059249A1 (en) * | 2019-11-15 | 2022-09-21 | Nisha, Krishna Sajesh Kumar | End user privacy protection system and method thereof |
| CN113806161A (en) * | 2020-06-12 | 2021-12-17 | 北京小米移动软件有限公司 | Application access method, application access device and storage medium |
| US11736525B1 (en) * | 2020-06-17 | 2023-08-22 | Amazon Technologies, Inc. | Generating access control policies using static analysis |
| US11435992B2 (en) * | 2020-08-20 | 2022-09-06 | T-Mobile Usa, Inc. | Communications registry and governance for apps |
| CN115221497A (en) * | 2021-03-29 | 2022-10-21 | 北京小米移动软件有限公司 | Method and device for setting use permission of application, electronic equipment and storage medium |
Family Cites Families (63)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6799277B2 (en) * | 1998-06-04 | 2004-09-28 | Z4 Technologies, Inc. | System and method for monitoring software |
| US6735701B1 (en) * | 1998-06-25 | 2004-05-11 | Macarthur Investments, Llc | Network policy management and effectiveness system |
| US7200865B1 (en) * | 2000-12-01 | 2007-04-03 | Sprint Communications Company L.P. | Method and system for communication control in a computing environment |
| US7099663B2 (en) | 2001-05-31 | 2006-08-29 | Qualcomm Inc. | Safe application distribution and execution in a wireless environment |
| US7502610B2 (en) * | 2002-06-28 | 2009-03-10 | Qualcomm Incorporated | System and method for application management through threshold events |
| US20040068502A1 (en) * | 2002-10-02 | 2004-04-08 | Jerome Vogedes | Context information management in a communication device |
| MXPA04007406A (en) * | 2003-05-17 | 2005-02-17 | Microsoft Corp | Mechanism for evaluating security risks. |
| US20050183143A1 (en) * | 2004-02-13 | 2005-08-18 | Anderholm Eric J. | Methods and systems for monitoring user, application or device activity |
| US7516477B2 (en) * | 2004-10-21 | 2009-04-07 | Microsoft Corporation | Method and system for ensuring that computer programs are trustworthy |
| US20060107327A1 (en) | 2004-11-16 | 2006-05-18 | Sprigg Stephen A | Methods and apparatus for enforcing application level restrictions on local and remote content |
| CN1976246A (en) * | 2005-11-28 | 2007-06-06 | 国际商业机器公司 | Method, apparatus and mobile equipment for permiting mobile equipment presetting and obtaining service |
| US7739731B2 (en) * | 2006-01-09 | 2010-06-15 | Oracle America, Inc. | Method and apparatus for protection domain based security |
| US20080016339A1 (en) * | 2006-06-29 | 2008-01-17 | Jayant Shukla | Application Sandbox to Detect, Remove, and Prevent Malware |
| US8856859B2 (en) | 2007-02-06 | 2014-10-07 | Blackberry Limited | System and method for setting application permissions |
| CN101547202B (en) * | 2008-03-28 | 2015-06-17 | 三星电子株式会社 | Method and device for processing security level of device on the net |
| US8499063B1 (en) * | 2008-03-31 | 2013-07-30 | Symantec Corporation | Uninstall and system performance based software application reputation |
| US9418219B2 (en) * | 2008-04-11 | 2016-08-16 | Microsoft Technology Licensing, Llc | Inter-process message security |
| US9652788B2 (en) * | 2008-06-18 | 2017-05-16 | Oracle International Corporation | Method and apparatus for logging privilege use in a distributed computing environment |
| US9495538B2 (en) * | 2008-09-25 | 2016-11-15 | Symantec Corporation | Graduated enforcement of restrictions according to an application's reputation |
| US8984628B2 (en) * | 2008-10-21 | 2015-03-17 | Lookout, Inc. | System and method for adverse mobile application identification |
| US9235704B2 (en) * | 2008-10-21 | 2016-01-12 | Lookout, Inc. | System and method for a scanning API |
| US8533844B2 (en) * | 2008-10-21 | 2013-09-10 | Lookout, Inc. | System and method for security data collection and analysis |
| JP5228943B2 (en) * | 2009-01-27 | 2013-07-03 | 富士通株式会社 | Minimum privilege violation detection program |
| US20100251369A1 (en) * | 2009-03-25 | 2010-09-30 | Grant Calum A M | Method and system for preventing data leakage from a computer facilty |
| US8776218B2 (en) * | 2009-07-21 | 2014-07-08 | Sophos Limited | Behavioral-based host intrusion prevention system |
| US8255991B1 (en) | 2009-08-17 | 2012-08-28 | Google Inc. | Computer application pre-permissioning |
| JP5279657B2 (en) * | 2009-08-24 | 2013-09-04 | Kddi株式会社 | Program inspection apparatus and program for operating computer as the apparatus |
| US9224146B2 (en) * | 2009-09-30 | 2015-12-29 | The Toronto Dominion Bank | Apparatus and method for point of sale terminal fraud detection |
| US8479286B2 (en) * | 2009-12-15 | 2013-07-02 | Mcafee, Inc. | Systems and methods for behavioral sandboxing |
| US20110225649A1 (en) | 2010-03-11 | 2011-09-15 | International Business Machines Corporation | Protecting Computer Systems From Malicious Software |
| US8719804B2 (en) * | 2010-05-05 | 2014-05-06 | Microsoft Corporation | Managing runtime execution of applications on cloud computing systems |
| US8725585B1 (en) * | 2010-05-18 | 2014-05-13 | Google Inc. | Automatic vetting of web applications to be listed in a marketplace for web applications |
| US9215548B2 (en) * | 2010-09-22 | 2015-12-15 | Ncc Group Security Services, Inc. | Methods and systems for rating privacy risk of applications for smart phones and other mobile platforms |
| JP2012118842A (en) * | 2010-12-02 | 2012-06-21 | Nec Corp | Access control system, access control device, and control method |
| US20120209923A1 (en) | 2011-02-12 | 2012-08-16 | Three Laws Mobility, Inc. | Systems and methods for regulating access to resources at application run time |
| WO2012112096A1 (en) * | 2011-02-18 | 2012-08-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Secure handling of information related to a user |
| US8958336B2 (en) * | 2011-03-16 | 2015-02-17 | Verizon Patent And Licensing Inc. | Condition detection by a call session control function (CSCF) |
| KR20120133594A (en) | 2011-05-31 | 2012-12-11 | 에스케이하이닉스 주식회사 | Operating method of non-volatile memory device |
| US8646100B2 (en) * | 2011-06-03 | 2014-02-04 | Apple Inc. | Method for executing an application in a restricted operating environment |
| US8763080B2 (en) * | 2011-06-07 | 2014-06-24 | Blackberry Limited | Method and devices for managing permission requests to allow access to a computing resource |
| US8650550B2 (en) * | 2011-06-07 | 2014-02-11 | Blackberry Limited | Methods and devices for controlling access to computing resources |
| WO2013025785A1 (en) * | 2011-08-15 | 2013-02-21 | Arizona Board Of Regents, For And On Behalf Of, Arizona State University | Systems methods, and media for policy-based monitoring and controlling of applications |
| KR20130023656A (en) | 2011-08-29 | 2013-03-08 | 주식회사 팬택 | Portable multifunction device and method for controlling permission of application |
| US20130067531A1 (en) * | 2011-09-12 | 2013-03-14 | Microsoft Corporation | Access Brokering Based on Declarations and Consent |
| US20140032733A1 (en) * | 2011-10-11 | 2014-01-30 | Citrix Systems, Inc. | Policy-Based Application Management |
| US20130097660A1 (en) * | 2011-10-17 | 2013-04-18 | Mcafee, Inc. | System and method for whitelisting applications in a mobile network environment |
| US20130097659A1 (en) * | 2011-10-17 | 2013-04-18 | Mcafee, Inc. | System and method for whitelisting applications in a mobile network environment |
| US9430641B1 (en) * | 2011-11-03 | 2016-08-30 | Mobile Iron, Inc. | Adapting a mobile application to a partitioned environment |
| CN103108320A (en) | 2011-11-15 | 2013-05-15 | 网秦无限(北京)科技有限公司 | Method and system for monitoring application program of mobile device |
| US8769676B1 (en) * | 2011-12-22 | 2014-07-01 | Symantec Corporation | Techniques for identifying suspicious applications using requested permissions |
| US9213729B2 (en) * | 2012-01-04 | 2015-12-15 | Trustgo Mobile, Inc. | Application recommendation system |
| US20130205385A1 (en) * | 2012-02-08 | 2013-08-08 | Microsoft Corporation | Providing intent-based access to user-owned resources |
| US9378390B2 (en) * | 2012-03-30 | 2016-06-28 | Nokia Technologies Oy | Method and apparatus for policy adaption based on application policy compliance analysis |
| US20130333039A1 (en) * | 2012-06-07 | 2013-12-12 | Mcafee, Inc. | Evaluating Whether to Block or Allow Installation of a Software Application |
| US9349015B1 (en) * | 2012-06-12 | 2016-05-24 | Galois, Inc. | Programmatically detecting collusion-based security policy violations |
| US8595489B1 (en) * | 2012-10-29 | 2013-11-26 | Google Inc. | Grouping and ranking of application permissions |
| US9386463B1 (en) * | 2012-11-19 | 2016-07-05 | Sprint Communications Company L.P. | Application risk analysis |
| US9665465B1 (en) * | 2012-11-19 | 2017-05-30 | Amazon Technologies, Inc. | Automated determination of application permissions |
| US8850517B2 (en) * | 2013-01-15 | 2014-09-30 | Taasera, Inc. | Runtime risk detection based on user, application, and system action sequence correlation |
| KR101739125B1 (en) * | 2013-02-27 | 2017-05-24 | 한국전자통신연구원 | Apparatus and method for analysing a permission of application for mobile device and detecting risk |
| US9246945B2 (en) * | 2013-05-29 | 2016-01-26 | International Business Machines Corporation | Techniques for reconciling permission usage with security policy for policy optimization and monitoring continuous compliance |
| US9098707B2 (en) * | 2013-10-14 | 2015-08-04 | International Business Machines Corporation | Mobile device application interaction reputation risk assessment |
| US9729520B2 (en) * | 2014-05-05 | 2017-08-08 | Citrix Systems, Inc. | Facilitating communication between mobile applications |
-
2013
- 2013-10-18 CN CN201380080281.XA patent/CN105659246A/en active Pending
- 2013-10-18 CN CN201910977359.7A patent/CN110717178A/en active Pending
- 2013-10-18 WO PCT/IB2013/059452 patent/WO2015056056A1/en not_active Ceased
- 2013-10-18 US US15/027,528 patent/US11218507B2/en active Active
- 2013-10-18 JP JP2016524053A patent/JP2016540287A/en active Pending
- 2013-10-18 EP EP13895606.5A patent/EP3058500A4/en not_active Ceased
-
2021
- 2021-12-01 US US17/539,852 patent/US11689577B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| CN105659246A (en) | 2016-06-08 |
| JP2016540287A (en) | 2016-12-22 |
| EP3058500A4 (en) | 2018-01-17 |
| WO2015056056A1 (en) | 2015-04-23 |
| US20220094716A1 (en) | 2022-03-24 |
| US20160248810A1 (en) | 2016-08-25 |
| US11689577B2 (en) | 2023-06-27 |
| US11218507B2 (en) | 2022-01-04 |
| CN110717178A (en) | 2020-01-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11689577B2 (en) | Method and system for operating and monitoring permissions for applications in an electronic device | |
| US10433235B2 (en) | Method and apparatus for self organizing networks | |
| CN112534839B (en) | Techniques for dynamically provisioning an electronic subscriber identity module to a mobile device | |
| US10320835B1 (en) | Detecting malware on mobile devices | |
| US9066230B1 (en) | Trusted policy and charging enforcement function | |
| US8650620B2 (en) | Methods and apparatus to control privileges of mobile device applications | |
| US9226145B1 (en) | Verification of mobile device integrity during activation | |
| US9230085B1 (en) | Network based temporary trust extension to a remote or mobile device enabled via specialized cloud services | |
| US10063995B2 (en) | Control beacons for wireless devices | |
| US20160205128A1 (en) | Adaptive security indicator for wireless devices | |
| US9888290B1 (en) | Service denial notification in secure socket layer (SSL) processing | |
| US9154949B1 (en) | Authenticated delivery of premium communication services to untrusted devices over an untrusted network | |
| US10575180B2 (en) | Securing identities of chipsets of mobile devices | |
| CN104185250A (en) | Wireless communication method, electronic devices and wireless communication system | |
| US11246039B2 (en) | Method and apparatus for secure multi-terminal cooperative working | |
| US12047458B2 (en) | Systems and methods for preventing abuse of traffic categories and network slices by applications | |
| WO2023048733A1 (en) | Apparatus and method of a scenario-based permission mechanism for access to a restricted resource | |
| US20250097824A1 (en) | Systems and methods for determining an allowed network slice selection assistance information based on location information and time information | |
| CN116963233A (en) | WIFI hotspot opening method and device, electronic equipment and storage medium | |
| WO2022002342A1 (en) | Communication system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| 17P | Request for examination filed |
Effective date: 20160512 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| AX | Request for extension of the european patent |
Extension state: BA ME |
|
| DAX | Request for extension of the european patent (deleted) | ||
| A4 | Supplementary search report drawn up and despatched |
Effective date: 20171219 |
|
| RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06F 21/53 20130101AFI20171213BHEP Ipc: G06F 9/54 20060101ALI20171213BHEP Ipc: G06F 9/46 20060101ALI20171213BHEP Ipc: H04L 29/06 20060101ALN20171213BHEP |
|
| RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: NOKIA TECHNOLOGIES OY |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
| 17Q | First examination report despatched |
Effective date: 20191028 |
|
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R003 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
| 18R | Application refused |
Effective date: 20220416 |