From 8bc84e33be92c73e834216d64aefd0663e3b0432 Mon Sep 17 00:00:00 2001 From: "Archer.Bowen" Date: Wed, 17 Jul 2024 15:07:37 +0100 Subject: [PATCH] Updated following PR --- docs/source/about.rst | 10 ++++----- docs/source/developer_tools.rst | 22 +++++++++---------- docs/source/request_system.rst | 4 ++-- .../system/applications/ransomware_script.rst | 12 +++++----- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/docs/source/about.rst b/docs/source/about.rst index ebd11eb0..488154a0 100644 --- a/docs/source/about.rst +++ b/docs/source/about.rst @@ -7,7 +7,7 @@ About PrimAITE ============== -The ARCD Primary-level AI Training Environment (**PrimAITE**) provides an effective simulation capability for training and evaluating AI in a cyber-defensive role. It incorporates the functionality required of a primary-level ARCD environment: +The ARCD Primary-level AI Training Environment (**PrimAITE**) provides an effective simulation capability for training and evaluating AI in a cyber-defensive role. It incorporates the functionality required of a primary-level ARCD environment: - The ability to model a relevant system context; - Modelling an adversarial agent that the defensive agent can be trained and evaluated against; @@ -39,7 +39,7 @@ PrimAITE incorporates the following features: Architecture ^^^^^^^^^^^^ -PrimAITE is a Python application and will operate on multiple Operating Systems (Windows, Linux and Mac); +PrimAITE is a Python application and will operate on multiple Operating Systems (Windows, Linux and macOS); a comprehensive installation and user guide is provided with each release to support its usage. Configuration of PrimAITE is achieved via included YAML files which support full control over the network / system laydown being modelled, background pattern of life, adversarial (red agent) behaviour, and step and episode count. @@ -66,17 +66,17 @@ Training & Evaluation Capability PrimAITE provides a training and evaluation capability to AI agents in the context of cyber-attack, via its Gymnasium / Ray RLlib compliant interface. -Scenarios can be constructed to reflect network / system laydowns consisting of any configuration of nodes (e.g., PCs, servers etc.) and the networking equipment and links between them. +Scenarios can be constructed to reflect network / system laydowns consisting of any configuration of nodes (e.g. PCs, servers etc.) and the networking equipment and links between them. All nodes can be configured to contain applications, services, folders and files (and their status). -Traffic flows between services and applications as directed by an ‘execution definition,’ with the traffic flow on the network governed by the network equipment (switches, routers and firewalls) and the ACL rules and routing tables they employ. +Traffic flows between services and applications as directed by an ‘execution definition’ with the traffic flow on the network governed by the network equipment (switches, routers and firewalls) and the ACL rules and routing tables they employ. Highlights of PrimAITE’s training and evaluation capability are: - The scenario is not bound to a representation of any platform, system, or technology; - Fully configurable (network / system laydown, green pattern-of-life, red personas, reward function, ACL rules for each device, number of episodes / steps, action / observation space) and repeatable to suit the requirements of AI agents; -- Can integrate with any Gymnasium / Ray RLlib compliant AI agent . +- Can integrate with any Gymnasium / Ray RLlib compliant AI agent. PrimAITE provides a number of use cases (network and red/green action configurations) by default which the user is able to extend and modify as required. diff --git a/docs/source/developer_tools.rst b/docs/source/developer_tools.rst index b1975f3b..a66b7902 100644 --- a/docs/source/developer_tools.rst +++ b/docs/source/developer_tools.rst @@ -103,14 +103,14 @@ or `--output-sys-logs` or `-sys` ----------------------------- -The outputting of system logs can be overridden by dev-mode. +The output of system logs can be overridden by dev-mode. By default, this is set to False Enabling system logs """""""""""""""""""" -To enable outputting of system logs +To enable output of system logs .. code-block:: @@ -125,7 +125,7 @@ or Disabling system logs """"""""""""""""""""" -To disable outputting of system logs +To disable output of system logs .. code-block:: @@ -140,7 +140,7 @@ or Enabling agent logs """""""""""""""""""" -To enable outputting of system logs +To enable output of system logs .. code-block:: @@ -155,7 +155,7 @@ or Disabling system logs """"""""""""""""""""" -To disable outputting of system logs +To disable output of system logs .. code-block:: @@ -170,14 +170,14 @@ or `--output-pcap-logs` or `-pcap` ------------------------------- -The outputting of packet capture logs can be overridden by dev-mode. +The output of packet capture logs can be overridden by dev-mode. By default, this is set to False Enabling PCAP logs """""""""""""""""" -To enable outputting of packet capture logs +To enable output of packet capture logs .. code-block:: @@ -192,7 +192,7 @@ or Disabling PCAP logs """"""""""""""""""" -To disable outputting of packet capture logs +To disable output of packet capture logs .. code-block:: @@ -207,14 +207,14 @@ or `--output-to-terminal` or `-t` ------------------------------ -The outputting of system logs to the terminal can be overridden by dev-mode. +The output of system logs to the terminal can be overridden by dev-mode. By default, this is set to False Enabling system log output to terminal """""""""""""""""""""""""""""""""""""" -To enable outputting of system logs to terminal +To enable output of system logs to terminal .. code-block:: @@ -229,7 +229,7 @@ or Disabling system log output to terminal """"""""""""""""""""""""""""""""""""""" -To disable outputting of system logs to terminal +To disable output of system logs to terminal .. code-block:: diff --git a/docs/source/request_system.rst b/docs/source/request_system.rst index bbc7b77c..f2d2e68d 100644 --- a/docs/source/request_system.rst +++ b/docs/source/request_system.rst @@ -25,8 +25,8 @@ When a request is resolved, it returns a success status, and optional additional ``data`` can be a dictionary with any arbitrary JSON-like data to describe the outcome of the request. -Request Syntax: -""""""""""""""" +Requests: +""""""""" Request Syntax --------------- diff --git a/docs/source/simulation_components/system/applications/ransomware_script.rst b/docs/source/simulation_components/system/applications/ransomware_script.rst index f9b99b30..c2ca7eef 100644 --- a/docs/source/simulation_components/system/applications/ransomware_script.rst +++ b/docs/source/simulation_components/system/applications/ransomware_script.rst @@ -7,18 +7,18 @@ RansomwareScript ################### -The ``DataManipulationBot`` class provides functionality to connect to a :ref:`DatabaseService` and set a database's database.db into an ``CORRUPTED`` state. +The RansomwareScript class provides functionality to connect to a :ref:`DatabaseService` and set a database's database.db into an ``CORRUPTED`` state. Overview ======== The ransomware script intends to simulate a generic implementation of ransomware. -Currently, due to simulation restraints, the ransomware script is unable to attack a host's without active database service. +Currently, due to simulation restraints, the ransomware script is unable to attack a hosts without an active database service. The ransomware script is similar to that of the data_manipulation_bot but does not have any separate stages or configurable probabilities. -Additionally, similarly to the data_manipulation_bot, the ransomware script must be installed on a host with a pre-existing :ref:`DatabaseClient` application installed. +Additionally, similar to the data_manipulation_bot, the ransomware script must be installed on a host with a pre-existing :ref:`DatabaseClient` application installed. Usage ===== @@ -28,12 +28,12 @@ Usage - Database password (if needed) - Call ``Execute`` to connect and execute the ransomware script. -This application handles connection to the database server and the encryption but it does not handle disconnections. +This application handles connections to the database server and the connection made to encrypt the database but it does not handle disconnections. Implementation ============== -At current, the ransomware script connects to a :ref:`DatabaseClient` and leverages its connectivity. The host running ``RansomwareScript`` must also have a :ref:`DatabaseClient` installed on it. +Currently, the ransomware script connects to a :ref:`DatabaseClient` and leverages its connectivity. The host running ``RansomwareScript`` must also have a :ref:`DatabaseClient` installed on it. - Uses the Application base class for lifecycle management. - Target IP and other options set via ``configure``. @@ -70,7 +70,7 @@ Python Configuration ============= -The RansomwareScript inherits configuration options such as ``fix_duration`` from it's parent class. However, for the ``RansomwareScript`` the most relevant option is ``server_ip``. +The RansomwareScript inherits configuration options such as ``fix_duration`` from its parent class. However, for the ``RansomwareScript`` the most relevant option is ``server_ip``. .. include:: ../common/common_configuration.rst