Säkerhetsanalys av plugin-kod till publiceringsplattformen WordPress

Storlek: px
Starta visningen från sidan:

Download "Säkerhetsanalys av plugin-kod till publiceringsplattformen WordPress"

Transkript

1 C-Uppsats i Datavetenskap Säkerhetsanalys av plugin-kod till publiceringsplattformen WordPress i Författare: Peter Persson Handledare: Anne Norling Termin: VT13 Kurskod: 2DV00E

2 Abstrakt Applikationer och system flyttar i allt större utsträckning från lokala installationer på den enskilda datorn, ut i molnet där data skickas och hanteras via Internet. Traditionella Desktop applikationer blir webbapplikationer för att centralisera drift och öka tillgänglighet. Detta skifte medför ett ökande antal träffytor för personer som av en eller annan orsak vill åsamka skada eller tillskansa sig, alternativt manipulera eller förstöra, känslig eller hemlig information. Den här rapporten har för avsikt att utvärdera hur väl man kan skydda sig mot tre av de just nu vanligaste attackformerna mot webbapplikationer generellt, men WordPress specifikt. Nämligen attackformerna SQLinjection, Cross site scripting och Cross site request forgery. Resultaten av undersökningen visar att det genom en väl implementerad hantering av in- och utgående data går att skapa ett fullt acceptabelt grundskydd för att desarmera attacker av dessa typer. Nyckelord: WordPress, plugin, säkerhet, CSRS, XSRS, XSS, SQLI, hacker, attacker, intrång, skydd ii

3 Ordlista Cross Site Scripting En attackform som innebär att en användare kan bli utsatt för skadlig kod som oavsiktligt distribueras via en annars pålitlig applikation. Beskrivs utförligare under avsnitt 2.6. Cross site request forgery En attackform som innebär att en användare luras att utföra skadliga aktioner mot en applikation. Beskrivs utförligare under avsnitt 2.7. Parametrisera Ett uttryck som används när sql-kommandon ska byggas programmatiskt. Det är en teknik som innebär att man inte litar på data från extern källa genom att använda den direkt mot en databas. Kommandot sätts istället upp i förväg och de parametrar man vill ändra i innehållet ersätts med inskickad data. Detta försvårar attacker av sorten sql-injection. Penetrationstester Tester utförda mot en applikation i syfte att hitta svagheter som kan utnyttjas av användare med uppsåt att på något sätt hacka applikationen. Persistent Inom ramen för den här rapporten används order persistent för att beskriva data som på något sätt lagras av en applikation. Sådan data kan till exempel vara innehåll i en databas eller i en fil. Sanitera data Ett sätt att rensa bort oönskat innehåll i data, som tex skickas in av användare av applikationen. Det kan tex röra sig om HTML eller JavaScript, vilket i sig inte är skadligt att lagra, men som kan vara skadligt att skicka ut till andra användare. SQL Structured query language. Detta är ett standardiserat språk som används för att hantera data i en databas av typen relationsdatabas. Språket kan användas till exempel för att hämta, sammanfoga eller för att manipulera data. SQL Injection En attackform som innebär att skadliga SQLkommandon skickas från användare och utförs mot en applikations databas. Beskrivs utförligare under avsnitt 2.5. Typsäkra Säkerställa att värdet i en variabel är av förväntad datatyp. Om vi exempelvis förväntar oss en sträng så ska det säkerställas att det är en sträng. Förväntas ett ID ska det typsäkras till exempelvis ett positivt heltal av typen integer. Validera data Ett sätt att säkerställa att data som skickas in till applikationen är i ett format man förväntar sig. Exempelvis data från ett input-fält som förväntar sig en epostadress av användaren kan enkelt valideras, så att den inskickade datan uppfyller kraven för en valid epostadress. iii

4 Innehåll 1. Introduktion Uppdragsgivare: Förutsättningar Inledning / bakgrund WordPress och Open Source WordPress Plugin Problemformulering Hypotes Syfte och frågeställning Avgränsningar Testmiljö Målgrupp 5 2. Bakgrund Tidigare forskning Hackers OWASP OWASP topp 10 lista SQLI, sql-injection attacker Cross site scripting, XSS attacker Persistent och icke persistent XSS Cross site request forgery, XSRS-attacker Penetrationstester och säkerhetsanalyser Åtgärder Metod Vetenskaplig ansats Datainsamling Urval Penetrationshjälpmedel Genomförande Testmiljö Driftsättning av Penetrationshjälpmedel Resultat och analys Validitet och reliabilitet Reproducerbarhet Resultat/Empiri Genomförda penetrationstester och deras resultat Generella resultat SQLI XSS XSRF Analys Iakttagelser Hypotesen verifieras 21 iv

5 6. Diskussion Problemlösning/resultat Riskmedvetenhet Öppen och stängd källkod Metodreflektioner Avslutning Slutsats Förslag till fortsatt forskning 24 Referenser 26 Bilagor 28 Bilaga 1, testresultat mot första versionen av plugin-sviten: 28 Test 1: 28 Test 2: 28 Test 3: 28 Bilaga 2, testresultat mot andra versionen av plugin-sviten: 29 Test 1: 29 Test 2: 29 Test 3: 29 Bilagor Bilaga 1, testresultat mot första versionen av plugin-sviten Bilaga 2, testresultat mot andra versionen av plugin-sviten v

6 1. Introduktion Behovet av att säkerställa ett bra intrångsskydd i en webbapplikation stiger i rask takt, allt eftersom antalet angrepp och intrångsförsök de behöver kunna motstå stadigt ökar. Användandet av publiceringsplattformen WordPress ökar även det stadigt och detta bidrar till ett ökat incitament för hackare att försöka ta sig in. Därför avser den här undersökningen pröva hypotesen om att man kan uppnå en bra säkerhetsnivå, genom att uppfylla gängse riktlinjer och rekommendationer för plugin-säkerhet. Det första kapitlet avser omfatta introduktion av föreliggande undersökning, undersökningens förutsättningar och bakgrund. Kapitlet omfattar också problemformulering, undersökningens syfte, samt avgränsningar, testmiljö och målgrupp. 1.1 Uppdragsgivare: Säkerhetsanalysen genomförs på uppdrag av Infomaker Scandinavia AB. 1.2 Förutsättningar Infomaker Scandinavia AB utvecklar och säljer en svit av WordPressplugin,som används av tidningar för att möjliggöra automatiserad planering och publicering av nyheter direkt från tidningarnas befintliga arkiv till digitala medier. Allt under devisen Allt material i alla kanaler, alltid. Infomaker är nu i behov av en säkerhetsanalys av programkoden i dessa plugin och vill få en uppfattning om vilken nivå av intrångsskydd man har. Jag har därför fått i uppdrag att inom ramen för mitt examensarbete genomföra en analys och översyn av koden för att säkerställa en god säkerhet mot vissa specifika attackformer. Dessa attackformer, den skada de kan leda till samt hur man skyddar sig mot dem kommer att beskrivas utförligt i rapporten. 1.3 Inledning / bakgrund Nedan följer en kort genomgång av publiceringsplattformen WordPress och dess öppna källkod WordPress och Open Source WordPress är en väletablerad publiceringsplattform som har en stor spridning och används som bas i allt från privata bloggar till större e- handelsapplikationer och företagssidor. WordPress utvecklas med en öppen källkod, open source, vilket innebär att källkoden är fri, okompilerad och fullt tillgänglig för alla som vill undersöka eller påverka den. Av alla de fördelar man ofta pratar om när det gäller WordPress, så hör man ofta att det är just den öppna källkoden, tillsammans med den starka användar-communityn som driver utvecklingen framåt och säkerställer att produkten hela tiden ligger i framkant. Att det är WordPress-communityn 1

7 som själva använder och förfogar över programkoden anses medföra att det finns ett starkt incitament att hitta och täppa till säkerhetsluckor. Detta ställs mot de olika proprietära system som byggs och underhålls av en utvald skara utvecklare och beslutsfattare. Detta kan vara personer som kanske har begränsad, eller helt saknar, egen slutanvändarerfarenhet, vilket anses leda till en längre reaktionstid när säkerhetsluckor eller brister uppmärksammas eller utnyttjas av användare med tvivelaktiga syften. Att WordPress dessutom används som plattform för ca 20-25% [1] av alla nya hemsidor och webbaplikationer som dyker upp på Internet gör att det idag är den största plattformen för att skapa innehåll på Internet Man räknar med att ca 60 miljoner sajter är byggda med hjälp av WordPress idag [2]. Baksidan på myntet är så klart att denna öppenhet drar ögon till sig från personer och grupper, som av olika anledningar vill ta sig in eller hacka WordPress eftersom genomslagskraften blir så omfattande. Det utspridda och ständigt växande användandet av WordPress medför att knäcker du en, knäcker du alla. Öppen källkod blir nu i stället en dokumentation i vilken man kan leta brister och fel. Den omfattande communityn, med sina öppna, välmenande forum, blir ett smörgåsbord för hackaren att läsa sig till vilka sajter som har vilken typ av problem etc. Infomakers plugin-svit är nu på väg att användas skarpt av ett flertal kunder, som alla har ett stort antal användare. Man vill då införa en större medvetenhet gällande säkerhet i utvecklingsteamet och samtidigt få en analys genomförd på den befintliga koden för att få en uppfattning om hur man ligger till med säkerheten. Jag har därför blivit ombedd att genomföra denna analys och en utvärdering av nuvarande säkerhetsnivå. 1.4 WordPress Plugin WordPress-plattformen är implementerad på ett sätt som möjliggör för externa utvecklare att bidra med egen kod, för att påverka eller utöka funktionaliteten i applikationen,utan att förrändra eller inverka i den ursprungliga källkoden. Direkta ingrepp i WordPress-kärnan skulle omöjliggöra framtida uppdateringar av plattformen eftersom alla förändringar då skulle skrivas över och försvinna. För att undvika detta görs dessa utökningar med hjälp av så kallade plugin. Ett plugin kan vara allt från några rader kod, som skriver ut tweets eller instagram-flöden, till mer avancerade utökningar på flera tusen rader kod. WordPress exponerar ett flertal API:er för att tillgängliggöra all den inbyggda funktionalitet som finns i källkoden. Ett plugin bör designas och implementeras enligt vissa riktlinjer, som finns dokumenterade av 2

8 WordPress, för att understödja optimal prestanda, säkerhet och tillförlitlighet WordPress beskriver bland annat på sina egna webbsidor: Hardening WordPress [3] samt WordPress Codex [4] hur man bör gå till väga när man designar och implementerar sin plugin-kod, för att ge den en bra motståndskraft mot angrepp av olika slag. Dessa webb-sidor rekommenderar även en mängd andra typer av åtgärder kring en WordPress-installation, för att öka intrångsskyddet mot olika typer av attacker. Till exempel vad man bör tänka på i sin servermiljö, hur man bör fördela läs- och skrivrättigheter till olika användare, eller hur man skyddar filer och mappar. Det mesta av detta ligger dock utanför omfånget för den här rapporten, som är inriktad på säkerhet som går att påverka direkt från programkoden, och för att bli än mer specifik, hur man skyddar sig mot cross site scripting (XSS), cross site request forgery (XSRF) och sql-injection (SQLI). WordPress har utförlig dokumentation för hur man hanterar data i alla led i applikationen, genom att typsäkra, validera och sanitera, samt säkerställa ursprung och uppsåt i handlingar som utförs mot de plugin man utvecklar. Denna information, tillsammans med annan litteratur om professionell plugin-utveckling för WordPress [5] samt WordPress säkerhet [6], ligger till grund för hur Infomakers plugin är designade och implementerade. 1.5 Problemformulering Infomaker har inledningsvis haft en känsla av att plugin-sviten har en tillräcklig säkerhetsimplementation, som säkerställer att känslig data är skyddad samt att all data som genereras av användare eller annan part, valideras och hanteras på ett korrekt och säkert sätt. Den senaste tiden har man sett en ökad våg av attacker riktade mot WordPress-miljöer, bland annat Brute force-attacker [7]. Detta förhållande samt det faktum att The Open Web Application Security Project OWASP [8] nyligen publicerade sin lista för det vanligaste attackerna på nätet under 2012, har medfört att Infomaker nu ställer sig frågan om det verkligen är så. Har Infomakers plugin-svit, genom sin medvetna säkerhets implementation, en faktisk säkerhet eller är det bara en falsk trygghet? Hypotes Hypotesen för den här undersökningen är att man, genom att följa gängse riktlinjerna för plugin-utveckling, kan implementera en applikationssäkerhet som skapar ett bra skydd mot ovan nämnda attackformer, utan att det adderar oförsvarbar komplexitet till applikationskoden eller ökar arbetsbördan markant [9]. 3

9 1.6 Syfte och frågeställning Syftet med undersökningen är att utröna hur väl rustat ett WordPress-plugin blir, för att stå emot attacker av typen XSS, XSRF och SQLI, genom att implementera de säkerhetsriktlinjer som rekommenderas av WordPress själva, samt av litteratur, relaterad till plugin-utveckling. Rapporten har för avsikt att besvara frågan om Infomakers plugin-svit har en faktiskt säkerhet mot den här typen av attacker eller om det bara är en falsk trygghet. 1.7 Avgränsningar De önskemål som finns gällande säkerhetskontroll är att genomlysa all programkod för att säkerställa korrekt hantering av in- och utgående data. Detta innebär därmed typsäkring, validering och sanitering av data samt att säkerställa att databasanrop är implementerade på ett korrekt sätt, för att sedan utvärdera hur väl dessa plugin står emot attacker av följande typer. Cross site scripting (XSS), är en form av attack där man utnyttjar slutanvändarens förtroende för sajten. Användargenererat innehåll renderas på sidan utan att valideras eller saniteras, vilket kan utnyttjas genom att skicka in kod, som kommer att exekveras och visas för andra användare som litar på innehållet i sajten. Cross site request forgery (XSRS alt. CSRF) är motsatsen till XSS. Sajtens förtroende för en inloggad användare utnyttjas för att orsaka skada eller för att utföra oönskade handlingar. SQL injection (SQLI) innebär att skadlig kod kan skickas in i databasen alternativt känslig och eller hemlig information hämtas ut. 1.8 Testmiljö Experimentet kommer att genomföras med hjälp av så kallad Black box testing [10], vilket innebär att testverktygen i sig inte har någon kännedom om hur vare sig applikationen eller plugin-koden är implementerad. Experimentet kommer att genomföras mot en kontrollerad miljö bestående av en virtuell dator med en traditionell LAMP-installation (Linux, Apache, MySQL och PHP) samt en installation av senaste versionen av WordPress och Infomakers plugin-svit Everyware. Två, så gott som identiska, uppsättningar ska skapas och utsättas för tester. Skillnaden mellan uppsättningarna blir att den ena kommer att ha plugin-koden i sitt ursprungliga utförande, medan den andra är en version där säkerheten har analyserats och genomlysts. Med hjälp av så kallade penetrationstestningsverktyg kommer dessa uppsättningar att utsättas för attacker av ovan nämnda slag. 4

10 1.9 Målgrupp Huvudintressent för undersökningen är Infomakers utvecklingsavdelning, som vill få en uppfattning om säkerhetsnivån i plugin-sviten, men även Infomakers konsult- och säljavdelning kommer att ha stor nytta av det faktum att säkerhetsanalysen genomförs. Infomakers kunder, och i förlängningen alla som vill lära sig mer om säkerhet i WordPress, kommer förhoppningsvis också att ha nytta av resultaten. 5

11 2. Bakgrund Följande kapitel är tänkt att ge en inledande beskrivning av tidigare forskning inom området, vad hackers är, vanliga attackformer och hur man skyddar sig. Det kommer även beröra vad penetrationstester och säkerhetsanalyser innebär i webbapplikationssammanhang. 2.1 Tidigare forskning Att programvara skulle vara säkrare, enbart på grund av att dess källkod är öppen eller stängd, menar Nick Heath, chief reporter for TechRepublic UK, i sin artikel Six open source security myths debunked - and eight real challenges to consider är en rent orimlig frågeställning. Han hävdar att det snarare är så att bra kod är bra kod, dålig kod är dålig kod, oavsett om den är öppen eller stängd. Han säger vidare att det egentligen är en för bred fråga att ställa om en programvara är säker eller inte. Man måste specificera sig mer än så i sin formulering för att kunna ge ett rättvist svar [11]. Man måste alltså precisera frågan mer, likt Hur bra rustad är min applikation för att stå emot attacker av typen XXX. Vilket jag tillsammans med Infomaker har gjort inför den här undersökningen där vi valt attackformerna XSS, XSRF och SQLI. Guido Schryen, Information Systems Research professor vid University of Regensburg, menar i artikeln Is open source security a myth? även han att det inte finns något direkt samband mellan öppen eller stängd källkod när det kommer till hur väl säkerhet implementeras [12]. Han hävdar att det snarare är andra faktorer som avgör huruvida säkerhetsluckor och buggar stängs och repareras. Det kan till exempel röra sig om ekonomiska kostnader för att implementera och att distribuera fixen till alla berörda parter. Men det kan även handla om att i samma ögonblick som man offentliggör att det finns en fix för ett specifikt problem, så offentliggör man även att problemet finns. Detta kan vara en fara i sig eftersom det kan ta tid att distribuera fixen till alla som är berörda och problemet kan hinna utnyttjas. Vidare fortsätter Schryen med att ett annat tänkbart scenario är att en användare med ont uppsåt bidrar med kod till det öppna projektet. Detta kan vara kod som vid första anblick löser eller förbättrar redan befintlig funktionalitet men samtidigt öppnar eller utnyttjar luckor på andra ställen i applikationen. Detta för att sedan själv ha möjligheten att utnyttja de luckor som på detta vis introduceras i koden. Hannes Holm, Mathias Ekstedt, och Teodor Sommerstadt presenterade 2013 på 46th Hawaii International Conference on System Sciences sin rapport Effort estimates on web application vulnerability discovery. I den kan man 6

12 läsa uppgifter som gör gällande att de mest problematiska och kostsamma formerna av attacker mot webbapplikationer är attacker av typen Code injection [13]. Detta är en attackform som innebär att kod av något slag skickas in i applikationen och inte saniteras bort eller hanteras på ett korrekt sätt. Till den här typen av attacker räknas både SQLI och XSS. Men man fastställer även att attacker av typen XSRF tillhör de mest vanliga och kostsamma. Thomas Östendahl har genomfört en säkerhetsundersökning mot publiceringsplattformen joomla, en undersökning som han presenterar och diskuterar i rapporten Security issues with content management systems in the cloud [14]. Joomla är en publiceringsplattform som, liksom många andra, bygger på och distribueras som öppen källkod. Även Per Ignatius har genomfört en säkerhetsanalys, den här gången mot publiceringsplattformen EpiServer. Detta är en plattform som är av typen stängd källkod. Hans rapport Security testing of web applications and the CMS platform EPIServer [15] undersöker hur väl EpiServer står emot attacker av olika slag, till exempel XSS, XSRF och SQLI. Österdahl och Ignatius resultat visade på en bra grundsäkerhet i respektive applikation, men båda hittade samtidigt brister av mindre allvarlig karaktär och presenterade ett antal förbättringsmöjligheter. Ingen av dem identifierade varken styrkor eller svagheter, som kunde härledas direkt till källkodens öppna eller stängda natur, utan bristerna var snarare på grund av programkodsimplementationen som hanterade de specifika delar där svagheterna uppmärksammades. Karl Johan Lundberg har genomfört en mer generell undersökning om hur allmäntillståndet för små och medelstora webbapplikationer ser ut idag, en undersökning som han presenterar i sin rapport Investigating the current state of security for small sized web applications [9]. Som en del av sin slutsats skriver han att det är svårt att skydda sig helt mot XSS, XSRF och SQLI, men att man med hjälp av bra validering och sanitering av in- och utdata i applikationen kan lyckas skapa ett bra skydd mot dessa attackformer, utan att det adderar oförsvarbar komplexitet till applikationen eller öka arbetsbördan markant. Han anser att införandet av ett säkerhetstänk och riskmedvetenhet inte ska ses som ett extra moment i utvecklingsprocessen utan snarare bör vara en del av hela processen. 2.2 Hackers En hackare är en person som av någon anledning vill utföra handlingar som skadar applikationen eller andra användare av den. Ibland för egen vinning, ibland för att förstöra - orsakerna kan vara många. Det finns flera kategorier av hackare och ett stort antal attacker de kan genomföra. Den här rapporten kommer att fokusera på, och förklara djupare, tre av dessa attackformer och dess syfte: SQL-injection, Cross site scripting och Cross site request forgery. 7

13 En djupare förklaring av dessa attackformer finns att läsa under avsnitt 2.5 till OWASP OWASP är en ideell, global, organisation som är sammansatt för att driva säkerhetsarbete framåt inom såväl små som stora organisationer. OWASP arbetar inom en rad olika områden men har som generell avsikt att öka den totala medvetenheten kring applikationers sårbarheter och vilka risker som finns kring dessa. OWASP tillhandahåller mängder med information, guider, utbildningar och workshops inom applikationssäkerhet. Dessutom tillhandahåller OSWASP specialanpassade vulnerabilty testing tools (penetrationstestningsverktyg) vars syfte är att hjälpa till att hitta svagheter och luckor i framförallt webbapplikationer. 2.4 OWASP topp 10 lista Vartannat år släpper OWASP en lista [8] på de 10 mest förekommande attackerna just nu och under det föregående året. Ett utkast av det som kommer att publiceras som 2013 års lista finns publicerad på OWASPs hemsida och den ser ut som följer: A1 Injection A2 Broken Authentication and Session Management (was formerly A3) A3 Cross-Site Scripting (XSS) (was formerly A2) A4 Insecure Direct Object References A5 Security Misconfiguration (was formerly A6) A6 Sensitive Data Exposure (merged from former A7 Insecure Cryptographic Storage and former A9 Insufficient Transport Layer Protection) A7 Missing Function Level Access Control (renamed/broadened from former A8 Failure to Restrict URL Access) A8 Cross-Site Request Forgery (CSRF) (was formerly A5) A9 Using Known Vulnerable Components (new but was part of former A6 Security Misconfiguration) A10 Unvalidated Redirects and Forwards På listan ser man att attacktyper som går att påverka direkt från programkoden, som tex SQLI, XSS och CSRF, fortfarande är högst aktuella. 2.5 SQLI, sql-injection attacker Sqli-attacker genomförs genom att leta efter svagheter i anrop som utförs direkt mot en databas. Att data, som skickas till applikationen från användaren, når databasen direkt utan att genomgå någon form av validering eller sanitering är en direkt svaghet. När brister av detta slag uppmärksammas 8

14 kan det utnyttjas genom att man skickar in (injicerar) sql-kommandon direkt mot applikationen. Det innebär att användare kan skicka in kommandon som, när de exekveras av databasen, kan medföra att känslig information läcker ut eller förstörs. Ett sådant exempel kan vara genom att att skicka in kommandot som beskrivs nedan. En dåligt implementerad säkerhet, där kommandot tillåts nå hela vägen fram till databasen, kan medföra att hela användartabellen exponeras. Detta eftersom det logiska OR -villkoret 1=1 alltid resulterar i sanningsvärdet true, vilket kan leda till att alla användare kommer att returneras. Vad kommandot egentligen säger är: Hämta alla användare där namnet är lika med mellanslag ELLER om 1 är samma sak som 1, där det som står efter eller alltid kommer att vara sant. SELECT * FROM users WHERE name = '' OR '1'='1'; Ett annat exempel kan vara en dåligt implementerad parametrisering i en sqlfråga, som ställs mot databasen, likt följande: $statement = "SELECT * FROM users WHERE id = ". $a_variable. ";" Om denna sårbarhet inte uppmärksammas och korrigeras kan den utnyttjas genom att helt enkelt skicka in sql-kommandon som kommer att utföras direkt mot databasen. Ponera att en illasinnad användare skickar in följande kommando: 1;DROP TABLE users; När detta utvärderas av programkoden och exekveras mot databasen kommer det att resultera i två kommandon, som säger följande till databasen: hämta alla användare som har id 1. Och sedan kan du kasta hela tabellen vid namn users, vilket skulle leda till att alla användare raderas från databasen. SELECT * FROM users WHERE id=1;drop TABLE users; 2.6 Cross site scripting, XSS attacker XSS, eller Cross site scripting, (XSS för att det inte ska förväxlas med CSS) är en gammal välkänd form av attack som fortfarande, enligt Karl Johan 9

15 Lundberg [6] och OWASP top ten [8], är en av de vanligaste attackformerna mot en webbapplikation. XSS-attacker utförs genom att hackaren utnyttjar det förtroende användaren har för den besökta applikationen. Attacker kan ske på många olika sätt. Ett vanligt förfarande är att applikationer som visar användargenererat innehåll inte hanterar datan på ett korrekt sätt. Det kan till exempel vara innehåll som skickats in av användaren genom gästboksinlägg, kommentarer eller registreringsformulär. Om sådan data inte valideras och saniteras av applikationen kan skadlig kod skickas in för att sedan exponeras mot andra användare. En sådan brist i datahanteringen kan utnyttjas genom att till exempel publicera länkar som pekar på skadliga sidor eller bilder där källan (srctaggen) inte pekar på en bild, utan på en skadlig fil som aktiveras av att webbläsaren försöker läsa in bild-datan. Det kan också vara en länk som, när den klickas på eller aktiveras på annat sätt, stjäl användarens cookie och session-information vilket kan utnyttjas av hackaren, som då kan logga in på tjänsten under annan identitet för att göra annan skada eller komma åt känslig information. Andra faror som förknippas med XSS-attacker är kapade konton och vidare spridning av annan, än mer skadlig, kod för att nämna några Persistent och icke persistent XSS Det finns en mängd olika typer av XSS-attacker men man brukar gruppera dem i två större huvudgrupper: persistent och icke-persistent. Som namnet antyder så handlar det om att vissa typer av attacker, som applikationer kan bli utsatta för, lagras i databasen och på så sätt fortsätter att exponeras för användare, varje gång den specifika resursen efterfrågas. Detta kallas för persistent XSS. Icke persistent XSS utförs genom att script-kod skickas in via exempelvis webbadress-parametrar och därefter återspeglas direkt på sajten utan att saniteras. Detta är den vanligaste formen av XSS-attack. 2.7 Cross site request forgery, XSRS-attacker Cross site request forgery, som förkortas XSRF och ibland skrivs som CSRF (uttalas Sea Surf), skulle kunna beskrivas som motsatsen till XSS. D.v.s. i detta sammanhang är det förtroendet som applikationen har för användaren, som utnyttjas för att utföra oönskade handlingar. Detta förtroende, som kanske bättre förklaras med att applikationen är dum i det avseendet att den inte kan avgöra uppsåt, gör att det kan vara svårt att skydda sig mot den här typen av attacker. En enkel och generaliserad förklaring kan vara: 10

16 1. En inloggad användare luras att utföra en handling som hen tror är aktion A. 2. Sajten tar emot en förfrågan ( request ) om att utföra vad som visar sig vara aktion B, och eftersom sajten inte kan skilja på aktion och uppsåt så utförs aktion B. Ett enkelt exempel på ovanstående kan vara att någon, genom att studera en webbplats URL-struktur, kan förfalska en URL och exponera en intet ont anande användare av tjänsten för den. Exempel: Sven Svensson får ett mail från vad han tror är hans bank (men som i själva verket är skickat från E Hackersson), där banken informerar om någonting som hänt eller som kommer att hända och rekommenderar Sven att klicka på en länk likt nedan: <a href= =10000>Klicka här för Årets Deal!!!</a> Utan att detaljstudera exakt vad länken pekar på så klickar Sven (som redan är inloggad på sin bank) på länken, och vips har pengar förts över till ett annat konto. Ett annat vanligt fall av XSRF är att man på ett liknande sätt lurar en användare att exempelvis byta sitt lösenord. När det nya lösenorder är satt kan sedan attackeraren logga in under den kapade identiteten och få tillgång till känslig data eller beställa varor, som så klart kommer att faktureras till den som är utsatt för attacken. Ett enkelt sätt att sprida illasinnade länkar är via sociala medier. Har man lyckats kapa någons konto, på det sätt som beskrivs ovan, kan man utnyttja den stulna identitetens kontaktnät för att sprida andra skadliga länkar. Om man dessutom maskerar länkarna, med hjälp av till exempel en länkförkortningstjänst (tjänster som kortar ner långa och krångliga adresser till färre tecken) så är det i princip omöjligt för en ovan slutanvändare att på förhand se vad som kommer att hända. Öppen källkod medför så klart att det blir enkelt att studera och kartlägga vilka länkar man behöver aktivera för att utföra olika gärningar. 2.8 Penetrationstester och säkerhetsanalyser Säkerhetsanalyser syftar i den här rapporten på tester genomförda med så kallade penetrationstestningsverktyg, d.v.s. system som är byggda för att på ett så realistiskt sätt som möjligt angripa och utnyttja svagheter i de 11

17 applikationer som avses testas. Verktygen är ofta så bra att man starkt avråder från att använda dem mot en skarp miljö, eftersom utvärderingen kan leda till att applikationen går sönder eller blir utnyttjad på ett sådant sätt att den efter testet inte längre har pålitligt innehåll. Många av dessa verktyg fungerar lika bra för att faktiskt hacka en sajt som för att leta efter svagheter med undersökande avsikter. 2.9 Åtgärder Det finns en mängd åtgärder man kan implementera för att skydda sig mot tidigare nämnda typer av attacker. Dels generella good practices när det gäller programmering i stort, men även PHP-specifika och så klart WordPress-implementerade rekommendationer och funktioner. Såväl PHP som WordPress tillhandahåller en mängd funktioner för att validera och sanitera inskickad data innan den sparas till eller läses från databas. Här finns även funktioner som hjälper till att säkra data innan den återigen renderas ut mot slutanvändaren av produkten. Likaså finns funktionalitet för att hantera och parametrisera SQL-kommandon tillgänglig, vilket möjliggör för hög säkerhetsimplementation och bra skydd mot SQLi och XSS. För att skydda sig mot XSRS tillhandahåller WordPress något som inom programmeringsvärlden kallas för "nonces", en förkortning för random number used once. Ett nonce är i grund och botten en slumpmässig sträng av tecken. Denna sträng blir framställd genom att en kombination, bestående av den handling som ska utföras samt id för användaren eller mottagaren, krypteras till en sträng. Denna sträng bifogas till användaren och måste därefter åter valideras på servern, när handlingen ska utföras. Rätt implementerat är det nästan omöjligt att förfalska ett nonce, vilket så klart ökar säkerheten markant. WordPress rekommenderar även att man använder referer funktioner. Dessa används, precis som nonce, både när man genererar exempelvis ett formulär och när man tar emot det inskickade resultatet. Vad det faktiskt innebär är att ett extra fält skapas i formuläret. Detta extra fält innehåller information om vilken del av applikationen som genererat formuläret. På servern kan man sedan säkerställa och verifiera att avsändaren är den rätta, när datan tas emot. WordPress tillhandahåller även utförliga funktioner för att begränsa auktorisering av användare, vilket kan hjälpa till att begränsa den skada som kan åsamkas om ett angrepp trots allt är framgångsrikt. Det är därför viktigt att medvetet tillåta eller inte tillåta användare att utföra specifika funktioner. Då kan man förhindra att ett kapat konto eller liknande kan utföra skada överallt i applikationen och på så sätt se till att attackytan blir begränsad. 12

18 3. Metod Detta kapitel kommer att steg för steg redogöra för den vetenskapliga ansatsen, datainsamlingen, urvalet och tillvägagångssättet för experimentet samt en redogörelse för den kontrollerade miljö i vilken experimentet genomfördes. 3.1 Vetenskaplig ansats Rapportens kvantitativa undersökning har genomförts som ett empiriskt experiment, där data har samlats in genom penetrationstester, genomförda mot två separata uppsättningar av WordPress, utökade med Infomakers plugin-svit. Applikationer har varit driftsatta i varsin kontrollerad och separerad miljö. En av de två uppsättningarna innehållande plugin-koden testades i sitt ursprungliga utförande, innan någon säkerhetsgenomgång utförts. I den andra hade koden analyserats och genomlysts, samt säkerhetsåtgärder och rekommendationer som förespråkas hade implementerats. Undersökningen är på detta vis hypotetiskt-deduktiv, eftersom befintliga teorier och föreskrifter om hur man skyddar sig mot intrång hade implementerats, för att sedan empiriskt utvärdera och pröva hur stor skillnad det blir i intrångsskyddet, ställt mot en version av plugin-sviten som inte till fullo uppfyllde dessa kriterier. 3.2 Datainsamling Testdata har samlats in med hjälp av öppna applikationer och ramverk för penetrationstestning., vilka är utformade enbart för att utvärdera intrångsskyddet i webbapplikationer. Dessa applikationer utsätter experimentapplikationen för angrepp av de slag som avses att utvärderas. Samtliga av dessa applikationer genererar statistik och rapporter rörande funna svagheter och dess allvarlighetsgrad. Samtliga resultat av dessa tester finns att läsa i bilaga 1 och 2. Urvalskriterier för val av Penetrationstestningsverktyg behandlas under avsnitt Urval För att genomföra experimenten krävdes ett antal hjälpmedel i form av säkerhetsanlysverktyg. Hur dessa valdes ut och vilka kriterier som låg till grund gås igenom under följande punkt Penetrationshjälpmedel Det finns gott om verktyg för testning och utvärdering av det här slaget. Så många att det kan kännas svårt att välja vilken man ska använda. En enkel lista med urvalskriterier sattes därför ihop för att underlätta urvalet. 13

19 Urvalskriterierna var i första hand tänkta att underlätta mitt användande av testapplikationerna. Applikationen måste vara gratis att använda. Applikationen måste ha ett användargränsnitt och inte kräva hantering via terminalen. Applikationen måste ha möjlighet att sammanställa och presentera resultatet i någon form av rapport. Applikationen bör ha, eller kunna utökas med, stöd för att utföra attacker av typen XSS, XSRF, SQLI Applikationen ska ha bra och lättillgänglig dokumentation. Applikationen får inte ha en allt för brant inlärningskurva, det ska vara möjligt att genomföra tester relativt omgående efter installation. Det visade sig vara svårt att hitta plattformar som testade för samtliga de svagheter som den här rapporten avser undersöka. Följande verktyg valdes därför ut för att få en bra bredd och helhetstestning, baserat på att de tillhandahåller bra stöd för tester mot XSS, XSRF och SQLI: Netsparker Community edition [16] (XSS, SQLI) OWASP Zed attack proxy [17] (XSS, SQLI) Arachni web application security scanner framework [18] (XSS, SQLI, XSRF) CSRF-Testing-Tools [19] (XSRF) Valda verktyg utgör tillsammans en bra träffyta mot de attackformer jag avser utvärdera samt uppfyller alla eller många av de krav som definierades på listan med urvalskriterier presenterad ovan. De har även fått mycket höga resultat på undersökningar som utvärderar träffsäkerhet och måluppfyllnad i The Web Application Vulnerability Scanners Benchmark 2012 [20]. Dessutom är det möjligt att inkorporera dessa applikationer i en sammanhängande Continuous integration lösning för kontinuerliga och automatiserade tester [21]. 3.4 Genomförande Undersökningen inleddes med en informationsinsamling som mynnade i en teoretisk sammanställning av hotbild, angreppsytor och tänkbara försvar. Nästa fas var förberedelser av experimentmiljön, vilken först skapades i teorin och därefter i praktiken. 14

20 3.4.1 Testmiljö Undersökningen genomfördes mot en kontrollerad miljö bestående av en virtuell hårdvara med en traditionell LAMP installation (Linux, Apache, MySQL och PHP) samt en installation av senaste versionen av WordPress och Infomakers plugin-svit Everyware. Installationen bestod av följande program i angiven version. Ubuntu Apache MySQL PHP WordPress Everyware Attackerna genomfördes även från en virtuell miljö som beskrivs mer ingående under avsnitt Driftsättning av Penetrationshjälpmedel Samtliga penetrationsverktyg har installerats och körts från en virtuell dator i WMware-miljö. Operativsystemet Windows 7 och.net framework 4 samt Java 7 installerades för att uppfylla dessa verktygs beroenden och krav. 3.5 Resultat och analys Experimentets resultat redovisas med utgångspunkt i de olika attackformerna. Data, insamlad via genomgång av statistik och rapporter - genererade av penetrationstestningsverktygen genom angrepp mot de två prövade uppsättningarna - analyseras genom att ställas mot undersökningens hypotes. Denna är: att man genom att följa de gängse uppsatta riktlinjerna för pluginutveckling kan implementera en applikationssäkerhet som skapar ett bra skydd mot tidigare nämnda attackformer, utan att det adderar oförsvarbar komplexitet till applikationskoden eller ökar arbetsbördan markant. Resultatet diskuteras även med hjälp av insamlad teori. 3.6 Validitet och reliabilitet Validiteten i resultaten från undersökningen kan anses vara hög eftersom det är väl definierade, specifika och konkreta angrepp och åtgärder som ska utvärderas. Reliabiliteten i resultaten från utvärderingsverktygen kan även den anses vara hög eftersom de är specialdesignade och byggda för att utvärdera precis det som experimentet vill mäta. Dock måste man ha i åtanke att det är min tolkning och implementation av säkerhetsföreskrifter som har använts, vilket så klart kan komma att påverka resultatet. 15

21 3.7 Reproducerbarhet Experimentet är reproducerbart på så vis att det är fullt möjligt att återskapa så väl angreppsmiljö som testmiljö. Alla verktyg och stödsystem finns versionsangivna i rapporten och samtlig referens litteratur är offentlig. Dock finns det två reproducerbarhetsbegränsningar, 1. Infomakers plugin är inte släppt som Open Source, och är alltså inte publika. 2. Den ursprungliga plugin-sviten, dvs. den version som inte ännu genomgått en säkerhetsanalys, finns inte heller publik för test eller utvärdering. 16

22 4. Resultat/Empiri I det följande kapitlet beskrivs de resultat som producerades av penetrationstesterna. Resultaten presenteras först på en övergripande generell nivå för att sedan gås igenom enskilt för var och en av de utvalda attackformerna genomförda i undersökningen. 4.1 Genomförda penetrationstester och deras resultat Experimenten har genomförts genom att samtliga penetrationsverktyg har utfört tester mot plugin-sviterna tre gånger vardera. Sammanlagt har alltså båda plugin-sviterna, den ursprungliga och den som genomgått en säkerhetsanalys, utsatts för angrepp tolv gånger. Resultaten för samtliga tester finns att läsa i bilaga 1 och 2 i slutet av rapporten. Där framgår att samtliga penetrationstester mot ursprungskoden hittade svagheter. Dessa svagheter kommer att presenteras mer i detalj i följande underkapitel. 4.2 Generella resultat Ställt mot föreskrifter och rekommendationer i insamlad, analyserad dokumentation och litteratur så höll plugin-koden redan från början en relativt hög säkerhetsnivå. Också många av de förespråkade rekommendationerna gällande typsäkring, validering och sanitering efterlevdes och var väl implementerade. Dock identifierades ett antal sårbarheter vid genomgång och analys av koden. Samtliga av dessa identifierade punkter hittades även i alla penetrationstester utförda mot ursprungskoden och påvisades som brister. Nedan följer en sammanställningar av exempel på, avsaknaden av, eller identifierade och åtgärdade brister inom varje kategori. 4.3 SQLI Inga brister hittades vid den okulära inspektionen av koden. Alla de omskrivna rekommendationerna om parameterisering av SQL-frågor, typsäkring, valideing och sanitering av data genomfördes på ett korrekt sätt, innan datan lagrades i eller hämtades från databasen för att presenterats för användaren av webbapplikationen. Inte heller något av analysverktygen hittade några brister vid genomförandet av testerna. Inga förbättringar ansågs därför vara nödvändiga att genomföra i koden. 17

23 4.4 XSS Här hittades ett flertal allvarliga brister där data från användaren, antingen inskickad via input-fält på siten eller webbadress-parametrar i URL:en, återspeglades mot användaren utan tillräcklig validering och sanitering. Detta möjliggjorde så klart för XSS attacker av olika slag och samtliga penetrationstester mot ursprungskoden uppmärksammade och rapporterade detta. Attackerna som lyckades genomföras var alla av typen reflektiv, eller icke persistent XSS. Attackerna lagrades alltså inte i databasen utan var av det något enklare slaget. Figur 4.1 nedan visar delar av en resultattabell genererad av Arachni web application security scanner framework. Samma svagheter hittades vid samtliga genomförda tester. Svagheterna hittades dessutom av alla penetrationstestningsverktyg som använts under undersökningen. Figur 4.1: Del av resultatrapport genererad av Arachni web application security scanner framework Samtliga penetrationstestningsverktyg presenterade utförlig data kring de genomförda attackerna. I Arachnis fall, figur 1, fick man direkt tillgång till information om vilken typ av attack som lyckades, mot vilken resurs, hur allvarlig bristen ansågs vara samt utförlig information om attackformen. Informationen som presenterades gick utförligt igenom hur attackerna vanligtvis genomförs samt vilka steg man bör vidta för att öka säkerheten. Vid de lyckade XSS-attackerna motsvarade resultatkategorin resurs för den webbadress som var mottaglig för skadlig data. Efter genomgång av koden och implementation av diverse förbättringar, så som bättre hantering av utskrftsdata genom sanitering och rensning av oönskat innehåll, lyckades alla luckor täppas till och analysverktygen lyckades inte hitta något att anmärka på i testerna mot den uppsäkrade versionen av plugin-sviten. 4.5 XSRF Inte heller här lyckades penetrationstesterna hitta sårbarheter i någon av testomgångarna. Genom implementation av WordPress-nonce samt kontroller 18

24 av referer så har man skapat en så pass bra grundtrygghet att inget av verktygen lyckades hitta svagheter. 19

25 5. Analys I detta kapitel analyseras resultatet av penetrationstesterna och de vidtagna åtgärderna. Undersökningens hypotes prövas gentemot resultaten och de olika stegen kommer att verifieras eller falsifieras. 5.1 Iakttagelser I figurerna nedan visas att man tydlig kunde se i rapporterna från samtliga analysverktyg att det förekom brister i koden. Figurerna 4.1 (Resultat XSS) samt 5.1 och 5.2 nedan visar exempel på hur dessa brister redovisades i respektive penetrationstestningsverktyg. Figur 5.1: Del av resultatrapport genererad av Netsparker Community edition Figur 5.2: Del av resultatrapport genererad av OWASP Zed attack proxy Samtliga figurerar visar exempel på hur en funnen sårbarhet visas i verktygens listformat. Alla verktyg som användes i undersökningen tillgängliggör, utöver dessa listor, mer djupgående information om hur attacken genomförts och hur man kan eliminera sårbarheten. När experimenten mot ursprungskoden var avslutade, kunde jag konstatera att samtliga testomgångar med alla verktyg lyckades genomföra och bekräfta attacker av typen icke persistent cross site scripting. Efter att verktygen lyckades genomföra attackerna, presenterades sedan dessa rapporter med information om bland annat hur attacken genomfördes, vilken resurs i applikationen som blev utsatt och hur allvarlig verktyget ansåg att bristen var. Denna gradering varierade en del mellan de olika systemen men gemensamt för alla var att det de klassificerades som bekräftade svagheter, och att de fick en högre gradering än notice, vilken var den gemensamma klassificeringen på den lägsta formen av hot. I de flesta fall fick de graderingen Alert vilken innebär att hotet är bekräftat och en attack lyckades. Genom att studera resultaten av attackerna samt jämföra den befintliga koden med de insamlade föreskrifterna lyckades ett antal svagheter identifieras, rörande hur man hanterar data som skickas in i applikationen och sedan återspeglas mot användaren. När koden modifierades och anpassades för att 20

26 uppfylla kraven eliminerades även hotbilden och attackytorna reducerades markant, till och med helt i vissa fall. 5.2 Hypotesen verifieras Enligt premissen att samtliga genomförda tester mot plugin-koden, efter att den hade genomgått en säkerhetsimplementation, visade på noll svagheter mot attackformerna XSS, XSRS och SQLI, drar jag slutsatsen att det faktiskt går att införa ett bra skydd mot dessa attackformer genom att följa de riktlinjer som finns. Användandet av gängse riktlinjer för hur data ska hanteras i kombination med de många hjälpfunktioner och metoder som WordPress erbjuder för att typsäkra, validera och sanitera data har lett till att plugin-sviten nu har en hög säkerhet och en bra motståndskraft mot attacker av detta slag. Den genomförda säkerhetsförstärkningen upplevdes inte på något sätt som tidskrävande eller kostsam. Att efterleva och implementera de riktlinjer som finns gjorde inte att skrivandet av kod blev mer komplex eller svårförståelig. Detta leder till slutsatsen att det går att införa ett säkerhetstänk i utvecklingsarbetet utan att det adderar oförsvarbar komplexitet till applikationskoden eller ökar arbetsbördan markant. Vidare blir svaret på frågan om Infomakers plugin-svit har en faktiskt säkerhet mot den här typen av attacker eller om det bara är en falsk trygghet att det nu, efter säkerhetsgenomgången, faktiskt finns ett bra implementerat skydd och att data nu hanteras på ett korrekt sätt genom hela applikationen. 21

27 6. Diskussion I detta kapitel avser jag diskutera de resultat som undersökningen gav och de slutsatser jag dragit utifrån det. 6.1 Problemlösning/resultat Min målsättning med undersökningen var att utvärdera huruvida man kan minimera eller helt eliminera attackytor i en webbapplikation genom att införa en medvetenhet i utvecklingsarbetet. Efter genomförda experiment anser jag att resultatet tydligt visar på hur tillsynes enkla misstag eller felsteg kan leda till att svagheter i applikationen blottläggs och kan nyttjas av användare som letar efter svagheter. Exempelvis att skriva ut värden, utlästa direkt från webbadress-parametrar, direkt till slutanvändaren, utan att sanitera eller escapa, utnyttjades direkt av samtliga penetrationsverktyg. Resultatet av den här rapporten visar därmed att man kraftigt kan reducera dessa attackytor, genom att följa och använda sig av de rekommendationer som finns. Om man redan från början har ett säkerhetstänk och en riskmedvetenhet i utvecklingsteamet, blir det heller ingen extra arbetsbörda eller kostnad att hantera data på ett korrekt sätt genom sin applikation. 6.2 Riskmedvetenhet Ställt mot de iakttagelser jag gjort under kapitel 5 - Analys, så kan jag bara konstatera att jag instämmer helt i Lundbergs resonemang kring att införandet av ett säkerhetstänk och riskmedvetenhet inte ska ses som ett extra moment i utvecklingsprocessen utan snarare bör vara en del av hela processen[9]. 6.3 Öppen och stängd källkod En attack av typen cross site request forgery genomförs genom att en användare som är inloggad mot en tjänst, luras att genomföra handlingar som hen inte har för avsikt att genomföra. För att förbereda och genomföra en sådan attack behöver man ha god kunskap i hur det bakomliggande systemet fungerar och bakom vilka länkadresser olika typer av handlingar finns. För att återkoppla till mina tidigare exempel så behöver en attackerare veta den exakta adressen dit data ska skickas, och hur den ska vara strukturerad och förpackad, för att genomföra ett lösenordsbyte på en användare. En sådan förberedelse har visat sig vara enkel mot ett system som WordPress, som tillämpar öppen källkod. Detta eftersom man har full tillgång till källkoden och enkelt kan analysera vilka delar man behöver påverka och hur man når dem. Dock erbjuder WordPress många olika typer av skydd mot just den här typen av attack, vilket har resulterat i att jag inte lyckats genomföra några lyckade XSRF-attacker alls. Samma sak gäller XSS och SQLI. Har man tillgång till koden så underlättar det i förberedelser och i sökandet efter svagheter. Jag kunde vid mina 22

28 genomgångar av Infomakers kodbas identifiera samtliga av de svagheter som senare identifierades av penetrationstestningsverktygen. Detta hade så klart en användare med mer tvivelaktiga uppsåt också kunnat göra, för att sedan utnyttja dessa svagheter för att genomföra attacker. 6.2 Metodreflektioner Att utföra säkerhetsanalyser med enbart Black box testning ger ingen fullständig bild av det absoluta säkerhetsläget i koden. Det bör istället ses som en del i en hel process, som behöver utökas och kompletteras med andra typer av tester. Man bör till exempel kartlägga alla flöden i sin applikation och dokumentera alla möjliga och tänkbara svaghetspunkter. Därefter är det lämpligt att skriva ner olika typer av användningsfall och sedan genomföra White box-tester mot dessa. White box-tester innebär den raka motsatsen till Black box. Nu har man fullständig tillgång till koden och kan på så sätt förbereda sig och precisionstesta de punkter man har för avsikt att utvärdera. Ett så djupgående säkerhetsarbete var dock inte målsättningen för den här undersökningen men för att skapa en korrekt helhets bild av en applikationssäkerhetsstatus är det något man bör fördjupa sig i. 23

Säkerhet. Säkerhet. Johan Leitet johan.leitet@lnu.se twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449

Säkerhet. Säkerhet. Johan Leitet johan.leitet@lnu.se twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449 Säkerhet Säkerhet Webbteknik II, 1DV449 Johan Leitet johan.leitet@lnu.se twitter.com/leitet facebook.com/leitet F06 Säkerhet Dagens agenda HTTPS Autentisiering - Egen autentisiering - Lösenordshantering

Läs mer

Säkerhet i applikationslagret och slaget om webben. John Wilander, Omegapoint, Rätt säkerhet, maj 2010

Säkerhet i applikationslagret och slaget om webben. John Wilander, Omegapoint, Rätt säkerhet, maj 2010 Säkerhet i applikationslagret och slaget om webben John Wilander, Omegapoint, Rätt säkerhet, maj 2010 John Wilander, konsult Omegapoint Forskar inom mjukvarusäkerhet Leder svenska OWASP Certifierad inom

Läs mer

Webbsäkerhet för IT-tekniker VT2014 Johan Leitet Nätverkssäkerhet, 1DV425 johan.leitet.se twitter.com/leitet facebook.

Webbsäkerhet för IT-tekniker VT2014 Johan Leitet Nätverkssäkerhet, 1DV425 johan.leitet.se twitter.com/leitet facebook. Webbsäkerhet för IT-tekniker VT2014 Nätverkssäkerhet, 1DV425 Johan Leitet johan.leitet@lnu.se johan.leitet.se twitter.com/leitet facebook.com/leitet Webbsäkerhet Dagens agenda Webbsäkerhet Klientsida -

Läs mer

Riktlinjer för informationssäkerhet

Riktlinjer för informationssäkerhet Dnr UFV 2014/1307 Riktlinjer för informationssäkerhet Fastställda av Säkerhetschef 2014-10-28 Innehållsförteckning 1 Inledning 3 2 Ansvar 3 2.1 Efterlevnad 3 2.2 Uppdatering av riktlinjerna 4 3 Definitioner

Läs mer

SNITS-Lunch. Säkerhet & webb 2013-10-08

SNITS-Lunch. Säkerhet & webb 2013-10-08 SNITS-Lunch Säkerhet & webb 2013-10-08 Kort om ÅF ÅF i Karlstad idag! Vi är ca 150 varav 50 inom IT Automation Elkraft Mekanik Industriell IT Process och miljö IT och telekom Energi Industri Automotive

Läs mer

FÖRHINDRA DATORINTRÅNG!

FÖRHINDRA DATORINTRÅNG! FÖRHINDRA DATORINTRÅNG! Vad innebär dessa frågeställningar: Hur görs datorintrång idag Demonstration av datorintrång Erfarenheter från sårbarhetsanalyser och intrångstester Tolkning av rapporter från analyser

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

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

Undervisningen i ämnet webbutveckling ska ge eleverna förutsättningar att utveckla följande:

Undervisningen i ämnet webbutveckling ska ge eleverna förutsättningar att utveckla följande: WEBBUTVECKLING Ämnet webbutveckling behandlar de tekniker som används för att presentera och bearbeta information i webbläsaren samt utifrån dessa tekniker skapa och vidareutveckla statiska och dynamiska

Läs mer

Swedish Association for Software Testing 2009-05-12. 2009 Inspect it AB

Swedish Association for Software Testing 2009-05-12. 2009 Inspect it AB AB Applikationssäkerhetstestning Swedish Association for Software Testing 2009-05-12 Presentation Vem är jag? Mattias Bergling, Inspect it Arbetar med Informationssäkerhet Fokus på IT-säkerhet Intrångstester

Läs mer

Webbprogrammering. Sahand Sadjadee

Webbprogrammering. Sahand Sadjadee Webbprogrammering Sahand Sadjadee Agenda Webb The World Wide Web (WWW) is a network of online content that is formatted in HTML and accessed via HTTP. The term refers to all the interlinked HTML pages

Läs mer

Cyber security Intrångsgranskning. Danderyds kommun

Cyber security Intrångsgranskning. Danderyds kommun Revisionsrapport Niklas Ljung Ronald Binnerstedt Augusti 2017 Cyber security Intrångsgranskning Danderyds kommun Sammafattande slutsatser med revisionella bedömningar Revisorerna har i sin riskanalys för

Läs mer

WordPress och säkerhet inom tillägg från tredje parter

WordPress och säkerhet inom tillägg från tredje parter Daniel Friberg WordPress och säkerhet inom tillägg från tredje parter Skydda mot SQL-injection och Cross Site Scripting. Fallstudie av tre tillägg. WordPress and security in third party plugins Protect

Läs mer

Webbprogrammering - 725G54 PHP. Foreläsning II

Webbprogrammering - 725G54 PHP. Foreläsning II Webbprogrammering - 725G54 PHP Foreläsning II Agenda Serverskript PHP Validering av data med serverskript Säkerhet Lab 2. Live coding Serverskript Kör ett program på servern och resultatet skickas till

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

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

Laboration 3 i kursen Produktion för tryckta medier och webb: Webbplatsproduktion med ett publiceringssystem

Laboration 3 i kursen Produktion för tryckta medier och webb: Webbplatsproduktion med ett publiceringssystem Laboration 3 i kursen Produktion för tryckta medier och webb: Webbplatsproduktion med ett publiceringssystem Målsättning Att bygg upp en komplett webbplats i ett publiceringssystem. Platsen ska vara snygg,

Läs mer

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

E11 Protection Föreläsning 11, HT2014 Säkerhet, tillgänglighet. Johan Leitet. Kurs: 1dv403 Webbteknik I Föreläsning 11, HT2014 Säkerhet, tillgänglighet E11 "Protection" Kurs: 1dv403 Webbteknik I Johan Leitet E11 Protection Dagens agenda Tillgänglighet Säkerhet Webbsajt vs. Webbapp Webbsida/webbsajt Webbapplikation

Läs mer

Dialogue Technologies April 2005

Dialogue Technologies April 2005 Dialogue Technologies April 2005 En typisk självbetjäningstjänst för web ser ut enligt följande En inledande text för att användaren skall förstå tjänsten En aktuell lista med de 10 vanligast frågorna

Läs mer

Avancerade Webbteknologier

Avancerade Webbteknologier Projektledning, Business Knowledge Användbarhet & Layout Avancerade Webbteknologier Lkti Lektion 1 Kommunikation Tobias Landén tobias.landen@chas.se Avancerade webbteknologier del 1 (4 KY poäng) Syfte

Läs mer

Slutrapport YUNSIT.se Portfolio/blogg

Slutrapport YUNSIT.se Portfolio/blogg Slutrapport YUNSIT.se Portfolio/blogg RICKARD HANSSON 2012-06-04 Abstrakt Rapporten du har i din hand kommer handla om mitt projektarbete som jag genomfört under tio veckor för utbildningen Utvecklare

Läs mer

CMS. - Content management system

CMS. - Content management system CMS - Content management system Agenda CMS Server, webbhotell och FTP Wordpress, ställ mycket frågor Om vi hinner - Snabb genomgång av CMS - uppgiften Nu & Då Sidor med bara HTML och CSS kräver manuell

Läs mer

Essential Php Security Författare: Shiflett, Chris Antal sidor: 124 Förlag: O'Reilly

Essential Php Security Författare: Shiflett, Chris Antal sidor: 124 Förlag: O'Reilly PHP Säkerhet & Optimering tobias.landen@chas.se se Att läsa om ämnet Bra och kortfattad tt dbok: Essential Php Security Författare: Shiflett, Chris Antal sidor: 124 Förlag: O'Reilly ISBN 10: 059600656X

Läs mer

Tentamen etjänster och webbprogrammering

Tentamen etjänster och webbprogrammering Tentamen etjänster och webbprogrammering Institutionen för informatik och media, informattionssystem Datum 26/8 Tid 8.00 12.00 Lärare Owen Eriksson Fredrik Bengtsson Maxpoäng 65 För Godkänd krävs minst

Läs mer

Kort om World Wide Web (webben)

Kort om World Wide Web (webben) KAPITEL 1 Grunder I det här kapitlet ska jag gå igenom allmänt om vad Internet är och vad som krävs för att skapa en hemsida. Plus lite annat smått och gott som är bra att känna till innan vi kör igång.

Läs mer

Webbserverprogrammering

Webbserverprogrammering Webbserverprogrammering WES Webbserverprogrammering Ämnet webbserverprogrammering behandlar funktionalitet för webblösningar och samspelet mellan beställare, användare, formgivare och utvecklare. Ämnets

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

VAD GÖR DU / VEM ÄR DU?

VAD GÖR DU / VEM ÄR DU? INNEHÅLL Vad blir din roll Databaser vad är och varför Terminologi Datamodellering vad är och varför Utvecklingsprocessen SQL vad är det Data / Information / Kunskap Kapitel 1 delar av. Praktisk Datamodellering

Läs mer

Föreläsning 6 Databaser och säkerhet

Föreläsning 6 Databaser och säkerhet Databasbaserad publicering Föreläsning 6 1 Föreläsning 6 Databaser och säkerhet & Läs kapitel 13 i Databasteknik och kapitel 9 i boken PHP & MySQL: Novice to Ninja Databasbaserad publicering Föreläsning

Läs mer

Webbservrar, severskript & webbproduktion

Webbservrar, severskript & webbproduktion Webbprogrammering Webbservrar, severskript & webbproduktion 1 Vad är en webbserver En webbserver är en tjänst som lyssnar på port 80. Den hanterar tillgång till filer och kataloger genom att kommunicera

Läs mer

Webbsäkerhet. för IT-tekniker VT2013. Johan Leitet johan.leitet.se

Webbsäkerhet. för IT-tekniker VT2013. Johan Leitet johan.leitet.se Webbsäkerhet för IT-tekniker VT2013 Johan Leitet johan.leitet.se Dagens agenda Klient/server-arkitektur, attackvektorer HTTPS Attackvektorer, klientsida - Cross-site-scripting - Session-hijacking - CSRF

Läs mer

Opponenter: Erik Hansen Mats Almgren Respondent: Martin Landälv ioftpd-verktyg

Opponenter: Erik Hansen Mats Almgren Respondent: Martin Landälv ioftpd-verktyg Datavetenskap Opponenter: Erik Hansen Mats Almgren Respondent: Martin Landälv ioftpd-verktyg Oppositionsrapport, C-nivå 2006:12 1 Sammanfattat omdöme av examensarbetet Examensarbetet är intressant eftersom

Läs mer

SKOLFS. beslutade den XXX 2017.

SKOLFS. beslutade den XXX 2017. 1 (12) Skolverkets föreskrifter om ämnesplan för ämnet webbutveckling i gymnasieskolan, inom kommunal vuxenutbildning på gymnasial nivå och inom vidareutbildning i form av ett fjärde tekniskt år; beslutade

Läs mer

Säkerhet. Föreläsning 6 Säkerhet. Johan Leitet twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449

Säkerhet. Föreläsning 6 Säkerhet. Johan Leitet twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449 Säkerhet Föreläsning 6 Säkerhet Webbteknik II, 1DV449 Johan Leitet johan.leitet@lnu.se twitter.com/leitet facebook.com/leitet F06 Säkerhet Dagens agenda HTTPS Autentisiering - Egen autentisiering - Lösenordshantering

Läs mer

Innehåll. MySQL Grundkurs

Innehåll. MySQL Grundkurs MySQL Grundkurs Copyright 2014 Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Innehåll Introduktion till databaser Installera MySQL lokalt Webbserverprogrampaket (XAMPP) Introduktion till phpmyadmin

Läs mer

Priskamp. En prisjämförelsesite Björn Larsson 130609

Priskamp. En prisjämförelsesite Björn Larsson 130609 Priskamp En prisjämförelsesite Björn Larsson 130609 Abstrakt Detta är en post-mortem slutrapport om mitt projekt "Priskamp" inom ramen för kursen Individuellt Mjukvaruutvecklingsprojekt VT 2013. Projektets

Läs mer

Dokumentation för VLDIT AB. Online classroom

Dokumentation för VLDIT AB. Online classroom Dokumentation för VLDIT AB Online classroom 2 Introduktion VLDIT AB önskar area för att tillhandahålla ett kursutbud online för sina befintliga deltagare, men även för nya. Syfte för applikationen: tillhandhålla

Läs mer

Slutrapport. APFy.me

Slutrapport. APFy.me Slutrapport APFy.me Innehållsförteckning 1 Inledning... 3 2 Mål och syfte... 3 3 Projektbeskrivning... 3 4 Leverabler... 4 5 Resultat... 4 6 Utvärdering och analys... 4 6.1 Utvärdering av resultat... 4

Läs mer

Instruktion för integration mot CAS

Instruktion för integration mot CAS IT-enheten Instruktion för integration mot CAS Per Hörnblad Instruktion 2010-10-29 Sid 1 (7) Instruktion för integration mot CAS Projektnamn Instruktioner för Integration mot CAS Fastställt av Per Hörnblad

Läs mer

Anvisningar till rapporter i psykologi på B-nivå

Anvisningar till rapporter i psykologi på B-nivå Anvisningar till rapporter i psykologi på B-nivå En rapport i psykologi är det enklaste formatet för att rapportera en vetenskaplig undersökning inom psykologins forskningsfält. Något som kännetecknar

Läs mer

Mamut Open Services. Mamut Kunskapsserie. Kom i gång med Mamut Online Survey

Mamut Open Services. Mamut Kunskapsserie. Kom i gång med Mamut Online Survey Mamut Open Services Mamut Kunskapsserie Kom i gång med Mamut Online Survey Kom i gång med Mamut Online Survey Innehåll MAMUT ONLINE SURVEY... 1 KOM I GÅNG MED MAMUT ONLINE SURVEY... 3 MAMUT-ANVÄNDARE:

Läs mer

Håbo kommuns förtroendevalda revisorer

Håbo kommuns förtroendevalda revisorer www.pwc.se Revisionsrapport Granskning av intrångsskydd Niklas Ljung Mattias Gröndahl Håbo kommuns förtroendevalda revisorer April/2018 Innehåll Sammanfattning... 2 1. Inledning... 4 1.1. Granskningsbakgrund...

Läs mer

Content Management System. Publiceringssystem

Content Management System. Publiceringssystem Content Management System Publiceringssystem Vad är ett Content Management System (CMS)? Ett verktyg för att separera innehåll från presentation Skapa webbsidor utan att kunna html Låt många skapa sidor

Läs mer

WEBBSERVERPROGRAMMERING

WEBBSERVERPROGRAMMERING WEBBSERVERPROGRAMMERING Ämnet webbserverprogrammering behandlar funktionalitet för webblösningar och samspelet mellan beställare, användare, formgivare och utvecklare. Ämnets syfte Undervisningen i ämnet

Läs mer

Med PrivacyKeeper kan du: Ta bort inloggningsinformation:

Med PrivacyKeeper kan du: Ta bort inloggningsinformation: PrivacyKeeper raderar på ett tillförlitligt sätt alla dina spår både online och offline och aktiverar och säkerställer att din dator rensas från alla sårbara känsliga data som kan bli måltavlor för tredje

Läs mer

Projekt Foreläsning VI

Projekt Foreläsning VI Webbprogrammering - 725G54 Projekt Foreläsning VI Agenda Sessions update Labb 5 Genomgång projektuppgift Kursinnehåll avstämning Kursmål avstämning Sessions På IDA måste ni göra session_save_path('dir)

Läs mer

Filhanterare med AngularJS

Filhanterare med AngularJS Filhanterare med AngularJS Författare: Filip Johansson Peter Emilsson Oskar Georgsson Christian Nilsson Datum: 2014-03-26 1 Sammanfattning Filhanterare med AngularJS är en filhanterare skapad för Sigma

Läs mer

Varför ska man använda ett CMS? Vilka är fördelarna och är det alltid bra? Kattis Lodén 2010-03-18

Varför ska man använda ett CMS? Vilka är fördelarna och är det alltid bra? Kattis Lodén 2010-03-18 Varför ska man använda ett CMS? Vilka är fördelarna och är det alltid bra? Kattis Lodén 2010-03-18 Innehåll Inledning... 3 Fakta... 4 Innehåll... 4 Texthantering... 4 Granskning och versionshantering...

Läs mer

Elektronisk publicering TNMK30

Elektronisk publicering TNMK30 Elektronisk publicering TNMK30 Förra gången Usability & interaktionsdesign Projektintroduktion Bildbehandling. Byte av handledare Istället för Martin Johansson Annsofi Pettersson, annpe655@student.liu.se

Läs mer

Säker programmering - Java

Säker programmering - Java Säker programmering - Java Information är en värdefull tillgång i dagens värld och en effektiv hantering sätter höga säkerhetskrav på medarbetarna. Säker programmering - Java Nowsec säkerhetsgranskar dagligen

Läs mer

Telia Centrex IP Administratörswebb Handbok

Telia Centrex IP Administratörswebb Handbok Telia Centrex IP Administratörswebb Handbok Telia Centrex IP Administratörswebb Handbok 2 Handbok Telia Centrex IP Administratörswebb Du hittar alltid senaste versionen av denna handbok på https://ipac.telia.com

Läs mer

VILKA PERSONUPPGIFTER BEHANDLAR VI OCH HUR ANVÄNDER VI DEM?

VILKA PERSONUPPGIFTER BEHANDLAR VI OCH HUR ANVÄNDER VI DEM? INTEGRITETSPOLICY 1. INLEDNING 1.1. Göteborgs Universitet ( vi eller oss ) är personuppgiftsansvarig för den behandling av dina personuppgifter som utförs i samband med tillhandahållandet av våra tjänster

Läs mer

Dataintrång hos Dataföreningen. Annica Bergman Dataföreningen i Sverige Internetdagarna 21 oktober 2008

Dataintrång hos Dataföreningen. Annica Bergman Dataföreningen i Sverige Internetdagarna 21 oktober 2008 Dataintrång hos Dataföreningen Annica Bergman Dataföreningen i Sverige Internetdagarna 21 oktober 2008 Dataföreningen i Sverige Dataföreningens verksamhet omfattar drygt 26 000 medlemmar, fördelade på

Läs mer

emopluppen Användning av "Ant" Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC)

emopluppen Användning av Ant Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC) emopluppen Användning av "Ant" Version: 1.4 ( 2002/04/26 07:27:52 UTC) Niklas Backlund Sammanfattning Det här dokumentet handlar om programmet Ant, som är en byggmiljö för programutvecklingsprojekt. Dess

Läs mer

Telia Centrex IP Administratörswebb. Handbok

Telia Centrex IP Administratörswebb. Handbok Telia Centrex IP Administratörswebb Handbok Telia Centrex IP Administratörswebb Handbok 2 Handbok Telia Centrex IP Administratörswebb Du hittar alltid senaste versionen av denna handbok på https://ipac.telia.com

Läs mer

Business research methods, Bryman & Bell 2007

Business research methods, Bryman & Bell 2007 Business research methods, Bryman & Bell 2007 Introduktion Kapitlet behandlar analys av kvalitativ data och analysen beskrivs som komplex då kvalitativ data ofta består av en stor mängd ostrukturerad data

Läs mer

Installationsguide fo r CRM-certifikat

Installationsguide fo r CRM-certifikat Installationsguide fo r CRM-certifikat För att säkerställa en säker inloggning till CRM Finance webb så behöver alla kunder installera ett kund-unikt klientcertifikat innan man kan försöka logga in i systemet.

Läs mer

Vulnerability Assessment Tjänstebeskrivning

Vulnerability Assessment Tjänstebeskrivning Vulnerability Assessment Tjänstebeskrivning Version: 3.0 Innehållet 1. Inledning... 2 2. Tjänstens syfte... 2 3. Tjänstens omfattning... 2 4. Tillvägagångssätt... 3 5. Förutsättningar... 4 6. Rapport...

Läs mer

Kursplan Gränssnittsdesign och Webbutveckling 1 Vårtermin 2014

Kursplan Gränssnittsdesign och Webbutveckling 1 Vårtermin 2014 Kursplan Gränssnittsdesign och Webbutveckling 1 Vårtermin 2014 Kurswebb: www.creativerooms.se/edu, välj Gränssnittsdesign eller Webbutveckling 1 Lärare: Aino-Maria Kumpulainen, aino-maria.kumpulainen@it-gymnasiet.se

Läs mer

Krav på webbläsare. Manual för arbetslöshetkassorna. De webbläsare som är kompatibla med portalen är minst Internet Explorer 6.x och Firefox 2.

Krav på webbläsare. Manual för arbetslöshetkassorna. De webbläsare som är kompatibla med portalen är minst Internet Explorer 6.x och Firefox 2. Användarmanual till IAF:s portal för arbetslöshetskassor 1 (8) Manual för arbetslöshetkassorna Krav på webbläsare De webbläsare som är kompatibla med portalen är minst Internet Explorer 6.x och Firefox

Läs mer

Det här dokumentet går kortfattat igenom registrerings- och ansökningsprocessen.

Det här dokumentet går kortfattat igenom registrerings- och ansökningsprocessen. Det här dokumentet går kortfattat igenom registrerings- och ansökningsprocessen. 1. Webbläsare Följande versioner av webbläsare stöds: Netscape från version 7.x Firefox från version 1.x Internet Explorer

Läs mer

ico-worker.com Användarvillkor och andra saker som du bör känna till för att kunna vara säker online.

ico-worker.com Användarvillkor och andra saker som du bör känna till för att kunna vara säker online. ico-worker.com Användarvillkor och andra saker som du bör känna till för att kunna vara säker online. Vi har alla ansvar för säkerheten En del av IKEA andan är att Jag gör lite grann, du gör lite grann,

Läs mer

TELIA CENTREX IP ADMINISTRATÖRSWEBB HANDBOK

TELIA CENTREX IP ADMINISTRATÖRSWEBB HANDBOK TELIA CENTREX IP ADMINISTRATÖRSWEBB HANDBOK Telia Centrex IP Administratörswebb Handbok 2 Handbok Telia Centrex IP Administratörswebb Du hittar alltid senaste versionen av denna handbok på https://ipac.telia.com

Läs mer

IT-säkerhet Externt och internt intrångstest samt granskning av IT-säkerhetsprocesser

IT-säkerhet Externt och internt intrångstest samt granskning av IT-säkerhetsprocesser Revisionsrapport IT-säkerhet Externt och internt intrångstest samt granskning av IT-säkerhetsprocesser Landstinget i Jönköpings län Kerem Kocaer Johan Elmerhag Jean Odgaard September 2013 Innehållsförteckning

Läs mer

Pass 2: Datahantering och datahanteringsplaner

Pass 2: Datahantering och datahanteringsplaner Pass 2: Datahantering och datahanteringsplaner Centrala områden inom datahantering I den här presentationen ska jag ta upp tre huvudsakliga områden inom datahantering och några centrala delar av dessa.

Läs mer

Laboration 4 Rekognosering och nätverksattacker

Laboration 4 Rekognosering och nätverksattacker Laboration Laboration 4 Rekognosering och nätverksattacker Författare: Niclas Håkansson Handledare: Niclas Håkansson Termin: VT13 Kurskod: 1DV425 Innehåll Instruktioner 3 Laborationens delar 3 Förberedelse

Läs mer

Game of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text.

Game of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text. Presentation av uppgiften Vi har fått i att skapa en webbapplikation med ett spelbart spel inbyt i sig. Eller som läraren formulerar sig: uppgiften är att skapa en webbapplikation där en eller flera spelare

Läs mer

Utvecklingen av ett tidregistrerings- och faktureringssystem

Utvecklingen av ett tidregistrerings- och faktureringssystem Datavetenskap Opponenter: Anders Heimer & Jonas Seffel Respondenter: Daniel Jansson & Mikael Jansson Utvecklingen av ett tidregistrerings- och faktureringssystem Oppositionsrapport, C-nivå 2006:10 1 Sammanfattat

Läs mer

Komma igång med Qlikview

Komma igång med Qlikview Denna instruktion är till dig som är ny i Qlikview och snabbt vill komma igång med grundläggande funktioner. Innehåll 1 Introduktion... 2 1.1 Behörighet... 2 1.2 Webbläsare... 2 2 Installation av Qlikview

Läs mer

Det fasta innehållet finns på sidor och kan inte ändras av den som har rollen författare.

Det fasta innehållet finns på sidor och kan inte ändras av den som har rollen författare. Allmänt om hemsidan och Wordpress Brantevik.se är baserad på Wordpress (WP). Från Wickipedia: Wordpress, ofta versaliserat WordPress, är ett blogg- och innehållshanteringssystem. Det distribueras under

Läs mer

Mobilt Efos och ny metod för stark autentisering

Mobilt Efos och ny metod för stark autentisering Mobilt Efos och ny metod för stark autentisering I och med lanseringen av E-identitet för offentlig sektor, Efos, kommer Inera att leverera komponenter som möjliggör att en användare ska kunna logga in

Läs mer

Snabbstartguide för McAfee VirusScan Plus

Snabbstartguide för McAfee VirusScan Plus Nödvändigt datorskydd McAfee VirusScan innehåller anti-virus- och anti-spywareskydd för din dator. McAfee Total Protection innehåller även dator- och nätverksverktyg samt McAfee SiteAdvisor för säker surfning.

Läs mer

E12 "Evil is going on"

E12 Evil is going on E12 "Evil is going on" Föreläsning 12, HT2014 AJAX Kurs: 1dv403 Webbteknik I Johan Leitet E12 Evil is going on Dagens agenda AJAX XMLHttpRequest-objektet JSON Vad är AJAX? Asynchronous JavaScript and XML

Läs mer

Beställning av certifikat för anslutning till BankID (RP certificate) Version

Beställning av certifikat för anslutning till BankID (RP certificate) Version BankID Sida 1(12) Beställning av certifikat för anslutning till BankID (RP certificate) Version 3.2 2018-10-26 BankID Sida 2(12) Innehållsförteckning 1 Bakgrund... 3 1.1 Versioner... 3 2 FP-certifikat

Läs mer

Årsskiftesrutiner i HogiaLön Plus SQL

Årsskiftesrutiner i HogiaLön Plus SQL Årsskiftesrutiner i HogiaLön Plus SQL Installation av HogiaLön Plus version 14.0 samt anvisningar till IT-ansvarig eller IT-tekniker Installation på Terminal Server: En korrekt installation i Terminal

Läs mer

Brasklapp: REV:s rådgivande verksamhet omfattar egentligen inte något detaljerat IT-stöd, men eftersom många väghållare har behov av att effektivt

Brasklapp: REV:s rådgivande verksamhet omfattar egentligen inte något detaljerat IT-stöd, men eftersom många väghållare har behov av att effektivt Brasklapp: REV:s rådgivande verksamhet omfattar egentligen inte något detaljerat IT-stöd, men eftersom många väghållare har behov av att effektivt kunna förmedla information vill vi med denna presentation

Läs mer

Introduktion till användning av linux-servern sledge och några övningsuppgifter

Introduktion till användning av linux-servern sledge och några övningsuppgifter Uppsala universitet Institutionen för utbildning, kultur och medier Monica Langerth Zetterman och Richard Walls IT-stöd i undervisningen, HT10 Introduktion till användning av linux-servern sledge och några

Läs mer

Byggsektorns Miljöberäkningsverktyg Användarmanual

Byggsektorns Miljöberäkningsverktyg Användarmanual IVL Svenska Miljöinstitutet Byggsektorns Miljöberäkningsverktyg Användarmanual Version 1.1 December 17, 2018 Författare: Anders Sidvall Nils Boberg 12/17/2018 Page 1 Innehållsförteckning INSTALLERA BYGGSEKTORNS

Läs mer

MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR

MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR I följande dokument hittar ni information om hur ni administrerar er nya hemsida. Manualen går endast igenom grundläggande administration. För mer avancerad redigering

Läs mer

Lagring i molnet. Per Hellqvist Senior Security Specialist Symantec Nordic AB

Lagring i molnet. Per Hellqvist Senior Security Specialist Symantec Nordic AB Lagring i molnet Per Hellqvist Senior Security Specialist Symantec Nordic AB Först: Symantec har SaaS-tjänster* (*Storage as a Service) I Symantec Protection Network ingår Symantec Online Storage Symantec

Läs mer

Content Management System. Publiceringssystem

Content Management System. Publiceringssystem Content Management System Publiceringssystem Vad är ett Content Management System (CMS)? Ett verktyg för att separera innehåll från presentation Skapa webbsidor utan att kunna html Låt många skapa sidor

Läs mer

MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR

MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR I följande dokument hittar ni information om hur ni administrerar er nya hemsida. Manualen går endast igenom grundläggande administration. För mer avancerad redigering

Läs mer

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1. Schenker har interna system som handhar information som är av intresse för våra kunder/partners. Idag finns ett flertal av dem tillgängliga via Internet, sk Online-tjänster. Dessa erbjuder inte bara hämtning

Läs mer

Undervisningen i ämnet mobila applikationer ska ge eleverna förutsättningar att utveckla följande:

Undervisningen i ämnet mobila applikationer ska ge eleverna förutsättningar att utveckla följande: MOI Ämnet mobila applikationer behandlar olika tekniker för att utveckla programvara riktad mot mobila enheter samt processen från idé till färdigt program. Ämnet mobila applikationer får bara anordnas

Läs mer

Kurskatalog 2010 INNEHÅLLSFÖRTECKNING

Kurskatalog 2010 INNEHÅLLSFÖRTECKNING SFÖRTECKNING 1. RFID-Kurser... 2 1.1. RFID Grundkurs... 2 1.2. RFID Fortsättningskurs... 3 1.3. RFID dator programmering... 4 1.4. RFID Systemadministration... 5 1.5. RFID Aktiv Systemadministration...

Läs mer

Webbprogrammering TDDD52

Webbprogrammering TDDD52 Webbprogrammering TDDD52 ERD MySQL+PHP. Förra gången Idag Javascript jquery Progressive enhancement XML & AJAX Lab 4 och 5 Sammanfattning av kursen. Om databastabeller varje tabell ska beskriva en typ

Läs mer

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

Riktlinje för säkerhetskrav vid upphandling av IT-stöd 1 (5) Ver. 1.1-2008-11-06 Riktlinje för säkerhetskrav vid upphandling av IT-stöd 1. Inledning Detta dokument redogör för vissa grundläggande säkerhetskrav som bör ställas i samband med anskaffning eller

Läs mer

Installera din WordPress med 9 enkla steg

Installera din WordPress med 9 enkla steg Installera din WordPress med 9 enkla steg Den här artikeln förutsätter att du har satt upp en webbserver eller har köpt ett webbhotell där du kan placera din nya WordPress hemsida. Om du inte har det,

Läs mer

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript? Innehåll JavaScript En introduktion till skriptspråket JavaScript och till DOM Scripting Introduktion till JavaScript och DOM JavaScript Syntax DOM och DOM Scripting Händelsehantering och CSS Historia

Läs mer

OneDrive för företag hos Svenska Brukshundklubben

OneDrive för företag hos Svenska Brukshundklubben OneDrive för företag hos Svenska Brukshundklubben Instruktion för OneDrive för företag Författare Thomas Holmén Version TH20170510:001 Målgrupp Kanslipersonal, FS, Utskott Datum 2017-05-10 Sammanfattning

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

Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt

Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt Kravhantering / Testprocess - Agenda AGENDA Grundläggande kravhanteringsprocess. Insamling, dokumentation, prioritering, Test och förvaltning

Läs mer

Bilaga 9 Säkerhet Dnr: /2015 Förfrågningsunderlag

Bilaga 9 Säkerhet Dnr: /2015 Förfrågningsunderlag Förfrågningsunderlag stockholm.se Utbildningsförvaltningen Avdelningen för utveckling och samordning Hantverkargatan 2F 104 22 Stockholm Växel 08-508 33 000 www.stockholm.se Innehåll 1 Inledning 3 2 Krav

Läs mer

SLUTRAPPORT WEBBPROJEKT 1

SLUTRAPPORT WEBBPROJEKT 1 SLUTRAPPORT WEBBPROJEKT 1 Kostregistrering 30 mars 2012 Webbprojekt 1 1DV411 Institutionen för datavetenskap, fysik och matematik Linnéuniversitetet Ella Källman - ella@kallman.se Martin Kuoppa - martin@duofy.com

Läs mer

KOM I GÅNG MED DIN HANDBOK STANDARD FRÅN THOLIN & LARSSON

KOM I GÅNG MED DIN HANDBOK STANDARD FRÅN THOLIN & LARSSON KOM I GÅNG MED DIN HANDBOK STANDARD FRÅN THOLIN & LARSSON Kom i gång med din handbok Standard Innehåll 1 Börja redigera 2 Arbetsbordet 3 Redaktörsfliken 3.1 Uppstart: Att-göra-listor 4 Redigera innehåll

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

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Introduktion till integrering av Schenkers e-tjänster. Version 2.0 Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen

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

ADOBE FLASH PLAYER 10.3 Lokal inställningshanterare

ADOBE FLASH PLAYER 10.3 Lokal inställningshanterare ADOBE FLASH PLAYER 10.3 Lokal inställningshanterare PRERELEASE 03/07/2011 Juridisk information Juridisk information Juridisk information finns på http://help.adobe.com/sv_se/legalnotices/index.html. iii

Läs mer

Analys av BI-system och utveckling av BIapplikationer

Analys av BI-system och utveckling av BIapplikationer Computer Science Fredrik Nilsson, Jonas Wånggren Daniel Strömberg Analys av BI-system och utveckling av BIapplikationer Opposition Report, C/D-level 2005:xx 1 Sammanfattat omdöme av examensarbetet Vi tycker

Läs mer