#342 – Varför är PHP så utsatt?

För ett par veckor sedan uppmärksammades ett par kritiska sårbarheter i PHP. Det blev snabbt en världsnyhet och inte bara på grund av sårbarhetens allvarlighetsgrad. Det visade sig nämligen att angripare väldigt snabbt kunde nyttja sårbarheten och göra intrångsförsök på väldigt bred front.
Vad skiljer sig denna sårbarhet mot alla andra tusen och åter tusen tidigare? Vad är egentligen PHP och hur har säkerhetsarbetet historiskt sett ut? Vad var det PHP löste som ingen annan kunde ”back in the days” ?
Erik Zalitis och Mattias Jadesköld förklarar den senaste händelsen genom att gå tillbaka till internets begynnelse.
Inspelat: 2026-10-26 (publicerat 2026-11-01)
Deltagare: Mattias Jadesköld och Erik Zalitis.
Texten skrevs och sammanställdes av Erik Zalitis.
Medan du lyssnar – PHP2Shell
Det hände alldeles nyss – den perfekta stormen när man publicerade två extremt allvarliga säkerhetsbrister i en av världens mest använda programvaror, PHP. Det var alle man till pumpen och sedan var det bara stänga ner systemen innan man kunden lägga på patcharna och öppna igen. IT-säkerhetspoddens hemsida var en av många som var avstängt under flera timmar. Men det är alltid bättre än att bli hackad.
Här är transkriptionen av avsnittet
Jingle (00:00.000)
[Intromusik]
Mattias Jadesköld (00:09.460)
Två kritiska sårbarheter i PHP har åter satt strålkastarljuset på en teknik som driver en stor del av webben. I värsta fall kan angripare köra egen kod på en server utan att ens vara inloggad.
Erik Zalitis (00:20.660)
Och det intressanta är ju att PHP inte direkt är någon ny teknik. Den har funnits i decennier. Så varför pratar vi om det här och nu? Och hur många system kan egentligen vara berörda?
Mattias Jadesköld (00:32.479)
Ja, och vi som ska prata om det är Mattias Adelsköld och tillsammans med Erik Zalitis utgör vi duon av Itsec-podden. Idag ska vi alltså prata om nya PHP-sårbarheter, men också då backa bandet och reda ut varför PHP finns, varför det fortfarande används och vilka alternativ som finns.
Erik Zalitis (00:49.840)
Ja, det är ett intressant ämne.
Mattias Jadesköld (00:52.600)
Ja, det är det. Hur är läget då?
Erik Zalitis (00:54.620)
Ja, men det är väl okej tycker jag väl ändå. Lite trött såhär på eftermiddagen och kväll, eller kväll, det är inte eftermiddag.
Mattias Jadesköld (01:02.760)
Vet du vad tröttheten beror på? Det är vinteromställningen. Du vet, gubbar i vår ålder klarar inte den här timmen som vi har skjutit tillbaka. Då blir man helt jetlaggad, helt allt vänds upp och ner.
Erik Zalitis (01:12.260)
Ja, men det är så. Det är till och med en viss överdödlighet. Nu har vi båda kommit förbi det för det brukar hända alldeles i liksom den dagen det skiftar har jag förstått. Så att de har ju funderat på att lägga ner sommartid eller vintertid eller vad bara en här i Europa.
Mattias Jadesköld (01:28.760)
Ja, men det kan väl vara lagom. Äh, kan man ta den, kan man ta den tiden som där man både får sovmorgon och äh blir pigg och allting?
Erik Zalitis (01:38.680)
Ja, det kanske ska vara två tidszoner samtidigt på något vis. Det blir bara mer och mer krångligt det där. Förr i tiden fanns inga klockor, utan då var det såhär
Erik Zalitis (01:47.480)
personer som var anställda för att gå och knacka på ett fönster på morgnarna. Då visste man att det var dags att gå upp och gå till fabriken.
Mattias Jadesköld (01:54.640)
Ja, men lite mysigt ändå ju.
Erik Zalitis (01:56.420)
Ja, det fanns väl klockor, men det var ingen som hade dem privat liksom.
Mattias Jadesköld (02:00.220)
Nej, men det låter ju som ett ganska trevligt jobb att gå runt och knacka. Sen är den personens arbetsdag slut för han har kanske alla-
Erik Zalitis (02:06.780)
Ja, för han går och lägger sig.
Mattias Jadesköld (02:08.479)
Ja, precis.
Erik Zalitis (02:09.699)
Jag tror vi kanske lite liksom ja romantiserar den eran som kanske inte var den bästa, men ändå. Det känns att med tiden så blir allting så stressigt. Det är som vi hittar på anledningar att stressa för någonting som inte existerar. Ja tid finns ju, men det finns ju liksom hela idén. Vi har bara hittat på 24 timmar och det styr hela vårt dygn.
Mattias Jadesköld (02:30.720)
Ja, precis.
Erik Zalitis (02:31.600)
Ja men när vi hittar på ord som livspussel. Jag menar, vad är det för ord egentligen?
Mattias Jadesköld (02:36.520)
Ja,
Mattias Jadesköld (02:38.780)
det är ju ett pussel att lägga. Det är ju ett sånt, det är verkligen så i vardagen och mycket är kopplat till tid helt enkelt.
Erik Zalitis (02:45.740)
Vi är slavar.
Mattias Jadesköld (02:48.020)
Och tid är också viktigt att ha i anspråk när man ska patcha PHP eller andra sårbarheter för den delen.
Erik Zalitis (02:55.360)
Ja och det som hände för en vecka sedan gav oss inte mycket tid att reagera på. Det var det skrämmande.
Mattias Jadesköld (03:01.460)
Ja, men vi gör såhär. Vi ska ju prata PHP och naturligtvis så börjar vi med den här äh den här sårbarheten som dök upp här förra veckan. Och sen, sen när vi har kört igenom den, då går vi igenom lite historia helt enkelt.
Erik Zalitis (03:16.880)
Ja, absolut.
Mattias Jadesköld (03:17.560)
Men jag tror nästan…
Mattias Jadesköld (03:19.780)
Ska vi göra såhär? Äh jag ställer frågorna och du ställer svaren. Inte-
Erik Zalitis (03:25.880)
Jag svarar på svaren.
Mattias Jadesköld (03:26.740)
Svarar på svaren.
Erik Zalitis (03:27.620)
Ja, absolut.
Mattias Jadesköld (03:29.040)
Men vad var det för någonting som hände då förra veckan?
Erik Zalitis (03:32.280)
Ja, händelsen började kring den 17 oktober då Amazon har ju ett verktyg som heter MadPot som försöker att hitta attacker och den ser sådana här försök att utnyttja webbservrar. Och de vet inte riktigt vad det är. Och det intressanta är att det här är fyra dagar före vad vi vet nu att den här sårbarheten blev officiellt publicerad. Och det är den läskigaste situation du kan ha.
Mattias Jadesköld (03:59.940)
Jo, det är en så kallad zero day exploit kan man väl säga. Att den liksom sårbarheten är upptäckt innan det ens finns något sätt att just stoppa den.
Erik Zalitis (04:07.400)
Ja, och man
Erik Zalitis (04:09.420)
drar vi fram bandet till den 20 oktober. Då börjar detaljer om den här händelsen läcka på sociala medier och det är före vad man kallar då en planerad disclosure. Och tidningen eller sajten Watchtower bekräftar att det här är på riktigt.
Mattias Jadesköld (04:28.380)
Mm.
Erik Zalitis (04:29.540)
Den 21 oktober så klockan 16 på eftermiddagen lokal tid så publicerar PHP den här säkerhetsadvisory heter det. Och det är en bulletin som talar om hur de här sårbarheterna funkar och det är total vild panik vid det här laget. För att nyheten är att, och det här hörde jag flera gånger, när klockan är 16, då har ni 15 minuter på er att patcha, sen smäller det liksom. [skratt]
Mattias Jadesköld (04:57.080)
Varför det?
Erik Zalitis (04:58.680)
Idén var att så fort den här sårbarheten, den här patchen blir tillgänglig och sårbarheten blir känd på riktigt. Då kommer alla ladda upp sina AI-maskiner, sina AI-agenter och få dem att bygga någon rolig exploit-kod. Sen börjar det bara, blir det party på hela internet. Det var ungefär så. Okej, det jag kanske säger lite på humoristiskt sätt, men
Erik Zalitis (05:19.140)
det var det man befarade liksom.
Mattias Jadesköld (05:21.060)
Ja, just det.
Erik Zalitis (05:22.260)
Och det är en situation vi inte har sett tidigare. För att förut har det ju såhär, så fort det har kommit en sårbarhet så har de kunnat, eller en fix för en sårbarhet, så har de kunnat plocka sönder den. Men det har tagit timmar till dagar att få det gjort. Nu tänker man med AI, då går det direkt.
Mattias Jadesköld (05:37.360)
Men är det det som är skillnaden? För att liksom sårbarheter i sådana här stora kända program liksom. Okej, nu var det PHP här då, men det har varit andra stora applikationer eller programmeringsspråk som har haft allvarliga sårbarheter igenom åren. Det kommer hela tiden liksom. Men nu blev det verkligen helt kris och panik och liksom de vanliga
Mattias Jadesköld (05:57.180)
tidningar och allt möjligt började skriva om det liksom att det var förfärligt. Vad är det som gör den här attacken så extremt mycket värre liksom?
Erik Zalitis (06:04.692)
Ja, alltså det här jag sa var faktiskt inte den viktigaste biten. Det är faktum att det går otroligt snabbt om man befarar det. Det är det mindre problemet. Det större problemet är att PHP är ju en, man kan säga att det är ju ett webbprogrammeringsspråk om du vill som används på enormt stor del av alla servrar. De största tjänsterna använder PHP, vilket innebär den här sårbarheten, de här två sårbarheterna. De kunde utan att kräva autentisering ta över webbtjänster på någonstans runt sjuttio procent av alla sajter liksom.
Mattias Jadesköld (06:42.492)
Men även om man har en PHP-sida som har någon form av autentisering framför sig då liksom. Spelar ingen roll, eller?
Erik Zalitis (06:49.012)
Grejen är, är det PHP-tjänsten som svarar? Då är det kört i alla fall. Har du någon form av, äh, någon form av inloggningsruta som sköts av en webbproxy eller någonting som inte kör PHP, då funkar det för då skyddar du ju-
Mattias Jadesköld (07:02.492)
En IDP eller något sånt där liksom.
Erik Zalitis (07:07.232)
Ja, precis, då är du säker. Ja, tills i alla fall tills du har loggat in. Men det gör åtminstone att de här skripten som scannar av nätet, då där skyddar det.
Erik Zalitis (07:16.572)
Men det här gjorde ju att, äh, det var ju många sajter som bara stängde ner. De, de, de, de stängde ner tills de kunde lägga på patchen
Erik Zalitis (07:26.792)
för att vara säkra på att de inte blev övertagna. Det här är lite grann ett worst case scenario. Då har man en så kallad remote code execution. Du kan alltså i princip koppla upp mot en maskin. Du behöver inte vara autentiserad och sen kan du i värsta fall ta över den.
Mattias Jadesköld (07:41.432)
Mm, just det.
Erik Zalitis (07:42.252)
Så det är så att den var uppe i över, den ena sårbarheten hade en så kallad CVSS på över nio, om man för mig det var 9,2. Och det är ju otroligt högt för det betyder att det är väldigt stor effekt av det och det är väldigt lätt att utnyttja.
Mattias Jadesköld (07:57.112)
Mm, just det.
Mattias Jadesköld (07:59.652)
Äh,
Mattias Jadesköld (08:01.012)
och
Mattias Jadesköld (08:03.352)
blev det någon, blev det någon, har du hört om det blev någon skandal någonstans liksom?
Erik Zalitis (08:07.992)
En total katastrof? Nej, det vart det inte. Vad vi vet. Förmodligen var det ju det att de får inte underskatta det som händer när alla reagerar. Det betyder ju att många tar sitt ansvar och det innebär de här stora företagen som körde PHP, de som gjorde, de verkligen skyddade sig själva på ett sätt som-
Mattias Jadesköld (08:26.792)
WordPress är en sådan spelare till exempel.
Erik Zalitis (08:28.932)
Ja, WordPress är ju både en tjänst. Det finns ju WordPress punkt com. Men det är ju också någonting du själv kan ladda ner gratis och installera på en egen webbserver. Eller du kan köpa det på en hos en leverantör som typ GoDaddy eller Wix eller liknande va.
Erik Zalitis (08:44.912)
Och det innebär att den har ju en enorm liksom… WordPress är byggt i PHP, vilket innebär den är otroligt vanlig. PHP som lösning är otroligt vanlig. Det är liksom vad man kan kalla den perfekta stormen.
Erik Zalitis (08:59.272)
Det är som att fundamentet som det mesta står på har hål. Det är liksom inte en liten produkt någonstans som just den där produkten drabbas, utan en väldigt stor del av internets webbservrar är i fara.
Mattias Jadesköld (09:14.212)
Mm.
Mattias Jadesköld (09:16.352)
Just det. Och till exempel, ähm, om man kör web apps i Azure till exempel, då kan man ju välja vilken…
Mattias Jadesköld (09:24.492)
Där kan man bland annat använda PHP ju.
Erik Zalitis (09:26.772)
Ja, precis.
Mattias Jadesköld (09:27.552)
Som ramverk. Det finns ju andra också, men… Och det, vi var ju inne och tittade då. Man kan ju kolla vilken version det var. Det tog ju ett tag innan Microsoft hade patchat sin. Men sen…
Erik Zalitis (09:36.352)
Mm.
Mattias Jadesköld (09:36.752)
Men där kan man ju skydda med autentisering på webbsidan framför då egentligen.
Erik Zalitis (09:41.312)
Det är ju nästan det man ska om nu inte sajten ska vara uppe liksom eller öppen. Jag vet ju på ett ställe, jag är ju lite grann involverad i den här demoscenan. Och en av de stora demoscen sajterna, de gick över i read only läge. Så de gjorde så att det gick inte att skriva till den. Men jag tänker såhär, men om du nu tar över PHP, då hjälper det väl inte om man stänger av databasskrivningen för de kan ju fortfarande ta över servern. Jag tyckte det verkade lite halvmärkligt sätt att lösa det på. Men, men många sajter, de bara tog och stängde av.
Mattias Jadesköld (10:13.352)
Det är väl det bästa.
Erik Zalitis (10:14.872)
Det var det säkraste och IT-säkerhetspodden stängde av. Det var då jag kom hem.
Mattias Jadesköld (10:19.132)
Gjorde du?
Erik Zalitis (10:19.312)
Ja, så bröt jag, så gick jag in i brandväggen och bara stängde av, stängde port 80 och 443.
Mattias Jadesköld (10:25.712)
Just det. Och sedan patchade den snällt.
Erik Zalitis (10:28.232)
Jag patchade den och sedan körde jag en massa liksom kollar i loggar och se har den skrivit något. Det man är rädd för är ju ett så kallat web shell och det är någon som laddar upp PHP-kod till servern för det går att göra med den här sårbarheten. Och sen kan de köra, ja du kan köra ett kommandoprompt eller köra kod eller lägga in skadlig programvara eller göra defacements eller allt möjligt liksom. Ett web shell rent tekniskt är ju egentligen en webbsida som ger kontroll över det underliggande kommandoprompten.
Mattias Jadesköld (10:59.392)
Just det.
Erik Zalitis (10:59.932)
Men den kan, med den kan du göra mycket fler attacker liksom så.
Mattias Jadesköld (11:05.952)
Ja, jag förstår. Men, ähm,
Mattias Jadesköld (11:10.132)
hur vet man om man är berörd helt enkelt?
Erik Zalitis (11:13.152)
Ja, det får man ju kolla med sin, äh, sin leverantör. PHP själva la ut en bulletin där de talade om för varje bransch, alltså 8.5, 8.2, 8.3. Vad heter den versionen som är den säkra? Minst den versionen eller bättre. Äh och jag kör ju Ubuntu på mina servrar, så jag kollar med Ubuntu själva och då sa de vår patch till den här som lägger på den här fixan i vår pakethantering. Ja, den heter såhär. Jag tror den hette 1.5 på slutet. Så jag tittade och då hade jag 1.4, provade jag uppdatera, fick ingenting. Då var jag ju bortkopplad från internet. Sen gick det en timme, försökte igen och då kom den ner. Och så fort det var klart, då visste jag, ja men nu är det skyddat. Vad jag däremot inte visste som sagt var ju, äh, var jag drabbad? Hade de hunnit in?
Mattias Jadesköld (12:04.352)
Ja, hur kan man testa det?
Erik Zalitis (12:06.888)
Det är väldigt svårt. Det man får göra är att kolla. Det är att kolla efter vanliga mönster. Vad gör en hackare som lägger upp ett webbkälla? De lägger ju till en fil eller ändrar en fil. Så titta efter ändringar. Titta på om de skriver in konstiga saker i bilder tittade jag på också. Jag gjorde faktiskt så att jag tog flera backuper och sen så stegade jag igenom varje inkrementell backup för att titta vad har ändrats varje dygn och den sista backupen hade inga filer ändrats på. Då visste jag, nej, det här är nog lugnt. Sen gjorde jag en kontroll av att bilderna inte höll grejer och sånt där.
Erik Zalitis (12:40.568)
Och jag gjorde en hel del andra kontroller också. För det är såhär, det är lite svettigt ändå.
Mattias Jadesköld (12:46.568)
Ja, så det är det man behöver göra helt enkelt då. Och det där kan ju vara svårt om man till exempel har en,
Mattias Jadesköld (12:52.648)
en WordPress-sida om vi säger då hos en, hos en leverantör, säg GoDaddy till exempel. Men då får man förlita sig på att de har
Mattias Jadesköld (13:01.768)
gjort det.
Erik Zalitis (13:03.288)
Ja, det är det som är problemet. Du har lämnat över säkerheten till någon annan liksom.
Mattias Jadesköld (13:08.388)
Mm.
Mattias Jadesköld (13:11.527)
Precis. Ja, det blir lite komplext så, men äh…
Mattias Jadesköld (13:17.368)
Det man får göra läxan då helt enkelt, det är att titta igenom såhär, vilka produkter har PHP i sig? Och här, det finns ju också lättare och svårare saker att tänka på. Det uppenbara kanske är just sådana här webbsidor som är just PHP, men det kan också vara
Mattias Jadesköld (13:32.328)
brandväggar kan ha PHP i sig, ett webbgränssnitt.
Erik Zalitis (13:35.688)
Ja, jag menar, jag kör ju, jag har kört ganska många år här PF Sense. Där är ju brandväggen har inte PHP. Däremot själva webbgränssnittet som du har på den, det är PHP. Det är helt riktigt och det är ganska vanligt.
Mattias Jadesköld (13:47.848)
Och skulle en angripare ta över webbgränssnittet kanske de kan gå in och göra förändringar i brandväggen.
Erik Zalitis (13:53.028)
Nu hoppas jag att man inte sätter webbgränssnittet på utsidan. [skratt] Det är dumt. Men okej, det är…
Mattias Jadesköld (13:59.228)
Det gör man aldrig.
Erik Zalitis (13:59.588)
Nej, men man ska ju inte bara, man ska vara försiktig med det för att då tänker man, ja men attackerna kommer från utsidan. Ja, det gör de ju normalt. Men om vi sedan någon skadlig kod installeras på en bärbar dator och någon tar in den i, i, på kontoret, ja då kan den ju komma från insidan. Nu känner jag inte till någon sådan attack med det här, men det är gamla lärdomar från maskar och varför Zero Trust Network blev ett krav. Man var tvungen att inte lita på något nät explicit. Det får inte finnas någon insida på ett nät.
Mattias Jadesköld (14:29.748)
Alla nät är fientliga brukar ju vara en sån här parad inom Zero Trust.
Erik Zalitis (14:34.148)
Kära Mattias, vi lever på en krigsplanet. Här är det krig på något sätt, jämt.
Mattias Jadesköld (14:39.548)
[skratt] Fientligt.
Erik Zalitis (14:42.628)
Allt är fientligt. Näten är fientliga. [skratt] Det är bara, det är bara lev med det.
Mattias Jadesköld (14:47.428)
Men det finns ju några andra planeter som inte heller är så himla
Mattias Jadesköld (14:50.708)
äh bebodliga.
Erik Zalitis (14:52.568)
Nej, och då kan man inte ha något krig. Det är fred för att det finns ingenting som händer.
Mattias Jadesköld (14:57.348)
Nej, precis.
Mattias Jadesköld (14:59.088)
Äh, mm, ja men så det ska man tänka på. Men det är också…
Mattias Jadesköld (15:03.588)
Det kommer att ta lång tid innan folk uppdaterar.
Erik Zalitis (15:07.268)
Det är en lång…
Mattias Jadesköld (15:08.968)
Det kommer att finnas många webbsidor fortfarande där folk inte uppdaterar tror jag.
Erik Zalitis (15:14.708)
Nej, det är den långa svansens liksom teori om att det är liksom huvudaktörerna sköter sig. Men den långa svansen av halvtrasigt, dåligt liksom uppsatta maskiner, den är lång. Det är många.
Mattias Jadesköld (15:29.048)
Jag hörde någon sån här kommentar som,
Mattias Jadesköld (15:31.808)
som jag inte vet var sann, men någon som tyckte liksom, ja men sådana där saker, det där är bara för konsulter ska tjäna konsultarbete, konsultarvode liksom för att gå ut med sådana larm. [skratt]
Erik Zalitis (15:44.808)
Ja, på andra sidan, det jag kan säga emot det är väldigt enkelt. Om du vill bara tjäna pengar på konsultgrejer, gör ingenting. Då kommer du att tjäna pengar på att reparera skadan sedan.
Mattias Jadesköld (15:55.068)
Mm, ja, jo, det är sant.
Erik Zalitis (15:57.108)
För att fortsätta lite med tidslinjen där då. Vi är nu på den 21 oktober och mellan den 21 och 22 oktober så rapporterar Cloudflare att man har gått från tiotusentals försök inom 45 minuter efter den här grejen till miljoner tidigt den 22:a. Och då talar vi om aktiv exploatering i verkligheten. Då har alltså i princip hackarna börjat flyga på den. Men notera 45 minuter, det är inte mycket mer än de 15 minuter man befarade. Så man var inte helt fel ute. Men det här steg ju upp så att jag undrar, nu tror jag att det är rätt mycket på gång
Erik Zalitis (16:35.408)
äh som joggar runt.
Mattias Jadesköld (16:38.488)
Ja, och då börja förstå vad som gör att det här är uppmärksammat. Det kanske inte är själva sårbarheten i sig eller att det är PHP liksom, utan det är den nya tiden med liksom…
Mattias Jadesköld (16:50.628)
För det första så har vi ju liksom stora angripare, hackare och sådana här saker naturligtvis äh som är statligt stödda och allt vad det är för någonting. Men just den här AI-förmågan som gör att man kan otroligt snabbt gå
Mattias Jadesköld (17:03.568)
till angrepp.
Erik Zalitis (17:05.508)
Ja, ja, ja.
Mattias Jadesköld (17:06.928)
Så att egentligen är det nog det här. Det här är nog en, om man klarar sig den här gången för den här PHP-angreppet, då ska man nog se det som en lärdom helt enkelt. Hur täpper jag till sårbarheter? Eller har jag förmågan att upptäcka sårbarheter och har jag liksom
Mattias Jadesköld (17:25.628)
möjlighet att snabbt kunna täppa till det?
Erik Zalitis (17:27.708)
Ja, precis. Och det här är ju intressant också därför att det fanns ju en ganska stor ilska såg jag på nätet mot PHP liksom. Äh vilket, jag ska säga, den stora frågan, har PHP förtjänat sitt bitvis dåliga rykte? Det tycker jag är en bra fråga.
Mattias Jadesköld (17:48.448)
Ja, för att få svara på det så måste vi väl gå tillbaka liksom från start egentligen. Äh men jag tänkte, och det ska vi ju snart göra ju, eller hur?
Erik Zalitis (17:57.968)
Ja.
Mattias Jadesköld (17:58.828)
Men vi kan ju parkera den frågan lite för vi landar klart helt enkelt i den här nuvarande händelsen. Sen går vi tillbaka och så får vi se om de förtjänar det här ryktet. Eller vad tycker du?
Erik Zalitis (18:08.908)
Ja, ja, ja.
Mattias Jadesköld (18:11.812)
Eh så min fråga är ju liksom det här som du säger till att om det tar en trekvart innan det sker miljontals angreppsförsök. Hur ska man då som organisation täppa till allvarliga sårbarheter på en trekvart?
Erik Zalitis (18:27.032)
Ja, det är ju en, det är ju det, alltså grejen var, det var inte riktigt så det gick till. Det här var tre kvart efter att sårbarheten hade släppts. Patchen hade släppts. Patchen är ju det du lägger på för att fixa den. Men den kan du plocka sönder och då vet du hur man gör för att använda den. Det är liksom den, den fungerar lite grann som en ritning för hur en attack kan gå till för då förstår en attackerare det där. Men det tar tid att reverse engineer som det heter. Men med AI så går det jättesnabbt. Så det är inte mycket du kan göra. Det betyder att du har en extremt kort tidsram äh innan det går riktigt illa liksom.
Mattias Jadesköld (19:06.632)
Mm.
Erik Zalitis (19:07.392)
Äh och varför? Det finns ingen, jag kan inte säga att det finns en jättebra lösning på det. Vad vi gjorde som hade PHP, det var ju att vi var ju om, vi hade ju omvärldsbevakning. Det kom in rapporter hela tiden. Jag har ju en sån här RSS-läsare så jag får in nyheterna från de stora säkerhetssiterna och det bara dånade in. Ja, nu måste ni fixa det. Det är liksom klockan 16 i dag, då släpps patchen. Men då ska ni, då ska ni stänga av allting i princip. Det var vad man sa.
Mattias Jadesköld (19:33.112)
Mm.
Erik Zalitis (19:33.732)
Så det var ju bara alla man till däck. Det var, det var, det var bara att kasta sig på det. Äh det är en ganska ovanlig händelse, men, men det här är den perfekta stormen. En gemensam plattform för allting som drabbas på ett väldigt allvarligt sätt. Det är inte ofta det händer, men när det händer, ja då blir det såhär. Jag tror inte det finns någon bra lösning på det tyvärr, tyvärr.
Mattias Jadesköld (19:58.632)
Nej, men man, man måste ju ha en bra rutin och snabbt kunna täppa till sådana här saker. Jag tycker också att det är bra av WordPress att komma snabbt med en, med en bulletin och täppa till det här.
Erik Zalitis (20:09.992)
Det var inte WordPress, det var PHP som gjorde det.
Mattias Jadesköld (20:12.032)
Ja, sorry, naturligtvis PHP.
Erik Zalitis (20:14.152)
Däremot WordPress kör PHP.
Mattias Jadesköld (20:16.192)
Ja, absolut. Absolut.
Erik Zalitis (20:17.872)
Det är bara PHP på-
Mattias Jadesköld (20:18.432)
Jag satt och tittade i vårt manus och mina ögon fastnade på just WordPress där. Så det är det som jag sa vad jag läste.
Erik Zalitis (20:25.112)
Ja, ja, du läser vad som är på telepromptern. Det kom att tänka på en viss film där.
Mattias Jadesköld (20:28.752)
[skratt] Ja.
Erik Zalitis (20:31.072)
Stay classy San Diego.
Mattias Jadesköld (20:32.732)
[skratt] Ja.
Erik Zalitis (20:35.532)
Nej men alltså det som jag tycker är väldigt viktigt att notera är att PHP, du kan inte patcha någonting annat än PHP. Det finns ingen patch för WordPress som fixar det här. För det är liksom PHP är plattformen som gör att WordPress fungerar. Det är som det fundamentet är skadat. Då kan du inte reparera huset. Du kan inte måla om huset när grunden håller på att falla ner då liksom.
Mattias Jadesköld (21:00.392)
Ja, allvarligt. Så det är väl lärdomen man får ta då helt enkelt att man måste vara jäkligt snabb på att täppa till. Men det visste vi väl sedan tidigare.
Erik Zalitis (21:07.972)
Ja, eller hur? Eller hur? Så är det.
Mattias Jadesköld (21:11.292)
Vi går tillbaka till 90-talet då.
Erik Zalitis (21:13.352)
Ja, det är en klassiker.
Mattias Jadesköld (21:15.512)
Mm, det gillar vi. 90-talet.
Mattias Jadesköld (21:18.592)
Och då var det statiska sidor äh och då vill man gå från statiskt till dynamiskt innehåll. Och då kom PHP då som, som löste någonting som vanlig HTML inte kunde lösa. Eller hur?
Erik Zalitis (21:31.552)
Nej, för HTML står ju för Hypertext Markup Language. Och det är ju, markup betyder ju i princip att det definierar hur en sida ska se ut med typsnitt och storlekar och headings och allting. Äh det är allting som behöver göra logik. Det går inte att göra med HTML. Det gick inte då i alla fall. Det var liksom och det, det kan inte hålla inloggningar eller någonting. Så det behövdes någon typ av språk och på själva webbsidan så kunde man ju köra JavaScript. Men på servern, ja, där fanns lite lösningar. Jag körde Pearl rätt mycket på 90-talet och det finns det andra. Men PHP var ett språk som var väldigt enkelt och byggt för att alla skulle komma i gång och det blev omåttligt PHPulärt från början. För det hade en väldigt liten, väldigt låg instegströskel.
Erik Zalitis (22:18.112)
När jag gick över från Pearl till PHP, det var som en dröm. Det var så lätt att göra saker. Det är min personliga upplevelse liksom.
Mattias Jadesköld (22:26.212)
Ja.
Erik Zalitis (22:26.832)
Jag har ju kodat PHP sedan början av 2000-talet så jag ser liksom att vem som helst kan lära sig det. Och det var lite grann ett problem för vem som helst kan inte säkerhet.
Mattias Jadesköld (22:37.832)
Så det var enkelt, tillgängligt, låg tröskel för utvecklare.
Erik Zalitis (22:41.972)
Mm. Och det är ju en, det var en, det var en,
Erik Zalitis (22:45.772)
ja det blev en förbannelse för hela PHP tyvärr.
Mattias Jadesköld (22:51.252)
Ja.
Mattias Jadesköld (22:53.512)
Äh men, men PHP är fortfarande aktuellt och vi har nämnt det liksom stora plattformar som WordPress och så vidare använder det. Men, men är PHP omodernt eller vad man ska säga?
Erik Zalitis (23:05.212)
Det är ju väldigt mycket en debatt. På vilket sätt är det omodernt? Man kan säga att det är modernt därför att man har vidareutvecklat det med bra teknologier som, som gör att det är både snabbt och effektivt ska jag säga. Men det är också så att det är från början skrivet i C. Äh och
Erik Zalitis (23:22.512)
en del av minneshanteringen har haft problem med säkerhet. Jag kan inte prata djupare på för det är inte riktigt mitt område. Men, men en del, det bygger på ett fundament av, av liksom tänk från 90-talet äh och det drar det ju med sig. Det är inte det enda språket som har det problemet.
Mattias Jadesköld (23:39.972)
Nej.
Erik Zalitis (23:41.132)
Sen överhuvud taget, det finns en hel del.
Erik Zalitis (23:45.072)
Jag skulle säga idag så tycker jag språket är väldigt användbart. Jag programmerar rätt mycket i PHP
Erik Zalitis (23:50.892)
äh och jag skulle säga att i min värld, för min egen perspektiv så tycker jag att PHP är mycket, det är mycket som går att förlåta med PHP idag. De har gjort mycket dumheter, men idag så säger jag att det är ett väldigt användbart språk.
Mattias Jadesköld (24:03.912)
Men Python då till exempel?
Erik Zalitis (24:06.172)
Ja, det kan man köra. Jag vet inte riktigt.
Mattias Jadesköld (24:09.232)
Är det bättre liksom eller vad man ska säga? Eller mer modernt eller vad man ska säga?
Erik Zalitis (24:12.412)
Det är betydligt mer modernt, men jag kan inte riktigt göra en analys av, av det hela utan ur ett säkerhetsperspektiv. Så drar sig PHP med att det är en gammal åldrande kodbas och det faktum att från början så var säkerhet väldigt eftersatt även i hur man såg till att programmerare utvecklade. Det stora problemet med väldigt gamla PHP-applikationer var att det var ingen uppenbar lätt hur man skulle skydda och sanera inmatningar. Och dessutom alla körde ju så kallade concatenated SQL calls. Att du gjorde SQL-anrop som gick att ta över med så kallade SQL-injektioner.
Erik Zalitis (24:58.224)
Och sådär. Så att jag menar, de försökte fixa det med någonting som heter Magic Quotes och det visade sig vara en otroligt dålig lösning som gjorde om möjligt allting ännu värre. Det var så de försökte komma förbi att det fanns en så pass mycket
Erik Zalitis (25:14.124)
skadlig kod eller dåligt skrivna webbapplikationer på 2000-talet. Så den funktionen skulle lösa det då genom att helt enkelt sätta ett backslash framför apostrofen och då på så sätt desarmera den. Så skrev man in en apostrof skulle det inte längre gå att göra den SQL-injection.
Erik Zalitis (25:34.344)
Men jag kan inte bli för teknisk. Vi har pratat om det i tider. Det var bara det att det var en, som jag ser, en nödåtgärd som inte funkade och PHP drogs ganska länge med att de hade ingen riktigt bra sätt att få folk att skriva säkert.
Mattias Jadesköld (25:50.204)
Och det är kanske det som du är inne på där lite också när man läser på sociala medier att man får mycket skit, att det hänger kvar då helt enkelt. Att man tänker då att PHP kanske inte är så strukturerad när det gäller till sitt säkerhetsarbete.
Erik Zalitis (26:05.364)
Nej, och det är som sagt, det är lite annorlunda i dag som jag upplever det. Men det är fortfarande PHP kan också vara väldigt förlåtande i hur man skriver. Du kan använda objektklasser som i vilket modernt språk som helst, men du kan lika gärna bygga bara block av funktioner. Du kan blanda ihop saker och det innebär att det är väldigt lätt i PHP att skriva ostrukturerad kod. Och det kan jag säga efter egen fatabur, för jag har inte alltid gjort alltid rätt, det ska gudarna veta.
Mattias Jadesköld (26:33.564)
Nej.
Erik Zalitis (26:34.424)
Men
Erik Zalitis (26:35.644)
där är vi liksom.
Mattias Jadesköld (26:36.044)
Men Magic Quotes revs bort i version sju i alla fall.
Erik Zalitis (26:40.404)
Ja, och det är helt chockande. Det är lite sent att man hade det kvar så länge.
Mattias Jadesköld (26:45.464)
Ja, det känns ju verkligen som en sån här ful workaround liksom, istället för att lösa något riktigt problem.
Erik Zalitis (26:52.504)
Det värsta var att det funkade så pass bra att folk fattade inte hur dåligt det funkade. Jag vet inte om man ska förklara det, men det löste det uppenbaraste sättet att ta sig in på kostnad av att du trashade sönder. Om någon hette Michael O’Brian med apostrof så fick han heta backslash apostrof O’Brian. Det trasar sönder teckenkodning och när det gäller SQL-anrop som använder siffror, ja, alltså istället för bokstäver, då har man ingen apostrof.
Erik Zalitis (27:22.104)
Då funkade det inte för att skydda mot SQL-injections.
Mattias Jadesköld (27:25.784)
Det är därför det är ett ö på min flygbiljett. Det står Jade Sköld.
Erik Zalitis (27:31.544)
Nej, det är nog någon annan anledning att vi inte gör en SQL-injection. Men teckenkodning är ett elände, ett riktigt elände.
Mattias Jadesköld (27:38.924)
Ja, nej jag, jag hade ett sådant där elände kanske av det.
Mattias Jadesköld (27:43.184)
Och nu skriver man inte heller ut några flygbiljetter, kanske.
Erik Zalitis (27:46.424)
Nej, det är en stor fördel. Nu klipper man ner träden för att göra kol och för kolen så ska du driva datacenter. Det är ju
Erik Zalitis (27:55.324)
galet.
Mattias Jadesköld (27:56.044)
In med en kärnkraft.
Erik Zalitis (28:00.224)
Gräver man stora hål och gröper ur berggrunden och…
Mattias Jadesköld (28:05.324)
Lägger in en uranstav i WordPress-sajten. Klara.
Erik Zalitis (28:11.304)
Jag väljer att inte kommentera.
Mattias Jadesköld (28:12.444)
[skratt] Ja, så vi var inne på det förut då. Vad ska organisationen göra? Man ska naturligtvis ha en bra inventering på plats så du kan se vilka
Mattias Jadesköld (28:25.684)
komponenter du har och då kunna se om du har PHP installerat och versioner och sådana här saker och prioritera dem som är internetexponerade naturligtvis då.
Erik Zalitis (28:35.823)
Ja.
Mattias Jadesköld (28:36.044)
Det är ingen idé att vi förklarar det nu för de som inte har det här på agendan
Mattias Jadesköld (28:42.204)
ligger pyrt till.
Erik Zalitis (28:43.964)
Ja, nej men då är det nog ganska mycket för sent. Tittar vi på det nu så har du någonting exponerat mot internet i dag, då vi skriver den 26 oktober och inte patcha. Det skulle förvåna mig om du inte är övergiven. Eller har du åtminstone fått någon typ av problem? Det är nog väldigt sent i dag att börja komma på oj, vi kanske ska patcha.
Mattias Jadesköld (29:03.864)
Någon form av försiktig påhälsning.
Erik Zalitis (29:06.804)
Ja, jag vet inte hur snabbt det tar för att spridas till alla maskiner. Förr i tiden kunde man ju komma undan med om man var lite mindre, men jag vet inte. Nu scannar de väl av hela nät och det tar inte en evighet att scanna av de flesta näten liksom.
Mattias Jadesköld (29:20.864)
Nej.
Mattias Jadesköld (29:22.844)
Men lite avrundningsfunderingar då. Är PHP fortfarande ett rimligt teknikval tycker du?
Erik Zalitis (29:29.664)
Jag kan bara säga, och jag är ju lite färgad av att jag programmerar PHP. Ja, det tycker jag absolut. Det är inget att lägga ner. Dessutom, jag menar väldigt många sajter, Facebook hade förut PHP. Jag vet inte om de har det fortfarande. Wikipedia och de här, det är en gigantisk kodbas som driver några av de mest kända sitesystemen liksom. Det måste vara modernt och relevant. Och vad jag har läst lite grann på PHP hur de jobbar med säkerheten. Så dels använder de naturligtvis kodgranskning, men de har faktiskt AI själva för att granska sin säkerhet. Så de tar det här på allvar.
Mattias Jadesköld (30:05.964)
Ja, men det är ju bra. Och det finns väl egentligen ingenting som säger, nu kanske man liksom svär i kyrkan för vissa, för det här kan ju vara religion för dem. Men det finns väl egentligen ingenting som säger att till exempel Python eller JavaScript är mer säkert.
Erik Zalitis (30:20.812)
Det är en– Ja, JavaScript är ju ett klient språk. Eh, nej, men Python är säkert… En del språk som Rust till exempel har ju en mycket, mycket modernare minneshantering som är robust på ett sätt som PHP inte har. Så att diskussionen om vilket som är det mest säkra när det gäller att det kan dyka upp sårbarheter, den är väldigt svår. Den ligger lite över min kompetensgrad. Jag skulle bara säga att jag skulle säga moderna språk har potential att vara säkrare än en PHP rent mot att sådana här attacker kommer i framtiden. Eh, PHP har fortfarande problem med sin gamla kodbas, men de har också ett seriöst arbete på att hålla det säkert. Så att jag skulle säga, jag skulle inte oroa mig allt för mycket. Det här kan hända med vilket, vilken kodbas som helst. Paniken kommer att alla kör PHP. Det är så vanligt.
Mattias Jadesköld (31:10.872)
Ja, och det kommer– Och det kommer alltid komma sårbarheter i applikationer, i
Mattias Jadesköld (31:18.032)
ramverk, i programspråk och allt möjligt sådana här saker. Så att den största säkerhetsrisken är ju snarare förvaltningen kring sådana här och vad man gör när det upptäcks sårbarheter än att liksom hysteriskt försöka byta ett språk bara för att PHP är i luppen just nu.
Erik Zalitis (31:32.132)
Ja, för det är den här diskussionen. Vad är det mest farliga? Att ha någonting som alla kör för det kommer ju alla att attackera. Eller ha något som är väldigt ovanligt som bara du och några få kör för det kommer de ju aldrig att attackera.
Mattias Jadesköld (31:43.532)
Ja.
Erik Zalitis (31:43.892)
Det är inte uppenbart enkelt för den som är den stora risken för att alla kör det, de har också det största trycket på sig att hålla sig säkra.
Mattias Jadesköld (31:52.132)
Ja, precis.
Erik Zalitis (31:53.012)
Jag vet faktiskt inte vad den effektiva säkerheten är. Jag tror att man ska leta säkerhet, ska man tänka på vad är ordentligt supporterat? Om du väljer ett språk så vill du veta att om det kommer sårbarheter så kommer de skyndsamt fixa det för alla miljöer.
Mattias Jadesköld (32:09.812)
Ja, för den där diskussionen har varit länge liksom. Det har man hört genom åren liksom att ja, förut så sa man ju såhär, man behöver inte ha något virusprogram på, antivirusprogram på Mac-datorer för det finns inga virus på dem liksom. Nej, men det var ju för att Mac-datorer var så otroligt få då. Man skrev ju alla virus till Windows.
Erik Zalitis (32:28.912)
Ja.
Mattias Jadesköld (32:29.671)
Nu ser det helt annorlunda ut liksom. Man gör inte virus på det sättet. Men, och det berodde egentligen på att det var så mycket fler. Man vill ju ha större träffyta.
Erik Zalitis (32:38.952)
Ja, och du helt plötsligt så ser Mac. Vi pratade ju om Macs säkerhet för några år sedan här på IT-säkerhetspodden. Då kunde vi konstatera att på vissa ställen så var Apples Mac efter Windows i säkerhet faktiskt.
Erik Zalitis (32:55.352)
Så att jag menar, det finns inga uppenbara sanningar.
Mattias Jadesköld (33:00.992)
Nej, precis. Ja men bra då Erik.
Erik Zalitis (33:05.372)
Ja.
Mattias Jadesköld (33:05.672)
Man känner sig trygg i dag ändå.
Erik Zalitis (33:08.532)
Ja, vi får se att det är någonting smäller och så står det att Ukraina, eller vad ska jag säga,
Erik Zalitis (33:14.412)
Uruguays milis har tagit över IT-säkerhetspoddens hemsida och publicerat
Erik Zalitis (33:21.312)
propaganda eller någonting. Då bara oj, vi hade glömt att patcha liksom.
Mattias Jadesköld (33:26.172)
Ja, precis.
Mattias Jadesköld (33:28.072)
Men då vet vi det att patchrutinen på IT-säkerhetspodden, det går ut på att du Erik stänger ner servern helt hysteriskt och patchar själv.
Erik Zalitis (33:36.252)
Ren panik och medans jag liksom
Erik Zalitis (33:40.732)
svär i högan sky och bara: ”Åh Gud, snälla, har du tagit över maskinen?” Och sen konstaterar jag att det har inte varit en enda tittare på sidan över hela dagen. Så det är lugnt.
Mattias Jadesköld (33:50.652)
Men
Mattias Jadesköld (33:53.232)
till vårt försvar kan man ju säga att själva sidan innehåller ju inga
Mattias Jadesköld (33:57.952)
ljudfiler och sådana här saker riktigt.
Erik Zalitis (33:59.752)
Nej, det gör ju inte det. Och där får vi väl ta och sätta punkt för det. Vi kommer väl ha lite coola intervjuer och sånt där på gång inom kort, är det inte så?
Mattias Jadesköld (34:09.192)
Ja, det är det ju. Vi ska väl ha en programserie här som vi sitter och filar på framöver här som, som det har varit så PHPulärt förut. Men det är på gång, absolut.
Erik Zalitis (34:20.992)
Och som vanligt avslöjar vi ingenting för då skulle vi ju förstöra lite grann nöjet med det.
Mattias Jadesköld (34:25.632)
Ja, precis. Och så vet man aldrig när det är klart förrän det är klart liksom.
Erik Zalitis (34:29.032)
It ain’t over till it’s over.
Mattias Jadesköld (34:31.652)
Precis. Ska vi försöka avrunda då?
Erik Zalitis (34:33.252)
Det gör vi. Ses om en vecka, folk!
Speaker 3 (34:35.132)
[utgångsmusik]
(Denna transkription är automatiskt genererad och kan innehålla felhörningar)
Länkar – PHP2Shell
Felaktigheter
–


