.NET Core/Linux Security Execution Interceptor Agent
Budget: $5,000 – $20,000 USD
Product Specification for Linux Agent
Overview
This document outlines the specifications for a Linux agent that consists of a .NET Core component and a kernel-level component. The agent will intercept all executions of executables, libraries, and scripts, generate relevant metadata, and determine whether to allow or block the execution based on predefined rules.
Components
1. Kernel-Level Component
2. .NET Core Component
1. Kernel-Level Component
Responsibilities
- Intercept all executions of executables, libraries, and scripts.
- Generate a SHA-256 hash of the file.
- Extract the digital signature of the file (if signed).
- Collect metadata including:
- ProcessPath that executed the file.
- Username that executed the file.
- Full path of the file.
- File size.
- Send the collected information to the .NET Core component.
- block or permit the execution based on the response.
Technical Requirements
- Must be implemented as a Linux kernel module.
- Should support multi-threading to handle multiple execution requests simultaneously.
- Must be compatible with Red Hat Enterprise Linux versions 7, 8, and 9.
2. .NET Core Component
Responsibilities
- Receive information from the kernel-level component.
- Write the received information to the console.
- Determine if the file should be blocked or permitted based on a simple if statement.
- Run as the Linux equivalent of a Windows Service, auto-starting with the operating system.
- Call a heartbeat API (https://beta .tobesebtlater .com/heartbeat) to retrieve a list of files to be blocked, every 1 minute.
- Maintain a global sorted set of files retrieved.
- Use the global sorted set to determine if a file should be allowed or blocked.
- Send multiple requests back to the kernel component simultaneously.
Technical Requirements
- Must be implemented using .NET Core.
- Should support multi-threading to handle multiple requests simultaneously.
- Must be able to compile in Visual Studio 2022.
- Should include installation and compilation instructions.
Installation and Compilation Instructions
Kernel-Level Component
1. Provide complete instructions to compile the application
2. Provide instructions to install on all supported operating systems.
.NET Core Component
1. Provide instructions to compile in visual studio.
2. Open the project in Visual Studio 2022.
3. Build the project using Visual Studio.
4. Deploy the application as a Linux service
Overview
This document outlines the specifications for a Linux agent that consists of a .NET Core component and a kernel-level component. The agent will intercept all executions of executables, libraries, and scripts, generate relevant metadata, and determine whether to allow or block the execution based on predefined rules.
Components
1. Kernel-Level Component
2. .NET Core Component
1. Kernel-Level Component
Responsibilities
- Intercept all executions of executables, libraries, and scripts.
- Generate a SHA-256 hash of the file.
- Extract the digital signature of the file (if signed).
- Collect metadata including:
- ProcessPath that executed the file.
- Username that executed the file.
- Full path of the file.
- File size.
- Send the collected information to the .NET Core component.
- block or permit the execution based on the response.
Technical Requirements
- Must be implemented as a Linux kernel module.
- Should support multi-threading to handle multiple execution requests simultaneously.
- Must be compatible with Red Hat Enterprise Linux versions 7, 8, and 9.
2. .NET Core Component
Responsibilities
- Receive information from the kernel-level component.
- Write the received information to the console.
- Determine if the file should be blocked or permitted based on a simple if statement.
- Run as the Linux equivalent of a Windows Service, auto-starting with the operating system.
- Call a heartbeat API (https://beta .tobesebtlater .com/heartbeat) to retrieve a list of files to be blocked, every 1 minute.
- Maintain a global sorted set of files retrieved.
- Use the global sorted set to determine if a file should be allowed or blocked.
- Send multiple requests back to the kernel component simultaneously.
Technical Requirements
- Must be implemented using .NET Core.
- Should support multi-threading to handle multiple requests simultaneously.
- Must be able to compile in Visual Studio 2022.
- Should include installation and compilation instructions.
Installation and Compilation Instructions
Kernel-Level Component
1. Provide complete instructions to compile the application
2. Provide instructions to install on all supported operating systems.
.NET Core Component
1. Provide instructions to compile in visual studio.
2. Open the project in Visual Studio 2022.
3. Build the project using Visual Studio.
4. Deploy the application as a Linux service