Säkra Designmönster (Secure Design Patterns)

Storlek: px
Starta visningen från sidan:

Download "Säkra Designmönster (Secure Design Patterns)"

Transkript

1 Säkra Designmönster (Secure Design Patterns) Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT)

2 Säkra designmönster Beskrivningar eller mallar som beskriver en generell lösning på ett säkerhetsproblem och som kan användas i många olika situationer. Ett designmönster är tänkt att minska antalet sårbarheter som av misstag introduceras i kod och att minska konsekvensen av sårbarheterna. Tre kategorier: arkitektur, design och implementation. 2

3 Kategorier Arkitektur: Fokuserar på högnivåallokering av ansvar mellan olika komponenter, och kommunikationen mellan komponenterna: Privilege separation (PrivSep) Design: Adresserar problem med designen av en komponent: Secure factory Secure chain of responsibility Implementation: Lågnivå, applicerbara i vissa funktioner i ett system: Secure logger Clear sensitive information 3

4 Privilege separation (PrivSep) Syfte: Reducera mängden kod som körs med specialrättigheter (admin/root) utan att minska funktionaliteten. Motivation: I många applikationer är det endast ett fåtal operationer som faktiskt kräver administrativa rättigheter, samtidigt som en stor mängd komplex kod kan köras med låga rättigheter utan att det förändrar utfallet. 4

5 Privilege separation (PrivSep) root Lyssna på trafik på nätverket. Begäran från en användare root Skapa en process som har minsta möjliga rä;gheter. Utan rättigheter Auten>sera (komplex kod) root Skapa en process med auten>serad användares rä;gheter. Användare FortsäD köra programmet som användaren. 5

6 Privilege separation (PrivSep) Utan rättigheter Auten>serar (komplex kod) Användare FortsäD köra programmet som användaren. root Lyssna på nätverket. root Skapa process med minsta möjliga rä;gheter. Majoriteten av koden körs med låga eller användarens rättigheter. Om det finns en sårbarhet så kommer den som attackerar endast få låga rättigheter. Specialtestning och verifiering kan göras på kod som körs med administrativa rättigheter. root Skapa en process med användarens rä;gheter. 6

7 Secure Factory Syfte: Separera säkerhetsaspekterna av att skapa ett nytt objekt ifrån objektet själv. Motivation: An användare får tillgång till ett objekt som har funktionalitet som beror på användarens rättigheter. 7

8 Secure Factory AbstractSecureFactory +getinstance() : AbstractSecureFactory +getobject(givencredentials : SecurityCredentials) : SomeObject ConcreteSecureFactory1 +getobject(givencredentials : SecurityCredentials) : SomeObject ConcreteSecureFactory2 +getobject(givencredentials : SecurityCredentials) : SomeObject Att skapa SomeObject görs genom: AbstractSecureFactory.getInstance().getObject(securityCredentials) Det returnerade objektet, SomeObject, är ett objekt som har de korrekta rättigheterna. 8

9 Secure Factory Inne i fabriken: 1. Använder den nuvarande konkreta implementationen av AbstractSecureFactory. 2. Inspekterar SecurityCredentials som skickades vid anropet. 3. Skapa en instans av en (för rättigheterna) passande SomeObject. SomeObject LowPrivilegeSomeObject HighPrivilegeSomeObject MidPrivilegeSomeObject 9

10 Secure Factory Den som anropar, samt SomeObject, innehåller inte någon kod eller logik för att kontrollera rättigheter. SomeObject returneras alltid från fabriken, och fabriken väljer korrekt implementation. Det är lätt att byta hur rättigheter kontrolleras genom att byta konkret implementation av AbstractSecureFactory. Konkreta implementation av SomeObject behöver inte implementera kod för funktioner som inte ska användas av den som ber om objektet. LowPrivilegeSomeObject implementerar inte kod för att kunna skriva till disk. 10

11 Secure Chain of Responsibility Avsikt: Koppla bort logiken som avgör rättigheter från den del av programmet som begär en viss funktionalitet. Motivation: Applikationer behöver ofta tillåta och avslå vissa funktioner beroende på vem som anropar. 11

12 Secure Chain of Responsibility Hantera begäran Hantera begäran Hantera begäran eller avvisa hela begäran Begäran samt användarens autentisering Rapport generator för chefer Rapport för sta>s>ker Rapport för säljavdelning Skicka vidare begäran om rättighetskontroll misslyckas Skicka vidare begäran om rättighetskontroll misslyckas 12

13 Secure Chain of Responsibility Valet av funktionalitet är dolt från den som anropar, vad som returneras beror på användarens rättigheter. Den som anropar vet inte om vart dess begäran har hanterats. Extremt enkelt att lägga till och ta bort hanterare i kedjan. Kan till och med göras dynamiskt. Hantera begäran Hantera begäran Hantera begäran eller avvisa hela begäran Begäran samt användarens autentisering Rapport generator för chefer Rapport för sta>s>ker Rapport för säljavdelning Skicka vidare begäran om rättighetskontroll misslyckas Skicka vidare begäran om rättighetskontroll misslyckas 13

14 Secure Logger Avsikt: Förhindra att en attack delger potentiellt användbar information om ett system genom loggar, samt förhindra att en attack kan döljas från loggar. Motivation: Ett systems loggar innehåller ofta väldigt mycket användbar information om systemet och dess användare. 14

15 Secure Logger Applikation Logg Säker loggskrivare Skyddad data Logg-vy Oskyddad data Loggläsare 15

16 Secure Logger Det går inte att på vanlig väg läsa loggfiler eftersom de nu är krypterade. Loggläsaren är nödvändig för access till loggfiler, och den kräver autentisering. En attack som lyckas få innehållet i loggfilerna har ingen nytta av innehållet. Applikation Logg Säker loggskrivare Skyddad data Logg-vy Oskyddad data Loggläsare 16

17 Clear Sensitive Information Avsikt: Det är möjligt att känslig information har sparats i resurser som återanvänds efter att en applikation har avslutats eller en användarsession slutförts. Känslig information ska förstöras i dessa resurser. Motivation: I många fall så innebär frigörandet av resurser inte att de tas bort. Till exempel så markeras minne som ledigt, och innehållet tas först bort när någon behöver platsen. Detta kan göra att information som är känslig som man tror är borttagen kan läcka. 17

18 Clear Sensitive Information Frigör resurs Rengör data Lämna till pool Applikation Frigör aldrig direkt Pool Hämta resurs 18

19 Clear Sensitive Information ClientInfo::~ClientInfo() { this->ipaddr = 0; } this->trustlevel = BOGUS; this->numfaultyrequests = 0; 19

20 Secure Design Patterns Ett designmönster är tänkt att minska antalet sårbarheter som av misstag introduceras i kod och att minska konsekvensen av sårbarheterna. När man använder designmönster så utnyttjar man många års erfarenheter från andra som gjort misstag, och du använder best practice. Det hjälper också när man pratar om kod och design med andra utvecklare. Många användbara säkra designmönster: C. Dougherty, K. Sayre, R. C. Seacord, D. Svoboda, K. Tagashi. Secure Design Patterns. Technical Report CMU/SEI-2009-TR

21

Designprinciper för säkerhet och Epilog. Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT)

Designprinciper för säkerhet och Epilog. Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT) Designprinciper för säkerhet och Epilog Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT) Designprinciper för säkerhet Tumregler och utgångspunkter

Läs mer

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Designmönster Adapter, Factory, Iterator,

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 6 23 nov 2015

Objektorienterad Programkonstruktion. Föreläsning 6 23 nov 2015 Objektorienterad Programkonstruktion Föreläsning 6 23 nov 2015 Designmönster Färdiga "recept" för att lösa (del-)problem i struktureringen av ens program Mönster kan beskriva små komponenter eller stora

Läs mer

Programmering = modellering

Programmering = modellering Programmering = modellering Ett datorprogram är en modell av en verklig eller tänkt värld. Ofta är det komplexa system som skall modelleras I objektorienterad programmering består denna värld av ett antal

Läs mer

Generell säkerhet. Loggning - Hur mycket ska man logga? Inloggningsrutinerna i Unix. Loggning fortsättning

Generell säkerhet. Loggning - Hur mycket ska man logga? Inloggningsrutinerna i Unix. Loggning fortsättning Generell säkerhet Här finns det inga direkta rätt eller fel. Snarare saker man bör tänka på när man implementerar ett program. Kort sagt: Efter att du kommit på hur du tänkt göra, sov på saken och tänk

Läs mer

Introduktion till säkerhet Grundläggande begrepp

Introduktion till säkerhet Grundläggande begrepp Introduktion till säkerhet Grundläggande begrepp Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT) Förändringar Två ytterliga riskanalysmetoder

Läs mer

OWASP Topp 10 2013. De 10 allvarligaste riskerna i webbapplikationer. 2013-10-03 OWASP East Sweden: Uppstartsmöte

OWASP Topp 10 2013. De 10 allvarligaste riskerna i webbapplikationer. 2013-10-03 OWASP East Sweden: Uppstartsmöte OWASP Topp 10 2013 De 10 allvarligaste riskerna i webbapplikationer 2013-10-03 OWASP East Sweden: Uppstartsmöte Vad är OWASP Topp 10? Är ett av OWASP mest populära projekt Är inte en standard Fokuserad

Läs mer

Objektorienterad programmering. Grundläggande begrepp

Objektorienterad programmering. Grundläggande begrepp Objektorienterad programmering Grundläggande begrepp Hur beskriver vi objekt? Vill ha en representationsoberoende beskrivning Abstrakta datatyper! Data Operationer Objekt Representerar en verklig eller

Läs mer

Datum: 2011-02-10 Version: Författare: Christina Danielsson Senast ändrad:

Datum: 2011-02-10 Version: Författare: Christina Danielsson Senast ändrad: I N T E R N T Säkerhetskrav på extern part För enskild individs direktåtkomst till Datum: 2011-02-10 Version: Författare: Christina Danielsson Senast ändrad: Dokumentnamn: Säkerhetskrav på extern part

Läs mer

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv

Läs mer

Capitex dataservertjänst

Capitex dataservertjänst Capitex dataservertjänst Beskrivning Capitex dataservertjänst fungerar som en mellanhand för arbetet mellan klienterna och databasen. Detta reducerar frekvensen och storleken på den nätverkstrafik som

Läs mer

Lösenordsregelverk för Karolinska Institutet

Lösenordsregelverk för Karolinska Institutet Lösenordsregelverk för Karolinska Institutet Dnr 1-213/2015 Version 2.0 Gäller från och med 2015-05-18 Sida 2 av 7 Lösenordsregelverk för Karolinska Institutet - Sammanfattning Syfte Det övergripande syftet

Läs mer

WEBBTEKNIK. Ämnets syfte

WEBBTEKNIK. Ämnets syfte WEBBTEKNIK Webbteknik används för att utveckla och vidareutveckla statiska och dynamiska webbsidor, webbplatser, webbapplikationer eller andra applikationer där webbtekniker används, till exempel applikationer

Läs mer

WEBBTEKNIK. Ämnets syfte

WEBBTEKNIK. Ämnets syfte WEBBTEKNIK Webbteknik används för att utveckla och vidareutveckla statiska och dynamiska webbsidor, webbplatser, webbapplikationer eller andra applikationer där webbtekniker används, till exempel applikationer

Läs mer

Säkerhet ur ett testperspektiv

Säkerhet ur ett testperspektiv 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

Läs mer

TDP013. Webbprogrammering och interaktivitet. AJAX, CORS & jquery. Marcus Bendtsen Institutionen för Datavetenskap (IDA)

TDP013. Webbprogrammering och interaktivitet. AJAX, CORS & jquery. Marcus Bendtsen Institutionen för Datavetenskap (IDA) TDP013 Webbprogrammering och interaktivitet AJAX, CORS & jquery Marcus Bendtsen Institutionen för Datavetenskap (IDA) Innan AJAX Ett synkront webb 1. Användaren klickar länk, formulär, bild etc 2. Anrop

Läs mer

LATHUND FÖR MALVIN. 1 Registrera ny användare... 2. 2 Logga In... 3. 2.1 Glömt lösenord... 4. 3 Annonsering... 5. 3.1 Skapa annons...

LATHUND FÖR MALVIN. 1 Registrera ny användare... 2. 2 Logga In... 3. 2.1 Glömt lösenord... 4. 3 Annonsering... 5. 3.1 Skapa annons... LATHUND FÖR MALVIN INNEHÅLL 1 Registrera ny användare... 2 2 Logga In... 3 2.1 Glömt lösenord... 4 3 Annonsering... 5 3.1 Skapa annons... 5 3.2 Redigera annons... 8 3.3 Ta bort förmedlad annons... 8 3.4

Läs mer

1.1 Runnable och Thread

1.1 Runnable och Thread 1 Trådar 1.1 Runnable och Thread I övningen är ShoutThread hårdkodad att använda just ShoutRunnable. Det typiska förfarandet brukar annars vara att skicka över din Runnable i konstruktor-anropet till Thread:

Läs mer

Separation of Concern. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Johannes Åman Pohjola, 2017

Separation of Concern. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Johannes Åman Pohjola, 2017 Separation of Concern Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Johannes Åman Pohjola, 2017 Modulär design Ett programsystem är för stort för att kunna förstås i sin helhet.

Läs mer

Modul 6 Webbsäkerhet

Modul 6 Webbsäkerhet Modul 6 Webbsäkerhet Serverskript & Säkerhet Webbservrar & serverskript exponerar möjlighet för fjärranvändare att skicka data och köra kod vilket medför risker. Man ska aldrig lita på att alla vill göra

Läs mer

HP Pull Print-lösningar

HP Pull Print-lösningar HP Pull Print-lösningar Vilken pull print-lösning är rätt för ditt företag? HP förstår att ditt företag är unikt. Detta är orsaken till att vi erbjuder flera lösningar för att använda pull printing. Besvara

Läs mer

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011 EIT060 Datasäkerhet - Projekt 2 Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011 Innehåll 1 Introduktion 1 2 SSL 1 2.1 Anslutningsprocessen.........................

Läs mer

Designmönster - EMW. Kent Petersson epost1: kentp@cs.chalmers.se epost2: kent.petersson@emw.ericsson.se URL: http://www.cs.chalmers.

Designmönster - EMW. Kent Petersson epost1: kentp@cs.chalmers.se epost2: kent.petersson@emw.ericsson.se URL: http://www.cs.chalmers. Designmönster - EMW Kent Petersson epost1: kentp@cs.chalmers.se epost2: kent.petersson@emw.ericsson.se URL: http://www.cs.chalmers.se/~kentp arbetar på Inst. för Datavetenskap, Cth & Gu, 50% och Software

Läs mer

TUTORIAL: SAMLING & KONSOLL

TUTORIAL: SAMLING & KONSOLL TUTORIAL: SAMLING & KONSOLL Denna tutorial är en fortsättning på den tutorial där vi skapade klassen Car och sedan objekt av denna klass. Vi skall nu lära oss att lagra dessa objekt i en samling och även

Läs mer

Sync Master startas via Task Scedule (schemaläggaren). Programmet kan köras på servern utan att någon är inloggad på servern.

Sync Master startas via Task Scedule (schemaläggaren). Programmet kan köras på servern utan att någon är inloggad på servern. Sync Master Sync Master är ett tilläggsprogram till Easy Planning som används för att automatiskt synka Outlook kalendrar med EP. Programmet ska installeras på en server som har en Outlook klient installerad.

Läs mer

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

Avancerade Webbteknologier 2. AD11g Göteborg 2012 Säkerhet Avancerade Webbteknologier 2 AD11g Göteborg 2012 Säkerhet Korta punkter Projekt: Något som behöver redas ut? Product: Public Guid CategoryID {g; s;} Public virtual Category Category {g; s;} Category: Public

Läs mer

Linuxadministration I 1DV417 - Laboration 7 SSH-magi och systemtrolleri. Marcus Wilhelmsson 6 mars 2013

Linuxadministration I 1DV417 - Laboration 7 SSH-magi och systemtrolleri. Marcus Wilhelmsson 6 mars 2013 Linuxadministration I 1DV417 - Laboration 7 SSH-magi och systemtrolleri Marcus Wilhelmsson marcus.wilhelmsson@lnu.se 6 mars 2013 Innehåll 1 Inledning och mål 3 2 Material och genomförande 3 3 Förberedelseuppgifter

Läs mer

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design Alex Gerdes, 2016

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design Alex Gerdes, 2016 Static vs Dynamic binding Polymorfism Objekt-orienterad programmering och design Alex Gerdes, 2016 Diagnostiskt prov Shape + overlaps(shape): int return 1; Shape shape = new Shape(); Polygon tripoly =

Läs mer

Kopiering av objekt i Java

Kopiering av objekt i Java 1 (6) Kopiering av objekt i Java Först När du läser detta papper bör du samtidigt studera dokumentationen för klasserna Object, Cloneable (java.lang) och ArrayList (java.util). Mycket blir klarare genom

Läs mer

Security Target (ST) för The Secure Channel (server)

Security Target (ST) för The Secure Channel (server) Security Target (ST) för The Secure Channel (server) Dokument: Security Target (ST) för The Secure Channel (server) 1 Innehållsförteckning 1 Introduktion (ASE_INT)...3 1.1 ST Referens...3 1.2 Klassificering...3

Läs mer

Programmering B med Visual C++ 2008

Programmering B med Visual C++ 2008 Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016

Objektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016 Objektorienterad Programkonstruktion Föreläsning 3 7 nov 2016 Klass/instans Med hjälp av nyckelordet static kan vi bestämma att en metod eller ett fält ska tillhöra själva klassen i stället för en specifik

Läs mer

Snabbstartsguide. Få hjälp Klicka på frågetecknet om du vill söka efter hjälpinnehåll.

Snabbstartsguide. Få hjälp Klicka på frågetecknet om du vill söka efter hjälpinnehåll. Snabbstartsguide Microsoft Access 2013 ser annorlunda ut jämfört med tidigare versioner, så vi har skapat den här guiden som hjälper dig att minimera inlärningskurvan. Ändra skärmstorleken eller stäng

Läs mer

Objektorienterad programmering

Objektorienterad programmering Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad

Läs mer

SOLID är en akronym för fem stycken designprinciper som används vid mjukvaruutveckling. SOLID står för:

SOLID är en akronym för fem stycken designprinciper som används vid mjukvaruutveckling. SOLID står för: Lektion 32 Övningar Korta punkter Jag vill ha en redovisning från alla grupper där ni går igenom person för person vad personen har ansvarat för och vad och vem personen har parprogrammerat på. Ta även

Läs mer

Undervisningen ska ge eleverna tillfälle att arbeta i projekt samt möjlighet att utveckla kunskaper om projektarbete och dess olika faser.

Undervisningen ska ge eleverna tillfälle att arbeta i projekt samt möjlighet att utveckla kunskaper om projektarbete och dess olika faser. WEBBTEKNIK Webbteknik används för att utveckla och vidareutveckla statiska och dynamiska webbsidor, webbplatser, webbapplikationer eller andra applikationer där webbtekniker används, till exempel applikationer

Läs mer

F9 - Polymorfism. ID1004 Objektorienterad programmering Fredrik Kilander

F9 - Polymorfism. ID1004 Objektorienterad programmering Fredrik Kilander F9 - Polymorfism ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Polymorfism - flerformighet Vi vet vad metoden heter (signaturen) Men vi vet inte vid anropet exakt vilken metod som faktiskt

Läs mer

1 Klasser och objektorientering Vad är objektorientering?

1 Klasser och objektorientering Vad är objektorientering? 1 Klasser och objektorientering Vad är objektorientering? Det finns olika synsätt på programmering, dessa olika synsätt kallas för paradigm. De vanligaste paradigmen är det imperativa/proceduriella, det

Läs mer

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

Metoder för datasäkerhet. Vad handlar en sådan kurs om??? Metoder för datasäkerhet Vad handlar en sådan kurs om??? Vad avses då media rapporterar om datasäkerhet? Oftast resultat av brister i säkerheten Allt möjligt av helt olika karaktär, som Försvunna viktiga

Läs mer

Behörighetssystem. Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det

Behörighetssystem. Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det Behörighetssystem Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det Systemet måste kunna registrera vilka resurser, d v s data och databärande

Läs mer

Tentamen NOA011 Systemarkitektprogrammet. 51 poäng

Tentamen NOA011 Systemarkitektprogrammet. 51 poäng Objektorienterad analys och design Provmoment: Ladokkod: Tentamen ges för: Tentamen NOA011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum:

Läs mer

Webbprogrammering, grundkurs 725G54

Webbprogrammering, grundkurs 725G54 Webbprogrammering, grundkurs 725G54 Lab 4, 5 ERD PHP + MySQL Återblick Idag Sessions PHP och MySQL för samband Lab 6 725G54: Genomgång projektuppgift Avstämning av kursmål Om sessions På IDA måste ni göra

Läs mer

TDDD80 Mobila och sociala applika1oner. Kursintroduk1on

TDDD80 Mobila och sociala applika1oner. Kursintroduk1on TDDD80 Mobila och sociala applika1oner Kursintroduk1on Personal Kursansvarig, föreläsare, seminarieledare Rita Kovordanyi Labbansvarig, föreläsare, seminarieledare Anders Fröberg

Läs mer

SKOLFS. På Skolverkets vägnar. GENERALDIREKTÖREN Enhetschef

SKOLFS. På Skolverkets vägnar. GENERALDIREKTÖREN Enhetschef Föreskrifter om ändring i Skolverkets föreskrifter (SKOLFS 2010:248) om ämnesplan för ämnet webbteknik i gymnasieskolan och inom kommunal vuxenutbildning på gymnasial nivå; beslutade den -- maj 2015. Med

Läs mer

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

Säkra trådlösa nät - praktiska råd och erfarenheter Säkra trådlösa nät - praktiska råd och erfarenheter Emilie Lundin Barse Informationssäkerhetsdagen 2007, Karlstad 1 Om mig och Combitech Informationssäkerhetskonsult på Combitech Stationerad på Karlstadskontoret

Läs mer

Krypteringteknologier. Sidorna 580-582 (647-668) i boken

Krypteringteknologier. Sidorna 580-582 (647-668) i boken Krypteringteknologier Sidorna 580-582 (647-668) i boken Introduktion Kryptering har traditionellt handlat om skydda konfidentialiteten genom att koda meddelandet så att endast mottagaren kan öppna det

Läs mer

SCRUM. Marcus Bendtsen Institutionen för datavetenskap

SCRUM. Marcus Bendtsen Institutionen för datavetenskap SCRUM Marcus Bendtsen Institutionen för datavetenskap 2 Metodik Systematiskt tillvägagångssätt för att garantera utfallet Metodiken behöver passa kontexten och tillgängliga resurser Verifiering av metodiken

Läs mer

TUTORIAL: KLASSER & OBJEKT

TUTORIAL: KLASSER & OBJEKT TUTORIAL: KLASSER & OBJEKT I denna tutorial lär vi oss att använda klasser och objekt samt hur vi bygger en enkel applikation kring dessa. I tutorialen kommer det finnas en mängd kod som du antingen kan

Läs mer

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

Instruktion. Datum. 2013-06-19 1 (12) Coverage Dokument id Rev Status? - 1.0 Godkänd. Tillhör objekt - 20130619 1 (12)? 1.0 Godkänd Secure Manager Guide Hantera användarprofiler i tjänsten Telia Secure Manager Dokumentet beskriver hur du som administratör beställer och hanterar användarprofiler i administrationsportalen

Läs mer

Enhetstester på.netplattformen

Enhetstester på.netplattformen Enhetstester på.netplattformen Praktikfall ur verkligheten Copyright Prolore 2007. All Rights Reserved. Viktor Laszlo Vem är jag 11 år inom test Prolore: specialiserat på Testautomatisering, Prestandatest

Läs mer

Checklista Identitetshanteringssystem för SWAMID 2.0. Utarbetad tillsammans med SUNET CERT och SUSEC

Checklista Identitetshanteringssystem för SWAMID 2.0. Utarbetad tillsammans med SUNET CERT och SUSEC Checklista Identitetshanteringssystem för SWAMID 2.0 Utarbetad tillsammans med SUNET CERT och SUSEC Bakgrund För att upprätta förtroende i en federation krävs inte bara att identitetsutdelningsprocessen

Läs mer

Sammanfattning och specifikationer för POT

Sammanfattning och specifikationer för POT 0.2 Sammanfattning och specifikationer för POT Kornhamnstorg 61 SE-111 27 Stockholm Sweden 00 00 Telefon: +46 (0)8 791 92 Telefax: +46 (0)8 791 95 www.certezza.net Innehållsförteckning 1 SAMMANFATTNING...

Läs mer

Objektorienterad Programkonstruktion

Objektorienterad Programkonstruktion Objektorienterad Programkonstruktion Föreläsning 9 Projektuppgift Collection, Iterator, Composite Christian Smith ccs@kth.se 1 Projektuppgift IM, skickar meddelanden mellan datorer En lite större labbuppgift,

Läs mer

IT-säkerhet Externt och internt intrångstest

IT-säkerhet Externt och internt intrångstest Revisionsrapport IT-säkerhet Externt och internt intrångstest Region Halland Kerem Kocaer December 2012 Innehållsförteckning Inledning... 3 Bakgrund... 3 Revisionsfråga... 3 Angreppssätt... 4 Syfte och

Läs mer

Internt penetrationstest. Tierps kommun. Revisionsrapport. Juni 2011. Erik Norman 1(6)

Internt penetrationstest. Tierps kommun. Revisionsrapport. Juni 2011. Erik Norman 1(6) Internt penetrationstest Tierps kommun Revisionsrapport Juni 2011 Erik Norman 1(6) Innehållsförteckning 1. Sammanfattning... 3 1.1. Bakgrund... 3 1.2. Revisionsfråga... 3 2. Angreppssätt... 4 2.1. Omfattning

Läs mer

Objektorienterad programmering

Objektorienterad programmering Objektorienterad programmering Aletta Nylén http://user.it.uu.se/~aletta Epost: aletta.nylen@it.uu.se Rum: 1216 Kursinfo Lärare: Aletta Nylén Jesper Wilhelmsson Litteratur: Object-Oriented Software Development

Läs mer

CliMate följer Tre-lager-arkitektur. Domänobjekt - domänlogiklagret. Viktiga domänklasser i CliMate. De tre lagren. Paketen i CliMate:

CliMate följer Tre-lager-arkitektur. Domänobjekt - domänlogiklagret. Viktiga domänklasser i CliMate. De tre lagren. Paketen i CliMate: följer Tre-lager-arkitektur De tre lagren presentation: användarhändelser+grafik+resultat domänlogik: håller systemets funktioner databasaccess: databas + sql-hantering Paketen i : climate.ui (inkl climate.ui.action

Läs mer

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Försättsblad till skriftlig tentamen vid Linköpings Universitet Försättsblad till skriftlig tentamen vid Linköpings Universitet Datum för tentamen 2010-10-08 Sal Tid 8-12 Kurskod Provkod Kursnamn/benämning TDDD36 TEN2 Projekttermin: Säkra Mobila System Institution

Läs mer

En verktygslåda för tjänsteorientering

En verktygslåda för tjänsteorientering En verktygslåda för tjänsteorientering Martin Rydman Enfo Zystems SOA definierat Från SOA for Dummies: Vi definierar en tjänstearkitektur som en mjukvaruarkitektur för att bygga applikationer som implementerar

Läs mer

Decentraliserad administration av gästkonton vid Karlstads universitet

Decentraliserad administration av gästkonton vid Karlstads universitet Datavetenskap Opponent(er): Markus Fors Christian Grahn Respondent(er): Christian Ekström Per Rydberg Decentraliserad administration av gästkonton vid Karlstads universitet Oppositionsrapport, C/D-nivå

Läs mer

Föreläsning 8. Designmönster

Föreläsning 8. Designmönster Föreläsning 8 Designmönster Designmönster När man designar program kan det vara viktigt att förstå hur man tidigare gått till väga när man konstruerat program. Kännedom om dessa tillvägagångssätt kan snabba

Läs mer

Datasäkerhet. Sidorna 576-590 i kursboken

Datasäkerhet. Sidorna 576-590 i kursboken Datasäkerhet Sidorna 576-590 i kursboken Vad är datasäkerhet? Säkerhet är skydd av egendom och människor Datasäkerhet är skydd av informationsegendom Datasäkerhet går inte att förverkliga väl utan identifiering

Läs mer

Coridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter

Coridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter Datavetenskap Opponenter: Daniel Jansson Mikael Jansson Respondenter: Mats Almgren Erik Hansen Coridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter Oppositionsrapport,

Läs mer

Formell Verifiering. Hur vet man att ett system fungerar korrekt? Lisa Kaati

Formell Verifiering. Hur vet man att ett system fungerar korrekt? Lisa Kaati Formell Verifiering Hur vet man att ett system fungerar korrekt? Lisa Kaati Innehåll Motivering Formell verifiering Modellkontroll (model checking) Verifiering av kod Forskning Dator system finns överallt

Läs mer

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14. Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel

Läs mer

Guide för Innehållsleverantörer

Guide för Innehållsleverantörer Library of Labs Content Provider s Guide Guide för Innehållsleverantörer Inom LiLa ramverket är innehållsleverantörer ansvariga för att skapa experiment som "LiLa Learning Objects", att ladda upp dessa

Läs mer

EBITS 2013. Totalförsvarets Forskningsinstitut David Lindahl Erik Westring

EBITS 2013. Totalförsvarets Forskningsinstitut David Lindahl Erik Westring EBITS 2013 Totalförsvarets Forskningsinstitut David Lindahl Erik Westring Demo: Hur går ett angrepp till Något förenklat på grund av tidsbrist..men bara något. Antagonistiska hot Antagonistiska hot är

Läs mer

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Informationsinfrastruktur 7.5 hp Mattias Nordlindh Inledning Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Dokumentet består av

Läs mer

KLASSER. Inkapsling Abstrakt datatyp Public och private. Klassmedlemmar Datamedlemmar Exempel Funktionsmedlemmar

KLASSER. Inkapsling Abstrakt datatyp Public och private. Klassmedlemmar Datamedlemmar Exempel Funktionsmedlemmar KLASSER Inkapsling Abstrakt datatyp Public och private Klassmedlemmar Datamedlemmar Funktionsmedlemmar Initiering av objekt Konstruktor Ta del av objektets tillstånd Förändra objektets tillstånd Avinitiera

Läs mer

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

Metoder för datasäkerhet. Vad handlar en sådan kurs om??? Metoder för datasäkerhet Vad handlar en sådan kurs om??? Vad avses då media rapporterar om datasäkerhet? Oftast resultat av brister i säkerheten Allt möjligt av helt olika karaktär, som Försvunna viktiga

Läs mer

PHOCA GALLERY (v 3.2.3)

PHOCA GALLERY (v 3.2.3) Joomla Guide 2.5.11 PHOCA GALLERY Sida 1 av 37 PHOCA GALLERY (v 3.2.3) I denna guide får du veta mer om: Inledningen till PHOCA GALLERY: Vad är ett Phoca Gallery Phoca Gallery Kontrollpanelen Stegen i

Läs mer

Kristoffer Eriksson Christer Oscarsson Andreas Dahlberg Martin Bengtsson

Kristoffer Eriksson Christer Oscarsson Andreas Dahlberg Martin Bengtsson Rapport grupp 4 Software Engineering Kristoffer Eriksson Christer Oscarsson Andreas Dahlberg Martin Bengtsson 2009-10-29 Processer Sprinter Scrum har varit till stor hjälp för oss för att nå våra mål,

Läs mer

Internationalisering/lokalisering på webben

Internationalisering/lokalisering på webben KTH NADA Språkteknologi 2D1418 Internationalisering/lokalisering på webben Benny Ferander, 711119-0455 d98-bka@nada.kth.se Stefan Westlund, 681206-0157 d98-swe@nada.kth.se Sammanfattning Idag läggs en

Läs mer

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP. Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F9:1 OOP Objekt-orienterad programmering Föreläsning 9 Arv och klasshierarkier Polymorfism OOP F9:2 Djur - String namn - int vikt + String getnamn() + int getvikt() + void ökavikt(int x) Ko - int mjölkvolym

Läs mer

Kravspecifikation för utökat elektroniskt informationsutbyte

Kravspecifikation för utökat elektroniskt informationsutbyte Kravspecifikation för utökat elektroniskt informationsutbyte Innhållsförteckning Innhållsförteckning... 2 Revisionshistorik... 3 1. Inledning... 4 1.1 1.2 1.3 Syfte med dokumentet... 4 Målgrupp för dokumentet...

Läs mer

Övningsuppgift. Bankkonton. Steg 2. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402

Övningsuppgift. Bankkonton. Steg 2. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Övningsuppgift Bankkonton Steg 2 Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering

Läs mer

Regler för användning av Karolinska Institutets samarbetsplattform

Regler för användning av Karolinska Institutets samarbetsplattform Regler för användning av Karolinska Institutets samarbetsplattform Universitetsförvaltningen, 2013-03-11 Dnr 1-143/2013 Beslut Dnr: 1-143/2013 2013-03-11 Universitetsdirektören Regler för användning av

Läs mer

DAT043 - Föreläsning 7

DAT043 - Föreläsning 7 DAT043 - Föreläsning 7 Model-View-Controller, mer om klasser och interface (arv, ) 2017-02-06 Designmönstret Observer avläser Observer Observable meddelar Observer avläser En eller flera objekt registrerar

Läs mer

Designmönster/Design patterns

Designmönster/Design patterns Johan Eliasson Design patterns Designmönster/Design patterns Vad är det? Beprövade lösningar till återkommande programmeringsproblem Plattformsoberoende Beskrivs ofta med hjälp av UML Baseras på en bok

Läs mer

Daniel.Ringquist@swe.sas.com Copyright 2003, SAS Institute Inc. All rights reserved.

Daniel.Ringquist@swe.sas.com Copyright 2003, SAS Institute Inc. All rights reserved. SAS Enterprise Guide 3.0 och framåt Daniel.Ringquist@swe.sas.com Copyright 2003, SAS Institute Inc. All rights reserved. SAS Enterprise Guide Ett Windowsbaserat rapporterings och analysverktyg. Enterprise

Läs mer

1 Översikt. 1.1 Koncept 1 (19) Tomas Rook Dokument typ. 2010-05-03 Rev. Manual

1 Översikt. 1.1 Koncept 1 (19) Tomas Rook Dokument typ. 2010-05-03 Rev. Manual 1 (19) larmus dokumentation P100503 1 Översikt 1.1 Koncept larmus ökar användarvänligheten i SCD systemet med så självklara saker som sorterbara kolumner, tydligare vyer och filteringsmöjligheter. Eftersom

Läs mer

Objektorienterad Programkonstruktion. Föreläsning dec 2015

Objektorienterad Programkonstruktion. Föreläsning dec 2015 Objektorienterad Programkonstruktion Föreläsning 12 14 dec 2015 Parallella Problem I program med flera parallella exekveringstrådar kan det uppstå problem, fel och andra fenomen som inte förekommer i enkeltrådade

Läs mer

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Abstract class En abstract class är en class som inte kan skapa några objekt. Syfte:

Läs mer

TDDE10 TDDE11, 725G90/1. Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU

TDDE10 TDDE11, 725G90/1. Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU TDDE10 TDDE11, 725G90/1 Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Introduktion OOP Instanser, instansvariabler, instansmetoder

Läs mer

SQL Server bygger på ett antal Windows tjänster (services), vilket är prioriterade program som körs i bakgrunden under OS kontroll.

SQL Server bygger på ett antal Windows tjänster (services), vilket är prioriterade program som körs i bakgrunden under OS kontroll. 1 SQL Server bygger på ett antal Windows tjänster (services), vilket är prioriterade program som körs i bakgrunden under OS kontroll. Bland tjänsterna är själva databasmotorn SQL Server den mest använda.

Läs mer

TDP013 Node.js, JSCoverage, Mocha. Marcus Bendtsen Institutionen för Datavetenskap

TDP013 Node.js, JSCoverage, Mocha. Marcus Bendtsen Institutionen för Datavetenskap TDP013 Node.js, JSCoverage, Mocha Marcus Bendtsen Institutionen för Datavetenskap Återblick - Progressive Enhancement HTML, CSS, JavaScript - Klienten Den statiska webben... Vi känner till HTML, CSS och

Läs mer

Nyheter i Norstedts Tidbok 2011.1

Nyheter i Norstedts Tidbok 2011.1 Nyheter i Norstedts Tidbok 2011.1 Mattias Claesson Produktchef Välkommen till en ny version av Norstedts Tidbok. I denna version har vi fokuserat på att få in punkter från den önskelista som finns från

Läs mer

IT-ramverket Plattformsfunktionsbeskrivning

IT-ramverket Plattformsfunktionsbeskrivning 1(13) 1 (13) Landstingsstyrelsens förvaltning IT-avdelning Sektionen för IT-arkitektur Förvaltningen för IT-ramverket LIT-0125 FRV-221 IT-ramverket Plattformsfunktionsbeskrivning LIT-0125 Personuppgifter

Läs mer

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning 2I1049 Föreläsning 5 Objektorienterad programmering i Java KTH-MI Peter Mozelius Objektorientering Världar uppbyggda av objekt Inte helt olikt vår egen värld Ett sätt att modularisera våra system Objekten

Läs mer

Checklista Mobila applikationer fo r bank och betalning

Checklista Mobila applikationer fo r bank och betalning Checklista Mobila applikationer fo r bank och betalning Checklistan nedan kan användas till att säkerställa att er mobila applikation för bank och betalning är tillgänglig för personer med funktionsnedsättning.

Läs mer

Introduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder

Introduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder Introduktion TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder OO är den mest använda programmeringsparadigmen idag, viktigt steg att lära sig och använda OO. Klasser är byggstenen i

Läs mer

Modul 8 Hantering av indata

Modul 8 Hantering av indata Modul 8 Hantering av indata Indata De flesta webbplatser idag tillåter användare att mata in data Utan denna möjlighet hade inte webben varit vad den är idag Tyvärr innebär detta stora säkerhetsrisker

Läs mer

Services + REST och OAuth

Services + REST och OAuth Services + REST och OAuth Syftet med Services Skapa ett Drupal API för att exponera webb- API:er. Officiella versionen - Create a unified Drupal API for web services to be exposed in a variety of different

Läs mer

Människa-Datorinteraktion

Människa-Datorinteraktion Människa-Datorinteraktion Grundutbildnings-, forskarutbildnings- och forskningsämne som behandlar Gränssnitt och kommunikation människa-dator Kommunikation och samarbete människa-människa via (medierat

Läs mer

Objektorientering/1.2. 3 Klasser

Objektorientering/1.2. 3 Klasser 3 Klasser 3.1 Att hantera många objekt 3.2 Klasser 3.3 Krav för att bilda en klass 3.4 Får två objekt vara helt identiska? 3.5 Måste vi använda klasser i objektorientering? 3.6 En klassbeskrivning 3.7

Läs mer

Rebus e-postinställningar

Rebus e-postinställningar Rebus e-postinställningar 2016-09-07: Åbergs DataSystem AB, Göran Gustafsson E-post konfiguration Alla listor, blanketter och rapporter som kan skrivas ut från Rebus kan även skickas via e-post i en mängd

Läs mer

Tommy Färnqvist, IDA, Linköpings universitet

Tommy Färnqvist, IDA, Linköpings universitet Föreläsning 9 Pekare, länkade noder, länkade listor TDDD86: DALP Utskriftsversion av föreläsning i Datastrukturer, algoritmer och programmeringsparadigm 25 september 2015 Tommy Färnqvist, IDA, Linköpings

Läs mer

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det

Läs mer

BuildingPortalSuite. Beskrivning. 2012-09-03 BuildingPortalSuite - Beskrivning

BuildingPortalSuite. Beskrivning. 2012-09-03 BuildingPortalSuite - Beskrivning Beskrivning 1 Komma igång Följ dessa steg för att enkelt komma igång med BuildingPortalSuite: 1. Installera BuildingPortalSuite 2. Använd Setup Tool BuildingPortalSuite för att ställa in uppkopplingen

Läs mer