Logo ISOR: in elkaar gehaakte hangsloten met de tekst Information Security Obeject Repository
Afbeeldingsinformatie

Softwarepakketten Uitvoering

Versie 1.1 van 30 maart 2021 van de BIO Thema-uitwerking Softwarepakketten is vervangen door versie 1.2 van 26 oktober 2021.
De wijzigingen betreffen met name de uniformering van objectdefinities en objectnamen in en tussen BIO Thema-uitwerkingen.
Versie 1.2 in PDF-formaat is op de website CIP-overheid/producten gepubliceerd.

Deze informatie is onderdeel van BIO Thema-uitwerking Softwarepakketten.

Meer lezenbewerken

BIO Thema-uitwerking Softwarepakketten
Alle normenkaders
Beveiligingsaspecten
Invalshoeken
ISOR

Doelstellingbewerken

De doelstelling van het uitvoeringsdomein is te waarborgen dat de operationele functionele en non-functionele eisen die deel uitmaken van het Programma van Eisen (PvE) voor het verwerven van softwarepakketten gebaseerd zijn op organisatorische- en technische uitgangspunten van de organisaties.

Risico'sbewerken

Als adequate normen en maatregelen voor de inzet en veilig gebruik van softwarepakketten ontbreken, dan ontstaan enerzijds risico’s voor het verkrijgen van onjuiste functionaliteiten en anderzijds risico’s voor het verkrijgen van een softwarepakket met onvoldoende beschermende eigenschappen binnen het softwarepakket.


Cyberaanvallen maken meestal misbruik van kwetsbaarheden in standaard software, zoals softwarepakketten. Kwetsbaarheden kunnen om vele redenen aanwezig zijn, zoals codeerfouten, logische fouten, door onvolledige vereisten vanuit opdrachtgevers en het niet testen op ongebruikelijke of onverwachte omstandigheden. Veel voorkomende specifieke fouten (en daarmee kwetsbaarheden) in software zijn:

  • Het niet controleren van de omvang van gebruikersinvoer (Structured Query Language (SQL)-injection).
  • Het niet filteren op potentieel kwaadaardige tekenreeksen van invoerstromen.
  • Het niet initialiseren en wissen van variabelen.
  • Slecht geheugenbeheer waardoor overflows optreden en softwarefouten kunnen worden beïnvloed.


Per object is aangegeven welke risico’s de bedrijfsvoering van organisaties lopen, wanneer beveiligingsmaatregelen niet of in onvoldoende mate worden geïmplementeerd.

Objecten, controls en maatregelen

Onderstaande afbeelding geeft de ordening van beveiligingsobjecten in het uitvoeringsdomein weer met invalshoeken voor deze BIO Thema-uitwerking. Elk objectblok bevat de objectnaam, het basiselement en het objectnummer. Oranjegekleurde objecten zijn afgeleid van de Baseline Informatiebeveiliging Overheid (BIO). De witte objecten zijn afgeleid van overige best practices.


”Dit schema geeft alle beveiligingsobjecten weer voor softwarepakketten die horen in het uitvoeringdomein”
Overzicht objecten voor softwarepakketten in het uitvoeringsdomein


De objecten zijn in de volgende paragrafen uitgewerkt. Echter niet elk object is van toepassing voor elke softwarepakketselectie. Dit hangt af van verschillende factoren zoals: schaalgrootte, hostingslocatie, soort en integreerbaarheid met de bestaande IT. Anders dan in andere thema-uitwerkingen zijn aan deze thema-uitwerking toegevoegd:


  1. Schaalgrootte, De schaalgrootte geeft een globale indicatie (klein, middel of groot) in hoeverre de schaalgrootte van softwarepakketten van invloed kan zijn op de relevantie van een beveiligingsprincipe. Met klein wordt bedoeld getalsmatig en/of bedrijfsmatige impactbeperkte toepassing. Middel is voor middelgrote bedrijfstoepassingen, zoals boekhouding- en officetoepassingen. De waarde groot is voor grootschalig gebruik, enerzijds in aantallen, anderzijds in omvang van het softwarepakket zoals Enterprise Resource Planning (ERP) en Enterprise Data Warehouses (EDW).
  2. Voor wie het criterium van toepassing is, Het gaat om de klant (de eisensteller) en/of de leverancier (levert het softwarepakket of diensten). In veel gevallen is samenwerking tussen de klant en leverancier nodig om risico’s tijdens het gebruik van de softwarepakketten afdoende te beperken.


Principes uit de BIO Thema-uitwerking Softwarepakketten binnen dit aspectbewerken

IDPrincipeCriterium
SWP_U.01Levenscyclusmanagement softwarepakkettenDe leverancier behoort de klant te adviseren met marktontwikkelingen en kennis van (de leeftijd van) applicaties en technische softwarestack over strategische ontwikkeling en innovatieve keuzes voor het ontwikkelen en onderhouden van informatiesystemen in het applicatielandschap.
SWP_U.02Beperking wijziging softwarepakketWijzigingen aan softwarepakketten behoren te worden ontraden, beperkt tot noodzakelijke veranderingen en alle veranderingen behoren strikt te worden gecontroleerd.
SWP_U.03BedrijfscontinuïteitVoor kritieke softwarepakketten en diensten zijn procedures en een continuïteitsaanpak vastgelegd om verstoringen door uitval van de leverancier te beperken.
SWP_U.04Input-/output-validatieHet softwarepakket behoort mechanismen te bevatten voor normalisatie en validatie van invoer en voor schoning van de uitvoer.
SWP_U.05SessiebeheerSessies behoren authentiek te zijn voor elke gebruiker en behoren ongeldig gemaakt te worden na een time-out of perioden van inactiviteit.
SWP_U.06GegevensopslagTe beschermen gegevens worden veilig opgeslagen in databases of bestanden, waarbij zeer gevoelige gegevens worden versleuteld. Opslag vindt alleen plaats als noodzakelijk.
SWP_U.07CommunicatieHet softwarepakket past versleuteling toe op de communicatie van gegevens die passend bij het classificatieniveau is van de gegevens en controleert hierop.
SWP_U.08AuthenticatieSoftwarepakketten behoren de identiteiten van gebruikers vast te stellen met een mechanisme voor identificatie en authenticatie.
SWP_U.09ToegangsautorisatieHet softwarepakket behoort een autorisatiemechanisme te bieden.
SWP_U.10AutorisatiebeheerDe rechten die gebruikers hebben binnen een softwarepakket (inclusief beheerders) zijn zo ingericht dat autorisaties kunnen worden toegewezen aan organisatorische functies en scheiding van niet verenigbare autorisaties mogelijk is.
SWP_U.11LoggingHet softwarepakket biedt signaleringsfuncties voor registratie en detectie die beveiligd zijn ingericht.
SWP_U.12Application Programming Interface (API)Softwarepakketten behoren veilige API’s te gebruiken voor import en export van gegevens.
SWP_U.13GegevensimportSoftwarepakketten behoren mechanismen te bieden om niet-vertrouwde bestandsgegevens uit niet-vertrouwde omgevingen veilig te importeren en veilig op te slaan.

Normen uit de BIO Thema-uitwerking Softwarepakketten binnen dit aspectbewerken

IDStellingNorm
SWP_U.01.01Tussen de leverancier en klant is een procedure afgesproken voor het tijdig actualiseren/opwaarderen van verouderde softwarepakketten uit de technische stack.Afspreken procedure voor tijdig actualiseren verouderde software
SWP_U.01.02De leverancier onderhoudt een registratie van de gebruikte softwarestack. Hierin is de vermelding van de uiterste datum dat ondersteuning plaatsvindt opgenomen, waardoor inzicht bestaat in de door de leverancier ondersteunde versies van de software.Onderhouden registratie gebruikte softwarestack
SWP_U.01.03Technologische innovaties van softwarepakketten worden aan de klant gecommuniceerd en de toepassing daarvan wordt afgestemd met de klant voor implementatie.Communiceren technologische innovaties van softwarepakketten
SWP_U.02.01Bij nieuwe softwarepakketten en bij wijzigingen op bestaande softwarepakketten moet een expliciete risicoafweging worden uitgevoerd ten behoeve van het vaststellen van de beveiligingseisen, uitgaande van de Baseline Informatiebeveiliging Overheid (BIO).Uitvoeren expliciete risicoafweging bij nieuwe software
SWP_U.02.02Wijzigingen die door leveranciers worden geleverd, worden waar mogelijk en haalbaar ongewijzigd overgenomen.Ongewijzigd gebruiken gewijzigde softwarepakketten
SWP_U.02.03Indien vereist worden de wijzigingen door een onafhankelijke beoordelingsinstantie getest en gevalideerd (dit geldt waarvoor mogelijk ook voor software in de cloud).Testen en valideren van wijzigingen
SWP_U.03.01Bij verwerving en gebruik van softwarepakketten wordt een risicobeoordeling uitgevoerd op korte- en langetermijncontinuïteitsrisico's. Er worden afspraken gemaakt over disaster recovery, dataherstel, alternatieve locaties en dataoverdraagbaarheid. Daarnaast zijn afspraken over reservecertificaten van een alternatieve leverancier gemaakt als uit de risicoafweging blijkt dat deze noodzakelijk zijn als onderdeel van gereedheid voor bedrijfscontinuïteit.Adequate risicobeheersing
SWP_U.03.02De maximale uitvaltijd en hersteltijd (RTO/RPO) voor de functionaliteit en data van het softwarepakket zijn vastgelegd en worden getest in praktijk.Herstellen data softwarepakket en bedrijfsmatige bewerking gegevens
SWP_U.03.03Continuïteitsgaranties (inclusief herstelprocedures en uitwijklocaties) zijn contractueel overeengekomen en worden periodiek getest. Bij cloud-leveranciers worden specifieke continuïteitsgaranties vastgelegd en gecontroleerd.Testen werking herstelprocedures voor disaster recovery
SWP_U.04.01Het softwarepakket zorgt dat de invoer in een gestandaardiseerde vorm komt, zodat deze herkend en gevalideerd kan worden.Zorgen voor gestandaardiseerde vorm
SWP_U.04.02Foute, ongeldige of verboden invoer wordt geweigerd of onschadelijk gemaakt. Het softwarepakket (of Software as a Service (SaaS)) voert deze controle van de invoer uit aan de serverzijde en vertrouwt niet op maatregelen aan de clientzijde.Weigeren foute, ongeldige of verboden invoer
SWP_U.04.03Het softwarepakket (of Software as a Service (SaaS)) valideert alle invoer die de gebruiker aan het softwarepakket verstrekt.Valideren verstrekte invoer aan softwarepakket
SWP_U.04.04Binnen het softwarepakket zijn beveiligingsmechanismen ingebouwd om bij import van gegevens, zogenaamde ‘ingesloten’ aanvallen te detecteren.Ingebouwde mechnismen om aanvallen te detecteren
SWP_U.04.05Alle uitvoer wordt naar een veilig formaat geconverteerd.Uitvoer naar veilig formaat converteren
SWP_U.05.01Softwarepakketten hergebruiken nooit sessie-tokens in URL-parameters of foutberichten.Niet hergebruiken token-sessies
SWP_U.05.02Softwarepakketten genereren alleen nieuwe sessies met een gebruikersauthenticatie.Genereren nieuwe sessie met gebruikersauthenticatie
SWP_U.05.03Sessies hebben een specifiek einde en worden automatisch ongeldig gemaakt wanneer:
  • ze niet langer nodig zijn;
  • gebruikers hun sessie expliciet hebben laten verlopen;
  • de limiet voor het verlopen van de harde sessies is bereikt.
Automatisch ongeldig maken sessies
SWP_U.06.01De opdrachtgever specificeert de classificatie van gegevens.Specificeren gegevensclassificatie
SWP_U.06.02Indien van een gegeven niet de classificatie van vertrouwelijkheid is vastgesteld, wordt het gegeven per default veilig opgeslagen.Per default velig opslaan gegeven
SWP_U.06.03Het softwarepakket voorkomt dat wachtwoorden in leesbare vorm worden opgeslagen door gebruik van hashing in combinatie met salts en minimaal 10.000 rounds of hashing.Voorkomen opslag wachtwoorden in leesbare vorm
SWP_U.06.04Gegevens worden door het softwarepakket deugdelijk versleuteld opgeslagen met passende standaarden voor cryptografie, tenzij door de gegevenseigenaar is gedocumenteerd dat dit niet noodzakelijk is. De sterkte van de cryptografie wordt gebaseerd op de actuele adviezen van het NCSC en de Unit Weerbaarheid van het NBV van de AIVD.Versleuteld opslaan van gegevens met cryptografiestandaarden
SWP_U.06.05Te beschermen gegevens worden door het softwarepakket alleen opgeslagen als dat nodig is voor het doel en voor de kortst mogelijke tijd, zijnde de kortste periode tussen het vervullen van de toepassing en de door wet- of regelgeving verplichte periode.Opslag gegevens als nodig voor doel en korste tijd
SWP_U.07.01De sterkte van de cryptografie wordt gebaseerd op de actuele adviezen van het NCSC en de Unit Weerbaarheid van het NBV van de AIVD.Voldoen aan passende standaarden
SWP_U.07.02Het platform waarop het softwarepakket draait, zorgt voor de versleuteling van communicatie tussen de applicatieserver en webserver en tussen de applicatie en database. De webserver forceert versleuteling tussen de webserver en client.Versleutelen communicatie tussen applicatie- en webserver
SWP_U.07.03De opdrachtgever specificeert de classificatie van de gegevens die worden uitgewisseld en waarvoor versleuteling plaatsvindt.Specificeren classificatie van uit te wisselen gegevens
SWP_U.07.04Het softwarepakket zorgt waar mogelijk voor verificatie dat het certificaat:
  • is ondertekend door een vertrouwde Certificate Authority (CA);
  • een valide geldigheidsduur heeft;
  • nog geldig is en niet is ingetrokken.
Zorgen voor certificaatverificatie
SWP_U.07.05De versleutelde communicatie van het softwarepakket kan zodanig worden geconfigureerd, dat er geen terugval naar niet of onvoldoende versleutelde communicatie ontstaat.Configureren versleutelde communicatie softwarepakket
SWP_U.08.01De authenticiteit wordt bereikt bij het zekerstellen van de volgende twee activiteiten:
  • Alle gebruikers zijn juist geauthentiseerd voordat ze toegang krijgen tot (modulen van) het softwarepakket.
  • Gebruikers kunnen veilig worden toegevoegd, verwijderd en/of geüpdatet in functies/functionaliteiten.
  • Bereiken authenticiteit
    SWP_U.08.02De configuratie van de identificatie- en authenticatievoorziening waarborgt dat de geauthentiseerde persoon inderdaad de geïdentificeerde persoon is.Waarborgen dat geauthentiseerde persoon de geïdentificeerde persoon is
    SWP_U.08.03Het inlogmechanisme is robuust tegen herhaaldelijke, geautomatiseerde of verdachte pogingen om wachtwoorden te raden (brute-forcing of password spraying en hergebruik van gelekte wachtwoorden).Robuust zijn tegen wachtwoorden raden
    SWP_U.09.01Het softwarepakket biedt mechanismen, waarmee gebruikers, overeenkomstig hun verleende rechten en rollen, alleen informatie met specifiek belang kunnen inzien en verwerken die ze nodig hebben voor de uitoefening van hun taak.Bieden mechnismen om informatie in te zien en verwerken voor uitoefening taak
    SWP_U.09.02Beheer(ders)functies van softwarepakketten worden extra beschermd, waarmee misbruik van rechten wordt voorkomen.Beschermen beheer(ders)functies
    SWP_U.10.01De rechten voor toegang tot gegevens en functies in het softwarepakket zijn op een beheersbare wijze geordend, gebruik makend van autorisatiegroepen.Ordenen rechten voor toegang tot gegevens en functies
    SWP_U.10.02Met taken, verantwoordelijkheden en bevoegdheden zijn verenigbare taken en autorisaties geïdentificeerd.Identificeren verenigbare taken en autorisaties
    SWP_U.11.01In de architectuur van het softwarepakket zijn detectiemechanismen actief voor het detecteren van aanvallen.Actief zijn van detectiemechanismen
    SWP_U.11.02De te registreren acties worden centraal opgeslagen.Centraal opslaan te registreren acties
    SWP_U.11.03Er is vooraf bepaald wat te doen bij het uitvallen van loggingsmechanismen (alternatieve paden).Bepalen acties bij uitval loggingsmechanismen
    SWP_U.11.04De (online of offline) bewaartermijn voor logging is vastgesteld en komt tot uitdrukking in de configuratie-instellingen van binnen het softwarepakket.Vaststellen bewaartermijn voor logging
    SWP_U.12.01Het softwarepakket maakt tijdens verwerking gebruik van veilige API’s op basis waarvan additionele gegevens uit externe bronnen kunnen worden ingelezen en verwerkt.Gebruik maken van veilige API's tijdens verwerking
    SWP_U.12.02Application Programming Interface (API)-URL’s geven geen gevoelige informatie, zoals de API-sleutel, sessie-tokens enz. weer.Niet weergegeven van gevoelige informatie
    SWP_U.12.03Het softwarepakket maakt gebruik van veilige Application Programming Interfaces (API’s), die (automatisch) gebruikersdata scheiden van applicatiecode, waarmee injectie kwetsbaarheden zoals Structured Query Language (SQL) injection en Cross-Site Scripting (XSS) te voorkomen.Gebruik maken van veilige API's die gebruikersdata scheiden
    SWP_U.12.04Het softwarepakket gebruikt veilige Application Programming Interfaces (API’s) die bufferlengtes controleren, waarmee kwetsbaarheden als Buffer- en Integer overflow worden voorkomen.Veilige API's gebruiken
    SWP_U.13.01Het softwarepakket biedt een flexibel quotummechanisme voor het importeren van gegevens uit externe bronnen.Bieden flexibel quotummechanisme
    SWP_U.13.02Binnen het softwarepakket zijn beveiligingsmechanismen ingebouwd om bij import van gegevens, ‘ingesloten’ aanvallen te detecteren.Beveiligingsmechanismen inbouwen voor detectie ingesloten aanvallen
    SWP_U.13.03Het softwarepakket accepteert geen extreem grote bestanden, die buffers of het werkgeheugen kunnen ‘overspoelen’ en daarmee een Denial-of-Service (DoS)-aanval kunnen veroorzaken.Geen grote bestanden accepteren
    SWP_U10.03Er bestaat een proces voor het definiëren en onderhouden van de autorisaties.Proces voor definiëren en onderhouden van autorisaties