DEENESPTFRRUARHIKOZHNL

module ara::fw — Firewall

Diese Seite wurde vollständig KI-generiert auf Basis von SWS Firewall (R25-11) — kein offizieller AUTOSAR-Text und keine automatisch extrahierte API-Seite wie die übrigen Module. Als Interpretation gekennzeichnete Aussagen sind Schlussfolgerungen aus den Quellen.

ModulegidsAI-GEGENEREERD

Schakelt toestandafhankelijke Firewall-regelsets van het platform om en meldt geblokkeerde pakketten als Security Events.
DOOR AI GEGENEREERD ongecontroleerd Model: claude-opus-5-5 · Inspanning: high · Temperatuur: niet regelbaar · Prompt: 9267f9cbcba3 Herkomst Open vragen (3)
Causaal anker: R25-11 Geldig vanaf R25-11 Nieuw gesynthetiseerd voor deze specificatiestand.
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Schakelt toestandafhankelijke Firewall-regelsets van het platform om en meldt geblokkeerde pakketten als Security Events.

De Functional Cluster Firewall filtert netwerkpakketten volgens toestandafhankelijke regelsets uit het manifest en meldt geblokkeerde pakketten als Security Events aan de IdsM (EXP_PlatformDesign p. 92). Applicaties selecteren de actieve Firewall-toestand via FirewallStateSwitchInterface::SwitchFirewallState. De methode levert een ara::core::Future<void> op en meldt fouten zoals kServiceNotAvailable of kInvalidStateDependentFirewall [AP_SWS_Fw_82008]. De toestanden vormen geen vaste lijst, maar worden per gemodelleerde interface gegenereerd als enumeratie. Instanties van de interface kunnen alleen worden verplaatst, niet gekopieerd.

De module fw specificeert de op daemons gebaseerde Functional Cluster Firewall van het Adaptive Platform. De applicatie-API ervan is de interface FirewallStateSwitchInterface met de operatie SwitchFirewallState(), die door een Adaptive Application wordt gebruikt (EXP_SWArchitecture p. 126). De cluster heeft twee taken: hij schakelt de Firewall-toestand om en meldt Security Events aan de Intrusion Detection System Manager (EXP_SWArchitecture p. 197).

kontext app Adaptive Application (OEM application) fw FC Firewall «aapFunctionalCluster», daemon-based app->fw SwitchFirewallState() via FirewallStateSwitchInterface eng Firewall Engine fw->eng konfiguriert Engine os Operating System fw->os applyRule() je FirewallRule (informativ) idsm Intrusion Detection System Manager (IdsM) fw->idsm meldet SEvs (blockierte Pakete) mm Machine Manifest (Filterregeln) mm->fw levert firewallconfiguratie op

Contextdiagram: De FC Firewall verbindt manifestconfiguratie, toestandsspecificatie van de applicatie, regeltoepassing in het besturingssysteem en SEv-melding aan de IdsM. Bronnen: EXP_PlatformDesign p. 97, EXP_SWArchitecture p. 197

De filtering is toestandafhankelijk. De OEM definieert toestanden zoals rijden, parkeren of diagnose, en voor een pakket gelden alleen de regels van de actieve toestand (EXP_PlatformDesign p. 92). In het manifest bundelt AdaptiveFirewallModuleInstantiation hiervoor StateDependentFirewall-elementen. Elk daarvan bevat geordende regeleigenschappen, een optionele defaultAction en verwijzingen naar de bijbehorende toestanden (TPS_ManifestSpecification p. 679). In de code verschijnen de toestanden als per interface gegenereerde enumeratie in ara::fw::states [AP_SWS_Fw_81001].

De applicatie maakt het interface-object aan vanuit een ara::core::InstanceSpecifier. Deze constructor is thread-safe [AP_SWS_Fw_82002]. SwitchFirewallState is noexcept en levert een ara::core::Future<void> op [AP_SWS_Fw_82008]. Intern past de cluster volgens het scenario elke Firewall-regel afzonderlijk toe in het besturingssysteem (EXP_SWArchitecture p. 232). Instanties kunnen niet worden gekopieerd, maar wel worden verplaatst. Move en destructor zijn niet thread-safe [AP_SWS_Fw_82004] [AP_SWS_Fw_82006].

Toestandsovergangen van de FirewallAdaptive ApplicationFC Firewall (FirewallStateSwitchInterface)Operating SystemUse Case: InitialisierungFirewallStateSwitchInterface(instance)explicit, noexcept, thread-safeUse Case: ZustandswechselSwitchFirewallState(firewallState)Interpretatie: waarde van de gegenereerde toestandsenumeratieRetourwaarde: ara::core::Future<void>altWissel mogelijkloopforeach FirewallRuleapplyRule()«aapInformative»Future vervuld (void)FehlerFuture met FwErrc::kServiceNotAvailableof FwErrc::kInvalidStateDependentFirewallDaarna filteren alleen de regelsvan de actieve toestand

Sequentiediagram: De aanvraag van de toestandsverandering keert terug als Future. Daartussenin wordt elke regel afzonderlijk toegepast. Bronnen: EXP_SWArchitecture p. 232, [AP_SWS_Fw_82008]

In geval van een fout bevat de Future FwErrc::kServiceNotAvailable of FwErrc::kInvalidStateDependentFirewall [AP_SWS_Fw_83001]. De betekenis kan alleen worden afgeleid uit de namen: de service is vermoedelijk niet beschikbaar, of voor de doeltoestand ontbreekt een geldige regelconfiguratie. Vraag Q-45e3225696efb3dc (open) Via FwErrorDomain::ThrowAsException kan een fout als FwException worden geworpen [AP_SWS_Fw_83012]. Geblokkeerde pakketten zijn geen API-fout. Ze worden als Security Events gemeld aan de IdsM, in R23-11 bovendien onderscheiden naar afwijkend protocol (SWS_Firewall p. 31).

Rol van de FC Firewall tussen applicatie, besturingssysteem en IdsM

De module fw beschrijft de Functional Cluster Firewall van het Adaptive Platform. Deze is op daemons gebaseerd en realiseert de interface FirewallStateSwitchInterface met de operatie SwitchFirewallState(). Een Adaptive Application gebruikt deze interface via een «use»-relatie (EXP_SWArchitecture p. 126). De use cases beperken de cluster tot twee taken. “Switch Firewall State” wordt getriggerd door de Adaptive Application, waarbij het besturingssysteem meewerkt. “Report Security Event” is gericht aan de eveneens op daemons gebaseerde Intrusion Detection System Manager (EXP_SWArchitecture p. 197).

Het architectuuroverzicht scheidt configuratie, besturing en uitvoering van elkaar:

  • Het Machine Manifest levert de filterregels.
  • De FC Firewall configureert daarmee een Firewall Engine.
  • Een OEM-applicatie stelt de Firewall-toestand in.
  • De cluster meldt Security Events (SEvs) aan de IdsM (EXP_PlatformDesign p. 97).

Op de voorgrond staan twee use cases. De eerste is de toestandafhankelijke filtering met OEM-specifieke toestanden zoals rijden, parkeren of diagnosesessie. De tweede is de ondersteuning van het Intrusion Detection System door Security Events bij geblokkeerde berichten. Kwalificatie, doorgifte aan een SOC of persistente opslag neemt de IdsM voor zijn rekening (EXP_PlatformDesign p. 92). De enige applicatie-API van de module is de toestandsverandering [AP_SWS_Fw_82008].

kontext app Adaptive Application (OEM application) fw FC Firewall «aapFunctionalCluster», daemon-based app->fw SwitchFirewallState() via FirewallStateSwitchInterface eng Firewall Engine fw->eng konfiguriert Engine os Operating System fw->os applyRule() je FirewallRule (informativ) idsm Intrusion Detection System Manager (IdsM) fw->idsm meldet SEvs (blockierte Pakete) mm Machine Manifest (Filterregeln) mm->fw levert firewallconfiguratie op

Contextdiagram: De FC Firewall ontvangt configuratie uit het Machine Manifest en toestandsspecificaties van de applicatie. Hij stuurt de engine en het besturingssysteem aan en meldt SEvs aan de IdsM. Bronnen: EXP_PlatformDesign p. 97, EXP_SWArchitecture p. 197, EXP_SWArchitecture p. 232

Firewall-toestanden: van state machine in het model tot gegenereerde enumeratie

In het manifest-metamodel specialiseert FirewallStateSwitchInterface een PortInterface. Via de rol firewallStateMachine aggregeert het willekeurig veel (0..*) ModeDeclarationGroupPrototype-elementen (TPS_ManifestSpecification p. 263). De afzonderlijke toestanden zijn ModeDeclaration's met het optionele attribuut value: PositiveInteger (TPS_ManifestSpecification p. 679).

Voor elke gemodelleerde interface wordt hieruit een eigen enumeratie enum class {<fwssi-sn>} : std::uint32_t gegenereerd in de namespace ara::fw::states. Deze wordt opgenomen via ara/fw/states/{<fwssi-sn>}.h [AP_SWS_Fw_81001]. Per gemodelleerde Firewall-toestand ontstaat een enumerator {<symbol-fw-state>} = {<fw-state-value>} [AP_SWS_Fw_81002].

Voor gebruikers betekent dit: er is geen platformbreed vaste toestandenlijst. Welke toestanden bestaan, bepaalt het OEM-model (EXP_PlatformDesign p. 92). SwitchFirewallState verwacht een parameter firewallState van het type EnumT [AP_SWS_Fw_82008]. Interpretatie: EnumT komt vermoedelijk overeen met de voor de desbetreffende interface gegenereerde toestandsenumeratie. Vraag Q-26dbe38f70cb0222 (open) Hiervoor pleit dat [AP_SWS_Fw_81001] deze uitdrukkelijk definieert als toestanden “for FirewallStateSwitchInterface”.

zustandsmodell pi PortInterface fwssi FirewallStateSwitchInterface fwssi->pi spezialisiert mdgp ModeDeclarationGroupPrototype fwssi->mdgp firewallStateMachine 0..* en enum class {<fwssi-sn>} : std::uint32_t namespace ara::fw::states ara/fw/states/{<fwssi-sn>}.h fwssi->en Codegenerierung je Interface md ModeDeclaration value: PositiveInteger [0..1] mdgp->md Toestanden (via ModeDeclarationGroup) er Enumerator je Zustand {<symbol-fw-state>} = {<fw-state-value>} en->er je modelliertem Zustand api SwitchFirewallState(EnumT firewallState) er->api Interpretatie: argument van het type EnumT

Contextdiagram (model–code): De toestanden zijn afkomstig uit de state machine van de interface in het model. Per interface wordt een enumeratie gegenereerd in ara::fw::states. Bronnen: TPS_ManifestSpecification p. 263, [AP_SWS_Fw_81001], [AP_SWS_Fw_81002], [AP_SWS_Fw_82008]

Manifestconfiguratie: module-instantie, toestandafhankelijke regelsets en port-toewijzing

De machinespecifieke instellingen van de Firewall-module worden verzameld in AdaptiveFirewallModuleInstantiation. De bijbehorende bepaling heeft in R25-11 de status DRAFT (TPS_ManifestSpecification p. 677). De module-instantie specialiseert NonOsModuleInstantiation en refereert via stateDepFirewall aan willekeurig veel StateDependentFirewall-elementen.

Een StateDependentFirewall bevat:

  • optioneel een defaultAction van het type FirewallActionEnum,
  • geordende firewallRuleProps,
  • via firewallState (instanceRef) verwijzingen naar de ModeDeclaration's waarin deze van toepassing is (TPS_ManifestSpecification p. 679).

Het System Template beschrijft deze beknopt als “Firewall rules that are defined in a firewall state” (TPS_SystemTemplate p. 644).

De regels zelf zijn FirewallRule-elementen met attributen zoals bucketSize en refillAmount. Daarnaast bevat het metamodel NetworkLayerRule en TransportLayerRule, de laatste onder andere met portbereiken en checksumVerification. Ook een CouplingElement kan via firewallRule regels aggregeren (TPS_ManifestSpecification p. 679). Voor details verwijst het System Template uitdrukkelijk naar de manifestspecificatie (TPS_SystemTemplate p. 644).

De verbinding met de applicatie wordt tot stand gebracht door AdaptiveFirewallToPortPrototypeMapping. Deze beeldt de module-instantie (referentie firewall, 0..1) af op de RPortPrototype van de applicatie, die getypeerd is door de interface voor toestandswijziging (TPS_ManifestSpecification p. 677). Er gelden twee beperkingen:

  • De klassenotitie noemt de interface FirewallModeSwitchInterface, de afbeeldingstitel en API daarentegen FirewallStateSwitchInterface. Voor de code is de naam uit [AP_SWS_Fw_82002] doorslaggevend.
  • De mappingklasse en haar referentie hebben de status candidate (TPS_ManifestSpecification p. 677).
manifest inst AdaptiveFirewallModuleInstantiation (NonOsModuleInstantiation) sdf StateDependentFirewall defaultAction: FirewallActionEnum [0..1] inst->sdf stateDepFirewall 0..* props firewallRuleProps 0..*, geordnet sdf->props aggregiert md ModeDeclaration (Firewall-Zustand) sdf->md firewallState 0..* (instanceRef) ce CouplingElement rule FirewallRule bucketSize, refillAmount ce->rule firewallRule 0..* map AdaptiveFirewallToPortPrototypeMapping (candidate) map->inst firewall 0..1 rport RPortPrototype van de Adaptive Application map->rport ordnet zu fwssi FirewallStateSwitchInterface rport->fwssi typisiert durch

Contextdiagram (metamodel): De module-instantie bundelt toestandafhankelijke regelsets. De mapping verbindt deze met de R-port van de applicatie. Bronnen: TPS_ManifestSpecification p. 677, TPS_ManifestSpecification p. 679, TPS_ManifestSpecification p. 677

Verloop van een toestandsverandering met SwitchFirewallState

Aan de codezijde bindt de applicatie ara/fw/firewall_state.h in. Zij creëert ara::fw::FirewallStateSwitchInterface via de expliciete constructor vanuit een ara::core::InstanceSpecifier. Deze constructor is noexcept en thread-safe [AP_SWS_Fw_82002].

De toestandsverandering wordt aangevraagd door SwitchFirewallState(EnumT firewallState). De methode is noexcept en levert een ara::core::Future<void> op. De hiervoor vastgelegde fouten FwErrc::kServiceNotAvailable en FwErrc::kInvalidStateDependentFirewall komen daarom terug via de Future en niet als exceptie [AP_SWS_Fw_82008].

Het scenario “Switch Firewall State” toont het interne verloop in drie stappen (EXP_SWArchitecture p. 232):

  1. De applicatie roept SwitchFirewallState() aan op de FC Firewall.
  2. De cluster roept in een lus “foreach FirewallRule” telkens applyRule() aan op het besturingssysteem.
  3. Pas na de lus keert het antwoord terug naar de applicatie.

applyRule() is daar aangeduid als «aapInformative». Hoe de regels in het besturingssysteem worden geactiveerd, is in de payload niet vastgelegd als platform-API. De R22-11-versie toonde hetzelfde verloop als succesvol scenario (EXP_SWArchitecture p. 158). Na de verandering controleren en filteren alleen nog de regels van de actieve toestand (EXP_PlatformDesign p. 92).

Toestandsovergangen van de FirewallAdaptive ApplicationFC Firewall (FirewallStateSwitchInterface)Operating SystemUse Case: InitialisierungFirewallStateSwitchInterface(instance)explicit, noexcept, thread-safeUse Case: ZustandswechselSwitchFirewallState(firewallState)Interpretatie: waarde van de gegenereerde toestandsenumeratieRetourwaarde: ara::core::Future<void>altWissel mogelijkloopforeach FirewallRuleapplyRule()«aapInformative»Future vervuld (void)FehlerFuture met FwErrc::kServiceNotAvailableof FwErrc::kInvalidStateDependentFirewallDaarna filteren alleen de regelsvan de actieve toestand

Sequentiediagram: De toestandsverandering wordt asynchroon teruggemeld via een Future. Intern past de cluster elke regel afzonderlijk toe. Bronnen: EXP_SWArchitecture p. 232, [AP_SWS_Fw_82002], [AP_SWS_Fw_82008]

Levensduur, kopieer- en move-regels van de interfaceklasse

De speciale functies van FirewallStateSwitchInterface leggen vast hoe instanties mogen worden doorgegeven ([AP_SWS_Fw_82003] tot [AP_SWS_Fw_82007]):

ElementVastleggingThread-safety
Constructor uit InstanceSpecifierexplicit, noexcept [AP_SWS_Fw_82002]thread-safe
Copy-constructor / copy-assignment=delete [AP_SWS_Fw_82004] [AP_SWS_Fw_82005]–
Move-constructor / move-assignmentnoexcept [AP_SWS_Fw_82006] [AP_SWS_Fw_82007]not thread-safe
Destructornoexcept [AP_SWS_Fw_82003]not thread-safe

Hieruit volgen drie regels voor het gebruik:

Over de thread-safety van SwitchFirewallState zelf doet de requirementtekst geen uitspraak [AP_SWS_Fw_82008].

lebenszyklus start gueltig Geldige instantie start->gueltig FirewallStateSwitchInterface(instance) noexcept, thread-safe gueltig->gueltig SwitchFirewallState(...) gueltig->gueltig als doelobject van een move (interpretatie: neemt rol over) uebertragen Bronobject na move (interpretatie: niet verder gebruiken) gueltig->uebertragen Move-Konstruktor / Move-Zuweisung noexcept, not thread-safe (Kopieren: =delete) zerstoert Vernietigd gueltig->zerstoert ~FirewallStateSwitchInterface() noexcept, not thread-safe uebertragen->zerstoert ~FirewallStateSwitchInterface()

Toestandsdiagram: Een instantie ontstaat uit een InstanceSpecifier, wordt uitsluitend via move overgedragen en ten slotte vernietigd. Bronnen: [AP_SWS_Fw_82002], [AP_SWS_Fw_82003], [AP_SWS_Fw_82006], [AP_SWS_Fw_82007]

Pakketfiltering in de actieve toestand en melding van Security Events

Firewall-regels kunnen worden toegewezen aan een Firewall-toestand. Voor de controle van een pakket worden alleen de regels van de momenteel actieve toestand gebruikt (EXP_PlatformDesign p. 92). Per toestand stelt de StateDependentFirewall de geordende regeleigenschappen en de optionele defaultAction beschikbaar (TPS_ManifestSpecification p. 679).

De SWS-versie R23-11 beschrijft de toewijzing van Security Events nauwkeuriger (SWS_Firewall p. 31):

  • Past een pakket op geen enkele regel, dan treedt de default-actie in werking.
  • Blokkeert de default-actie het pakket, dan bepaalt de cluster het afwijkende protocol. Doorslaggevend is de regel met de meeste overeenkomende ISO/OSI-lagen, geteld vanaf de onderste laag. De eerste niet-overeenkomende laag daarboven bepaalt het protocol.
  • Voor dit protocol wordt een SEv gemeld aan de IdsM, bijvoorbeeld SEV_FW_PACKET_BLOCKED_DATALINKLAYER_MISMATCH (Ethernet), SEV_FW_PACKET_BLOCKED_IPV4_MISMATCH, SEV_FW_PACKET_BLOCKED_IPV6_MISMATCH of SEV_FW_PACKET_BLOCKED_ICMP_MISMATCH.

Deze details zijn afkomstig uit R23-11. De bijbehorende requirements maken geen deel uit van de R25-11-payload en zijn hier daarom toelichtend, niet normatief weergegeven. Het uitgangspunt dat geblokkeerde berichten als SEvs naar de IdsM gaan, geldt volgens de architectuurbeschrijving ook voor R25-11 (EXP_PlatformDesign p. 92).

paketpruefung start ein Netwerkpakket komt binnen start->ein regeln Regels van de actieve firewalltoestand raadplegen ein->regeln passt past er een regel? regeln->passt regel passende regel wordt toegepast passt->regel ja da defaultAction greift passt->da nein ende regel->ende blockiert durch Default-Aktion blockiert? da->blockiert ebene Afwijkingsprotocol bepalen: regel met de meeste passende lagen vanaf de onderste laag (R23-11) blockiert->ebene ja blockiert->ende nein sev SEv an IdsM, z. B. SEV_FW_PACKET_BLOCKED_IPV4_MISMATCH ebene->sev sev->ende

Activiteitendiagram: Een pakket wordt getoetst aan de regels van de actieve toestand. Een default-blokkering leidt tot een protocolspecifieke SEv naar de IdsM. Bronnen: EXP_PlatformDesign p. 92, SWS_Firewall p. 31 (R23-11)

Gedrag in het foutgeval

De foutcodes van de module worden gedefinieerd door FwErrc in header ara/fw/fw_error_domain.h: kServiceNotAvailable=1 en kInvalidStateDependentFirewall=2 [AP_SWS_Fw_83001]. Beide zijn voor SwitchFirewallState als mogelijke fouten vastgelegd [AP_SWS_Fw_82008]. Interpretatie van de namen, aangezien de requirements geen triggerende voorwaarden vermelden:

  • kServiceNotAvailable meldt vermoedelijk dat de op daemons gebaseerde FC Firewall de dienst niet kan leveren. Vraag (open)
  • kInvalidStateDependentFirewall meldt vermoedelijk dat er voor de opgevraagde toestand geen geldige StateDependentFirewall beschikbaar is. Vraag (open)

Het foutdomein volgt het gebruikelijke ara::core-patroon:

Wie met excepties werkt, kan een foutcode via ThrowAsException omzetten in een FwException. Deze functie is noexcept(false) en geclassificeerd als „not exception safe” [AP_SWS_Fw_83012] [AP_SWS_Fw_83005]. Geblokkeerde pakketten vormen daarentegen geen API-fout. Ze verschijnen als Security Events bij de IdsM (EXP_PlatformDesign p. 92).

fehler start aufruf SwitchFirewallState(firewallState) start->aufruf fut Resultaat uit ara::core::Future<void> evalueren aufruf->fut ok Fehler? fut->ok erfolg Zustandswechsel abgeschlossen ok->erfolg nein code FwErrc ok->code ja ende erfolg->ende sna kServiceNotAvailable (1) Interpretatie: FC Firewall niet beschikbaar code->sna inv kInvalidStateDependentFirewall (2) Interpretatie: geen geldige StateDependentFirewall voor doeltoestand code->inv diag Diagnose: GetFwErrorDomain(), Name(), Message(errorCode) sna->diag inv->diag thr optional: ThrowAsException() wirft FwException diag->thr diag->ende zonder exceptie thr->ende

Activiteitendiagram: Het resultaat van de toestandswissel wordt via het Future geëvalueerd. Fouten verlopen via FwErrorDomain en kunnen optioneel als FwException worden geworpen. Bronnen: [AP_SWS_Fw_82008], [AP_SWS_Fw_83001], [AP_SWS_Fw_83011], [AP_SWS_Fw_83012]

Verdere gedetailleerde bewijzen

De volgende passages ondersteunen de stellingen in deze leidraad; de requirements zijn normatief voor R25-11 ([AP_SWS_Fw_82008]).

Door AI gegenereerde leidraad op basis van de in de payload opgenomen requirements en documentpassages voor R25-11. Uitspraken uit andere releases zijn als zodanig aangeduid; passages die als interpretatie zijn gemarkeerd, zijn niet normatief onderbouwd.

Spezifikation: AUTOSAR_AP_SWS_Firewall.pdf (R25-11) · 23 API-Records

3 Klassen2 Namespaces1 Enumeration2 freie Funktionen

ara::fw

Returns a reference to the FwErrorDomain object.

constexpr const ara::core::ErrorDomain &GetFwErrorDomain() noexcept;

Creates an ErrorCode instance.

constexpr ara::core::ErrorCode MakeErrorCode(ara::fw::FwErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;
FwErrc enumeratie

Defines the error codes for FwErrorDomain.

enum class FwErrc : ara::core::ErrorDomain::CodeType {...};

ara::fw::states

{<fwssi-sn>} enumeratie

Defines the firewall states for FirewallStateSwitchInterface. The actual type is generated for each modeled interface.

enum class {<fwssi-sn>} : std::uint32_t {...};

Generated enumerator declaration for each modeled firewall state.

{<symbol-fw-state>} = {<fw-state-value>};

Namespaces

Klassen