JAVA service application implementation method, device, electronic device and readable medium
Through deep security algorithms, the high security risks faced by JAVA service applications are solved and higher security and compatibility are achieved.
Patent Information
- Application Number
- CN202111631497.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-28
- Publication Date
- 2025-04-22
- Estimated Expiration
- 2041-12-28
AI Technical Summary
JAVA service applications face high security risks in open customer system environments, and existing technologies are difficult to effectively solve this problem.
Through deep security algorithms, the running scripts, system configuration information and compilation packages of the JAVA service application are encapsulated into run commands, file interfaces and JVM Agents, respectively, to hide the application's structure information, and encrypt the running status information after the application is started.
It significantly improves the security of JAVA service applications, reduces security risks, and enhances the ease of use, stability and compatibility of applications.
Smart Images

Figure CN114443013B_ABST
Abstract
Description
Background Art
[0002] At present, JAVA is one of the most widely used technical languages in the computer field, with the technical characteristics of simplicity, efficiency and strong compatibility. According to the annual reports of Github, the world's largest computer technology open source community, JAVA has always been in the top three of the world's programming language rankings. With the rapid development of JAVA, various analysis and cracking technologies around JAVA applications have emerged in an endless stream.
[0003] Among related technologies, JAVA service applications are widely used in computer-related fields, especially in the cloud computing industry, but the main application scenario is to build business systems. The operating environment is relatively closed and the security risks are relatively low.
[0004] However, in recent years, the application scenarios of JAVA services have changed. Various ToB service industries, especially the cloud computing industry, need to deploy JAVA service applications directly in the customer's system environment. The execution environment is diverse and highly open, and JAVA service applications will face any possible security risks.
[0005] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute the prior art known to ordinary technicians in the field. Summary of the invention
[0006] The purpose of the present disclosure is to provide a method, device, electronic device and readable medium for implementing a JAVA service application, so as to at least overcome the problem of high security risk of JAVA service applications caused by limitations and defects of related technologies to a certain extent.
[0007] According to a first aspect of an embodiment of the present disclosure, a method for implementing a JAVA service application is provided, comprising: determining a running script, system configuration information and a compilation package included in static code information of an application; encapsulating the running script, the system configuration information and the compilation package into a running command, a file interface and a JVM Agent respectively through a deep security algorithm to hide the structural information of the application; and encrypting the running status information of the application after startup through the deep security algorithm.
[0008] In an exemplary embodiment of the present disclosure, the running script, the system configuration information and the compilation package are respectively encapsulated into a running command, a file interface and a JVM Agent through a deep security algorithm to hide the structural information of the application, including: running the running script as a subprocess through the deep security algorithm, and the trajectory information generated by the running script during the running process is monitored by the main process corresponding to the subprocess; encrypting the environment variables and running parameter information of the application; passing the encrypted environment variables and the running parameter information to the startup agent corresponding to the deep security algorithm; encapsulating the running script into the running command through the startup agent; encapsulating the system configuration information and the compilation package into the file interface and the JVM Agent respectively.
[0009] In an exemplary embodiment of the present disclosure, the running script, the system configuration information and the compilation package are respectively encapsulated into a running command, a file interface and a JVM Agent through a deep security algorithm to hide the structural information of the application, which also includes: encapsulating the system configuration information into the file interface through the deep security algorithm, and the file interface supports identity authentication and / or editing of the system configuration information; encapsulating the running script and the compilation package into the running command and the JVM Agent through a deep security algorithm.
[0010] In an exemplary embodiment of the present disclosure, the running script, the system configuration information and the compilation package are respectively encapsulated into a running command, a file interface and a JVM Agent through a deep security algorithm to hide the structural information of the application, which also includes: encrypting the compilation package into the JVM Agent through the deep security algorithm with a built-in key; and encapsulating the running script and the system configuration information into the running command and the file interface through a deep security algorithm.
[0011] In an exemplary embodiment of the present disclosure, encrypting the running status information of the application after startup through the deep security algorithm includes: after detecting that the application is started, determining the process information included in the running status information; generating the JDK launcher of the JAVA service application through the deep security algorithm; encrypting the process information into hidden information through the JDK launcher; and setting the Proc directory of the Linux system corresponding to the application to an inaccessible state.
[0012] In an exemplary embodiment of the present disclosure, encrypting the running status information after the application is started by the deep security algorithm also includes: after detecting that the application is started, determining the memory status included in the running status information; and shielding external tools from debugging specified memory information in the above memory status by the deep security algorithm.
[0013] In an exemplary embodiment of the present disclosure, encrypting the running status information after the application is started by the deep security algorithm also includes: after detecting that the application is started, determining the system log included in the running status information; determining the log plug-in corresponding to the system log; and encrypting the log plug-in based on the Apache log4j library.
[0014] According to a second aspect of an embodiment of the present disclosure, there is provided an implementation device for a JAVA service application, comprising: a determination module, configured to determine a running script, system configuration information and a compilation package included in static code information of an application; an encapsulation module, configured to encapsulate the running script, the system configuration information and the compilation package into a running command, a file interface and a JVM Agent respectively through a deep security algorithm to hide structural information of the application; and an encryption module, configured to encrypt running status information of the application after startup through the deep security algorithm.
[0015] According to a third aspect of the present disclosure, there is provided an electronic device, comprising: a memory; and a processor coupled to the memory, wherein the processor is configured to execute any one of the methods described above based on instructions stored in the memory.
[0016] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided, on which a program is stored, and when the program is executed by a processor, the method for implementing a JAVA service application as described in any one of the above items is implemented.
[0017] The disclosed embodiment determines the running script, system configuration information and compilation package included in the static code information of the application, and encapsulates the running script, the system configuration information and the compilation package into a running command, a file interface and a JVM Agent respectively through a deep security algorithm to hide the structural information of the application, and then encrypts the running status information of the application after startup through the deep security algorithm, thereby improving the security, usability, stability and compatibility of the JAVA service application.
[0018] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The accompanying drawings herein are incorporated into the specification and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification are used to explain the principles of the present disclosure. Obviously, the accompanying drawings described below are only some embodiments of the present disclosure, and for ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without creative work.
[0020] Figure 1 A schematic diagram showing an exemplary system architecture of an implementation scheme of a JAVA service application to which an embodiment of the present invention can be applied;
[0021] Figure 2 is a flow chart of a method for implementing a JAVA service application in an exemplary embodiment of the present disclosure;
[0022] Figure 3 is a flowchart of another method for implementing a JAVA service application in an exemplary embodiment of the present disclosure;
[0023] Figure 4 is a flowchart of another method for implementing a JAVA service application in an exemplary embodiment of the present disclosure;
[0024] Figure 5 is a flowchart of another method for implementing a JAVA service application in an exemplary embodiment of the present disclosure;
[0025] Figure 6 is a flowchart of another method for implementing a JAVA service application in an exemplary embodiment of the present disclosure;
[0026] Figure 7 is a flowchart of another method for implementing a JAVA service application in an exemplary embodiment of the present disclosure;
[0027] Figure 8 is a flowchart of another method for implementing a JAVA service application in an exemplary embodiment of the present disclosure;
[0028] Fig. 9 is a flow chart of an implementation scheme of a JAVA service application in an exemplary embodiment of the present disclosure;
[0029] Fig.10 It is a schematic diagram of a deep security solution in a method for implementing a JAVA service application in an exemplary embodiment of the present disclosure;
[0030] Fig.11 It is a schematic diagram of a deep security solution in another implementation method of a JAVA service application in an exemplary embodiment of the present disclosure;
[0031] Fig.12It is a schematic diagram of a deep security solution in another implementation method of a JAVA service application in an exemplary embodiment of the present disclosure;
[0032] Fig.13 is a block diagram of a device for implementing a JAVA service application in an exemplary embodiment of the present disclosure;
[0033] Fig.14 is a block diagram of an electronic device in an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION
[0034] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as being limited to the examples set forth herein; on the contrary, these embodiments are provided so that the present disclosure will be more comprehensive and complete, and the concepts of the example embodiments are fully conveyed to those skilled in the art. The described features, structures, or characteristics may be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present disclosure. However, those skilled in the art will appreciate that the technical solutions of the present disclosure may be practiced while omitting one or more of the specific details, or other methods, components, devices, steps, etc. may be adopted. In other cases, known technical solutions are not shown or described in detail to avoid obscuring various aspects of the present disclosure.
[0035] In addition, the accompanying drawings are only schematic diagrams of the present disclosure, and the same reference numerals in the drawings represent the same or similar parts, so their repeated description will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities, which do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software form, or implemented in one or more hardware modules or integrated circuits, or implemented in different networks and / or processor devices and / or microcontroller devices.
[0036] Figure 1 A schematic diagram showing an exemplary system architecture of an implementation solution of a JAVA service application to which an embodiment of the present invention can be applied.
[0037] like Figure 1 As shown, the system architecture 100 may include one or more of terminal devices 101, 102, 103, a network 104, and a server 105. The network 104 is used to provide a medium for communication links between the terminal devices 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired, wireless communication links, or optical fiber cables, etc.
[0038] It should be understood that Figure 1The number of terminal devices, networks and servers in the embodiment is only for illustration. According to the implementation requirements, there may be any number of terminal devices, networks and servers. For example, the server 105 may be a server cluster composed of multiple servers.
[0039] Users can use terminal devices 101, 102, 103 to interact with server 105 through network 104 to receive or send messages, etc. Terminal devices 101, 102, 103 can be various electronic devices with display screens, including but not limited to smart phones, tablet computers, portable computers, desktop computers, etc.
[0040] In some embodiments, the implementation method of the JAVA service application provided in the embodiment of the present invention is generally executed by the terminal 105, and accordingly, the implementation device of the JAVA service application is generally set in the terminal device 103 (which can also be the terminal device 101 or 102). In other embodiments, some servers may have functions similar to those of the terminal device to execute this method. Therefore, the implementation method of the JAVA service application provided in the embodiment of the present invention is not limited to execution in the terminal device.
[0041] The exemplary embodiments of the present disclosure are described in detail below with reference to the accompanying drawings.
[0042] Figure 2 The figure is a flowchart of a method for implementing a JAVA service application in an exemplary embodiment of the present disclosure.
[0043] refer to Figure 2 , the implementation method of JAVA service application may include:
[0044] Step S202: determining the running script, system configuration information and compilation package included in the static code information of the application.
[0045] Step S204, encapsulating the running script, the system configuration information and the compilation package into running commands, file interfaces and JVM Agent respectively through a deep security algorithm to hide the structural information of the application.
[0046] Step S206: Encrypt the running status information of the application after it is started by using the deep security algorithm.
[0047] The disclosed embodiment determines the running script, system configuration information and compilation package included in the static code information of the application, and encapsulates the running script, the system configuration information and the compilation package into a running command, a file interface and a JVM Agent respectively through a deep security algorithm to hide the structural information of the application, and then encrypts the running status information of the application after startup through the deep security algorithm, thereby improving the security, usability, stability and compatibility of the JAVA service application.
[0048] In an exemplary embodiment of the present disclosure, the deep security algorithm refers to a general statement of the encryption shielding algorithm with ptrace as the kernel. The ptrace system call is used for process tracking from the name. It provides the ability for the parent process to observe and control the execution of its child process, and allows the parent process to check and replace the value of the kernel image (including registers) of the child process. Its basic principle is: when ptrace tracking is used, all signals sent to the tracked child process (except SIGKILL) will be forwarded to the parent process, and the child process will be blocked. At this time, the state of the child process will be marked as TASK_TRACED by the system. After the parent process receives the signal, it can check and modify the stopped child process, and then let the child process continue to run.
[0049] Next, each step of the implementation method of the JAVA service application is described in detail.
[0050] In an exemplary embodiment of the present disclosure, Figure 3 As shown, the running script, the system configuration information and the compilation package are respectively encapsulated into a running command, a file interface and a JVM Agent through a deep security algorithm to hide the structural information of the application, including:
[0051] Step S302: Run the running script as a sub-process through the deep security algorithm, and the trajectory information generated by the running script during the running process is monitored by the main process corresponding to the sub-process.
[0052] Step S304: encrypt the environment variables and operating parameter information of the application.
[0053] Step S306: passing the encrypted environment variables and the operating parameter information to the boot agent corresponding to the deep security algorithm.
[0054] Step S308: encapsulate the running script into the running command through the startup agent.
[0055] Step S310: encapsulate the system configuration information and the compilation package into the file interface and the JVM Agent respectively.
[0056] In an exemplary embodiment of the present disclosure, Figure 4 As shown, the running script, the system configuration information and the compilation package are respectively encapsulated into a running command, a file interface and a JVM Agent through a deep security algorithm to hide the structural information of the application, and further includes:
[0057] Step S402: encapsulate the system configuration information into the file interface through the deep security algorithm, and the file interface supports identity authentication and / or editing of the system configuration information.
[0058] Step S404: Encapsulate the running script and the compilation package into the running command and the JVM Agent respectively through a deep security algorithm.
[0059] In an exemplary embodiment of the present disclosure, Figure 5 As shown, the running script, the system configuration information and the compilation package are respectively encapsulated into a running command, a file interface and a JVM Agent through a deep security algorithm to hide the structural information of the application, and further includes:
[0060] Step S502: encrypt the compiled package into the JVMAgent by using the deep security algorithm with a built-in key.
[0061] Step S504: Encapsulate the running script and the system configuration information into the running command and the file interface respectively through a deep security algorithm.
[0062] In an exemplary embodiment of the present disclosure, Figure 6 As shown, encrypting the running status information of the application after startup by using the deep security algorithm includes:
[0063] Step S602: after detecting that the application is started, determining the process information included in the running status information.
[0064] Step S604: Generate the JDK launcher of the JAVA service application through the deep security algorithm.
[0065] Step S606: encrypt the process information into hidden information through the JDK launcher.
[0066] Step S608: setting the Proc directory of the Linux system corresponding to the application to an inaccessible state.
[0067] In an exemplary embodiment of the present disclosure, Figure 7As shown, encrypting the running status information of the application after startup by the deep security algorithm also includes:
[0068] Step S702: after detecting that the application is started, determining the memory state included in the running state information.
[0069] Step S704: shielding external tools from debugging the specified memory information in the above memory state through the deep security algorithm.
[0070] In an exemplary embodiment of the present disclosure, Figure 8 As shown, encrypting the running status information of the application after startup by the deep security algorithm also includes:
[0071] Step S802: after detecting that the application is started, determining the system log included in the running status information.
[0072] Step S804: determine the log plug-in corresponding to the system log.
[0073] Step S806: encrypt the log plug-in based on the Apache log4j library.
[0074] like Fig. 9 As shown, the implementation process 900 of the JAVA service application includes the following processes:
[0075] Determine the static code information of the JAVA service application, such as script files, configuration files, code packages, etc.
[0076] Preprocessed by deep security method, deep security method encrypts the application.
[0077] Preprocessing generates JAVA security applications, including executable files and code packages. The readable files and code packages in the application are invisible.
[0078] The security launcher of the JAVA security application is loaded, the secure operation state is entered, and the memory barrier is started.
[0079] After verifying their identity through deep security methods, system administrators can review the system status.
[0080] When hackers try to access JAVA service applications, the system blocks all memory interfaces and prohibits debugging, including debugging, stealing, and tampering.
[0081] like Fig.10 As shown, first you need to sort out the static code information contained in the application, mainly including: running scripts, system configuration, and compilation packages (jar packages).
[0082] Run script: The main function is to initialize the application's running environment, define environment variables, start the main function, etc. Run scripts are usually implemented using non-compiled scripting languages, such as "shell" and "python". The content of the run script is usually readable in plain text, describing the application's environmental dependencies and execution entry.
[0083] System configuration: The main function is to customize the running configuration of the application. Common formats include properties, xml (Extensible Markup Language), json (JavaScript Object Notation), etc. System configuration is usually readable in plain text, which is convenient for administrators to customize the running mode of the application according to their needs.
[0084] Compiled package (jar package): The main function is to include the executable code of the application. For JAVA system applications, the executable code drives the JAVA virtual machine to load and run by running scripts to realize its functions. Limited by the JAVA language implementation, the reverse cost of JAVA executable code is relatively low, and there are mature reverse solutions in the industry.
[0085] So far, it has been found through combing that the static code information of the JAVA service application contains the key information of the application. The key process of the application can be detected through the static code information, and even the application can be reverse cracked. To address this problem, the present disclosure uses a deep security method 1000 to encapsulate and package the static code information, shield the key information, and only expose the corresponding interface to the outside.
[0086] like Fig.10 As shown, we propose a deep security method 1000 for JAVA service application granularity in a cloud storage environment, which encapsulates the running script, system configuration and compilation package into running commands, file interfaces and JVM Agent (Java Virtual Machine Agent).
[0087] Run command: The script is processed by the deep security method and runs as a subprocess. The trace information during the running process is monitored by the main process, and the environment variables and running parameter information are encrypted and passed to the agent launcher of the security device.
[0088] File interface: The system configuration is processed by deep security methods and encapsulated as a file interface, which supports identity authentication and can only be read and modified by administrators. For application processes, the system configuration can still be read and written through the file interface.
[0089] JVM Agent: The code package (jar package) is converted into a JVM Agent component after being processed by the deep security method. The security method encrypts the entire code package using a self-developed encryption algorithm, and the secret key is directly compiled into the launcher of the security method. Compared with the industry solution (obfuscation / class encryption), the encryption algorithm of the security method is completely self-developed, the encryption range is larger and more thorough, and it is extremely difficult to crack.
[0090] like Fig.11 As shown, the deep security method 1100 for JAVA service application granularity in a cloud storage environment proposed by the present disclosure encapsulates multiple ".sh / .py" files, multiple ".conf" files and multiple ".jar" files into one ".bin" file and one ".dat".
[0091] like Fig.12 As shown, the service application structure after being processed by the deep security method 1200 for JAVA service application granularity in a cloud storage environment proposed by the present disclosure has been completely changed and no longer contains any plaintext readable files. However, the running status information after the application is started, mainly including process information, memory information, and system logs, will still expose the key information of the application, which needs to be further sorted out and encrypted.
[0092] Process information: mainly describes the system process name, process parameters and process dependencies. In the Linux system execution environment, the process summary information is located in the system Proc directory. For JAVA service applications, more detailed process information and custom parameters can be obtained through JDK (Java Development Kit, JAVA development tools) related debugging tools.
[0093] Memory information: mainly refers to the stack state of the application when it is running. In Linux system, you can directly debug the process through GDB (GNU open source organization), print the content of memory variables, and steal key information of the application. For JAVA service applications, JDK provides a variety of memory debugging tools, which can analyze the memory information of the application when it is running at a low cost.
[0094] System log: mainly refers to the customized log information of the application during runtime, which contains a large amount of application status and logic information. It is usually stored in plain text to facilitate administrators to understand the application status and troubleshoot application problems.
[0095] The running status information of JAVA service applications is rich and open, which is convenient for administrators to manage. It also reduces the difficulty of debugging, stealing and tampering, and increases security risks. In order to balance the management cost and security risks of applications, the deep security method re-implements the launcher of JAVA service applications, which can turn on or off the running status information at runtime according to needs, making it easier for administrators to manage.
[0096] like Fig.12 As shown, the method proposed in the present disclosure hides the application status information inside the security device through a secure launcher, a memory shield and a log agent, and the administrator can decrypt the running status information in the security device through a secret key.
[0097] Secure launcher: The method we proposed re-implements the JDK launcher that comes with the JAVA service application, so the launcher can hide all process names and parameters and set the Linux system Proc directory to an inaccessible state. For process dependencies, the code packages (jar packages) that the application depends on have been encapsulated into a unified code package (.dat) by the code security device, which is decrypted and loaded by the launcher. The outside world can only see the application's dependency on the unified code package, shielding the dependency information.
[0098] Memory blocker: The main function is to block external tools from debugging critical memory. It is divided into two categories: system debugging and JDK debugging. System debugging in Linux system is specifically PTrace (endpoint debugging) debugging. The deep security method executes the security launcher as a child process. The launcher of the security method immediately attaches PTrace to the launcher when it is started, thereby preventing other PTrace debugging tools from accessing and realizing system debugging shielding. Most of the JDK debugging tools are invalid because PTrace debugging is prohibited, but the JVM itself implements the Trace API, which is triggered to open by the "SIGQUIT" signal. The "SIGQUIT" signal controls the terminal to send a signal to the process to execute a core dump during the user's request. Therefore, the launcher of the security method needs to block the signal of the security launcher, thereby cutting off the JVM's own debugging interface.
[0099] Log agent: The log of JAVA service application mainly relies on Apache log4j library. The method we proposed is based on this interface and implements an encrypted log plug-in. The secret key is compiled inside the launcher, and the cracking cost is extremely high.
[0100] Among them, by using the Apache log4j library, the destination of log information can be controlled to be the console, file, GUI component, or even the socket server, NT event logger, UNIX Syslog daemon, etc. The output format of each log can also be controlled. By defining the level of each log information, the log generation process can be controlled more meticulously.
[0101] Strict commercial tests have been conducted on the security, usability, stability and compatibility of various JAVA service applications. The results show that the invention method has excellent engineering performance and fully meets the requirements of engineering practice. The test environment and evaluation indicators are shown in Table 1 below.
[0102] Table 1
[0103]
[0104] Fig.13 It is a block diagram of a device for implementing a JAVA service application in an exemplary embodiment of the present disclosure.
[0105] refer to Fig.13 , the implementation device 1300 of the JAVA service application may include:
[0106] The determination module 1302 is configured to determine the running script, system configuration information and compilation package included in the static code information of the application.
[0107] The encapsulation module 1304 is configured to encapsulate the running script, the system configuration information and the compilation package into running commands, file interfaces and JVM Agent respectively through a deep security algorithm to hide the structural information of the application.
[0108] The encryption module 1306 is configured to encrypt the running status information of the application after it is started by using the deep security algorithm.
[0109] In an exemplary embodiment of the present disclosure, the encapsulation module 1304 is further configured to: run the running script as a sub-process through the deep security algorithm, and the trajectory information generated by the running script during the running process is monitored by the main process corresponding to the sub-process; encrypt the environment variables and running parameter information of the application; pass the encrypted environment variables and the running parameter information to the startup agent corresponding to the deep security algorithm; encapsulate the running script into the running command through the startup agent; encapsulate the system configuration information and the compilation package into the file interface and the JVM Agent, respectively.
[0110] In an exemplary embodiment of the present disclosure, the encapsulation module 1304 is further configured to: encapsulate the system configuration information into the file interface through the deep security algorithm, and the file interface supports identity authentication and / or editing of the system configuration information; and encapsulate the running script and the compilation package into the running command and the JVM Agent respectively through the deep security algorithm.
[0111] In an exemplary embodiment of the present disclosure, the encapsulation module 1304 is further configured to: encrypt the compiled package into the JVM Agent through the deep security algorithm with a built-in key; and encapsulate the running script and the system configuration information into the running command and the file interface respectively through the deep security algorithm.
[0112] In an exemplary embodiment of the present disclosure, the encryption module 1306 is further configured to: after detecting that the application is started, determine the process information included in the running status information; generate the JDK launcher that comes with the JAVA service application through the deep security algorithm; encrypt the process information into hidden information through the JDK launcher; and set the Proc directory of the Linux system corresponding to the application to an inaccessible state.
[0113] In an exemplary embodiment of the present disclosure, the encryption module 1306 is further configured to: after detecting that the application is started, determine the memory state included in the running state information; and shield external tools from debugging specified memory information in the above memory state through the deep security algorithm.
[0114] In an exemplary embodiment of the present disclosure, the encryption module 1306 is further configured to: after detecting that the application is started, determine the system log included in the running status information; determine the log plug-in corresponding to the system log; and encrypt the log plug-in based on the Apache log4j library.
[0115] Since the functions of the JAVA service application implementation device 1300 have been described in detail in the corresponding method embodiments, the present disclosure will not elaborate on them here.
[0116] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.
[0117] In an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided.
[0118] It will be appreciated by those skilled in the art that various aspects of the present invention may be implemented as a system, method or program product. Therefore, various aspects of the present invention may be specifically implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software, which may be collectively referred to herein as a "circuit", "module" or "system".
[0119] Refer to the following Fig.14 14 to 15. The electronic device 1400 according to this embodiment of the present invention is described. Fig.14 The electronic device 1400 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.
[0120] like Fig.14 As shown, the electronic device 1400 is in the form of a general computing device. The components of the electronic device 1400 may include but are not limited to: at least one processing unit 1410, at least one storage unit 1420, and a bus 1430 connecting different system components (including the storage unit 1420 and the processing unit 1410).
[0121] The storage unit stores program codes, which can be executed by the processing unit 1410, so that the processing unit 1410 performs the steps according to various exemplary embodiments of the present invention described in the above “Exemplary Method” section of this specification. For example, the processing unit 1410 can perform the method shown in the embodiment of the present disclosure.
[0122] The storage unit 1420 may include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 14201 and / or a cache storage unit 14202 , and may further include a read-only storage unit (ROM) 14203 .
[0123] The storage unit 1420 may also include a program / utility 14204 having a set (at least one) of program modules 14205, such program modules 14205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.
[0124] Bus 1430 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
[0125] The electronic device 1400 may also communicate with one or more external devices 1440 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 1400, and / or communicate with any device that enables the electronic device 1400 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface 1450. Furthermore, the electronic device 1400 may also communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) via a network adapter 1460. As shown, the network adapter 1460 communicates with other modules of the electronic device 1400 via a bus 1430. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 1400, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0126] Through the description of the above implementation, it is easy for those skilled in the art to understand that the example implementation described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the implementation of the present disclosure.
[0127] In an exemplary embodiment of the present disclosure, a computer-readable storage medium is also provided, on which a program product capable of implementing the above method of the present specification is stored. In some possible implementations, various aspects of the present invention can also be implemented in the form of a program product, which includes a program code, and when the program product is run on a terminal device, the program code is used to enable the terminal device to execute the steps according to various exemplary embodiments of the present invention described in the above "Exemplary Method" section of the present specification.
[0128] The program product for implementing the above method according to an embodiment of the present invention can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto, and in this document, a readable storage medium can be any tangible medium containing or storing a program, which can be used by or in combination with an instruction execution system, an apparatus or a device.
[0129] The program product may use any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0130] Computer readable signal media may include data signals propagated in baseband or as part of a carrier wave, in which readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Readable signal media may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0131] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.
[0132] Program code for performing the operations of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., through the Internet using an Internet service provider).
[0133] In addition, the above-mentioned figures are only schematic illustrations of the processes included in the method according to an exemplary embodiment of the present invention, and are not intended to be limiting. It is easy to understand that the processes shown in the above-mentioned figures do not indicate or limit the time sequence of these processes. In addition, it is also easy to understand that these processes can be performed synchronously or asynchronously, for example, in multiple modules.
[0134] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The specification and examples are to be considered exemplary only, and the true scope and concept of the present disclosure are indicated by the claims.
Claims
1. A method for implementing a JAVA service application, characterized in that: include: Determine the running script, system configuration information and compilation package included in the static code information of the application; The running script, the system configuration information and the compilation package are respectively encapsulated into a running command, a file interface and a JVM Agent through a deep security algorithm to hide the structural information of the application, including: The running script is run in a sub-process mode through the deep security algorithm, and the trajectory information generated by the running script during the running process is monitored by the main process corresponding to the sub-process; Encrypting the environment variables and operating parameter information of the application; Passing the encrypted environment variables and the operating parameter information to the boot agent corresponding to the deep security algorithm; Encapsulating the running script into the running command through the startup agent; Encapsulating the system configuration information and the compilation package into the file interface and the JVM Agent respectively; The running status information of the application after startup is encrypted by the deep security algorithm.
2. The method for implementing a JAVA service application according to claim 1, wherein: The operation script, the system configuration information and the compilation package are respectively encapsulated into operation commands, file interfaces and JVMAgent by using a deep security algorithm to hide the structural information of the application, and further includes: Encapsulating the system configuration information into the file interface through the deep security algorithm, wherein the file interface supports identity authentication and / or editing of the system configuration information; The running script and the compiling package are respectively encapsulated into the running command and the JVMAgent through a deep security algorithm.
3. The method for implementing a JAVA service application according to claim 1, wherein: The operation script, the system configuration information and the compilation package are respectively encapsulated into operation commands, file interfaces and JVMAgent by using a deep security algorithm to hide the structural information of the application, and further includes: Encrypting the compiled package into the JVM Agent by using the deep security algorithm with a built-in key; The operation script and the system configuration information are respectively encapsulated as the operation command and the file interface through a deep security algorithm.
4. The method for implementing a JAVA service application according to any one of claims 1 to 3, characterized in that: Encrypting the running status information after the application is started by using the deep security algorithm includes: After detecting that the application is started, determining the process information included in the running status information; Generate the JDK launcher that comes with the JAVA service application through the deep security algorithm; Encrypting the process information into hidden information through the JDK launcher; The Proc directory of the Linux system corresponding to the application is set to an inaccessible state.
5. The method for implementing a JAVA service application according to any one of claims 1 to 3, characterized in that: Encrypting the running status information after the application is started by using the deep security algorithm also includes: After detecting that the application is started, determining the memory state included in the running state information; The deep security algorithm is used to shield external tools from debugging the specified memory information in the above memory state.
6. The method for implementing a JAVA service application according to any one of claims 1 to 3, characterized in that: Encrypting the running status information after the application is started by using the deep security algorithm also includes: After detecting that the application is started, determining the system log included in the running status information; Determine the log plug-in corresponding to the system log; The log plug-in is encrypted based on the Apache log4j library.
7. A device for implementing a JAVA service application, characterized in that: include: A determination module, configured to determine the running script, system configuration information and compilation package included in the static code information of the application; The encapsulation module is configured to encapsulate the running script, the system configuration information and the compilation package into running commands, file interfaces and JVM Agents respectively through a deep security algorithm to hide the structural information of the application, including: The running script is run in a sub-process mode through the deep security algorithm, and the trajectory information generated by the running script during the running process is monitored by the main process corresponding to the sub-process; Encrypting the environment variables and operating parameter information of the application; Passing the encrypted environment variables and the operating parameter information to the boot agent corresponding to the deep security algorithm; Encapsulating the running script into the running command through the startup agent; Encapsulating the system configuration information and the compilation package into the file interface and the JVM Agent respectively; The encryption module is configured to encrypt the running status information of the application after it is started by using the deep security algorithm.
8. An electronic device, characterized in that: include: Memory; as well as A processor coupled to the memory, the processor being configured to execute the implementation method of the JAVA service application according to any one of claims 1 to 6 based on instructions stored in the memory.
9. A computer-readable storage medium having a program stored thereon, wherein when the program is executed by a processor, the method for implementing a JAVA service application according to any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Bytecode encryption method, bytecode decryption method and terminal
CN109784007A
Method and system for realizing functions of check point and recovery point in Docker container
CN110737501A