Method for preventing middleware credentials from leaking throughout the entire software development and operation process
By dynamically managing middleware credentials throughout the entire software development and operation process, and using CMDB, Develop, CICD, and IAM services, the problem of middleware credential leakage is resolved, and the security and stability of credentials throughout the entire process are improved.
Patent Information
- Application Number
- CN202410145632.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-02-01
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2044-02-01
AI Technical Summary
In the existing technology, middleware credentials lack effective security measures during software development and operation and maintenance, resulting in a high risk of credential leakage. Attackers can use the credentials to perform malicious operations and cause losses.
Throughout the entire software development and operation process, middleware credentials are dynamically managed through CMDB, Develop, CICD, and IAM services. Dynamic loading and desensitization technologies are used to ensure that credentials display real information only when authorized. Otherwise, placeholders are used to prevent credential leakage throughout the entire process.
It improves the security of middleware credentials, reduces the risk of attacks, improves the stability and security of the software development and operation process, and reduces the possibility of credential leakage.
Smart Images

Figure CN118536116B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of software security technology, and in particular to a method for preventing middleware credentials from leaking throughout the entire process of software development, operation, and maintenance. Background Art
[0002] The full software development and operations process encompasses the entire workflow, from software requirements analysis, design, development, testing, launch, and operations. This process aims to ensure the quality and stability of software products. Currently, in software development and operations, credentials, such as database connection information and API keys, are often hard-coded directly into the code to facilitate development and debugging. If these credentials are leaked, attackers can exploit them to access sensitive information or perform malicious operations. Currently, there are no effective security measures to prevent middleware credentials from being leaked, potentially allowing attackers to exploit them and perform malicious operations, resulting in unnecessary losses.
[0003] Security incidents caused by leaked middleware credentials are commonplace, especially when it comes to credentials for production business databases. A leak can be catastrophic. The difficulty in securing middleware credentials lies in their close integration with the R&D process. Because credentials must be configured into the system for accessibility, many developers have access to them. The prevailing practice is to leave the production environment to operations and maintenance personnel. This approach has two drawbacks: first, system configuration can be complex and subject to change with each release, increasing their workload and making them prone to errors. Second, all configuration information can be readily obtained through certain methods.
[0004] Existing encryption technology solutions include: decryption through ENC (encrypted string) provided by jasypt. This solution requires configuring the key in the configuration file, which has the risk of security leakage and requires manual maintenance. Code engineering can view the key; national secret algorithm, etc.: encryption through algorithm, high manual maintenance cost, and requires front-end and back-end interactive transmission of keys.
[0005] Most of the middleware on the market uses single encryption algorithms, configures encryption strings, and performs access control, but there is no unified solution for the entire R&D and operation and maintenance process. Summary of the Invention
[0006] The purpose of the present invention is to overcome the shortcomings of the existing technology that middleware credentials have no better security measures to prevent the leakage of middleware credentials, which may lead to attackers performing malicious operations and causing unnecessary losses, and to provide a method for preventing the leakage of middleware credentials in the entire process of software development and operation and maintenance.
[0007] The purpose of the present invention is achieved through the following technical solutions:
[0008] A method for preventing middleware credentials from leaking throughout the entire software development and operation and maintenance process, wherein the entire operation and maintenance process includes the instance application phase, the environment configuration phase, the job configuration phase, and the job execution phase;
[0009] During the instance application phase, the project side applies for a resource instance from the tenant side through the cmdb service. After the tenant approves the application, the project side obtains the details of the resource instance applied for. The tenant side sets whether to authorize viewing of the security field. If not authorized, the project side sees the security field as a placeholder.
[0010] During the environment configuration phase, the project side configures the environment through the develop service. If the environment configuration requires binding database resources, the database needs to be accessed. When binding database resources through the develop service, the password is dynamically loaded internally. The develop service controls whether the password is obtained and dynamically loaded based on the project ownership of the project side.
[0011] During the configuration phase, the project side creates components and jobs through the cicd service, manages the components after creation, and adds a security field to process password information.
[0012] During the execution phase, it is checked whether the project side has the configuration permission. If so, the placeholder of the security field is dynamically replaced.
[0013] Preferably, the security field is a password. After the tenant side sets whether to authorize, if the project side is not authorized, it receives credential information, and the password information in the credential information is a placeholder. If the project side is authorized, it receives credential information, and the password information in the credential information is the real password. The project side completes verification through the password.
[0014] Preferably, during the environment configuration phase, the project side configures the environment through the develop service. This requires access to a unified configuration center. The unified configuration center calls the spi-conf service to dynamically replace placeholders when configuring project configuration files. The placeholders obtained here are the same placeholders generated after the cmdb resource application is approved and authorized during the instance application phase. This solution eliminates the need to perceive important information such as passwords.
[0015] Preferably, in the configuration job phase, the project side creates components and jobs through the cicd service, manages the components after creation, and adds a security field to process the password information. Specifically: the job is configured during job execution, and the security field of the middleware credential does not appear during the configuration process. When the middleware credential is synchronized to the ci file, the server backend dynamically obtains the security field, and after obtaining the security field, it is desensitized again, and the ci file uses a placeholder to replace the security field; the security field is dynamically rendered again during job execution, and then the job is published.
[0016] Preferably, in the execution phase, it is checked whether the project side has the configuration permission, specifically by checking the project ID and the data ID to check whether the project side has the configuration permission.
[0017] Preferably, in the execution phase, before verifying whether the project side has the configuration permission, the access IP of the project side is first verified to be legal. Specifically, the unified configuration center configures the IP whitelist. During the execution phase, the configuration center will reach the SPI-Conf service. The SPI-Conf service will verify whether the IP accessed at this time is legal. Only legal IPs will continue to verify whether they have configuration permission.
[0018] Preferably, after the middleware credential is generated, the middleware credential information is synchronized to the IAM service, and the IAM service is used for permission verification and intermediate credential acquisition.
[0019] Specifically, the cmdb service is a resource management service, covering resource configuration, resource application, and resource approval. The develop service primarily covers microservice management and environment configuration, as well as configuration, involving middleware connections required during the development process, such as database integration and online database access. The cicd service refers to the continuous integration and continuous deployment service, and the ci file is a file generated by the cicd service. The spi-conf service is an open source configuration management tool used to manage and automate software configuration. The iam (Identity and Access Management) service is an identity and access management service.
[0020] The beneficial effects of the present invention are: the solution of the present invention is to prevent the middleware and other credentials from being exposed to users during the R&D and operation and maintenance process, whether in cmdb application, database integration, environment configuration, or cicd. For non-administrator roles, the entire process is unaware of sensitive fields such as passwords and there is no access to them. Through the above means, the function of preventing the leakage of credentials throughout the entire software R&D and operation process is realized. Through this solution, the security of the middleware credentials in the entire software R&D and operation process is greatly improved, the risk of being attacked is reduced, and the stability of the overall software R&D and operation process is improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 It is a flow chart of the present invention. DETAILED DESCRIPTION
[0022] The present invention is further described below with reference to the embodiments.
[0023] Example:
[0024] Methods for preventing middleware credentials from leaking throughout the entire software development and operation process, such as Figure 1 As shown, the entire operation and maintenance process includes the instance application stage, environment configuration stage, job configuration stage, and job execution stage;
[0025] During the instance application phase, the project side applies for a resource instance from the tenant side through the cmdb service. After the tenant approves the application, the project side obtains the details of the resource instance applied for. The tenant side sets whether to authorize viewing of the security field. If not authorized, the project side sees the security field as a placeholder.
[0026] During the environment configuration phase, the project side configures the environment through the develop service. If the environment configuration requires binding database resources, the database needs to be accessed. When binding database resources through the develop service, the password is dynamically loaded internally. The develop service controls whether the password is obtained and dynamically loaded based on the project ownership of the project side.
[0027] During the configuration phase, the project side creates components and jobs through the cicd service, manages the components after creation, and adds a security field to process password information.
[0028] During the execution phase, it is checked whether the project side has the configuration permission. If so, the placeholder of the security field is dynamically replaced.
[0029] The security field is the password. After the tenant side sets whether to authorize, if the project side is not authorized, it will receive credential information. The password information in the credential information is a placeholder. If the project side is authorized, it will receive credential information. The password information in the credential information is the real password. The project side completes verification through the password.
[0030] During the environment configuration phase, the project side configures the environment through the develop service. This requires access to the unified configuration center. When configuring the project configuration file, the unified configuration center calls the spi-conf service to dynamically replace placeholders. The placeholders obtained here are the same placeholders generated after the cmdb resource application is approved and authorized during the instance application phase. This solution eliminates the need to detect important information such as passwords.
[0031] During the job configuration phase, the project side creates components and jobs through the cicd service, manages the components after creation, and adds security fields to process password information. Specifically: the job is configured during job execution, and the security field of the middleware credentials does not appear during the configuration process. When the middleware credentials are synchronized to the ci file, the server backend dynamically obtains the security field, anonymizes it again after obtaining the security field, and replaces the security field with a placeholder in the ci file; the security field is dynamically rendered again during job execution, and then the job is published.
[0032] In the execution phase, whether the project side has the configuration permission is verified, specifically by verifying the project ID and the data ID to verify whether the project side has the configuration permission.
[0033] During the execution phase, before verifying whether the project side has the configuration permission, the legality of the access IP on the project side is verified first. Specifically, the unified configuration center configures the IP whitelist. During the execution phase, the configuration center will reach the SPI-Conf service. The SPI-Conf service will verify whether the IP accessed at this time is legal. Only legal IPs will continue to verify whether they have configuration permissions.
[0034] After the middleware credential is generated, the middleware credential information is synchronized to the IAM service, and the IAM service is used to verify permissions and obtain the middleware credential.
[0035] Specifically, the cmdb service is a resource management service, covering resource configuration, resource application, and resource approval. The develop service primarily covers microservice management and environment configuration, as well as configuration, involving middleware connections required during the development process, such as database integration and online database access. The cicd service refers to the continuous integration and continuous deployment service, and the ci file is a file generated by the cicd service. The spi-conf service is an open source configuration management tool used to manage and automate software configuration. The iam (Identity and Access Management) service is an identity and access management service.
[0036] According to an embodiment of the present application, the process described above can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a computer program for executing the method shown in the flow chart. In such an embodiment, the computer program can be downloaded and installed from the network through a communication part, and / or installed from a removable medium. When the computer program is executed by a central processing unit (CPU), the various functions defined in the system of the present application are executed.
[0037] It should be noted that the computer-readable medium shown in the embodiments of the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or component, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a 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. In the present application, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present application, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries a computer-readable computer program. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. A computer program embodied on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, or any suitable combination thereof.
[0038] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present application. Among them, each box in the flowchart or block diagram can represent a module, program segment, or part of the code, and the above-mentioned module, program segment, or part of the code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0039] The units involved in the embodiments described in this application may be implemented by software or hardware, and the units described may also be set in a processor. In some cases, the names of these units do not constitute limitations on the units themselves.
[0040] As another aspect, the present application further provides a computer-readable medium, which may be included in the electronic device described in the above embodiments, or may exist independently without being incorporated into the electronic device. The computer-readable medium carries one or more programs, and when the one or more programs are executed by the electronic device, the electronic device implements the method described in the above embodiments.
[0041] 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 embodiment of the application, the features and functions of two or more modules or units described above can be concretized 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 concretized.
[0042] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present application 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, and includes several instructions to enable a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the embodiments of the present application.
[0043] Those skilled in the art will readily conceive of other embodiments of the present application after considering the specification and practicing the embodiments disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present application that follow the general principles of this application and include common knowledge or customary techniques in the art that are not disclosed herein.
[0044] It should be understood that the present application is not limited to the exact structures described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.
Claims
1. A method for preventing middleware credentials from leaking throughout the entire software development and operation process, characterized by: The entire operation and maintenance process includes the instance application stage, environment configuration stage, job configuration stage, and job execution stage; During the instance application phase, the project side applies for a resource instance from the tenant side through the cmdb service. After the tenant approves the application, the project side obtains the details of the resource instance applied for. The tenant side sets whether to authorize viewing of the security field. If not authorized, the project side sees the security field as a placeholder. During the environment configuration phase, the project side configures the environment through the develop service. If the environment configuration requires binding database resources, the database needs to be accessed. When binding database resources through the develop service, the password is dynamically loaded internally. The develop service controls whether the password is obtained and dynamically loaded based on the project ownership of the project side. During the configuration phase, the project side creates components and jobs through the cicd service, manages the components after creation, and adds a security field to process password information. During the execution phase, it is checked whether the project side has the configuration permission. If so, the placeholder of the security field is dynamically replaced.
2. The method for preventing middleware credentials from leaking throughout the entire software development and operation process according to claim 1 is characterized in that: The security field is the password. After the tenant side sets whether to authorize, if the project side is not authorized, it will receive credential information. The password information in the credential information is a placeholder. If the project side is authorized, it will receive credential information. The password information in the credential information is the real password. The project side completes verification through the password.
3. The method for preventing middleware credentials from leaking throughout the entire software development and operation process according to claim 1 is characterized in that: During the environment configuration phase, the project side configures the environment through the develop service. During the environment configuration, it is necessary to access the unified configuration center. When the unified configuration center configures the project configuration file, it calls the spi-conf service to dynamically replace the placeholder.
4. The method for preventing middleware credentials from leaking throughout the entire software development and operation process according to claim 1 is characterized in that: During the configuration job phase, the project side creates components and jobs through the cicd service, manages the components after creation, and adds security fields to process password information. Specifically, the job is configured during job execution, and the security field of the middleware credential does not appear during the configuration process. When the middleware credential is synchronized to the ci file, the server backend dynamically obtains the security field, and after obtaining the security field, it is desensitized again. The ci file uses a placeholder to replace the security field; the security field is dynamically rendered again during job execution, and then the job is published.
5. The method for preventing middleware credentials from leaking throughout the entire software development and operation process according to claim 4 is characterized in that: In the execution phase, whether the project side has the configuration permission is verified, specifically by verifying the project ID and the data ID to verify whether the project side has the configuration permission.
6. The method for preventing middleware credentials from leaking throughout the entire software development and operation process according to claim 5 is characterized in that: During the execution phase, before verifying whether the project side has configuration permissions, the legality of the access IP on the project side is verified first. Specifically, the unified configuration center configures the IP whitelist. During the execution phase, the unified configuration center will call the spi-conf service. The spi-conf service will verify whether the IP accessed at this time is legal. Only legal IPs will continue to verify whether they have configuration permissions.
7. The method for preventing middleware credentials from leaking throughout the entire software development and operation process according to any one of claims 1 to 5, wherein: After the middleware credential is generated, the middleware credential information is synchronized to the IAM service, and the IAM service is used to verify permissions and obtain the middleware credential.