image

Onderzoekers: Beschouw ongepatchte Drupalsites als gehackt

woensdag 18 april 2018, 11:08 door Redactie, 14 reacties

Websites die op het Drupalplatform draaien en de meest recente beveiligingsupdate van 28 maart niet hebben geïnstalleerd moeten als gehackt worden beschouwd, zo stellen verschillende beveiligingsonderzoekers. Via de kwetsbaarheid is het eenvoudig om websites volledig over te nemen.

Op 13 april waarschuwde het Drupal-ontwikkelteam dat het geautomatiseerde aanvallen tegen Drupalsites had waargenomen. Ook stelden de ontwikkelaars dat Drupalsites die sinds 11 april de update niet hadden ontvangen mogelijk gecompromitteerd waren. Sindsdien is er een toename van het aantal scans naar kwetsbare Drupalsites. Wanneer succesvol installeren de aanvallers onder andere een backdoor cryptominer, zo melden securitybedrijf Volexity en het Internet Storm Center (ISC).

Volgens Johannes Ullrich van het ISC en Daniel Cid van securitybedrijf Sucuri zijn de aanvallen inmiddels van een dergelijke schaal dat alle ongepatchte Drupalsites als gehackt moeten worden beschouwd. Drupal geeft beheerders van gehackte websites het advies om de website via een back-up te herstellen. Het verwijderen van backdoors die de aanvallers hebben achtergelaten is namelijk lastig en het risico bestaat dat niet alle backdoors worden verwijderd, waardoor de aanvallers weer toegang kunnen krijgen.

Reacties (14)
18-04-2018, 12:58 door Krakatau
Drupal is op zich een mooi in elkaar zittend stuk software. Het zal echter helaas nooit kunnen ontsnappen aan de beperkingen van de PHP omgeving waarop het is gebouwd.
18-04-2018, 13:31 door Anoniem
Door Krakatau: Drupal is op zich een mooi in elkaar zittend stuk software. Het zal echter helaas nooit kunnen ontsnappen aan de beperkingen van de PHP omgeving waarop het is gebouwd.
Nu programmeer ik af en toe componenten in PHP, maar mijn kennis gaat niet zover om te concluderen of PHP wel of geen veilige taal is. Dus mijn vraag: waarom zou PHP niet veilig zijn?
18-04-2018, 16:28 door Anoniem
Door Krakatau: Drupal is op zich een mooi in elkaar zittend stuk software. Het zal echter helaas nooit kunnen ontsnappen aan de beperkingen van de PHP omgeving waarop het is gebouwd.
Want met andere talen kun je geen onveilige dingen bouwen?
18-04-2018, 17:21 door Krakatau - Bijgewerkt: 18-04-2018, 17:41
Door Anoniem:
Door Krakatau: Drupal is op zich een mooi in elkaar zittend stuk software. Het zal echter helaas nooit kunnen ontsnappen aan de beperkingen van de PHP omgeving waarop het is gebouwd.
Nu programmeer ik af en toe componenten in PHP, maar mijn kennis gaat niet zover om te concluderen of PHP wel of geen veilige taal is. Dus mijn vraag: waarom zou PHP niet veilig zijn?

Omdat het speelgoed is. Het is nooit ontworpen als een serieuze programmeertaal. Het is begonnen als een scriptje om een website te updaten.

Lees dit en huiver:

PHP is not merely awkward to use, or ill-suited for what I want, or suboptimal, or against my religion. I can tell you all manner of good things about languages I avoid, and all manner of bad things about languages I enjoy. Go on, ask! It makes for interesting conversation.

PHP is the lone exception. Virtually every feature in PHP is broken somehow. The language, the framework, the ecosystem, are all just bad. And I can’t even point out any single damning thing, because the damage is so systemic. Every time I try to compile a list of PHP gripes, I get stuck in this depth-first search discovering more and more appalling trivia. (Hence, fractal.)

PHP is an embarrassment, a blight upon my craft. It’s so broken, but so lauded by every empowered amateur who’s yet to learn anything else, as to be maddening. It has paltry few redeeming qualities and I would prefer to forget it exists at all.

https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/

Door Anoniem: Want met andere talen kun je geen onveilige dingen bouwen?

Zelfs met het allerbeste gereedschap kan je de zaak verklooien. Doet dat iets af aan dat je er goed aan doet om professioneel gereedschap te gebruiken voor serieus werk? Met een houten speelgoedhamer moet niet de verwachting hebben om stalen spijkers in de muur te kunnen slaan.
18-04-2018, 18:16 door Anoniem
"Lees dit en huiver:
https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/"

Deze tirade tegen php is al 6 jaar oud, de relevantie is 6 jaar later wellicht nog ver te zoeken?
18-04-2018, 19:09 door Anoniem
Door Krakatau:
Door Anoniem:
Door Krakatau: Drupal is op zich een mooi in elkaar zittend stuk software. Het zal echter helaas nooit kunnen ontsnappen aan de beperkingen van de PHP omgeving waarop het is gebouwd.
Nu programmeer ik af en toe componenten in PHP, maar mijn kennis gaat niet zover om te concluderen of PHP wel of geen veilige taal is. Dus mijn vraag: waarom zou PHP niet veilig zijn?

Omdat het speelgoed is. Het is nooit ontworpen als een serieuze programmeertaal. Het is begonnen als een scriptje om een website te updaten.

Lees dit en huiver:
....
Dus? Er zijn wel meer dingen als "speelgoed" begonnen. Het is mogelijk om goeie software te schrijven, maar geeft geen garanties op kwaliteit. Net als er genoeg Python libs die lek blijken, etc. etc. PreHypertextPreprocessor is allang de vervanger van PersonalHomePage ;-)

Ik heb genoeg lekke applicaties gerapporteerd. Op een gegeven moment boeit de taal niet meer, maar de kwaliteit van code van ieder individuele project.


Door Anoniem: Want met andere talen kun je geen onveilige dingen bouwen?

Zelfs met het allerbeste gereedschap kan je de zaak verklooien. Doet dat iets af aan dat je er goed aan doet om professioneel gereedschap te gebruiken voor serieus werk? Met een houten speelgoedhamer moet niet de verwachting hebben om stalen spijkers in de muur te kunnen slaan.

Zie boven. De "taal discussie" is echt nutteloos!
Ik maak websites in C++ als embedded webserver.

Ik zie geen probleem in PHP, mits de code netjes is, en net als iedere webapp in een eigen VM/Docker draait (ik vertrouw PHP net als Python: Nooit voor 100%!).
19-04-2018, 08:42 door Krakatau - Bijgewerkt: 19-04-2018, 08:43
Door Anoniem:
Door Krakatau:
Door Anoniem:
Door Krakatau: Drupal is op zich een mooi in elkaar zittend stuk software. Het zal echter helaas nooit kunnen ontsnappen aan de beperkingen van de PHP omgeving waarop het is gebouwd.
Nu programmeer ik af en toe componenten in PHP, maar mijn kennis gaat niet zover om te concluderen of PHP wel of geen veilige taal is. Dus mijn vraag: waarom zou PHP niet veilig zijn?

Omdat het speelgoed is. Het is nooit ontworpen als een serieuze programmeertaal. Het is begonnen als een scriptje om een website te updaten.

Lees dit en huiver:
....
Dus? Er zijn wel meer dingen als "speelgoed" begonnen. Het is mogelijk om goeie software te schrijven, maar geeft geen garanties op kwaliteit. Net als er genoeg Python libs die lek blijken, etc. etc. PreHypertextPreprocessor is allang de vervanger van PersonalHomePage ;-)

Ik heb genoeg lekke applicaties gerapporteerd. Op een gegeven moment boeit de taal niet meer, maar de kwaliteit van code van ieder individuele project.


Door Anoniem: Want met andere talen kun je geen onveilige dingen bouwen?

Zelfs met het allerbeste gereedschap kan je de zaak verklooien. Doet dat iets af aan dat je er goed aan doet om professioneel gereedschap te gebruiken voor serieus werk? Met een houten speelgoedhamer moet niet de verwachting hebben om stalen spijkers in de muur te kunnen slaan.

Zie boven. De "taal discussie" is echt nutteloos!

Heb je het artikel wel gelezen? Normaliter zijn discussies over welke programmeertaal er gebruikt wordt gerommel in de marge. Echter PHP is hierop een uitzondering! Die programmeertaal is door en door verrot!

Door Anoniem: Ik maak websites in C++ als embedded webserver.

Ik zie geen probleem in PHP, mits de code netjes is, en net als iedere webapp in een eigen VM/Docker draait (ik vertrouw PHP net als Python: Nooit voor 100%!).

Oh ja, Docker en beveiliging. https://www.tripwire.com/state-of-security/featured/security-risks-consider-deploying-containers-docker/
19-04-2018, 09:12 door linuxpro
Ik word een beetje moe van telkens dezelfde reactie als er in een op php gebouwd CMS een veiligheidsprobleem is gevonden. Elke keer weer wordt php beschuldigd van allerlei kwalijke eigenschappen. Geen enkele ontwikkelomgeving (die geschikt is voor webapp's) is zonder fouten. Het probleem zit 'm dan in mijn ogen ook niet zo zeer in de gekozen programmeertaaal maar meer hoe daar mee om gegaan wordt. Je kan een ontwikkelomgeving nog zo goed maken, ik heb Java ontwikkelaars meegemaakt die bijv. volledig vertrouwen op de garbage collector terwijl dat ding zo brak is als het maar zijn kan en je veel beter zelf recourses zou moeten beheren. Alleen dat verreist veel verder gaande kennis v/d ontwikkelaars (lees, de app wordt duurder want duurder personeel). Daarnaast zitten vaak veel problemen niet zo zeer in de core v/h CMS maar in toegevoegde functionaliteit en dus de kwaliteit van 'externe' ontwikkelaars.
19-04-2018, 09:55 door didrix - Bijgewerkt: 19-04-2018, 10:49
Voor iedereen die zegt dat php niet het probleem is:

<?php
$user_is_admin = 0;
$user_is_owner = 1;

$has_permission_1 = $user_is_admin || $user_is_owner;
$has_permission_2 = $user_is_admin or $user_is_owner;
?>

Wat is de juiste manier om dit te doen? Lijkt het zelfde, niet? Volgens de documentatie zou het hetzelfde moeten zijn. http://php.net/manual/en/language.operators.logical.php. En toch is het niet hetzelfde.

Je verdient een sticker als je de uitvoor van het volgende stukje code goed raadt.

<?php
if ($has_permission_2) echo("Welkom\n");
else echo("Je hebt geen rechten!\n");

if ($user_is_admin or $user_is_owner) echo("Of toch wel...??????\n");
else echo("PHP is awesome");
?>

antwoord: https://3v4l.org/t8JgN

Hoe moet iemand ooit veilige code schrijven met deze troep?
19-04-2018, 10:58 door Anoniem
Door didrix:Hoe moet iemand ooit veilige code schrijven met deze troep?

Heel simpel door te begrijpen wat een taal doet ookal is het niet intuitief. In dit geval heeft de '=' operator precedence over de 'or' operator. Leer dat.
19-04-2018, 11:12 door Krakatau - Bijgewerkt: 19-04-2018, 12:04
Door didrix: Voor iedereen die zegt dat php niet het probleem is:

<?php
$user_is_admin = 0;
$user_is_owner = 1;

$has_permission_1 = $user_is_admin || $user_is_owner;
$has_permission_2 = $user_is_admin or $user_is_owner;
?>

Wat is de juiste manier om dit te doen? Lijkt het zelfde, niet? Volgens de documentatie zou het hetzelfde moeten zijn. http://php.net/manual/en/language.operators.logical.php. En toch is het niet hetzelfde.

Het verschil zit 'm in de operator precedence (staat ook in de documentatie The reason for the two different variations of "and" and "or" operators is that they operate at different precedences.). De or heeft een lagere precedence dan de = operator (waardoor de assignment aan $has_permission_2 vóór de or plaatsvindt - en de rest van de regel zinloos is en gewoon verdwijnt). Waarom je dat überhaupt zou willen en waarom er meerdere varianten van logical ands en ors in je programmeertaal zouden moeten zitten? Dat geeft het probleem weer met PHP: het is een bij elkaar geraapt zootje, zonder doordacht ontwerp.

Door didrix: Je verdient een sticker als je de uitvoor van het volgende stukje code goed raadt.

<?php
if ($has_permission_2) echo("Welkom\n");
else echo("Je hebt geen rechten!\n");

if ($user_is_admin or $user_is_owner) echo("Of toch wel...??????\n");
else echo("PHP is awesome");
?>

antwoord: https://3v4l.org/t8JgN

Hoe moet iemand ooit veilige code schrijven met deze troep?

Inderdaad! Als je de documentatie niet helemaal gaat doorwroeten mis je gemakkelijk dit soort dingen. Met onveilige code als gevolg.
19-04-2018, 12:52 door Anoniem
Ach, ik drup al als ik tegenwoordig Wordpress of welk CMS systeem dan ook tegenkom.
19-04-2018, 16:30 door Anoniem
Door Krakatau:Als je de documentatie niet helemaal gaat doorwroeten mis je gemakkelijk dit soort dingen. Met onveilige code als gevolg.

Onzin. Als je fatsoenlijk unit test vallen dit soort dingen meteen op, ook zonder documentatie te kennen.
19-04-2018, 23:43 door Krakatau - Bijgewerkt: 19-04-2018, 23:45
Door Anoniem:
Door Krakatau:Als je de documentatie niet helemaal gaat doorwroeten mis je gemakkelijk dit soort dingen. Met onveilige code als gevolg.

Onzin. Als je fatsoenlijk unit test vallen dit soort dingen meteen op, ook zonder documentatie te kennen.

Laat me niet lachen! Je weet dat je programmeertaal klote is maar denkt het wel te onderscheppen met je unit tests? Dat is echt amateurisme ten voeten uit! Nou, je ziet hoe dat in de praktijk uitpakt, niet? Al die PHP-bouwwerkjes in het nieuws met hun beveiligingsproblemen.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.