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

  • Primary take - 5.02.2024, 10.00 AM (215, D-1)
  • Secondary take - 12.02.2024, 10.00 AM (215, D-1)
  • LECTURES

    Introduction

    Hardware and Software Reverse Engineering

    Trusted Platform Module

    Embedded Systems Vulnerabilities

    Software Defined Radio

    Automotive Security

    Physical Unclonable Functions (PUFs)

    Smart Cards and modern ID documents

    Kleptography

    LABORATIRIES

    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)

    • List 3: You will pick one of the chosen device with embedded system implemented (for instance router, camera, electronic baby sitter, etc.) and try to reverse engineer it. You have to perform ad least:
      1. Information and data gathering,
      2. UART detection, determine voltage levels and pins order, establish the connection,
      3. Get firmware from the board or download it from manufacturer,
      4. Analyze firmware, extract it, get access to the essential resources of the device,
      5. Retrieve root password or get access to the root shell on the device.
      6. 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)

    • Supplementary task for List 3: Let's assume you have only remote access to your target device (in this case router) and only available interface is network connection (e.g. Ethernet or WiFi). The default setup is following, the router's webadmin tool is available on the default IP address like 192.168.1.1 and port 80 or 8080, you are able to connect via http protocol. You have to perform following tasks:
      1. 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.
      2. 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.
      3. 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)


    • List 4: Embedded systems credentials breaking and time side-channel analysis. You will be equipped with the program code for Arduino Uno with implementation of following features:
      • 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

    Results


    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-72.0
    83.0
    93.5
    10-114.0
    12-134.5
    14-155.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

    Wykład 4 - Testowanie, dobór i porównywanie systemów biometrycznych

    Wykład 5 - Biometria odcisku palca

    Wykład 6 - Biometria tęczówki

    Wykład 7 - Biometria behawioralna - keystroking

    Wykład 8 i 9 - Biometria twarzy

    Wykład 10 - Prawne i etyczne aspekty biometrii


    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

    1. Obecność na seminarium jest obowiązkowa. Nieusprawiedliwione nieobecności skutkują brakiem zaliczenia zgodnie z regulaminem Uczelni.
    2. Warunkiem zaliczenia jest spełnienie wymagań z każdego etapu.
    3. 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ść.
    4. Średnia ocen cząstkowych stanowi ocenę końcową.
    5. Prowadzący może podwyższyć bądź obniżyć ocenę na podstawie aktywności na innych prezentacjach.

    ORGANIZACJA ZAJĘĆ
    W trakcie semestru student realizuje trzy etapy.

    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 & 2

    Introduction

    Security Information and Event Management (SIEM) and Security Operation Center (SOC)

    Lecture 3 & 4

    Incident Response Planning

    Lecture 5 & 6
    Lecture 7 & 8

    Contingency Plan

    Lecture 9 & 10

    PSD2, RTS and Open Banking


    Lecture 11 & 12

    Personal Data Protection under GDPR and HIPPA

    Lecture 13

    Common Criteria (CC)


    Lecture 14

    PCI DSS


    Additional resources

    SIEM and SOC

    Incident Response Planning

    Targeted Attack: The Game


    EXERCISE

    PROJECTS

    Each 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

    Final grades


    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

  • Primary take - 3.02.2023, 10.00 AM (215, D-1)
  • Secondary take - 10.02.2023, 10.00 AM (215, D-1)
  • LECTURES

    Introduction

    Hardware and Software Reverse Engineering

    Trusted Platform Module

    Embedded Systems Vulnerabilities

    Software Defined Radio

    Automotive Security

    Physical Unclonable Functions (PUFs)

    Smart Cards and modern ID documents

    Kleptography

    Side-channel attacks and analysis


    LABORATIRIES

    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)

    • List 3: You will pick one of the chosen device with embedded system implemented (for instance router, camera, electronic baby sitter, etc.) and try to reverse engineer it. You have to perform ad least:
      1. Information and data gathering,
      2. UART detection, determine voltage levels and pins order, establish the connection,
      3. Get firmware from the board or download it from manufacturer,
      4. Analyze firmware, extract it, get access to the essential resources of the device,
      5. Retrieve root password or get access to the root shell on the device.
      6. 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)

    • Supplementary task for List 3: Let's assume you have only remote access to your target device (in this case router) and only available interface is network connection (e.g. Ethernet or WiFi). The default setup is following, the router's webadmin tool is available on the default IP address like 192.168.1.1 and port 80 or 8080, you are able to connect via http protocol. You have to perform following tasks:
      1. 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.
      2. 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.
      3. 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)


    • List 4: Embedded systems credentials breaking and time side-channel analysis. You will be equipped with the program code for Arduino Uno with implementation of following features:
      • 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

    Results


    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-72.0
    83.0
    93.5
    10-114.0
    12-134.5
    14-155.0

    Terminy kolokwium:

    • 26.01.2023 - Biometria
    • 31.01.2023 - Systemy Biometryczne

    Wyniki:

    Wyniki - Biometria


    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

    Wykład 4 - Testowanie, dobór i porównywanie systemów biometrycznych

    Wykład 5 - Biometria odcisku palca

    Wykład 6 - Biometria tęczówki

    Wykład 7 - Biometria behawioralna - keystroking

    Wykład 8 i 9 - Biometria twarzy

    Wykład 10 i 11 - Bezpieczeństwo sensorów i sytemu biometrycznego

    Wykład 12 - Prawne i etyczne aspekty biometrii


    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

    1. Obecność na seminarium jest obowiązkowa. Nieusprawiedliwione nieobecności skutkują brakiem zaliczenia zgodnie z regulaminem Uczelni.
    2. Warunkiem zaliczenia jest spełnienie wymagań z każdego etapu.
    3. 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ść.
    4. Średnia ocen cząstkowych stanowi ocenę końcową.
    5. Prowadzący może podwyższyć bądź obniżyć ocenę na podstawie aktywności na innych prezentacjach.

    ORGANIZACJA ZAJĘĆ
    W trakcie semestru student realizuje trzy etapy.

    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 1

    Introduction

    Security Information and Event Management (SIEM) and Security Operation Center (SOC)

    Lecture 2

    Incident Response Planning

    Lecture 3 & 4
    Lecture 5 & 6

    Contingency Plan

    Lecture 7

    Personal Data Protection

    Lecture 8

    PSD2, RTS and Open Banking


    Lecture 9

    Common Criteria (CC)


    Lecture 10

    PCI DSS



    Additional resources

    SIEM and SOC

    Incident Response Planning


    EXERCISE

    PROJECT 1

    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 - 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

    Results


    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

  • Primary take - 3.02.2022, 10.00 AM (215, D-1)
  • Secondary take - 10.02.2022, 10.00 AM (215, D-1)
  • LECTURES

    Introduction

    Hardware and Software Reverse Engineering

    Trusted Platform Module

    Embedded Systems Vulnerabilities

    Software Defined Radio

    Automotive Security

    Physical Unclonable Functions (PUFs)

    Side-channel attacks and analysis

    Kleptography

    Smart Cards and modern ID documents


    LABORATIRIES

    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)

    • List 3: You will pick one of the chosen device with embedded system implemented (for instance router, camera, electronic baby sitter, etc.) and try to reverse engineer it. You have to perform ad least:
      1. Information and data gathering,
      2. UART detection, determine voltage levels and pins order, establish the connection,
      3. Get firmware from the board or download it from manufacturer,
      4. Analyze firmware, extract it, get access to the essential resources of the device,
      5. 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)

    • Supplementary task for List 3: Let's assume you have only remote access to your target device (in this case router) and only available interface is network connection (e.g. Ethernet or WiFi). The default setup is following, the router's webadmin tool is available on the default IP address like 192.168.1.1 and port 80 or 8080, you are able to connect via http protocol. You have to perform following tasks:
      1. 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.
      2. 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.
      3. 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)


    • List 4: Embedded systems credentials breaking and time side-channel analysis. You will be equipped with the program code for Arduino Uno with implementation of following features:
      • 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-72.0
    83.0
    93.5
    10-114.0
    12-134.5
    14-155.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

    Wykład 4 - Testowanie, dobór i porównywanie systemów biometrycznych

    Wykład 5 - Biometria odcisku palca

    Wykład 6 - Biometria tęczówki

    Wykład 7 - Biometria behawioralna - keystroking

    Wykład 8 i 9 - Biometria twarzy

    Wykład 10 i 11 - Bezpieczeństwo sensorów i sytemu biometrycznego

    Wykład 12 - Prawne i etyczne aspekty biometrii


    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

    Analiza ryzyka na potrzeby audytowania i monitorowania

    Audytowanie infrastruktury sieciowej

    Audytowanie infrastruktury chmurowej

    Audytowanie systemów operacyjnych


    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 1

    Introduction

    Security Information and Event Management (SIEM) and Security Operation Center (SOC)

    Lecture 2

    Incident Response Planning

    Lecture 3 & 4
    Lecture 5 & 6

    Contingency Plan

    Lecture 7

    Personal Data Protection

    Lecture 8

    PSD2, RTS and Open Banking



    Additional resources

    SIEM and SOC

    Incident Response Planning


    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-62.0
    73.0
    8-93.5
    10-114.0
    12-134.5
    14-155.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

  • Primary take - 05.02.2021, 10.00 AM (online)
  • Secondary take - 12.02.2021, 10.00 AM (online)
  • LECTURES

    Introduction

    Hardware and Software Reverse Engineering

    Trusted Platform Module

    Embedded Systems Vulnerabilities

    Software Defined Radio

    Automotive Security

    Side-channel attacks and analysis

    Physical Unclonable Functions (PUFs)

    Kleptography

    LABORATIRIES

    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)

    • List 3: You will pick one of the chosen device with embedded system implemented (for instance router, camera, electronic baby sitter, etc.) and try to reverse engineer it. You have to perform ad least:
      1. Information and data gathering,
      2. UART detection, determine voltage levels and pins order, establish the connection,
      3. Get firmware from the board or download it from manufacturer,
      4. Analyze firmware, extract it, get access to the essential resources of the device,
      5. 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)

    • Supplementary task for List 3: Let's assume you have only remote access to your target device (in this case router) and only available interface is network connection (e.g. Ethernet or WiFi). The default setup is following, the router's webadmin tool is available on the default IP address like 192.168.1.1 and port 80 or 8080, you are able to connect via http protocol. You have to perform following tasks:
      1. Change the default credentials -> for instance password for the admin user and try to get access to the webadmin toolkit anyway
      2. 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.
      3. 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)


    • List 4: Embedded systems credentials breaking and time side-channel analysis. You will be equipped with the program code for Arduino Uno with a few implementation of following features:
      • 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

    Results
    Individual 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 1

    Introduction

    Security Information and Event Management (SIEM) and Security Operation Center (SOC)

    Lecture 2

    Incident Response Planning

    Lecture 3 & 4
    Lecture 5 & 6

    Contingency Plan

    Lecture 7

    Personal Data Protection


    Additional resources

    SIEM and SOC

    Incident Response Planning


    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-62.0
    73.0
    8-93.5
    10-114.0
    12-134.5
    14-155.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]

    • REPORT SUBMISSION

    • 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

    • List 5 (on April 29, May 7,14) Embedded systems password breaking and side-channel analysis (timing attack - see example). You will be equipped with Arduino with a few implementation of following features:
      1. Door keypad - PIN (for getting access)
      2. Login/Password (for getting privileges)
      3. Bluetooth interface (for establishing connection)
      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.

    • REPORT SUBMISSION (till May 26)

    • List 6 (on May 21,28) Android App Reverse Engineering, enter the website and go carefully through the whole tutorial. Perform each of exercises and note down your insights.

      Additional resources:
      Potentially Harmful Application (PHAs) Categories
      Beginners Guide to Reverse Engineering Android Apps
      Structure of Android Application
      OWASP Mobile Security Testing Guide

    • List 7 (on June 4 ,11) Smart cards, in order to talk with reader: you need the following software installed on your system:
      • 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)

      Checkout this repository. Go to JCAlgTest/AlgTest_JavaCard/!uploader and examine the upload.bat file (it uses java implementation of gpshell). Examine also archived_legacy_uploaders.zip and search for installAlgTest_NXP_JCOP_CJ3A081.txt. This GPShell file is known to work with provided cards. Note. The cards support JC API 2.2.2, so you need to build your applets with that API.

      You can also use the reader to try to access your student ID card and your credit/debit cards :)

      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 1 - Evaluation

    Report 2 - Evaluation

    Report 3 - Evaluation

    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

    Wyniki sumaryczne


    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

    List 1

    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:

    1. Fundamental terms like FNMR/FMR, FAR/FRR and how to calculate them.
    2. Generic biometric-based security scheme and its parts.
    3. Cancelable biometrics
    4. FIDO - UAF / U2F
    5. Secure biometrics concepts (i.a. homomorphic encryption schemes, secure sketch, Garbled circuits)
    6. Biometric vocabulary - ISO/IEC 2382-37
    7. Biometric Performance Testing And Reporting - Access Control Scenario And Grading Scheme - ISO/IEC 19795-5

    Results

    Final 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

    Oceny końcowe na 20.01.2018

    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

    Oceny (wszystkie grupy)

    Konsultacje:

    Wtorek 11:15-13:00 1.09 C-13, proszę zapowiedzieć się mailem

    Prowadzone kursy:

    Zaliczenie

    * Część I - aplikacja bazodanowa

    1. Wybór i zgłoszenie tematu. Wstępny zakres projektu. (termin: 2 tydzień)
    2. 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ń)
    3. Implementacja aplikacji (termin: 8 tydzień)

    * Część II - hurtownia danych

    1. 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ń)
    2. 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

    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

    1. Wybór i zgłoszenie tematu. Wstępny zakres projektu. (termin: 2 tydzień)
    2. 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ń)
    3. Implementacja aplikacji (termin: 8 tydzień)

    * Część II - hurtownia danych

    1. 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ń)
    2. 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:

    1. Na rozgrzewkę: zaimplementować struktury danych dużych liczb "BigInt" i obliczyć np. 1000!
    2. 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ą
    3. 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
    4. (Nie)Bezpieczeństwo: wkrótce...