kodgranskningKodgranskningens syfte är att upptäcka eventuella programmeringsfel som avsiktligen eller oavsiktligen uppkommit. Vi kodgranskar flertalet programmering och scripspråk med eller utan tillgänglig källkod.

Förutom att manuellt läsa källkoden så använder vi metoder såsom reverse-engineering och fuzzing.

Vi rekommenderar kodgranskning av säkerhetskritiska delar av Er programkod då granskningen tar lång tid att genomföra. Vår granskning av källkod baseras på CERT Secure Coding Standards.

Kodgranskning kan även utföras som en del av IT-säkerhetsgranskning.

Några delar som kodgranskingen kontrollerar:

  • Används säkra funktioner framför osäkra
  • Hur hanteras användargenererad data från exempelvis nätverk
  • Blackboxtester där man hittar på hur slutprodukten används
  • Fuzztester
  • Minnesläckage
  • Exceptions eller returvärden som ej hanteras
  • Signed/unsigned-problem, off by-x, stränghantering
  • Kodens kvalitét i stort, såsom kommentarer och stil
  • Debugkod etc som ej ska förekomma i produktion
  • Tredjepartsbibliotek som inte är uppdaterade eller innehåller sårbarheter
  • Används säkra funktioner i systemet såsom chroot/setuid etc
  • Uppföljning mot CERT Secure Coding standards
  • Eventuella logiska fel/tankevurpor
  • Tidigare identifierade sårbarheter
  • Kompilatorflaggor
  • Unittester eller andra tester
  • Race conditions
  • Svaga  eller kryptografiska funktioner som används felaktigt
  • Loggning
  • Automatiska verktyg, se lista hos NIST
  • Överbelastningsattacker
  • Rena slarvfel och oönskade beteenden