Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Säker kod (secure code)

70 views

Published on

Slides for the presentation held by Daniel at FOSS-sthlm #20 in Solna, January 28, 2019.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Säker kod (secure code)

  1. 1. säker kodsäker kod FOSS-sthlmFOSS-sthlm
  2. 2. Finns i fem - sex miljarder enheter över hela världen Min kod
  3. 3. …… i enheter hos alla som äri enheter hos alla som är här idaghär idag Min kod
  4. 4. Skriva säker kodSkriva säker kod
  5. 5. Säker kod är inte en tillfällighet Sker inte av en slump, du måste jobba på det Du behöver bry dig om det Det är på tiden att vi alla tar tag i det här Allt jag berättar idag vet du ju redan
  6. 6. Skriva Hjälp användare använda din app eller ditt APIHjälp användare använda din app eller ditt API Defaults!Defaults! Dokumentera. Allt och mycket.Dokumentera. Allt och mycket. VarningarVarningar skaska bortbort AnvändAnvänd kommentarerkommentarer assert()assert() Släpp kodenSläpp koden open sourceopen source
  7. 7. Granska All kodAll kod skaska granskasgranskas KodKod skaska vara lätt att läsa och förståsvara lätt att läsa och förstås SammaSamma kodstil överalltkodstil överallt Commit-meddelande-mall ochCommit-meddelande-mall och kvalitetkvalitet på dempå dem Se till att stil och mallar efterlevs!Se till att stil och mallar efterlevs!
  8. 8. Testa Unit-testa System-testa Integrations-testa Testa dokumentationen! Manuella tester Fixat en bugg? Lägg till ett test
  9. 9. Hamra Valgrind, address/UB/integer sanitizersValgrind, address/UB/integer sanitizers Statisk kod-analys (clang, Coverity, lints, …)Statisk kod-analys (clang, Coverity, lints, …) FuzzersFuzzers
  10. 10. Allt det, alltid På varje commit På varje PR Hela tiden
  11. 11. curl-projektet >45 byggen per commit Testar för kod-stil och indentering etc Tusentals tester per bygge Bygger och testar på tiotals plattformar 15 timmar CI per commit inklusive valgrind, sanitizers, “torture”, scan- build, OSS-Fuzz, Coverity, lgtm, codacy
  12. 12. Jamen... Det där tar ju jättelång tid och är dyrt!
  13. 13. Det kan hända, men...
  14. 14. Hemskheter kommer hända! Ingen är imun, hur mycket vi än försöker! Agera direkt Äg problemet Åtgärda Lär läxan Annars...
  15. 15. SGTPH helt enkelt
  16. 16. SGTPH Snygg kod Granska Testa Plåga Hantera misstagen
  17. 17. https://daniel.haxx.se/ Tack!
  18. 18. ““Det ekonomiska värde som skapats iDet ekonomiska värde som skapats i och med detta kan inte överskattas”och med detta kan inte överskattas”
  19. 19. License This presentation and its contents are licensed under the Creative Commons Attribution 4.0 license: http://creativecommons.org/licenses/by/4.0/

×