Säkerhet i Open Source – processen

Igår var det dags för ännu ett möte med OWASP Sweden (Open Web Application Security Project) – denna gång var det säkerhet i Open Source-processen det handlade om. Det var en väldigt bra line-up: Daniel Stenberg från cUrl-projektet, Simon Josefsson från diverse open source-säkerhetsprojekt samt Anders Karlsson från MySQL.

De första två talarna hade väldigt lika syn på processen och vad som var viktigt : Schneiers gamla mantra om att säkerhet är en process hördes – man blir aldrig färdig utan måste hela tiden iterera vidare. Båda talade om vikten av dokumentation och enkelhet i koden vilket både förenklar kodgranskning och minskar risken för missförstånd mellan utvecklare – alltså buggar. I cUrl-projektet har man även gått så långt att man förbjudit vissa operationer, t ex printf-funktionerna, för att slippa en klass av problem (format-string problem – mer information om det och mycket annat finns i boken 19 Deadly Sins of Software Development). Defensiv kodning, enkel kod.

Viss skepsis mot “1000 eyeballs” kunde märkas – i regel var det kanske en handfull människor som verkligen tittar på koden, vilket dock är bättre än ingenting. Det är dock ingen garant för säkerhet (vilket naturligtvs alla redan visste – openSSL diskuterades också under kvällen). cUrl har haft åtta säkerhetsbuggar under ett tiotal år vilket jag nog tycker inte är så farligt mycket.

Särskilt intressant var det att höra Daniel Stenberg berätta om hur lite feedback han faktiskt får – med tanke på att cUrl-libbarna används överallt; förutom alla bsd och linux och programmeringsspråk som integrerar det så plockar mjukvarutillverkare in det i sina appar statiskt också; exempelvis använder Google Earth det för att hämta data. När han gick ut med säkerhetsuppdateringar var det dock envägskommunikation: han broadcastar men inget av företagen svarar någonsin något.

Förutom säkerhetsbitarna var det väldigt kul att få denna inblick i dessa projekt!

Leave a Reply