'WhatsApp toont geen waarschuwing bij openen Python- en PHP-bijlagen'

BleepingComputer schrijft dat WhatsApp voor Windows geen waarschuwing toont als gebruikers een Python- of PHP-bijlage openen via een chatgesprek. De bijlagen worden rechtstreeks geopend en dat zou voor mogelijke beveiligingsproblemen kunnen zorgen.

Volgens de techwebsite moeten gebruikers in het geval van een Python-bijlage, de programmeertaal eerst wel geïnstalleerd hebben op hun apparaat. Dan lopen ze pas een beveiligingsrisico. Wat .php-bijlagen betreft, zouden er geen randvoorwaarden van toepassing zijn. BleepingComputer sprak ook met beveiligingsonderzoeker Saumyajeet Das. Die stelt dat het via WhatsApp voor Windows ook mogelijk is om .pyz-, -pyzw-bijlagen, en .evtx-bijlagen te openen zonder eerst een waarschuwing te zien.

Zowel de onderzoeker als de techwebsite merken op dat WhatsApp voor Windows bij andere bestandstypen wel een waarschuwing toont en dat gebruikers deze bijlagen ook niet rechtstreeks kunnen openen. Dat is zo bij .exe-, .com-, .scr-, .bat-, .perl-, .dll-, .hta- en .vbs-bestanden. Deze bestanden moeten eerst opgeslagen worden op het apparaat van de gebruiker. Het beveiligingsrisico is gemeld aan Meta, maar die heeft op het moment van schrijven nog geen fix uitgebracht.

Door Jay Stout

Redacteur

28-07-2024 • 10:26

126

Lees meer

Reacties (126)

126
117
59
0
0
15
Wijzig sortering
Openen die bestanden niet gewoon in een text verwerker? Ik zie het beveiligingsprobleem niet.
Volgens mij wordt het betreffende bestand, geopend met python.exe of php.exe, als dat op het systeem aanwezig is, en aangemerkt om .py of .php bestanden te openen.
Dan is het een Windows beveiligingsprobleem en niet van WhatsApp.
Hier ben ik het niet mee eens.
Ik werk veel met .bat / .cmd files. Wanneer ik een .cmd bestand uitvoer vanuit de file explorer dan verwacht ik dat ik dit mag doen. Bijna iedereen zou gefrustreerd raken dat iedere keer dat je een .bat / .cmd uitvoert een waarschuwing krijgt ...
Maar als ik een .bat / .cmd via de mail binnen krijg verwacht ik dat ik gewaarschuwd wordt. Dan verplaatst het risico van de file explorer met bijbehorende rechten naar de mail client. Ik ga er vanuit dat ik de risico's ken, weet van wie ik het krijg en waarom en hoe ik het op alternatieve manieren kan openen. Maar van veel vrienden / familie / collega's kan ik dat niet verwachten.
En net zoals een cmd via de mail het risico van de mail client is, is het geen melding maken een probleem van whatsapp!
Als ik in Linux eender welk bestand wil uitvoeren dan moet ik het eerst execute rechten geven. Geen gedownload bestand heeft die en kan dus ook uitgevoerd worden.
Dat klopt.
In Windows is het echter omgekeerd, als je wilt dat een bestand niet uitgevoerd mag worden dan moet je de rechten van dat bestand aanpassen.
Dit is net als bij Linux in het OS ingebouwd en voor alle applicaties hetzelfde.

Er zijn applicaties die dat doen, Whatsapp dus blijkbaar niet, of niet goed genoeg.
De Whatsapp programmeurs zijn dit vergeten, of wisten niet dat de standaard bibliotheken deze optie bieden.
Dat programmeurs geen gebruik maken van standaard bibliotheken kun je niet afwenden op de schrijvers van die bibliotheken.
Daar verschillen we dan van standpunt. Het OS hoort deze veiligheid te borgen. Als je dat bij elke afzonderlijke applicatie neerlegt dan ga je altijd dit soort problemen tegenkomen en kunnen we nog heel vaak dit soort nieuwsberichten lezen en deze discussie voeren.
Ik begrijp wat je zegt, de aanpak van Linux is veiliger.
Linux is van origine op veiligheid gericht.
Bij Windows ligt de focus meer op gebruikersgemak.
Dat neemt niet weg dat hetgeen dat Whatsapp doet niet correct is.
Ook op Windows worden Python en PHP bestanden ook niet standaard uitgevoerd, er wordt een normaal tekst editor geopend.
Android en iOS kunnen gedownloade bestanden ook niet uitvoeren en volgens mij staan die systemen toch bekend als gebruikersvriendelijk. Veel Linux distributies zijn ook gewoon gebruikersvriendelijk. Alleen werken ze met een centrale store achtige repository. Mijn vader van 70+ heeft laatst zelf nog een boekhoudprogramma op zijn laptop met Kubuntu geïnstalleerd. Dat was hem op Windows nooit gelukt. Nu gaat hij naar de store, kiest een programma uit, klikt op install en gaat ermee aan de slag. Gemak dient de mens en het is nog eens heel veilig ook.
Dit. Linux gaat daar per definitie beter mee om. Dat windows alles als executable of als input voor executable ziet is wmb ook een flaw waar gekozen is om de gebruiker het leven wat makkelijker te maken.

Op macos hebben ze dat ook, maar daar krijg je eerst een waarschuwing van safari (zodat er niet zonder toestemming wat wordt gedownload) en daarna van Gatekeeper omdat het niet ondertekent is.
Een ontwikkelaar weet hoe zijn OS omgaat met zijn tool-kit?!?
Tja, dakdekkers in Frankrijk laten ook 2 historische kerken afbranden, maar je mag toch ook van een professional verwachten dat ie weet wat ie doet.

Ieder OS heeft zijn eigenaardigheden die tot risico kunnen leiden.
Ieder OS vereist een juiste inrichting en capabele beheerders.

Wanneer je een fundamentele wijziging aanbrengt aan je systeem dan hoor je ook de risico's te mitigeren.
Met een beetje moeite ontzeg je de parser-executable toegang tot alle bestandslocaties behalve die op je whitelist. (Ja, gewoon equivalent aan SELinux, en ja dat zit gewoon in Windows)

sowieso...code als bijlage via WhatsApp aanklikken?!?

De code wordt dan overigens in user-context uitgevoerd en niet in administrator (root) context
Systeem wijzigingen zijn dus erg lastig uit te voeren.
Data stelen of encrypten is natuurlijk wel een gevaar.

[Reactie gewijzigd door Vogel666 op 29 juli 2024 12:29]

Als je een browser gebruikt worden zaken die je download voorzien van een zone.
Een batch bestand dat je zelf aanmaakt krijgt dan een andere zone ( veilig) dan een die je zou downloaden ( mogelijk onveilig). Die laatste kun je niet ongemerkt uitvoeren.
In dit geval krijgen alle gedownloade bestanden dan blijkbaar de zone veilig, dat lijkt me een probleem van Whatsapp.
Correct, het is erg gebruiksonvriendelijk om elke app een andere afhandeling voor uitvoerbare bestanden te geven.

Applicaties als WhatsApp zijn daarnaast sowieso al niet native en kunnen prima in een sandbox draaien.
Ze worden geopend met wat je zelf daarvoor hebt ingesteld als associatie.

En dat is niet een beveiligingsprobleem, dat is een instelling.
Je kan er ook voor kiezen om niets te associeren met deze typen bestanden.
Misschien dan ook gelijk alle associates van .exe verwijderen zodat je die ook niet per ongeluk kan starten?
Ik bedoel dat het een beveiligingsprobleem is als het OS het überhaupt toestaat om gedownloade bestanden uit te voeren zonder iets van rechten open te zetten.
Wat heb je aan een bestand dat geopend wordt door php.exe? Ik dacht dat dat allemaal via de HTTP server geregeld wordt? (De communicatie tussen php-bestanden en php.exe).

Of is dit helemaal anders geworden in 2024? Ik gebruik het al 5+ jaar niet meer. Alles over Node.js, ook voor database doeleinden. Is namelijk echt vele malen sneller. PHP is slow en sluggish.

[Reactie gewijzigd door MrFax op 28 juli 2024 10:47]

PHP werkt prima op de command line, en de code werkt als een console applicatie. Dat is ook de reden waarom PHP "levensgevaarlijk" kan zijn. Er zijn nog steeds volksstammen die de eval functie toepassen op gebruikers input...
Er zijn nog steeds volksstammen die de eval functie toepassen op gebruikers input...
Ik wordt daarom nog steeds altijd een beetje huiverig van PHP. Een beetje hetzelfde als reflectie in Java. Gelukkig heeft Java het er nu uitgehaald.
Python heeft ook een eval. Als het gereedschap voor iemand te gevaarlijk is moet ie er vanaf blijven.

Er zijn heus wel edge cases waarin je ooit een eval wil gebruiken, al is het alleen maar voor wat lokale scripts.

Nog even en subprocess moet eruit, want gevaarlijk, of het direct uit kunnen voeren van SQL op een DB.
Er zijn heus wel edge cases waarin je ooit een eval wil gebruiken, al is het alleen maar voor wat lokale scripts.
Het wordt alleen wel een probleem als die “lokale scripts” verheven worden naar een library. Heb ik al eens meegemaakt op een klus dat een externe lib eigenlijk een hobbybob projectje was van iemand en in JS allerlei evals gebruikte. Een fatsoenlijke CSP header (die vanuit operations gewoon wordt afgedwongen), maakt dan gewoon de boel stuk.

Security by design is hier dan ook een goed mantra om toe te passen. Als het namelijk niet op een veilige manier kan, misschien moet je het dan gewoon niet doen of iets anders gebruiken wat het wel veilig kan.

Zeker met een eval is het gewoon zo dat het ook in code moet kunnen (want dat is uiteindelijk wat die eval ook uitvoert). Dus waarom zou je dan die eval gebruiken?
Haha. Dat zijn de echte bikkels onder de programmeurs. Net zoals motorrijders die in een korte broek en t-shirt gaan rijden. Werkt beide prima, totdat het fout gaat.
php heeft sinds php 3 (?) een file parameter (-f) waarmee je gewoon direct een bestand kan uitvoeren ;)
Ah, in ieder geval nooit nodig gehad. PHP alleen gebruikt voor websites/apps via HTTP.
Heb je dan wel ooit PHP gebruikt? Als je zoiets zegt op een sollicitatie sta je 2 minuten later buiten. Composer, Laravel, Symfony, phpunit,... Allemaal cli-only of hebben een niet te negeren cli-component. En dit zijn geen obscure of weinig gebruikte zaken in de php wereld.
Je kan prima PHP zonder framework gebruiken.
Dan nog is minstens composer niet te negeren. Of ga je gebruik maken van echo en spaghetticode ipv van een template-engine?
En hoe ga dan om met andere dependencies? Not invented here syndroom of zo?

PHP zonder framework is niet PHP, maar PHP voor masochisten.
Hier een php gebruiker die php zonder template-engine en in spaghetti code heeft gebruikt voor zijn eigen website, die overigens draait als een zonnetje. Ook niet allerlei dependencies met mogelijk hack-gevaar. Dus ja, zo kun je php gebruiken.
OK dus omdat je het zelf geschreven hebt zitten er geen kwetsbaarheden in? Persoonlijk vind ik het zelf erger. Want door twig of smarty en andere dependencies te gebruiken kun je net meeliften op de patches van andere sites. Als er een kwetsbaarheid zit in jouw site ben je de pineut. Ok, is wel puur een persoonlijke website, maar ik hoop echt niet dat je dit doet met websites van klanten.
:) Wees gerust, het is de enige website die ik ooit zo geprogrammeerd heb. De kwetsbaarheden die ik me kan voorstellen zijn binnen php zelf, eventueel apache, etc ..
Eerlijk? Ja maar inderdaad alleen voor webbased knutselwerken. Ook nog gooit gezien als je PHP installeert dat alle bestanden dan ineens geopend worden met php.exe. Dat is toch echt iets wat je zelf moet regelen door met je rechtermuistoets op de file te klikken en dan permanent openen met... moet doen. Hoewel er redenen voor zijn om dat te doen zullen de meeste mensen het altijd via een text verwerken openen. En als ik werkte met composer etc moet je toch redelijk bewust je cli er bij pakken, niet iets wat whatsapp voor me zal doen.
Waarom zou je zelf php willen op windows? Is het niet zo dat de helft van de standaard extensies niet te gebruiken zijn. Om nog maar te zwijgen van alle tovenarij die je nodig hebt omdat PHP te veel focust op linux-compatibiliteit (vb. \\ moeten gebruiken als path separator omdat het anders een escape character is).

Ik draai zelf wel Linux, maar zelf ik ga toch ook in hoofdzaak via docker gebruiken. Al wat het maar om niet met 20k onnodige packages en extensies te zitten.
Omdat de reactie chain gaat over de de exe van python en php. In het geval van python wordt de py file inderdaad een uitvoerbaar bestand wanneer je dat aan zet in de installer. dat gedrag heb ik nog nooit gezien bij php tenzei mensen best veel moeite doen om dat aan de slag te krijgen (handmatig omgevings variable instellen etc). Maar ook als we linux en mac gaan betrekken. Ik heb nog nooit gehad dat PHP files als standaard gedrag meteen draaien wanneer ze geopend worden vanuit whatsapp of een andere chatapp
Mwah. Met een IDE als PHPstorm of Idea heb je die CLI componenten eigenlijk niet nodig.

Toen ik nog PHP deed met laravel gebruikte ik ze iig niet. IDE deed dat dan voor mij.
Nou, dan kun je gewoon alles doen wat je met een .py. .pl, .bat of .sh scriptje ook kan. PHP is vanaf het begin gewoon een scripttaal die je vanaf de cli kan draaien. Je ziet het echter niet veel in het wild.
Je laatste statement ben ik het niet mee eens. Meer ook omdat ik zelf een aantal projecten in het verleden gemaakt heb die Java/Python/NodeJS programmeurs nog niet hebben weten te repliceren in hun taal zowel in performance (script run tijd) maar ook resources (memory, cpu) gebruik. Puur allemaal subjectief aan wat je doet en verwacht. Maar goed hier gaat het artikel niet over.

PHP Scripts kan je ook prima via de CLI uitvoeren, dan heb je geen HTTP server nodig om er toch iets mee te kunnen doen. Denk bijvoorbeeld aan cron jobs e.d., alhoewel vaak hier een truckje word gedaan met een Ajax call in de browser kan dit ook prima met crontab. Ook zijn er complete Websocket servers beschikbaar in PHP maar ook dingen als RabbitMQ (Of je het moet willen is punt twee). Kortom ik neem aan als je de file association in Windows hebt staat op php.exe voor *.php files dat ie ze gewoon vrolijk uitvoert. Heb zelf al jaren geen Windows meer dus durf het niet te zeggen.
PHP kan vrijwel alles wat elke basis programmeer taal kan, PHP word middels de web server (niet HTTP server; HTTP is een web protocol geen server systeem).

Je kan Php ook direct uitvoeren via php.exe, wat o.a. gebruikt voor console applicaties als Composer (vergelijkbaar met npm), Rector, HuPKit (mijn eigen creatie), en de Symfony console.

Bij node.js is dit eigenlijk het zelfde.

"Ik gebruik het al 5+ jaar niet meer. Alles over Node.js, ook voor database doeleinden. Is namelijk echt vele malen sneller. PHP is slow en sluggish. "

Misschien dat dit vroeger zo was, maar vandaag de dag is het vele malen beter. Ondertussen ondersteund PHP nu: readonly, enums, strict types, union types, return types, Fibers, en nog veel meer. En de snelheidsverschillen ten opzichte van Node.js zijn inmiddels te verwaarlozen.
(niet HTTP server; HTTP is een web protocol geen server systeem).
Hoezo is het geen "HTTP-server"? Een HTTP server verwerkt (beantwoordt) toch HTTP Requests van een client? Dan is het toch gewoon een HTTP-server(daemon)? Beetje rare opmerking.

Zelfs Apache noemt het gewoon een "HTTP server". Een "web server" is mijn opzicht gewoon het systeem waar de HTTP daemon op draait, maar ik had het in mijn reactie specifiek over de HTTP server.

[Reactie gewijzigd door MrFax op 28 juli 2024 12:27]

PHP is geen webserver, uiteindelijk wordt er altijd een ‘php(.exe)’ interpreter gedraaid voor het uitvoeren van code.
Ik zie het niet als een beveiligdsrisico, maar het is sowieso goed om een melding te krijgen om mensen te informeren als je dit opent, kan het voor problemen zorgen (etc) naar dat doet browsers volgens mij uit zichzelf ook (althans chrome)

Vb zie ik wel een groot risico, maar als mensen .php gebruiken en als je dit normaal opent en dan execute het bestand dan... Hebben ze volgens mij wel iets raars gedaan, praktisch niemand heeft dat volgens mij
Als extra maatregel zou je de standaard actie voor bewerken kunnen gebruiken, in plaats van openen. Als die er is. Mocht iemand PHP of Python geïnstalleerd hebben staan. Zal er ook vast wel een editor zijn.
Dan moet je dat eerst instellen. Volgensmij staat dat standaard niet zo ingesteld in de installer van Python voor windows. Volgensmij vraagt windows het de eerste keer bij een standaard python installatie en kun je dan dus zelf kiezen tussen je tekst editor of bijvoorbeeld de python interpreter.
ze worden in je default app geopend, als dit bij jou een textverwerker is, dan is er geen probleem, maar bij velen is dit een browser die het bestand uitvoert vanop de locatie waar het is opgeslagen, wat mogelijks ook een trusted location kan zijn.
Het idee van de waarschuwing is dat dit bestanden zijn die code kunnen laten lopen tov enkel maar passieve content
Een gewone browser is niet in staat om php of python code uit te voeren. Misschien dat één of andere exotische browser of een plugin dit kan. Maar dan stel ik mij de vraag: waarom? Het is immers geen onderdeel van de client-side standaarden.

Het probleem hier stelt zich pas als je python.exe of php.exe geïnstalleerd hebt, en deze als default app hebt staan.
Dan de vraag gaat een normale browser html uitvoeren in een .phpbestand?
Dit kan alsnog problematisch zijn voor phishing aanvallen.
Ik zou verwachten dat de browser dit gewoon als plain-text opent? Zeker gezien de grote kans op parsing errors omwille van symbolen, tokens, etc. die normaal niet in html voor komen.

Maar ik durf dit niet met zekerheid zeggen. Misschien dat bij pure html en javascript in een php file de browser dit wel gewoon afhandelt?
Als je browser .php opent als webpagina dan werkt de html/javascript gewoon.
Voor een hobby-developer (of een slordig werkende pro-developer kan dat een mogelijkheid zijn. Mits de whatsapp app ook op de PC wordt gebruikt.
Hoe gaat een browser php of python draaien?
Niet, dat kunnen ze niet, zowel .py en .php bestanden moet je via commandline opstarten om te gebruiken. wat eventueel nog kan is dat je de bestanden in je server plaatst en deze dan aanroept.
En zelfs dan moet de interpreter geïnstalleerd zijn… zelfs als je het php bestand via de command line opent doet het niks als je php niet geïnstalleerd hebt.
Python wordt wel standaard geïnstalleerd met LibreOffice bijvoorbeeld, en worden er Python macro's ondersteund.
Nu praat je over documenten.. het gaat hier om raw php/python toch? Macro's kunnen in wel meer uitvoerbare talen..
Hoeveel mensen hebben dat ze automatisch php bestanden openen met een webserver die dat kan? Of python? Volgens mij is de default, ook al heb je ze geïnstalleerd, om een tekstverwerker te openen, niet om ze uit te voeren?
Als je een Python of PHP interpreter geinstalleerd hebt zal de default actie zijn om ze uit te voeren. Niet om ze in Notepad te openen.
Kun je de default app niet manipuleren met een Shebang? Of is dit alleen bij Linux en unix-achtigen het geval?
Windows kijkt standaard naar de extensie maar goed, standaard doet Windows ook weinig met py en php bestanden. Ik vind het redelijk een non-issue.
Als je command line php bestanden kunt uitvoeren en dan lukraak bestanden opent zonder te kijken wat het is, dan heb je wel meer nodig dan een melding.
Daarom vind ik het zo raar dat er zo’n herrie wordt gemaakt over python en PHP, twee talen die by default niet uitgevoerd kunnen worden door een browser. Beide zijn backend talen die serverside worden uitgevoerd.

Overigens zal een browser nooit code zomaar uitvoeren. Ook niet als Javascript. Dan toont het gewoon de bron als het een file is.

Zou nogal makkelijk hacken zijn als een browser dit direct uitvoert dus heel terecht dat men dat niet doet.
Openen die bestanden niet gewoon in een text verwerker? Ik zie het beveiligingsprobleem niet.
PHP runt alleen als PHP en een server staat geïnstalleerd en draait. Python runt volgens mij alleen als je zelf Python op je PC hebt geïnstalleerd. Dus beide runnen niet zomaar, en bij PHP runt het alleen op een server of als een server draait op je PC.

En als onbekende bestandsextensie wordt het nergens standaard in geopend en waarschijnlijk vraagt Windows dan in welk programma het geopend moet worden en standaard staan daar tekstverwerkers onder.

[Reactie gewijzigd door Remzi1993 op 28 juli 2024 14:22]

PHP werkt ook als file handler, al zie je het zelden zo ingesteld staan. De default van de PHP-binary is om een script te runnen in command-line modus, net als Python. Het draait ook prima op een PC als je het daarop installeert, dat hoeft niet op een server te staan.

Ik weet niet wat macOS doet met Python-scripts (aangezien een zwaar verouderde Python daarop staat voorgeïnstalleerd). Hopelijk opent dat gewoon een tekstverwerker. Dat is bij mij op Linux in elk geval wel de standaard.

Hoewel het risico hierop klein is, zie je dit soort beveiliging vaak alsnog wordt toegepast. Als ze voor perl-scripts waarschuwen, kunnen ze dat beter ook doen voor andere scripttypes.
Dat is bij mij op Linux in elk geval wel de standaard.
Dit is gewoon een instelling in ieder OS. Je kunt kiezen wat het standaard programma is waarmee je python bestanden wil openen als je erop klikt in je verkenner. Kan kladblok zijn, kan een code editor zijn, kan python.exe zijn.

[Reactie gewijzigd door youridv1 op 29 juli 2024 13:47]

Het is ook wel echt een hele specifieke use case. Je moet al een desktop versie hebben draaien van WhatsApp, dan ook nog Python op het systeem hebben draaien en dan moet je de bijlage nog openen (je moet altijd voorzichtig zijn met bijlagen, ongeacht de extensie).

De attacker weet dan ondertussen al zoveel over je dat het openen van een onbetrouwbaar bestand nog wel het minst grote probleem is :+
klopt; ze kunnen het ook niet voor blijven. Wat bij een .deb bestand in Debian/Ubuntu?
Wat met een .apk op Android
Wat met een nieuwe programmeertaal waar de eerste developers code met elkaar uitwisselen en de rest van de wereld nog niet op de hoogte is van het bestaan van deze taal?

Eens dat direct openen misschien een slechte zet was; ze zouden beter vragen om het te downloaden en in een 2de stap vragen om het te opnenen, eventueel met de optie om het altijd direct te openen na downloaden.
Python is niet zo raar om geinstalleerd te hebben. Niet alles gebruikt Pywin32 om er een Win32-applicatie van te maken met embedded Python-runtime.

Bij mij staat het er ook gewoon op.

[Reactie gewijzigd door MrFax op 28 juli 2024 12:24]

ook nog Python op het systeem hebben draaien
Dat is zo'n beetje elke macOS-gebruiker. En de desktopversie van WhatsApp is heel populair.
Ook komt Python mee met een hele hoop andere software.
Als je als gebruiker php of python hebt geïnstalleerd dan zie ik eigenlijk maar een paar scenarios aangezien deze niet op Windows worden meegeleverd. Op Mac ook niet meer (was wel decennia het geval, tot ongeveer Monterrey als ik het me goed herinner). Op windows de in python gebouwde apps installeren ook geen complete redistributable.

Dus wat blijft er over:

- De gebruiker is programmeur en moet de risico's toch wel in kunnen schatten (direct een script van cuRL naar Bash knallen is toch ook niet standaard meer hoop ik, ondanks dat sommige pakketten zoals ollama en mac homebrew het nog doen).
- De gebruiker draait Linux waar python vaak standaard geïnstalleerd staat. Dan moet die toch ook wel niveau van doorgewinterde gebruiker zijn. Php komt daar ook niet tenzij je er om vraagt.
- De gebruiker gebruikt Mac en daar waarschuwt het os netjes voor het openen van gedownloade executables. Bovendien zijn php en python ook niet meer standaard. Heb je de xcode tools voor nodig of iets als homebrew package manager. Ook dan moet je toch wel weten waar je mee bezig bent.

Beetje storm in een glas water dus. Het was veel erger vroeger met VBScript attachments omdat dat op elke Windows bak stond.

[Reactie gewijzigd door Llopigat op 28 juli 2024 19:44]

Of de gebruiker download het php-bestand met WhatsApp, WhatsApp wil het openen, en toont een dialoogbox. Gebruiker weet het niet en klikt maar op zijn browser.
Als hij Edge aanwijst, dan gaat het goed, want die interpreteert het bestand als een tekstbestand. Wijst hij echter Firefox aan, dan wordt het php-bestand geïnterpreteerd als html-bestand met alle eventuele risico's vandien.
Ja maar welke normale gebruiker heeft nou PHP geinstalleerd? Dat is mijn punt.

Alleen de HTML is niet zo'n risico met alle browser sandboxing van tegenwoordig.
Als je php niet geïnstalleerd hebt, heb je dus een risico als tie geopend wordt in bijv Firefox en een 0-day in html. Want de waarschuwing die je bij Whatsapp wel krijgt bij html, verschijnt dus niet bij php-bestanden. Terwijl ze wel op dezelfde manier behandeld worden binnen bijv firefox en dus dezelfde risico's hebben.
in het geval van een Python-bijlage, de programmeertaal eerst wel geïnstalleerd hebben op hun apparaat. Dan lopen ze pas een beveiligingsrisico. Wat .php-bijlagen betreft, zouden er geen randvoorwaarden van toepassing zijn.
Uhh... PHP staat niet standaard geïnstalleerd op Windows, dus het lijkt me dat dezelfde randvoorwaarde van toepassing is als voor Python :+
Exact dit! Ik denk dat de kans dat iemand PHP geïnstalleerd heeft zelfs kleiner is dan dat iemand Python heeft tegenwoordig.
Amen. No interpreter, No issue
Vergeet webbrowsers niet mee te rekenen. Zo behandeld firefox php bestanden als html bestanden en voert ze uit.

[Reactie gewijzigd door youridv1 op 29 juli 2024 13:49]

Maar is dit echt iets wat WhatsApp zou moeten afvangen? Lijkt mij meer iets om op OS niveau nog van een waarschuwing te voorzien.

Stel je voor dat elke applicatie dit soort waarschuwing zelf moet inbouwen... Alleen het idee is al een security risico opzichzelfstaand 😅
Ik ben het met je eens dat het OS hier ook een beschermende verantwoordelijkheid heeft. Maar hopen dat iemand het op zich heeft genomen om de gebruiker te beschermen werkt natuurlijk twee kanten op. Het OS als single point of failure is namelijk net zo goed door de app-ontwikkelaars te verwachten wanneer die de gebruiker niet willen beschermen.
Dat is ook waarom diverse apps juist (ook) waarschuwen bij risicovolle bestanden. En dat doet whatsapp ook, maar kennelijk op basis van verschillende bestands-extenties. Zoals exe pl vsb scr com dll (en meer). Maar dat is al snel net zo achterhaald als hopen dat antivirus anders wel alle malware zal herkennen. Voor je het weet mis je als OS of app-ontwikkelaars dat gebruikers een module als zipapp of een tool als PyInstaller geïnstalleerd om lekker makkelijk python scripts meteen te kunnen gebruiken zonder eerst als gebruiker lastig gevallen te worden of je (on)bewust niet geïnstalleerde requirements wel wil gebruiken.
Je kunt wel een commissie laten checken of de app voldoende secure is om als veilig aangemerkt te worden. Nu lijkt het andersom, Microsoft is pleasing Meta.

Als het bij overige, zoals exe, bestands formaten wel een een waarschuwing ⚠️ gegeven wordt, waarom niet bij php of python?

Kom je niet door de kritiek van de commissie, blijft de enige oplossing om de app sandboxed te draaien. Geen oplossing van Microsoft want dan krijgt deze de schuld als er wat misgaat.

Vraag me eigenlijk af waarom deze software al niet eerder beter, degelijk, wordt gebouwd als het om Windows of Mac OS draait. Het blijft naar mijn mening een tool voor een smartphone.
Komt omdat iedereen en z'n moeder tegenwoordig Electron apps levert.

In Mozilla Firefox kun je gewoon instellen wat je zoal moet doen bij bepaalde extensies. Zoals 'always ask'. Vervolgens kan je AV / anti malware er ook nog iets mee.

Een andere browser, zoals een Electron gebaseerde, moet dit ook kunnen.

En als je bij .bat en .vbs wel waarschuwing geeft want scripting languages dan moet je dat bij .pl en .py ed. ook doen. Maar eigenlijk moet je dat automatisch openen niet willen, tenzij de gebruiker dat expliciet aangeeft. Er kan ook een kwetsbaarheid in je image library zitten, om maar een voorbeeld te noemen. Zoals Stagefright kwetsbaarheid, of ImageMagick.

[Reactie gewijzigd door Jerie op 28 juli 2024 18:59]

Ik heb niet vaak dat ik zoveel kul lees in een reactie. Whatsapp for Windows is een native app tegenwoordig. Een goeie AV grijpt ook in als je wel direct een bestand opent, het is niet alleen een achtergrond scanner. Electron heeft hier eigenlijk ook niet zoveel mee te doen... En daarbij is electron ook nog is afnemend in populariteit omdat apps tegenwoordig de webview kunnen gebruiken waar je dan wel weer zou kunnen instellen dat er om een downloadlocatie wordt gevraagd.
Wat een heksenjacht op WhatsApp. Als je al het intellect hebt om Python / PHP te installeren, dan weet je meestal wel ook iets over wat je kan en mag openen.
PHP zal standaard ook gekoppeld zijn aan je IDE, niet aan de php executable die het dan nog eens uitvoert. Python op zich wel.

Eens dat je dit toevallig wel kan openen; ervan uitgaande dat je IDE gaat openen, maar net daarom is het een goed idee indien WhatsApp gewoon download en je nadien kan klikken op openen. Net zoals een browser of een ander download-programma.

een pdf (of zelfs een jpeg blijkbaar) kan ook code bevatten met slechte intenties.
Zoals ik zeg: geef de gebruiker de optie om te kiezen wat deze wilt; de goede oude vertrouwde
1. downloaden
2a. openen
2b altijd direct openen

Mensen klagen daarna vast over .js files, en dan natuurlijk nog de .ts files en daarna nóg iets nieuws... Je kan de nieuwe dingen gewoon niet voor blijven.
Als je al het intellect hebt om Python / PHP te installeren, dan weet je meestal wel ook iets over wat je kan en mag openen.
Het staat kant en klaar in de Windows Store. Daar is echt 0 intellect voor nodig.
een pdf (of zelfs een jpeg blijkbaar) kan ook code bevatten met slechte intenties.
Elk bestand kan code bevatten. Extensies zijn er voor mensen, niet voor computers. Ze worden soms wel door bepaalde applicaties gebruikt om bijvoorbeeld de juiste thumbnail in te laden en je kunt in de meeste OS'en ook de default applicatie instellen op basis van bestands extensie, maar dat is slechts gebruiksgemak.

Het zou top zijn als Windows bestanden gewoon standaard geen executierechten toe zou kennen, behalve als het om een installer gaat.
Om dezelfde reden staat het uitvoeren van powershell scripts op een standaard windows installatie gewoon uitgeschakeld. Je moet eerst de execution policy instellen

[Reactie gewijzigd door youridv1 op 29 juli 2024 13:57]

De oplossing, windows installer laten vragen of je bewust bent dat sommige bestanden kwaadaardig kunnen zijn. Als je hier op nee drukt, wordt je hele windows readonly op user level... wat wss de oplossing is voor 99% qua gebruikers daarbuiten. Waar is de tijd gebleven dat mensen eerst uitzoeken wat ze aan het doen waren, eerst denken voordat ze ergens op klikken etc.?
Als je hier op nee drukt, wordt je hele windows readonly op user level...
Dus dan kan geen enkele applicatie in zijn eigen ini en config files schrijven. Nee, dat is top zeg. Daar gaat niemand over klagen.

[Reactie gewijzigd door youridv1 op 29 juli 2024 13:58]

Beetje out of the box denken kan geen kwaad eh, 1001 oplossingen die je daarvoor kunt bedenken.. iets met application layer?
en waar houdt het dan precies op? Je doet nu net of immutable systems waterdicht zijn en niet of elk immutable os op deze aarde gewoon mutable worden met 1 regel CLI gegeven dat je admin bent

[Reactie gewijzigd door youridv1 op 30 juli 2024 20:02]

Lees even het eerste bericht weer wat ik stuurde, je trekt dingen finaal uit zijn verband... De gebruikersgroep voor wie dat dan bedoeld is gaat geen regel in een CLI uitvoeren... /end
nee en het virus of whatever ze downloaden wordt geexecute met de rechten van hun gebruiker. De meeste mensen, hoe digibeet ook, zijn gewoon admin op hun thuis pc. Dus het is voor een kwaadwillende compleet triviaal om het immutable system op mutable te zetten alvorens zaken aan te gaan tasten. Dat is op windows en linux allebei zo. Die immutability is bedoeld voor stabiliteit en niet voor beveiliging.

Maakt niet uit of het nu een immutable/atomic linux distro is of windows waar het write filter aan staat. Het doet niks voor security.

En er gaat altijd een manier zijn voor de gebruiker om het systeem mutable te maken op een desktop pc. Dat weet jij zelf ook. En zo lang die manier er is, heeft het systeem "op user level op readonly zetten" geen toegevoegde waarde voor beveiliging.

[Reactie gewijzigd door youridv1 op 31 juli 2024 08:52]

Waarom zou je überhaupt zo'n bestand openen als die ongevraagd gestuurd wordt?
De meeste mensen hebben hier geen verstand van en vertrouwen gewoon alles wat ze krijgen van kennissen. Als het account van de kennis gehacked is hebben ze uiteraard een probleem.
Geen verstand van, maar wel python of php geinstalleerd ?
Ja! Python wordt tegenwoordig veel gebruikt om eenvoudige tools en programmas te maken en te verspreiden. Ik kan me genoeg mensen bedenken die python geïnstalleerd hebben omdat één of andere tool voor hun onderzoek dat vereist, maar die nooit een regel Python gezien hebben of zelfs weten wat Python is.

Github staat tegenwoordig vol met dat soort tools die voor een leek redelijk eenvoudig te installeren zijn. Stap 1 is vrijwel steeds "Install Python".
Ik denk dat je als ITer toch wel in een specifieke groep zit. Dus dat je hier veel ITers mee kunt targetten geloof ok graag, en wellicht als je een entry tot een netwerk wilt hebben een logische keuze. Maar tegelijkertijd verwacht je van een ITer toch wel dat die even nadenkt. Gewone gebruikers (waar ik honderden van heb) weten zich geen raad met zo'n file, laat staan dat die iets geïnstalleerd hebben om dit te openen.
Waar ik het over heb zijn vooral non-IT'ers.

Je kan Python zowat vergelijken met .net redistributables: een gewone gebruiker - die wel een basiskennis van computers heeft - weet niet noodzakelijk wat deze redistributables zijn, enkel dat hij ze nodig heeft om de software die hij wilt installeren.

Python heeft in veel domeinen dezelfde status: nieuwe software vereist vaak Python, en dus installeren ze het (als de software het al niet standaard meegeeft.)

Een voorbeeld gaf ik al eerder: Python is enorm populair in tal van onderzoeksvelden. Onderzoekers schrijven tools in Python en delen deze op GitHub zodat andere onderzoekers - die vaak niet kunnen programmeren of slechts een basiskennis van computers hebben deze tools kunnen gebruiken en verder kunnen met hun onderzoek.

Ook van de groep Python programmeurs mag je niet verwachten dat het IT experts zijn. Net doordat Python zo toegankelijk is kan vrijwel iedereen het gebruiken. Ook mensen die zich niet bewust zijn van bepaalde veligheidsaspecten. Python wordt hier in België tegenwoordig gegeven in veel universitaire opleiding. In hun eerste jaar installeren ze Python voor een vak om wat statistiek te doen of om grafieken te maken, maar ze hebben veelal geen echte computerkennis, buiten de verplichte Word, Excel en Powerpoint.

Degene die ik hierboven vermeld zijn in mijn ogen gewone gebruikers en geen IT'ers.

Hoe dan ook is het best verkeerd dat je python bestanden met een enkele klik in Whatsapp zou kunnen uitvoeren: iedereen kan al eens onbedoeld een link aanklikken. Dit mag niet direct destructieve gevolgen hebben.
In het verleden hadden alle MacOS gebruikers standaard python, werd gewoon meegeleverd met OS.
Ik denk dat dit bij de meeste Linux varianten ook zo werkt ...

https://docs.python.org/3/using/mac.html
macOS used to come with Python 2.7 pre-installed between versions 10.8 and 12.3.
Dat hangt van de use-case en distro af. Daarom ben ik ook zo blij met Flatpaks, dan heb je wel meer space nodig, maar Python is niet globaal aanroepbaar/beschikbaar.

Veel developers installeren dat los, of gebruiken nog altijd iets als XAMP. Die moeten uit veiligheidsoverwegingen echt naar Docker voor iets als PHP.

Gelukkig doet Linux wel vragen of je het wilt uitvoeren of openen in de tekst editor. Tenzij je dit overruled hebt.
Denk dat je niet wil weten, hoeveel mensen overal maar opklikken.
Ow tis van een vriendin of een oom ow zal wel goed zijn.
Ondertussen was die ook al gehackt, dus tja.
De beveiliging ligt letterlijk in de handen van de gebruiker, en de kennis (of gebrek daar aan).

Dan ben je (helaas) gewoon uitverkorene om gehackt te worden, of elders.
Dat is dan toch ook zo met .sh, .exe etc etc..
Nee, bij die extensies wordt een waarschuwing gegeven door WhatsApp for Windows

Op dit item kan niet meer gereageerd worden.