Werknemers die e-mails van buiten het bedrijf ontvangen, krijgen over het algemeen informatie over welke bestanden mogelijk gevaarlijk zijn. Zo worden EXE-bestanden standaard als onveilig beschouwd, evenals DOCX- en XLSX-bestanden, want die kunnen schadelijke macro’s bevatten. Tekstbestanden worden aan de andere kant vaak per definitie als onschadelijk beschouwd, omdat ze niets anders dan platte tekst kunnen bevatten. Maar dat is niet altijd het geval.
Onderzoekers hebben een manier gevonden om een kwetsbaarheid (nu gepatcht) in deze bestandsindeling te benutten, en ze kunnen er mogelijk meer vinden. De bestandsindeling zelf is het probleem niet, maar de manier waarop het programma TXT-bestanden verwerkt wel.
De CVE-2019-8761-kwetsbaarheid in macOS
Onderzoeker Paulos Yibelo onderstreepte een merkwaardige manier voor het aanvallen van macOS-computers met gebruik van tekstbestanden. Net als vele andere oplossingen ziet het ingebouwde beveiligingssysteem van macOS, Gatekeeper, tekstbestanden als volledig betrouwbaar. Gebruikers kunnen ze downloaden en openen met gebruik van de ingebouwde editor TextEdit, zonder aanvullende controles.
TextEdit is echter iets geavanceerder dan Notepad van Microsoft Windows. U kunt er meer mee doen, zoals vetgedrukte tekst weergeven, gebruikers de kleur van de tekst laten aanpassen, enzovoorts. Omdat het TXT-formaat niet ontworpen is om stijlinformatie op te slaan, neemt TextEdit de aanvullende technische informatie om die taak aan te kunnen voor zijn rekening. Als een bestand bijvoorbeeld begint met de regel <!DOCTYPE HTML><html><head></head><body>, verwerkt TextEdit de HTML-tags, zelfs in een bestand met een .txt-extensie.
In feite dwingt het schrijven van HTML-code in een tekstbestand dat met die regel begint TextEdit om de code te verwerken, of op zijn minst elementen ervan.
Mogelijke aanvallen via tekstbestanden
Na het zorgvuldig nalopen van alle mogelijkheden van een potentiële aanvaller, ontdekte Yibelo dat de kwetsbaarheid het volgende mogelijk maakt:
- DoS-aanvallen. Gatekeeper voorkomt het openen van lokale bestanden van een object met de TXT-extensie niet. Hierdoor kan het openen van een schadelijk tekstbestand een computer overbelasten, door bijvoorbeeld gebruik te maken van de HTML-code om toegang te krijgen tot het /dev/zero-bestand, een eindeloze bron van null-karakters.
- Het identificeren van het echte IP-adres van een gebruiker. Code in het tekstbestand kan AutoFS opstarten, een standaardprogramma voor het mounten van bestandsystemen, waardoor er toegang tot een externe drive kan worden verkregen. Hoewel deze handeling op zich niet gevaarlijk is, omdat het automatische mounting-proces de systeemkernel dwingt om een TCP-verzoek te verzenden, zelfs als de gebruiker achter een proxyserver zit, kan de maker van het schadelijke tekstbestand zo uitvinden hoe laat hij precies is geopend en het echte IP-adres registreren.
- Diefstal van bestanden Er kunnen volledige bestanden worden toegevoegd in een tekstdocument met het attribuut <iframedoc>. Hierdoor kan het schadelijke tekstbestand toegang krijgen tot elk bestand op de computer van het slachtoffer en de inhoud vervolgens overhevelen met gebruik van een dangling markup-aanval. De gebruiker hoeft het bestand alleen maar te openen.
De kwetsbaarheid werd in december 2019 aan Apple gerapporteerd en kreeg het nummer CVE-2019-8761 toegewezen. Paulos Yibelo’s post biedt meer informatie over het benutten van deze kwetsbaarheid.
Zo blijft u beschermd
Een update in 2020 loste de kwetsbaarheid CVE-2019-8761 op, maar dat is nog geen garantie dat er niet meer TXT-gerelateerde bugs in de software zitten. Er kunnen nog andere zijn waarvan men nog niet heeft ontdekt hoe die benut kunnen worden. Dus het correcte antwoord op de vraag “Is dit tekstbestand veilig?” luidt ongeveer zo: “Ja, voorlopig. Maar blijf waakzaam.”
Daarom raden we aan om alle werknemers te trainen om elk bestand als potentiële dreiging te behandelen, zelfs als het er als een onschadelijk tekstbestand uitziet.
Hoe dan ook, het overdragen van de controle van alle uitgaande informatiestromen van een bedrijf aan een interne of externe SOC is een goed idee.