Er dårlig utviklerpraksis den neste sikkerhetskatastrofen i teknologibransjen?

Discover how to deliver better software and systems in rapidly scaling environments. Join our Community

Dårlig utviklerpraksis blir stadig mer bekymringsfullt for sikkerheten og fører ofte til flere sårbarheter. Denne artikkelen utforsker vanlige fallgruver og praktiske løsninger som kan hjelpe organisasjoner med å gjøre utviklerne til første forsvarslinje mot cybertrusler.

Key Takeaways

Den menneskelige faktoren i sikkerhet: Mennesker er det svakeste leddet i IT-sikkerheten. Menneskelige feil, som ofte blir oversett, kan undergrave selv de beste teknologiske forsvarsmekanismene. Et robust sikkerhetsrammeverk for utviklere er avgjørende.

Rask utvikling: et risikabelt kappløp: Presset for rask utrulling og kontinuerlig integrasjon oppmuntrer utviklere til å prioritere hastighet fremfor sikkerhet, noe som fører til likegyldighet og økt sårbarhet for potensielle trusler.

Problemer med privilegier: risiko ved administratortilgang: Unødvendige administratorrettigheter for utviklere skaper sikkerhetsutfordringer ved å tillate uautoriserte endringer, komplisere arbeidet med etterlevelse og utsette miljøer for potensielle datainnbrudd.

Sårbar kode: en lekeplass for hackere: Vanlige kodesårbarheter som SQL-injeksjoner og XSS-angrep utgjør betydelig risiko. Utviklere må følge praksis for sikker programmering for å redusere disse truslene og beskytte sensitive data.

Stol på, men bekreft: bevissthet rundt åpen kildekode: Økt avhengighet av komponenter med åpen kildekode og AI-generert kode kan introdusere sikkerhetsrisikoer hvis utviklere ikke grundig vurderer disse verktøyene. Det krever kontinuerlig årvåkenhet og opplæring i sikker praksis.

Det har blitt sagt at det svakeste leddet i IT-sikkerheten er mennesker. Den menneskelige faktoren er mer tillitsfull enn en datamaskin og mindre etterrettelig i pressede situasjoner, og blir ofte oversett i sikkerhetsprosessen.

Tradisjonelt har menneskelige feil blitt behandlet med en nonchalant holdning. Vi vet at de skaper utfordringer, men vi håndterer dem aldri fullt ut og fokuserer ofte på områder som verktøy i stedet for å utvikle et robust sikkerhetsrammeverk for mennesker. Etter hvert som programvareutviklingen utvikler seg, gjør også truslene som retter seg mot den, og feil her kan undergrave selv de mest avanserte sikkerhetstiltakene.

Dårlig praksis blant utviklere er i ferd med å bli en betydelig bekymring for sikkerheten i organisasjoner, og teknologiske fremskritt kan ikke avhjelpe dette. Krypteringsalgoritmer, automatisert oppdateringshåndtering og søk etter sårbarheter er alle nyttige komponenter for å forsvare teknologistakken din, men vi har havnet i en tid preget av likegyldighet når det gjelder hvordan vi utruster utviklerne våre, og den påfølgende dårlige praksisen setter etterlevelsen i fare.

Hva fører til dårlig praksis blant utviklere?

Utviklere har historisk sett jobbet innenfor et tidspresset fagområde og har fått stadig mer å håndtere. Utviklere har et arsenal av verktøy til rådighet, og dette gir raskere resultater. Hyppigere utrullinger og programvareoppdateringer har endret forventningene til kunder og brukere, og dette forventningspresset ligger tungt på utviklernes skuldre – med behov for å innovere nytt og raskt. I sikkerhetens øyne er dette en oppskrift på katastrofe. 

Forespørsler om rask utrulling og et økende fokus på kontinuerlig integrasjon og kontinuerlig levering (CI/CD) gjør at utviklere stoler for mye på automatiseringsmekanismene i sine CI/CD-pipeliner og utsetter seg for sikkerhetsrisikoer og datainnbrudd. Den smidige metodikken som er så populær blant utviklere, oppmuntrer dem til å prioritere hastighet og effektivitet, noe som igjen fører til at sikkerhetstiltak naturlig blir satt til side. I teorien skal automatiseringsmekanismene i CI/CD utføre sikkerhetskontroller, men utviklere med dårlig tid har ikke tid til å revidere og vedlikeholde dem regelmessig.

En annen faktor som bidrar til dårlig praksis blant utviklere, er kompleksiteten i dagens programvaremiljøer. Over tid får utviklere ofte unødvendige administratorrettigheter og må håndtere tredjepartsarkitekturer og kompliserte avhengigheter. Nøkkelen til suksess for organisasjoner er etterlevelse, men mange utviklere ender opp med utvidede privilegier for utrullinger. 

Denne praksisen avdekker en mengde utfordringer, ettersom den gir alle med administratorrettigheter mulighet til å gjøre uautoriserte endringer, hindrer revisjons- og etterlevelsesarbeid og skaper ekstra arbeid for utviklere som må finne ut av disse endringene. Enda mer bekymringsfullt er det at denne praksisen eksponerer utviklingsmiljøer for sikkerhetsbrudd dersom en ondsinnet aktør får tilgang til en konto med utvidede administratorrettigheter. 

Programvareutvikling er allerede et komplekst område, og etter hvert som teknologien har utviklet seg, har også dette miljøet og forretningsstrategien gjort det. Når Global 2000-selskaper samler forretningsdriften rundt omfattende, integrerte plattformer som Pega, ServiceNow, Salesforce og andre, innebærer typen applikasjoner som må bygges og støttes, en endring fra tradisjonelle pro-kode-utviklede apper. 

I tillegg må privilegier, leveransepipeliner og utviklingspraksiser som smidig utvikling og kontinuerlig levering, som inngår i DevOps, tilpasses. Midt i denne plattformtrenden kan selv de mest erfarne utviklerne og administratorene utilsiktet introdusere sikkerhetsrisikoer.

Get Free Access
Get regular tech leadership wisdom for delivering better software and systems.
Get Free Access

Have an account? Log In

Hvordan én enkelt kodelinje kan slå ut driften din

Sikkerhet er en vedvarende hodepine for organisasjoner, og teknologien har gjort det mulig for trusler å oppstå hvor som helst. Et vellykket angrep kan forårsake en mengde problemer, både økonomiske og juridiske, og raskt stanse innovasjon.

Et av de viktigste områdene for sårbarheter er i kodingsfasen, inkludert angrep som:

  • SQL-injeksjoner innebærer at en angriper injiserer kode som kan ødelegge databaseposter eller databaseskjemaer. Disse teknikkene brukes til å slette, stjele eller endre sensitive data i organisasjoner og er blant de vanligste hackingteknikkene. Nylig har etiske hackere demonstrert at de kan omgå TSA-kontroller gjennom SQL-injeksjoner. 
  • Skripting på tvers av nettsteder (XSS) retter seg mot pålitelige applikasjoner eller nettsteder, noe som betyr at omdømmeskaden kan bli alvorlig. Angrep innebærer at ondsinnede skript legges til på en virksomhets nettsted, og disse kjøres deretter når en bruker laster inn nettstedet. Det er vanligvis festet på slutten av en URL, og et offer lokkes til å klikke på den, eller mer komplekst er det et injeksjonsangrep som er innebygd i virksomhetens kode.
  • Bufferoverskridelser oppstår når et program forsøker å legge inn mer data i en buffer enn den har plass til. Siden det ikke finnes noe annet sted å gjøre av dem, vil de ekstra dataene flyte over i minnet og risikere å ødelegge eller overskrive viktig informasjon der. Denne kodingsfeilen i programvaren gjør det mulig for hackere å utnytte sårbarheter, stjele eller endre data og få tilgang til sensitiv kunde- eller virksomhetsinformasjon.

Denne typen angrep blir stadig mer utbredt og er derfor godt forstått av utviklere. De kan i stor grad begrenses ved å følge sikker kodingspraksis, kontinuerlig testing og kontinuerlig overvåking. Til tross for dette kan organisasjoner ikke slå seg til ro, men må regelmessig kontrollere gyldigheten av retningslinjene for koding og lære utviklere hvordan de kan unngå nyere former for hacking.

I tillegg kan større avhengighet av åpen kildekode-komponenter, tredjepartsbiblioteker og AI-støttet kodegenerering føre til at utviklere utilsiktet benytter usikker kodingspraksis. Utviklere har knapt med tid og integrerer disse komponentene for å fremskynde leveransene sine. Derfor kan vi forvente at døren åpnes for større sikkerhetsrisikoer og utnyttelse, når utviklere stoler på komponenter og biblioteker med åpen kildekode samt AI uten å kontrollere gyldigheten grundig. 

Når det er sagt, finnes det en rekke verktøy som automatiserer denne kontrollprosessen, men kanskje er tiden inne for å begynne å kontrollere identiteten og ektheten til bidragsytere til åpen kildekode for å redusere risikoen for statsstøttede ondsinnede aktører. Én enkelt linje med usikker kode i et bibliotek kan kompromittere en hel applikasjon, kaste bort utallige timer og ressurser og gjøre en organisasjon, en nasjon og offentligheten sårbare. Og til tross for de omfattende fremskrittene innen AI i kodeutvikling, må AI-generert kode gjennom etablerte prosedyrer, praksiser og protokoller før den tas i bruk i produksjon.

Kontinuerlig opplæring og kompetanseheving er avgjørende for å opprettholde sikkerheten

Som med all teknologi eller fagdisiplin er regelmessig opplæring avgjørende, og utviklere forventes ofte å videreutvikle utdanningen og opplæringen sin på fritiden. Organisasjoner som ønsker å hindre utviklere og systemadministratorer i å benytte dårlig sikkerhetspraksis, må investere i opplæring i stedet for å kreve at IT-teamene selv skal løse sikkerhetsutfordringene. Kunnskapshull har en reell og betydelig innvirkning på en organisasjons sikkerhet, og uten å håndtere dette kan det hende at utviklere ikke har oppdatert forståelse av sikkerhetskonsekvensene av de daglige handlingene sine. 

Ettersom utviklernes praksis potensielt kan føre til sikkerhetsrisikoer, må organisasjoner også ha et helhetlig perspektiv på plattformene sine. Salesforce og ServiceNow spiller for eksempel en avgjørende rolle i å gjøre det mulig for ikke-tradisjonelle utviklere å bygge, levere og distribuere, men er rollen deres innen sikkerhet fullt ut forstått? Organisasjoner må lære hvordan de opprettholder sikkerheten ved bruk av disse plattformene, og ikke overse potensialet deres som en åpen inngangsport for angrep og datainnbrudd.

More Articles

Overvinn sikkerhetsutfordringer for å støtte utviklere

Det kreves en helhetlig tilnærming for å unngå at dårlig utviklerpraksis blir den neste sikkerhetskampplassen. 

For det første må organisasjoner fremme en sikkerhetsorientert kultur og sørge for at dette er integrert i utviklingsprosessen. Dette kan omfatte automatiserte kvalitets- og sikkerhetstiltak, inkludert innebygde kvalitetskontroller, godkjenningsporter og verktøy for kontinuerlig testing, slik at hver distribusjon oppfyller organisasjonens samsvarsstandarder. 

Organisasjoner bør også benytte prinsippet om minste privilegium og sørge for at utviklere bare har tilgang til distribusjonene og kodeverkene de trenger, i stedet for en omfattende spredning av administratortilganger. Uansett hvilken plattform og/eller tjeneste en organisasjon bruker til distribusjon, er det viktig å dra nytte av de automatiserte arbeidsflytene og den kontinuerlige overvåkingen de tilbyr, slik at problemer identifiseres før de blir kritiske.

For det andre må organisasjoner investere i mer opplæring for utviklerne sine i stedet for å overlate dem til å kjempe mot stadig mer sofistikerte angripere og sikkerhetstrusler. Det er avgjørende at utviklere på alle nivåer, særlig medborgere som utvikler, får kunnskapen de trenger for å identifisere uregelmessige mønstre og håndtere sikkerhetsrisikoer. Denne formen vil variere fra organisasjon til organisasjon, men den må være regelmessig, i samsvar med kravene og testet for å sikre at sikkerhetsbevisstheten blant utviklerne styrkes.

Til slutt bør organisasjoner som ønsker å gi utviklerne sine bedre forutsetninger i kampen for bedre sikkerhet, bare benytte verktøy som støtter sikker utviklingspraksis. Dette omfatter kodeanalyseverktøy, automatiserte prosesser for avhengighetsstyring og konfigurasjonsstyringssystemer (CMS) for å håndheve strengere sikkerhetstiltak. Ved å ta i bruk disse verktøyene sikres større konsistens, samsvar og sporbarhet på tvers av organisasjonens distribusjoner, noe som bidrar til å opprettholde en sikkerhetsorientert kultur.

Når arbeid settes ut, kan en sikkerhetsorientert kultur dessuten ofte begynne med å inngå samarbeid med et programvareutviklingsselskap i et nærliggende land eller et selskap for skreddersydd programvareutvikling.

Snu utviklingen ved neste sikkerhetskritiske punkt

Dårlig utviklerpraksis kan bli den neste sikkerhetsutfordringen innen programvareutvikling, men det trenger ikke å bli slik. Selv om det er sant at angripere og hackeroperasjoner blir stadig mer sofistikerte, har vi en mulighet til å snu utviklingen og forbedre kunnskapen og ressursene utviklere har tilgang til. På denne måten kan mennesker unngå å bli det svakeste leddet og samarbeide med teknologien for å styrke en organisasjons sikkerhet. Ved å innarbeide en sikker utviklingstankegang i dag vil vi se at morgendagens programvaresikkerhet blir styrket.

Abonner på The CTO Clubs nyhetsbrev for flere tips om god utviklerpraksis.

Scott Willson
Scott has over 20 years of technology experience that spans software development across financial services, manufacturing, government, and tech industries. Professionally, Scott has built software, managed professional services, sold and implemented software, and is currently applying that background to marketing. Scott is passionate about technology and helping businesses achieve value through technology and was leading DevOps at organizations before it was coined DevOps. He has also co-authored papers for the DevOps Enterprise Forum.
Follow the author:

You may also like