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

Mozilla gaat sandbox van Firefox uitbreiden

Door , 39 reacties

Mozilla gaat de vroege, basis-sandbox van Firefox 50 uitbreiden en brengt de sandbox naar de versies voor Linux en de Mac. Dat meldt de organisatie in een bericht over multi-processfunctionaliteit voor de browser.

Firefox 50 voor Windows bevat al wel een sandbox-feature op basis van multi-processfunctionaliteit, maar volgens Asa Dotzler van Mozilla gaat het om een vroege versie die nog niet de beveiliging biedt die gewenst is. Die volgt bij komende versies van de browser en dan krijgen de Linux- en Mac-versies van Firefox ook sandbox-ondersteuning.

Firefox had ook eerder al wel sandboxfunctionaliteit, maar die was beperkt tot plug-ins zoals die van Flash en de Gecko Media Plugin, schrijft BleepingComputer. Sandboxing wordt als een belangrijke beveiligingstechniek gezien. Het scheidt belangrijke kerntaken van het draaien van andere, potentieel uit te buiten werkzaamheden, in een afgeschermde virtuele omgeving.

Deze mogelijkheid van het afzonderen van processen komt voor Mozilla binnen handbereik door de ontwikkeling van 'multi-process Firefox'. Mozilla testte dit bij een deel van de Firefox 48- en 49-gebruikers en voerde het in bij Firefox 50, om de invloed op extensies te onderzoeken. Bij de implementatie gaat het nog om een onderverdeling in een proces voor basistaken en een voor content, maar gaandeweg wil Mozilla toe naar een splitsing van een basisproces en meerdere contentprocessen.

Naast beveiliging zorgt multi-process ook voor snelheidswinst en een verbetering van de stabiliteit. Een crash door webcontent kan dan niet meer de gebruikersinterface laten vastlopen bijvoorbeeld.

Reacties (39)

Wijzig sortering
Tegenwoordig run ik Firefox op Linux onder Firejail, dit biedt ook een sandbox omgeving.

Had toch verwacht dat Mozilla gelijktijdig alles met security zou uitrollen, het lijkt me echter moeilijk omdat iedere implementatie op elk OS anders is.
De implementaties van sandboxing zijn belachelijk verschillend tussen besturingssystemen. OSX heeft waarschijnlijk de handigste implementatie, maar zoals gewoonlijk geen documentatie. Op Linux zijn verschillende opties, maar de meeste worden niet door genoeg distros ondersteund.

Op Windows heb je een gigantische collectie aan APIs die allemaal op verschillende niveaus werken en door de jaren heen zijn toegevoegd - Google heeft ooit een bedrijf overgenomen wiens library het benaderen van die APIs makkelijker maakte en heeft die code gelukkig open source gemaakt, dus daar maakt Firefox nu ook gebruik van.
Maar de virtuele wereld moet dan alsnog communiceren met de realiteit, toch? Dus beveiligingstechnisch is er dus nog steeds een te onderscheppen/onderbreken lijntje mogelijk. Dan kan ik mijn eigen virtuele wereld daar aan hangen, zie dan prachtige mogelijkheden waar de gebruiker niet gelukkig van wordt.

Wat mis ik? :+ :o

p.s. snap dat 1 verbinding met een groot onderdeel makkelijker te beveiligen is als een verbinding waarbij ell process gelinkt is, maar dat lijkt me niet de grootste kracht van deze implementatie. (Wat dan wel? :X )

[Reactie gewijzigd door Sugocy op 22 december 2016 18:02]

De sandboxsoftware regelt de communicatie tussen de applicatie in de sandbox en het besturingsysteem en hierin zit natuurlijk weer een mogelijkheid om dit te hacken en vanuit de sandbox controle te krijgen tot de host.

@Kalief
Toch is een sandbox een vorm van virtualisatie, de applicatie in de sandbox draait namelijk in zijn eigen virtuele omgeving, want de applicatie in de sandbox heeft geen directe toegang tot resources die de host biedt.

[Reactie gewijzigd door Rudie_V op 22 december 2016 18:28]

Helderder ;) danku.

Dus de beveiliging ansich is het feit dat belangrijke resources (in de sandbox) afgeschermd blijven van de actieve applicatie. Klinkt logisch, eem wachter bij 1 poort welke beslist welke informatie de virtuele wereld verlaat.
Ja extra beveiliging is wel de hoofdreden, een soort van poortwachter inderdaad.. Maar de sandbox schermt ook de applicaties van elkaar af, zodat de ene applicatie niet zomaar een andere applicatie kan benaderen. En via de sandboxsoftware kan je regelen tot welke resources de applicatie in de sandbox mag hebben.
De bekendste voorbeelden van sandboxing is volgens mij toch wel de apps op je smartphone. Bijvoorbeeld in android draaien je apps ook in een sandbox en die apps krijgen/vragen dan weer toegang tot resources, je camara, je bestanden, je lokatie, netwerk, nouja het is wellicht bekend. :) Maar andere besturingsystemen hebben dat ook, ios dan, windows vanaf 8, macos.

Firefox is natuurlijk geen besturingsysteem, maar simpel gezegd deelt het programma zich op in meerdere delen en die delen willen ze in aparte browser-sandboxes laten draaien zodat een exploit beperkt blijft tot zo'n browser-sandbox en niet je systeem kan infecteren. Nouja,, lees het artikel voor wat meer preciezere informatie. :)
Wat jij 'mist' is het besef dat er niets virtueels is aan een applicatie in een sandbox, dat is gewoon een proces dat plaatsvindt in de realiteit.
Woordkeuze overgenomen uit het artikel. Mijn besef is groot genoeg om te weten dat de pc-omgeving ansich vrij reëel een virtuele omgeving maakt. :+
Gaat dit niet veel meer werkgeheugen gebruiken? Ik gebruik Firefox eens af en toe op een oude netbook die Chrome al niet meer aan kan.
Ja same worries hier.. ik vind die browsers al zulke belachelijke memory + cpu hogs, dit maakt het er vast niet beter op :)
Een browser is dan ook een heel complex programma. Zoveel technieken, zoveel verschillende standaarden te ondersteunen. Mensen doen er hun bankzaken mee, regelen er hun private communicatie met de overheid mee, en nog veel meer gevoelige dingen. Een browser van nu is echt niet meer te vergelijken met een van 10 jaar geleden (zoals IE6)...

Ter vergelijk, Firefox bevat 14.045.424 regels code. Dat is bijna zoveel als Linux (18.963.973 regels)... Een webbrowser app, vergeleken met een OS (een distro als Ubuntu komt niet eens in de buurt met nog geen miljoen regels)...

Dus ja, een browser heeft nu meer geheugen nodig dan 10 jaar geleden... maar dat is helemaal niet vreemd, en eigenlijk ook geen eerlijk vergelijk als je de complexiteit van huidige browsers ziet vergeleken met die van 10 jaar geleden.

[Reactie gewijzigd door johnwoo op 22 december 2016 21:16]

Toch doet het ding functioneel nog ongeveer hetzelfde als 20 jaar geleden. Droeve bedoening..

Also.. al was het 10 miljard regels code, dan hoeft het bij uitvoeren nog niet gelijk gigabytes geheugen te vreten
Een browser heden ten dage is absoluut niet functioneel hetzelfde als 20 jaar geleden... Tegenwoordig kun je bv. een complete 3D-game in je browser spelen... In javascript... 20 jaar geleden kon je net een <img> in je opmaak tonen.

Een moderne browser is qua complexiteit te vergelijken met een OS. Niet gek dat er maar een paar (grote) spelers zijn met hun eigen "engine", die vervolgens door apps (browsers) gebruikt kan worden. Ik zie ook niet zo snel meer een nieuwe browser(engine) komen, de initiele investering is veel te groot. Wel hergebruik van (delen van) bestaande engines.

En de code zelf neemt natuurlijk ook al wat geheugen, maar dat is inderdaad niet zo enorm veel. Het meeste geheugengebruik komt echt door de vooruitgang in functionaliteit en de daarbij behorende data c.q. content. Multimedia verandert ook, 10-15 jaar geleden zag je lang niet zoveel videocontent als nu. Code is nu echt niet zoveel ineffecienter als 15 jaar geleden; de functionaliteit is gewoon vele malen groter.

[Reactie gewijzigd door johnwoo op 23 december 2016 10:54]

Ik geef je helemaal gelijk. De race is nooit gelopen. Ik verwacht over een paar jaar non-stop updates van belangrijke (on-line gerelateerde) software. Non-stop. Het wordt een rat-race. De interval tussen (automatische) updates van anti-virus software wordt met het jaar kleiner. Alleen een up-to-date CPU kan alle eisen van een on-line computer gebruiker goed aan. En het gejammer over geheugengebruik lees ik al sinds 1992 :D haha, 4MB RAM LOL.

[Reactie gewijzigd door danmark_ori op 22 december 2016 23:43]

Ik weet nog van het gebruik van een extended memory manager (HIMEM.SYS) om van de volle 1MB gebruik te maken in plaats van de standaard 640kb. Mooi was dat.
@ Pilovali + @ bazkie_botsauto

Ik snap jullie niet. Hoe oud ben je, hoe lang ga je mee in de wereld van automatisering ? Een oude PC of laptop off-line: ga je gang, leef je uit: is geen probleem. Verouderde software is dan óók geen (security) probleem. Wil je veilig en snel (ook niet onbelangrijk voor een beetje leuke gebruikerservaring) mee op het internet, dan zal je elke paar jaar je hardware en elke maand je browsers moeten vervangen / updaten. Daar is geen ontkomen aan. Netzomin als je met een racefiets of een scooter de autosnelweg op kan (kan wel: maar dan wordt je er door mede weggebruikers weggevloekt en hopelijk snel door de politie van de snelweg afgehaald. Misschien moeten we voor de veiligheid (en privacy & what not) voor onwetenden ook wel naar een soort van internet-politie :P zodat het niet alleen verboden maar simpelweg ook onmogelijk gemaakt wordt nog te browsen met verouderde software (Windows XP anyone?) en antieke hardware.

Voorlopig blijft het een toename van processorkracht, software updates en interface wijzigigen.

Mijn vaste overtuiging: als je op internet veilig en snel mee wilt, zul je de portemonnee moeten trekken. Elk jaar opnieuw. Wen er maar aan ! :D
"Ik snap jullie niet. Hoe oud ben je, hoe lang ga je mee in de wereld van automatisering?"

Ben 35, nerd sinds mn ~13e. JUIST omdat ik al een tijdje meega erger ik me er zo aan. Ik heb nog net de tijd meegemaakt dat je dingen efficient moest programmeren omdat er simpelweg niet zoveel geheugen / cpu power was. Dat dat er nu wel is moet geen vrijbrief zijn voor nodeloos resources slurpende code.

Overigens heb ik niets tegen security updates.. zie de link met efficientie niet zo :)
Wat is efficiënt, 1Gb gebruiken en op 1 core draaien anno 2016, of 4 cores gebruiken met 2Gb? Ik vind dat wel vooruitgang. De ontwikkel methoden van Firefox is nog steeds grotendeels jaren '70/'80 met C/C++, valgrind, nachtmerrie om te herfactoriseren en waar fouten of geheugen lekken pas bij runtime aan het licht komen. FF op Linux had lang veel geheugen lekken door deze antieke methoden. Gelukkig gaat Firefox nu jaren 90 techniek gebruiken dmv. het gebruik van programmeertaal Rust (de programmeer taal zelf overigens nieuwer). Maar ja, die 14 miljoen regels complexiteit is dan wel een blok aan je been. Dus het wordt als het goed is binnen en paar jaar beter.

http://www.infoworld.com/...ngine-inches-forward.html

[Reactie gewijzigd door kidde op 23 december 2016 16:01]

Ik zie niet zo goed in hoe C/C++ code per se tot een zooitje moet leiden.. en het 'antieke methoden' noemen klinkt een beetje.. trolly :)
Null point references, geen goed type-systeem waardoor je exceptions hebt die de flow breken en waardoor mensen allerlei data in strings moeten afhandelen, allerlei overflows...

Eea staat hier uitgelegd:
https://arthurtw.github.i...programming-language.html

Natuurlijk kan je met een formule 1 auto uit de jaren 70 veilig door de complexe spits van Amsterdam of over een Albanese snelweg rijden, dat het oude en achterhaalde en mogelijk gevaarlijle tech is hindert niet in de handen van een goede gebruiker, is altijd het argument van de C-programmeur. Of het makkelijk, een fijne ervaring, verstandig en een goede keus is daarentegen...
Echter, in de handen van een goede programmeur kan het resultaat efficienter zijn dan dat wat een even zo goede programmeur met een minder antieke programmeertaal zou maken.. elk nadeel heb ze voordeel.

Dat een browser niet goed is geprogrammeerd hangt minder van de taal af dan van de kwaliteit van het project/de programmeurs. Een snelle, efficiente browser zou prima in C++ geschreven kunnen worden. Alleen heeft nog niemand dat gedaan, helaas :)
Als het goed opgezet is, bestaat geheugen dat hetzelfde is (programmacode, etc) maar één keer in het fysieke geheugen.
Dat is zeker logisch op Linux in ieder geval. Verder is programma-code meestal een heeeel klein onderdeel van het geheugengebruik. De content zelf - en natuurlijk dingen als de flash plugin - zal veel meer geheugen gebruiken.
Het gaat verder dan programmacode. Maar idd. En overigens, als het model is zoals bij Chrome, dan draaien plugins en extensies etc. al in een eigen proces, en volgens mij zelfs maar één instantie.
e10s gebruikt wat meer geheugen, maar het valt op zich wel mee met maar 2 processen. Firefox zal waarschijnlijk nooit overstappen op het 'process-per-tab' model van Chrome i.v.m. het geheugenverbruik, maar er wordt wel gewerkt aan het gebruiken van meerdere content-processen. Daarvoor proberen ze inderdaad zo veel mogelijk geheugen te delen waar mogelijk.
Sandboxie maakt al gebruik van sandbox over browser.
Als het goed is, heeft Firefox eigen versie en kan je dus gebruiken om minder veilige websites te bezoeken zonder gevaar?

Internet is nog steeds net een oerwoud waar gevaar kan komen als je niet oplet waar je loopt. Er zijn genoeg goede websites, maar helaas worden er nog steeds misleidende websites gemaakt die mooi en netjes uitzien. En websites die je vragen bepaalde programma's te installeren voor bepaalde services, zoals drivers zoeken.

Ook in de tijd van kerst is niet elke webshop die je ziet goed.
O.a. Kaspersky Internet Security heeft een browser sandbox functie die automatisch gestart kan worden voor financiële zaken of websites die je zelf toevoegt. Is best wel handig. Helaas schakelt deze al je addons ook uit.
Betekent dit dat veel ad-exploits of BeEF-like exploits zoals drive-by's geen of weinig effect meer gaan hebben op Firefox?
Voordat mensen beginnen van: "Hey kijk hoe innovatief Mozilla bezig is" of helemaal gaan fanboyen, zal ik even melden dat Google Chrome dit al jaren heeft. Het gaat dus waarschijnlijk ook soortgelijk werken. Wat Chrome doet is elk tabblad zijn eigen process geven, dus als er iets foutgaat op dat tabblad dan crasht niet heel chrome, alleen dat ene tabje. Wat in dit geval wel gebeurt met Firefox, Vandaar dat Stabiliteit ook genoemd wordt als een van de pro's. Verder kan windows erg goed zelf zijn processen verdelen onder cores en krijg je dus een soort van inherente multithreading. waarbij dus niet 1 process alle tabs moet gaan verdelen, maar gewoon elk tab een eigen process dus een eigen deel van een core krijgt (simpel uitgelegd)
Een sandbox is nog wel iets helemaal anders dan een process.
Mozilla is hier inderdaad simpelweg met een inhaalslag bezig. Maar dat kan je ook positief zien: jarenlang was één van de grootste zorgen van mensen over de veiligheid van Firefox het gebrek aan sandboxing. Nu ze daar (via e10s) eindelijk op in kunnen zetten valt één reden om Chrome te prefereren weg.

Een andere goede stap wat betreft de veiligheid (en ook snelheid trouwens) is het overstappen op WebExtensions, een uitgebreidere versie van het extensiemodel van Chrome. Oude extensies in Firefox hebben eigenlijk geen veiligheidsmodel en kunnen je dus makkelijk (ook perongeluk) in gevaar brengen - met WebExtensions is dat een ander verhaal. Natuurlijk brengt dat wel wat beperkingen met zich mee, maar ze proberen ontwikkelaars zo veel mogelijk mogelijkheden te geven in tegenstelling tot Chrome.

[Reactie gewijzigd door Mitsuko op 22 december 2016 21:50]

Ook grote kinderen mogen in de zandbak spelen :) Beste is natuurlijk naar Linux over te stappen. Of als je perse Windows wil gebruiken maak met Drive image / Ghost regelmatig een image die je kunt terugzetten als je bijvoorbeeld met ransomware (had mijn vader een keer) te maken krijgt. Image teruggezet. Klaar is Klara.

Ik gebruik Linux (Tails op een snelle USB3 stick) voor mijn bankzaken / online aankopen). Een vriend vertelde me dat zijn creditcard voor de tweede keer was geskimmed achter elkaar. Kreeg wel alles terug maar toch. Volgens mij is zijn computer geïnfecteerd of zo. Kan ook zijn dat ie op een "foute" site iets heeft gekocht.

Gebruik meestal een VM om dingen in te testen. Sommige shareware / freeware zit ook al malware/spyware in tegenwoordig. Sandboxie heb ik ook een tijdje geprobeerd. Maar dat is nagware en crippleware. Bepaalde functies werken niet en na 30 dagen krijg je een overdosis pop-ups. Tenzij je het programma koopt natuurlijk. Het was leuk om even mee te spelen maar een VM is veiliger.

Meestal is het toch PEBKAC (Problem Exists Between Keyboard And Chair). Juist. De gebruiker.
Maar je moet continu alert zijn en mensen raken snel afgeleid. Kan ook mij overkomen. Vandaar dus de bovengenoemde maatregelen.
Tails is voornamelijk voor beveiliging van Privacy via o.a. Tor. Niet voor bankzaken! Dit is zelfs af te raden! Immers voor privacy gaat alles langs onion routers en raken mensen dus het spoor bijster. Ga jij bankzaken doen via ToR netwerk dan is het pc thuis --> onion server/router x10 ofzo --> server bank. (Dus 10* kans op onderscheppen) Gebruik je gewone beveiligde verbinding: pc thuis --> bank. (1 x kans op onderscheppen)Leg je zelf een goede VPN aan richting de bank (als het kan en mag van je bank) is het beter. Dit staat volgens mij ook op het forum van Tails ;)
Tails heeft HSTS (HTTPS Strict Transport Security) dus wordt altijd https gebruikt. Alles gaat versleuteld het TOR netwerk in en uit.

Misschien moet ik maar overstappen naar Whonix. Is een virtuele machine binnen een virtuele machine. De ene is de gateway en de andere de workstation. de setup is wat moeilijker.

Feature vergelijking met Tails en anderen.

https://www.whonix.org/wiki/Comparison_with_Others

Traffic gaat zo: Whonix Workstation VM ---> Whonix Gateway VM (the torrifying proxy) ---> Tor Firewall VM (checks that the traffic is actually going to the Tor network, it not, then the packets are dropped) ---> VPN proxy VM ---> firewall VM ----> NetVM (the actual internet) ---> outside world.

Dit allemaal om te zorgen dat je IP adres niet gelekt wordt. Zelfs als je browser "compromised" is (zoals pas het geval was met het lek gebruikt door de FBI ) wordt je IP niet gelekt omdat de Workstation het simpelweg niet weet. Werkt helaas niet vanaf een USB stick en een relatief snelle machine is nodig. Het systeem is ook niet "vergeetachtig" en dat is TAILS weer wel.

Unix wordt maar gebruikt op 1,5% van alle computers en dus is het niet de moeite om hiervoor speciaal exploits te schrijven. Of de FBI en andere inlichtingendiensten moeten ongelimiteerde resources hebben. Alles is beter dan Windows wat deze zaken betreft.
Goede ontwikkeling. Zorgt voor meer veiligheid.
Met e10s (de sandbox waar het artikel over gaat) zou de browser een stuk minder stroperig aan moeten voelen omdat het renderen van de content nu in een los process gebeurt dan de interface.

Op dit item kan niet meer gereageerd worden.


Nintendo Switch Google Pixel XL 2 LG W7 Samsung Galaxy S8 Google Pixel 2 Sony Bravia A1 OLED Microsoft Xbox One X Apple iPhone 8

© 1998 - 2017 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Hardware.Info de Persgroep Online Services B.V. Hosting door True

*