Suchergebnis: Katalogdaten im Herbstsemester 2014

Informatik Master Information
Vertiefungsübergreifende Fächer
NummerTitelTypECTSUmfangDozierende
263-0006-00LAlgorithms Lab Information O6 KP4P + 1AA. Steger, E. Welzl, P. Widmayer
KurzbeschreibungStudents learn how to solve algorithmic problems given by a textual description (understanding problem setting, finding appropriate modeling, choosing suitable algorithms, and implementing them). Knowledge of basic algorithms and data structures is assumed; more advanced material and usage of standard libraries for combinatorial algorithms are introduced in tutorials.
LernzielThe objective of this course is to learn how to solve algorithmic problems given by a textual description. This includes appropriate problem modeling, choice of suitable (combinatorial) algorithms, and implementing them (using C/C++, STL, CGAL, and BGL).
LiteraturT. Cormen, C. Leiserson, R. Rivest: Introduction to Algorithms, MIT Press, 1990.
J. Hromkovic, Teubner: Theoretische Informatik, Springer, 2004 (English: Theoretical Computer Science, Springer 2003).
J. Kleinberg, É. Tardos: Algorithm Design, Addison Wesley, 2006.
H. R. Lewis, C. H. Papadimitriou: Elements of the Theory of Computation, Prentice Hall, 1998.
T. Ottmann, P. Widmayer: Algorithmen und Datenstrukturen, Spektrum, 2012.
R. Sedgewick: Algorithms in C++: Graph Algorithms, Addison-Wesley, 2001.
263-0007-00LAdvanced Systems Lab Information O6 KP4P + 1AG. Alonso
KurzbeschreibungThe goal of this course is to teach students how to evaluate the performance of complex computer and software systems. Accordingly, the methodology to carry out experiments and measurements is studied.
Furthermore, the modelling of systems with the help of queueing network systems is explained.
LernzielThe goal of this course is to teach students how to evaluate the performance of complex computer and software systems.
Vertiefungsfächer
Vertiefung in Computational Science
Kernfächer der Vertiefung Computational Science
NummerTitelTypECTSUmfangDozierende
252-0523-00LComputational Biology Information W6 KP3V + 2UG. H. Gonnet
KurzbeschreibungStudy of computational techniques, algorithms and data structures used to solve problems in computational biology. Topics: basic biology, string alignment, phylogeny (distance, character, parsimony), molecular evolution, multiple sequence alignment, probabilistic and statistical models, Markov models, microarrays, dynamic programming, maximum likelihood and specialized DNA and protein analysis.
LernzielFamiliarize the students with the basic concepts of molecular biology and the models and algorithms used to understand, classify and predict behaviour of living organism. This course is at the most basic level, where the main issues, mostly of molecular sequences, are studied.
InhaltThis course lies in the intersection between Computer Science and Molecular Biology. The main purpose is to study computational techniques, algorithms and data structures which are usually applied to solve problems in Molecular Biology and Biochemistry.
The following topics are likely to be covered: Introduction, mathematical models of evolution, protein and DNA sequence alignment and its meaning, phylogenetic tree construction, multiple sequence alignments, secondary structure prediction, molecular dynamics, threading, role of bioinformatics in drug design, etc. From the computer science point of view we concentrate our attention in practical solutions for the above problems. Biological knowledge is an asset but not a prerequisite.
636-0007-00LComputational Systems BiologyW6 KP3V + 2UJ. Stelling
KurzbeschreibungStudy of fundamental concepts, models and computational methods for the analysis of complex biological networks. Topics: Systems approaches in biology, biology and reaction network fundamentals, modeling and simulation approaches (topological, probabilistic, stoichiometric, qualitative, linear / nonlinear ODEs, stochastic), and systems analysis (complexity reduction, stability, identification).
LernzielThe aim of this course is to provide an introductory overview of mathematical and computational methods for the modeling, simulation and analysis of biological networks.
InhaltBiology has witnessed an unprecedented increase in experimental data and, correspondingly, an increased need for computational methods to analyze this data. The explosion of sequenced genomes, and subsequently, of bioinformatics methods for the storage, analysis and comparison of genetic sequences provides a prominent example. Recently, however, an additional area of research, captured by the label "Systems Biology", focuses on how networks, which are more than the mere sum of their parts' properties, establish biological functions. This is essentially a task of reverse engineering. The aim of this course is to provide an introductory overview of corresponding computational methods for the modeling, simulation and analysis of biological networks. We will start with an introduction into the basic units, functions and design principles that are relevant for biology at the level of individual cells. Making extensive use of example systems, the course will then focus on methods and algorithms that allow for the investigation of biological networks with increasing detail. These include (i) graph theoretical approaches for revealing large-scale network organization, (ii) probabilistic (Bayesian) network representations, (iii) structural network analysis based on reaction stoichiometries, (iv) qualitative methods for dynamic modeling and simulation (Boolean and piece-wise linear approaches), (v) mechanistic modeling using ordinary differential equations (ODEs) and finally (vi) stochastic simulation methods.
LiteraturU. Alon, An introduction to systems biology. Chapman & Hall / CRC, 2006.

Z. Szallasi et al. (eds.), System modeling in cellular biology. MIT Press, 2006.
Wahlfächer der Vertiefung Computational Science
NummerTitelTypECTSUmfangDozierende
252-0535-00LMachine Learning Information W6 KP3V + 2UJ. M. Buhmann
KurzbeschreibungMachine learning algorithms provide analytical methods to search data sets for characteristic patterns. Typical tasks include the classification of data, function fitting and clustering, with applications in image and speech analysis, bioinformatics and exploratory data analysis. This course is accompanied by a practical machine learning projects.
LernzielStudents will be familiarized with the most important concepts and algorithms for supervised and unsupervised learning; reinforce the statistics knowledge which is indispensible to solve modeling problems under uncertainty. Key concepts are the generalization ability of algorithms and systematic approaches to modeling and regularization. A machine learning project will provide an opportunity to test the machine learning algorithms on real world data.
InhaltThe theory of fundamental machine learning concepts is presented in the lecture, and illustrated with relevant applications. Students can deepen their understanding by solving both pen-and-paper and programming exercises, where they implement and apply famous algorithms to real-world data.

Topics covered in the lecture include:

- Bayesian theory of optimal decisions
- Maximum likelihood and Bayesian parameter inference
- Classification with discriminant functions: Perceptrons, Fisher's LDA and support vector machines (SVM)
- Ensemble methods: Bagging and Boosting
- Regression: least squares, ridge and LASSO penalization, non-linear regression and the bias-variance trade-off
- Non parametric density estimation: Parzen windows, nearest nieghbour
- Dimension reduction: principal component analysis (PCA) and beyond
SkriptNo lecture notes, but slides will be made available on the course webpage.
LiteraturC. Bishop. Pattern Recognition and Machine Learning. Springer 2007.

R. Duda, P. Hart, and D. Stork. Pattern Classification. John Wiley &
Sons, second edition, 2001.

T. Hastie, R. Tibshirani, and J. Friedman. The Elements of Statistical
Learning: Data Mining, Inference and Prediction. Springer, 2001.

L. Wasserman. All of Statistics: A Concise Course in Statistical
Inference. Springer, 2004.
Voraussetzungen / BesonderesSolid basic knowledge in analysis, statistics and numerical methods for
CSE. Experience in programming for solving the project tasks.
252-0543-01LComputer Graphics Information W6 KP3V + 2UM. Gross, O. Sorkine Hornung
KurzbeschreibungThis course covers some of the fundamental concepts of computer graphics. The two main parts of the class are image synthesis and geometric modeling.
LernzielAt the end of the course students will be able to design and implement a rendering system based on raytracing. You will study the basic principles of modeling with splines and integrate spline-based representations into a rendering system. In addition we want to stimulate your curiosity to explore the field of computer graphics on your own or in future courses.
InhaltThis course covers some of the fundamental concepts of computer graphics. The two main parts of the class are rendering and modeling. In the first part, we will discuss the basics of photorealistic image synthesis, i.e. how to generate a realistic image from a digital representation of a 3D scene. After introducing raytracing, we will briefly look at the physics of light transport, discuss the rendering equation, and investigate some advanced techniques to enhance the realism of rendered images. The second part will introduce the basics of modeling with curves and surfaces. We will discuss Bezier curves and surfaces, B-Splines and NURBS, and show how they can be used to design complex 3D geometry.
Skriptno
Voraussetzungen / BesonderesPrerequisites:
Fundamentals of calculus and linear algebra, basic concepts of algorithms and data structures, basic programming skills in C-like languages (we use JavaScript for exercises), Visual Computing core course recommended.
263-5001-00LIntroduction to Finite Elements and Sparse Linear System Solving Information W4 KP2V + 1UP. Arbenz, T. Kaman
KurzbeschreibungThe finite element (FE) method is the method of choice for (approximately) solving partial differential equations on complicated domains. In the first third of the lecture, we give an introduction to the method. The rest of the lecture will be devoted to methods for solving the large sparse linear systems of equation that a typical for the FE method. We will consider direct and iterative methods.
LernzielStudents will know the most important direct and iterative solvers for sparse linear systems. They will be able to determine which solver to choose in particular situations.
InhaltI. THE FINITE ELEMENT METHOD

(1) Introduction, model problems.

(2) 1D problems. Piecewise polynomials in 1D.

(3) 2D problems. Triangulations. Piecewise polynomials in 2D.

(4) Variational formulations. Galerkin finite element method.

(5) Implementation aspects.


II. DIRECT SOLUTION METHODS

(6) LU and Cholesky decomposition.

(7) Sparse matrices.

(8) Fill-reducing orderings.


III. ITERATIVE SOLUTION METHODS

(9) Stationary iterative methods, preconditioning.

(10) Preconditioned conjugate gradient method (PCG).

(11) Incomplete factorization preconditioning.

(12) Multigrid preconditioning.

(13) Nonsymmetric problems (GMRES, BiCGstab).

(14) Indefinite problems (SYMMLQ, MINRES).
Literatur[1] M. G. Larson, F. Bengzon: The Finite Element Method: Theory, Implementation, and Applications. Springer, Heidelberg, 2013.

[2] H. Elman, D. Sylvester, A. Wathen: Finite elements and fast iterative solvers. OUP, Oxford, 2005.

[3] Y. Saad: Iterative methods for sparse linear systems (2nd ed.). SIAM, Philadelphia, 2003.

[4] T. Davis: Direct Methods for Sparse Linear Systems. SIAM, Philadelphia, 2006.

[5] H.R. Schwarz: Die Methode der finiten Elemente (3rd ed.). Teubner, Stuttgart, 1991.
Voraussetzungen / BesonderesPrerequisites: Linear Algebra, Analysis, Computational Science.
The exercises are made with Matlab.
263-5150-00LScientific Databases Information W4 KP2V + 1UG. H. Gonnet
KurzbeschreibungScientific databases share many aspects with classical DBs, but have additional specific aspects. We will review Relational DBs, Object Oriented DBs, Knowledge DBs, textual DBs and the Semantic Web. All these topics will be studied from the point of view of the scientific applications (Bioinformatics, Physics, Chemistry, Health, Engineering) A toy SDB will be used for exercises.
LernzielThe goals of this course are to:
(a) Familiarize the students with how existing DBs can be used for
scientific applications.
(b) Recognize the areas where SciDBs differ and require additional
features compared to classical DBs.
(c) Be able to understand more easily SciDBs, improve existing ones
or design/create new ones.
(d) Familiarize the students with at least two examples of SciDBs.
Inhalt1) - Introduction, Statement of the problem, course structure, exercises,
why Scientific DBs (SDBs) do not fit exactly the classical DB area.
Hierarchy: File systems, data bases, knowledge bases and variations.
Efficiency issues and how they differ from classical DB.

2) - Relational DB used for scientific data, pros/cons
Introduction to RDB, limitations of the model, basics of SQL,
handling of metadata, examples of scientific use of RDBs.

3) - Object Oriented DB. Rich/structured objects are very appealing
in SDB. OODB primitives and environments. OODB searching.
Space and access time efficiency of OODBs.

4) - Knowledge bases, key-value stores, ontologies, workflow-based
architectures. WASA.

5) - MapReduce / Hadoop

6) - Storing and sharing mathematical objects, Open Math, its relation
with OODB and Knowledge bases. Also the problem of chemical
formula representation.

7) - SGML and XML, human-readable databases, genomic databases.
Advantages of human-readable databases (the huge initial success
of genomic databases).

8) - Semantic web, Resource Description Framework (RDF) triples, SparQL.
An example of very flexible database for knowlege storage. Goals of
the Semantic Web, discussion about its future.

9) - An ideal scenario (and the design of a toy system with most of the
desired features for exploration and exercises).

10) - Automatic dependency management, (make and similar). The graph
theory problem. Critical paths.

11) - Functional testing, Verifiers, Consistency, Short-circuit testing,
Recovery and Automatic recovery, Backup (incremental) methods.

12) - Performance and space issues, various uses of compression,
concurrency control. Hardware issues, clusters, Cloud computing,
Crowd-sourcing.

13) - Guest speaker: Ioannis Xenarios (UniProtKB/Swiss-Prot).
LiteraturSeveral papers and online articles will be made available.
There is no single textbook for this course.
A significant amount of material will be delivered in the lectures making lecture attendance highly recommended.
Seminar Computational Science
NummerTitelTypECTSUmfangDozierende
252-5701-00LAdvanced Topics in Computer Graphics and Vision Information W2 KP2SM. Gross, M. Pollefeys, O. Sorkine Hornung
KurzbeschreibungThis seminar covers advanced topics in computer graphics, such as modeling, rendering, animation, real-time graphics, physical simulation, and computational photography. Each time the course is offered, a collection of research papers is selected and each student presents one paper to the class and leads a discussion about the paper and related topics.
LernzielThe goal is to get an in-depth understanding of actual problems and research topics in the field of computer graphics as well as improve presentations and critical analysis skills.
InhaltThis seminar covers advanced topics in computer graphics,
including both seminal research papers as well as the latest
research results. Each time the course is offered, a collection of
research papers are selected covering topics such as modeling,
rendering, animation, real-time graphics, physical simulation, and
computational photography. Each student presents one paper to the
class and leads a discussion about the paper and related topics.
All students read the papers and participate in the discussion.
Skriptno script
LiteraturIndividual research papers are selected each term. See http://graphics.ethz.ch/ for the current list.
Voraussetzungen / BesonderesPrerequisites:
The courses "Computer Graphics I and II" (GDV I & II) are recommended, but not mandatory.
Vertiefung in Distributed Systems
Kernfächer der Vertiefung Distributed Systems
NummerTitelTypECTSUmfangDozierende
263-3800-00LAdvanced Operating Systems Information W6 KP2V + 2U + 1AT. Roscoe
KurzbeschreibungThis course is intended to give students a thorough understanding of design and implementation issues for modern operating systems. We will cover key design issues in implementing an operating system, such as memory management, scheduling, protection, inter-process communication, device drivers, and file systems.
LernzielThe goals of the course are, firstly, to give students a broader perspective on OS design than that provided by knowledge of Unix or Windows, building on the material in a standard undergraduate operating systems class, and secondly, to provide them with practical experience in dealing directly with the concurrency, resource management, and abstraction problems confronting OS designers and implementers.
InhaltThis course is intended to give students a thorough understanding of design and implementation issues for modern operating systems. We will cover key design issues in implementing an operating system, such as memory management, scheduling, protection, inter-process communication, device drivers, and file systems. We will pay particular attention to system structures that differ from traditional monolithic arrangements of Unix/Linux and Windows.
Voraussetzungen / BesonderesThe course consists of lectures, project work, and a written examination. Project work will be performed in small groups, where students will implement major components of a microkernel-based operating system. The final assessment will be a combination of project and examination grades.
252-1414-00LSystem SecurityW5 KP2V + 2US. Capkun, A. Perrig
KurzbeschreibungThe first part of the lecture covers individual system's aspects starting with tamperproof or tamperresistant hardware in general over operating system related security mechanisms to application software systems, such as host based intrusion detection systems. In the second part, the focus is on system design and methodologies for large projects.
LernzielIn this lecture, students learn about the security requirements and capabilities that are expected from modern hardware, operating systems and other software environments. An overview of available technologies, algorithms and standards is given, with which these requirements can be met.
InhaltThe first part of the lecture covers individual system's aspects starting with tamperproof or tamperresistant hardware in general over operating system related security mechanisms to application software systems such as host based intrusion detetction systems. The main topics covered are: tamper resistant hardware, CPU support for security, protection mechanisms in the kernel, file system security (permissions / ACLs / network filesystem issues), IPC Security, mechanisms in more modern OS, such as Capabilities and Zones, Libraries and Software tools for security assurance, etc.

In the second part, the focus is on system design and methodologies for large projects. The main question answered is how to get a large secure system. Topics include: patch management, common software faults (buffer overflows, etc.), writing secure software (design, architecture, QA, testing), compiler-supported security, langauge-supported security (java...), logging and auditing (BSM audit, dtrace, ...), cryptographic support, TCG, secure file systems, dos/windows/ windowsXP security issues.

Along the lectures, model cases will be elaborated and evaluated in the exercises.
Wahlfächer der Vertiefung Distributed Systems
NummerTitelTypECTSUmfangDozierende
252-0437-00LVerteilte Algorithmen Information W4 KP3VF. Mattern
KurzbeschreibungModelle verteilter Berechnungen; Raum-Zeit Diagramme; Virtuelle Zeit; Logische Uhren und Kausalität; Wellenalgorithmen; Verteilte und parallele Graphtraversierung; Berechnung konsistenter Schnappschüsse; Wechselseitiger Ausschluss; Election und Symmetriebrechung; Verteilte Terminierung; Garbage-Collection in verteilten Systemen; Beobachten verteilter Systeme; Berechnung globaler Prädikate.
LernzielKennenlernen von Modellen und Algorithmen verteilter Systeme.
InhaltVerteilte Algorithmen sind Verfahren, die dadurch charakterisiert sind, dass mehrere autonome Prozesse gleichzeitig Teile eines gemeinsamen Problems in kooperativer Weise bearbeiten und der dabei erforderliche Informationsaustausch ausschliesslich über Nachrichten erfolgt. Derartige Algorithmen kommen im Rahmen verteilter Systeme zum Einsatz, bei denen kein gemeinsamer Speicher existiert und die Übertragungszeit von Nachrichten i.a. nicht vernachlässigt werden kann. Da dabei kein Prozess eine aktuelle konsistente Sicht des globalen Zustands besitzt, führt dies zu interessanten Problemen.
Im einzelnen werden u.a. folgende Themen behandelt:
Modelle verteilter Berechnungen; Raum-Zeit Diagramme; Virtuelle Zeit; Logische Uhren und Kausalität; Wellenalgorithmen; Verteilte und parallele Graphtraversierung; Berechnung konsistenter Schnappschüsse; Wechselseitiger Ausschluss; Election und Symmetriebrechung; Verteilte Terminierung; Garbage-Collection in verteilten Systemen; Beobachten verteilter Systeme; Berechnung globaler Prädikate.
Literatur- F. Mattern: Verteilte Basisalgorithmen, Springer-Verlag
- G. Tel: Topics in Distributed Algorithms, Cambridge University Press
- G. Tel: Introduction to Distributed Algorithms, Cambridge University Press, 2nd edition
- A.D. Kshemkalyani, M. Singhal: Distributed Computing, Cambridge University Press
- N. Lynch: Distributed Algorithms, Morgan Kaufmann Publ
252-0817-00LDistributed Systems Laboratory Information
Im Masterstudium können zusätzlich zu den Vertiefungsübergreifenden Fächern nur max. 10 Kreditpunkte über Laboratorien erarbeitet werden. Weitere Laboratorien werden auf dem Beiblatt aufgeführt.
W10 KP9PG. Alonso, F. Mattern, T. Roscoe, R. Wattenhofer
KurzbeschreibungThis course involves the participation in a substantial development and/or evaluation project involving distributed systems technology. There are projects available in a wide range of areas: from web services to ubiquitous computing including wireless networks, ad-hoc networks, RFID, and distributed applications on smartphones.
LernzielGain hands-on-experience with real products and the latest technology in distributed systems.
InhaltThis course involves the participation in a substantial development and/or evaluation project involving distributed systems technology. There are projects available in a wide range of areas: from web services to ubiquitous computing including as well wireless networks, ad-hoc networks, and distributed application on smartphones. The goal of the project is for the students to gain hands-on-experience with real products and the latest technology in distributed systems. There is no lecture associated to the course.
For information of the course or projects available, please contact Prof. Mattern, Prof. Wattenhofer, Prof. Roscoe or Prof. G. Alonso.
263-3700-00LUser Interface Engineering Information
Findet dieses Semester nicht statt.
The course will be offered again in the spring semester 2015.
W4 KP2V + 1UO. Hilliges
Kurzbeschreibung
LernzielStudierende sollen verschiedene Ansätze für den Entwurf, die Entwicklung und Bewertung von Mensch-Maschine-Schnittstellen kennen lernen und deren Vor- und Nachteile verstehen. Sie sollen ein Verständnis für einen Mensch-zentrierten Systementwurf entwickeln. Ausserdem sollen Studenten die zugrundelegenden Aspekte der Sensor- und Ausgabetechnologien verstehen, sowie ein grundlegendes Verständnis von Algorithmen zum verarbeiten von User input in moderne Computersysteme entwickeln.

Insbesondere werden dabei Techniken zum Erfassen von Touch input sowie fundamentale Konzepte in der Erweiterten Realitaet und in Gesten basierter Interaktion vermittelt. Am Ende der Vorlesung sollten Studenten in der Lage sein anspruchsvolle user interface Technologien zu verstehen und anzuwenden, und in der Lage sein Systeme die unkonventionelle Sensorik und Displaytechnologien beinhalten zu entwickeln.
SkriptDie Vorlesungsfolien und weitere verwendete Materialien werden online gestellt. Vorlesungsmaterialien werden typischerweise erst nach dem Vorlesungstermin online gestellt.
LiteraturEine detailierte Literaturliste wird online zur Verfuegung gestellt.
Seminar Distributed Systems
NummerTitelTypECTSUmfangDozierende
252-3001-00LAdvanced Topics in Information Systems Information W2 KP2SM. Norrie
KurzbeschreibungThis seminar course will discuss research topics in the area of information systems. We will read recent research papers on a selected topic, and present/discuss them in class.
LernzielThe goal is to introduce students to current research, and to enable them to read, understand, and present scientific papers.
InhaltEach participant will be required to give a presentation of about 30 mins followed by a discussion on an assigned topic. In addition, each participant will be assigned as a buddy on another paper which means that they must read the paper and be prepared to start of the discussion on the paper with some comments and questions. Students also have to submit a 2-page summary of the paper that they present. Grading will depend on the quality of the talk, the report, and also active participation during the seminar.
Vertiefung in Information Security
Kernfächer der Vertiefung Information Security
NummerTitelTypECTSUmfangDozierende
252-0463-00LSecurity Engineering Information W5 KP2V + 2UD. Basin
KurzbeschreibungSubject of the class are engineering techniques for developing secure systems. We examine concepts, methods and tools, applied within the different activities of the SW development process to improve security of the system. Topics: security requirements&risk analysis, system modeling&model-based development methods, implementation-level security, and evaluation criteria for secure systems
LernzielSecurity engineering is an evolving discipline that unifies two important areas: software engineering and security. Software Engineering addresses the development and application of methods for systematically developing, operating, and maintaining, complex, high-quality software.
Security, on the other hand, is concerned with assuring and verifying properties of a system that relate to confidentiality, integrity, and availability of data.

The goal of this class is to survey engineering techniques for developing secure systems. We will examine concepts, methods, and tools that can be applied within the different activities of the software development process, in order to improve the security of the resulting systems.

Topics covered include

* security requirements & risk analysis,
* system modeling and model-based development methods,
* implementation-level security, and
* evaluation criteria for the development of secure systems
InhaltSecurity engineering is an evolving discipline that unifies two important areas: software engineering and security. Software Engineering addresses the development and application of methods for systematically developing, operating, and maintaining, complex, high-quality software.
Security, on the other hand, is concerned with assuring and verifying properties of a system that relate to confidentiality, integrity, and availability of data.

The goal of this class is to survey engineering techniques for developing secure systems. We will examine concepts, methods, and tools that can be applied within the different activities of the software development process, in order to improve the security of the resulting systems.

Topics covered include

* security requirements & risk analysis,
* system modeling and model-based development methods,
* implementation-level security, and
* evaluation criteria for the development of secure systems

Modules taught:

1. Introduction
- Introduction of Infsec group and speakers
- Security meets SW engineering: an introduction
- The activities of SW engineering, and where security fits in
- Overview of this class
2. Requirements Engineering: Security Requirements and some Analysis
- overview: functional and non-functional requirements
- use cases, misuse cases, sequence diagrams
- safety and security
- FMEA, FTA, attack trees
3. Modeling in the design activities
- structure, behavior, and data flow
- class diagrams, statecharts
4. Model-driven security for access control (design)
- SecureUML as a language for access control
- Combining Design Modeling Languages with SecureUML
- Semantics, i.e., what does it all mean,
- Generation
- Examples and experience
5. Model-driven security (Part II)
- Continuation of above topics
6. Security patterns (design and implementation)
7. Implementation-level security
- Buffer overflows
- Input checking
- Injection attacks
8. Testing
- overview
- model-based testing
- testing security properties
9. Risk analysis and management 1 (project management)
- "risk": assets, threats, vulnerabilities, risk
- risk assessment: quantitative and qualitative
- safeguards
- generic risk analysis procedure
- The OCTAVE approach
10. Risk analysis: IT baseline protection
- Overview
- Example
11. Evaluation criteria
- CMMI
- systems security engineering CMM
- common criteria
12. Guest lecture
- TBA
Literatur- Ross Anderson: Security Engineering, Wiley, 2001.
- Matt Bishop: Computer Security, Pearson Education, 2003.
- Ian Sommerville: Software Engineering, 6th ed., Addison-Wesley, 2001.
- John Viega, Gary McGraw: Building Secure Software, Addison-Wesley, 2002.
- Further relevant books and journal/conference articles will be announced in the lecture.
Voraussetzungen / BesonderesPrerequisite: Class on Information Security
252-1414-00LSystem SecurityW5 KP2V + 2US. Capkun, A. Perrig
KurzbeschreibungThe first part of the lecture covers individual system's aspects starting with tamperproof or tamperresistant hardware in general over operating system related security mechanisms to application software systems, such as host based intrusion detection systems. In the second part, the focus is on system design and methodologies for large projects.
LernzielIn this lecture, students learn about the security requirements and capabilities that are expected from modern hardware, operating systems and other software environments. An overview of available technologies, algorithms and standards is given, with which these requirements can be met.
InhaltThe first part of the lecture covers individual system's aspects starting with tamperproof or tamperresistant hardware in general over operating system related security mechanisms to application software systems such as host based intrusion detetction systems. The main topics covered are: tamper resistant hardware, CPU support for security, protection mechanisms in the kernel, file system security (permissions / ACLs / network filesystem issues), IPC Security, mechanisms in more modern OS, such as Capabilities and Zones, Libraries and Software tools for security assurance, etc.

In the second part, the focus is on system design and methodologies for large projects. The main question answered is how to get a large secure system. Topics include: patch management, common software faults (buffer overflows, etc.), writing secure software (design, architecture, QA, testing), compiler-supported security, langauge-supported security (java...), logging and auditing (BSM audit, dtrace, ...), cryptographic support, TCG, secure file systems, dos/windows/ windowsXP security issues.

Along the lectures, model cases will be elaborated and evaluated in the exercises.
Wahlfächer der Vertiefung Information Security
NummerTitelTypECTSUmfangDozierende
252-0811-00LApplied Security Laboratory Information
In the Master Programme max. 10 credits can be accounted by Labs on top of the Interfocus Courses. Additional Labs will be listed on the Addendum.
W8 KP7PD. Basin
KurzbeschreibungHands-on course on applied aspects of information security. Applied
information security, operating system security, OS hardening, computer forensics, web application security, project work, design, implementation, and configuration of security mechanisms, risk analysis, system review.
LernzielThe Applied Security Laboratory addresses four major topics: operating system security (hardening, vulnerability scanning, access control, logging), application security with an emphasis on web applications (web server setup, common web exploits, authentication, session handling, code security), computer forensics, and risk analysis and risk management.
InhaltThis course emphasizes applied aspects of Information Security. The students will study a number of topics in a hands-on fashion and carry out experiments in order to better understand the need for secure implementation and configuration of IT systems and to assess the effectivity and impact of security measures. This part is based on a book and virtual machines that include example applications, questions, and answers.

The students will also complete an independent project: based on a set of functional requirements, they will design and implement a prototypical IT system. In addition, they will conduct a thorough security analysis and devise appropriate security measures for their systems. Finally, they will carry out a technical and conceptual review of another system. All project work will be performed in teams and must be properly documented.
SkriptThe course is based on the book "Applied Information Security - A Hands-on Approach". More information: http://www.infsec.ethz.ch/appliedlabbook
LiteraturRecommended reading includes:
* Pfleeger, Pfleeger: Security in Computing, Third Edition, Prentice Hall, available online from within ETH
* Garfinkel, Schwartz, Spafford: Practical Unix & Internet Security, O'Reilly & Associates.
* Various: OWASP Guide to Building Secure Web Applications, available online
* Huseby: Innocent Code -- A Security Wake-Up Call for Web Programmers, John Wiley & Sons.
* Scambray, Schema: Hacking Exposed Web Applications, McGraw-Hill.
* O'Reilly, Loukides: Unix Power Tools, O'Reilly & Associates.
* Frisch: Essential System Administration, O'Reilly & Associates.
* NIST: Risk Management Guide for Information Technology Systems, available online as PDF
* BSI: IT-Grundschutzhandbuch, available online
Voraussetzungen / Besonderes* The lab allows flexible working since there are only few mandatory meetings during the semester.
* The lab covers a variety of different techniques. Thus, participating students should have a solid foundation in the following areas: information security, operating system administration (especially Unix/Linux), and networking. Students are also expected to have a basic understanding of HTML, PHP, JavaScript, and MySQL because several examples are implemented in these languages.
* Students must be prepared to spend more than three hours per week to complete the lab assignments and the project. This applies particularly to students who do not meet the recommended requirements given above. Successful participants of the course receive 8 credits as compensation for their effort.
* All participants must sign the lab's charter and usage policy during the introduction lecture.
252-1411-00LSecurity of Wireless NetworksW5 KP2V + 1U + 1AS. Capkun, C. Soriente
KurzbeschreibungCore Elements: Wireless communication channel, Wireless network architectures and protocols, Attacks on wireless networks, Protection techniques.
LernzielAfter this course, the students should be able to: describe and classify security goals and attacks in wireless networks; describe security architectures of the following wireless systems and networks: 802.11, GSM/UMTS, RFID, ad hoc/sensor networks; reason about security protocols for wireless network; implement mechanisms to secure
802.11 networks.
InhaltWireless channel basics. Wireless electronic warfare: jamming and target tracking. Basic security protocols in cellular, WLAN and
multi-hop networks. Recent advances in security of multi-hop networks; RFID privacy challenges and solutions.
263-4630-00LComputer-Aided Modelling and Reasoning Information
In the Master Programme max. 10 credits can be accounted by Labs on top of the Interfocus Courses. Additional Labs will be listed on the Addendum.
W8 KP7PA. Lochbihler, C. Sprenger
KurzbeschreibungThe "computer-aided modelling and reasoning" lab is a hands-on course about using an interactive theorem prover to construct formal models of algorithms, protocols, and programming languages and to reason about their properties. The lab has two parts: The first introduces various modelling and proof techniques. The second part consists of a project in which the students apply these techniques
LernzielThe students learn to effectively use a theorem prover to create unambiguous models and rigorously analyse them. They learn how to write precise and concise specifications and to exploit the proof assistant as a tool for checking and analysing such models and for taming their complexity.
InhaltThe "computer-aided modelling and reasoning" lab is a hands-on course about using an interactive theorem prover to construct formal models of algorithms, protocols, and programming languages and to reason about their properties. The focus is on applying logical methods to concrete problems supported by a theorem prover. The course will demonstrate the challenges of formal rigor, but also the benefits of machine support in modelling, proving and validating.
The lab will have two parts: The first introduces basic and advanced modelling techniques (functional programs, inductive definitions, modules) and the associated proof techniques (term rewriting, resolution, induction, proof automation). In the second, the students work in teams of 2-3 on a project in which they apply these techniques to a given topic: they build a formal model and prove its desired properties. The topic will be taken from the area of programming languages, model checking, or information security.
  •  Seite  1  von  4 Nächste Seite Letzte Seite     Alle