Hvem er jeg?

OWASP Top 10

  • Gratis PDF (som alt annet fra OWASP)
  • Kan kjøpes som bok til selvkost
  • Bevissthet - ikke en standard
  • Gulv - ikke tak
  • Versjoner: 2003, 2004, 2007, 2010, 2013
  • Community effort

Kategorisering

Threat Agents Attack Vectors Weakness Prevalence Weakness Detectability Technical Impacts Business Impacts
App Specific EASY WIDESPREAD EASY SEVERE App / Business Specific
AVERAGE COMMON AVERAGE MODERATE
DIFFICULT UNCOMMON DIFFICULT MINOR

OWASP Top 10 2013

  • A1 - Injection
  • A2 - Broken Authentication and Session Management
  • A3 - Cross Site Scripting (XSS)
  • A4 - Insecure Direct Object Reference
  • A5 - Security Misconfiguration
  • A6 - Sensitive Data Exposure
  • A7 - Missing Function Level Access Control
  • A8 - Cross Site Request Forgery (CSRF)
  • A9 - Using Libraries with Known Vulnerabilities
  • A10 - Unvalidated Redirects and Forwards

A6 Sensitive Data Exposure

Sammenslåing av Top 10:

  • 2010-A9: Insufficient Transport Layer Protection
  • 2010-A7: Insecure Cryptographic Storage


Threat Agents Attack Vectors Weakness Prevalence Weakness Detectability Technical Impacts Business Impacts
App Specific DIFFICULT UNCOMMON AVERAGE SEVERE App / Business Specific

Image CC: http://commons.wikimedia.org/wiki/User:Justin14

http://www.dinside.no/923295/nettbank-appene-er-saarbare

Eksempel - Cookies

Set-Cookie: SESSION=sa9d8712hiuhias89d721
Set-Cookie: SESSION=sa9d8712hiuhias89d721; Secure

A7 Missing Function Level Access Control

Utvidelse av 2010-A8: Failure to Restrict URL Access



Threat Agents Attack Vectors Weakness Prevalence Weakness Detectability Technical Impacts Business Impacts
App Specific EASY COMMON AVERAGE MODERATE App / Business Specific

A9 Using Components with Known Vulnerabilities

Ny i 2013, men tidligere en del av 2010-A6: Security Misconfiguration



Threat Agents Attack Vectors Weakness Prevalence Weakness Detectability Technical Impacts Business Impacts
App Specific AVERAGE WIDESPREAD DIFFICULT MODERATE App / Business Specific

Hva er problemet?

  • 80% koden i en applikasjon kommer fra biblioteker
  • Statistikk fra Sonatype:
    • 133 millioner downloads
    • 29 millioner hadde kjente sårbarheter
  • Jo eldre, jo verre - sårbarheter fikses i det skjulte
Kilde:https://www.aspectsecurity.com/news/the-unfortunate-reality-of-insecure-libraries/

Hvor er feilen?

Historie fra virkeligheten

Image CC: https://www.flickr.com/photos/thyagohills/

OWASP Dependency Check

https://www.owasp.org/index.php/OWASP_Dependency_Check
  • Command line scanner
  • Maven plugin
  • Jenkins plugin
  • Bruker http://nvd.nist.gov/ som kilde
  • Kildekode på GitHub

OWASP SafeNuget

https://www.owasp.org/index.php/OWASP_SafeNuGet
    • Sårbarheter i nuget-pakker
    • Integrasjon i Visual Studios byggeprosess
    • Bruker egen kilde basert på release notes fra pakker
    • Kildekode på GitHub

Komersielle alternativer

  • Sonatype CLM
    • Java og .NET
    • Består av flere komponenter
      • Integrasjon i Eclipse
      • Integrasjon i Maven og Jenkins
      • Integrasjon i Nexus

Retire.js

What you require you must also retire https://github.com/bekk/retire.js
  • Nytt open source-prosjekt - første release i dag!
  • JavaScript-biblioteker

Retire.js

  • Kilde: Manuelt vedlikeholdt fra release notes og issue trackers
  • Deteksjon:
    • Filnavn/URL
      http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js
    • Kommentarer/innhold
      /*!
       * jQuery JavaScript Library v1.5.1
    • Hash av minifisert fil
    • Kjøring av kode
      jQuery.fn.jquery
      Handlebars.VERSION

Retire.js - kommandolinje


Usage: retire [options]

Options:

-h, --help       output usage information

-v, --verbose    output all identified JavaScript libraries (not just vulnerable ones)
-p, --package    limit node scan to packages where parent is mentioned in package.json (ignore node_modules folder)
-n, --node       Run node dependency scan only
-j, --js         Run scan of JavaScript files only (ignore node)

--jspath <path>  Folder to scan for javascript files (node-scan always scans current folder and subfolders)
    

Demo

Retire.js - Chrome extension

  • Scanner mens man surfer siten
  • Rapporterer i konsollet

Demo

Spørsmål?


Slides legges på github.com/eoftedal