Intelligent network security competition system based on Rust ecology
Through an intelligent network security competition system based on the Rust ecosystem, using Docker and K8s technology, the CTF platform's incomplete functions and high concurrency problems are solved, providing efficient training and competition experience, and meeting the diverse needs of network security competitions.
Patent Information
- Application Number
- CN202510398449.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-01
- Publication Date
- 2025-07-18
AI Technical Summary
The existing CTF platform has imperfect functions, poor ease of use, and is difficult to bear high concurrency. Schools and related departments lack effective training platforms, which cannot meet the widespread needs of network security.
An intelligent network security competition system designed by Rust ecosystem, including data modules and virtualization modules, uses Docker and K8s technologies to realize dynamic containers, provides diversified competition and training modes, and supports high concurrency processing.
It realizes a powerful network security competition system, supports high concurrency processing, provides diversified training and competition experience, and improves the ease of use and functional customization of the platform.
Smart Images

Figure CN120337186A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of network security, and particularly relates to an intelligent network security competition system based on the Rust ecosystem. Background Art
[0002] CdsCTF is an intelligent network security competition system based on the Rust ecosystem, which supports the full life cycle management of CTF events. The platform follows the OWASP secure development specification and meets diverse application scenarios such as educational institutions, enterprise training, and security competitions through modular design, aiming to provide excellent competition and training experiences for CTF enthusiasts. This platform not only inherits the essence of many existing platforms but also provides multiple personalized interfaces for managers and users through unique design concepts. Moreover, CdsCTF realizes the independent management of questions and competitions, enabling the practice mode and competition mode to be completely separated. It also provides support for multiple dynamic containers in the setting of competition containers, enabling it to demonstrate powerful concurrency processing performance in situations with a large number of users.
[0003] As of today, existing CTF platforms still have problems such as imperfect functions, poor usability, and difficulty in handling high concurrency. And currently, schools and related departments do not have a good training platform, and students in the major need such a platform for training. Therefore, it is necessary to provide an intelligent network security competition system based on the Rust ecosystem to meet broader requirements in network security. Summary of the Invention
[0004] The purpose of the invention is to provide an intelligent network security competition system based on the Rust ecosystem to solve the above problems. The invention realizes the above purpose through the following technical solutions. The intelligent network security competition system based on the Rust ecosystem includes a data module and a virtualization module. The data module includes a user data module, a team data module, a competition data module, a question data module, and a data submission module. The virtualization module is used to set up one or more containers for users to freely use. It also includes key technology selections and architecture design principles with the Rust ecosystem as the core for the backend design, and is realized through the seamless integration of Docker and K8s technologies.
[0005] Preferably, the user data module includes a registration sub-module, a login sub-module, and a custom personal information sub-module. The registration sub-module is used for new user registration. The user can register by providing relevant account passwords. The login sub-module is used for user login. The user needs to provide the account and password provided during registration and can log in after the system background verifies and confirms it after providing a human-machine verification code. For the user, the custom personal information module is used to modify personal information after the user successfully logs in. The options that can be defined and modified include username, nickname, email, personal profile, avatar, and password.
[0006] Preferably, the team data module includes a create team sub-module, a join team sub-module, a custom team sub-module, and a team status setting sub-module. The create team sub-module is used for users to create new teams. The join team sub-module is for users who have no team and have not created a team. They can join a team through the team invitation code in the team created by others. The custom team sub-module is used for users to customize team information. The editable information includes team name, team email, team slogan, team profile, and team avatar. The team status setting sub-module is used for team status setting. Users can set the team status to lock information such as team members. If a team does not comply, the background administrator can set the participating team to a suspended state.
[0007] Preferably, the competition data module includes a create competition sub-module and a participate in competition sub-module. The create competition sub-module is used for administrators to create competitions. The background administrator can create relevant competition information including competition title, competition start and end times, competition description and brief introduction, whether the competition is an open competition, whether it is necessary to submit problem solutions, the minimum number of people required for participating teams, the maximum number of people required for participating teams, competition posters, competition icons, competition questions, and competition notifications. The participate in competition sub-module is used for users to participate in competitions. Users can view the settings and relevant notifications about the competition by the administrator and can also follow the ranking and score curve of their own team through the scoreboard designed by the platform.
[0008] Preferably, the answer question sub-module is mainly used for users to submit the answer flag of the question in the training ground. Users can also view their own answer situations according to the question classification and the search function of the platform.
[0009] Preferably, the method for creating competition questions of the intelligent network security competition system based on the Rust ecosystem is characterized by including the following steps:
[0010] S1, create a question title;
[0011] S2, select one of the following fifteen topic categories: Miscellaneous, Network, Reverse, Binary, Data Security, Mobile Security, Steganography, Open Source Information Search, Hardware Security, Cloud Computing, Social Engineering, Artificial Intelligence, Blockchain, Graphics Design, Development;
[0012] S2, set the topic dynamics, which can be set to a static environment and a dynamic environment. After setting the static environment, enter step S3. After setting the dynamic environment, enter step S4;
[0013] S3, set the topic attachments and transfer them to the cloud server for local download by contestants;
[0014] S4, set the topic dynamic environment. The administrator can provide multiple dynamic containers, call the Kubernetes API, set them to different exposed ports and environment variables for users to use. Users can extend the duration of the container, create another container and port invisibly for the competition or practice.
[0015] S5, set the topic answer checker, which can be modified according to the following three checker templates: simple fixed string judgment or dynamic pseudo-UUID judgment or dynamic LEET string judgment;
[0016] S6, whether to enable this topic in the practice field or reference it in relevant competitions. After the competition application, enter step S7;
[0017] S7, set the competition topic adaptation, such as setting the maximum score, minimum score, difficulty coefficient, freeze time, reward score, that is, the first n teams to solve the problem will get the reward score accounting for the percentage of the current topic score.
[0018] The virtualization setting module is mainly used to set the topic dynamic environment. Under the request condition that the administrator enables the dynamic environment of the topic, the Web service will transfer relevant information to the cluster module (Cluster) and pass the relevant user demand configurations to the K8s control center, such as CPU limit, memory limit, and container duration. Moreover, it enables K8s to create an integrated namespace to initialize and generate containers.
[0019] The beneficial effects of the invention are as follows: The present invention provides an intelligent network security competition system based on the Rust ecosystem. The platform has strong functionality and popular customizable functions, such as platform meta-information, user data, team data, and competition data. The development language mainly uses Rust, and at the same time, Docker and K8s technologies are used to implement dynamic container-related functions. For some topics that require containers, after the administrator builds the basic image, users can independently select containers with different ports when answering questions; the topic score decreases as the number of people answering the question increases, thus realizing the visualization of the topic difficulty. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] The present invention will be further described in detail below in conjunction with the accompanying drawings and specific embodiments.
[0021] Figure 1 It is an implementation diagram of the virtualization module of an intelligent network security competition system based on the Rust ecosystem of the present invention;
[0022] Figure 2 It is various implementation middleware of an intelligent network security competition system based on the Rust ecosystem of the present invention;
[0023] Figure 3 It is a schematic diagram of the data module of an intelligent network security competition system based on the Rust ecosystem of the present invention;
[0024] Figure 4 It is a flowchart for users to proofread answers in an intelligent network security competition system based on the Rust ecosystem of the present invention; DETAILED DESCRIPTION OF THE EMBODIMENTS
[0025] The technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
[0026] Please refer to Figures 1-4 As shown below, the specific embodiments of the present invention will be further described in detail in conjunction with the accompanying drawings.
[0027] In order to thoroughly understand the embodiments of the present invention and enable the technology, purpose, and advantages of the present invention to be fully understood. The preferred embodiments of the present invention are described in detail as follows.
[0028] Embodiment 1
[0029] The Docker image provided in this embodiment is Ubuntu20.04 used in the development process. The Docker compose file has been configured, and relevant dependency installation files are provided. CdsCTF and its middleware all rely on Docker to run, while K8s serves as the provider of the dynamic environment for CdsCTF questions. The operator writes the configuration files required for each service (such as the connection configurations of the database, cache, message queue, and K8s, as well as the node and host mapping table when the "exposed port" function is enabled in K8s), and then can deploy the platform through the Docker compose command. The steps to deploy the platform are as follows: Select a server that can run Docker and K8s, and install Docker and K8s; run Docker compose up in the project to start CdsCTF. The virtualization setting module of the intelligent network security competition system based on the Rust ecosystem provided in this embodiment is as Figure 1 shown. Under the request condition that the administrator enables the dynamic environment of the question, the Web service will pass relevant information to the Cluster module and pass the user's required configurations, such as CPU limit, memory limit, and container duration, to the K8s control center. Furthermore, K8s is made to create an integrated Namespace to initialize and generate containers. After such containers are generated, users can train or answer questions in the competition according to the images provided by the administrator. Thanks to the choice of K8s, users can spontaneously create multiple container instances, not limited to just one container, thus achieving the effect of dynamic questions. Specifically, various middleware provided in this instance, such as Figure 2 shown, are respectively the persistent data support provided by the database; the message queue for managing user-submitted answers, proofreading whether the user's answers are correct and whether cheating occurs; Redis for processing caches; and the container support provided by K8s as described above Figure 1 is concerned.
[0030] Embodiment 2
[0031] This embodiment provides a method for implementing a network security competition. Referring to Figure 3 the schematic diagram of the data module, it includes the following steps: S1, after the user successfully deploys using Docker and logs in to the modern full-stack management platform of the network security competition through the login unit with the account, password, and verification code, the first-time registrant (deployer) is in the administrator role and proceeds to step S2. If the logged-in role is the administrator role, the administrator settings button and related interfaces will be displayed in the navigation bar, and step S3 can be performed;
[0032] Judging whether the login is successful in step S1 includes the following content:
[0033] Judge whether the user role account password is correct. Only when the account, password, and verification code are all correct, will it jump to the main interface to display the platform icon and slogan, practice field, and conduct operations such as answering questions in the competition. Otherwise, it will prompt that the username or password is incorrect;
[0034] S2. Ordinary users (newly registered users are defaulted to ordinary users) can view the information of the currently open questions (Challenge) in the practice field, access a question, submit (Submission) answers by answering the questions described in the question, attachments, and containers, and can obtain the scores of the corresponding questions. They can view their own question-solving completion status and information. The platform has made a distinction in the UI interface for whether the questions are completed to facilitate users to retrieve the question situation. Users can also spontaneously create teams or join teams (Team) through the invitation codes created by others;
[0035] S3. Administrators can create competitions (Game), edit competition information, edit platform meta-elements such as platform icons and slogans, and can also set whether to allow new user registration, whether to enable email registration and password retrieval operations;
[0036] In this embodiment, the administrator can perform judgment operations on the answers submitted by users through the setting of questions. As Figure 4 shown, after the operation of submitting an answer by the user is executed, the Web service will not only save this data in the database but also send a request for checking (Checker) to the message queue in the middleware. Through the two verifications, the submitted applications that have been answered are invalidated in the checking process, and the correct verification is completed and the results are presented back to the platform.
[0037] By adopting the above technical solutions disclosed in the present invention, the following beneficial effects are obtained:
[0038] The present invention provides an intelligent network security competition system based on the Rust ecosystem, empowered by the Rust language with high processing performance and response speed, with the function of enabling multiple container examples supported by K8s, highly free customization for platforms, users, and competitions, support for rapid deployment of Docker technology, and clear question division for training and competitions.
[0039] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit them. Although the present invention has been described in detail with reference to the above embodiments, those of ordinary skill in the art can still modify the specific implementation manners of the present invention or make equivalent replacements. Any modifications or equivalent replacements that do not depart from the spirit and scope of the present invention are within the scope of the claims pending for approval.
[0040] For those skilled in the art, it is obvious that the invention is not limited to the details of the above-described exemplary embodiments, and that the invention can be implemented in other specific forms without departing from the spirit or essential characteristics of the invention. Therefore, in all respects, the embodiments should be regarded as exemplary and non-limiting. The scope of the invention is defined by the appended claims rather than the above description. Accordingly, all changes that fall within the meaning and scope of the equivalent elements of the claims are intended to be embraced within the invention. Any reference signs in the claims should not be construed as limiting the claims concerned.
[0041] In addition, it should be understood that although this specification is described in terms of embodiments, not every embodiment contains only one independent technical solution. This narrative style of the specification is only for clarity. Those skilled in the art should regard the specification as a whole, and the technical solutions in each embodiment can also be appropriately combined to form other embodiments that can be understood by those skilled in the art.
Claims
1. An intelligent network security competition system based on the Rust ecosystem, characterized in that, Adopt the key technology selection and architecture design principles centered around the Rust ecosystem, and achieve seamless integration using Docker and K8s technologies, including a data module and a virtualization module. The data module includes a user data module, a team data module, a competition data module, a question data module, and a data submission module. The virtualization module is used to set up one or more containers for users to freely use.
2. The intelligent network security competition system based on the Rust ecosystem according to claim 1, characterized in that The user data module includes a registration sub-module, a login sub-module, and a custom personal information sub-module. The registration sub-module is used for new user registration. Users can register by providing relevant account passwords. The login sub-module is used for user login. Users need to provide the account and password provided during registration and can log in after passing the verification by the system background after providing the human-machine verification code. For users, the custom personal information module is used to modify personal information after successful login. The options that can be defined and modified include username, nickname, email, personal profile, avatar, and password.
3. The intelligent network security competition system based on the Rust ecosystem according to claim 1, characterized in that, The team data module includes a create team sub-module, a join team sub-module, a custom team sub-module, and a team status setting sub-module. The create team sub-module is used for users to create new teams. The join team sub-module is for users who have no team and have not created a team. They can join a team through the team invitation code in a team created by others. The custom team sub-module is used for users to customize team information. The editable information includes team name, team email, team slogan, team profile, and team avatar. The team status setting sub-module is used for team status setting. Users can set the team status to lock information such as team members. If a team is non-compliant, the background administrator can set the participating team to a suspended state.
4. The intelligent network security competition system based on the Rust ecosystem according to claim 1, characterized in that The competition data module includes a create competition sub-module and a participate in competition sub-module. The create competition sub-module is used for administrators to create competitions. The background administrator can create relevant competition information including competition title, start and end times of the competition, competition description and summary, whether the competition is an open competition, whether question answers need to be submitted, the minimum number of required participating teams, the maximum number of required participating teams, competition posters, competition icons, competition questions, and competition notifications. The participate in competition sub-module is used for users to participate in competitions. Users can view the settings and relevant notifications about the competition by the administrator and can also follow the ranking and score curve of their own team through the leaderboard designed by the platform.
5. The intelligent network security competition system based on the Rust ecosystem according to claim 1, characterized in that The answer question sub-module is mainly used for users to submit the answer flag of the question in the training ground. Users can also view their answer situations according to question classification and the search function of the platform.
6. A method for creating competition questions in an intelligent network security competition system based on the Rust ecosystem according to any one of claims 1-5, characterized in that, Include the following steps: S1, Create a question title; S2, Select one of the following fifteen question classifications: Miscellaneous, Network, Reverse, Binary, Data Security, Mobile Security, Steganography, Open Source Information Search, Hardware Security, Cloud Computing, Social Engineering, Artificial Intelligence, Blockchain, Graphic Design, Development; S2, Set the question dynamics, which can be set to a static environment and a dynamic environment. After setting the static environment, go to step S3. After setting the dynamic environment, go to step S4; S3. Set the question attachments and transfer them to the cloud server for local download by contestants; S4. Set the question dynamic environment. The administrator can provide multiple dynamic containers, call the Kubernetes API, set them to different exposed ports and environment variables for users to use. Users can extend the duration of the container, create another container and port without feeling it for the competition or practice. S5. Set the question answer checker, which can be modified according to the following three checker templates: simple fixed string judgment, dynamic pseudo-UUID judgment, or dynamic LEET string judgment; S6. Whether to enable this question in the practice field or reference it in relevant competitions. After the competition application, go to step S7; S7. Set the competition question adaptation, such as setting the maximum score, minimum score, difficulty coefficient, freeze time, and reward score, that is, the first n teams to solve the problem will receive a reward score based on the percentage of the current question score.