Konsultacje / Office hours:
Środa / Wednesday: 13:15-15:15
Uwaga! Konsultacje odbywają się osobiście w 217 D-1, istnieje możliwość na MS Teams.
Proszę zgłosić chęć udziału wcześniej i zarezerwować sobie miejsce, obowiązują sloty czasowe.
It is highly recommended to send me specific inquires by e-mail in order to give me some time for thinking :)
Zalecenia korzystania z narzędzi AI:
Na moich zajęciach wymagam aby uczestnicy zapoznali się i zastosowali do zaleceń obowiązujących na Politechnice Wrocławskiej w zakresie wykorzystania narzędzi sztuczenej inteligencji - Zalecenia korzystania z narzędzi AI na Politechnice Wrocławskiej.
Prowadzone kursy / Running classes:
- Biometria - I st. Cyberbezpieczeństwo
- Środa 11.15-13.00 (wykład), s.30, D-1
- Systemy biometryczne - I st. Cyberbezpieczeństwo
- Wtorek 13.15-15.00 (wykład), s.D1.1 C-16
- Architektura komputerów - I st. Informatyka algorytmiczna
- Poniedziałek 13.15-15.00 (lab), s. 317.3, D-1
- Poniedziałek 15.15-16.55 (lab), s. 317.3, D-1
- Praca dyplomowa
- Środa 13:15-16:00, 217, D-1
Biometria / Systemy biometryczne
O kursie i zasady zaliczenia
Karty przedmiotów dostępne są pod linkami: Biometria, Systemy biometryczne.
Podstawą zaliczenia tych grup kursów jest uzyskanie pozytywnej oceny z wchodzących w ich skład zajęć - tj. wykładu (kolokwium zaliczeniowe), seminarium (ocena prezentacji i projektu) oraz laboratorium (jeśli dotyczy, rozwiązywanie list zadań oraz praca na zajęciach).
Zajęcia są wprowadzone wspólnie z mgr inż. Anną Grytsko, inż. Maksymilianem Górskim (seminaria Systemy Biometryczne i Biometria) oraz mgr inż. Piotrem Giedziunem (laboratoria Systemy Biometryczne)
Wzór na ocenę końcową przedstawia się następująco:
- Biometria: O = 0.5xW + 0.5xS
- Systemy biometryczne: O = 0.4xW + 0.35xL + 0.25xS Gdzie, W - ocena z wykładu, S - ocena z seminarium, L - ocena z laboratorium
Punktacja kolokwium:
0-7 | 2.0 |
8 | 3.0 |
9 | 3.5 |
10-11 | 4.0 |
12-13 | 4.5 |
14-15 | 5.0 |
Terminy kolokwium:
- 29.01.2025 - Biometria
- 28.01.2025 - Systemy Biometryczne
Wyniki:
Wyniki - Biometria - TBA
Wyniki - Systemy biometryczne - TBA
Wykład
Wykład 1 i 2 - Wprowadzenie, kluczowe właściwości i zastosowania
- Literatura - Bolle R. M., Connell J. H., Pankanti S., Ratha N. K., Senior, Biometria, Wydawnictwa Naukowo-Techniczne PWN-WNT, 2008
- Literatura - Krzysztof Ślot, Rozpoznawanie biometryczne. Nowe metody ilościowej reprezentacji obiektów, Wydawnictwa Komunikacji i Łączności, 2011
- Literatura - Krzysztof Ślot, Wybrane zagadnienia biometrii, Wydawnictwa Komunikacji i Łączności, 2008
- Artykuł - Wojciech Wodo, Lucjan Hanzlik, Thermal imaging attacks on keypad security systems
- Prezentacja - Krzysztof Ślot, Identyfikacja Biometryczna
Wykład 3 - Błędy FAR i FRR, krzywa ROC i DET, CMC
- Prezentacja - Błędy systemów biometrycznych
- Prezentacja - Adam Czajka, Statystyczna ocena systemów biometrycznych
Wykład 4 - Testowanie, dobór i porównywanie systemów biometrycznych
- Prezentacja - Andrzej Czyżewski, Przegląd technologii biometrycznych
Wykład 5 - Biometria odcisku palca
- Wideo - Computerphile, Fingerprint Recognition
- Prezentacja - Krzysztof Kamiński, Biometryczne sposoby identyfikacji - odciski palców
- Wideo - EMCE, Czy da się ukraść odciski palców ze zdjęcia? cz.1
- Wideo - EMCE, Czy da się ukraść odciski palców ze zdjęcia? cz.2
Seminarium
- Zajęcia seminaryjne będą odbywać się w zespołach, oznacza to, że w każdej grupie zostaną sformułowane zespoły i przydzielone obszary tematyczne.
- Każdy z zespołów będzie prezentować się dwukrotnie, każde wystąpienie będzie oceniane pod względem merytorycznym, ale także przekazu treści, formy prezentacji i kontaktu z audytorium.
- Dodatkowym elementem seminarium będzie każdorazowa sesja pytań i odpowiedzi, w której pozostałe zespoły zasypują prezentującą grupę pytaniami. Umiejętność radzenia sobie z pytanimi oraz jakość merytoryczna odpowiedzi również będzie wpływać na ocenę wystąpienia.
- Zespół otrzymuje ogólną ocenę swoje pracy oraz informację zwrotną od prowadzącego, a następnie wewnętrznie zespół ustala oceny cząstkowe swoich członków na drodze konsensusu, tak aby średnia ocena wszystkich jego członków nie przekroczyła oceny ogólnej.
- Obecność na seminariach jest obowiązkowa, dopuszczalna jest jedna nieusprawiedliwiona nieobecność.
- Aktywność studenta podczas zajęć może wpłynąć pozytywnie, bądź negatywnie na ocenę końcową o 0.5
- Prezentacja - Podsumowanie informacji o seminarium.
Laboratorium
- Praca na laboratorium będzie wymagała wcześniejszego przygotowania się w domu. Zalecam pracę na własnym sprzęcie, instalację maszyny wirtualnej oraz przygotowanie środowiska pracy według zaleceń prowadzącego laboratoria. Proszę o przygotowanie sobie środowiska programistycznego C++, Python oraz Arduino.
- W ramach zajęć będą do przygotowania 4 raporty podsumowujące przeprowadzone działania, ich opis, wyniki i wnioski, które będą podstawą zaliczenia, każdy z raportów musi być ostatecznie oceniony minimalnie na 3.0.
- Prowadzący laboratoria podczas zajęć wprowadza w tematykę opracowywania, pokazuje przykłady i zadaje zadania do samodzielnego wykonania, należy je zrealizować na zajęciach i w okresie pomiędzy kolejnymi laboratoriami oraz odpowiednio opisać w raporcie. Wyniki pracy nie będą sprawdzane podczas laboratoriów.
- Obecność na laboratoriach jest obowiązkowa, dopuszczalna jest jedna nieusprawiedliwiona nieobecność.
- Aktywność studenta podczas zajęć może wpłynąć pozytywnie, bądź negatywnie na ocenę końcową o 0.5
- Strona laboratorium: piotrgiedziun.github.io/biometric-systems/
Architektura komputerów (laboratoria)
Zajęcia odbywają się w cyklu cotygodniowym, na których omawiane są postępy i problemy w realizacji projektów. Obencność na zajęciach jest obowiązkowa, dopuszcza się dwie nieusprawiedliwione nieobecności. Aktywność podczas zajęć i pracy nad zadaniami może wpłynąć zarówno pozytynie, jak i negatywnie na ocenę końcową o 0.5.
Zasady zaliczenia
Na laboratorium będą oceniane wiedza studenta oraz sposób i terminowość przedstawianych etapów rozwiązań. Prowadzący będzie wymagał szczegółowej znajomości użytych technik rozwiązania, może poprosić o modyfikację lub dodanie nowych fragmentów do istniejącego już kodu źródłowego. Za każdy tydzień spóźnienia ocena będzie obniżana o jeden stopień. Na ocenę końcową składać się będzie średnia ważona ocen za poszczególne etapy z uwzględnieniem terminowości oraz aktywności.
Dodatkowe informacje
1-2 Tydzień
Pojęcia do przyswojenia: S.M.A.R.T, POST, UEFI, boot loader, NCQ, LBA, SCSI, DMA, INT / IRQ, EPROM, EEPROM, Flash Zastanowić się nad następującymi zagadnieniami: na czym polega zapis informacji na dysku?, co robi procedura usuwania danych?, jak skutecznie usunąć zapisaną informację? jak wygląda przekierowanie strumienia wykonania programu przy wystąpieniu przerwania?
3-4 Tydzień
Pojęcia do przyswojenia: zasilacz AT / ATX, sprawność zasilacza, RS232C / COM, LPT, USB (1.1, 2.0, 3.0), szyny komunikacyjne ISA, PCI, AGP, PCI eXpress, kontrolery IDE Zastanowić się nad następującymi zagadnieniami: jak zasilany jest komputer? jakie napięcia są wykorzystywane i w jakich miejscach? jak wygląda transmisja danych przez port szeregowy typu COM, a jak przez port równoległy typu LPT?
4-5 Tydzień
Pojęcia do przyswojenia: ANSI bomb, shellcode, debugger, breakpoint, stos, wierzchołek stosu, rejestr, asemblacja, deasemblacja, buffer overflow, stack overflow Zastanowić się nad następującymi zagadnieniami: jak można wykorzystać sekwencje ANSI w odniesieniu do kwestii bezpieczeństwa, jak wywołać shellcode z poziomu kodu programu języka wyższego poziomu.
9-10 Tydzień
Pojęcia do przyswojenia: zagłodzenie procesu(ang. starving), zakleszczenie procesu(ang. deadlock), sesja krytyczna, synchronizacja wątków, semafory Zastanowić się nad następującymi zagadnieniami: jak można zoptymalizować przydział wspólnych zasobów dla wielu procesów (np. na przykładzie problemu filozofów)
Literatura
Konsultacje / Office hours:
Poniedziałek / Monday: 13:15-15:15
Uwaga! Konsultacje odbywają się osobiście w 217 D-1, istnieje możliwość na MS Teams.
Proszę zgłosić chęć udziału wcześniej i zarezerwować sobie miejsce, obowiązują sloty czasowe.
It is highly recommended to send me specific inquires by e-mail in order to give me some time for thinking :)
Prowadzone kursy / Running classes:
- Bezpieczeństwo komputerowe - I st. Informatyka algorytmiczna
- Poniedziałek 11.15-13.00 (laboratorium), 317.2, D-1
- Poniedziałek 15.15-16.55 (laboratorium), 317.2, D-1
- Praca dyplomowa
- Poniedziałek 13:15-15:15, 217, D-1
Bezpieczeństwo komputerowe
O kursie i zasady zaliczenia
Zajęcia są koordynowane przez dr inż. Annę Lauks-Dutkę, która prowadzi dla nich stronę pod adresem: https://cs.pwr.edu.pl/lauks/sec.html.
Karta przedmiotu dostępna pod linkiem: Bezpieczeństwo komputerowe.
Zasady zaliczenia tej grupy kursów jest dostępna pod adresem: zasady zaliczenia.
Laboratorium
- Praca na laboratorium będzie wymagała wcześniejszego przygotowania się w domu. Zalecam pracę na własnym sprzęcie, instalację maszyny wirtualnej oraz przygotowanie środowiska pracy według zaleceń prowadzącego laboratoria. Proszę o przygotowanie sobie odpowiedniego środowiska programistycznego.
- Prowadzący laboratoria podczas zajęć wprowadza w tematykę opracowywania, pokazuje przykłady i zadaje zadania do samodzielnego wykonania, należy je zrealizować na zajęciach i w okresie pomiędzy kolejnymi laboratoriami oraz potrafić odpowiednio uzasadnić. Prowadzący może zadawać pytania odnośnie prezentowanych rozwiązań oraz wymagać modyfikacji kodu celem osiągnięcia innych efektów jego działania.
- Obecność na laboratoriach jest obowiązkowa, dopuszczalne są dwie nieusprawiedliwione nieobecności.
- Aktywność studenta podczas zajęć może wpłynąć pozytywnie, bądź negatywnie na ocenę końcową o 0.5
Wyniki:
TBA
Materiały dodatkowe:
Praca dyplomowa - diploma thesis
Na spotkaniach będziemy omawiać postępy w realizacji prac dyplomowych oraz prezentować zgromadzony materiał, dyskutować nad otrzymanymi wynikami i ustalać dalsze etapy pracy do wykonania.
Spotkania odbywają się osobiście lub zdalnie na kanale MS Teams.
Dodatkowe informacje
...
Konsultacje / Office hours:
Środa / Wednesday: 13:15-15:15
Uwaga! Konsultacje odbywają się osobiście w 217 D-1, istnieje możliwość na MS Teams.
Proszę zgłosić chęć udziału wcześniej i zarezerwować sobie miejsce, obowiązują sloty czasowe.
It is highly recommended to send me specific inquires by e-mail in order to give me some time for thinking :)
Prowadzone kursy / Running classes:
- Biometria - I st. Cyberbezpieczeństwo
- Wtorek 9.15-11.00 (wykład), D1.1, C-16
- Czwartek 15.15-16.55 (seminarium), 311a, D-1
- Systemy biometryczne - I st. Cyberbezpieczeństwo
- Wtorek 13.15-15.00 (wykład), s.D1.1 C-16
- Embedded Systems Security - MSc Program at Computer Security
- Thursday 9.15-11.00 (lab), r. 317.3, D-1
- Thursday 11.15-13.00 (lecture), r. 215, D-1
- Seminarium dyplomowe - I st. Informatyka algorytmiczna
- Środa 8.30-11.00, s. 4.09, C-11
- Programowanie zespołowe - I st. Informatyka algorytmiczna
- Wtorek 7.30-9.00, s. 317.3, D-1
- Praca dyplomowa
- Środa 13:15-16:00, 217, D-1
Embedded Security Systems - MSc programe
Rules
The student's knowledge and the manner and timeliness of the presented solution stages will be assessed at the laboratory classes. The lecturer will require a detailed knowledge of the solution techniques used, may ask to modify or add new fragments to the existing source code. The final grade for laboratory is calculated as the average of grades for each list, including timeliness and activity. Each stages of classes will require sum up in a form of written report, which will be evaluated. Participation in the classes is mandatory. Activity during the classes may impact the grade either positive or negative.
Additional information
After finishing some part of material students will be requested to prepare recapping report covering what they did during solving assignments, including objectives, experiments, codes snippets, results and the most important part - discussion and reflections. Report should be prepared in written form (PDF file) and submitted by e-mail till the end of the highlighted week.
Final grade for the course is calculated as follows: F=0.5*L+0.5*E, where L-grade from laboratory, E-grade from exam.
Exam terms
Introduction
-
Lecture 1
- Breaking into Embedded Devices and IoT Security
- Intro to Hardware Reversing: Finding a UART and getting a shell
- Make Me Hack #01 - Identifying Components - Hardware Hacking Tutorial
- FCC ID Search (Federal Communication Commission)
- OpenWRT (Linux operating system targeting embedded devices)
Hardware and Software Reverse Engineering
-
Lecture 2
- Intro to hardware security: UART access and SPI firmware extraction
- Introduction to Firmware Reversing
- IoT Firmware Emulation and Exploitation
- Make Me Hack #02 - How To Find The UART Interface - Hardware Hacking Tutorial
- Lecture 3
- Building Poor Man's Logic Analyzer with an Arduino - Reverse Engineering A/C Remote part 1
- Capturing & Analyzing Packets with Saleae Logic Pro 8 - Reverse Engineering A/C Remote part 2
-
Lecture 4 - Firmadyne (software for emulating the firmware)
- Make Me Hack #04 - How To Get The Firmware - Hardware Hacking Tutorial
- Hack All The Things: 20 Devices in 45 Minutes
Trusted Platform Module
-
Lecture 5
- Trusted Platform Module (TPM) Part 1
- TPM Trusted Platform Module and Windows 10 Part 2
- Windows 10 and Secure Boot
- Trusted Platform Module (TPM) Summary
- The Trusted Platform Module Specifications Hardware Security Module (HSM)
- Explaining HSMs | Part 1 - What do they do? (all 5 parts on HSM)
- What are the differences between TPM and HSM?
Embedded Systems Vulnerabilities
-
Lecture 6
- IoT Security -> Introduction
- Testing the Security of Embedded Systems
- Security Controls & Vulnerabilities in Embedded System OS Lecture 7
- Hardware Trojan Detection Overview (all parts)
Software Defined Radio
-
Lecture 8
- Radio Hacking: Cars, Hardware, and more! - Samy Kamkar - AppSec California 2016
- Digital Ding Dong Ditch Prank - hacking wireless doorbells w/Arduino and RTL-SDR, http://samy.pl/dingdong/,http://kmkeen.com/rtl-demod-guide/
- #286 How does Software Defined Radio (SDR) work under the Hood? SDR Tutorial
- Software Defined Radio with HackRF
- Michael Ossmann: Simple RF Circuit Design GSM and SIM Card
- The Secret Life of SIM Cards
- How do SIM Cards work? - SIMtrace
- GSM Mobile Network Intro - Nokia Network Monitor
Lecture 9
Automotive Security
-
Lecture 10
- Automotive Security: Challenges and Solutions
- ISO/SAE 21434: The Standard for Automotive Cyber Security (2020)
- Car Hacking Demo: How to Hack an ECU, Automotive Penetration Testing (2019)
- Distance-Bounding Protocols: Verification without Time and Location
- VB2018 paper: Under the hood: the automotive challenge
- Search for electric car traction battery charge level signal in CAN bus (thanks to Mr. Pawel Cyprys)
Physical Unclonable Functions (PUFs)
-
Lecture 11
- Hardware security - Physical Unclonable Functions PUF Basics
- PUF (part 1), (part 2) and (part 3) Lecture 12
- Physical Unclonable Functions and Applications: A Tutorial (paper)
- Physical Unclonable Functions for Device Authentication and Secret Key Generation (paper)
Smart Cards and modern ID documents
-
Lecture 13
- Smart Card Basics
- An Introduction to Java Card Technology
- Prezentacja Laboratorium Programowania Kart Elektronicznych
- EMV Integrated Circuit Card Specifications for Payment Systems
- A Rambling Walk Through an EMV Transaction
Kleptography
-
Lecture 14
- 26C3: Yes We Cant - on kleptography and cryptovirology, all 6 parts by Moti Yung (the creator)
- Kleptography 101 - Adam Janovsky
- Cliptography Clipping the Power of Kleptographic Attacks
- Malicious Cryptography by Moti Yung & Adam Young
Lists
- List 1: IrDA and oscilloscope showcase. Saleae download page for logic analyzer software. We used infrared receiver TSOP31236 datasheet and some code for Arduino. Traces of IrDA communication from the remote as picked up by the receiver will be send to respective students via email for decoding.
Make sure you can identify protocol used for data transmission and you are able to decode the data, as well as, create your own valid frame and transmit it. The ultimate goal is to perform replay attack - be able to transmit exactly the same data as grabbed in the traces. - List 2: Securing IrDA transmission with A5/1. Using Arduino platform and the IrDA hardware from the showcase build a transmission link protected with A5/1 implementation of stream cipher. There are two cases to implement:
- The two communicating PCs separately produce the keychains from A5/1 and pass it to Arduino boards using UART. The encrypted message is sent between the Arduinos over IrDA link (this is case for people who have got two pieces of Arduino).
- Adruino board is connected via UART link with PC for keystream transmission. The keystream is received from the sending PC and forwarded in parallel with the cryptogram via IrDA link in a broadcast mode. In this case logical signal analyzer is helpful to capture the data on the transmitter side You can compare plain text and encrypted signal.
REPORT SUBMISSION (31 October 2023)
- Information and data gathering,
- UART detection, determine voltage levels and pins order, establish the connection,
- Get firmware from the board or download it from manufacturer,
- Analyze firmware, extract it, get access to the essential resources of the device,
- Retrieve root password or get access to the root shell on the device.
- Have a look at running OS system on device (after accessing the root) and perform some analysis of working processes, find out how this type of embedded OS is built, what commands are available, access the router config file, try to get some files from the device.
Your task is to overcome each security means by using different analysis methods and prepare scripts/toolkits facilitating attacks. You should be able to establish connection between target board and your computer via UART or other interface in order to perform the communication and take control over the device.
Useful commands and tools: busybox, dd, grep, sed, regular expressions, python, bash scripts, pearl, binwalk, strings, u-boot, command line for u-boot,...
Toolkits:
Ghidra - software reverse engineering suite provided by NSA and guide, video (thanks to Pawel Cyprys) ghidra_SavePatch (Ghidra script for exporting modified binaries) (thanks to Michal Gancarczyk) ripgrep (grep tool optimized for recursive directory searches) (thanks to Michal Gancarczyk) JD-GUI (Java decompiler) (thanks to Michal Gancarczyk) Recaf (Java decompiler and bytecode editor) (thanks to Michal Gancarczyk)
REPORT SUBMISSION (11 December 2023)
- Change the default credentials -> for instance password for the admin user and try to get access to the webadmin toolkit anyway. Think about remote password cracking attack.
- After getting the access to webadmin toolkit perform once more data gathering and try to find CVE and exploit it in order to get access to the root shell via remote network connection.
- Share all interesting insights gathered during your reverse engineering activity among all the groups and create a shared DOC file including all of them in a form of separated entries.
REPORT SUBMISSION (31 December 2023)
- Door keypad - PIN (for getting access)
- Login/Password (for getting privileges)
- Red herrings (for misleading adversary)
Upload the code to the Arduino and launch the device. Your task is to overcome each security means by using different analysis methods and prepare scripts/toolkits facilitating attacks. You should be able to establish connection between Arduino and your computer via serial port in order to perform the communication or use another Arduino. Your ultimate goal is changing the blinking frequency of the device.
Remember about everything you have learned so far!REPORT SUBMISSION (31 January 2024)
Marks
Biometria / Systemy biometryczne
O kursie i zasady zaliczenia
Karty przedmiotów dostępne są pod linkami: Biometria, Systemy biometryczne.
Podstawą zaliczenia tych grup kursów jest uzyskanie pozytywnej oceny z wchodzących w ich skład zajęć - tj. wykładu (kolokwium zaliczeniowe), seminarium (ocena prezentacji i projektu) oraz laboratorium (jeśli dotyczy, rozwiązywanie list zadań oraz praca na zajęciach).
Zajęcia są wprowadzone wspólnie z mgr inż. Anną Grytsko (seminaria Systemy Biometryczne i Biometria) oraz mgr inż. Piotrem Giedziunem (laboratoria Systemy Biometryczne)
Wzór na ocenę końcową przedstawia się następująco:
- Biometria: O = 0.5xW + 0.5xS
- Systemy biometryczne: O = 0.4xW + 0.35xL + 0.25xS Gdzie, W - ocena z wykładu, S - ocena z seminarium, L - ocena z laboratorium
Punktacja kolokwium:
0-7 | 2.0 |
8 | 3.0 |
9 | 3.5 |
10-11 | 4.0 |
12-13 | 4.5 |
14-15 | 5.0 |
Terminy kolokwium:
- 30.01.2024 - Biometria
- 30.01.2024 - Systemy Biometryczne
Wyniki:
Wyniki - Biometria
Wyniki - Systemy biometryczne
Wykład
Wykład 1 i 2 - Wprowadzenie, kluczowe właściwości i zastosowania
- Literatura - Bolle R. M., Connell J. H., Pankanti S., Ratha N. K., Senior, Biometria, Wydawnictwa Naukowo-Techniczne PWN-WNT, 2008
- Literatura - Krzysztof Ślot, Rozpoznawanie biometryczne. Nowe metody ilościowej reprezentacji obiektów, Wydawnictwa Komunikacji i Łączności, 2011
- Literatura - Krzysztof Ślot, Wybrane zagadnienia biometrii, Wydawnictwa Komunikacji i Łączności, 2008
- Artykuł - Wojciech Wodo, Lucjan Hanzlik, Thermal imaging attacks on keypad security systems
- Prezentacja - Krzysztof Ślot, Identyfikacja Biometryczna
Wykład 3 - Błędy FAR i FRR, krzywa ROC i DET, CMC
- Prezentacja - Błędy systemów biometrycznych
- Prezentacja - Adam Czajka, Statystyczna ocena systemów biometrycznych
Wykład 4 - Testowanie, dobór i porównywanie systemów biometrycznych
- Prezentacja - Andrzej Czyżewski, Przegląd technologii biometrycznych
Wykład 5 - Biometria odcisku palca
- Wideo - Computerphile, Fingerprint Recognition
- Prezentacja - Krzysztof Kamiński, Biometryczne sposoby identyfikacji - odciski palców
- Wideo - EMCE, Czy da się ukraść odciski palców ze zdjęcia? cz.1
- Wideo - EMCE, Czy da się ukraść odciski palców ze zdjęcia? cz.2
Wykład 6 - Biometria tęczówki
- Wideo - Prof. John Daugman, Iris Recognition
- Raport - Maciej Mistoń i Leon Alrae, Rozpoznawanie wzorców ludzkiej tęczówki oka
Wykład 7 - Biometria behawioralna - keystroking
- Artykuł - W.Wodo, M.Klonowski & P.Syga SOME REMARKS ON KEYSTROKE DYNAMICS: Global Survillience, Retriving Information and Simple Countermeasures
- Artykuł - W.Wodo & L.Hanzlik, Identity security in biometric systems based on keystroking
Wykład 8 i 9 - Biometria twarzy
- Artykuł - P.Viola & M.Jones Rapid Object Detection using a Boosted Cascade of Simple Features
- Wideo - Computerphile, Detecting Faces (Viola Jones Algorithm)
- Wideo - Adam Harvey, OpenCV Face Detection: Visualized
- Artykuł - Kevin Salton do Prado, Face Recognition: Understanding LBPH Algorithm
- Wideo - Computerphile, Faces & the Local Binary Pattern
- Wideo - Udacity course "Introduction to Computer Vision", Eigenfaces, Eigenfaces examples, Recognition with Eigenfaces
- Artykuł - M.Turk & A.Pentland Eignefaces for Recognition
Wykład 10 - Prawne i etyczne aspekty biometrii
- Prezentacja - Marta Kozioł, Prawne i etyczne aspekty biometrii
- Raport - Komitet Konsultacyjny UODO, Wytyczne dotyczące rozpoznawania twarzy
- Raport - Grupa ekspercka wysokiego szczebla ds. sztucznej intelignecji KE, Wytyczne dotyczące etyki dotyczącego godnego zaufania AI
- Raport - Związek Banków Polskich, Raport Biometryczny 2.0. Bankowość Biometryczna
- Filmy: Hakowanie Świata, Dylemat Społeczny
Seminarium
- Zajęcia seminaryjne będą odbywać się w zespołach, oznacza to, że w każdej grupie zostaną sformułowane zespoły i przydzielone obszary tematyczne.
- Każdy z zespołów będzie prezentować się dwukrotnie, każde wystąpienie będzie oceniane pod względem merytorycznym, ale także przekazu treści, formy prezentacji i kontaktu z audytorium.
- Dodatkowym elementem seminarium będzie sesja konfrontacyjna, w której pozostałe zespoły atakują broniący się pytaniami. Umiejętność radzenia sobie z pytanimi oraz jakość merytoryczna odpowiedzi również będzie wpływać na ocenę wystąpienia.
- Zespół otrzymuje ogólną ocenę swoje pracy, a następnie wewnętrznie ustala oceny cząstkowe swoich członków na drodze konsensusu, tak aby średnia ocena wszystkich jego członków nie przekroczyła oceny ogólnej.
- Obecność na seminariach jest obowiązkowa, dopuszczalna jest jedna nieusprawiedliwiona nieobecność.
- Aktywność studenta podczas zajęć może wpłynąć pozytywnie, bądź negatywnie na ocenę końcową o 0.5
Laboratorium
- Praca na laboratorium będzie wymagała wcześniejszego przygotowania się w domu. Zalecam pracę na własnym sprzęcie, instalację maszyny wirtualnej oraz przygotowanie środowiska pracy według zaleceń prowadzącego laboratoria. Proszę o przygotowanie sobie środowiska programistycznego C++, Python oraz Arduino.
- W ramach zajęć będą do przygotowania 4 raporty podsumowujące przeprowadzone działania, ich opis, wyniki i wnioski, które będą podstawą zaliczenia, każdy z raportów musi być ostatecznie oceniony minimalnie na 3.0.
- Prowadzący laboratoria podczas zajęć wprowadza w tematykę opracowywania, pokazuje przykłady i zadaje zadania do samodzielnego wykonania, należy je zrealizować na zajęciach i w okresie pomiędzy kolejnymi laboratoriami oraz odpowiednio opisać w raporcie. Wyniki pracy nie będą sprawdzane podczas laboratoriów.
- Obecność na laboratoriach jest obowiązkowa, dopuszczalna jest jedna nieusprawiedliwiona nieobecność.
- Aktywność studenta podczas zajęć może wpłynąć pozytywnie, bądź negatywnie na ocenę końcową o 0.5
- Strona laboratorium: piotrgiedziun.github.io/biometric-systems/
Seminarium dyplomowe
ZASADY ZALICZENIA
- Obecność na seminarium jest obowiązkowa. Nieusprawiedliwione nieobecności skutkują brakiem zaliczenia zgodnie z regulaminem Uczelni.
- Warunkiem zaliczenia jest spełnienie wymagań z każdego etapu.
- Za każdy etap prowadzący wystawia ocenę. Pod uwagę brana jest jakość prezentacji (wystąpienia, kontaktu z uczestnikami, odpowiedzi na pytania), jakość oddanych PDF-ów, oraz terminowość.
- Średnia ocen cząstkowych stanowi ocenę końcową.
- Prowadzący może podwyższyć bądź obniżyć ocenę na podstawie aktywności na innych prezentacjach.
Etap 1: Prezentacja problemu będącego przedmiotem pracy dyplomowej, celu i koncepcji jego rozwiązania:
- student ma do dyspozycji 10 minut (+ 5 minut na dyskusję) [długość może zostać zmieniona pod wpływem organizacji kalendarza akademickiego],
- prezentacja nie może wykorzystywać slajdów, student musi wykazać się umiejętnością posługiwania się tablicą do prezentacji koncepcji swojej pracy dyplomowej,
- student jest zobowiązany przedstawić umiejscowienie pracy w kontekście istniejących rozwiązań, stosowanych technik, oraz własne pomysły,
- w terminie 7 dni po prezentacji student dostarcza prowadzącemu PDF ze szkicem pracy dyplomowej, szkic ma zawierać wszystkie planowane rozdziały z opisem ich zawartości i być zgodny z treściami przedstawionymi w prezentacji.
Etap 2: Prezentacja wybranego zagadnienia informatycznego:
- student ma do dyspozycji 20 minut w terminie wskazanym przez prowadzącego,
- prezentacja dotyczy problemu informatycznego uzgodnionego z prowadzącym (nie może to być problem z pracy dyplomowej),
- student w trakcie prezentacji musi posługiwać się slajdami (w poprawny sposób),
- prezentacja musi być jasna i zrozumiała, a zarazem wyczerpująco tłumaczyć najistotniejsze aspekty prezentowanego zagadnienia,
- zadaniem studenta jest samodzielnie dotrzeć do informacji na temat prezentowanego zagadnienia.
Etap 3: Końcowa prezentacja związana z pracą dyplomową:
- student ma do dyspozycji 10 minut w terminie wskazanym przez prowadzącego,
- prezentacja ma odpowiadać planowanej prezentacji na egzaminie dyplomowym,
- student musi odpowiedzieć na pytania i „obronić” swoją pracę dyplomową,
- najpóźniej w 8 tygodniu zajęć student przedkłada pracę dyplomową w stanie zaawansowania co najmniej 50%.
Praca dyplomowa - diploma thesis
Na spotkaniach będziemy omawiać postępy w realizacji prac dyplomowych oraz prezentować zgromadzony materiał, dyskutować nad otrzymanymi wynikami i ustalać dalsze etapy pracy do wykonania.
Spotkania odbywają się osobiście lub zdalnie na kanale MS Teams.
Dodatkowe informacje
...
Programowanie zespołowe (laboratoria)
Zajęcia odbywają się w cyklu cotygodniowym, na których omawiane są postępy i problemy w realizacji projektów. Obencność przynajmniej jednego reprezentanta zespołu jest obowiązkowa. Aktywność podczas zajęć i pracy nad projektem może wpłynąć zarówno pozytynie, jak i negatywnie na ocenę.
Zasady zaliczenia
Celem kursu jest realizacja zespołowego projektu programistycznego (systemu) na wybrany temat, zdobycie praktycznych doświadczeń w zakresie pracy zbiorowej nad projektem IT, zarówno pod względem technicznym jak i organizacyjnym.
Etapy realizacji projektu:
- 3 zajęcia: ostateczny podział na zespoły i wstępna wersja specyfikacji systemu;
- 4 zajęcia: pełna specyfikacja systemu (cel systemu, zakres systemu, wymagania funkcjonalne i niefunkcjonalne) oraz harmonogram prac z przydziałem zadań a także link do repozytorium projektu (github) i opcjonalnie link do systemu zarządzania projektem (podwyższa ocenę);
- 6 zajęcia: projekt systemu w UML (diagramy w pełni opisujące projektowany system);
- 10 zajęcia: działający prototyp systemu (wersja alfa);
- 12 zajęcia: działający prototyp systemu (wersja beta);
- 14 zajęcia: ostateczna wersja systemu z dokumentacją techniczną.
Projekt uważa się za zakończony jeżeli:
- sporządzono w terminie pełną specyfikację systemu i harmonogram prac,
- oddano w terminie projekt systemu i jest on zgodny ze specyfikacją,
- oddano w terminie system i jest on zgodny z projektem,
- stworzono dokumentację techniczną systemu.
Jeżeli powyższe warunki zostały spełnione to zrealizowany projekt (system) może być poddany ocenie. Przy ocenianiu brane będą pod uwagę:
- terminowość realizacji poszczególnych etapów,
- jakość stworzonego oprogramowania,
- jakość stworzonej dokumentacji,
- ergonomia interfejsu, łatwość użytkowania systemu.
Oceną projektu jest liczba od 2.0 do 5.5 z dokładnością do jednej dziesiątej.
Wykorzystanie niestandardowych języków, bibliotek i kodów źródłowych wymaga akceptacji prowadzącego.
Projekty można realizować w zespołach 3-5 osobowych (średnia ocen członków zespołu musi być mniejsza lub równa ocenie projektu i cały zespół musi oceny zaakceptować, w przeciwnym przypadku wszyscy otrzymują identyczną ocenę nie wyższą niż ocena projektu).
Oceny
TBA.
Dodatkowe informacje
...
Konsultacje / Office hours:
Wtorek / Tuesday: 11:00-13:00
Uwaga! Konsultacje odbywają się osobiście w 217 D-1, istnieje możliwość na MS Teams.
Proszę zgłosić chęć udziału wcześniej i zarezerwować sobie miejsce, obowiązują sloty czasowe.
It is highly recommended to send me specific inquires by e-mail in order to give me some time for thinking :)
Prowadzone kursy / Running classes:
- Compliance and Operational Security - computer security & cryptography (MSc)
- Monday 11.15-13.00 (lecture), r.311d, D-1
- Tuesday 13.15-15.00 (exercise), r.D3.1, C-16
- Systemy Wbudowane - informatyka algorytmiczna (BSc)
- Poniedziałek 13.15-15.00 (laboratorium), 317.2, D-1
- Poniedziałek 17.05-18.45 (laboratorium), 317.3, D-1
- Praca dyplomowa
- Wtorek 11.00-13.00, s. 217, D-1 lub MS Teams
Compliance and Operational Security - MSc programe
About
Scope of the course is rather not technical nor technological, we will focus on organizational, legal and compliance aspects of IT systems. We will go through some worldwide recognizable security standards like ISO 27001, NIST SP 800-34, NIST SP 800-61, PSD2, GDPR or Common Criteria.
More about the course available at here.
Rules
Presence at classes is mandatory. The student's knowledge and the manner and timeliness of the presented solution stages will be assessed in the exercise classes. There will be several group tasks and two group projects. Each stage will require a sum up in the form of a written report, which will be evaluated. The final grade for exercise will consist of the average of grades for each project, with possible modifiers including timeliness and activity. There will also be a written exam covering material from the lecture.
Final grade for the course is: F=0.5*L+0.5*E, where L-grade from lecture's exam, E-grade from exercise.
LECTURES
Lecture 1 & 2Introduction
- Cybersecurity By The Numbers
- Cyber Security Crash Course, list of videos: videos
- FWs IDS:IPS & AV Aren't Enough to Protect from Malware
Security Information and Event Management (SIEM) and Security Operation Center (SOC)
- What is SIEM?
- How does a SIEM work?
- 9 Ways to Eliminate SIEM False Positives
- StratoSOC Solution Overview
- The Essential Guide to SIEM
- Security Operations Center: Ultimate SOC Quick Start Guide
- How to Build a Security Operations Center for Small Companies
Incident Response Planning
- Introduction to Security Incidents
- Introduction to Incident Response
- The Complete Guide to CSIRT Organization: How to Build an Incident Response Team
- The Three Elements of Incident Response: Plan, Team, and Tools
- Incident Response Automation and Security Orchestration with SOAR
- SOC 101: Real-time Incident Response Walkthrough
- NIST Computer Security Incident Handling Guide
- Software Engineering Institute Handbook for Computer Security Incident Response Teams (CSIRTs)
- Webinar: The Basics of Incident Response
- CSS2018LAS8: Incident Handling Process - SANS (50 min) VERY GOOD
- How to write an effective cyber incident response plan?
Contingency Plan
- NIST Contingency Planning Guide for Federal Information Systems
- Business Strategy: Contingency Planning
- Security 101: Contingency Planning - Medical Business View (compliance with HIPPA)
- Batman! Contingency Plan!
PSD2, RTS and Open Banking
- PSD2 Essentials
- Regulatory Technical Standards (RTS) for Strong Customer Authentication and Common Secure Communication
Lecture 11 & 12
Personal Data Protection under GDPR and HIPPA
- Protect Personal Data With GDPR Compliance - Essential Information
- General Data Protection Regulation (GDPR) - Fact Sheet
- California Customer Protection Act (CCPA) - Fact Sheet
- Health Insurance Portability and Accountability Act (HIPPA) - Fact Sheet
- What Is the HIPAA Compliance Standard and How to Adhere to It? - Fundamentals
- Case Study 1 - Data breach GDPR
- Case Study 2 - Case Study: How to Ensure GDPR Compliance When Undertaking a Translation Project
- Case Study 3 - A case study on managing customer data to comply with GDPR
Common Criteria (CC)
- Common Criteria Portal
- CC Introduction
- Common Criteria in 5 minutes, What is Common Criteria?
- Common Criteria Demystified
- Top 5 Common Criteria Evaluation Mistakes
- Common Criteria Quick Reference Card
- Example Jisec Certification Report
Lecture 14
PCI DSS
- PCI Compliance: A Quick Guide
- PCI DSS v4.0 At a Glance
- Webinar: PCI DSS Compliance Checklist
- The 12 PCI DSS Requirements: 4.0 Compliance Checklist
- PCI Standards: Maintaining Payment Security
- PCI DSS 4.0
Additional resources
SIEM and SOC
- RSA Conference 2018 - From SIEM to SOC: Crossing the Cybersecurity Chasm
- The Top 10 SIEM Tools to Try for 2019
- SOC Blog
Incident Response Planning
- Example of the Exabeam tool
- Incident Response Blog
- UC Berkeley Incident Response Planning Guideline
- Minimum Security Standards for Electronic Information
- Example of Incident Response Plan of Carnegie Mellon University
- Example of Computer Incident Response Plan of Tulane University
- Example of Incident Response Plan of Wright State University
EXERCISE
PROJECTSEach group works on one selected variant of task. Each task is planned for about 4-weeks time frame. Eventually, final report must be prepared for an evaluation.
Assignment 1 - Prepare an Incident Response Plan for a large scale IT system - your own idea (1.1) or e-lottery system (1.2) or SCADA system in power grid (1.3). For cryptographic protocols utilized by some exemplary e-lottery system - see: Trust Engineering: From Requirements to System Design and Maintenance - A Working National Lottery System Experience or/and Electronic National Lotteries.
Assignment 2 - Prepare a Contingency Plan for a large scale IT system - your own idea (2.1) or large internet shop (2.2), or auctions portal (2.3). Remember that you must protect personal data of your clients (e.g., delivery addresses, transactions made). Try to justify the costs.
Deadline for the reports:
Incident Response Plans - 23.04.2023, 23:59
Contingency Plans - 31.05.2023, 23:59
Exam
1st term - 28 June 2023, 10.00-11.30, r. 215, D-1 2nd term - 5 July 2023, 10.00-11.30, r. 215, D-1
Marks
Systemy wbudowane - laboratoria
Informacje o kursie dostępne tutaj. Szczegółowe materiały oraz listy zadań publikuje prowadzący wykład - dr inz. Przemysław Błaśkiewicz na swojej stronie domowej pod adresem: https://cs.pwr.edu.pl/blaskiewicz/?id=embedded-2023.
Zasady na zajęciach:
- Praca na laboratorium będzie wymagała wcześniejszego przygotowania się w domu. Zalecam pracę na własnym sprzęcie, instalację maszyny wirtualnej oraz przygotowanie środowiska pracy według zaleceń prowadzącego wykład/laboratoria. Proszę o przygotowanie sobie środowiska programistycznego C++, Python, VHDL oraz Arduino.
- Na zajęciach będą rozwiązywanie listy zadań przygotowane przez prowadzącego wykład.
- Prowadzący laboratoria podczas zajęć wprowadza w tematykę opracowywania, pokazuje przykłady i zadaje zadania do samodzielnego wykonania, należy je zrealizować na zajęciach i w okresie pomiędzy kolejnymi laboratoriami oraz odpowiednio opisać w raporcie oraz umieć uzasadnić. Wyniki pracy będą sprawdzane podczas laboratoriów.
- Obecność na laboratoriach jest obowiązkowa, dopuszczalna jest jedna nieusprawiedliwiona nieobecność.
- Aktywność studenta podczas zajęć może wpłynąć pozytywnie, bądź negatywnie na ocenę końcową o 0.5
Praca dyplomowa - diploma thesis
Na spotkaniach będziemy omawiać postępy w realizacji prac dyplomowych oraz prezentować zgromadzony materiał, dyskutować nad otrzymanymi wynikami i ustalać dalsze etapy pracy do wykonania.
Spotkania odbywają się osobiście lub zdalnie na kanale MS Teams.
Konsultacje / Office hours:
Poniedziałek / Monday: 11:15-13:15
Czwartek / Thursday: 13:15-15:15
Uwaga! Konsultacje odbywają się osobiście w 217 D-1, istnieje możliwość na MS Teams.
Proszę zgłosić chęć udziału wcześniej i zarezerwować sobie miejsce, obowiązują sloty czasowe.
It is highly recommended to send me specific inquires by e-mail in order to give me some time for thinking :)
Prowadzone kursy / Running classes:
- Biometria - I st. Cyberbezpieczeństwo
- Czwartek 11.15-13.00 (wykład), s.41, C-4
- Poniedziałek 9.15-11.00 (seminarium), s.33, C-4
- Systemy biometryczne - I st. Cyberbezpieczeństwo
- Wtorek 13.15-15.00 (wykład), s.D1.1 C-16
- Embedded Systems Security - MSc Program at Computer Security
- Tuesday 9.15-11.00 (lab), r. 317.3, D-1
- Wednesday 13.15-15.00 (lecture), r. 215, D-1
- Seminarium dyplomowe - I st. Informatyka algorytmiczna
- Piątek 9.15-12.00, s. 215 D-1
- Piątek 12.15-15.00, s. 215 D-1
- Praca dyplomowa
- Poniedziałek 11.15-13.15, s. 217, D-1 lub MS Teams
- Czwartek 13.15-15.15, s. 217, D-1 lub MS Teams
Embedded Security Systems - MSc programe
Rules
The student's knowledge and the manner and timeliness of the presented solution stages will be assessed at the laboratory classes. The lecturer will require a detailed knowledge of the solution techniques used, may ask to modify or add new fragments to the existing source code. The final grade will consist of the average of grades for each list, including timeliness and activity. Each stages of classes will require sum up in a form of written report, which will be evaluated.
Additional information
After finishing some part of material students will be requested to prepare recapping report covering what they did during solving assignments, including objectives, experiments, codes snippets, results and the most important part - discussion and reflections. Report should be prepared in written form (PDF file) and submitted by e-mail till the end of the highlighted week.
Exam terms
Introduction
-
Lecture 1
- Breaking into Embedded Devices and IoT Security
- Intro to Hardware Reversing: Finding a UART and getting a shell
- Make Me Hack #01 - Identifying Components - Hardware Hacking Tutorial
- FCC ID Search (Federal Communication Commission)
- OpenWRT (Linux operating system targeting embedded devices)
Hardware and Software Reverse Engineering
-
Lecture 2
- Intro to hardware security: UART access and SPI firmware extraction
- Introduction to Firmware Reversing
- IoT Firmware Emulation and Exploitation
- Make Me Hack #02 - How To Find The UART Interface - Hardware Hacking Tutorial
- Lecture 3
- Building Poor Man's Logic Analyzer with an Arduino - Reverse Engineering A/C Remote part 1
- Capturing & Analyzing Packets with Saleae Logic Pro 8 - Reverse Engineering A/C Remote part 2
-
Lecture 4 - Firmadyne (software for emulating the firmware)
- Make Me Hack #04 - How To Get The Firmware - Hardware Hacking Tutorial
- Hack All The Things: 20 Devices in 45 Minutes
Trusted Platform Module
-
Lecture 5
- Trusted Platform Module (TPM) Part 1
- TPM Trusted Platform Module and Windows 10 Part 2
- Windows 10 and Secure Boot
- Trusted Platform Module (TPM) Summary
- The Trusted Platform Module Specifications Hardware Security Module (HSM)
- Explaining HSMs | Part 1 - What do they do? (all 5 parts on HSM)
- What are the differences between TPM and HSM?
Embedded Systems Vulnerabilities
-
Lecture 6
- IoT Security -> Introduction
- Testing the Security of Embedded Systems
- Security Controls & Vulnerabilities in Embedded System OS Lecture 7
- Hardware Trojan Detection Overview (all parts)
Software Defined Radio
-
Lecture 8
- Radio Hacking: Cars, Hardware, and more! - Samy Kamkar - AppSec California 2016
- Digital Ding Dong Ditch Prank - hacking wireless doorbells w/Arduino and RTL-SDR, http://samy.pl/dingdong/,http://kmkeen.com/rtl-demod-guide/
- #286 How does Software Defined Radio (SDR) work under the Hood? SDR Tutorial
- Software Defined Radio with HackRF
- Michael Ossmann: Simple RF Circuit Design GSM and SIM Card
- The Secret Life of SIM Cards
- How do SIM Cards work? - SIMtrace
- GSM Mobile Network Intro - Nokia Network Monitor
Lecture 9
Automotive Security
-
Lecture 10
- Automotive Security: Challenges and Solutions
- ISO/SAE 21434: The Standard for Automotive Cyber Security (2020)
- Car Hacking Demo: How to Hack an ECU, Automotive Penetration Testing (2019)
- Distance-Bounding Protocols: Verification without Time and Location
- VB2018 paper: Under the hood: the automotive challenge
- Search for electric car traction battery charge level signal in CAN bus (thanks to Mr. Pawel Cyprys)
Physical Unclonable Functions (PUFs)
-
Lecture 11
- Hardware security - Physical Unclonable Functions PUF Basics
- PUF (part 1), (part 2) and (part 3) Lecture 12
- Physical Unclonable Functions and Applications: A Tutorial (paper)
- Physical Unclonable Functions for Device Authentication and Secret Key Generation (paper)
Smart Cards and modern ID documents
-
Lecture 13
- Smart Card Basics
- An Introduction to Java Card Technology
- Prezentacja Laboratorium Programowania Kart Elektronicznych
- EMV Integrated Circuit Card Specifications for Payment Systems
- A Rambling Walk Through an EMV Transaction
Kleptography
-
Lecture 14
- 26C3: Yes We Cant - on kleptography and cryptovirology, all 6 parts by Moti Yung (the creator)
- Kleptography 101 - Adam Janovsky
- Cliptography Clipping the Power of Kleptographic Attacks
- Malicious Cryptography by Moti Yung & Adam Young
Side-channel attacks and analysis
-
Lecture 15
- Side Channel Timing Attack Demonstration
- Hardware Power Glitch Attack (Fault Injection)
- RSA Power Analysis Side-Channel Attack
- Defeat 2FA token because of bad randomness
- riscure Embedded Hardware CTF - RHme Lecture 16
- Samy Kamkar - FPGA Glitching & Side Channel Attacks
- Blind GQL injection and optimized binary search
- Rowhammer attacks explained simply
- Side-Channel Attacks on Everyday Applications
Lists
- List 1: IrDA and oscilloscope showcase. Saleae download page for logic analyzer software. We used infrared receiver TSOP31236 datasheet and some code for Arduino. Traces of IrDA communication from the remote as picked up by the receiver will be send to respective students via email for decoding.
Make sure you can identify protocol used for data transmission and you are able to decode the data, as well as, create your own valid frame and transmit it. The ultimate goal is to perform replay attack - be able to transmit exactly the same data as grabbed in the traces. - List 2: Securing IrDA transmission with A5/1. Using Arduino platform and the IrDA hardware from the showcase build a transmission link protected with A5/1 implementation of stream cipher. There are two cases to implement:
- The two communicating PCs separately produce the keychains from A5/1 and pass it to Arduino boards using UART. The encrypted message is sent between the Arduinos over IrDA link (this is case for people who have got two pieces of Arduino).
- Adruino board is connected via UART link with PC for keystream transmission. The keystream is received from the sending PC and forwarded in parallel with the cryptogram via IrDA link in a broadcast mode. In this case logical signal analyzer is helpful to capture the data on the transmitter side You can compare plain text and encrypted signal.
REPORT SUBMISSION (31 October 2022)
- Information and data gathering,
- UART detection, determine voltage levels and pins order, establish the connection,
- Get firmware from the board or download it from manufacturer,
- Analyze firmware, extract it, get access to the essential resources of the device,
- Retrieve root password or get access to the root shell on the device.
- Have a look at running OS system on device (after accessing the root) and perform some analysis of working processes, find out how this type of embedded OS is built, what commands are available, access the router config file, try to get some files from the device.
Your task is to overcome each security means by using different analysis methods and prepare scripts/toolkits facilitating attacks. You should be able to establish connection between target board and your computer via UART or other interface in order to perform the communication and take control over the device.
Useful commands and tools: busybox, dd, grep, sed, regular expressions, python, bash scripts, pearl, binwalk, strings, u-boot, command line for u-boot,...
Toolkits:
Ghidra - software reverse engineering suite provided by NSA and guide video (thanks to Pawel Cyprys)
REPORT SUBMISSION (11 December 2022)
- Change the default credentials -> for instance password for the admin user and try to get access to the webadmin toolkit anyway. Think about remote password cracking attack.
- After getting the access to webadmin toolkit perform once more data gathering and try to find CVE and exploit it in order to get access to the root shell via remote network connection.
- Share all interesting insights gathered during your reverse engineering activity among all the groups and create a shared DOC file including all of them in a form of separated entries.
REPORT SUBMISSION (31 December 2022)
- Door keypad - PIN (for getting access)
- Login/Password (for getting privileges)
- Red herrings (for misleading adversary)
Upload the code to the Arduino and launch the device. Your task is to overcome each security means by using different analysis methods and prepare scripts/toolkits facilitating attacks. You should be able to establish connection between Arduino and your computer via serial port in order to perform the communication or use another Arduino. Your ultimate goal is changing the blinking frequency of the device.
Remember about everything you have learned so far!REPORT SUBMISSION (31 January 2023)
Marks
Biometria / Systemy biometryczne
O kursie i zasady zaliczenia
Karty przedmiotów dostępne są pod linkami: Biometria, Systemy biometryczne.
Podstawą zaliczenia tych grup kursów jest uzyskanie pozytywnej oceny z wchodzących w ich skład zajęć - tj. wykładu (kolokwium zaliczeniowe), seminarium (ocena prezentacji i projektu) oraz laboratorium (jeśli dotyczy, rozwiązywanie list zadań oraz praca na zajęciach).
Zajęcia są wprowadzone wspólnie z mgr inż. Anną Grytsko (seminaria Systemy Biometryczne i Biometria) oraz mgr inż. Piotrem Giedziunem (laboratoria Systemy Biometryczne)
Wzór na ocenę końcową przedstawia się następująco:
- Biometria: O = 0.6xW + 0.4xS
- Systemy biometryczne: O = 0.4xW + 0.4xL + 0.2xS Gdzie, W - ocena z wykładu, S - ocena z seminarium, L - ocena z laboratorium
Punktacja kolokwium:
0-7 | 2.0 |
8 | 3.0 |
9 | 3.5 |
10-11 | 4.0 |
12-13 | 4.5 |
14-15 | 5.0 |
Terminy kolokwium:
- 26.01.2023 - Biometria
- 31.01.2023 - Systemy Biometryczne
Wyniki:
Wykład
Wykład 1 i 2 - Wprowadzenie, kluczowe właściwości i zastosowania
- Literatura - Bolle R. M., Connell J. H., Pankanti S., Ratha N. K., Senior, Biometria, Wydawnictwa Naukowo-Techniczne PWN-WNT, 2008
- Literatura - Krzysztof Ślot, Rozpoznawanie biometryczne. Nowe metody ilościowej reprezentacji obiektów, Wydawnictwa Komunikacji i Łączności, 2011
- Literatura - Krzysztof Ślot, Wybrane zagadnienia biometrii, Wydawnictwa Komunikacji i Łączności, 2008
- Artykuł - Wojciech Wodo, Lucjan Hanzlik, Thermal imaging attacks on keypad security systems
- Prezentacja - Krzysztof Ślot, Identyfikacja Biometryczna
Wykład 3 - Błędy FAR i FRR, krzywa ROC i DET, CMC
- Prezentacja - Błędy systemów biometrycznych
- Prezentacja - Adam Czajka, Statystyczna ocena systemów biometrycznych
Wykład 4 - Testowanie, dobór i porównywanie systemów biometrycznych
- Prezentacja - Andrzej Czyżewski, Przegląd technologii biometrycznych
Wykład 5 - Biometria odcisku palca
- Wideo - Computerphile, Fingerprint Recognition
- Prezentacja - Krzysztof Kamiński, Biometryczne sposoby identyfikacji - odciski palców
- Wideo - EMCE, Czy da się ukraść odciski palców ze zdjęcia? cz.1
- Wideo - EMCE, Czy da się ukraść odciski palców ze zdjęcia? cz.2
Wykład 6 - Biometria tęczówki
- Wideo - Prof. John Daugman, Iris Recognition
- Raport - Maciej Mistoń i Leon Alrae, Rozpoznawanie wzorców ludzkiej tęczówki oka
Wykład 7 - Biometria behawioralna - keystroking
- Artykuł - W.Wodo, M.Klonowski & P.Syga SOME REMARKS ON KEYSTROKE DYNAMICS: Global Survillience, Retriving Information and Simple Countermeasures
- Artykuł - W.Wodo & L.Hanzlik, Identity security in biometric systems based on keystroking
Wykład 8 i 9 - Biometria twarzy
- Artykuł - P.Viola & M.Jones Rapid Object Detection using a Boosted Cascade of Simple Features
- Wideo - Computerphile, Detecting Faces (Viola Jones Algorithm)
- Wideo - Adam Harvey, OpenCV Face Detection: Visualized
- Artykuł - Kevin Salton do Prado, Face Recognition: Understanding LBPH Algorithm
- Wideo - Computerphile, Faces & the Local Binary Pattern
- Wideo - Udacity course "Introduction to Computer Vision", Eigenfaces, Eigenfaces examples, Recognition with Eigenfaces
- Artykuł - M.Turk & A.Pentland Eignefaces for Recognition
Wykład 10 i 11 - Bezpieczeństwo sensorów i sytemu biometrycznego
- Artykuł - A. Czajka, Ł. Stasiuk, M. Chochowski & A. Pacut Od biometrii do bezpiecznej biometrii
- Prezentacja - A. Czajka, Bezpieczeństwo sensorów biometrycznych
- Raport - W.Wodo & H. Ławniczak, Bezpieczeństwo i biometria urządzeń mobilych w Polsce. Badanie użytkowników 2016
Wykład 12 - Prawne i etyczne aspekty biometrii
- Prezentacja - Marta Kozioł, Prawne i etyczne aspekty biometrii
- Raport - Komitet Konsultacyjny UODO, Wytyczne dotyczące rozpoznawania twarzy
- Raport - Grupa ekspercka wysokiego szczebla ds. sztucznej intelignecji KE, Wytyczne dotyczące etyki dotyczącego godnego zaufania AI
- Raport - Związek Banków Polskich, Raport Biometryczny 2.0. Bankowość Biometryczna
- Filmy: Hakowanie Świata, Dylemat Społeczny
Seminarium
- Zajęcia seminaryjne będą odbywać się w zespołach, oznacza to, że w każdej grupie zostaną sformułowane zespoły i przydzielone obszary tematyczne.
- Każdy z zespołów będzie prezentować się dwukrotnie, każde wystąpienie będzie oceniane pod względem merytorycznym, ale także przekazu treści, formy prezentacji i kontaktu z audytorium.
- Dodatkowym elementem seminarium może być sesja konfrontacyjna, w której pozostałe zespoły atakują broniący się pytaniami.
- Zespół otrzymuje ogólną ocenę swoje pracy, a następnie wewnętrznie ustala oceny cząstkowe swoich członków na drodze konsensusu, tak aby średnia ocena wszystkich jego członków nie przekroczyła oceny ogólnej.
- Obecność na seminariach jest obowiązkowa, dopuszczalna jest jedna nieusprawiedliwiona nieobecność.
- Aktywność studenta podczas zajęć może wpłynąć pozytywnie, bądź negatywnie na ocenę końcową o 0.5
Laboratorium
- Praca na laboratorium będzie wymagała wcześniejszego przygotowania się w domu. Zalecam pracę na własnym sprzęcie, instalację maszyny wirtualnej oraz przygotowanie środowiska pracy według zaleceń prowadzącego laboratoria. Proszę o przygotowanie sobie środowiska programistycznego C++, Python oraz Arduino.
- W ramach zajęć będą do przygotowania 4 raporty podsumowujące przeprowadzone działania, ich opis, wyniki i wnioski, które będą podstawą zaliczenia, każdy z raportów musi być ostatecznie oceniony minimalnie na 3.0.
- Prowadzący laboratoria podczas zajęć wprowadza w tematykę opracowywania, pokazuje przykłady i zadaje zadania do samodzielnego wykonania, należy je zrealizować na zajęciach i w okresie pomiędzy kolejnymi laboratoriami oraz odpowiednio opisać w raporcie. Wyniki pracy nie będą sprawdzane podczas laboratoriów.
- Obecność na laboratoriach jest obowiązkowa, dopuszczalna jest jedna nieusprawiedliwiona nieobecność.
- Aktywność studenta podczas zajęć może wpłynąć pozytywnie, bądź negatywnie na ocenę końcową o 0.5
Seminarium dyplomowe
ZASADY ZALICZENIA
- Obecność na seminarium jest obowiązkowa. Nieusprawiedliwione nieobecności skutkują brakiem zaliczenia zgodnie z regulaminem Uczelni.
- Warunkiem zaliczenia jest spełnienie wymagań z każdego etapu.
- Za każdy etap prowadzący wystawia ocenę. Pod uwagę brana jest jakość prezentacji (wystąpienia, kontaktu z uczestnikami), jakość oddanych PDF-ów, oraz terminowość.
- Średnia ocen cząstkowych stanowi ocenę końcową.
- Prowadzący może podwyższyć bądź obniżyć ocenę na podstawie aktywności na innych prezentacjach.
Etap 1: Prezentacja problemu będącego przedmiotem pracy dyplomowej, celu i koncepcji jego rozwiązania:
- student ma do dyspozycji 10 minut (+ 5 minut na dyskusję) [długość może zostać zmieniona pod wpływem organizacji kalendarza akademickiego],
- prezentacja nie może wykorzystywać slajdów, student musi wykazać się umiejętnością posługiwania się tablicą do prezentacji koncepcji swojej pracy dyplomowej,
- student jest zobowiązany przedstawić umiejscowienie pracy w kontekście istniejących rozwiązań, stosowanych technik, oraz własne pomysły,
- w terminie 7 dni po prezentacji student dostarcza prowadzącemu PDF ze szkicem pracy dyplomowej, szkic ma zawierać wszystkie planowane rozdziały z opisem ich zawartości i być zgodny z treściami przedstawionymi w prezentacji.
Etap 2: Prezentacja wybranego zagadnienia informatycznego:
- student ma do dyspozycji 20 minut w terminie wskazanym przez prowadzącego,
- prezentacja dotyczy problemu informatycznego uzgodnionego z prowadzącym (nie może to być problem z pracy dyplomowej),
- student w trakcie prezentacji musi posługiwać się slajdami (w poprawny sposób),
- prezentacja musi być jasna i zrozumiała, a zarazem wyczerpująco tłumaczyć najistotniejsze aspekty prezentowanego zagadnienia,
- zadaniem studenta jest samodzielnie dotrzeć do informacji na temat prezentowanego zagadnienia.
Etap 3: Końcowa prezentacja związana z pracą dyplomową:
- student ma do dyspozycji 15 minut w terminie wskazanym przez prowadzącego,
- prezentacja ma odpowiadać planowanej prezentacji na egzaminie dyplomowym,
- student musi odpowiedzieć na pytania i „obronić” swoją pracę dyplomową,
- najpóźniej w 10 tygodniu zajęć student przedkłada pracę dyplomową w stanie zaawansowania co najmniej 50%.
Praca dyplomowa - diploma thesis
Na spotkaniach będziemy omawiać postępy w realizacji prac dyplomowych oraz prezentować zgromadzony materiał, dyskutować nad otrzymanymi wynikami i ustalać dalsze etapy pracy do wykonania.
Spotkania odbywają się osobiście lub zdalnie na kanale MS Teams.
Dodatkowe informacje
...
Konsultacje / Office hours:
Wtorek / Tuesday: 13:15-15:15, MS Teams
Czwartek / Thursday: 13:15-15:15, MS Teams
Uwaga! Konsultacje odbywają się zdalnie na MS Teams. W szczególnych przypadkach osobiście.
Konkretne problemy warto wcześniej podesłać mailem, żebym mógł przemyśleć :)
It is highly recommended to send me specific inquires by e-mail in order to give me some time for thinking :)
Prowadzone kursy / Running classes:
- Compliance and Operational Security - MSc Program at Computer Security
- Tuesday 17.05-18.45 (exercise), r. 2, C-5
- Thursday 15.15-16.55 (lecture), r. 2, C-5
- Praca dyplomowa
- Wtorek 13.15-15.00, s. 217, D-1 lub MS Teams
- Czwartek 13.15-15.00, s. 217, D-1 lub MS Teams
Compliance and Operational Security - MSc programe
About
Scope of the course is rather not technical nor technological, we will focus on organizational, legal and compliance aspects of IT systems. We will go through some worldwide recognizable security standards like ISO 27001, NIST SP 800-34, NIST SP 800-61, PSD2, GDPR or Common Criteria.
More about the course available at here.
Rules
The student's knowledge and the manner and timeliness of the presented solution stages will be assessed at the exercise classes. There will be two group projects, each stage will require sum up in a form of written report, which will be evaluated. The final grade for exercise will consist of the average of grades for each project, with possible modifiers including timeliness and activity. There will be also written exam covering material from the lecture.
Final grade for the course is: F=0.4*L+0.6*E, where L-grade from lecture's exam, E-grade from exercise.
LECTURES
Lecture 1Introduction
- Cybersecurity By The Numbers
- Cyber Security Crash Course, list of videos: videos
- FWs IDS:IPS & AV Aren't Enough to Protect from Malware
Security Information and Event Management (SIEM) and Security Operation Center (SOC)
- What is SIEM?
- How does a SIEM work?
- 9 Ways to Eliminate SIEM False Positives
- StratoSOC Solution Overview
- The Essential Guide to SIEM, please follow all the ten chapters and after that take a quiz, you have to collect at least 20/25 points
- SIEM Essential Quiz
- Security Operations Center: Ultimate SOC Quick Start Guide
- How to Build a Security Operations Center for Small Companies
Incident Response Planning
- Introduction to Security Incidents
- Introduction to Incident Response
- The Complete Guide to CSIRT Organization: How to Build an Incident Response Team
- The Three Elements of Incident Response: Plan, Team, and Tools
- Incident Response Automation and Security Orchestration with SOAR
- SOC 101: Real-time Incident Response Walkthrough
- NIST Computer Security Incident Handling Guide
- Software Engineering Institute Handbook for Computer Security Incident Response Teams (CSIRTs)
- Webinar: The Basics of Incident Response
- CSS2018LAS8: Incident Handling Process - SANS (50 min) VERY GOOD
- How to write an effective cyber incident response plan?
Contingency Plan
- NIST Contingency Planning Guide for Federal Information Systems
- Business Strategy: Contingency Planning
- Security 101: Contingency Planning - Medical Business View (compliance with HIPPA)
- Batman! Contingency Plan!
Personal Data Protection
- Protect Personal Data With GDPR Compliance - Essential Information
- General Data Protection Regulation (GDPR) - Fact Sheet
- California Customer Protection Act (CCPA) - Fact Sheet
- Health Insurance Portability and Accountability Act (HIPPA) - Fact Sheet
- What Is the HIPAA Compliance Standard and How to Adhere to It? - Fundamentals
- Case Study 1 - Data breach GDPR
- Case Study 2 - Case Study: How to Ensure GDPR Compliance When Undertaking a Translation Project
- Case Study 3 - A case study on managing customer data to comply with GDPR
PSD2, RTS and Open Banking
- PSD2 Essentials
- Regulatory Technical Standards (RTS) for Strong Customer Authentication and Common Secure Communication
Lecture 9
Common Criteria (CC)
- Common Criteria Portal
- CC Introduction
- Common Criteria in 5 minutes, What is Common Criteria?
- Common Criteria Demystified
- Top 5 Common Criteria Evaluation Mistakes
- Common Criteria Quick Reference Card
- Example Jisec Certification Report
Lecture 10
PCI DSS
- PCI Compliance: A Quick Guide
- PCI DSS v4.0 At a Glance
- Webinar: PCI DSS Compliance Checklist
- The 12 PCI DSS Requirements: 4.0 Compliance Checklist
- PCI Standards: Maintaining Payment Security
- PCI DSS 4.0
Additional resources
SIEM and SOC
- RSA Conference 2018 - From SIEM to SOC: Crossing the Cybersecurity Chasm
- The Top 10 SIEM Tools to Try for 2019
- SOC Blog
Incident Response Planning
- Example of the Exabeam tool
- Incident Response Blog
- UC Berkeley Incident Response Planning Guideline
- Minimum Security Standards for Electronic Information
- Example of Incident Response Plan of Carnegie Mellon University
- Example of Computer Incident Response Plan of Tulane University
- Example of Incident Response Plan of Wright State University
EXERCISE
PROJECT 1Each group works on one selected task. Each task is planned for about 4-weeks time frame. Eventually, final report must be prepared for an evaluation.
1. Prepare an Incident Response Plan for a large scale e-lottery system(2.1) or SCADA system in power grid(2.2). For cryptographic protocols utilized by some exemplary e-lottery system - see: Trust Engineering: From Requirements to System Design and Maintenance - A Working National Lottery System Experience or/and Electronic National Lotteries.
2. Prepare a Contingency Plan for a large internet shop(1.1) or auctions portal(1.2). Remember that you must protect personal data of your clients (e.g., delivery addresses, transactions made). Try to justify the costs.
Deadline for the reports:
Incident Response Plans - 22.04.2022, 23:59
Contingency Plans - 30.04.2022, 23:59
Exam
1st term - 23 June 2022, 10.00-11.30, r. D3.1, b.C-16 2nd term - 30 June 2022, 10.00-11.30, r. D3.1, b.C-16
Marks
Praca dyplomowa - diploma thesis
Na spotkaniach będziemy omawiać postępy w realizacji prac dyplomowych oraz prezentować zgromadzony materiał, dyskutować nad otrzymanymi wynikami i ustalać dalsze etapy pracy do wykonania.
Spotkania odbywają się osobiście lub zdalnie na kanale MS Teams.
Dodatkowe informacje
...
Konsultacje / Office hours:
Środa / Wednesday: 11:15-13:15, MS Teams
Piątek / Friday: 10:00-12:00, MS Teams
Uwaga! Konsultacje odbywają się zdalnie na MS Teams. W szczególnych przypadkach osobiście.
Konkretne problemy warto wcześniej podesłać mailem, żebym mógł przemyśleć :)
It is highly recommended to send me specific inquires by e-mail in order to give me some time for thinking :)
Prowadzone kursy / Running classes:
- Biometria - I st. Cyberbezpieczeństwo
- Czwartek 15.15-16.55 (wykład), sala wirtualna
- Czwartek 17.05-18.45 (seminarium), s.311d, D-1
- Systemy biometryczne - I st. Cyberbezpieczeństwo
- Środa 15.15-16.55 (wykład), sala wirtualna
- Embedded Systems Security - MSc Program at Computer Security
- Monday 9.15-11.00 (lab), r. 317.3, D-1
- Monday 11.15-13.00 (lecture), r. 215, D-1
- Audytowanie i monitorowanie sieci i systemów - II st. Cyberbezpieczeństwo
- Czwartek 9.15-11.00, sala wirtualna
- Praca dyplomowa
- Środa 11.15-13.15, s. 217, D-1 lub MS Teams
Embedded Security Systems - MSc programe
Rules
The student's knowledge and the manner and timeliness of the presented solution stages will be assessed at the laboratory classes. The lecturer will require a detailed knowledge of the solution techniques used, may ask to modify or add new fragments to the existing source code. The final grade will consist of the average of grades for each list, including timeliness and activity. Each stages of classes will require sum up in a form of written report, which will be evaluated.
Additional information
After finishing some part of material students will be requested to prepare recapping report covering what they did during solving assignments, including objectives, experiments, codes snippets, results and the most important part - discussion and reflections. Report should be prepared in written form (PDF file) and submitted by e-mail till the end of the highlighted week.
Exam terms
Introduction
-
Lecture 1
- Breaking into Embedded Devices and IoT Security
- Intro to Hardware Reversing: Finding a UART and getting a shell
- Make Me Hack #01 - Identifying Components - Hardware Hacking Tutorial
- FCC ID Search (Federal Communication Commission)
- OpenWRT (Linux operating system targeting embedded devices)
Hardware and Software Reverse Engineering
-
Lecture 2
- Intro to hardware security: UART access and SPI firmware extraction
- Introduction to Firmware Reversing
- IoT Firmware Emulation and Exploitation
- Make Me Hack #02 - How To Find The UART Interface - Hardware Hacking Tutorial
- Lecture 3
- Building Poor Man's Logic Analyzer with an Arduino - Reverse Engineering A/C Remote part 1
- Capturing & Analyzing Packets with Saleae Logic Pro 8 - Reverse Engineering A/C Remote part 2
-
Lecture 4 - Firmadyne (software for emulating the firmware)
- Make Me Hack #04 - How To Get The Firmware - Hardware Hacking Tutorial
- Hack All The Things: 20 Devices in 45 Minutes
Trusted Platform Module
-
Lecture 5
- Trusted Platform Module (TPM) Part 1
- TPM Trusted Platform Module and Windows 10 Part 2
- Windows 10 and Secure Boot
- Trusted Platform Module (TPM) Summary
- The Trusted Platform Module Specifications Hardware Security Module (HSM)
- Explaining HSMs | Part 1 - What do they do? (all 5 parts on HSM)
- What are the differences between TPM and HSM?
Embedded Systems Vulnerabilities
-
Lecture 6
- IoT Security -> Introduction
- Testing the Security of Embedded Systems
- Security Controls & Vulnerabilities in Embedded System OS Lecture 7
- Hardware Trojan Detection Overview (all parts)
Software Defined Radio
-
Lecture 8
- Radio Hacking: Cars, Hardware, and more! - Samy Kamkar - AppSec California 2016
- Digital Ding Dong Ditch Prank - hacking wireless doorbells w/Arduino and RTL-SDR, http://samy.pl/dingdong/,http://kmkeen.com/rtl-demod-guide/
- #286 How does Software Defined Radio (SDR) work under the Hood? SDR Tutorial
- Software Defined Radio with HackRF
- Michael Ossmann: Simple RF Circuit Design GSM and SIM Card
- The Secret Life of SIM Cards
- How do SIM Cards work? - SIMtrace
- GSM Mobile Network Intro - Nokia Network Monitor
Lecture 9
Automotive Security
-
Lecture 10
- Automotive Security: Challenges and Solutions
- ISO/SAE 21434: The Standard for Automotive Cyber Security (2020)
- Car Hacking Demo: How to Hack an ECU, Automotive Penetration Testing (2019)
- Distance-Bounding Protocols: Verification without Time and Location
- VB2018 paper: Under the hood: the automotive challenge
- Search for electric car traction battery charge level signal in CAN bus (thanks to Mr. Pawel Cyprys)
Physical Unclonable Functions (PUFs)
-
Lecture 11
- Hardware security - Physical Unclonable Functions PUF Basics
- PUF (part 1), (part 2) and (part 3) Lecture 12
- Physical Unclonable Functions and Applications: A Tutorial (paper)
- Physical Unclonable Functions for Device Authentication and Secret Key Generation (paper)
Side-channel attacks and analysis
-
Lecture 13
- Side Channel Timing Attack Demonstration
- Hardware Power Glitch Attack (Fault Injection)
- RSA Power Analysis Side-Channel Attack
- Defeat 2FA token because of bad randomness
- riscure Embedded Hardware CTF - RHme Lecture 14
- Samy Kamkar - FPGA Glitching & Side Channel Attacks
- Blind GQL injection and optimized binary search
- Rowhammer attacks explained simply
- Side-Channel Attacks on Everyday Applications
Kleptography
-
Lecture 15
- 26C3: Yes We Cant - on kleptography and cryptovirology, all 6 parts by Moti Yung (the creator)
- Kleptography 101 - Adam Janovsky
- Cliptography Clipping the Power of Kleptographic Attacks
- Malicious Cryptography by Moti Yung & Adam Young
Smart Cards and modern ID documents
-
Lecture 16
- Smart Card Basics
- An Introduction to Java Card Technology
- Prezentacja Laboratorium Programowania Kart Elektronicznych
- EMV Integrated Circuit Card Specifications for Payment Systems
- A Rambling Walk Through an EMV Transaction
Lists
- List 1: IrDA and oscilloscope showcase. Saleae download page for logic analyzer software. We used infrared receiver TSOP31236 datasheet and some code for Arduino. Traces of IrDA communication from the remote as picked up by the receiver will be send to respective students via email for decoding.
- List 2: Securing IrDA transmission with A5/1. Using Arduino platform and the IrDA hardware from the showcase build a transmission link protected with A5/1 implementation of stream cipher. There are two cases to implement:
- The two communicating PCs separately produce the keychains from A5/1 and pass it to Arduino boards using UART. The encrypted message is sent between the Arduinos over IrDA link (this is case for people who have got two pieces of Arduino).
- Adruino board is connected via UART link with PC for keystream transmission. The keystream is received from the sending PC and forwarded in parallel with the cryptogram via IrDA link in a broadcast mode. In this case logical signal analyzer is helpful to capture the data on the transmitter side You can compare plain text and encrypted signal.
REPORT SUBMISSION (31 October 2021)
- Information and data gathering,
- UART detection, determine voltage levels and pins order, establish the connection,
- Get firmware from the board or download it from manufacturer,
- Analyze firmware, extract it, get access to the essential resources of the device,
- Retrieve root password or get access to the root shell on the device.
Your task is to overcome each security means by using different analysis methods and prepare scripts/toolkits facilitating attacks. You should be able to establish connection between target board and your computer via UART or other interface in order to perform the communication and take control over the device.
Useful commands and tools: busybox, dd, grep, sed, regular expressions, python, bash scripts, pearl, binwalk, strings, u-boot, command line for u-boot,...
Toolkits:
Ghidra - software reverse engineering suite provided by NSA and guide video (thanks to Pawel Cyprys)
REPORT SUBMISSION (4 December 2021)
- Change the default credentials -> for instance password for the admin user and try to get access to the webadmin toolkit anyway. Think about remote password cracking attack.
- After getting the access to webadmin toolkit perform once more data gathering and try to find CVE and exploit it in order to get access to the root shell via remote network connection.
- Share all interesting insights gathered during your reverse engineering activity among all the groups and create a shared DOC file including all of them in a form of separated entries.
REPORT SUBMISSION (31 December 2021)
- Door keypad - PIN (for getting access)
- Login/Password (for getting privileges)
- Red herrings (for misleading adversary)
Upload the code to the Arduino and launch the device. Your task is to overcome each security means by using different analysis methods and prepare scripts/toolkits facilitating attacks. You should be able to establish connection between Arduino and your computer via serial port in order to perform the communication or use another Arduino. Your ultimate goal is changing the blinking frequency of the device.
Remember about everything you have learned so far!REPORT SUBMISSION (31 January 2022)
Marks
Results - TBA
Biometria / Systemy biometryczne
O kursie i zasady zaliczenia
Karty przedmiotów dostępne są pod linkami: Biometria, Systemy biometryczne.
Podstawą zaliczenia tych grup kursów jest uzyskanie pozytywnej oceny z wchodzących w ich skład zajęć - tj. wykładu (kolokwium zaliczeniowe), seminarium (ocena prezentacji i projektu) oraz laboratorium (jeśli dotyczy, rozwiązywanie list zadań oraz praca na zajęciach).
Zajęcia są wprowadzone wspólnie z mgr inż. Damianem Stygarem (seminaria Systemy Biometryczne) oraz mgr inż. Piotrem Giedziunem (laboratoria Systemy Biometryczne)
Wzór na ocenę końcową przedstawia się następująco:
- Biometria: O = 0.6xW + 0.4xS
- Systemy biometryczne: O = 0.4xW + 0.4xL + 0.2xS Gdzie, W - ocena z wykładu, S - ocena z seminarium, L - ocena z laboratorium
Punktacja kolokwium:
0-7 | 2.0 |
8 | 3.0 |
9 | 3.5 |
10-11 | 4.0 |
12-13 | 4.5 |
14-15 | 5.0 |
Terminy kolokwium:
26.01.2022 - Systemy Biometryczne
27.01.2022 - Biometria
Wyniki:
Systemy Biometryczne - opublikowano 03.02.2022 r.
Biometria - opublikowano 01.02.2022 r.
Wykład
Wykład 1 i 2 - Wprowadzenie, kluczowe właściwości i zastosowania
- Literatura - Bolle R. M., Connell J. H., Pankanti S., Ratha N. K., Senior, Biometria, Wydawnictwa Naukowo-Techniczne PWN-WNT, 2008
- Literatura - Krzysztof Ślot, Rozpoznawanie biometryczne. Nowe metody ilościowej reprezentacji obiektów, Wydawnictwa Komunikacji i Łączności, 2011
- Literatura - Krzysztof Ślot, Wybrane zagadnienia biometrii, Wydawnictwa Komunikacji i Łączności, 2008
- Artykuł - Wojciech Wodo, Lucjan Hanzlik, Thermal imaging attacks on keypad security systems
- Prezentacja - Krzysztof Ślot, Identyfikacja Biometryczna
Wykład 3 - Błędy FAR i FRR, krzywa ROC i DET, CMC
- Prezentacja - Błędy systemów biometrycznych
- Prezentacja - Adam Czajka, Statystyczna ocena systemów biometrycznych
Wykład 4 - Testowanie, dobór i porównywanie systemów biometrycznych
- Prezentacja - Andrzej Czyżewski, Przegląd technologii biometrycznych
Wykład 5 - Biometria odcisku palca
- Wideo - Computerphile, Fingerprint Recognition
- Prezentacja - Krzysztof Kamiński, Biometryczne sposoby identyfikacji - odciski palców
- Wideo - EMCE, Czy da się ukraść odciski palców ze zdjęcia? cz.1
- Wideo - EMCE, Czy da się ukraść odciski palców ze zdjęcia? cz.2
Wykład 6 - Biometria tęczówki
- Wideo - Prof. John Daugman, Iris Recognition
- Raport - Maciej Mistoń i Leon Alrae, Rozpoznawanie wzorców ludzkiej tęczówki oka
Wykład 7 - Biometria behawioralna - keystroking
- Artykuł - W.Wodo, M.Klonowski & P.Syga SOME REMARKS ON KEYSTROKE DYNAMICS: Global Survillience, Retriving Information and Simple Countermeasures
- Artykuł - W.Wodo & L.Hanzlik, Identity security in biometric systems based on keystroking
Wykład 8 i 9 - Biometria twarzy
- Artykuł - P.Viola & M.Jones Rapid Object Detection using a Boosted Cascade of Simple Features
- Wideo - Computerphile, Detecting Faces (Viola Jones Algorithm)
- Wideo - Adam Harvey, OpenCV Face Detection: Visualized
- Artykuł - Kevin Salton do Prado, Face Recognition: Understanding LBPH Algorithm
- Wideo - Computerphile, Faces & the Local Binary Pattern
- Wideo - Udacity course "Introduction to Computer Vision", Eigenfaces, Eigenfaces examples, Recognition with Eigenfaces
- Artykuł - M.Turk & A.Pentland Eignefaces for Recognition
Wykład 10 i 11 - Bezpieczeństwo sensorów i sytemu biometrycznego
- Artykuł - A. Czajka, Ł. Stasiuk, M. Chochowski & A. Pacut Od biometrii do bezpiecznej biometrii
- Prezentacja - A. Czajka, Bezpieczeństwo sensorów biometrycznych
- Raport - W.Wodo & H. Ławniczak, Bezpieczeństwo i biometria urządzeń mobilych w Polsce. Badanie użytkowników 2016
Wykład 12 - Prawne i etyczne aspekty biometrii
- Prezentacja - Marta Kozioł, Prawne i etyczne aspekty biometrii
- Raport - Komitet Konsultacyjny UODO, Wytyczne dotyczące rozpoznawania twarzy
- Raport - Grupa ekspercka wysokiego szczebla ds. sztucznej intelignecji KE, Wytyczne dotyczące etyki dotyczącego godnego zaufania AI
- Raport - Związek Banków Polskich, Raport Biometryczny 2.0. Bankowość Biometryczna
- Filmy: Hakowanie Świata, Dylemat Społeczny
Seminarium
- Zajęcia seminaryjne będą odbywać się w zespołach, oznacza to, że w każdej grupie zostaną sformułowane zespoły i przydzielone obszary tematyczne.
- Każdy z zespołów będzie prezentować się dwukrotnie, każde wystąpienie będzie oceniane pod względem merytorycznym, ale także przekazu treści, formy prezentacji i kontaktu z audytorium.
- Dodatkowym elementem seminarium może być sesja konfrontacyjna, w której pozostałe zespoły atakują broniący się pytaniami.
- Zespół otrzymuje ogólną ocenę swoje pracy, a następnie wewnętrznie ustala oceny cząstkowe swoich członków na drodze konsensusu, tak aby średnia ocena wszystkich jego członków nie przekroczyła oceny ogólnej.
- Obecność na seminariach jest obowiązkowa, dopuszczalna jest jedna nieusprawiedliwiona nieobecność.
- Aktywność studenta podczas zajęć może wpłynąć pozytywnie, bądź negatywnie na ocenę końcową o 0.5
Laboratorium
- Praca na laboratorium będzie wymagała wcześniejszego przygotowania się w domu. Zalecam pracę na własnym sprzęcie, instalację maszyny wirtualnej oraz przygotowanie środowiska pracy według zaleceń prowadzącego laboratoria. Proszę o przygotowanie sobie środowiska programistycznego C++, Python oraz Arduino.
- W ramach zajęć będą do przygotowania 4 raporty podsumowujące przeprowadzone działania, ich opis, wyniki i wnioski, które będą podstawą zaliczenia, każdy z raportów musi być ostatecznie oceniony minimalnie na 3.0.
- Prowadzący laboratoria podczas zajęć wprowadza w tematykę opracowywania, pokazuje przykłady i zadaje zadania do samodzielnego wykonania, należy je zrealizować na zajęciach i w okresie pomiędzy kolejnymi laboratoriami oraz odpowiednio opisać w raporcie. Wyniki pracy nie będą sprawdzane podczas laboratoriów.
- Obecność na laboratoriach jest obowiązkowa, dopuszczalna jest jedna nieusprawiedliwiona nieobecność.
- Aktywność studenta podczas zajęć może wpłynąć pozytywnie, bądź negatywnie na ocenę końcową o 0.5
Audytowanie i monitorowanie sieci i systemów
WYKŁADY
Wprowadzenie, rodzaje i cele audytu, standardy
-
Wykład 1 i 2
- Przewodnik audytora systemów informatycznych, Helion 2007 (fragment)
- Kurs LinkedIn Learning: CISA Cert Prep: 1 Auditing Information Systems for IS Auditors
- Kurs LinkedIn Learning: CISA Cert Prep: 2 Information Technology Governance and Management for IS Auditors
Analiza ryzyka na potrzeby audytowania i monitorowania
-
Wykład 3
- Czym jest analiza ryzyka IT – wprowadzenie by Sekurak
- Zarządzanie ryzykiem bezpieczeństwa informacji w systemach IT
- Analiza ryzyka w środowisku informatycznym Narzędzia
- OWASP Risk Rating Methodology
- Introduction and implementation OWASP Risk Rating Management
- NIST SP800-30 Guide for Conducting Risk Assessments
Audytowanie infrastruktury sieciowej
-
Wykład 4
- Identyfikowanie hostów z wykorzystaniem Nmapa
- TCP Idle Scan by Nmap
- DISA STIGS
- Network Devices Security Technical Implementation Guide
Audytowanie infrastruktury chmurowej
-
Wykład 5
- SANS Whitepaper: Cloud Security Framework Audit Methods
- NIST-SP 500-291: NIST Cloud Computing Standards Roadmap
- Cloud Security Alliance - Security Guidance for Critical Areas of Focus in Cloud Computing v4.0 Audit Methods
- BSI - Cloud Computing Compliance Controls Catalogue (C5) - Criteria to assess the information security of cloud services
- CSA Top Threats to Cloud Computing 2019
- Threat Horizons Cloud Threat Intelligence. November 2021. Issue 1
Audytowanie systemów operacyjnych
-
Wykład 6
- Monitoring bezpieczeństwa Linux: integracja auditd + OSSEC cz. I
- Getting started with Linux Audit
- Searchable Linux Syscall Table for x86 and x86_64
- How to Hack Your Own Linux System - Single User Mode
- File Access Control List
- USBGuard – zarządzanie urządzeniami USB
Praca dyplomowa - diploma thesis
Na spotkaniach będziemy omawiać postępy w realizacji prac dyplomowych oraz prezentować zgromadzony materiał, dyskutować nad otrzymanymi wynikami i ustalać dalsze etapy pracy do wykonania.
Spotkania odbywają się osobiście lub zdalnie na kanale MS Teams.
Dodatkowe informacje
...
Konsultacje / Office hours:
Czwartek/ Thursday: 13:15-15:15, r. Discord
Uwaga! 27.04 konsultacji nie ma! / Attention! On May 27nd office hours are cancelled!
Uwaga! Konsultacje odbywają się zdalnie na kanale Discorda - o link proszę pisać mailowo, bo niestety są ataki botów :(.
Konkretne problemy warto wcześniej podesłać mailem, żebym mógł przemyśleć :)
It is highly recommended to send me specific inquires by e-mail in order to give me some time for thinking :)
Prowadzone kursy / Running classes:
- Biometria - I st., WEKA
- Wtorek 15.15-16.55 (wykład), s. MS Teams
- Wtorek 17.05-18.45 (seminarium), s. MS Teams
- Środa 17.05-18.45 (seminarium), s. MS Teams
- Systemy biometryczne - I st., WEKA
- Środa 15.15-16.55 (wykład), s. MS Teams
- Compliance and Operational Security - II st., WPPT (about) (jointly with Dr P. Kubiak)
- Monday 9.15-11.00 (lecture), r. MS Teams, since 26th April 2021
- Monday 11.15-13.00 (exercise), r. MS Teams, since 26th April 2021
- Praca dyplomowa - WPPT
- Czwartek 13.15-15.00, r. Discord
Compliance and Operational Security - MSc program
About
This year the course is conducted jointly with Dr Przemyslaw Kubiak. The first 7 weeks of the course are run by Dr Kubiak, last 8 weeks by me (I take over classes at April 26th). Scope of the course is rather not technical nor technological, we will focus on organizational, legal and compliance aspects of IT systems. We will go through some worldwide recognizable security standards like ISO 27001 or Common Criteria.More about first part of the course available at Dr Kubiak's website.
Rules
The student's knowledge and the manner and timeliness of the presented solution stages will be assessed at the exercise classes. There will be two group projects, each stage will require sum up in a form of written report, which will be evaluated. The final grade for exercise will consist of the average of grades for each project, with possible modifiers including timeliness and activity. There will be also written exam covering material from the lecture.
Final grade for the course is: F=0.4*L+0.6*E, where L-grade from lecture's exam, E-grade from exercise.
Tasks
Each group works on one selected task. Each task is planned for about 4-weeks time frame. Eventually, final report must be prepared for an evaluation.
1. Prepare an Incident Response Plan for a large scale e-lottery system(2.1) or SCADA system in power grid(2.2). For cryptographic protocols utilized by some exemplary e-lottery system - see: Trust Engineering: From Requirements to System Design and Maintenance - A Working National Lottery System Experience or/and Electronic National Lotteries.
2. Prepare a Contingency Plan for a large internet shop(1.1) or auctions portal(1.2). Remember that you must protect personal data of your clients (e.g., delivery addresses, transactions made). Try to justify the costs.
Deadline for the reports:
Incident Response Plans - 30.05.2021, 23:59 (the results shall be announced in the evening on the 06.06.2021)
Contingency Plans - 13.06.2021, 23:59 (the results shall be announced in the evening on the 20.06.2021).
Content
Lecture 1Introduction
- Cybersecurity By The Numbers
- Cyber Security Crash Course, list of videos: videos
- FWs IDS:IPS & AV Aren't Enough to Protect from Malware
Security Information and Event Management (SIEM) and Security Operation Center (SOC)
- What is SIEM?
- How does a SIEM work?
- 9 Ways to Eliminate SIEM False Positives
- StratoSOC Solution Overview
- The Essential Guide to SIEM, please follow all the ten chapters and after that take a quiz, you have to collect at least 20/25 points
- SIEM Essential Quiz
Incident Response Planning
- Introduction to Security Incidents
- Introduction to Incident Response
- Incident Response Automation and Security Orchestration with SOAR
- SOC 101: Real-time Incident Response Walkthrough
- NIST Computer Security Incident Handling Guide
- Software Engineering Institute Handbook for Computer Security Incident Response Teams (CSIRTs)
Contingency Plan
- NIST Contingency Planning Guide for Federal Information Systems
- Business Strategy: Contingency Planning
- Security 101: Contingency Planning - Medical Business View (compliance with HIPPA)
- Batman! Contingency Plan!
Personal Data Protection
- Guest lecture by Wojciech Trelak entitled Technical aspects of data protection regulations with examples for GDPR, HIPAA and CCPA (May 24, 2021)
- General Data Protection Regulation (GDPR) - Fact Sheet
- California Customer Protection Act (CCPA) - Fact Sheet
- Health Insurance Portability and Accountability Act (HIPPA) - Fact Sheet
PSD2, RTS and Open Banking
- PSD2 Essentials
- Regulatory Technical Standards (RTS) for Strong Customer Authentication and Common Secure Communication
Additional resources
SIEM and SOC
- RSA Conference 2018 - From SIEM to SOC: Crossing the Cybersecurity Chasm
- The Top 10 SIEM Tools to Try for 2019
- SOC Blog
Incident Response Planning
- Example of the Exabeam tool
- Incident Response Blog
- UC Berkeley Incident Response Planning Guideline
- Minimum Security Standards for Electronic Information
- Example of Incident Response Plan of Carnegie Mellon University
- Example of Computer Incident Response Plan of Tulane University
- Example of Incident Response Plan of Wright State University
Biometria / Systemy biometryczne
O kursie i zasady zaliczenia
Karty przedmiotów dostępne są pod linkami: Biometria, Systemy biometryczne.
Podstawą zaliczenia tych grup kursów jest uzyskanie pozytywnej oceny z wchodzących w ich skład zajęć - tj. wykładu (kolokwium zaliczeniowe), seminarium (ocena prezentacji i projektu) oraz laboratorium (jeśli dotyczy, rozwiązywanie list zadań oraz praca na zajęciach).
Zajęcia są wprowadzone wspólnie z mgr inż. Damianem Stygarem (seminaria Systemy Biometryczne) oraz mgr inż. Piotrem Giedziunem (laboratoria Systemy Biometryczne)
Wzór na ocenę końcową przedstawia się następująco:
- Biometria: O = 0.6xW + 0.4xS
- Systemy biometryczne: O = 0.4xW + 0.4xL + 0.2xS Gdzie, W - ocena z wykładu, S - ocena z seminarium, L - ocena z laboratorium
Punktacja kolokwium:
0-6 | 2.0 |
7 | 3.0 |
8-9 | 3.5 |
10-11 | 4.0 |
12-13 | 4.5 |
14-15 | 5.0 |
Terminy kolokwium:
16.06 - Systemy Biometryczne
22.06 - Biometria
Wyniki:
Systemy Biometryczne
Biometria
Seminarium
- Zajęcia seminaryjne będą odbywać się w zespołach, oznacza to, że w każdej grupie zostaną sformułowane zespoły i przydzielone obszary tematyczne.
- Każdy z zespołów będzie prezentować się dwukrotnie, każde wystąpienie będzie oceniane pod względem merytorycznym, ale także przekazu treści, formy prezentacji i kontaktu z audytorium.
- Dodatkowym elementem seminarium może być sesja konfrontacyjna, w której pozostałe zespoły atakują broniący się pytaniami.
- Zespół otrzymuje ogólną ocenę swoje pracy, a następnie wewnętrznie ustala oceny cząstkowe swoich członków na drodze konsensusu, tak aby średnia ocena wszystkich jego członków nie przekroczyła oceny ogólnej.
- Obecność na seminariach jest obowiązkowa, dopuszczalna jest jedna nieusprawiedliwiona nieobecność.
Laboratorium
- Praca na laboratorium będzie wymagała wcześniejszego przygotowania się w domu. Zalecam pracę na własnym sprzęcie, instalację maszyny wirtualnej oraz przygotowanie środowiska pracy według zaleceń prowadzącego laboratoria. Proszę o przygotowanie sobie środowiska programistycznego C++, Python oraz Arduino.
- W ramach zajęć będą do przygotowania 4 raporty podsumowujące przeprowadzone działania, ich opis, wyniki i wnioski, które będą podstawą zaliczenia, każdy z raportów musi być ostatecznie oceniony minimalnie na 3.0.
- Prowadzący laboratoria podczas zajęć wprowadza w tematykę opracowywania, pokazuje przykłady i zadaje zadania do samodzielnego wykonania, należy je zrealizować na zajęciach i w okresie pomiędzy kolejnymi laboratoriami oraz odpowiednio opisać w raporcie. Wyniki pracy nie będą sprawdzane podczas laboratoriów.
- Obecność na laboratoriach jest obowiązkowa, dopuszczalna jest jedna nieusprawiedliwiona nieobecność.
Opisy:
Prezentacje:
Praca dyplomowa - diploma thesis
Na spotkaniach będziemy omawiać postępy w realizacji prac dyplomowych oraz prezentować zgromadzony materiał, dyskutować nad otrzymanymi wynikami i ustalać dalsze etapy pracy do wykonania.
Spotkania odbywają się zdalnie na kanale Discorda - o link proszę pisać mailowo, bo niestety są ataki botów :(.
Dodatkowe informacje
...
Office hours:
Tuesday: 13.15-15.15, Discord (ask for invitation)
It is highly recommended to send me specific inquires by e-mail in order to give me some time for thinking :)
Running classes:
- Embedded Security Systems - MSc programe
- Monday 15.15-16.45 (lecture), virtual class on MS Teams
- Wednesday 9.15-11.00 (lab), r. 317.2 D-1
- Wednesday 11.15-13.00 (lab), r. 317.2 D-1
- Wednesday 13.15-15.00 (lab), r. 317.2 D-1
- Praca dyplomowa \ Diploma thesis
- Tuesday 13.15-15.15, Discord (e-mail z prośbą o zaproszenie)
Embedded Security Systems - MSc programe
Rules
The student's knowledge and the manner and timeliness of the presented solution stages will be assessed at the laboratory classes. The lecturer will require a detailed knowledge of the solution techniques used, may ask to modify or add new fragments to the existing source code. The final grade will consist of the average of grades for each list, including timeliness and activity. Each stages of classes will require sum up in a form of written report, which will be evaluated.
Additional information
After finishing some part of material students will be requested to prepare recapping report covering what they did during solving assignments, including objectives, experiments, codes snippets, results and the most important part - discussion and reflections. Report should be prepared in written form (PDF file) and submitted by e-mail till the end of the highlighted week.
Exam terms
Introduction
-
Lecture 1
- Breaking into Embedded Devices and IoT Security
- Intro to Hardware Reversing: Finding a UART and getting a shell
- Make Me Hack #01 - Identifying Components - Hardware Hacking Tutorial
- FCC ID Search (Federal Communication Commission)
- OpenWRT (Linux operating system targeting embedded devices)
Hardware and Software Reverse Engineering
-
Lecture 2
- Intro to hardware security: UART access and SPI firmware extraction
- Introduction to Firmware Reversing
- IoT Firmware Emulation and Exploitation
- Make Me Hack #02 - How To Find The UART Interface - Hardware Hacking Tutorial
- Lecture 3
- Building Poor Man's Logic Analyzer with an Arduino - Reverse Engineering A/C Remote part 1
- Capturing & Analyzing Packets with Saleae Logic Pro 8 - Reverse Engineering A/C Remote part 2
-
Lecture 4 - Firmadyne (software for emulating the firmware)
- Make Me Hack #04 - How To Get The Firmware - Hardware Hacking Tutorial
- Hack All The Things: 20 Devices in 45 Minutes
Trusted Platform Module
-
Lecture 5
- Trusted Platform Module (TPM) Part 1
- TPM Trusted Platform Module and Windows 10 Part 2
- Windows 10 and Secure Boot
- Trusted Platform Module (TPM) Summary
- The Trusted Platform Module Specifications Hardware Security Module (HSM)
- Explaining HSMs | Part 1 - What do they do? (all 5 parts on HSM)
- What are the differences between TPM and HSM?
Embedded Systems Vulnerabilities
-
Lecture 6
- IoT Security -> Introduction
- Testing the Security of Embedded Systems
- Security Controls & Vulnerabilities in Embedded System OS Lecture 7
- Hardware Trojan Detection Overview (all parts)
Software Defined Radio
-
Lecture 8
- Radio Hacking: Cars, Hardware, and more! - Samy Kamkar - AppSec California 2016
- Digital Ding Dong Ditch Prank - hacking wireless doorbells w/Arduino and RTL-SDR, http://samy.pl/dingdong/,http://kmkeen.com/rtl-demod-guide/
- #286 How does Software Defined Radio (SDR) work under the Hood? SDR Tutorial
- Software Defined Radio with HackRF
- Michael Ossmann: Simple RF Circuit Design GSM and SIM Card
- The Secret Life of SIM Cards
- How do SIM Cards work? - SIMtrace
- GSM Mobile Network Intro - Nokia Network Monitor
Lecture 9
Automotive Security
-
Lecture 10
- Automotive Security: Challenges and Solutions
- ISO/SAE 21434: The Standard for Automotive Cyber Security (2020)
- Car Hacking Demo: How to Hack an ECU, Automotive Penetration Testing (2019)
- Distance-Bounding Protocols: Verification without Time and Location
- VB2018 paper: Under the hood: the automotive challenge
- Search for electric car traction battery charge level signal in CAN bus (thanks to Mr. Pawel Cyprys)
Side-channel attacks and analysis
-
Lecture 11
- Side Channel Timing Attack Demonstration
- Hardware Power Glitch Attack (Fault Injection)
- RSA Power Analysis Side-Channel Attack
- Defeat 2FA token because of bad randomness
- riscure Embedded Hardware CTF - RHme Lecture 12
- Samy Kamkar - FPGA Glitching & Side Channel Attacks
- Blind GQL injection and optimised binary search
- Rowhammer attacks explained simply
- Side-Channel Attacks on Everyday Applications
Physical Unclonable Functions (PUFs)
-
Lecture 13
- Hardware security - Physical Unclonable Functions PUF Basics
- PUF (part 1), (part 2) and (part 3) Lecture 14
- Physical Unclonable Functions and Applications: A Tutorial (paper)
- Physical Unclonable Functions for Device Authentication and Secret Key Generation (paper)
Kleptography
-
Lecture 15
- 26C3: Yes We Cant - on kleptography and cryptovirology, all 6 parts by Moti Yung (the creator)
- Kleptography 101 - Adam Janovsky
- Cliptography Clipping the Power of Kleptographic Attacks
Lists
- List 1: IrDA and oscilloscope showcase. Saleae download page for logic analyzer software. We used infrared receiver TSOP31236 datasheet and some code for Arduino. Traces of IrDA communication from the remote as picked up by the receiver will be send to respective students via email for decoding.
- List 2: Securing IrDA transmission with A5/1. Using Arduino platform and the IrDA hardware from the showcase build a transmission link protected with A5/1 implementation of stream cipher. There are two cases to implement:
- The two communicating PCs separately produce the keychains from A5/1 and pass it to Arduino boards using UART. The encrypted message is sent between the Arduinos over IrDA link (this is case for people who have got two pieces of Arduino).
- Adruino board is connected via UART link with PC for keystream transmission. The keystream is received from the sending PC and forwarded in parallel with the cryptogram via IrDA link in a broadcast mode. In this case logical signal analyzer is helpful to capture the data on the transmitter side You can compare plain text and encrypted signal.
REPORT SUBMISSION (31 October 2020)
- Information and data gathering,
- UART detection, determine voltage levels and pins order, establish the connection,
- Get firmware from the board or download it from manufacturer,
- Analyze firmware, extract it, get access to the essential resources of the device,
- Retrieve root password or get access to the root shell on the device.
Your task is to overcome each security means by using different analysis methods and prepare scripts/toolkits facilitating attacks. You should be able to establish connection between target board and your computer via UART or other interface in order to perform the communication and take control over the device.
Useful commands and tools: busybox, dd, grep, sed, regular expressions, python, bash scripts, pearl, binwalk, strings, u-boot, command line for u-boot,...
Toolkits:
Ghidra - software reverse engineering suite provided by NSA and guide video (thanks to Pawel Cyprys)
REPORT SUBMISSION (30 November 2020)
- Change the default credentials -> for instance password for the admin user and try to get access to the webadmin toolkit anyway
- After getting the access to webadmin toolkit perform once more data gathering and try to find CVE and exploit it in order to get access to the root shell via remote network connection.
- Share all interesting insights gathered during your reverse engineering activity among all the groups and create a shared DOC file including all of them in a form of separated entries.
REPORT SUBMISSION (20 December 2020)
- Door keypad - PIN (for getting access)
- Login/Password (for getting privileges)
- Red herrings (for misleading adversary)
Upload the code to the Arduino and launch the device. Your task is to overcome each security means by using different analysis methods and prepare scripts/toolkits facilitating attacks. You should be able to establish connection between Arduino and your computer via serial port in order to perform the communication or use another Arduino. Your ultimate goal is changing the blinking frequency of the device.
Remember about everything you have learned so far!REPORT SUBMISSION (31 January 2021)
Additional resources:
EMV Integrated Circuit Card Specifications for Payment Systems
Prezentacja Laboratorium Programowania Kart Elektronicznych
A Rambling Walk Through an EMV Transaction
Marks
ResultsIndividual marks should be agreed within the group and pass to me. Mean of the individual marks must not exceed group mark.
Praca dyplomowa / Diploma thesis
Na spotkaniach będziemy omawiać postępy w realizacji prac dyplomowych oraz prezentować zgromadzony materiał, dyskutować nad otrzymanymi wynikami i ustalać dalsze etapy pracy do wykonania.
Spotkania odbywają się zdalnie na kanale Discorda - o link proszę pisać mailowo, bo niestety są ataki botów :(.
Dodatkowe informacje
...
Konsultacje / Office hours:
Czwartek/ Thursday: 13:15-15:15, 218 D-1
Uwaga! Konsultacje odbywają się zdalnie na kanale Discorda - o link proszę pisać mailowo, bo niestety są ataki botów :(.
Konkretne problemy warto wcześniej podesłać mailem, żebym mógł przemyśleć :)
It is highly recommended to send me specific inquires by e-mail in order to give me some time for thinking :)
Prowadzone kursy / Running classes:
- Systemy wbudowane - I st., WPPT ( o kursie)
- Poniedziałek 18.55-20.35 (laboratorium), s. 317.3 D-1
- Compliance and Operational Security - II st., WPPT (about) (jointly with Dr P. Kubiak)
- Wednesday 9.15-11.00 (lecture), r. A-2 L-1
- Wednesday 11.15-13.00 (exercise), r. A-2 L-1
- Praca dyplomowa - WPPT
- Poniedziałek 11.15-13.00, s. 218 D-1
- Biometria - I st., WEKA
- Wtorek 15.15-16.55 (wykład), s. 2 C-5
- Wtorek 17.05-18.45 (seminarium), s. 2 C-5
- Systemy biometryczne - I st., WEKA
- Czwartek 15.15-16.55 (wykład), s. 2 C-5
Systemy wbudowane
Zasady zaliczenia
Na laboratoriach będą oceniane wiedza studenta oraz sposób i terminowość przedstawianych rozwiązań. Prowadzący będzie wymagał szczegółowej znajomości użytych technik rozwiązania, może poprosić o modyfikację lub dodanie nowych fragmentów do istniejącego już rozwiązania. Szczegółowe zasady oceniania dostępne na stronie prowadzącego wykład.
Materiały i listy
Compliance and Operational Security - MSc program
About
This year the course is conducted jointly with Dr Przemyslaw Kubiak. The first 7 weeks of the course are run by Dr Kubiak, last 8 weeks by me. Scope of the course is rather not technical nor technological, we will focus on organizational, legal and compliance aspects of IT systems. We will go through some worldwide recognizable security standards like ISO 27001 or Common Criteria.More about first part of the course available at Dr Kubiak's website.
Rules
The student's knowledge and the manner and timeliness of the presented solution stages will be assessed at the exercise classes. There will be two group projects, each stage will require sum up in a form of written report, which will be evaluated. The final grade for exercise will consist of the average of grades for each project, with possible modifiers including timeliness and activity. There will be also written exam covering material from the lecture.
Final grade for the course is: F=0.4*L+0.6*E, where L-grade from exam, C-grade from exercise.
Tasks
Each group works on one selected task. Each task is planned for 4-weeks time frame. Eventually, final report must be prepared for an evaluation.
1. Prepare a Contingency Plan for a large internet shop(1.1) or auctions portal(1.2). Remember that you must protect personal data of your clients (e.g., delivery addresses, transactions made). Try to justify the costs.
2. Prepare an Incident Response Plan for a large scale e-lottery system(2.1) or SCADA system in power grid(2.2). Try to justify the costs. For cryptographic protocols utilized by some exemplary e-lottery system - see: Trust Engineering: From Requirements to System Design and Maintenance - A Working National Lottery System Experience or/and Electronic National Lotteries.
Deadline for the reports:
Incident Response Plans - 29.05.2020, 23:59 (the results shall be announced in the evening on the 08.06.2020)
Contingency Plans - 08.06.2020, 23:59 (the results shall be announced in the evening on the 15.06.2020).
Content
Lecture 1Introduction
- Cybersecurity By The Numbers
- Cyber Security Crash Course, list of videos: videos
- FWs IDS:IPS & AV Aren't Enough to Protect from Malware
Security Information and Event Management (SIEM) and Security Operation Center (SOC)
- What is SIEM?
- How does a SIEM work?
- 9 Ways to Eliminate SIEM False Positives
- StratoSOC Solution Overview
- The Essential Guide to SIEM, please follow all the ten chapters and after that take a quiz, you have to collect at least 20/25 points
- SIEM Essential Quiz
Incident Response Planning
- Introduction to Security Incidents
- Introduction to Incident Response
- Incident Response Automation and Security Orchestration with SOAR
- NIST Computer Security Incident Handling Guide
- Software Engineering Institute Handbook for Computer Security Incident Response Teams (CSIRTs)
Contingency Plan
- NIST Contingency Planning Guide for Federal Information Systems
- Business Strategy: Contingency Planning
- Security 101: Contingency Planning - Medical Business View (compliance with HIPPA)
- Batman! Contingency Plan!
Personal Data Protection
- Guest lecture by Wojciech Trelak entitled Technical aspects of data protection regulations with examples for GDPR, HIPAA and CCPA (May 20, 2020)
- General Data Protection Regulation (GDPR) - Fact Sheet
- California Customer Protection Act (CCPA) - Fact Sheet
- Health Insurance Portability and Accountability Act (HIPPA) - Fact Sheet
Additional resources
SIEM and SOC
- RSA Conference 2018 - From SIEM to SOC: Crossing the Cybersecurity Chasm
- The Top 10 SIEM Tools to Try for 2019
- SOC Blog
Incident Response Planning
- Example of the Exabeam tool
- Incident Response Blog
- UC Berkeley Incident Response Planning Guideline
- Minimum Security Standards for Electronic Information
- Example of Incident Response Plan of Carnegie Mellon University
- Example of Computer Incident Response Plan of Tulane University
- Example of Incident Response Plan of Wright State University
Biometria / Systemy biometryczne
O kursie i zasady zaliczenia
Karty przedmiotów dostępne są pod linkami: Biometria, Systemy biometryczne.
Podstawą zaliczenia tych grup kursów jest uzyskanie pozytywnej oceny z wchodzących w ich skład zajęć - tj. wykładu (kolokwium zaliczeniowe), seminarium (ocena prezentacji i projektu) oraz laboratorium (jeśli dotyczy, rozwiązywanie list zadań oraz praca na zajęciach).
Wzór na ocenę końcową przedstawia się następująco:
- Biometria: O = 0.6xW + 0.4xS
- Systemy biometryczne: O = 0.4xW + 0.4xL + 0.2xS Gdzie, W - ocena z wykładu, S - ocena z seminarium, L - ocena z laboratorium
Punktacja kolokwium:
0-6 | 2.0 |
7 | 3.0 |
8-9 | 3.5 |
10-11 | 4.0 |
12-13 | 4.5 |
14-15 | 5.0 |
Wyniki - Systemy Biometryczne Wyniki - Biometria
Seminarium
- Zajęcia seminaryjne będą odbywać się w zespołach, oznacza to, że w każdej grupie zostaną sformułowane zespoły i przydzielone obszary tematyczne.
- Każdy z zespołów będzie prezentować się dwukrotnie, każde wystąpienie będzie oceniane pod względem merytorycznym, ale także przekazu treści, formy prezentacji i kontaktu z audytorium.
- Dodatkowym elementem seminarium będzie sesja konfrontacyjna, w której pozostałe zespoły atakują broniący się pytaniami.
- Zespół otrzymuje ogólną ocenę swoje pracy, a następnie wewnętrznie ustala oceny cząstkowe swoich członków na drodze konsensusu, tak aby średnia ocena wszystkich jego członków nie przekroczyła oceny ogólnej.
- Obecność na laboratoriach jest obowiązkowa, dopuszczalna jest jedna nieusprawiedliwiona nieobecność.
Laboratorium
- Praca na laboratorium będzie wymagała wcześniejszego przygotowania się w domu. Zalecam pracę na własnym sprzęcie, instalację maszyny wirtualnej oraz przygotowanie środowiska pracy według zaleceń prowadzącego laboratoria. Proszę o przygotowanie sobie środowiska programistycznego C++, Python oraz Arduino.
- W ramach zajęć będą do przygotowania 4 raporty podsumowujące przeprowadzone działania, ich opis, wyniki i wnioski, które będą podstawą zaliczenia, każdy z raportów musi być ostatecznie oceniony minimalnie na 3.0.
- Prowadzący laboratoria podczas zajęć wprowadza w tematykę opracowywania, pokazuje przykłady i zadaje zadania do samodzielnego wykonania, należy je zrealizować na zajęciach i w okresie pomiędzy kolejnymi laboratoriami oraz odpowiednio opisać w raporcie. Wyniki pracy nie będą sprawdzane podczas laboratoriów.
- Obecność na laboratoriach jest obowiązkowa, dopuszczalna jest jedna nieusprawiedliwiona nieobecność.
Opisy:
Laboratorium 1
Laboratorium 2
Laboratorium 3*
Laboratorium 4
Laboratorium 5
Laboratorium 6
(*) - będzie zmiana kolejności z laboratorium nr 4 z uwagi na zdalne zajęcia
Prezentacje:
Laboratorium 1
Laboratorium 2
Praca dyplomowa - diploma thesis
Na spotkaniach będziemy omawiać postępy w realizacji prac dyplomowych oraz prezentować zgromadzony materiał, dyskutować nad otrzymanymi wynikami i ustalać dalsze etapy pracy do wykonania.
Spotkania odbywają się zdalnie na kanale Discorda - o link proszę pisać mailowo, bo niestety są ataki botów :(.
Dodatkowe informacje
...
Konsultacje / Office hours:
Wtorek / Tuesday: 11:15-13:15, 218 D-1
Uwaga! 17.12 konsultacji nie ma! / Attention! On December 17 office hours are cancelled!
Konkretne problemy warto wcześniej podesłać mailem, żebym mógł przemyśleć :)
It is highly recommended to send me specific inquires by e-mail in order to give me some time for thinking :)
Prowadzone kursy / Running classes:
- Bazy danych i systemy informacyjne - studia inżynierskiej ( o kursie)
- Środa TN 9.15-11.00, s. 303A C-7
- Środa TP 9.15-11.00, s. 303A C-7
- Środa TN 11.15-13.00, s. 303A C-7
- Środa TP 11.15-13.00, s. 303A C-7
- Praca dyplomowa / diploma thesis
- Poniedziałek 11.15-13.00, s. 218 D-1
Bazy danych i systemy informacyjne
Zasady zaliczenia
Na ćwiczeniach będą oceniane wiedza studenta oraz sposób, terminowość przedstawianych rozwiązań i aktywność na zajęciach. Prowadzący będzie wymagał szczegółowej znajomości użytych technik rozwiązania, może poprosić o modyfikację lub dodanie nowych fragmentów do istniejącego już rozwiązania. Na ocenę końcową składać się będzie ocena z kolokwium, kartkówki za poszczególne listy z uwzględnieniem terminowości oraz aktywności. Szczegółowe zasady oceniania dostępne na stronie prowadzącego wykład.
Listy
Literatura
* J.D. Ullman, J. Widom, A First Course in Database Systems * J.D. Ullman, Principles of Database Systems * H. Garcia-Molina, J.D. Ullman, J. Widom, Systemy baz danych * T. Pankowski, Podstawy baz danych * W3Schools, Manual dialektu
Prezentacje
Normalizacja 1NF - 5NF
Normalizacja Schematów Logicznych Relacji
Wyniki
Grupa A TN 9.15
Grupa B TN 11.15
Grupa C TP 9.15
Grupa D TP 11.15
i to by było na tyle ;)
Praca dyplomowa - diploma thesis
Na spotkaniach będziemy omawiać postępy w realizacji prac dyplomowych oraz prezentować zgromadzony materiał, dyskutować nad otrzymanymi wynikami i ustalać dalsze etapy pracy do wykonania.
Dodatkowe informacje
...
Konsultacje / Office hours:
Środa / Wednesday: 11:15-13:00, 218 D-1
Uwaga! 04.06 konsultacji nie ma! / Attention! On June 4 office hours are cancelled!
Konkretne problemy warto wcześniej podesłać mailem, żebym mógł przemyśleć :)
It is highly recommended to send me specific inquires by e-mail in order to give me some time for thinking :)
Prowadzone kursy / Running classes:
- Embedded Security Systems - MSc programe (About the course)
- Tuesday 13.15-15.00, r. 317.3 D-1
- Tuesday 15.15-16.55, r. 317.3 D-1
Embedded Security Systems - MSc programe
Rules
The student's knowledge and the manner and timeliness of the presented solution stages will be assessed at the laboratory classes. The lecturer will require a detailed knowledge of the solution techniques used, may ask to modify or add new fragments to the existing source code. The final grade will consist of the average of grades for each list, including timeliness and activity. Each stages of classes will require sum up in a form of written report, which will be evaluated.
Additional information
After finishing some part of material students will be requested to prepare recapping report covering what they did during solving assignments, including objectives, experiments, codes snippets, results and the most important part - discussion and reflections. Report should be prepared in written form (PDF file) and submitted by e-mail till the end of the highlighted week.
Lists
- List 1: introduction to VHDL - hello world, testing, text I/O. Nice VHDL Tutorial with Examples.
- List 2: A5/1-like cipher and randomness analysis. [Code]
- List 3 (on March 12, 19): IrDA and oscilloscope showcase. Saleae download page for logic analyser software. We used infrared receiver TSOP2238 datasheet and some code for Arduino. Traces of IrDA communication from the remote as picked up by the receiver will be send to respective students via email for decoding.
- List 4 (on March 26, April 2, 9): Securing IrDA transmission with A5/1 - two-weeks long assignment. Using Arduino platform and the IrDA hardware from the showcase build a transmission link protected with A5/1 implementation of stream cipher. There are two cases to implement:
- The two communicating PCs separately produce the keychains from A5/1 and pass it to Arduino boards using UART. The encrypted message is sent between the Arduinos over IrDA link.
- The two communicating Adruino boards are connected via UART link for message transmission. The keystream is received from the sending PC via UART link and forwared in parallel with the cryptogram via IrDA link.
REPORT SUBMISSION
REPORT SUBMISSION
- Door keypad - PIN (for getting access)
- Login/Password (for getting privileges)
- Bluetooth interface (for establishing connection)
REPORT SUBMISSION (till May 26)
Additional resources:
Potentially Harmful Application (PHAs) Categories
Beginners Guide to Reverse Engineering Android Apps
Structure of Android Application
OWASP Mobile Security Testing Guide
- pcscd -- system daemon, provide connection to readers, go agead and install also pcsc_tools
- libccid -- libraries containing drivers for various readers
- scs3 -- Smart Cards Shell 3
- gpshell -- a GlobalPlatform shell -- interactive environment to exchange APDUs (link/readme)
- there are also different APIs for pcsclite library ported to many languages (see for example Python example)
Additional resources:
EMV Integrated Circuit Card Specifications for Payment Systems
Prezentacja Laboratorium Programowania Kart Elektronicznych
A Rambling Walk Through an EMV Transaction
REPORT SUBMISSION (till June 9)
Marks
Report 4 - Evaluation (new update)
Final Grades (new update)
Konsultacje / Office hours:
Tuesday/ Wtorek: 10.00:-12:00 209 D-1
Uwaga! 16.10.2018 konsultacje nie odbędą się z uwagi na moją chorobę.
Konkretne problemy warto wcześniej podesłać mailem, żebym mógł przemyśleć :)
It is highly recommended to send me specific inquires by e-mail in order to give me some time for thinking :)
Prowadzone kursy / Running classes:
- Programowanie zespołowe (P) Inf/PPT I st.
- Środa 9.15-11.00, s. 249, A-1
- Architektura komputerów i systemy operacyjne (C) Inf/PPT I st. (Informacje o kursie)
- Piątek 15.15-16.55, s. 202 C-7
- Identification Systems (C) Inf/PPT Master Programme (About class)
- Wednesday 15.15-16.55, s. 303 C-7
Programowanie zespołowe (P) Inf/PPT I st.
Zasady zaliczenia
Celem kursu jest realizacja zespołowego projektu programistycznego (systemu) na wybrany temat, zdobycie praktycznych doświadczeń w zakresie pracy zbiorowej nad projektem IT, zarówno pod względem technicznym jak i organizacyjnym.
Etapy realizacji projektu:
- 3 zajęcia: ostateczny podział na zespoły i wstępna wersja specyfikacji systemu;
- 4 zajęcia: pełna specyfikacja systemu (cel systemu, zakres systemu, wymagania funkcjonalne i niefunkcjonalne) oraz harmonogram prac z przydziałem zadań a także link do repozytorium projektu (github) i opcjonalnie link do systemu zarządzania projektem (podwyższa ocenę);
- 7 zajęcia: projekt systemu w UML (diagramy w pełni opisujące projektowany system);
- 10 zajęcia: działający prototyp systemu (wersja alfa);
- 12 zajęcia: działający prototyp systemu (wersja beta);
- 14 zajęcia: ostateczna wersja systemu z dokumentacją techniczną.
Projekt uważa się za zakończony jeżeli:
- sporządzono w terminie pełną specyfikację systemu i harmonogram prac,
- oddano w terminie projekt systemu i jest on zgodny ze specyfikacją,
- oddano w terminie system i jest on zgodny z projektem,
- stworzono dokumentację techniczną systemu.
Jeżeli powyższe warunki zostały spełnione to zrealizowany projekt (system) może być poddany ocenie. Przy ocenianiu brane będą pod uwagę:
- terminowość realizacji poszczególnych etapów,
- jakość stworzonego oprogramowania,
- jakość stworzonej dokumentacji,
- ergonomia interfejsu, łatwość użytkowania systemu.
Oceną projektu jest liczba od 2.0 do 5.5 z dokładnością do jednej dziesiątej.
Wykorzystanie niestandardowych języków, bibliotek i kodów źródłowych wymaga akceptacji prowadzącego.
Projekty można realizować w zespołach 4-5 osobowych (średnia ocen członków zespołu musi być mniejsza lub równa ocenie projektu i cały zespół musi oceny zaakceptować, w przeciwnym przypadku wszyscy otrzymują identyczną ocenę nie wyższą niż ocena projektu).
Oceny
Dostępne w systemie JSOS.
Architektura komputerów i systemy operacyjne Inf/PPT I st.
Zasady zaliczenia:
Odbędą się dwa kolokwia w tygodniach 47 roku 2018 oraz 3 roku 2019
Punktacja - na każdym kolokwium można zdobyć maks. 15pt + punkty za aktywność na ćwiczeniach
- ocena 5.5 >=37pt
- ocena 5.0 >=27pt & <37pt
- ocena 4.5 >=24pt & <27pt
- ocena 4.0 >=21pt & <24pt
- ocena 3.5 >=18pt & <21pt
- ocena 3.0 >=15pt & <18pt
Dodatkowe informacje
M.Morris Mano Architektura komputerów, Wydawnictwo Naukowo-Techniczne, 1988, s.389
Wyniki
Identification Systems Inf/PPT Master Programme
Rules
Final grade is calculated as follows: fG = 0,5 * aG + 0,5 * pG, where aG is the evaluation of the assignments and pG is the evaluation of the project.
Assignments lists
Projects
Implement chosen biometrics in a form of simple authentication/identification system. Create toolkit for enrollment of raw biometric data and processing them into the biometric templates. Perform simulations and evaluate FAR/FRR curves, try different sensitivity thresholds, think about template model. Feel free to use libraries like OpenCV or OpenBR, the main aim of the project is to perform dozen experiments and dive into practical aspects of using biometrics. Prepare final report recapping the project.
- Option 1 - Keystrokes/Touchscreen Dynamics
- Option 2 - Face Recognition
- Option 3 - Iris Recognition
- Option 4 - Fingerprint
- Option 5 - Signature/Handwriting Recognition
Terms
Project deadline - first iteration must be sent by e-mail before 10 January 2019, each week of delay causes decrease of final mark by one grade.
Quiz - 10 January 2019, scope includes assignment lists and content discussed at exercicecs. Some of the important issues are listed below:
- Fundamental terms like FNMR/FMR, FAR/FRR and how to calculate them.
- Generic biometric-based security scheme and its parts.
- Cancelable biometrics
- FIDO - UAF / U2F
- Secure biometrics concepts (i.a. homomorphic encryption schemes, secure sketch, Garbled circuits)
- Biometric vocabulary - ISO/IEC 2382-37
- Biometric Performance Testing And Reporting - Access Control Scenario And Grading Scheme - ISO/IEC 19795-5
Results
Konsultacje / Office hours:
Thrusday/ Czwartek: 11:15-13:00 209 D-1
Uwaga! 8.03.2018 konsultacje nie odbędą się.
Konkretne problemy warto wcześniej podesłać mailem, żebym mógł przemyśleć :)
It is highly recommended to send me specific inquires by e-mail in order to give me some time for thinking :)
Prowadzone kursy / Running classes:
- Nowoczesne technologie www Inf/PPT I st. (Informacje o kursie)
- Czwartek 9.15-11.00, s. 317.2 D-1
- Embedded Security Systems Inf/PPT II st. (Informacje o kursie)
- Tuesday 17.05-18.45, r. 317.2 D-1
Nowoczesne technologie WWW Inf/PPT I st.
Zaliczenie
Na laboratorium/ćwieczeniach będą oceniane wiedza studenta oraz sposób i terminowość przedstawianych etapów rozwiązań. Prowadzący będzie wymagał szczegółowej znajomości użytych technik rozwiązania, może poprosić o modyfikację lub dodanie nowych fragmentów do istniejącego już kodu źródłowego. Na ocenę końcową składać się będzie średnia ocen za poszczególne listy z uwzględnieniem terminowości oraz aktywności.
Informacje dodatkowe
Zajęcia
...
Oceny
Na razie brak :(
Embedded Security Systems Inf/PPT II st.
Rules
...
Additional information
Classes
Marks
Konsultacje:
Poniedziałek 9:15-11:00 209 D-1
Konkretne problemy warto wcześniej podesłać mailem, żebym mógł przemyśleć :)
Uwaga! 19.01.2018 (piątek) odbędą się specjalne konsultacje w godzinach 17.05-20.00
Prowadzone kursy:
- Bazy danych Inf/PPT (Informacje o kursie)
- Poniedziałek TN 13.15-15.00, s. 317.3 D-1
- Poniedziałek TP 13.15-15.00, s. 317.3 D-1
- Wtorek TN 18.55-20.30, s. 317.2 D-1
- Wtorek TP 18.55-20.30, s. 317.2 D-1
- Piątek TN 15.15-16.55, s. 317.3 D-1
- Piątek TP 15.15-16.55, s. 317.3 D-1
- Piątek TN 17.05-18.45, s. 108 C-2
Zaliczenie
Na laboratorium będą oceniane wiedza studenta oraz sposób i terminowość przedstawianych etapów rozwiązań. Prowadzący będzie wymagał szczegółowej znajomości użytych technik rozwiązania, może poprosić o modyfikację lub dodanie nowych fragmentów do istniejącego już kodu źródłowego. Za każde rozpoczęte dwa tygodnie spóźnienia oddania danej listy, ocena końcowa będzie obniżana o 0,5. Na ocenę końcową składać się będzie średnia ocen za poszczególne listy z uwzględnieniem terminowości oraz aktywności.
Informacje dodatkowe
Zajęcia
Oddawanie projektów: Każdy projekt będzie oceniany na podstawie 5 minutowej sesji prezentacyjnej, oznacza to, że twórcy wybierają elementy, które uważają za najważniejsze/najciekawsze i przedstawiają mi poprzez pokazania fragmentów kodu, przeklinanie w interfejsie i opowiedzenie o nich. Jest to zadanie bardzo trudne, bo to krótki okres czasu i chciałoby się "tak dużo" powiedzieć o swoim dziele, ale właśnie na tym polega to ograniczenie, że trzeba wybierać. Będę mieć timer, który będzie odmierzał czas i po nim sesja prezentacji się kończy. Proszę aby członkowie zespołów zastanowili się co pokazać i o czym opowiedzieć, a potem to przećwiczyli, bo potem nie będzie już możliwości poprawy.
Oceny
Konsultacje:
Środa 9:15-11:00 209 D-1, proszę zapowiedzieć się mailem
Prowadzone kursy:
- Architektura komputerów i systemy operacyjne Inf/PPT (Informacje o kursie)
- Poniedziałek 15.15-16.55, s. 317.3 D-1
- Poniedziałek 17.05-18.45, s. 317.3 D-1
- Wtorek 17.05-18.45, s. 317.3 D-1
- Piątek 09.15-11.00, s. 317.3 D-1
Zaliczenie
Na laboratorium będą oceniane wiedza studenta oraz sposób i terminowość przedstawianych etapów rozwiązań. Prowadzący będzie wymagał szczegółowej znajomości użytych technik rozwiązania, może poprosić o modyfikację lub dodanie nowych fragmentów do istniejącego już kodu źródłowego. Za każdy tydzień spóźnienia ocena będzie obniżana o jeden stopień. Na ocenę końcową składać się będzie średnia ważona ocen za poszczególne etapy z uwzględnieniem terminowości oraz aktywności. Obecność obowiązkowa.
Infromacje dodatkowe
1-2 Tydzień
Pojęcia do przyswojenia: S.M.A.R.T, POST, UEFI, boot loader, NCQ, LBA, SCSI, DMA, INT / IRQ, EPROM, EEPROM, Flash Zastanowić się nad następującymi zagadnieniami: na czym polega zapis informacji na dysku?, co robi procedura usuwania danych?, jak skutecznie usunąć zapisaną informację? jak wygląda przekierowanie strumienia wykonania programu przy wystąpieniu przerwania?
3-4 Tydzień
Pojęcia do przyswojenia: zasilacz AT / ATX, sprawność zasilacza, RS232C / COM, LPT, USB (1.1, 2.0, 3.0), szyny komunikacyjne ISA, PCI, AGP, PCI eXpress, kontrolery IDE Zastanowić się nad następującymi zagadnieniami: jak zasilany jest komputer? jakie napięcia są wykorzystywane i w jakich miejscach? jak wygląda transmisja danych przez port szeregowy typu COM, a jak przez port równoległy typu LPT?
4-5 Tydzień
Pojęcia do przyswojenia: ANSI bomb, shellcode, debugger, breakpoint, stos, wierzchołek stosu, rejestr, asemblacja, deasemblacja, buffer overflow, stack overflow Zastanowić się nad następującymi zagadnieniami: jak można wykorzystać sekwencje ANSI w odniesieniu do kwestii bezpieczeństwa, jak wywołać shellcode z poziomu kodu programu języka wyższego poziomu.
9-10 Tydzień
Pojęcia do przyswojenia: zagłodzenie procesu(ang. starving), zakleszczenie procesu(ang. deadlock), sesja krytyczna, synchronizacja wątków, semafory Zastanowić się nad następującymi zagadnieniami: jak można zoptymalizować przydział wspólnych zasobów dla wielu procesów (np. na przykładzie problemu filozofów)
Oceny
Konsultacje:
Wtorek 11:15-13:00 1.09 C-13, proszę zapowiedzieć się mailem
Prowadzone kursy:
- Aplikacje bazodanowe Inf/PPT (Informacje o kursie)
- Wtorek 17.05-18.45, s. 317.2 D-1
Zaliczenie
* Część I - aplikacja bazodanowa
- Wybór i zgłoszenie tematu. Wstępny zakres projektu. (termin: 2 tydzień)
- Projekt aplikacji zawierający:
- analizę biznesową (jaki rzeczywisty problem rozwiązujemy, dlaczego i jak)
- wymagania użytkownika (funkcjonalne oraz techniczne/sprzętowe)
- diagram przypadków użycia (jakie funkcjonalności ma program)
- diagram bazy danych (UML)
- koncepcja architektury systemu (jak aplikacja jest zbudowana, jakie ma warstwy, itd.) (termin: 4 tydzień)
- Implementacja aplikacji (termin: 8 tydzień)
* Część II - hurtownia danych
- Projekt hurtowni danych na podstawie aplikacji zawierający:
- analizę biznesową (do czego będzie nam służyć ta hurtownia, jakie dylematy pomoże nam rozwiązać)
- projekt hurtowni danych (UML)
- przykładowe analizy, które można wykonać (termin: 9 tydzień)
- Implementacja hurtowni danych zawierająca:
- Stworzenie bazy hurtowni danych
- Stworzenie bazy OLAP (termin: 10 tydzień)
- Stworzenie raportów dla użytkownika
- Stworzeni transformacji danych z aplikacji bazodanowej do bazy hurtowni.(termin: 12 tydzień)
Na laboratorium będą oceniane wiedza studenta oraz sposób i terminowość przedstawianych etapów rozwiązań. Prowadzący będzie wymagał szczegółowej znajomości użytych technik rozwiązania, może poprosić o modyfikację lub dodanie nowych fragmentów do istniejącego już kodu źródłowego. Za każdy tydzień spóźnienia ocena będzie obniżana o jeden stopień. Na ocenę końcową składać się będzie średnia ważona ocen za poszczególne etapy z uwzględnieniem terminowości oraz aktywności. Obecność obowiązkowa.
Infromacje dodatkowe
Do zabaw z kostkami OLAP i analizami polecam rozwadze jedno z poniższych narzędzi:
- Microsoft Analysis Services (komponent MS SQL Server), lub add-in do MS Excela o tej samej nazwie
- Cognos OLAP Moldeling (IBM)
- Hyperian Essbase
W dniu 11.03.2014 r. na zajęciach będziemy gościć specjalistę z firmy Nokia Solutions and Networks, który opowie nam o bazach danych NoSQL.
W dniu 25.03.2014 r. na zajęciach będziemy gościć specjalistę z Wrocławskiego Centrum Transferu Technologii, który przeprowadzi crash course z metodyki Design Thinking.
Oceny
Konsultacje:
Wtorek 11:15-13:00 1.09 C-13, proszę zapowiedzieć się mailem
Uwaga! 15.10 konsultacje nie odbędą się, termin zastępczy to 17.10 w godz. 13.15-15.00
Dodatkowe konsultacje: 31.01.2014 r w godzinach 13:00-14:00 (ostateczny termin zaliczenia w sesji list, konsekwencją nieprzygotowania będzie ocena niedostateczna)
Konsultacje w sesji: Wtorek 11.02.2014 r. 10:00-14:00/15:00 (ostateczny termin zaliczenia listy 7)
Prowadzone kursy:
- Architektura komputerów i systemy operacyjne Inf/PPT (Informacje o kursie)
- Środa 13.15-15.00, s. 317.4 D-1
- Czwartek 15.15-17.00, s. 317.4 D-1
Zaliczenie
Na laboratorium będą oceniane wiedza studenta oraz sposób i terminowość przedstawianych rozwiązań zadań z list. Prowadzący będzie wymagał szczegółowej znajomości użytych technik rozwiązania, może poprosić o modyfikację lub dodanie nowych fragmentów do istniejącego juą kodu źródłowego. Podstawowe listy zadań będą pojawiać się na stronie wykładowcy, prowadzący może wprowadzić listy dodatkowe lub kartkówki, za nieterminowe oddawanie zadań będzie obniżana ocena końcowa z przedmiotu. Na ocenę końcową składać się będzie średnia ocen za poszczególne listy i kartkówki z uwzględnieniem terminowości oraz aktywności.
Oceny
Grupa środowa (aktualne oceny)
Grupa czwartkowa (aktualne oceny)
Konsultacje:
Środa 13:15-15:00 1.09 C-13, proszę zapowiedzieć się mailem
Prowadzone kursy:
- Aplikacje bazodanowe Inf/PPT (Informacje o kursie)
- Wtorek 7.30-9.00, s. 317.4 D-1
- Wtorek 9.15-11.00, s. 317.4 D-1
- Kurs programowania Inf/PPT (Informacje o kursie)
- Wtorek 15.15-16.55, s. 317.2 D-1
Aplikacje bazodanowe Inf/PPT
Zaliczenie
* Część I - aplikacja bazodanowa
- Wybór i zgłoszenie tematu. Wstępny zakres projektu. (termin: 2 tydzień)
- Projekt aplikacji zawierający:
- analizę biznesową (jaki rzeczywisty problem rozwiązujemy, dlaczego i jak)
- wymagania użytkownika (funkcjonalne oraz techniczne/sprzętowe)
- diagram przypadków użycia (jakie funkcjonalności ma program)
- diagram bazy danych (UML)
- koncepcja architektury systemu (jak aplikacja jest zbudowana, jakie ma warstwy, itd.) (termin: 4 tydzień)
- Implementacja aplikacji (termin: 8 tydzień)
* Część II - hurtownia danych
- Projekt hurtowni danych na podstawie aplikacji zawierający:
- analizę biznesową (do czego będzie nam służyć ta hurtownia, jakie dylematy pomoże nam rozwiązać)
- projekt hurtowni danych (UML)
- przykładowe analizy, które można wykonać (termin: 9 tydzień)
- Implementacja hurtowni danych zawierająca:
- Stworzenie bazy hurtowni danych
- Stworzenie bazy OLAP (termin: 10 tydzień)
- Stworzenie raportów dla użytkownika
- Stworzeni transformacji danych z aplikacji bazodanowej do bazy hurtowni.(termin: 12 tydzień)
Informacje dodatkowe
Do zabaw z kostkami OLAP i analizami polecam rozwadze jedno z poniższych narzędzi:
- Microsoft Analysis Services (komponent MS SQL Server), lub add-in do MS Excela o tej samej nazwie
- Cognos OLAP Moldeling (IBM)
- Hyperian Essbase
Na początku kwietnia na zajęcia zostanie zaproszony gość z firmy Fast White Cat, który opowie nam o integracji systemów, zaś pod koniec kwietnia kolejny, który wprowadzi nas w świat hurtowni danych, mocno zachęcam do udziału w tych spotkaniach.
Prezentacja z wykładu gościnnego (18.03.2013 r.) dr. inż. Macieja Nikodema pt. Szyfrowanie danych w SZBD
Tutaj znajdziedzie Państwo przykładowy generator danych do tabel - www.generatedata.com
Interesujące opracowanie pana Pawła Ciejki dotyczące zarządzania użytkownikami baz danych w Postgresql - opracowanie
Oceny
Proponowane oceny (obie grupy)
Kurs programowania Inf/PPT
Zaliczenie
Ocena z laboratorium bierze pod uwagę umiejętności nabyte w trakcie kursu oraz terminowość oddawania zadań. Zadania powinny być zaimplementowane samodzielnie przez studenta. Podczas zaliczania danej listy zadań, prowadzący może żądać modyfikacji programu pokazujących, że student opanował wymagany poziom zrozumienia zagadnienia i języka, w którym został ów program napisany. Listy dzielą się na dwie kategorie: na zaliczenie i na ocenę - średnia z ocen tych drugich jest podstawą zaliczenia laboratorium. Każdy tydzień spóźnienia dowolnej listy obniża końcową ocenę z laboratorium o 0,2. Aby zaliczyć laboratorium wszystkie listy muszą być oddane i pozytywnie ocenione.
Debugowanie kodu
Aby znaleźć w programie błędy należy niekiedy udać się po pomoc dodatkowych narzędzia np. debugger'a czy profiler'a, dla języka C/C++ mamy dostępne na licencji GNU takie narzędzia jak gdb, gprof czy oprofile , polecam zaznajomić się z nimi, stanowią one bardzo cenne źródło infomracji co się dzieje z naszą aplikacją.
Dokumentowanie kodu:
Celem zapewnienia naszej aplikacji przyzwoitej dokumentacji, która nie będzie wymagała od nas dużo pracy, należy skorzystać z narzędzi, która skorzystają z komentarzy umieszczanych w poszczególnych miejscach programu. Stosując kilka dodatkowych znaków formatujacych jesteśmy w stanie wygenerować sobie czytelną i przejrzystą dokumentację np. w formacie HTML stosując w Javie prosty javadoc albo bardziej zaawansowany doxygen dla języków C/C++, C, C#, PHP, Java, Python i innych.
Problemy dodatkowe
Dla tych z Państwa, którzy chcieliby spróbować rozwiązać nieco trudniejsze zagadnienia przedstawiam kila propozycji:
- Na rozgrzewkę: zaimplementować struktury danych dużych liczb "BigInt" i obliczyć np. 1000!
- Rekurencja:
- znajdź na szachownicy takie ustawienie 8 hetmanów, aby żaden nie był w konflikcie z pozostałymi
- znajdź takie układ ruchów konia szachowego, aby odwiedził wszystkie jej pola (miejsce startu jako parametr wejściowy programu)
- zdefiniuj sobie pewien obszar, podzielony na pola, wprowadź na nim szereg nieprzekraczalnych przeszkód i znajdź drogę z jednej części obszaru na drugą
- Sztuczna inteligencja: chcemy zagrać z komputerem w jedną ze znanych gier planszowych (np. gomoku czy connect four), napisz algorytm, który dla każdego ruchu gracza przeanalizuje sytuację na planszy kilka ruchów do przodu i oceni ją na podstawie przyjętej heurystyki oraz wybierze najlepsze w danej chwili zagarnie dla komputera
- (Nie)Bezpieczeństwo: wkrótce...