image

Open source lekken supersnel gedicht dankzij bug hunt

donderdag 6 april 2006, 12:09 door Redactie, 17 reacties

Het geld dat de Amerikaanse overheid in het "Vulnerability Discovery and Remediation, Open Source Hardening Project" heeft gestoken werpt zijn vruchten af. Meer dan 900 lekken in 32 Open Source projecten werden binnen twee weken gedicht. Sommige programma's zijn nu zelfs bugvrij.

De VS schonk 1,24 miljoen dollar aan twee universiteiten en Symantec om security lekken in open source software te vinden en zo de software veiliger te maken. Tijdens de eerste scan van de programma's werden er 17,5 miljoen regels code gescand. Gemiddeld vond men 0.434 bugs per 1000 regels code.

Meer dan 200 ontwikkelaars registeerden zich om toegang tot de database met lekken te krijgen. Sindsdien hebben de programmeurs van de Samba, Amanda en XMMS projecten alle lekken verholpen. De lijst van open-source projecten die op security bugs doorzocht worden bevat onder andere Apache, BIND, Ethereal, KDE, Linux, Firefox, FreeBSD, OpenBSD, OpenSSL en MySQL. (Cnet)

Reacties (17)
06-04-2006, 12:20 door Anoniem
"Sommige programma's zijn nu zelfs bugvrij."

Yeah right. Hebben ze de source en binaries weggegooid ofzo? Geen
enkele software zal ooit 100% bugvrij zijn.
06-04-2006, 12:56 door hugo_nl
Geen enkele software zal ooit 100% bugvrij zijn.
Oh jawel, een programma kan 100% bugvrij zijn.

Voorbeeld:
int main( int argc, char*argv[] )
{
return 0;
}

Stom voorbeeld misschien? MAar het bewijst wel dat je
opmerking nergens op slaat. Software kan wel degelijk 100%
bugvrij zijn -- maar dat hoeft niet te betekenen dat het
programma foutloos doet wat het hoort te doen. Snap je wat
ik bedoel te zeggen?

Ondanks dat onderstaande code een verkeerd antwoord geeft,
is er is 'technisch' niets aan de hand:

if ((iNumber1 == 1) && (iNumber2 == 1)) iSum = 3;
printf( "%d + %d = %dn", iNumber1, iNumber2, iSum );
Dit is geen bug, maar meer een ontwerp-fout dat
verkeerde resultaten geeft. Maar voor de rest is bovenstaand
gewoon foutloze code.

Ik ben het wel met je eens hoor dat een beetje grote
code-base zeker meer denkfouten met zich meebrengen die geen
enkele 'source-code-scan-software' zou kunnen detecteren
want daar is voorlopig de AI niet slim genoeg voor.
06-04-2006, 12:59 door Anoniem
Bugvrij? De automatische scan tool vond geen bekende
problemen (bugs) meer in de programma's. Dat betekent
natuurlijk niet dat ze dan 100% bug vrij zijn.
06-04-2006, 13:27 door Anoniem
@hugo_nl:
Je hebt gelijk.

10 print "hallo"
20 goto 10

Ook foutloos. Uiteraard werd met de stelling bedoeld de grotere
programma's en niet de eenvoudigere kleine programma's.
06-04-2006, 13:51 door SirDice
OpenBSD staat niet op de lijst.. Althans niet op die lijst
van de eerste scan.. Net- en FreeBSD wel..
06-04-2006, 13:58 door [Account Verwijderd]
[Verwijderd]
06-04-2006, 14:04 door SirDice
Door Anoniem
10 print "hallo"
20 goto 10
Dit is zoooooo commodore 64
06-04-2006, 14:53 door Anoniem
Door SirDice
Door Anoniem
10 print "hallo"
20 goto 10
Dit is zoooooo commodore 64
Nee.....in dit geval heb ik het gebruikt op de MSX...en met een poke
commando de ctrl-break uitschakelen. Was in de jaren 80 een 'vervelend'
grapje in de winkels die MSX-jes demo hadden staan.
06-04-2006, 16:17 door Anoniem
Door Anoniem
Door SirDice
Door Anoniem
10 print "hallo"
20 goto 10
Dit is zoooooo commodore 64
Nee.....in dit geval heb ik het gebruikt op de MSX...en met
een poke
commando de ctrl-break uitschakelen. Was in de jaren 80 een
'vervelend'
grapje in de winkels die MSX-jes demo hadden staan.
Joh vond het erg lijken op de basic van ZX81 en andere Zilog
CPU's
Maar je heb gelijk in iedere basic werd / wordt het gebruikt.

Burmees
06-04-2006, 16:43 door SirDice
MSniX haha... Lang lang geleden... Werkt overigens ook op de
c64.. inclusief poke om de run-stop uit te zetten ;)
06-04-2006, 17:57 door [Account Verwijderd]
[Verwijderd]
06-04-2006, 21:01 door Anoniem
C64 MSX Zx81 damn... ik ga is ff kijken waar ze liggen...
Kweet wel dat ik avonden aan de C64 heb gezeten lompe
spelletjes te spelen ;).
Op de C64 kon je perfecte code zelfs bugs bevatten als de
kop van je cassette recorder niet goed stond hahaha. Load
?Error... Kent iemand dat nog. 10 keer het zelfde proggje
laden en iedere keer met je schroevendraaier de kop bijstellen?
07-04-2006, 02:17 door Anoniem
En wat als er een "bug" in de compiler zit?

Schrijf alle code OK en de compiler kan er alsnog een
"zooitje" van maken.

Of zeg/schrijf ik nu iets dat nergens op slaat?
07-04-2006, 02:22 door Anoniem
@hugo.....

Jij vertrouwd kennelijk je compiler, je header files, je object files, je linker....
07-04-2006, 09:59 door Anoniem
Ik ben zelf jarenlang C programmeur geweest voor Digital en Philips.

Foutloze code bestaat niet die garantie kan niemand geven! Met alle
respects een hello world proggie als voorbeeld is een slecht voorbeeld
geen enkel programma in een bedrijf is zo klein en bied zo weinig
functionaliteit.

Je maakt toch gebruik van zoals dat vroeger heette van libraries die
vervangen zijn door die dynamic link libraries. Met allemaal predefined
functies erin. Zoals die anonieme poster hierboven al aanhaalt. Ben zelf
b.v. anderhalf jaar bezig geweest met Borland om te bewijzen dat er een
memory fout in die compilers van ze zat. Gelijk gekregen ..maar wel met
een paar hijgende managers in mn nek.

Tegenwoordig zijn compilerleveranciers wat alerter maar vroeger (toen niet
ALLES beter was) waren ze er een stuk minder gelukkig mee omdat dit
weer kosten met zich meebracht. Gelukkig brengen ze nu een stuk sneller
patches uit maar dit is meer te wijten aan budgettering denk ik. Maar ook
die nieuwe patches kunnen weer bugs bevatten. Een treffend voorbeeld
zijn bepaalde security patches van Microsoft. Open source programmeurs
zijn ook maar gewoon mensen en die maken ook fouten.

Alleen door die overerving principes of hergebruik van code durf ik te
beweren dat foutloze code niet bestaat. Dat is theoretisch gezien
onmogelijk door de hoeveelheid variabelen. Zeker als je praat over C-
sources die gigantisch complex kunnen zijn. Met name als je praat over
code die onder druk is gefabriceerd in een bedrijf (welke niet trouwens).
Die daarbij ook nog vaak slecht is gedocumenteerd.

Vele sources maken gebruik van formules en die kunnen ook voor
onverwachte problemen zorgen door het programma crasht omdat de
output vd formule anders is dan het programma verwacht. In 2060 krijgen
we trouwens weer die datum ellende...er zijn een paar formules in omloop
die totaal niet kloppen. Maar daar ga ik me niet meer druk over maken.

Als 60% vd MS programmeurs al niet de garantie kunnen geven dat ze
secure programmeren heb ik zeker niet de illusie dat open source
programmeurs het veel beter zullen doen. En de laatste generatie
programmeurs zijn niet meer die gasten van vroeger die alles tot de bit
wisten en ondanks die kennis nog steeds fouten maakten.

Het blijft altijd een financiele afweging waarbij consessies worden gedaan
t.o.v. de oplever datum.

Niettemin vind ik dit bughunting initiatief een heel goed initiatief. Maar nu
die inhaalslag tot een bepaald niveau is gerealiseerd is het ook een
kwestie van onderhoud. Laten we wel zijn er komen constant nieuwe
versies uit en dus ook weer nieuwe bugs zoals we ze vroeger noemden,
die ze nu exploits noemen.

Het resultaat is denk ik dat ze voor de huidige versies van die open source
software een beetje beschermd zijn tegen het gros van de scriptkiddies
maar nog steeds een potentieel slachtoffer zijn van een kwaadwillende.

En waar een wil is, is een weg.

Maar....en dat weten we allemaal het is echter makkelijker 1 lek te vinden
dan duizenden regels sourcecode te beveiligen.

M.v.g.

MrHawkeye

Nu ff controleren op spelfouten en zinsopbouw.
07-04-2006, 10:49 door Anoniem
Door AnoniemKent iemand dat nog. 10 keer het zelfde proggje
laden en iedere keer met je schroevendraaier de kop bijstellen?

Daar had ik nog een setje met software en een speciaal tapeje bij
Computer Collectief voor gekocht, dan kon je hem live afstellen. Ik dacht
voor fl125,- maar ik kan me vergissen.
08-04-2006, 13:21 door rob
@MrHawkeye: "Laten we wel zijn er komen constant nieuwe
versies uit en dus ook weer nieuwe bugs zoals we ze vroeger
noemden, die ze nu exploits noemen."

Onwetenden noemen dat exploits... exploits zijn de programma's
waarmee security bugs uitgebuit kunnen worden, niet de bugs
zelf! Verder, goede bijdrage :)

Ik vind dit ook een heel goed initiatief, dit moet vaker gebeuren.
Meer mensen moeten betaald worden om bugs te vinden. Zoals
iDefense bijv. doet is erg goed werk.. op die manier kunnen
getalenteerde bug hunters rond komen van hun werk, en hoeven
ze niet bij de plaatselijke McDonalds aan de slag om hun hobby te
financieren. Er zijn er genoeg die het werk graag doen, en laten
we wel zijn het kost niet veel om ze te financieren.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.