Posts tonen met het label linux. Alle posts tonen
Posts tonen met het label linux. Alle posts tonen

woensdag 14 maart 2018

VIRTUALISATIE: WINDOWS, LINUX EN MACOS OP ÉÉN PC

Standaard staat er op een pc één besturingssysteem. Gebruik je de pc, dan gebruik je dat besturingssysteem. Met multiboot is het wel mogelijk meerdere besturingssystemen op één pc te installeren, maar je kunt die dan niet gelijktijdig gebruiken, wat de gebruiksmogelijkheden enorm beperkt. Virtualisatie biedt die mogelijkheid wel. Met virtualisatie gebruik je de kracht van moderne computers maximaal. Wat virtualisatie is, hoe het werkt en hoe je het gebruikt vertellen we je in dit artikel.
Bij meerdere besturingssystemen op één pc denk je al snel aan een dual- of multiboot-systeem. Op een multiboot-systeem installeer je na het eerste besturingssysteem een tweede of derde (en misschien wel vierde) besturingssysteem elk apart op de pc. Daarna beslis je elke keer bij het starten van de pc welk besturingssysteem je daarna wilt gebruiken. Multiboot heeft als voordeel dat het actieve besturingssysteem de volledige rekenkracht van de pc kan benutten. Maar het heeft ook een belangrijke beperking: je hebt nooit meerdere besturingssystemen tegelijk actief, altijd maar één. Wil je iets in een ander besturingssysteem doen, dan moet je de huidige sessie afsluiten en de pc opnieuw opstarten. Informatie die je van het ene naar het andere besturingssysteem wilt meenemen, moet je eerst opslaan en toegankelijk maken. Virtualisatie kent deze nadelen niet, bij virtualisatie zijn de besturingssystemen tegelijk actief.

01 Wat is virtualisatie?

Bij virtualisatie installeer je eerst gewoon één besturingssysteem op de pc. Dit heet het host-besturingssysteem. Binnen dat besturingssysteem installeer je vervolgens een virtualisatielaag, de virtual-machinemanager. Deze softwarelaag voegt de mogelijkheid toe om op de pc virtuele machines in te richten. Een virtuele machine is een software-imitatie van een computer, die via de virtualisatielaag gebruikmaakt van de hardware van een andere fysieke computer. Je kunt zo’n virtuele machine opstarten en ziet dan net als bij een echte computer het bios starten, daarna kun je een besturingssysteem installeren. In de virtualisatielaag configureer je meestal per virtuele machine hoeveel van het computergeheugen die krijgt om te gebruiken, hoeveel rekenkracht van de processor en hoeveel opslagruimte op de fysieke schijf.

02 Waarom virtualiseren?

De extra mogelijkheden die ontstaan door virtualisatie zijn legio. Zo kun je doordat host- en gast-besturingssystemen gelijktijdig actief zijn, gelijktijdig op dezelfde computer meerdere versies van een besturingssysteem gebruiken. Bijvoorbeeld: Windows 10 naast Windows 7 of 8. Of twee versies van Windows 10 naast elkaar. Maar je kunt ook besturingssystemen als Linux, OpenBSD, Solaris of het antieke MS-DOS gebruiken. Je kunt programma’s die maar op één specifiek besturingssysteem werken, toch tegelijkertijd met je ‘normale’ applicaties gebruiken. In het verlengde hiervan kun je verouderde software blijven gebruiken die niet meer compatibel is met een nieuwere versie van het host-besturingssysteem. Dit kan zelfs voorkomen dat je een dure nieuwe licentie moet kopen voor een nieuwere versies wanneer de oude op zich nog prima voldoet.
Virtuele machines zijn ook ideaal om onbekende programma’s te testen. De software die je in de virtuele machine gebruikt, kan namelijk niet de werking van het host-besturingssysteem verstoren. Het is dus veilig om software binnen een virtuele machine te gebruiken, al zijn antivirus en updates daar even noodzakelijk.

03 Welke hardware is nodig?

Virtualisatie heeft twee ingrediënten: virtualisatiesoftware én een fysieke computer. Bij deze computer tellen vooral de processor, werkgeheugen en opslag mee. Toch hoeft het echt geen heel dure en uitgebreide computer te zijn. Een computer van een paar jaar oud met 4 GB geheugen en een paar gigabytes vrije ruimte op de harde schijf volstaat al. Alleen kun je dan wel minder virtuele machines tegelijk draaien. Want hoewel de virtualisatiesoftware de rekenkracht van de computer keurig verdeelt, het host-besturingssysteem claimt altijd een deel van de rekenkracht en het geheugen, en belast ook de harde schijf. In de praktijk is vooral de hoeveelheid intern geheugen cruciaal: 4 GB is net aan, 8 GB is prima, 16 GB of meer perfect. Gebruik daarnaast het liefst een recente 64bit-processor en een ssd in plaats van een harde schijf (met minstens enkele tientallen gigabytes beschikbaar).

04 Welke software is nodig?

Het aanbod aan virtualisatieprogramma’s is niet heel groot. Allereerst is er VMware, dat biedt voor zowel Windows als Linux twee dezelfde programma’s: Workstation Pro en Workstation Player. Hoewel de naam anders suggereert, kun je met de Player ook virtuele machines maken. Bovendien is Workstation Player gratis voor niet-commercieel gebruik. Voor macOS biedt VMware de betaalde programma’s Fusion en Fusion Pro. Ook Parallels Desktop is een betaalde optie voor macOS.
Wil je gratis gebruikmaken van virtualisatie, dan is er naast VMware Player nog VirtualBox. VirtualBox is opensource en beschikbaar voor Windows, Linux, Solaris, OpenSolaris én macOS. VirtualBox stelt de minste eisen aan de hardware, maar is minder uitgebreid en minder goed in complexe grafische toepassingen en games. Tot slot heeft iedereen met een 64bit-versie van Windows 8 Pro of Windows 10 Pro de mogelijkheid het onderdeel Hyper-V aan de Windows-installatie toe te voegen. Ook hiermee is het mogelijk virtuele machines in te richten.

05 Software kiezen

Ga je virtualiseren op Windows, macOS of Linux? Heb je meer of minder geavanceerde functies nodig? Wil je ervoor betalen? Heb je veel grafische rekenkracht nodig? Dit zijn belangrijke overwegingen.
Wil je op elk besturingssysteem dezelfde virtualisatie gebruiken, dan is VirtualBox de enige keuze. Wil je meer geavanceerde functies en betere grafische prestaties, dan zijn de andere programma’s geschikter. Op macOS is de keuze tussen VMware Fusion, Fusion Pro of Parallels Desktop vooral te maken op basis van de prijs en mogelijke voorkeur. Op Windows voldoet VMware Player voor de meeste zaken. Wil je de meest geavanceerde mogelijkheden, dan kun je VMware Workstation Pro overwegen, maar met een prijs van 275 euro is dat programma niet goedkoop.
Hoewel sommige combinaties wel mogelijk zijn, raden we het in de praktijk af om meerdere virtualisatieprogramma’s tegelijk geïnstalleerd te hebben op één pc.

06 VirtualBox en VMware Player

In dit artikel focussen we ons verder op de twee gratis virtualisatieprogramma’s voor Windows: VirtualBox en VMware Player. Maar welk programma je ook gebruikt: de stappen zoals beschreven zijn in alle gevallen in alle programma’s zeer vergelijkbaar. De installatie heeft telkens weinig opties, de standaard instellingen leiden altijd tot een werkend product.
Het maken van een nieuwe virtuele machine gebeurt in alle programma’s met een wizard. De wizard zorgt ervoor dat alle belangrijke configuratieopties worden ingesteld. Klik in VMware Player op Create a new virtual machine. Als eerste moet je aangeven waar het besturingssysteem staat dat je in de virtuele machine wilt installeren. Is dit een echte cd of dvd, kies dan Installer disc en plaats de cd/dvd in de dvd-speler van de computer. Heb je geen echte schijf, maar wel een iso-bestand, dan werkt dat ook prima. Klik dan op Installer disc image file (iso) en selecteer via Browse het iso-bestand (bevestig met Next). Player past nu het vervolg van de installatiewizard aan op het te installeren besturingssysteem. Bij Windows kun je de licentiesleutel al invoeren en een administrator-account compleet met wachtwoord aanmaken. Klik op Next en geef de virtuele machine een naam en een plek op de harde schijf.

07 Virtuele schijf

De volgende stap in VMware Player is het aanmaken van de virtual schijf. Je kunt de virtuele machine op je systeem opslaan als één groot bestand of een reeks kleinere. De grootte van de virtuele schijf kun je zelf aanpassen, maar maak deze niet te klein om later in de virtuele machine geen ruimtegebrek te krijgen. Bovendien wordt de ruimte niet direct volledig ingenomen, de omvang die je opgeeft is de maximale grootte. Klik op Next, je ziet nu een overzicht van de instellingen voor de virtuele machine. Zijn deze in orde, klik dan op Finish om de virtuele machine aan te maken en het besturingssysteem te installeren.

08 VM maken in VirtualBox

Heb je voor VirtualBox gekozen, dan lopen de stappen zoals gezegd ongeveer hetzelfde. Om een nieuwe virtuele machine te maken klik je op Nieuw. Geef de virtuele machine een naam en selecteer het te installeren besturingssysteem en de versie. Klik op Volgende. Nu komen de configuratie-items geheugengrootte, harde schijf en locatie. Handhaaf alle standaard opties. Om de virtuele machine echt te installeren, klik je op Start en selecteer je daarna de cd, dvd of via Bladeren het iso-bestand waarop de installatiebestanden van het besturingssysteem te vinden zijn. Daarna begint de installatie die je net zo uitvoert als een installatie in een echte pc.

09 Updates, licenties en antivirus

Een virtuele machine denkt dat het een écht systeem is. Dat geldt ook voor alle software … en hackers en malware. Wil je Windows in een virtuele machine draaien, dan is een licentiesleutel nodig. Ook voor veel andere betaalde programma’s die je in de VM installeert zijn licenties nodig. Al die software moet ook geüpdatet en gepatcht worden voor optimale beveiliging. Kortom: op een virtuele machine zijn alle beveiligingsmaatregelen nodig die op een gewone pc ook nodig zijn: dus de firewall inschakelen, antivirus installeren etc.

10 VM optimaliseren

Een besturingssysteem kan alleen optimaal presteren wanneer het over de juiste drivers beschikt voor de onderliggende hardware. Een virtuele machine gebruikt meestal geen standaard drivers, er zijn aparte drivers voor nodig die niet standaard bij de installatie van een besturingssysteem in een virtuele machine worden gedownload en geïnstalleerd. Dat moet je in veel gevallen zelf doen, maar moeilijk is dat gelukkig niet. In VMware Player log je eerst in met een admin-account in de virtuele machine. Klik daarna met de muis op Player / Manage Install VMware Tools. Player zal dan een virtuele cd-rom met daarop de drivers laden, die je daarop in één keer kunt installeren.
In VirtualBox gaat het op bijna identieke wijze via Apparaten Invoegen Guest Additions CD Image. Als de installatie niet al zelf start, open dan in de virtuele machine Windows Verkenner en open de (virtuele) cd-romspeler. Start dan het installatieprogramma. Na afloop moet je de virtuele machine meestal opnieuw opstarten. Daarna zullen de prestaties (vooral de grafische) veel beter zijn.

11 Muis en toetsenbord

Wanneer je één of enkele virtuele machines gebruikt, wordt het ineens belangrijk in welke VM de input van je muis en toetsenbord terecht moet komen. Standaard is het zo dat zodra je met de muis in het venster van een virtuele machine klikt, de invoer daarna van muis én toetsenbord naar die virtuele machine gaan. Je kunt dit goed zien aan de muisaanwijzer. Beweegt de muis zich buiten het venster van de virtuele machine, dan staat de muis in de virtuele machine stil. Klik je echter één keer in het venster van de virtuele machine, dan bestuur je de muis in die virtuele machine met je echte muis.
Het wordt lastiger wanneer je de muis of toetsenbord weer buiten de virtuele machine wilt gebruiken. Beweeg je de muis naar buiten de virtuele machine, dan wil dat niet altijd. De muis zit dan ‘gevangen’ in de virtuele machine. Om de muis en daarmee ook het toetsenbord te bevrijden uit de virtuele machine, gebruik je in VirtualBox de rechter Ctrl-toets en in VMware de sneltoets Ctrl+Alt. Heb je de ‘Guest Addions’ van VirtualBox of de ‘VMware Tools’ geïnstalleerd, dan is het vaak niet nodig muis en toetsenbord op deze manier te bevrijden, dankzij de verbeterde drivers kun je dan de muis vrij in en uit de virtuele machine bewegen en daarmee ook de input van het toetsenbord sturen.

12 Snapshots

Snapshots zijn een heel krachtige mogelijkheid van (sommige) virtuele machines. Met een snapshot bevries je de toestand van een virtuele machine, zodat je daar later altijd naar terug kunt. Een soort savegame-functie die je uit games kent. Je gebruikt het bijvoorbeeld voordat je een programma installeert of een actie uitvoert waarvan je weet dat de virtuele machine die vermoedelijk niet goed doorstaat. Ben je klaar? Dan kun je met een paar klikken de virtuele machine weer terugzetten naar het moment dat je het snapshot maakte.
VMware Player ondersteunt het helaas niet, alleen de duurdere VMware Workstation. VirtualBox biedt wel snapshots. Om een snapshot te maken van een virtuele machine klik je in VirtualBox op Machinegereedschappen Snapshots. In de werkbalk zie je Snapshots staan. Links is de actieve virtuele machine geselecteerd en rechts de opties voor snapshots. Klik daarna op Neem. Geef dan het snapshot een naam en eventueel een beschrijving, en klik op OK. Daarna kun je de virtuele machine gewoon verder gebruiken en (desgewenst) weer een nieuwe snapshot maken. Het kan ook via de toetsencombinatie rechter-Ctrl+T.

13 Snapshots gebruiken

In het venster van de snapshotmanager kun je door meerdere snapshots te maken een hele boom van onderling verbonden snapshots bouwen. Om te zien wat de situatie van een bepaald snapshot was, selecteer je dat in de lijst. Bij Attributen zie je de naam en beschrijving die je zelf aan het snapshot hebt gegeven. Wil je meer weten, klik dan op Informatie. Hier zie je de instellingen van de machine op het moment van het snapshot met alle hardware en instellingen, en een preview. Klik op Preview om een grotere weergave te zien. Wil je terugkeren naar een eerdere status van de virtuele machine, selecteer dan dat snapshot en klik op Terugzetten. VirtualBox biedt de mogelijkheid de huidige stand eerst als nieuw snapshot te bewaren, klik dan op Terugzetten en even later is de virtuele machine hersteld. Is de optie Terugzetten niet beschikbaar, sluit dan eerst de virtuele machine af.


LENOVO L13L4A61 voor Lenovo FLEX 2 14 15 15D Li-ion 32WH/4400mAh / 4Cell 7.2V
APPLE A1713 voor Apple A1708 Pro 13 MLL42CH/A MLUQ2CH/A Li-ion 4781mAh (54.5Wh) 11.4V
DELL T54FJ voor Dell Latitude E6420 E6520 Li-ion 60WH 11.1V
2TXYM 709MT 3WN11 H240AS-00 laptop adapter voor PSU DELL OPTIP 390 790 960 990
SONY VGP-BPS38 voor SONY SVP13 Pro13 Pro11 li-ion 4740mAh/36Wh 7.5V
ADS-40FSG-19 laptop adapter voor LG E1948S E2242C E2249 E1948 PC

woensdag 8 november 2017

Bestanden lokaal delen tussen Windows, Mac en Linux

Besturingssystemen zijn volwassener geworden en kunnen veel beter samenspelen dan enkele jaren geleden. Een belangrijk rol in die evolutie is weggelegd voor de cloud, maar ook op lokaal vlak is er vooruitgang geboekt. Via een thuisnetwerk kan je bestanden delen tussen Windows, Mac en Linux. Ik gebruik hiervoor in deze workshop het SMB-protocol. Windows maakt standaard gebruik van SMB om bestanden te delen, terwijl de twee andere besturingssystemen ingebouwde ondersteuning hebben voor de standaard.

Windows

Thuisgroepen zijn niet beschikbaar voor andere besturingssystemen, waardoor je een alternatieve methode moet gebruiken om je bestanden publiekelijk beschikbaar te stellen. Die is er gelukkig wel, al zijn deze instellingen nog niet gemoderniseerd naar het nieuwe Windows 10-design. Open in de ‘Instellingen’ het onderdeel ‘Netwerk en internet’. Ga bij het onderdeel ‘Status’ naar de ‘Deelopties’. Open in het venster het menu voor ‘Particulier netwerk’ via het pijltje (of ‘Openbaar’, als je dit soort netwerk gebruikt – al is dat niet echt aangeraden) en schakel de opties voor ‘Netwerkdetectie’en voor ‘Bestands- en printerdeling’ in. Eventueel kan je voor netwerkdetectie nog aanduiden of je de bestanden automatisch wil delen of met een wachtwoord wil afschermen. Bewaar je aanpassingen door te klikken op ‘Wijzigen opslaan’.
Haal de map die je wil delen erbij via ‘Windows Verkenner’. Rechterklik met de muis op de map en open ‘Eigenschappen’. Selecteer het tabblad ‘Delen’ en en klik op de knop ‘Delen’, hier kan je de map beschikbaar zetten via het netwerk door naast ‘Toevoegen’ op het pijltje te klikken en ‘Iedereen’ te selecteren. In het ‘Delen’-tabblad vind je dan het netwerkpad naar het bestande. Wil je echter voorwaarden opleggen voor de gedeelde map, dan maak je beter gebruik van ‘Geavanceerd delen’. Wanneer je het venster opent kan je bij de opties ‘Deze map delen’ aanvinken. Dit doet in essentie hetzelfde als de map met iedereen delen, maar via de knoppen ‘Machtigingen’ en ‘Cache’ kan je beperkingen opleggen.
Om gedeelde mappen in Windows te bekijken moet je de map Netwerk in Windows Verkenner openen. Hier staan de computers die mappen met jou gedeeld hebben. Wanneer je een Mac of Linux-machine juist geconfigureerd hebt, zullen de computers in deze lijst verschijnen. Dubbelklik op een icoontje om de gedeelde mappen te bekijken. Als je je gedeelde bestanden beschermd met een wachtwoord en gebruikersnaam, zal je dat nu moeten invoeren. Je kan ook direct verbinden met een netwerkmap door ‘\\Computernaam’ in de balk van Windows Verkenner in te tikken, waarbij je ‘Computernaam’ vervangt door de naam van het toestel of optioneel door het IP-adres.

Mac

Om netwerkdelen op macOS mogelijk te maken moet je bij de ‘Systeemvoorkeuren’ zijn. Hiervoor klik je op het Apple-logo en selecteer je het menu. Druk in het venster vervolgens op het deel-icoontje, en vink je het delen van bestanden aan. Klik op de knop ‘Opties’ en controleer of de mogelijkheid ‘Deel bestanden en mappen’ via SMBingeschakeld is. Gebruik het ‘Gedeelde mappen’-veld om mappen aan te duiden die je wil delen en het ‘Gebruikers’-veld om aan te geven wie de bestanden mag zien en wat ze ermee mogen doen.
Om gedeelde mappen in macOS te vinden moet je een kleine ingreep uitvoeren. Open de ‘Finder’, klik op ‘Ga’ bij het menu dat je bovenaan het scherm vindt, en selecteer onderaan ‘Verbind met server’. Tik de regel ‘smb://Computernaam’ in, waarin je ‘Computernaam’ vervangt door de naam van het toestel of het IP-adres. Je zal een venster te zien krijgen waar je je kan aanmelden met de juiste gegevens of aangeven dat je als gast inlogt. Klik op ‘Verbinden’ om het proces af te ronden. Hierna zal de computer onder de hoofding ‘Gedeeld’ in de zijbalk van de ‘Finder’ verschijnen. Om automatisch in te loggen op een gedeelde computermap open je ‘Systeemvoorkeuren’en navigeer je naar ‘Gebruikers en groepen’ en vervolgens ‘Login items’. Sleep een netwerkmap naar dit venster en je bent gesteld.

Linux

Ga op zoek naar het bestandsbeheerprogramma van je Linuxversie. Ik gebruik voor deze workshop Ubuntu als voorbeeld, maar het proces is gelijkaardig voor andere edities. Open dus de bestandsbeheerder en klik op een map die je wil delen. Selecteer ‘Properties’ en ga naar ‘Local network Share’. Activeer ‘Share this folder’ en geef eventueel nog bijkomende voorwaarden aan. Als dit de eerste keer is dat je een bestand deelt, dan moet je eerst nog Samba installeren, de opensourceversie van SMB. Klik op ‘Install Service’ en volg de instructies op. Configureer de instellingen nadat je Samba hebt binnengehaald en vergeet niet op ‘Create Share’ te klikken om je map te delen.
Je bestandsbeheerprogramma bevat normaal gezien ook een netwerkzoekfunctie waarmee je gedeelde mappen kan opsporen. Klik in Ubuntu op ‘Browse Network’, dubbelklik op de ‘Windows Network’-optie en vervolgens op je werkgroep, standaard ‘Workgroup’ genoemd. In dit venster kan je de beschikbare gedeelde computers bekijken en selecteren om de bestanden te openen. Ook Linux laat je rechtstreeks verbinden met een netwerkmap. Ga terug naar het ‘Browse Network’-menu en vestig je aandacht op het ‘Connect to server’-veld onderaan. Tik hier de regel ‘smb://Computernaam’ in, waarbij je wederom kan kiezen voor de actuele naam van de computer of het IP-adres. Opnieuw zal je mogelijks inloggegevens moeten invoeren, vooraleer je bij het toestel uitkomt.

De cloud

Lokaal delen is handig, maar er gaat toch niets boven de cloud als je op zoek bent naar de meest gebruiksvriendelijke en eenvoudige oplossing. Alle grote clouddiensten zijn beschikbaar vanop het internet en hebben apps voor Windows en macOS. Sommige zelfs voor Linux. Als er geen officiële app is, dan heb je nog een goede kans dat een ijverige ontwikkelaar een alternatief heeft ontwikkeld om je favoriete clouddienst naar het opensource OS te brengen. Je kan er natuurlijk ook voor kiezen om een NAS in je netwerk te hangen. Die fungeert dan als je eigen privécloud.

dinsdag 17 oktober 2017

Hoe verander ik mijn MAC-adres?

Het Media Access Control-adres (MAC) van je toestel is een uniek adres dat je hardware identificeert voor andere toestellen die er via het internet mee willen communiceren. Het IP-adres van je computer is meestal dynamisch en verandert geregeld, maar je MAC-adres blijft zonder ingreep altijd hetzelfde. Het is echter mogelijk om het MAC-adres aan te passen als dat nodig is, op eender welk besturingssysteem.

Waarom?

De kernfunctie van een MAC-adres is het mogelijk maken van netwerkcommunicatie, maar daarnaast speelt het ook een grote rol in authenticatie. Verschillende diensten identificeren gebruikers aan de hand van hun MAC-adres. Soms heb je een specifiek MAC-adres om je ergens aan te melden; andere gaan je computer juist blokkeren op basis ervan. In beide situaties is het handig om je MAC-adres te kunnen aanpassen. Elke netwerkinstantie heeft zijn eigen MAC-adres, wat betekent dat een computer met ethernet- en wificapaciteit over meerdere MAC-adressen beschikt. Om je huidige MAC-adres(sen) te checken open je Windows de opdrachtprompt en typ je ‘ipconfig /all’ in. Het MAC-adres is te lezen achter ‘Physical address’. Voor Linux en macOS volstaat het commando ‘ipconfig’.

Windows

Op een pc moet je in ‘Apparaatbeheer’ zijn om de nodige veranderingen te maken. Je vindt dit menu het snelst door met je rechtermuis op ‘Start’ te klikken. Ga in de lijst op zoek naar het onderdeel ‘Netwerkadapters’. Selecteer de adapter waarvan je het MAC-adres wil veranderen. Rechterklik erop, open ‘Eigenschappen’ en ga naar ‘Geavanceerd’. Kies de optie ‘Network Address’. Zie je deze optie niet, dan ondersteunt je netwerkdriver deze functie niet. Pas de waarde van het netwerkadres aan naar je nieuwe MAC-adres; het nummer voer je in zonder leestekens. Klik op ‘OK’ om de actie te voltooien.

Linux

Bij de meeste Linux-varianten kan je gebruik maken van ‘NetworkManager’ om je MAC-adres te veranderen. In Ubuntu open je het venster door in de taakbalk bovenaan je scherm op het netwerk-icoontje te klikken. Selecteer vervolgens ‘Wijzig Verbindingen’, kies de verbinding die je wilt veranderen, en klik op ‘Bewerken’. Wil je je ethernet veranderen, dan vul je in het tabblad ‘Ethernet bij Cloned MAC Address’ het nieuwe MAC-adres in, en bewaar je nadien je veranderingen. Om de verandering permanent te maken moet je het relevante configuratiebestand in ‘/etc/network/interface.d/’ aanpassen, anders reset het MAC-adres weer wanneer je je computer heropstart.

MacOS

In macOS heb je Apple’s versie van de opdrachtprompt nodig, de Terminal. Gebruik de sneltoets ‘CMD + Spatiebalk’, tik ‘Terminal’ in en druk op ‘Enter’. Het commando dat je moet invoeren is ‘sudo ifconfig en0 xx:xx:xx:xx:xx:xx’, waarbij je de x’jes vervangt door het nieuwe MAC-adres. Ook en0 staat niet vast, hier moet je de specifieke naam van de netwerkinterface invoeren. Dit is doorgaans wel ‘en0′ of ‘en1′. Ben je niet zeker, dan kan je eerst ‘ipconfig’ invoeren om een lijst met je netwerk-adapters op te roepen. Het veranderen van het MAC-adres in macOS is iets moeilijker, omdat ook hier de verandering niet permanent is. Om het adres te verankeren heb je een macro nodig die de MAC-wijziging uitvoert telkens als je je computer opnieuw opstart.

maandag 19 december 2016

Zero day exploit in Linux ontdekt: hoe de hack werkt

De bekende hacker Chris Evans heeft een manier gevonden om huidige versies van Ubuntu en Fedora te hacken. Het enige wat een Linux-gebruiker hoeft te doen om in de problemen te komen, is het downloaden van een kwaadaardig muziekbestand in Chrome en deze te starten. Ook wanneer je slechts de map opent waarin het bestand zich bevindt, zal de hack in gang worden gezet.
In een blogpost doet Evans uit de doeken hoe hij het lek op het spoor kwam. In zijn hack maakt de man gebruik van de Linux gstreamer, een media framework dat bij veel Linux-distributies standaard wordt geleverd. Dit framework bevat onder andere de mogelijkheid om Super Nintendo Entertainment System-muziekbestanden te emuleren. Deze emulatie vormt de basis van alle problemen die Evans over Linux-gebruikers kan heen roepen.

Out of bounds register

Evans is twee fouten op het spoor gekomen in de basiscode van de SNES-emulatie. Het eerste probleem doet zich voor in de opcode 0xAF, waarbij een schrijfoperatie naar het X-register wordt uitgevoerd. De waarde die naar het register kan worden geschreven, wordt niet beperkt, waardoor je een out of bound waarde in het register kan opslaan.
Het tweede probleem situeert zich in de instructie om de flags van een register en de instruction pointer naar de stack te restoren. Hierbij wordt gebruik gemaakt van het SP-register, welke normaal gezien een waarde tussen 0x00 en 0xff moet hebben. Bij deze instructie wordt de waarde van het SP-register niet veperkt, waardoor de stack pointer posities van het virtuele geheugenadres te groot kan worden. De stack pointer kan met andere worden een out of bounds waarde krijgen.

Memory leak

Om het nut van de twee fouten in de SNES-emulatiecode de testen, probeerde Evans zijn Linux-systeem te doen crashen met behulp van out of bounds waardes. De hacker genereerde met succes een te grote waarde in het X-register, maar jammer genoeg werd er geen crash veroorzaakt. Na enig onderzoek bleek de waarde van het X-register bij verdere bewerkingen toch beperkt te worden.
Ondanks het feit dat de out of bounds waarden niet onmiddellijk voor een exploit zorgen, kan de grote waarde wel andere bijwerkingen hebben. Bovendien ontdekte Evans een bug in de decoder wrapper van libgme, de software library Game Music Emu, waardoor een memory leak ontstond.

Watervaleffect

Met de verschillende fouten in de emulatiecode in zijn achterhoofd, zocht Evans verder naar een manier om via de bugs een hack uit te voeren. Hij ontdekte dat de y-waarde bij de vermenigvuldiginginstructie eveneens niet werd beperkt, waardoor je erg snel een erg grote waarde kan creëren.
Ook de instructie om waardes te delen, bevat hetzelfde probleem. Na experimenteren, slaagde Evans erin om met een grote waarde in het Y-register, gecreëerd met een vermenigvuldiging, een negatief getal uit te komen na de deelinstructie. Deze negatieve waarde kan gebruikt worden om achterwaarts te indexeren, waardoor de vtable waarde kan worden aangepast. Ook kan Evans op deze manier de pointer naar het host heap memory address van de virtuele RAM aanpassen, waarna de hacker met succes kwaadaardige code kan starten op het systeem van een slachtoffer.

Werkende zero day exploit

Samengevat zorgt Evans er in de eerste plaats voor dat het X-register een grote waarde krijgt. Hierna gebruikt hij de vermenigvuldiging- en deelinstructies om een negatieve waarde in het Y-register te creëren. Hierna zorgt hij ervoor dat de vtable corrupt geraakt en verwijst naar plaats 0x100 in de virtuele RAM. Hierdoor wordt vtable -2370739 opgeroepen, welke een instructie bevat die de pointer op plaats 0x10 laadt in %rdi. %rdi bevat de pointer naar offset 0xc0 in de virtuele RAM. In Evans zijn voorbeeld bevindt zich hier de de string ‘gnome-calculator’.
Hierna wordt de pointer bij offset 0x8 geladen in %rax, waar Evans eerder system() heeft opgeslagen. Deze variabele wordt opgeroepen, waarbij het eerste argument in de x86_64 ABI overeenkomt met %rdi, welke nog steeds naar de gnome-calculator verwijst. In dit geval zal er dus een rekenmachine worden gestart. Door de kwaadaardige code naar andere software te laten wijzen, kan er echter een hoop kattenkwaad worden uitgehaald.