Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Oprogramowanie "must have"

Wodzirej 15 Nov 2020 00:02 504 6
  • #1
    Wodzirej
    Level 12  
    Witam
    Szukam informacji dotyczących funkcjonalności/zabezpieczeń profesjonalnego firmware-u wbudowanych urządzeń np w oparciu o mikrokontrolery STM32. Chodzi mi o funkcje jakie powinien posiadać firmware poza podstawową funkcjonalnością do której został stworzony jak np:
    - bootloader z szyfrowaną komunikacją lub nie
    - wydzielony fragment pamięci na informacje np numer SN, data produkcji itp,
    - sprawdzenie CRC programu po uruchomieniu lub w czasie pracy systemu

    Co jeszcze powinno zawierać oprogramowanie?
    pozdrawiam.
  • #3
    Freddie Chopin
    MCUs specialist
    Wodzirej wrote:
    - sprawdzenie CRC programu po uruchomieniu lub w czasie pracy systemu

    Jeśli zakładasz, że to CRC programu może się nie zgadzać (czyli że program może się "zepsuć"), to sprawdzanie tego _W_ tym programie ma niewielki sens, bo skąd wiesz, że nie zepsuje się ta część która związana jest ze sprawdzaniem? Jak już coś, to taką funkcjonalność może mieć bootloader, który uruchomi program główny tylko jeśli uzna, że jest on prawidłowy.
  • #4
    Wodzirej
    Level 12  
    Marek dzięki za link bardzo pomocne.

    Freddie tutaj jest kilka rzeczy do rozważenia bo np są urządzenia, które się nie wyłączają lub są w trybie obniżonego poboru mocy a bootloader jest wykonywany po resecie / power up-ie. Dlatego właśnie CRC mogłoby być sprawdzanie w programie głównym chodzi mi tutaj o zabezpieczenie przed taką technikę którą spotkałem pod nazwą "code injection" żeby się przed nią bronić to właśnie jest sprawdzanie CRC w różnych losowych miejscach programu blokowo na sektorach/stronach lub całościowo.
    Czy są inne techniki zabezpieczania się niż tylko CRC?

    Wydaje mi się to istotnym problemem bo może się okazać, że po 2 latach sprzędzonych nad projektem miesiąc po premierze jest dostępny chiński odpowiednik z taką samą funkcjonalnością i bliźniaczo podobny.
  • #5
    Freddie Chopin
    MCUs specialist
    Wodzirej wrote:
    technikę którą spotkałem pod nazwą "code injection"

    I niby jak taka technika miałaby wyglądać na mikrokontrolerze bez pamięci wirtualnej, z kodem wykonywanym z pamięci flash, która jest zabezpieczona przed dostępem zewnętrznym?

    Wodzirej wrote:
    Wydaje mi się to istotnym problemem bo może się okazać, że po 2 latach sprzędzonych nad projektem miesiąc po premierze jest dostępny chiński odpowiednik z taką samą funkcjonalnością i bliźniaczo podobny.

    Dowolne cuda jakie zastosujesz i tak tego nie zmienią - jak ktoś będzie chciał, to i tak odczyta ten Twój magiczny kod wprost z pamieci flash po rozbrojeniu całego mikrokontrolera i obejściu zabezpieczenia sprzętowego. Jeśli Twoją ambicją nie jest zrobienie pendrive'a albo lampek choinkowych to i tak bez znaczenia, bo dla klienta z Europy czy z USA chińczyk może i wygra ceną, ale po pierwsze poza ceną są jeszcze inne aspekty produktów (wsparcie, serwis, niezawodność, oprogramowanie producenta, ...), a po drugie w wielu branżach cena gra drugorzędną rolę. Jeśli to ma być np. urządzenie przemysłowe czy medyczne, to gwarantuję Ci, że żaden rozsądny klient nie będzie podejmował decyzji pod kątem tego, że za 10% ceny może kupić niewiadomo-jakiej jakości klona z Chin do którego nie otrzyma nigdy żadnego wsparcia, no może poza propozycją wymiany na nowy egzemplarz.
  • #6
    tmf
    Moderator of Microcontroller designs
    Freddie Chopin wrote:
    Jeśli to ma być np. urządzenie przemysłowe czy medyczne, to gwarantuję Ci, że żaden rozsądny klient nie będzie podejmował decyzji pod kątem tego, że za 10% ceny może kupić niewiadomo-jakiej jakości klona z Chin do którego nie otrzyma nigdy żadnego wsparcia, no może poza propozycją wymiany na nowy egzemplarz.

    Niestety nawet rozsądny klient, jeśli musi kupować zgodnie z prawem zamówień publicznych, może nie mieć wyboru i być zmuszonym kupić tanie badziewie, właśnie dlatego, że jest tanie. Ale to oczywiście tylko nasza lokalna specyfika.
  • #7
    Freddie Chopin
    MCUs specialist
    Kwestia warunków przetargu. A tak serio to naprawdę Chińczycy mają co robić i nie muszą kopiować wszystkiego od nas. Jeśli produkowany sprzęt nie będzie sprzedawany "w milionach egzemplarzy", to naprawdę Chińczycy nawet w jego stronę nie spojrzą. Dodatkowo często sprzęt po prostu obowiązkowo musi mieć towarzystwo jakiegoś dedykowanego softu, lub firma która go produkuje zajmuje się też w jakimś stopniu instalacjami i konfiguracją - dowolny klon z ChRL, nawet jeśli byłby doskonałej jakości, tego mieć nie będzie - i to bez żadnych dodatkowy zabezpieczeń (; , więc problem serio jest trochę wydumany.