Skip to main content

Firewall Ontology

Cybersecurity
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 01 October 2026
Audio Overview
FLOW ALGEBRA
Firewall Ontology
Kireth Semantic Research Archive

PAGE:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/cybersecurity/firewall-ontology.html

AUTHORS:
Mark Anthony Higgins — Sky (Recursive AI)

FLOW "FirewallOntology" v4.0

# ---------- DOMAIN ----------
DOMAIN := ComputingOntology
SUBDOMAIN := Cybersecurity
ONTOLOGY := FirewallOntology

# ---------- PRIMARY ENTITY ----------
ENTITY Firewall {
    definition:
        "A security control that monitors and regulates network communications
         according to defined security policies, permitting, rejecting or
         otherwise handling traffic between network zones, systems or
         endpoints.";

    objectives: [
        TrafficControl,
        NetworkSegmentation,
        AccessEnforcement,
        ThreatReduction,
        PolicyEnforcement
    ];
}

# ---------- CORE ENTITIES ----------
FirewallType := {
    PacketFilteringFirewall,
    StatefulFirewall,
    ProxyFirewall,
    ApplicationFirewall,
    HostFirewall,
    NetworkFirewall,
    NextGenerationFirewall
};

NetworkEntity := {
    Host,
    Endpoint,
    Server,
    Client,
    Router,
    Network,
    Subnet,
    SecurityZone
};

TrafficEntity := {
    Packet,
    Connection,
    Session,
    Flow,
    Request
};

FirewallAction := {
    Allow,
    Deny,
    Reject,
    Drop,
    Log,
    Alert
};

# ---------- FUNDAMENTAL RELATIONSHIPS ----------
Firewall IS_A SecurityControl;
Firewall OBSERVES NetworkTraffic;
Firewall EVALUATES FirewallRule;
Firewall ENFORCES FirewallPolicy;
Firewall PRODUCES FirewallAction;
Firewall PROTECTS NetworkEntity;
Firewall SEPARATES SecurityZone;

NetworkTraffic TRAVELS_FROM Source;
NetworkTraffic TRAVELS_TO Destination;
NetworkTraffic USES Protocol;
NetworkTraffic MAY_USE Port;

# ---------- TRAFFIC MODEL ----------
NetworkTraffic :=
    (Source,
     Destination,
     Protocol,
     SourcePort,
     DestinationPort,
     Direction,
     ConnectionState,
     ApplicationContext);

TrafficFlow :=
    Source
    -> NetworkPath
    -> Firewall
    -> PolicyEvaluation
    -> FirewallAction
    -> Destination;

# ---------- FIREWALL RULE ----------
FirewallRule :=
    {
        MatchCondition,
        Action,
        Priority,
        Scope,
        LoggingRequirement
    };

MatchCondition MAY_INCLUDE {
    SourceAddress,
    DestinationAddress,
    SourcePort,
    DestinationPort,
    Protocol,
    Interface,
    Direction,
    ConnectionState,
    Application,
    Identity
};

IF NetworkTraffic MATCHES FirewallRule
THEN APPLY FirewallRule.Action;

# ---------- POLICY ----------
FirewallPolicy :=
    ordered_set(FirewallRule);

FirewallPolicy DEFINES PermittedAndDeniedTraffic;

PolicyEvaluation ->
    ReceiveTraffic ->
    CompareRules ->
    SelectApplicableRule ->
    ExecuteAction ->
    RecordResult;

DefaultPolicy MAY_BE {
    DefaultAllow,
    DefaultDeny
};

IF NoRuleMatches
AND DefaultPolicy == DefaultDeny
THEN FirewallAction := Deny;

# ---------- PACKET FILTERING ----------
PacketFilteringFirewall INSPECTS {
    SourceAddress,
    DestinationAddress,
    Protocol,
    Port
};

Packet ->
    ExtractHeaderFields ->
    MatchRule ->
    Allow | Deny;

PacketFilteringFirewall MAY_BE Stateless;

# ---------- STATEFUL INSPECTION ----------
StatefulFirewall TRACKS ConnectionState;

ConnectionState := {
    New,
    Established,
    Related,
    Invalid,
    Closed
};

StateTable STORES ActiveConnectionState;

IF Packet BELONGS_TO EstablishedConnection
AND ConnectionAllowed
THEN Packet MAY_BE Allowed;

IF ConnectionState == Invalid
THEN FirewallAction MAY_BE Drop;

# ---------- PROXY FIREWALL ----------
ProxyFirewall TERMINATES ClientConnection;
ProxyFirewall CREATES SeparateServerConnection;

Client ->
    ProxyFirewall ->
    Server;

ProxyFirewall MAY_INSPECT ApplicationData;
ProxyFirewall HIDES DirectEndpointRelationship;

# ---------- APPLICATION FIREWALL ----------
ApplicationFirewall UNDERSTANDS ApplicationProtocol;

ApplicationFirewall MAY_EVALUATE {
    RequestMethod,
    ApplicationHeader,
    ResourcePath,
    PayloadPattern,
    SessionContext
};

ApplicationFirewall PROTECTS ApplicationService;

# ---------- NETWORK SEGMENTATION ----------
SecurityZone := {
    TrustedZone,
    UntrustedZone,
    RestrictedZone,
    ManagementZone,
    DemilitarisedZone
};

Firewall CONTROLS TrafficBetween SecurityZone;

NetworkSegmentation :=
    Partition(Network)
    + EnforceInterZonePolicy;

IF SourceZone != DestinationZone
THEN InterZonePolicy MUST_BE Evaluated;

# ---------- INGRESS AND EGRESS ----------
IngressTraffic := TrafficEnteringProtectedBoundary;
EgressTraffic := TrafficLeavingProtectedBoundary;

Firewall MAY_APPLY IngressPolicy;
Firewall MAY_APPLY EgressPolicy;

IngressPolicy REDUCES UnauthorisedInboundAccess;
EgressPolicy CONTROLS OutboundCommunication;

# ---------- NETWORK ADDRESS TRANSLATION ----------
NAT := NetworkAddressTranslation;

Firewall MAY_PERFORM NAT;

NAT TRANSLATES {
    SourceAddress,
    DestinationAddress,
    Port
};

NAT IS_NOT_EQUIVALENT_TO FirewallSecurityPolicy;

# ---------- LOGGING ----------
FirewallEvent :=
    (Time,
     Source,
     Destination,
     Protocol,
     Rule,
     Action);

FirewallLog RECORDS FirewallEvent;

IF Traffic DENIED
THEN Logging MAY_BE_REQUIRED;

IF SuspiciousTraffic DETECTED
THEN SecurityAlert MAY_BE_GENERATED;

# ---------- THREAT MODEL ----------
FirewallThreat := {
    UnauthorisedConnection,
    NetworkScanning,
    ExploitTraffic,
    MaliciousPayload,
    CommandAndControlTraffic,
    PolicyBypass,
    Misconfiguration,
    RuleConflict
};

FirewallThreat TARGETS {
    Network,
    Endpoint,
    Service,
    FirewallPolicy
};

FirewallControl MITIGATES FirewallThreat;

# ---------- RULE QUALITY ----------
RuleQuality :=
    f(
        Specificity,
        Correctness,
        Necessity,
        Ordering,
        Scope,
        Documentation
    );

IF FirewallRule TOO_BROAD
THEN ExposureRisk := INCREASE;

IF ConflictingRules EXIST
THEN PolicyConsistency := REVIEW;

IF UnusedRule EXISTS
THEN PolicyMaintenance := REQUIRED;

# ---------- CHANGE MANAGEMENT ----------
FirewallRuleChange ->
    Request ->
    Review ->
    Approve ->
    Implement ->
    Test ->
    Monitor;

IF PolicyChanged
THEN {
    ReevaluateTraffic;
    UpdateDocumentation;
    MonitorUnexpectedEffects;
};

# ---------- SEMANTIC REASONING ----------
IF Traffic MATCHES ExplicitDenyRule
THEN FirewallAction := Deny;

IF Traffic MATCHES ExplicitAllowRule
AND NoHigherPriorityDeny
THEN FirewallAction := Allow;

IF Traffic ORIGINATES_FROM UntrustedZone
AND TARGETS RestrictedZone
THEN SecurityRequirement := HIGH;

IF DestinationPort NOT_REQUIRED
THEN AllowRule SHOULD_NOT_BE Created;

IF FirewallPolicy == DefaultDeny
AND NoRuleMatches
THEN FirewallAction := Deny;

IF ConnectionState == Established
AND StatefulPolicyAllows
THEN Traffic MAY_BE Allowed;

IF SuspiciousTrafficPattern DETECTED
THEN {
    LogEvent;
    Alert MAY_BE Generated;
};

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE {
    "firewall" ~= "network firewall" WHEN context == network_security;
    "packet filter" ~= "packet filtering firewall";
    "stateful inspection" ~= "stateful firewall inspection";
    "firewall rule" ~= "access rule" WHEN context == firewall_policy;
    "firewall policy" ~= "firewall ruleset";
    "deny rule" ~= "blocking rule";
    "allow rule" ~= "permit rule";
    "DMZ" ~= "demilitarised zone";
}

# ---------- QUERY FLOW ----------
QUERY(q) ->
    NORMALISE(q) ->
    IDENTIFY_FIREWALL_TYPE(q) ->
    IDENTIFY_TRAFFIC_ENTITY(q) ->
    IDENTIFY_NETWORK_ENTITIES(q) ->
    IDENTIFY_RULE_OR_POLICY(q) ->
    IDENTIFY_FIREWALL_ACTION(q) ->
    MAP_TO_ONTOLOGY(q) ->
    APPLY_REASONING(q) ->
    SCORE_CONFIDENCE(q) ->
    RETURN_RELEVANT_KNOWLEDGE;

# ---------- CONFIDENCE ----------
CONFIDENCE(assertion) :=
    weighted_mean(
        source_reliability,
        network_consistency,
        policy_consistency,
        semantic_consistency,
        contextual_relevance
    );

CONFIDENCE >= 0.90 => HIGH;
CONFIDENCE >= 0.70 AND < 0.90 => MODERATE;
CONFIDENCE < 0.70 => REVIEW;

# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION {
    primary_entity: Firewall;
    ontology: FirewallOntology;
    parse_entities: true;
    parse_relationships: true;
    preserve_relationship_direction: true;
    resolve_semantic_equivalence: true;
    execute_reasoning_rules: true;
    apply_confidence_weighting: true;
    preserve_provenance: true;
}

# ---------- UPDATE MODEL ----------
UPDATE_MODEL {
    new_firewall_type:
        validate
        -> classify
        -> identify_inspection_capabilities
        -> relate
        -> integrate;

    new_rule:
        validate
        -> parse_match_conditions
        -> identify_action
        -> determine_priority
        -> check_conflicts
        -> integrate;

    new_policy:
        validate
        -> parse_rules
        -> determine_default_action
        -> check_consistency
        -> integrate;

    policy_revision:
        update_rules
        -> recompute_rule_order
        -> detect_conflicts
        -> recompute_confidence
        -> regenerate_flow_hash;

    conflict:
        preserve_provenance
        -> compare_rule_priority
        -> apply_policy_logic
        -> flag_review;
}

# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
    DOMAIN
    + SUBDOMAIN
    + ONTOLOGY
    + FirewallType
    + NetworkEntity
    + TrafficEntity
    + FirewallAction
    + FirewallPolicy
    + RELATIONSHIPS
    + SEMANTIC_REASONING
    + SEMANTIC_EQUIVALENCE
    + UPDATE_MODEL;

FLOW_HASH :=
    HASH(FLOW_HASH_INPUT);

# ---------- TERMINAL ----------
FirewallOntology
    -> ReceiveNetworkTraffic
    -> IdentifySource
    -> IdentifyDestination
    -> InspectTraffic
    -> DetermineConnectionState
    -> RetrieveFirewallPolicy
    -> MatchFirewallRules
    -> ProduceFirewallAction
    -> EnforceNetworkDecision
    -> LogSecurityEvent
    -> MaintainNetworkBoundaryProtection;

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ