Softwarepakketten Uitvoering
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 lezen |
Doelstelling[bewerken]
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's[bewerken]
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.
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:
- 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).
- 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 aspect[bewerken]
ID | Principe | Criterium |
---|---|---|
SWP_U.01 | Levenscyclusmanagement softwarepakketten | De 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.02 | Beperking wijziging softwarepakket | Wijzigingen aan softwarepakketten behoren te worden ontraden, beperkt tot noodzakelijke veranderingen en alle veranderingen behoren strikt te worden gecontroleerd. |
SWP_U.03 | Bedrijfscontinuïteit | De leverancier behoort processen, procedures en beheersmaatregelen te documenteren, te implementeren en te handhaven. |
SWP_U.04 | Input-/output-validatie | Het softwarepakket behoort mechanismen te bevatten voor normalisatie en validatie van invoer en voor schoning van de uitvoer. |
SWP_U.05 | Sessiebeheer | Sessies behoren authentiek te zijn voor elke gebruiker en behoren ongeldig gemaakt te worden na een time-out of perioden van inactiviteit. |
SWP_U.06 | Gegevensopslag | Te beschermen gegevens worden veilig opgeslagen in databases of bestanden, waarbij zeer gevoelige gegevens worden versleuteld. Opslag vindt alleen plaats als noodzakelijk. |
SWP_U.07 | Communicatie | Het softwarepakket past versleuteling toe op de communicatie van gegevens die passend bij het classificatieniveau is van de gegevens en controleert hierop. |
SWP_U.08 | Authenticatie | Softwarepakketten behoren de identiteiten van gebruikers vast te stellen met een mechanisme voor identificatie en authenticatie. |
SWP_U.09 | Toegangsautorisatie | Het softwarepakket behoort een autorisatiemechanisme te bieden. |
SWP_U.10 | Autorisatiebeheer | De 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.11 | Logging | Het softwarepakket biedt signaleringsfuncties voor registratie en detectie die beveiligd zijn ingericht. |
SWP_U.12 | Application Programming Interface (API) | Softwarepakketten behoren veilige API’s te gebruiken voor import en export van gegevens. |
SWP_U.13 | Gegevensimport | Softwarepakketten 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 aspect[bewerken]
ID | Stelling | Norm |
---|---|---|
SWP_U.01.01 | Tussen 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.02 | De 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.03 | Technologische 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.01 | Bij 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.02 | Wijzigingen in, door leveranciers geleverde, softwarepakketten worden, voor zover mogelijk en haalbaar, ongewijzigd gebruikt. | Ongewijzigd gebruiken gewijzigde softwarepakketten |
SWP_U.02.03 | Indien 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.01 | Een adequate risicobeheersing bij de klant impliceert een voorbereiding op het voor korte of lange termijn wegvallen van leveranciersondersteuning:
| Adequate risicobeheersing |
SWP_U.03.02 | De data behorende bij het softwarepakket en de beoogde bedrijfsmatige bewerking van de gegevens kan worden hersteld binnen de overeengekomen maximale uitvalsduur. | Herstellen data softwarepakket en bedrijfsmatige bewerking gegevens |
SWP_U.03.03 | Periodiek wordt de beoogde werking van de disaster recovery herstelprocedures in de praktijk getest. Met cloud-leveranciers worden continuïteitsgaranties overeengekomen. | Testen werking herstelprocedures voor disaster recovery |
SWP_U.04.01 | Het softwarepakket zorgt dat de invoer in een gestandaardiseerde vorm komt, zodat deze herkend en gevalideerd kan worden. | Zorgen voor gestandaardiseerde vorm |
SWP_U.04.02 | Foute, 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.03 | Het 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.04 | Binnen het softwarepakket zijn beveiligingsmechanismen ingebouwd om bij import van gegevens, zogenaamde ‘ingesloten’ aanvallen te detecteren. | Ingebouwde mechnismen om aanvallen te detecteren |
SWP_U.04.05 | Alle uitvoer wordt naar een veilig formaat geconverteerd. | Uitvoer naar veilig formaat converteren |
SWP_U.05.01 | Softwarepakketten hergebruiken nooit sessie-tokens in URL-parameters of foutberichten. | Niet hergebruiken token-sessies |
SWP_U.05.02 | Softwarepakketten genereren alleen nieuwe sessies met een gebruikersauthenticatie. | Genereren nieuwe sessie met gebruikersauthenticatie |
SWP_U.05.03 | Sessies hebben een specifiek einde en worden automatisch ongeldig gemaakt wanneer:
| Automatisch ongeldig maken sessies |
SWP_U.06.01 | De opdrachtgever specificeert de classificatie van gegevens. | Specificeren gegevensclassificatie |
SWP_U.06.02 | Indien 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.03 | Het 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.04 | Gegevens worden door het softwarepakket deugdelijk versleuteld opgeslagen met passende standaarden voor cryptografie, tenzij door de gegevenseigenaar is gedocumenteerd dat dit niet noodzakelijk is. Cryptografische toepassingen voldoen aan passende standaarden. | Versleuteld opslaan van gegevens met cryptografiestandaarden |
SWP_U.06.05 | Te 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.01 | Cryptografische toepassingen voldoen aan passende standaarden. | Voldoen aan passende standaarden |
SWP_U.07.02 | Het 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.03 | De opdrachtgever specificeert de classificatie van de gegevens die worden uitgewisseld en waarvoor versleuteling plaatsvindt. | Specificeren classificatie van uit te wisselen gegevens |
SWP_U.07.04 | Het softwarepakket zorgt waar mogelijk voor verificatie dat het certificaat:
| Zorgen voor certificaatverificatie |
SWP_U.07.05 | De 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.01 | De authenticiteit wordt bereikt bij het zekerstellen van de volgende twee activiteiten:
| Bereiken authenticiteit |
SWP_U.08.02 | De 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.03 | Het 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.01 | Het 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.02 | Beheer(ders)functies van softwarepakketten worden extra beschermd, waarmee misbruik van rechten wordt voorkomen. | Beschermen beheer(ders)functies |
SWP_U.10.01 | De 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.02 | Met taken, verantwoordelijkheden en bevoegdheden zijn verenigbare taken en autorisaties geïdentificeerd. | Identificeren verenigbare taken en autorisaties |
SWP_U.11.01 | In de architectuur van het softwarepakket zijn detectiemechanismen actief voor het detecteren van aanvallen. | Actief zijn van detectiemechanismen |
SWP_U.11.02 | De te registreren acties worden centraal opgeslagen. | Centraal opslaan te registreren acties |
SWP_U.11.03 | Er is vooraf bepaald wat te doen bij het uitvallen van loggingsmechanismen (alternatieve paden). | Bepalen acties bij uitval loggingsmechanismen |
SWP_U.11.04 | De (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.01 | Het 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.02 | Application 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.03 | Het 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.04 | Het 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.01 | Het softwarepakket biedt een flexibel quotummechanisme voor het importeren van gegevens uit externe bronnen. | Bieden flexibel quotummechanisme |
SWP_U.13.02 | Binnen het softwarepakket zijn beveiligingsmechanismen ingebouwd om bij import van gegevens, ‘ingesloten’ aanvallen te detecteren. | Beveiligingsmechanismen inbouwen voor detectie ingesloten aanvallen |
SWP_U.13.03 | Het 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.03 | Er bestaat een proces voor het definiëren en onderhouden van de autorisaties. | Proces voor definiëren en onderhouden van autorisaties |