Dette er andre generasjon av kurset "Websikkerhet
for utviklere". Kurset er bygget opp rundt boka
"Innocent Code", som er
forfattet av kursholderen. Boka følger med som kursmateriell.
De fleste programmerere er ikke klar over at deres
kode er en viktig bit av sikkerhetsbildet. De siste årene har
sikkerhetsmiljøer fokusert stadig sterkere på hvordan vanlige feil i
kode kan gjøre en webløsning like åpen som feks. manglende brannmur.
Dessverre er ikke utviklerutdannelsen oppdatert på dette feltet.
Målgruppe
Kurset passer for deltakere med noe til mye erfaring
med bygging av dynamiske webløsninger basert på ASP, PHP, Perl, JSP,
Java Servlets eller liknende teknologier. Kurset retter seg ikke mot
spesielle arkitekturer.
Evaluering
Etter kurset skal deltakerne ha forståelse for at
vanlige feil og mangler i programkode kan utgjøre en stor trussel for
sikkerheten i en webløsning. De skal forstå viktigheten av å fokusere
på sikkerhet under hele utviklingsprosessen, og de skal kjenne til
vanlige framgangsmåter for innbrudd i webløsninger, og vite hvordan
disse kan hindres.
Opplegg
Store deler av kurset vil gjennomføres som
forelesning med innspill fra deltakerne. Det legges vekt på eksempler
og henvisning til virkelige hendelser. Praktiske øvelser vil bestå i
å "cracke" utdrag fra små, feilprogrammerte webtjenester.
Kurset holdes bedriftsinternt, eller
eksternt
gjennom Watchcom.
Varighet
Kursets varighet er en dag på rundt åtte timer,
avhengig av i hvilken grad deltakerne engasjerer seg.
|
Innhold
Undervisningen legges opp rundt følgende hovedtema:
- Bakgrunnsinformasjon
- Kort om byggesteinene i typiske webløsninger:
HTTP, HTTPS, cookies, sesjoner, osv. Beskriver også
sikkerhetsproblemer som kan oppstå hvis byggesteinene ikke brukes
riktig.
- Undersystemers tolkning av data
- Om hvordan data som behandles av programmet noen
ganger tolkes som mer enn data. "SQL Injection" beskrives i denne
delen.
- Håndterig av input
- Hva er input til en webløsning? Hvordan
valideres input? Om hvordan inputmanipulering kan gi uatorisert
tilgang til ressurser.
- Håndtering av output
- Om hvordan data vi putter inn i en webside kan
tolkes som mer enn data av brukernes browsere, og hvordan
angripere kan utnytte dette. "Cross-site Scripting" beskrives i
denne delen.
- Passord og andre hemmeligheter
- Om håndtering av brukerpassord, passordknekking,
kryptering, og hvordan inntrengere kan få tilgang til
serverside-ressurser.
- Webtrojanere
- Beskriver hvor lett det kan være for en angriper
å lure våre brukere til å gjøre noe de ikke vil, kun ved å sende dem
en mail.
Det hele rundes av med en samling generelle tips om
hvordan man kan øke sikkerheten i en webløsning.
Mer info
For ytterligere informasjon,
ta kontakt. Du er også velkommen
til å se utvalgte tilbakemeldinger
på kurset.
|