[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[RFR] wml://security/audit



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Enigmail
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFAzUaP5UTeB5t8Mo0RAkNaAJoCbzoMxA3qKrJF+Fxn6SeeYAaAugCbBhiY
SIZzNK+dr6larlr4vXOXoUg=
=fzGR
-----END PGP SIGNATURE-----
#use wml::debian::template title="Veiligheidsaudit Adviezen"
#use wml::debian::recent_list
#use wml::debian::translation-check translation="1.5"

# Last Translation Update by $Author: luk $
# Last Translation Update at $Date: 2004/05/27 14:39:11 $

<p>Deze pagina geeft een lijst van de DSA's die verschenen schijn als een 
rechtstreeks gevolg van de auditinspanningen. Dit toont duidelijk het voordeel
van dit project aan.</p>

<ul>
<li><a href="$(HOME)/security/2002/dsa-205">DSA-205 gtetrinet</a></li>
<li><a href="$(HOME)/security/2003/dsa-326">DSA-326 orville-write</a></li>
<li><a href="$(HOME)/security/2003/dsa-327">DSA-327 xbl</a></li>
<li><a href="$(HOME)/security/2003/dsa-329">DSA-329 osh</a></li>
<li><a href="$(HOME)/security/2003/dsa-334">DSA-334 xgalaga</a></li>
<li><a href="$(HOME)/security/2003/dsa-354">DSA-354 xconq</a></li>
<li><a href="$(HOME)/security/2003/dsa-356">DSA-356 xtokkaetama</a></li>
<li><a href="$(HOME)/security/2003/dsa-359">DSA-359 atari800</a></li>
<li><a href="$(HOME)/security/2003/dsa-368">DSA-368 xpcd</a></li>
<li><a href="$(HOME)/security/2003/dsa-369">DSA-369 zblast</a></li>
<li><a href="$(HOME)/security/2003/dsa-390">DSA-390 marbles</a></li>
<li><a href="$(HOME)/security/2003/dsa-391">DSA-391 freesweep</a></li>
<li><a href="$(HOME)/security/2003/dsa-398">DSA-398 conquest</a></li>
<li><a href="$(HOME)/security/2003/dsa-400">DSA-400 omega-rpg</a></li>
<li><a href="$(HOME)/security/2003/dsa-405">DSA-405 xsok</a></li>
<li><a href="$(HOME)/security/2004/dsa-420">DSA-420 jitterbug</a></li>
<li><a href="$(HOME)/security/2004/dsa-430">DSA-430 trr19</a></li>
<li><a href="$(HOME)/security/2004/dsa-432">DSA-432 crawl</a></li>
<li><a href="$(HOME)/security/2004/dsa-445">DSA-445 lbreakout2</a></li>
<li><a href="$(HOME)/security/2004/dsa-446">DSA-446 synaethesia</a></li>
<li><a href="$(HOME)/security/2004/dsa-447">DSA-447 hsftp</a></li>
<li><a href="$(HOME)/security/2004/dsa-451">DSA-451 xboing</a></li>
<li><a href="$(HOME)/security/2004/dsa-462">DSA-462 xitalk</a></li>
<li><a href="$(HOME)/security/2004/dsa-468">DSA-468 emil</a></li>
<li><a href="$(HOME)/security/2004/dsa-472">DSA-472 fte-console</a></li>
<li><a href="$(HOME)/security/2004/dsa-484">DSA-484 xonix</a></li>
<li><a href="$(HOME)/security/2004/dsa-508">DSA-508 xpcd</a></li>
<li><a href="$(HOME)/security/2004/dsa-509">DSA-509 gatos</a></li>
<li><a href="$(HOME)/security/2004/dsa-510">DSA-510 jftpgw</a></li>
</ul>
#use wml::debian::template title="Conducting an audit"
#use wml::debian::recent_list
#use wml::debian::translation-check translation="1.6"

# Last Translation Update by $Author: luk $
# Last Translation Update at $Date: 2004/05/27 14:39:11 $

<p>This page gives a rough overview of the steps necessary to conduct
 an audit of a package.</p>

<p>The first step is to actually choose a package to examine, you should
 pick one that's more critical to security.</p>
<p>See <a href="$(HOME)/security/audit/packages">the
list of packages that we think are most important to audit</a> for suggestions on how to make your decision.</p>
<p>One thing that should be made clear is that we are <i>not</i> trying
 to make sure that a package is only audited once.  If many people choose to
 examine the same package this is a good thing, as it demonstrates that 
 many people believe the package is security sensitive.</p>
<p>By allowing an essentially random selection of of packages we simplify
 coordination and we eliminate the problem of "how can you trust
person X to do a good job?"  (We don't need to as it is assumed that sooner
 or later somebody else will choose to examine the same program).</p>

<h2>Starting the audit</h2>
<p>After making your package selection you actually need to start the audit.</p>
<p>If you're not sure about the kind of problems you're looking for
 first start by reading a book on how to develop secure software.</p>
<p>The <a href="http://www.dwheeler.com/secure-programs";>Secure Programming for Linux and Unix HOWTO</a> has a lot of good information that can help you.</p>

<p>Although tools are imperfect, they can still be extremely helpful in finding likely vulnerabilities, See <a href="tools">the auditing tools page</a> for more information on some of the available auditing tools and how they are used.</p>
<p>As well as looking at the code itself it is a good idea to read the 
 documentation of the package itself, and try installing it and using it.</p>
<p>This might allow you to think of ways to subvert the program in
 its typical operation.</p>



<h2>Reporting Problems</h2>
<p>If you do discover a problem within the package that you are examining it
 then you should report it.</p>
<p>As security bugs shouldn't be disclosed generally until after they have 
been fixed <i>do not</i> report them via the standard <a
href="http://bugs.debian.org/";>Debian Bug Tracking System</a>, instead
report the problem directly to <a href="$(HOME)/security/">the Security
Team</a> who will handle the release of an updated package.</p>
<p>Ideally each report should contain a fix for the problem which you have discovered, which has been tested and verified to actually close the problem.</p>
<p>If you do not have a fix then the more detail you can give on the scope of the problem, the relative severity of the issue and any workarounds the better.</p>
<p>The security team will coordinate with any other Linux Distributions if necessary and contact the package maintainer on your behalf.</p>

#use wml::debian::template title="Debian Security Audit Project"
#use wml::debian::recent_list
#use wml::debian::translation-check translation="1.11"

# Last Translation Update by $Author: luk $
# Last Translation Update at $Date: 2004/05/27 14:39:11 $

<p>Het Debian Security Audit Project is een project dat zich bezighoudt met de
audit van Debian-pakketten inzake veiligheidsproblemen.</p>
<p>In de korte tijd dat het werkzaam is, is het verantwoordelijk voor meerdere
<a href="$(HOME)/security/">Debian Veiligheidsadviezen (DSA's)</a>, dit bewijst
dat dit auditproces echt werkt om de veiligheid van Debian te verbeteren. 
Hopelijk zullen er nog meer adviezen komen van toekomstig werk.</p>
<p>Door een proactieve standpuntinname door een audit van code kunnen we helpen
verzekeren dat Debian haar lange geschiedenis van veiligheid serieus nemen, 
blijft waarmaken.</p>


<h2>Audit Bereik</h2>
<p>De doelstelling van het project is om zoveel mogelijk pakketten uit de 
stabiele distributie aan een audit van potentiële problemen te onderwerpen. 
Belangrijke pakketten uit de onstabiele distributie kunnen ook onderzocht 
worden om de kans op onveilige pakketten die toetreden tot de stabiele 
Debian-distributie te verkleinen.</p>
<p>Door de grote omvang van de huidige Debian-distributie is het voor een klein
team onmogelijk om alle pakketten aan een audit te onderwerpen. Dus is er een
systeem van prioritaire pakketten die gevoeliger zijn voor veiligheidsproblemen.</p>
<p>De <a href="packages">prioriteitsrichtlijnen</a> proberen te verzekeren dat
tijd wordt gespendeerd aan de audits van pakketten die belangrijk zijn en het
<a href="tools">audithulpmiddelenoverzicht</a> toont hoe sommige beschikbare
broncodescanners kunnen gebruikt worden om een audit te leiden.</p>

<h2>Voorheen Uitgebrachte Adviezen</h2>
<p>Voor elk pakket dat voor een veiligheidsprobleem kwetsbaar werd geacht, wordt
er een <a href="$(HOME)/security/">DSA</a> uitgegeven door het Debian 
Veiligheidsteam.</p>
<p>Als referentie is er een <a href="advisories">lijst van vroegere adviezen</a>
die rechtstreeks resulteerden uit het auditproces.</p>

<h2>Verdere Informatie</h2>
<p>Verdere informatie over het project kan gevonden worden in de <a href="faq">FAQ voor Veiligheidsaudit</a>.</p>


#use wml::debian::template title="Audit voor Pakketbeheerders"
#use wml::debian::recent_list
#use wml::debian::translation-check translation="1.4"

# Last Translation Update by $Author: luk $
# Last Translation Update at $Date: 2004/05/27 14:39:11 $

<p>Als u de beheerder bent van een pakket in het Debian-archief overweeg dan om
zelf de code te inspecteren.</p>

<p>De aanwezigheid van hulpmiddelen voor broncode-audit kunnen dit proces sterk
vergemakkelijken, ook als u niet de tijd heeft om zelf een grondige audit te
doen, kunt u potentieel problematische stukken vinden.</p>

<p>Als u hulp nodig heeft, overweeg dan om u in te schrijven op de <a href="http://shellcode.org/mailman/listinfo/debian-audit";>debian-audit mailinglijst</a> en
vraag naar een vrijwilliger om uw pakket te inspecteren.</p>
 
<h2>Niewe Versies</h2>
<p>U moet als verantwoorde beheerder een oog houden op nieuwe versies van uw 
pakket. Als de changelog het heeft over veiligheidsproblemen, dan moet u 
trachten te achterhalen of u een kwetsbare versie heeft in de stabiele
distributie.</p>
<p>Als u een kwetsbare versie heeft in de onstabiele distributie, contacteer dan
het veiligheidsteam - zoals beschreven in de <a href="/security/faq">veiligheidsteam FAQ</a>.</p>

#use wml::debian::template title="Pakketprioriteitsrichtlijnen voor de Audit"
#use wml::debian::recent_list
#use wml::debian::translation-check translation="1.7"

# Last Translation Update by $Author: luk $
# Last Translation Update at $Date: 2004/05/27 14:39:11 $

<p>Beslissen welke pakketten moeten onderzocht worden is één van de eerste
problemen bij het uitvoeren van een audit op de Debian-distributie.</p>
<p>Het zou ideaal zijn, mochten alle pakketten onderzocht worden, maar door de
grote omvang van het archief, is er nood aan een eenvoudige manier om een 
prioriteit toe te kennen aan het werk.</p>
<p>Als een aantal eenvoudige richtlijnen, zijn de volgende pakketten het
waard om als eerste te worden onderzocht:</p>
<ol>
<li>Elk binair bestand dat wordt geïnstalleerd met de setuid- of de setgid-vlag gezet.</li>
<li>Alles wat een netwerkdienst aanbiedt.</li>
<li>Elk vanbuiten uit toegankelijk CGI/PHP-script.</li>
<li>Alles wat een cronjob of een ander automatisch script bevat met root-privileges.</li>
</ol>
<p>Populaire pakketten hebben normaal een hogere prioriteit, aangezien elk
probleem met ze een groter aantal gebruikers zal bereiken.</p>
<p>De <a href="http://popcon.debian.org/";>Debian Populariteit Wedstrijd</a>
houdt een dynamische lijst bij van welke pakketten het populairst zijn onder
te vrijwilligers die deelnemen.</p>
<p>Bekijk in het bijzonder de <a href="http://popcon.debian.org/by_vote";> 
pakketten gesorteerd volgens stemmen</a>.  Dit rangschikt de pakketten naar het
aantal keer dat ze gebruikt worden door de mensen die deelnemen.</p>
<p>Als een pakket belangrijk is voor de veiligheid, vooral als het voldoet aan
één van bovenstaande criteria en het is populair, dan is het <i>zeker</i> een
kandidaat voor inspectie.</p>

<h2>Binaire bestanden met de <tt>setuid</tt>- of <tt>setgid</tt>-vlag gezet</h2>
<p>Binaire bestanden met de <tt>setuid</tt>- of <tt>setgid</tt>-vlag gezet, 
zijn de traditionele doelen van veiligheidsaudits omdat een veiligheidslek
in een binair bestand met deze permissies kan leiden tot een lokale gebruiker
die priviliges verkrijgt die hij anders niet zou mogen hebben.</p>
<p>Om de zoektocht te helpen is er hier een lijst van alle binaire bestanden met
de setuid- of setgid-vlag gezet in de huidige stabiele distributie in een 
doorzoekbaar formulier:</p>
<ul>
<li><a href="http://shellcode.org/Setuid/";>Doorzoekbare setuid/setgid-lijst</a></li>
</ul>
<p>Wanneer er tussen deze binaire bestanden gekozen moet worden, is het 
belangrijk om te onthouden dat sommige binaire bestanden gevoeliger zijn voor
veiligheidsproblemen dan andere. Binaire bestanden met de setuid(root)-vlag
gezet zouden bijvoorbeeld vóór die met de setgid(games)- of setuid(bugs)-vlag 
moeten onderzocht worden.</p>

<h2>Netwerkservers</h2>
<p>Netwerkservers zijn een andere evidente inspiratiebron wanneer het aankomt
op het uitvoeren van een veiligheidsaudit omdat veiligheidslekken met hen
kunnen leiden tot aanvallen op andere machines.</p>
<p>Veiligheidslekken op andere machines zijn gewoonlijk veel erger dan lokale.</p>

<h2>Online Scripts</h2>
<p>Online scripts, vooral CGI-scripts, behoren eigenlijk tot dezelfde klasse
als netwerkservers - hoewel uw webserver zelf veilig kan zijn, zijn de scripts
die erop uitvoeren even belangrijk.</p>
<p>Een bug in een script dat beschikbaar is over het netwerk is even ernstig 
als een bug in een server die luistert voor verbindingen - beide kunnen uw
machine even veel compromiteren.</p>

<h2>Cronjobs en systeemdiensten</h2>
<p>Terwijl er niet veel zijn, is het waard om de automatische scripts, cronjobs,
enz. binnen pakketten te bekijken.</p>
<p>Veel ondersteunende dingen worden standaard als root-gebruiker uitgevoerd
om logboekbestanden te verwijderen, enz.</p>
<p>Een succesvolle uitvoering van een symbolische koppelingaanval kan resulteren
in een lokaal veiligheidslek.</p>
#use wml::debian::template title="Hulpmiddelen voor de Veiligheidsaudit"
#use wml::debian::recent_list
#use wml::debian::translation-check translation="1.9"

# Last Translation Update by $Author: luk $
# Last Translation Update at $Date: 2004/05/27 14:39:11 $

<p>Er zijn verschillende pakketten beschikbaar in het Debian-archief die zijn
ontworpen om met veiligheidsaudits te helpen. Dit zijn onder andere:</p>

<ul>
<li><a href="http://packages.debian.org/flawfinder";>Flawfinder</a>
<ul>
<li><a href="examples/flawfinder">Voorbeeld flawfinder-gebruik</a></li>
</ul></li>
<li><a href="http://packages.debian.org/its4";>ITS4</a>
<ul>
<li>Er is geen voorbeeld voor ITS4 omdat het verwijderd is uit de onstabiele distributie.</li>
</ul></li>
<li><a href="http://packages.debian.org/rats";>RATS</a>
<ul>
<li><a href="examples/RATS">Voorbeeld RATS-gebruik</a></li>
</ul></li>
<li><a href="http://packages.debian.org/pscan";>pscan</a>
<ul>
<li><a href="examples/pscan">Voorbeeld pscan-gebruik</a></li>
</ul></li>
</ul>

<p>Geen enkel hulpmiddel is perfect en ze kunnen enkel gebruikt worden als
richtlijnen voor verdere studie, maar omdat ze eenvoudig zijn in gebruik, is 
het waard ze eens uit te proberen.</p>
<p>Elk hulpmiddel heeft andere sterktes en zwaktes, dus is het aangeraden meer
dan één te gebruiken.</p>

<h2>Flawfinder</h2>
<p>flawfinder is een Python-hulpmiddel dat is ontworpen om C- en C++-broncode
te inspecteren naar potentiële veiligheidslekken.</p>
<p>Wanneer uitgevoerd tegen een map die broncode bevat, zal het een rapport
geven van de potentiële problemen die het heeft gedetecteerd, gesorteerd naar
risico (waar <i>risico</i> een getal 1-5 is). Om kleine risico's niet te laten
zien, kunt u het programma problemen onder een bepaald risiconiveau laten
negeren. Standaard is de uitvoer in platte tekst, maar er is ook een 
HTML-rapport beschikbaar.</p>
<p>Het programma werkt door het scannen van de code en het bekijken van het
gebruik van functies die zich in haar databank bevinden als functies die
vaak verkeerd worden gebruikt.</p>
<p>Om het lezen van het rapport te vergemakkelijken, is het mogelijk om het 
rapport de regel waarop de functie wordt gebruikt te laten weergeven, dit kan
nuttig zijn om onmiddelijk te detecteren of er al dan niet een probleem is.</p>
<p>U kunt een voorbeeld van het gebruik van flawfinder en haar uitvoer bekijken
in de <a href="examples/">auditvoorbeeldensectie</a>.</p>

<h2>ITS4</h2>
<p>ITS4 is een hulpmiddel in de non-free sectie van het Debian-archief, het is
enkel beschikbaar in de stabiele distributie.</p>
<p>ITS4 kan gebruikt worden om C- and C++-code te scannen voor potentiële 
veiligheidslekken, ongeveer zoals flawfinder.</p> 
<p>De gegenereerde uitvoer probeert intelligent te zijn door sommige gevallen
waar de gevaarlijke functies voorzichtig zijn aangeroepen, te negeren.</p>


<h2>RATS</h2>
<p>RATS is een vergelijkbaar hulpmiddel met de uitzondering dat het 
ondersteuning biedt voor een veel groter bereik van talen. Momenteel heeft het
ondersteuning voor C, C++, Perl, PHP en Python.</p>
<p>Het hulpmiddel gebruikt een eenvoudig XML-bestand om haar veiligheidslekken
in te lezen wat het één van de gemakkelijkst aan te passen hulpmiddeln is.
Nieuwe functies kunnen gemakkelijk toegevoegd worden voor elk van de 
ondersteunde talen.</p>
<p>U kunt een voorbeeld van het gebruik van RATS en haar uivoer bekijken in de
<a href="examples/">auditvoorbeeldensectie</a>.</p>


<h2>pscan</h2>
<p>pscan verschilt van de vorige hulpmiddelen omdat het helemaal geen scanner is
voor algemeen gebruik. In plaats daarvan is het specifiek gericht op het 
detecteren van formaatstring-bugs.</p>
<p>Het hulpmiddelen zal proberen potentiële problemen te vinden door het
gebruik van variadische functies in C- en C++-broncode, zoals <tt>printf</tt>, 
<tt>fprintf</tt> en <tt>syslog</tt>.</p>
<p>Formaatstring-bugs zijn nogal gemakkelijk op te sporen en te herstellen, 
hoewel ze de recentste nieuwe klasse van softwareaanvallen zijn, is de 
meerderheid van hun waarschijnlijk al gevonden en hersteld.</p>
<p>U kunt een voorbeeld van het gebruik van pscan en haar uitvoer bekijken in de
<a href="examples/">auditvoorbeeldensectie</a>.</p>


<h2>Scanneruitvoer Begrijpen</h2>
<p>Alle algemene scanhulpmiddelen zullen uitvoer genereren die beschrijft 
welke problemen werden gedetecteerd en misschien advies geven om ze op te 
lossen.</p>
<p>Bijvoorbeeld is het volgende genomen uit de uitvoer van RATS wat de gevaren
van <tt>getenv</tt> beschrijft:</p>
<p>&quot;Omgevingsvariabelen zijn weinig betrouwbare invoer. Ze kunnen van om
het even welke lengte zijn en kunnen om het even welke data bevatten. Maak geen
veronderstellingen inzake inhoud of lengte. Als het enigzins mogelijk is, 
probeer ze dan te vermijden en als het gebruik noodzakelijk is, kuis ze dan en
trunceer ze op een redelijke lengte.&quot;</p>
<p>Als u meer advies nodig heeft bij het herstellen van een lek dat werd
gerapporteerd zou u een boek over veilig programmeren moeten bestuderen, zoals
de <a href="http://www.dwheeler.com/secure-programs/";>Secure Programming for Linux and Unix HOWTO</a> by David A. Wheller.</p>
<p>(Onthou dat wanneer u veiligheidsproblemen rapporteert, een patch die het 
lek repareert sterk geapprecieerd wordt)</p>
<p>Discussion related to closing a particularly problematic piece of code can also be held upon the <a href="http://shellcode.org/mailman/listinfo/debian-audit";>debian-audit mailing list</a>, just be careful not to make it obvious which program contains the flaw.</p>

Reply to: