shaggy17goo
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # Zagadnienia na egzamin – przedmiot BIR (realizacja 23Z ## W1- Wprowadzenie 1. **Cechy wyróżniające zagadnienia bezpieczeństwa systemów IoT względem tradycyjnych systemów IT.** Zagadnienia bezpieczeństwa systemów IoT różnią się od tradycyjnych systemów IT. Systemy IoT są złożone z wielu urządzeń, które komunikują się ze sobą i z siecią. W przeciwieństwie do tradycyjnych systemów IT, systemy IoT mają wiele punktów wejścia, co zwiększa ryzyko ataków. Ponadto, wiele urządzeń IoT ma ograniczone zasoby, co utrudnia stosowanie złożonych mechanizmów bezpieczeństwa. W celu zapewnienia bezpieczeństwa systemów IoT, należy stosować specjalne mechanizmy zabezpieczeń, takie jak segmentacja sieci, polityka NAC, protokoły szyfrujące, a także stosować zasady bezpieczeństwa na poziomie aplikacji. - Standardowe rozwiązania bezpieczeństwa IT mogą mieć zbyt rozbudowane funkcjonalności dla środowiska OT - budowa urządzeń IoT (zwłaszcza miniaturowych, zasilanych bateryjnie) tworzy warunki dla implementacji mechanizmów bezpieczeństwa niespotykane w innych obszarach IT - Duży udział bezpieczeństwa komunikacji bezprzewodowej - Jest ich dużo, mają być tanie więc są słabo zrobione - Customowe protokoły/krypto często mają dziury - Czesto wykorzystują mikrokontrolery niewiadomego pochodzenia - Mogą wysyłać coś do chińskiego clouda 2. **Wymień przynajmniej 5 różnych zagrożeń dla systemów IoT i krótko omów ich potencjalne lub realne konsekwencje.** - **Słaba ochrona za pomocą haseł**: Słabe lub łatwe do odgadnięcia hasła są jednym z najczęstszych sposobów ataku na systemy IoT. Atakujący może wykorzystać słabe hasła do uzyskania dostępu do urządzenia i przeprowadzenia ataku. - **Brak regularnych aktualizacji**: Brak regularnych aktualizacji oprogramowania urządzeń IoT może prowadzić do wystąpienia luk w zabezpieczeniach, które mogą zostać wykorzystane przez atakujących. - **Słabości mechanizmu aktualizacji**: Mechanizmy aktualizacji oprogramowania urządzeń IoT mogą mieć słabości, które mogą być wykorzystane przez atakujących do przeprowadzenia ataku. - **Niezabezpieczone interfejsy komunikacyjne**: Niezabezpieczone interfejsy komunikacyjne mogą umożliwić atakującym przechwycenie informacji przesyłanych między urządzeniami IoT i wykorzystanie ich do przeprowadzenia ataku. - **Słaba kryptografia** bo mało zasobów i prądu - **Nieautoryzowane dostępy fizyczne** Osoba fizycznie dostająca się do urządzenia może manipulować lub uszkodzić sprzęt, a także podejść do niego w celu kradzieży danych. - **Zaawansowane ataki hakerskie:** - Ataki takie jak ataki zero-day lub ataki za pomocą zaawansowanych technik mogą umożliwić atakującym przeniknięcie do systemu IoT bez wykrycia. 3. **Sygnały w dziedzinie czasu i częstotliwości – np. zidentyfikuj częstotliwość fali nośnej, orientacyjną szerokość zajmowanego kanału oraz poziom sygnału na podstawie zmierzonego wykresu widma sygnału.** ![image](https://hackmd.io/_uploads/S1UN_Ry9a.png) 4. **Miara decybelowa w radiokomunikacji** – przeliczanie poziomów i stosunków mocy pomiędzy miarą liniową (waty, „razy”) a logarytmiczną („dBm”, „dB”), np. Zmierzono poziomy mocy sygnałów odebranych z dwóch czujników IoT: Pa = -40 dBm, Pb = -60 dBm. Oblicz stosunek tych poziomów i wyraź go w mierze logarytmicznej i liniowej. Podaj wartości zmierzonych mocy w mierze liniowej. ![image](https://hackmd.io/_uploads/ByfwOAy5a.png) | stosunek | db - moc | db - apmlituda | | -------- | -------- | -------- | | 2 | 3dB | 6dB | | 10 | 10dB | 20dB | db dodajemy, a stosunki mnożymy: ``` -40dBm = 10dB + 10dB + 10dB + 10dB = 10^4 razy słabiej Więc jeśli był 1mW (10^-3 W) to teraz jest 10^-7W bo 10dB to 10 razy -40dBm do -60dBm to stosunek -20dB (bo odejmujemy) -40dBm to 10^-7 -60dBm to 10^-9 stosunek 10^-2 to 100razy a to 20dB 46dBm = 10 + 10 + 10 + 10 + 3 + 3 - 10^4 * 2 * 2 = 4*10^4mW = 40W -8dBm to będzie 3+3+3 (parwie 8 xd) - 2*2*2 - 8 razy mniej niż 1mW czyli 0.000125W 16000 razy mocniej 2*2*2*2*10*10*10 = 3*4 + 10*3 = 42dB ``` ## W2 - Protokoły sieciowe w IoT 1. **Jakie aspekty bezpieczeństwa rozwiązuje stosowanie TLS w systemie rozproszonym wykorzystującym protokół MQTT?** - weryfikacja tożsamości brokerów MQTT - weryfikacja tożsamości klientów MQTT - uwierzytelnianie stron MQTT transmisji na poziomie warstwy transportowej - blokowanie nieprawidłowych klientów MQTT przed wysłaniem komunikatów MQTT CONNECT 2. **Narysować i opisać sekwencję komunikatów protokołu MQTT między klientem i serwerem przy włączonym QoS=2** - QOS 0 (0 albo raz) ![image](https://hackmd.io/_uploads/Bk95aC196.png) - QOS 1 (1 lub więcej, bo może zgubić się potwierdznie) ![image](https://hackmd.io/_uploads/rkeMXA0y9p.png) - QOS 2 (dokładnie raz, bo potwierdzamy otrzymanie potwierdzenia ) ![image](https://hackmd.io/_uploads/BJnP001qp.png) 3. **Wyjaśnić pojęcie usługi w OPC UA (idea, wzorzec komunikacyjny).** W ramach protokołu OPC UA, usługa to zbiór operacji, które mogą być wykonane na obiektach w przestrzeni adresowej serwera. Usługi te obejmują m.in. odczyt i zapis wartości atrybutów obiektów, subskrypcję zmian wartości atrybutów, wywołanie metod obiektów, a także autoryzację i uwierzytelnienie użytkowników. Better: Usługa w **OPC UA** (Open Platform Communications Unified Architecture) odnosi się do funkcjonalności lub operacji dostępnych w ramach tego standardu komunikacyjnego. OPC UA to otwarty standard przeznaczony głównie do komunikacji między systemami automatyki przemysłowej. **Idea usługi w OPC UA:** OPC UA definiuje różne usługi, które umożliwiają wymianę informacji między klientami a serwerami w systemach automatyzacji. Każda usługa realizuje konkretne funkcje, takie jak odczyt, zapis, subskrypcje danych, zarządzanie alarmami itp. **Wzorzec komunikacyjny:** Komunikacja w OPC UA oparta jest na wzorcu żądanie-odpowiedź (request-response). Klienty wysyłają żądania do serwerów, a serwery odpowiadają na te żądania, realizując odpowiednie usługi. Komunikacja odbywa się z wykorzystaniem protokołów transportowych, takich jak TCP, opcjonalnie z warstwą bezpieczeństwa. ## W3 – Podstawy komunikacji radiowej 1. Dla systemu radiowej transmisji danych z czujnika IoT, o parametrach podanych poniżej, określić maksymalną odległość odbioru danych z czujnika, jeśli przyjąć że poprawny odbiór jest możliwy gdy moc sygnału na wejściu odbiornika jest większa niż -70 dBm, a propagacja fali radiowej pomiędzy czujnikiem a odbiornikiem może być opisana modelem tłumienia wolnej przestrzeni. Dane systemu: - moc sygnału z nadajnika czujnika 10 dBm - 0.01W - zysk energetyczny anteny nadawczej czujnika 2 dBi - zysk enegetyczny anteny odbiornika 2 dBi - częstotliwość transmitowanej fali radiowej 433 MHz - $\frac{v}{f}$ = $\frac{3*10^8}{433*10^6}m$ = $\lambda$ $$P_{R[W]} = P_{T[W]} * G_{T} * G_{R} * (\frac{\lambda[m]}{4*\pi*d[m]})^2$$ $$d^2[m] = \frac{P_{T[W]} * G_{T} * G_{R}}{P_{R[W]}} * (\frac{\lambda[m]}{4*\pi})^2$$ $d^2 = \frac{0.01 * 2 * 2}{10^{-10}} * (\frac{(3*10^8)^2}{4^2*3.14^2 * (433*10^6)^2})$ $d^2 = \frac{10^{-2}}{10^{-10}} * \frac{2*2*9*10^{16}}{4^2*3.14^2 * 433^2 * 10^{12}}$ $d^2 = \frac{2*2*9*10^{14}}{4^2*3.14^2 * 433^2 * 10^{2}}$ $d^2 = \frac{36*10^{12}}{4^2*3.14^2 * 433^2}$ $d^2 = \frac{36*10^{12}}{29577064}$ $d^2 = 0.00000121715*10^{12}$ $d = 0.00110324521*10^{6}$ $d = 1103.24521 m$ ```-------------------LUB-------------------``` $$P_{R[dBm]} = P_{T[dBm]} + G_{T[dB]} + G_{R[dB]} - L_{FS[dB]}$$ $$L_{FS[dB]} = -147.56 + 20log_{10}(d_{[m]}) + 20log_{10}(f_{[Hz]})$$ $$P_{R[dBm]} = P_{T[dBm]} + G_{T[dB]} + G_{R[dB]} - (-147.56 + 20log_{10}(d_{[m]}) + 20log_{10}(f_{[Hz]})))$$ $-70 = 10 + 2 + 2 - (-147.56 + 20log_{10}(d_{[m]}) + 20log_{10}(433*10^{6}))$ $-84 = 147.56 - 20log_{10}(d_{[m]}) - 20log_{10}(433*10^{6}))$ $-84 = 147.56 - 20log_{10}(d_{[m]}) - 20log_{10}(433*10^{6}))$ $231.56 = 20log_{10}(d_{[m]}) + 20log_{10}(433*10^{6}))$ $11.58 = log_{10}(d_{[m]}) + log_{10}(433*10^{6}))$ $11.58 = log_{10}(d_{[m]}*433*10^{6})$ $d_{[m]}*433*10^{6}=10^{11.58}$ $d_{[m]}=\frac{10^{11.58}}{433*10^{6}}$ $d_{[m]}=\frac{10^{5.58}}{433}$ $x=874m$ 2. Dana z czujnika IoT transmitowane są drogą radiową na częstotliwości 150 MHz do odbiornika znajdującego się w odległości 100m od czujnika. Przyjmując, że: - moc sygnału z nadajnika czujnika ma wartość 1mW - w czujniku i w odbiorniku zastosowano anteny o zysku energetycznym równym 0 dBi wyznaczyć moc sygnału doprowadzonego na wejście odbiornika, jeśli propagacja sygnału radiowego między czujnikiem a odbiornikiem może być opisana modelem wolnej przestrzeni. $$P_{R[W]} = P_{T[W]} * G_{T} * G_{R} * (\frac{\lambda[m]}{4*\pi*d[m]})^2$$ $P_{R[W]} = 0.001 * 1 * 1 * (\frac{\frac{3*10^8}{150*10^6}}{4*3.14*100})^2$ $P_{R[W]} = 0.001 * (\frac{0.02*10^2}{1256})^2$ $P_{R[W]} = 0.001 * (\frac{2}{1256})^2$ $P_{R[W]} = 0.001 * (0.0016)^2$ $P_{R[W]} = 10^{-3} * 2.54 * 10^{-6}$ $P_{R[W]} = 2.54 * 10^{-9}$ $P_{R[W]} = 2.54*10^6mW$ ```-------------------LUB-------------------``` $$P_{R[dBm]} = P_{T[dBm]} + G_{T[dB]} + G_{R[dB]} - (-147.56 + 20log_{10}(d[m]) + 20log_{10}(f[Hz]))$$ $P_{R[dBm]} = 1 + 0 + 0 - (-147.56 + 20log_{10}(100) + 20log_{10}(150*10^{6}))$ $P_{R[dBm]} = 148.56 - 20log_{10}(100) - 20log_{10}(150*10^{6})$ $P_{R[dBm]} = -54.96[dBm]$ ## W8 – Sieci WiFi 1. **Jakie słabości protokołu WEP zostały wyeliminowane poprzez wprowadzenie protokołu WPA2? Jak zostało to osiągnięte?** - **Słabe szyfrowanie**: WEP używał słabego szyfrowania RC4, które było łatwe do złamania. WPA2 używa silniejszego szyfrowania AES. - **Słabe uwierzytelnianie**: WEP używał słabego mechanizmu uwierzytelniania opartego na współdzielonym kluczu, szyfrowanie zawsze identycznym kluczem. W WPA2 każda ramka szyfrowana innym kluczem - **Brak kontroli integralności**: WEP nie zapewniał kontroli integralności, co oznacza, że atakujący mógł modyfikować przesyłane dane bez wykrycia. WPA2 zapewnia kontrolę integralności za pomocą protokołu Michael, który umożliwia wykrycie modyfikacji danych. - **4-way handshake**: W WPA2 klucze szyfrujące wymieniane są za pomocą procedury 4-way handshake ![image](https://hackmd.io/_uploads/H1aFSKM5a.png) ![image](https://hackmd.io/_uploads/S1scrFMc6.png) ![image](https://hackmd.io/_uploads/Syeo8RGcT.png) 2. **Na czym polega i do czego jest wykorzystywana procedura 4-way handshake w sieciach WiFi? Jak ona przebiega?** Procedura 4-way handshake zapewnia bezpieczeństwo sieci Wi-Fi poprzez uwierzytelnienie klienta i nawiązanie bezpiecznego połączenia z punktem dostępowym. W ramach tej procedury wykorzystywane są klucze sesji, które są uzyskiwane na podstawie hasła użytkownika. Dzięki temu, że klucze te są generowane dynamicznie, a nie stałe, procedura 4-way handshake zapewnia wysoki poziom bezpieczeństwa sieci Wi-Fi 1. AP wysyła do klienta nonce – pewną unikatową dla danej sesji wartość (określaną dalej jako ANonce). 2. Klient wysyła własny nonce do AP (określany jako CNonce) wraz z sumą kontrolną MIC (Message Integrity Code). 3. AP wysyła do klienta GTK(Group Temporal Key) numer sekwencyjny do transmisji grupowej oraz MIC. 4. Klient wysyła potwierdzenie do AP. ![image](https://hackmd.io/_uploads/B1iNWle96.png) 3. **Jakie słabości protokołu WPA2 i w jaki sposób zostały wyeliminowane poprzez wprowadzenie protokołu WPA3?** - Ma zastąpić WPA2, usuwając większość jej słabości: - zmniejszenie bezpieczeństwa z powodu krótkich lub standardowych haseł - podatność na atak KRACK - podatność na anulowanie uwierzytelniani - Wprowadza modyfikację w procesie uzgadniania klucza tymczasowego. Klucz PMK ustalany jest przy wykorzystaniu protokołu SAE (Simultaneous Authentication of Equals) opartego na koncepcji dowodu z wiedzą zerową i kryptografii krzywych eliptycznych. - W WPA3 każde kolejne dołączenie wykorzystuje inny klucz PMK (Pairwise Master Key) - Znajomość hasła nie umożliwia ustalenia klucza tymczasowego danej sesji - Nasłuchiwanie wymiany komunikatów podczas ustalania klucza PTK nie pozwala na ustalenie hasła - Odporność na ataki słownikowe i analizę offline. 4. **Tryby pracy punktów dostępowych** * AP mode - bezprzewodowa komunikacja klientów z lokalną siecią przewodową * AP client mode - AP jako bezprzewodowa karta sieciowa, umożliwia podłączenie się do istniejącej sieci WLAN * Bridge mode - tworzenie mostu bezprzewodowego do np dóch segmentów sieci LAN * Reapeter mode -jednoczesna praca AP w charakterze AP i mostu, zwieksza pokrycie i umożliwia budowanie połączeń szkielotowych ## W9 - Bluetooth 1. **Jakie procesy są realizowane w poszczególnych fazach procedury parowania trybie LE Secure Connections? Proszę omówić modele asocjacji, które mogą być zastosowane w tej procedurze.** ![image](https://hackmd.io/_uploads/HJN3DYf96.png) Procedura parowania w trybie LE Secure Connections składa się z trzech faz: ![image](https://hackmd.io/_uploads/Hktw5Kfqp.png) SMP (Security Manager Protocol) ![image](https://hackmd.io/_uploads/HJ7_9KGcT.png) W trybie LE Secure Connections można zastosować trzy modele asocjacji: - Just Works: jest przeznaczony do scenariuszy, w których przynajmniej jedno z urządzeń nie posiada wyświetlacza ani nie posiada klawiatury umożliwiającej wprowadzenie sześciu cyfr dziesiętnych. Model nie zapewnia ochrony przez atakami MITM ale zapewnia ochronę przed podsłuchem - Passkey Entry: został zaprojektowany na potrzeby scenariusza gdzie jedno urządzenie ma możliwość wprowadzania danych, ale nie ma możliwości wyświetlenia sześciu cyfr, a drugie urządzenie ma możliwości wyjściowe. - Numeric Comparison: jest przeznaczony dla scenariuszy, w których oba urządzenia mogą wyświetlać sześciocyfrową liczbę i oba umożliwiają wpisanie przez użytkownika „tak” lub „nie”. . - Out of Band (OOB) jest przeznaczony przede wszystkim dla scenariuszy gdzie zewnętrzny mechanizm jest używany do dystrybucji danych kryptograficznych wykorzystywanych w procesie parowania. Skuteczność modelu z punktu widzenia bezpieczeństwa zależy od zabezpieczenia kanału zewnętrznego np. przed atakami MITM. 2. **Jakie rodzaje adresów mogą być przypisane urządzeniom Bluetooth Low Energy? Jakie cechy posiadają poszczególne adresy? Na czym polega procedura powiązania (bonding)? Co jest jej skutkiem?** - Public address: zaprogramowany w urządzeniu przez producenta i zarejestrowany w IEEE - Random static address: konfigurowalny podczas uruchamiania i stały przez cały okres użytkowania urządzenia. Nie wymaga rejestracji w IEEE - Resolvable random private address: adres, który zmienia się okresowo, ale można go odtworzyć za pomocą klucza IRK. - Non-resolvable random private address: adres, który zmienia się okresowo i którego nie można odtworzyć. ![image](https://hackmd.io/_uploads/ByRu5lx9T.png) **Parring:** - **Cel:** Parowanie to proces ustanawiania połączenia między dwoma urządzeniami BLE. - **Wymiana klucza:** Podczas parowania, urządzenia wymieniają się informacjami niezbędnymi do utworzenia wspólnego klucza, często określanego jako "klucz łącza" lub "klucz tymczasowy". - **Częstotliwość:** Parowanie jest zazwyczaj jednorazowym procesem, który ma miejsce, gdy urządzenia są początkowo połączone. **BLE Bonding:** - **Cel:** Łączenie jest procesem przechowywania klucza wygenerowanego podczas parowania do wykorzystania w przyszłości. - **Przechowywanie klucza:** Po pomyślnym sparowaniu urządzeń, łączenie umożliwia urządzeniom przechowywanie klucza łącza do późniejszego wykorzystania bez konieczności powtarzania procesu parowania. - **Korzyści:** Łączenie zapewnia bardziej płynne i wygodne doświadczenie dla użytkowników, ponieważ kolejne połączenia między sparowanymi urządzeniami mogą odbywać się bez konieczności interwencji użytkownika lub ponownego wprowadzania kluczy dostępu. 3. **Omówić procedurę rozsiewczą w BLE – czym się charakteryzuje, jakie kanały są w niej wykorzystywane, czym jest tzw. „zdarzenie”. Opisać tryby legacy i extended. Jaką modyfikację procedury rozsiewczej wprowadzono w wersji 5.1 i dlaczego? Jakie są 4 podstawowe typy pakietów rozsiewczych, krótko je opisać**. W kontekście technologii Bluetooth, zdarzenie (event) odnosi się do specyficznego wydarzenia lub sytuacji, które może wystąpić w trakcie komunikacji między urządzeniami Bluetooth. Zdarzenia są istotne, ponieważ pozwalają programom lub aplikacjom reagować na konkretne sytuacje, co umożliwia bardziej elastyczną i dynamiczną kontrolę nad działaniem systemu. Transmisje rozsiewcze są zorganizowane w zdarzenia (events) w ramach których muszą być zachowane ścisłe zależności czasowe ![image](https://hackmd.io/_uploads/HyC2nzec6.png) Od wersji 5.1 kolejność wyboru kanałów rozsiewczych 37,38,39 może być losowa (umożliwia to maksymalizację prawdopodobieństwa poprawnego odbioru) Można rozróżnić następujące parametry pakietów rozsiewczych: - connectable – z możliwością połączenia - scannable – z możliwością przesłania dodatkowych informacji na prośbę urządzenia skanującego - directed – skierowany do konkretnych urządzeń - undirected – skierowany do wszystkich 4. **Bluetooth – przedstawić podstawowe parametry łącza radiowego (zakres częstotliwości, szerokości kanałów radiowych, modulacje). Jakie są dopuszczalne topologie w BR/EDR, a jakie w BLE, krótko je opisać. Omówić ogólną architekturę logiczną urządzenia działającego w standardzie Bluetooth, które jej elementy są niezbędne?** Gaussian frequency-shift keying Differential Quaternary Phase Shift Keying Differential 8-Phase Shift Keying (D8PSK) ![image](https://hackmd.io/_uploads/rkD8l7gqp.png) ![image](https://hackmd.io/_uploads/Hk_jWme9p.png) ## W10 – Systemy łączności dalekiego zasięgu (LoRa) 1. **Co łączy a co dzieli LoRa i LoRaWAN? Opisz skrótowo oba pojęcia.** LoRa (Long Range) to technologia modulacji radiowej, która umożliwia transmisję danych na duże odległości przy minimalnym poborze mocy. LoRa opisuje format transmitowanej ramki. LoRa umożliwia komunikację pomiędzy End-device a Gateway (i nie tylko!) LoRaWAN (Long Range Wide Area Network) to protokół sieciowy oraz cała architektura sieci, który działa na warstwie MAC (Media Access Control) i umożliwia urządzeniom IoT komunikację z siecią LoRaWAN. LoRaWAN wykorzystuje LoRa do przesyłania ramek danych mających ustandaryzowaną sktrukturę, LoRaWAN definiuje także zasady transmisji (jak np zasada 1 do 99). LoRaWAN zapewnia bezpieczeństwo, szyfrowanie danych i uwierzytelnienie urządzeń. ![image](https://hackmd.io/_uploads/SkEA-Xlcp.png) ![image](https://hackmd.io/_uploads/HJ49Clxca.png) LoRa i LoRaWAN są ze sobą powiązane, ale stanowią oddzielne pojęcia. 2. **Opisz jak można przeprowadzić atak typu man in the middle w LoRa/LoRaWAN.** Atak typu man-in-the-middle (MitM) w sieciach LoRa/LoRaWAN polega na przechwyceniu i modyfikowaniu przesyłanych danych między urządzeniami IoT a siecią LoRa/LoRaWAN. Atakujący może przechwycić dane przesyłane między urządzeniami IoT i siecią LoRa/LoRaWAN, a następnie modyfikować je lub przesyłać dalej do docelowego urządzenia. W najprostszej warsji przeprowadzenie ataku MitM w sieciach LoRa/LoRaWAN, może polegać na synchronizowaniu się z parametrami transmisji wykorzystywanej przez urządzenie IoT, a następnie w momencie nadawania przez to urządzenie nadawać własny komunikat z wyższą mocą. Można też transmitować w innym czasie niż właściwy klient ## W11 – Systemy łączności bliskiego zasięgu (RFID, NFC) 1. **Podaj parametry transmisji dla technologii RFID i NFC, w szczególności zakres częstotliwości, orientacyjny zasięg transmisji oraz możliwości ewentualnej ingerencji w transmisję.** ![image](https://hackmd.io/_uploads/SkKIxZgqp.png) 2. **Przedstaw rodzaje anten stosowanych RFID i NFC**. ![chrome_vOyOxEfyBw](https://hackmd.io/_uploads/H1sd-Zxc6.png) 3. **Omów rodzaje tagów i ich budowę dla technologii RFID i NFC. Jakie są możliwości szyfrowania oraz zwiększenia bezpieczeństwa ich stosowania?** - klasa 0 - UHF, pasywne, nie można zapisywać - klasa 1 - HF, pasywne, nie można zapisywać, mogą robić crc - klasa 2 - HF, pasywne, można zapisywać, mogą robić crc - klasa 3 - mają wbudowane zasilanie bo mają czujniki, są pasywne - klasa 4 - aktywne - klasa 5 - Mogą stanowić źródła zasilania, komunikować się z tagami wszystkich klas i pracować jako czytniki. Szyfrowanie, brak możliwości zmiany danych 4. **Podaj przynajmniej 10 potencjalnych zastosowań technologii RFID i NFC:** - Płatności zbilżeniowe - Karty dostępu do drzwi - Inwentaryzacja serwerowni - Automatyczne kasy w sklepach - Monitorowanie produkcji - Monitorowanie transportu - Pobieranie opłat na autostradach - Czipowanie zwierząt - dane właściciela - Ewidencja sprzętu na budowie - Wyszukiwanie książek/dokumentów 5. **Omów podobieństwa i różnice w technologii RFID i NFC.** Technologia RFID (Radio Frequency Identification) i NFC (Near Field Communication) są ze sobą powiązane, ale stanowią oddzielne pojęcia. Oto podobieństwa i różnice między nimi: **Podobieństwa:** - RFID i NFC wykorzystują fale radiowe do przesyłania danych bezprzewodowo. - RFID i NFC umożliwiają identyfikację przedmiotów za pomocą unikalnych identyfikatorów. - RFID i NFC są stosowane w wielu dziedzinach, takich jak logistyka, transport, magazynowanie, płatności bezdotykowe i wiele innych. **Różnice:** - NFC jest rozszerzeniem technologii RFID, ale działa tylko na krótkich dystansach (zwykle do 10 cm), podczas gdy RFID może działać na znacznie większych odległościach (do kilku metrów). - NFC umożliwia komunikację dwustronną, co oznacza, że urządzenia mogą przesyłać dane między sobą, podczas gdy RFID umożliwia tylko jednostronną komunikację (czytnik -> tag). - NFC jest stosowane głównie w urządzeniach mobilnych, takich jak smartfony i tablety, podczas gdy RFID jest stosowane w różnych urządzeniach, takich jak karty dostępu, etykiety logistyczne, karty płatnicze i wiele innych. Mimo że RFID i NFC są ze sobą powiązane, to mają różne zastosowania i charakterystyki ## W12, W13 – Inżynieria odwrotna urządzeń IoT 1. **Wymień i opisz (protokół, zastosowanie) najważniejsze interfejsy szeregowe stosowane w urządzeniach IoT. Jakie potencjalne możliwości można uzyskać z punktu widzenia bezpieczeństwa i inżynierii odwrotnej urządzenia IoT mając dostęp fizyczny do tych interfejsów.** - UART - umożliwia komunikację między dwoma urządzeniami za pomocą dwóch przewodów: Tx (transmit) i Rx (receive). - I2C - umożliwia komunikację między urządzeniami za pomocą dwóch przewodów: SDA (Serial Data) i SCL (Serial Clock) - SPI - możliwia komunikację między urządzeniami za pomocą czterech przewodów: MOSI (Master Out Slave In), MISO (Master In Slave Out), SCK (Serial Clock) i SS (Slave Select) - JTAG Dostęp fizyczny do interfejsów szeregowych może umożliwić atakującemu odczytanie logów systemowych. Pozostawione debug porty umożliwiają interakcjie z użądzeniem jak np przerwanie procesu bootowania, wejście do bootloadera, dumpowanie wczytanie flasha do ramu, dumpowanie firmwaru 2. **Opisz typowy przebieg czynności jakie trzeba wykonać, żeby uzyskać dostęp do zawartości pamięci flash typowego urządzenia IoT. Napisz jakie potencjalne możliwości daje dostęp do zawartości pamięci flash. Jakie mogą pojawić się przeszkody w dostępie do takiej pamięci i do jej zawartości.** - Rozkręcenie urządzenia i zlokalizowanie jakiegoś interfejsu szeregowego - Przerwanie procesu bootowania urządzenia - Uzyskać dostęp do bootloadera - Załadować flash do ramu - Pobranie danych z ramu przez interejs szeregowy Daje to możliwości statycznej analizy firmwaru, reversowania kodu źródłowego w poszukiwaniu luk bezpieczeństwa. Mogą wystąpić problemy gdy nie ma dostępnego interfejsu szeregowego, wtedy można udlutować kość pamięci i próbować dumpować firmware bezpośrednio. Voltage glitching, Reversowanie bootloadera w poszukiwaniu trybu debug, JTAG 3. **W jaki sposób można przeprowadzić analizę pamięci flash. Wymień i opisz co może znajdować się w pamięci flash i w jaki sposób przeprowadzić analizę pamięci flash. Napisz jakie systemy plików występują w urządzeniach IoT. Jakie są podstawowe różnice w tych systemach plików.** Aby analizować pamięć flash musimy ją zdumpować, następnie możemy ją dzielić na partycje. Można wykorzystywać narzędzia jak binwalk w poszukiwaniu plików wykonywalnych. Można odtworzyć system plików i przeglądać znajdujące się w pamięci pliki (późnej reversować) - Squashfs - read-only - Wspiera kompresje - Używany np. na live boot USB/CD - Jffs2 - Read-write - Wspiera kompresje - Popularny w Open-WRT - Yaffs - Read-write - Dedykowany do pamięci NAND - Ubifs - Często stawiany na UBI (warstwa zarządzania pamięcią NAND) - Bywa modyfikowany przez OEM 4. **Co to jest bootrom i do czego jest wykorzystywany w urządzeniach wbudowanch (IoT). Opisz różnice i przedstaw cechy charakterystyczne pomiędzy bootromem i bootloaderem.** Bootrom (Boot Read-Only Memory) to mała pamięć stała znajdująca się wewnątrz procesora, która zawiera kod uruchamiany jako pierwszy po włączeniu urządzenia. Bootrom jest zwykle zapisywany w pamięci stałej i nie może być modyfikowany. Bootrom decyduje, skąd ma zostać pobrany następny fragment kodu i jak lub czy ma być on weryfikowany pod kątem poprawności lub ważności. Bootrom może również zawierać dodatkowe funkcjonalności, które mogą być używane przez kod użytkownika podczas lub po uruchomieniu. Bootloader (w IoT zwykle Uboot) to program, który jest uruchamiany po bootromie i jest odpowiedzialny za znalezienie i załadowanie końcowego systemu operacyjnego lub firmware’u, który ma działać na chipie. Bootloader jest zwykle zapisywany w pamięci flash i może być zastąpiony lub uaktualniony. Bootloader może również wykonywać zadania, które są poza zakresem bootromu. 5. **Napisz na czym polega proces analizy oprogramowania wbudowanego w środowisku Ghidra. Na co należy zwrócić uwagę. Jakie mogą być różnice pomiędzy kodem skompilowanym z kodu źródłowego a kodem zdekompilowanym w środowisku Ghidra. Podaj przykłady.** Ghidra to narzędzie do analizy oprogramowania wbudowanego, które umożliwia deasemblację i dekompilację kodu maszynowego. Proces analizy oprogramowania wbudowanego w środowisku Ghidra składa się z kilku kroków: 1. **Importowanie kodu maszynowego**: Pierwszym krokiem jest zaimportowanie kodu maszynowego do Ghidra. Kod maszynowy może być zaimportowany z pliku binarnego lub z urządzenia wbudowanego. 2. **Dekompilacja kodu maszynowego**: Po analizie kodu maszynowego, Ghidra przeprowadza dekompilację kodu maszynowego na kod źródłowy w języku C. Kod źródłowy może być następnie edytowany i debugowany w środowisku Ghidra. 3. **Manualna analiza kodu**: ustawianie nazw zmiennych i funkcji, odtworzenie struktur, identyfikacja funkcji bibliotecznych Przykłady różnic między kodem skompilowanym a zdekompilowanym w środowisku Ghidra to: - **Brak informacji o typach danych**: W niektórych przypadkach Ghidra może nie być w stanie określić typów danych, co może prowadzić do błędów w kodzie źródłowym. - **Brak informacji o wykorzystanych strukturach danych** - **Błędy dekompilacji**: Dekompilacja kodu maszynowego na kod źródłowy może nie zawsze być dokładna, co może prowadzić do błędów w kodzie źródłowym. - **Optymalizacja kodu**: Kompilator może optymalizować kod źródłowy, co może prowadzić do różnic między kodem skompilowanym a zdekompilowanym. - **Zgubienie kolejności if'ów** - **zamiana pętli for na while** ## W14 – Aspekty prawne moralne i praktyczne. Audyt bezpieczeństwa. 1. **Zaproponuj metodykę oceny bezpieczeństwa systemu IoT. Proponowana metodyka ma wskazywać:** - źródło wymagań bezpieczeństwa (standard, framework, itp.) dla listy kontrolnej - zastosowanie modelowanie scenariuszy zagrożeń / ataków / technik ofensywnych - jak umieścić? - przyjmowaną skalę ocen dla listy kontrolnej - wybrać jedną formę oceny i wskazać uzasadnienie Bierzemy wymagania bezpieczeństwa przygotowane przez NIST, zagrożenie z OWASP Top10 for IoT. Tworzymy macierz wymagań i zagrożeń. Następnie sprawdzamy które zagrożenia odnoszą siędo ocenianego systemu. Dla każdego zagrożenia zaznaczamy czy wymaganie jest spełnione w skali 0, 0.5, 1. 2. **Zaprezentuj model zagrożeń dla systemu IoT. Punktem wyjścia ma być referencyjny model systemu IoT - od urządzenia przez sieci lokalne, zdalne, chmurę i aplikacje sterujące. W ramach modelu zaproponować po jednym zagrożeniu / ataku / technice na jeden element modelu referencyjnego systemu IoT.** ![image](https://hackmd.io/_uploads/rJtilGgcp.png) - **endpoint** - zniszczenie fizyczne - **ebdpoint - gateway** - zagłuszenie/mitm - **gateway** - atak na łancuch dostaw aktualizacji - **gateway - cloud** - sakanowanie portów - **cloud** - zagrożenia prywatności i poufności - **aplikacja sterująca** - Analiza kodu źródłowego aplikacji - **aplikacja sterująca - cloud** - brak dostępu - **aplikacja sterująca - gateway** - Ataki na uwierzytelnie - **cloud - 3rd party** - niezaufane zewnetrzne usługi 3. **Zaproponuj proces przeprowadzenia badań bezpieczeństwa IoT wybranego rozwiązania.** 1. Identyfikację zagrożeń, którym może podlegać dane rozwiązanie 2. Wybór wymagań, które są w stanie pokryć zagrożenia w sposób najbardziej efektywny kosztowo. 3. Przejście przez realizacje wymagań i ocena spełnienia ich w skali [0, 0.5 , 1] 4. Ocena faktycznego stanu bezpieczeństwa systemu IoT 4. **Ocena bezpieczeństwa systemów IoT w ekosystemie podnoszenia cyberbezpieczeństwa produktów cyfrowych. Opisz wątki i trendy związane z tym zagadnieniem biorąc pod uwagę nadchodzące zmiany w Ustawie o Krajowym Systemie Cyberbezpieczeństwa, wymagania prezentowane na poziomie Unii Europejskiej oraz trendy kreowane w USA.** W Polsce, Ustawa o Krajowym Systemie Cyberbezpieczeństwa (KSC) wprowadza szereg zmian mających na celu zwiększenie poziomu bezpieczeństwa systemów IoT. Wśród najważniejszych zmian proponowanych w projekcie nowelizacji ustawy o KSC są: powołanie CSIRT sektorowych, utworzenie krajowego systemu certyfikacji cyberbezpieczeństwa oraz strategicznej sieci bezpieczeństwa Na poziomie Unii Europejskiej, Komisja Europejska opracowała szereg zasad i wytycznych dotyczących bezpieczeństwa systemów IoT. Komisja Europejska opublikowała wytyczne dotyczące bezpieczeństwa systemów IoT, które mają na celu zapewnienie bezpieczeństwa urządzeń IoT na poziomie europejskim. Wytyczne te obejmują szereg zasad dotyczących bezpieczeństwa urządzeń IoT, takich jak: minimalne wymagania dotyczące bezpieczeństwa, wymagania dotyczące aktualizacji oprogramowania, wymagania dotyczące uwierzytelniania i wiele innych. Ogólny trend jest taki żeby cały łańcuch dostaw certyfikat bezpieczeństwa (od procesora, przez płytki, moduły po produkt końcowy)

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully