logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Zabezpieczenie programu w ATmega328 przed odczytem - czy Arduino jest bezpieczne?

strikexp 24 Sty 2025 14:49 579 13
  • #1 21407752
    strikexp
    Poziom 27  
    Posty: 2386
    Pomógł: 101
    Ocena: 104
    Jak można zabezpieczyć program w mikrokontrolerze przed odczytaniem?
    Czy ATmega328 po zaprogramowaniu da się odczytać? Czy w Arduino jest pod tym względem identycznie?
  • #2 21408911
    _jta_
    Specjalista elektronik
    Posty: 48838
    Pomógł: 3198
    Ocena: 4186
    Zapewne jest to opisane w nocie katalogowej - dlaczego tam nie przeczytasz, zamiast pytać? Na ogół (i pewnie ATmega328 nie jest tu wyjątkiem) robi się tak, że można wyłączyć możliwość odczytania. Ale może to także wyłączyć możliwość debugowania, lub wgrania poprawionej wersji programu - w każdym razie takie wyłączenie jest na zawsze.
  • Pomocny post
    #3 21409631
    landy13
    Poziom 31  
    Posty: 1418
    Pomógł: 195
    Ocena: 259
    strikexp napisał:
    Jak można zabezpieczyć program w mikrokontrolerze przed odczytaniem?
    Ustawiając odpowiednie lockbity.
    strikexp napisał:
    Czy ATmega328 po zaprogramowaniu da się odczytać?
    Tak, dopóki nie zabezpieczysz lockbitami.


    _jta_ napisał:
    Ale może to także wyłączyć możliwość debugowania, lub wgrania poprawionej wersji programu - w każdym razie takie wyłączenie jest na zawsze.
    Absolutnie nie jest "na zawsze". Lockbity da się skasować, ale tylko razem z całym wsadem. Programu więc się nie wykradnie, ale programować ponownie można ad mortem defecatam.
    _jta_ napisał:
    Zapewne jest to opisane w nocie katalogowej - dlaczego tam nie przeczytasz, zamiast pytać?
    Właśnie. Dlaczego nie przeczytasz PRZED odpowiedzią?
  • #4 21410679
    jarek_lnx
    Poziom 43  
    Posty: 22548
    Pomógł: 4165
    Ocena: 6032
    Chcesz się dowiedzieć czy ATmega328 ma zabezpieczenie przed odczytem, czy może o odporność tego zabezpieczenia na ataki zdeterminowanego hakera?

    Każdy mikrokontorler z wbudowaną nieulotną pamięcią programu, jaki widziałem, posiada zabezpieczenia, AVR również, jak załączysz to będzie zabezpieczony, W stanie prosto z fabryki, są wyłączone, bo uniemożliwiają debugowanie, a nawet weryfikację, czy program został poprawnie zapisany.
    Czy da się je obejść? w dobrze wyposażonym laboratorium na pewno, ale nie będzie to tanie.

    AVR za dwa euro, to nie jest hardware na którym można zbudować urządzenia, z softem wartym miliony, wątpliwe że komuś będzie się opłacało hakować urządzenia, o stopniu złożoności sterownika do pralki, jakie mogą na tym mikrokontrolerze być zbudowane.

    W przypadku prostych projektów, ktoś może napisać własny program działający podobnie, zamiast kraść twój.
    Pracując w firmie usługowej, widziałem wielu klientów, z pomysłem zróbcie mi takie urządzenie jak to (tu produkt konkurencji)
  • Pomocny post
    #5 21410703
    Konto nie istnieje
    Poziom 1  
  • #6 21410811
    jarek_lnx
    Poziom 43  
    Posty: 22548
    Pomógł: 4165
    Ocena: 6032
    Arduino zarówno hardware jak i software jest open source, zwykła przyzwoitość nakazuje że jak dostałeś wynik czyjeś ciężkiej pracy za darmo, wypadało by się dołożyć. W niektórych licencjach jak GPL, jest to wprost nakazane, jeśli używasz kodu na GPL to musisz opublikować źródła również tego co sam napisałeś.
    https://support.arduino.cc/hc/en-us/articles/...90770-Licensing-for-products-based-on-Arduino


    grzegorz77xxx napisał:
    Napiszę tylko, że Chińczycy potrafią wszystko, i za niewielkie pieniądze wykonują usługi odczytania wsadu z zabezpieczonych układów.
    Niewielkie to znaczy jakie?
  • #7 21410841
    gregor124
    Poziom 28  
    Posty: 1493
    Pomógł: 93
    Ocena: 811
    A ja napiszę tak: zanim zabezpieczysz układ, powinieneś zapoznać się z warunkami licencji Arduino, aby nie doszło do jej naruszenia. W szczególnym wypadku może się okazać, że powinieneś udostępnić nie tylko plik wynikowy, ale nawet źródłowy.

    https://support.arduino.cc/hc/en-us/articles/...Licensing-for-products-based-on-Arduino?_gl=1
    Pomogłem? Kup mi kawę.
  • #8 21410942
    Konto nie istnieje
    Poziom 1  
  • #9 21410981
    jarek_lnx
    Poziom 43  
    Posty: 22548
    Pomógł: 4165
    Ocena: 6032
    grzegorz77xxx napisał:
    Nie potrafię Ci odpowiedzieć na to pytanie. Kiedyś ktoś na tym forum chciał odzyskać wsad z jakiegoś układu, chyba AVR-a. Wysłał go do Chińczyków, i dostał wsad. Napisał ile go to kosztowało, ale tego tematu nie potrafię odszukać.
    W takim razie jest to plotka.
  • #12 21411733
    strikexp
    Poziom 27  
    Posty: 2386
    Pomógł: 101
    Ocena: 104
    Ok, to mi troszkę rozjaśniło sytuację. Badam po prostu możliwość zbudowania urządzenia, które zaraz ktoś będzie próbował skopiować.
    Na pewno spróbuje zgrać wsad, a przed odczytem na tzw krótko czyli podpinając się pod mikroskopem to musiałbym już używać specjalnych zabezpieczeń jak seriale sprzętowe itd.
    Myślę że ustawienie owych lockbitów rozwiąże wystarczająco mój problem.
  • Pomocny post
    #13 21412311
    Konto nie istnieje
    Poziom 1  
  • #14 21412868
    strikexp
    Poziom 27  
    Posty: 2386
    Pomógł: 101
    Ocena: 104
    @grzegorz77xxx O i to jest dobry pomysł na to żeby komuś szkoda było zniszczyć bazowe urządzenie. Tylko trzeba przeliczyć straty cieplne w tej żywicy, a potem zalać z przelotkami z przewleczonym drutem :D
    Nie do podejrzenia w bezpieczny sposób i najmniej roboty.

Podsumowanie tematu

✨ W dyskusji poruszono kwestie zabezpieczania programów w mikrokontrolerach ATmega328, szczególnie w kontekście platformy Arduino. Użytkownicy wskazali, że program można zabezpieczyć poprzez ustawienie lockbitów, co uniemożliwia odczytanie zawartości pamięci, ale nie jest to rozwiązanie trwałe, ponieważ lockbity można skasować, co wiąże się z utratą programu. Zwrócono uwagę, że zabezpieczenia fabryczne są domyślnie wyłączone, aby umożliwić debugowanie. Wspomniano również o możliwościach obejścia zabezpieczeń w dobrze wyposażonych laboratoriach. Użytkownicy sugerowali dodatkowe metody ochrony, takie jak zeszlifowywanie napisów na układzie i zalewanie go żywicą, co może zniechęcić potencjalnych hakerów. Poruszono także kwestie licencji Arduino, które mogą wymagać udostępnienia źródeł w przypadku użycia kodu GPL.
Wygenerowane przez model językowy.
REKLAMA