AVSLUTTENDE EKSAMEN I/FINAL EXAM. TDT4237 Programvaresikkerhet/Software Security. Mandag/Monday 15.12.2008. Kl. 09.00 13.00



Like dokumenter
AVSLUTTENDE EKSAMEN I/FINAL EXAM. TDT4237 Programvaresikkerhet/Software Security. Onsdag/Wednesday Kl

Fakultet for informasjonsteknologi, Institutt for datateknikk og informasjonsvitenskap AVSLUTTENDE EKSAMEN I. TDT42378 Programvaresikkerhet

AVSLUTTENDE EKSAMEN I/FINAL EXAM. TDT4237 Programvaresikkerhet/Software Security. Torsdag/Thursday Kl

TDT4237 Programvaresikkerhet/Software security

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

EKSAMENSOPPGAVE HØST 2011 SOS1000 INNFØRING I SOSIOLOGI

Eksamensoppgave i GEOG1004 Geografi i praksis Tall, kart og bilder

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Eksamensoppgave i GEOG Menneske og sted I

EN Skriving for kommunikasjon og tenkning

EKSAMENSOPPGAVE I TTM4135 INFORMASJONSSIKKERHET

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITY OF OSLO DEPARTMENT OF ECONOMICS

NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET Geografisk institutt

NTNU, TRONDHEIM Norges teknisk-naturvitenskapelige universitet Institutt for sosiologi og statsvitenskap

EXAM TTM4128 SERVICE AND RESOURCE MANAGEMENT EKSAM I TTM4128 TJENESTE- OG RESSURSADMINISTRASJON

Eksamensoppgave i SOS1000 Innføring i sosiologi

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

EKSAMENSOPPGAVE I BI2014 MOLEKYLÆRBIOLOGI

Eksamen ENG1002/1003 Engelsk fellesfag Elevar og privatistar/elever og privatister. Nynorsk/Bokmål

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Eksamensoppgave i GEOG Befolkning, miljø og ressurser

KROPPEN LEDER STRØM. Sett en finger på hvert av kontaktpunktene på modellen. Da får du et lydsignal.

KONTINUASJONSEKSAMEN I EMNE TDT4195 BILDETEKNIKK ONSDAG 13. AUGUST 2008 KL

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Examination paper for BI2034 Community Ecology and Ecosystems

Eksamensoppgave i SØK2008 Offentlig økonomi

UNIVERSITETET I OSLO

Eksamensoppgaver til SOSANT1101. Regional etnografi: jordens folk og kulturelt mangfold. Utsatt skoleeksamen 15. desember 2011 kl.

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

Eksamensoppgave i AFR1000 Innføring i Afrikastudier

Eksamensoppgave i GEOG Geografi i praksis - Tall, kart og bilder

Hvordan føre reiseregninger i Unit4 Business World Forfatter:

Eksamensoppgave i SOS1000 Innføring i sosiologi Examination paper for SOS1000 Introduction to Sociology

EKSAMENSOPPGAVE I SØK 1002 INNFØRING I MIKROØKONOMISK ANALYSE

Examination paper for (BI 2015) (Molekylærbiologi, laboratoriekurs)

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Eksamensoppgave i POL1003 Miljøpolitikk, energipolitikk og ressursforvaltning

EKSAMENSOPPGAVE I SØK2007 UTVIKLINGSØKONOMI DEVELOPMENT ECONOMICS

The exam consists of 2 problems. Both must be answered. English

Besvar tre 3 av følgende fire 4 oppgaver.

Slope-Intercept Formula

BOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs

EXAM IN COURSES TDT4252 MODELLING OF INFORMATION SYSTEMS- ADVANCED COURSE. DT8802 MODELLING OF INFORMATION SYSTEMS (English version)

Eksamensoppgave i GEOG1005 Jordas naturmiljø

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Eksamensoppgave i GEOG1001 Menneske og sted II

Examination paper for TDT4252 and DT8802 Information Systems Modelling Advanced Course

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Eksamen PSY1010 / PSYC1100 Forskningsmetode I

Examination paper for SØK2009 International Macroeconomics

C13 Kokstad. Svar på spørsmål til kvalifikasjonsfasen. Answers to question in the pre-qualification phase For English: See page 4 and forward

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Endelig ikke-røyker for Kvinner! (Norwegian Edition)

NTNU, TRONDHEIM Norges teknisk-naturvitenskapelige universitet Institutt for sosiologi og statsvitenskap

Eksamensoppgave i FIN3006 / FIN8606 Anvendt tidsserieøkonometri

Eksamensoppgave i SANT3508 Globalization Theory and Culture

EKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL

EKSAMENSOPPGAVE VÅR 2012 SOS1000 INNFØRING I SOSIOLOGI

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Fakultet for informasjonsteknologi,

HØGSKOLEN I NARVIK - SIVILINGENIØRUTDANNINGEN

Public roadmap for information management, governance and exchange SINTEF

1. Explain the language model, what are the weaknesses and strengths of this model?

Information search for the research protocol in IIC/IID

Eksamensoppgave i SANT2100 Etnografisk metode

Emnedesign for læring: Et systemperspektiv

LISTE OVER TILLATTE HJELPEMIDLER EKSAMEN I NOVEMBER OG DESEMBER 2014

Den som gjør godt, er av Gud (Multilingual Edition)

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Han Ola of Han Per: A Norwegian-American Comic Strip/En Norsk-amerikansk tegneserie (Skrifter. Serie B, LXIX)

Eksamensoppgave i SFEL Samfunnsfaglige perspektiver på naturressursforvaltning

EKSAMENSOPPGAVE I BI3013 EKSPERIMENTELL CELLEBIOLOGI

Den europeiske byggenæringen blir digital. hva skjer i Europa? Steen Sunesen Oslo,

Eksamensoppgaver til SOSANT1101. Regional etnografi: jordens folk og kulturelt mangfold. Utsatt skoleeksamen 12. desember 2013 kl.

Kartleggingsskjema / Survey

EKSAMEN I FAG TDT MMI Lørdag 11. august 2012 Tid: kl

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

STILLAS - STANDARD FORSLAG FRA SEF TIL NY STILLAS - STANDARD

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Eksamen ENG1002 Engelsk fellesfag ENG1003 Engelsk fellesfag. Nynorsk/Bokmål

// Translation // KLART SVAR «Free-Range Employees»

Eksamen PSY1010 PSYC1100 Forskningsmetode I vår 2013

FRI 8A ARBEIDSPLAN MANDAG FREDAG UKE 48-49

TDT4100 Objektorientert programmering

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

EKSAMEN I FAG TDT4180 MMI Mandag 18. mai 2009 Tid: kl

EKSAMEN I FAG TDT MMI Lørdag 4. juni 2005 Tid: kl

ALGORITMER OG DATASTRUKTURER

Eksamensoppgave i SØK1002 Mikroøkonomisk analyse

Transkript:

Side 1 av 7 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL//NYNORSK/ENGLISH Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap AVSLUTTENDE EKSAMEN I/FINAL EXAM TDT4237 Programvaresikkerhet/Software Security Mandag/Monday 15.12.2008 Kl. 09.00 13.00 Faglig kontakt under eksamen: Lillian Røstad, tlf. 994 00 628 Hjelpemidler (supporting materials): D: Ingen trykte eller håndskrevne hjelpemidler tillatt. Bestemt, enkel kalkulator tillatt. D: No written or printed supporting materials allowed. Basic calculator allowed. Sensurdato (date for examination results): 15. januar 2009. Resultater gjøres kjent på http://studweb.ntnu.no/ og sensurtelefon 81548014. January 15th 2009. Results available at http://studweb.ntnu.no/ and phone 81548014. Det er angitt i prosent hvor mye hver deloppgave teller ved sensur. Each task is labeled with maximum obtainable score in percentage of the total score.

Side 2 av 7 BOKMÅL Oppgave 1 (30%) a) Forklar begrepene white hat, grey hat og black hat hacker. b) Hva er en metacharacter? Hvorfor er bruken av metacharacters relevant for programvaresikkerhet? c) Forklar kort hvilke trinn som inngår i å utføre en risikonalayse for programvare. d) Hva betyr ikke-benekting (eng.: non-repudiation) i en SOA-sammenheng? e) Hva er stack smashing? Forklar kort hvordan det fungerer. f) Hva er angrepstrær (attack trees) og hvordan og når brukes de? Illustrer med et eksempel. Oppgave 2 Sikkerhetskrav (25%) Selskapet Web Solutions har ansatt deg som konsulent for å bidra med sikkerhetsekspertise i deres prosjekter. I det første prosjektet du skal jobbe på skal det utvikles en nettbutikk for å selge musikk. Din første oppgave er å delta i kravutviklingsfasen der du har ansvar for å ivareta sikkerhetsfokuset. Forklar hvordan du vil gå frem for å løse denne oppgaven. Fokuser på hvilke metoder og teknikker du ville brukt og forklar hvorfor. Bruk eksempler for å illustrere fremgangsmåten din. Oppgave 3 Sikkerhetstesting (25%) Du har fått i oppgave å utføre penetrasjonstesting på en webapplikasjon. a) Forklar hva penetrasjonstesting er. Hvor passer det inn i livssyklusen for programvare? (5%) b) Hvordan ville du utført denne oppgave? Beskriv fremgangsmåten din i detalj. Bruk eksempler for å illustrere fremgangsmåten din. (15%)

Side 3 av 7 Oppgave 4 Code Quiz Spot the bug (20%) I denne pseudo-java-kodesnutten er det feil som kan forårsake sikkerhetsproblemer. Identifiser, klassifiser og beskriv feilene. Forklar også hvordan du ville ha gått frem for å endre på koden slik at samme funksjonalitet ble beholdt, men uten sårbarheter. Skriv gjerne pseudokode for å forklare. byte[] buffer; /* * This method transmits a message made in a web form from the sender to the receiver using * email. Befor the message is sent it is encrypted to protect the content. */ public void sendmessage (String from, String to, String note) { Message msg = new Message(from,to,note); buffer = encrypt(msg); //Used to keep track of sent messages important for auditing purposes RandomAccessFile raf = new RandomAccessFile( messagelogg.txt, "rw"); raf.writebytes(buffer); sendmail(from,to,buffer); public byte[] encrypt(message msg){ RandomAccessFile raf = new RandomAccessFile( keyfile.txt, "rw"); byte[] key = raf.readline(); byte[] encrypted = DESEncrypt(msg, key); return encrypted;

Side 4 av 7 NYNORSK Oppgåve 1 (30%) a) Gjer greie for uttrykka white hat, grey hat og black hat hacker. b) Kva er ein metacharacter? Kvifor er bruken av metacharacters relevant for programvaresikkerheit? c) Forklar kort kva trinn som inngår i å utføre ei risikonalayse for programvare. d) Kva betyr ikkje-benekting (eng.: non-repudiation) i ein SOA-sammenheng? e) Kva er stack smashing? Gjer greie for korleis det fungerer. f) Kva er angrepstrær (attack trees) og korleis og når brukast de? Illustrer med eit eksempel. Oppgåve 2 Sikkerheitskrav (25%) Selskapet Web Solutions har ansatt deg som konsulent for å bidra med sikkerheitsekspertise i deira prosjekter. I det første prosjektet du skal jobbe på skal det utviklast ein nettbutikk for å sele musikk. Din første oppgåve er å delta i kravutviklingsfasen der du har ansvar for å ivareta sikkerheitsfokuset. Forklar korleis du vil gå frem for å lause denne oppgåva. Fokuser på kva metodar og teknikkar du ville brukt og forklar kvifor. Gje eksemplar for å illustrere fremgangsmåten din. Oppgåve 3 Sikkerheitstesting (25%) Du har fått i oppgåve å utføre penetrasjonstesting på ein webapplikasjon. a) Forklar kva penetrasjonstesting er. Kor passer det inn i livssyklusen for programvare? (5%) b) Korleis ville du utført denne oppgåven? Gjer greie for fremgangsmåten din i detalj. Gje eksempla for å illustrere fremgangsmåten din. (15%)

Side 5 av 7 Oppgave 4 Code Quiz Spot the bug (20%) I denne pseudo-java-kodesnutten er det feil som kan forårsaka sikkerheitsproblema. Identifiser, klassifiser og beskriv feilane. Forklar også korleis du ville ha gått frem for å endre på koden slik at same funksjonalitet vert behald, men utan sårbarhetar. Skriv gjerne pseudokode for å forklåra. /* * This method transmits a message made in a web form from the sender to the receiver using * email. Befor the message is sent it is encrypted to protect the content. */ public void sendmessage (String from, String to, String note) { Message msg = new Message(from,to,note); buffer = encrypt(msg); //Used to keep track of sent messages important for auditing purposes RandomAccessFile raf = new RandomAccessFile( messagelogg.txt, "rw"); raf.writebytes(buffer); sendmail(from,to,buffer); public byte[] encrypt(message msg){ RandomAccessFile raf = new RandomAccessFile( keyfile.txt, "rw"); byte[] key = raf.readline(); byte[] encrypted = DESEncrypt(msg, key); return encrypted;

Side 6 av 7 ENGLISH Task 1 (30%) a) Explain the terms white hat, grey hat and black hat hacker. b) What is a metacharacter? Why is the use of metacharacters a concern for software security? c) Explain the steps involved in performing a risk analysis for software. d) What does non-repudiation mean in the context of SOA-security? e) What is stack smashing? Explain briefly how it works. f) What are attack trees and how and when are they used? Provide an example. Task 2 Security requirements (25%) The Company Web Solutions has hired you as a consultant to contribute security expertise on their projects. The first project you are to work on is to develop an online webshop for selling music. Your first task is to participate in the requirements engineering phase to ensure a strong focus on security. Explain how you would approach this task. Focus on the methods and techniques you would use and explain why. Also provide examples to illustrate your approach. Task 3 Security testing (25%) You have been assigned the task of performing penetration testing on a web application. a) Explain what penetration testing is. Where does it fit in the software lifecycle? (5%) b) How would you perform this task? Describe your approach in detail. Provide examples to illustrate your approach. (20%)

Side 7 av 7 Task 4 Code Quiz Spot the bug (20%) In this pseudo-java-code excerpt there are hidden security vulnerabilities. Identify, classify and describe the vulnerabilities. Additionally, explain how you would change the code so that the functionality remains the same but without the vulnerabilities. You may use pseudo code to elaborate your answers. /* * This method transmits a message made in a web form from the sender to the receiver using * email. Befor the message is sent it is encrypted to protect the content. */ public void sendmessage (String from, String to, String note) { Message msg = new Message(from,to,note); buffer = encrypt(msg); //Used to keep track of sent messages important for auditing purposes RandomAccessFile raf = new RandomAccessFile( messagelogg.txt, "rw"); raf.writebytes(buffer); sendmail(from,to,buffer); public byte[] encrypt(message msg){ RandomAccessFile raf = new RandomAccessFile( keyfile.txt, "rw"); byte[] key = raf.readline(); byte[] encrypted = DESEncrypt(msg, key); return encrypted;