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 , , 68 reacties

Het team achter het 'Mechanical Phish'-systeem heeft dit open source gemaakt op GitHub. Met dit systeem wist het Shellphish-team begin augustus de derde plaats op de Darpa Cyber Grand Challenge te halen. Het is in staat om automatisch lekken in software te vinden en te patchen.

In een bericht bij het GitHub-project schrijft het team dat de software 'extreem gecompliceerd' is. Dit heeft ermee te maken dat er voor de Cyber Grand Challenge geen soortgelijk systeem bestond, zo leggen de makers uit. Daarom is Mechanical Phish voorzien van een groot aantal 'ruwe' componenten en ontbreekt er op veel gebieden documentatie. Het zelfbenoemde hackercollectief Shellphish hoopt dan ook dat de community het project oppakt en verbetert, vooral op dit laatste punt.

Het team waarschuwt ook dat Mechanical Phish moeilijk op te zetten is. Sommige componenten van het project hebben eigen GitHub-pagina's en andere vallen onder het hoofdproject. Zo worden kwetsbaarheden bijvoorbeeld gevonden door het Rex-onderdeel en is de Patcherex-component verantwoordelijk voor het uitvoeren van patches. Alles wordt vervolgens bijeengehouden door de Worker-component.

De finale van de Cyber Grand Challenge vond begin augustus plaats in de Amerikaanse stad Las Vegas. Dit was de eerste keer dat een toernooi plaatsvond waarbij de deelnemende systemen automatisch lekken in elkaars software moesten ontdekken en tegelijkertijd eigen kwetsbaarheden moesten verhelpen. Het toernooi werd gewonnen door het 'Mayhem'-systeem van het ForAllSecure-team, wat dat team twee miljoen dollar opleverde. Het Amerikaanse Darpa heeft het toernooi georganiseerd om de ontwikkeling van systemen die zelfstandig beveiligingstaken kunnen uitvoeren te steunen.

cyber grand challenge

Moderatie-faq Wijzig weergave

Reacties (68)

ik verwacht niet dat dit systeem banen kost.

Dit systeem zorgt ervoor dat heel veel onderbezetting nu opgelost wordt binnen verschillende organisaties.
Nu kunnen de mensen die dit handmatig deden zich bezig houden met andere zaken die langer bleven liggen.

Los daarvan moet je elke bevinding of systeem wat bevindingen ophoest nog even controleren ( periodiek ). het gewicht van een lek is afhankelijk van context. ik heb zat organisaties in mijn klantenkring zitten die bepaalde lekken niet oppakken omdat impact en risico extreem klein zijn en patch kosten niet opwegen tegen re-deploy kosten.
Ik denk dat criminelen en inlichtingendiensten wel oren hebben naar automatisch zoeken naar software-lekken. Er is nu al een enorme (zwarte) handel tussen bedrijven/hackers enerzijds en overheden/criminelen anderzijds waarbij exploits gewoon verkocht worden aan de hoogste bieder.

Daarnaast lijkt het automatisch zoeken mij meer gewenst dan automatisch patchen, voornamelijk omdat beheerders graag de touwtjes in handen blijven hebben qua veranderingen. Vandaar dat 'experts' auto-updates vaak ook uit zetten waar mogelijk. Het zou zelfs zomaar kunnen dat bovenstaande software juist banen creŽert doordat men meer ongepatchte fouten vindt die hersteld moeten worden of onjuist auto-gepatchte lekken die verholpen moeten worden.
Zulke tools zijn er al, alleen dan niet opensource.
Kijk bijvoorbeeld naar Accunetix en Burp Suite.
Dit zijn 2 tools die ik dagelijks gebruik bij pentesten, Accunetix om eerst een globale scan van het systeem te krijgen en burp suite om dieper in een "bug" in de code te kruipen,

Daarbij kun je burp ook code laten scannen, waarna hij eventuele lekkages vermeld zoals SQLi of XSS.

Vaak worden bij Responisble Disclosure zaken expliciet vermeld om geen gebruik te maken van Accunetix, omdat iedereen die toegang heeft tot deze tool met dezelfde fouten komt en het een heel serverpark onderuit kan halen

Kijk hier is voor een overzichtje met alle scanners :)
https://www.owasp.org/ind...nerability_Scanning_Tools

Het grappig is hierbij het automatisch patchen, dit wordt vaak nog gedaan door de eventuele applicatie beheerders. Maar deze zijn zich vaak niet bewust dat ze een eventueel nieuw lek maken :)
Maar dit probleem blijf je denk ik ook houden met automatisch patchen. Wat beter zou zijn is alleen een "uitleg"over hoe het te patchen is zodat een beheerder nog steeds zelf de touwtjes in handen heeft en dit niet door een systeem laat doen wat ook eventueel ook kwetsbaar is voor lekken. :) Zoiets als SonarQube

[Reactie gewijzigd door isene op 22 augustus 2016 16:21]

Denk je niet dat de meer gevorderde criminelen en vooral inlichtingendiensten al lang sommige van de methoden die deze software toepast om lekken te vinden, hadden gevonden? Beter dat deze tools breed beschikbaar zijn zodat de lekken kunnen worden gedicht voordat ze worden misbruikt.
Onderbezetting is alleen, omdat bedrijven het zelf creeeren, namelijk personeel kosten verlagen, en zo een te hoge werkdruk creŽren voor overgebleven werknemers.

Je kan best besparen, maar ergens houd het op, en personeel heb je toch echt nodig. Als het aan de directeur (en aandeelhouders) van een grote corp zou liggen, zou hij 2 werknemers in dienst hebben, zijn secretaresse en een werknemer voor de rest van alle zaken.

Service bestaat amper nog, en je bent als klant voortaan zelf de werknemer.
Vroeger kon ik bij mijn bank een afspraak maken, en dan kreeg ik wat drinken aangeboden.
Nu moet ik het maar regelen via internet, en zelf formulieren invullen (die informatie hebben ze overigens al tig keer).

En ik betaal wel meer, voor minder service..

[Reactie gewijzigd door Zezura op 22 augustus 2016 15:41]

Wow heel bijzonder! :) Dit kan veel programmeurs overbodig maken.
Nou niet bepaald, dit programma zoekt en patched alleen problemen in de software, het maakt zelf geen software.

Programmeurs zullen er altijd moeten zijn voor het maken van de software, dit programma doet als het ware alleen de fouten opspeuren en patchen.
Ooh dat zeg ik niet ! :) Maar het zoeken naar problemen en ze oplossen das toch wel een groot deel van het werk van een programmeur. Verder zijn er ook programma's waar ze mee bezig zijn die zichzelf kan programmeren. Een voorbeeldje hier >

http://www.dailymail.co.u...smart-program-ITSELF.html
Ja dat klopt, eigenlijk zijn dus de "White-Head hackers" totaal niet meer nodig bij bedrijven. Daar hebben ze nu dit tooltje voor
FYI: het is 'white hat', in plaats van 'head'. :)
Haha dat is wel de ergste variant op 'there's an app for that' die ik ooit gehoord heb.

Er is geen 100% garantie dat dit stukje software ALLE security holes vind
Zodra er software is die uit zich zelf "slimmer" wordt om het zo maar te zeggen is het daarna totaal niet meer nodig, de AI zal dan via algorithms een oplossing proberen te vinden voor het probleem en deze dan toepassen, mocht deze niet werken wordt dat opgeslagen als niet werkend. Hij zal zo door blijven gaan totdat die een patch heeft gevonden voor het probleem, mocht het probleem niet op te lossen zijn DAN kunnen ze personeel inschakelen, maar dat willen ze zo min mogelijk hebben.
Mee eens.

Maar er worden ook nog steeds nieuwe gaten ontdekt, die wel eerst in dit stukje software geprogrammeerd moeten worden... Immers als dit stukje software totaal niet bewust is van een nieuw type security hole (denk bijvoorbeeld aan de spanning veranderden in RAM cells, waardoor een bit van 1 naar 0 kan springen, en je zo het systeem kan twisten, dan gaat ie er ook niet achter komen.

bron:
https://www.wired.com/201...am-memory-electric-leaks/

En tegen de tijd dat AI zo slim is dat ie zulke 'onlogische out-of-the-box situaties' kan bedenken en gaat testen, dan hebben we nergens meer mensen voor nodig

[Reactie gewijzigd door DutchKevv op 23 augustus 2016 12:41]

Mee eens.

We zijn nu naar het tijdperk aan het gaan waar de meeste dingen al geautomatiseerd zijn. Voor de meeste dingen heb je geen mensen meer nodig die fysiek enorm sterk zijn, want daar heb je nu robots voor.

Maar, de mensen zijn wel degene die er voor zorgen dat de robots blijven werken, mocht er iets fout gaan met die robot dan zijn het meestal wel mensen die het oplossen. Dit kan hardwarematig en softwarematig zijn. Ik denk niet dat een robot die een kabelbreuk heeft zichzelf een nieuw kabeltje kan geven, we hebben dus wel degelijk mensen nodig.

Misschien komt er ooit een tijd dat we niet meer nodig zijn, maar dan kijken we te ver in de toekomst.
Het kan heel veel beta-testers overbodig maken.
Hiermee ga je geen logic errors vinden. En dat is nu net waar een beta vaak voor bedoeld is.
Of simpelweg interface dingen / usability. Het kan best zijn dat het systeem goed werkt, maar dat gebruikers constant fouten blijven maken omdat de ui niet duidelijk in elkaar steekt, bijv.

Dit systeem is mooi voor het grove werk. Lekken op te lossen die je zelf of beta testers niet eens zo snel zouden vinden. Die beta testers heb je echt nog wel nodig voor de overige zaken.
:P En heel certified ethical hackers, al zitten er in bedrijfsnetwerken vaker windows machines..
Ik verwacht eigenlijk dat deze software niet zo zeer gebruiks software patched, maar eerder software welke op servers gedraait wordt. En los daarvan, waarom zou het niet voor Windows werken?
:) Het zou beide kunnen, maar dit kan ook het begin zijn van een grote trend. Wat betreft je vraag, het is voor open source software? Sinds wanneer is Windows open source?
Software die op Windows draait kan best open source zijn.
Dat wel, maar de grootste lekken zijn die van Windows zelf :)
Het is toch wel wat lastig te kwantificeren. Het heeft ook een beetje mee te maken hoeveel het gebruikt wordt, in wat voor toepassingen en dat heeft ook weer te maken met welke software op een platform aangeboden wordt. De lekken die in Windows zelf zitten moeten vaak toch misbruikt worden via een ander onwetend programma die instructies van derden op het systeem toepast.

Android en hun gebruik van de Linux kernel kent ook legio kwetsbaarheden en daar kan je nu eventueel zelf naar op zoek gaan omdat veel gedeeltes opensource zijn (toch zitten er ook veel 'blobs' in een doorsnee Android installatie waar je geen brond van hebt). Maar omdat deze tool open source is kan Microsoft bijvoorbeeld zo'n tool ook gewoon gebruiken op zijn gesloten broncode, de voorwaarde is alleen dat aanpassingen aan de tool weer terugstromen in de open source omgeving, de gesloten broncode waar het op toe is gepast is hoort daar niet noodzakelijk bij.

Mss maar zeidelings gerelateerd en ik ben zelf niet een super MS fan ofzo maar ze gaan wel wat meer open source, ik begrijp dat Powershell recent is aangekondigt opensource en cross platform te gaan. Er zijn wel meer componenten, denk vooral aan hun (Azure) cloud diensten en de ontwikkelingsproducten daar omheen, die opensource zijn.
Bijna alle software die open source is en op Windows draait, draait ook wel op andere platformen. Als iets nuttig is en de code is beschikbaar is er altijd wel iemand die het port. De andere kant op kan natuurlijk ook maar gebeurd in de praktijk gewoon minder.
Open source software scannen op Windows is dus inderdaad een stuk minder nuttig dan op een platform zoals Linux dat uit zichzelf al open source is. Er is immers op Linux een stuk meer open source software beschikbaar.
Nee, het gaat zorgen dat die zich kunnen richten op belangrijker onderdelen van het testen.
Zal mogelijk wel meevallen, denk namelijk ook dat een hoop van die zogenaamde 'autopatches' ook juist weer problemen kunnen veroorzaken in de betreffende software..
Ik ben ook erg benieuwd hoe dat automatisch patchen in zijn werk gaat.
Want volgens mij is het afgezien van een aantal standaard programmeerfouten vrijwel onmogelijk om code aan te passen op zo'n manier dat het programma gegarandeerd al zijn functies blijft behouden.
Als je het wilt weten, moet je op Github kijken naar de source :)

"Volgens mij" aannames zijn niet relevant.
Ik hoopte dat iemand dat voor mij wilde doen ;)

De lijst met patches staat op
https://github.com/shellp...ster/patcherex/techniques

Mijn aanname sloeg meer op het meest algemene geval van automatisch software patchen. De patch-software zal op een bepaald moment moeten weten wat de beoogde functionaliteit van een stuk code is, anders is het niet te garanderen dat de functionaliteit behouden blijft, een bug is dan niet te onderscheiden van normale code.
het zal het werk van programmeurs makkelijker maken
Fijn voor hackers ja en jammer dat programmeurs overbodig worden. Komen er weer mensen zonder werk
Maar neen, zo'n programma's worden gewoon nieuwe tools in de ontwikkelingscyclus.
Een jenkins job dus.
Precies. Dit gaat iets als valgrind worden, wat we in een Jenkins job gaan draaien. Naast de unit testen en de functionele testen dus.
Programmeurs worden overbodig? Wie schrijft dan de software???
Onzin. Programmeurs kunnen zich met andere dingen gaan bezig houden. Toen programmeren nog heel complex was en volledig uit handwerk bestond waren er maar heel weinig programmeurs in de wereld. Nu is al heel veel programmeerwerk geautomatiseerd (hogere programmeertalen, efficiente compilers, re-use van libraries zou je hier ook onder kunnen scharen) en er is meer werk voor programmeurs dan ooit tevoren.

In iedere tak van industrie wordt alles wat simpeler gedaan kan worden met gereedschap simpeler gemaakt met gereedschap. Al sindds mensenheugenis. En er zijn steeds meer mensen die werken op aarde.
Origineel is het niet, zoiets bestaat al voor o.a directadmin omgeving. Deze scant met name wordpress of joomla sites af en kan 'zelfstandig' patchen.
Maar dit zijn grote en bekende platformen, is het niet zo dat dit systeem de lekken patched op basis van bekende lekken en oplossingen?
Dit systeem patched lekken die nog niet bekend zijn.
Patchman of het systeem beschreven in het artikel?
Het systeem dat wordt beschreven in het artikel.
Okť, want ik had het over het systeem waarop ik reageerde.
Ah, dat dacht ik omdat je zei "Maar dit zijn grote en bekende platformen, is het niet zo dat dit systeem de lekken patched op basis van bekende lekken en oplossingen?"

Ik dacht dat "dit" systeem verwees naar het systeem in het artikel.
Mijn excuses, dat bedoelde ik niet..

Ik had het wellicht beter kunnen formuleren.
Uhm nee het lijkt er niet eens op.

Patchman doet:
- Scant software.
- Oude software gevonden.
- Maakt een backport van de nieuwe versie, zodat deze compatible is met de huidige versie.
- En installeert deze backport.

Het systeem scant dus op know-vulnerabilities (wat een kwestie is van een CVE lijst te raadplegen, past een bestaande patch toe.

The Mechanical Phish doet:
- Scant (nieuwe/oude) software
- Vind hier een mogelijke lek in (nog niet eerder gevonden in een CVE lijst!! [en een lek hoeft ook nog niet per definitie bruikbaar te zijn])
- Past de sourcecode aan, zodat dit lek opgelost wordt.

Dit systeem scant dus op unknow-vulnerabilities wat wel wat een heel stuk moeilijker is
precies dacht ik ook aan, dit draait op mijn directadmin en werkt prima
Enige nadeel aan Patchman is dat het een maand-prijs kost. Voor zover ik lees is de genoemde software in dit artikel open source/gratis.

Ik blijf wel bij Patchman. Geniaal product wat het geld meer dan waard is per server.
En wat nou als die zelf een lek/fout heeft ?
Dan doet ie het (misschien) niet of fout
Dan pas je de software op zichzelf toe :)
Maar hoe kan je een fout repareren/detecteren als je zelf een fout bevat :)
Als de fout geen betrekking heeft op het vinden van fouten kan het best.
De fout hoeft niet per see in het detecteren of patchen te zitten, toch?
Team maakt systeem voor automatisch vinden en patchen van lekken open source.
Vooral interessant voor hackers dus?
Inderdaad, net wat ik dacht. Sloop het "patch" gedeelte eruit en ga zoeken naar gaten in opensource software. Misbruik het als hacker zijnde, of controleer of ze een open-disclosure hebben. Zo ja, meldt de bug en eventueel de patch en cash.
Tja, hier is op zich niets nieuws mee, een hacker kan nu ook kiezen wat hij doet met een gevonden lek.
Vooral interessant voor hackers dus?
Of overheden voor gebruik bijcyberwarfare. Waarom denk je dat dit een 'DARPA Cyber Grand Challenge' is...?
(...) en mist er op veel gebieden documentatie. Het zelfbenoemde hackercollectief Shellphish hoopt dan ook dat de community het project oppakt en verbetert, vooral op dit laatste punt.
Ik wens ze succes met het vinden van vrijwilligers. Ongedocumenteerde code is not done.
Code van anderen gaan documenteren lijkt me, betaald, al een k*tklus, laat staan als ze hopen dat iemand het vrijwillig gaat doen :P
Mensen posten de meest bijzondere dingen op fora, bijvoorbeeld: ohhh als je dit en dit doet dan krijg je dat en dat voor elkaar. Dat soort documentatie kan al goed genoeg zijn. Het lijkt mij inderdaad sterk dat iemand de code gaat voorzien van hele verhalen in commentaar :P.
Ziet er erg belovend uit.
Het doet me beetje denken aan http://bstriker.com/, al vraag ik me af inhoeverre ze hun tool al daadwerkelijk werkend hebben...
(Als ik het goed begrijp is het een geautomatiseerde test tool, die op basis van "AI" zelf bugs detecteert)

[Reactie gewijzigd door Koesper op 22 augustus 2016 13:43]

Echt gaaf een eigen patch systeem.

Op dit item kan niet meer gereageerd worden.



Nintendo Switch Google Pixel Sony PlayStation VR Samsung Galaxy S8 Apple iPhone 7 Dishonored 2 Google Android 7.x 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