29 oktober, 2022

#184 – Martin Mazur om DevSecOps

DevSecOps är ämnet. Bilden föreställer Martin Mazur som demonstrerar någon för andra personer.
Asså, fisken jag fångade var stor som en val.

Avsnittet: 184 – Martin Mazur om DevSecOps
Inspelat: 2022-10-24 (publicerat 2022-10-30)
Deltagare: Mattias Jadesköld och Martin Mazur.
Detta avsnitt är ett samarbete med tretton37.

Lyssna på avsnittet – DevSecOps

Medan du lyssnar

Då jag var frånvarande, är det som att lyssna på vilken annan podd som helst och det är en märklig upplevelse när det är en podd jag normalt är med i. Ämnet är DevSecOps och Martin är intressant att lyssna på och jag gillar hans metafor om att kasta över väggen. Alltså avdelningar som skickar programvaror och uppdrag mellan varandra utan att egentligen prata med varandra. Det är så det varit och Martin förklarar varför det är en så dålig idé. Håller 100% med på hans resonemang.

Det liknar väldigt mycket de föreläsningar jag och Mattias gjort tidigare på t.ex. Netnods säkerhetsdagar 2019 och hos Nordlo Borås. Det finns liksom ingen ”säkerhetsavdelning” längre på de flesta ställen. Så alla måste bära säkerheten och alla måste prata med varandra. Säkerheten måste vara med i alla delar av processen. Alltså det vi kalar DevSecOps.

Behöver vi pentestare?

Hans diskussion av pentester håller jag med om i stora drag, men jag vill ge min egen syn på det hela. Martin säger att pentester bara är ett certifikat på att någon utestående kollat och godkänt produktion. Han säger att man lika gärna kan göra testerna själva med Burp Suite. Jag håller med i att man ska ”pentesta sig själv”, men…

Ett pentest är ett sista kvalitétsarbete innan man går i produktion. Jag anser att pentester är avgörande och nödvändiga för att kunna gå i produktion. Men om man inte testat själv internt, gjort kodgranskningar och som Martin påpekar haft arkitekteterna med från början, ja då kommer pentestrapporten bli trist att läsa.

Sen är pentestare inte någon kör Burp suite och skickar över vad de hittat. Jag jobbar mycket med Burp suite som pentestare och kan säga att automattesterna är väldigt bra, men ändå lätt missar uppenbara fel. Den kan inte heller hitta logik-fel, då detta kräver att man mappar upp flödena inom programmet i huvudet. Själv är jag väl en sorts DevSecOps, när jag jobbar normalt.

DevSecOps vs pentestare

Som pentestare vill jag hitta vägar in mer än något annat, så jag använder Burp för att hitta ”points of interests”. Dessa användbara i ett senare skede, medan man kör testerna kan man då förbereda manuella tester av dessa ömma punkter. Dessa gör jag genom att testa om det till exempel finns någon SQL-backend att bråka med eller varför inte en XSS (Cross-site scripting) ? Men jag måste också sätta mig in i hur applikationen fungerar och försöka ändra dessa för att se om jag kan hitta några vägar in.

Ur verkligheten:

  • Ett API ger rabatter på priserna om man är Britt- eller Dansk. Vad händer om jag skickar in dessa landskoder när jag är inloggad som en Svensk?
  • Ett system skickar mail till den som glömt sitt lösenord. Kan jag skicka 3000 var mail till andra personer?
  • Ett system skickar över priserna till webbläsaren. Vad händer om jag ändrar dem och skickar tillbaka dem? Kan jag köpa en Boeing 747 för en dollar?
  • Ett system verkar ta emot data utanför headers. Kan jag prata med mailservern? Vet DevSecOps-snubben om att jag gör det?
  • En endpoint på ett API kan användas för att slå upp sin IMEI-kod (unikt id på en mobiltelefon) till telefonen. Kan jag få veta någon annnas genom att mata in kända telefonnummer? Kan jag få veta Ulf Christerssons?
  • Ett system hindrar dig för att sätta betyg med stjärnor mer än en gång per låt. Vad händer om du klickar som en dåre på alla stjärnorna, så att 5-10 anrop kommer till backend-systemet samtidigt. Full disclosure, detta var ett riktigt misstag gjort av mig i en av mina utvecklingsprojekt.
  • Ett order-API kontrollerar din identitet innan den ger dig data, medan du får tala om vilken grupp du tillför. Vad händer om jag tar ändrar värdet ”Group”:”Customers” till ”Group”:”Administrators” ?

Burp kommer aldrig kunna testa sådana här saker. Det krävs en tänkande människa som planerar, medan han läser loggarna från Burp, Zap, Commix, Dirbuster eller Metasploit.

Länkar – DevSecOps

Felaktigheter

  • Inget att rapportera denna gång. Kommentera gärna om ni inte håller med om hittar fel i något vi sagt.

Lämna ett svar

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.

Scroll to top