Säkerhet för utvecklare
Gratis webinar
Webinar.pdf
Säkerhet för
webutvecklare
Lite av vad ALLA utvecklare borde veta
Stefan Holmberg, Systementor AB
Agenda
• Internet – hur funkar det?
• Varför det i sin natur är sårbart för s.k MiTM-attacker
• CIA
• https
• Lösenord
• Hur funkar lösenordshantering idag...best practice
• 10 minuters race - Vi knäcker lösenord
• What to do?
• OWASP
• Penetration testing
Om mig
• Eget företag i 23 år
• Konsultat som Webutvecklare( .NET stack ) bank/finans/ecommerce
• Utbildar inom IT (.NET, IOT, Säkerhet)
• SAAS tjänster Cloud
• Äger/driver gym
• Investeringar
• Nästa år:
• Mer fokus på utbildning: jag tycker det är så roligt...
• Och jag är bra på det...
https://systementor.se
Ohhhhhhhh vad sa han precis???
• Kurser på Distans med start i febuari 2021
• Affärsmannaskap för utvecklare/konsulter
• https://systementor.se/utbildningar/affman
• Säkerhet för .NET webbutvecklare
• (Denna kurs borde vara obligatorisk för alla utvecklare)
• https://systementor.se/utbildningar/devsec
https://systementor.se
Ok mindre skryt:
• Jag "tappade" min första burk 2001. En Linuxserver som stod i ett
DC i USA. Jag vet än idag inte hur dom kom in och rootade den
• Jag tappade min andra burk 2005. Också i USA. En Windows-server
med web+SQL Server och det var en KLASSISK SQL
Injection...tillsammans med dåligt konfad SQL så kunde dom skapa
en Windows-användare (administratör) och logga in med RDP...
• Båda servrarna var bara..."snälla support. Scratcha dessa och ominstallera"
https://systementor.se
Om seminariet...vad har säkerhet med mig att
göra?
Vi har nog svårt med keep up-to-date med alla Javascriptramverk,
databasanrop, web frameworks etc etc etc.
https://systementor.se
"Det fixar IT-säkerhetsteknikerna"
"Sätt upp en firewall och skydda
min fantastiska skapelse"
https://systementor.se
Riskförståelse #1: Så funkar Internet
• När ni ändå är här...jag har lite semesterbilder jag kan visa … ;)
• Note to stefan
• C:\Users\stefan\OneDrive - Systementor Aktiebolag\WebSecurity\New York
https://systementor.se
Dvs...kommunikation
• Är INTE point to point.
• Min dator vet INTE hur den ska hitta till harenet.ad.jp i Japan tex...
• Min dator kan gå ett steg (default gateway)
• Sen bestämmer nästa part (router) var jag ska gå vidare
• Går igenom ett antal mellanhänder (routers)
https://systementor.se
tracert www.harenet.ad.jp
https://systementor.se
Routande protokoll => MiTM
https://systementor.se
Routande protokoll => MiTM
Tänk er att jag är på semester i New York. Det är innan Internet-eran så när jag har slut på pengar skickar jag ett vykort
med ett meddelande till min pappa i Sverige.
”Hej Pappa! Slut på pengar...Skicka några tusen dollar i ett brev tillbaka till mig (Stefan Room 12, Hotel The Golden
Puck, 12 3rd Avenue, NY )”
Hur färdas mitt vykort?
- jag lämnar det i receptionen
- personal lägger det på lådan
- lådan töms av postpersonal
- till lokala postkontoret
- till NY post Office Central
- till flygplatsen
- säck bärs in i flygplanet
- landar Arlanda
etc etc etc
Ganska många mellansteg (routes, HOPS)
Vad kan tex personalen i receptionen göra???
https://systementor.se
INTERNET ÄR ALLTSÅ SOM GJORT FÖR MiTM
Både tjuvlyssna … och förändra/förvanska information
Nääää? Jooooo
Note to Stefan: C:\Users\stefan\OneDrive - Systementor Aktiebolag\WebSecurity
•
https://www.theregister.com/2011/01/25/tunisia_facebook_password_slurping/
T.o.m World peace and freedom really IS at stake!
https://systementor.se
Ok...och doomsday warnings aside
What happens if...
Er sajt delaktig i malwaredistribution
Badwill/stämningar etc etc
Er sajt delaktig i spridande av virus
Badwill/stämningar etc etc
Det går att tjyvlyssna och sno besökares konton (id och
lösen).
Badwill/stämningar etc etc
https://systementor.se
Enkel lösning...
HTTPS alltid (certifikat)
Confidentiality (kryptering)
Integrity (checksum/hash)
Authentication (cert = prata med rätt part)
(vi går in på allt detta i detalj på kursen Säkerhet för .NET webbutvecklare)
https://systementor.se
Lösenord
Best practice today
Var lagras dom?
Hur? Kryptering?
Nyckel?
https://systementor.se
Plaintext
Of course not...
Men kryptering då? FARLIGT: om den enda krypteringsnyckeln
försvinner så är allt läckt!
https://systementor.se
Hashing
Vid skapande av konto:
beräkna en HASH för
lösenordet som
användaren valt. Spara
HASH i databasen
Algoritm (er) för
ONE way defuscation.
Dvs det går inte att från
en hashtext räkna ut vad
originalet är...
https://systementor.se
Vid login - beräkna en
HASH av det användaren
skrivit in...och jämför det
med vad vi har i
databasen!
Svaghet???
• Samma algoritm => samma hash alltid...
• Även oberoende av site osv!!!
https://systementor.se
https://hashes.org
Låt oss säga att nån kommer över din
lösenordsfil
1. Ladda ner med common
passwords....alltså seriöst
det finns filer
med miljontals poster
2. Skapa hashar på alla
dom posterna...
3. Matcha mot
4. Träff!? Japp...bara att
logga in
https://systementor.se
Vi kodar...
https://github.com/aspcodenet/WebSecDemo
https://systementor.se
Ok what about 12-åringen … Hashcat...
• cd /mnt/c/users/stefan/downloads/hashcat-5.0.0
• del md5.pot
• hashcat -a 0 -m 0 --potfile-path md5.pot demo2.txt rockyou.txt
https://systementor.se
Kvar...
• Hur undviker man hashcat-attacker
• Andra typer av threats... OWASP
• Authentication/authorisation
• MFA
• Automatiska verktyg
• Det går inte att pentesta bristande Authorisation... = Code Review måste till
Boka in mig för konsultation – hur kan jag hjälpa er i ert projekt?
https://systementor.se
[email protected]
070 – 431 49 65