Onderzoekers maken Tor-browser beter bestand tegen geheugenexploits

Bij recente releaserondes van de Tor-browser is een hardened testversie van de software verschenen die van technologie is voorzien die de browser moet beschermen tegen exploits zoals de FBI die gebruikt. De techniek moet de anonimiteit van gebruikers beter waarborgen.

De nightly van de 'geharde' Tor-browser verscheen eerder dit jaar, maar onderzoekers van de University of California, Irvine doen nu in een paper uit de doeken hoe de beveiligingstechnologie met de naam Selfrando werkt. Volgens de onderzoekers gaat het om een load-time randomization-techniek die beschermt tegen kwetsbaarheden met betrekking tot geheugencorruptie.

Selfrando is een veiliger alternatief voor de huidige address space layout randomization of aslr die browsers gebruiken, waaronder Firefox. De Tor-browser is gebaseerd op de browser van Mozilla, waardoor exploits die voor deze software gevonden worden, ook werken bij de Tor-browser. De FBI misbruikt deze kwetsbaarheden om gebruikers van de Tor-browser te ontmaskeren. De Amerikaanse opsporingsdienst wist onder andere gebruikers van een kinderpornosite te achterhalen, al is niet bekend hoe de FBI daarbij precies te werk ging.

Address space layout randomization rangschikt de posities van de geheugenadressering van delen van code willekeurig. De onderzoekers gebruiken voor Selfrando echter address space layout permutation, of aslp, dat de locatie van elke functie individueel willekeurig verdeelt. Deze verregaande randomization beschermt tegen de technieken die gebruikt worden om aslr te omzeilen.

Het voordeel van aslp bij Selfrando is dat ontwikkelaars nauwelijks werk hoeven te verrichten voor de implementatie ervan. Gebruik van Selfrando zou vergelijkbaar zijn met het toevoegen van een nieuwe compiler aan bestaande buildscripts, schrijven de onderzoekers. Daarnaast zou de techniek nauwelijks voor overhead zorgen. De makers claimen bij benchmarks een overhead van 1 procent waar te nemen. Ze hebben de code voor Selfrando vrijgegeven op GitHub en presenteren de techniek volgende maand bij het Privacy Enhancing Technologies Symposium in het Duitse Darmstadt.

Tor browser Selfrando

Door Olaf van Miltenburg

Nieuwscoördinator

20-06-2016 • 09:04

56

Reacties (56)

56
54
45
6
0
2
Wijzig sortering
Ik vindt het plaatje er nogal dubieus uit zien. Het lijkt net alsof ASLR geen effect heeft. En dat klopt eigenlijk ook wel, de meeste ASLR implementaties voeren alleen randomizations uit op modules die geladen worden. Elke functie in die module zit op dezelfde locatie vanaf het begin punt. Dus als je het begin punt weet, weet je ook waar elke andere functie zit. (Static linking is dus eigenlijk niet slim)
Met selfrando wordt elke functie locatie ook gerandomized. Dus bij elke load van de module zitten de functies ergens anders.
De performance overhead van 1% is nogal kort door de bocht gezien ze voornamelijk benchmarks getest hebben en eigenlijk geen volwaardige applicaties.
Ze hebben ook een benchmark uitgevoerd van de JavaScript engine, en daar is een 2% runtime performance hit met JIT uit. Ze hebben dan weer geen test gedaan met de JIT aan.
Maar goed, je moet iets overhebben voor extra beveiliging.
Zoals je schrijft is het plaatje zeer dubieus. Ik kan zelf ook niet achterhalen welke ASLR implementatie ze gebruikt hebben, de Windows of de Linux omdat daar nog al verschillen in zitten (Windows = Linktime/ASLR on load, Linux = Compile time). Daarnaast klopt het plaatje niet van ASLR omdat wat hier als fine-grained randomiztion wordt gezien gewoon het zelfde is als Windows ASLR waarbij zelfs (m)alloc call's ramdomized zijn. Zie ook bijvoorbeeld http://www.symantec.com/a..._Layout_Randomization.pdf

Het is dus vrij dubieus van wat ze proberen op te lossen, afgezien van de performance impact (overigens moeten mensen beseffen dan op Linux ASLR voor bijna alles UIT staat, mits zelf opnieuw gecompileerd). Het probleem met ASLR op Linux is dat het tot 24% performance verlies kan opleveren tegenover 0% op Windows (alleen load tijd onder Windows is langer).

Daarnaast hebben onderzoeken aangetoond dat onder Windows (Linux heb ik geen info over) ASLR zeer goed zijn werk doet. Wat de vraag op roept, is dit wel de oplossing? Proefondervindelijk heb ik zelf ervaren dat met ASLR de randomization on der Windows dermate is dat geen geheugen opbouw is welke twee keer achter elkaar het zelfde is.

Naar mijn mening dient men dan ook niet te kijken naar de heilige ASLR graal, maar meer te zoeken in buffer overflows voorkomen en protected memory waarbij data en code echt gescheiden is (x86 heeft daar de technieken voor).
Zijn er, anders dan mensen die minder legale bedoelingen hebben, daadwerkelijk mensen die dit gebruiken puur en alleen voor anonimiteit?
Zijn er, anders dan mensen die minder legale bedoelingen hebben, daadwerkelijk mensen die dit gebruiken puur en alleen voor anonimiteit?
Ja, als ik informatie zoek over een controversieel onderwerp doe ik dat liever via Tor. We weten dat er verschillende clubs zijn die heel hard proberen om precies bij te houden wat iedereen op internet doet. Of het nou de NSA, de AIVD, Facebook, Google of wie dan ook is en of ze nu succes hebben of niet, we weten dat ze het proberen en er steeds beter in worden.
Ik weet niet waar ik in de toekomst ga werken, waar ik op vakantie wil, wie er aan de macht komt of hoe onze wet of moraal veranderd. Ik ben niet paranoide genoeg om rekening te houden met concrete scenario's maar ik vind het wel verstandig om een beetje discreet om te gaan met sommige onderwerpen*.

* Ik vind het heel treurig dat ik dat moet doen, het is een aanslag op mijn persoonlijke vrijheid dat ik zo moet denken. Of het nu terecht is of niet, dat ik me er zorgen over maak is al erg genoeg.
En omdat Google Tor gebruikers buitensluit kan je het beste DuckDuckGo voor internet search gebruiken.

[Reactie gewijzigd door Anoniem: 636203 op 25 juli 2024 05:52]

De Tor Browser gebruikt disconnect.me.Daarnaast logt Google wat je zoekt, en met andere patronen (schermresolutie en OS bijvoorbeeld, muispatronen anyone?) zou je dan alsnog te identificeren zijn.
Niet in de nieuwste versie, daar wordt DuckDuckGo gebruikt.
Nu je het zegt... De browser gaat eerst naar disconnect.me, en wordt daarna geredirect naar duckduckgo.

Uit de pagina https://search.disconnect.me blijkt dat disconnect.me op dit moment altijd via DuckDuckGo zoekt.
Anoniem: 367951 @SwiftPengu20 juni 2016 13:16
Daarom waarschuwt de Tor browser inderdaad niet de schermresolutie te veranderen: je kan ermee getrackt worden. In de highest security mode van Tor anonimiseert de browser volgens mij ook zaken als OS. Maar disconnect.me werkt (voor mij) prima met Tor.
helemaal mee eens.
Het internet zou gewoon volledig anoniem moeten zijn. En dan bedoel ik dat voor de huis tuin en keuken internetter. Sommige dingen zijn nu eenmaal voor jezelf en daar heeft niemand wat mee van doen. Het echt vervelende is natuurlijk de mensen die weinig kennis hebben, die niet weten hoe ze achter een proxie moeten, die niet snappen wat het nut van een hostfile is, die overal op klikken en nog nooit gehoord hebben van een adblocker.

Tuurlijk ben ik van mening dat er controlle moet zijn op waar men surft en wat men uitvreet op internet maar dat die informatie eigenlijk gewoon voor iedereen voor het oprapen ligt gaat toch net even wat te ver. Maar hoe privé is een televisietoestel of een radio? Dat toestel detecteert ook exact hoeveel mensen er aanwezig zijn, wie er aanwezig zijn en stemt vervolgens zijn programma's daar op af.

Electronica is mooi en zekers als je niks verkeerds doet. Maar inderdaad dat gevolg, getrack en altijd maar willen weten welke pagina je bezoekt, dat is toch best een beetje jammer. Alsof we als mens zijnde elkander gewoonweg niet vertrouwen.
Ja. Er is een deel die het met minder legale bedoelingen doen, maar in grote delen van de wereld is het gebruik van het internet niet zo vrij als wij hier in Nederland hebben. Er zijn dus grote groepen mensen die het gebruiken om ongecensureerde informatie te kunnen ontvangen of verzenden. Zie ook: https://www.torproject.org/about/torusers.html.en
Voor die personen die het moeten gebruiken om ongecensureerde informatie te kunnen ontvangen of verzenden is het ook illegaal ;)
Inderdaad. Je zou dus moeten spreken over (im)moreel, maar dat is natuurlijk subjectief en dan eindig je bij het zwart/wit plaatje dat a) alles controleerbaar moet zijn of b) alles niet controleerbaar.
Ik kies voor B.
Misschien had ik erbij moeten zetten dat ik eigenlijk op mijn mede-tweakers doel.

Het enige wat ik me kan bedenken is voor het betalen van de diverse crypto/torrent locker ransomwares :P .
Je zou kunnen zeggen dat die mensen ook illegaal bezig zijn want zij mogen van hun regering geen buitenlandse sites bezoeken. Dat wij dit mogelijk maken kan gezien worden als externe inmenging in hun binnenlandse aangelegenheden en ondermijning van hun gezag.

Dus wellicht is het overgrote gedeelte van de Tor gebruikers strikt genomen verkeerd bezig.

[Reactie gewijzigd door Anoniem: 636203 op 25 juli 2024 05:52]

Legaal of niet heeft niet zoveel te maken met verkeerd bezig zijn of niet... homo huwelijken en euthanasie en zelfs auto rijden voor vrouwen zijn illegaal in sommige landen, terwijl er moreel gesproken niet mis is met die zaken. En zaken die moreel wel fout zijn zoals het omkopen van politici, slavernij, kinder arbeid of het slaan van je vrouw zijn dan weer toegestaan op veel plaatsen of waren dat tot voor kort.
Legaal of niet heeft niet zoveel te maken met verkeerd bezig zijn of niet... homo huwelijken en euthanasie en zelfs auto rijden voor vrouwen zijn illegaal in sommige landen, terwijl er moreel gesproken niet mis is met die zaken
Daar loop je toch vast. Wat moreel geaccepteerd wordt is natuurlijk ook verschillend per land/cultuur, net zozeer als wetgeving.
En zaken die moreel wel fout zijn zoals het omkopen van politici, slavernij, kinder arbeid of het slaan van je vrouw zijn dan weer toegestaan op veel plaatsen of waren dat tot voor kort.
1) Ten eerste lijk je te zeggen dat morele waarden universeel zijn: dat er zoiets is als zaken die objectief moreel fout zijn. Dat is niet waar. Wat moreel aanvaardbaar is, zelfs het hele begrip moraliteit, bedenken wij als mensen helemaal zelf. Als jij, extreem voorbeeld, in een stam in de jungle woont en het opeten van je tegenstanders is normaal, dan is kannibalisme daar volkomen moreel aanvaardbaar en dus geenszins moreel fout. Hetzelfde geldt voor slavernij, uit je voorbeeld. Dat is fout in jouw wereld, maar niet in die van iedereen.

2) Ten tweede zijn wetgeving en morele waarden wel degelijk aan elkaar verbonden. Dat komt doordat wetgeving in principe gebaseerd is op de morele waarden in een land. Wij vinden homohuwelijken moreel geen probleem, maar naakt over straat lopen wel (en in de stam in de jungle weer niet). Wat wij met zijn allen (lees: met een meerderheid) in Nederland moreel wel en niet vinden kunnen is vastgelegd in onze wetgeving, zodat we asocialen (mensen die zich niet aan deze morele waarden houden) kunnen aanpakken. Zoals de seriemoordenaar uit een andere comment van je.

Er zijn natuurlijk tal van situaties waar de wetgeving niet (meer) strookt met de dominante morele waarden, of waar grote minderheden andere morele waarden aanhangen dan de meerderheid in de wet heeft laten vastleggen. Dat is wanneer het meestal gaat botsen.

Kortom: je doet het voorkomen alsof moraliteit een soort universele waarden zijn die los staan van legaliteit, maar moraliteit is volkomen subjectief en vrij nauw met legaliteit verbonden. Legaal heeft dus aardig wat te maken met of je verkeerd bezig bent of niet: in een goed werkende democratie ben je volgens de meerderheid verkeerd bezig.

[Reactie gewijzigd door Me_Giant op 25 juli 2024 05:52]

Zie de discussie beneden.
Nu ja, als je 'verkeerx' definieert als 'illegaal' en moraal als mening heb je gelijk.

Ik ben van mening dat je totaal verkeert bezig kunt zijn als je legaal te werk gaat (van de Amerikaanse bombardementen in verschillende landen tot... Ja, de Nazi's waren altijd zorgvuldig en vrijwel altijd binnen de wet bezig geweest). En moraal is niet een kwestie van mening, als je vind dat het idee van een leuke vrijdag middag van een serie moordenaar ethisch hetzelfde izabel als dat van de Dalai Lama, ze hebben toevallig alleen een andere mening, dan zit er een steekje los. Het feit dat moraliteit ingewikkeld is en dat mensen legitieme verschillen vandere mening hebben betekend niet dat het allemaal totaal relatief is- mensen verschillen ook van mening over wat gezonde voeding is maar als je denkt dat cyanide gezond is ben je gewoon fout.
Anoniem: 138895 @Superstoned20 juni 2016 17:23
Je argumentatie leunt teveel op je eigen core beliefs, waarden, zoals het idee dat vrouwen wel of niet auto zouden mogen rijden. Die discussie kun je op zoveel niveaus voeren. Je kunt als uitgangspunt nemen dat mannen en vrouwen gelijk zijn maar anderen nemen als uitgangspunt niet het individu maar het gezin, team met duidelijke rolverdeling, een bepaald zelfbeeld en ideaal. De meeste jongetjes hier spelen met auto's, speelgoedwapens en zitten op voetbal en de meeste papa's zouden het niet leuk vinden als hun zoontje op ballet zou gaan, uitzonderingen daargelaten. Is het verkeerd om rolmodellen te hebben en verwachtingen te scheppen? De problemen en daardoor behoeften, wensen en idealen zijn overal op de wereld anders. Universeel is dat we allemaal willen eten en gelukkig zijn, maar in delen van Afrika worden ze dol gelukkig van een boterham en niet van ren Ferrari. En een blote piemeltje is niet fundamenteel anders dan blote armen of benen. Die grens van zedelijkheid die de meeste westerse landen leggen bij de kruis en borsten, en in Rio bij de tepels, is niet objectief logisch. Dat je pas bij 18 volwassen bent en met een vent van 60 mag trouwen maar niet als je 17.5 bent, laat staan 12, is ook niet logisch. In landen waar kinderen niet naar school kunnen en sterven van armoede en hele dag werken, ligt de grens van volwassenheid stuk lager en leven ze korter. In het westen blijven mensen wel tot hun 30'e thuiswonen en blijven ze in veel opzichten onvolwassen.
Tuurlijk ben ik voor vrijheid en blijheid voor iedereen maar moraliteit is erg context gebonden. Zo vinden wij het doden van zieke mensen middels euthanasie geoorloofd. Niet zo lang geleden op tv nog documentaire over euthanasie in Nederland waarbij mensen zelfs euthanasie aanvragen wegens eenzaamheid en dat uitgevoerd krijgen. Mensen die depressief zijn weten niet altijd wat het beste voor ze is, tenzij je in het westen zo sterk gelooft in de individuele keuzes, maar ik zie het vooral als een maatschappelijk probleem. En in andere landen ligt de focus dus niet op het individuele keuzes maar maatschappij als geheel en dan moet je geen dingen doen die aanstoot kunnen geven. Concensus gedreven dus en dat zouden wij met onze individualistische opvoeding vreselijk vinden maar de meesten daar vinden dat niet. Dat is overigens iets anders dan onderdrukking. Zo verruilen vrouwen hun burka's voor hoofddoeken na verdrijven van IS, zoals ze voor de onderdrukking deden, maar willen de meesten geen westers schoonheidsideaal aanhangen met silicone borsten en ingespoten pijplippen (maar ook genoeg vrouwen in burka's die met makeup rondlopen, en dat schoonheidsideaal wordt vooral ingegeven door westerse media). Dus ik geloof in universele morele waarden maar de meeste zijn dat niet, ook niet waar jij het over hebt.
Ik zei toch ook niet dat het simpel is of dat ik gelijk heb? Ik ging alleen in tegen de suggestie dat moraliteit relatief is. Ben het verder best met je eens al denk ik dat er meer objectief te zeggen valt dan jij.
Zijn er, anders dan mensen die minder legale bedoelingen hebben, daadwerkelijk mensen die dit gebruiken puur en alleen voor anonimiteit?
Ja, Journalisten in landen waar mensen nog verdwijnen wanneer ze kritiek hebben op de politiek. Mensen die willen communiceren vanuit oorlogsgebieden zonder bang te hoeven zijn dat een Imam van ISIS ze op een executielijst zet. Vechters voor vrede en vrijheid van meningsuiting in landen die het niet zo nauw genomen wordt met de rechten van de mens zoals aan de andere kant van deze planeet... en zo veel meer kan ik er bedenken.
Zijn er, anders dan mensen die minder legale bedoelingen hebben, daadwerkelijk mensen die dit gebruiken puur en alleen voor anonimiteit?

Ongetwijfeld, doch het is wel een minderheid.

CloudFlare gaf niet zo heel lang geleden eens aan dat zo'n 99% van het verkeer naar hun servers dat via Tor kwam kwaadaardig was. Denk aan exploit pogingen, DDoS, etc.

Nu is verkeer wat anders dan aantal personen, maar je moet je als Tor gebruiker wel heel bewust van zijn dat je je verstopt tussen criminelen. Als je jezelf uit de kijker wilt houden, is Tor dus wellicht niet altijd de beste methode.
Precies, waarschijnlijk word je juist eerder gevolgd door de NSA dan dat je normaal, zonder privacy fratsen, browsed.
En hier de reactie van het Tor project op die opmerking van Cloudflare: https://blog.torproject.org/blog/trouble-cloudflare

Akamai en de andere CDN's zien niet zoveel abuse vanaf Tor als Cloudflare claimed, het lijkt er imho meer op dat Cloudflare Tor niet zo leuk vind omdat t moeilijker maakt voor ze om users te tracken op hun CDN..
Jazeker.
Tegenwoordig is een public ("gratis") wifi erg in opkomst.
Een TOR browser zou zo maar eens een laagdrempelige bescherming kunnen bieden voor veel mensen.
Ben ook nog een tijd relay geweest, maar mijn meterkast pc is nu helaas ter zielen.
Https + private browsing sessie lijkt me voldoende? Tor maakt het onnodig traag.
Private browsing doet nu niet bepaald veel voor de gevaren van een public wifi, zolang je op je eigen toestel zit :-)

HTTPS wel, maar niet elke site waar ik mee verbind is in orde met z'n SSL. En zelfs met HTTPS kan er nog vanalles worden afgeluisterd, zoals de server waarmee je verbindt.
Ik verbind meestal zsm met een VPN. Als je je host vertrouwd, is het voor zover ik weet vergelijkbaar met Tor qua afluistermogelijkheden (binnen de trein dan), maar sneller.

[Reactie gewijzigd door SwiftPengu op 25 juli 2024 05:52]

Nee, maar wel voor 'minder legale bedoelingen' die in het westen als volstrekt legaal wordt gezien. Vrijheid van pers bijvoorbeeld.
Anoniem: 636203 @disheaver20 juni 2016 11:06
Dat is allemaal maar relatief. Voor ons zijn sommige mensen terroristen, voor anderen zijn dat vrijheidsstrijders. Zo zwart wit is het allemaal niet.
Ja en wat dacht je van Greenpeace, animal liberation front enzo. Het is pas weer duidelijk geworden in de UK hoe diep die organisaties geïnfiltreerd worden, hoe de overheid ze onder controle probeert te houden. Zal in de rest van europa vast niet anders zujn En dat zijn actievoerders, politieke organisaties die af en toe een boot tegenhouden of een boerderij lastig vallen. Je bent dus al snel boven het maaiveld, hè. Beter kopje eronder houden met tor. Jij dacht dat ze alleen 'terroristen' volgen? Dream on....
Als je, als man, probeert om te communiceren met je vriend vanuit bv. Turkije of Afghanistan...tsja...
Anoniem: 636203 20 juni 2016 10:13
Dit is één van de technieken die het in de toekomst onmogelijk zal maken om computers nog te hacken. Er volgen nog veel meer.

Daarom is de oproep van de NL politie dat over 5 jaar de helft van alle criminaliteit computer gerelateerd zal zijn totale onzin. Ze zeggen dit alleen maar om druk uit te oefenen om de nieuwe Orwelliaanse Wet Computercriminaliteit III er door te krijgen, waarbij zij het recht krijgen om op de computer in te breken van iedereen in NL.

[Reactie gewijzigd door Anoniem: 636203 op 25 juli 2024 05:52]

Dit is één van de technieken die het in de toekomst onmogelijk zal maken om computers nog te hacken. Er volgen nog veel meer.
Elke keer als er een 'nieuwe' techniek uitkomt zou dat de kans op hacken moeten verkleinen, maar uiteindelijk betekent het vooral dat de 'hack techniek' ook complexer aan het worden is.

Bijvoorbeeld in dit voorbeeld 'lijkt' het veilig. Maar als ik weet welke calls gedaan worden in welke volgorde, dan kan ik vrij eenvoudig een mapping maken die achterhaald waar welke functie terecht is gekomen. Helemaal omdat de code ook nog eens open source is, is het eenvoudig om een versie te bouwen waarbij je dit patroon kunt achterhalen.

De hele aanname is dat je OS voldoende bescherming biedt tegen bepaalde aanvallen, maar juist als je machine al 'compromised' is, dan is je OS al niet meer te vertrouwen. Daarnaast helpen sommige zaken ook weer mee om het eenvoudiger te maken om bepaalde fouten te vinden. Zo is het idee van afgeschermde geheugengebieden 'veiliger', omdat andere programma's geen toegang hebben, maar het betekent ook dat je als programma geen mogelijkheden meer hebt om geheugen te benaderen wat je niet onder controle hebt. Voor een hacker zorgt dit er dus ook voor dan je geen 16GB geheugen 'in de gaten' hoeft te houden, maar alleen het stuk waar het programma ook echt toegang toe heeft. (Denk aan een debugger, die kan ook 'bij' het geheugen van een ander proces)

Daarmee blijft 'vertrouwen' het meest belangrijke onderdeel. Net zoals een VPN technisch hetzelfde is als een MitM situatie (al je verkeer gaat langs een derde). Echter vertrouw je de VPN om 'niks' te doen. Maar als het ergens makkelijk is om deep packet inspection te doen is het wel bij een VPN.
Als er een patroon in zit, dan is het niet random.
Het patroon zit niet in de verdeling over het geheugen, maar in het gebruik van die functies.

Dus stel je hebt CRUD (Create, Read, Update & Delete) functies op een object, dan kun je elke volgorde gebruiken (CURD/DRUC/...), maar je moet wel elke keer als je 'Update' wilt aanroepen uitkomen bij de functie die 'Update' doet en niet bij 'Delete'.
Als ik weet dat je 1x 'Create' aanroept en daarna 4x 'Read', dan maakt het niet uit welke volgorde je gebruikt, want je kunt aan de aanroepen zien waar je uitkomt. Nog even los daarvan 'weet' het programma het zelf ook, dus je zult toch ergens de juiste 'map' hebben van aanroep naar functie.

Dus het is op zich 'goed' om het effect van een fout niet meer eenduidig te maken. Je kunt niet meer eenvoudig iets manipuleren vanuit het programma zelf. Maar als je al op het niveau van het OS volledig toegang hebt, dan is dit echt niet voldoende om het veilig te maken.
Als je al op het niveau van het OS volledige toegang hebt zou ik me heel andere zorgen maken.
Anoniem: 636203 @TheGhostInc20 juni 2016 23:14
Een encryptie algoritme is ook open-source, maar als jij de sleutel niet weet ga je uit die willekeurige data nooit iets leesbaars halen, althans niet in de tijdspanne waar bij het er toe doet.

Er komt echt heus een tijd dat computers vrijwel of niet meer te kraken zijn. Men moet niet denken dat 'alles' te kraken is want dat is niet het geval als je de juiste technische maatregelen neemt. En met nieuwe technieken kan je zelfs met slechter programmering er nog voor zorgen dat men nog niet binnen kan komen.

[Reactie gewijzigd door Anoniem: 636203 op 25 juli 2024 05:52]

Er komt echt heus een tijd dat computers vrijwel of niet meer te kraken zijn. Men moet niet denken dat 'alles' te kraken is want dat is niet het geval als je de juiste technische maatregelen neemt. En met nieuwe technieken kan je zelfs met slechter programmering er nog voor zorgen dat men nog niet binnen kan komen.
'Onkraakbaar' heeft veel meer te maken met vertrouwen dan iets anders.

Vertrouw jij Intel 100%? Asus of Gigabyte? Microsoft? Logitech?
Stel ik heb een netwerk, niet aangesloten op het internet. Onkraakbaar? Totdat natuurlijk je switch of router die je koopt een namaak Chinese versie is met een trojan aan boord.
Een encryptie algoritme is leuk, maar voor de FBI is het waarschijnlijk makkelijker om gewoon jouw PC te infecteren via een bekende exploit op Windows dan überhaupt een poging te wagen de encryptie te ontcijferen. Na 35 jaar MS Windows heb je nog steeds genoeg virussen, cryptolockers en andere ellende. En omdat we nog niet genoeg apparaten hadden die verbonden waren sluiten we tegenwoordig TV's ook aan op het internet. Jouw super encryptie algoritme op jouw super veilige pc werkt dan bijvoorbeeld prima, maar op je tv heb je hetzelfde programma draaien en die TV is zo lek als een mandje en lekt jouw encryptiesleutel. De FBI kan dan zelfs bewijzen dat JIJ het geweest moet zijn, aangezien jouw encryptiesleutel is gebruikt, terwijl op een onbeschermd wifi netwerk, zonder encryptie het nog iemand anders zou kunnen geweest zijn :+
Daarnaast kan 1 regel code je algoritme compleet waardeloos maken. Door simpelweg de private key prijs te geven. Weet je zeker dat als je update X download, dat je niet een speciaal geprepareerde versie hebt, die exact dat doet?

Vandaar ook TPM chips. Het gaat over 'Trust'. Vertrouw je de hardware en software die je draait.
Het probleem bij TOR is meer de profiling van het internetverkeer, de geheime diensten hebben zoveel exit nodes in beheer dat heel veel verkeer kunnen monitoren en soms zelf terug kunnen leiden naar de bron.

Ook een bekende methode om een TOR server in de echte wereld te vinden is die van het generen van enorm veel data, en dan monitoren bij netwerk kruispunten waar je pieken gaat zien, en zo steeds verder en verder die pieken volgen tot aan een datacenter.

TOR is leuk als je weet hoe je er mee om moet gaan, maar voor de gemiddelde gebruiker die alleen de TOR browser gebruikt en denkt dat hij anoniem surft is dit gewoon schijnveiligheid.
Anoniem: 636203 @defixje20 juni 2016 11:09
De gebruiker kan moeilijk of niet achterhaald worden. De server welke Tor content levert kan wel getraceerd worden, zoals jij beschrijft.
De gebruiker kan in theorie achterhaald worden in het eerste geval dat defixje vermeldt:

Geheime dienst X heeft veel nodes en exit nodes, X slaat datum/tijd van pakketjes op die langs deze nodes komen, en X kan dan zien welke gebruiker actief was op Tor op welk moment door eigen gegevens te crossmatchen met die van internetproviders (die verplicht zijn metadata op te slaan van haar gebruikers).

Wat X dan weet is dat een bepaalde gebruiker een bepaalde website heeft bezocht.

Er van uitgaande dat de gebruiker SSL/TLS gebruikte, anders kan de exit node ook nog zien welke pagina's dat waren, wat er op die pagina's stond, en welke data er is verstuurd naar de website.
Anoniem: 636203 @Blaise20 juni 2016 23:10
Tor is juist gemaakt om dit soort profiling tegen te gaan.

En Tor sties (.onion sites) verkeer loopt altijd via TLS dus daar ga je niet tussen komen. Hooguit kan je zien wie er allemaal online was, toen een stie benaderd werd maar dat zullen tienduizenden zo niet honderdduizenden mensen zijn. Daarmee weet je feitelijk niets tenzij je ze allemaal een bezoekje gaat brengen.

Juridisch kan je met deze informatie niets, een rechter gaat hier nooit een veroordeling op baseren.
Anoniem: 146875 20 juni 2016 09:40
Goede ontwikkeling al heeft Mozilla nog een lange weg te gaan. Dit soort initiatieven verkleinen de kans op buffer overflow exploits maar deze moeten toch opgelost worden. Ook is er nog veel winst te behalen door de browser te sandboxen zoals gebeurt bij Chrome op Linux. Elke browsertab krijgt dan zjin eigen proces en zit in de sandbox. Een exploit kan nooit verder komen dan het "init" proces, een virtuele namespace die niet bij het OS zelf kan. Voor meer info over hoe Chromium dit gebruikt: https://www.chromium.org/...ign-docs/system-hardening
Buffer overflows kan je relatief makkelijk oplossen door bounds-checking in te voeren in C compilers. De GCC compiler had voorheen deze mogelijkheid m.b.v. een compile-switch.

Een Pascal programma is bijvoorbeeld veel minder makkelijk te kraken omdat daar wel bounds-checking in zit.

[Reactie gewijzigd door Anoniem: 636203 op 25 juli 2024 05:52]

Bounds-checking heeft echter wel een kost. Zowel qua executie tijd als geheugen is soms een aanzienlijke overhead nodig.

Plus het werkt niet bij alle vormen van buffer overflows. O.a. als er non-CPU writes bij zitten.

(En er zijn nog andere exploits dan buffer overflows.)
Anoniem: 636203 @Armin20 juni 2016 21:36
Uiteraard kost het performance, maar dat is een kleine prijs om applicatie programma's veiliger te maken.

Mijn visie is dat programmeertalen het moeilijk moeten maken voor ontwikkelaars om fouten te maken. Dus: garbage collection, bounds checking en safe pointers (een pointer waarmee je pointer arithmatic kan doen maar nooit buiten de bounds van het gealloceerd geheugen kan adresseren).

[Reactie gewijzigd door Anoniem: 636203 op 25 juli 2024 05:52]

Chrome OS != Chrome browser

Alleen maar omdat een tab in een ander process draait maakt het niet sandboxed. Je kan ook sandboxing binnen 1 process uitvoeren (dan moet je het wel helemaal zelf doen gezien het OS je niet helpt). Tabs in een eige process draaien heeft als voornaamste voordeel dat die tab dan kan crashen zonder de rest mee te nemen. Het maakt het systeem niet veiliger, en sandboxing ook niet per se: een van de oudste en bekende sandboxes is de Java browser plugin.

Aparte processen en sandboxing beschermt je trouwens ook helemaal niet tegen overflow exploits.
Chrome heeft inderdaad betere sandboxing dan Firefox (die slechts een vrij zwakke sandbox gebruikt en alleen als e10s aanstaat), maar er zal aan gewerkt worden nadat e10s de deur uit is.

Om volledig te beschermen tegen buffer overflows en data races zal je echter Rust moeten gebruiken, waar Mozilla's nieuwe engine Servo op gebaseerd is. Het zal nog wel even duren voordat Servo klaar is voor de gemiddelde gebruiker, hoewel er wel al een klein stukje in Firefox gebruikt wordt (de MP4 demuxer die Firefox gebruikt is in Rust geschreven als test van de nieuwe infrastructuur).
De Tor-browser is gebaseerd op de browser van Mozilla, waardoor exploits die voor deze software gevonden worden, ook werken bij de Tor-browser.
Tor gebruik als browser Mozilla Firefox

Op dit item kan niet meer gereageerd worden.