Onderzoeksmethoden 2/het werk/2008-9/Groep08
Inhoud
- 1 Groep 8
- 1.1 Inleiding
- 1.2 Probleemstelling
- 1.3 Onderzoeksvraag
- 1.4 Conceptueel model
- 1.5 Methode
- 1.6 Tijd- en faseringsschema
- 1.7 Van interview naar conclusie
- 1.8 Conclusie
- 1.9 Best Practices
- 1.10 Bijlage
Groep 8
Groepsleden:
Gebruikersnaam | Studentnummer |
---|---|
Wouter van Kuipers | s0652830 |
Marc Pieterse | s0652245 |
Peter Tenbült | s0652962 |
Joost Altena | s0735604 |
Inleiding
Sinds het ontstaan van computer netwerken in de jaren 60, en later het ontstaan van het internet, is het samenwerken tussen verschillende gekoppelde computersystemen niet meer weg te denken uit de computerwereld. Vooral in het bedrijfsleven zijn netwerken niet meer weg te denken en worden zij mede ingezet om data en programma’s te delen binnen het bedrijf op één of meerdere locaties.
Deze netwerkapplicaties werden in het verleden veelal alleen gebruikt vanuit een omgeving die afgesloten was van de ‘buitenwereld’ om misbruik en/of diefstal van data te voorkomen. In sommige gevallen gebeurde dit door een netwerk aan te leggen dat niet fysiek aangesloten was op het internet, of door het netwerk te beveiligen doormiddel van software- of hardwarematige firewall’s of andere producten. Op deze manier konden gebruikers binnen het netwerk beschikken over applicaties en data waar ze ook waren, zolang de software maar geïnstalleerd was en er een verbinding was met het (bedrijfs)netwerk. Doordat de applicaties alleen gebruikt werden binnen het interne netwerk was de beveiliging gemakkelijk te beheren. Juist doordat dit netwerk niet toegangkelijk was voor vreemden waren de security risico’s klein en beheersbaar. De gevaren kwamen voornamelijk van binnen de organisatie en aanvallen van buitenaf, gericht op specifieke applicaties, waren zeldzaam.
Probleemstelling
Het onderzoek zal gericht zijn op de security aspecten die van toepassing zijn vóór, tijdens en na het ontwikkelingsproces van PHP applicaties. Hierbij wordt gekeken waarom er voor PHP gekozen is en voor welke versie van PHP. Daarnaast wordt ook gekeken hoe er om wordt gegaan met de beveiliging van de applicatie tijdens de verschillende stadia van het ontwikkelproces en in latere stadia tijdens het ontwikkelproces. Ook zal gekeken worden welke externe factoren zoals Operating Systems en Webservers invloed hebben op de veiligheid van de applicatie en of er al standaard oplossingen zijn in de vorm van frameworks of (ISO) standaarden. Dit alles wordt vergeleken met de gevaren die lokale (intranet) en globale (internet) applicaties lopen.
Doelstelling
Het doel van het onderzoek is het onderzoeken van en eventueel aanpassen/opstellen van een verzameling richtlijnen waarmee gewerkt kan worden tijdens en na het ontwikkelproces van een applicatie in PHP. Dit ontwikkelproces is globaal in te delen in drie stadia;
1. Ontwerp
Tijdens dit stadium wordt de applicatie ontworpen, dit kan zijn omdat er een nieuwe applicatie moet komen aan de hand van een idee of wens van de opdrachtgever of omdat een bestaande applicatie moet worden omgezet naar een webapplicatie.
2. Ontwikkelstadia
Tijdens dit stadium wordt de applicatie ontwikkeld.
3. Beheerstadia
Tijdens dit stadium word de applicatie beheerd en worden aanpassingen gedaan die tijdens het ontwikkelproces niet (goed) zijn geïmplementeerd (bugs) of die later door de opdrachtgever worden aangedragen (verbeteringen).
Onderzoeksvraag
Hoofdvraag: Hoe wordt binnen de Radboud Universiteit omgegaan met beveiliging van Web applicaties, in het bijzonder PHP applicaties, tijdens de verschillende stadia van het ontwikkelproces?
Deelvragen
- Welke gevaren zijn er op het gebied van beveiliging van Web applicaties, in het bijzonder PHP applicaties, tijdens de verschillende stadia van het ontwikkelproces?
- Welke richtlijnen zijn er binnen de Radboud Universiteit op het gebied van beveiliging van Web applicaties, in het bijzonder PHP applicaties, tijdens de verschillende stadia van het ontwikkelproces?
- Zijn de richtlijnen van de Radboud Universiteit op het gebied van beveiliging van Web applicaties, in het bijzonder PHP applicaties, tijdens de verschillende stadia van het ontwikkelproces volledig/voldoende om de kwaliteit van deze applicaties te kunnen garanderen?
- Zijn er andere/betere richtlijnen die de kwaliteit van Web applicaties, in het bijzonder PHP applicaties, op het gebied van security kunnen verbeteren?
Conceptueel model
concept van het conceptueel model
Conceptueel model met betrekking tot de vragen / antwoorden, per categorie en tags.
Methode
Vooraf
We kiezen ervoor om de ontwikkelaar in hun eigen omgeving te interviewen, op locatie van het bedrijf. Hierdoor is het voor de ontwikkelaar gemakkelijker om te praten over de situatie op het bedrijf en zodoende hopen wij dat hij of zij openlijker zal spreken over een gevoelig onderwerp als security.
Voorafgaande aan het interview sturen we de betrokkenen een email met de vraag of zij mee willen werken aan het interview en een korte beschrijving van het onderwerp en doel van het onderzoek. Daarnaast staat in de email een overzicht van de vier categorieën waarover vragen gesteld zouden worden;
- Achtergrond van de ontwikkelaar
- Achtergrond bedrijf en afdeling
- Het ontwikkel proces
- Het toekomstbeeld m.b.t. security van webapplicaties
Aangegeven werd dat het interview 45 tot 60 minuten zou duren, dit hebben we bewust ruim genomen zodat er geen tijdnood zal ontstaan tijdens het interview. Tot slot wordt er in de email aangegeven dat de mogelijkheid tot anoniem deelnemen aan het onderzoek aanwezig is en dat de uiteindelijke resultaten geanonimiseerd worden gepubliceerd. Alle deelnemers van het onderzoek ontvangen een copy van deze publicatie.
Het interview
Het afnemen van het interview gebeurd in vaste opstelling van 3 personen, waarbij één persoon verantwoordelijk is voor de techniek (zie hieronder) en de overige twee personen voor de afname van het interview. Hierbij neemt één persoon de leiding en wordt deze aangevuld door de tweede persoon die tevens aantekeningen maakt van zaken warover later kan worden doorgevraagd.
De techniek
We hebben ervoor gekozen om van de interviews alleen de audio op te nemen omdat wij voor het doel dat wij voor ogen hebben niet de meerwaarde van video inzien. Daarnaast is er met audio ook een stuk anonimiteit te garanderen, iets wat met video lastiger te realiseren is. Voorafgaand van elk interview wordt er met de persoon in questie overlegd of er opnamens gemaakt mogen worden en in hoeverre deze anoniem moeten worden gehouden (persoonlijke gegevens, bedrijfsgegevens etc.)
Tijd- en faseringsschema
Week nr | Taakomschrijving |
---|---|
Week 43 | Opzet en vragen bedenken. Mensen benaderen voor interview. |
Week 44 | Opzet en vragen uitwerken. Afspraken maken met de kandidaten. |
Week 45 | Afnemen interviews. |
Week 46 | Afnemen interviews. |
Week 47 | Uitwerken interviews. |
Week 48 | Data verwerken. |
Week 49 | Uitwerken werkstuk. |
Week 50 | Conclusie. |
Week 51 | Uitloop en verbetering. |
Van interview naar conclusie
Om van de bewerkte versies van de interviews tot een conclusie te komen hebben we een stappenplan opgesteld, zodat alle interviews hetzelfde behandeld worden. Vanuit dit stappenplan hebben we vervolgens een tussenversie gemaakt waarin een samenvatting van alle tags over alle interviews is gemaakt. Uiteindelijk is vanuit deze tussenversie de uiteindelijke conclusie geschreven.
Stappenplan
Om een overzicht te krijgen van alle tags hebben we per interview alle tags doorgenomen en gekeken hoe relevant de informatie was voor het onderzoek. Doordat we gebruik hebben gemaakt van tags was 90% van alle informatie bruikbaar. Deze informatie hebben we vervolgens gegroepeerd op tagnaam. Het overzicht van deze "tussenversie" staat in de paragraaf hieronder.
Vanuit deze tussenversie is met behulp van de oorspronkelijke interviews per tag een samenvatting geschreven. Het was nodig om de interviews hierbij te gebruiken omdat de informatie zoals vermeld tussen de tags vaak op zichzelf niets zegt maar het verband in het grote geheel moet worden gelezen. Om de samenvatting te schrijven is er een afweging gemaakt tussen de inhoud van dezelfde tags over de verschillende interviews. Sommige inhoud van bepaalde tags is in dit stadium zwaarder gewogen dan anderen. Hiervoor is geen vast stramien gebruikt maar berust puur op de inhoud en de kennis van de personen die de tags hebben geintrepeteerd.
Omdat we hebben gekozen voor een open opzet van het interview zijn niet alle tags even vaak gebruikt in de verschillende interviews, hiervoor hebben we gekeken naar de overige inhoud van de interviews zodat we toch een lijn konden trekken tussen de verschillende geinterviewden. Van tegenstrijdige antwoorden of foutieve antwoorden was in ons geval geen spraken omdat we vijf verschillende bedrijven hebben uitgezocht, die dus juist per geinterviewde een compleet verschillend resultaat zouden kunnen geven. Juist deze verschillen hebben wij geprobeerd uit te lichten in onze conclusie.
Tussenversie
OPLEIDINGSNIVEAU · HBO-informatica afgerond · Degree · MBO Technische informatica · technische informatica Universiteit · natuurkunde gestudeerd met een informatici afstudeer variant FUNCTIE · software developer · Ik ben vooral bezig met HTML en vormgeving, dat soort dingen van het product zelf. · Systeembeheerder ERVARING · PHP, C#, .Net · content management en web applicatie systemen · ik werk nou 3 jaar om en nabij in de PHP · significant gedeelte vindt security, heeft dat ook als hobby · Ik ben zelf inmiddels van mening dat je PHP ook heel secuur kan opzetten als van te voren goed goed over nadenkt · Tijdens mijn afstudeerstage heb ik veel geprogrammeerd CURSUS · top 10 aangedragen problemen door de OWASP groep · Dat is de verantwoordelijkheid van de ontwikkelaar zelf · zelf die op mogelijkheid heeft om op een beveiligingscursus te kunnen gaan · een aantal avonden gehouden voor de ontwikkelaars · onze eigen ontwikkelaars op de training zetten · twee weken trainingen over hoe werkt het product en dat soort dingen · een keer in de een, twee maanden hebben we een JAVA Only avond. VERWACHTING · PHP nooit helemaal de, de veiligheid kan garanderen van de applicatie die daar vervolgens mee geschreven wordt · ik denk wel dat het steeds meer geformaliseerd gaan worden, van he, als we dit soort type opdrachten doe · Nouja het zal geheid het komende half jaar weer een thema zijn. En dan weer een paar jaar niet en dan komt het wel · Want dat gaan mensen zelf tuurlijk niet doen · Ja, het zal wel meer aandacht krijgen · PHP toch wel meer richting enterprise gaat zeg maar, PHP 5 object georiënteerd en ook zeker security leeft wel echt · Jazeker, je moet het niet meer mogelijk kunnen maken dat je het zo makkelijk fout kunt doen zeg maar · Het vergt wel enige kennis, het is niet helemaal waar tuurlijk als je bepaalde dingen kun je net op een andere manier aanbieden zeg maar dat het net zo makkelijk kijken is als op de goede manier · Een van de ontwikkelingen die je ziet is is veel meer richting services en koppelen van allerlei dingen, cloud computing noem maar op VERBETERPUNT · Bewustwording · meer moet pushen naar sowieso alle kwaliteitspunten te waarborgen · Ja die trainingen zouden echt fijn zijn · Security in trainingen · Source analyse tools implementeren · Waardoor je meer gebruikt kan maken van mekaars kennis en code en dat dan ook een standaard manier gaat ontstaan van zo ze je de applicatie op en vandaar uit ook ook standaard manier van filtering, valideren en al die informatie · Misschien ook pair programmeur als je dat misschien met [PARTNERNAAM] samen zou kunnen doen. [Subject]: Ja. Code onderling · Daar zal denk nog de komende paar jaar flink aan moeten gebeuren en dat heeft niet zozeer te maken met PHP, java, dotNet omgaat TOOL · code coverage · bug reportingtool · Issue tracking systeem · Ticketomgeving · PMD en Findbugs PROCES · algemeen software testen · gestroomlijnd iets met betrekking tot feature requests · een deel van de software geoutsourced en dat word dan geïmplementeerd en dan word dat getest · een ploeg die werkt maintainance en een andere die nieuwe dingen aanmaakt en ontwikkeld buiten het aanmaken van nieuwe dingen · Wat een klant eigenlijk eerst moet doen is even kijken even zoeken in het systeem of er al een issue is gemeld over dat probleem en als dat is niet, dan gaat die een issue aanmaken en informatie submitten · We hebben 12 maanden geleden een extra ontwikkelslag gedaan, om wat beveiligingsproblemen te identificeren en op te lossen · Maar er is geen formeel systeem of systeem voor checks die wij uitvoeren, formeel is het niet geregeld · een ploeg die werkt maintainance en een andere die nieuwe dingen aanmaakt en ontwikkeld buiten het aanmaken van nieuwe dingen · Nee. Der is niet nog een keer weer dat er nadat iets is opgeleverd, alles is gecontroleerd · een telefoontje binnenkomt of een mail binnenkomt of iets in die geest binnenkomt waarbij je uit een probleem is helemaal als een beveilingsprobleem is in een omgeving, in een webapplicatie dan weet ik zeker dat daar tijd voor vrij is gemaakt · Nee dat is in de informele sfeer, dus dat wordt er gewoon gediscussieerd en ja dan zit je met 2 3 man soms 4 en dan wordt er gesprek gevoerd over wat je moet doen en waarom moet je dat doen · Je hebt een klant, die geeft je een opdracht en die opdracht die wordt aangenomen door het bedrijf [BEDRIJFSNAAM]. [BEDRIJFSNAAM] heeft dan een [VERANTWOORDELIJKHEID] projectleider [/VERANTWOORDELIJKHEID] aangewezen die het project moet gaan trekken en die is dus in principe eindverantwoordelijk op alle aspecten waar naar gekeken wordt en dat kan security zijn, maar dat hoeft niet per se. · Binnen [BEDRIJFSNAAM] kan zon projectleider kan dan beschikken over gewoon, heeft ie een bouwteam waar ie ook een beheerteam. Maar we hebben ook een een een ja een audit team, laat ik het maar even zo noemen, zo heel formeel zit dat niet dat hangt meer samen met het test team zeg maar maar · iedereen hier wisselt hier regelmatig van rol · elke dag eigenlijk in de logfiles kijken · zodra het project was afgelopen dan gaan we een hele hoop standaard tests er weer op los laten. En een keer in de zoveel tijd, moet eigenlijk door de creditcardmaatschappij gedicteerd dat je een externe audit moet doen · We hebben dat niet heel erg in beton gegoten zeg maar · wij huren heel vaak een zusterbedrijf van ons in voor vormgeving en interactiedesign · Bij zwaardere projecten huren we weer een projectleider in · Serviceinvesteringstraject · Er komen allerlei vragen vanuit [KLANTNAAM] met name bijvoorbeeld ze willen een portfoliosysteem voor studenten hebben er is geen budget er is geen tijd om daar echt lange aanbestedingstrajecten te doen ofzo dan komen ze bij mij terecht. · ik kijk gewoon wat er is aan open source pakketten. Ik bied er een paar aan zeg maar van ‘lijkt je dit wat, is dat wat?’ en dan kiezen we een standaardpakket dan pas ik het aan nou ja omdat ik het wil aanpassen kies ik wat ik zelf fijn vind, is vaak dan [TOOL] PHP. [/TOOL] Af en toe custom ontwikkeling als er dus geen echt pakketen zijn waarvan je zegt nou dat is alleen een beetje aanpassen dan probeer ik met eigen programmatuur op basis van het Zend-framework · En dan maak ik een extensie in joomla ofzo die dan de functionaliteit bied · Wij zijn echt een productie omgeving, testomgeving en ontwikkelomgeving · Testomgeving ja is bedoelt voor de gebruikers om oordeel te geven over van al, ‘dit is ongeveer hoe het eruit komt te zien, wat vindt je ervan? Werkt het een beetje?’ Is vaak alleen binnen de [BEDRIJFSNAAM] toegankelijk, [BEDRIJFSNAAM] domein · Ja, het gaat dan naar de postmasters toe en dan [VERANTWOORDELIJKHEID] waarschijnlijk komt dat wel bij de ontwikkelaar terecht [/VERANTWOORDELIJKHEID] · Ja, in principe bugs die we vinden melden we terug. Fixen die lokaal meteen METHODE · Ja, regelmatig. In ieder geval de code coverage tool · on-the-fly testen · Maar later hebben wij echte versies gemaakt en toen kreeg je zeg maar projecten en de code en het product zelf · We hebben mechanismes om formulieren te beveiligen zodat mensen niet zo snel waardes in HTML formulieren kunnen aanpassen · Code nalezen · Security guidelines · Pair programming · Alles toetsen · Daarnaast hebben we gewoon een test traject · Die worden allemaal geanalyseerd van was dat eigenlijk wel een error of was dat gewoon een overijverige programmeur geweest zeg maar die daar een error van gemaakt heeft. Die worden allemaal nagelopen en opgevolgd · standaard toolkits voor bepaalde dingen · standaarden voor velig werken met bv creditcards · wet Bescherming Persoonsgegevens · een groot pakket te pakken en die aan te passen. · Wat wij wel hebben is in ieder geval gescheiden omgevingen. · pair programming BEDRIJFSEIGENSCHAP · Een paar honderd man. Maar de softwareafdeling is vier man · rond de 130, 140 werknemers · 7 man waarvan totaal 4 in de techniek · gespecialiseerd in Java · webapplicaties voor bedrijven die een unieke oplossing zoeken · alleen maar maatwerk · omdat wij heel veel mensen hebben die geinterreseerd zijn in security, ja, op een of andere manier krijg je dan ook automatisch opdrachten heh, waar dat een belangrijk aspect is · 13 man PRODUCTEIGENSCHAP · Modulair · Open source · Secure by default BEHEER · van boven af krijg ik een opdracht dat moet gemaakt worden, binnen een bepaalde tijdspan · afhankelijk van bovenaf of daar feitelijk ook tijd vrijgemaakt wordt want in feiten is tijd geld · de beheeraspecten van hoe zit dat bijvoorbeeld met login dat hangt dan ook weer samen met security · We hebben een aantal klanten waar we een Service Level Agreement mee hebben · Wat daar dus ook bij hoort is dus het monitoren van systeemstatistieken en andere alerts voor zover die er zijn geweest · Die meerdere sites kan draaien zodat wij dus ook van tijd tot tijd kunnen [SECURITYPROBLEEM] updaten BRONNEN · Dat is meer aan de ontwikkelaars zelf om daar persoonlijk over up to date te blijven · een interne en een externe WIKI · rss reader en ik ongeveer 60 feeds die ik regelmatig bijhoudt. Dus niet allemaal programmeren gerelateerd zeg maar ook gewoon nieuws. · in fysiek volg ik meer algemeen webdev dingen zodat gaat over security BUDGET · geen budget SECURITYPROBLEEM · Authenticatie · Verificatie · meer kans op cross scripting problemen · Een webapplicatie die is op het internet, die is altijd bereikbaar door vrijwel iedereen die ook een internet connectie heef · Webapplicaties hebben typisch niet maar een instanties van die applicatie, iedereen heeft een eigen kopie en bij webapplicaties heb je verschillende gebruikers gelijk met verschillende security niveaus’s / permissies en dat soort dingen en bij desktop applicaties heb je dat niet zo zeer · MySQL injection · een website die een bepaalt recht heeft binnen MySQL dat ie niet het recht heeft om bijvoorbeeld om de complete database te dumpen · zorgen dat er eigenlijk geen misbruik gemaakt kan worden · de input waarvoor het bedoelt is teniet kan doen · men krijgt toch iets voor elkaar om in een omgeving terecht te komen waar ze niet horen, ja dan waarover dan hebben andere omgevingen daar ook last van · Gewoon om het simpele feit dat je moet controleren wie je aan de lijn hebt · niet zo zeer de applicatie maar meer de mensen daar achter · met een webapplicatie sta je gelijk open voor de hele wereld · dat is op internet gebied niet echt een taal heel erg dominant maar doordat het heel erg lucratief is, dus dat is weer het voordeel · Het is ook vaak niet een component maar veel componenten en niet van een partij maar van verschillende partijen. · volledige controle over de omgeving. Dat is nu niet · Je bent afhankelijk hoe secure Joomla in elkaar zit · updaten. Want dat gaan mensen zelf tuurlijk niet doen · Productieomgeving afhankelijk van soort applicatie, binnen de [BEDRIJFSNAAM] alleen of voor de hele wereld · Op een gegeven moment kan er gezegd worden van dit moet voor de hele wereld toegankelijk zijn · Sommige dingen zullen wel lastiger zijn maar daarvoor geldt dat meeste mensen googlen wat en dan komen ze ergens op een site terecht en dan copy paste die code snappen eigenlijk niet waar ze mee bezig zijn. Als er dan een goed verhaaltje staat je moet het eigenlijk zo en zo doen dit afvangen copy pasten ze die code dan hebben ze het op een goede manier gedaan snappen ze nog niet waar ze mee bezig zijn · Zijn allemaal dingen die allemaal misschien wel wil maar beetje privacy gevoelig en security gevoelig · En bij PHP programmeren zie je toch vaak de hobbyisten de postbodes die in Joomla iets doen. Dan zie je helaas ook vaak hele triviale security dingen in zitten register globals dat soort dingen. ja, dus dat was initieel wel een beetje wat hier eerst ook hadden het hing een beetje om PHP heen · Het niet goed afvangen van user input · valideren AWERENESS · Nee, er wordt niet echt extra daar nog een keer weer gekeken naar hoe veilig is het product nee · We zijn wel op de hoogte dat die zaken bestaan (SCAC) · vorig week is een server gekraakt van een bedrijf waar wij, mijn chef dan ook een deel wat mee te maken heeft en toen dat zegmaar aan het licht kwam dat daar mensen op zaten die daar niet op thuis hoorden, toen was in een keer tijd en ruimte genoeg om te zorgen hoe dicht zit eigenlijk alles bij ons VERANTWOORDELIJKHEID · Dat er dus nooit iemand is geweest die die verantwoordelijkheid heeft hoeven dragen · Wordt gewoon intern opgelost door de softwareontwikkelaars · de ontwikkelaar > leidinggevende · Nee, dat doet eigenlijk de ontwikkelaars zelf, of ik, zeg maar de andere mensen die meer handig zijn met security · Zelf is de ontwikkelaar verantwoordelijk voor de kwaliteit van het product · Jij programmeert dus jij zal daar ook van op de hoogte van moeten zijn · de gene die die dat heeft gemaakt · de kartrekker die is uiteraard verantwoordelijk naar de buitenwereld toe · projectleider · Er zijn geen verschillende petten van mensen die zeg maar · waarschijnlijk komt dat wel bij de ontwikkelaar terecht · iets maken of iets bouwen dat, dat inherent veilig is. Dat word in principe aangenomen
Conclusie
Vooraf
Aan dit onderzoek hebben vijf bedrijven deelgenomen die voornamelijk bezig zijn in de webdevelopment branche of intern een ontwikkelafdeling hebben gericht op webdevelopment. Het opleidingsniveau van de deelnemers varieert van MBO tot universitair. Alle deelnemers hebben een opleiding met affiniteit in de informatica gevolgd.
De functieomschrijving van de geïnterviewden bestonden in alle gevallen uit programmeur al dan niet gecombineerd met systeembeheer. In sommige gevallen had de geïnterviewde daarnaast ook andere, niet IT gerelateerde, functies.
De omvang van de bedrijven varieert tussen de vier en honderd veertig personen. Hier is bewust voor gekozen om het verschil tussen kleine en middelgrote bedrijven inzichtelijk te maken. In één geval bestond de ontwikkelafdeling slechts uit één persoon. Op het gebied van techniek gebruikte de geïnterviewde bedrijven alleen Java of PHP.
De producten die de bedrijven produceerde varieert tussen Content Management Systemen, Web Applicatie Systemen en aanpassingen van bestaande (opensource) softwarepakketten. Daarnaast waren er bedrijven die één standaard product boden en bedrijven die per klant maatwerk produceerden. Twee van de vijf bedrijven ontwikkelde producten voor gebruik binnen het bedrijf, de overige bedrijven produceerde producten voor klanten.
De geïnterviewde personen hadden allemaal ervaring met computerbeveiliging, variërend van interesse vanuit een hobby tot ervaring door het ontwikkelen van oplossingen voor beveiligproblemen op het werk. Twee van de vijf bedrijven organiseren zelf bijeenkomsten waar ontwikkelaars worden bijgeschoold op het gebied van de laatste trends en ontwikkelingen op het gebied van webdevelopment. Bij deze bijeenkomsten komt ook computerbeveiliging regelmatig aanbod.
Buiten deze bijeenkomsten om was er over het algemeen een regeling waarmee werknemers zelf bijscholing konden krijgen in de vorm van een cursus of training. Dit was in alle gevallen wel de verantwoordelijkheid van de ontwikkelaar zelf en deze ruimte is vrij te besteden, mits vak gerelateerd.
Tools en processen
Alle vijf de bedrijven maken gebruik van, of gaan dit in de toekomst doen van ‘security tools’ om de veiligheid van hun producten te verbeteren. Bij de JAVA bedrijven zien we ‘PMD’ en ‘Findbugs’ als belangrijke tools, bij de PHP bedrijven zien we het gebruik van ‘code coverage’. Daarnaast gebruikten de bedrijven een ‘issue tracking systeem’ of ‘ticketomgeving’ om bugs te documenteren, in vrijwel alle gevallen werd dit systeem ook gebruikt om computerbeveiliging gerelateerde problemen te registreren en documenteren.
Bij alle bedrijven was er een vast proces dat werd aangehouden bij de ontwikkeling van webapplicaties. Er was echter geen bedrijf dat als vast onderdeel van dit proces expliciet computerbeveiliging had geïmplementeerd. Over het algemeen werd dit wel meegenomen maar verdeeld onder ontwikkeling en testfase. Vooral tijdens de ontwikkeling van het product wordt er rekening gehouden met veiligheid. Tijdens het onderhoud is dit in mindere maten het geval.
Bij twee bedrijven werd gebruik gemaakt van (delen van) applicaties geschreven door derden, deze applicaties worden vooraf getest op allerlei zaken, waaronder veiligheidsaspecten. Als de derde partij een hernieuwde versie uitbrengt zal deze worden gedistribueerd onder de klanten. Het is de verantwoording van de derde partij om hun software up-to-date te houden.
Bij drie van de vijf geïnterviewde bedrijven waren er twee soorten rollen te onderscheiden, namelijk onderhoud en ontwikkeling. Onderhoud richt zich op het onderhouden van uit gerolde webapplicaties Ontwikkeling richt zich op het ontwikkelen van nieuwe (web)applicaties. Één bedrijf gaf aan dat ontwikkelaars binnen hun bedrijf drie verschillende rollen kunnen hebben; ontwikkeling, beheer en ‘audit’. Per project vervullen ontwikkelaars verschillende rollen zodat ontwikkelaars alle drie de rollen regelmatig vervullen. Volgens het bedrijf heeft dit als voordeel dat een ontwikkelaar ook ziet wat er in een audit gevonden wordt en welke problemen er tijdens het beheer van een applicatie op kunnen treden.
Een aantal bedrijven gaf expliciet aan een aparte omgevingen te hanteren voor de ontwikkeling, waarop getest wordt en waarop producten daadwerkelijk draaien voor klanten. Dit alles om code beter af te schermen van de eindgebruikers tijdens het ontwikkelen en testen van applicaties. Één ontwikkelaar gaf aan dat 12 maanden geleden een ontwikkelslag is gemaakt gericht op het verbeteren van de veiligheid binnen hun applicatie.
Op het gebied van het meldingsproces van bugs was er bij geen van de bedrijven een apart proces voor beveiligingsgerelateerde bugs. Een aantal ontwikkelaars gaf aan dat voor de gebruikers alle bugs gewoon bugs zijn en dus geen onderscheid (kunnen) maken tussen beveiliging- en niet-beveiliging gerelateerd bugs. Beveiligingsbugs worden over het algemeen doorgegeven aan de ontwikkelaar die verantwoordelijk is voor de code waarin de bug gevonden is, het is vervolgens aan de ontwikkelaar om deze bug te verhelpen.
Methode en beheer
De methoden die de vijf bedrijven gebruikten tijdens het ontwikkelen van hun webapplicaties waren heel verschillend per bedrijf. Dit komt onder meer door de omvang van het bedrijf, de ontwikkelaars van de grotere bedrijven gaven aan dat er bij het bedrijf tijd besteed was aan het vastleggen van deze methoden. Bij de kleinere bedrijven werd er meer nadruk gelegd op de ontwikkelaar zelf. Daarnaast was er een verschil te zien tussen de bedrijven die één vast product leverden en de bedrijven die maatwerk leveren. Bij de bedrijven met één product werden er meer technieken gebuikt die voor structurele veiligheid gebruikt worden, terwijl er bij de andere bedrijven meer nadruk wordt gelegd op de veiligheidsaspecten die kenmerkend zijn voor het desbetreffende product, bijvoorbeeld het verwerken van credit card gegevens.
Twee van de geïnterviewde gaven aan dat er ook vanuit andere instanties regelgeving is opgesteld op het gebied van beveiliging. Hierbij moet onder anderen gedacht worden aan de ‘Wet Bescherming Persoonsgegevens’ en de ‘Payment Card Industry Stadandard’. Deze regels worden opgelegd om een bepaald niveau van beveiliging af te dwingen als er wordt omgegaan met de gegevens die van toepassing zijn op deze wetten en standaarden.
Bij de kleinere bedrijven valt het verder op dat het hebben van een testtraject of code review systeem of ontbreekt of niet wordt gehandhaafd omdat er geen tijd of capaciteit voor kan worden vrijgemaakt.
Als we kijken naar de eigenschappen van de producten die de bedrijven ontwikkelen, dan zien we dat verschillende productvormen ook verschillende beveiligingsmaatregelen vereisen. Het bouwen van een modulair systeem waarop derde partijen zelfstandig extra modules kunnen bouwen bevat andere beveiligingsaspecten dan een product die deze functionaliteit niet heeft.
Een ander aspect is de openheid van code. Zo zien we dat een partij die bijvoorbeeld hun volledige product open aanbieden aan de klant andere intenties heeft dan een bedrijf dat al de door hun geproduceerde producten in hun eigen beheerde omgeving draaien. Welke vorm hiervan het beste gebruikt kan worden is niet zozeer een kwestie van per definitie beter of slechter, maar hangt erg af van de situatie en de instelling van het bedrijf en zijn klanten.
Met deze keuze komt echter ook het beheer van de applicatie in opspraak. Bij bedrijven die de code open aanbieden aan de klant is het beheer niet noodzakelijk ook een onderdeel van de levering van het product. Indien de applicaties binnen de eigen omgeving worden gehouden is dit echter wel het geval. Op het gebied van veiligheid biedt dit een aantal voordelen zoals het bijhouden van beveiligingsproblemen (logging), monitoren op aanvallen en verhelpen van mogelijke security problemen. In de gevallen dat er over beheer gesproken wordt is dit meestal in combinatie met een ‘Service Level Agreement’(SLA) waarin al dan niet gesproken wordt over beveiliging.
De bronnen die binnen de geïnterviewde bedrijven worden geraadpleegd om beveiligingsgerelateerde problemen op te lossen of om up-to-date te blijven op het gebied van de laatste ontwikkelingen op het gebied van beveiliging verschillen per bedrijf. Sommige bedrijven beschikken over een eigen documentatiesystemen waarmee ontwikkelaars elkaar onderling kunnen informeren over problemen. Andere bedrijven gebruiken uitsluitend externe bronnen zoals RSS-feeds of websites. De diverse thema-avonden die bij sommige bedrijven worden gehouden voor de ontwikkelaars vormen ook een belangrijke bron van informatie, zij het dat deze niet altijd beveiliging gerelateerd hoeven te zijn.
Opvallend genoeg was er bij geen van de bedrijven een budget specifiek voor computerbeveiliging aanwezig. In veel gevallen was er wel een overkoepelend budget, bijvoorbeeld voor research & development, waaruit ook computerbeveiliging gerelateerde zaken bekostigd kunnen worden.
Het beveiligingsprobleem van webapplicaties
Over het beveiligingsprobleem met betrekking tot webapplicaties waren alle geïnterviewde duidelijk; het probleem zit hem in de authenticatie en verificatie van de gebruiker. Het grootste verschil met de klassieke desktopapplicaties is volgens de ontwikkelaars dat webapplicaties beschikbaar zijn voor meerdere, al dan niet geautoriseerde, gebruikers van een netwerk of het internet. Hierdoor speelt beveiliging een grote rol, aangezien het voor kwaadwillende makkelijker is om toegang te krijgen tot een webapplicatie dan een applicatie die alleen op een desktop draait. Daarnaast is het ook zo dat bij grote webapplicaties veel gebruikers en data worden verwerkt, het aanvallen van een dergelijke applicatie is bij voorbaat veel lucratiever dan wanneer er een desktop applicatie wordt aangevallen met weinig gebruikers en een kleine hoeveelheid data.
Naast deze verschillen zien de ontwikkelaars ook relatief nieuwe problemen die bij klassieke desktopapplicaties geen gevaren waren. Voorbeelden van deze aanvallen zijn bijvoorbeeld ‘SQL injectie’ en ‘Cross Site Scripting’. Aanvallen op webapplicaties komen steeds vaker voor en deze aanvallen worden ook steeds omvangrijker. Er wordt dagelijks wel een nieuwe manier gevonden om misbruik te maken van dit soort problemen.
De geïnterviewden gaven ook mogelijke oplossingen voor deze nieuwe problemen. Onder anderen het limiteren van de rechten in SQL, afvangen en filteren van user input en het authenticeren van gebruikers werd door de ontwikkelaars aangedragen als mogelijkheden om het beveiligingsniveau van een webapplicatie te verhogen. Op het gebied van beheer geven sommige ontwikkelaars aan dat het verstandiger is om de applicaties onder eigen beheer te hosten om updates snel te kunnen installeren en de systemen te monitoren op mogelijke aanvallen.
Awareness & verantwoordelijkheid
PHP werd in het verleden vaak aangemerkt als onveilige programmeertaal, maar dit is volgens de geïnterviewde PHP ontwikkelaars niet zozeer de schuld van de taal, maar van de programmeur. Omdat PHP een laagdrempelige programmeertaal is kunnen ook mensen die minder bekend zijn met het programmeren toch aan de slag om een webapplicatie te produceren. Echter het gevaar hiervan is dat deze personen minder bekend zijn met de beveiligingsproblemen van webapplicaties en dat er vaak code wordt overgenomen van derde zonder dat bekend is wat deze code exact doet, dit met vele, veiligheidsgerelateerde, problemen tot gevolg.
Bekendheid met de materie is, zo geven de geïnterviewde aan, een van de grootste problemen op het gebied van computerbeveiliging. In veel gevallen is het zo dat, als alles goed gaat, er geen nood is om (uitgebreide) veiligheidsmaatregelen te nemen. Pas als er iets mis gaat wordt de noodzaak van de beveiligingsmaatregelen duidelijk en is er wel ruimte en tijd voor het nemen van maatregelen. In één geval was het bedrijf wel duidelijk bezig geweest met beveiliging door een ontwikkelslag te maken die specifiek gericht was op het opsporen en oplossen van veiligheidsproblemen.
Op het gebied van verantwoordelijkheid van de broncode van applicaties is in alle gevallen de ontwikkelaar voor zijn of haar code verantwoordelijk. In een aantal gevallen is er daarnaast ook een leidinggevende die de verantwoordelijkheid draagt voor het totaalproduct. De redenering dat een ontwikkelaar zelf verantwoordelijk is voor zijn eigen code impliceert wel dat een ontwikkelaar voldoende kennis heeft om hiervoor verantwoordelijk te kunnen zijn. Tot slot, sommige van de geïnterviewde ontwikkelaars geven aan dat er een probleem is betreffende de bekendheid en oplettendheid van de leidinggevenden en/of het management. Er is weinig begrip voor extra tijd en/of kosten die gemaakt moeten worden om beveiligingsgerelateerde problemen te vinden en op te lossen. Bij de leidinggevenden overheerst vooral het idee dat problemen lastig te vinden zijn, voor aanvallers en wanen zich veilig.
Verwachting en toekomstontwikkeling
Als we kijken naar de verwachtingen die de geïnterviewde hebben met betrekking tot computerbeveiliging in de webontwikkeling dan zien we dat er een redelijk uniform antwoord naar voren komt; Webdevelopment wordt steeds volwassener. Waardoor ook computerbeveiliging een steeds beter behandeld onderwerp wordt en steeds meer aandacht krijgt. De algemene mening is dat het schrijven van veilige applicaties niet zozeer een taak is van de taal waarin het geschreven is maar van de ontwikkelaar. Ondanks dat sommige talen als veiliger bekend staan dan andere, hangt de veiligheid van een applicatie af van de zwakste schakel. Wat in de toekomst steeds meer zal neerkomen op de deskundigheid van de ontwikkelaar.
Daarnaast is de verwachting dat het thema computerbeveiliging altijd een terugkerend thema zal blijven. Vooral omdat er dagelijks nieuwe technieken en systemen worden gebouwd en er regelmatig nieuwe aanvalstechnieken worden gevonden. Een van de ontwikkelingen die genoemd is, is ‘cloud computing’, een systeem waarbij computerbeveiliging een belangrijke rol zal gaan spelen. Zowel verbeterpunten voor zichzelf als binnen het bedrijf gaven de geïnterviewde vooral aan dat er meer aandacht moet worden besteed aan het trainen van de ontwikkelaars en dat het management er meer bewust van moet zijn dat security een belangrijk onderdeel van het ontwikkelproces moet zijn. Daarnaast gaven de geïnterviewde aan dat ze interesse hebben in het inzitten van ‘source code analyse tools’, maar dat deze alleen ter ondersteuning van het huidige beveiligingsbeleid kunnen worden ingezet, niet ter vervanging.
Best Practices
- Opgedaan tijdens het uitvoeren
- Bestudeer van te voren de site van het bedrijf wat je gaat interviewen om gerichter vragen te kunnen stellen (bij een semi gestructureerd interview).
- Neem het interview op, aantekeningen maken kan de geinterviewde zenuwachtig maken of afleiden.
- Voorkom gesprekken in openbare ruimten in verband met achtergrond lawaai. Alleen een goede microfoon is niet genoeg.
- Gebruik een transcriptie tool om de interviews uit te schrijven. Hiermee kun je het audio bestand vertraagd afspelen en kun je de functie toetsen gebruiken om de audio file te bedienen terwijl je in Word aan het typen bent. Dit scheelt veel tijd! Een gratis programma kun je hier vinden: Express scribe
- Achteraf opgedaan
- Vragen die je gesteld hebt afvinken, zodat je makkelijk kan zien welke er nog niet aan bod zijn gekomen. Dit, omdat de volgorde van de vragen sterk kan wisselen en zo hou je toch goed overzicht.
Bijlage
Om privacy redenen zijn in de onderzoeken de namen van bedrijven en producten vervangen door respectievelijk [BEDRIJFSNAAM] en [PRODUCTNAAM]. Daarnaast zijn ook plaatsnamen en domeinnamen om privacy redenen vervangen met [PLAATSNAAM] en [DOMEINNAAM], overige provacy gevoelige informatie is met soortgelijke tags vervangen.
De vragenlijst
- Achtergrond ontwikkelaar
- [1] Opleidingsniveau, werkervaring & functie(s)?
- [2] Ervaring PHP (en/of andere webprogrammeertalen) in samenwerking met beveiliging?
- [3] Wat is het beveiligingsprobleem (gerelateerd aan webapplicaties)?
- Achtergrond bedrijf / afdeling
- [4] Hoe groot is het bedrijf?
- [5] Wat zijn de webapplicaties/web gerelateerde producten van het bedrijf?
- [6] Waarin verschillen de applicaties/producten onderling?
- [7] Is er een budget voor ontwikkeling en specifiek voor beveiliging?
- [8] Wordt er gebruik gemaakt van testen en/of analyse software voor het detecteren van beveiligingslekken?
- Ontwikkelproces
- [9] Is er een vast proces?
- [9a] Zo ja: wat is dit proces?
- [9b] Zo nee: waarom niet?
- [10] Is er nagedacht over beveiligingswaarborging?
- [11] Wie is er binnen het bedrijf / de afdeling / het project verantwoordelijk voor de correctheid / veiligheid van de code?
- [12] Hoe wordt er omgegaan met beveiligingslekken (melden, feature- v.s. bugrequests, afhandeling)?
- [13] Welke bronnen worden er binnen het bedrijf gebruikt om kennis over beveiliging bij te houden?
- Toekomstbeeld
- [14] Hoe wordt ervoor gezorgd dat het kennisniveau m.b.t. beveiliging op peil blijft?
- [15] Wat verwacht ja qua ontwikkelingen in de markt?
- [16] Wat zie je zelf als verbeterpunten voor jezelf en/of het bedrijf?
Tags
[OPLEIDINGSNIVEAU] - Niveau van opleiding [WEETNIET] - Weet geen antwoord op de vraag [FUNCTIE] - Functie van de ontwikkelaar [ERVARING] - Ervaring van de ontwikkelaar op het gebied van security [CURSUS] - Of de ontwikkeling een cursus kan volgen [VERWACHTING] - Wat verwacht de ontwikkelaar aan verbeteringen? [VERBETERPUNT] - Wat kan er verbeterd worden [TOOL] - Tool die gebruikt wordt binnen het bedrijf [PROCES] - Proces dat te maken heeft met security [METHODE] - Methode die te maken heeft met security [BEDRIJFSEIGENSCHAP] - Eigenschap van het bedrijf [PRODUCTEIGENSCHAP] - Eigenschap van één van de producten van het bedrijf [BEHEER] - Beheerprocedures binnen een bedrijf [BRONNEN] - Bronnen die gebruikt worden omtrent het op pijl houden van security [BUDGET] - Budget informatie omtrent security [SECURITYPROBLEEM] - Security probleem gerelateerde zaken [AWERENESS] - Awareness probleem gerelateerde zaken [VERANTWOORDELIJKHEID] - Verantwoordelijkheden omtrent source code
Ruwe interviews
Interview 1
[Wouter]: Hallo. [Subject]: Hallo. [Wouter]: Uhm… nou ik had al uitgelegd effen waar het over ging. Dus ik ga een paar vragen stellen over Security. Uhm… wat is je opleidingsniveau, werkervaring en welke functie werk je op dit moment? [Subject]: Ik heb mijn HBO-informatica afgerond en ik ben nu bezig met mijn Master aan de universiteit, software constructing. Waarbij ik ook Security vakken ga volgen maar die heb ik nog niet gehad. [Wouter]: Oke [Wouter]: En wat is je functie? [Subject]: Ik werk als software developer bij [BEDRIJFSNAAM]. [Wouter]: Oke [Wouter]: Uhm, wat is je ervaring met Php en / of andere uh, ontwikkeltalen in samenwerking met security? [Subject]: Uhm… mijn ervaring met programmeertalen is Php, C#, dotNet en met betrekking tot Security heb ik cursussen gehad over de top 10 aangedragen problemen door de OWASP groep. Uh, die heb ik ook in de praktijk gebracht bij, uh verschillende software ontwikkel projecten. [Wouter]: Mja, ben je verder nog bekent met OWASP? [Subject]: Uh, alleen van naam en hun top 10. En die gebruik ik zelf altijd als leidraad als ik bezig ben met softwareprojecten. [Wouter]: Oke. [Wouter]: En wat is volgens jou het beveiligingsprobleem met uh webapplicaties ten opzichte van desktop applicaties? [Subject]: Uhm… Authenticatie is een probleem, het grote probleem. Je weet niet zeker wie de andere kant van de lijn is, althans dat wil je zeker weten maar. En het andere is uh dat je moet kijken of persoon die die zegt dat ie is, dat ie ook toegang heeft tot dingen die ie wil doen. [Wouter]: Ja. [Subject]: Verificatie. [Wouter]: Ja. [Subject]: En probleem is dat je natuurlijk bij webapplicaties mensen uh uh… een heel eind verderop hebt dus je krijgt ook problemen als man in the middle attacks en dergelijke. [Wouter]: Oke [Wouter]: Uhm, hoe groot is het bedrijf waar je werkt? Dus. [Subject]: Uhm.. een paar honderd man. Maar de softwareafdeling is vier man. [Wouter]: Vier. Oke. [Wouter]: Uhm, welke webapplicaties, webgerelateerde producten zijn er binnen het bedrijf? [Subject]: Uuh, uh. Zijn verschillende, grootste koepelproject is [PRODUCTNAAM] zit zeg maar verschillende onderdeeltjes onder. En dat is uh iets om bouwtoezicht mogelijk te maken voor de opzichters die kunnen controleplannen beheren, projecten bijhouden, logboeken op beheren en dergelijke zaken. [Wouter]: Hmm [Wouter]: Is alleen voor intern gebruik of? [Subject]: Momenteel wel, ze willen dat gaan uitrollen uiteindelijk. [Wouter]: Oke, dus dan word het ook externe bedrijven gebruikt. [Subject]: Dat is wel de bedoeling maar zover zijn ze op het moment nog niet. [Wouter]: Oke [Wouter]: Is daar bij dat project een budget voor het ontwikkelen van speciale security uh, gereedschap? [Subject]: Uhm, nee. [Wouter]: Helemaal niet? [Subject]: Helemaal niet. [Wouter]: Oke [Wouter]: Word er gebruik gemaakt bij het project van testen of analyse software voor detecteren van beveiligingslekken? [Subject]: Uh, ja. Maar niet speciale tools, dat is meer van uh on-the-fly en meer algemeen software testen of het werkt, als het werkt dan zijn uh snel tevreden. Dus geen speciaal budget, voor specifiek security. [Wouter]: Oke. Er word ook niet specifiek getest op security, gewoon. Of het werkt of? [Subject]: Nee, niet dat ik weet. [Wouter]: Oke. [Wouter]: Uhm, is er een vast proces voor het ontwikkelen en met name security? [Subject]: Uuuhm, voor het ontwikkelen van software op zich wel dat gaat uh, der is een redelijk gestroomlijnd iets met betrekking tot uh feature requests die toegevoegd gaan worden. Eeh, der word ook een deel van de software geoutsourced en dat word dan geïmplementeerd en dan uh word dat getest. Dan gaan ze verder kijken naar… Specifiek voor security doen ze uh wederom weinig. [Wouter]: [mompelt weinig…] Oke. [Wouter]: Is ter nagedacht over beveiligingswaarborging? Dus is er iemand verantwoordelijk of? [Subject]: Ik denk dat uh, er wel iemand verantwoordelijk voor is. Maar ik denk dat ze uh, dat uh voornaamste probleem dat ze gewoon de gevolgen van slechte beveiliging niet hebben ondervonden. [Wouter]: Oke. [Subject]: Dat er dus nooit iemand is geweest die die verantwoordelijkheid heeft hoeven dragen. [Wouter]: Weet je ook of ter problemen zijn gevonden in het verleden qua beveiliging? [Subject]: Volgens mij niet. Zullen ongetwijfeld wel gevonden zijn maar dat ze zullen opgelost zijn met algemene bugfixes. [Wouter]: Maar dat word gewoon intern opgelost? [Subject]: Word gewoon intern opgelost door de softwareontwikkelaars. [Wouter]: Oke [Wouter]: En wie is binnen het bedrijf of binnen de afdeling verantwoordelijk voor de code? Is dat de ontwikkelaar zelf of is daar? [Subject]: Voor de code specifiek is dat inderdaad de ontwikkelaar zelf. Samen met uh, iemand die iets meer sturing geeft aan het project. Er is zeg maar een uh je hebt een programmeur, iemand die de design kant doet en de communicatie met de rest van het bedrijf. Er is een leidinggevende die uh, dan de verantwoording draagt voor het geheel van het project. Maar die is niet specifiek betrokken bij de code ontwikkeling. [Wouter]: Oke. [Wouter]: Uhm, hoe word er omgegaan als er beveiligingslekken worden gevonden worden die gerapporteerd aan de ontwikkelaar zelf of worden die bij elkaar gevoegd? [Subject]: Ja, ja. Ze hebben een bug reportingtool maar er word ook mondeling gecommuniceerd met de programmeur. [Wouter]: Oke. En uh eindgebruikers kunnen direct bugs aandragen of gaat dat alleen maar? [Subject]: Ja, kunnen ze wel maar dat word weinig gedaan. Dat de eindgebruikers niet heel ICT-vaardig zijn. [Wouter]: Oke. [Wouter]: En welke bronnen worden binnen het bedrijf gebruikt om de kennis van beveiliging bij te houden? [Subject]: Uh, durf ik niet zo te zeggen. Dat is meer aan de ontwikkelaars zelf om uh daar uh persoonlijk daar up to date te blijven. [Wouter]: Oke. [Subject]: Het bedrijf zelf geeft daar geen sturing in. [Wouter]: Nee, er is geen opleidingen uh? [Subject]: Geen opleidingen, gewoon cursussen. [Wouter]: Oke. [Wouter]: Dan nog iets over het toekomstbeeld. Hoe word er voor gezorgd dat het kennisniveau met betrekking van beveiliging op pijl blijft? [Subject]: uh, dat is de verantwoordelijkheid van de ontwikkelaar zelf. [Wouter]: dus die moet daar dus zelf achteraan? [Subject]: Ja. [Wouter]: Wat verwacht je zelf qua ontwikkeling op de markt? Zie je verbeterpunten voor jezelf en voor het bedrijf zeg maar om dit bevorderen in de toekomst? Of het is niet nodig of? [Subject]: Nou ik ik ik denk wel dat het nodig is dus het zou goed zijn als het bedrijf uh, uh wat meer bewust zou worden van problemen dat ze daar meer moeite in steken en dat ze op zijn minst de mogelijkheid bieden. Ook al is het ook dat de ontwikkelaar zelf aandacht om op beveiligingscursus te kunnen gaan. [Wouter]: Meer centraal vanuit het bedrijf zeg maar? [Subject]: Mja. Ik vind ook dat het bedrijf meer uhm, moet pushen naar uh sowieso alle kwaliteitspunten te waarborgen. En dat de verantwoordelijkheid, tuurlijk moet ie ook bij de programmeur liggen maar dat het bedrijf best meer initiatief in zou kunnen nemen. [Wouter]: Oke. [Wouter]: Dan tot slot nog wat over source analyse tools. Ben jij daar mee bekent? Heb je daar wel eens van gehoord? Gebruik je zelf misschien ook? [Subject]: Zoals…? [Wouter]: Uuuuhm [Subject]: code coverage? [Wouter]: Ja [Subject]: Dergelijke. Ja, ken ik. [Wouter]: En heb je dat wel eens gebruikt? [Subject]: Ja, regelmatig. In ieder geval de code coverage tool. Maar dat je als je vrij complexe systeem werkt en je breid hem uit en breid hem uit moet je sowieso kijken of je niet op een gegeven moment niet overbodige code laat hangen je wilt uh testen of het werkt, je wil je oude tests kunnen blijven runnen zodat je uh niet nieuwe bugs introduceert met je vorige bugfix dergelijke. [Wouter]: Oke. [ophalen keel] [Wouter]: Uhm, ja dat was het eigenlijk uhm. Wel. Qua mijn vragen. Bedankt voor je medewerking [op het einde steeds zachter pratend]. [Subject]: Oke, graag gedaan.
Interview 2
Ruimte: Kantine Licht: Goede verlichting Weer: Bewolkt Externe ruis: Kantine juffrouw was tafel aan het dekken en maakte veel herrie ======== Start interview ======== [Wouter] Introductie en uitleg over het interview [Wouter] Verzoek om opname interview op audio [Subject] Vraagt of we niet gewoon aantekeningen maken maar heeft geen bezwaar. ======== Start geluids Opname ======== [Wouter] ja, maar dat schijnt niet zo relaxed te gaan, want dan moet je heel snel blijven schrijven, vandaar dat we het op deze manier doen, dat we het later uitschrijven. [Subject] Ehhm wat weten jullie over [BEDRIJFSNAAM]? Wouter Ehm ? [Subject] Websites [Wouter] Ja precies, webapplicaties [Subject] Ja .. wij zijn vooral bezig met de content management systemen, die heet de [PRODUCTNAAM]. En met content management heb ik het over het beheren van content op een website, plus extra functionaliteit, zoals login accounts, misschien intergratie met een ander systeem. Wat je typisch krijgt bij een klant ehh, is dat ze al een ander systeem hebben, een databasesysteem, dat ze ook op een website willen publiceren. Dus intergratie met backend systemen ehm, het product [PRODUCTNAAM], is binnen [BEDRIJFSNAAM] op een aparte afdeling ontwikkeld. Daar werk ik, aan het product, dus we maken een product en dat product wordt ingezet bij [BEDRIJFSNAAM] en bij zn Partners. We hebben een aantal partners en we zijn bezig om meer partners te recruiten zeg maar, om het product te gebruiken en in te zetten bij hun klanten. Dus dat is eigenlijk de productstrategie, plus een project; je hebt een grote project afdeling, want we waren oorspronkelijk gewoon puur projecten en toen, yeah,toen hebben we een soort van product ontwikkeld en nu is dat product echt af… [Wouter] doorontwikkeld al? [Subject] Doorontwikkeld.. en ja, los van de projecten zelf, eerst was het een beetje chaotisch.. [Wouter] en was dat dan ook echt de opzet van het product, of was het dan ook echt ook een product gemaakt om voor een project, maar later bleek het zo handig dat het toch groter is ingezet toch? [Subject] Ehh.. in het begin wel [BEDRIJFSNAAM] is tien jaar of elf jaar oud Maar in het begin, ja, was het een soort content management systeem wat niet goed genoeg was voor een bepaalde klant en het volgende project was extra dingen, extra functionaliteit toe te voegen, zo ontstaat zon product, maar er waren er toen geen echte versies van het product yet.. Maar later yeah, hebben wij echte versies gemaakt en toen kreeg je zeg maar projecten.. en de code daar.. en … het product zelf. Want jah het is gewoon niet te doen als iedereen een andere versie heeft en eigen serparate code beheerd. [Wouter] En ehh hoe groot is [BEDRIJFSNAAM] nou? Qua aantal werknemers? [Subject] We zitten.. volgens mij rond de 130, 140 werknemers, want dat was de doelstelling, boven de honderd. We hebben een kantoor hier in [PLAATSNAAM].. Eehh [BEDRIJFSNAAM] was eerst [Storing: voetstappen] een groep studenten van de universiteit. [/Storing: voetstappen] [Wouter] van [PLAATSAAM] ook? [Subject] Ja, en de basis ook uit [PLAATSNAAM], maar nu hebben wij ook een kantoor in [PLAATSNAAM], die zijn bezig met klanten, projecten in regio [PLAATSNAAM], dat is belangrijk natuurlijk. We hebben nu ook een kantoor in [PLAATSNAAM], die zijn vooral bezig met ehh projecten bij de overheid en die soort organisaties.. publieke sector [Wouter] Wat is jou eigen ehh.. rol zeg maar hier? Ben je vooral ontwikkelaar, of? [Subject] Ik ben vooral ontwikkelaar, engineer, dus ik werk aan het product zelf, maar, maken van nieuwe versies van het product. Er zijn wel andere mensen from het andere gebouw daar [Wouter] oh. [Subject] We hebben deze gebouw en die andere daar [Wijst naar het kantoor aan de andere kant van de rotonde] een verdieping… Die zijn vooral bezig met projecten [Wouter] ok uhmm. Je had zelf ook in Nijmegen gestudeerd he? [Subject] nee [Wouter] Op de Universiteit? [Subject] nee [Wouter] Ow, waar, waar ken je Erik van dan als ik vragen mag? [Subject] ….UHHM… [Wouter] Erik Poll? [Subject] Ehh weet niet precies, het ehh, misschien via hier iemand van [BEDRIJFSNAAM], maar, [Wouter] Oww oke [Subject] .. dat we zijn geïntroduceerd en ehh in het team was bezig met security enn ehh [Marc] hm [Subject] En toen hebben we connectie gemaakt zeg maar [Emotie:gelach] [Wouter] Ja, want ik begrijp van Erik: je was zelf toch ook al heel erg bezig met security he? [Subject] Ja.. [Emotie: aarzeling] [Wouter] Tenminste hier binnen [BEDRIJFSNAAM] … [Subject] Ja, eigenlijk wel, is niet echt .. super formeel .. zeg maar, maar ik was wel iemand die de kennis had .. [Marc] [Eens stemmend]ja [Wouter] [Eens stemmend]ja [Subject] en ehh die ging roepen ja dat is een probleem die moet je oplossen, dat soort dingen, dus ehh ik heb een beetje impliciet die rol gekregen om zo bezig te zijn. [Wouter] [Eens stemmend] Ja [Marc] Wat is je eigen achtergrond dan als ik vragen mag, wat heb je hiervoor gedaan voor ? [Subject] Ehhm, ik heb eerst ehm, mijn degree gedaan, in Melborn? [Marc] [Bevestigend] oke [Subject] En toen kwam ik naar Nederland en in die tijd, dat is tien jaar geleden [Marc] zo [Subject] Ik heb bij [BEDRIJFSNAAM] gewerkt en toen ging ik terug naar Australia, daar heb ik ook een soort web achtige dingen gedaan, een soort content management dingen en toen kwam ik terug [Marc] ja [Subject] naar Nederland en nu werk ik ja bij [BEDRIJFSNAAM]. Eerst was het meer projecten, toen kwamen aparte afdeling en nu werk ik aan het product zelf. [Marc]Oke [Subject] maar nu ben ik hele tijd hier min of meer bezig met content management en ehh web applicatie [Storing:Tafels in de kantine worden gedekt] [Subject] systemen. [Wouter] En ehh, welke talen werken jullie hiermee? Tenminste werkt het content management systeem mee of werk je zelf mee? [Subject] No, kijk ehh kijk, [PRODUCTNAAM] zelf was, ehh door een aantal studenten hebben speciaal [Storing: Marc wil aantekening maken] ehh fourth generation i think ….. a taal of systemen gemaakt, [Wouter] [Bevestigend: hm m] die heette [PRODUCTNAAM] en was een template taal persistent object database and so was [Storing:Tafels in de kantine worden gedekt] die werkt gebruikt uhm [Storing:Tafels in de kantine worden gedekt] om [PRODUCTNAAM] daar zelf bovenop te bouwen. Ehh die wordt eigenlijk is zelf is nu een legacy systeem. En de laatste 5 jaar zijn we vooral bezig om dat eruit te halen en over te stappen op java, Dus nu hebben we eigenlijk ontzettend veel java plus wat oude sideworks code. Maar, het is oorspronkelijk een soort applicatie die draait op een andere soort ehh persistent databases en generation .. generation template system [Wouter] En het doel is dus om het helemaal op Java te .. baseren [Subject] Ja om over te stappen op Java One, dat taaltje [PRODUCTNAAM] is niet, is bedoeld voor het afdrukken van HTML eigenlijk. Niet voor het maken van een geen eigen taal. Dat is het hele probleem, het is.. daarom zijn we overgestapt naar mediale technologiën. [Marc] Is dat ook vooral omdat het platform onafhankelijk is of is het echt alleen…? [Subject]No, de [PRODUCTNAAM] zelf was in Java geschreven, dus so ehh die was al platform onafhankelijk. Net als Java. Maar, ja dan zit je met een klein worldje. En als je iets wil gebruiken ja dan moet je het zelf implementeren of intergreren en dat doe je niet. Java zit vol libraries en ander systemen, it just, jah. [Wouter] Uhm, oke nu effe over beveiliging zelf zeg maar. Wat wat vindt je zelf het beveilingsprobleem wat je hebt met webapplicaties ten opzichte van gewoon klassieke desktop applicaties, hoe zie je dat zelf? [Subject] Ehhhm….. het eerste verschil is dat. Een webapplicatie die is op het internet, die is altijd bereikbaar door vrijwel iedereen die ook een internet connectie heeft, .. dat is een mega verschil tussen webapplicatie en desktop applicatie webapplicaties hebben typisch niet maar … een instanties van die applicatie, iedereen heeft een eigen kopie en bij webapplicaties heb je verschillende gebruikers gelijk met verschillende security niveaus’s / permissies en dat soort dingen en bij desktop applicaties heb je dat niet zo zeer. Desktop applicaties zijn typisch iets wat een persoon gebruikt en dat is een ander soort security dan operating systems [Wouter][Bevestigend] Ja [Subject] Dus ja, …. Webapplicaties is toegankelijk yeah, overal beschikbaar op het internet, en je hebt ook echte gebruikers maar ook een gebruiker klasse vol andere mensen of andere aanvallers die daarmee willen hacken of ehh… iets naars moet doen. <stilte> [Wouter][Bevestigend] Ja… uhmmm [Subject] Dus bijvoorbeeld meer het gebruikers aspect met permissies en dat soort dingen plus dat het dan open is voor iedereen. [Wouter][Bevestigend] voor iedereen [Subject] Ja [Wouter] Precies [Wouter][Bevestigend] Ehh zijn er nog andere applicaties of webgerelateerde producten die [BEDRIJFSNAAM] aanbied, naast het content management systeem? [Subject] Ehh… [PRODUCTNAAM] is een content management systeem maar ook een soort platform waarop je extra modules kunt bouwen en inpluggen, dus integratie met bijvoorbeeld ehh YouTube ofzo een extra component. Een VCB noemen we dat. [Wouter][Bevestigend] m m [Subject] en die kun je zo inpluggen, het is dus een uitbreidbaar platform. [Marc][Bevestigend] ok [Wouter][Bevestigend] En en hoe verschilt zo’n module dan bijvoorbeeld met het hoofdsysteem qua beveiliging? Komen daar nog andere dingen bij kijken? Omdat je dus ook externe bronnen hebt? [Subject] Ehh, als je een VCB maakt, een van die componenten, dan krijg je sowieso redelijk veel dingen gratis qua security. We hebben mechanismes om formulieren te beveiligen zodat mensen niet zo snel ehh waardes in HTML formulieren kunnen aanpassen. Dingen .. dingen doen. Je krijgt er dus ook een soort security framework omheen. Dus ja dat is wel een verschil [Marc]Zit er ook een bepaalde security tussen de modules en het platform opzich, dat die module zich moet authenticeren of ehh dat ie weet dat het een echte [BEDRIJFSNAAM] module is, of is het de bedoeling dat andere mensen ook uitbreidingen kunnen maken die met je platform kunnen communiceren. [Subject] Het is wel de bedoeling dat andere mensen die modules kunnen maken. De SDK zelf staat op ehh de [BEDRIJFSNAAM] [DOMEINNAAM]. Die kun je gewoon downloaden, maar het installeren van een module doet de systeembeheerder of ehh de applicatiebeheerder zelf, dus ik ga er even van uit dat die persoon niet stoms gaat inpluggen. [Wouter] Dus die is daar eigenlijk verantwoordelijk voor dan? [Subject] Ja, eigenlijk wel. En ook binnen het systeem sowieso is het niet echt mogelijk om java code af te schermen van ander java code binnen een VM, dus dat gebeurd ehh ja niet echt. [Marc][Bevestigend] oké [Subject] Met reflectie kun je zoveel verschillende dingen doen. Dingen ook die eigenlijk niet mogen. [Wouter][Bevestigend] ja [Wouter]Ehm, is er binnen het project ook een budget voor ehh specifiek voor beveiliging? [Subject]Nee [Wouter][Bevestigend] Nee. Dat zit gewoon in het globale budget ofzo? [Subject] We hebben 12 maanden geleden een extra slag,<storing> slag gedaan, om ehh wat beveiligingsproblemen te identificeren en op te lossen. We zijn daar echt een soort ontwikkelingstraject binnen het product. Maar er is geen formeel systeem of systeem voor checks die wij uitvoeren, formeel is het niet geregeld. [Marc] Hebben jullie daar nog mensen van buitenaf voor ingeschakeld? Om de beveiliging te controleren? [Subject] Nee, dat doe, dat doet ehh, eigenlijk de ontwikkelaars zelf, of ik, zeg maar de andere mensen die meer handig zijn met security. Maar ehh klanten bij de grote klanten die we hebben bij grote projecten die zetten soms wel wel eens af en toe een derde partij in security checks op de website. [Wouter][Bevestigend] ja [Subject] Dat gebeurd wel af en toe [Marc][Aannemelijk] hm [Subject] Maar die ehh qualtiy checks zijn vooral ter geregel van password authentic, Je vangt ehh alleen de meest voor de hand liggende problemen op. En typisch met dat soort qualtiy checks zij bezig met bekende problemen bij andere systemen of software. Aangezien [PRODUCTNAAM], ja we zijn vrij groot in Nederland maar niet in de zin van de wereld zelf zijn vrij specifieke checks voor [PRODUCTNAAM]. Die zijn vooral op zoek naar generieke problemen of bekende problemen [Wouter]Ehhm, wie is er dan verantwoordelijk voor ehm de voor de code die je oplevert. Is dat de ontwikkelaar zelf of is dat degene die dat later nog controleert of test. Zoals je al zei niet elke ontwikkelaar is even, ehh, hoe zeg je dat, ehh geïnteresseerd in de in de security. Dus waarschijnlijk dat misschien andere mensen het testen, maar wie is er dan verantwoordelijk voor? [Subject] Dat is eigenlijk een algemene quality issue, want we hebben wel Q/A maar die zijn niet gericht op security natuurlijk maar ehh op Q/A in het algemeen, dus. De .. zelf is verantwoordelijk voor de kwaliteit van het product. [Wouter] Wordt er verder nog gebruik gemaakt van speciale tools, zoals bijvoorbeeld Fortify, ik weet niet of je daar bekend mee bent? [Subject] ja die ken ik, ehh ja volgens mij ehh zijn er niet zoveel tools die echt de problemen kunnen opvangen voor dingen zoals cross side scripting en dat je vooral juist de code leest denk ik, dan kun je wel vrij makkelijk die problemen opsporen, als je gewoon de code leest, das gewoon. Soms is dat het gewoon de beste manier om die problemen op te vangen. [Wouter] Dus dan wordt er alleen maar echt door personen gecontroleerd, dus en niet geautomatiseerd [Subject] Niet geautomatiseerd nee. We hebben ook een aantal guidelines. Voor als je bijvoorbeeld iets doet met SQL, dan moet je altijd ehh prepare statements gebruiken, in plaats van dat je ehh een SQL query samenstelt voor permissies. Voor als mensen dat doen dan heb je vrij weinig kans op een SQL injection probleem bijvoorbeeld, dus dat is wel belangrijk dat je met de mogeleikheid rekening houd, zo en dat ze de juiste API’s gebruiken. In plaats van via internet? [Wouter]En worden die guidelines regelmatig bijgesteld? Of ? hoe wordt dat precies bijgehouden? [Subject] Ehh, dat ligt meer bij projecten dan bij product, dat is ehh ook niet echt super formeel geregeld. Nu weet iedere ontwikkelaar dat je altijd prepare statements moet gebruiken in plaats van SQL. Dus als iemand dat doet dan wordt dat wel gezien. [Wouter]Dus dan wordt die daar wel op aangesproken? [Subject]Ja, ja [Marc] Is het gebruikelijk dat jullie elkaar ook een beetje controleren ook in die zin? Dat je bij collega’s kijkt of die dat inderdaad niet vergeten is? De prepare statement bijvoorbeeld? [Subject]We hebben in het product hebben wij een ploeg die werkt maintainance en een andere die nieuwe dingen aanmaakt en ontwikkeld buiten het aanmaken van nieuwe dingen, van het ontwikkelen van nieuwe dingen is dat je vooral ook als coder dus redelijk vaak je krijgt meer dan een paar ogen. [Wouter][Bevestigend] oh oke [Subject]Maar in Maintaince, alles gaat via een Issue tracking systeem, dus als je iets oplost dus er wordt een patch gemaakt dan krijgt de patch een review door iemand anders, dus daar zit wel een review process in. [Marc][Bevestigend] Oke [Subject]In maintainance dus dat is wel belangrijk. [Wouter][Samenvattend] Dus de security wordt eigenlijk gewaarborgd door dat er altijd twee paar ogen naar kijken. [Subject]Ja, ja, security en andere qualiteits dingen [Wouter]En dat ehh, je zei zelf al er is een bug tracking systeem? [Subject]Ja [Wouter]Als een klant een ehh een bug vind in een applicatie, hoe gaat dat dan in zijn werk? [Subject] Wat een klant eigenlijk eerst moet doen is even kijken even zoeken in het systeem of er al een issue is gemeld over dat probleem en als dat is niet, dan gaat die een issue aanmaken en informatie ehh submitten. [Wouter]Oke, en daar kan de klant ook gewoon zelf bij? En de klant kan ook gewoon kijken wat er al… [Subject] Ja, het system is e nu .. . ja het is wel open [Wouter]Ehhm hoe wordt er binnen het bedrijf gezorgd dat de kennis over beveilig bij de ontwikkelaars up to date blijft? [Subject] We hebben ehh een aantal avonden gehouden voor de ontwikkelaars over veschillende thema’s. Security is ook een thema die af en toe komt, heel soms. [BEDRIJFSNAAM] heeft ook hoe zeg je dat, wij hebben een platform bedacht en die word ehh die willen wij eigenlijk verkopen aan onze partners en daar hebben wij ook trainingen voor de partners die dingen ontwikkelen en ook gewoon trainingen in het algemeen voor de normale gebruikers. We hebben laatst een security training gemaakt, die wordt over een week of twee gelanceerd de user training. [Wouter]Oke [18:54] Dit is ... meer kan vinden tuurlijk ons onze eigen ontwikkelaars op de training zetten. En ook als je begint als engineer bij [BEDRIJFSNAAM] dan krijg je ook twee weken trainingen over hoe werkt het product en dat soort dingen. [Wouter][Sturend] en daar zit een deel security in. [Subject] Nee, nog niet maar, dat wil ik ook zien en als wij die security training voor elkaar hebben dan is dat vrij makkelijk toe te voegen aan het programma voor de nieuwe ontwikkelaars. [Wouter] Oke [Marc] Hebben jullie eventueel, mogen jullie ook zelf trainingen volgen binnen [BEDRIJFSNAAM]? [Subject] Ja [Marc]En ehh dat je dan bijvoorbeeld kiest voor een bepaalde security training, is dat een optie? [Subject]Iedereen heeft een trainingbudget dat kun je besteden aan allerlei trainingen voor whatever. En als je security wil doen, is dat wel mogelijk. [Marc]Maar er zijn geen verplichtingen in de zin van dat het wenselijk is dat iemand die cursus heeft gevolgd? [Subject][Aarzelend] Nee, de meeste mensen hier hebben die JAVA certificering gedaan. [Marc][Begrijpend] hmm [Wouter] dankjewel, ehhhm dan wou ik nog wat vragen over het toekomstbeeld van security, wat verwacht je zelf van de ontwikkelingen in de markt waar jullie product actief is qua security? Denk je dat er in de toekomst ehh veel andere gevaren komen waar jullie wel of niet berekend zijn? [Subject] Ja dat kan altijd gebeuren natuurlijk. Ja het is een beetje lastig om de toekomst te voorspellen, ja. [Wouter]Maaaaar. [Subject] In het product zelf kunnen wij best wel wat dingen ehh problemen oplossen zoals met sessies. Wij managen dus een eigen sessie stof? ….. Dat is door een derde partij ontwikkeld dus dan krijg je een hoop dingen gratis en ook een extra stukje beveiliging zoals tampering met formulieren dat soort dingen en sessie beveiliging en logging / locking mechanismes. Dus door de derde partij, worden er een hoop dingen voor jou geregeld en ik schat dat in de toekomst elk wat meer dingen in het platform oplossen. [Wouter]Dus dat is ook meer preventief zeg maar, dus mocht er in de toekomst iets met sessies mis gaan dan.. [Subject] Ja, dan hebben wij meer kans om dat ehh in het product op te lossen [Wouter] Oke [Wouter] Ehm, we hebben het er al een beetje er over gehad, maar wat zie je zelf een beetje als verbeter punten voor jezelf en binnen het bedrijf voor security. Dus bijvoorbeeld de trainingen die je zelf al aangaf. [Subject] Ja die trainingen zou echt fijn zijn, want eh de meeste mensen zijn zich niet echt bewust genoeg van hoe makkelijk het is om een security probleem te maken of te veroorzaken, hoe simpel en hoe klein die problemen kunnen zijn en hoe groot het effect, de gevolgen kunnen zijn. En het wordt altijd onderschat, je hebt maar een klein regeltje code die heel onschuldig is, maar als iemand anders een ander idee heeft wat je kunt doen met dat regeltje, dan is dat al een groot security probleem ook al is de ontwikkelaar zelf zich niet bewust is van wat de mogelijkheden zijn. [Marc] Maken jullie ook de gebruikers bewust, van hun eigen verantwoordelijkheid? Bijvoorbeeld van ehh, jullie mogen het password niet weggeven of dat soort dingen? [Subject]Wij niet, niet bij product (Productie) natuurlijk. Ik neem aan dat de trainingen over de gebruiker zelf ook iets zeggen over wat je moet doen met je password en dat soort dingen. [Marc] Ja, ja oke, ja [Subject] In dat aspect is [PRODUCTNAAM] niet zo anders dan alle andere websites. Dat je inlogt met je wachtwoord en username, ja dan scheelt het niet zo veel. [Marc] oke [Wouter][Gericht aan Subject] ehh ik weet niet of jij nog vragen hebt, of dat je zelf nog iets hebt? [Subject] Ja ehh ik werk vooral aan ehh [PRODUCTNAAM](Productie) dus ik heb niet zo veel te maken met projecten of ehh de backend intergraties. Dus ik vraag mij af of het interessant is voor jullie om iemand te interviewen die wel bij projecten werkt en die ook integratie doet. [Wouter]Ehhhm [Marc] Om dat de security daar een grotere rol speelt volgens jou? [Subject] Yess het is wel interessant als je de koppeling moet maken tussen de website en het andere backend systeem of een database, dan heb je meer kans op cross scripting problemen en dat soort dingen. Ik ben vooral bezig met HTML en vormgeving, dat soort dingen van het product zelf. Ik heb jaren jaren lang geen vormgeving code geschreven, dus, ja [Wouter]Ja misschien dat dat wel iets is voor ons om voor een vervolg onderzoek op toe te passen dus inderdaad te kijken waar in een bedrijf nou het de belangrijkste rol speelt in het ontwikkelproces. [Subject] Ja dat is ook wel belangrijk, want dan ben je aan het spelen met de gegevens van jou klant. En de echte jah de business database en de gegevens van eindklanten. Daar staat wat meer op het spel. [Wouter][Bevestigend] Ja [Wouter]Nou ehh, dat was het dan verder, bedankt voor je tijd in ieder geval [Marc] Dank je wel ====== Formeel einde interview ======= [Subject] is er veel theorie over hoe security in echt moet …-en [Wouter]Er is in ieder geval meer theorie over dan dat er in de praktijk wordt toegepast. [Subject] Dat kan ik me voorstellen [Wouter] Ja het is echt, ehh we zijn al een hele tijd bezig al ehh we hebben al een literatuur onderzoek gedaan, maar, je ziet wel, er is heel vast stramien over hoe het moet gaan, dat ligt eigenlijk heel heel goed vast, maar hoe het wordt toegepast, dat zweeft eigenlijk onder en boven.. [Subject][Bevestigend] Ja, ja [Wouter] En dat is ook wel waarschijnlijk het interessante aan het onderzoek, is het wel haalbaar, is de theorie wel haalbaar, kun je wel op die manier werken, kun je er gewoon zo mee omgaan? [Subject][Eens stemmend] hm m [Wouter] Ja dat, Dat proberen wij uit te zoeken [Subject]Ik kan me voorstellen dat je typisch een soort van Security Officer of eigenlijk iemand wil hebben die meedraait in het project [Wouter ][Eens stemmend] ja [Subject] en die de cyclus helemaal vanaf, vanaf het begin zich daarmee bemoeid [Wouter] Ja en die zich daar helemaal voor ehh verantwoordelijk is voor dat het ook zo gaat zoals het beschreven is ergens, als in een bedrijf of in de policy’s. Maarja, dat zie je eigenlijk niet. Ja bij enorm grote bedrijven [Subject] Misschien wel maar… [Wouter]Ja, maar Microsoft heeft bijvoorbeeld SDL helemaal er op toegespitst dat security erin zit. Maarja, dat is voor een bedrijf zoals dit .. [Subject] Daar heb je geen aparte persoon die dat doet… [Wouter] nee, nee [Subject]Dat is niet echt realistisch [Wouter]Nee… Dus ja we zijn nou ook een beetje aan het kijken dus ehh inderdaad ehh met van die analyse software om delen te automatiseren dus om wat taken van zo’n persoon over te nemen. Maarja zodat (zoals) je zelf ook al aangaf, ja, je kunt eigenlijk beter iemand nog met een paar ogen er naar laten kijken want die haalt er meer uit, dan dat zon tool.. [Subject] Ja .. Dat moet je sowieso doen qua andere kwaliteitsaspecten. Dat is niet alleen een security issues. [Wouter] Ja [Marc] Nog eventjes een andere vraag, dat heeft niet zozeer direct met de webapplicaties te maken, maar de beveiliging in het gebouw zelf bijvoorbeeld, is dat, zijn jullie daar nog streng in? [Gelach] ? [Joost] Dat valt een beetje buiten wat wij doen hier.. [Marc] Ja, ja trouwens, laat maar.. [Gelach] [Subject] Ja dat valt een beetje buiten de boot ehh.. [Joost] Ja.. [Subject] Ik ben vooral bezig met webapplicatie security en dat is ook iets anders dan network security, fysieke security. [Wouter] Ja precies, dat is natuurlijk als je de.. Ja dan ga je wel heel ruim denken, dat als er iemand binnen komt bij de code kan die kan die dan veranderen. [Marc] Ja, maar het was meer zo van, je kan security toepassen zeg maar dat de applicatie goed werkt en dat daar mensen niet in kunnen. Maar je kan ook security toepassen zeg maar om te zorgen dat mensen je product niet stelen zeg maar. Daar kun je bijvoorbeeld ook security voor gebruiken [Wouter] Ja, maar dat is wel weer een andere security [Joost]Ja dat valt wel een beetje buiten de scope van wat wij onderzoeken natuurlijk. [Subject] Ja je kunt nu [PRODUCTNAAM] gewoon nu downloaden en installeren, het is gewoon een community editie. Je krijgt geen broncode, maar het is gemaakt in JAVA en dan heb je het zo gedecompiled [Lacht] eerlijk gezegd. Maar dat is wel een punt want je kunt wel de webapplicatie secure maken, maar als de gebruiker gewoon een .. versie van windows draait en er draaien allerlei trojans en virussen op dan maakt dat helemaal niets uit. Want iemand kan dan binnenkomen via die windows pc bijvoorbeeld. Dat geldt ook voor ander soort authenticatie systemen, met pasjes en dat soort dingen. Als iemand maar op die computer kan zitten en ook dingen kan doen zoals die computer overnemen, dan maakt het helemaal niets uit wat er op jou applicatie gebeurd. [Wouter] Nee [Marc] Ja dat is hem [Wouter] Nou hartstikke bedankt nogmaals in ieder geval. [Marc] Bedankt voor je tijd
Interview 3
Ruimte: Woonkamer Licht: Sfeervol Weer: Donker (avond) Externe ruis: Geen ======== Start geluidsopname ======== De interviewers zijn blij dat de opname is gestart en er wordt uitgelegd waarvoor dit interview is. [Joost] Vraagt aan Wouter uit te leggen wat we gaan doen. [Wouter] Introductie en uitleg over het interview ======== Start interview ======== [Wouter]Als het goed is had je al informatie gekregen over beetje voor de over inhoud. Eeum Kun je in het kort vertellen waar je werkt. Euhh Iets, iets over het bedrijf en iets over de producten? [Subject] Eu. Ik werk in een bedrijf van, even kijken, van totaal werken wij met eeu 7 man waarvan totaal 4 in de techniek. Euu we houden ons eigenlijk bezig met webapplicaties en dat in het breede zin van het woord. Dus van een eeuu een beeldbank tot een website tot en met euu en dat euu een verkoopplatform voor producten waar mensen gezamenlijk bij elkaar komen om producten in het groot af te nemen en dat soort zaken eigenlijk. Dus webapplicaties ja, eu in het breedste zin van het woord, eigenlijk [Wouter] en welke omgeving en taal [Subject] {Haakt in} Dat is eigenlijk alleen PHP. Zo dat is eigenlijk ons enige taal waar wij in werken, heeft ook meerdere redenen, we hebben ook Perl et cetera er nog bij gehad maar PHP is gangbaarder is is eigenlijk wel door iedereen te lezen en euu aan te passen. Dus. [Wouter] Okee, euu. Wat is je eigen opleidingsniveau? En je werkervaring op het gebied van webontwikkelen [Subject] Euumm Ik heb gewoon MBO [Technische informatica] gedaan en daarin is vrij weinig besteed aan PHP en daarna ben ik eigenlijk gewoon, ja, ik werk nou 3jaar om en nabij in de PHP. Omdat ik eigenlijk meegegroeid met het bedrijf, en eeu en ja aldoende leert men en euu op die manier je euu ben ik ja goed wat het niveau is, dat weet ik eigenlijk niet precies, dat kan ik niet daarin uitdrukken. Maar stel dat ik er al 2 en half, 3 jaar mee werk ja dat wel [Wouter] Euumm. Qua eum werk hoe, hoe kom je in aanraking met euu, beveiliging? [Subject] Euum, Zuiver op PHP gebied of eum… [Wouter] Euhh, Ja! Dus in ieder geval met euu met euu webdevelopment. [Subject] Ja, ja goed i,ik in hoeverre in aanraking kom met beveiliging, eumm je, je houdt rekening met eum hoe zaken eumm vo vooral met bijvoorbeeld met MySQL injection hoe kun je verkomen dat mensen euu zaken kunnen plaatsen in je database dat je niet wilt wat überhaupt sowieso niet de bedoeling is [haalt adem] en je zorgt ervoor dat euu een website die een bepaalt recht heeft binnen MySQL dat ie niet niet het recht heeft om bijvoorbeeld om de complete database te dumpen te kunnen of et cetera. Dus je zorgt ervoor .. wat ik in mijn in de praktijk voor mij security betekend is is zorgen dat er eigenlijk geen misbruik gemaakt kan worden van platform dat je maakt en dat het de rechten waarom dat allemaal draait dat het eigenlijk niet meer rechten heeft dan het nodig heeft. [Wouter] Is dat volgens jou ook het grootste beveiligingsprobleem van een applicaties? [Subject] Ik denk persoonlijk dat het grootse probleem is dat het euumm de query’s et cetera die gedraaid worden naar MySQL wel of naar welke database server dan ook, die vaak niet, of de input daarvan niet voldoende gecontroleerd wordt. Dat je door middel van euu het het setten van quote-jes als nog een query binnen een query zelf kan draaien. En euumm Ja eigenlijk de, de input waarvoor het bedoelt is is teniet kan doen, ik denk dat dat, persoonlijk denk ik dat daar het grootse gevaar in schuilt. [Wouter] euummm, Heb je nog, eum verschillen tussen de applicatie onderling die jullie euu zegmaar op het gebied van veiligheid? [Subject]Of wij verschil maken tussen.. wanneer iets groter wordt of iets kleiner is, nee denk dat we eigenlijk bij alles proberen om om dat zo dicht mogelijk te houden. Waarom eigenlijk? Omdat als je een een ja, qua budget gezien een minder project hebt, maar het draait wel op jou server. Dus op het moment dat daar iets eeu mee mis gaat, of euu men krijgt toch iets voor elkaar om in een omgeving terecht te komen waar ze niet horen,[haalt adem] euu ja dan waarover dan hebben andere omgevingen daar ook last van. Dus dat staat eigenlijk allemaal dicht. En zelfs omgevingen die wij die wij inmiddels van een ander bedrijf hebben overgenomen die draaien niet eens op onze eigen productiever, dat houden we ook weer apart, in een andere omgeving. Waar daar zoveel mogelijk proberen om eeu in ieder geval alles wat bij ons gedraaid wordt, eigenlijk onze productieomgeving, wordt helemaal doorgespit voordat wij het daar gaan opplaatsen anders wordt het ergens anders fysiek neergezet [Wouter] Maar jullie draaien al jullie eigen producten ook op onder eigen beheer? [Subject] Ja, alles. [Wouter] Euum je had het al eventjes over budget, is er een, apart budget voor euum security? [Subject] Nee, nee. [Wouter] Eu is er euu, Hoe gaat het qua verantwoording om de security, wie is er verantwoordelijk voor dem de veiligheid van de producten? [Subject] Ja eigenlijk dat deel waar eventueel problemen zich in voordoet daar is de gene die euu die dat heeft gemaakt, die dat heeft geprogrammeerd, die is daar eigenlijk voor verantwoordelijk voor alleen je bent wel met zijn allen, ja iedereen is, heeft ook een controlerende taak en je probeert mekaar wijzer te maken en euum en eigenlijk daar allemaal in te groeien en zorgen dat het product uiteindelijk beter wordt. Ja goed, d’r is echt 1, 1 verantwoordelijkheid naar de buiten wereld is in feite degene die het verkoopt, de de ja de kartrekker die is uiteraard of verantwoordelijk naar de buitenwereld toe, dat wel. Alleen intern dan eu ja dan is het eigenlijk degene dat deel dat onderdeel heeft gemaakt. [Wouter] En vindt er nog iets van een kwaliteitcontrole eu eu plaats? Qua security op het moment dat een product, eu , vrijgegeven wordt? [Subject] Neu, nee. Der is niet nog een keer weer dat er nadat iets is opgeleverd, alles is gecontroleerd, alles is getest, door meerdere personen is getest dan is het niet de situatie waarbij wij nog een keer euum euum een extra test is voor voor security. Nee [Wouter] Euum, zit dat wel in het normale proces? [Subject] Hoe bedoel je? In het normale proces? [Wouter] In het normale test proces? [Subject] Euum Nee, het zit euu Nee er wordt niet echt extra daar nog een keer weer gekeken naar euum hoe veilig is het product [haalt adem] Nee. [Wouter] Euum Zijn jullie, of ben je zelf, euum bekend met source analyse tools toevallig? Op security? [Subject] Euu [twijfelend] Ja, maar we hebben, ik heb het zelf nog nooit eerder in de praktijk toegepast.[..] We zijn wel op de hoogte dat die zaken bestaan. [Joost] Waarom heb je dat niet gedaan? [Subject] Euu omdat ik uiteindelijk euu een uitvoerende functie heb, dus ik krijg van, om het maar even zo te noemen, van boven af krijg ik een opdracht dat moet gemaakt worden, binnen een bepaalde tijdspan en daar is gewoon echt geen ruimte voor om nog eens een keer eu dat soort zaken allemaal nog te gaan uitvoeren en uit te zoeken hoe, hoe bepaalde zaken precies werken. Eeu wellicht wanneer dat wel draait en je hebt het door dan is het snel euu is het waarschijnlijk is het vrij snel toe te passen. Euu Alleen ja in alles, dat moet ik er ook bij zeggen, de onderneming waarin ik nou werk is groeiende dus, euu wellicht dat binnen nu en 6, 7 maanden wel de, de situatie zou kunnen zijn, alleen op dit moment is dat nog niet de situatie. [ Joost] Je zou dat wel graag zien, dat dat de situatie wordt of, in ieder geval dat er .. meer [Subject] [haakt in] Nou wanneer eeu bijvoorbeeld uit uit eennn uit een rapport zie dat het absoluut bijdraagt aan de kwaliteit van een product, ja dan zeer zeker, ja. Alleen dan, dan is er niet van, dan ben ik niet degene die uiteindelijk zegt van we gaan het nu doen. Ik ben wel iemand die [haalt adem] die dat kan aankaarten, en euu dan is het afhankelijk van bovenaf of daar feitelijk ook tijd vrijgemaakt wordt want in feiten is tijd geld en dat, ja goed, daar ga ik dan niet over, ik ga niet over waarin geïnverteerd wordt. [Wouter] En wat denk je dat dan de uitkomst van en euu of de bijdrage van zo’n programma zou moeten zijn om het implementeerbaar te maken? Binnen het bedrijf? Om, om het zelf terug te laten verdienen? [Subject]Nou om zich terug te laten verdienen, i ik [haalt adem] dat dat is lastig, en dat is ook lastig voor mij dan weer om intern te verkopen naar bovenaf, want euu ik zolang het goed blijft gaan, is der nooit een reden om zo’n zoiets te gaan doen. En euu en zal daar ook niet 123 tijd voor gemaakt worden. Als ik een heel simpel euu voorbeeld aan mag noemen, euu erbij mag halen, euu vorig week is een server gekraakt van eeeu een bedrijf waar wij, mijn chef dan ook een deel euu euu wat mee te maken heeft en toen dat zegmaar aan het licht kwam dat daar euu mensen op zaten die daar niet op thuis hoorden, toen was in een keer, der was euu tijd en ruimte genoeg om te zorgen hoe dicht zit eigenlijk alles bij ons. Dan is er in een keer alles wakker geschud en dat wordt er in een keer tijd gemaakt voor allerlei zaken, om na te denken te, te lopen. He om zo zolang er nooit security problemen hebben dat het nooit er zaken aan het ligt komen waarbij er je gegevens uit een database kan lezen of in een database kan zetten of waar dan ook uit of doormiddel van een webapplicatie, dan zal de noodzaak daarvan euum ook minder snel, eumm ja dan dan denk ik, beseft wordt. En vooral omdat de mensen min, minder technische zijn, die, die uiteindelijk gaan over wat er technisch gedaan gaat worden. [Joost]Ja.. En hoe denk je dat dat andere bedrijf nou ook meer euu aan aandacht zou gaan besteden? [Subject] Dat was geen isseu dat PHP gerelateerd is, en ik heb zelf ook niet heel veel met dat bedrijf te maken, dus zal het niet zo 123 niet weten hoe ze dat verder dat verder nou loopt. Dat durf ik niet te zeggen. [Joost] Ja. [Wouter] Euum. Hoe wordt er binnen het bedrijf omgegaan met beveiligingslekker die al dan niet door derde worden geconstateerd? [Subject] Ja ,eigenlijk hebben we die situatie… Dat durf ik niet te zeggen, want omdat we in de praktijk die situatie nog niet, hebben gehad, maar ja, ja mocht het dat wel aan het licht komen, ja euum .. mijn persoonlijke reactie zou zijn, euu gelijk eigenlijk.. wat het, wat het is, wat die gene heeft gevonden, en euu dan uiteraard proberen op te lossen. En euu , wanneer er aantoonbaar ergens een lek in is, dan wordt er ook gegarandeerd tijd voor gemaakt, dat weet ik heel zeker. [Wouter] Maar er is geen vaste procedure voor die… [Subject neemt over] Nee absoluut niet, nee. Dat is er niet. [Joost]Zou je daarvoor de procedure die je nou hebt.. hebben jullie nou al een procedure voor andere algemene problemen of.. euu andere request ofzo bugs, als een klant dat ziet van eee schermpjes scheef ofzo of het werkt niet in een bepaalde browser [Subject]Ja, dat gaat eigenlijk gewoon in een ticketomgeving en eeu, [Joost] Ja,ja… en dat systeem zou ook gebruikt kunnen worden voor security of zou je daar eeumm denk je een ander systeem voor nodige moeten hebben? [Subject]Naah ik denk dat wij eoo op dit moment niet een grote hebben waarbij je euu euu ja euu we zijn vrij klein en dat maakt niet dat je een groot log bedrijf bent, dat heeft nadelen maar ook voordelen en ik denk dat er euu een telefoon binnenkomt of een mail binnenkomt of iets in die geest binnenkomt waarbij je uit een eee probleem is helemaal als een beveilingsprobleem is in een euu omgeving, in een webapplicatie dan weet ik zeker dat daar tijd voor vrij is gemaakt. En ook voor ja, [Joost] [Haakt in] Dus dan wordt het gelijk opgepakt en.. [Subject] Ja, absoluut. Ja. Ja dat zeker. Alleen als je vraagt is er een bepaalde procedure ja dan das dan de procedure, ga er maar mee beginnen en zorg dat het goed komt. [Joost] ja, tis gewoon eigenlijk dat het nog niet vaak genoeg is voorgekomen? [Subject] Zelfs helemaal niet, [Joost zegt Ja] Ik heb in de euumm 2 jaar dat ik nou voor dit bedrijf werk heb ik geen enkele keer gehad dat een klant of iemand anders met een security probleem naar ons toe kwam. Dat niet. Uiteraard met andere problemen, euu cross-browser compatibiliteit, ja goed uiteraard dan, dan hoe eeuu hoeveel energie je daar in steekt dat zul je altijd wel eens een keer houden dus dat is, daar ontkom je eigenlijk niet aan. [Wouter] Maar je had het daarstraks al even aangegeven dat het bedrijf euu groeiende is, [Subject stemt in met Ja] Wat is is, jouw toekomst beeld, voor het bedrijf zegmaar voor kwa security. Denk je dat er meer aandacht euu aan besteed, je zei, je gaf zelf aan wellicht dat er over euu een tijd wel veranderingen voor, op het spel staan. [Subject] Ja weet ik niet, euu omdat ik euu ik weet niet hoe mijn collega’s daar mee precies euu hmm mee bezig zijn en euu.. Ik zeg ook absoluut niet dat er luchtig over nagedacht wordt, absoluut niet. Alleen ja, ik eeu.. Ik heb daar niet zo uitgebreid, zoals we er nu over hebben, of of eeu we hebben het wel eens over hoe moet je bepaalde he eeu welke functies moet je gebruiken om te zorgen dat ze geen quote-jes kunnen gebruiken, even heel erg in de praktijkgericht dan, daar hebben het wel over, maar goed niet een heel gesprek over hoe veilig is onze applicatie.. euu moeten we dat misschien wel doen? Ja, wellicht daar valt inderdaad misschien wel in eeu bepaalde winst in te behalen. Alleen, euum ja, i ik kan er niet zo in vooruit kijken want dan zou het, ik weet niet hoe collega’s in euu tegen overstaan of daar van bovenaf daar tegenaan gekeken wordt. [Wouter] Euumm die, die gesprekken bijvoorbeeld over welke functies je het beste kunt gebruiken. Is daar, documenteren jullie dat of iets degelijks? [Subject] Nee dat is in de informele sfeer, dus dat euu wordt er gewoon gediscussieerd en euumm ja dan zit je met 2 3 man soms 4 en dan wordt er gesprek gevoerd over wat je moet doen en waarom moet je dat doen, dat is wel tss tss niet dat de 1 aangeeft van zo moet het en dat is het… Er wordt even na gekeken euu d’r wordt informatie over opgezocht waarom en euu hoe dat precies zit enneuh. Ja afhankelijk daarvan wordt dan een keuze gemaakt. [Wouter] Is het ook jullie eigen verantwoordelijkheid om up-to-date te blijven van security problemen of … [Joost] [haakt in] de individuele ontwikkelaar [Subject] Ja,… Euu nee euu dat is eigenlijk onze eigen verantwoording, Jij programmeert dus jij zal daar ook van op de hoogte van moeten zijn,.. Je bent zelf eigenlijk verantwoordelijk voor dat deel dat je maakt… en euuu je bent in feite niet verantwoordelijk voor andermans werk, alleen ja, je controleert elkaar wel. Daarin…. Ja daarin euu geef je alleen opbouwende kritiek, dat is eigenlijk de praktijk, van waarom we bepaalde zaken misschien eventueel verkeert doet of hoe het sneller of beter kan. En dat ook met eu opgebied van veiligheid. [Wouter] En eub gebeurd dat structureel dat controleren? Of is dat gewoon… [Subject] Dat is,… Nee dat is eigenlijk, ut nee euu dat is sowieso ook de code zelf, eu controleren van elkaar, ja dat is ook niet altijd de tijd voor en eu nee dat niet nee. Dir is geen bepaald structuur waarbij je zegt dat is altijd voor dat iets wordt opgeleverd, spitten we elkaars code nog eens allemaal nog door. Dat euu Nee dat niet. [Wouter] Hmm Okee. Eeuumm Wat Euu verwacht je zelf qua ontwikkelingen in de markt, euum en dan vooral op het gebied van PHP en security? Hoe kijk je daar zelf tegen aan? [Subject] Ja daar heb ik eigenlijk geen euu, geen echt duidelijke mening over. Euu Ik eeu ja, Dat zou ik zo niet weten. [Wouter] Ik kan misschien nog wel een voorbeeld geven, een.. nou met PHP 6 wat er nou aan komt [Subject: Ja] Bijvoorbeeld safemode en dergelijke eruit [Subject: ja] Denk je dat, dat een goede stap is voor PHP? [Subject]Ja i ik, ik denk dat, PHP nooit helemaal de, de veiligheid kan garanderen van de applicatie die daar vervolgens mee geschreven wordt wat.. euumm Ja, dat, dat volkswagen een auto bouwt betekend nog niet dat, dat ie niet om een lantarenpaal gevouwen wordt en, [haalt adem] Dat is denk ik ook het programmeer werk zo, of dat nou PHP Perl of c++ of noemmaar op is, euu je je geeft of er is tenminste er is een laag waarmee je kan programmeren en euu euumm ja wat ze eigenlijk ook doen om euu het zo veilig mogelijk te hal.. houden. Ik denk toch dat uiteindelijk de programmeur er voor zorgt dat eeu iets eumm veilig is of niet. En dan uiteraard heb je bufferoverflows en dat soort zaken in PHP, en ja goed daar kan je als programmeur niet altijd of lang euu .. euu in principe nooit wat aan doen. Maar euumm euu ja overige zaken ja, om een concreet voorbeeld terug te noemen als je safemode nou wel of niet aan hebt staan en je je kunt alsnog euumm een subquery maken in een query in een applicatie dan heeft dat alsnog weer geen enkele nut. [Wouter] En verwacht je dat PHP daarin anders is dan.. dan zijn concurrerende talen. [Subject] Nee absoluut niet. [Wouter] Ja dan euu bedankt voor je tijd en voor het gesprek [Subject] Geen dank [Joost] Okee
Interview 4
Ruimte: Kantoor Weer: Bewolkt Licht: weinig daglicht, half dichte luxaflex maar goede TL verlichting Externe ruis: Geen ======== Start interview ======== ======== Start geluids Opname ======== [Wouter] Ehhm Tja ik had in de mail al wat uitleg gedaan over ehh de scriptie waar ik op dit moment mee bezig ben. [Subject] [Bevestigend] hm m Wouter Ehm, ja het komt er in het kort op neer dat ik een onderzoek doe naar hoe het er in de praktijk bij bedrijven aan toe gaat bij het ontwikkelproces van webapplicatie en dan met name dus het security oogpunt. [Subject] [Bevestigend] ja [Wouter] dat ga ik dus proberen te koppelen aan de theorie om te kijken wat de theorie beschrijft of dat wel overeenkomt met hoe de werking in de praktijk is. Dus vandaar dit interview. Ehh Zou je wat willen vertellen over jezelf en dit bedrijf? [Subject] Ehh prima, ik zal bij het bedrijf [BEDRIJFSNAAM] beginnen, Ik ben een van de oprichters van [BEDRIJFSNAAM], dus ik weet er wel wat van. [BEDRIJFSNAAM] is een Java, gespecialiseerd in Java. Ehh wij doen voornamelijk webapplicaties voor ehh ehh voor bedrijven die een unieke oplossing zoeken. Dus ehh we hebben geen standaard producten, we hebben alleen maar maatwerk voor klanten en dat zijn ook eigenlijk wel de producten die ehh voor dat bedrijf kritiek zijn dan kun je bijvoorbeeld denken aan, bijvoorbeeld [KLANTNAAM] die hebben een [KLANTNAAM] provider dat is een betaaldienst op internet. Ehh dat is voor hun natuurlijk die software die dat doet is voor hun het meest kritieke wat ze hebben, Dat soort projecten dat draaien wij hier. Ook bijvoorbeeld ehh voor ehh [KLANTNAAM]??? dat heet tegenwoordig [KLANTNAAM]. Ehh die hele business unit is onderdeel van de [KLANTNAAM], die draait op die website, dus die website is van grootste belang voor die business unit zegmaar. Dat zijn de dingen die wij leuk vinden om te doen en ehh.. [lach] Dus die ehhh tja dat, dat soort type opdrachten, dus geen maatwerk, of ehh dus precies maatwerk geen standaardoplossingen en dan ook nog iets wat bij voorkeur nog niet bestaat of ehh ja. [Marc] en dan ook nog steeds een beetje verschillende branches? [Subject] Ehh ja we zitten niet in een specifieke industrie. Ehh je ziet wel dat we steeds meer ehh bepaalde dingen steeds beter in worden. Media en Finance zijn we behoorlijk goed in, maar ehh we hebben ook klanten uit de industrie of ehh .Daar daar ligt niet zozeer onze focus op. We zoeken meer echt de unieke ja specifieke. We zijn bijvoorbeeld ook bezig voor ehh een vliegtuig maatschappij met een scheduling algoritme voor vliegtuigen en dat soort dingen [Marc] [Bevestigend] ja [Wouter] [Bevestigend] ja [Subject] Ja dat is weer een hele andere tak van sport [Wouter] [Bevestigend] ja [Wouter]En ehh iets over jezelf misschien [Subject] Ehh ja ik ben een van de oprichters van [BEDRIJFSNAAM], we zijn ontstaan vanuit de universiteit [PLAATSNAAM] vanuit het [AFDELINGSNAAM], ik weet niet of dat vak nog steeds bestaat. [Subject]Nou we hebben daar een projectteam gehad wat redelijk succesvol was. Dat klikte ook wel goed en acht mensen hebben toen eigenlijk besloten om door te gaan met dat team. Zo van hier moeten we wat mee.(...BEDRIJFSINFO...) [Gelach] [Subject] En in principe ehh ja, ik ben nu nog samen over met [NAAM], das mijn collega die zit nu beneden die ehh die is er ook nog. We zijn onderdeel van de [PARTNERNAAM] groep, inmiddels. De [PARTNERNAAM]groep is wat ze zelf zeggen de meest veelzijdige dienstverlener van Nederland. Het zijn ongeveer dertig verschillende bedrijven Ehh in veschillende takken van sport. Ehh, Denk bijvoorbeeld aan communicatie dus reclame bureaus, Marketing, vormgeving, dat soort dingen, maar ook ehh human capital, dus HR, personeel, er zit een engineerings bureau bij, er zit een juristen kantoor bij, Het zijn allemaal hele diverse bedrijven. Wij vallen onder de IT, de technology tak en wij zijn binnen [PARTNERNAAM] het Java bedrijf [Marc] Oke [Subject] En we hebben ook bijvoorbeeld een e-learning bedrijf, een .Net gespecialiseerd bedrijf, we hebben een bedrijf wat extra is gespecialiseerd in projectleiders, allemaal dat soort dingen. [Wouter][Samenvattend] Een beetje bedrijven die elkaar allemaal aanvullen [Subject] Ja, ja, er zit dus geen concurrentie onderling. Ehh je hebt wel .NET versus Java, maar die markt is wel redelijk verdeeld. Ehm, dus het is meer samenwerken dan inderdaad concurreren binnen het bedrijf. [Marc] En werken jullie ook voor elkaar, dat je ook producten maakt voor elkaar of is het met zn allen voor de buitenwereld. [Subject] Beide komt voor, er is natuurlijk ook gewoon intern genoeg te doen, dus ehh bijvoorbeeld. Dus ehh hier worden bijvoorbeeld alle websites van de anderen niet-IT bedrijven gemaakt van de [PARTNERNAAM] groep. En dat doen wij dan, dat is een dienst die wij weer leveren. [Marc] [Bevestigend] ja [Subject] ehhm. Bijvoorbeeld, wij huren heel vaak een zusterbedrijf van ons in voor vormgeving en interactiedesign. [Marc] [Bevestigend] ja [Subject] Bij zwaardere projecten huren we weer een projectleider in. Dus dat .. We lenen een beetje bij elkaar een beetje in de zin van wanneer het uitkomt. [Marc] Mooi [Wouter] Welke opleiding heb je zelf gevolgd? [Subject] Ik heb technische informatica gedaan. Ja [Wouter] Ehm Ja je noemde net zelf al het project met bijvoorbeeld ehh Finance. Ehm. Hoe belangrijk is security in dat soort projecten. [Subject] Ehh nou bijvoorbeeld [KLANTNAAM], dat gaat ehh natuurlijk over geld, dat gaat over ehh Ik weet tegenwoordig de aantallen niet meer hoeveel er heen gaat, maar dat zijn er behoorlijk wat. Zij zijn zegmaar in de Benelux expert op dat gebeid. Daar is security heel belangrijk, sterker nog daar moet je voldoen aan een bepaalde standaard. De PCI standaard, de payment card industry ehh. Dat is VISA en Mastercard.. voornamelijk VISA, maar ook mastercard die hebben een serviceinvesteringstraject daar moet je aan voldoen. Dat komt natuurlijk ook, tja, zodra het over geld gaat is het altijd.. is security een issue. Het andere project bijvoorbeeld is ehh dat gaat over onderwijsconsulenten.. Leerlingen die moeilijk plaatsbaar zijn op een school dus dat is gewoon heel veel medische gegevens en dossiers, dat soort dingen dus dat betekend naja de wet Bescherming Persoonsgegevens daar krijg je mee te maken krijgt, ja medische dossiers, ja dat moet gewoon netjes afgeschermd zijn. Dus.. niet alle projecten zijn even gevoelig voor security aspecten, maar die twee toch zeker wel. [Wouter] Ja, denk je dat het voor jullie als bedrijfzijnde een extra push is om met security bezig te zijn? [Subject] Uhhmmm, jah [aarzeling] [Wouter] Of in het algemeen zeg maar. Dus buiten die projecten [Subject] Ik denk dat het binnen [BEDRIJFSNAAM] is het eigenlijk s .. we zijn een IT bedrijf en we komen heel erg ehh een groot gedeelte van ons .. komt van de universiteit [PLAATSNAAM] vandaan en een significant gedeelte vindt security, heeft dat ook als hobby als het ware zeg maar. En hoe ik het zie is ehhh naja je krijgt de klanten die je verdient, omdat wij heel veel mensen hebben die geinterreseerd zijn in security, ja, op een of andere manier krijg je dan ook automatisch opdrachten heh, waar dat een belangrijk aspect is. Ehh omgekeerd dus ook he… dus ze komen ook naar ons toe omdat wij dit soort opdrachten hebben. [Marc] Ehh jullie hadden ook op de website .. op jullie website had ik gezien dat jullie de software aan de klant open-source aanbieden. [Subject] Ja [Marc] Met security is dat natuurlijk ook wel belangrijk want er zijn dan ook andere mensen die kunnen proberen om daar gaten in te schieten. [Subject] Ehhhh nou, kijk, open source is een beetje een vaag begrip. Ehh Wat ehh open source heb je in twee varianten in mijn smaak. Ehh je hebt open source als in publiek domein. [Wouter] Ja [Subject] Dat is niet zo zeer als wat wij per se willen. Daar hebben wij verder geen moeite mee, we gebruiken het heel veel, maar de software die wij maken ehh die is meestal gebaseerd op open source producten. Die software leveren wij dan open source op onder de BSD licentie bijvoorbeeld aan de klant. En het is aardig van die klant als hij zegt aan die klant, ik gun het een publiek domein ehh, geef dan is dat geen probleem maar, ehh dus ehh Maar met betrekking tot security, de open source producten die wij gebruiken, ja daar heb je dus het risico dat meer mensen daar iets in kunnen vinden. Een voordeel is, en dat zullen jullie ook weten, is dat er meer mensen naar gekeken hebben. [Wouter en Marc] Ja, precies [Subject] en dat je ook zeker weet dat het ook echt getoetst is, zeg maar. [Marc] Ja dat is mooi [Arjen] Uhm onze eigen software, die wij dus op basis van die open source maken, die is dus niet noodzakelijk in het publieke domein. En ehh dat geld hebben we niet. [Marc] Oke [Wouter] Ehhm Wat zijn eignelijk de belangrijkste beveiligingsproblemen als het komt op webapplicaties versus gewoon ehh klassieke desktop applicaties? [Subject] Uhmm, nou de grootste probleem die ik altijd zie is niet zo zeer de applicatie maar meer de mensen daar achter maar ehh als we specifiek gaan kijken naar web versus desktop eh is dat ehh je geen controle hebt of veel minder controle hebt over de gene die daar achter zitten. Kijk bij een desktop applicatie jah, als iemand met zijn eigen programma zijn eigen pc om zeep kan helpen tja dat is niet zo spannend. Tja met een webapplicatie sta je gelijk open voor de hele wereld, dus je krijgt ook veel meer te maken met Buitenlandse mensen waar je dus niet ehh gewoon minder mee kunt o.a. juridisch, je hebt er geen ristrictie van. Ehh ten tweede is ehh omdat je dus veel verder bloot staat aan de rest van de wereld en de technieken naja voor je zover je in de informatica over jonge technieken kan spreken. [Marc] hm [Subject] Want informatica bestaat nog niet zo lang. Maar internet is nog veel jonger dan de rest. Als je ziet hoeveel veel frameworks er zijn, hoeveel programmeertalen er zijn, elk half jaar wordt er wel weer een nieuwe programmeertaal uitgevonden die het nog wel weer beter doet dan de andere. Nouw dat geeft al aan dat geen enkel van die talen of frameworks gewoon goed is he? Je hebt ook ontzettend veel dieeten .. op de wereld. Dat komt omdat er geen eentje gewoon werkt. Dat is een beetje … Door die diversiteit is het aan de ene kant dat is weer een voordeel want er is niemand die ehh ehh ehh ehh Als je bijvoorbeeld kijkt naar Windows, dat is een groot platform en dat is dus heel erg lucratief om iets voor te verzinnen, en dat is op internet gebied niet echt een taal heel erg dominant maar doordat het heel erg lucratief is, dus dat is weer het voordeel nou dus ja… Het het is zo moeilijk .. ehh is zo makkelijk om een fout te maken ehh zeker gezien de complexe situatie waar je vaak in zit. Het is ook vaak niet een component maar veel componenten en niet van een partij maar van verschillende partijen. En daar krijg je allemaal nieuwe dynamieken die ook desktop vroeger tenminste de oudere desktop applicaties ehh die had je eigenlijk niet, het was een vendor die volledige controle over de omgeving. Dat is nu niet. [Wouter] Dus dan is het dan nog op gebied van security nog afwegingen om voor JAVA te kiezen dat is wat jullie nou hebben? [Subject] ehh [Overtuigend] Ja, de security was een van de redenen om voor JAVA te kiezen. Dat waren er verschillenden. Ehhm.. ja als we puur naar security kijken dan ehh De ontwerpbeslissingen die genomen zijn bij JAVA waren voor ons dan de eigenlijk de reden dus he bijvoorbeeld het verplicht afhandelen van exceptions maar ook ehh een inherit security model wat er in zit. Ehh in ieder geval wat het uitstraald in 1999 was het ehh zaten we op java 1.1. en ja dat was wel ehh het ging de goede kant op maar dat was nog vrij onzeker. Maar in ieder geval de uitstraling die JAVA had, was van ‘he, we hebben hier wel over na gedacht’ he, dat komt ook een beetje uit de mobiele wereld he? Daar moeten programma’s he foutlozer zijn dan in de webwereld waar we allemaal elke dag een nieuwe versie buiten kunnen zetten en op een mobiele telefoon is dat een stuk lastiger. Ehh de correctheid van programma’s was veel belangrijker ingeschat met het ontwerpen van JAVA. En dat zie je dus aan allerlei dingen, bijvoorbeeld de verplichte exception afhandeling en het security model wat er in zit. Vrij uitgebreide en strakke ehhh cryptografische bibliotheken die er in zitten. Ik denk dat JAVA een van de weinige platformen is die SSL bijvoorbeeld zich wel aan de spelregels houd en dat levert dan ook weer wat andere problemen op, maar de rest doet dat niet ja. [Wouter] Ja oke, dan nog even over binnen de projecten. Is er .. Zijn er binnen de projecten een vast budget voor security? Waar je rekening mee moet houden? [Subject] nee .. ja niet .. Naar individuele projecten zijn er wel vaak afspraken gemaakt over bepaalde dingen ehh maar zo formeel dat het een apart budget is, is dat niet. [Wouter] En binnen het bedrijf zelf? [Subject] Binnen [BEDRIJFSNAAM]? [Wouter] [Bevestigend] uh hum [Subject] Nee, nee, daar is geen apart potje om security onderzoek te doen of wat dan ook. We hebben een R&D potje zeg maar en daarmee onderzoeken wij van alles. Ehm Maar gewoon wat op dat moment relevant is. Dus dat kan Open ID zijn wat voor een programmeur erg interresant is, of ehh toevallig zijn wel nu een onderzoek aan het uitbrengen met OpenID in combinatie met JAAA– JAVA Authentication en Autorisation API. Maar dat het heel erg specifiek op security gebied is, nee, maar dat ligt ook heel erg aan de vraag van de klant. En dat is .. Wij zijn slechts de IT dienstverlener op dat gebied dus dat. Ja als je security wilt doen, dan moet je niet alleen maar naar de software gaan kijken, dat heeft geen zin. [Wouter] Ja, oke… Wie is er ehm verantwoordelijk voor de correctheid op het gebied van security van de een project [Subject] Uhmmm ehh In principe is het gewoon de klassieke indeling die je hebt. Je hebt een klant, die geeft je een opdracht en die opdracht die wordt aangenomen door het bedrijf [BEDRIJFSNAAM]. [BEDRIJFSNAAM] heeft dan een projectleider aangewezen die het project moet gaan trekken en die is dus in principe eindverantwoordelijk op alle aspecten waar naar gekeken wordt en dat kan security zijn, maar dat hoeft niet per ce. Omdat op dat moment te leveren. Binnen [BEDRIJFSNAAM] ehh kan zon projectleider kan dan beschikken over gewoon, heeft ie een bouwteam waar ie ook een beheerteam. Maar we hebben ook een een een ja een audit team, laat ik het maar even zo noemen, zo heel formeel zit dat niet ehh dat hangt meer samen met het test team zeg maar maar. Die kunnen, zijn ook gewoon in staat om jah los van het ontwikkel team zeg maar security metingen te gaan doen. Ja. Maar die ehh… ik zeg niet dat het het losse afdelingen zijn, want iedereen hier wisselt hier regelmatig van rol. Dus dan zit je in het beheer team dan ehh in het testteam, dan gewoon ontwikkel team. Omdat dat je dus de hele tijd van rol wisselt ehh kan het dus zijn. Ehh iemand die ontwikkeld die weet dus ook dat.. heeft ook wel eens beheer gedaan en ook wel eens in het test team gezeten en die weet dus gewoon waar die mensen op letten. Dus hopelijk, dat is ons idee daarbij, ga je dus tijdens het ontwikkelen er al rekening mee houden, he, dat je straks bijvoorbeeld ehh getoetst gaat worden op SQL injection of ehh dat soort dingen. [Wouter] Denk je dat dat ook belangrijk is voor de awareness?? En dat soort dingen [Subject] [Overtuigend] Ja, nou ik denk, dat sowieso. Dat is eigenlijke reden waarom wij zoveel rouleren is de awareness creëren voor ehh voor emh We kijken iets verder dan alleen maar security he.We hebben bijvoorbeeld ook de beheeraspecten van hoe zit dat bijvoorbeeld met login dat hangt dan ook weer samen met security. Maar ook de schaalbaarheid en dat soort vraagstukken, dat zijn allemaal dingen die spelen. [Wouter] En is dat dan per project dan ook een vast proces waar je door moet lopen? [Subject] nee, nee ehm, we hopen dat de awareness zeg maar in ieder geval voldoende is om ehh de projecten een goede en gezonde basis te hebben. Daarnaast hebben we gewoon een test traject zeg maar. Ehm afhankelijk van het type project kan daar dus ehh een een versie of audit in zitten. Daar kan ehh gewoon een security audit zitten. Dat kan een externe audit zijn van ehh bijvoorbeeld [BEDRIJFSNAAM]?? Of ehh [BEDRIJFSNAAM]. [Marc] Zitten er ook van die bedrijven binnen [PARTNERNAAM] die speciaal security audits doen? [Subject] Nee, nee. Ik denk dat wij, binnen [PARTNERNAAM] ehh… nou we hebben wel een systeembeheergroep zeg maar kantoorautomatisering en netwerkbeheer en dat soort dingen doet. Dus die hebben daar wel zeg maarwat kennis en als het echt over security gaat, dan zijn wij toch de aangewezen partij binnen onze groep. [Wouter] Wordt er binnen [BEDRIJFSNAAM] ook gedacht over beveilingswaarborging? [Subject] Zoals in? [Wouter] Ehhmm.. Bijvoorbeeld de manier waarop bijvoorbeeld wordt omgegaan met beveiligingslekken. [Subject] Ja dat ligt er heel erg aan.. Daar hebben we dus altijd al een product in productie is zeg maar en hoe we dan omgaan met de. Dat ligt heel erg aan de afspraken die er gemaakt zijn voor de... We hebben een aantal klanten waar we een Service Level Agreement mee hebben. Daarvoor verzorgen wij dus ook de hosting van de website is het dan meestal. [Wouter] [aannemenlijk] hm [Subject] ehh, dat betekend dan ook dat wij ehh elke dag eigenlijk in de logfiles kijken, van hé? Wat zijn nu de dingen die opgevallen zijn? Welke errors zijn er opgetreden. Die worden allemaal geanalyseerd van was dat eigenlijk wel een error of was dat gewoon een overijverige programmeur geweest zeg maar die daar een error van gemaakt heeft. Die worden allemaal nagelopen en opgevolgd. Dus dat, dat valt onder dagelijks beheer eigenlijk, daar komt dat dan terrecht. Ehh wat daar dus ook ehh bij hoort is dus het monitoren van systeemstatistieken en andere alerts voor zover die er ehh zijn geweest ja. [Marc] Bij [KLANTNAAM], bijvoorbeeld, doen jullie dan ook achteraf weer een keer een audit voor de security? Of gaat dat meer in overleg met het bedrijf zelf/ [Subject] Wat we daar doen is ehh ooit gebouwd zeg maar. Daar wordt nog heel veel aan gedaan he. De laatste tijd doen ze ook heel veel zelf Daar hebben wij steeds minder controle over. Maar ehh hoe het in ieder geval vroeger ging, zodra het project was afgelopen dan gaan we een hele hoop standaard tests er weer op los laten ehm. En een keer in de zoveel tijd, moet eigenlijk door de creditcardmaatschappij gedicteerd dat je een externe audit moet doen. [Marc] Oke [Subject] En we hebben die ook wel eens gehad verwacht of onverwacht. Dat ligt er een beetje aan. Ja dat is maar afhankelijk van welke industrie je zit. Ik bedoel, ja onderwijs consulenten dan ehh. Ja die zouden zich daar meer bewust van moeten zijn, maar ja die hebben daar niet een externe audit partij voor. [Wouter] Daar zijn geen strikte… [Subject] Nee, nee. Er is wel wetgeving, maar die is niet zo concreet dat je een keer in het jaar een extern bureau moet laten auditen. Dat soort dingen, zo strikt is dat niet [Wouter]Oke, uhmm hoe wordt er binnen het bedrijf gezorgd dat de kennisgeving met betrekking tot beveiliging op peil blijft? [Subject] Ehm, nou ja, een gedeelte lossen wij dus op door gewoon te roeleren tussen test teams en ontwikkelteams en beheer teams. Ehh en wat wij ook hier doen is een keer in de ehh een, twee maanden hebben we een JAVA Only avond. Dat is eigenlijk een thema avond waarin we eigenlijk een soort kennis ………….. [19:46] Dus een aantal mensen uit de organisatie hebben, he, een nieuwe techniek in een nieuw project gebruikt ehh en daar kunnen ze dan een presentatie over geven. Daar… regelmatig zie je daar dus bepaalde security dingen in terug komen Binnenkort bijvoorbeeld openen we die dus in JAAS, daar zal geheid iets over geroepen gaan worden. Ehm, jah en verder is het ehh ja wat nodig is voor ehh, we hebben gewoon een interne en een externe WIKI. De interne is gewoon in met informatie daarop over hoe bepaalde dingen werken of binnen projecten. Ehh externe bijvoorbeeld [PRODUCTNAAM] waar heel veel informatie over staat gewoon wat voor iedereen beschikbaar is. Ehm. Dus daar zetten we gewoon een hoop informatie op. Een van de meest bekeken artikelen daarop is volgens mij ehh het artikel hoe je private keys in de JAVA Keystore kun krijgen. Dat kan officieel niet, want die moet je vanuit de KeyStore genereren. En dan kun je er wat uit halen, maar het is niet heel praktisch want soms krijg je gewoon een certificaat. Dus dat soort artikelen staan ook. Ja, wat doen we dan nog meer.. Ja ik denk dat wel de belangrijkste punten zijn.. [Wouter] En is er voor ehh personeel ook ruimte om zichzelf te ontwikkelen? [Subject] Ja er is gewoon een een een opleidingsbudget binnen [BEDRIJFSNAAM], ja en het is afhankelijk van waar iemand zich in wil ontwikkelen maar dat kan security zijn. Dus ja, geen probleem. [Wouter] Ehm maken jullie binnen het bedrijf ook gebruik van source analyse tools? [Subject] Ja! Ehhh niet voor alle projecten maar bij een aantal projecten gebruiken we PMD en Findbugs ook wel eens daarbij. We hebben dat niet heel erg in beton gegoten zeg maar. Ehh het is wel iets wat we willen gaan doen. Ehm, een aantal projecten draaien er nu mee en daar is het eigenlijk ook gewoon de norm van “hé, we leveren niets op als daar nog dingen uit naar boven komen” Ehm, maar we zitten ook gewoon met heel veel projecten eh die niet op die manier al ingericht zijn, dan heb je een hele inhaalslag te doen. En daar, ja daar zitten we gewoon nu mee. Het is wel iets wat we willen gaan doen, of wat we steeds meer willen gaan doen. En zeker voor nieuwe projecten ehh gaan inzetten. Het hangt er ook vanaf van wat voor opdracht is het, gaat het om een ehh.. online reclame folder zeg maar. Ja dat is allemaal leuk om dat eroverheen te gaan zetten maar, dat voegt heel weinig toe. [Wouter] Ja, ehhh Verwacht je verder nog ontwikkelingen op de markt of binnen het bedrijf qua security? [Subject] Ehh, nou binnen het bedrijf, ehh, ik denk wel dat het steeds meer ehh, bij ons, dat zal steeds meer geformaliseerd gaan worden, van he, als we dit soort type opdrachten doen, dan he. We gebruiken al standaard toolkits voor bepaalde dingen. Ik verwacht, en dat zal denk ik dit jaar nog wel zijn, dat duurt denk ik niet lang meer. Dat er een standaard ligt voor nieuwe projecten waar we of dit, of dat, en daar zal bijvoorbeeld PMD of FindBugs zal daar een onderdeel van gaan uitmaken.. Ehm, als je kijkt naar de hele markt, jah, kijk het is een moeilijk onderwerp en ja.. Het probleem is, dat het ehh, er wordt alleen maar over gepraat als het fout gaat.. Kijk je hebt nu he, kijk je hebt nu medische dossiers liggen op straat, ziekenhuizen doen het niet goed. Dat is geen nieuws, dat weet iedereen ehh. Je hebt nou het elektronisch patiëntendossier, nou maken ze gewoon weer dezelfde ehh.. valkuilen. Het is een heel lastig onderwerp. Security heeft heel vaak als gevolg dat bepaalde dingen moeilijker worden. Gewoon om het simpele feit dat je, he, moet controleren wie je aan de lijn hebt, voor je een medisch dossier gaat faxen. Ehm, ja, of dat ooit gaat verbeteren dat weet ik niet, het zou hoogstens kunnen veranderen als de techniek vooruit gaat, maar de techniek is nog veel te jong om nu iets heel groots, moois, he zo elektronisch patientendossier is hartstikke mooi om te willen hebben en theoretisch kunnen we het ook vast helemaal perfect in elkaar timmeren. Maar in de praktijk blijkt gewoon dat we ehh… dat het gewoon ehh .. Naja, informatica bestaat nou ehh wat is het? 50 jaar? [Marc of wouter] ja [Subject] En we zijn nog elke dag het wiel aan het uitvinden, dus. Wat dat betreft denk ik niet dat het ehh. Nouja het zal geheid het komende half jaar weer een thema zijn. En dan weer een paar jaar niet en dan komt het wel weer ehh.. [Wouter] Oke, [went zich tot Marc] Ik weet niet of jij ook nog vragen hebt? [Marc]Nee, nee, ik heb mijn vragen eigenlijk al een beetje gesteld tussendoor, dus.. [Subject] Ja [Wouter] nou, bedankt voor je tijd. [Subject] Ja, geen probleem, leuk! ===== Einde formeel interview ======== [Marc] Had je zelf anders nog dingen? [Subject] Nee, ehh jullie zijn zelf nog bedrijven geweest inmiddels? [Wouter] Ja [Subject] Kwamen daar leuke verhalen uit? [Wouter] Ja! Heel divers! Dat is echt! Ja .. [Subject] Ja dat kan ik me voorstellen, dat dat… [Wouter] Ja vooraf zaten we een beetje te kijken van hoeveel bedrijven moeten we interviewen. En als ik dit eigenlijk zo zie dan, dan houd het eigenlijk niet op. [Subject] Nee [Wouter] Volgens mij weet je het pas als je alles geïnterviewd hebt, want het is zó ontzettend verschillend bij de bedrijven. [Subject] Ja, maar zien jullie wel een kruisverband bijvoorbeeld tussen, want jullie hadden het heel erg over de, de industrie, van over in welke vakgebieden zit je dan? Ehm security, verschilt dat nog? [Wouter] Ehh, Ja! Ehm net zo als bij jullie dan, als je echt met payment en dergelijke te maken hebt, dan zie je wel dat bedrijven sowieso al getriggerd worden om meer bezig te zijn met security dus dat dat overslaat naar andere projecten die niet zozeer security gericht zijn. En daar in tegen, ja het hangt ook heel erg af van de grootte van het bedrijf. Wan bij kleinere bedrijven is er gewoon geen ruimte voor. Security is dan meer een last dan een mogelijkheid om je product te verbeteren. [Subject] [Bedenkelijk] Ja, ja, nou [Wouter] Ja, [Lach] ja. Ja dat zou niet zo moeten zijn, maar.. dat is een beetje. [Subject] Nee dat klopt, ja het ligt er natuurlijk aan zoals altijd, niet alleen in de commerciële wereld: de klant is koning. En als hij er geen budget voor wil inruimen. Het enige wat je kunt doen is hem dus waarschuwen voor de gevolgen zeg maar. [Wouter en Marc] [Eens stemmend] Ja [Wouter] En het is ook heel interessant om te zien hoe bedrijven daar mee omgaan. Bedrijven die alles binnen eigen beheer houden, om er maar zeker van te zijn dat er niets mis gaat en als er wat mis gaat dat ze in kunnen grijpen tot, nou, zoals jullie bijvoorbeeld alles aan de klant open maken en zeggen dit hebben wij gemaakt en. [Marc] Ja en je mag het zelf uitbreiden, dat is ook wel, denk ik, voor de klant ook een pro. [Subject]Ja, nee de de, het is ehh in weze ja.. dat is vanaf de de dat is ook een van de redenen waarom we dat doen, waarom we een eigen bedrijf begonnen zijn. Ja wij hadden zoiets van, ja die open source movement die liep al een tijdje, dat begon steeds meer vorm te krijgen. De eerste geruchten waren er in 1999 al dat de overheid ging aansturen op dat ze alles open source wilde hebben. Ehh daar zijn ze nog steeds op aan aan het sturen [Lacht]. Veel meer dan dat wordt het ook niet. Maar je ziet nu wel steeds meer aanbestedingen bijvoorbeeld voor de eisen dat het open source moet zijn. En ehh nouwja we hebben hier, een hoop mensen komen hier van de universiteit af en ehh nouwja het eerste wat je hier leert is dat je ehh obscurity is geen security, nouja, met dat in je achterhoofd zou open source geen security gevolgen moeten hebben. Ehm, nou dat heeft het wel, hoe je het ook wend of keert, het is wel zo dat het een gevolg is. En wat wij dus gewoon zien is dat onze manier van he, de code is openbaar, er mag een externe partij, mag het gewoon auditen, sterker nog, doet dat, graag! [Wouter en Marc] [Eens stemmend] Ja! [Subject] Want daardoor leer je er ook weer van. [Wouter] [Eens stemmend] Ja. [Marc] [Eens stemmend] Ja. [Subject] En ehh, waar wij op hameren ik denk dat dat ehh minstens zo belangrijk is, het gaat er niet zozeer om als je een product hebt opgeleverd dat ehh hoe veilig dat product op dat moment is,nee wat veel belangrijker is, als dat ding nou eenmaal draait, hou het dan in de gaten. [Wouter] [Eens stemmend] Ja. [Subject] En die ehh.. dus vandaar dat wij heel vaak ehh, wat we doen, ehh is de klant komt naar ons van die heeft een uniek idee en die wil een of andere website en dat bestaat nog niet, moet gebouwd worden, dat is al moeilijk genoeg. Maar die wil ook graag weten als dat ding nou dadelijk af is, van wat gaat het kosten, om het te onderhouden. En wat ehh wij dus vaker doen, voordat we het project aanbieden is zeggen. Van nou, als we het over een half jaar klaar hebben, dan kun je het ook nog bij ons nog laten hosten, en dan gaat je dat kosten, en een onderdeel daarvan kan dus zijn dat we dus dagelijkse monitoring doen. Ehm en zeker voor een BB[28:27] service provider kan dat ehh verrekte handig zijn zeg maar. [Marc] Is dat dan een stukje extra garantie zeg maar ehh voor het product? [Subject] Ja [Bedoeld: Nee] het is meer de. Naja, extra garantie, het is een (un) maatregel om te zorgen dat je snel kan ingrijpen. [Marc] Ja, ja [Wouter] Nou, ehmm nou ehh nogmaals bedankt in ieder geval [Marc] Bedankt [Subject] Graag gedaan, Jullie gaat dit nu allemaal verwerken? [Wouter] Ja! [Marc] Transcriptie schrijven…… [Subject] [Lach]
Interview 5
[Joost]: Oke [Wouter]: Ja? [Wouter]: Nou uh, effe kijken hoor uhm, wat is u. Kunt u wat over uw zelf vertellen, wat is je eigen opleidingsniveau en uh [harde kuch] [Subject]: Uhm, ja is goed. Ik uhm ben hier in 2000 begonnen bij [BEDRIJFSNAAM], en uh rechtstreeks vanaf mijn studie uh ik heb natuurkunde gestudeerd met een uh informatici afstudeer variant zeg maar. Ik heb een aantal … vakken gevolgd. Uh tijdens mijn afstudeerstage zeg maar heb ik uh veel geprogrammeerd en uh zodoende ben ik hier bij ingerold en uh ik werk er nou nog steeds. [Wouter]: En uh wat zijn je dagelijkse wekzaamheden? [Subject]: Uuuh ja, officieel uuh ben ik systeembeheerder ik draai mee in de postmaster ronde uh ja. Binnen [BEDRIJFSNAAM] heeft toch iedereen zijn specialiteit uh sommige zijn meer op de mail gericht andere windows ondersteuning en ja ik ben er een beetje naartoe gegroeid dat ik meer de uh uh ja uh de ontwikkeling / onderwijs uh ondersteun. Uhm er komen allerlei vragen vanuit [KLANTNAAM] met name bijvoorbeeld ze willen een portfoliosysteem voor studenten hebben er is geen budget er is geen tijd om daar echt lange aanbestedingstrajecten te doen ofzo dan komen ze bij mij terecht. De laatste paar jaren is eigenlijk de werkwijze vrij uitgekristalliseerd en ik kijk gewoon wat er is aan open source pakketten. Uh ja, ik bied er een paar aan zeg maar van uh ‘lijkt je dit wat, is dat wat?’ en dan uh kiezen we een standaardpakket dan uh pas ik het aan [harde kuch] nou ja omdat ik het wil aanpassen kies ik wat ik zelf fijn vind, is vaak dan php dus uh ja. Af en toe custom ontwikkeling als er dus geen echt pakketen zijn waarvan je zegt nou dat uh is alleen een beetje aanpassen dan probeer ik met uh met eigen programmatuur op basis van een z-framework iets te maken wat we kunnen gebruiken. [Wouter]: Oke [Wouter]: En uh hoe groot is [BEDRIJFSNAAM]? [Subject]: Uh ja, krimpend… uh we waren ooit met een vrij grote groep ook die uh systeemontwikkeling deden. Uh van ouds her was dat het financiële systeem [PRODUCTNAAM] voor de bestellingen voor de financiën. Uh de komst van [PRODUCTNAAM] grote concernsysteem is dat uh langzaam aan is gebouwd en ja nu 13 man volgens mij. Ik kan het even natellen straks… [Wouter]: [grinniked] Maar ongeveer… [Wouter]: En hoeveel mensen zijn er van verantwoordelijk voor uh het bouwen en het onderhouden van systemen? [Subject]: Uuuhhh, eentje. Ander half eigenlijk uh ja. Tobios? Doet af en toe nog wat verder meer intern voor [BEDRIJFSNAAM], [PRODUCTNAAM] bijvoorbeeld heeft hij gemaakt. [Marc]: Moet jullie daar nog voor [PARTNERNAAM] overleggen? [Subject]: Uh, [[Marc]: mompeld er doorheen] nee het zijn vaak facultaire systemen. En uhm ja. Sommige dingen zijn wel breder uitgerold zoals bijvoorbeeld rumba wat ik gemaakt heb. [[Marc]: Oke…] Dat is een vak systeem, is nu een studentsysteem geworden. Word op alle [AFDELINGSNAAM] gebruikt. [[Marc]: Hmm] Maar ja goed dat is met de komst van een overall [PRODUCTNAAM] waar heel veel functionaliteiten in zitten waarschijnlijk blijft het wel bestaan maar in een kleinere vorm. Met het [PRODUCTNAAM] overleg wat wij hebben is een beetje bedoelt om overleg te creëren tussen verschillende [AFDELINGSNAAM] met het [PARTNERNAAM] erbij een beetje van onderaf want van bovenaf word er weinig gestuurd. [Lacht met kiespijn…] alle [AFDELINGSNAAM] zijn echt [[Wouter]: gescheiden…] aparte wereldjes is wel jammer, maar de proberen we wat aan te doen morgen hebben we weer een overleg [[Marc]: tussendoor oke]. [Marc]: Kun je terugvallen op support? [Subject]: Van het [PARTNERNAAM] bedoel je? [Marc]: Ja. [Subject]: Uhh [[Marc]: mompeld er doorheen] nee tot voor kort kon het überhaupt ook niet want ze deden helemaal geen php ontwikkeling, dotNet en Java [[Marc]: toestemmend geluidje]. Er zitten een paar mensen van het [PARTNERNAAM] in het [PRODUCTNAAM] overleg, maar meer van met het idee nou wat is php, wat kun je ermee? We hebben er veel van gehoord word veel gebruikt in de wereld maar uh ze zijn van plan om daar iets mee te gaan doen. [[Marc]: Oke] Om zelf applicaties er mee te ontwikkelen. [[Marc]: Oke] [Wouter]: Weet je ook of er daar een reden voor is dat ze vooral dotNet en java doen? Met name security gerelateerde reden? [Subject]: Uuuhhh, poe. Dat zou ik eigenlijk niet weten meer dat het uh [PARTNERNAAM] van ouds her toch een windows omgeving dan is dotNet een logische reden. [Wouter]: Oke… [Wouter]: Wat is je eigen ervaring met php, in samenwerking met beveiliging? [Subject]: Uhh ja, dat is uh…jammer van php hé dat de naam een beetje onveilig is. Wat je ook vaak ziet is dat uh het voordeel van php dat het tegen php werkt. Het heeft een hele lage instap, als je bijvoorbeeld vergelijkt met java. Daar ga je niet als hobbyist aan beginnen, dat zie je toch vaak dat mensen java programmeren of vaak informatica gestudeerd hebben of echte programmeurs zijn die ook geleerd hebben van nou oke dan moet ik daar aan denken aan security dat en dat. En bij php programmeren zie je toch vaak uh de hobbyisten de postbodes die Joomla [microfoon ruis…] iets doen. Dan zie je helaas ook vaak hele triviale security dingen in zitten register globals dat soort dingen uh. Uh ja, dus dat was initieel wel een beetje wat hier eerst ook hadden het hing een beetje om php heen. Van uh, lek dit lek dat. Eeeh ja, ik ben zelf inmiddels van mening dat je php ook heel secuur kan opzetten als van te voren goed ja, goed over nadenkt. [Wouter]: Wat denk je dan als je er niet goed over nadenkt wat de voornaamste beveiligingsproblemen zijn? [Subject]: Uhm ja, de de niet goed afvangen van uh user input hé. De sql injection dat soort dingen krijg tuurlijk… [Wouter]: Dus echt de validatie? [Subject]: [Harde kuch] ja. Dat uh hebben mensen die niet echt opletten hebben dat niet door. Van eh dat je bepaalde dingen niet kan vertrouwen dat je daar echt allemaal van uh ja, het valideren. [Wouter]: Uhm, ja had het er straks heel even over dat er weinig budget is voor projecten uhm. Is der binnen uhm ontwikkeling van projecten wel een budget voor beveiliging? [Subject]: Uuuh, er word niet apart afgesplitst. Der word vanuit gegaan dat bij [BEDRIJFSNAAM] iets maken of iets bouwen dat, dat inherent veilig is. Dat word in principe aangenomen. [Wouter]: En zit er ook een hoge beveiligingsgraad aan de programma’s? Is dat verschillend per programma? [Subject]: Uh ja, dat ligt er dus aan he. Kijk uuh wat ik zei, ik pak vaak een bestaand open source programma omdat ik dus vaak ook niet de tijd heb om alles helemaal zelf te maken dan is het vaak handiger om een groot pakket te pakken en die aan te passen. En dat hangt er vaak vanaf hoe goed dat pakket is opgezet. Je kan je bijvoorbeeld voorstellen dat er aan mij gevraagd een bepaalde website met extra dingen dan ga ik bijvoorbeeld beginnen met Joomla. En dan maak ik een extensie in joomla ofzo die dan de functionaliteit bied. [Wvk¨hmm]. Je bent afhankelijk hoe secure Joomla in elkaar zit. Daar is vaak wel een en ander aan de hand in Joomla. Dus ja, dat hangt er een beetje vanaf uh. [Wouter]: Zorgen jullie ook zelf voor het beheer van die omgeving? [Subject]: Ja. Wij proberen wel uh als je het bijvoorbeld hebt over Joomla op dit moment niet goed geregeld maar uh er zijn een aantal Joomla en Mambo installaties die mensen zelf op de afdeling zelf hebben geïnstalleerd en wij willen graag dat het eindelijk op één server draait. Die meerdere sites kan draaien [harde kuch] zodat wij dus ook van tijd tot tijd kunnen updaten. Want dat gaan mensen zelf tuurlijk mooi doen. Uhm ja, dat is iets wat in de toekomst gaat gebeuren [[Wouter]: Uhuh] [Wouter]:Uhm, gebruik je voor het testen van de software ook analyse tools? [Subject]: Uuuhhmmm [Marc]: mompeld iets er doorheen [Subject]: Nee, maar ben erg in geïnteresseerd. [Wouter]: Oke [Wouter]: Is er een vast ontwikkelproces? [mompelt nog iets] [Subject]: Uhm, wat wij wel hebben is uh in ieder geval gescheiden omgevingen. Wij zijn echt een productie omgeving, testomgeving en ontwikkelomgeving. Met security is op zich wel uh, de ontwikkelomgeving is redelijk goed afgeschermd staat open voor uh één of twee ip-nummers bedoelt alleen vanaf de ontwikkelaar de pc. [Harde kuch] uh testomgeving uh ja is bedoelt voor de gebruikers om uuuhhhh oordeel te geven over van al, ‘dit is ongeveer hoe het eruit komt te zien, wat vindt je ervan? Werkt het een beetje?’ Is vaak alleen binnen de [BEDRIJFSNAAM] toegankelijk, [BEDRIJFSNAAM] domein. Productieomgeving afhankelijk van soort applicatie, binnen de [BEDRIJFSNAAM] alleen of voor de hele wereld. Uhm ja dat is wel een beetje de uh uh de normale gang van zaken je gaat niet iets wat algemeen toegankelijk is ontwikkelen zeg maar. Terwijl je bezig met authenticatie zeg maar ja dan kan iedereen daar naar binnen en klooien dat is natuurlijk niet handig. [Wouter]: En zijn er nog speciale eisen waar je moet voldoen als iets bijvoorbeeld alleen binnen de [BEDRIJFSNAAM] moet of wereldwijd toegankelijk moet zijn? [Subject]: Mompelt iets… [Wouter]: Een bepaalde authenticatie eisen of iets dergelijks misschien gebruikers … [Subject]: [Praat hard over Wvk heen] nee, gaat gewoon op ip-nummer. 10.128 reeks, het is een computer die op het netwerk zit. [Marc]: [hmmm] [Wouter]: Oke… [Wouter]: Wie is er binnen het bedrijf verantwoordelijk voor de veiligheid van de code? [stilte] Is dat de ontwikkelaar zelf? [Subject]: Uuuh ja, er zijn geen verschillende petten van mensen die zeg maar. Bedoel ik uh ja, ik zou graag willen uh ja vroeger waren we met meerdere mensen is ech wel leuk dat je elkaars code kunt beoordelen dat is ook veel beter pair programming, vind ik echt geweldig maar in je eentje is dat lastig [grinnikt]. Ja, is slecht je uh je schrijft code ja uhm je hebt liever dat iemand anders dat beoordeelt en andersom ook dat je zelf code beoordeelt die iemand geschreven heeft. Maar ja, dat is uh helaas hier niet… [Marc]: Zijn die, zijn die uuh authenticatie eisen of zijn dat is dat formeel vastgelegd zeg maar? Die verantwoordelijkheid? [Subject]: Uuuuuuuuuuhm, nee. Maar goed dat uh… [Marc]: Dat word weer impliciet verondersteld? [Subject]: Op een gegeven moment kan er gezegd worden van dit moet voor de hele wereld toegankelijk zijn. Veranderd het ook zo maar. [Wouter]: Oke [Wouter]: Hoe word er omgegaan met het melden van beveiligingslekken? [Subject]: Uhm, van ons naar systemen buiten ons? Of van? [Iedereen praat door elkaar heen…] [Wouter]: Ja, naar eigen systemen die in eigen beheer zijn? [Subject]: [stilte] ik moet je eerlijk zeggen dat we weinig dingen over krijgen. Het is vaak van hé de applicatie werkt niet of ik kan niet inloggen dat natuurlijk wel maar uh. [Marc]: [Hmnmm] Is er een vast meldpunt zeg maar voor voor mensen als mensen dingen tegenkomen? En word het dan intern doorgespeeld? [Weer door elkaar heen gepraat] [Subject]: Ja, het gaat dan naar de postmasters toe en dan waarschijnlijk komt dat wel bij de ontwikkelaar terecht maar uh dat soort klachten krijgen we eigenlijk nooit. Niet dat het er niet is zeg maar… [grinnikt] [Wouter]: en fouten die jezelf vind in software die je gebruikt? Dus in open source paketten? [Subject]: Uuuhh ja, in principe uh [brabbelt onverstaanbare woorden] bugs die we vinden melden we terug. Fixen die lokaal meteen. Uh ja bijvoorbeeld Joomla een lek heeft in die versie dan proberen we zo snel mogelijk die dingen uh te upgraden naar uh nieuwste versies. [Marc]: Hoe vaak komt zoiets voor dat je iets vindt? In een pakket van hun? [Subject]: Uhm nou uh het zijn wekelijks een stuk of uhm 5 gemiddeld security meldingen van alle software die wij beheren dat zijn niet alleen webapplicaties maar kan ook matlab zijn of firefox of zich wel meer dan vijf. [[Marc]: hm hm] Redelijk veel maar ja, zijn een aantal dingen die bij systeembeheer bijvoorbeeld firefox dient geüpgrade worden doen ze bij systeembeheer Soms bij een webapp. Komt het vaak op mijn bordje terecht [[Marc]: hm hm] [Wouter]: Het zijn dus bekende [harde kuch] (bugs?) die vanaf buiten [onverstaanbaar gemompel]. [Subject]: Ja [Wouter]: Oke [Wouter]: Uh nou we hadden het al over php mailinglijst in [PRODUCTNAAM]. Welke bronnen worden nog meer gebruikt om kennis over beveiligingen… [Subject]: als ik naar mijzelf kijk, ik uh ja heb een rss reader en ik ongeveer 60 feeds die ik regelmatig bijhoudt [[Marc]: hm]. Dus niet allemaal programmeren gerelateerd zeg maar ook gewoon nieuws. Maar wel heel veel [klopboor] uh [klopboor]. In koor: dit gaat niet werken… [Wouter]: Zet hem even op pauze. [Pauze] [Joost]: Ja! [Wouter]: Dan gaan we weer verder. Uhm, is er ook nog ruimte voor opleiding of uh? [Subject]: Heb ik die andere vraag al wel beantwoord? [Wouter]: Oh ja, welke bronnen je uh? [Subject]: Oja, in fysiek volg ik meer algemeen uh webdev dingen zodat gaat over … [Gesprek onverstaanbaar door het verplaatsen van de microfoon…] [Subject]: Uh, ja er zitten ook dingen bij die gaan over security. Ik lees heel veel van dat soort dingen. [Marc]: Maar dat is vooral denk ik nieuws als er iets mis gaat en minder snel van… [Subject]: uh mja… zijn dingen van van het kunnen ook algemene dingen. Exploits die je kunt verzinnen. Laatst eens gelezen dat ja uh in plaats van uh hoe noem je dat uh sql injection gewoon met met normale code zeg maar dat zeg maar gewoon een soort page 64 uh string kan worden geencodeerd en kan er heel veel uh tussen lagen zeg maar dat dan weer automatisch decoderen en dan heb je toch sql injection zonder dat dat geescaped is bijvoorbeeld doordat er slashes tussen staan dat soort dingen. Dat is een algemeen dingetje specifiek voor php is maar ja het is nie echt uh eigen ontwikkeling. Niet volgens de gestructureerde manier het is een beetje… [Marc]: Zou je dat wel graag willen? Eigenlijk. Dat bijvoorbeeld uh je dat soort cursussen kan volgen? [Subject]: Ja! Dat zou mooi zijn. Uh ja, het moet een beetje moeilijk uh de meeste cursussen die ik gevolgd heb de laatste mja uh waren niet echt nuttig laat ik het zo zeggen. Ik zit op een bepaald niveau zeg maar en meeste cursussen richten op beginners met php, beginnersniveau. En ja ,weinig wat echt dat op expert niveau aansluit van oke hier kan ik nog een paar stappen maken wat dat betreft. [Marc]: Oke. [Subject]: Als jullie ze weten dan houdt ik me zeker aanbevolen [Wouter]: Wat zou je zelf nog graag verbeterd willen zien binnen het bedrijf? [microfoon ruis] security. [Subject]: [denkt na met tsk tsk geluid] Uh nou wat wij proberen te bereiken met dat [PRODUCTNAAM] overleg dat er een soort standaardisatie plaats gaat vinden op op uh in ie framework, wat hopelijk gaat gebeuren. Of eigenlijk al aan het gebeuren is. Uhm waar door je meer gebruikt kan maken van mekaars kennis en code en dat dan ook een standaard manier gaat ontstaan van zo ze je de applicatie op en vandaar uit ook ook uh standaard manier van filtering, valideren en al die informatie. [Marc]: Misschien ook per programmeur [microfoon ruis] als je dat misschien met [PARTNERNAAM] samen zou kunnen doen. [Subject]: Ja. Code […] onderling. [Marc]: jaja, [hmm] [Wouter]: Oke. [Wouter]: en tot slot wat verwacht je qua ontwikkeling in de markt op het gebied van beveiliging? [Subject]: Php specifiek of in het algemeen? [Wouter]: Ja, in het algemeen. [Subject]: [ploppend geluid met zijn mond] poe. [Marc]: Of php specifiek. [Subject]: Uh, [mompelt wat ik er van verwacht] Uh ja, het zal wel meer aandacht krijgen ik denk dat uh je merkt ook wel een beetje dat php toch wel meer richting enterprise gaat zeg maar, php 5 object georiënteerd en ook zeker security heeft wel echt. In php 6 gaan ze ook echt heel veel dingen verbeteren register clones gaat eraf, kan je gewoon niet meer aanzetten is gewoon uh redelijk regioreuze stappen die ze gaan nemen om de security te verhogen. [Wouter]: En denk je dat dit ook de security ten goede komt? [Subject]: Jazeker, je moet het niet meer mogelijk kunnen maken dat je het zo makkelijk fout kunt doen zeg maar. [Wouter]: Maar dat zal de uh niveau van instappen wel verhogen. [Subject]: Ja. Vind ik niet verkeerd hoor. [grinnikt] Ja dat is zeker wel een punt ja. Het vergt wel enige… het is niet helemaal waar tuurlijk als je uh [stilte] bepaalde dingen kun je net op een andere manier aanbieden zeg maar dat het net zo makkelijk kijken is als op de goede manier. Sommige dingen zullen wel lastiger zijn maar daarvoor geldt dat meeste mensen googlen wat en dan komen ze ergens op een site terecht […] en dan copy paste die code snappen eigenlijk niet waar ze mee bezig zijn. Als er dan een goed verhaaltje staat je moet het eigenlijk zo en zo doen dit afvangen copy pasten ze die code dan hebben ze het op een goede manier gedaan snappen ze nog niet waar ze mee bezig maar [grinnikt]. Het zal eerder wat transitie problemen geven maar… voor mij is dat wel beter ja. [Wouter]: Oke, [kijkt Mp aan] heb jij nog verder nog vragen? [Marc]: Nee, eigenlijk niet. Heb jezelf misschien nog uh? [Subject]: Uuuh, nou ja uh [Marc]: Aspecten? [Subject]: Een van de dingen die ik bij [PRODUCTNAAM] probeer in te brengen is niet dat het alleen maar om php gaat. Een van de ontwikkelingen die je zet is is uh veel meer richting services en koppelen van allerlei uh dingen, cloud computing noem maar op. Daar zal in de toekomst veel meer uh gebruik van worden gemaakt waar je programmeert is eigenlijk niet meer zo belangrijk het gaat meer om de de uh koppelen van allerlei systemen en services die je hebt. Daar zal ook redelijk security dingen je bedoelt [harde kuch] je ziet bijvoorbeeld in de google API dat je uh uh toestemming kunt geven aan bepaalde sites om gebruik te maken van bepaalde informatie die je hebt bij een andere site zeg maar. Dat zal steeds meer gebeuren. Toevallig gister nog iets gelezen van uh [denkt na] aurora heet het volgens mij toekomst visie hoe een browser over vijf jaar, tien jaar kan gaan werken. Geïntegreerd in je hele digitale omgeving eigenlijk dus uh je koppelt daar je uh amazon informatie je wishlist, je je gps informatie dan word in één keer ‘hé je bent vlakbij een boekhandel’ waar dat boek ligt enzo Zijn allemaal dingen die allemaal misschien wel wil maar beetje privacy gevoelig en security gevoelig. Daar zal denk nog de komende paar jaar flink aan moeten gebeuren en dat heeft niet zozeer te maken met php, java, dotNet omgaat met uh [door elkaar gepraat] [Subject]: Privacy is natuurlijk… hangt er mee samen ook. Leuke ontwikkeling komen de periode op het gebied van webapplicaties. [Wouter]: Oke. Nou bedankt voor je tijd in ieder geval. [Marc]: Ja, bedankt [Subject]: Graag gedaan. Geen geboor meer… [grinnikt] [Marc]: Scheelt weer.
Bewerkte interviews
Interviews gestript van niet relevante informatie (zoals 'uhm' e.d.).
Interview 1
[Wouter]: Wat is je opleidingsniveau, werkervaring en welke functie werk je op dit moment? [Subject]: Ik heb mijn HBO-informatica afgerond en ik ben nu bezig met mijn Master aan de universiteit, software constructing. Waarbij ik ook Security vakken ga volgen maar die heb ik nog niet gehad. [Wouter]: En wat is je functie? [Subject]: Ik werk als software developer bij [BEDRIJFSNAAM]. [Wouter]: Wat is je ervaring met PHP en / of andere ontwikkeltalen in samenwerking met security? [Subject]: Mijn ervaring met programmeertalen is PHP, C#, .Net en met betrekking tot Security heb ik cursussen gehad over de top 10 aangedragen problemen door de OWASP groep. Die heb ik ook in de praktijk gebracht bij verschillende software ontwikkel projecten. [Wouter]: Ben je verder nog bekent met OWASP? [Subject]: Alleen van naam en hun top 10. En die gebruik ik zelf altijd als leidraad als ik bezig ben met softwareprojecten. [Wouter]: En wat is volgens jou het beveiligingsprobleem met webapplicaties ten opzichte van desktop applicaties? [Subject]: Authenticatie is een probleem, het grote probleem. Je weet niet zeker wie de andere kant van de lijn is, althans dat wil je zeker weten. En het andere is dat je moet kijken of persoon is wie hij zegt dat ie is, dat ie ook toegang heeft tot dingen die ie wil doen, Verificatie. [Subject]: En probleem is dat je natuurlijk bij webapplicaties mensen een heel eind verderop hebt dus je krijgt ook problemen als man in the middle attacks en dergelijke. [Wouter]: Hoe groot is het bedrijf waar je werkt? [Subject]: Een paar honderd man. Maar de softwareafdeling is vier man. [Wouter]: Welke webapplicaties, webgerelateerde producten zijn er binnen het bedrijf? [Subject]: Zijn verschillende, grootste koepelproject is [PRODUCTNAAM] daar zitten zeg maar verschillende onderdeeltjes onder. En dat is iets om bouwtoezicht mogelijk te maken voor de opzichters die kunnen controleplannen beheren, projecten bijhouden, logboeken op beheren en dergelijke zaken. [Wouter]: Is alleen voor intern gebruik? [Subject]: Momenteel wel, ze willen dat gaan uitrollen uiteindelijk. [Wouter]: Oke, dus dan word het ook externe bedrijven gebruikt. [Subject]: Dat is wel de bedoeling maar zover zijn ze op het moment nog niet. [Wouter]: Is daar bij dat project een budget voor het ontwikkelen van speciale security, gereedschap? [Subject]: nee. [Wouter]: Helemaal niet? [Subject]: Helemaal niet. [Wouter]: Word er gebruik gemaakt bij het testen van projecten of analyse software voor detecteren van beveiligingslekken? [Subject]: ja. Maar niet speciale tools, dat is meer van on-the-fly en meer algemeen software testen of het werkt, als het werkt dan zijn ze snel tevreden. Dus geen speciaal budget, voor specifiek security. [Wouter]: Er word ook niet specifiek getest op security, gewoon of het werkt? [Subject]: Nee, niet dat ik weet. [Wouter]: Is er een vast proces voor het ontwikkelen en met name security? [Subject]: Voor het ontwikkelen van software op zich wel dat is een redelijk gestroomlijnd iets met betrekking tot feature requests die toegevoegd gaan worden. Er word ook een deel van de software geoutsourced en dat word dan geïmplementeerd en dan word dat getest. Dan gaan ze verder kijken naar problemen. Specifiek voor security doen ze wederom weinig. [Wouter]: Is ter nagedacht over beveiligingswaarborging? Dus is er iemand verantwoordelijk? [Subject]: Ik denk dat er wel iemand verantwoordelijk voor is. Maar ik denk dat het voornaamste probleem is dat ze gewoon de gevolgen van slechte beveiliging niet hebben ondervonden. [Subject]: Dat er dus nooit iemand is geweest die die verantwoordelijkheid heeft hoeven dragen. [Wouter]: Weet je ook of ter problemen zijn gevonden in het verleden qua beveiliging? [Subject]: Volgens mij niet. Zullen ongetwijfeld wel gevonden zijn maar dat ze zullen opgelost zijn met algemene bugfixes. [Wouter]: Maar dat word gewoon intern opgelost? [Subject]: Word gewoon intern opgelost door de softwareontwikkelaars. [Wouter]: En wie is binnen het bedrijf of binnen de afdeling verantwoordelijk voor de code? Is dat de ontwikkelaar? [Subject]: Voor de code specifiek is dat inderdaad de ontwikkelaar zelf. Samen met iemand die iets meer sturing geeft aan het project. Er is zeg maar een programmeur, iemand die de design kant doet en de communicatie met de rest van het bedrijf. Er is een leidinggevende die dan de verantwoording draagt voor het geheel van het project. Maar die is niet specifiek betrokken bij de code ontwikkeling. [Wouter]: Hoe word er omgegaan als er beveiligingslekken worden gevonden? worden die gerapporteerd aan de ontwikkelaar zelf of worden die bij elkaar gevoegd? [Subject]: Ja we hebben een bug reportingtool maar er word ook mondeling gecommuniceerd met de programmeur. [Wouter]: Oke. En eindgebruikers kunnen direct bugs aandragen? [Subject]: Ja, kunnen ze wel maar dat word weinig gedaan. Omdat de eindgebruikers niet heel ICT-vaardig zijn. [Wouter]: En welke bronnen worden binnen het bedrijf gebruikt om de kennis van beveiliging bij te houden? [Subject]: Uh, durf ik niet zo te zeggen. Dat is meer aan de ontwikkelaars zelf om daar persoonlijk over up to date te blijven. [Subject]: Het bedrijf zelf geeft daar geen sturing in. [Wouter]: Nee, er is geen ruimte voor het volgen van opleidingen? [Subject]: Geen opleidingen, gewoon cursussen. [Wouter]: Dan nog iets over het toekomstbeeld. Hoe word er voor gezorgd dat het kennisniveau met betrekking van beveiliging op pijl blijft? [Subject]: Dat is de verantwoordelijkheid van de ontwikkelaar zelf. [Wouter]: Dus die moet daar dus zelf achteraan? [Subject]: Ja. [Wouter]: Wat verwacht je zelf qua ontwikkeling op de markt? Zie je verbeterpunten voor jezelf en voor het bedrijf zeg maar om dit te bevorderen in de toekomst? Of het is niet nodig? [Subject]: Nou ik denk wel dat het nodig is dus het zou goed zijn als het bedrijf wat meer bewust zou worden van problemen dat ze daar meer moeite in steken en dat ze op zijn minst de mogelijkheid bieden. Ook al is dat de ontwikkelaar zelf die op mogelijkheid heeft om op een beveiligingscursus te kunnen gaan. [Wouter]: Meer centraal vanuit het bedrijf zeg maar? [Subject]: Mja. Ik vind ook dat het bedrijf meer moet pushen naar uh sowieso alle kwaliteitspunten te waarborgen. En dat de verantwoordelijkheid, tuurlijk moet ie ook bij de programmeur liggen maar dat het bedrijf best meer initiatief in zou kunnen nemen. [Wouter]: Dan tot slot nog wat over source analyse tools. Ben jij daar mee bekent? Heb je daar wel eens van gehoord? Gebruik je zelf misschien ook? [Subject]: Zoals…? [Subject]: code coverage? [Wouter]: Ja [Subject]: Dergelijke. Ja, ken ik. [Wouter]: En heb je dat wel eens gebruikt? [Subject]: Ja, regelmatig. In ieder geval de code coverage tool. Maar dat je als je vrij complexe systeem werkt en je breid hem uit en breid hem uit moet je sowieso kijken of je niet op een gegeven moment niet overbodige code laat hangen je wilt uh testen of het werkt, je wil je oude tests kunnen blijven runnen zodat je niet nieuwe bugs introduceert met je vorige bugfix dergelijke. [Wouter]: Ja dat was het. Bedankt voor je medewerking. [Subject]: Oke, graag gedaan.
Interview 2
[Subject] Wij zijn vooral bezig met de content management systemen, die heet de [PRODUCTNAAM]. En met content management heb ik het over het beheren van content op een website, plus extra functionaliteit, zoals login accounts, misschien intergratie met een ander systeem. Wat je typisch krijgt bij een klant, is dat ze al een ander systeem hebben, een databasesysteem, dat ze ook op een website willen publiceren. Dus intergratie met backend systemen, het product [PRODUCTNAAM], is binnen [BEDRIJFSNAAM] op een aparte afdeling ontwikkeld. Daar werk ik, aan het product, dus we maken een product en dat product wordt ingezet bij [BEDRIJFSNAAM] en bij zn Partners. We hebben een aantal partners en we zijn bezig om meer partners te recruiten zeg maar, om het product te gebruiken en in te zetten bij hun klanten. Dus dat is eigenlijk de productstrategie, plus een project; je hebt een grote project afdeling, want we waren oorspronkelijk gewoon puur projecten en toen, toen hebben we een soort van product ontwikkeld en nu is dat product echt af… [Wouter] doorontwikkeld al? [Subject] Doorontwikkeld.. en ja, los van de projecten zelf, eerst was het een beetje chaotisch.. [Wouter] en was dat dan ook echt de opzet van het product, of was het dan ook echt ook een product gemaakt om voor een project, maar later bleek het zo handig dat het toch groter is ingezet toch? [Subject] In het begin wel [BEDRIJFSNAAM] is tien jaar of elf jaar oud Maar in het begin, ja, was het een soort content management systeem wat niet goed genoeg was voor een bepaalde klant en het volgende project was extra dingen, extra functionaliteit toe te voegen, zo ontstaat zon product, maar er waren er toen geen echte versies van het product. Maar later hebben wij echte versies gemaakt en toen kreeg je zeg maar projecten en de code en het product zelf. Want ja het is gewoon niet te doen als iedereen een andere versie heeft en eigen serparate code beheerd. [Wouter] En hoe groot is [BEDRIJFSNAAM]? [Subject] We zitten volgens mij rond de 130, 140 werknemers, want dat was de doelstelling, boven de honderd. We hebben een kantoor hier in [PLAATSNAAM] [BEDRIJFSNAAM] was eerst een groep studenten van de universiteit. [Wouter] van [PLAATSAAM] ook? [Subject] Ja, en de basis ook uit [PLAATSNAAM], maar nu hebben wij ook een kantoor in [PLAATSNAAM], die zijn bezig met klanten, projecten in regio [PLAATSNAAM], dat is belangrijk natuurlijk. We hebben nu ook een kantoor in [PLAATSNAAM], die zijn vooral bezig met projecten bij de overheid en die soort organisaties. publieke sector. [Wouter] Wat is jou eigen rol? Ben je vooral ontwikkelaar, of? [Subject] Ik ben vooral ontwikkelaar, engineer, dus ik werk aan het product zelf, betrokken bij het maken van nieuwe versies van het product. [Wouter] Ja, je bent zelf toch ook al heel erg bezig met security he? [Subject] Ja. [Wouter] Tenminste hier binnen [BEDRIJFSNAAM] [Subject] Ja, eigenlijk wel, is niet echt super formeel zeg maar, maar ik was wel iemand die de kennis had. [Subject] en die ging roepen ja dat is een probleem die moet je oplossen, dat soort dingen, dus ik heb een beetje impliciet die rol gekregen om zo bezig te zijn. [Marc] Wat is je eigen achtergrond dan als ik vragen mag, wat heb je hiervoor gedaan voor ? [Subject] Ik heb eerst mijn degree gedaan, in Melborn [Subject] En toen kwam ik naar Nederland in die tijd, dat is tien jaar geleden [Marc] En toen? [Subject] Ik heb bij [BEDRIJFSNAAM] gewerkt en toen ging ik terug naar Australia, daar heb ik ook een soort web achtige dingen gedaan, een soort content management dingen en toen kwam ik terug naar Nederland en nu werk ik bij [BEDRIJFSNAAM]. Eerst was het meer projecten, toen kwamen aparte afdeling en nu werk ik aan het product zelf. [Subject] maar nu ben ik hele tijd hier min of meer bezig met content management en web applicatie systemen. [Wouter] En welke talen werken jullie hiermee? Tenminste werkt het content management systeem mee of werk je zelf mee? [Subject] Nou kijk, [PRODUCTNAAM] zelf was door een aantal studenten hebben speciaal vierde generatie systeem gemaakt. Die heette [PRODUCTNAAM] en was een template taal, persistent object database die werkt gebruikt om [PRODUCTNAAM] daar zelf bovenop te bouwen. Die taal zelf is nu een legacy systeem. En de laatste 5 jaar zijn we vooral bezig om dat eruit te halen en over te stappen op java, Dus nu hebben we eigenlijk ontzettend veel java plus wat oude [PRODUCTNAAM] code. Maar, het is oorspronkelijk een soort applicatie die draait op een andere soort persistent databases en generation, generation template system [Wouter] En het doel is dus om het helemaal op Java te baseren [Subject] Ja om over te stappen op Java One, dat taaltje [PRODUCTNAAM] is niet, is bedoeld voor het afdrukken van HTML eigenlijk. Niet voor het maken van een geen eigen taal. Dat is het hele probleem, daarom zijn we overgestapt naar mediale technologiën. [Marc] Is dat ook vooral omdat het platform onafhankelijk is of is het echt alleen…? [Subject] Nee, de [PRODUCTNAAM] zelf was in Java geschreven, dus die was al platform onafhankelijk. Net als Java. Maar, ja dan zit je met een klein wereldje. En als je iets wil gebruiken ja dan moet je het zelf implementeren of intergreren en dat doe je niet. Java zit vol libraries en ander systemen. [Wouter] Over beveiliging zelf zeg maar. Wat wat vindt je zelf het beveilingsprobleem wat je hebt met webapplicaties ten opzichte van gewoon klassieke desktop applicaties, hoe zie je dat zelf? [Subject] Het eerste verschil is dat. Een webapplicatie die is op het internet, die is altijd bereikbaar door vrijwel iedereen die ook een internet connectie heeft, dat is een mega verschil tussen webapplicatie en desktop applicatie webapplicaties hebben typisch niet maar een instanties van die applicatie, iedereen heeft een eigen kopie en bij webapplicaties heb je verschillende gebruikers gelijk met verschillende security niveaus’s / permissies en dat soort dingen en bij desktop applicaties heb je dat niet zo zeer. Desktop applicaties zijn typisch iets wat een persoon gebruikt en dat is een ander soort security dan operating systems [Subject] Dus ja, Webapplicaties is toegankelijk, overal beschikbaar op het internet, en je hebt ook echte gebruikers maar ook een gebruiker klasse vol andere mensen of andere aanvallers die daarmee willen hacken of iets naars moet doen. [Subject] Dus bijvoorbeeld meer het gebruikers aspect met permissies en dat soort dingen plus dat het dan open is voor iedereen. [Wouter] En zijn er nog andere applicaties of webgerelateerde producten die [BEDRIJFSNAAM] aanbied, naast het content management systeem? [Subject] [PRODUCTNAAM] is een content management systeem maar ook een soort platform waarop je extra modules kunt bouwen en inpluggen, dus integratie met bijvoorbeeld YouTube ofzo een extra component. Een VCB noemen we dat. [Subject] en die kun je zo inpluggen, het is dus een uitbreidbaar platform. [Wouter] En en hoe verschilt zo’n module dan bijvoorbeeld met het hoofdsysteem qua beveiliging? Komen daar nog andere dingen bij kijken? Omdat je dus ook externe bronnen hebt? [Subject] Als je een VCB maakt, een van die componenten, dan krijg je sowieso redelijk veel dingen gratis qua security. We hebben mechanismes om formulieren te beveiligen zodat mensen niet zo snel waardes in HTML formulieren kunnen aanpassen. Gekke dingen doen. Je krijgt er dus ook een soort security framework omheen. Dus ja dat is wel een verschil [Marc]Zit er ook een bepaalde security tussen de modules en het platform opzich, dat die module zich moet authenticeren of dat ie weet dat het een echte [BEDRIJFSNAAM] module is, of is het de bedoeling dat andere mensen ook uitbreidingen kunnen maken die met je platform kunnen communiceren. [Subject] Het is wel de bedoeling dat andere mensen die modules kunnen maken. De SDK zelf staat op ehh de [BEDRIJFSNAAM] [DOMEINNAAM]. Die kun je gewoon downloaden, maar het installeren van een module doet de systeembeheerder of ehh de applicatiebeheerder zelf, dus ik ga er even van uit dat die persoon niet stoms gaat inpluggen. [Wouter] Dus die is daar eigenlijk verantwoordelijk voor dan? [Subject] Ja, eigenlijk wel. En ook binnen het systeem sowieso is het niet echt mogelijk om java code af te schermen van ander java code binnen een VM, dus dat gebeurd niet echt. [Subject] Met reflectie kun je zoveel verschillende dingen doen. Dingen ook die eigenlijk niet mogen. [Wouter] Is er binnen het project ook een budget voor ehh specifiek voor beveiliging? [Subject]Nee [Wouter] Dat zit gewoon in het globale budget? [Subject] We hebben 12 maanden geleden een extra ontwikkel slag gedaan, om wat beveiligingsproblemen te identificeren en op te lossen. We zijn daar echt een soort ontwikkelingstraject binnen het product. Maar er is geen formeel systeem of systeem voor checks die wij uitvoeren, formeel is het niet geregeld. [Marc] Hebben jullie daar nog mensen van buitenaf voor ingeschakeld? Om de beveiliging te controleren? [Subject] Nee, dat doet eigenlijk de ontwikkelaars zelf, of ik, zeg maar de andere mensen die meer handig zijn met security. Maar klanten bij de grote klanten die we hebben bij grote projecten zetten soms wel wel eens af en toe een derde partij in security checks op de website. [Subject] Dat gebeurd wel af en toe [Subject] Maar die qualtiy checks zijn vooral ter geregeld van password authentic, Je vangt alleen de meest voor de hand liggende problemen op. En typisch met dat soort qualtiy checks zijn ze bezig met bekende problemen bij andere systemen of software. Aangezien [PRODUCTNAAM], ja we zijn vrij groot in Nederland maar niet in de zin van de wereld zelf zijn vrij specifieke checks voor [PRODUCTNAAM]. Die zijn vooral op zoek naar generieke problemen of bekende problemen [Wouter] Wie is er dan verantwoordelijk voor de code die je oplevert. Is dat de ontwikkelaar zelf of is dat degene die dat later nog controleert of test. Zoals je al zei niet elke ontwikkelaar is even, hoe zeg je dat, geïnteresseerd in de in de security. Dus waarschijnlijk dat andere mensen het testen, maar wie is er dan verantwoordelijk voor? [Subject] Dat is eigenlijk een algemene quality issue, want we hebben wel Q/A maar die zijn niet gericht op security natuurlijk maar op Q/A in het algemeen, dus. Zelf is de ontwikkelaar verantwoordelijk voor de kwaliteit van het product. [Wouter] Wordt er verder nog gebruik gemaakt van speciale tools, zoals bijvoorbeeld Fortify, ik weet niet of je daar bekend mee bent? [Subject] ja die ken ik, ja volgens mij zijn er niet zoveel tools die echt de problemen kunnen opvangen voor dingen zoals cross side scripting en dat je vooral juist de code leest denk ik, dan kun je wel vrij makkelijk die problemen opsporen, als je gewoon de code leest. Soms is dat het gewoon de beste manier om die problemen op te vangen. [Wouter] Dus dan wordt er alleen maar echt door personen gecontroleerd, dus en niet geautomatiseerd [Subject] Niet geautomatiseerd nee. We hebben ook een aantal guidelines. Voor als je bijvoorbeeld iets doet met SQL, dan moet je altijd prepare statements gebruiken, in plaats van dat je een SQL query samenstelt voor permissies. Voor als mensen dat doen dan heb je vrij weinig kans op een SQL injection probleem bijvoorbeeld, dus dat is wel belangrijk dat je met de mogeleikheid rekening houd, zo dat ze de juiste API’s gebruiken. In plaats van via internet. [Wouter]En worden die guidelines regelmatig bijgesteld? Of hoe wordt dat precies bijgehouden? [Subject] Dat ligt meer bij projecten dan bij product, dat is ook niet echt super formeel geregeld. Nu weet iedere ontwikkelaar dat je altijd prepare statements moet gebruiken in plaats van SQL. Dus als iemand dat niet doet dan wordt dat wel gezien. [Wouter]Dus dan wordt die daar wel op aangesproken? [Subject]Ja [Marc] Is het gebruikelijk dat jullie elkaar ook een beetje controleren ook in die zin? Dat je bij collega’s kijkt of die dat inderdaad niet vergeten is? De prepare statement bijvoorbeeld? [Subject]We hebben in het product een ploeg die werkt maintainance en een andere die nieuwe dingen aanmaakt en ontwikkeld buiten het aanmaken van nieuwe dingen, voordeel van het ontwikkelen van nieuwe dingen is dat je vooral ook als coder dus redelijk vaak te maken krijgt met meer dan één paar ogen. [Subject]Maar in Maintaince, alles gaat via een Issue tracking systeem, dus als je iets oplost wordt een patch gemaakt dan krijgt de patch een review door iemand anders, dus daar zit wel een review process in. [Subject]In maintainance dus dat is wel belangrijk. [Wouter] Dus de security wordt eigenlijk gewaarborgd door dat er altijd twee paar ogen naar kijken. [Subject] Ja, security en andere qualiteits dingen [Wouter] Je zei zelf al er is een bug tracking systeem? [Wouter] Als een klant een bug vind in een applicatie, hoe gaat dat dan in zijn werk? [Subject] Wat een klant eigenlijk eerst moet doen is even kijken even zoeken in het systeem of er al een issue is gemeld over dat probleem en als dat is niet, dan gaat die een issue aanmaken en informatie submitten. [Wouter] Oke, en daar kan de klant ook gewoon zelf bij? En de klant kan ook gewoon kijken wat er bugs zijn? [Subject] Ja, het system is nu wel open [Wouter] Hoe wordt er binnen het bedrijf gezorgd dat de kennis over beveilig bij de ontwikkelaars up to date blijft? [Subject] We hebben een aantal avonden gehouden voor de ontwikkelaars over veschillende thema’s. Security is ook een thema die af en toe komt, heel soms. [BEDRIJFSNAAM] heeft ook hoe zeg je dat, wij hebben een platform bedacht en die willen wij eigenlijk verkopen aan onze partners en daar hebben wij ook trainingen voor de partners die dingen ontwikkelen en ook gewoon trainingen in het algemeen voor de normale gebruikers. We hebben laatst een security training gemaakt, die wordt over een week of twee gelanceerd de user training. [Wouter]Oke [Subject Dit kunnen we gebdruiken en natuurlijk ook onze eigen ontwikkelaars op de training zetten. En ook als je begint als engineer bij [BEDRIJFSNAAM] dan krijg je ook twee weken trainingen over hoe werkt het product en dat soort dingen. [Wouter] En daar zit een deel security in? [Subject] Nee, nog niet maar, dat wil ik ook zien en als wij die security training voor elkaar hebben dan is dat vrij makkelijk toe te voegen aan het programma voor de nieuwe ontwikkelaars. [Marc] Mogen jullie ook zelf trainingen volgen binnen [BEDRIJFSNAAM]? [Subject] Ja [Marc] En dat je dan bijvoorbeeld kiest voor een bepaalde security training, is dat een optie? [Subject]Iedereen heeft een trainingbudget dat kun je besteden aan allerlei trainingen voor whatever. En als je security wil doen, is dat wel mogelijk. [Marc]Maar er zijn geen verplichtingen in de zin van dat het wenselijk is dat iemand die cursus heeft gevolgd? [Subject] Nee, de meeste mensen hier hebben die JAVA certificering gedaan. [Wouter] Dan wou ik nog wat vragen over het toekomstbeeld van security, wat verwacht je zelf van de ontwikkelingen in de markt waar jullie product actief is qua security? Denk je dat er in de toekomst veel andere gevaren komen waar jullie wel of niet berekend zijn? [Subject] Ja dat kan altijd gebeuren natuurlijk. Ja het is een beetje lastig om de toekomst te voorspellen, ja. [Wouter]Maar? [Subject] In het product zelf kunnen wij best wel wat dingen problemen oplossen zoals met sessies. Wij managen dus een eigen sessie stof? Dat is door een derde partij ontwikkeld dus dan krijg je een hoop dingen gratis en ook een extra stukje beveiliging zoals tampering met formulieren dat soort dingen en sessie beveiliging en logging / locking mechanismes. Dus door de derde partij, worden er een hoop dingen voor jou geregeld en ik schat dat in de toekomst elk wat meer dingen in het platform oplossen. [Wouter]Dus dat is ook meer preventief zeg maar, dus mocht er in de toekomst iets met sessies mis gaan dan? [Subject] Ja, dan hebben wij meer kans om dat in het product op te lossen [Wouter] We hebben het er al een beetje er over gehad, maar wat zie je zelf een beetje als verbeter punten voor jezelf en binnen het bedrijf voor security. Dus bijvoorbeeld de trainingen die je zelf al aangaf. [Subject] Ja die trainingen zouden echt fijn zijn, want de meeste mensen zijn zich niet echt bewust genoeg van hoe makkelijk het is om een security probleem te maken of te veroorzaken, hoe simpel en hoe klein die problemen kunnen zijn en hoe groot het effect, de gevolgen kunnen zijn. En het wordt altijd onderschat, je hebt maar een klein regeltje code die heel onschuldig is, maar als iemand anders een ander idee heeft wat je kunt doen met dat regeltje, dan is dat al een groot security probleem ook al is de ontwikkelaar zelf zich niet bewust is van wat de mogelijkheden zijn. [Marc] Maken jullie ook de gebruikers bewust, van hun eigen verantwoordelijkheid? Bijvoorbeeld van, jullie mogen het password niet weggeven of dat soort dingen? [Subject]Wij niet, niet bij product (Productie) natuurlijk. Ik neem aan dat de trainingen over de gebruiker zelf ook iets zeggen over wat je moet doen met je password en dat soort dingen. [Subject] In dat aspect is [PRODUCTNAAM] niet zo anders dan alle andere websites. Dat je inlogt met je wachtwoord en username, ja dan scheelt het niet zo veel. [Wouter] Ik weet niet of jij nog vragen hebt, of dat je zelf nog iets hebt? [Subject] Ja ik werk vooral aan [PRODUCTNAAM](Productie) dus ik heb niet zo veel te maken met projecten of ehh de backend intergraties. Dus ik vraag mij af of het interessant is voor jullie om iemand te interviewen die wel bij projecten werkt en die ook integratie doet. [Marc] Om dat de security daar een grotere rol speelt volgens jou? [Subject] Ja het is wel interessant als je de koppeling moet maken tussen de website en het andere backend systeem of een database, dan heb je meer kans op cross scripting problemen en dat soort dingen. Ik ben vooral bezig met HTML en vormgeving, dat soort dingen van het product zelf. Ik heb jaren jaren lang geen vormgeving code geschreven, dus, ja [Wouter]Ja misschien dat dat wel iets is voor ons om voor een vervolg onderzoek op toe te passen dus inderdaad te kijken waar in een bedrijf nou het de belangrijkste rol speelt in het ontwikkelproces. [Subject] Ja dat is ook wel belangrijk, want dan ben je aan het spelen met de gegevens van jou klant. En de echte jah de business database en de gegevens van eindklanten. Daar staat wat meer op het spel. [Wouter] Nou dat was het dan verder, bedankt voor je tijd in ieder geval [Marc] Dank je wel
Interview 3
[Wouter] Kun je in het kort vertellen waar je werkt. Iets over het bedrijf en iets over de producten? [Subject] Ik werk in een bedrijf van, even kijken, van totaal werken wij met 7 man waarvan totaal 4 in de techniek. We houden ons eigenlijk bezig met webapplicaties en dat in het breede zin van het woord. Dus van een beeldbank tot een website tot en met een verkoopplatform voor producten waar mensen gezamenlijk bij elkaar komen om producten in het groot af te nemen en dat soort zaken eigenlijk. Dus webapplicaties ja, in het breedste zin van het woord, eigenlijk [Wouter] en welke omgeving en taal [Subject] Dat is eigenlijk alleen PHP. Zo dat is eigenlijk ons enige taal waar wij in werken, heeft ook meerdere redenen, we hebben ook Perl et cetera er nog bij gehad maar PHP is gangbaarder is is eigenlijk wel door iedereen te lezen en aan te passen. [Wouter] Okee, Wat is je eigen opleidingsniveau? En je werkervaring op het gebied van webontwikkelen [Subject] Ik heb gewoon MBO [Technische informatica] gedaan en daarin is vrij weinig besteed aan PHP en daarna ben ik eigenlijk gewoon, ja, ik werk nou 3 jaar om en nabij in de PHP. Omdat ik eigenlijk meegegroeid met het bedrijf, en ja aldoende leert men en op die manier ben ik ja goed wat het niveau is, dat weet ik eigenlijk niet precies, dat kan ik niet daarin uitdrukken. Maar stel dat ik er al 2 en half, 3 jaar mee werk ja dat wel [Wouter] Qua werk hoe, hoe kom je in aanraking met beveiliging? [Subject] Zuiver op PHP gebied of? [Wouter] Ja! Dus in ieder geval met met webdevelopment. [Subject] Ja, goed in hoeverre ik in aanraking kom met beveiliging, je houdt rekening met hoe zaken vooral met bijvoorbeeld MySQL injection hoe kun je voorkomen dat mensen zaken kunnen plaatsen in je database dat je niet wilt wat überhaupt sowieso niet de bedoeling is en je zorgt ervoor dat een website die een bepaalt recht heeft binnen MySQL dat ie niet het recht heeft om bijvoorbeeld om de complete database te dumpen te kunnen of etcetera. Dus je zorgt ervoor, wat ik in mijn in de praktijk voor mij security betekend is zorgen dat er eigenlijk geen misbruik gemaakt kan worden van platform dat je maakt en dat het de rechten waarom dat allemaal draait dat het eigenlijk niet meer rechten heeft dan het nodig heeft. [Wouter] Is dat volgens jou ook het grootste beveiligingsprobleem van een applicaties? [Subject] Ik denk persoonlijk dat het grootse probleem is dat het de query’s et cetera die gedraaid worden naar MySQL wel of naar welke database server dan ook, die vaak niet, of de input daarvan niet voldoende gecontroleerd wordt. Dat je door middel van het het setten van quote-jes als nog een query binnen een query zelf kan draaien. En Ja eigenlijk de input waarvoor het bedoelt is teniet kan doen, persoonlijk denk ik dat daar het grootse gevaar in schuilt. [Wouter] Heb je nog, verschillen tussen de applicatie onderling die jullie zegmaar op het gebied van veiligheid? [Subject]Of wij verschil maken tussen wanneer iets groter wordt of iets kleiner is, nee denk dat we eigenlijk bij alles proberen omdat zo dicht mogelijk te houden. Waarom eigenlijk? Omdat als je een een ja, qua budget gezien een minder project hebt, maar het draait wel op jou server. Dus op het moment dat daar iets mee mis gaat, of men krijgt toch iets voor elkaar om in een omgeving terecht te komen waar ze niet horen, ja dan waarover dan hebben andere omgevingen daar ook last van. Dus dat staat eigenlijk allemaal dicht. En zelfs omgevingen die wij die wij inmiddels van een ander bedrijf hebben overgenomen die draaien niet eens op onze eigen productieserver, dat houden we ook weer apart, in een andere omgeving. Waar daar zoveel mogelijk proberen om in ieder geval alles wat bij ons gedraaid wordt, eigenlijk onze productieomgeving, wordt helemaal doorgespit voordat wij het daar gaan opplaatsen anders wordt het ergens anders fysiek neergezet [Wouter] Maar jullie draaien al jullie eigen producten ook op onder eigen beheer? [Subject] Ja, alles. [Wouter] Je had het al eventjes over budget, is er een, apart budget voor security? [Subject] Nee. [Wouter] Hoe gaat het qua verantwoording om de security, wie is er verantwoordelijk voor de de veiligheid van de producten? [Subject] Ja eigenlijk dat deel waar eventueel problemen zich in voordoet daar is de gene die die dat heeft gemaakt, die dat heeft geprogrammeerd, die is daar eigenlijk voor verantwoordelijk voor alleen je bent wel met zijn allen, ja iedereen heeft ook een controlerende taak en je probeert mekaar wijzer te maken en eigenlijk daar allemaal in te groeien en zorgen dat het product uiteindelijk beter wordt. Ja goed, d’r is echt 1, 1 verantwoordelijkheid naar de buiten wereld, dat is in feite degene die het verkoopt, de kartrekker die is uiteraard verantwoordelijk naar de buitenwereld toe, dat wel. Alleen intern dan ja dan is het eigenlijk degene dat deel dat onderdeel heeft gemaakt. [Wouter] En vindt er nog iets van een kwaliteitcontrole plaats? Qua security op het moment dat een product, vrijgegeven wordt? [Subject] Nee. Der is niet nog een keer weer dat er nadat iets is opgeleverd, alles is gecontroleerd, alles is getest, door meerdere personen is getest dan is het niet de situatie waarbij wij nog een keer een extra test is voor voor security. Nee [Wouter] zit dat wel in het normale proces? In het normale test proces? [Subject] Nee, er wordt niet echt extra daar nog een keer weer gekeken naar hoe veilig is het product nee. [Wouter] Zijn jullie, of ben je zelf, bekend met source analyse tools toevallig? Op security? [Subject] Ja, maar we hebben, ik heb het zelf nog nooit eerder in de praktijk toegepast. We zijn wel op de hoogte dat die zaken bestaan. [Joost] Waarom heb je dat niet gedaan? [Subject] omdat ik uiteindelijk een uitvoerende functie heb, dus ik krijg van, om het maar even zo te noemen, van boven af krijg ik een opdracht dat moet gemaakt worden, binnen een bepaalde tijdspan en daar is gewoon echt geen ruimte voor om nog eens een keer dat soort zaken allemaal nog te gaan uitvoeren en uit te zoeken hoe bepaalde zaken precies werken. wellicht wanneer dat wel draait en je hebt het door dan is het snel is het waarschijnlijk is het vrij snel toe te passen. Alleen ja in alles, dat moet ik er ook bij zeggen, de onderneming waarin ik nou werk is groeiende dus, wellicht dat binnen nu en 6, 7 maanden wel de situatie zou kunnen zijn, alleen op dit moment is dat nog niet de situatie. [ Joost] Je zou dat wel graag zien, dat dat de situatie wordt of, in ieder geval dat er meer aandacht aan besteed wordt? [Subject] Nou wanneer bijvoorbeeld uit een rapport ziet dat het absoluut bijdraagt aan de kwaliteit van een product, ja dan zeer zeker, ja. Alleen dan is er niet van, dan ben ik niet degene die uiteindelijk zegt van we gaan het nu doen. Ik ben wel iemand die dat kan aankaarten, en dan is het afhankelijk van bovenaf of daar feitelijk ook tijd vrijgemaakt wordt want in feiten is tijd geld en dat, ja goed, daar ga ik dan niet over, ik ga niet over waarin geïnversteerd wordt. [Wouter] En wat denk je dat dan de uitkomst van en of de bijdrage van zo’n programma zou moeten zijn om het implementeerbaar te maken? Binnen het bedrijf? Om het zelf terug te laten verdienen? [Subject]Nou om zich terug te laten verdienen, dat is lastig, en dat is ook lastig voor mij dan weer om intern te verkopen naar bovenaf, want ik zolang het goed blijft gaan, is der nooit een reden om zo’n zoiets te gaan doen. En en zal daar ook niet 123 tijd voor gemaakt worden. Als ik een heel simpel voorbeeld mag noemen, vorig week is een server gekraakt van eeen bedrijf waar wij, mijn chef dan ook een deel wat mee te maken heeft en toen dat zegmaar aan het licht kwam dat daar mensen op zaten die daar niet op thuis hoorden, toen was in een keer tijd en ruimte genoeg om te zorgen hoe dicht zit eigenlijk alles bij ons. Dan is er in een keer alles wakker geschud en dat wordt er in een keer tijd gemaakt voor allerlei zaken, om na te denken, door te lopen. He om zolang er nooit security problemen hebben dat het nooit er zaken aan het ligt komen waarbij er je gegevens uit een database kan lezen of in een database kan zetten of waar dan ook uit of doormiddel van een webapplicatie, dan zal de noodzaak daarvan ook minder snel, ja dan dan denk ik, beseft wordt. En vooral omdat de mensen minder technische zijn, die uiteindelijk gaan over wat er technisch gedaan gaat worden. [Wouter] Hoe wordt er binnen het bedrijf omgegaan met beveiligingslekker die al dan niet door derde worden geconstateerd? [Subject] Ja ,eigenlijk hebben we die situatie… Dat durf ik niet te zeggen, want omdat we in de praktijk die situatie nog niet hebben gehad, maar ja, ja mocht het dat wel aan het licht komen, mijn persoonlijke reactie zou zijn, gelijk eigenlijk wat het is, wat die gene heeft gevonden, en dan uiteraard proberen op te lossen. En wanneer er aantoonbaar ergens een lek in zit, dan wordt er ook gegarandeerd tijd voor gemaakt, dat weet ik heel zeker. [Wouter] Maar er is geen vaste procedure voor? [Subject] Nee absoluut niet, nee. Dat is er niet. [Joost]Zou je daarvoor de procedure die je nou hebt, hebben jullie nou al een procedure voor andere algemene problemen of andere request ofzo bugs, als een klant dat ziet van een schermpjes scheef ofzo of het werkt niet in een bepaalde browser [Subject]Ja, dat gaat eigenlijk gewoon in een ticketomgeving [Joost] En dat systeem zou ook gebruikt kunnen worden voor security of zou je daar denk je een ander systeem voor nodige moeten hebben? [Subject]Nee ik denk dat wij ook op dit moment niet een grote hebben waarbij je, ja we zijn vrij klein en dat maakt niet dat je een groot log bedrijf bent, dat heeft nadelen maar ook voordelen en ik denk dat er een telefoon binnenkomt of een mail binnenkomt of iets in die geest binnenkomt waarbij je uit een probleem is helemaal als een beveilingsprobleem is in een omgeving, in een webapplicatie dan weet ik zeker dat daar tijd voor vrij is gemaakt. [Joost] Dus dan wordt het gelijk opgepakt? [Subject] Ja, absoluut. Alleen als je vraagt is er een bepaalde procedure ja dan das dan de procedure, ga er maar mee beginnen en zorg dat het goed komt. [Joost] ja, tis gewoon eigenlijk dat het nog niet vaak genoeg is voorgekomen? [Subject] Zelfs helemaal niet, Ik heb in de 2 jaar dat ik nou voor dit bedrijf werk heb ik geen enkele keer gehad dat een klant of iemand anders met een security probleem naar ons toe kwam. Dat niet. Uiteraard met andere problemen, cross-browser compatibiliteit, ja goed uiteraard dan, dan hoe hoeveel energie je daar in steekt dat zul je altijd wel eens een keer houden dus dat is, daar ontkom je eigenlijk niet aan. [Wouter] Je had het daarstraks al even aangegeven dat het bedrijf groeiende is, Wat is is jouw toekomst beeld, voor het bedrijf zegmaar kwa security. Denk je dat er meer aandacht aan besteed, je gaf zelf aan wellicht dat er over een tijd wel veranderingen op het spel staan. [Subject] Ja weet ik niet, omdat ik ik weet niet hoe mijn collega’s daar mee precies hmm mee bezig zijn en ik zeg ook absoluut niet dat er luchtig over nagedacht wordt, absoluut niet. Alleen ja, ik heb daar niet zo uitgebreid over nagedacht, zoals we er nu over hebben, of we hebben het wel eens over hoe moet je bepaalde he welke functies moet je gebruiken om te zorgen dat ze geen quote-jes kunnen gebruiken, even heel erg in de praktijkgericht dan, daar hebben het wel over, maar goed niet een heel gesprek over hoe veilig is onze applicatie. Moeten we dat misschien wel doen? Ja, wellicht daar valt inderdaad misschien wel in bepaalde winst in te behalen. Alleen, ja, ik kan er niet zo in vooruit kijken want dan zou het, ik weet niet hoe collega’s in tegen overstaan of daar van bovenaf daar tegenaan gekeken wordt. [Wouter] Die gesprekken bijvoorbeeld over welke functies je het beste kunt gebruiken. Documenteren jullie dat of iets degelijks? [Subject] Nee dat is in de informele sfeer, dus dat wordt er gewoon gediscussieerd en ja dan zit je met 2 3 man soms 4 en dan wordt er gesprek gevoerd over wat je moet doen en waarom moet je dat doen, dat is wel niet dat de 1 aangeeft van zo moet het en dat is het… Er wordt even na gekeken d’r wordt informatie over opgezocht waarom en hoe dat precies zit. Ja afhankelijk daarvan wordt dan een keuze gemaakt. [Wouter] Is het ook jullie eigen verantwoordelijkheid om up-to-date te blijven van security problemen? [Joost] Of van de individuele ontwikkelaar? [Subject] Nee dat is eigenlijk onze eigen verantwoording, Jij programmeert dus jij zal daar ook van op de hoogte van moeten zijn. Je bent zelf eigenlijk verantwoordelijk voor dat deel dat je maakt. en je bent in feite niet verantwoordelijk voor andermans werk, alleen ja, je controleert elkaar wel. Ja daarin geef je alleen opbouwende kritiek, dat is eigenlijk de praktijk, van waarom we bepaalde zaken misschien eventueel verkeert doet of hoe het sneller of beter kan. En dat ook op het gebied van veiligheid. [Wouter] En gebeurd dat structureel dat controleren? Of is dat gewoon af en toe? [Subject] Nee dat is eigenlijk, nee dat is sowieso ook de code zelf, controleren van elkaar, ja dat is ook niet altijd de tijd voor en nee dat niet nee. Er is geen bepaalde structuur waarbij je zegt dat is altijd voor dat iets wordt opgeleverd, spitten we elkaars code nog eens allemaal nog door. Dat Nee dat niet. [Wouter] Wat verwacht je zelf qua ontwikkelingen in de markt, en dan vooral op het gebied van PHP en security? Hoe kijk je daar zelf tegen aan? [Subject] Ja daar heb ik eigenlijk geen, geen echt duidelijke mening over. Ik ja, Dat zou ik zo niet weten. [Wouter] Ik kan misschien nog wel een voorbeeld geven, nou met PHP 6 wat er nou aan komt. Bijvoorbeeld safemode en dergelijke eruit Denk je dat dat een goede stap is voor PHP? [Subject]Ja ik, ik denk dat, PHP nooit helemaal de, de veiligheid kan garanderen van de applicatie die daar vervolgens mee geschreven wordt wat. Dat volkswagen een auto bouwt betekend nog niet dat ie niet om een lantarenpaal gevouwen wordt en dat is denk ik ook het programmeer werk zo, of dat nou PHP Perl of C++ of noem maar op is, je geeft of er is tenminste er is een laag waarmee je kan programmeren en ja, wat ze eigenlijk ook doen om het zo veilig mogelijk te houden. Ik denk toch dat uiteindelijk de programmeur er voor zorgt dat iets veilig is of niet. En dan uiteraard heb je bufferoverflows en dat soort zaken in PHP, en ja goed daar kan je als programmeur niet altijd of in principe nooit wat aan doen. Maar ja overige zaken ja, om een concreet voorbeeld terug te noemen als je safemode nou wel of niet aan hebt staan en je kunt alsnog een subquery maken in een query in een applicatie dan heeft dat alsnog weer geen enkele nut. [Wouter] En verwacht je dat PHP daarin anders is dan.. dan zijn concurrerende talen. [Subject] Nee absoluut niet. [Wouter] Ja dan bedankt voor je tijd en voor het gesprek
Interview 4
[Wouter] Zou je wat willen vertellen over jezelf en dit bedrijf? [Subject] Prima, ik zal bij het bedrijf [BEDRIJFSNAAM] beginnen, Ik ben een van de oprichters van [BEDRIJFSNAAM], dus ik weet er wel wat van. [BEDRIJFSNAAM] is een Java, gespecialiseerd in Java. Wij doen voornamelijk webapplicaties voor bedrijven die een unieke oplossing zoeken. Dus we hebben geen standaard producten, we hebben alleen maar maatwerk voor klanten en dat zijn ook eigenlijk wel de producten die voor dat bedrijf kritiek zijn dan kun je bijvoorbeeld denken aan, bijvoorbeeld [KLANTNAAM] die hebben een [KLANTNAAM] provider dat is een betaaldienst op internet. Dat is voor hun natuurlijk die software die dat doet is voor hun het meest kritieke wat ze hebben, Dat soort projecten dat draaien wij hier. Ook bijvoorbeeld voor [KLANTNAAM], dat heet tegenwoordig [KLANTNAAM]. die hele business unit is onderdeel van de [KLANTNAAM], die draait op die website, dus die website is van grootste belang voor die business unit zegmaar. Dat zijn de dingen die wij leuk vinden om te doen en dat soort type opdrachten, dus geen maatwerk, of precies maatwerk geen standaardoplossingen en dan ook nog iets wat bij voorkeur nog niet bestaat. [Marc] en dan ook nog steeds een beetje verschillende branches? [Subject] Ja we zitten niet in een specifieke industrie. je ziet wel dat we steeds meer bepaalde dingen steeds beter in worden. Media en Finance zijn we behoorlijk goed in, maar we hebben ook klanten uit de industrie. Daar ligt niet zozeer onze focus op. We zoeken meer echt de unieke ja specifieke. We zijn bijvoorbeeld ook bezig voor een vliegtuig maatschappij met een scheduling algoritme voor vliegtuigen en dat soort dingen [Subject] Ja dat is weer een hele andere tak van sport [Wouter]En iets over jezelf misschien [Subject] ja ik ben een van de oprichters van [BEDRIJFSNAAM], we zijn ontstaan vanuit de universiteit [PLAATSNAAM] vanuit het [AFDELINGSNAAM]. [Subject]Nou we hebben daar een projectteam gehad wat redelijk succesvol was. Dat klikte ook wel goed en acht mensen hebben toen eigenlijk besloten om door te gaan met dat team. Zo van hier moeten we wat mee.(...BEDRIJFSINFO...) [Subject] En in principe ja, ik ben nu nog samen over met [NAAM], das mijn collega die zit nu beneden die die is er ook nog. We zijn onderdeel van de [PARTNERNAAM] groep, inmiddels. De [PARTNERNAAM]groep is wat ze zelf zeggen de meest veelzijdige dienstverlener van Nederland. Het zijn ongeveer dertig verschillende bedrijven in veschillende takken van sport. Denk bijvoorbeeld aan communicatie dus reclame bureaus, Marketing, vormgeving, dat soort dingen, maar ook human capital, dus HR, personeel, er zit een engineerings bureau bij, er zit een juristen kantoor bij, Het zijn allemaal hele diverse bedrijven. Wij vallen onder de IT, de technology tak en wij zijn binnen [PARTNERNAAM] het Java bedrijf [Subject] En we hebben ook bijvoorbeeld een e-learning bedrijf, een .Net gespecialiseerd bedrijf, we hebben een bedrijf wat extra is gespecialiseerd in projectleiders, allemaal dat soort dingen. [Wouter] Een beetje bedrijven die elkaar allemaal aanvullen [Subject] Ja, ja, er zit dus geen concurrentie onderling. je hebt wel .NET versus Java, maar die markt is wel redelijk verdeeld. Dus het is meer samenwerken dan inderdaad concurreren binnen het bedrijf. [Marc] En werken jullie ook voor elkaar, dat je ook producten maakt voor elkaar of is het met zn allen voor de buitenwereld. [Subject] Beide komt voor, er is natuurlijk ook gewoon intern genoeg te doen. Dus hier worden bijvoorbeeld alle websites van de anderen niet-IT bedrijven gemaakt van de [PARTNERNAAM] groep. En dat doen wij dan, dat is een dienst die wij weer leveren. [Subject] Bijvoorbeeld, wij huren heel vaak een zusterbedrijf van ons in voor vormgeving en interactiedesign. [Subject] Bij zwaardere projecten huren we weer een projectleider in. Dus dat we lenen een beetje bij elkaar een beetje in de zin van wanneer het uitkomt. [Wouter] Welke opleiding heb je zelf gevolgd? [Subject] Ik heb technische informatica gedaan. [Wouter] Je noemde net zelf al het project met bijvoorbeeld Finance. Hoe belangrijk is security in dat soort projecten. [Subject] nou bijvoorbeeld [KLANTNAAM], dat gaat natuurlijk over geld, dat gaat over, ik weet tegenwoordig de aantallen niet meer hoeveel er heen gaat, maar dat zijn er behoorlijk wat. Zij zijn zegmaar in de Benelux expert op dat gebeid. Daar is security heel belangrijk, sterker nog daar moet je voldoen aan een bepaalde standaard. De PCI standaard, de payment card industry, dat is VISA en Mastercard, voornamelijk VISA, maar ook mastercard die hebben een serviceinvesteringstraject daar moet je aan voldoen. Dat komt natuurlijk ook, tja, zodra het over geld gaat is security een issue. Het andere project bijvoorbeeld is dat gaat over onderwijsconsulenten, leerlingen die moeilijk plaatsbaar zijn op een school dus dat is gewoon heel veel medische gegevens en dossiers, dat soort dingen dus dat betekend naja de wet Bescherming Persoonsgegevens daar krijg je mee te maken krijgt, ja medische dossiers, ja dat moet gewoon netjes afgeschermd zijn. Dus niet alle projecten zijn even gevoelig voor security aspecten, maar die twee toch zeker wel. [Wouter] Denk je dat het voor jullie als bedrijfzijnde een extra push is om met security bezig te zijn? [Subject] Ik denk dat het binnen [BEDRIJFSNAAM] is het eigenlijk, we zijn een IT bedrijf en we komen heel erg een groot gedeelte van ons komt van de universiteit [PLAATSNAAM] vandaan en een significant gedeelte vindt security, heeft dat ook als hobby als het ware zeg maar. En hoe ik het zie is, naja je krijgt de klanten die je verdient, omdat wij heel veel mensen hebben die geinterreseerd zijn in security, ja, op een of andere manier krijg je dan ook automatisch opdrachten heh, waar dat een belangrijk aspect is. omgekeerd dus ook, dus ze komen ook naar ons toe omdat wij dit soort opdrachten hebben. [Marc] Op jullie website had ik gezien dat jullie de software aan de klant open-source aanbieden. [Subject] Ja [Marc] Met security is dat natuurlijk ook wel belangrijk want er zijn dan ook andere mensen die kunnen proberen om daar gaten in te schieten. [Subject] Nou, kijk, open source is een beetje een vaag begrip. Wat open source heb je in twee varianten in mijn smaak. je hebt open source als in publiek domein. [Subject] Dat is niet zo zeer als wat wij per se willen. Daar hebben wij verder geen moeite mee, we gebruiken het heel veel, maar de software die wij maken die is meestal gebaseerd op open source producten. Die software leveren wij dan open source op onder de BSD licentie bijvoorbeeld aan de klant. En het is aardig van die klant als hij zegt aan die klant, ik gun het een publiek domein, geef dan is dat geen probleem. Maar met betrekking tot security, de open source producten die wij gebruiken, ja daar heb je dus het risico dat meer mensen daar iets in kunnen vinden. Een voordeel is, en dat zullen jullie ook weten, is dat er meer mensen naar gekeken hebben. [Subject] en dat je ook zeker weet dat het ook echt getoetst is, zeg maar. [Marc] Ja dat is mooi [Arjen] Onze eigen software, die wij dus op basis van die open source maken, die is dus niet noodzakelijk in het publieke domein. En dat geld hebben we niet. [Wouter] Wat zijn eignelijk de belangrijkste beveiligingsproblemen als het komt op webapplicaties versus gewoon klassieke desktop applicaties? [Subject] Nou het grootste probleem die ik altijd zie is niet zo zeer de applicatie maar meer de mensen daar achter maar als we specifiek gaan kijken naar web versus desktop eh is dat je geen controle hebt of veel minder controle hebt over de gene die daar achter zitten. Kijk bij een desktop applicatie jah, als iemand met zijn eigen programma zijn eigen pc om zeep kan helpen tja dat is niet zo spannend. Tja met een webapplicatie sta je gelijk open voor de hele wereld, dus je krijgt ook veel meer te maken met buitenlandse mensen waar je dus niet gewoon minder mee kunt o.a. juridisch, je hebt er geen ristrictie van. ten tweede is omdat je dus veel verder bloot staat aan de rest van de wereld en de technieken naja voor je zover je in de informatica over jonge technieken kan spreken. [Subject] Want informatica bestaat nog niet zo lang. Maar internet is nog veel jonger dan de rest. Als je ziet hoeveel veel frameworks er zijn, hoeveel programmeertalen er zijn, elk half jaar wordt er wel weer een nieuwe programmeertaal uitgevonden die het nog wel weer beter doet dan de andere. Nou dat geeft al aan dat geen enkel van die talen of frameworks gewoon goed is he? Je hebt ook ontzettend veel dieeten op de wereld. Dat komt omdat er geen eentje gewoon werkt. Door die diversiteit is het aan de ene kant dat is weer een voordeel want er is niemand die, als je bijvoorbeeld kijkt naar Windows, dat is een groot platform en dat is dus heel erg lucratief om iets voor te verzinnen, en dat is op internet gebied niet echt een taal heel erg dominant maar doordat het heel erg lucratief is, dus dat is weer het voordeel nou dus ja. Het het is zo makkelijk om een fout te maken zeker gezien de complexe situatie waar je vaak in zit. Het is ook vaak niet een component maar veel componenten en niet van een partij maar van verschillende partijen. En daar krijg je allemaal nieuwe dynamieken die ook desktop vroeger tenminste de oudere desktop applicaties die had je eigenlijk niet, het was een vendor die volledige controle over de omgeving. Dat is nu niet. [Wouter] Dus dan is het dan nog op gebied van security nog afwegingen om voor JAVA te kiezen dat is wat jullie nou hebben? [Subject] Ja, de security was een van de redenen om voor JAVA te kiezen. Dat waren er verschillenden. Ja als we puur naar security kijken dan De ontwerpbeslissingen die genomen zijn bij JAVA waren voor ons dan de eigenlijk de reden dus he bijvoorbeeld het verplicht afhandelen van exceptions maar ook een inherit security model wat er in zit. In ieder geval wat het uitstraald in 1999 was het zaten we op java 1.1. en ja dat was wel het ging de goede kant op maar dat was nog vrij onzeker. Maar in ieder geval de uitstraling die JAVA had, was van ‘he, we hebben hier wel over na gedacht’ he, dat komt ook een beetje uit de mobiele wereld he? Daar moeten programma’s he foutlozer zijn dan in de webwereld waar we allemaal elke dag een nieuwe versie buiten kunnen zetten en op een mobiele telefoon is dat een stuk lastiger. de correctheid van programma’s was veel belangrijker ingeschat met het ontwerpen van JAVA. En dat zie je dus aan allerlei dingen, bijvoorbeeld de verplichte exception afhandeling en het security model wat er in zit. Vrij uitgebreide en strakke cryptografische bibliotheken die er in zitten. Ik denk dat JAVA een van de weinige platformen is die SSL bijvoorbeeld zich wel aan de spelregels houd en dat levert dan ook weer wat andere problemen op, maar de rest doet dat niet ja. [Wouter] Ja oke, dan nog even over binnen de projecten. Is er binnen de projecten een vast budget voor security? Waar je rekening mee moet houden? [Subject] Nee. Naar individuele projecten zijn er wel vaak afspraken gemaakt over bepaalde dingen maar zo formeel dat het een apart budget is, is dat niet. [Wouter] En binnen het bedrijf zelf? [Subject] Nee, daar is geen apart potje om security onderzoek te doen of wat dan ook. We hebben een R&D potje zeg maar en daarmee onderzoeken wij van alles. Maar gewoon wat op dat moment relevant is. Dus dat kan Open ID zijn wat voor een programmeur erg interresant is, of toevallig zijn wel nu een onderzoek aan het uitbrengen met OpenID in combinatie met JAAA– JAVA Authentication en Autorisation API. Maar dat het heel erg specifiek op security gebied is, nee. Maar dat ligt ook heel erg aan de vraag van de klant. Wij zijn slechts de IT dienstverlener op dat gebied dus dat. Ja als je security wilt doen, dan moet je niet alleen maar naar de software gaan kijken, dat heeft geen zin. [Wouter] Wie is er verantwoordelijk voor de correctheid op het gebied van security van de een project [Subject] In principe is het gewoon de klassieke indeling die je hebt. Je hebt een klant, die geeft je een opdracht en die opdracht die wordt aangenomen door het bedrijf [BEDRIJFSNAAM]. [BEDRIJFSNAAM] heeft dan een projectleider aangewezen die het project moet gaan trekken en die is dus in principe eindverantwoordelijk op alle aspecten waar naar gekeken wordt en dat kan security zijn, maar dat hoeft niet per ce. Omdat op dat moment te leveren. Binnen [BEDRIJFSNAAM] kan zon projectleider kan dan beschikken over gewoon, heeft ie een bouwteam waar ie ook een beheerteam. Maar we hebben ook een een een ja een audit team, laat ik het maar even zo noemen, zo heel formeel zit dat niet dat hangt meer samen met het test team zeg maar maar. Die kunnen, zijn ook gewoon in staat om jah los van het ontwikkel team zeg maar security metingen te gaan doen. Ik zeg niet dat het het losse afdelingen zijn, want iedereen hier wisselt hier regelmatig van rol. Dus dan zit je in het beheer team dan in het testteam, dan gewoon ontwikkel team. Omdat dat je dus de hele tijd van rol wisselt kan het dus zijn. Iemand die ontwikkeld heeft ook wel eens beheer gedaan en ook wel eens in het test team gezeten en die weet dus gewoon waar die mensen op letten. Dus hopelijk, dat is ons idee daarbij, ga je dus tijdens het ontwikkelen er al rekening mee houden, he, dat je straks bijvoorbeeld getoetst gaat worden op SQL injection of dat soort dingen. [Wouter] Denk je dat dat ook belangrijk is voor de awareness? [Subject] Ja, nou ik denk, dat sowieso. Dat is eigenlijke reden waarom wij zoveel rouleren is de awareness creëren. We kijken iets verder dan alleen maar security he. We hebben bijvoorbeeld ook de beheeraspecten van hoe zit dat bijvoorbeeld met login dat hangt dan ook weer samen met security. Maar ook de schaalbaarheid en dat soort vraagstukken, dat zijn allemaal dingen die spelen. [Wouter] En is dat dan per project dan ook een vast proces waar je door moet lopen? [Subject] Nee. We hopen dat de awareness zeg maar in ieder geval voldoende is om de projecten een goede en gezonde basis te hebben. Daarnaast hebben we gewoon een test traject zeg maar. Afhankelijk van het type project kan daar dus een een versie of audit in zitten. Daar kan gewoon een security audit zitten. [Marc] Zitten er ook van die bedrijven binnen [PARTNERNAAM] die speciaal security audits doen? [Subject] Nee. Ik denk dat wij, hebben wel een systeembeheergroep zeg maar kantoorautomatisering en netwerkbeheer en dat soort dingen doet. Dus die hebben daar wel zeg maarwat kennis en als het echt over security gaat, dan zijn wij toch de aangewezen partij binnen onze groep. [Wouter] Wordt er binnen [BEDRIJFSNAAM] ook gedacht over beveilingswaarborging? Bijvoorbeeld de manier waarop bijvoorbeeld wordt omgegaan met beveiligingslekken. [Subject] Ja dat ligt er heel erg aan. Daar hebben we dus altijd al een product in productie is zeg maar en hoe we dan omgaan. We hebben een aantal klanten waar we een Service Level Agreement mee hebben. Daarvoor verzorgen wij dus ook de hosting van de website is het dan meestal. [Subject] Dat betekend dan ook dat wij elke dag eigenlijk in de logfiles kijken, van hé? Wat zijn nu de dingen die opgevallen zijn? Welke errors zijn er opgetreden. Die worden allemaal geanalyseerd van was dat eigenlijk wel een error of was dat gewoon een overijverige programmeur geweest zeg maar die daar een error van gemaakt heeft. Die worden allemaal nagelopen en opgevolgd. Dus dat, dat valt onder dagelijks beheer eigenlijk, daar komt dat dan terrecht. Wat daar dus ook bij hoort is dus het monitoren van systeemstatistieken en andere alerts voor zover die er zijn geweest ja. [Marc] Bij [KLANTNAAM], bijvoorbeeld, doen jullie dan ook achteraf weer een keer een audit voor de security? Of gaat dat meer in overleg met het bedrijf zelf? [Subject] Wat we daar doen is ooit gebouwd zeg maar. Daar wordt nog heel veel aan gedaan he. De laatste tijd doen ze ook heel veel zelf Daar hebben wij steeds minder controle over. Maar hoe het in ieder geval vroeger ging, zodra het project was afgelopen dan gaan we een hele hoop standaard tests er weer op los laten. En een keer in de zoveel tijd, moet eigenlijk door de creditcardmaatschappij gedicteerd dat je een externe audit moet doen. [Subject] En we hebben die ook wel eens gehad verwacht of onverwacht. Dat ligt er een beetje aan. Ja dat is maar afhankelijk van welke industrie je zit. Ik bedoel, ja onderwijs consulenten die zouden zich daar meer bewust van moeten zijn, maar ja die hebben daar niet een externe audit partij voor. [Wouter] Daar zijn geen strikte regels voor? [Subject] Nee. Er is wel wetgeving, maar die is niet zo concreet dat je een keer in het jaar een extern bureau moet laten auditen. Dat soort dingen, zo strikt is dat niet [Wouter] Hoe wordt er binnen het bedrijf gezorgd dat de kennisgeving met betrekking tot beveiliging op peil blijft? [Subject] Nou ja, een gedeelte lossen wij dus op door gewoon te roeleren tussen test teams en ontwikkelteams en beheer teams. en wat wij ook hier doen is een keer in de een, twee maanden hebben we een JAVA Only avond. Dat is eigenlijk een thema avond waarin we eigenlijk een soort kennis uitwisselen. Dus een aantal mensen uit de organisatie hebben een nieuwe techniek in een nieuw project gebruikt en daar kunnen ze dan een presentatie over geven. Regelmatig zie je daar dus bepaalde security dingen in terug komen. Binnenkort bijvoorbeeld openen we die dus in JAAS, daar zal geheid iets over geroepen gaan worden. En verder is het, wat nodig is voor, we hebben gewoon een interne en een externe WIKI. De interne is gewoon in met informatie daarop over hoe bepaalde dingen werken of binnen projecten. externe bijvoorbeeld [PRODUCTNAAM] waar heel veel informatie over staat gewoon wat voor iedereen beschikbaar is. Dus daar zetten we gewoon een hoop informatie op. Een van de meest bekeken artikelen daarop is volgens mij het artikel hoe je private keys in de JAVA Keystore kun krijgen. Dat kan officieel niet, want die moet je vanuit de KeyStore genereren. En dan kun je er wat uit halen, maar het is niet heel praktisch want soms krijg je gewoon een certificaat. Dus dat soort artikelen staan ook. Ja, wat doen we dan nog meer. Ja ik denk dat wel de belangrijkste punten zijn. [Wouter] En is er voor personeel ook ruimte om zichzelf te ontwikkelen? [Subject] Ja er is gewoon een een een opleidingsbudget binnen [BEDRIJFSNAAM], het is afhankelijk van waar iemand zich in wil ontwikkelen maar dat kan security zijn. Dus ja, geen probleem. [Wouter] Maken jullie binnen het bedrijf ook gebruik van source analyse tools? [Subject] Ja! Niet voor alle projecten maar bij een aantal projecten gebruiken we PMD en Findbugs ook wel eens daarbij. We hebben dat niet heel erg in beton gegoten zeg maar. het is wel iets wat we willen gaan doen. Een aantal projecten draaien er nu mee en daar is het eigenlijk ook gewoon de norm van “hé, we leveren niets op als daar nog dingen uit naar boven komen”. Maar we zitten ook gewoon met heel veel projecten eh die niet op die manier al ingericht zijn, dan heb je een hele inhaalslag te doen. En daar, ja daar zitten we gewoon nu mee. Het is wel iets wat we willen gaan doen, of wat we steeds meer willen gaan doen. En zeker voor nieuwe projecten gaan inzetten. Het hangt er ook vanaf van wat voor opdracht is het, gaat het om een online reclame folder zeg maar. Ja dat is allemaal leuk om dat eroverheen te gaan zetten maar, dat voegt heel weinig toe. [Wouter] Verwacht je verder nog ontwikkelingen op de markt of binnen het bedrijf qua security? [Subject] Nou binnen het bedrijf, ik denk wel dat het steeds meer geformaliseerd gaan worden, van he, als we dit soort type opdrachten doen. We gebruiken al standaard toolkits voor bepaalde dingen. Ik verwacht, en dat zal denk ik dit jaar nog wel zijn, dat duurt denk ik niet lang meer. Dat er een standaard ligt voor nieuwe projecten waar we of dit, of dat, en daar zal bijvoorbeeld PMD of FindBugs zal daar een onderdeel van gaan uitmaken. Als je kijkt naar de hele markt, jah, kijk het is een moeilijk onderwerp en ja. Het probleem is, er wordt alleen maar over gepraat als het fout gaat. Kijk je hebt nu, medische dossiers liggen op straat, ziekenhuizen doen het niet goed. Dat is geen nieuws, dat weet iedereen. Je hebt nou het elektronisch patiëntendossier, nou maken ze gewoon weer dezelfde valkuilen. Het is een heel lastig onderwerp. Security heeft heel vaak als gevolg dat bepaalde dingen moeilijker worden. Gewoon om het simpele feit dat je moet controleren wie je aan de lijn hebt, voor je een medisch dossier gaat faxen. Of dat ooit gaat verbeteren dat weet ik niet, het zou hoogstens kunnen veranderen als de techniek vooruit gaat, maar de techniek is nog veel te jong om nu iets heel groots, moois, he zo elektronisch patientendossier is hartstikke mooi om te willen hebben en theoretisch kunnen we het ook vast helemaal perfect in elkaar timmeren. Maar in de praktijk blijkt gewoon dat we dat het gewoon. Naja, informatica bestaat nou wat is het? 50 jaar? [Subject] En we zijn nog elke dag het wiel aan het uitvinden, dus. Wat dat betreft denk ik niet dat het. Nouja het zal geheid het komende half jaar weer een thema zijn. En dan weer een paar jaar niet en dan komt het wel. [Wouter] nou, bedankt voor je tijd. [Subject] Ja, geen probleem, leuk!
Interview 5
[Wouter]: Kunt u wat over uw zelf vertellen, wat is je eigen opleidingsniveau? [Subject]: Ik ben hier in 2000 begonnen bij [BEDRIJFSNAAM], rechtstreeks vanaf mijn studie, ik heb natuurkunde gestudeerd met een informatici afstudeer variant zeg maar. Ik heb een aantal programmeer vakken gevolgd. Tijdens mijn afstudeerstage heb ik veel geprogrammeerd en zodoende ben ik hier bij ingerold en ik werk er nou nog steeds. [Wouter]: Wat zijn je dagelijkse wekzaamheden? [Subject]: Officieel ben ik systeembeheerder, ik draai mee in de postmaster ronde. Binnen [BEDRIJFSNAAM] heeft toch iedereen zijn specialiteit, sommige zijn meer op de mail gericht andere windows ondersteuning en ja ik ben er een beetje naartoe gegroeid dat ik meer de ontwikkeling / onderwijs ondersteun. Er komen allerlei vragen vanuit [KLANTNAAM] met name bijvoorbeeld ze willen een portfoliosysteem voor studenten hebben er is geen budget er is geen tijd om daar echt lange aanbestedingstrajecten te doen ofzo dan komen ze bij mij terecht. De laatste paar jaren is eigenlijk de werkwijze vrij uitgekristalliseerd en ik kijk gewoon wat er is aan open source pakketten. Ik bied er een paar aan zeg maar van ‘lijkt je dit wat, is dat wat?’ en dan kiezen we een standaardpakket dan pas ik het aan nou ja omdat ik het wil aanpassen kies ik wat ik zelf fijn vind, is vaak dan PHP. Af en toe custom ontwikkeling als er dus geen echt pakketen zijn waarvan je zegt nou dat is alleen een beetje aanpassen dan probeer ik met eigen programmatuur op basis van het Zend-framework iets te maken wat we kunnen gebruiken. [Wouter]: Hoe groot is [BEDRIJFSNAAM]? [Subject]: Ja, krimpend. We waren ooit met een vrij grote groep ook die systeemontwikkeling deden. Van ouds her was dat het financiële systeem [PRODUCTNAAM] voor de bestellingen voor de financiën. Met de komst van [PRODUCTNAAM] grote concernsysteem is dat langzaam aan is gebouwd en ja nu 13 man volgens mij. [Wouter]: En hoeveel mensen zijn er van verantwoordelijk voor het bouwen en het onderhouden van systemen? [Subject]: Eentje. Ander half eigenlijk. Mijn collega doet af en toe nog wat verder meer intern voor [BEDRIJFSNAAM]. [Marc]: Moet jullie daar nog voor [PARTNERNAAM] overleggen? [Subject]: Nee het zijn vaak facultaire systemen. Sommige dingen zijn wel breder uitgerold zoals bijvoorbeeld [PRODUCTNAAM] wat ik gemaakt heb. Dat is een vak systeem, is nu een studentsysteem geworden. Word op alle [AFDELINGSNAAM] gebruikt. Maar ja goed dat is met de komst van een overall [PRODUCTNAAM] waar heel veel functionaliteiten in zitten waarschijnlijk blijft het wel bestaan maar in een kleinere vorm. Met het [PRODUCTNAAM] overleg wat wij hebben is een beetje bedoelt om overleg te creëren tussen verschillende [AFDELINGSNAAM] met het [PARTNERNAAM] erbij een beetje van onderaf want van bovenaf word er weinig gestuurd. Alle [AFDELINGSNAAM] zijn echt aparte wereldjes, dat is wel jammer, maar de proberen we wat aan te doen. [Marc]: Kun je terugvallen op support? [Subject]: Nee tot voor kort kon het überhaupt ook niet want ze deden helemaal geen PHP ontwikkeling, dotNet en Java. Er zitten een paar mensen van het [PARTNERNAAM] in het [PRODUCTNAAM] overleg, maar meer van met het idee nou wat is PHP, wat kun je ermee? We hebben er veel van gehoord word veel gebruikt in de wereld maar ze zijn van plan om daar iets mee te gaan doen. Om zelf applicaties er mee te ontwikkelen. [Wouter]: Weet je ook of er daar een reden voor is dat ze vooral dotNet en java doen? Met name security gerelateerde reden? [Subject]: Dat zou ik eigenlijk niet weten meer dat het [PARTNERNAAM] van ouds her toch een windows omgeving dan is .Net een logische reden. [Wouter]: Wat is je eigen ervaring met PHP, in samenwerking met beveiliging? [Subject]: Jammer van PHP is dat de naam een beetje onveilig is. Wat je ook vaak ziet is dat het voordeel van PHP dat het tegen PHP werkt. Het heeft een hele lage instap, als je bijvoorbeeld vergelijkt met java. Daar ga je niet als hobbyist aan beginnen, dat zie je toch vaak dat mensen java programmeren of vaak informatica gestudeerd hebben of echte programmeurs zijn die ook geleerd hebben van nou oke dan moet ik daar aan denken aan security dat en dat. En bij PHP programmeren zie je toch vaak de hobbyisten de postbodes die in Joomla iets doen. Dan zie je helaas ook vaak hele triviale security dingen in zitten register globals dat soort dingen. ja, dus dat was initieel wel een beetje wat hier eerst ook hadden het hing een beetje om PHP heen. Van lek dit lek dat. Ik ben zelf inmiddels van mening dat je PHP ook heel secuur kan opzetten als van te voren goed goed over nadenkt. [Wouter]: Wat denk je dan als je er niet goed over nadenkt wat de voornaamste beveiligingsproblemen zijn? [Subject]: Het niet goed afvangen van user input hé. Dat je SQL injection dat soort dingen krijg tuurlijk. [Wouter]: Dus echt de validatie? [Subject]: Ja. Dat hebben mensen die niet echt opletten hebben dat niet door. Van dat je bepaalde dingen niet kan vertrouwen dat je daar echt allemaal van ja, het valideren. [Wouter]: Je had het er straks heel even over dat er weinig budget is voor projecten. Is der binnen ontwikkeling van projecten wel een budget voor beveiliging? [Subject]: Er word niet apart afgesplitst. Der word vanuit gegaan dat bij [BEDRIJFSNAAM] iets maken of iets bouwen dat, dat inherent veilig is. Dat word in principe aangenomen. [Wouter]: En zit er ook een hoge beveiligingsgraad aan de programma’s? Is dat verschillend per programma? [Subject]: ja, dat ligt er dus aan he. Kijk wat ik zei, ik pak vaak een bestaand open source programma omdat ik dus vaak ook niet de tijd heb om alles helemaal zelf te maken dan is het vaak handiger om een groot pakket te pakken en die aan te passen. En dat hangt er vaak vanaf hoe goed dat pakket is opgezet. Je kan je bijvoorbeeld voorstellen dat er aan mij gevraagd een bepaalde website met extra dingen dan ga ik bijvoorbeeld beginnen met Joomla. En dan maak ik een extensie in joomla ofzo die dan de functionaliteit bied. Je bent afhankelijk hoe secure Joomla in elkaar zit. Daar is vaak wel een en ander aan de hand in Joomla. Dus ja, dat hangt er een beetje vanaf. [Wouter]: Zorgen jullie ook zelf voor het beheer van die omgeving? [Subject]: Ja. Wij proberen wel als je het bijvoorbeld hebt over Joomla op dit moment niet goed geregeld maar er zijn een aantal Joomla en Mambo installaties die mensen zelf op de afdeling zelf hebben geïnstalleerd en wij willen graag dat het eindelijk op één server draait. Die meerdere sites kan draaien zodat wij dus ook van tijd tot tijd kunnen updaten. Want dat gaan mensen zelf tuurlijk niet doen. Dat is iets wat in de toekomst gaat gebeuren. [Wouter]:Uhm, gebruik je voor het testen van de software ook analyse tools? [Subject]: Nee, maar ben erg in geïnteresseerd. [Wouter]: Is er een vast ontwikkelproces? [Subject]: Wat wij wel hebben is in ieder geval gescheiden omgevingen. Wij zijn echt een productie omgeving, testomgeving en ontwikkelomgeving. Met security is op zich wel, de ontwikkelomgeving is redelijk goed afgeschermd staat open voor één of twee ip-nummers bedoelt alleen vanaf de ontwikkelaar de pc. Testomgeving ja is bedoelt voor de gebruikers om oordeel te geven over van al, ‘dit is ongeveer hoe het eruit komt te zien, wat vindt je ervan? Werkt het een beetje?’ Is vaak alleen binnen de [BEDRIJFSNAAM] toegankelijk, [BEDRIJFSNAAM] domein. Productieomgeving afhankelijk van soort applicatie, binnen de [BEDRIJFSNAAM] alleen of voor de hele wereld. Ja, dat is wel een beetje de normale gang van zaken je gaat niet iets wat algemeen toegankelijk is ontwikkelen zeg maar. Terwijl je bezig met authenticatie zeg maar ja dan kan iedereen daar naar binnen en klooien dat is natuurlijk niet handig. [Wouter]: En zijn er nog speciale eisen waar je moet voldoen als iets bijvoorbeeld alleen binnen de [BEDRIJFSNAAM] moet of wereldwijd toegankelijk moet zijn? [Wouter]: Een bepaalde authenticatie eisen of iets dergelijks misschien gebruikers? [Subject]: Nee, gaat gewoon op ip-nummer. 10.128 reeks, het is een computer die op het netwerk zit. [Wouter]: Wie is er binnen het bedrijf verantwoordelijk voor de veiligheid van de code? Is dat de ontwikkelaar zelf? [Subject]: Er zijn geen verschillende petten van mensen die zeg maar. Bedoel ik ja, ik zou graag willen ja vroeger waren we met meerdere mensen is ech wel leuk dat je elkaars code kunt beoordelen dat is ook veel beter pair programming, vind ik echt geweldig maar in je eentje is dat lastig. Ja, is slecht, je schrijft code ja je hebt liever dat iemand anders dat beoordeelt en andersom ook dat je zelf code beoordeelt die iemand geschreven heeft. Maar ja, dat is helaas hier niet… [Marc]: Zijn die authenticatie eisen formeel vastgelegd zeg maar? Die verantwoordelijkheid? [Subject]: Nee [Marc]: Dat word weer impliciet verondersteld? [Subject]: Op een gegeven moment kan er gezegd worden van dit moet voor de hele wereld toegankelijk zijn. Veranderd het ook zo maar. [Wouter]: Hoe word er omgegaan met het melden van beveiligingslekken? [Subject]: Ik moet je eerlijk zeggen dat we weinig dingen over krijgen. Het is vaak van hé de applicatie werkt niet of ik kan niet inloggen dat natuurlijk wel. [Marc]: Is er een vast meldpunt zeg maar voor voor mensen als mensen dingen tegenkomen? En word het dan intern doorgespeeld? [Subject]: Ja, het gaat dan naar de postmasters toe en dan waarschijnlijk komt dat wel bij de ontwikkelaar terecht maar dat soort klachten krijgen we eigenlijk nooit. Niet dat het er niet is zeg maar. [Wouter]: en fouten die jezelf vind in software die je gebruikt? Dus in open source paketten? [Subject]: Ja, in principe bugs die we vinden melden we terug. Fixen die lokaal meteen. Ja bijvoorbeeld Joomla een lek heeft in die versie dan proberen we zo snel mogelijk die dingen te upgraden naar nieuwste versies. [Marc]: Hoe vaak komt zoiets voor dat je iets vindt? In een pakket van hun? [Subject]: Nou het zijn wekelijks een stuk of 5 gemiddeld security meldingen van alle software die wij beheren dat zijn niet alleen webapplicaties maar kan ook matlab zijn of firefox of zich wel meer dan vijf. Redelijk veel maar ja, zijn een aantal dingen die bij systeembeheer bijvoorbeeld firefox dient geüpgrade worden doen ze bij systeembeheer Soms bij een webapp. Komt het vaak op mijn bordje terecht. [Wouter]: Het zijn dus bekende bugs, die vanaf buiten worden gevonden? [Subject]: Ja [Wouter]: We hadden het al over PHP mailinglijst in [PRODUCTNAAM]. Welke bronnen worden nog meer gebruikt om kennis over beveiligingen… [Subject]: Als ik naar mijzelf kijk, ik heb een rss reader en ik ongeveer 60 feeds die ik regelmatig bijhoudt. Dus niet allemaal programmeren gerelateerd zeg maar ook gewoon nieuws. Maar wel heel veel. [Subject]: Oja, in fysiek volg ik meer algemeen webdev dingen zodat gaat over security [Subject]: Uh, ja er zitten ook dingen bij die gaan over security. Ik lees heel veel van dat soort dingen. [Marc]: Maar dat is vooral denk ik nieuws als er iets mis gaat? [Subject]: Het zijn dingen van het kunnen ook algemene dingen. Exploits die je kunt verzinnen. Laatst eens gelezen dat ja in plaats van hoe noem je dat sql injection gewoon met met normale code zeg maar dat zeg maar gewoon een soort page 64 string kan worden geencodeerd en kan er heel veel tussen lagen zeg maar dat dan weer automatisch decoderen en dan heb je toch sql injection zonder dat dat geescaped is bijvoorbeeld doordat er slashes tussen staan dat soort dingen. Dat is een algemeen dingetje specifiek voor PHP is maar ja het is nie echt eigen ontwikkeling. [Marc]: Zou je dat wel graag willen? Eigenlijk. Dat bijvoorbeeld je dat soort cursussen kan volgen? [Subject]: Ja! Dat zou mooi zijn. ja, het moet een beetje moeilijk de meeste cursussen die ik gevolgd heb de laatste waren niet echt nuttig laat ik het zo zeggen. Ik zit op een bepaald niveau zeg maar en meeste cursussen richten op beginners met PHP, beginnersniveau. En ja ,weinig wat echt dat op expert niveau aansluit van oke hier kan ik nog een paar stappen maken wat dat betreft. [Wouter]: Wat zou je zelf nog graag verbeterd willen zien binnen het bedrijf? Op het gebied van security? [Subject]: Nou wat wij proberen te bereiken met dat [PRODUCTNAAM] overleg dat er een soort standaardisatie plaats gaat vinden op het gebied van de framework, wat hopelijk gaat gebeuren. Of eigenlijk al aan het gebeuren is. Waardoor je meer gebruikt kan maken van mekaars kennis en code en dat dan ook een standaard manier gaat ontstaan van zo ze je de applicatie op en vandaar uit ook ook standaard manier van filtering, valideren en al die informatie. [Marc]: Misschien ook pair programmeur als je dat misschien met [PARTNERNAAM] samen zou kunnen doen. [Subject]: Ja. Code onderling. [Wouter]: En tot slot wat verwacht je qua ontwikkeling in de markt op het gebied van beveiliging? [Subject]: Ja, het zal wel meer aandacht krijgen ik denk dat je merkt ook wel een beetje dat PHP toch wel meer richting enterprise gaat zeg maar, PHP 5 object georiënteerd en ook zeker security leeft wel echt. In PHP 6 gaan ze ook echt heel veel dingen verbeteren register clones gaat eraf, kan je gewoon niet meer aanzetten is gewoon redelijk regioreuze stappen die ze gaan nemen om de security te verhogen. [Wouter]: En denk je dat dit ook de security ten goede komt? [Subject]: Jazeker, je moet het niet meer mogelijk kunnen maken dat je het zo makkelijk fout kunt doen zeg maar. [Wouter]: Maar dat zal de niveau van instappen wel verhogen. [Subject]: Ja. Vind ik niet verkeerd hoor. Ja dat is zeker wel een punt ja. Het vergt wel enige kennis, het is niet helemaal waar tuurlijk als je bepaalde dingen kun je net op een andere manier aanbieden zeg maar dat het net zo makkelijk kijken is als op de goede manier. Sommige dingen zullen wel lastiger zijn maar daarvoor geldt dat meeste mensen googlen wat en dan komen ze ergens op een site terecht en dan copy paste die code snappen eigenlijk niet waar ze mee bezig zijn. Als er dan een goed verhaaltje staat je moet het eigenlijk zo en zo doen dit afvangen copy pasten ze die code dan hebben ze het op een goede manier gedaan snappen ze nog niet waar ze mee bezig zijn. Het zal eerder wat transitie problemen geven maar voor mij is dat wel beter ja. [Marc]: Nee, eigenlijk niet. Heb jezelf misschien nog vragen / opmerkingen? [Subject]: Een van de dingen die ik bij [PRODUCTNAAM] probeer in te brengen is niet dat het alleen maar om PHP gaat. Een van de ontwikkelingen die je zet is is veel meer richting services en koppelen van allerlei dingen, cloud computing noem maar op. Daar zal in de toekomst veel meer gebruik van worden gemaakt waar je programmeert is eigenlijk niet meer zo belangrijk het gaat meer om de de koppelen van allerlei systemen en services die je hebt. Daar zal ook redelijk security dingen je bedoelt, je ziet bijvoorbeeld in de google API dat je uh toestemming kunt geven aan bepaalde sites om gebruik te maken van bepaalde informatie die je hebt bij een andere site zeg maar. Dat zal steeds meer gebeuren. Toevallig gister nog iets gelezen van Aurora heet het volgens mij toekomst visie hoe een browser over vijf jaar, tien jaar kan gaan werken. Geïntegreerd in je hele digitale omgeving eigenlijk dus je koppelt daar je amazon informatie je wishlist, je je gps informatie dan word in één keer ‘hé je bent vlakbij een boekhandel’ waar dat boek ligt enzo Zijn allemaal dingen die allemaal misschien wel wil maar beetje privacy gevoelig en security gevoelig. Daar zal denk nog de komende paar jaar flink aan moeten gebeuren en dat heeft niet zozeer te maken met PHP, java, dotNet omgaat. [Subject]: Privacy hangt er mee samen ook. Leuke ontwikkeling komen de periode op het gebied van webapplicaties. [Wouter]: Oke. Nou bedankt voor je tijd in ieder geval. [Marc]: Ja, bedankt
Getagde interviews
Interviews voorzien van eerder aangegeven tags.
Interview 1
[Wouter][1a]: Wat is je opleidingsniveau, werkervaring en welke functie werk je op dit moment? [Subject]: Ik heb mijn [OPLEIDINGSNIVEAU]HBO-informatica afgerond[/OPLEIDINGSNIVEAU] en ik ben nu bezig met mijn Master aan de universiteit, software constructing. Waarbij ik ook Security vakken ga volgen maar die heb ik nog niet gehad. [Wouter][1c]: En wat is je functie? [Subject]: Ik werk als [FUNCTIE]software developer[/FUNCTIE] bij [BEDRIJFSNAAM]. [Wouter][1b]: Wat is je ervaring met PHP en / of andere ontwikkeltalen in samenwerking met security? [Subject]: Mijn ervaring met programmeertalen is [ERVARING]PHP, C#, .Net[/ERVARING] en met betrekking tot Security heb ik cursussen gehad over de [CURSUS]top 10 aangedragen problemen door de OWASP groep. [/CURSUS]Die heb ik ook in de praktijk gebracht bij verschillende software ontwikkel projecten. [Wouter]: Ben je verder nog bekent met OWASP? [Subject]: Alleen van naam en hun top 10. En die gebruik ik zelf altijd als leidraad als ik bezig ben met softwareprojecten. [Wouter][3]: En wat is volgens jou het beveiligingsprobleem met webapplicaties ten opzichte van desktop applicaties? [Subject]: [SECURITYPROBLEEM]Authenticatie[/SECURITYPROBLEEM] is een probleem, het grote probleem. Je weet niet zeker wie de andere kant van de lijn is, althans dat wil je zeker weten. En het andere is dat je moet kijken of persoon is wie hij zegt dat ie is, dat ie ook toegang heeft tot dingen die ie wil doen, [SECURITYPROBLEEM]Verificatie[/SECURITYPROBLEEM]. [Subject]: En probleem is dat je natuurlijk bij webapplicaties mensen een heel eind verderop hebt dus je krijgt ook problemen als [SECURITYPROBLEEM]man in the middle attacks[/SECURITYPROBLEEM] en dergelijke. [Wouter][4]: Hoe groot is het bedrijf waar je werkt? [Subject]: [BEDRIJFSEIGENSCHAP]Een paar honderd man. Maar de softwareafdeling is vier man[/BEDRIJFSEIGENSCHAP]. [Wouter][5]: Welke webapplicaties, webgerelateerde producten zijn er binnen het bedrijf? [Subject]: Zijn verschillende, grootste koepelproject is [PRODUCTNAAM] daar zitten zeg maar verschillende onderdeeltjes onder. En dat is iets om bouwtoezicht mogelijk te maken voor de [PRODUCTEIGENSCHAP]opzichters die kunnen controleplannen beheren, projecten bijhouden, logboeken op beheren en dergelijke zaken.[/PRODUCTEIGENSCHAP] [Wouter]: Is alleen voor intern gebruik? [Subject]: [PRODUCTEIGENSCHAP]Momenteel wel[/PRODUCTEIGENSCHAP], [VERWACHTING]ze willen dat gaan uitrollen uiteindelijk.[/VERWACHTING] [Wouter]: Oke, dus dan word het ook externe bedrijven gebruikt. [Subject]: Dat is wel de bedoeling maar zover zijn ze op het moment nog niet. [Wouter][6]: Is daar bij dat project een budget voor het ontwikkelen van speciale security, gereedschap? [Subject]: [BUDGET]nee.[/BUDGET] [Wouter]: Helemaal niet? [Subject]: Helemaal niet. [Wouter][8]: Wordt er gebruik gemaakt bij het testen van projecten of analyse software voor detecteren van beveiligingslekken? [Subject]: ja. Maar [TOOL]niet speciale tools[/TOOL], dat is meer van [METHODE]on-the-fly[/METHODE] en meer [PROCES]algemeen software testen[/PROCES] of het werkt, als het werkt dan zijn ze snel tevreden. Dus geen speciaal budget, voor specifiek security. [Wouter]: Er word ook niet specifiek getest op security, gewoon of het werkt? [Subject]: [WEETNIET]Nee, niet dat ik weet.[/WEETNIET] [Wouter][9][9a]: Is er een vast proces voor het ontwikkelen en met name security? [Subject]: Voor het ontwikkelen van software op zich wel dat is een redelijk [PROCES]gestroomlijnd iets met betrekking tot feature requests [/PROCES]die toegevoegd gaan worden. Er word ook [PROCES]een deel van de software geoutsourced en dat word dan geïmplementeerd en dan word dat getest.[/PROCES] Dan gaan ze verder kijken naar problemen. Specifiek voor security doen ze wederom weinig. [Wouter][10]: Is ter nagedacht over beveiligingswaarborging? Dus is er iemand verantwoordelijk? [Subject]: [WEETNIET]Ik denk dat er wel iemand verantwoordelijk voor is. [/WEETNIET]Maar ik denk dat het voornaamste probleem is dat ze [AWARENESS]gewoon de gevolgen van slechte beveiliging niet hebben ondervonden. [/AWARENESS] [Subject]: [VERANTWOORDELIJKHEID]Dat er dus nooit iemand is geweest die die verantwoordelijkheid heeft hoeven dragen. [/VERANTWOORDELIJKHEID] [Wouter]: Weet je ook of er problemen zijn gevonden in het verleden qua beveiliging? [Subject]: [WEETNIET]Volgens mij niet.[/WEETNIET] Zullen ongetwijfeld wel gevonden zijn maar dat ze zullen opgelost zijn met algemene bugfixes. [Wouter]: Maar dat wordt gewoon intern opgelost? [Subject]: [VERANTWOORDELIJKHEID]Wordt gewoon intern opgelost door de softwareontwikkelaars.[/VERANTWOORDELIJKHEID] [Wouter][11]: En wie is binnen het bedrijf of binnen de afdeling verantwoordelijk voor de code? Is dat de ontwikkelaar? [Subject]: Voor de code specifiek is dat inderdaad [VERANTWOORDELIJKHEID]de ontwikkelaar [/VERANTWOORDELIJKHEID]zelf. Samen met iemand die iets meer sturing geeft aan het project. [PROCES]Er is zeg maar een programmeur, iemand die de design kant doet en de communicatie met de rest van het bedrijf.[/PROCES] Er is een [VERANTWOORDELIJKHEID]leidinggevende[/VERANTWOORDELIJKHEID] die dan de verantwoording draagt voor het geheel van het project. Maar die is niet specifiek betrokken bij de code ontwikkeling. [Wouter][12]: Hoe word er omgegaan als er beveiligingslekken worden gevonden? worden die gerapporteerd aan de ontwikkelaar zelf of worden die bij elkaar gevoegd? [Subject]: [PROCES]Ja we hebben een [TOOL]bug reportingtool[/TOOL] maar er word ook mondeling gecommuniceerd met de programmeur.[/PROCES] [Wouter]: Oke. En eindgebruikers kunnen direct bugs aandragen? [Subject]: [PROCES]Ja, kunnen ze wel maar dat word weinig gedaan.[/PROCES] Omdat de eindgebruikers niet heel ICT-vaardig zijn. [Wouter][13]: En welke bronnen worden binnen het bedrijf gebruikt om de kennis van beveiliging bij te houden? [Subject]: [WEETNIET]Uh, durf ik niet zo te zeggen. [/WEETNIET] [BRONNEN]Dat is meer aan de ontwikkelaars zelf om daar persoonlijk over up to date te blijven.[/BRONNEN] [Subject]: Het bedrijf zelf geeft daar geen sturing in. [Wouter]: Nee, er is geen ruimte voor het volgen van opleidingen? [Subject]: Geen opleidingen, [CURSUS]gewoon cursussen[/CURSUS]. [Wouter][14]: Dan nog iets over het toekomstbeeld. Hoe word er voor gezorgd dat het kennisniveau met betrekking van beveiliging op pijl blijft? [Subject]: [CURSUS]Dat is de verantwoordelijkheid van de ontwikkelaar zelf.[/CURSUS] [Wouter]: Dus die moet daar dus zelf achteraan? [Subject]: Ja. [Wouter][15]: Wat verwacht je zelf qua ontwikkeling op de markt? Zie je verbeterpunten voor jezelf en voor het bedrijf zeg maar om dit te bevorderen in de toekomst? Of het is niet nodig? [Subject]: Nou ik denk wel dat het nodig is dus het zou goed zijn als het bedrijf wat meer [AWARENESS]bewust zou worden van problemen [/AWARENESS]dat ze daar [VERBETERPUNT]meer moeite in steken [/VERBETERPUNT]en dat ze op zijn minst de mogelijkheid bieden. Ook al is dat de ontwikkelaar [CURSUS]zelf die op mogelijkheid heeft om op een beveiligingscursus te kunnen gaan[/CURSUS]. [Wouter]: Meer centraal vanuit het bedrijf zeg maar? [Subject]: Mja. Ik vind ook dat het bedrijf [VERBETERPUNT]meer moet pushen naar sowieso alle kwaliteitspunten te waarborgen.[/VERBETERPUNT] En dat de verantwoordelijkheid, tuurlijk moet ie ook bij de programmeur liggen maar dat het bedrijf best meer initiatief in zou kunnen nemen. [Wouter][8]: Dan tot slot nog wat over source analyse tools. Ben jij daar mee bekent? Heb je daar wel eens van gehoord? Gebruik je zelf misschien ook? [Subject]: Zoals…? [Subject]: [TOOL]code coverage?[/TOOL] [Wouter]: Ja [Subject]: Dergelijke. Ja, ken ik. [Wouter]: En heb je dat wel eens gebruikt? [Subject]: [METHODE]Ja, regelmatig. In ieder geval de code coverage tool.[/METHODE] Maar dat je als je vrij complexe systeem werkt en je breid hem uit en breid hem uit, moet je sowieso kijken of je niet op een gegeven moment niet overbodige code laat hangen je wilt testen of het werkt, je wil [PROCES]je oude tests kunnen blijven runnen zodat je niet nieuwe bugs introduceert met je vorige bugfix dergelijke.[/PROCES] [Wouter]: Ja dat was het. Bedankt voor je medewerking. [Subject]: Oke, graag gedaan.
Interview 2
[Subject][5] Wij zijn vooral bezig met de [PRODUCT]content management system[/PRODUCT]en, die heet de [PRODUCTNAAM]. En met content management heb ik het over het [PRODUCTEIGENSCHAP]beheren van content op een website, plus extra functionaliteit, zoals login accounts, misschien intergratie met een ander systeem. [/PRODUCTEIGENSCHAP] Wat je typisch krijgt bij een klant, is dat ze al een ander systeem hebben, een databasesysteem, dat ze ook op een website willen publiceren. Dus intergratie met backend systemen, het product [PRODUCTNAAM], is binnen [BEDRIJFSNAAM] op een aparte afdeling ontwikkeld. Daar werk ik, aan het product, dus we maken een product en dat product wordt ingezet bij [BEDRIJFSNAAM] en bij zn Partners. We hebben een aantal partners en we zijn bezig om meer partners te recruiten zeg maar, om het product te gebruiken en in te zetten bij hun klanten. Dus dat is eigenlijk de productstrategie, plus een project; je hebt een grote project afdeling, want we waren oorspronkelijk gewoon puur projecten en toen, toen hebben we een soort van product ontwikkeld en nu is dat product echt af… [Wouter] doorontwikkeld al? [Subject] Doorontwikkeld.. en ja, los van de projecten zelf, eerst was het een beetje chaotisch.. [Wouter] en was dat dan ook echt de opzet van het product, of was het dan ook echt ook een product gemaakt om voor een project, maar later bleek het zo handig dat het toch groter is ingezet toch? [Subject] In het begin wel [BEDRIJFSNAAM] is tien jaar of elf jaar oud Maar in het begin, ja, was het een soort content management systeem wat niet goed genoeg was voor een bepaalde klant en het volgende project was extra dingen, extra functionaliteit toe te voegen, zo ontstaat zon product, maar er waren er toen geen echte versies van het product. [METHODE]Maar later hebben wij echte versies gemaakt en toen kreeg je zeg maar projecten en de code en het product zelf. [/METHODE] Want ja het is gewoon niet te doen als iedereen een andere versie heeft en eigen serparate code beheerd. [Wouter] [4]En hoe groot is [BEDRIJFSNAAM]? [Subject] We zitten volgens mij [BEDRIJFSEIGENSCHAP]rond de 130, 140 werknemers [/BEDRIJFSEIGENSCHAP], want dat was de doelstelling, boven de honderd. We hebben een kantoor hier in [PLAATSNAAM] [BEDRIJFSNAAM] was eerst een groep studenten van de universiteit. [Wouter] van [PLAATSAAM] ook? [Subject] Ja, en de basis ook uit [PLAATSNAAM], maar nu hebben wij ook een kantoor in [PLAATSNAAM], die zijn bezig met klanten, projecten in regio [PLAATSNAAM], dat is belangrijk natuurlijk. We hebben nu ook een kantoor in [PLAATSNAAM], die zijn vooral bezig met projecten bij de overheid en die soort organisaties. publieke sector. [Wouter][1c] Wat is jou eigen rol? Ben je vooral ontwikkelaar, of? [Subject] Ik ben vooral [FUNCTIE]ontwikkelaar, engineer, [/FUNCTIE] dus ik werk aan het product zelf, betrokken bij het maken van nieuwe versies van het product. [Wouter] Ja, je bent zelf toch ook al heel erg bezig met security he? [Subject] Ja. [Wouter] Tenminste hier binnen [BEDRIJFSNAAM] [Subject] Ja, eigenlijk wel, is niet echt super formeel zeg maar, maar ik was wel iemand die de kennis had. [Subject] en die ging roepen ja dat is een probleem die moet je oplossen, dat soort dingen, dus ik heb een beetje impliciet die rol gekregen om zo bezig te zijn. [Marc] [1a]Wat is je eigen achtergrond dan als ik vragen mag, wat heb je hiervoor gedaan voor ? [Subject] [OPLEIDINGSNIVEAU] Ik heb eerst mijn degree gedaan,in Melbourne. [/OPLEIDINGSNIVEAU] [Subject] En toen kwam ik naar Nederland in die tijd, dat is tien jaar geleden [Marc] En toen? [Subject] [ERVARING]Ik heb bij [BEDRIJFSNAAM] gewerkt [/ERVARING]en toen ging ik terug naar Australia, daar heb ik ook een soort web achtige dingen gedaan, een soort content management dingen en toen kwam ik terug naar Nederland en nu werk ik bij [BEDRIJFSNAAM]. Eerst was het meer projecten, toen kwamen aparte afdeling en nu werk ik aan het product zelf. [Subject] maar nu ben ik hele tijd hier min of meer bezig met [ERVARING]content management en web applicatie systemen[/ERVARING]. [Wouter] En welke talen werken jullie hiermee? Tenminste werkt het content management systeem mee of werk je zelf mee? [Subject] Nou kijk, [PRODUCTNAAM] zelf was door een aantal studenten hebben speciaal vierde generatie systeem gemaakt. Die heette [PRODUCTNAAM] en was een template taal, persistent object database die werkt gebruikt om [PRODUCTNAAM] daar zelf bovenop te bouwen. Die taal zelf is nu een legacy systeem. En de laatste 5 jaar zijn we vooral bezig om dat eruit te halen en over te stappen op [BEDRIJFSEIGENSCHAP] JAVA,[/BEDRIJFSEIGENSCHAP] Dus nu hebben we eigenlijk ontzettend veel java plus wat oude [PRODUCTNAAM] code. Maar, het is oorspronkelijk een soort applicatie die draait op een andere soort persistent databases en generation, generation template system [Wouter] En het doel is dus om het helemaal op Java te baseren [Subject] Ja om over te stappen op [BEDRIJFSEIGENSCHAP]Java One[/BEDRIJFSEIGENSCHAP], dat taaltje [PRODUCTNAAM] is niet, is bedoeld voor het afdrukken van HTML eigenlijk. Niet voor het maken van een geen eigen taal. Dat is het hele probleem, daarom zijn we overgestapt naar mediale technologiën. [Marc] Is dat ook vooral omdat het platform onafhankelijk is of is het echt alleen…? [Subject] Nee, de [PRODUCTNAAM] zelf was in Java geschreven, dus die was al platform onafhankelijk. Net als Java. Maar, ja dan zit je met een klein wereldje. En als je iets wil gebruiken ja dan moet je het zelf implementeren of intergreren en dat doe je niet. Java zit vol libraries en ander systemen. [Wouter][3] Over beveiliging zelf zeg maar. Wat wat vindt je zelf het beveilingsprobleem wat je hebt met webapplicaties ten opzichte van gewoon klassieke desktop applicaties, hoe zie je dat zelf? [Subject] Het eerste verschil is dat. [SECURITYPROBLEEM]Een webapplicatie die is op het internet, die is altijd bereikbaar door vrijwel iedereen die ook een internet connectie heeft[/SECURITYPROBLEEM], dat is een mega verschil tussen webapplicatie en desktop applicatie. [SECURITYPROBLEEM]Webapplicaties hebben typisch niet maar een instanties van die applicatie, iedereen heeft een eigen kopie en bij webapplicaties heb je verschillende gebruikers gelijk met verschillende security niveaus’s / permissies en dat soort dingen en bij desktop applicaties heb je dat niet zo zeer[/SECURITYPROBLEEM]. [AWARENESS] Desktop applicaties zijn typisch iets wat een persoon gebruikt en dat is een ander soort security dan operating systems. [/AWARENESS] [Subject] Dus ja, Webapplicaties is toegankelijk, overal beschikbaar op het internet, en je hebt ook echte gebruikers maar ook een gebruiker klasse vol andere mensen of andere aanvallers die daarmee willen hacken of iets naars moet doen. [Subject] Dus bijvoorbeeld meer het gebruikers aspect met permissies en dat soort dingen plus dat het dan open is voor iedereen. [Wouter][5] En zijn er nog andere applicaties of webgerelateerde producten die [BEDRIJFSNAAM] aanbied, naast het content management systeem? [Subject] [PRODUCTNAAM] is een content management systeem maar ook [PRODUCTEIGENSCHAP]een soort platform [/PRODUCTEIGENSCHAP]waarop je extra modules kunt bouwen en inpluggen, dus integratie met bijvoorbeeld YouTube ofzo een extra component. Een VCB noemen we dat. [Subject] en die kun je zo inpluggen, het is dus een uitbreidbaar platform. [Wouter] En en hoe verschilt zo’n module dan bijvoorbeeld met het hoofdsysteem qua beveiliging? Komen daar nog andere dingen bij kijken? Omdat je dus ook externe bronnen hebt? [Subject] Als je een VCB maakt, een van die componenten, dan krijg je sowieso redelijk veel dingen gratis qua security. [METHODE]We hebben mechanismes om formulieren te beveiligen zodat mensen niet zo snel waardes in HTML formulieren kunnen aanpassen.[METHODE] Gekke dingen doen. Je krijgt er dus ook een soort [PRODUCTEIGENSCHAP]security framework omheen.[/PRODUCTEIGENSCHAP] Dus ja dat is wel een verschil [Marc]Zit er ook een bepaalde security tussen de modules en het platform opzich, dat die module zich moet authenticeren of dat ie weet dat het een echte [BEDRIJFSNAAM] module is, of is het de bedoeling dat andere mensen ook uitbreidingen kunnen maken die met je platform kunnen communiceren. [Subject] [PRODUCTEIGENSCHAP]Het is wel de bedoeling dat andere mensen die modules kunnen maken[/PRODUCTEIGENSCHAP]. De SDK zelf staat op ehh de [BEDRIJFSNAAM] [DOMEINNAAM]. Die kun je gewoon downloaden, maar het installeren van een module doet de systeembeheerder of de applicatiebeheerder zelf, dus ik ga er even van uit dat die persoon niet stoms gaat inpluggen. [Wouter] Dus die is daar eigenlijk verantwoordelijk voor dan? [Subject] [VERANTWOORDELIJKHEID]Ja, eigenlijk wel. [/VERANTWOORDELIJKHEID][AWARENESS] En ook binnen het systeem sowieso is het niet echt mogelijk om java code af te schermen van ander java code binnen een VM, dus dat gebeurd niet echt. [Subject] Met reflectie kun je zoveel verschillende dingen doen. Dingen ook die eigenlijk niet mogen.[/AWARENESS] [Wouter][7] Is er binnen het project ook een budget voor specifiek voor beveiliging? [Subject][BUDGET]Nee[/BUDGET] [Wouter] Dat zit gewoon in het globale budget? [Subject] [PROCES]We hebben 12 maanden geleden een extra ontwikkelslag gedaan, om wat beveiligingsproblemen te identificeren en op te lossen.[/PROCES] We zijn daar echt een soort ontwikkelingstraject binnen het product. [PROCES]Maar er is geen formeel systeem of systeem voor checks die wij uitvoeren, formeel is het niet geregeld.[/PROCES] [Marc] Hebben jullie daar nog mensen van buitenaf voor ingeschakeld? Om de beveiliging te controleren? [Subject] [VERANTWOORDELIJKHEID]Nee, dat doet eigenlijk de ontwikkelaars zelf, of ik, zeg maar de andere mensen die meer handig zijn met security.[/VERANTWOORDELIJKHEID] Maar klanten bij de grote klanten die we hebben bij grote projecten zetten soms wel wel eens af en toe een derde partij in security checks op de website. [Subject] Dat gebeurd wel af en toe [Subject] Maar die qualtiy checks zijn vooral ter geregeld van password authentic, Je vangt alleen de meest voor de hand liggende problemen op. En typisch met dat soort qualtiy checks zijn ze bezig met bekende problemen bij andere systemen of software. Aangezien [PRODUCTNAAM], ja we zijn vrij groot in Nederland maar niet in de zin van de wereld zelf zijn vrij specifieke checks voor [PRODUCTNAAM]. Die zijn vooral op zoek naar generieke problemen of bekende problemen [Wouter][11] Wie is er dan verantwoordelijk voor de code die je oplevert. Is dat de ontwikkelaar zelf of is dat degene die dat later nog controleert of test. Zoals je al zei niet elke ontwikkelaar is even, hoe zeg je dat, geïnteresseerd in de in de security. Dus waarschijnlijk dat andere mensen het testen, maar wie is er dan verantwoordelijk voor? [Subject] Dat is eigenlijk een algemene quality issue, want we hebben wel Q/A maar die zijn niet gericht op security natuurlijk maar op Q/A in het algemeen, dus. [VERANTWOORDELIJKHEID]Zelf is de ontwikkelaar verantwoordelijk voor de kwaliteit van het product.[/VERANTWOORDELIJKHEID] [Wouter][8] Wordt er verder nog gebruik gemaakt van speciale tools, zoals bijvoorbeeld Fortify, ik weet niet of je daar bekend mee bent? [Subject] ja die ken ik, ja volgens mij zijn er niet zoveel tools die echt de problemen kunnen opvangen voor dingen zoals cross side scripting en dat je vooral juist [METHODE]de code leest[/METHODE] denk ik, dan kun je wel vrij makkelijk die problemen opsporen, als je gewoon de code leest. Soms is dat het gewoon de beste manier om die problemen op te vangen. [Wouter] Dus dan wordt er alleen maar echt door personen gecontroleerd, dus en niet geautomatiseerd [Subject] [BEDERIJFSEIGENSCHAP]Niet geautomatiseerd nee.[/BEDERIJFSEIGENSCHAP] We hebben ook een aantal [METHODE]guidelines[/METHODE]. Voor als je bijvoorbeeld iets doet met SQL, dan moet je altijd prepare statements gebruiken, in plaats van dat je een SQL query samenstelt voor permissies. Voor als mensen dat doen dan heb je vrij weinig kans op een SQL injection probleem bijvoorbeeld, dus dat is wel belangrijk dat je met de mogeleikheid rekening houd, zo dat ze de juiste API’s gebruiken. In plaats van via internet. [Wouter]En worden die guidelines regelmatig bijgesteld? Of hoe wordt dat precies bijgehouden? [Subject] Dat ligt meer bij projecten dan bij product, dat is ook niet echt super formeel geregeld. Nu weet iedere ontwikkelaar dat je altijd prepare statements moet gebruiken in plaats van SQL. Dus als iemand dat niet doet dan wordt dat wel gezien. [Wouter]Dus dan wordt die daar wel op aangesproken? [Subject]Ja [Marc] Is het gebruikelijk dat jullie elkaar ook een beetje controleren ook in die zin? Dat je bij collega’s kijkt of die dat inderdaad niet vergeten is? De prepare statement bijvoorbeeld? [Subject]We hebben in het product [PROCES]een ploeg die werkt maintainance en een andere die nieuwe dingen aanmaakt en ontwikkeld buiten het aanmaken van nieuwe dingen[/PROCES], voordeel van het ontwikkelen van nieuwe dingen is dat je vooral ook als coder dus redelijk vaak te maken krijgt met meer dan één paar ogen. [Subject]Maar in Maintaince, alles gaat via een [TOOL]Issue tracking systeem,[/TOOL] dus als je iets oplost wordt een patch gemaakt dan krijgt de patch een review door iemand anders, dus daar zit wel een review process in. [Subject]In maintainance dus dat is wel belangrijk. [Wouter] Dus de security wordt eigenlijk gewaarborgd door dat er altijd twee paar ogen naar kijken. [Subject] Ja, security en andere qualiteits dingen [Wouter][12] Je zei zelf al er is een bug tracking systeem? [Wouter][12] Als een klant een bug vind in een applicatie, hoe gaat dat dan in zijn werk? [Subject] [PROCES]Wat een klant eigenlijk eerst moet doen is even kijken even zoeken in het systeem of er al een issue is gemeld over dat probleem en als dat is niet, dan gaat die een issue aanmaken en informatie submitten.[/PROCES] [Wouter] Oke, en daar kan de klant ook gewoon zelf bij? En de klant kan ook gewoon kijken wat er bugs zijn? [Subject] Ja, het system is nu wel open [Wouter][13] Hoe wordt er binnen het bedrijf gezorgd dat de kennis over beveilig bij de ontwikkelaars up to date blijft? [Subject] We hebben [CURSUS]een aantal avonden gehouden voor de ontwikkelaars [/CURSUS] over veschillende thema’s. Security is ook een thema die af en toe komt, heel soms. [BEDRIJFSNAAM] heeft ook hoe zeg je dat, wij hebben een platform bedacht en die willen wij eigenlijk verkopen aan onze partners en daar hebben wij ook trainingen voor de partners die dingen ontwikkelen en ook gewoon trainingen in het algemeen voor de normale gebruikers. We hebben laatst een security training gemaakt, die wordt over een week of twee gelanceerd de user training. [Wouter] Oke [Subject Dit kunnen we gebruiken en natuurlijk ook [CURSUS]onze eigen ontwikkelaars op de training zetten.[/CURSUS] En ook als je begint als engineer bij [BEDRIJFSNAAM] dan krijg je ook [CURSUS]twee weken trainingen over hoe werkt het product en dat soort dingen.[/CURSUS] [Wouter] En daar zit een deel security in? [Subject] [VERBETERPUNT]Nee, nog niet maar, dat wil ik ook zien [/VERBETERPUNT] en als wij die security training voor elkaar hebben dan is dat vrij makkelijk toe te voegen aan het programma voor de nieuwe ontwikkelaars. [Marc][14] Mogen jullie ook zelf trainingen volgen binnen [BEDRIJFSNAAM]? [Subject] Ja [Marc] En dat je dan bijvoorbeeld kiest voor een bepaalde security training, is dat een optie? [Subject][CURSUS]Iedereen heeft een trainingbudget [/CURSUS]dat kun je besteden aan allerlei trainingen voor whatever. En als je security wil doen, is dat wel mogelijk. [Marc]Maar er zijn geen verplichtingen in de zin van dat het wenselijk is dat iemand die cursus heeft gevolgd? [Subject] Nee, de meeste mensen hier hebben die JAVA certificering gedaan. [Wouter][15] Dan wou ik nog wat vragen over het toekomstbeeld van security, wat verwacht je zelf van de ontwikkelingen in de markt waar jullie product actief is qua security? Denk je dat er in de toekomst veel andere gevaren komen waar jullie wel of niet berekend zijn? [Subject] Ja dat kan altijd gebeuren natuurlijk. Ja het is een beetje lastig om de toekomst te voorspellen, ja. [Wouter]Maar? [Subject] [PRODUCTEIGENSCHAP]In het product zelf kunnen wij best wel wat dingen problemen oplossen zoals met sessies.[/PRODUCTEIGENSCHAP] Wij managen dus een eigen sessie ...... Dat is door een derde partij ontwikkeld dus dan krijg je een hoop dingen gratis en ook een extra stukje beveiliging zoals tampering met formulieren dat soort dingen en sessie beveiliging en logging / locking mechanismes. Dus door de derde partij, worden er een hoop dingen voor jou geregeld en ik schat dat in de toekomst elk wat meer dingen in het platform oplossen. [Wouter]Dus dat is ook meer preventief zeg maar, dus mocht er in de toekomst iets met sessies mis gaan dan? [Subject] Ja, dan hebben wij meer kans om dat in het product op te lossen [Wouter][16] We hebben het er al een beetje er over gehad, maar wat zie je zelf een beetje als verbeterpunten voor jezelf en binnen het bedrijf voor security. Dus bijvoorbeeld de trainingen die je zelf al aangaf. [Subject] [VERBETERPUNT]Ja die trainingen zouden echt fijn zijn,[/VERBETERPUNT] want de meeste mensen zijn zich niet echt bewust genoeg van hoe makkelijk het is om een security probleem te maken of te veroorzaken, hoe simpel en hoe klein die problemen kunnen zijn en hoe groot het effect, de gevolgen kunnen zijn. En het wordt altijd onderschat, je hebt maar een klein regeltje code die heel onschuldig is, maar als iemand anders een ander idee heeft wat je kunt doen met dat regeltje, dan is dat al een groot security probleem ook al is de ontwikkelaar zelf zich niet bewust is van wat de mogelijkheden zijn. [Marc] Maken jullie ook de gebruikers bewust, van hun eigen verantwoordelijkheid? Bijvoorbeeld van, jullie mogen het password niet weggeven of dat soort dingen? [Subject]Wij niet, niet bij product (Productie) natuurlijk. Ik neem aan dat de trainingen over de gebruiker zelf ook iets zeggen over wat je moet doen met je password en dat soort dingen. [Subject] In dat aspect is [PRODUCTNAAM] niet zo anders dan alle andere websites. Dat je inlogt met je wachtwoord en username, ja dan scheelt het niet zo veel. [Wouter] Ik weet niet of jij nog vragen hebt, of dat je zelf nog iets hebt? [Subject] Ja ik werk vooral aan [PRODUCTNAAM](Productie) dus ik heb niet zo veel te maken met projecten of de backend intergraties. Dus ik vraag mij af of het interessant is voor jullie om iemand te interviewen die wel bij projecten werkt en die ook integratie doet. [Marc] Om dat de security daar een grotere rol speelt volgens jou? [Subject] Ja het is wel interessant als je de koppeling moet maken tussen de website en het andere backend systeem of een database, dan heb je [SECURITYPROBLEEM]meer kans op cross scripting problemen[/SECURITYPROBLEEM] en dat soort dingen. [FUNCTIE]Ik ben vooral bezig met HTML en vormgeving, dat soort dingen van het product zelf.[/FUNCTIE] Ik heb jaren jaren lang geen vormgeving code geschreven, dus, ja [Wouter]Ja misschien dat dat wel iets is voor ons om voor een vervolg onderzoek op toe te passen dus inderdaad te kijken waar in een bedrijf nou het de belangrijkste rol speelt in het ontwikkelproces. [Subject] Ja dat is ook wel belangrijk, want dan ben je aan het spelen met de gegevens van jou klant. En de echte jah de businessdatabase en de gegevens van eindklanten. Daar staat wat meer op het spel. [Wouter] Nou dat was het dan verder, bedankt voor je tijd in ieder geval [Marc] Dank je wel
Interview 3
[Wouter][4][5] Kun je in het kort vertellen waar je werkt. Iets over het bedrijf en iets over de producten? [Subject] Ik werk in een bedrijf van, even kijken, van totaal werken wij met [BEDRIJFSEIGENSCHAP] 7 man waarvan totaal 4 in de techniek[/BEDRIJFSEIGENSCHAP] . We houden ons eigenlijk bezig met [PRODUCT] webapplicaties [/PRODUCT] en dat in het breede zin van het woord. Dus van een [PRODUCT] beeldbank tot een website tot en met een verkoopplatform voor producten [/PRODUCT] waar mensen gezamenlijk bij elkaar komen om producten in het groot af te nemen en dat soort zaken eigenlijk. Dus webapplicaties ja, in het breedste zin van het woord, eigenlijk [Wouter] en welke omgeving en taal [Subject] Dat is eigenlijk alleen [PRODUCTEIGENSCHAP] PHP [/PRODUCTEIGENSCHAP] Zo dat is eigenlijk ons enige taal waar wij in werken, heeft ook meerdere redenen, we hebben ook Perl et cetera er nog bij gehad maar PHP is gangbaarder is is eigenlijk wel door iedereen te lezen en aan te passen. [Wouter][1a][2] Okee, Wat is je eigen opleidingsniveau? En je werkervaring op het gebied van webontwikkelen [Subject] Ik heb gewoon [OPLEIDINGSNIVEAU] MBO Technische informatica[/OPLEIDINGSNIVEAU] gedaan en daarin is vrij weinig besteed aan PHP en daarna ben ik eigenlijk gewoon, ja, [ERVARING] ik werk nou 3 jaar om en nabij in de PHP[/ERVARING] . Omdat ik eigenlijk meegegroeid met het bedrijf, en ja aldoende leert men en op die manier ben ik ja goed wat het niveau is, dat weet ik eigenlijk niet precies, dat kan ik niet daarin uitdrukken. Maar stel dat ik er al 2 en half, 3 jaar mee werk ja dat wel [Wouter] Qua werk hoe, hoe kom je in aanraking met beveiliging? [Subject] Zuiver op PHP gebied of? [Wouter][1b] Ja! Dus in ieder geval met met webdevelopment. [Subject] Ja, goed in hoeverre ik in aanraking kom met beveiliging, je houdt rekening met hoe zaken vooral met bijvoorbeeld [SECURITYPROBLEEM] MySQL injection [/SECURITYPROBLEEM] hoe kun je voorkomen dat mensen zaken kunnen plaatsen in je database dat je niet wilt wat überhaupt sowieso niet de bedoeling is en je zorgt ervoor dat [SECURITYPROBLEEM] een website die een bepaalt recht heeft binnen MySQL dat ie niet het recht heeft om bijvoorbeeld om de complete database te dumpen[/SECURITYPROBLEEM] te kunnen of etcetera. Dus je zorgt ervoor, wat ik in mijn in de praktijk voor mij security betekend is [SECURITYPROBLEEM] zorgen dat er eigenlijk geen misbruik gemaakt kan worden [/SECURITYPROBLEEM] van platform dat je maakt en dat het de rechten waarom dat allemaal draait dat het eigenlijk niet meer rechten heeft dan het nodig heeft. [Wouter][3] Is dat volgens jou ook het grootste beveiligingsprobleem van een applicaties? [Subject] Ik denk persoonlijk dat het grootse probleem is dat het de query’s et cetera die gedraaid worden naar MySQL wel of naar welke database server dan ook, die vaak niet, of de input daarvan niet voldoende gecontroleerd wordt. Dat je door middel van het het setten van quote-jes als nog een query binnen een query zelf kan draaien. En Ja eigenlijk [SECURITYPROBLEEM] de input waarvoor het bedoelt is teniet kan doen[/SECURITYPROBLEEM] , persoonlijk denk ik dat daar het grootse gevaar in schuilt. [Wouter][6] Heb je nog, verschillen tussen de applicatie onderling die jullie zegmaar op het gebied van veiligheid? [Subject]Of wij verschil maken tussen wanneer iets groter wordt of iets kleiner is, nee denk dat we eigenlijk bij alles proberen omdat zo dicht mogelijk te houden. Waarom eigenlijk? Omdat als je een een ja, qua budget gezien een minder project hebt, maar het draait wel op jou server. Dus op het moment dat daar iets mee mis gaat, of [SECURITYPROBLEEM] men krijgt toch iets voor elkaar om in een omgeving terecht te komen waar ze niet horen, ja dan waarover dan hebben andere omgevingen daar ook last van[/SECURITYPROBLEEM] . Dus dat staat eigenlijk allemaal dicht. En zelfs omgevingen die wij die wij inmiddels van een ander bedrijf hebben overgenomen die draaien niet eens op onze eigen productieserver, dat houden we ook weer apart, in een andere omgeving. Waar daar zoveel mogelijk proberen om in ieder geval alles wat bij ons gedraaid wordt, eigenlijk onze productieomgeving, wordt helemaal doorgespit voordat wij het daar gaan opplaatsen anders wordt het ergens anders fysiek neergezet [Wouter] Maar jullie draaien al jullie eigen producten ook op onder eigen beheer? [Subject] Ja, alles. [Wouter][7] Je had het al eventjes over budget, is er een, apart budget voor security? [Subject] [BUDGET]Nee.[/BUDGET] [Wouter][11] Hoe gaat het qua verantwoording om de security, wie is er verantwoordelijk voor de de veiligheid van de producten? [Subject] Ja eigenlijk dat deel waar eventueel problemen zich in voordoet daar is [VERANTWOORDELIJKHEID] de gene die die dat heeft gemaakt[/VERANTWOORDELIJKHEID] , die dat heeft geprogrammeerd, die is daar eigenlijk voor verantwoordelijk voor alleen je bent wel met zijn allen, ja iedereen heeft ook een controlerende taak en je probeert mekaar wijzer te maken en eigenlijk daar allemaal in te groeien en zorgen dat het product uiteindelijk beter wordt. Ja goed, d’r is echt 1, 1 verantwoordelijkheid naar de buiten wereld, dat is in feite degene die het verkoopt, [VERANTWOORDELIJKHEID] de kartrekker die is uiteraard verantwoordelijk naar de buitenwereld toe[/VERANTWOORDELIJKHEID] , dat wel. Alleen intern dan ja dan is het eigenlijk degene dat deel dat onderdeel heeft gemaakt. [Wouter][10] En vindt er nog iets van een kwaliteitcontrole plaats? Qua security op het moment dat een product, vrijgegeven wordt? [Subject] [PROCES] Nee. Der is niet nog een keer weer dat er nadat iets is opgeleverd, alles is gecontroleerd[/PROCES] , alles is getest, door meerdere personen is getest dan is het niet de situatie waarbij wij nog een keer een extra test is voor voor security. Nee [Wouter][9] zit dat wel in het normale proces? In het normale test proces? [Subject] [AWERENESS] Nee, er wordt niet echt extra daar nog een keer weer gekeken naar hoe veilig is het product nee[/AWERENESS] . [Wouter][8] Zijn jullie, of ben je zelf, bekend met source analyse tools toevallig? Op security? [Subject] Ja, maar we hebben, ik heb het zelf nog [PROCES] nooit eerder in de praktijk toegepast[/PROCES] . [AWERENESS] We zijn wel op de hoogte dat die zaken bestaan[/AWERENESS] . [Joost] Waarom heb je dat niet gedaan? [Subject] omdat ik uiteindelijk een uitvoerende functie heb, dus ik krijg van, om het maar even zo te noemen, [BEHEER] van boven af krijg ik een opdracht dat moet gemaakt worden, binnen een bepaalde tijdspan[/BEHEER] en daar is gewoon echt geen ruimte voor om nog eens een keer dat soort zaken allemaal nog te gaan uitvoeren en uit te zoeken hoe bepaalde zaken precies werken. wellicht wanneer dat wel draait en je hebt het door dan is het snel is het waarschijnlijk is het vrij snel toe te passen. Alleen ja in alles, dat moet ik er ook bij zeggen, de onderneming waarin ik nou werk is groeiende dus, [VERBETERPUNT] wellicht dat binnen nu en 6, 7 maanden wel[/VERBETERPUNT] de situatie zou kunnen zijn, alleen op dit moment is dat nog niet de situatie. [ Joost] Je zou dat wel graag zien, dat dat de situatie wordt of, in ieder geval dat er meer aandacht aan besteed wordt? [Subject] Nou wanneer bijvoorbeeld [VERBETERPUNT] uit een rapport ziet dat het absoluut bijdraagt aan de kwaliteit van een product, ja dan zeer zeker[/VERBETERPUNT] , ja. Alleen dan is er niet van, dan ben ik niet degene die uiteindelijk zegt van we gaan het nu doen. Ik ben wel iemand die dat kan aankaarten, en dan is het [BEHEER] afhankelijk van bovenaf of daar feitelijk ook tijd vrijgemaakt wordt want in feiten is tijd geld [/BEHEER] en dat, ja goed, daar ga ik dan niet over, ik ga niet over waarin geïnversteerd wordt. [Wouter] En wat denk je dat dan de uitkomst van en of de bijdrage van zo’n programma zou moeten zijn om het implementeerbaar te maken? Binnen het bedrijf? Om het zelf terug te laten verdienen? [Subject]Nou om zich terug te laten verdienen, dat is lastig, en dat is ook lastig voor mij dan weer om intern te verkopen naar bovenaf, want ik zolang het goed blijft gaan, is der nooit een reden om zo’n zoiets te gaan doen. En en zal daar ook niet 123 tijd voor gemaakt worden. Als ik een heel simpel voorbeeld mag noemen, [AWERENESS] vorig week is een server gekraakt van een bedrijf waar wij, mijn chef dan ook een deel wat mee te maken heeft en toen dat zegmaar aan het licht kwam dat daar mensen op zaten die daar niet op thuis hoorden, toen was in een keer tijd en ruimte genoeg om te zorgen hoe dicht zit eigenlijk alles bij ons[/AWERENESS] . Dan is er in een keer alles wakker geschud en dat wordt er in een keer tijd gemaakt voor allerlei zaken, om na te denken, door te lopen. He om zolang er nooit security problemen hebben dat het nooit er zaken aan het licht komen waarbij er je gegevens uit een database kan lezen of in een database kan zetten of waar dan ook uit of doormiddel van een webapplicatie, dan zal de noodzaak daarvan ook minder snel, ja dan dan denk ik, beseft wordt. En vooral omdat de mensen minder technische zijn, die uiteindelijk gaan over wat er technisch gedaan gaat worden. [Wouter][12] Hoe wordt er binnen het bedrijf omgegaan met beveiligingslekker die al dan niet door derde worden geconstateerd? [Subject] Ja ,eigenlijk hebben we die situatie… [WEETNIET] Dat durf ik niet te zeggen[/WEETNIET] , want omdat we in de praktijk die situatie nog niet hebben gehad, maar ja, ja mocht het dat wel aan het licht komen, mijn persoonlijke reactie zou zijn, gelijk eigenlijk wat het is, wat die gene heeft gevonden, en dan uiteraard proberen op te lossen. En wanneer er aantoonbaar ergens een lek in zit, dan wordt er ook gegarandeerd tijd voor gemaakt, dat weet ik heel zeker. [Wouter] Maar er is geen vaste procedure voor? [Subject] [PROCES] Nee absoluut niet, nee[/PROCES] . Dat is er niet. [Joost]Zou je daarvoor de procedure die je nou hebt, hebben jullie nou al een procedure voor andere algemene problemen of andere request ofzo bugs, als een klant dat ziet van een schermpjes scheef ofzo of het werkt niet in een bepaalde browser [Subject]Ja, dat gaat eigenlijk gewoon in een [TOOL] ticketomgeving[/TOOL] [Joost] En dat systeem zou ook gebruikt kunnen worden voor security of zou je daar denk je een ander systeem voor nodige moeten hebben? [Subject]Nee ik denk dat wij ook op dit moment niet een grote hebben waarbij je, ja we zijn vrij klein en dat maakt niet dat je een groot log bedrijf bent, dat heeft nadelen maar ook voordelen en ik denk dat er [PROCES] een telefoontje binnenkomt of een mail binnenkomt of iets in die geest binnenkomt waarbij je uit een probleem is helemaal als een beveilingsprobleem is in een omgeving, in een webapplicatie dan weet ik zeker dat daar tijd voor vrij is gemaakt[/PROCES] . [Joost] Dus dan wordt het gelijk opgepakt? [Subject] Ja, absoluut. Alleen als je vraagt is er een bepaalde procedure ja dan das dan de procedure, ga er maar mee beginnen en zorg dat het goed komt. [Joost] ja, tis gewoon eigenlijk dat het nog niet vaak genoeg is voorgekomen? [Subject] [BEDRIJFSEIGENSCHAP] Zelfs helemaal niet, Ik heb in de 2 jaar dat ik nou voor dit bedrijf werk heb ik geen enkele keer gehad dat een klant of iemand anders met een securityprobleem naar ons toe kwam[/BEDRIJFSEIGENSCHAP] . Dat niet. Uiteraard met andere problemen, cross-browser compatibiliteit, ja goed uiteraard dan, dan hoe hoeveel energie je daar in steekt dat zul je altijd wel eens een keer houden dus dat is, daar ontkom je eigenlijk niet aan. [Wouter][15] Je had het daarstraks al even aangegeven dat het bedrijf groeiende is, Wat is is jouw toekomst beeld, voor het bedrijf zegmaar kwa security. Denk je dat er meer aandacht aan besteed, je gaf zelf aan wellicht dat er over een tijd wel veranderingen op het spel staan. [Subject] Ja [WEETNIET] weet ik niet[/WEETNIET] , omdat ik ik weet niet hoe mijn collega’s daar mee precies hmm mee bezig zijn en ik zeg ook absoluut niet dat er luchtig over nagedacht wordt, absoluut niet. Alleen ja, ik heb daar niet zo uitgebreid over nagedacht, zoals we er nu over hebben, of we hebben het wel eens over hoe moet je bepaalde he welke functies moet je gebruiken om te zorgen dat ze geen quote-jes kunnen gebruiken, even heel erg in de praktijkgericht dan, daar hebben het wel over, maar goed niet een heel gesprek over hoe veilig is onze applicatie. Moeten we dat misschien wel doen? [VERBETERPUNT] Ja, wellicht daar valt inderdaad misschien wel in bepaalde winst in te behalen[/VERBETERPUNT] . Alleen, ja, ik kan er niet zo in vooruit kijken want dan zou het, ik weet niet hoe collega’s in tegen overstaan of daar van bovenaf daar tegenaan gekeken wordt. [Wouter] Die gesprekken bijvoorbeeld over welke functies je het beste kunt gebruiken. Documenteren jullie dat of iets degelijks? [Subject] [PROCES] Nee dat is in de informele sfeer, dus dat wordt er gewoon gediscussieerd en ja dan zit je met 2 3 man soms 4 en dan wordt er gesprek gevoerd over wat je moet doen en waarom moet je dat doen[/PROCES] , dat is wel niet dat de 1 aangeeft van zo moet het en dat is het… Er wordt even na gekeken d’r wordt informatie over opgezocht waarom en hoe dat precies zit. Ja afhankelijk daarvan wordt dan een keuze gemaakt. [Wouter][14] Is het ook jullie eigen verantwoordelijkheid om up-to-date te blijven van security problemen? [Joost] Of van de individuele ontwikkelaar? [Subject] Nee dat is eigenlijk onze eigen verantwoording, [VERANTWOORDELIJKHEID] Jij programmeert dus jij zal daar ook van op de hoogte van moeten zijn[/VERANTWOORDELIJKHEID] . Je bent zelf eigenlijk verantwoordelijk voor dat deel dat je maakt. en je bent in feite niet verantwoordelijk voor andermans werk, alleen ja, je controleert elkaar wel. Ja daarin geef je alleen opbouwende kritiek, dat is eigenlijk de praktijk, van waarom we bepaalde zaken misschien eventueel verkeerd doet of hoe het sneller of beter kan. En dat ook op het gebied van veiligheid. [Wouter] En gebeurd dat structureel dat controleren? Of is dat gewoon af en toe? [Subject] Nee dat is eigenlijk, nee dat is sowieso [METHODE] ook de code zelf, controleren van elkaar[/METHODE] , ja dat is ook niet altijd de tijd voor en nee dat niet nee. Er is geen bepaalde structuur waarbij je zegt dat is altijd voor dat iets wordt opgeleverd, spitten we elkaars code nog eens allemaal nog door. Dat Nee dat niet. [Wouter][15] Wat verwacht je zelf qua ontwikkelingen in de markt, en dan vooral op het gebied van PHP en security? Hoe kijk je daar zelf tegen aan? [Subject] Ja daar heb ik eigenlijk geen, geen echt duidelijke mening over. Ik ja, [WEETNIET] Dat zou ik zo niet weten[/WEETNIET] . [Wouter] Ik kan misschien nog wel een voorbeeld geven, nou met PHP 6 wat er nou aan komt. Bijvoorbeeld safemode en dergelijke eruit Denk je dat dat een goede stap is voor PHP? [Subject]Ja ik, ik denk dat, [VERWACHTING] PHP nooit helemaal de, de veiligheid kan garanderen van de applicatie die daar vervolgens mee geschreven wordt[/VERWACHTING] wat. Dat volkswagen een auto bouwt betekend nog niet dat ie niet om een lantarenpaal gevouwen wordt en dat is denk ik ook het programmeer werk zo, of dat nou PHP Perl of C++ of noem maar op is, je geeft of er is tenminste er is een laag waarmee je kan programmeren en ja, wat ze eigenlijk ook doen om het zo veilig mogelijk te houden. Ik denk toch dat uiteindelijk de programmeur er voor zorgt dat iets veilig is of niet. En dan uiteraard heb je bufferoverflows en dat soort zaken in PHP, en ja goed daar kan je als programmeur niet altijd of in principe nooit wat aan doen. Maar ja overige zaken ja, om een concreet voorbeeld terug te noemen als je safemode nou wel of niet aan hebt staan en je kunt alsnog een subquery maken in een query in een applicatie dan heeft dat alsnog weer geen enkele nut. [Wouter] En verwacht je dat PHP daarin anders is dan.. dan zijn concurrerende talen. [Subject] [VERWACHTING] Nee absoluut niet[/VERWACHTING] . [Wouter] Ja dan bedankt voor je tijd en voor het gesprek
Interview 4
[Wouter][4][5]: Zou je wat willen vertellen over jezelf en dit bedrijf? [Subject]: Prima, ik zal bij het bedrijf [BEDRIJFSNAAM] beginnen, Ik ben een van de oprichters van [BEDRIJFSNAAM], dus ik weet er wel wat van. [BEDRIJFSNAAM] is een Java, [BEDRIJFSEIGENSCHAP]gespecialiseerd in Java.[/BEDRIJFSEIGENSCHAP] Wij doen voornamelijk [BEDRIJFSEIGENSCHAP]webapplicaties voor bedrijven die een unieke oplossing zoeken.[/BEDRIJFSEIGENSCHAP] Dus we hebben geen standaard producten, we hebben [BEDRIJFSEIGENSCHAP]alleen maar maatwerk [/BEDRIJFSEIGENSCHAP] voor klanten en dat zijn ook eigenlijk wel de producten die voor dat bedrijf kritiek zijn dan kun je bijvoorbeeld denken aan, bijvoorbeeld [KLANTNAAM] die hebben een [KLANTNAAM] provider dat is een betaaldienst op internet. Dat is voor hun natuurlijk die software die dat doet is voor hun het meest kritieke wat ze hebben, Dat soort projecten dat draaien wij hier. Ook bijvoorbeeld voor [KLANTNAAM], dat heet tegenwoordig [KLANTNAAM]. die hele business unit is onderdeel van de [KLANTNAAM], die draait op die website, dus die website is van grootste belang voor die business unit zegmaar. Dat zijn de dingen die wij leuk vinden om te doen en dat soort type opdrachten, dus geen maatwerk, of precies maatwerk geen standaardoplossingen en dan ook nog iets wat bij voorkeur nog niet bestaat. [Marc]: en dan ook nog steeds een beetje verschillende branches? [Subject]: Ja we zitten niet in een specifieke industrie. je ziet wel dat we steeds meer bepaalde dingen steeds beter in worden. [BEDRIJFSEIGENSCHAP]Media en Finance [/BEDRIJFSEIGENSCHAP] zijn we behoorlijk goed in, maar we hebben ook klanten uit de industrie. Daar ligt niet zozeer onze focus op. We zoeken meer echt de unieke ja specifieke. We zijn bijvoorbeeld ook bezig voor een vliegtuig maatschappij met een [PRODUCT] scheduling algoritme voor vliegtuigen [/PRODUCT] en dat soort dingen [Subject]: Ja dat is weer een hele andere tak van sport [Wouter][1][2]: En iets over jezelf misschien [Subject]: ja ik ben een van de oprichters van [BEDRIJFSNAAM], we zijn ontstaan vanuit de universiteit [PLAATSNAAM] vanuit het [AFDELINGSNAAM]. [Subject]: Nou we hebben daar een projectteam gehad wat redelijk succesvol was. Dat klikte ook wel goed en acht mensen hebben toen eigenlijk besloten om door te gaan met dat team. Zo van hier moeten we wat mee.(...BEDRIJFSINFO...) [Subject]: En in principe ja, ik ben nu nog samen over met [NAAM], das mijn collega die zit nu beneden die die is er ook nog. We zijn onderdeel van de [PARTNERNAAM] groep, inmiddels. De [PARTNERNAAM]groep is wat ze zelf zeggen de meest veelzijdige dienstverlener van Nederland. Het zijn ongeveer dertig verschillende bedrijven in veschillende takken van sport. Denk bijvoorbeeld aan communicatie dus reclame bureaus, Marketing, vormgeving, dat soort dingen, maar ook human capital, dus HR, personeel, er zit een engineerings bureau bij, er zit een juristen kantoor bij, Het zijn allemaal hele diverse bedrijven. Wij vallen onder de IT, de technology tak en wij zijn binnen [PARTNERNAAM] het Java bedrijf [Subject]: En we hebben ook bijvoorbeeld een e-learning bedrijf, een .Net gespecialiseerd bedrijf, we hebben een bedrijf wat extra is gespecialiseerd in projectleiders, allemaal dat soort dingen. [Wouter]: Een beetje bedrijven die elkaar allemaal aanvullen [Subject]: Ja, ja, er zit dus geen concurrentie onderling. je hebt wel .NET versus Java, maar die markt is wel redelijk verdeeld. Dus het is meer samenwerken dan inderdaad concurreren binnen het bedrijf. [Marc]: En werken jullie ook voor elkaar, dat je ook producten maakt voor elkaar of is het met zn allen voor de buitenwereld. [Subject]: Beide komt voor, er is natuurlijk ook gewoon intern genoeg te doen. Dus hier worden bijvoorbeeld alle websites van de anderen niet-IT bedrijven gemaakt van de [PARTNERNAAM] groep. En dat doen wij dan, dat is een dienst die wij weer leveren. [Subject]: Bijvoorbeeld, [PROCES] wij huren heel vaak een zusterbedrijf van ons in voor vormgeving en interactiedesign [/PROCES]. [Subject]: [PROCES] Bij zwaardere projecten huren we weer een projectleider in. [/PROCES] Dus dat we lenen een beetje bij elkaar een beetje in de zin van wanneer het uitkomt. [Wouter]: Welke opleiding heb je zelf gevolgd? [Subject]: Ik heb [OPLEIDINGSNIVEAU]technische informatica [/OPLEIDINGSNIVEAU] gedaan. [Wouter][5]: Je noemde net zelf al het project met bijvoorbeeld Finance. Hoe belangrijk is security in dat soort projecten. [Subject]: nou bijvoorbeeld [KLANTNAAM], dat gaat natuurlijk over geld, dat gaat over, ik weet tegenwoordig de aantallen niet meer hoeveel er heen gaat, maar dat zijn er behoorlijk wat. Zij zijn zegmaar in de Benelux expert op dat gebeid. Daar is security heel belangrijk, sterker nog daar [METHODE]moet je voldoen aan een bepaalde standaard [/METHODE]. De PCI standaard, de payment card industry, dat is VISA en Mastercard, voornamelijk VISA, maar ook mastercard die hebben een [PROCES]serviceinvesteringstraject [/PROCES] daar moet je aan voldoen. Dat komt natuurlijk ook, tja, [AWARENESS] zodra het over geld gaat is security een issue [/AWARENESS]. Het andere project bijvoorbeeld is dat gaat over onderwijsconsulenten, leerlingen die moeilijk plaatsbaar zijn op een school dus dat is gewoon heel veel medische gegevens en dossiers, dat soort dingen dus dat betekend naja de [METHODE] wet Bescherming Persoonsgegevens [/METHODE] daar krijg je mee te maken krijgt, ja medische dossiers, [AWARENESS] ja dat moet gewoon netjes afgeschermd zijn. [/AWARENESS] [AWARENESS] Dus niet alle projecten zijn even gevoelig voor security aspecten [/AWARENESS], maar die twee toch zeker wel. [Wouter][10]: Denk je dat het voor jullie als bedrijfzijnde een extra push is om met security bezig te zijn? [Subject]: Ik denk dat het binnen [BEDRIJFSNAAM] is het eigenlijk, we zijn een IT bedrijf en we komen heel erg een groot gedeelte van ons komt van de universiteit [PLAATSNAAM] vandaan en een [ERVARING] significant gedeelte vindt security, heeft dat ook als hobby [/ERVARING] als het ware zeg maar. En hoe ik het zie is, naja je krijgt de klanten die je verdient, [BEDRIJFSEIGENSCHAP] omdat wij heel veel mensen hebben die geinterreseerd zijn in security, ja, op een of andere manier krijg je dan ook automatisch opdrachten heh, waar dat een belangrijk aspect is. [/BEDRIJFSEIGENSCHAP] omgekeerd dus ook, dus ze komen ook naar ons toe omdat wij dit soort opdrachten hebben. [Marc]: Op jullie website had ik gezien dat jullie de software aan de klant open-source aanbieden. [Subject]: Ja [Marc][11]: Met security is dat natuurlijk ook wel belangrijk want er zijn dan ook andere mensen die kunnen proberen om daar gaten in te schieten. [Subject]: Nou, kijk, open source is een beetje een vaag begrip. Wat open source heb je in twee varianten in mijn smaak. je hebt open source als in publiek domein. [Subject]: Dat is niet zo zeer als wat wij per se willen. Daar hebben wij verder geen moeite mee, we gebruiken het heel veel, maar de software die wij maken die is meestal gebaseerd op open source producten. Die [PRODUCTEIGENSCHAP] software leveren wij dan open source op onder de BSD licentie [/PROCUTEIGENSCHAP] bijvoorbeeld aan de klant. En het is aardig van die klant als hij zegt aan die klant, ik gun het een publiek domein, geef dan is dat geen probleem. Maar met betrekking tot security, de open source producten die wij gebruiken, ja [AWARENESS]daar heb je dus het risico dat meer mensen daar iets in kunnen vinden. Een voordeel is, en dat zullen jullie ook weten, is dat er meer mensen naar gekeken hebben.[/AWARENESS] [Subject]: en dat je ook [METHODE] zeker weet dat het ook echt getoetst is [/METHODE], zeg maar. [Marc]: Ja dat is mooi [Subject]: Onze eigen software, die wij dus op basis van die open source maken, die is dus niet noodzakelijk in het publieke domein. En dat geld hebben we niet. [Wouter][3]: Wat zijn eigenlijk de belangrijkste beveiligingsproblemen als het komt op webapplicaties versus gewoon klassieke desktop applicaties? [Subject]: Nou het grootste probleem die ik altijd zie is [SECURITYPROBLEEM] niet zo zeer de applicatie maar meer de mensen daar achter [/SECURITYPROBLEEM] maar als we specifiek gaan kijken naar web versus desktop eh is dat je geen controle hebt of veel minder controle hebt over de gene die daar achter zitten. Kijk bij een desktop applicatie jah, als iemand met zijn eigen programma zijn eigen pc om zeep kan helpen tja dat is niet zo spannend. Tja [SECURITYPROBLEEM] met een webapplicatie sta je gelijk open voor de hele wereld [/SECURITYPROBLEEM], dus je krijgt ook veel meer te maken met buitenlandse mensen waar je dus niet gewoon minder mee kunt o.a. juridisch, je hebt er geen ristrictie van. ten tweede is omdat je dus veel verder bloot staat aan de rest van de wereld en de technieken naja voor je zover je in de informatica over jonge technieken kan spreken. [Subject]: Want informatica bestaat nog niet zo lang. Maar internet is nog veel jonger dan de rest. [AWARENESS] Als je ziet hoeveel veel frameworks er zijn, hoeveel programmeertalen er zijn, elk half jaar wordt er wel weer een nieuwe programmeertaal uitgevonden die het nog wel weer beter doet dan de andere. Nou dat geeft al aan dat geen enkel van die talen of frameworks gewoon goed is he? [/AWARENESS] Je hebt ook ontzettend veel dieeten op de wereld. Dat komt omdat er geen eentje gewoon werkt. Door die diversiteit is het aan de ene kant dat is weer een voordeel want er is niemand die, als je bijvoorbeeld kijkt naar Windows, dat is een groot platform en dat is dus heel erg lucratief om iets voor te verzinnen, en [SECURITYPROBLEEM] dat is op internet gebied niet echt een taal heel erg dominant maar doordat het heel erg lucratief is, dus dat is weer het voordeel [/SECURITYPROBLEEM] nou dus ja. [AWARENESS] Het het is zo makkelijk om een fout te maken zeker gezien de complexe situatie waar je vaak in zit. [/AWARENESS] [SECURITYPROBLEEM] Het is ook vaak niet een component maar veel componenten en niet van een partij maar van verschillende partijen. [/SECURITYPROBLEEM] En daar krijg je allemaal nieuwe dynamieken die ook desktop vroeger tenminste de oudere desktop applicaties die had je eigenlijk niet, het was een vendor die [SECURITYPROBLEEM] volledige controle over de omgeving. Dat is nu niet. [/SECURITYPROBLEEM] [Wouter]: Dus dan is het dan nog op gebied van security nog afwegingen om voor JAVA te kiezen dat is wat jullie nou hebben? [Subject] Ja, [AWARENESS] de security was een van de redenen om voor JAVA te kiezen. [/AWARENESS] Dat waren er verschillenden. Ja als we puur naar security kijken dan De ontwerpbeslissingen die genomen zijn bij JAVA waren voor ons dan de eigenlijk de reden dus he bijvoorbeeld het verplicht afhandelen van exceptions maar ook een inherit security model wat er in zit. In ieder geval wat het uitstraald in 1999 was het zaten we op java 1.1. en ja dat was wel het ging de goede kant op maar dat was nog vrij onzeker. Maar in ieder geval de uitstraling die JAVA had, was van ‘he, we hebben hier wel over na gedacht’ he, dat komt ook een beetje uit de mobiele wereld he? Daar moeten programma’s he foutlozer zijn dan in de webwereld waar we allemaal elke dag een nieuwe versie buiten kunnen zetten en op een mobiele telefoon is dat een stuk lastiger. de correctheid van programma’s was veel belangrijker ingeschat met het ontwerpen van JAVA. En dat zie je dus aan allerlei dingen, bijvoorbeeld de verplichte exception afhandeling en het security model wat er in zit. Vrij uitgebreide en strakke cryptografische bibliotheken die er in zitten. Ik denk dat JAVA een van de weinige platformen is die SSL bijvoorbeeld zich wel aan de spelregels houd en dat levert dan ook weer wat andere problemen op, maar de rest doet dat niet ja. [Wouter][7]: Ja oke, dan nog even over binnen de projecten. Is er binnen de projecten een vast budget voor security? Waar je rekening mee moet houden? [Subject]: [BUDGET]Nee. [/BUDGET] Naar individuele projecten zijn er wel vaak afspraken gemaakt over bepaalde dingen maar zo formeel dat het een apart budget is, is dat niet. [Wouter]: En binnen het bedrijf zelf? [Subject]: Nee, daar is geen apart potje om security onderzoek te doen of wat dan ook. We hebben een [BUDGET] R&D potje zeg maar en daarmee onderzoeken wij van alles. [/BUDGET] [PROCES] Maar gewoon wat op dat moment relevant is. [/PROCES] Dus dat kan Open ID zijn wat voor een programmeur erg interresant is, of toevallig zijn wel nu een onderzoek aan het uitbrengen met OpenID in combinatie met JAAA– JAVA Authentication en Autorisation API. Maar dat het heel erg specifiek op security gebied is, nee. Maar dat ligt ook heel erg aan de vraag van de klant. Wij zijn slechts de IT dienstverlener op dat gebied dus dat. [AWARENESS] Ja als je security wilt doen, dan moet je niet alleen maar naar de software gaan kijken, dat heeft geen zin. [/AWARENESS] [Wouter][11]: Wie is er verantwoordelijk voor de correctheid op het gebied van security van de een project [Subject]: In principe is het gewoon de klassieke indeling die je hebt. [PROCES] Je hebt een klant, die geeft je een opdracht en die opdracht die wordt aangenomen door het bedrijf [BEDRIJFSNAAM]. [BEDRIJFSNAAM] heeft dan een [VERANTWOORDELIJKHEID] projectleider [/VERANTWOORDELIJKHEID] aangewezen die het project moet gaan trekken en die is dus in principe eindverantwoordelijk op alle aspecten waar naar gekeken wordt en dat kan security zijn, maar dat hoeft niet per se. [/PROCES] Omdat op dat moment te leveren. [PROCES] Binnen [BEDRIJFSNAAM] kan zon projectleider kan dan beschikken over gewoon, heeft ie een bouwteam waar ie ook een beheerteam. Maar we hebben ook een een een ja een audit team, laat ik het maar even zo noemen, zo heel formeel zit dat niet dat hangt meer samen met het test team zeg maar maar. [/PROCES] Die kunnen, zijn ook gewoon in staat om jah los van het ontwikkel team zeg maar security metingen te gaan doen. Ik zeg niet dat het het losse afdelingen zijn, want [PROCES] iedereen hier wisselt hier regelmatig van rol. [/PROCES] Dus dan zit je in het beheer team dan in het testteam, dan gewoon ontwikkel team. Omdat dat je dus de hele tijd van rol wisselt kan het dus zijn. [AWARENESS] Iemand die ontwikkeld heeft ook wel eens beheer gedaan en ook wel eens in het test team gezeten en die weet dus gewoon waar die mensen op letten. [/AWARENESS] Dus hopelijk, dat is ons idee daarbij, ga je dus tijdens het ontwikkelen er al rekening mee houden, he, dat je straks bijvoorbeeld getoetst gaat worden op SQL injection of dat soort dingen. [Wouter]: Denk je dat dat ook belangrijk is voor de awareness? [Subject]: Ja, nou ik denk, dat sowieso. Dat is eigenlijke reden waarom wij zoveel rouleren is de awareness creëren. We kijken iets verder dan alleen maar security he. We hebben bijvoorbeeld ook [BEHEER] de beheeraspecten van hoe zit dat bijvoorbeeld met login dat hangt dan ook weer samen met security. [/BEHEER] Maar ook de schaalbaarheid en dat soort vraagstukken, dat zijn allemaal dingen die spelen. [Wouter][9][9B]: En is dat dan per project dan ook een vast proces waar je door moet lopen? [Subject]: [PROCES]Nee. [/PROCES] We hopen dat de awareness zeg maar in ieder geval voldoende is om de projecten een goede en gezonde basis te hebben. [METHODE] Daarnaast hebben we gewoon een test traject [/METHODE] zeg maar. Afhankelijk van het type project kan daar dus een een versie of audit in zitten. Daar kan gewoon een security audit zitten. [Marc]: Zitten er ook van die bedrijven binnen [PARTNERNAAM] die speciaal security audits doen? [Subject]: Nee. Ik denk dat wij, hebben wel een systeembeheergroep zeg maar kantoorautomatisering en netwerkbeheer en dat soort dingen doet. Dus die hebben daar wel zeg maar wat kennis en als het echt over security gaat, dan zijn wij toch de aangewezen partij binnen onze groep. [Wouter][10][12]: Wordt er binnen [BEDRIJFSNAAM] ook gedacht over beveilingswaarborging? Bijvoorbeeld de manier waarop bijvoorbeeld wordt omgegaan met beveiligingslekken. [Subject]: Ja dat ligt er heel erg aan. Daar hebben we dus altijd al een product in productie is zeg maar en hoe we dan omgaan. [BEHEER] We hebben een aantal klanten waar we een Service Level Agreement mee hebben. [/BEHEER] Daarvoor verzorgen wij dus ook de hosting van de website is het dan meestal. [Subject]: Dat betekend dan ook dat wij [PROCES] elke dag eigenlijk in de logfiles kijken [/PROCES], van hé? Wat zijn nu de dingen die opgevallen zijn? Welke errors zijn er opgetreden. [METHODE] Die worden allemaal geanalyseerd van was dat eigenlijk wel een error of was dat gewoon een overijverige programmeur geweest zeg maar die daar een error van gemaakt heeft. Die worden allemaal nagelopen en opgevolgd. [/METHODE] Dus dat, dat valt onder dagelijks beheer eigenlijk, daar komt dat dan terrecht. [BEHEER] Wat daar dus ook bij hoort is dus het monitoren van systeemstatistieken en andere alerts voor zover die er zijn geweest [/BEHEER] ja. [Marc]: Bij [KLANTNAAM], bijvoorbeeld, doen jullie dan ook achteraf weer een keer een audit voor de security? Of gaat dat meer in overleg met het bedrijf zelf? [Subject]: Wat we daar doen is ooit gebouwd zeg maar. Daar wordt nog heel veel aan gedaan he. De laatste tijd doen ze ook heel veel zelf Daar hebben wij steeds minder controle over. Maar hoe het in ieder geval vroeger ging, [PROCES] zodra het project was afgelopen dan gaan we een hele hoop standaard tests er weer op los laten. En een keer in de zoveel tijd, moet eigenlijk door de creditcardmaatschappij gedicteerd dat je een externe audit moet doen. [/PROCES] [Subject]: En we hebben die ook wel eens gehad verwacht of onverwacht. Dat ligt er een beetje aan. Ja dat is maar afhankelijk van welke industrie je zit. [AWARENESS] Ik bedoel, ja onderwijs consulenten die zouden zich daar meer bewust van moeten zijn, maar ja die hebben daar niet een externe audit partij voor. [/AWARENESS] [Wouter]: Daar zijn geen strikte regels voor? [Subject]: Nee. Er is wel wetgeving, maar die is niet zo concreet dat je een keer in het jaar een extern bureau moet laten auditen. Dat soort dingen, zo strikt is dat niet [Wouter][14]: Hoe wordt er binnen het bedrijf gezorgd dat de kennisgeving met betrekking tot beveiliging op peil blijft? [Subject]: Nou ja, een gedeelte lossen wij dus op door gewoon te rouleren tussen test teams en ontwikkelteams en beheer teams. en wat wij ook hier doen is [CURSUS] een keer in de een, twee maanden hebben we een JAVA Only avond. [/CURSUS] Dat is eigenlijk een thema avond waarin we eigenlijk een soort kennis uitwisselen. Dus een aantal mensen uit de organisatie hebben een nieuwe techniek in een nieuw project gebruikt en daar kunnen ze dan een presentatie over geven. Regelmatig zie je daar dus bepaalde security dingen in terug komen. Binnenkort bijvoorbeeld openen we die dus in JAAS, daar zal geheid iets over geroepen gaan worden. En verder is het, wat nodig is voor, we hebben gewoon [BRONNEN] een interne en een externe WIKI. [/BRONNEN] De interne is gewoon in met informatie daarop over hoe bepaalde dingen werken of binnen projecten. externe bijvoorbeeld [PRODUCTNAAM] waar heel veel informatie over staat gewoon wat voor iedereen beschikbaar is. Dus daar zetten we gewoon een hoop informatie op. Een van de meest bekeken artikelen daarop is volgens mij het artikel hoe je private keys in de JAVA Keystore kun krijgen. Dat kan officieel niet, want die moet je vanuit de KeyStore genereren. En dan kun je er wat uit halen, maar het is niet heel praktisch want soms krijg je gewoon een certificaat. Dus dat soort artikelen staan ook. Ja, wat doen we dan nog meer. Ja ik denk dat wel de belangrijkste punten zijn. [Wouter]: En is er voor personeel ook ruimte om zichzelf te ontwikkelen? [Subject]: Ja er is gewoon een een [BUDGET] een opleidingsbudget [/BUDGET] binnen [BEDRIJFSNAAM], het is afhankelijk van waar iemand zich in wil ontwikkelen maar dat kan security zijn. Dus ja, geen probleem. [Wouter][8]: Maken jullie binnen het bedrijf ook gebruik van source analyse tools? [Subject]: Ja! Niet voor alle projecten maar bij een aantal projecten gebruiken we [TOOL] PMD en Findbugs [/TOOL] ook wel eens daarbij. [PROCES] We hebben dat niet heel erg in beton gegoten zeg maar. [/PROCES] [VERWACHTING] het is wel iets wat we willen gaan doen. [/VERWACHTING] Een aantal projecten draaien er nu mee en daar is het eigenlijk ook gewoon de norm van “hé, we leveren niets op als daar nog dingen uit naar boven komen”. Maar we zitten ook gewoon met heel veel projecten eh die niet op die manier al ingericht zijn, dan heb je een hele inhaalslag te doen. En daar, ja daar zitten we gewoon nu mee. Het is wel iets wat we willen gaan doen, of wat we steeds meer willen gaan doen. En zeker voor nieuwe projecten gaan inzetten. [AWARENESS] Het hangt er ook vanaf van wat voor opdracht is het, gaat het om een online reclame folder zeg maar. Ja dat is allemaal leuk om dat eroverheen te gaan zetten maar, dat voegt heel weinig toe. [/AWARENESS] [Wouter][15]: Verwacht je verder nog ontwikkelingen op de markt of binnen het bedrijf qua security? [Subject]: Nou binnen het bedrijf, [VERWACHTING] ik denk wel dat het steeds meer geformaliseerd gaan worden, van he, als we dit soort type opdrachten doen. [/VERWACHTING] We gebruiken al [METHODE] standaard toolkits voor bepaalde dingen. [/METHODE] Ik verwacht, en dat zal denk ik dit jaar nog wel zijn, dat duurt denk ik niet lang meer. Dat er een standaard ligt voor nieuwe projecten waar we of dit, of dat, en daar zal bijvoorbeeld PMD of FindBugs zal daar een onderdeel van gaan uitmaken. Als je kijkt naar de hele markt, jah, kijk het is een moeilijk onderwerp en ja. Het probleem is, [AWARENESS] er wordt alleen maar over gepraat als het fout gaat. [/AWARENESS] Kijk je hebt nu, medische dossiers liggen op straat, ziekenhuizen doen het niet goed. Dat is geen nieuws, dat weet iedereen. Je hebt nou het elektronisch patiëntendossier, nou maken ze gewoon weer dezelfde valkuilen. Het is een heel lastig onderwerp. Security heeft heel vaak als gevolg dat bepaalde dingen moeilijker worden. [SECURITYPROBLEEM] Gewoon om het simpele feit dat je moet controleren wie je aan de lijn hebt [/SECURITYPROBLEEM], voor je een medisch dossier gaat faxen. [VERWACHTING] Of dat ooit gaat verbeteren dat weet ik niet, [/VERWACHTING] het zou hoogstens kunnen veranderen als de techniek vooruit gaat, maar de techniek is nog veel te jong om nu iets heel groots, moois, he zo elektronisch patientendossier is hartstikke mooi om te willen hebben en theoretisch kunnen we het ook vast helemaal perfect in elkaar timmeren. Maar in de praktijk blijkt gewoon dat we dat het gewoon. Naja, informatica bestaat nou wat is het? 50 jaar? [Subject]: En we zijn nog elke dag het wiel aan het uitvinden, dus. Wat dat betreft denk ik niet dat het. [VERWACHTING] Nouja het zal geheid het komende half jaar weer een thema zijn. En dan weer een paar jaar niet en dan komt het wel. [/VERWACHTING] [Wouter]: nou, bedankt voor je tijd. [Subject]: Ja, geen probleem, leuk!
Interview 5
[Wouter][1]: Kunt u wat over uw zelf vertellen, wat is je eigen opleidingsniveau? [Subject]: Ik ben hier in 2000 begonnen bij [BEDRIJFSNAAM], rechtstreeks vanaf mijn studie, ik heb [OPLEIDINGSNIVEAU] natuurkunde gestudeerd met een informatici afstudeer variant [/OPLEIDINGSNIVEAU] zeg maar. Ik heb een aantal programmeer vakken gevolgd. [ERVARING] Tijdens mijn afstudeerstage heb ik veel geprogrammeerd [/ERVARING] en zodoende ben ik hier bij ingerold en ik werk er nou nog steeds. [Wouter]: Wat zijn je dagelijkse wekzaamheden? [Subject]: Officieel ben ik [FUNCTIE] systeembeheerder [/FUNCTIE], ik draai mee in de postmaster ronde. Binnen [BEDRIJFSNAAM] heeft toch iedereen zijn specialiteit, sommige zijn meer op de mail gericht andere windows ondersteuning en ja ik ben er een beetje naartoe gegroeid dat ik meer de ontwikkeling / onderwijs ondersteun. [PROCES] Er komen allerlei vragen vanuit [KLANTNAAM] met name bijvoorbeeld ze willen een portfoliosysteem voor studenten hebben er is geen budget er is geen tijd om daar echt lange aanbestedingstrajecten te doen ofzo dan komen ze bij mij terecht. [/PROCES] De laatste paar jaren is eigenlijk de werkwijze vrij uitgekristalliseerd en [PROCES] ik kijk gewoon wat er is aan open source pakketten. Ik bied er een paar aan zeg maar van ‘lijkt je dit wat, is dat wat?’ en dan kiezen we een standaardpakket dan pas ik het aan nou ja omdat ik het wil aanpassen kies ik wat ik zelf fijn vind, is vaak dan [TOOL] PHP. [/TOOL] Af en toe custom ontwikkeling als er dus geen echt pakketen zijn waarvan je zegt nou dat is alleen een beetje aanpassen dan probeer ik met eigen programmatuur op basis van het Zend-framework [/PROCES] iets te maken wat we kunnen gebruiken. [Wouter][4]: Hoe groot is [BEDRIJFSNAAM]? [Subject]: Ja, krimpend. We waren ooit met een vrij grote groep ook die systeemontwikkeling deden. Van ouds her was dat het financiële systeem [PRODUCTNAAM] voor de bestellingen voor de financiën. Met de komst van [PRODUCTNAAM] grote concernsysteem is dat langzaam aan is gebouwd en ja nu [BEDRIJFSEIGENSCHAP] 13 man [/BEDRIJFSEIGENSCHAP] volgens mij. [Wouter]: En hoeveel mensen zijn er van verantwoordelijk voor het bouwen en het onderhouden van systemen? [Subject]: Eentje. Ander half eigenlijk. Mijn collega doet af en toe nog wat verder meer intern voor [BEDRIJFSNAAM]. [Marc]: Moet jullie daar nog voor [PARTNERNAAM] overleggen? [Subject]: Nee het zijn vaak facultaire systemen. Sommige dingen zijn wel breder uitgerold zoals bijvoorbeeld [PRODUCTNAAM] wat ik gemaakt heb. Dat is een [PRODUCT] vak systeem, is nu een studentsysteem geworden. [/PRODUCT] Word op alle [AFDELINGSNAAM] gebruikt. Maar ja goed dat is met de komst van een overall [PRODUCTNAAM] waar heel veel functionaliteiten in zitten waarschijnlijk blijft het wel bestaan maar in een kleinere vorm. [AWARENESS] Met het [PRODUCTNAAM] overleg wat wij hebben is een beetje bedoelt om overleg te creëren tussen verschillende [AFDELINGSNAAM] met het [PARTNERNAAM] erbij een beetje van onderaf want van bovenaf word er weinig gestuurd. [/AWARENESS] Alle [AFDELINGSNAAM] zijn echt aparte wereldjes, dat is wel jammer, maar de proberen we wat aan te doen. [Marc]: Kun je terugvallen op support? [Subject]: Nee tot voor kort kon het überhaupt ook niet want ze deden helemaal geen PHP ontwikkeling, dotNet en Java. Er zitten een paar mensen van het [PARTNERNAAM] in het [PRODUCTNAAM] overleg, maar meer van met het idee nou wat is PHP, wat kun je ermee? We hebben er veel van gehoord word veel gebruikt in de wereld maar ze zijn van plan om daar iets mee te gaan doen. Om zelf applicaties er mee te ontwikkelen. [Wouter][3]: Weet je ook of er daar een reden voor is dat ze vooral dotNet en java doen? Met name security gerelateerde reden? [Subject]: Dat zou ik eigenlijk niet weten meer dat het [PARTNERNAAM] van ouds her toch een windows omgeving dan is .Net een logische reden. [Wouter][2]: Wat is je eigen ervaring met PHP, in samenwerking met beveiliging? [Subject]: [AWARENESS] Jammer van PHP is dat de naam een beetje onveilig is. [/AWARENESS] Wat je ook vaak ziet is dat het voordeel van PHP dat het tegen PHP werkt. Het heeft een hele lage instap, als je bijvoorbeeld vergelijkt met java. Daar ga je niet als hobbyist aan beginnen, dat [AWARENESS] zie je toch vaak dat mensen java programmeren of vaak informatica gestudeerd hebben of echte programmeurs zijn die ook geleerd hebben van nou oke dan moet ik daar aan denken aan security dat en dat. [/AWARENESS] [SECURITYPROBLEEM] En bij PHP programmeren zie je toch vaak de hobbyisten de postbodes die in Joomla iets doen. Dan zie je helaas ook vaak hele triviale security dingen in zitten register globals dat soort dingen. ja, dus dat was initieel wel een beetje wat hier eerst ook hadden het hing een beetje om PHP heen. [/SECURITYPROBLEEM] Van lek dit lek dat. [ERVARING] Ik ben zelf inmiddels van mening dat je PHP ook heel secuur kan opzetten als van te voren goed goed over nadenkt. [/ERVARING] [Wouter][3]: Wat denk je dan als je er niet goed over nadenkt wat de voornaamste beveiligingsproblemen zijn? [Subject]: [SECURITYPROBLEEM] Het niet goed afvangen van user input [/SECURITYPROBLEEM] hé. Dat je SQL injection dat soort dingen krijg tuurlijk. [Wouter]: Dus echt de validatie? [Subject]: Ja. Dat hebben mensen die niet echt opletten hebben dat niet door. Van dat je bepaalde dingen niet kan vertrouwen dat je daar echt allemaal van ja, het [SECURITYPROBLEEM] valideren. [/SECURITYPROBLEEM] [Wouter][7]: Je had het er straks heel even over dat er weinig budget is voor projecten. Is der binnen ontwikkeling van projecten wel een budget voor beveiliging? [Subject]: [BUDGET] Er word niet apart afgesplitst. [/BUDGET] Der word vanuit gegaan dat bij [BEDRIJFSNAAM] [VERANTWOORDELIJKHEID] iets maken of iets bouwen dat, dat inherent veilig is. Dat word in principe aangenomen. [/VERANTWOORDELIJKHEID] [Wouter][10]: En zit er ook een hoge beveiligingsgraad aan de programma’s? Is dat verschillend per programma? [Subject]: ja, dat ligt er dus aan he. Kijk wat ik zei, ik pak vaak een bestaand open source programma omdat ik dus vaak ook niet de tijd heb om alles helemaal zelf te maken dan is het vaak handiger om [METHODE] een groot pakket te pakken en die aan te passen. [/METHODE] En dat hangt er vaak vanaf hoe goed dat pakket is opgezet. Je kan je bijvoorbeeld voorstellen dat er aan mij gevraagd een bepaalde website met extra dingen dan ga ik bijvoorbeeld beginnen met Joomla. [PROCES] En dan maak ik een extensie in joomla ofzo die dan de functionaliteit bied. [/PROCES] [SECURITYPROBLEEM] Je bent afhankelijk hoe secure Joomla in elkaar zit. [/SECURITYPROBLEEM] Daar is vaak wel een en ander aan de hand in Joomla. Dus ja, dat hangt er een beetje vanaf. [Wouter][11]: Zorgen jullie ook zelf voor het beheer van die omgeving? [Subject]: Ja. Wij proberen wel als je het bijvoorbeld hebt over Joomla op dit moment niet goed geregeld maar er zijn een aantal Joomla en Mambo installaties die mensen zelf op de afdeling zelf hebben geïnstalleerd en wij willen graag dat het eindelijk op één server draait. [BEHEER] Die meerdere sites kan draaien zodat wij dus ook van tijd tot tijd kunnen [SECURITYPROBLEEM] updaten. [/BEHEER] [VERWACHTING] Want dat gaan mensen zelf tuurlijk niet doen. [/SECURITYPROBLEEM] Dat is iets wat in de toekomst gaat gebeuren. [/VERWACHTING] [Wouter][8]:Uhm, gebruik je voor het testen van de software ook analyse tools? [Subject]: [TOOL]Nee [/TOOL], [AWARENESS] maar ben erg in geïnteresseerd. [/AWARENESS] [Wouter][9][9A]: Is er een vast ontwikkelproces? [Subject]: [METHODE] Wat wij wel hebben is in ieder geval gescheiden omgevingen. [/METHODE] [PROCES] Wij zijn echt een productie omgeving, testomgeving en ontwikkelomgeving. [/PROCES] Met security is op zich wel, de ontwikkelomgeving is redelijk goed afgeschermd staat open voor één of twee ip-nummers bedoelt alleen vanaf de ontwikkelaar de pc. [PROCES] Testomgeving ja is bedoelt voor de gebruikers om oordeel te geven over van al, ‘dit is ongeveer hoe het eruit komt te zien, wat vindt je ervan? Werkt het een beetje?’ Is vaak alleen binnen de [BEDRIJFSNAAM] toegankelijk, [BEDRIJFSNAAM] domein. [/PROCES] [SECURITYPROBLEEM] Productieomgeving afhankelijk van soort applicatie, binnen de [BEDRIJFSNAAM] alleen of voor de hele wereld. [/SECURITYPROBLEEM] Ja, dat is wel een beetje de normale gang van zaken je gaat niet iets wat algemeen toegankelijk is ontwikkelen zeg maar. [AWARENESS] Terwijl je bezig met authenticatie zeg maar ja dan kan iedereen daar naar binnen en klooien dat is natuurlijk niet handig. [/AWARENESS] [Wouter]: En zijn er nog speciale eisen waar je moet voldoen als iets bijvoorbeeld alleen binnen de [BEDRIJFSNAAM] moet of wereldwijd toegankelijk moet zijn? [Wouter]: Een bepaalde authenticatie eisen of iets dergelijks misschien gebruikers? [Subject]: Nee, gaat gewoon op ip-nummer. 10.128 reeks, het is een computer die op het netwerk zit. [Wouter][11]: Wie is er binnen het bedrijf verantwoordelijk voor de veiligheid van de code? Is dat de ontwikkelaar zelf? [Subject]: [VERANTWOORDELIJKHEID] Er zijn geen verschillende petten van mensen die zeg maar. [/VERANTWOORDELIJKHEID] Bedoel ik ja, ik zou graag willen ja vroeger waren we met meerdere mensen is ech wel leuk dat je elkaars code kunt beoordelen dat is ook veel beter [METHODE] pair programming [/METHODE], vind ik echt geweldig maar in je eentje is dat lastig. Ja, is slecht, [AWARENESS] je schrijft code ja je hebt liever dat iemand anders dat beoordeelt en andersom ook dat je zelf code beoordeelt die iemand geschreven heeft. [/AWARENESS] Maar ja, dat is helaas hier niet… [Marc]: Zijn die authenticatie eisen formeel vastgelegd zeg maar? Die verantwoordelijkheid? [Subject]: Nee [Marc]: Dat word weer impliciet verondersteld? [Subject]: [SECURITYPROBLEEM] Op een gegeven moment kan er gezegd worden van dit moet voor de hele wereld toegankelijk zijn. [/SECURITYPROBLEEM] Veranderd het ook zo maar. [Wouter][12]: Hoe word er omgegaan met het melden van beveiligingslekken? [Subject]: [WEETNIET] Ik moet je eerlijk zeggen dat we weinig dingen over krijgen. [/WEETNIET] Het is vaak van hé de applicatie werkt niet of ik kan niet inloggen dat natuurlijk wel. [Marc]: Is er een vast meldpunt zeg maar voor voor mensen als mensen dingen tegenkomen? En word het dan intern doorgespeeld? [Subject]: [PROCES] Ja, het gaat dan naar de postmasters toe en dan [VERANTWOORDELIJKHEID] waarschijnlijk komt dat wel bij de ontwikkelaar terecht [/VERANTWOORDELIJKHEID] [/PROCES] maar dat soort klachten krijgen we eigenlijk nooit. [AWARENESS] Niet dat het er niet is zeg maar. [/AWARENESS] [Wouter]: en fouten die jezelf vind in software die je gebruikt? Dus in open source paketten? [Subject]: [PROCES] Ja, in principe bugs die we vinden melden we terug. Fixen die lokaal meteen. [/PROCES] Ja bijvoorbeeld Joomla een lek heeft in die versie dan proberen we zo snel mogelijk die dingen te upgraden naar nieuwste versies. [Marc]: Hoe vaak komt zoiets voor dat je iets vindt? In een pakket van hun? [Subject]: Nou het zijn wekelijks een stuk of 5 gemiddeld security meldingen van alle software die wij beheren dat zijn niet alleen webapplicaties maar kan ook matlab zijn of firefox of zich wel meer dan vijf. Redelijk veel maar ja, zijn een aantal dingen die bij systeembeheer bijvoorbeeld firefox dient geüpgrade worden doen ze bij systeembeheer Soms bij een webapp. Komt het vaak op mijn bordje terecht. [Wouter]: Het zijn dus bekende bugs, die vanaf buiten worden gevonden? [Subject]: Ja [Wouter][13]: We hadden het al over PHP mailinglijst in [PRODUCTNAAM]. Welke bronnen worden nog meer gebruikt om kennis over beveiligingen… [Subject]: Als ik naar mijzelf kijk, ik heb een [BRONNEN] rss reader en ik ongeveer 60 feeds die ik regelmatig bijhoudt. Dus niet allemaal programmeren gerelateerd zeg maar ook gewoon nieuws. [/BRONNEN] Maar wel heel veel. [Subject]: Oja, [BRONNEN] in fysiek volg ik meer algemeen webdev dingen zodat gaat over security [/BRONNEN] [Subject]: Uh, ja er zitten ook dingen bij die gaan over security. Ik lees heel veel van dat soort dingen. [Marc]: Maar dat is vooral denk ik nieuws als er iets mis gaat? [Subject]: Het zijn dingen van het kunnen ook algemene dingen. Exploits die je kunt verzinnen. Laatst eens gelezen dat ja in plaats van hoe noem je dat sql injection gewoon met met normale code zeg maar dat zeg maar gewoon een soort page 64 string kan worden geencodeerd en kan er heel veel tussen lagen zeg maar dat dan weer automatisch decoderen en dan heb je toch sql injection zonder dat dat geescaped is bijvoorbeeld doordat er slashes tussen staan dat soort dingen. Dat is een algemeen dingetje specifiek voor PHP is maar ja het is nie echt eigen ontwikkeling. [Marc][14]: Zou je dat wel graag willen? Eigenlijk. Dat bijvoorbeeld je dat soort cursussen kan volgen? [Subject]: Ja! Dat zou mooi zijn. ja, het moet een beetje moeilijk de meeste cursussen die ik gevolgd heb de laatste waren niet echt nuttig laat ik het zo zeggen. [AWARENESS] Ik zit op een bepaald niveau zeg maar en meeste cursussen richten op beginners met PHP, beginnersniveau. En ja ,weinig wat echt dat op expert niveau aansluit van oke hier kan ik nog een paar stappen maken wat dat betreft. [/AWARENESS] [Wouter][16]: Wat zou je zelf nog graag verbeterd willen zien binnen het bedrijf? Op het gebied van security? [Subject]: [AWARENESS] Nou wat wij proberen te bereiken met dat [PRODUCTNAAM] overleg dat er een soort standaardisatie plaats gaat vinden op het gebied van de framework, [VERWACHTING] wat hopelijk gaat gebeuren. [/VERWACHTING] [/AWARENESS] Of eigenlijk al aan het gebeuren is. [VERBETERPUNT] Waardoor je meer gebruikt kan maken van mekaars kennis en code en dat dan ook een standaard manier gaat ontstaan van zo ze je de applicatie op en vandaar uit ook ook standaard manier van filtering, valideren en al die informatie. [/VERBETERPUNT] [Marc]: [VERBETERPUNT] Misschien ook pair programmeur als je dat misschien met [PARTNERNAAM] samen zou kunnen doen. [ [Subject]: Ja. Code onderling. [/VERBETERPUNT] [Wouter][15]: En tot slot wat verwacht je qua ontwikkeling in de markt op het gebied van beveiliging? [Subject]: [VERWACHTING] Ja, het zal wel meer aandacht krijgen [/VERWACHTING] ik denk dat je merkt ook wel een beetje dat [VERWACHTING] PHP toch wel meer richting enterprise gaat zeg maar, PHP 5 object georiënteerd en ook zeker security leeft wel echt. [/VERWACHTING] In PHP 6 gaan ze ook echt heel veel dingen verbeteren register clones gaat eraf, kan je gewoon niet meer aanzetten is gewoon redelijk regioreuze stappen die ze gaan nemen om de security te verhogen. [Wouter]: En denk je dat dit ook de security ten goede komt? [Subject]: [VERWACHTING] Jazeker, je moet het niet meer mogelijk kunnen maken dat je het zo makkelijk fout kunt doen zeg maar. [/VERWACHTING] [Wouter]: Maar dat zal de niveau van instappen wel verhogen. [Subject]: Ja. Vind ik niet verkeerd hoor. Ja dat is zeker wel een punt ja. [VERWACHTING] Het vergt wel enige kennis, het is niet helemaal waar tuurlijk als je bepaalde dingen kun je net op een andere manier aanbieden zeg maar dat het net zo makkelijk kijken is als op de goede manier. [/VERWACHTING] [SECURITYPROBLEEM] Sommige dingen zullen wel lastiger zijn maar daarvoor geldt dat meeste mensen googlen wat en dan komen ze ergens op een site terecht en dan copy paste die code snappen eigenlijk niet waar ze mee bezig zijn. Als er dan een goed verhaaltje staat je moet het eigenlijk zo en zo doen dit afvangen copy pasten ze die code dan hebben ze het op een goede manier gedaan snappen ze nog niet waar ze mee bezig zijn. [/SECURITYPROBLEEM] Het zal eerder wat transitie problemen geven maar voor mij is dat wel beter ja. [Marc]: Nee, eigenlijk niet. Heb jezelf misschien nog vragen / opmerkingen? [Subject]: Een van de dingen die ik bij [PRODUCTNAAM] probeer in te brengen is niet dat het alleen maar om PHP gaat. [VERWACHTING] Een van de ontwikkelingen die je ziet is is veel meer richting services en koppelen van allerlei dingen, cloud computing noem maar op. [/VERWACHTING] Daar zal in de toekomst veel meer gebruik van worden gemaakt waar je programmeert is eigenlijk niet meer zo belangrijk het gaat meer om de de koppelen van allerlei systemen en services die je hebt. Daar zal ook redelijk security dingen je bedoelt, je ziet bijvoorbeeld in de google API dat je uh toestemming kunt geven aan bepaalde sites om gebruik te maken van bepaalde informatie die je hebt bij een andere site zeg maar. Dat zal steeds meer gebeuren. Toevallig gister nog iets gelezen van Aurora heet het volgens mij toekomst visie hoe een browser over vijf jaar, tien jaar kan gaan werken. Geïntegreerd in je hele digitale omgeving eigenlijk dus je koppelt daar je amazon informatie je wishlist, je je gps informatie dan word in één keer ‘hé je bent vlakbij een boekhandel’ waar dat boek ligt enzo [SECURITYPROBLEEM] Zijn allemaal dingen die allemaal misschien wel wil maar beetje privacy gevoelig en security gevoelig. [/SECURITYPROBLEEM] [VERBETERPUNT] Daar zal denk nog de komende paar jaar flink aan moeten gebeuren en dat heeft niet zozeer te maken met PHP, java, dotNet omgaat. [/VERBETERPUNT] [Subject]: Privacy hangt er mee samen ook. Leuke ontwikkeling komen de periode op het gebied van webapplicaties. [Wouter]: Oke. Nou bedankt voor je tijd in ieder geval. [Marc]: Ja, bedankt