158 lines
2.2 KiB
Python
158 lines
2.2 KiB
Python
# Crown Copyright (C) Dstl 2022. DEFCON 703. Shared in confidence.
|
|
"""Enumerations for APE."""
|
|
|
|
from enum import Enum
|
|
|
|
|
|
class NodeType(Enum):
|
|
"""Node type enumeration."""
|
|
|
|
CCTV = 1
|
|
SWITCH = 2
|
|
COMPUTER = 3
|
|
LINK = 4
|
|
MONITOR = 5
|
|
PRINTER = 6
|
|
LOP = 7
|
|
RTU = 8
|
|
ACTUATOR = 9
|
|
SERVER = 10
|
|
|
|
|
|
class Priority(Enum):
|
|
"""Node priority enumeration."""
|
|
|
|
P1 = 1
|
|
P2 = 2
|
|
P3 = 3
|
|
P4 = 4
|
|
P5 = 5
|
|
|
|
|
|
class HardwareState(Enum):
|
|
"""Node hardware state enumeration."""
|
|
|
|
ON = 1
|
|
OFF = 2
|
|
RESETTING = 3
|
|
SHUTTING_DOWN = 4
|
|
BOOTING = 5
|
|
|
|
|
|
class SoftwareState(Enum):
|
|
"""Software or Service state enumeration."""
|
|
|
|
GOOD = 1
|
|
PATCHING = 2
|
|
COMPROMISED = 3
|
|
OVERWHELMED = 4
|
|
|
|
|
|
class NodePOLType(Enum):
|
|
"""Node Pattern of Life type enumeration."""
|
|
|
|
NONE = 0
|
|
OPERATING = 1
|
|
OS = 2
|
|
SERVICE = 3
|
|
FILE = 4
|
|
|
|
|
|
class NodePOLInitiator(Enum):
|
|
"""Node Pattern of Life initiator enumeration."""
|
|
|
|
DIRECT = 1
|
|
IER = 2
|
|
SERVICE = 3
|
|
|
|
|
|
class Protocol(Enum):
|
|
"""Service protocol enumeration."""
|
|
|
|
LDAP = 0
|
|
FTP = 1
|
|
HTTPS = 2
|
|
SMTP = 3
|
|
RTP = 4
|
|
IPP = 5
|
|
TCP = 6
|
|
NONE = 7
|
|
|
|
|
|
class SessionType(Enum):
|
|
"The type of PrimAITE Session to be run."
|
|
TRAINING = 1
|
|
EVALUATION = 2
|
|
BOTH = 3
|
|
|
|
|
|
class VerboseLevel(Enum):
|
|
"""PrimAITE Session Output verbose level."""
|
|
NO_OUTPUT = 0
|
|
INFO = 1
|
|
DEBUG = 2
|
|
|
|
|
|
class AgentFramework(Enum):
|
|
NONE = 0
|
|
SB3 = 1
|
|
RLLIB = 2
|
|
|
|
|
|
class RedAgentIdentifier(Enum):
|
|
A2C = 1
|
|
PPO = 2
|
|
HARDCODED = 3
|
|
RANDOM = 4
|
|
|
|
|
|
class ActionType(Enum):
|
|
"""Action type enumeration."""
|
|
|
|
NODE = 0
|
|
ACL = 1
|
|
ANY = 2
|
|
|
|
|
|
class ObservationType(Enum):
|
|
"""Observation type enumeration."""
|
|
|
|
BOX = 0
|
|
MULTIDISCRETE = 1
|
|
|
|
|
|
class FileSystemState(Enum):
|
|
"""File System State."""
|
|
|
|
GOOD = 1
|
|
CORRUPT = 2
|
|
DESTROYED = 3
|
|
REPAIRING = 4
|
|
RESTORING = 5
|
|
|
|
|
|
class NodeHardwareAction(Enum):
|
|
"""Node hardware action."""
|
|
|
|
NONE = 0
|
|
ON = 1
|
|
OFF = 2
|
|
RESET = 3
|
|
|
|
|
|
class NodeSoftwareAction(Enum):
|
|
"""Node software action."""
|
|
|
|
NONE = 0
|
|
PATCHING = 1
|
|
|
|
|
|
class LinkStatus(Enum):
|
|
"""Link traffic status."""
|
|
|
|
NONE = 0
|
|
LOW = 1
|
|
MEDIUM = 2
|
|
HIGH = 3
|
|
OVERLOAD = 4
|