WHITEPAPER Veiligheid als belangrijk aspect van de software
Van cruciaal belang bij systemen die gekoppeld zijn aan het internet
Beveiligingsrisico’s
Door nieuwe toepassingen voor het verbinden van producten aan het internet, ontstaan nieuwe mogelijkheden voor al dan niet bestaande diensten. Helaas kleeft er ook een risico aan deze nieuwe toepassingen, namelijk de beveiliging en beschikbaarheid. Informatie die beschermd had moeten zijn kan beschikbaar worden gesteld aan vreemden, maar het kan ook zijn dat producten niet meer functioneren of zich anders gaan gedragen dan oorspronkelijk is bedoeld. Vooral bij bedrijfskritische software is het risico hierop groot. Bij Intelligent Systems/ Altran vinden
gehouden met de beveiliging. Het brengt
we veiligheid een bijzonder belangrijk
onnodige kosten met zich mee wanneer
aspect van de software. In veel gevallen
er in de productiefase nog fundamentele
wordt hierover pas aan het einde van een
aanpassingen gedaan moeten worden aan
ontwikkelproces nagedacht. De oorzaak
het systeem. Bovendien bespaart u veel
hiervan ligt in het feit dat producten
geld als uw organisatie op geen enkele
ontwikkeld worden en pas in een later
wijze negatief in de media genoemd wordt.
stadium gekoppeld worden aan het internet,
U streeft toch ook naar veilige software?
met het risico dat er geen rekening wordt
Nachtmerrie van elke fabrikant Een sprekend voorbeeld van een
om het apparaat met kwaadaardige
beveiligingsrisico bij een verbonden
code
product is een pacemaker die voorzien
firewall voor pacemakers voorkomt
is
deze aanvallen.
van
een
draadloze
interface.
te
herprogrammeren.
Een
Onlangs kwam dit in het nieuws voorzien van de opvallende koptitel:
Er zijn nog andere manieren om de
‘Hacker kan massamoord plegen via
beveiliging te omzeilen. Naast de reeds
pacemaker-lek’.
nachtmerrie
genoemde bestaat er ook een Stuxnet
voor elke fabrikant die zijn product
worm. Stuxnet zou ontwikkeld zijn om
op de markt brengt. Pacemakers en
Iraanse ultracentrifuges te saboteren
geïmplanteerde
zijn
die gebruikt worden voor het maken
kwetsbaar voor draadloze aanvallen,
van nucleaire brandstof. Deze worm
waardoor
mensen
verspreidt zich in eerste instantie via
software
Microsoft Windows en komt daarna
worm zou namelijk de pacemaker
terecht op de apparatuur. De worm
met
wijzigt
Een
defibrillatoren
tienduizenden
kunnen
sterven.
Een
kwaadaardige
code
kunnen
de
de
fatale elektriciteitsschok te leveren.
aangestuurd
Pacemakers beschikken namelijk over
verbinding met de apparatuur is
een draadloze interface die ontworpen
daarbij zelfs niet noodzakelijk om
is om informatie te verzamelen en het
toch een aanval op het systeem te
apparaat te beheren.
kunnen uitvoeren.
alleen en
naar
de de
apparaatcodes
eenvoudig apparaat
om te
worden.
centrifuges Een
directe
De twee bovengenoemde problemen
authenticatie
hadden voorkomen kunnen worden
serienummers
wanneer er vanaf het begin van het
kijken.
toegang
krijgen
de
dat de
Het grootste probleem is voor
van
waarmee
overschrijven en instellen om een
apparaten
motoren
apparatuur
Het tot
door
is
ontwikkelproces vroegtijdig en beter
het
was nagedacht over de beveiliging
deze
van het systeem.
nummers en codes te enumereren. Voor een hacker is het dan mogelijk
Beveiliging moet vroegtijdig in het proces worden gezet
People, process & technology zijn onlosmakelijk verbonden als het gaat om security Robbin van den Dobbelsteen en Robert-Jan Willems, beide security consultants binnen Total Specific Solutions, zien in de dagelijkse praktijk maar al te vaak dat security het sluitstuk vormt van een software- of systeemontwikkeltraject. Ook worden er steeds meer systemen
systeem
zou
moeten
voldoen?
“verbonden” aan het internet, waarvan
Vaak blijft het dan stil of blijkt
dit op voorhand nooit de bedoeling is
deze informatie er helemaal niet te
geweest. Binnen de security praktijk
zijn. Ook ontbreken er duidelijke
worden zogenoemde ethical hackers
richtlijnen die ervoor zorgen dat
gevraagd om systemen of ontwikkelde
systemen of applicaties veilig worden
toepassingen te testen op veiligheid
geprogrammeerd.
voordat deze in productie worden
in een vroegtijdige fase maar ook
genomen.
gedurende het hele ontwikkeltraject
Security
moet
worden geadresseerd.” Willems vertelt : “De eerste vraag die wij dan altijd stellen voorafgaand
“Helaas blijkt uit de praktijk dat het
aan
een
niet automatisch goed gaat”, vervolgt
Wat
zijn
dergelijke
test
luidt:
eisen
die
Van
van
het
tot veel bevindingen op het gebied
ontwikkelingstraject zijn bepaald? En
van security voortkomend uit onze
wat is het gewenste of noodzakelijke
security tests en ethical hacking
niveau van veiligheid waaraan het
opdrachten.
de
security
requirementsfase
den
Dobbelsteen.
Wat zijn uw security eisen in de requirementsfase?
“Dit
leidt
in
de
Kwetsbaarheden in systemen vormen
design”) ook kan besparen op de Total
onacceptabele
Cost
risico’s,
die
eerst
of
Ownership
(TCO)
van
een
worden om veilig
systeem, applicatie of toepassing. In de
gebruik in de operationele/ productiefase
meeste software ontwikkeltrajecten ligt,
van een systeem te kunnen garanderen.
ongeacht de gebruikte methodiek zoals
Afhankelijk van het type bevinding of
bijvoorbeeld Waterval of Agile, de nadruk
kwetsbaarheid, kan het zijn dat enkele
op de functionele eisen en wensen. De
fixes of updates aan het systeem of aan
functionele eisen en wensen worden
de applicatie niet toereikend zijn en dat
vooraf afgewogen en geprioriteerd tot de
zelfs een gehele architectuur of ontwerp
specificatie van het gewenste product is
moet worden aangepast of herzien. Dit
gevormd. Het is zaak om dit ook te doen
kan hoge kosten met zich meebrengen.
voor security eisen. Het is raadzaam om
Ongeschreven regel is dat hoe later
vooraf een duidelijke afweging te maken
security in het traject wordt meegenomen,
tussen risico’s en de beveiligingseisen
hoe duurder het is.”
van een systeem, applicatie of toepassing.
verholpen moeten
Van belang hierbij is om de risico’s, alleen
het nut en de noodzaak te evalueren in
over
verhouding tot de kosten om zo tot de
veilige software veel ellende, onderzoek
juiste keuze (en het gewenste niveau van
toont aan dat tijdig rekening houden
veiligheid) te komen.
Willems voorkomt
met
gaat
verder:
vroegtijdig
security
“Niet nadenken
aspecten
(“Security
by
Common Criteria, een framework wat
factoren zijn net zo belangrijk voor het
gebruikt wordt door Intelligent Systems/
optimaal inrichten en effectief uitvoeren
Altran, borgt het proces van (security)
van (IT) security. Ons credo is dat People,
specificatie, (secure) implementatie en
Process & Technology aspecten zijn die
zorgt
evaluatie
onlosmakelijk met elkaar verbonden zijn
van de gevraagde security requirements
wanneer je het hebt over security. Het
achteraf. Dankzij Common Criteria is ook
veilig creëren en het veilig houden van een
achteraf, na realisatie, op een duidelijke
systeem, applicatie en toepassing lukt alleen
en gestandaardiseerde manier na te gaan
door de balans te vinden tussen bewust
wat het niveau van veiligheid van het
en
betreffende systeem is.”
beveiligings-
voor
een
herleidbare
veilig
gebruikersgedrag, en
beheersprocessen
veilig ontwikkelde technologie.” “Security gaat verder dan alleen techniek”, meent Van den Dobbelsteen. “Andere
effectieve en
Meestal wordt beveiliging bekeken vanuit de aanvalskant. Een betere uitgangspositie is om dit te bekijken vanuit de verdediging, vanuit het startpunt van de ontwikkeling.
Beveiliging vanuit de verdediging De opkomst van smartphone en tablet
apparaten via internet communiceren,
heeft ervoor gezorgd dat veel mensen
wordt beveiliging steeds belangrijker.
continu met internet verbonden zijn.
Bij medische producten kunnen we
Hierdoor neemt de vraag toe om ook
ons
onze leefomgeving slimmer te maken.
als in de autobranche waarbij grote
Steeds meer apparaten moeten gaan
consequenties
beschikken over de mogelijkheid om
kunnen optreden. Belangrijk is dat niet
met andere apparaten te communiceren.
alleen nieuwe, maar ook reeds bestaande
Nu ook steeds meer bedrijfskritische
software goed beveiligd wordt.
geen
fouten
veroorloven,
voor
de
net
veiligheid
‘Vroegtijdig nadenken over veilige software voorkomt ellende achteraf’
Meestal wordt beveiliging bekeken vanuit
op hoofdlijnen in een keer goed opgezet
de aanvalskant. Een betere uitgangspositie
worden waardoor de risico’s rondom de
is om dit te bekijken vanuit de verdediging,
beveiliging al van tevoren geanalyseerd
vanuit het startpunt van de ontwikkeling.
worden. Rekening houden met beveiliging
Hoe later in het ontwikkelproces, hoe
tijdens het gehele ontwikkelproces kan
duurder het is om een wijziging door te
aan de hand van het Common Criteria
voeren. Een architectuur moet om die reden
framework.
Common Criteria als basis van een goede beveiliging
Common Criteria is een internationale
gebruikt en tijdens de ontwikkeling de
standaard
waarmee
nadruk gelegd op het analyseren van alle
functionele-
beveiligingsrisico’s in het systeem. Eerst
en beveiligingseisen opstellen door het
werden de onderdelen gedefinieerd die
toepassen van een Protection Profile (PP).
behoren tot het te evalueren doel. Dit
Software ontwikkelaars kunnen aan de hand
wordt in Common Criteria de ‘Target of
hiervan het systeem op een veilige manier
Evaluation’ genoemd,
implementeren en gefundeerd uitspraken
(zie ook figuur 1). Deze definitie en het
doen over de veiligheid ervan. Uiteindelijk
opstellen van een Protection Profile bevindt
zal het systeem geëvalueerd worden door
zich in de requirementsfase van het project,
een onafhankelijke instantie om te bepalen
in dit geval het Access Control System
of er daadwerkelijk voldaan is aan de eisen
(ACS). Vervolgens worden in de designfase
die gesteld zijn in het PP.
de functionele beveiligingseigenschappen
klanten
en
(ISO/IEC
15408)
eindgebruikers
afgekort de TOE
bepaald in de vorm van een Security Target Bij
toegangscontrole
speelt
veilige
serversoftware natuurlijk een belangrijke
aan de hand van de beveiligingseisen uit het PP.
rol. Daarom heeft Intelligent Systems/ Altran
bij
het
bouwen
van
een
toegangscontrolesysteem Common Criteria
CASE Access Control System Het Access Control Sytem maakt het mogelijk om met behulp van een NFC tag toegang te krijgen tot een afgeschermde locatie. Bij deze oplossing kan er toegang verleend worden door een persoonlijke NFC tag te scannen op een mobiel apparaat dat is gekoppeld aan de deur (ook wel toegangspoort genoemd binnen het systeem). Na het scannen van de NFC tag zal de applicatie (app) op het mobiele apparaat automatisch gestart worden en een bericht versturen naar de server in de cloud. De server ontvangt dit bericht en zal toegang verlenen door de toegangspoort te openen, mits dit bericht uiteraard voldoet aan de gewenste eisen. De server zal het resultaat, wel of geen toegang, terugkoppelen aan het mobiele apparaat die dit dan zal weergeven op het scherm.
Het Target of Evaluation voor het Access
diverse rollen correct te configureren.
Control System bestaat uit de server software,
De onderdelen die niet door Intelligent
de PostgreSQL database en de communicatie
Systems/Altran ontwikkeld zijn behoren in
(definitie van verschillende rollen). Daarnaast
dit geval niet tot de Target of Evaluation. Om
vormen ook de client software op het
toch het totale systeem goed te beveiligen
mobiele apparaat en de NFC data op de NFC
dienen afspraken gemaakt te worden als het
tag onderdeel van de TOE. Deze onderdelen,
gaat om patchmanagement van bijvoorbeeld
zoals schematisch afgebeeld in figuur 1,
Apache webserver, Ruby on Rails, firewall en
bevinden zich binnen het lichtblauwe kader.
de hardware.
Het ACS van Intelligent Systems/ Altran bestaat
Om het ACS te beveiligen wordt er gewerkt
uit een server en diverse mobiele apparaten.
met SSL certificaten. Een SSL server certificaat
Op de server kun je met een website rollen,
maakt het mogelijk om te verifiëren of er
groepen, NFC tags en toegangspoorten
inderdaad een verbinding is met de gewenste
beheren. Een beveiligingsrisico hierbij is dat
server. SSL zorgt ook voor encryptie, zodat
de rol van een groep niet correct gedefinieerd
de
is, waardoor een aantal personen toegang
versleuteld is.
verleend wordt die dat eigenlijk niet hadden moeten krijgen. Het is dus belangrijk om de
communicatie
tussen
beide
partijen
TOE is het meest kritische onderdeel bij beveiliging
Figuur 1: TOE Access Control System
Het Access Control System maakt het mogelijk om met behulp van een NFC tag toegang te krijgen tot een afgeschermde locatie. De verbinding voor het vragen van toegang
tot bepaalde onderdelen van de website.
tot een toegangspoort op de server is extra
Alle toegangsrechten worden beheerd in één
beveiligd met een clientcertificaat. Omdat
file op de server en staan niet gedupliceerd
mobiele
zijn
door de hele code. Common Criteria helpt om
qua beveiliging is ieder apparaat voorzien
vroeg in het ontwikkelproces na te denken
van een eigen, uniek clientcertificaat. Dit
over de beveiligingsrisico’s en dit te vertalen
maakt het mogelijk om een specifiek mobiel
naar de juiste set aan security requirements.
apparaat op ieder moment de toegang tot
Intelligent Systems / Altran ontwikkelt veilige
het systeem te ontzeggen. Hiermee wordt
software. Vooral bij de systemen die nu steeds
de toegangscontrole op de server in eigen
vaker aan het internet worden gekoppeld is
hand
van
dit van groot belang. Intelligent Systems/
clientcertificaten moet zorgvuldig worden
Altran streeft daarom naar veilige software
ingericht en worden bewaakt. Op de website
voor alle systemen. Hoe eerder u nadenkt
kunnen
een
over beveiliging, hoe goedkoper u uiteindelijk
persoonlijke gebruikersnaam en wachtwoord
uit bent. Hiermee wordt voorkomen dat uw
om te bekijken wanneer ze toegang hebben
bedrijf op een negatieve wijze in de media
gekregen
komt en bespaart u uiteindelijk veel geld.
apparaten
gehouden.
Het
gebruikers
tot
erg
een
kwetsbaar
uitgifteproces
inloggen
met
toegangspoort.
De
autorisatie op de website wordt afgehandeld door de CanCan library voor Ruby on
Veilige software voor alle systemen. Is dat
Rails. Deze library maakt het mogelijk om
ook uw ambitie? Neem dan contact met
gebruikers toegang te geven en te ontzeggen
ons op!
Contact:
[email protected] ©2015 Altran All rights reserved Altran Technologies - Public Limited Company - share capital € 72 360 712 Altran Intelligent Systems Netherlands, Larixplein 6, 5616 VB Eindhoven Tel:+31 (0) 40 250 32 00 Altran Intelligent Systems Belgium, Gaston Geenslaan 9, B-3001 Leuven Tel: +32 (0) 16 24 16 80
intelligent-systems.altran.com