Pisanie bezpiecznych programów w Javie
r. ak. 2008/2009
Prowadzący
Strona laboratorium
Zasady zaliczania
Zaliczenie przedmiotu będzie składało się z 3 elementów:
- Analizy bezpieczeństwa w postaci dokumentu o 10-20 standardowych
stronach
- Wykonanego zadania programistycznego
- Egzaminu w postaci prezentacji
Nie można dostać zaliczenia, jeśli nie zostanie wypełniony każdy z
tych elementów.
Wszystkie te elementy wykonywane są z zasady w zespołach czteroosobowych,
a ocena końcowa to średnia z ocen z laboratorium i wykładu. Pierwsze dwa
elementy z powyższej listy składają się na ocenę z laboratorium, trzecia
na ocenę z wykładu.
Terminarz
Przedmiot będzie się odbywał według następującego harmonogramu:
- 1. tydzień - prezentacja projektów do zrobienia
- 2. tydzień - wybór grup i projektów do realizacji
- 3. tydzień - konsultacje
- 4. tydzień - konsultacje
- 5. tydzień - deadline na analizę bezpieczeństwa
- 6. tydzień - omówienie analizy (1)
- 7. tydzień - omówienie analizy (2)
- 8. tydzień - konsultacje
- 9. tydzień (z 22.04), bo Wielkanoc - deadline na projekty,
omówienie projektów (1)
- 10. tydzień - omówienie projektów (2)
- 11. tydzień - konsultacje
- 12. tydzień - wstępna prezentacja kodu (1)
- 13. tydzień - wstępna prezentacja kodu (2)
- 14. tydzień - konsultacje
- 15. tydzień - konsultacje
- 7.06 deadline na przysłanie prac programistycznych
- egzamin w sesji przez pokazanie prezentacji
Termin egzaminu
- Egzamin odbędzie się 22.06.2009.
- Miejsce egzaminu: sala 3250, MIMUW
- Wolne sloty na prezentacje:
- 10:00-10:20 - Projekt SMS (Sieciowy Menadżer Sekretów)
Adam Michalik, Bartosz Franaszek, Mateusz Błażewicz, Piotr Marat,
Tomasz Niedobylski
- 10:20-10:40 - Manager sekretów
Szymon Doroz, Piotr Świgoń, Tomasz Turski, Przemysław Zych
- 10:40-11:00 - MIDPSSH-JIF
Paweł Brach, Piotr Mikulski, Gabriel Kłosinski, Bartłomiej Bonarski
- 11:00-11:20 - Bezpieczny chat
Arkadiusz Firus, Marcin Jałmużna, Artur Mączka, Jakub Zwolakowski
- 11:20-11:40 - Chińczych po Bluetooth
Grzegorz Maj, Aleksander Lewandowski, Dariusz Stefański,
Magdalena Zakrzewska
- 11:40-12:00 - Odysseus - aplikacja komórkowa do przechowywania
list z zakupami
Julian Jezierski, Marcin Mieteń, Remek Mytyk, Maciej Szarliński
- Przerwa
- 12:40-13:00 Poker na komórkę
Alan Pilawa, Magdalena Michalska, Krzysztof Płocharz, Łukasz Rekucki
- 13:00-13:20 Menadżer sekretów na telefony komórkowe
Joanna Iwaniuk, Michał Kutyła, Wojciech Łobacz, Michał Pękała,
Maciej Pazurkiewicz
- 13:20-13:40 Terminarz "Lendarzka"
Joanna Włodawiec, Krzysztof Kostałkowicz, Krzysztof Mroczek,
Łukasz Kajda
- Przerwa
- 14:20-14:40
- 14:40-15:00
- 15:00-15:20
Plan wykładu
-
Zagadnienia wstępne (PDF)
-
Przedstawienie możliwych zagrożeń przy tworzeniu aplikacji
(1 wykład) (PDF)
-
Systematyczna analiza bezpieczeństwa przy projektowaniu aplikacji
(1 wykład) (PDF)
-
Mechanizmy bezpieczeństwa udostępniane przez Javę (2 wykłady)
(PDF)
-
Techniki zabezpieczania kodu - wzorce programowe (1 wykład)
(PDF)
-
Techniki zabezpieczania kodu - analiza przepływu informacji
(1 wykład)
(PDF)
-
Techniki zabezpieczania kodu - sprawdzanie modeli (1 wykład)
(1 wykład)
(PDF)
-
Techniki zabezpieczania kodu - kontrola wyjątków (1 wykład)
(PDF)
-
Techniki zabezpieczania kodu - kontrola wywołań API (3 wykłady)
(PDF)
-
Techniki zabezpieczania kodu - dziedziczenie (2 wykłady)
(PDF)
-
Techniki zabezpieczania kodu - kontrola kanałów informacyjnych
(2 wykłady)
(PDF - od 11. slajdu)
Literatura
- Bruce Schneier, Secrets and Lies, Wiley Publishing Inc.
- JML, http://www.jmlspecs.org
- G. McGraw, E. Felten, Securing Java
- literatura sugerowana na wykładach
Wszelkie uwagi prosimy zgłaszać pod adresem: alx@mimuw.edu.pl