Säkerhet ur ett testperspektiv



Relevanta dokument
Murphys onda tvilling och en hackers syn på bra design

Riktlinje för säkerhetskrav vid upphandling av IT-stöd

FlexiTid Extern webbokning. Copyright Datatal AB. Med ensamrätt. Copyright 2013 Datatal AB. All rights reserved.

Handbok Dela Skrivbord. Brad Hards Översättare: Stefan Asserhäll

Win95/98 Nätverks Kompendium. av DRIFTGRUPPEN

Uppdatera Easy Planning till SQL

Säkra Designmönster (Secure Design Patterns)

Riktlinjer för informationssäkerhet

Författare Version Datum. Visi System AB

Säkra trådlösa nät - praktiska råd och erfarenheter

Modul 6 Webbsäkerhet

Sokigo AB OVK 2.0. Pentium- eller AMD-processor (x64 processor) på 1,6 GHz Dual Core eller motsvarande.

Instruktion för användande av Citrix MetaFrame

Design Collaboration Suite

Enhetstester på.netplattformen

Tentamen etjänster och webbprogrammering

INSTALLATIONSINSTRUKTIONER FÖR VIDA VIDA ON WEB

Installationsanvisning. Dokumenttyp Installationsanvisning Område Boss med delad databas

Avancerade Webbteknologier 2. AD11g Göteborg 2012 Säkerhet

Laboration 4 Rekognosering och nätverksattacker

1 Installationsinstruktioner

En syn på säkerhet. Per Lejontand

Installation och konfiguration av klientprogramvara 2c8 Modeling Tool

OWASP Topp De 10 allvarligaste riskerna i webbapplikationer OWASP East Sweden: Uppstartsmöte

1 Systemkrav avantraupphandling

Instruktion: Trådlöst nätverk för privata enheter

Instruktion: Trådlöst utbildningsnät orebro-utbildning

F6 Exchange EC Utbildning AB

Unix-Säkerhet. Övningsprov. Frågorna skall besvaras på ett sådant sätt att en insatt kollega skall känna sig informerad.

Handbok Fjärranslutning till skrivbord. Brad Hards Urs Wolfer Översättare: Stefan Asserhäll

Testdriven utveckling. Magnus Jonsson Siemens Medical Solutions

God nätverksdesign och distribuerade brandväggar. Patrik Fältström

Övningar - Datorkommunikation

Virus och andra elakartade program

F5 Exchange Elektronikcentrum i Svängsta Utbildning AB

Säker IP telefoni? Hakan Nohre, CISSP

Sokigo AB Ecos Pentium- eller AMD-processor (x64 processor) på 1,6 GHz Dual Core eller motsvarande.

Säkerhet, eller nått. Tomas Forsman

Användarmanual för Pagero Kryptering

VPN tjänst för Stockholm Stad

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

INNEHÅLL. Konfigurering av SQL Server. Egenskaper Kommunikationsprotokoll

Uppdatera Easy Planning till SQL

Handbok Dela Skrivbord. Brad Hards Översättare: Stefan Asserhäll

Säkra system. En profil om säkerhet och programvara. Profilansvarig: Nahid Shahmehri

1. Revisionsinformation

Anvisningar för installation och borttagning av skrivardrivrutinerna Windows PostScript och PCL utgåva 8

Tekis-FB Systemkrav

Passersystem VAKA 10

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011

Invest for Excel CD version Start guide

STYRKAN I ENKELHETEN. Business Suite

Handbok KNetAttach. Orville Bennett Översättare: Stefan Asserhäll

med Office 365 i Dynamics NAV 2015

Storegate Pro Backup. Innehåll

Föräldrakontroll MEDDELANDE TILL FÖRÄLDRAR. Vita-systemet innan du låter ditt barn spela. Ställ in föräldrakontrollen på PlayStation (1)

VPN (PPTP) installationsguide för Windows 7

Datasäkerhet. Sidorna i kursboken

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q3

Dag König Developer Tools Specialist Microsoft Corporation

Procedurer för att ändra standardplats för programinstallation i Windows XP

OBS!!! Anslut ej USB kabeln till dator eller GPS innan du först har installerat drivrutinerna för USB kabeln i din dator.

Bordermail instruktionsmanual

Manual licenserver. Installations och konfigurations-manual för Adtollo licenserver

Konfigurering av inloggning via Active Directory

ANVÄNDAR-GUIDE för Bränneriets LAN

Microsoft Operations Manager 2005

Installation av WinPig Slakt

Ändringar i samband med aktivering av. Microsoft Windows Vista

Installera SoS2000. Kapitel 2 Installation Innehåll

Larmsändare sip86. Alla inställningar konfigureras enkelt upp med Windowsprogramvaran IP- Scanner. 2 Larmsändare sip22

Instruktion för användande av Citrix MetaFrame

Innehåll. Dokumentet gäller från och med version

Skapa ett paket av TI-Nspire programvara med Microsoft SMS 2003

Årsskiftesrutiner i HogiaLön Plus SQL

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q2

Instruktion. Datum (12) Coverage Dokument id Rev Status? Godkänd. Tillhör objekt -

Startanvisning för Bornets Internet

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1

Boss installationsmanual förberedelser

E11 "Protection" Föreläsning 11, HT2014 Säkerhet, tillgänglighet. Johan Leitet. Kurs: 1dv403 Webbteknik I

Säkerhet Användarhandbok

Apple Remote Desktop 3. Viktor Glemme Systemingenjör - Apple glemme.v@euro.apple.com

Sammanfattning och specifikationer för POT

IDE USB kabel Windows XP, Vista 7 löäzxcvbnmqwertyuiopåasdfghjklöäz [Version 1.4, ]

Installation av Topocad

Metoder för datasäkerhet. Vad handlar en sådan kurs om???

Installation/uppdatering av Hogia Personal fr.o.m. version 13.1

1 Installationsinstruktioner

Antivirus Pro Snabbguide

Modul 3 Föreläsningsinnehåll

Info till IT - dioevidence Nationell uppföljning inom sociala områden

Releaseinformation för Remote Support Platform 3.0

Snabbguide IP-kamera Kom igång med din kamera

Program för skrivarhantering

DI Studio nyheter

Installationsanvisningar VISI Klient

MOTTAGARE AV VIDEOMÖTE FÖR DE SOM INTE HAR MICROSOFT LYNC INSTALLERAT SAMORDNAD VÅRD- OCH OMSORGSPLANERING

Säkerhet Användarhandbok

Transkript:

Säkerhet ur ett testperspektiv (Erfarenheter efter 4 år med säkerhetstest på Microsoft) Copyright Prolore AB. All rights reserved.

Viktor Laszlo - Prolore Jobbat med teknisk testning i 15 år Var med och grundade Prolore Jobbade på Microsoft i 4 år Idag VD på Prolore 2

Innehåll Microsoft Security Development Lifecycle (SDL) Säker design Minska attackytan (ASR) Modelera hotbilden (Threat Modeling) Kanske: Säkerhetstestning Fuzz testning 3

(Innehåll) Borttaget Buffer overflows Integer arithmetic errors Canonicalization issues Managed Code: Cross-site scripting (XSS) Managed Code: SQL injection Cryptography Code Review 4

Mål Att ge dig information som kan användas för att göra dina system säkrare. 5

Vad är Microsoft SDL Microsoft Security Development Lifecycle Vilka säkerhetsaktiviteter ger mest valuta för pengarna? 1. Utbildning 60-45% 2. Threat Modeling 40% 3. Attack Surface Reduction? % 4. Fuzz Testing 10% Att bara leta efter säkerhetsbuggar gör inte mjukvara säkrare 6

7 Microsoft SDL

Test och Säkerhet Test validerar Krav och Design? Test verifierar för att hitta säkerhetsfel. Fokus ligger på validering när man arbetar med säkerhetstest. Att bara leta efter säkerhetsbuggar gör inte mjukvara säkrare 8

Minska attackytan Titta på alla ingångspunkter till ditt system. Nätverksport och protokoll Filer och filtyper (Windows registry) Rangordna dom enligt behörighetsnivå. Anonym användare - autentiserad användare Fjärranvändare - lokala användare Användare - Admin Nätverk - lokal 9

Minska attackytan Större attackyta Exekverar som default Öppen port UDP Anonym åtkomst Alltid på Adminåtkomst Åtkomst från internet SYSTEM Standardinställningat Mindre attackyta Avstängd som default Stängd port TCP Autensierad åtkomst Ibland på Användaråtkomst Åtkomst från lokala nätet Inte SYSTEM Användardefinierade inställningar 10

Att minska attackytan är lika viktigt som att få programkoden bra Skapa en lista och gå kritiskt genom den. Ställ dig frågor som: Behöver porten verkligen vara öppen? Behöver filen verkligen vara skrivbar? Behöver användaren verkligen den rättigheten? Behöver verkligen den processen vara startad? 11

Hotanalys Säker mjukvara börjar med att vi förstår hoten. Hot är inte samma sak som sårbarhet. Hot lever för alltid, de är attackens mål Processen i korthet: Modellera hotbilden -> Identifiera hot -> Mildra/motverka hot -> Validera 12

Hotmodellering (Threat Modeling) Rita upp din arkitektur. Börja med personer/andra system, processer, dataflöden och datalagring. Unik form för varje sak Varje dataflöde ska bara gå åt ett håll Namnge dom med data, inte läs/skriv Rita ut attackytor/trust boundaries Berätta en story om ditt system för att se att bin modell är OK. 13

Hotmodell (Threat Model) Extern Enhet Process Dataflöde Datalagring Trust boundary Människor Andra system Microsoft. com DLL EXE COM-objekt Komponent Service Web Service Funktions anrop Nätverks trafik RPC (Remote Procedure Call) Databas Fil Registry Kö/Stack Delat minne Dator Filsystem Process boundary 14

Hitta hoten Använd STRIDE för varje detalj Börja med saker som är kopplade till farliga dataflöden (sådana som korsar trust boundarie) Använd tabellen som hjälp för att komma på attacker. Håll reda på allt i en lista 15

Förstå STRIDE hoten Hot Egenskap Definition Exempel Spoofing Autentisering Utge sig för att vara något eller någon annan. Utge sig för att vara någon från ITavdelningen, skatteverket.se eller ntdll.dll Tampering Integritet Modifiera data eller kod Modifiera en DLL på disk eller DVD, eller ett paket på nätverket. Repudiation Oavvislighet Påstå att man inte har utfört något Information Disclosure Denial of Service Elevation of Privilege 16 Sekretess Tillgänglighet Behörighet/Till stånd Visa information för någon som inte hat tillstånd att se det Förneka eller försämra tjänst för användare Få tillgång utan korrekt tillstånd Jag har inte skickat mailet. Jag har inte ändrat filen. Jag har inte besökt websidan. Publicera ett kundregister på en websida. Visa Windows källkod för någon Krascha en process eller en webserver, eller skicka data som belastar en tjänst. Gå från begränsad användare till en med högre behörighet. Tillåtar en anonym användare att köra kommandon.

STRIDE Tabellen S T R I D E Extern Enhet X X Process X X X X X X Dataflöde X X X X Datalagring X X X 17

Mildra/motverka hoten genom att använda följande teknik Hot Spoofing Tampering Repudiation Information Disclosure Denial of Service Elevation of Privilege Mildra/motverka genom Autentisering Integritet Oavvislighet Sekretess Tillgänglighet Behörighet/Tillstånd 18

Dataflödesdiagram Inte flödesschema Inte klassdiagram Inte interaktionsdiagram 19

Identifiera hoten SR TID STRIDE TID TID Varje element i dataflödesdiagramet är mottagligt för en eller flera hottyper. TID SR STRIDE TID TID STRIDE 20

Mildra/motverka hoten För varje hot, bestäm hur det ska stoppas Designa om och eliminera Använd en standard motverkningsteknik Acceptera/medvetet risktagande Rapportera en bugg Hantera hot som buggar Motverkningsteknik som funktionalitet 21

Validera Kontrollera hotmodellsdiagrammet Stämmer det överens med designdokumentet? Stämmer det överens med faktisk implementation? Kolla i din buggdatabas Är alla säkerhetsrelaterade buggar stängda? Är allt implementerat för att motverka dessa? 22

Fuzz testning Myntades av Bart Miller An Empirical Study of the Reliability of UNIX Utilities (Miller, Fredriksen och So, 1990) Kritiker kallar det för hagelbössa, men i vissa sammanhang är hagelbössor mer användbara än gevär eller laser 23

Fuzz testning Slumpdriven applicering av inkorrekt formaterad data för att hitta sårbarheter. Egenskaper: Metodisk Slumpvärden Explicit sökande efter sårbarheter / stabilitetsfel Genererar ett stort antal testfall Förväntat resultat: Det går inte fel Passar inte riktigt in i traditionellt tankesett med testfall 24

Hur gör man Fuzz testning? Verktyg, verktyg, verktyg. Hitta alla ingångspunkter till ditt system. Nätverksport och protokoll Filer och filtyper Windows registry Rangordna dom enligt behörighetsnivå. Anonym, användarbehörighet och admin Fjärranvändare och lokala användare. 25

Hur gör man Fuzz testning? De som utför attacker begränsar sig inte. Regel nr. 1: Det finns inga regler/begränsningar Attacker som utförs av admin är inte intressanta. Om du har en klient till din server, använd den inte. Imitera klienten 26

Sammanfattning SDL integrerar säkerhetsaktiviteter i alla faser av utvecklingarbetet. Att reducera attackytan och att modellera hoten är delar av säker design. Indatavalidering är en mycket viktig teknik vid säker utveckling. Ett misslyckande resulterar alltid i allvarliga säkerhetproblem. Fuzz testning hjälper att avslöja fel som kan medföra säkerhetsproblem. 27

28 Rekommenderad läsning

Rekommenderade verktyg Threat Modeling ASR SDL Threat Modeling Tool version 3.1.8 Attack Surface Analyzer (Beta) Fuzz Testning SDL MiniFuzz File Fuzzer SDL RegEx Fuzzer Övriga BinScope Binary Analyzer AppVerifier Microsoft Code Analysis Tool.NET (CAT.NET) 29

Tack! Kontakt: viktor.laszlo@prolore.se www.prolore.se 30