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 , , 78 reacties
Submitter: calvin

Heise Security heeft in het standaard e-mailprogramma van Mac OS X 'Leopard' een bug ontdekt die vorig jaar verholpen is. Hierdoor is het mogelijk om code uit te voeren als een bijlage in het programma Mail geopend wordt.

Mac OS X slaat via een zogenoemde 'resource fork' meta-informatie van een bestand op, waaronder het mime-type en met welke applicatie een bestand moet worden geopend. Deze meta-informatie wordt door Mail gebruikt om een bijlage van een e-mail met het juiste programma te openen. Hier zit echter een bug in, waardoor het mogelijk is om met een speciaal geschreven bijlage een ander programma te openen dan dat door het mime-type wordt aangegeven in de resource fork. Om deze bug nader toe te lichten, heeft Heise Security een script online gezet waarmee het lek getest kan worden.

Het lek in Mail, het standaard e-mailprogramma van Mac OS X, werd vorig jaar in Mac OS X 10.4 ontdekt en door Apple via een beveiligingsupdate verholpen. Volgens Heise is de update voor deze bug niet in de Leopard-versie van Mail terechtgekomen of slecht getest.

Bug in Leopard Mail.app - test e-mail
Moderatie-faq Wijzig weergave

Reacties (78)

Ik begrijp niet hoe dit te exploiten zou zijn. Een attachment wordt dus met de verkeerde executable geopend. Dan heb je dus op zijn minst nog een buffer overflow vulnerability nodig in die applicatie om je eigen code te kunnen uitvoeren.
Ik begrijp niet hoe dit te exploiten zou zijn. Een attachment wordt dus met de verkeerde executable geopend. Dan heb je dus op zijn minst nog een buffer overflow vulnerability nodig in die applicatie om je eigen code te kunnen uitvoeren.
Het idee is dat er twee attachments in de mail zitten. Waarvan een bij openen de ander uitvoert. In het voorbeeld van SPluS hierboven wordt een shell uitgevoerd. Daarin kan feitelijk alles gebeuren, dus ongevaarlijk is dit niet m.i.

Slordig van Apple om deze vulnerability weer te introduceren.

[Reactie gewijzigd door resma op 23 november 2007 13:38]

een shell die uit zich zelf opend (wat ook onzichtbaar kan gebeuren - zonder dat de gebruiker het merkt) kan weer een andere exploit pakken die alleen lokaal exploitable is. En zo hack je jezelf mooi een weg naar root privileges.

Makkelijk is het niet, maar onmogelijk ook niet. Daarom moeten exploits die in weze remote exploitable zijn (wat ook een speciaal voor dat doeleinde geschreven mailtje inhoud) altijd zo snel mogelijk gefixed worden.
Je kunt een script uitlaten voeren waarbij het script een deel is van de payload a'la de installables van NVidia Java etc.

Dmv van dit script doe je de volgende acties:
1) Copieer een botnet programma en maak dit executable. Kan gewoon in /home/<user> bijvoorkeur in een directry waar apple configs inzet of een of andere vage hidden directory
2) Voeg een entry to aan de crontab van de user die controleert of het programma draait. Zo niet dan word het programma opgestart.
3) Is kan je PC een deelnemer van een botnet worden zonder dat je het weet of aangelogged bent zolang deze maar aan staat.

4) Waarschijnlijk kun je zelfs met een trukje zelfs nog het plaatje tevoorschijn toveren wat de gebruiker dacht te zien te krijgen. Waardoor de gebruiker geen argwaan krijgt.

Het kan veel eenvoudiger zijn om een PC te misbruiken dan men denkt ook zonder root privileges!

[Reactie gewijzigd door worldcitizen op 23 november 2007 18:32]

Dus zomaar een terminal uitvoeren is niet gevaarlijk wil je zeggen?
Via de terminal kun je wel eventuele files wissen en/of programma's aanroepen.
Als je doel is om eigen code te runnen, haal je die simpel met bijvoorbeeld FTP van je eigen server, en draai het dan van uit dat scriptje. Dood eng als een jpg je een eng vanzelf uitvoerend shell script kan zijn.
MacOS, Windows, Linux, het doet er niet wie welk wat voor lek heeft, het word eens tijd dat alle OS ontwerpers hun best gaan doen om gebruikers te ontlasten met nare lekken. Na ruim 20 jaar computers mag het wel eens tot het verleden gaan horen, dus meer investeren in beveiligingsafdelingen en direkt fixes/patches uitbrengen !
programmeren zonder bugs is onmogelijk. Gemiddeld worden er 10 fouten geschreven per 1000 lijnen code. Wanneer het om kritische software gaat halveerd dit aantal tot 5. Maar zelfs in de broncode van bijvoorbeeld de space shuttle zaten in den beginne nog altijd 2 fouten per 1000 regels code.

Je kan nog zoveel investeren in veiligheid als je wilt, je kan nooit een waterdicht systeem krijgen. Je kan alleen je best doen en moest er een gevaarlijk probleem ontstaan dan moet je dit zo snel mogelijk oplossen.
Door de steeds complexere software wordt het steeds moeilijker om bugloos te kunnen programmeren. 20 jaar geleden was het dus eigenlijk makkelijker om bugloos te programmeren!
Destijds vlogen de virussen je om de oren aan de lopende band. Ik zal niet zeggen dat er niets verbeterd is maar de economische tijdsdruk zorgt er wel steeds voor dat er gevaarlijk bugs en exploits opduiken.

Met MacOS en Windows kunnen ze misschien eens anders te werk gaan, vervang pas een OS als het klaar is, gechecked, dubbel gechecked en dan pas verkopen. Nu nog steeds word je min of meer "gedwongen" het nieuwe te nemen maar voor dat geld mag je wel iets terug verwachten en veiligheid word steeds een belangrijker issue, want we moeten toch zo nodig digitaal gaan van hogere hand ? :)
Dat zou ideaal zijn Parabellum. Maar er zitten meerdere negatieve kanten aan voor de producent;

- Men kan nooit iedere individuele situatie testen, dit kost zoveel tijd dat het nooit uitkomt en veel teveel kost
- Men moet ontwikkelingskosten zo laag mogelijk houden om erop te kunnen verdienen
- Tijd is dus geld
- Te lang wachten maakt aandeelhouders zenuwachtig...en volgens mij is dit tegenwoordig nog het grootste probleem. Waarom zou het anders zo'n groot punt zijn dat men ieder jaar een nieuwe OS-update uitpoept in tegenstelling tot de concurrent. Ik zou denken "who cares", aandeelhouders denken "er gaat vast ergens iets fout, verkopen die boel".

[Reactie gewijzigd door vgroenewold op 23 november 2007 13:00]

Precies. Bij projecten zo groot als een besturingssysteem kun je tien jaar bezig zijn met het testen en verbeteren van een OS om maar alle mogelijke bugs eruit te halen, maar je bent eigenlijk nooit klaar.

Wat dat aangaat zou het misschien niet verkeerd zijn om eens helemaal opnieuw te beginnen met een besturingssysteem, vanaf de grond af, maar dan gebruik makend van moderne programmeertechnieken en dergelijke (agile programmeren, volledig modulair, etc). Het zal echter jaren duren voordat een nieuw besturingssysteem op het niveau is zoals de huidige systemen dat zijn echter, daarom denk ik ook niet dat zoiets binnenkort zal gebeuren.
Enkel microsoft maakt een nieuw besturingssysteem en brengt ook weinig updates en het checkt en dubbel checkt het nieuwe besturingsysteem. We zijn plots 5 jaar later en Apple heeft ondertussen al 34 besturingssystemen uitgebracht. Bij apple zijn er niet zoveel gaten te vinden als bij microsoft waar plots de helft van de hardware niet meer werkt onder de vista, veel gaten, ingewikkelder, etc. Allemaal horen zeggen van mensen uit mijn omgeving die vista hebben. Zij zouden zelfs liever terug naar XP willen, ook al zijn er daar veel bugs zoals ik merk op de computer van mijn jongste zus. Met mijne mac daarentegen heb ik nog nooit van mijn leven een probleem gehad en zolang deze goed macheert ben ik content van Apple.
Apple is gewoon slim om momenteel niet in de voetsporen van Microsoft te treden door 5 jaar of langer aan een nieuw besturingssysteem te werken. Apple heeft daar maximaal 18 maanden voor nodig, hoewel het deze keer 2 jaar is omwille van de iPhone.
De bugs in Leopard zullen er snel uit gehaald worden.
Precies, dat is het probleem. Eigenlijk zou er een enorme stap gemaakt moeten worden in de debuggers, 1 of andere intelligent systeem welke dit soort zaken opmerkt door achteraf als een soort "consument" het programma door en door te mangelen. Bestaat dat eigenlijk niet gewoon, een automatische consument?

Om op jou terug te komen gnimme, het duurde aan de andere kant ook weer eeuwen voor je code had gecompileerd. Ik kan nog verhalen herinneren van de ponskaart-machines, waar het een dag duurde voor men het bericht "Error" kreeg, na het compileren van een ponskaartje. :)
Beta testers...?
Ja, maar dan volledig geautomatiseerd, dat is juist mijn punt. Dan kan je dus een paar duizend gebruikers oid simuleren, door runnen in virtuele omgevingen met verschillende hardware-instellingen etc. Dat in combinatie met echte beta-testers lijkt mij heel handig.

[Reactie gewijzigd door vgroenewold op 23 november 2007 14:08]

dat vangt nog niet dit soort issues af.

een automatisch test systeem met beta testers als aanvulling is een uitstekende manier om applicaties en besturingssystemen te testen op bugs, crashes, etc. Dat een bedrijf dit altijd nog beter kan doen is zeker, maar dat is meestal een kosten aspect waar iemand moeilijk over loopt te doen.

Een automatische test gaat geen exploits proberen, een beta-tester vaak ook niet. Een audit van de code had dit misschien wel afgevangen, omdat je weet welke code in het verleden van Mac OS X kwetsbaar was. Die code plemp je in een database, en je laat software automatisch in je nieuwe versie scannen op zoek naar dezelfde code.

Overigens kan ik niet volledig uitsluiten dat dit weer volledig andere code is, die toevallig wel weer exact hetzelfde doet. Je hebt een hele boel programmeurs daar (en elders) rondlopen, en bij dergelijk grote projecten is het onmogelijk dat iedereen van elkaar weet wat er speelt, gespeelt heeft, en wat daarbij de oplossing was.
Zoiets is er al gedeeltelijk: unit tests, intergration tests, etcetera. Echter, deze moeten nu nog wel met de hand geschreven worden (voor zover ik weet), dus de rigoriteit van deze tests zijn afhankelijk van de creativiteit (en het humeur ;) ) van diegene die tests schrijft.
Is het dan niet verstandiger om de boel iets minder complex te maken? Het is heel leuk om allerlei features in je OS te stoppen maar als dat eens achterwege zou worden gelaten, in elk OS, dan heb je weldegelijk redelijk simpele code die bugvrij kan worden gemaakt zonder al te veel problemen.
Helaas moeten ze elkaar steeds weer overtreffen waardoor ze uiteindelijk steeds complexere code moeten gaan hanteren.
Als de code complex is, is dat de schuld van de programmeur. Bij projecten zo groot als deze zijn de individuele stukken code eigenlijk geen indicatie voor de totale complexiteit van een programma, en moet je al in modules gaan denken.

Als je een module goed gedefinieerd hebt (en niet te groot is) kun je die heel goed perfectioneren en verbeteren. Het probleem ligt er denk ik (in het algemeen) aan dat de modules niet goed gedefinieerd zijn, en nog veel te veel afhankelijk en gekoppeld zijn aan andere modules.
Er bestaat SDM, system development methode.
De stappen om een applicatie op te zetten staan daarin omschreven.

Maar het is niet alleen een kwestie van modules of complexiteit.
Het blijft mensen werk en waar mensen werken worden fouten gemaakt.
Simple as it is.
Jij snapt vast niet hoe moeilijk het is om een heel besturingssysteem zonder ook maar 1 lek te maken. Zoiezo moet het lek maar net ontdekt worden. Ik kan me voorstellen dat niet alle miljoenen/triljoenen (misschien meer) handelingen getest kunnen worden op lekken.

[Reactie gewijzigd door heyajohnny op 23 november 2007 12:22]

Klein detail: het lek waar het hier om gaat was al wel degelijk ontdekt, en gefixed ook al! Dus we hebben het niet over lekken die nog niet gevonden zijn, maar over een lek wat opnieuw geintroduceerd is.

Het kan toch niet heel moeilijk zijn om patches voor reeds ontdekte lekken ook in nieuwere versies in stand te houden? Of snap ik dat ook niet? :)
Is een foutje geweest met het mergen van de patch naar de leopard branch. Slordig idd.

Maar het lek blijft in ieder geval nog in de user space (kan ook wel verre gevolgen hebben), maar zal zich nooit zo makkelijk kunnen verspreiden als worm.
Mja men heeft dat lek dus gedicht in Tiger, dus geloof ik dat ze die bug niet meer gaan heropzoeken aangezien het in Tiger al gedicht is en men dus dacht dat het niet meer nodig was om dat na te checken. Tenzij ik volledig mis ben.

[Reactie gewijzigd door Joazut op 24 november 2007 00:31]

Stomme bash, die updates kan je gewoon uitstellen tot wanneer je afsluit..
Nee hoor, Windows blijft na installatie naggen of je wilt rebooten. Hier moet alles voor wijken, ook al ben je in een game bezig die geen alt-tab ondersteunt (Richard Burns Rally bijvoorbeeld)
Automatische updates zo instellen dat ie alleen updates download en niet installeerd? :s
Wat Str1ngS bedoelt is dat je updates kunt installeren bij het afsluiten, zonder dat er daarvoor gezeurd wordt dat er updates zijn.
Bij Apple krijg je een bericht dat er een update is en je kan dus kiezen wanneer je deze installeert. Soms gebeurt het dat ik het pas na een week doe. Soms na een maand. Maar de laptop blijft wel zolang opstaan zodat ik bij het opstarten geen bericht meer krijg. Hoewel mijn iBook iedere week een check-up doet naar updates. Ben ik blij dat ik ben overgestapt naar Apple :p Ik heb er tot nu toe nog geen spijt van gehad.
Like wtf, weer zoon bash, tegenwoordig heb je 5 minuten de tijd om je antwoord te kiezen
En jij loopt nooit 5 minuten weg bij je PC?

Ik word er zo langzamerhand stontziek van dat alle negatieve commentaar op die rommel uit Redmond (want dat is het: een OS dat een je 5 minuten de tijd geeft om een vraag te beantwoorden en daarna ruecksichtlos al je openstaande werk vernietigd is ROMMEL en niets anders dan dat. Tegenwoordig hoeft je PC niet eens meer te crashen om je werk kwijt te raken. Windows reboot zichzelf gewoon. Sowieso... een modern OS rebooten om een stomme patch te installeren...) "bash" wordt genoemd. Zijn al die zielepoten die als een hondje achter de dorpsgek van Redmond (Steve) aanlopen nou zo snel op hun teentjes getrapt, of balen ze stiekem er gewoon van dat ze de verkeerde keus hebben gemaakt en moeten ze dat afreageren op de mensen die ze open de vele problemen in hun gatenkaas wijzen?

[Reactie gewijzigd door jeroenr op 24 november 2007 11:56]

Wat ik me afvraag: hoeveel andere oudere updates zijn niet in Leopard terechtgekomen? Als ze er n missen, kan het zijn dat het versiebeheer zo rammelt dat ze er veel meer gemist hebben.
Ik vermoed dat die lui van Heise nu druk bezig zijn om alle security updates die afgelopen jaar aan OS X 10.4 gedaan zijn te dubbelchecken met 10.5, dus dat zullen we snel weten :)
Je krijgt 2 bestandjes toegestuurd met dezelfde naam:

In ntje staat dit:

Heise.jpg    2  %/Applications/Utilities/Terminal.app ¨

In de andere:

/bin/ls -al
echo
echo
echo "heise Security: You are vulnerable."
echo
echo
ehhh.. ik kreeg 1 jpgje...

wat inderdaad opende in terminal.. omdat ik leopard heb.

Wat dit doet in de terminal:
http://img70.imageshack.us/img70/4586/picture8copywj3.png
ja omdat het een voorbeeld is.
het is net zo makkelijk echt te misbruiken.
doemscenario: ik mail jou een jpeg met daarin 'sudo rm -Rf /'. Jij opent de jpeg omdat je mij vertrouwt, en toevallig had je 3 minuten geleden even een command via sudo uitgevoerd in een nog openstaande terminal. Terminal zal nu NIET om je password vragen, en jij zit met een lege schijf opgescheept.

Niet zo heel handig, en ik moet zeggen dat Apple hier ook wel een beetje slordig is geweest. Ik hoop dat ze dit snel en goed rechtzetten.
Een reactie zoals de jouwe is eigenlijk meer waarschijnlijk. Als apple een lek heeft dan zijn er idd meer mensen die zeggen dat het maar een lekje is dan dat bij windows het geval is. Maar de meeste reacties zijn toch degene die dit soort reacties voorspellen.

Mijn mening: erg slordig, zoiets mag eigenlijk niet voorkomen.

Edit: Beschouw dit ajb niet ald flame, ik wilde het maar even opmerken. ik heb liever een reactie zoals die van jou, dan rechtstreeks MS of Apple of eender welk ander OS gebash.

[Reactie gewijzigd door Teun_2 op 23 november 2007 12:11]

Tis gewoon stom, beetje oude bugs her-introduceren. Over de knien met die programmeurs! :P
zwepen, kat met negen staarten, en dan mogen ze nog dankbaar zijn dat we ze niet vierendelen.

overigens ben ik met de rest van Leopard verdraaide tevreden.
Geef liever de schuld aan hun superieuren en / of projectmanagers, degenen die bepalen hoe een programma samengesteld wordt en wat erin gaat. De programmeurs zelf doen elk maar een klein deel van het geheel, de managers voegen het samen.
Dat zijn niet de managers, dit zijn de integrators. De managers zitten er weer boven.
Onder 10.4.11 krijg ik n keer een waarschuwing dat de veiligheid van het bestand niet gewaarborgd kan worden waarna het bestand alsnog uitgevoerd kan worden. Daarna word 't ook niet meer gevraagd en word het bestand zomaar uitgevoerd.
aToMac asks permission to reply: Cancel or Allow.

- Allow

Ja anders blijf je lastig gevallen worden met elke keer dezelfde vraag.
Het blijft natuurlijk slordig en het mag eigenlijk gewoon niet gebeuren dat een oude bug terugkomt. Maar een half jaar geleden is Microsoft hetzelfde overkomen in Windows Vista:

Lek dat opgelost werd met Windows SP1 duikt weer op.
Het blijft natuurlijk slordig en het mag eigenlijk gewoon niet gebeuren dat een oude bug terugkomt. Maar een half jaar geleden is Microsoft hetzelfde overkomen in Windows Vista:

Lek dat opgelost werd met Windows SP1 duikt weer op.
Moet je de reacties in dat artikel eens vergelijken met de reacties hier..
Die zouden toch ongeveer gelijk moeten zijn.. :|
Het blijft natuurlijk slordig en het mag eigenlijk gewoon niet gebeuren dat een oude bug terugkomt.
Ach, het komt in de software industrie zovaak voor dat er zelfs een woord voor is. (bug regressie.)
Volgens mij is de term meer van 'wij hebben 27.523 bugs gevonden en zijn er eentje vergeten te fixen, oeps'. In zo'n groot programma hebben ze wel meer 'bugs' zoals deze, en het verbaast me niets als er eentje soms vergeten wordt.

Voor elke bug die in het nieuws komt, zijn er 100 die er opgelost worden, waarschijnljik nog wel meer.
Wat dan weer jammer is, aangezien die ene bug meteen het hele OS in een slecht daglicht kan plaatsen. En dat gaat veel te ver natuurlijk, zeker voor de gewone consument.
Inderdaad niet netjes dat een oude bug weer de kop opsteekt maar in programmatuur zullen altijd wel bugs blijven zitten.
Als je het bouwen van programmatuur vergelijkt met het bouwen van huizen dan zie je dat bij het opleveren van een nieuw huis het ook nog steeds voorkomt dat er "bugs" in het huis zitten. Iedereen die wel eens een nieuw huis heeft gekocht kan dat beamen.
Huizen bouwen doen we trouwens al heel lang dus die bugs in programmatuur zul je voorlopig wel tegen blijven komen.

Belangrijker is dat bugs snel worden opgelost en de kwaliteit waarmee ze worden opgelost en niet zoals nu de kop weer op kunnen steken.
Komt erop neer dat bugs eigenlijk los staan over welk OS het gaat om discussie MAC vs Windows vs Linux niet aan te wakkeren.
wel vreemd dat iemand anders er op moet wijzen wat er fout is. Slapen ze bij Apple, controleren ze niets?
Doe het zelfs eens beter!!!!
Microsoft is het immers al die jaren nog niet gelukt :9
Microsoft probeert het niet eens. MS is maar in 1 ding geintresseerd: verkopen verkopen verkopen. En dat bereik je nou eenmaal beter door je tijd te besteden aan het verzinnen van nieuwe gore trucs om je concurenten weg te krijgen dan door de fouten uit je OS te halen.
je kunt ook gewoon Thunderbird gebruik en ipv van mail ?

Mja, dat is eerder een workaround, dan echt de oorzaak van het porbleem aanpakken, en ik dnek niet dat apple je dat zal adviseren...
Je gebruikt denk ik als Mac-gebruiker liever Mail dan Thunderbird vanwege de integratie met het systeem en overige applicaties

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