Microsofts aandacht voor veilige code schoot begin 2002 pijlsnel omhoog na Bill Gates’ ‘Trustworthy computing’-memo. De recente Blaster-heisa was eens te meer koren op de molen van de sceptici. Ronny Bjones, security program manager en lid van de Trustworthy Computing groep in Microsoft Emea, laat er geen twijfel over bestaan dat het Microsoft echt menens is. Het beterschapproces is er echter een van lange adem.
|
Ronny Bjones en de ’trustworthy computing’ group vervullen drie taken, waaronder die van ‘evangelist’ die de blijde boodschap over Microsofts inspanningen inzake ‘veilige soft’ binnen en buiten het bedrijf moet verspreiden. Met ‘veilige soft’ wordt overigens software bedoeld die inherent – door ontwerp en implementatie – geen problemen veroorzaakt voor de integriteit van systeem en data, en niet uitdrukkelijk alleen beveiligingssoftware. Toch is het ook een taak van de trustworthy computing groep om een terugkoppeling te bieden naar de ‘Security Business Unit’ die werkt aan de beveiligingsproducten van Microsoft. Voorts werkt de groep in Europa nauw samen met overheden inzake wetgevingen en initiatieven. Zo was Bjones betrokken bij ontwikkelingen rond elektronische identiteitskaarten en digitale handtekeningen.
De derde rol is dan ook het uitwerken van eigen programma’s om die tweede taak te ondersteunen, bijvoorbeeld door adviezen inzake de wijze waarop een digitale handtekening kan worden ingevoerd. Beveiliging en privacy zullen tevens onderzoeksonderwerpen zijn in het nieuwe European Microsoft Innovation Center, in samenwerking met de trustworthy computing groep.
Na het memo van Bill Gates werden alle Microsoft ontwikkelaars verplicht een introductiecursus ‘veilige software’ te volgen en werden een aantal ontwikkelingsprojecten – waaronder Windows Server 2003 – uitgeplozen op mogelijke problemen; initiatieven die Microsoft zowat 200 miljoen dollar kostten.
Cultuurkwestie
Toen Bjones in 2002 werd gecontacteerd door Microsoft zag hij wel dat het dieper zat dan een marketing verhaal. "Het is natuurlijk een kwestie van cultuur en dat valt niet in één jaar te veranderen." Zo koestert hij plannen om ontwikkelaars beter te informeren over ‘best practices’ inzake ‘threatmodelling‘ – inschatten wat de mogelijke risico’s zijn die de goede werking van software en vervolgens de integriteit van een ict-systeem bedreigen. "Ontwikkelaars moeten beseffen dat ze kritieke elementen voor het bedrijf in handen hebben! Hun fouten kunnen het hele bedrijf in gevaar brengen."
Ook wordt binnen Microsoft hard gewerkt aan een beter beheer van ‘lapmiddelen’ – er is inmiddels een aangepast patchbeheer vrijgegeven – en solidere installatieroutines.
Veilige code schrijven De ernst waarmee Microsoft het probleem veilige code aanpakt, blijkt ook uit de inspanningen die personen als Michael Howard en David LeBlanc leveren om de ‘blijde boodschap’ inzake goede ontwikkelpraktijken te verspreiden. Hun boek ‘Writing secure code’ is al aan een tweede editie toe en wint daarbij nog steeds aan belang, ook voor niet-Windows gerichte ontwikkelaars. Zo werd onder meer het vierde hoofdstuk – ’threat modeling’ – extra aangepakt, inclusief tips inzake het gebruik van dataflow diagrammen of UML. Het hele eerste deel – ‘Contemporay security’ – is niet alleen voor ontwikkelaars een must, ook managers, applicatiebeheerders et cetera krijgen aldus een beter begrip van de voetangels in een ontwikkelingsproces. Voorbeelden van ‘hoe het niet moet’ – onder meer over ‘buffer overflow’, input ("All input is evil!", met problemen rond data- en web-invoer), cryptoproblemen en onder andere ‘securing RPC’ zijn legio. Ook het vierde deel – ‘Special topics’ – met onderwerpen als ‘security testing’, ‘performing a security reviews’, ‘secure soft installation’, ‘privacy’, ‘general good practices’ en ‘writing security documentation & error messages’ moet voor iedereen verplichte lectuur zijn. Wie denkt geen tijd te hebben om dit boek te lezen, moet hoe dan ook Appendix B over ‘ridiculous excuses we’ve heard’ lezen. Ongetwijfeld bestaan er nog andere boeken die helpen bij het creëren van veilige code. Dit boek is wel erg Microsoft gericht, maar het combineert op een verantwoorde wijze zowel een bijzonder brede bespreking van het probleem als een hoop concrete do’s en don’ts. "Writing Secure Code, 2nd Edition" Michael Howard & David LeBlanc ISBN 0-7356-1722-8 Microsoft Press 2003, 49,99 dollar |
Blaster heisa
Een nobel streven, maar met de introductie van Windows Server 2003 gin het goed fout. Dit product ging als een van de eerste door de ’trustworthy computing’-molen en kreeg het predikaat ‘veilig’ mee. Het bleek echter kwetsbaar was voor de Blaster aanvallen.
Een samenloop van omstandigheden, waarbij Bjones het begrip ‘kwetsbaar’ relativeert aan de hand van het WebDAV-probleem, zoals beschreven in bulletin MS03-007. Die kwetsbaarheid was ongetwijfeld een realiteit, maar werd pas acuut op het moment dat de component bij installatie was geactiveerd.
Het probleem werd overigens veroorzaakt door een foute code constructie, die nu al een hele poos is verboden en routinematig wordt onderschept door de softwaretoets- en testsoftware (zodat Windows Server 2003 geen problemen hiermee kende). Voorts bereidt Microsoft voor dit najaar een ‘software configuration editor’ voor om systeembeheerders bij te staan in hun configuratie-opdrachten met het oog op beveiliging. Software zal ook bij het testen niet alleen functioneel maar ook vanuit security standpunt worden getest.
Het concrete probleem van Windows Server 2003 met Blaster betrof het RPC (remote procedure call) mechanisme en "werd niet ontdekt door de Microsoft tools omdat het een en ander aanpakte op een andere wijze dan de klassiek ‘buffer overflow’ aanvallen." Microsoft veronderstelt overigens dat Blaster zijn doel niet bereikte omdat het bedrijf de systeemkwetsbaarheid kort voor de ‘aanslag’ had gepubliceerd.
Beterschap
De softwaregigant mikt op een geleidelijke vermindering van de vulnerabilities door onder meer een betere (architectuur) aanpak bij het begin van de software-ontwikkeling en eindgebruikers ertoe aan te zetten meer smartcards te gebruiken. Ook andere projecten krijgen de ’trustworthy computing’ behandeling, zoals SQL Server service pack 3 en Visual Studio .Net 2003.
Microsoft wil zijn ontwikkelaars ook persoonlijk verantwoordelijk stellen voor hun code. "We hopen dat over enkele jaren het hele proces doordrongen is van de noodzaak tot veilige software." En vanzelfsprekend moeten dan ook de meest ‘hardleerse’ ontwikkelaars het bedrijf hebben verlaten, al dan niet uit eigen beweging.
Op korte en middellange termijn ziet Bjones in eerste instantie vooruitgang door een beter patchbeheer, aandacht voor het beveiligen van ‘draadloze’ netwerken en het beheer van digitale rechten en van identiteit. Om vervolgens rond Windows XP opvolger ‘Longhorn’ uit te pakken met Next-Generation Secure Computing Base (Ngscb).< BR>