Applicatieontwikkeling Uitvoering
De wijzigingen betreffen met name de uniformering van objectdefinities en objectnamen in en tussen BIO Thema-uitwerkingen.
Versie 2.1 in PDF-formaat is op de website CIP-overheid/producten gepubliceerd.
Deze informatie is onderdeel van BIO Thema-uitwerking Applicatieontwikkeling.
| ID: | APO_U |
|---|---|
| Normenkader-aspect | |
| Versie: | 2.4 |
| Status: | Actueel |
| Indeling | |
| Beveiligingsaspect: |
|
| Invalshoek: | |
Meer lezenbewerken
- → BIO Thema-uitwerking Applicatieontwikkeling
- → Alle normenkaders
- → Beveiligingsaspecten
- → Invalshoeken
- → ISOR
Doelstellingbewerken
De doelstelling van het uitvoeringsdomein van applicatieontwikkeling is het zorgen dat de ontwikkel- en onderhoudsactiviteiten plaatsvinden volgens specifieke beleidsuitgangspunten en dat de werking van de applicatie voldoet aan de eisen die door de klant (doelorganisatie) zijn gesteld. Met randvoorwaarden in de vorm van beleid geeft de organisatie kaders aan waarbinnen de ontwikkel- en onderhoudsactiviteiten moeten plaatsvinden.
Risico'sbewerken
Wanneer adequate normen voor applicatieontwikkeling en onderhoud ontbreken, is het risico dat deze activiteiten ongecontroleerd plaatsvinden en/of dat het eindproduct niet voldoet aan het juiste beveiligingsniveau. Het ontbreken van richtlijnen en procedures voor het werken binnen de verschillende (OTAP-)omgevingen vergroot de kans op foutieve software in de productieomgeving, met het risico op aantasting van productiegegevens.
Objecten, controls en maatregelen
Binnen het uitvoeringsdomein worden specifieke inrichtings- en beveiligingsobjecten voor applicatieontwikkeling beschreven. Elk object wordt vervolgens uitgewerkt in een control en conformiteitsindicatoren. De rode gemarkeerde objecten komen voor in de BIO. De wit gemarkeerde objecten zijn betrokken uit andere best practices, zie tabel 2. De objecten zijn ingedeeld naar de invalshoeken: intentie, functie, gedrag en structuur. In bijlage 2 Invalshoeken gekoppeld aan het V-model zijn deze gekoppeld aan het V-model.

Principes uit de BIO Thema Applicatieontwikkeling binnen dit aspectbewerken
| ID | Principe | Criterium |
|---|---|---|
| APO_U.01 | Wijzigingsbeheerprocedure voor applicaties en systemen | Wijzigingen in informatieverwerkende faciliteiten en informatiesystemen behoren onderworpen te zijn aan procedures voor wijzigingsbeheer'. |
| APO_U.02 | Beperking software-installatie applicatieontwikkeling | Er behoren procedures en maatregelen te worden geïmplementeerd om het installeren van software op operationele systemen op beveiligde wijze te beheren. |
| APO_U.03 | Richtlijn programmacode | Voor het ontwikkelen van de (programma)code zijn specifieke regels van toepassing en behoort gebruik te zijn gemaakt van specifieke best practices. |
| APO_U.04 | Analyse en specificatie informatiesysteem | De functionele eisen die verband houden met nieuwe informatiesystemen of voor uitbreiding van bestaande informatiesystemen behoren te worden geanalyseerd en gespecificeerd. |
| APO_U.05 | Informatiebeveiliging in projectmangement | Informatiebeveiliging behoort te worden geïntegreerd in projectmanagement. |
| APO_U.06 | Applicatie-ontwerp | Het applicatieontwerp behoort gebaseerd te zijn op informatie, die is verkregen uit verschillende invalhoeken, zoals: business-vereisten en reviews, omgevingsanalyse en (specifieke) beveiliging. |
| APO_U.07 | Applicatiefunctionaliteit | Informatiesystemen behoren zo te worden ontworpen, dat de invoerfuncties, verwerkingsfuncties en uitvoerfuncties van gegevens (op het juiste moment) in het proces worden gevalideerd op juistheid, tijdigheid en volledigheid om het bedrijfsproces optimaal te kunnen ondersteunen. |
| APO_U.08 | Applicatiebouw | De bouw van applicaties inclusief programmacode behoort te worden uitgevoerd met (industrie) good practice en door individuen die beschikken over de juiste vaardigheden en tools en behoort te worden gereviewd. |
| APO_U.09 | Systeemacceptatietest | Processen voor het testen van de beveiliging behoren te worden gedefinieerd en geïmplementeerd in de ontwikkelcyclus. |
| APO_U.10 | Beschermen testgegevens | Testgegevensbehoren op passende wijze te worden geselecteerd, beschermd en beheerd. |
| APO_U.10.01 | Beschermen testgegevens | Testgegevens behoren op passende wijze te worden geselecteerd, beschermd en beheerd. |
| APO_U.11 | Scheiding van ontwikkel-, test- en productieomgevingen | Ontwikkel-, test- en productieomgevingen behoren te worden gescheiden en beveiligd. |
| APO_U.12 | Applicatiekoppeling | De koppelingen tussen applicaties behoren te worden uitgevoerd volgens geaccordeerde koppelingsrichtlijnen. |
| APO_U.13 | Logging en monitoring | Applicaties behoren faciliteiten te bieden voor logging en monitoring om ongeoorloofde en/of onjuiste activiteiten van medewerkers en storingen binnen de applicatie tijdig te detecteren en vast te leggen. |
| APO_U.14 | Applicatie-architectuur | De functionele en beveiligingseisen behoren in een applicatie-architectuur, conform architectuurvoorschriften, in samenhang te zijn vastgelegd. |
| APO_U.15 | Tooling ontwikkelmethode | De ontwikkelmethode moet worden ondersteund door een tool dat de noodzakelijke faciliteiten biedt voor het effectief uitvoeren van de ontwikkelcyclus. |
Normen uit de BIO Thema Applicatieontwikkeling binnen dit aspectbewerken
| ID | Stelling | Norm |
|---|---|---|
| APO_U.01.01 | Wijzigingsbeheer vindt plaats op basis van een algemeen geaccepteerd beheerraamwerk. | Voor het wijzigingsbeheer gelden de algemeen geaccepteerde beheer frameworks |
| APO_U.01.02 | In het wijzigingsbeheerproces is minimaal aandacht besteed aan:
| Medewerkers (programmeurs) krijgen de juiste autorisatie om werkzaamheden te kunnen uitvoeren |
| APO_U.01.03 | De procedure voor wijzigingsbeheer omvat onder meer:
| Nieuwe systemen en belangrijke wijzigingen aan bestaande systemen volgen een formeel wijzigingsproces |
| APO_U.02.01 | De procedures en maatregelen voor het installeren van software op operationele systemen omvatten onder meer:
| Beleid ten aanzien van het type software dat mag worden geïnstalleerd |
| APO_U.02.02 | Het risico van installatie door gebruikers van niet-geautoriseerde software moet worden beheerst. | Het toekennen van rechten om software te installeren vindt plaats op basis van 'Least Privilege' |
| APO_U.03.01 | De programmacode voor functionele specificaties is reproduceerbaar, waarbij aandacht wordt besteed aan:
| De programmacode voor functionele specificaties is reproduceerbaar |
| APO_U.03.02 | De (programma)code wordt aantoonbaar veilig gecreëerd. | Programmacode wordt aantoonbaar veilig gecreëerd |
| APO_U.03.03 | De (programma)code is effectief, veranderbaar en testbaar waarbij gedacht kan worden aan:
| Programmacode is effectief, veranderbaar en testbaar |
| APO_U.03.04 | Over het gebruik van de vocabulaire, applicatie-framework en toolkits zijn afspraken gemaakt. | Over het gebruik van vocabulaire, applicatieframework en toolkits zijn afspraken gemaakt |
| APO_U.03.05 | Voor het ontwikkelen van programmacode wordt gebruik gemaakt van gestandaardiseerde vocabulaire zoals de NEN-ISO/IEC 25010 Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models. | Voor het ontwikkelen van programmacode wordt gebruik gemaakt van gestandaardiseerde vocabulaire |
| APO_U.03.06 | Ontwikkelaars hebben kennis van algemene beveiligingsfouten, vastgelegd in een extern Common Vulnerability and Exposures (CVE)- systeem. | Ontwikkelaars hebben kennis van algemene en vastgelegde beveiligingsfouten |
| APO_U.03.07 | Het gebruik van programmacode uit externe programmabibliotheken mag pas worden gebruikt na getest te zijn. | Gebruik van programmacode uit externe programmabibliotheken |
| APO_U.04.01 | De functionele eisen worden geanalyseerd en bepaald met verschillende invalshoeken (zoals stakeholders, business en wet- en regelgeving) en vastgelegd in een functioneel ontwerp. | Functionele eisen van nieuwe informatiesystemen worden geanalyseerd en in Functioneel Ontwerp vastgelegd |
| APO_U.04.02 | Het functioneel ontwerp wordt gereviewd, waarna verbeteringen en of aanvullingen op het functioneel ontwerp plaatsvinden. | Het Functioneel Ontwerp wordt gereviewd waarna verbeteringen en/of aanvullingen plaatsvinden |
| APO_U.04.03 | Met een goedgekeurd functioneel ontwerp wordt een technisch ontwerp vervaardigd dat ook ter review wordt aangeboden aan de kwaliteitsfunctionaris en beveiligingsfunctionaris. | Op basis van een goedgekeurd Functioneel Ontwerp wordt een Technisch Ontwerp vervaardigd |
| APO_U.04.04 | Alle vereisten worden gevalideerd door een peer review of prototyping (Agile-ontwikkelmethode). | Alle vereisten worden gevalideerd door peer review of prototyping |
| APO_U.04.05 | Parallel aan het vervaardigen van het functioneel ontwerp en technisch ontwerp worden acceptatie-eisen vastgelegd. | Acceptatie-eisen worden vastgelegd parallel aan het Functioneel Ontwerp en Technisch Ontwerp |
| APO_U.05.01 | Informatiebeveiliging is een integraal onderdeel van projectmanagement bij alle projecten (ongeacht complexiteit, omvang of discipline) en omvat onder meer:
| Een expliciete risicoafweging wordt uitgevoerd ten behoeve van het vaststellen van de beveiligingseisen |
| APO_U.05.02 | Bij alle projecten worden informatiebeveiligingseisen vastgesteld, waarbij wordt gehouden met:
| De Handreikingen: "Risicoanalysemethode" en "Risicomanagement ISO-27005 |
| APO_U.05.03 | Bij nieuwe informatiesystemen en bij significante wijzigingen op bestaande informatiesystemen moet een expliciete risicoafweging op basis van de door de organisatie vastgestelde risicomanagementmethodiek worden uitgevoerd, om risico's te identificeren en in voldoende mate te beheersen en ook voor het vaststellen van de beveiligingseisen. | Informatiebeveiligingseisen |
| APO_U.06.01 | Het ontwerpen van applicaties is gebaseerd op eisen voor verschillende typen informatie, zoals:
| Het ontwerpen van applicaties is gebaseerd op eisen voor verschillende typen informatie |
| APO_U.06.02 | Bij het ontwerp van applicaties is informatie verkregen uit verschillende mogelijke connecties met de te ontwerpen applicatie, zoals:
| Bij het ontwerp is informatie verkregen uit connecties met de te ontwerpen applicatie |
| APO_U.06.03 | Het ontwerp is mede gebaseerd op een beveiligingsarchitectuur, waarin aandacht is besteed aan: performance, capaciteit, continuïteit, schaalbaarheid, connectiviteit en comptabiliteit. | Het ontwerp is mede gebaseerd op een beveiligingsarchitectuur |
| APO_U.07.01 | Bereikcontroles worden toegepast en gegevens worden gevalideerd. | Bereikcontroles worden toegepast en gegevens worden gevalideerd |
| APO_U.07.02 | Geprogrammeerde controles worden ondersteund. | Geprogrammeerde controles worden ondersteund |
| APO_U.07.03 | Het uitvoeren van onopzettelijke mutaties wordt tegengegaan. | Het uitvoeren van onopzettelijke mutaties wordt tegengegaan |
| APO_U.07.04 | Voorzieningen voor het genereren van een fout- en uitzonderingsrapportage zijn beschikbaar. | Voorzieningen voor het genereren van fouten- en uitzonderingsrapportage zijn beschikbaar |
| APO_U.07.05 | Voorzieningen voor het achteraf vaststellen van een betrouwbare verwerking (JVT) zijn beschikbaar (onder andere audit trail). | Voorzieningen voor het achteraf vaststellen van een betrouwbare verwerking zijn beschikbaar |
| APO_U.07.06 | Opgeleverde/over te dragen gegevens worden gevalideerd. | Opgeleverde en over te dragen gegevens worden gevalideerd |
| APO_U.07.07 | De controle op de juistheid, volledigheid en tijdigheid van de input (ontvangen gegevens) en op de verwerking en de output van gegevens (versterkte gegevens) worden uitgevoerd. | Controle op de juistheid, volledigheid en tijdigheid van input en op de verwerking en output van gegevens |
| APO_U.07.08 | Met vastgestelde en geautoriseerde procedures wordt voorkomen dat gegevens buiten de applicatie om (kunnen) worden benaderd. | Voorkomen wordt dat gegevens buiten de applicatie om (kunnen) worden benaderd |
| APO_U.07.09 | Gegevens worden conform vastgestelde beveiligingsklasse gevalideerd op plausibiliteit, volledigheid en bedrijfsgevoeligheid. | Gegevens worden conform vastgestelde beveiligingsklasse gevalideerd |
| APO_U.08.01 | Gedocumenteerde standaarden en procedures worden beschikbaar gesteld voor het bouwen van programmacode die ook het volgende specificeren:
| Voor het bouwen van programmacode worden gedocumenteerde standaarden en procedures beschikbaar gesteld |
| APO_U.08.02 | Veilige methodes worden toegepast om te voorkomen dat veranderingen kunnen worden aangebracht in de basiscode of in software-packages. | Veilige methodes ter voorkoming van veranderingen in basis code of in software packages |
| APO_U.08.03 | Voor het creëren van programmacode wordt gebruik gemaakt van best practices (gestructureerde programmering). | Voor het creëren van programma code wordt gebruik gemaakt van good practices |
| APO_U.08.04 | Het gebruik van onveilig programmatechnieken is niet toegestaan. | Geen gebruik van onveilig programmatechnieken |
| APO_U.08.05 | De programmacode is beschermd tegen ongeautoriseerde wijzigingen. | (Applicatie)code is beschermd tegen ongeautoriseerde wijzigingen |
| APO_U.08.06 | Activiteiten van applicatiebouw worden gereviewd. | Activiteiten van applicatiebouw worden gereviewd |
| APO_U.08.07 | De ontwikkelaars zijn adequaat opgeleid en zijn in staat om binnen het project de noodzakelijke en in gebruik zijnde tools te hanteren. | De ontwikkelaars zijn adequaat opgeleid en in staat de noodzakelijke en gebruikte tools te hanteren |
| APO_U.09.01 | Het testen van de beveiliging wordt uitgevoerd op basis van een verzameling van functionele en niet-functionele eisen en omvat onder meer:
| Functionarissen testen functionele requirements |
| APO_U.09.02 | Testplannen worden vastgesteld en staan in verhouding tot het belang, de aard en mogelijke impact van de verandering. Het testplan omvat onder meer:
| In de infrastructuur wordt specifiek getest vanuit beveiligingsoptiek |
| APO_U.09.03 | Voor acceptatietesten van systemen worden gestructureerde testmethodieken gebruikt. De testen worden bij voorkeur geautomatiseerd uitgevoerd. | Gestandaardiseerde en geautomatiseerde acceptatietesten binnen systeemontwikkeling. |
| APO_U.09.04 | Bij de acceptatietest wordt getoetst of het geleverde product overeenkomt met hetgeen is afgesproken. Hierbij is de testfocus onder andere gericht is op:
| Validatie van functionele, procesmatige en beveiligingseisen binnen acceptatietesten |
| APO_U.09.05 | Testresultaten worden formeel geëvalueerd en door de betrokken informatiesysteemeigenaar beoordeeld, waarna - na te zijn goedgekeurd - overgegaan wordt naar de volgende fase. | Formele beoordeling en goedkeuring van testresultaten voor faseovergang |
| APO_U.10.01 | De volgende richtlijnen worden toegepast om operationele gegevens die voor testdoeleinden worden gebruikt, te beschermen:
| Richtlijnen worden toegepast om operationele gegevens die voor testdoeleinden worden gebruikt te beschermen |
| APO_U.11.01 | Het scheidingsniveau tussen de ontwikkel-, test- en productieomgevingen is geïdentificeerd en geïmplementeerd, waarbij rekening is gehouden met de volgende aspecten:
| Uitgangspunt voor systeemontwikkeling trajecten is een expliciete risicoafweging |
| APO_U.11.02 | In de productieomgeving wordt niet getest. Alleen met voorafgaande goedkeuring door de proceseigenaar kan hiervan worden afgeweken. | Verbod op testen in de productieomgeving tenzij goedgekeurd door de proceseigenaar |
| APO_U.11.02 | In de productieomgeving wordt niet getest. Alleen met voorafgaande goedkeuring door de proceseigenaar kan hiervan worden afgeweken. | Logisch en/of fysiek gescheiden Ontwikkel, Test, Acceptatie en Productie omgevingen |
| APO_U.11.02 | In de productieomgeving wordt niet getest. Alleen met voorafgaande goedkeuring door de proceseigenaar kan hiervan worden afgeweken. | Beleid voor testrestricties in productieomgevingen en uitzonderingsprocedure. |
| APO_U.11.03 | Significante wijzigingen in de productieomgeving worden altijd getest voordat zij in productie gebracht worden. Alleen met voorafgaande goedkeuring door de proceseigenaar kan hiervan worden afgeweken. | Verplicht testen van significante wijzigingen in de productieomgeving voorafgaand aan productie |
| APO_U.11.04 | De taken, verantwoordelijkheden en bevoegdheden van de betrokken functionarissen in de ontwikkel-, test-, acceptatie- en productie- omgevingen worden uitgevoerd volgens onderkende rollen. | Vastlegging van taken, verantwoordelijkheden en bevoegdheden per rol in ontwikkel-, test-, acceptatie- en productieomgevingen |
| APO_U.11.05 | Voor remote-werkzaamheden is een werkwijze vastgelegd. | Vastgelegde werkwijze voor remote-werkzaamheden |
| APO_U.11.06 | Ontwikkelaars hebben geen toegang tot de productieomgeving. | Ontwikkelaars hebben geen toegang tot de productieomgeving |
| APO_U.11.07 | Voor het kopiëren/verplaatsen van configuratie-items tussen de omgevingen gelden overdrachtsprocedures. | Overdrachtsprocedures voor kopiëren en verplaatsen van configuratie-items tussen omgevingen |
| APO_U.11.08 | De overdracht van de ontwikkel- naar de testomgeving vindt gecontroleerd plaats met een implementatieplan. | Gecontroleerde overdracht van ontwikkel- naar testomgeving via een implementatieplan |
| APO_U.11.09 | De overdracht van de test- naar de acceptatie-omgeving vindt procedureel door daartoe geautoriseerde personen plaats. | De overdracht naar de Productieomgeving vindt gecontroleerd plaats |
| APO_U.11.10 | De overdracht naar de productie-omgeving vindt procedureel door daartoe geautoriseerde personen plaats. | Geautoriseerde en procedurele overdracht naar de productieomgeving |
| APO_U.12.01 | Koppelingen tussen applicaties worden uitgevoerd met vastgestelde procedures en richtlijnen. | Koppelingen tussen applicaties worden uitgevoerd volgens vastgestelde procedures en richtlijnen |
| APO_U.12.02 | Van het type koppelingen is een overzicht aanwezig. | Van het type koppelingen is een overzicht aanwezig |
| APO_U.12.03 | Koppelingen worden uitgevoerd via geautoriseerde opdrachten. | Koppelingen worden uitgevoerd op basis van geautoriseerde opdrachten |
| APO_U.12.04 | De uitgevoerde koppelingen worden geregistreerd. | De uitgevoerde koppelingen worden geregistreerd |
| APO_U.13.01 | Welke ongeoorloofde en onjuiste activiteiten gelogd moeten worden, is vastgelegd. | Vastgelegd is welke ongeoorloofde en onjuiste activiteiten gelogd moeten worden |
| APO_U.13.02 | Informatie over autorisatie(s) wordt vastgelegd. | Informatie ten aanzien van autorisatie(s) wordt vastgelegd |
| APO_U.13.03 | De loggegevens zijn beveiligd. | De loggegevens zijn beveiligd |
| APO_U.13.04 | De locatie van de vastlegging van de loggegevens is vastgesteld. | De locatie van de vastlegging van de loggegevens is vastgesteld |
| APO_U.13.05 | De applicatie geeft signalen aan de beveiligingsfunctionarissen dat loggegevens periodiek geëvalueerd en geanalyseerd moeten worden. | De applicatie geeft signalen dat loggegevens periodiek geëvalueerd en geanalyseerd moet worden |
| APO_U.13.06 | De frequentie (wanneer) van monitoring en het rapporteren hierover (aan wie wat) is vastgelegd. | De frequentie (wanneer) van monitoring en het rapporteren hierover is vastgelegd |
| APO_U.14.01 | De architect heeft een actueel document van het te ontwikkelen informatiesysteem opgesteld. Het document:
| De architect heeft een actueel document van het te ontwikkelen informatie systeem opgesteld |
| APO_U.14.02 | Het architectuurdocument wordt actief onderhouden. | Het architectuur document wordt actief onderhouden |
| APO_U.14.03 | De voorschriften, methoden en technieken voor applicatiearchitectuur worden toegepast. | De voorschriften en de methoden en technieken ten aanzien van applicatie architectuur worden toegepast |
| APO_U.14.04 | Tussen in- en uitstroom van gegevens en de inhoud van de gegevensberichten bestaat een aantoonbare samenhang. | Samenhang tussen in- en uitstroom van gegevens en de inhoud van gegevensberichten |
| APO_U.14.05 | Het is aantoonbaar dat de onderliggende infrastructuurcomponenten beveiligd zijn met beveiligingsbaselines (onder andere uitschakeling van overbodige functionaliteiten). | Dat de onderliggende infrastructuurcomponenten beveiligd zijn op basis van security baselines aantoonbaar |
| APO_U.14.06 | De relatie tussen de persoonsgegevens die gebruikt worden binnen de applicatie en de persoonsgegevens, van interne en externe ontvangers van de door de applicatie opgeleverde gegevens, is inzichtelijk. | De relatie tussen de persoonsgegevens is inzichtelijk |
| APO_U.15.01 | Het tool ondersteunt alle fasen van het ontwikkelproces voor het documenteren van analyses, specificaties, programmatuur, testen en rapportages. | Het tool ondersteunt alle fasen van het ontwikkelproces |
| APO_U.15.02 | Het tool biedt een bepaald framework voor het structureren van de ontwikkelfasen en het bewaken van afhankelijkheden. | Framework voor het structuren van de ontwikkelfasen en het bewaken van afhankelijkheden |
| APO_U.15.03 | Het tool beschikt over faciliteiten voor versie- en releasebeheer. | Het tool beschikt over faciliteiten voor versie- en releasebeheer |
| APO_U.15.04 | Het tool beschikt over faciliteiten voor:
| Faciliteiten van het tool |
| APO_U.15.05 | Het tool beschikt over faciliteiten voor de koppelingen met externe bronnen. | Het tool beschikt over faciliteiten voor de koppelingen met externe bronnen |
Ga naar de gebruikerspagina van Gebruiker:GvdB
Contact: +31611307897 (Signal)
10 april 2026 08:07:19
8 mei 2019 08:38:04
10 april 2026 08:07:19
23
Informatief
29 oktober 2021
