IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Systemarkitektur og -sikkerhed 
Kursusnavn (engelsk):System Architecture and Security 
Semester:Efterår 2008 
Udbydes under:cand.it., softwareudvikling og -teknologi (sdt) 
Omfang i ECTS:7,50 
Kursussprog:Engelsk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:12 
Forventet antal deltagere:20 
Maks. antal deltagere:80 
Formelle forudsætninger:Before taking this course:
  • You have implemented at least two medium-size programming projects (7.5 ECTS each)

  • You are able to design, implement, and test medium-sized programs in Java or C#

  • You know basic algorithms and data structures, and notion of complexity of algorithms


One way to obtain these prerequisites is by following Object-oriented programming (SOPI) and Performance&Test (SPT) at ITU. If you are an external student you preferably had followed a basic programming and an introductory data structures course.

It is an advantage, but not a requirement, to know some basics of database programming (basic SQL) and web-programming. 
Læringsmål:In this course you learn the following high-level skills:
  • to define, evaluate and discuss security requirements for the software you develop

  • to identify security threats for the software you develop

  • to design and evaluate security of software architectures

  • to apply security mechanisms provided by network components, operating systems and hardware to develop secure software

  • to analyze information security

In this course you learn the following low-level skills:
  • to design and implement secure software components, including software for the web, and database backed systems

  • to identify secure communication protocols for your needs

  • to design and deploy authentication solutions

  • to design and deploy encryption solutions

  • to audit Java code for security problems (and other code provided you know the programming platform used to develop it)

  • to use security audit tools for source code (and to a limited extent for networking)

  • to use software maintenance processes and tools to maintain security of software.

  • to track and respond to security advisories for software and hardware components you use

 
Fagligt indhold:The course focuses on development of secure software, which includes aspects of software architecture, operating systems, hardware, cryptography, networking, protocols, databases and programming, each only as deeply as relevant for security.

Our focus is more on creating secure software, than on securing insecure software.

We shall discuss:

  • authentication and encryption, secure protocols, information secrecy

  • vulnerabilities and attacks (with emphasis on Java and databases)

  • typical security related bugs in Java programs, and how to avoid them

  • typical attacks and counter measures in other programming languages (in particular with scripting languages and C/C++)

  • security mechanisms in operating systems and hardware (authentication, access privileges, dropping privileges, memory protection)

  • security in networking, including modern layered networking architecture

  • testing for security

 
Læringsaktiviteter:14 ugers undervisning bestående af forelæsninger og øvelser

------------------------------------
I intro-ugen (uge 35) er der ændrede kursustidspunkter ¿ se hvordan undervisningen er tilrettelagt her:
link til skemaoplysninger
Skemaoplysningerne for efterårssemesteret vil være tilgængelige fra august måned.

In the intro week (week 35) the course time table is changed ¿ see the schedule here:
link to the time table
The schedule for the fall term will be available in August.

-------------------------------------

Information om studiestruktur / Information about study structure

Dette kursus er en del af SDT¿s obligatoriske moduler, som du kan finde beskrevet her: SDT studiestruktur
For at blive cand.it. i SDT skal du bestå SDT¿s backbonekurser, og desuden gennemføre en 22,5 ECTS specialisering samt to 7,5 ECTS valgfag.

This course is part of the SDT mandatory modules ¿ find them described here:
SDT study structure
In order to graduate as a MSc in SDT, you need to pass the SDT backbone courses, and also take a 22,5 ECTS specialization and two 7,5 ECTS electives.
 

Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 7-trins-skala, Ekstern censur

Each student must give at least one presentation in the course and pass one homework assignment (a mini-project) in order to be admitted to the exam.

The production submitted for evaluation in the exam includes approved presentation plans, slides, evaluations of presentation, homework assignments, all combined in a diary of course activities of the student.

Each student is expected to give an oral presentation as a part of the exam.
 

Litteratur udover forskningsartikler: Computer Networking: A Top-Down Approach, 4/E
James F. Kurose, Keith W. Ross. Addison-WesleyA 2008.

Building Secure Software. John Viega. Gary McGraw.
Addison-Wesley 2002.
 
 
Afholdelse (tid og sted)
Kurset afholdes på følgende tid og sted:
UgedagTidspunktForelæsning/ØvelserStedLokale
Fredag 10.00-12.00 Forelæsning ITU 4A16
Fredag 13.00-15.00 Øvelser ITU 4A56, 4A48

Eksamen afholdes på følgende tid og sted:
EksamensdatoTidspunktEksamenstypeStedLokale
2008-12-17 Handing in written work no later than 3 PM Skriftlige arbejder ITU The Examination Office
2009-01-08 Tidspunkt oplyses senere Mundtlig eksamen ITU Lokale oplyses senere
2009-01-09 Tidspunkt oplyses senere Mundtlig eksamen ITU Lokale oplyses senere