STRIDE-voorbeeld: een industriële gateway

Sytance · Bijgewerkt

STRIDE gebruikt zes dreigingscategorieën om te onderzoeken hoe een systeem kan worden aangevallen. De fictieve industriële gateway hieronder illustreert voor elke categorie een scenario, een voorgestelde maatregel en een testcriterium. Deze voorbeelden beschrijven mogelijke aanvallen en geplande tests.

De gateway en de vertrouwensgrenzen

Een operator gebruikt een browser om de beheer-API van de gateway aan te roepen. De API leest en schrijft in een lokale configuratieopslag. Een lokale controller stuurt operationele gegevens naar de gateway, die telemetrie doorstuurt naar een externe service. Een afzonderlijke updateservice levert firmwarepakketten.

De beheer- en telemetrieverbindingen gebruiken in dit voorbeeld TLS. De authenticatie van de controllerinterface en het vertrouwensmechanisme voor updates zijn nog openstaande ontwerpvragen. Een locatie op het lokale netwerk stelt op zichzelf niet de identiteit of bevoegdheid van een afzender vast.

  • Browser → beheer-API: sessies, statusverzoeken en configuratiewijzigingen.
  • Beheer-API → configuratieopslag: opgeslagen instellingen en toegang tot geheimen.
  • Lokale controller → gateway: operationele invoer vanuit het locatienetwerk.
  • Gateway → telemetrieservice: apparaatidentiteit en telemetriegegevens.
  • Updateservice → gateway: pakketmetadata en firmware-inhoud.

Identiteit nabootsen op de controllerinterface

Een aanvaller op het locatienetwerk verstuurt berichten die afkomstig lijken van de lokale controller. Als de gateway alleen op een bronadres vertrouwt, kunnen vervalste operationele gegevens in de telemetriestroom terechtkomen.

Voorgestelde maatregel: stel een apparaatidentiteit vast en verifieer deze voordat berichten worden geaccepteerd. Als de controller geen authenticatie ondersteunt, beoordeel dan andere manieren om de interface te beschermen en welke aanvallen mogelijk blijven. Een netwerksegment bewijst op zichzelf niet waar een bericht vandaan komt.

Verificatiecriterium: berichten van een niet-herkende testidentiteit worden afgewezen, terwijl berichten van de goedgekeurde controller blijven werken. Leg de afwijzing vast en bevestig dat de vervalste waarde de telemetrieservice niet heeft bereikt.

Firmware manipuleren vóór installatie

Een aanvaller vervangt een pakket dat via een gecompromitteerd distributiepunt is verkregen. Versleuteling van het transport naar dat punt bewijst niet dat de fabrikant het pakket heeft geautoriseerd.

Voorgestelde maatregel: verifieer vóór installatie de pakkethandtekening met een geautoriseerd vertrouwensanker. Koppel de verificatie aan de bytes die worden geïnstalleerd en aan het toegestane product. Bepaal afzonderlijk hoe oudere ondertekende versies en ingetrokken ondertekeningssleutels worden behandeld.

Verificatiecriterium: een gewijzigd pakket en een pakket dat is ondertekend met een niet-vertrouwde sleutel worden vóór installatie afgewezen. Na afwijzing moet de gateway in de gespecificeerde bedrijfs- of hersteltoestand blijven.

Niet-traceerbare configuratiewijzigingen

Een bevoegde operator wijzigt de telemetriebestemming, maar de registratie bevat geen individuele identiteit of resultaat. Het team kan de wijziging niet betrouwbaar toeschrijven en kan niet vaststellen of de schrijfopdracht is geslaagd of het verzoek is afgewezen.

Voorgestelde maatregel: registreer de geauthenticeerde identiteit, handeling, doel, tijd en uitkomst. Bescherm de toegang tot logboeken en bepaal wat er gebeurt als de opslag vol is. Neem geen wachtwoorden of toegangstokens op in het logboek.

Verificatiecriterium: een gecontroleerde wijziging leidt tot een overeenkomstige registratie, een onbevoegde gebruiker kan deze niet aanpassen en het auditgedrag bij volle opslag komt overeen met het gedocumenteerde beleid.

Geheimen zichtbaar via configuratieverzoeken

Een statusendpoint retourneert het volledige configuratieobject, met inbegrip van de telemetriegegevens voor toegang. Een gebruiker die de status mag bekijken, krijgt informatie die niet nodig is voor diens rol.

Voorgestelde maatregel: retourneer een doelgerichte respons waarin geheimvelden zijn weggelaten en dwing machtigingen af voor het lezen van configuratie. Versleuteling tijdens transport voorkomt niet dat een respons te veel gegevens bevat.

Verificatiecriterium: controleer de respons voor elke ondersteunde rol en bevestig dat geheime waarden niet voorkomen in de respons, fouten of logboeken.

Invoerverwerking put de gateway uit

Een afzender levert te grote of herhaalde berichten van de controller aan. Het verwerken en bufferen ervan verbruikt middelen die de gateway ook nodig heeft voor beheer en telemetrie.

Voorgestelde maatregel: begrens berichtgroottes en wachtrijen, valideer invoer voordat kostbare verwerking plaatsvindt en isoleer kritieke verwerking. Stel grenzen vast aan de hand van de gemeten capaciteit en het vereiste gedrag van het product bij overbelasting.

Verificatiecriterium: voer in een geautoriseerde testomgeving de overeengekomen overbelastingsgevallen uit en observeer het geheugen, de wachtrijdiepte, de beschikbaarheid van services en het herstel. De acceptatiegrenzen zijn gebaseerd op de eisen voor dit product; er wordt geen universeel tempo verondersteld.

Een gebruiker met alleen leesrechten bereikt een schrijfactie

Een gebruiker kan inloggen en de status bekijken. De gebruiker roept rechtstreeks een API aan om de configuratie te schrijven en omzeilt zo de interface. Als de API alleen authenticatie controleert, krijgt de gebruiker een bevoegdheid die voor beheerders is bestemd.

Voorgestelde maatregel: dwing de machtigingen voor acties en resources server-side af voor elk schrijfpad. Hanteer dezelfde regel voor normale verzoeken, bulkbewerkingen en onderhoudsendpoints.

Verificatiecriterium: rechtstreekse schrijfverzoeken van een account met alleen leesrechten mislukken en de opgeslagen configuratie blijft ongewijzigd. Herhaal de test met een bevoegde account om te bevestigen dat de beoogde handeling nog steeds slaagt.

Dekking en resterende risico's

De zes categorieën volgen de STRIDE-definities van Microsoft. De aanvalsscenario's en maatregelen hangen af van de hierboven beschreven gatewayarchitectuur.

Een echt product kan meerdere aanvalsscenario's binnen één categorie hebben en één aanval kan bij verschillende categorieën passen. De analyse moet ook interfaces voor productie, onderhoud en herstel omvatten als het product die heeft.

Beoordeel na de implementatie en het testen van een maatregel de aanvallen die volgens de overeengekomen risicocriteria mogelijk blijven. Het resulterende besluit geldt voor de geanalyseerde productrelease.

Meer informatie