Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 32 reacties

Google heeft een scannertool vrijgegeven waarmee diverse veiligheidsaspecten van webapplicaties kunnen worden geanalyseerd. Skipfish is opensource en zou volautomatisch en op hoge snelheid webapps nalopen.

SkipfishSkipfish is geschreven in C en doorloopt een site op diverse veiligheidsaspecten, waaronder gesimuleerde aanvallen als dictionary attacks en cross-site scripting, zo stellen de makers. De tool zou op lokaal niveau meer dan 7000 requests per seconde op zijn doelwit kunnen afvuren en via een internetverbinding meer dan 500 requests behalen. De ontwikkelaars beloven dat het cpu- en geheugengebruik daarbij binnen de perken blijft. De eindresultaten worden in een interactieve sitemap gepresenteerd.

Volgens Google zijn tools als Skipfish nodig om de veiligheid van webapplicaties te beproeven, maar het geeft toe dat de scanner niet voor alle doeleinden geschikt is. Zo zou het niet alle voorschriften volgen die in de Web Application Security Scanner Evaluation Criteria zijn opgesomd.

Het vrijgeven van zelfontwikkelde tools is een logische stap van Google; dat eerder in hetzelfde genre ratproxy vrijgaf, een tool die passief websites op diverse veiligheidsproblemen controleert. Verder maakte de zoekgigant onder andere de code van zijn experimentele programmeertaal 'Go' opensource en gaf het enkele Javascript-tools vrij.

Skipfish

Moderatie-faq Wijzig weergave

Reacties (32)

Jammer dat ze alleen broncode aanbieden, en geen gecompileerde versie. Ik heb echt geen zin om me drie slagen in de rondte te gaan werken om tot een exe te komen. Dat heb ik nml nog nooit op een soepele manier voor elkaar gekregen.
Zo moeilijk is het nou ook weer niet. Ik heb deze tutorial gevolgd (is dus bedoeld voor ratproxy, maar de uitleg is ook bruikbaar voor skipfish), enige packages die ik extra moest selecteren zijn libidn-devel en zlib.
Moeilijk is wellicht anders, maar cygwin staat hier alweer twintig minuten te stampen op de installatie. Nee, ik heb geen high-end pc.

Het is voor de makers toch net zo makkelijk om even een executable voor Windows te compileren, dat scheelt honderden, zo niet duizenden mensen een hoop moeite om een omgeving te installeren die ze erna nooit meer gebruiken.
Nee het is niet net zo makkelijk, want dan had men eerst nog een port voor Windows moeten schrijven.

Maargoed, Skipfish staat hier al weer een uur te pruttelen (ja op een trage bak :P ) en dat op een simpele site met maar een paar pagina's. Misschien had ik beter niet de complete template kunnen gebruiken :P
Het is een commandline tool die op OpenSSL en zlib na geen rare libraries gebruikt, dus dat zou prima op Windows moeten kunnen draaien imho.
anti-script-kiddie beveiliging. Als het compileren van die code zo'n groot probleem is heb je waarschijnlijk ook niet de kennis in huis om de uitvoer van die tool te begrijpen.

Als auteur van een dergelijk programma wil je ook niet verantwoordelijk zijn voor een klaslokaal vol pubers die hun school website crashen met een dergelijke tool.
drie slagen in de rondte werken? even kijken...
jorik@seven:~/skipfish$ make
cc skipfish.c -o skipfish -Wall -funsigned-char -g -ggdb -D_FORTIFY_SOURCE=0 -I/usr/local/include/ -I/opt/local/include/ -O3 -Wno-format http_client.c database.c crawler.c analysis.c report.c -lcrypto -lssl -lidn -lz -L/usr/local/lib/ -L/opt/local/lib

NOTE: See dictionaries/README-FIRST to pick a dictionary for the tool.
dat was wel heel moeilijk... 8)7
Hij gebruikt windows en wil een .exe

Voor je make uberhaupt aan de gang hebt onder Windows ben je een paar hoofdstukken verder want dat is gebruikersvriendelijk.
Als je dan ook ff een win32 exe maakt ;)
Ben je al eens op de site geweest?

"The tool is believed to support Linux, FreeBSD 7.0+, MacOS X, and Windows (Cygwin) environments."

Doelpubliek is dus non-Windows. Maar als je wilt kan je het wel doen werken op windows.
Dit is reuze handig, even snel scannen ipv. zelf de broncode door te moeten lezen of het betrouwbaar is en mensen/zelf je site aan te vallen om het te controleren. Ik denk dat door deze tool het web wel wat veiliger word. Helemaal als de fouten ook met oplossingen worden weergegeven, zodat je makkelijk je site veiliger kan maken.
Ik vraag me af hoe kundig zo iets werkt; bedoel als je kwaad wil, zijn er 1001 manieren (die iedere op eigen manier uitvoerd) wat het herleiden van een fout/storing/malware whatever lastig maakt.

kijk dingen als format c:/ blablabla worden ongetwijfeld herkend, maar cryptischer en met variabele etc. ... eerst zien dan geloven
Allemaal niet echt waar. Heb de tool nog niet geprobeerd, maar er zijn twee opties:

- Als de tool gebruik maakt van static analysis, dan wordt de broncode geinterpreteerd en d.m.v. tainting wordt alle data in variabelen gevolgd. Sommige functies maken data veilig voor andere functies. Bv, als je een escape functie hebt voor sql, dan mag je pas je data in je sql queries stoppen als het door de escape functie is geweest. Zo'n aanpak is echter programmeertaal afhankelijk.

- Andere optie is om runtime input te generen waarvan bekend is dat het problemen veroorzaakt (bv html karakters, sql karakters, etc etc) en kijk dan naar de uitvoer.

Allebei de manieren hebben problemen en ze zijn zeer zeker neit feilloos, maar daar is het ook neit voor bedoeld. Het is bedoeld om een eerste check te hebben. Het is niet voor niks dat je code laten screenen op security fouten nog steeds zo mega duur is, t kost een hoop tijd om dat te doen en zoiets automatiseren is (bijna) niet mogelijk doordat een programmeertaal bijzonder expressief is.
Als de tool over een internetverbinding kan werken, en daar 500 requests per seconde over kan sturen, ga ik er van uit dat een static analysis onmogelijk is (tenzij er op miraculeuze wijze de broncode van een webapplicatie opgevraagd kan worden, en dan wil ik toch eens in de C source kijken :D ).
Wat er daadwerkelijk gebeurt is, denk ik, dat de applicatie scant op forms, die vult met speciale karakters (inderdaad voor XSS en SQL injection aanvallen, en wie weet wat nog meer). Daarnaast zal deze in urls proberen om "../.." etc neer te zetten, om te kijken of relatieve paden goed worden afgevangen. Maar om precies te weten wat het doet, moet je toch even in de C source kijken :)
ja dat zeker, maar door deze tool word het wel veiliger. Zelf zul je uiteraard die 1001 manieren ook niet kennen. Maar Deze tool kent er waarschijnlijk wel meer dan jezelf. En dan vind ik het dus wel handig dat deze tool er is. Natuurlijk gaat het nooit lukken om 100% veilig te zijn. Dan is er voor al die H4XZ0r's ook niks meer aan :P
Tegenwoordig wordt er niet echt meer op regels gezocht omdat het onbegonnen werk is. Je gebruikt white/black lists of je laat iets los in een sandbox en kijkt of het zich vijandig gedraagt.

Voor Google lijkt het me enorm belangrijk om resources te sparen op het internet, dus zeer vreemd om dan ouderwetse manieren te gebruiken.
Deze tool moet ervoor zorgen dat er geen 1001 manieren meer zijn, maar misschien 101; dat beperkt de mogelijkheden en vergroot dus de veiligheid :).
De meeste dingen waar men op zoekt zijn of het in theorie mogelijk is om misbruik te maken. Bijvoorbeeld simpele dingen als zijn files niet te vrijgevig wat betreft rechten. Kan ik scripts injecten, en kan ik bijvoorbeeld cross site scripting aanvallen gebruiken. Dat zijn veel gemaakte fouten in de beveiliging van websites.

Je moet niet vergeten dat 90% van de websites gebouwd is door mensen die niets anders doen dan voorbeelden van andere websites af plukken om hun site dan van meer mogelijkheden te voorzien etc. Maar als je kijkt naar de veiligheid van veel van deze voorbeeld code dan is het vaak om te huilen. Heel erg veel voorbeelden zijn gewoon niet veilig omdat ze bijvoorbeeld script injection gewoon toestaan en ook cross site scripting zonder enig probleem mogelijk maken.

De tool zal dus niet zo zeer alle mogelijke fouten vinden dat kan niemand en dat is al helemaal onmogelijk met een tool maar wel om de meest voorkomende methode van aanvallen te testen en te zien waar het mis gaat.
De tool al dan waarschijnlijk ook niet de code zelf lezen maar eerder gewoon proberen of het mogelijk is misbruik te maken van bekende lekken en dan vervolgens waarschuwen als de site in zo'n aanval trapt. Dat is een veel eenvoudigere manier om misbruik mogelijkheden te bewijzen dan door een gehele site te scannen en alle code op alle mogelijke manieren te doorlopen.
Nadeel van het vrijgeven van deze tools is dat hij wellicht ook omgekeerd gebruikt kan worden. Als hacker zou ik met deze tool makkelijk kunnen kijken waar een potentieel lek in een website zit.
Andere mensen die ook kundig zijn kunnen diezelfde lekken weer fixen in een update. :)
Veel hackers maken al gebruik van dit soort tools. Het zijn de automatische scans die je nog al eens in je acces logs tegen zal komen waarbij iemand probeert alle mogelijke index.php phpinfo.php blablabla.cgi etc allemaal te bezoeken. Alles wat ze vinden waarvan ze weten dat er een lek in zou kunnen zitten wordt dan automatisch getest op deze fouten, worden ze gevonden dan wordt de site meteen even bj de beheerder van de tool gemeld als zijnde een leuke target voor een hack poging.

Net als een crimineel die eerst eens langs de deuren gaat met een verkoop praatje om eens goed te kijken naar je deur en als het even kan ook binnen het hang en sluit werk komt bekijken voor een beslissing te maken wie vanavond de gelukkige is...
Deze methode is niet waterdicht, je zal altijd andere methodes er op los moeten laten. (handmatig of niet)
Ik zie het nut er niet echt van in? Als iemand kwade bedoelingen heeft dan code hij/zij (als dit echt groot wordt) er toch wel omheen..
Beter geen sloten op de deur want als iemand in je huis wil breekt hij de boel toch wel open.
Precies.. En zoals hieronder iemand zegt; " misbruik " ? :)
Kan dit niet misbruikt worden om zwakheden te ontdekken, in plaats van gebruikt? :o
Vast wel. Echter, iedereen kan zulke tools maken, en hackers beschikken vast al over scripts die hetzelfde doen. Dan heb ik liever dat iedereen er gebruik van kan maken dan dat alleen een paar kwaadwillenden erover beschikken. Hetzelfde geldt eigenlijk voor al dit soort software, software om geheugenproblemen te detecteren in C kan ook misbruikt worden voor exploits :)
Klinkt niet slecht, zoals al door een paar mensen gezegd kan het wel gebruikt worden om lekken op te sporen denk ik, maar dan nog.
Dat je software gebruikt word op een andere wijze dan dat het bedoeld is gebeurd wel meer, moet je als programmeur maar mee leren leven, of ervoor zorgen dat het enkel gebruikt kan worden voor dingen die je wil...

Maar ik zie er het positieve wel van in.
Het lijkt een beetje op een gratis variant van SpiDynamics WebInspect. Daarmee kon je 5 jaar geleden ook al websites /webapplicaties bestormen met diverse typen aanvallen om kwetsbaarheden te achterhalen. Nadeel was wel dat je een slecht ontworpen webapp dus ook op zijn bek liet gaan.

Op zich is dit dus wel interessant, mits er inderdaad naar XSS, SQL Injection en dergelijke wordt gekeken. Dan kan je je webapp dus goed testen op domme fouten.
Ik heb hem nu draaien, compilen ging goed nadat ik libidn geÔnstalleerd had. Hij draait echter maar op 500 requests per seconde, terwijl het lokaal is. Zal er een check in zitten voor welk domein je gebruikt? Ik heb namelijk lokaal een server draaien die ook van buitenaf te bereiken is (domein resolved op laptop zelf naar localhost). Beetje jammer. :9
Ik zie uit naar de win32 app :) Tot die tijd wacht ik nog even.
Hoe stop je eigenlijk mensen die een dergelijke tool op je site (apache) loslaten ?

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True