Utviklingsmiljø, verktøy og byggmiljø
Miljøene og verktøyene vi jobber med er essensielle for prosjektet, og det er viktig at vi har kontroll på hvilke verktøy som brukes og hvordan disse konfigureres.
Det er ikke mulig å gi en oppskrift på hvordan man skriver sikker programkode i noen få, enkle og kortfattelige artikler. Det betyr derimot ikke at det er en uoverkommelig oppgave forbeholdt sikkerhetseksperter! Alle som utvikler programvare i Bouvet skal være kjent med OWASP Top 10, som er et godt utgangspunkt for å bli kjent med hvilke utfordinger man står ovenfor som utvikler.
Artikklene du finner under temaet Utvikle på denne siden vil fokusere på det som foregår på en utviklers arbeidsmaskin, som ikke er konkret kode. De vil ikke gå i dybden på konkrete angreps metoder eller hvordan beskytte mot disse. Du vil også finne råd om hvordan et team bør arbeide for å være i stand til å forebygge, identifisere, og fikse sårbar kode.
Miljøene og verktøyene vi jobber med er essensielle for prosjektet, og det er viktig at vi har kontroll på hvilke verktøy som brukes og hvordan disse konfigureres.
Alle utviklingsprosjekter har behov for hemmeligheter som connection strings, identiteter, passord, sertifikater og annet. Disse må oppbevares på en trygg måte, og vi må sikre at vi bruker dem i en sikker kontekst med riktige støtteverktøy og prosesser.
Data er en angrepsvektor, du må aldri stole blindt på at disse er trygge uavhengig av kilde!
Det er mye å tenke på dersom en skal bygge en sikker løsning, og et viktig utgangspunkt er OWASP Top 10.
Alle som lager programvare bruker tredjepartspakker. Alle tredjepartspakker representerer kode skrevet av andre, og utgjør en risiko for leveransen dersom vi ikke har kontroll over hva vi bruker og oversikt over svakheter og risiko assosiert med disse.
På linje med annen elementer assosiert med teamet kvalitet er vi avhengige av å kunne teste for å verifisere at vi har oppnådd målet. Sikkerhetstesting er et viktig ledd i dette, da vi gjennom testingen kan vise at leveransen ikke er sårbar for gitte angrepsmetoder.
Alle utviklingsprosjekter må dokumenteres. Dette er ikke bare viktig for kontinuiteten i prosjektet, men også for å dokumentere sikkerhetsrelaterte tiltak og eventuelle hendelser.
Dersom teamet avhenger av interne komponenter som servere, applikasjoner eller annet som driftes av teamet selv, må en ha en rutine for å holde disse oppdatert.