Information processing method and apparatus, storage medium, program product
By obtaining the mapping relationship between the storage path information and description information of the target object and comparing their consistency, the latency problem caused by the full content verification of the tool in the terminal device is solved, thereby improving security and efficiency.
Patent Information
- Application Number
- CN202111284767.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-01
- Publication Date
- 2026-11-06
- Estimated Expiration
- 2041-11-01
AI Technical Summary
Existing technologies require verification of all content before each tool is invoked on a terminal device, resulting in significant verification overhead and latency, which impacts user experience. Furthermore, existing solutions such as periodic verification and sampling verification cannot effectively reduce latency and contain security vulnerabilities.
By obtaining the storage path information of the target object, finding the target mapping relationship, obtaining the path description information and comparing it with the storage path information, it is determined whether the target object has been tampered with, and thus decides whether to call it, avoiding full content verification every time.
While providing security verification, the overhead of verification processing is reduced, terminal service latency is decreased, and user experience is improved.
Smart Images

Figure CN116070191B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of information processing technology, and in particular to an information processing method and apparatus, storage medium, and program product. Background Technology
[0002] With technological advancements, terminals are increasingly supporting more and more functions and providing more and more services to meet user needs. In the process of performing certain services, terminals often need to reuse certain functions repeatedly, such as repeatedly calling certain tools to perform certain tasks. That is, each time a related task is performed, the corresponding tool needs to be called. To prevent these tools from being maliciously tampered with and causing significant risks, the entire contents of these tools need to be verified before each call. However, verifying the entire contents of these tools each time is quite costly, which increases the latency of the services provided by the terminal and thus affects the user experience. Summary of the Invention
[0003] The following is an overview of the subject matter described in detail herein. This overview is not intended to limit the scope of the claims.
[0004] This application provides an information processing method, apparatus, storage medium, and program product that can reduce the overhead of verification processing, reduce the latency of services provided by the terminal, and thus improve the user experience.
[0005] On the one hand, embodiments of this application provide an information processing method, including the following steps:
[0006] In response to a call to the target object, the storage path information of the target object is obtained;
[0007] The target mapping relationship is found based on the storage path information, wherein the target mapping relationship is the mapping relationship between the object description information identifier of the target object and the storage path information;
[0008] Once the target mapping relationship is found, the target path information pointing to the object description information identifier is determined;
[0009] Obtain path description information based on the target path information;
[0010] The path description information and the storage path information are compared to obtain a comparison result;
[0011] The decision to invoke the target object is made based on the comparison results.
[0012] On the other hand, embodiments of this application also provide an information processing apparatus, including:
[0013] The path acquisition unit is used to acquire the storage path information of the target object in response to a call to the target object;
[0014] A mapping lookup unit is used to look up a target mapping relationship based on the storage path information, wherein the target mapping relationship is a mapping relationship between the object description information identifier of the target object and the storage path information;
[0015] The path determination unit is used to determine the target path information pointing to the object description information identifier when the target mapping relationship is found;
[0016] The information acquisition unit is used to acquire path description information based on the target path information;
[0017] An information comparison unit is used to compare the path description information and the stored path information to obtain a comparison result;
[0018] The judgment unit is invoked to determine whether to invoke the target object based on the comparison result.
[0019] Optionally, the call determination unit includes:
[0020] The first processing unit is configured to determine to invoke the target object when the comparison result shows that the path description information and the stored path information are consistent;
[0021] The second processing unit is configured to, when the comparison result indicates that the path description information and the stored path information are inconsistent, delete the target mapping relationship, perform verification processing on the target object to obtain a first verification result, and determine whether to call the target object based on the first verification result.
[0022] Optionally, the second processing unit includes:
[0023] The first reading unit is used to read all the contents of the target object;
[0024] The first verification unit is used to perform information verification processing on all the contents of the target object to obtain the first verification result.
[0025] Optionally, the second processing unit further includes:
[0026] The first judgment unit is used to determine the target object to be invoked when the first verification result meets the first expected result, and to establish a new target mapping relationship based on the storage path information and the object description information identifier.
[0027] or,
[0028] The second judgment unit is used to determine not to call the target object when the first verification result does not meet the first expected result.
[0029] Optionally, the path determination unit includes:
[0030] The first acquisition unit is used to acquire the identification information of the process used to invoke the target object;
[0031] The first calling unit is used to call the information acquisition function to open the target object and obtain the object description information identifier;
[0032] The path splicing unit is used to generate target path information pointing to the object description information identifier based on the identifier information and the object description information identifier.
[0033] Optionally, the information acquisition unit includes:
[0034] The second calling unit is used to call the path retrieval function;
[0035] A function calculation unit is used to input the target path information into the path acquisition function and obtain the return result output by the path acquisition function;
[0036] The second acquisition unit is used to obtain the path description information based on the returned result.
[0037] Optionally, the information processing device further includes:
[0038] The second reading unit is used to read all the contents of the target object when the target mapping relationship cannot be found.
[0039] The second verification unit is used to perform information verification processing on all the contents of the target object to obtain a second verification result;
[0040] The third processing unit is used to determine whether to call the target object based on the second verification result.
[0041] Optionally, the third processing unit includes:
[0042] The third judgment unit is used to determine the target object to be called when the second verification result meets the second expected result, and to establish the target mapping relationship based on the storage path information and the object description information.
[0043] or,
[0044] The fourth judgment unit is used to determine not to call the target object when the second verification result does not meet the second expected result.
[0045] Optionally, the first reading unit and the second reading unit each include:
[0046] The third calling unit is used to call the information acquisition function to open the target object and obtain the object description information identifier;
[0047] The third reading unit is used to read all the contents of the target object based on the object description information.
[0048] Optionally, the first verification unit and the second verification unit each include:
[0049] An algorithm determination unit is used to determine a target verification algorithm based on the target object;
[0050] The verification calculation unit is used to calculate the verification sum of all contents of the target object using the target verification algorithm.
[0051] Optionally, the algorithm determining unit includes:
[0052] A capacity acquisition unit is used to acquire the data volume of the target object;
[0053] The algorithm determines the sub-unit, which is used to determine the target verification algorithm based on the amount of data.
[0054] Optionally, the target object is an executable file, and the information processing device further includes:
[0055] A process determination unit is used to determine the process that calls the executable file;
[0056] The execution stop unit is used to stop the execution of the process that calls the executable file.
[0057] On the other hand, embodiments of this application also provide an information processing apparatus, including:
[0058] At least one processor;
[0059] At least one memory for storing at least one program;
[0060] When at least one of the programs is executed by at least one of the processors, the information processing method as described above is implemented.
[0061] On the other hand, embodiments of this application also provide a computer-readable storage medium storing a processor-executable program, which, when executed by a processor, is used to implement the information processing method as described above.
[0062] On the other hand, embodiments of this application also provide a computer program product, including a computer program or computer instructions, wherein the computer program or computer instructions are stored in a computer-readable storage medium, a processor of a computer device reads the computer program or computer instructions from the computer-readable storage medium, and the processor executes the computer program or computer instructions, causing the computer device to perform the information processing method as described above.
[0063] The embodiments of this application include at least the following beneficial effects: In response to a call to a target object, the storage path information of the target object is first obtained, and then the target mapping relationship is searched based on the storage path information. The target mapping relationship is the mapping relationship between the object description information identifier of the target object and the storage path information. Therefore, when the target mapping relationship is found, the target path information pointing to the object description information identifier can be determined. Then, the path description information is obtained based on the target path information, and the path description information and the storage path information are compared to obtain the comparison result. Under normal circumstances, the path description information and the storage path information are consistent. If the target object is tampered with, the path description information will change, resulting in inconsistency between the path description information and the storage path information. Therefore, based on the comparison result between the path description information and the storage path information, it is possible to determine whether the target object has been tampered with, thereby determining whether to call the target object. It is not necessary to perform verification processing on all the contents of the target object before each call to the target object. Therefore, the overhead of the verification processing of the target object can be reduced, the latency of the service provided by the terminal can be reduced, and the user experience can be improved.
[0064] Other features and advantages of this application will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the application. The objectives and other advantages of this application may be realized and obtained by means of the structures particularly pointed out in the description, claims and drawings. Attached Figure Description
[0065] The accompanying drawings are used to provide a further understanding of the technical solutions of this application and constitute a part of the specification. They are used together with the embodiments of this application to explain the technical solutions of this application and do not constitute a limitation on the technical solutions of this application.
[0066] Figure 1 This is a schematic diagram of an implementation environment provided in an embodiment of this application;
[0067] Figure 2 This is a flowchart of an information processing method provided in one embodiment of this application;
[0068] Figure 3 yes Figure 2 A flowchart of a specific method for step 160;
[0069] Figure 4 yes Figure 3 A flowchart of a specific method for step 162;
[0070] Figure 5 yes Figure 2 A flowchart of a specific method for step 130;
[0071] Figure 6 yes Figure 2 A flowchart of a specific method for step 140;
[0072] Figure 7 This is a flowchart of an information processing method provided in another embodiment of this application;
[0073] Figure 8 This is a flowchart of an information verification process provided in another embodiment of this application;
[0074] Figure 9 yes Figure 8 A flowchart of a specific method for step 210;
[0075] Figure 10 This is a flowchart illustrating an information processing method provided in a specific example of this application;
[0076] Figure 11 This is a schematic diagram of an information processing device provided in one embodiment of this application;
[0077] Figure 12 This is a schematic diagram of an information processing device provided in another embodiment of this application. Detailed Implementation
[0078] The present application will be further described below with reference to the accompanying drawings and specific embodiments. The described embodiments should not be considered as limitations on the present application, and all other embodiments obtained by those skilled in the art without inventive effort are within the scope of protection of the present application.
[0079] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0080] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.
[0081] Before providing a further detailed description of the embodiments of this application, the nouns and terms involved in the embodiments of this application will be explained, and the nouns and terms involved in the embodiments of this application shall be interpreted as follows.
[0082] 1) Artificial Intelligence (AI) is the theory, methods, technology, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology within computer science that attempts to understand the essence of intelligence and produce a new kind of intelligent machine that can react in a way similar to human intelligence. AI studies the design principles and implementation methods of various intelligent machines, enabling them to have perception, reasoning, and decision-making capabilities. AI technology is a comprehensive discipline involving a wide range of fields, encompassing both hardware and software technologies. Fundamental AI technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing technology, operating / interactive systems, and mechatronics. AI software technologies mainly include computer vision, speech processing, natural language processing, and machine learning / deep learning.
[0083] 2) Artificial intelligence cloud services, also commonly known as AIaaS (AI as a Service), are a mainstream service model for artificial intelligence platforms. Specifically, AIaaS platforms break down several common AI services and provide them as independent or packaged services in the cloud. This service model is similar to opening an AI-themed marketplace: all developers can access and use one or more AI services provided by the platform through API interfaces. Some experienced developers can also use the AI framework and AI infrastructure provided by the platform to deploy and maintain their own dedicated cloud AI services.
[0084] 3) Cloud technology refers to a hosting technology that unifies hardware, software, and network resources within a wide area network (WAN) or local area network (LAN) to achieve data computation, storage, processing, and sharing. Cloud technology is a general term encompassing network technology, information technology, integration technology, management platform technology, and application technology based on the cloud computing business model. It can form resource pools, providing flexible and convenient on-demand access. Cloud computing technology will become a crucial support. Backend services of technical network systems require substantial computing and storage resources, such as video websites, image websites, e-commerce platforms, and many portal websites. With the rapid development and application of the internet industry, every item may have its own identification mark in the future, requiring transmission to backend systems for logical processing. Data at different levels will be processed separately, and various industry data will require robust system support, which can only be achieved through cloud computing.
[0085] 4) Big data refers to data sets that cannot be captured, managed, and processed within a certain timeframe using conventional software tools. It represents massive, rapidly growing, and diverse information assets that require new processing models to achieve stronger decision-making, insightful discovery, and process optimization capabilities. With the advent of the cloud era, big data has attracted increasing attention. Big data requires specialized technologies to effectively process large amounts of data within a tolerable timeframe. Technologies suitable for big data include massively parallel processing databases, data mining, distributed file systems, distributed databases, cloud computing platforms, the Internet, and scalable storage systems.
[0086] 5) Blockchain is a new application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanisms, and encryption algorithms. Essentially, a blockchain is a decentralized database, a chain of data blocks linked using cryptographic methods. Each data block contains information about a batch of network transactions, used to verify the validity of the information (anti-counterfeiting) and generate the next block. A blockchain can include a blockchain underlying platform, a platform product service layer, and an application service layer. The blockchain underlying platform can include processing modules such as user management, basic services, smart contracts, and operation monitoring. The user management module is responsible for managing the identity information of all blockchain participants, including maintaining public and private key generation (account management), key management, and maintaining the correspondence between user real identities and blockchain addresses (access management). Under authorization, it also monitors and audits transactions of certain real identities and provides risk control rule configuration (risk control audit). The basic service module is deployed on all blockchain node devices to verify the validity of business requests. After consensus is reached on valid requests, they are recorded in storage. For a new business request, the basic service first performs interface adaptation parsing and authentication (interface adaptation), and then encrypts the business information through a consensus algorithm (consensus management). The blockchain process involves several layers of data transmission and processing. The first layer, the blockchain service layer, provides basic capabilities and implementation frameworks for typical applications. Developers can define contract logic using a programming language and publish it to the blockchain (contract registration). The second layer provides blockchain-based application services for business stakeholders. The third layer provides application services based on blockchain solutions for use by business participants.
[0087] 6) Intelligent Traffic System (ITS), also known as Intelligent Transportation System, effectively integrates advanced science and technology (information technology, computer technology, data communication technology, sensor technology, electronic control technology, automatic control theory, operations research, artificial intelligence, etc.) into transportation, service control, and vehicle manufacturing, strengthening the connection between vehicles, roads, and users, thereby forming a comprehensive transportation system that ensures safety, improves efficiency, improves the environment, and saves energy.
[0088] 7) Intelligent Vehicle Infrastructure Cooperative Systems (IVICS), or vehicle-road cooperative systems for short, represent a development direction for Intelligent Transportation Systems (ITS). IVICS utilizes advanced wireless communication and next-generation Internet technologies to implement comprehensive, real-time dynamic information exchange between vehicles and infrastructure. Based on the collection and fusion of dynamic traffic information across all times and spaces, it conducts active vehicle safety control and cooperative road management, fully realizing effective collaboration between people, vehicles, and roads. This ensures traffic safety, improves traffic efficiency, and ultimately forms a safe, efficient, and environmentally friendly road traffic system.
[0089] With technological advancements, terminals are increasingly supporting more and more functions and providing more and more services to meet user needs. During the execution of certain services, terminals often need to reuse certain functions, such as repeatedly calling certain tools to perform specific tasks. In other words, each time a related task is executed, the corresponding tool needs to be invoked. To prevent these tools from being maliciously tampered with and causing significant risks, the entire contents of these tools need to be verified before each invocation. However, verifying the entire contents of these tools each time is quite costly. For example, typical modern verification algorithms include the Message Digest Algorithm (MD5) and the Secure Hash Algorithm (SHA256). Suppose we use MD5 or SHA256 to verify the entire contents of a file. When the file is large, the verification process can take several seconds; when the file is even larger, the verification process can take tens of seconds or even longer. This increases the latency of the services provided by the terminal, thus affecting the user experience. To reduce the latency of services provided by terminals, several solutions have been proposed in related technologies, such as periodic verification or sampling verification. Periodic verification involves performing verification at fixed intervals, such as verifying the target file every minute. Sampling verification involves sampling the content of the target file and then verifying the sampled data; for example, before calling the target file, sampling 1 / 10 of its content and then verifying the sampled data. However, both periodic and sampling verification still have significant drawbacks. For example, with periodic verification, the target file might be replaced with a malicious file between verifications. After the file is called, the malicious file can be restored to the target file before a new verification, achieving the purpose of destruction without the malicious file being detected. Similarly, while sampling verification can reduce the time overhead of each verification, if the target file is replaced with a malicious file and the sampled data exactly matches the original content of the target file, the verification process is ineffective, resulting in inaccurate verification results. In other words, the solutions proposed in related technologies still cannot effectively reduce the latency of services provided by terminals while providing effective security verification.
[0090] To improve user experience by reducing verification overhead and latency while providing effective security verification, this application provides an information processing method, an information processing apparatus, a computer-readable storage medium, and a computer program product. In response to a call to a target object, the method first obtains the target object's storage path information, then searches for a target mapping relationship based on the storage path information. The target mapping relationship is a mapping between the target object's object description information identifier and the storage path information. Therefore, when a target mapping relationship is found, the target path information pointing to the object description information identifier can be determined. Next, path description information is obtained based on the target path information, and then the path description... The comparison results are obtained by comparing the information and the storage path information. Under normal circumstances, the path description information and the storage path information are consistent. If the target object is tampered with, the path description information will change, resulting in inconsistency between the path description information and the storage path information. Therefore, based on the comparison results between the path description information and the storage path information, it can be determined whether the target object has been tampered with, thereby determining whether to call the target object. It is not necessary to perform full verification of the target object before each call. Therefore, the solution provided by the embodiments of this application can reduce the overhead of verification processing and reduce the latency of services provided by the terminal while providing effective security verification, thereby improving the user experience.
[0091] Figure 1 This is a schematic diagram of an implementation environment provided in an embodiment of this application. (Refer to...) Figure 1 The implementation environment includes an operating terminal 101, a server 102, and an information processing device 103. The operating terminal 101 is communicatively connected to the server 102. The information processing device 103 can be located on either the operating terminal 101 or the server 102, depending on the actual application. This embodiment does not impose a specific limitation on this. Figure 1 The following description uses an example where the information processing device 103 is installed in the operating terminal 101. Furthermore, the operating terminal 101 and the server 102 can be nodes in a blockchain; this embodiment does not impose specific limitations on this.
[0092] The operating terminal 101 may include, but is not limited to, mobile phones, computers, smart voice interaction devices, smart home appliances, and vehicle terminals. Optionally, a service client is installed on the operating terminal 101, allowing users to access various services provided by the operating terminal 101 through the service client. When the information processing device 103 is installed on the operating terminal 101, the operating terminal 101 can, based on the user's operation through the service client to call a target object, invoke the information processing device 103 to perform verification processing on the target object and obtain a verification result, thereby determining whether to call the target object based on the verification result; or, when the information processing device 103 is installed on the server 102, the operating terminal 101 can, based on the user's operation through the service client to call a target object, send an operation instruction to the server 102 to call the target object, causing the server 102 to, based on the operation instruction, invoke the information processing device 103 to perform verification processing on the target object and obtain a verification result, and determine whether to call the target object based on the verification result.
[0093] Server 102 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms.
[0094] When the information processing device 103 is installed on the operation terminal 101, the operation terminal 101 has at least the following functions: obtaining the storage path information of the target object based on the user's operation of calling the target object through the service client; obtaining the path description information when the target mapping relationship is found; and determining whether to call the target object based on the path description information and the storage path information. For example, in response to the user's operation of calling the target object through the service client, it can obtain the storage path information of the target object, then find the target mapping relationship between the object description information identifier of the target object and the storage path information based on the storage path information. When the target mapping relationship is found, it determines the target path information pointing to the object description information identifier, then obtains the path description information based on the target path information, and then determines whether to call the target object based on the path description information and the storage path information.
[0095] When the information processing device 103 is installed on the server 102, the server 102 has at least the following functions: obtaining the storage path information of the target object according to the operation instruction for calling the target object sent by the operation terminal 101; obtaining the path description information when the target mapping relationship is found; and determining whether to call the target object based on the path description information and the storage path information. For example, in response to the operation instruction for calling the target object from the operation terminal 101, it can obtain the storage path information of the target object, then find the target mapping relationship between the object description information identifier of the target object and the storage path information based on the storage path information. When the target mapping relationship is found, it determines the target path information pointing to the object description information identifier, then obtains the path description information based on the target path information, and then determines whether to call the target object based on the path description information and the storage path information.
[0096] In one optional implementation, the operating terminal 101 is an in-vehicle terminal with a map client (i.e., a service client) installed, and the operating terminal 101 is equipped with an information processing device 103. In response to a user opening the map client in the in-vehicle terminal, the in-vehicle terminal initiates a call to the executable file (i.e., the target object) of the map client. In response to the call to the executable file, the information processing device 103 first obtains the storage path information of the executable file, then searches for the target mapping relationship between the object description information identifier of the executable file and the storage path information based on the storage path information. When the target mapping relationship is found, the information processing device 103 determines the target path information pointing to the object description information identifier, then obtains the path description information based on the target path information, and then obtains a processing result based on the path description information and the storage path information to determine whether to call the executable file. The processing result is then fed back to the in-vehicle terminal. In response to receiving the processing result, the in-vehicle terminal determines whether to open the map client based on the processing result.
[0097] In another optional implementation, the operating terminal 101 is a smartphone with an instant messaging client (i.e., a service client) installed, and the server 102 is a cloud server equipped with an information processing device 103. In response to a user requesting online music from a friend via the instant messaging client, the smartphone initiates a request to the cloud server for that online music (i.e., the target object). Upon receiving the request, the information processing device 103 in the cloud server first obtains the storage path information of the online music, then searches for the target mapping relationship between the object description information identifier and the storage path information based on the storage path information. When the target mapping relationship is found, the information processing device 103 determines the target path information pointing to the object description information identifier, then obtains the path description information based on the target path information, and then obtains a processing result based on the path description information and the storage path information to determine whether to call the online music. The processing result is then fed back to the smartphone. Upon receiving the processing result, the smartphone determines whether to play the online music based on the processing result.
[0098] Figure 2 This is a flowchart illustrating an information processing method provided in an embodiment of this application. In this embodiment, an information processing device is used as the executing entity for explanation. The information processing device can be located on an operating terminal or on a server. (Refer to...) Figure 2 The information processing method includes, but is not limited to, steps 110 to 160.
[0099] Step 110: In response to the call to the target object, obtain the storage path information of the target object.
[0100] It should be noted that the target object refers to the object that is expected to be invoked during the execution of a certain service. The target object can be different types of files, such as configuration files, executable files, or application files. Specifically, a configuration file is a file used to store configuration data and generally cannot be opened; an executable file is a file that can work with other related files to run a specific application; and an application file is a file that can be opened to display specific content, such as image files, music files, or document files.
[0101] It should be noted that when a target object is stored in a system (such as a Linux system), it corresponds to a storage path. This storage path information represents the target object's specific storage location within the system. Additionally, the system automatically maintains a path description corresponding to this storage path. When the target object is deleted, overwritten, or renamed, the automatically maintained path description changes. By comparing the target object's storage path information with the automatically maintained path description, it's possible to determine whether the target object has been deleted, overwritten, or renamed, thus identifying whether it has been maliciously tampered with. Therefore, in this step, when a call is initiated targeting the target object, the information processing device can respond to the call by obtaining the target object's storage path information, enabling subsequent steps to determine whether the target object has been maliciously tampered with.
[0102] In one feasible implementation, when the information processing device is located on the operating terminal, in this step, the information processing device can respond to the user's operation of calling the target object through the operating terminal and obtain the storage path information of the target object, so that subsequent steps can determine whether the target object has been maliciously tampered with based on the storage path information.
[0103] In another feasible implementation, when the information processing device is located on a server, in this step, the information processing device can respond to the operation instruction sent by the operation terminal to call the target object and obtain the storage path information of the target object, so that subsequent steps can determine whether the target object has been maliciously tampered with based on the storage path information.
[0104] Step 120: Find the target mapping relationship based on the storage path information.
[0105] It should be noted that the target mapping relationship is a mapping relationship between the object description information identifier of the target object and the storage path information. The object description information identifier is a pre-assigned character or symbol that describes the content of the target object, and there is a one-to-one correspondence between the object description information identifier and the target object. For different systems, the object description information identifier can be different information types. For example, for Linux systems, the object description information identifier can be a file descriptor; for Windows systems, the object description information identifier can be a handle.
[0106] It should be noted that the target mapping relationship can be pre-constructed. For example, an empty mapping can be pre-constructed by the process used to call the target object. Then, the object description information identifier and storage path information of the target object are obtained separately. Next, a target mapping relationship between the object description information identifier and the storage path information is established, and then this target mapping relationship is added to the empty mapping. Therefore, when it is necessary to find the target mapping relationship based on the storage path information, the existence of the target mapping relationship can be checked in the empty mapping. It should be noted that the empty mapping can be regarded as a mapping table. The newly constructed empty mapping is a blank mapping table, and mapping relationships can be added or deleted in the empty mapping.
[0107] In this step, since the target mapping relationship is the mapping relationship between the object description information identifier of the target object and the storage path information, and the object description information identifier is the character or symbol that describes the content of the target object, that is, the path description information automatically maintained by the system can be obtained based on the object description information identifier of the target object. Therefore, after obtaining the storage path information of the target object in step 110, the target mapping relationship can be found based on the storage path information, so that subsequent steps can obtain the path description information and determine whether the target object has been maliciously tampered with based on the path description information and the storage path information when the target mapping relationship is found.
[0108] Step 130: Once the target mapping relationship is found, determine the target path information pointing to the object description information identifier.
[0109] In this step, when the target mapping relationship is found based on the storage path information, it means that the system stores the object description information identifier of the target object, and a mapping relationship has been established in advance based on the object description information identifier and the storage path information. Therefore, the target path information pointing to the object description information identifier can be determined so that subsequent steps can obtain the path description information based on the target path information, and then determine whether the target object has been maliciously tampered with based on the path description information and the storage path information.
[0110] Step 140: Obtain path description information based on the target path information.
[0111] It should be noted that the path description information is automatically maintained by the system and is related to the storage path information of the target object. When a target object B is opened by a process with an identity document (ID) of P, the system generates an object description information identifier A corresponding to the target object B. At this time, the system automatically maintains a relationship description information related to the storage path information of the target object. For example, in a Linux system, the following relationship description information is automatically maintained: / proc / P / fd / A => storage path of B, where proc is the name of the system folder, fd is the name of the folder storing the object description information identifier A, / proc / P / fd / A is the target path information pointing to the object description information identifier A, and the storage path of B refers to the path description information automatically maintained by the system. Therefore, after the target path information pointing to the object description information identifier is determined in step 130, the path description information can be obtained based on the target path information and the description information automatically maintained by the system, so that subsequent steps can determine whether the target object has been maliciously tampered with based on the path description information and the storage path information.
[0112] Step 150: Compare the path description information and the stored path information to obtain the comparison result.
[0113] In this step, since the storage path information of the target object was obtained in step 110 and the path description information was obtained in step 140, the path description information and the storage path information can be compared to obtain a comparison result. This allows subsequent steps to determine whether the target object has been maliciously tampered with based on the comparison result, and thus determine whether to call the target object.
[0114] It should be noted that there are many different ways to compare the path description information and the stored path information, and this embodiment does not limit the specific implementation. For example, the content of the path description information and the content of the stored path information can be compared for consistency one by one; or, the hash value of the path description information and the hash value of the stored path information can be calculated using the MD5 algorithm or the SHA256 algorithm respectively, and then the hash value of the path description information and the hash value of the stored path information can be compared for consistency.
[0115] Step 160: Determine whether to call the target object based on the comparison results.
[0116] In this step, since the comparison result between the path description information and the storage path information was obtained in step 150, it is possible to determine whether the target object has been maliciously tampered with based on the comparison result, and thus determine whether to call the target object. For example, if the comparison result shows that the path description information and the storage path information are consistent, it can be assumed that the target object has not been maliciously tampered with, and therefore it can be determined that the target object can be called; conversely, if the comparison result shows that the path description information and the storage path information are inconsistent, it can be assumed that the target object has been maliciously tampered with, and therefore it can be determined that the target object cannot be called; and if the comparison result shows that the path description information and the storage path information are inconsistent, it can be assumed that the target object may have been maliciously tampered with. In this case, further verification processing can be performed on the target object, and then the decision on whether to call the target object can be made based on the verification result of the further verification processing.
[0117] In one feasible implementation, when it is determined that the target object has been maliciously tampered with and the target object is not invoked, the result that the target object has been maliciously tampered with can also be reported, so that the user can take relevant actions based on the result. For example, the way the target object was maliciously tampered with can be determined through manual investigation, thereby identifying the vulnerability of the service provided by the terminal, and then the vulnerability can be patched.
[0118] In this embodiment, by employing the information processing method including steps 110 to 160 above, before calling the target object, the storage path information of the target object is first obtained, and then the target mapping relationship is found based on the storage path information. The target mapping relationship is the mapping relationship between the object description information identifier of the target object and the storage path information. Therefore, when the target mapping relationship is found, the target path information pointing to the object description information identifier can be determined. Next, the path description information is obtained based on the target path information, and then the path description information and the storage path information are compared to obtain a comparison result. Under normal circumstances, the path description information and the storage path information are consistent. If the target object is tampered with, the path description information will change, causing inconsistency between the path description information and the storage path information. Therefore, based on the comparison result between the path description information and the storage path information, it is possible to determine whether the target object has been tampered with, thereby determining whether to call the target object. It is not necessary to perform verification processing on all the content of the target object before each call to the target object. Therefore, the overhead of verifying the target object can be reduced, the latency of the services provided by the terminal can be reduced, and the user experience can be improved.
[0119] Reference Figure 3 As shown in the embodiment of this application, step 160 is further described. Step 160 may include, but is not limited to, steps 161 and 162.
[0120] Step 161: When the comparison result shows that the path description information and the stored path information are consistent, determine the target object to be called;
[0121] Step 162: When the comparison result shows that the path description information and the stored path information are inconsistent, delete the target mapping relationship, perform verification processing on the target object to obtain the first verification result, and determine whether to call the target object based on the first verification result.
[0122] In this embodiment, when the comparison result shows that the path description information and the storage path information are consistent, it indicates that the target object has not been deleted, overwritten, or renamed. Therefore, it can be determined that the target object has not been maliciously tampered with, and thus, the target object can be invoked. When the comparison result shows that the path description information and the storage path information are inconsistent, it indicates that the target object may have been deleted, overwritten, or renamed. However, this does not necessarily mean that the target object has been maliciously tampered with. If a user performs normal deletion, overwriting, or renaming of the target object according to their legitimate permissions, it will also lead to inconsistencies between the path description information and the storage path information. Therefore, it is necessary to further determine whether the target object has been maliciously tampered with. Thus, in the case of inconsistencies between the path description information and the storage path information, the target mapping relationship can be deleted first, and then the target object can be verified to obtain a first verification result. Then, based on the first verification result, it can be determined whether the target object has been maliciously tampered with, and thus, whether the target object can be invoked.
[0123] It should be noted that if the path description information and the storage path information are inconsistent, deleting the target mapping relationship first can avoid repeated searches for the target mapping relationship and repeated comparisons of the path description information and the storage path information. This can reduce invalid verification operations and improve verification efficiency.
[0124] Reference Figure 4 As shown in the embodiment of this application, the first verification result obtained by verifying the target object in step 162 will be further explained. The first verification result obtained by verifying the target object may include, but is not limited to, steps 1621 and 1622.
[0125] Step 1621: Read all the contents of the target object.
[0126] In this step, when the comparison result shows that the path description information and the storage path information are inconsistent, in order to determine whether the target object has been maliciously tampered with, the entire content of the target object can be read first, so that subsequent steps can perform information verification processing on the entire content of the target object to determine whether the target object has been maliciously tampered with.
[0127] It's important to note that when reading the entire contents of a target object, you can first call the information retrieval function to open the target object, obtain its object description information identifier, and then read the entire contents of the target object based on this identifier. For example, assuming the target object is a configuration file in a Linux system, you can call the `open()` function (the information retrieval function) to open the configuration file, obtain its file descriptor (the object description information identifier), and then read the entire contents of the configuration file based on that file descriptor.
[0128] Step 1622: Perform information verification processing on all content of the target object to obtain the first verification result.
[0129] In this step, since all the content of the target object was read in step 1621, the information verification process of all the content of the target object can be performed to obtain the first verification result, so that subsequent steps can determine whether the target object has been maliciously tampered with based on the first verification result, and thus determine whether to call the target object.
[0130] It should be noted that the information verification processing of all content of the target object can be implemented in various ways, and this embodiment does not limit it in any particular way. For example, the MD5 algorithm or SHA256 algorithm can be used to calculate the checksum of all content of the target object (i.e., the first verification result), or the Cyclic Redundancy Check (CRC) algorithm can be used to calculate the checksum of all content of the target object step by step to obtain the checksum of all content of the target object (i.e., the first verification result).
[0131] It should be noted that checksums are used to verify the integrity and accuracy of data. The calculation process of checksum mainly includes: treating a set of data as a continuous data string, then dividing it into fixed-byte units in order from front to back to obtain a sequence of shorter sub-data. Then, these sub-data are added together, and after taking into account the effect of carry and performing a negation operation, the final data obtained is the checksum of the set of data.
[0132] Furthermore, in one embodiment of this application, the determination of whether to invoke the target object based on the first verification result in step 162 is further explained. Determining whether to invoke the target object based on the first verification result may include, but is not limited to, the following steps:
[0133] When the first verification result matches the first expected result, the target object is determined, and a new target mapping relationship is established based on the storage path information and object description information.
[0134] or,
[0135] If the first verification result does not meet the first expected result, it is determined not to call the target object.
[0136] It should be noted that the first expected result can be a pre-calculated data threshold. For example, if the target object is determined to be legitimate, the checksum of all the contents of the target object is calculated using the MD5 or SHA256 algorithm, and the resulting checksum is the first expected result.
[0137] In this embodiment, if the first verification result matches the first expected result, it indicates that the entire content of the current target object is still the entire content of a legitimate target object, and the current target object has not been maliciously tampered with. The inconsistency between the path description information and the storage path information is due to the user having previously performed normal deletion, overwriting, or renaming of the target object according to their legitimate permissions. Therefore, it can be determined that the target object should be invoked. Furthermore, since it has been determined that the target object has not been maliciously tampered with, a new target mapping relationship can be established based on the target object's current storage path information and object description information identifier. This allows subsequent verification processing to obtain the path description information based on the new target mapping relationship and determine whether to invoke the target object based on the path description information and the target object's current storage path information. This reduces the overhead of target object verification processing, reduces the latency of the terminal providing services, and thus improves the user experience. Moreover, if the first verification result does not match the first expected result, it indicates that the current target object has been maliciously tampered with. Therefore, it can be determined that the target object should not be invoked, avoiding significant risks caused by invoking a maliciously tampered target object and improving the security of the services provided by the terminal.
[0138] In one feasible implementation, when it is determined that the target object has been maliciously tampered with and the target object is not invoked, the result that the target object has been maliciously tampered with can also be reported, so that the user can take relevant actions based on the result. For example, the way the target object was maliciously tampered with can be determined through manual investigation, thereby identifying the vulnerability of the service provided by the terminal, and then the vulnerability can be patched.
[0139] Reference Figure 5 As shown in the embodiment of this application, step 130 is further described. Step 130 may include, but is not limited to, steps 131 to 133.
[0140] Step 131: Obtain the identification information of the process used to invoke the target object.
[0141] It should be noted that when a target object is opened by a process, the system not only generates an object description information identifier corresponding to the target object, but also automatically maintains a relationship description information related to the storage path information of the target object. This relationship description information includes the target path information pointing to the object description information identifier, and the target path information includes the process's identifier information. Therefore, in this step, when it is necessary to determine the target path information pointing to the object description information identifier, the identifier information of the process used to call the target object can be obtained first, so that subsequent steps can obtain the target path information pointing to the object description information identifier based on the process's identifier information.
[0142] It's important to note that in the system, each process has a unique process ID (i.e., process identification information) represented by a non-negative integer. The process ID cannot be modified at the user level. There are various types of processes in the system, each with a different process ID. For example, in Linux, the process with process ID 0 is usually the scheduling process, often called the swapping process, and is the first system process in Linux. Additionally, the first user process in Linux is the init process, with a process ID of 1. After the Linux kernel starts (e.g., it has been loaded into memory, started running, and initialized all device drivers and data structures), the kernel portion of the boot process can be completed by starting the init process.
[0143] Step 132: Call the information retrieval function to open the target object and obtain the object description information identifier.
[0144] In this step, since it's necessary to determine the target path information pointing to the object description information identifier, we can first call the information retrieval function to open the target object, and then obtain the object description information identifier. This allows subsequent steps to obtain the target path information pointing to the object description information identifier based on this identifier. To illustrate with a concrete example, assuming a Linux system, the information retrieval function can be the `open()` function. Therefore, when calling the information retrieval function to open the target object to obtain the object description information identifier, we can call the `open()` function to open the target object, thereby obtaining the target object's object description information identifier (e.g., a file descriptor).
[0145] Step 133: Generate target path information pointing to the object description information identifier based on the identifier information and the object description information identifier.
[0146] In this step, since the process identification information was obtained in step 131 and the object description information identifier was obtained in step 132, a target path pointing to the object description information identifier can be generated based on this identification information and the object description information identifier. This allows subsequent steps to obtain the path description information based on the target path information, and further, to determine whether the target object has been maliciously tampered with based on the path description information and the storage path information. To illustrate with a specific example, suppose in a Linux system, the process identification information used to call the target object is P, and the object description information identifier of the target object is A. Then, the target path information pointing to the object description information identifier generated based on the identification information and the object description information identifier is / proc / P / fd / A, where proc is the name of the system folder, and fd is the name of the folder storing the object description information identifier A.
[0147] Reference Figure 6 As shown in the embodiment of this application, step 140 is further described. Step 140 may include, but is not limited to, steps 141 to 143.
[0148] Step 141: Call the path retrieval function;
[0149] Step 142: Input the target path information into the path acquisition function and obtain the return result of the path acquisition function;
[0150] Step 143: Obtain the path description information based on the returned results.
[0151] In this embodiment, since the path description information is automatically maintained by the system, when it is necessary to obtain the path description information based on the target path information, the path retrieval function can be called first. Then, the target path information can be input into the path retrieval function as an input parameter, and the return result of the path retrieval function can be obtained. The path description information can then be obtained based on this return result. It should be noted that when the path retrieval function executes successfully, the return result is the path description information, and therefore, the path description information can be obtained based on this return result. When the path retrieval function fails, the return result will be a failure message, such as the string "FALSE". In this case, it indicates that there may be a problem with the system that prevents the path description information from being obtained based on the target path information. That is, it is impossible to determine whether to call the target object based on the comparison result between the path description information and the stored path information. In this situation, to ensure the security of the services provided by the terminal, it can be determined not to call the target object.
[0152] To illustrate the process of obtaining path description information, let's take a concrete example. Suppose that in a Linux system, the target path information pointing to the object description information identifier is determined to be / proc / P / fd / A. Then, the readlink() function (i.e., the path acquisition function) can be called, with / proc / P / fd / A as the input parameter to the readlink() function. This allows the readlink() function to read the "storage path of B" (i.e., the path description information) from the relation description information " / proc / P / fd / A => storage path of B".
[0153] Reference Figure 7 As shown in the embodiment of this application, the information processing method is further described. The information processing method may also include, but is not limited to, steps 170 to 190.
[0154] Step 170: If no target mapping relationship can be found, read all the contents of the target object.
[0155] In this step, if the target mapping relationship cannot be found based on the storage path information, it means that a mapping relationship was not established beforehand based on the object description information identifier and the storage path information of the target object. Alternatively, it can be assumed that the target object has not been validated beforehand (because if the target object has been validated, a mapping relationship between the object description information identifier and the storage path information will be established). Therefore, all the contents of the target object can be read first so that subsequent steps can perform information validation on all the contents of the target object to determine whether to call the target object.
[0156] It's important to note that when reading the entire contents of a target object, you can first call the information retrieval function to open the target object, obtain its object description information identifier, and then read the entire contents of the target object based on this identifier. For example, assuming the target object is a configuration file in a Linux system, you can call the `open()` function (the information retrieval function) to open the configuration file, obtain its file descriptor (the object description information identifier), and then read the entire contents of the configuration file based on that file descriptor.
[0157] Step 180: Perform information verification processing on all content of the target object to obtain the second verification result.
[0158] In this step, since all the content of the target object was read in step 170, the entire content of the target object can be verified to obtain a second verification result, so that subsequent steps can determine whether to call the target object based on the second verification result.
[0159] It should be noted that the information verification processing of all content of the target object can be implemented in various ways, and this embodiment does not limit it in any particular way. For example, the MD5 algorithm or SHA256 algorithm can be used to calculate the checksum of all content of the target object (i.e., the second verification result), or the CRC algorithm can be used to calculate the checksum of all content of the target object step by step to obtain the checksum of all content of the target object (i.e., the second verification result).
[0160] Step 190: Determine whether to call the target object based on the second verification result.
[0161] In this step, since the second verification result was obtained in step 180, it can be used to determine whether to call the target object. For example, if the second verification result matches the preset expected result, it means that the target object has not been maliciously tampered with, so it can be determined that the target object should be called; conversely, if the second verification result does not match the preset expected result, it means that the target object has been maliciously tampered with, so it can be determined that the target object should not be called.
[0162] In addition, one embodiment of this application further describes step 190, which may include, but is not limited to, the following steps:
[0163] When the second verification result matches the second expected result, the target object is determined, and a target mapping relationship is established based on the storage path information and object description information.
[0164] or,
[0165] If the second verification result does not meet the second expected result, it is determined not to call the target object.
[0166] It should be noted that the second expected result can be a pre-calculated data threshold (i.e., a preset expected result). For example, if the target object is determined to be legitimate in advance, the checksum of all the contents of the target object is calculated using the MD5 algorithm or the SHA256 algorithm, and the resulting checksum is the second expected result.
[0167] In this embodiment, if the second verification result matches the second expected result, it indicates that all content of the target object is legitimate and has not been maliciously tampered with. Therefore, it can be determined whether to call the target object. Furthermore, since it is determined that the target object has not been maliciously tampered with, a target mapping relationship can be established based on the target object's current storage path information and object description information identifier. This allows subsequent verification processing to obtain path description information based on the target mapping relationship and determine whether to call the target object based on the path description information and the target object's current storage path information. This reduces the overhead of target object verification processing, lowers the latency of services provided by the terminal, and improves the user experience. Moreover, if the second verification result does not match the second expected result, it indicates that the target object has been maliciously tampered with. Therefore, it can be determined not to call the target object, avoiding significant risks caused by calling a maliciously tampered target object and improving the security of services provided by the terminal.
[0168] In one feasible implementation, when it is determined that the target object has been maliciously tampered with and the target object is not invoked, the result that the target object has been maliciously tampered with can also be reported, so that the user can take relevant actions based on the result. For example, the way the target object was maliciously tampered with can be determined through manual investigation, thereby identifying the vulnerability of the service provided by the terminal, and then the vulnerability can be patched.
[0169] Reference Figure 8 As shown in the embodiment of this application, the information verification process in step 1622 or step 180 will be further described. The information verification process may include, but is not limited to, steps 210 and 220.
[0170] Step 210: Determine the target verification algorithm based on the target object.
[0171] It should be noted that different target objects will have different amounts of data. For target objects with different amounts of data, different verification algorithms will have different verification efficiency and accuracy. Therefore, in order to improve the verification efficiency and accuracy of target objects, in this step, we can first determine the target verification algorithm based on the target object, so that subsequent steps can use the target verification algorithm to verify all the content of the target object.
[0172] It should be noted that the target verification algorithm determined based on the target object can be different, such as MD5, SHA256, CRC, or other modern verification algorithms.
[0173] Step 220: Calculate the checksum of all contents of the target object using the target check algorithm.
[0174] In this step, since the target verification algorithm was determined based on the target object in step 210, the target verification algorithm can be used to calculate the verification sum of all the contents of the target object, thereby achieving the purpose of information verification processing of all the contents of the target object.
[0175] In one feasible implementation, a target verification algorithm is used to calculate the checksum of all content of the target object. The specific steps are as follows: First, treat all content of the target object as a continuous data string. Then, divide the data string into two-byte units in a sequential order, obtaining a sequence of several 16-bit bit strings. Next, perform a two's complement sum operation on these bit strings to obtain the result. Finally, take the inverse complement of the result to obtain the checksum of all content of the target object. The two's complement sum operation is an addition operation with cyclic carry; when a carry is needed from the highest bit, the carry from the highest bit must be carried over to the lowest bit.
[0176] Reference Figure 9 As shown in the embodiment of this application, step 210 will be further described. Step 210 may include, but is not limited to, steps 211 and 212.
[0177] Step 211: Obtain the data volume of the target object;
[0178] Step 212: Determine the target verification algorithm based on the amount of data.
[0179] It should be noted that different verification algorithms have varying verification efficiency and accuracy for target objects with different data volumes. Therefore, in this embodiment, when determining the target verification algorithm based on the target object, the data volume of the target object can be obtained first, and then the target verification algorithm can be determined based on the data volume. For example, when the data volume of the target object is less than a preset data volume threshold, it can be considered that the content of the target object is not large, and directly performing verification calculations on all the content of the target object will not reduce the efficiency and accuracy of the verification process. Therefore, the target verification algorithm can be determined to be the MD5 algorithm or the SHA256 algorithm. Conversely, when the data volume of the target object is greater than or equal to the preset data volume threshold, it can be considered that the content of the target object is relatively large, and directly performing verification calculations on all the content of the target object may reduce the efficiency and accuracy of the verification process. Therefore, the target verification algorithm can be determined to be the CRC algorithm. It should be noted that the CRC algorithm is used to progressively read portions of the target object's content and calculate the checksum.
[0180] Furthermore, in one embodiment of this application, the information processing method is further described as follows: when the target object is an executable file, before obtaining the storage path information of the target object in step 110, the information processing method may also include, but is not limited to, the following steps:
[0181] Determine the process used to call the executable file;
[0182] Stop the process that calls the executable file.
[0183] It should be noted that when the target object is an executable file, if the executable file is called by a related process before the verification process of the executable file is completed, it will not only affect the effective verification process of the executable file, but may even lead to significant risks due to the call to a maliciously tampered executable file. In order to solve these problems, in this embodiment, before obtaining the storage path information of the executable file, the process used to call the executable file is first determined, and then the execution of the process used to call the executable file is stopped, so as to prevent the process from calling the executable file before completing the verification process of the executable file, thereby improving the security of the services provided by the terminal.
[0184] To more clearly illustrate the processing flow of the information processing method provided in the embodiments of this application, specific examples are given below.
[0185] Research and analysis have shown that, for example, in a Linux system, each target object B opened by a process with process ID P will have a corresponding object description information identifier A. At this time, the Linux kernel will automatically maintain the following relationship description information: / proc / P / fd / A => storage path of B. If target object B is renamed to X, the Linux kernel will automatically change the relational description " / proc / P / fd / A=>B's storage path" to " / proc / P / fd / A=>X's storage path". If target object B is deleted or overwritten, the Linux kernel will automatically change the relational description " / proc / P / fd / A=>B's storage path" to " / proc / P / fd / A=>B's storage path (deleted)", indicating that target object B no longer exists or is no longer stored in the storage path described in the relational description. If target object B is moved to another path C, the Linux kernel will automatically change the relational description " / proc / P / fd / A=>B's storage path" to " / proc / P / fd / A=>B's storage path (deleted)", indicating that target object B no longer exists or is no longer stored in the storage path described in the relational description. Based on the above research and analysis, it can be seen that the Linux kernel can detect any changes to the target object B. In other words, when it is necessary to verify the target object B, it is only necessary to verify all the contents of the target object B when it is first called, or when the target object B has been modified. At other times, it is only necessary to compare the storage path information of the target object B with the relationship description information maintained by the Linux kernel to determine whether the target object B has been changed (e.g., maliciously tampered with).
[0186] Based on the conclusions drawn from the above research and analysis, a method for quickly determining whether a target object has been maliciously tampered with can be obtained. This method can reduce the overhead of verification processing, reduce the latency of services provided by the terminal, and thus improve the user experience.
[0187] like Figure 10 As shown, Figure 10 This is a flowchart illustrating a specific example of an information processing method provided in this application, which is derived based on the conclusions drawn from the aforementioned research and analysis. Figure 10 In this process, the information processing method includes steps 301 to 312.
[0188] Step 301: In response to the call to target object B, obtain the storage path information S of target object B;
[0189] Step 302: Based on the storage path information S, find the target mapping relationship S→A between the storage path information S and the object description information identifier A;
[0190] Step 303: Determine whether the target mapping relationship S→A has been found. If not, proceed to step 304; otherwise, proceed to step 308.
[0191] Step 304: Call the open() function to open the target object B and obtain the object description information identifier A of the target object B;
[0192] Step 305: Read all the contents of target object B through object description information identifier A, and perform verification processing on all the contents of target object B to obtain the verification result;
[0193] Step 306: Check if the verification result meets the expected result. If yes, proceed to step 307; otherwise, proceed to step 312.
[0194] Step 307: Establish the target mapping relationship S→A based on the storage path information S and the object description information identifier A, and then jump to step 311;
[0195] Step 308: Obtain the identification information P of the process used to call the target object B, and generate the target path information / proc / P / fd / A pointing to the object description information A based on the identification information P and the object description information A. Then, obtain the path description information T based on the target path information / proc / P / fd / A and the readlink() function.
[0196] Step 309: Determine whether the stored path information S and the path description information T are consistent. If yes, proceed to step 311; otherwise, proceed to step 310.
[0197] Step 310: Delete the target mapping relationship S→A and jump to step 302;
[0198] Step 311: Normally call target object B and end this method flow;
[0199] Step 312: Reject the call to target object B and end this method flow.
[0200] By employing the information processing method including steps 301 to 312 above, not only can effective security verification of the target object be provided, but also the entire content of the target object only needs to be verified when the target object is first called, and when further confirmation of whether the target object has been maliciously tampered with is required due to inconsistencies between the storage path information and the path description information. At other times, it is only necessary to compare the storage path information and the path description information to determine whether the target object B has been maliciously tampered with. This reduces the overhead of verification processing, reduces the latency of services provided by the terminal, and thus improves the user experience.
[0201] Reference Figure 11 This application also discloses an information processing device, which 400 is capable of functioning as such Figure 1 The information processing apparatus 103 in the illustrated embodiment implements the information processing method as described in the preceding embodiments. The information processing apparatus 400 includes:
[0202] The path acquisition unit 401 is used to acquire the storage path information of the target object in response to a call to the target object;
[0203] The mapping lookup unit 402 is used to look up the target mapping relationship based on the storage path information, wherein the target mapping relationship is the mapping relationship between the object description information identifier of the target object and the storage path information;
[0204] The path determination unit 403 is used to determine the target path information pointing to the object description information identifier when the target mapping relationship is found;
[0205] Information acquisition unit 404 is used to acquire path description information based on target path information;
[0206] The information comparison unit 405 is used to compare the path description information and the stored path information to obtain a comparison result;
[0207] The judgment unit 406 is invoked to determine whether to invoke the target object based on the comparison result.
[0208] In one embodiment, the invocation judgment unit 406 includes:
[0209] The first processing unit is used to determine the target object to be called when the comparison result shows that the path description information and the stored path information are consistent.
[0210] The second processing unit is used to delete the target mapping relationship, perform verification processing on the target object to obtain the first verification result, and determine whether to call the target object based on the first verification result when the comparison result shows that the path description information and the stored path information are inconsistent.
[0211] In one embodiment, the second processing unit includes:
[0212] The first reading unit is used to read all the contents of the target object;
[0213] The first verification unit is used to perform information verification processing on all the contents of the target object to obtain the first verification result.
[0214] In one embodiment, the second processing unit further includes:
[0215] The first judgment unit is used to determine the target object to be called when the first verification result meets the first expected result, and to establish a new target mapping relationship based on the storage path information and object description information.
[0216] or,
[0217] The second judgment unit is used to determine not to call the target object when the first verification result does not meet the first expected result.
[0218] In one embodiment, the path determination unit 403 includes:
[0219] The first acquisition unit is used to acquire the identification information of the process used to invoke the target object;
[0220] The first calling unit is used to call the information retrieval function to open the target object and obtain the object description information identifier;
[0221] The path splicing unit is used to generate target path information pointing to the object description information identifier based on the identifier information and the object description information identifier.
[0222] In one embodiment, the information acquisition unit 404 includes:
[0223] The second calling unit is used to call the path retrieval function;
[0224] The function calculation unit is used to input the target path information into the path acquisition function and obtain the return result output by the path acquisition function;
[0225] The second acquisition unit is used to obtain path description information based on the returned results.
[0226] In one embodiment, the information processing device 400 further includes:
[0227] The second reading unit is used to read all the contents of the target object when the target mapping relationship cannot be found.
[0228] The second verification unit is used to perform information verification processing on all the contents of the target object to obtain the second verification result;
[0229] The third processing unit is used to determine whether to call the target object based on the second verification result.
[0230] In one embodiment, the third processing unit includes:
[0231] The third judgment unit is used to determine the target object to be called when the second verification result meets the second expected result, and to establish a target mapping relationship based on the storage path information and object description information.
[0232] or,
[0233] The fourth judgment unit is used to determine not to call the target object when the second verification result does not meet the second expected result.
[0234] In one embodiment, the first reading unit and the second reading unit respectively include:
[0235] The third calling unit is used to call the information retrieval function to open the target object and obtain the object description information identifier;
[0236] The third reading unit is used to read all the contents of the target object based on the object description information.
[0237] In one embodiment, the first verification unit and the second verification unit respectively include:
[0238] The algorithm determination unit is used to determine the target verification algorithm based on the target object.
[0239] The verification calculation unit is used to perform a verification sum calculation on all contents of the target object using the target verification algorithm.
[0240] In one embodiment, the algorithm determination unit includes:
[0241] Capacity acquisition unit, used to acquire the data volume of the target object;
[0242] The algorithm determines the sub-unit, which is used to determine the target verification algorithm based on the amount of data.
[0243] In one embodiment, the target object is an executable file, and the information processing device 400 further includes:
[0244] The process determination unit is used to determine the process that will call the executable file.
[0245] The stop execution unit is used to stop the execution of the process that calls the executable file.
[0246] It should be noted that since the information processing device 400 of this embodiment can implement the information processing method with the information processing device as the execution subject in the previous embodiment, the information processing device 400 of this embodiment has the same technical principle and the same beneficial effect as the information processing method with the information processing device as the execution subject in the previous embodiment. To avoid repetition, it will not be described again here.
[0247] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.
[0248] Reference Figure 12 This application also discloses an information processing apparatus 500, which includes:
[0249] At least one processor 501;
[0250] At least one memory 502 is used to store at least one program;
[0251] When at least one program is executed by at least one processor 501, the information processing method as described in any of the preceding embodiments is implemented.
[0252] This application also discloses a computer-readable storage medium storing a processor-executable program, which, when executed by a processor, is used to implement the information processing method as described in any of the preceding embodiments.
[0253] This application also discloses a computer program product, including a computer program or computer instructions, which are stored in a computer-readable storage medium. The processor of a computer device reads the computer program or computer instructions from the computer-readable storage medium and executes the computer program or computer instructions, causing the computer device to perform the information processing method as described in any of the preceding embodiments.
[0254] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented, for example, in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatuses.
[0255] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.
[0256] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, apparatuses, or units, and may be electrical, mechanical, or other forms.
[0257] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0258] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0259] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0260] The step numbers in the above method embodiments are set only for ease of explanation and do not limit the order of the steps. The execution order of each step in the embodiments can be adaptively adjusted according to the understanding of those skilled in the art.
Claims
1. An information processing method, characterized in that, Includes the following steps: In response to a call to the target object, the storage path information of the target object is obtained; The target mapping relationship is found based on the storage path information, wherein the target mapping relationship is a mapping relationship between the object description information identifier of the target object and the storage path information, the object description information identifier is a pre-assigned character or symbol that describes the content of the target object, and the object description information identifier has a one-to-one correspondence with the target object; When the target mapping relationship is found, the identification information of the process used to call the target object is obtained, the information acquisition function is called to open the target object, the object description information identifier is obtained, and the target path information pointing to the object description information identifier is generated based on the identification information and the object description information identifier. Obtain path description information based on the target path information; The path description information and the storage path information are compared to obtain a comparison result; The decision to invoke the target object is made based on the comparison results.
2. The information processing method according to claim 1, characterized in that, Determining whether to invoke the target object based on the comparison result includes: When the comparison result shows that the path description information and the storage path information are consistent, it is determined that the target object will be invoked; When the comparison result shows that the path description information and the storage path information are inconsistent, the target mapping relationship is deleted, the target object is verified to obtain a first verification result, and the target object is called based on the first verification result.
3. The information processing method according to claim 2, characterized in that, The step of performing verification processing on the target object to obtain a first verification result includes: Read all contents of the target object; The first verification result is obtained by performing information verification processing on all contents of the target object.
4. The information processing method according to claim 2, characterized in that, The step of determining whether to invoke the target object based on the first verification result includes: When the first verification result matches the first expected result, the target object is determined to be invoked, and a new target mapping relationship is established based on the storage path information and the object description information. or, If the first verification result does not meet the first expected result, it is determined that the target object will not be invoked.
5. The information processing method according to claim 1, characterized in that, The step of obtaining path description information based on the target path information includes: Call the path retrieval function; The target path information is input into the path acquisition function to obtain the return result output by the path acquisition function; The path description information is obtained based on the returned result.
6. The information processing method according to claim 1, characterized in that, The information processing method further includes: If the target mapping relationship cannot be found, read all the contents of the target object; A second verification result is obtained by performing information verification processing on all contents of the target object; Whether to invoke the target object is determined based on the second verification result.
7. The information processing method according to claim 6, characterized in that, The step of determining whether to invoke the target object based on the second verification result includes: When the second verification result matches the second expected result, the target object is determined to be invoked, and the target mapping relationship is established based on the storage path information and the object description information. or, If the second verification result does not meet the second expected result, it is determined that the target object will not be invoked.
8. The information processing method according to claim 3 or 6, characterized in that, Reading all the contents of the target object includes: Call the information retrieval function to open the target object and obtain the object description information identifier; Read all the contents of the target object based on the object description information.
9. The information processing method according to claim 3 or 6, characterized in that, The information verification process specifically includes the following steps: Determine the target verification algorithm based on the target object; The target verification algorithm is used to calculate the checksum of all contents of the target object.
10. The information processing method according to claim 9, characterized in that, The step of determining the target verification algorithm based on the target object includes: Obtain the data volume of the target object; The target verification algorithm is determined based on the amount of data.
11. The information processing method according to claim 1, characterized in that, The target object is an executable file. Before obtaining the storage path information of the target object, the information processing method further includes: Determine the process used to invoke the executable file; Stop the process that calls the executable file.
12. An information processing device, characterized in that, include: The path acquisition unit is used to acquire the storage path information of the target object in response to a call to the target object; The mapping lookup unit is used to look up the target mapping relationship based on the storage path information, wherein the target mapping relationship is a mapping relationship between the object description information identifier of the target object and the storage path information, the object description information identifier is a pre-assigned character or symbol that describes the content of the target object, and the object description information identifier has a one-to-one correspondence with the target object; The path determination unit is used to, when the target mapping relationship is found, obtain the identification information of the process used to call the target object, call the information acquisition function to open the target object, obtain the object description information identifier, and generate target path information pointing to the object description information identifier based on the identification information and the object description information identifier; The information acquisition unit is used to acquire path description information based on the target path information; An information comparison unit is used to compare the path description information and the stored path information to obtain a comparison result; The judgment unit is invoked to determine whether to invoke the target object based on the comparison result.
13. An information processing device, characterized in that, include: At least one processor; At least one memory for storing at least one program; The information processing method as described in any one of claims 1 to 11 is implemented when at least one of the programs is executed by at least one of the processors.
14. A computer-readable storage medium, characterized in that, It stores a processor-executable program, which, when executed by a processor, is used to implement the information processing method as described in any one of claims 1 to 11.
15. A computer program product, comprising a computer program or computer instructions, characterized in that, The computer program or the computer instructions are stored in a computer-readable storage medium, the processor of the computer device reads the computer program or the computer instructions from the computer-readable storage medium, and the processor executes the computer program or the computer instructions, causing the computer device to perform the information processing method as described in any one of claims 1 to 11.
Citation Information
Patent Citations
Loophole attack prevention method, device and system
CN104468632A
Mapping information refreshing system and method for locator / identifier separation protocol
TW201521391A
