CN115114618A - Application processing method and device - Google Patents

Application processing method and device Download PDF

Info

Publication number
CN115114618A
CN115114618A CN202110304365.3A CN202110304365A CN115114618A CN 115114618 A CN115114618 A CN 115114618A CN 202110304365 A CN202110304365 A CN 202110304365A CN 115114618 A CN115114618 A CN 115114618A
Authority
CN
China
Prior art keywords
application
terminal device
behavior information
sandbox
privacy
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.)
Pending
Application number
CN202110304365.3A
Other languages
Chinese (zh)
Inventor
王代斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110304365.3A priority Critical patent/CN115114618A/en
Publication of CN115114618A publication Critical patent/CN115114618A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/53Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Telephone Function (AREA)

Abstract

The application provides an application processing method and device. The method comprises the following steps: the method comprises the steps that a terminal device determines a sandbox group corresponding to a distributed application, wherein the sandbox group comprises a first sandbox for running a first application and a second sandbox for running a second application, and a task of the distributed application is executed by calling the second application by the first application; then acquiring first behavior information of the first application running in a first sandbox and second behavior information of the second application running in a second sandbox; and determining whether the privacy of the first application is leaked according to the first behavior information, the second behavior information and the privacy protocol of the first application. Therefore, when the terminal equipment determines whether the privacy disclosure exists in the first application, the terminal equipment not only analyzes the behavior information of the first application, but also combines the behavior information of the second application, so that the reliability of the privacy disclosure examination of the first application can be improved.

Description

Application processing method and device
Technical Field
The present application relates to the field of computer technologies, and in particular, to an application processing method and apparatus.
Background
At present, with the continuous development of computer technology, the types and the number of terminal devices are also increasing, and users can run different applications on each terminal device to meet different requirements. The traditional application is an application which can only run on a single terminal device, and cannot meet the requirement that a user shares the same application on different types of terminal devices, and the distributed application can meet the requirement. The distributed application comprises an application program and one or more atomic applications which can be called by the application program, each atomic application can provide a single function, and the application program and each atomic application can run on different terminal devices.
When a user runs an application (an application program or an atomic application) in any distributed application on the terminal device 1, if the application is to be shared on other terminal devices, the application can be invoked to invoke applications installed on the other terminal devices. When the called application is run on other terminal devices, there may be a case where the privacy of the application in the terminal device 1 is leaked, and thus the privacy leakage may affect the validity of the application in the terminal device 1.
How to determine whether privacy disclosure exists in an application in a distributed application to determine the validity of the application becomes a hot issue of research today.
Disclosure of Invention
The embodiment of the application processing method and device can improve reliability of privacy disclosure auditing of applications in distributed applications.
In a first aspect, the present application provides an application processing method, including: the method comprises the steps that a terminal device determines a sandbox group corresponding to a distributed application, wherein the sandbox group comprises a first sandbox for running a first application and a second sandbox for running a second application, and a task of the distributed application is executed by calling the second application by the first application; then acquiring first behavior information of a first application running in a first sandbox and second behavior information of a second application running in a second sandbox; and determining whether the privacy of the first application is leaked according to the first behavior information, the second behavior information and the privacy protocol of the first application. Therefore, when the terminal equipment determines whether the privacy of the first application is leaked, the terminal equipment not only analyzes the behavior information of the first application, but also combines the behavior information of the second application, so that the reliability of checking the privacy leakage of the first application can be improved.
In an optional implementation manner, the determining, by the terminal device, whether privacy of the first application is revealed according to the first behavior information, the second behavior information, and a privacy protocol of the first application includes: the terminal equipment determines third behavior information corresponding to the distributed application task according to the first behavior information and the second behavior information; then, whether the privacy of the first application is leaked is determined according to the third behavior information and the privacy protocol of the first application. Therefore, the terminal equipment can obtain the behavior information generated by the first application in the task of executing the distributed application, and the privacy disclosure verification is performed on the first application by combining the privacy protocol of the first application, so that the accuracy of the privacy disclosure verification on the first application is improved.
In an optional implementation manner, the obtaining, by the terminal device, first behavior information of a first application running in a first sandbox and second behavior information of a second application running in a second sandbox includes: the terminal equipment triggers the first application to run in the first sandbox through the behavior trigger to acquire the first behavior information, and triggers the second application to run in the second sandbox through the behavior trigger to acquire the second behavior information. That is, the terminal device triggers the application in the sandbox through the behavior trigger, so as to obtain the first behavior information and the second behavior information.
In an alternative embodiment, the first sandbox is determined based on a configuration file of the first application; the second sandbox is determined based on a configuration file of the second application.
In an alternative embodiment, the second application is determined based on the identity of the application invoked by the first application. This approach is advantageous to ensure that the second application is an application that can be invoked by the first application, thereby improving the accuracy of the second application determination.
In an alternative embodiment, the second application is determined based on an application type associated with the first application. The terminal equipment determines the second application according to the application type associated with the first application, can more comprehensively determine the application which can be used as the second application, and avoids missing part of the application which can be used as the second application when the first application is subjected to privacy disclosure examination, so that the accuracy of the privacy disclosure examination of the first application can be improved.
In an optional implementation manner, the third behavior information is determined by the terminal device through the behavior collector.
In an optional implementation mode, the terminal device determines whether privacy disclosure exists in the first application based on the behavior analyzer.
In a second aspect, the present application provides a terminal device, characterized in that the terminal device comprises a memory and at least one processor; a memory coupled to the one or more processors, the memory for storing computer program code, the computer program code comprising computer instructions that, when executed by the one or more processors, cause the terminal device to:
determining a sandbox group corresponding to the distributed application, wherein the sandbox group comprises a first sandbox for running the first application and a second sandbox for running the second application, and the task of the distributed application is executed by calling the second application by the first application;
acquiring first behavior information of a first application running in a first sandbox and second behavior information of a second application running in a second sandbox;
and determining whether the privacy of the first application is leaked according to the first behavior information, the second behavior information and the privacy protocol of the first application.
In addition, in this aspect, for other alternative embodiments of the terminal device, reference may be made to the related contents of the first aspect, and details are not described here.
In a third aspect, an embodiment of the present application provides a computer storage medium, which includes computer instructions, and when the computer instructions are executed on a terminal device, the terminal device is caused to perform a method as described in any one of the possible implementation manners of the first aspect.
In a fourth aspect, the present application provides a computer program product, which when run on a computer, causes the computer to execute the method described in any one of the possible implementations of the first aspect.
Drawings
Fig. 1a is a schematic structural diagram of a terminal device 100 provided in an embodiment of the present application;
fig. 1b is a block diagram of a software structure of the terminal device 100 according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a conventional application applicable scenario provided in an embodiment of the present application;
FIG. 3 is a schematic structural diagram of a legacy application and a distributed application provided in an embodiment of the present application;
FIG. 4 is a schematic diagram of a distributed application framework provided by an embodiment of the present application;
fig. 5a is a schematic diagram of a distributed application invocation manner provided in an embodiment of the present application;
FIG. 5b is a diagram illustrating another distributed application invocation manner according to an embodiment of the present application;
fig. 6a is a schematic structural diagram of a distributed system according to an embodiment of the present application;
fig. 6b is a schematic diagram of a distributed application scenario provided in an embodiment of the present application;
fig. 7a is a schematic interface diagram of an application running in a smart phone according to an embodiment of the present application;
fig. 7b is a schematic diagram of an authorization interface in a smart watch according to an embodiment of the present application;
fig. 7c is a schematic diagram of an interface corresponding to an FA in a smart watch according to an embodiment of the present application;
FIG. 8a is a schematic flow chart of a static audit method according to an embodiment of the present application;
FIG. 8b is a schematic flow chart of another static audit method provided in the embodiments of the present application;
FIG. 9 is a schematic diagram of cross-device information delivery of a distributed application provided by an embodiment of the present application;
fig. 10 is a schematic flowchart of an application processing method provided in an embodiment of the present application;
FIG. 11 is a schematic diagram of a privacy disclosure path provided by an embodiment of the application;
FIG. 12 is a schematic diagram of an application processing method according to an embodiment of the present application;
FIG. 13 is a schematic diagram of another application processing method provided by an embodiment of the present application;
fig. 14 is a schematic structural diagram of a terminal device according to an embodiment of the present application.
Detailed Description
The embodiments of the present application are described below with reference to the drawings.
The embodiment of the application processing method and the related device can improve the reliability of privacy disclosure examination of the application in the distributed application.
The application processing method provided by the embodiment of the application can be executed by the terminal equipment.
For better understanding of the embodiments of the present application, a terminal device executing the application processing method is described below.
A terminal device may also be referred to as a User Equipment (UE), an access terminal, a subscriber unit, a subscriber station, a mobile station, a remote terminal, a mobile device, a user terminal, a wireless communication device, a user agent, or a user equipment, and may be used in 5G, 6G, or even 7G systems. The terminal device in the embodiment of the present application may be a smart phone (mobile phone), a smart watch, a tablet computer (Pad), a Virtual Reality (VR) terminal device, an Augmented Reality (AR) terminal device, a wireless terminal in industrial control (industrial control), a wireless terminal in self driving (self driving), a wireless terminal in remote medical (remote medical), a wireless terminal in smart grid (smart grid), a wireless terminal in transportation safety, a wireless terminal in smart city (smart city), a wireless terminal in smart home (smart home), a wireless terminal in V2X internet, or a wireless terminal type Road Side Unit (RSU), and the like.
The structure of the terminal device will be described below. Referring to fig. 1a, fig. 1a is a schematic structural diagram of a terminal device 100 according to an embodiment of the present disclosure.
The terminal device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a Universal Serial Bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a key 190, a motor 191, an indicator 192, a camera 193, a display screen 194, a Subscriber Identification Module (SIM) card interface 195, and the like. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, and the like.
It is to be understood that the illustrated structure of the embodiment of the present invention does not specifically limit the terminal device 100. In other embodiments of the present application, terminal device 100 may include more or fewer components than shown, or some components may be combined, some components may be split, or a different arrangement of components. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
Processor 110 may include one or more processing units, such as: the processor 110 may include an Application Processor (AP), a modem processor, a Graphics Processing Unit (GPU), an Image Signal Processor (ISP), a controller, a memory, a video codec, a Digital Signal Processor (DSP), a baseband processor, and/or a neural-Network Processing Unit (NPU), etc. The different processing units may be separate devices or may be integrated into one or more processors.
The controller may be a neural center and a command center of the terminal device 100, among others. The controller can generate an operation control signal according to the instruction operation code and the timing signal to complete the control of instruction fetching and instruction execution.
A memory may also be provided in processor 110 for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may hold instructions or data that have just been used or recycled by the processor 110. If the processor 110 needs to reuse the instruction or data, it can be called directly from the memory. Avoiding repeated accesses reduces the latency of the processor 110, thereby increasing the efficiency of the system.
In some embodiments, processor 110 may include one or more interfaces. The interface may include an integrated circuit (I2C) interface, an integrated circuit built-in audio (I2S) interface, a Pulse Code Modulation (PCM) interface, a universal asynchronous receiver/transmitter (UART) interface, a mobile industry processor interface (mobile industry processor interface, MIPI), a general-purpose-input/output (GPIO) interface, a Subscriber Identity Module (SIM) interface, a bus or Universal Serial Bus (USB) interface, and the like.
The I2C interface is a bi-directional synchronous serial bus that includes a serial data line (SDA) and a Serial Clock Line (SCL). In some embodiments, processor 110 may include multiple sets of I2C buses. The processor 110 may be coupled to the touch sensor 180K, the charger, the flash, the camera 193, etc. through different I2C bus interfaces, respectively. For example: the processor 110 may be coupled to the touch sensor 180K through an I2C interface, so that the processor 110 and the touch sensor 180K communicate through an I2C bus interface to implement the touch function of the terminal device 100.
The I2S interface may be used for audio communication. In some embodiments, processor 110 may include multiple sets of I2S buses. The processor 110 may be coupled to the audio module 170 via an I2S bus to enable communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 through the I2S interface, so as to receive phone calls through the bluetooth headset.
The PCM interface may also be used for audio communication, sampling, quantizing and encoding analog signals. In some embodiments, the audio module 170 and the wireless communication module 160 may communicate through a PCM interface. In some embodiments, the audio module 170 may also transmit audio signals to the wireless communication module 160 through the PCM interface, so as to implement a function of answering a call through a bluetooth headset. Both the I2S interface and the PCM interface may be used for audio communication.
The UART interface is a universal serial data bus used for asynchronous communications. The bus may be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, a UART interface is generally used to connect the processor 110 and the wireless communication module 160. For example: the processor 110 communicates with the bluetooth module in the wireless communication module 160 through the UART interface to implement the bluetooth function, so that the terminal device 100 can perform bluetooth connection with other terminal devices.
MIPI interfaces may be used to connect processor 110 with peripheral devices such as display screen 194, camera 193, and the like. The MIPI interface includes a Camera Serial Interface (CSI), a Display Serial Interface (DSI), and the like. In some embodiments, processor 110 and display screen 194 communicate via a DSI interface to implement display functionality of terminal device 100.
The GPIO interface may be configured by software. The GPIO interface may be configured as a control signal and may also be configured as a data signal. In some embodiments, a GPIO interface may be used to connect the processor 110 with the camera 193, the display 194, the wireless communication module 160, the audio module 170, the sensor module 180, and the like. The GPIO interface may also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, and the like.
The USB interface 130 is an interface conforming to the USB standard specification, and may be a Mini USB interface, a Micro USB interface, a USB Type C interface, or the like. The USB interface 130 may be used to connect a charger to charge the terminal device 100, and may also be used to transmit data between the terminal device 100 and a peripheral device. And the earphone can also be used for connecting an earphone and playing audio through the earphone. The interface may also be used to connect other electronic devices, such as AR devices and the like.
It should be understood that the interface connection relationship between the modules according to the embodiment of the present invention is only an exemplary illustration, and does not limit the structure of the terminal device 100. In other embodiments of the present application, the terminal device 100 may also adopt different interface connection manners or a combination of multiple interface connection manners in the above embodiments.
The charging management module 140 is configured to receive a charging input from a charger. The charger can be a wireless charger or a wired charger.
The power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110. The power management module 141 receives the input of the battery 142 and/or the charging management module 140 and supplies power to the processor 110, the internal memory 121, the external memory, the display 194, the camera 193, the wireless communication module 160, and the like. in other embodiments, the power management module 141 may also be disposed in the processor 110. In other embodiments, the power management module 141 and the charging management module 140 may be disposed in the same device.
The wireless communication function of the terminal device 100 may be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, a modem processor, a baseband processor, and the like.
The antennas 1 and 2 are used for transmitting and receiving electromagnetic wave signals. Each antenna in terminal device 100 may be used to cover a single or multiple communication bands. Different antennas can also be multiplexed to improve the utilization of the antennas. For example: the antenna 1 may be multiplexed as a diversity antenna of a wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
The mobile communication module 150 may provide a solution including 2G/3G/4G/5G wireless communication applied on the terminal device 100. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a Low Noise Amplifier (LNA), and the like. The mobile communication module 150 may receive the electromagnetic wave from the antenna 1, filter, amplify, etc. the received electromagnetic wave, and transmit the electromagnetic wave to the modem processor for demodulation. The mobile communication module 150 may also amplify the signal modulated by the modem processor, and convert the signal into electromagnetic wave through the antenna 1 to radiate the electromagnetic wave. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be disposed in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be disposed in the same device as at least some of the modules of the processor 110.
The modem processor may include a modulator and a demodulator. The modulator is used for modulating a low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used for demodulating the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then passes the demodulated low frequency baseband signal to a baseband processor for processing. The low frequency baseband signal is processed by the baseband processor and then transferred to the application processor. The application processor outputs a sound signal through an audio device (not limited to the speaker 170A, the receiver 170B, etc.) or displays an image or video through the display screen 194. In some embodiments, the modem processor may be a stand-alone device. In other embodiments, the modem processor may be provided in the same device as the mobile communication module 150 or other functional modules, independent of the processor 110.
The wireless communication module 160 may provide a solution for wireless communication applied to the terminal device 100, including Wireless Local Area Networks (WLANs), such as Wi-Fi networks, Bluetooth (BT), BLE broadcasting, Global Navigation Satellite System (GNSS), Frequency Modulation (FM), Near Field Communication (NFC), infrared (infrared, IR), and the like. The wireless communication module 160 may be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, performs frequency modulation and filtering processing on electromagnetic wave signals, and transmits the processed signals to the processor 110. The wireless communication module 160 may also receive a signal to be transmitted from the processor 110, perform frequency modulation and amplification on the signal, and convert the signal into electromagnetic waves through the antenna 2 to radiate the electromagnetic waves.
In some embodiments, the antenna 1 of the terminal device 100 is coupled to the mobile communication module 150 and the antenna 2 is coupled to the wireless communication module 160 so that the terminal device 100 can communicate with the network and other devices through wireless communication technology. The wireless communication technology may include global system for mobile communications (GSM), General Packet Radio Service (GPRS), code division multiple access (code division multiple access, CDMA), Wideband Code Division Multiple Access (WCDMA), time-division code division multiple access (time-division code division multiple access, TD-SCDMA), Long Term Evolution (LTE), LTE, BT, GNSS, WLAN, NFC, FM, and/or IR technologies, etc. The GNSS may include a Global Positioning System (GPS), a global navigation satellite system (GLONASS), a beidou satellite navigation system (BDS), a quasi-zenith satellite system (QZSS), and/or a Satellite Based Augmentation System (SBAS).
The terminal device 100 implements a display function by the GPU, the display screen 194, and the application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs that execute program instructions to generate or alter display information.
The display screen 194 is used to display images, video, and the like. The display screen 194 includes a display panel. The display panel may adopt a Liquid Crystal Display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (active-matrix organic light-emitting diode, AMOLED), a flexible light-emitting diode (FLED), a miniature, a Micro-oeld, a quantum dot light-emitting diode (QLED), and the like. In some embodiments, the terminal device 100 may include 1 or N display screens 194, where N is a positive integer greater than 1.
The terminal device 100 may implement a shooting function through the ISP, the camera 193, the video codec, the GPU, the display screen 194, the application processor, and the like.
The ISP is used to process the data fed back by the camera 193. For example, when a photo is taken, the shutter is opened, light is transmitted to the camera photosensitive element through the lens, the optical signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to the ISP for processing and converting into an image visible to naked eyes. The ISP can also carry out algorithm optimization on the noise, brightness and skin color of the image. The ISP can also optimize parameters such as exposure, color temperature and the like of a shooting scene. In some embodiments, the ISP may be provided in camera 193.
The camera 193 is used to capture still images or video. The object generates an optical image through the lens and projects the optical image to the photosensitive element. The photosensitive element may be a Charge Coupled Device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The light sensing element converts the optical signal into an electrical signal, which is then passed to the ISP where it is converted into a digital image signal. And the ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into image signal in standard RGB, YUV and other formats. In some embodiments, the terminal device 100 may include 1 or N cameras 193, N being a positive integer greater than 1.
The digital signal processor is used for processing digital signals, and can process other digital signals besides digital image signals. For example, when the terminal device 100 selects a frequency bin, the digital signal processor is used to perform fourier transform or the like on the frequency bin energy.
Video codecs are used to compress or decompress digital video. The terminal device 100 may support one or more video codecs. In this way, the terminal device 100 can play or record video in a plurality of encoding formats, such as: moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, and the like.
The NPU is a neural-network (NN) computing processor that processes input information quickly by using a biological neural network structure, for example, by using a transfer mode between neurons of a human brain, and can also learn by itself continuously. The NPU can implement applications such as intelligent recognition of the terminal device 100, for example: image recognition, face recognition, speech recognition, text understanding, and the like.
The external memory interface 120 may be used to connect an external memory card, such as a Micro SD card, to extend the storage capability of the terminal device 100. The external memory card communicates with the processor 110 through the external memory interface 120 to implement a data storage function. For example, files such as music, video, etc. are saved in the external memory card.
The internal memory 121 may be used to store computer-executable program code, which includes instructions. The processor 110 executes various functional applications of the terminal device 100 and data processing by executing instructions stored in the internal memory 121. The internal memory 121 may include a program storage area and a data storage area. The storage program area may store an operating system, an application program (such as a sound playing function, an image playing function, etc.) required by at least one function, and the like. The storage data area may store data (such as audio data, a phonebook, etc.) created during use of the terminal device 100, and the like. In addition, the internal memory 121 may include a high-speed random access memory, and may further include a nonvolatile memory, such as at least one magnetic disk storage device, a flash memory device, a universal flash memory (UFS), and the like.
The terminal device 100 may implement an audio function through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the earphone interface 170D, and the application processor. Such as music playing, recording, etc.
The audio module 170 is used to convert digital audio information into analog audio signals for output, and also used to convert analog audio inputs into digital audio signals. The audio module 170 may also be used to encode and decode audio signals. In some embodiments, the audio module 170 may be disposed in the processor 110, or some functional modules of the audio module 170 may be disposed in the processor 110.
The speaker 170A, also called a "horn", is used to convert the audio electrical signal into an acoustic signal. The terminal device 100 can listen to music through the speaker 170A, or listen to a handsfree call.
The receiver 170B, also called "earpiece", is used to convert the electrical audio signal into a sound signal. When the terminal device 100 answers a call or voice information, it is possible to answer a voice by bringing the receiver 170B close to the human ear.
The microphone 170C, also referred to as a "microphone," is used to convert sound signals into electrical signals. When making a call or sending voice information, the user can input a voice signal into the microphone 170C by uttering a voice signal by the mouth of the user near the microphone 170C. The terminal device 100 may be provided with at least one microphone 170C. In other embodiments, the terminal device 100 may be provided with two microphones 170C, which may implement a noise reduction function in addition to collecting sound signals. In other embodiments, the terminal device 100 may further include three, four or more microphones 170C to collect sound signals, reduce noise, identify sound sources, and implement directional recording functions.
The headphone interface 170D is used to connect a wired headphone. The headset interface 170D may be the USB interface 130, or may be a 3.5mm open mobile electronic device platform (OMTP) standard interface, a cellular telecommunications industry association (cellular telecommunications industry association of the USA, CTIA) standard interface.
The pressure sensor 180A is used for sensing a pressure signal, and can convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A may be disposed on the display screen 194.
The gyro sensor 180B may be used to determine the motion attitude of the terminal device 100. In some embodiments, the angular velocity of the terminal device 100 about three axes (i.e., x, y, and z axes) may be determined by the gyro sensor 180B. The gyro sensor 180B may be used for photographing anti-shake. The gyroscope sensor 180B may also be used for navigation, somatosensory gaming scenes.
The air pressure sensor 180C is used to measure air pressure. In some embodiments, the terminal device 100 calculates an altitude from the barometric pressure measured by the barometric pressure sensor 180C, and assists in positioning and navigation.
The magnetic sensor 180D includes a hall sensor. The terminal device 100 may detect the opening and closing of the flip holster using the magnetic sensor 180D.
The acceleration sensor 180E can detect the magnitude of acceleration of the terminal device 100 in various directions (generally, three axes). The magnitude and direction of gravity can be detected when the terminal device 100 is stationary. The method can also be used for recognizing the posture of the terminal equipment, and is applied to horizontal and vertical screen switching, pedometers and other applications.
A distance sensor 180F for measuring a distance. The terminal device 100 may measure the distance by infrared or laser. In some embodiments, shooting a scene, the terminal device 100 may range using the distance sensor 180F to achieve fast focus.
The proximity light sensor 180G may include, for example, a Light Emitting Diode (LED) and a light detector, such as a photodiode. The light emitting diode may be an infrared light emitting diode. The terminal device 100 emits infrared light to the outside through the light emitting diode. The terminal device 100 detects infrared reflected light from a nearby object using a photodiode to automatically turn off the screen for power saving. The proximity light sensor 180G may also be used in a holster mode, a pocket mode automatically unlocks and locks the screen.
The ambient light sensor 180L is used to sense the ambient light level. The terminal device 100 may adaptively adjust the brightness of the display screen 194 according to the perceived ambient light level. The ambient light sensor 180L may also be used to automatically adjust the white balance when taking a picture. The ambient light sensor 180L may also cooperate with the proximity light sensor 180G to detect whether the terminal device 100 is in a pocket, in order to prevent accidental touches.
The fingerprint sensor 180H is used to collect a fingerprint. The terminal device 100 can utilize the collected fingerprint characteristics to realize fingerprint unlocking, access to an application lock, fingerprint photographing, fingerprint incoming call answering and the like.
The temperature sensor 180J is used to detect temperature. In some embodiments, the terminal device 100 executes a temperature processing policy using the temperature detected by the temperature sensor 180J.
The touch sensor 180K is also referred to as a "touch panel". The touch sensor 180K may be disposed on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, which is also called a "touch screen". The touch sensor 180K is used to detect a touch operation applied thereto or nearby. The touch sensor can communicate the detected touch operation to the application processor to determine the touch event type. Visual output associated with the touch operation may be provided via the display screen 194. In other embodiments, the touch sensor 180K may be disposed on the surface of the terminal device 100, different from the position of the display screen 194.
The bone conduction sensor 180M may acquire a vibration signal. In some embodiments, the bone conduction sensor 180M may acquire a vibration signal of the human voice vibrating a bone mass.
The keys 190 include a power-on key, a volume key, and the like. The keys 190 may be mechanical keys. Or may be touch keys. The terminal device 100 may receive a key input, and generate a key signal input related to user setting and function control of the terminal device 100.
The motor 191 may generate a vibration cue. The motor 191 may be used for incoming call vibration cues, as well as for touch vibration feedback. For example, touch operations applied to different applications (e.g., photographing, audio playing, etc.) may correspond to different vibration feedback effects. The motor 191 may also respond to different vibration feedback effects for touch operations applied to different areas of the display screen 194. Different application scenes (such as time reminding, receiving information, alarm clock, game and the like) can also correspond to different vibration feedback effects. The touch vibration feedback effect may also support customization.
Indicator 192 may be an indicator light that may be used to indicate a state of charge, a change in charge, or a message, missed call, notification, etc.
The SIM card interface 195 is used to connect a SIM card. The SIM card can be brought into and out of contact with the terminal device 100 by being inserted into the SIM card interface 195 or being pulled out of the SIM card interface 195. The terminal device 100 may support 1 or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 may support a Nano SIM card, a Micro SIM card, a SIM card, etc. The same SIM card interface 195 can be inserted with multiple cards at the same time. The types of the plurality of cards can be the same or different. The SIM card interface 195 may also be compatible with different types of SIM cards. The SIM card interface 195 may also be compatible with external memory cards. The terminal device 100 interacts with the network through the SIM card to implement functions such as communication and data communication. In some embodiments, the terminal device 100 employs eSIM, namely: an embedded SIM card. The eSIM card may be embedded in the terminal device 100 and cannot be separated from the terminal device 100.
The software system of the terminal device 100 may adopt a hierarchical architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture. The embodiment of the present invention takes an Android system with a layered architecture as an example, and exemplarily illustrates a software structure of the terminal device 100. Fig. 1b is a block diagram of a software structure of the terminal device 100 according to the embodiment of the present application. The layered architecture divides the software into several layers, each layer having a clear role and division of labor. The layers communicate with each other through a software interface. In some embodiments, the Android system is divided into four layers, an application layer, an application framework layer, an Android runtime (Android runtime) and system library, and a kernel layer from top to bottom.
The application layer may include a series of application packages. As shown in fig. 1b, the application package may include applications such as camera, gallery, calendar, phone call, map, navigation, WLAN, bluetooth, music, video, short message, etc.
The application framework layer provides an Application Programming Interface (API) and a programming framework for the application program of the application layer. The application framework layer includes a number of predefined functions. As shown in FIG. 1b, the application framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, and the like.
The window manager is used for managing window programs. The window manager can obtain the size of the display screen, judge whether a status bar exists, lock the screen, intercept the screen and the like.
Content providers are used to store and retrieve data and make it accessible to applications. The data may include video, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.
The view system includes visual controls such as controls to display text, controls to display pictures, and the like. The view system may be used to build applications. The display interface may be composed of one or more views. For example, the display interface including the short message notification icon may include a view for displaying text and a view for displaying pictures.
The phone manager is used to provide the communication function of the terminal device 100. Such as management of call status (including on, off, etc.).
The resource manager provides various resources for the application, such as localized strings, icons, pictures, layout files, video files, and the like.
The notification manager enables the application to display notification information in the status bar, can be used to convey notification-type messages, can disappear automatically after a short dwell, and does not require user interaction. Such as a notification manager used to inform download completion, message alerts, etc. The notification manager may also be a notification that appears in the form of a chart or scrollbar text in a status bar at the top of the system, such as a notification of a running application in the background, or a notification that appears on the screen in the form of a dialog window. For example, prompting text information in the status bar, sounding a prompt tone, vibrating the electronic device, flashing an indicator light, etc.
The Android Runtime comprises a core library and a virtual machine. The Android runtime is responsible for scheduling and managing an Android system.
The core library comprises two parts: one part is a function which needs to be called by java language, and the other part is a core library of android.
The application layer and the application framework layer run in a virtual machine. And executing java files of the application program layer and the application program framework layer into a binary file by the virtual machine. The virtual machine is used for performing the functions of object life cycle management, stack management, thread management, safety and exception management, garbage collection and the like.
The system library may include a plurality of functional modules. For example: surface managers (surface managers), Media Libraries (Media Libraries), three-dimensional graphics processing Libraries (e.g., OpenGL ES), 2D graphics engines (e.g., SGL), and the like.
The surface manager is used to manage the display subsystem and provide fusion of 2D and 3D layers for multiple applications.
The media library supports a variety of commonly used audio, video format playback and recording, and still image files, among others. The media library may support a variety of audio-video encoding formats, such as MPEG4, h.264, MP3, AAC, AMR, JPG, PNG, and the like.
The three-dimensional graphic processing library is used for realizing three-dimensional graphic drawing, image rendering, synthesis, layer processing and the like.
The 2D graphics engine is a drawing engine for 2D drawing.
The kernel layer is a layer between hardware and software. The inner core layer at least comprises a display driver, a camera driver, an audio driver and a sensor driver.
In order to facilitate understanding of the embodiments disclosed in the present application, the following presents a simplified summary of relevant concepts related to the embodiments of the present application.
1. Application program, legacy application, and standalone system
An Application (APP) refers to a computer program designed to perform some specific task or tasks.
The conventional application refers to an application program integrating a plurality of functions (characteristics). Traditional applications can only run on a single terminal device. When a legacy application runs on a terminal device, all of the characteristics of the legacy application may be embodied on the terminal device. Legacy applications may be super APPs, or standalone APPs, that contain multiple functions. The super APP is an application program with a huge number of users, and the independent APP is an application program with strong specialization and single related content.
A stand-alone system refers to a system consisting of one independent terminal device. Legacy applications may run on terminal devices in a stand-alone system. Referring to fig. 2, fig. 2 is a schematic diagram of a conventional application scenario provided in an embodiment of the present application, where the scenario includes an application program and a terminal device in a standalone system. The application program is traditional application, and the stand-alone system can be an iOS stand-alone system or an Android stand-alone system. In fig. 2, the legacy application as a whole runs on a separate terminal device, and specifically, the legacy application can complete the agreed calculation job by accessing data in the terminal device. The application processing method provided by the embodiment of the application can be applied to the stand-alone system and executed by the terminal equipment in the stand-alone system. The description of the structure of the terminal device in the stand-alone system can be referred to the description of fig. 1a, and the description of the software structure of the terminal device can be referred to the description of fig. 1 b.
2. Original ability (AA) and characteristic ability (FA)
AA refers to program entities (program fragments) that can be executed independently, implementing a single function, and may also be referred to as an atomic service. The AA can be developed by a third party and has the characteristics of multi-terminal deployment and distributed execution, namely the AA has the characteristics of cross-equipment migration, replacement, reusability and the like. The AA has a dependency on system services. That is, in the process of running the AA on the terminal device, if any function of the terminal device needs to be accessed, the AA can be implemented by calling a system service of the terminal device. In addition, the AA does not have a User Interface (UI), that is, when the AA runs on the terminal device, the terminal device does not display an interface related to the AA to the user.
The FA refers to a program entity for implementing a single user characteristic function by calling one or more AAs, and the granularity of the function that the FA can implement is larger than that of the function that the AA can implement. In addition, the FA can also be developed by a third party, and the FA has a UI. When the FA is running on the terminal device, the terminal device may display an interface associated with the FA to the user.
The AA and the FA are independent applications, and any AA or FA can be issued to an atomic application market for downloading by users and installing and running on terminal equipment. In the embodiments of the present application, AA or FA are collectively referred to as atomic application.
3. Distributed application
A distributed application refers to a plurality of applications that can collectively complete a task, and the task that the plurality of applications collectively complete is referred to as a task of the distributed application.
The distributed application includes an application program and one or more atomic applications that the application program can invoke, and the distributed application can be developed by one or more developers. Fig. 3 is a schematic structural diagram of a legacy application and a distributed application provided in an embodiment of the present application. As can be seen from fig. 3, the legacy application is an application program that integrates multiple features, and services provided by the features in the legacy application are atomized, so that an application program that provides basic functions in a distributed application and one or more atomic applications (AA or FA) that can be invoked by the application program are obtained. In the embodiments of the present application, an application program or an atomic application is collectively referred to as an application.
The application program in the distributed application and each atomic application can run on different terminal devices, and the application program can call the atomic application across the devices. Referring to fig. 4, fig. 4 is a schematic diagram of a distributed application framework provided in an embodiment of the present application, where the distributed application framework includes an application part and an application framework part of each of one or more terminal devices. The application program part in the terminal equipment comprises one or more application programs in the terminal equipment and one or more atomic application programs. The application framework of the terminal device can be used for enabling the terminal device to realize that the application calls the atomic application, and the application framework can also be used for managing the atomic application in the terminal device. In the process of installing and running the atomic application on the terminal equipment, the atomic application can be registered, discovered, inquired or migrated through the application program framework. Additionally, the call relationship between the application and the atomic application is indicated in the figure using arrows.
In fig. 4, it is exemplified that the application part in the terminal device 1 includes APP1, APP2, APP3, FA1, FA2, AA1, AA2, and AA3, and the application part in the terminal device 2 includes APP4, AA4, and FA3, where APP3 and APP4 may be the same or different. As can be seen from fig. 4, APP1 and FA1 and FA2 that APP1 can call can constitute a distributed application, APP2 and AA1, AA2 and AA3 that APP2 can call can constitute a distributed application, APP3 and AA2, AA3 and AA4 that APP3 can call can constitute a distributed application, and APP4 and AA4 and AA4 and FA3 that APP 6342 and APP4 can call can constitute a distributed application. In addition, as can be seen from fig. 4, different applications may call the same atomic application, for example, APP2 and APP3 may both call AA2 or AA 3; the application may also call an atomic application across devices, e.g. APP3 in terminal device 1 may call AA4 in terminal device 2.
In addition, an atomic application in a distributed application may call other atomic applications or application programs. Referring to fig. 5a, fig. 5a is a schematic diagram of a distributed application invocation mode according to an embodiment of the present application. As can be seen from fig. 5a, an application program in a distributed application may invoke one or more atomic applications, and any one atomic application may also invoke one or more other atomic applications.
The application calling atomic application can be realized by a standardized calling interface externally provided by the called atomic application. The atomic application can provide a function corresponding to the atomic application, and accordingly, when the atomic application is called through the calling interface, the called atomic application can provide the function corresponding to the calling interface. Any AA may provide one calling interface externally, and any FA may provide one or more calling interfaces externally. The functions provided by each calling interface in the plurality of calling interfaces provided by any FA are different, and the application can select a proper calling interface to call the FA according to the user requirement.
Fig. 5b is a schematic diagram of another distributed application invocation manner provided in the embodiment of the present application. The calling relationship shown in fig. 5b includes a first caller, a calling interface, and a callee, where the first caller is an original initiator of the calling request, the callee is a target object of the calling request, and the first caller initiates the calling request to the callee through the calling interface externally provided by the callee. In fig. 5b, when the Application (APP) that is not called by other applications calls the atomic application (FA/AA), the application that is not called by other applications is the first caller, and the called atomic application is the callee. Similarly, when the atomic application not called by other applications calls other atomic applications, the atomic application not called by other applications is the first caller, and the other called atomic applications are the callees. In addition, the callee may also call other atomic applications to form a chain call, and in this case, the callee may be referred to as a caller.
4. Distributed system
A distributed system is a system consisting of a plurality of terminal devices working in coordination to accomplish a common task. Referring to fig. 6a, fig. 6a is a schematic structural diagram of a distributed system according to an embodiment of the present application, where the distributed system includes a plurality of terminal devices. The number of the terminal devices is not limited in the embodiment of the application. The types of the respective terminal devices in the distributed system may be the same or different. For example, the types of the terminal devices shown in fig. 6a are different, including a smart phone, a tablet computer, a smart watch, a camera, a bluetooth speaker, and so on. In addition, the plurality of terminal devices may be heterogeneous Operating System (OS) devices. That is, each terminal device may have a different operating system. For example, the operating systems of the plurality of terminal devices may include a hong meng operating system (HOS), an apple operating system (IOS), Windows (a suite of operating systems developed by microsoft), Linux, and the like. The plurality of terminal devices may also be the same OS device, i.e. the plurality of terminal devices may have the same operating system. For example, the operating systems of the plurality of terminal devices are all HOSs, and at this time, the distributed system formed by the plurality of terminal devices is a hongmeng super terminal. The application processing method provided by the embodiment of the application can be applied to the distributed system and executed by any terminal device in the distributed system. The relevant description of the structure of each terminal device in the plurality of terminal devices can be referred to the relevant description in fig. 1a, and the relevant description of the software structure of each terminal device can be referred to the relevant description in fig. 1 b.
The distributed application can run on each terminal device in the distributed system, and the application program in the same distributed application and one or more atomic applications that can be called by the application program can run on different terminal devices in the distributed system. The distributed system coordinates the completion of computing jobs (including the tasks of the distributed application) by orchestrating appropriate application programs and (/ or) atomic applications on the various terminal devices. Fig. 6b is a schematic diagram of a distributed application scenario provided in an embodiment of the present application. In fig. 6B, the terminal device a, the terminal device B, the terminal device C, and the terminal device D form a distributed system, the application program a, the atomic application B, and the atomic application C form a distributed application 1, and the application program B, the atomic application C, and the atomic application D form a distributed application 2. The terminal device A is provided with an application program A and an atomic application A, the terminal device B is provided with an application program A and an atomic application B, the terminal device C is provided with an application program A and an atomic application C, and the terminal device D is provided with an application program B and an atomic application D. The application may call an atomic application installed on the same terminal device. For example, application a may access data in terminal device a by calling atomic application a to enable running on terminal device a. Similarly, the application program a may call the atomic application B to run on the terminal device B, the application program a may call the atomic application C to run on the terminal device C, and the application program B may call the atomic application D to run on the terminal device D. In addition, the application program may also call an atomic application installed on another terminal device, for example, the application program B in the terminal device D may call the atomic application C in the terminal device C.
Each terminal device in the distributed system can be connected through logging in the same account. In another optional implementation manner, each terminal device in the distributed system may join in the same near field communication networking to implement connection without account numbers or with different account numbers, for example, each terminal device may join in the same Wireless Local Area Network (WLAN) to perform connection, or each terminal device may connect through bluetooth.
After all terminal devices in the distributed system are connected, atomic application information synchronization can be performed among all terminal devices. Each terminal device in the distributed system can synchronize the atomic application information of other terminal devices, so that each terminal device can know the terminal device to which the atomic application that the installed application program can be called across devices belongs, and the terminal device can be called subsequently. The atomic application information may include information such as an identity of the atomic application and an identity of a terminal device to which the atomic application belongs.
In the distributed system, the process that the application program in the terminal device (primary device) calls the FA in the other terminal device (secondary device) further comprises the following steps: a trusted authorization experience. The trusted authorization experience includes: configuring the device type of a terminal device subscribing the running message of the application program on the main device; the method comprises the steps that when an operation message is triggered, a main device sends a calling instruction to a terminal device (an auxiliary device) which accords with the device type in a distributed system; when the auxiliary equipment receives a calling instruction from the main equipment for the first time, displaying an authorization interface for a user to select whether to allow an application program in the main equipment to call an FA in the auxiliary equipment; after receiving an authorization-allowed operation instruction from a user, the auxiliary device displays an interface corresponding to the FA, and records a trusted authorization relationship between an application program in the main device and the FA in the auxiliary device; when the auxiliary device receives the calling instruction from the main device again, the authorization interface is not repeatedly displayed. The running message of the application program refers to a message that can call an FA of the secondary device when triggered, and the device type of the terminal device that subscribes to the running message of the application program may be a default device type of the terminal device that can be called by the application program, or the device type of the terminal device that subscribes to the running message of the application program may be a device type set by a user. In addition, after the auxiliary equipment receives the calling instruction, if the FA is downloaded and installed in the auxiliary equipment in advance, the auxiliary equipment directly displays an authorization interface; if the FA is not installed in the auxiliary equipment, the main equipment is required to distribute the FA except for displaying an authorization interface by the auxiliary equipment, so that the auxiliary equipment downloads the FA; after the primary device distributes the FAs, the primary device may record the information of the FAs downloaded by the secondary device for subsequent recall. Wherein, the distributing FA by the master device comprises: and the main equipment sends a downloading instruction to the auxiliary equipment, wherein the downloading instruction is used for indicating the auxiliary equipment to download the corresponding FA. And the auxiliary equipment downloads and installs the corresponding FA after receiving the downloading instruction. For the master device, the integration FA is not needed, and only the called FA needs to be known.
With reference to fig. 7a to fig. 7c, a service scenario in which an application in a distributed application invokes an FA across devices is described by taking an example in which an application in a smart phone invokes an FA in a smart watch. Fig. 7a is a schematic interface diagram of an application running in a smart phone according to an embodiment of the present application. Fig. 7a is an example of an order submission interface during operation of a take-away ordering application, which includes a rider position interface, an order information interface, a confirmation submission interface, and the like. The rider position interface can display position information of a rider on a map, the distance between the rider and a user and the like; the order information interface can display the order information of the user; the order submitting interface can display the amount of money to be paid by the user, confirm the submitting button and the like. After receiving the determined submitting operation instruction from the user, the smart phone can update the geographic position information, the state information, the distance between the rider and the user, the estimated time for the rider to send goods to the user and the like of the rider in real time in the rider position interface.
If the user wants to share the interface in fig. 7a in the smart watch, this can be achieved by invoking the FA in the smart watch. For example, if a user wants to share a rider position interface on a smart watch, a call may be sent to the smart watch via a smart phone. After the smart watch first receives the call instruction, the smart watch may display an authorization interface as shown in fig. 7b, which presents to the user: "whether to allow display of an interface from the smartphone," and "agree" and "cancel" boxes. When the user clicks the "agree" box, the smart watch may receive an operation instruction allowing authorization from the user, and when the user clicks the "cancel" box, the smart watch may receive an operation instruction disallowing authorization from the user. After receiving the authorization-allowing operation instruction from the user, the smart watch may slide up the watch interface, that is, the rider position interface corresponding to the FA shown in fig. 7c may be displayed. The rider position interface may display the rider's geographic position information, status information (e.g., the rider is delivering goods), the rider's distance from the user, the rider's estimated time to deliver goods to the user, etc., and the user may make an order assessment or call to the rider by clicking on the rider's icon in FIG. 7 c. The rider position interface shown in FIG. 7a is synchronized with the rider position interface shown in FIG. 7 c. For example, the geographic location information of the rider displayed in the rider position interface shown in FIG. 7a is synchronized with the geographic location information of the rider displayed in FIG. 7 c. That is, if the geographic location information of the rider changes, the geographic location of the rider can be synchronously updated in the rider location interfaces of the smart phone and the smart watch. In addition, the user may slide down the space in the interface shown in FIG. 7c, i.e., the watch interface may be redisplayed.
In addition, the process of the application program in the terminal device (primary device) calling the FA in the other terminal device (secondary device) may further include: and (4) permission experience. The permission experience is different from the trusted authorization experience in that the secondary device directly displays an interface corresponding to the FA after receiving the call instruction from the primary device, without displaying an authorization interface, that is, without being authorized by the user, similar to UI migration.
5. Sand box
A sandbox refers to a virtual system program, also known as a dynamic sandbox; an application may be run in a sandbox and behavior information for the running of the application is obtained. In the embodiment of the application, the running environment applied to the terminal equipment is simulated through the sandbox, so that the behavior information of the application is obtained, and the behavior information is the same as the behavior information actually running in the terminal equipment.
During the running of an application (an application program or an atomic application) on a terminal device, it may be necessary to access and process the private data stored on the terminal device by a user. Some malicious applications may have behaviors abusing private data of users, and as the behaviors abusing private data of the applications are more and more, the users are more and more concerned about whether private data of the users are leaked. In order to protect the private data of the user from being violated, a system platform side (a platform of an application on shelf, such as an application store, an application market, and the like) needs to perform privacy disclosure auditing on the application before the application on shelf is installed in the application market. The privacy disclosure audit can comprise privacy disclosure path detection and privacy disclosure detection, wherein the privacy disclosure path detection is used for detecting whether a privacy disclosure path exists when the application runs on the terminal equipment. The privacy leakage path detection may be implemented by way of static analysis, which may be, for example, analysis of code of an application. Carry out privacy disclosure detection to the application when there is a privacy disclosure path, privacy disclosure detection includes: and judging whether the privacy disclosure path is consistent with the privacy entries in the privacy protocol by combining the applied privacy protocol, thereby judging whether the application has privacy disclosure. After the privacy disclosure path detection is carried out on the application, the privacy disclosure detection is carried out by combining the privacy protocol, so that only the privacy disclosure path detection is carried out, and the false alarm rate of the privacy disclosure examination of the application is favorably reduced.
The application program and the atomic application in the distributed application can be independently installed on the system platform side, and the terminal device can download the application program and the atomic application separately. Privacy disclosure may also exist in the process of calling other applications by the application, for example, in the process of calling an AA by the application, if the AA has a network right, the positioning data issued by the application can be uploaded to the cloud when called by the application, and the situation of stealing the data is sent. In order to standardize the behavior of a developer and protect the privacy of a user, before application programs and atomic applications in distributed applications are put on shelf on a system platform side, privacy disclosure examination needs to be carried out on the application programs and the atomic applications.
At present, the application can be subjected to privacy disclosure auditing in a static auditing mode. In the static auditing mode, the privacy disclosure path detection is carried out on the application in the static analysis mode. Fig. 8a shows a flow of privacy disclosure path detection, and fig. 8a is a schematic flow diagram of a static auditing manner provided by the embodiment of the present application. Fig. 8a shows a related flow of privacy leakage path detection in a static auditing manner, which specifically includes: acquiring a program code of an application to be detected; constructing a data flow graph corresponding to the application according to the program code of the application to be detected; and then, determining whether the application to be detected has a privacy disclosure path according to the data flow graph corresponding to the application to be detected. And if the application to be detected has a privacy disclosure path, performing privacy disclosure detection, wherein the privacy disclosure detection process can be shown in fig. 8 b. As can be seen from fig. 8b, the privacy disclosure detection in the static auditing mode includes: acquiring a privacy protocol of an application to be detected; and judging whether the privacy disclosure path of the application to be detected is consistent with the privacy entry in the privacy protocol or not, thereby judging whether the privacy disclosure exists in the application to be detected or not. Specifically, if the privacy disclosure path of the application to be detected is consistent with the privacy entry in the privacy protocol, which indicates that the privacy disclosure path is listed in the privacy protocol, it may be determined that the application to be detected has no privacy disclosure, that is, no behavior invading the privacy of the user; if the privacy disclosure path of the application to be detected is inconsistent with the privacy entry in the privacy protocol, which indicates that the privacy disclosure path is not listed in the privacy protocol, it can be determined that the privacy disclosure exists in the application to be detected, that is, a behavior invading the privacy of the user exists. Wherein the applications without privacy disclosure can be shelved in the application market, and the applications with privacy disclosure are suspended from being shelved in the application market.
The static auditing mode is based on the privacy leakage path of the code analysis application of the application, and has the defects of high false alarm rate, easiness in confusion and bypass and the like. And when the application is subjected to privacy disclosure examination in a static examination mode, examination is performed by taking single application as granularity, so that the method is only suitable for traditional application and is not suitable for application programs or atomic application in distributed application.
Referring to fig. 9, fig. 9 is a schematic diagram of cross-device information transfer of a distributed application according to an embodiment of the present application, where an application calls an atomic application as an example in the schematic diagram. Wherein the application program runs on a different terminal device than the atomic application. Path 1 is the path of information passing through the application, path 2 is the path of information passing through the atomic application, and the dashed line indicates the path of information passing through the atomic application called by the application. Since the tasks of the distributed application are performed by the application calling the atomic application, the application and the atomic application are required to be cooperatively completed. Thus, the privacy-divulging paths corresponding to the tasks of the distributed application in fig. 9 include path 1, a path in which the application program calls an atomic application, and path 2. The static auditing mode only audits a single application, and the path 1 can be obtained by auditing the privacy disclosure of the application program in fig. 9 in the static auditing mode, and the privacy disclosure path corresponding to the task of the distributed application cannot be obtained. The path 2 can be obtained by performing privacy disclosure review on the atomic application in fig. 9 in a static review mode, and a privacy disclosure path corresponding to the task of the distributed application still cannot be obtained. Therefore, the static auditing approach is not applicable to applications in distributed applications or atomic applications.
In addition, as can be seen from fig. 9, the privacy protocol of the atomic application may be stored in an application program (a first caller or a caller), and when the atomic application is checked in a static checking manner, the privacy protocol in the application program cannot be obtained, so that it is impossible to determine whether privacy leakage exists in the atomic application in combination with the privacy protocol, and accuracy and reliability of the checking are reduced.
Or, the application can be audited for privacy disclosure in a dynamic auditing mode. The dynamic auditing mode comprises the following steps: installing an application to be detected into a dynamic sandbox; acquiring behavior information of an application to be detected running in a dynamic sandbox; and then, determining whether the privacy of the application program to be detected leaks according to the behavior information and the privacy protocol of the application to be detected. When the terminal equipment audits the application through the dynamic auditing method, the privacy disclosure auditing is carried out according to the behavior information of the application, so that the privacy disclosure occurring in the operation of the application can be analyzed, but the privacy disclosure which may occur in the process of calling other applications by the application cannot be obtained. Therefore, the dynamic auditing method is only suitable for traditional applications and is not suitable for application programs or atomic applications in distributed applications.
The embodiment of the application provides an application processing method, which can be used for performing privacy disclosure examination on an application program or atomic application in distributed application. The application processing method comprises the following steps: determining a sandbox group corresponding to the distributed application, wherein the sandbox group comprises a first sandbox for running a first application and a second sandbox for running a second application, and the task of the distributed application is executed by calling the second application through the first application; acquiring first behavior information of the first application running in a first sandbox and second behavior information of the second application running in a second sandbox; then, whether privacy disclosure exists in the first application is determined according to the first behavior information, the second behavior information and the privacy protocol of the first application. The first application is an application program to be audited or an atomic application, and the second application is an application program or an atomic application which can be called by the first application. Therefore, when the terminal equipment determines whether the privacy of the first application is leaked, the terminal equipment not only analyzes the behavior information of the first application, but also combines the behavior information of the second application, so that the reliability of checking the privacy leakage of the first application can be improved.
The embodiments and the related embodiments of the present application are explained below with reference to the drawings.
Referring to fig. 10, fig. 10 is a schematic flowchart of an application processing method provided in the embodiment of the present application, and as shown in fig. 10, the application processing method includes, but is not limited to, the following steps:
s1001: the method comprises the steps that terminal equipment determines a sandbox group corresponding to distributed application; the sandbox group comprises a first sandbox for running a first application and a second sandbox for running a second application, and the task of the distributed application is executed by the first application calling the second application;
that is, the terminal device may execute the task corresponding to the distributed application through the sandbox group. The first application refers to an application program or an atomic application that needs to be subjected to privacy disclosure review, and may also be referred to as an application to be analyzed, for example, the first application may be an application program or an atomic application that is ready to be installed in an application market of the terminal device. The second application refers to an application program or an atomic application which can be called by the first application in the on-shelf application, and can also be called as a candidate application. The on-shelf application refers to an application program or an atomic application which has been subjected to privacy disclosure review and has no privacy disclosure as a result of the review, for example, the on-shelf application may be an application in an application market of the terminal device.
In an alternative embodiment, the information of the applications already on shelf may be obtained from a database, and the information of the applications already on shelf may include configuration file information of the applications already on shelf, inter-application communication call information, and the like, where the configuration file information of the applications already on shelf is obtained by analyzing the configuration file of the applications already on shelf in advance and stored in the database, and the inter-application communication call information of the applications already on shelf is obtained by analyzing the inter-application communication call of the applications already on shelf in advance and stored in the database.
In an alternative embodiment, the second application is determined according to the identity of the application called by the first application, which may be explicitly specified in the configuration file of the first application by the developer during the configuration file editing stage of the first application, and this manner is also referred to as a display manner. Correspondingly, before the terminal device determines the sandbox group corresponding to the distributed application, the method further includes: the method comprises the steps that terminal equipment obtains a configuration file of a first application, and the configuration file of the first application is analyzed to obtain configuration file information of the first application; and determining the identity of the application called by the first application according to the configuration file information of the first application, and determining one or more second applications from one or more applications already on shelf according to the identity of the application called by the first application. The configuration file information of the first application may further include information such as a component name and an attribute of the first application. The terminal equipment can accurately obtain the second application according to the identity of the application called by the first application, so that the second application is guaranteed to be the application called by the first application, and the auditing accuracy of the first application is improved.
In an alternative embodiment, the second application is determined according to an application type associated with the first application, where the application type associated with the second application is obtained by the terminal device by analyzing an inter-application communication call of the first application, and this manner is also referred to as an implicit manner. Specifically, the terminal device may obtain a parameter of the cross-device or cross-application call of the first application by analyzing the inter-application communication call of the first application, and determine one or more application types associated with the first application according to the parameter of the cross-device or cross-application call of the first application; then, the terminal device determines a second application from the one or more applications already on shelf according to the one or more application types, wherein the application type of the second application is the same as one of the one or more application types associated with the first application. The terminal equipment determines the second application according to the application type associated with the first application, can determine the application capable of being used as the second application more comprehensively, avoids missing part of the application capable of being used as the second application when the first application is subjected to privacy disclosure examination, and improves the accuracy of the privacy disclosure examination of the first application.
Optionally, an intention filter is further included in the terminal device, and the intention filter is used for filtering out, from the one or more already-installed applications, an application of which the application type matches the application type associated with the first application as the second application. Correspondingly, the determining, by the terminal device, the second application may include: the terminal device determines the second application through the intention filter.
In the embodiment of the present invention, the terminal device may determine the second application in at least one of the above-mentioned display manner and the implicit manner.
In an optional implementation manner, the terminal device further includes an information analyzer, and the information analyzer is configured to determine the second application in at least one of the above-mentioned display manner and the implicit manner. Accordingly, the terminal device determining the second application may include: the terminal device determines the second application through the information analyzer.
In an alternative embodiment, the first sandbox is determined based on a configuration file of the first application; the second sandbox is determined based on a configuration file for the second application. In practical applications, the first application and the second application may run on the same terminal device, or may run on different terminal devices. When the first application and the second application run on different terminal devices, the running environments of the different terminal devices may be the same or different. And when the running environment of the terminal equipment running the first application is the same as that of the terminal equipment running the second application, the running environment simulated by the first sandbox and the running environment simulated by the second sandbox which are arranged by the terminal equipment executing the application processing method are the same. When the running environment of the terminal device running the first application is different from the running environment of the terminal device running the second application, the terminal device executing the application processing method can respectively obtain the running environment information of the first application and the second application in the actual application through the configuration files of the first application and the second application. The terminal device arranges the first sandbox according to the configuration file of the first application to simulate the running environment of the first application in the actual application, and arranges the second sandbox according to the configuration file of the second application to simulate the running environment of the second application in the actual application. Then, the terminal device may obtain behavior information, which is the same as the behavior information of the first application and the second application in actual operation, from the first sandbox and the second sandbox, respectively, and reliability of the terminal device performing privacy disclosure verification on the first application based on the behavior information is improved.
For example, the first application is an application that can be run on the terminal device 1, and the second application is an application that can be run on the terminal device 2. The terminal device arranges the first sandbox to simulate the execution environment of the terminal device 1, so that the behavior information obtained by the first application running in the first sandbox is the same as the behavior information obtained by the first application running in the terminal device 1. Similarly, the terminal device arranges the second sandbox to simulate the execution environment of the terminal device 2, so that the behavior information obtained by the second application running in the second sandbox is the same as the behavior information obtained by the second application running in the terminal device 2.
In an optional implementation manner, the terminal device further includes a dynamic sandbox orchestrator, where the dynamic sandbox orchestrator is configured to orchestrate a sandbox corresponding to the application according to a configuration file of the application. Correspondingly, the determining, by the terminal device, the sandbox group corresponding to the distributed application may include: and the terminal equipment determines a sandbox group corresponding to the distributed application through the dynamic sandbox organizer.
S1002: the method comprises the steps that a terminal device obtains first behavior information of a first application running in a first sandbox and second behavior information of a second application running in a second sandbox;
in an alternative embodiment, the first behavior information may be a log of the first application running in a first sandbox and the second behavior information may be a log of the second application running in a second sandbox.
In an optional implementation manner, the terminal device triggers the first application to run in the first sandbox through the behavior trigger to obtain the first behavior information, and triggers the second application to run in the second sandbox through the behavior trigger to obtain the second behavior information. The behavior trigger may be a random trigger, or a trigger incorporating static analysis, etc. For example, the behavior trigger may trigger UI interfaces of the first application and the second application, or send a system broadcast to trigger the first application and the second application to run.
S1003: and the terminal equipment determines whether the privacy of the first application is revealed or not according to the first behavior information, the second behavior information and the privacy protocol of the first application.
In an optional implementation manner, the determining, by the terminal device, whether privacy of the first application is leaked according to the first behavior information, the second behavior information, and a privacy protocol of the first application includes: the terminal equipment determines third behavior information corresponding to the task of the distributed application according to the first behavior information and the second behavior information; then, whether the privacy of the first application is leaked is determined according to the third behavior information and the privacy protocol of the first application. When the third behavior information is consistent with the privacy protocol of the first application, the terminal device can determine that the first application has no privacy disclosure; when the third behavior information is inconsistent with the privacy protocol of the first application, the terminal device may determine that the privacy of the first application is revealed. Therefore, the terminal device can obtain behavior information generated by the first application in the task of executing the distributed application, and the privacy disclosure verification is performed on the first application by combining with the privacy protocol of the first application, so that the accuracy of the privacy disclosure verification on the first application is improved.
Referring to fig. 11, fig. 11 is a schematic diagram of a privacy disclosure path according to an embodiment of the present application. As can be seen from fig. 11, the terminal device may determine, according to the first behavior information, privacy disclosure paths, including path 1, path 2, and path 3, for the first application to run in the first sandbox; the terminal device can determine privacy disclosure paths, including path 4 and path 5, of the second application running in the second sandbox according to the second behavior information; the terminal device may determine third behavior information according to the first behavior information and the second behavior information, and the privacy disclosure path indicated by the third behavior information includes path 1, path 2, and a path (indicated by a dotted line) in which the first application calls the second application.
In an optional implementation manner, the third behavior information is determined by the terminal device through the behavior collector. By customizing the sandbox group corresponding to the distributed application, the first sandbox can send the obtained first behavior information to the behavior collector, the second sandbox can send the obtained second behavior information to the behavior collector, the behavior collector collects the first behavior information and the second behavior information, and determines the third behavior information according to the first behavior information and the second behavior information.
In an optional implementation mode, the terminal device determines whether privacy disclosure exists in the first application based on the behavior analyzer. The behavior analyzer is used for judging whether privacy disclosure exists in the first application according to the third behavior information and the privacy protocol of the first application. Specifically, if the terminal device determines through the behavior analyzer that the third behavior information is declared in the privacy protocol of the first application, it may be determined that the first application has no privacy disclosure, that is, the first application is a legitimate application, and the first application is permitted to be shelved in the application market; if the terminal device determines through the behavior analyzer that the third behavior information is not declared in the privacy protocol of the first application, it may be determined that the first application has privacy divulgence, and then the first application is not allowed to be shelved in the application marketplace.
Referring to fig. 12, fig. 12 is a schematic diagram of an application processing method according to an embodiment of the present disclosure. In fig. 12, the terminal device executing the application processing method includes the information analyzer, the dynamic sandbox organizer, the behavior trigger, the behavior collector, and the behavior analyzer. Specifically, the terminal device determines a second application from one or more on-shelf applications according to the first application through an information analyzer; determining a sandbox group corresponding to the distributed application (the first application and the second application) through a dynamic sandbox organizer, wherein the sandbox group comprises a first sandbox for running the first application and a second sandbox for running the second application, and the task of the distributed application is executed by calling the second application through the first application; then, the terminal equipment triggers a first application and a second application to operate in the dynamic sandbox group through a behavior trigger; then, the terminal equipment acquires behavior information in the dynamic sandbox group through a behavior collector and determines behavior information corresponding to the task of the distributed application; and the terminal equipment analyzes whether privacy leakage exists in the first application or not by combining the behavior analyzer and the privacy protocol of the first application to obtain a detection result.
In an optional implementation manner, when the terminal device determines that the privacy of the first application is leaked, a notification interface can be further displayed to the developer and the user to notify the developer and the user of the privacy leakage audit result. With reference to fig. 13, fig. 13 is a schematic diagram of another application processing method provided in the embodiment of the present application, specifically, a terminal device determines, by an information analyzer, a second application according to a first application, then runs the first application and the second application in a first sandbox and a second sandbox in a determined sandbox group respectively, and collects first behavior information of the first application running in the first sandbox and second behavior information of the second application running in the second sandbox; analyzing the first behavior information and the second behavior information, and determining third behavior information corresponding to the task of the distributed application; then, the terminal equipment determines whether privacy leakage exists in the first application according to the third behavior information and the privacy protocol of the first application; and when the privacy of the first application is leaked, the terminal equipment displays the auditing result to a developer and a User for UX (User Experience). For example, the notification interface displayed to the developer by the terminal device includes: "there is a risk of privacy disclosure between the first application and the second application", the notification interface displayed by the developer on the side of the terminal device includes: "there is a risk of privacy disclosure between a first application and a second application on the present device".
In summary, the application processing method evaluates the privacy risk of the application in the distributed application based on the sandbox group and the privacy protocol, that is, determines whether the privacy of the application in the distributed application is leaked. In the application processing method, terminal equipment firstly determines a sandbox group corresponding to a distributed application, wherein the sandbox group comprises a first sandbox for running a first application and a second sandbox for running a second application, and a task of the distributed application is executed by calling the second application by the first application; the terminal equipment acquires first behavior information of the first application running in the first sandbox and second behavior information of the second application running in the second sandbox; then, the terminal device determines whether privacy of the first application is leaked according to the first behavior information, the second behavior information and the privacy protocol of the first application. In the method, when the terminal equipment determines whether the privacy disclosure exists in the first application, the terminal equipment not only analyzes the behavior information of the first application, but also combines the behavior information of the second application, so that the reliability of the privacy disclosure examination of the first application can be improved.
Referring to fig. 14, fig. 14 is a schematic structural diagram of a terminal device according to an embodiment of the present application. The terminal device may include a processor 1401 and a memory 1402. The processor 1401 and the memory 1402 are connected by a bus. The memory 1402 is used to store computer program code comprising computer instructions, and the processor 1401 is used to execute the computer instructions stored by the memory 1402.
In the embodiment of the present application, the processor 1401, by executing the computer instructions in the memory 1402, causes the terminal device to perform the following operations:
determining a sandbox group corresponding to the distributed application, wherein the sandbox group comprises a first sandbox for running the first application and a second sandbox for running the second application, and the task of the distributed application is executed by calling the second application by the first application;
acquiring first behavior information of a first application running in a first sandbox and second behavior information of a second application running in a second sandbox;
and determining whether the privacy of the first application is leaked according to the first behavior information, the second behavior information and the privacy protocol of the first application.
In an alternative embodiment, the processor 1401 is configured to execute, by executing the computer instructions in the memory 1402, the terminal device to determine whether the privacy of the first application is leaked according to the first behavior information, the second behavior information, and a privacy protocol of the first application, and is specifically configured to:
determining third behavior information corresponding to the task of the distributed application according to the first behavior information and the second behavior information;
and determining whether the privacy of the first application is leaked according to the third behavior information and the privacy protocol of the first application.
In an alternative embodiment, the processor 1401 is configured to execute, by executing the computer instructions in the memory 1402, the step of enabling the terminal device to obtain first behavior information of a first application running in a first sandbox and second behavior information of a second application running in a second sandbox, and is specifically configured to:
and triggering the second application to run in the second sandbox through the behavior trigger to obtain the second behavior information.
In an alternative embodiment, the first sandbox is determined based on a configuration file of the first application; the second sandbox is determined based on a configuration file for the second application.
In an alternative embodiment, the second application is determined based on the identity of the application invoked by the first application.
In an alternative embodiment, the second application is determined based on an application type associated with the first application.
In an alternative embodiment, the third behavior information is determined by processor 1401 via a behavior collector.
In an alternative embodiment, processor 1401 is based on a behavior analyzer to determine whether privacy leakage exists for a first application.
Optionally, the processor 1401 may further cause the terminal device to execute the relevant operations in the method embodiments by executing the computer instructions in the memory 1402, and details are not described here.
The present application further provides a computer-readable storage medium having stored thereon computer instructions, which, when run on a terminal device, cause the terminal device to perform one or more of the steps of any of the above-described methods.
The embodiment of the application also provides a computer program product containing instructions. The computer program product, when run on a computer or processor, causes the computer or processor to perform one or more steps of any of the methods described above.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. The procedures or functions described in accordance with the embodiments of the application are all or partially generated when the computer program instructions are loaded and executed on a computer. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored on or transmitted over a computer-readable storage medium. The computer instructions may be transmitted from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optics, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
One of ordinary skill in the art will appreciate that all or part of the processes in the methods of the above embodiments may be implemented by hardware related to instructions of a computer program, which may be stored in a computer-readable storage medium, and when executed, may include the processes of the above method embodiments. And the aforementioned storage medium includes: various media capable of storing program codes, such as ROM or RAM, magnetic or optical disks, etc.
In the foregoing embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
Finally, it should be noted that: the above embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present application.

Claims (17)

1. An application processing method, characterized in that the method comprises:
the method comprises the steps that a terminal device determines a sandbox group corresponding to a distributed application, wherein the sandbox group comprises a first sandbox for running a first application and a second sandbox for running a second application, and a task of the distributed application is executed by calling the second application through the first application;
the terminal equipment acquires first behavior information of the first application running in the first sandbox and second behavior information of the second application running in the second sandbox;
and the terminal equipment determines whether privacy leakage exists in the first application or not according to the first behavior information, the second behavior information and the privacy protocol of the first application.
2. The method of claim 1, wherein the determining, by the terminal device, whether privacy of the first application is leaked according to the first behavior information, the second behavior information, and a privacy protocol of the first application comprises:
the terminal equipment determines third behavior information corresponding to the tasks of the distributed application according to the first behavior information and the second behavior information;
and the terminal equipment determines whether privacy leakage exists in the first application or not according to the third behavior information and the privacy protocol of the first application.
3. The method according to claim 1 or 2, wherein the obtaining, by the terminal device, first behavior information of the first application running in the first sandbox and second behavior information of the second application running in the second sandbox comprises:
and the terminal equipment triggers the first application to run in the first sandbox through a behavior trigger to acquire the first behavior information, and triggers the second application to run in the second sandbox through the behavior trigger to acquire the second behavior information.
4. The method of any of claims 1 to 3, wherein the first sandbox is determined from a configuration file of the first application; the second sandbox is determined from a configuration file of the second application.
5. The method of any of claims 1 to 4, wherein the second application is determined based on an identity of an application invoked by the first application.
6. The method of any of claims 1 to 4, wherein the second application is determined according to an application type associated with the first application.
7. The method according to any one of claims 2 to 6, wherein the third behavior information is determined by the terminal device through a behavior collector.
8. The method according to any one of claims 1 to 7, wherein the terminal device determines whether privacy disclosure exists for the first application based on a behavior analyzer.
9. A terminal device, characterized in that the terminal device comprises a memory and at least one processor; the memory coupled with the one or more processors, the memory for storing computer program code, the computer program code comprising computer instructions that, when executed by the one or more processors, cause the terminal device to:
determining a sandbox group corresponding to a distributed application, wherein the sandbox group comprises a first sandbox for running a first application and a second sandbox for running a second application, and the task of the distributed application is executed by the first application calling the second application;
acquiring first behavior information of the first application running in the first sandbox and second behavior information of the second application running in the second sandbox;
and determining whether privacy leakage exists in the first application or not according to the first behavior information, the second behavior information and the privacy protocol of the first application.
10. The terminal device of claim 9, wherein the one or more processors, when executing the computer instructions, cause the terminal device to perform determining whether the first application has privacy breached according to the first behavior information, the second behavior information, and a privacy protocol of the first application, and in particular to:
determining third behavior information corresponding to the tasks of the distributed application according to the first behavior information and the second behavior information;
and determining whether privacy leakage exists in the first application according to the third behavior information and the privacy protocol of the first application.
11. The terminal device of claim 9 or 10, wherein the one or more processors, when executing the computer instructions, cause the terminal device to perform obtaining first behavior information of the first application running in the first sandbox and second behavior information of the second application running in the second sandbox, in particular to perform:
and triggering the first application to run in the first sandbox through a behavior trigger to acquire the first behavior information, and triggering the second application to run in the second sandbox through the behavior trigger to acquire the second behavior information.
12. A terminal device according to any of claims 9 to 11, wherein the first sandbox is determined from a configuration file of the first application; the second sandbox is determined from a configuration file of the second application.
13. A terminal device according to any of claims 9 to 12, wherein the second application is determined from an identity of an application invoked by the first application.
14. The terminal device according to any of claims 9 to 12, wherein the second application is determined according to an application type associated with the first application.
15. The terminal device according to any one of claims 10 to 14, wherein the third behavior information is determined by the processor through a behavior collector.
16. The terminal device of any of claims 9 to 15, wherein the processor is configured to determine whether the first application is privacy compromised based on a behavior analyzer.
17. A computer readable storage medium comprising computer instructions which, when run on a terminal device, cause the terminal device to perform the method of any one of claims 1 to 8.
CN202110304365.3A 2021-03-22 2021-03-22 Application processing method and device Pending CN115114618A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110304365.3A CN115114618A (en) 2021-03-22 2021-03-22 Application processing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110304365.3A CN115114618A (en) 2021-03-22 2021-03-22 Application processing method and device

Publications (1)

Publication Number Publication Date
CN115114618A true CN115114618A (en) 2022-09-27

Family

ID=83324068

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110304365.3A Pending CN115114618A (en) 2021-03-22 2021-03-22 Application processing method and device

Country Status (1)

Country Link
CN (1) CN115114618A (en)

Similar Documents

Publication Publication Date Title
US11947974B2 (en) Application start method and electronic device
WO2021253975A1 (en) Permission management method and apparatus for application, and electronic device
CN110751503B (en) Advertisement processing method and electronic equipment
CN114840842A (en) Login method of intelligent terminal and electronic equipment
CN114741720B (en) Authority management method and terminal equipment
WO2021073337A1 (en) Method and apparatus for installing plug-in, and storage medium
WO2022253158A1 (en) User privacy protection method and apparatus
CN113703894A (en) Display method and display device of notification message
CN114817939A (en) Authority control method and electronic equipment
CN115017495B (en) Timing verification method, electronic device, and readable storage medium
CN115017498B (en) Method for operating applet and electronic device
CN115185652B (en) Application optimization method and device and electronic equipment
CN114546969A (en) File sharing method and device and electronic equipment
CN115701018A (en) Method for safely calling service, method and device for safely registering service
CN114692119A (en) Method for verifying application and electronic equipment
CN113467821A (en) Application program repairing method, device, equipment and readable storage medium
CN115114618A (en) Application processing method and device
CN113867851A (en) Electronic equipment operation guide information recording method, electronic equipment operation guide information acquisition method and terminal equipment
CN114996162B (en) Test method and related device
WO2024093703A1 (en) Instance management method and apparatus, and electronic device and storage medium
CN115544528A (en) Interface calling method and electronic equipment
CN117251223A (en) Cloud function plug-in configuration and scheduling method, system and electronic equipment
CN114443238A (en) Application calling method and device, terminal equipment and medium
CN114692132A (en) Application program control method and device, electronic equipment and readable storage medium
CN117014167A (en) Cloud mobile phone authorization information acquisition method, related equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination