Blog

Bezpieczeństwo w oprogramowaniu ARM KEIL - systemy wbudowane IoT

Bezpieczeństwo w oprogramowaniu ARM KEIL - systemy wbudowane IoT

IoT, czyli Internet of Things oznacza system oraz sieć połączonych urządzeń elektronicznych zdolnych do wymiany informacji pomiędzy sobą w sposób automatyczny. Urządzenia IoT pozwalają udostępniać informacje użytkownikom, jak również łączyć się przez Internet oraz gromadzić dane. Dlatego ważnym aspektem jest ich ochrona, jak również prawidłowa praca podczas całego czasu użytkowania sprzętu. Nietrudno jest zauważyć, że rozwiązania bardzo przydatne człowiekowi, jak np. otwieranie bramy domu przy użyciu smartfona, umożliwiają działanie osobom niepożądanym np. poprzez próby włamania się do obiektu. Jeszcze poważniej sprawa wygląda w przemyśle i medycynie. Z jednej strony system musi działać niezawodnie, a z drugiej nie dopuszczać potencjalnego ataku ze strony zabezpieczeń sieci i komunikacji.

Arm Keil MDK Professional – środowisko bezpiecznych aplikacji
Biorąc pod uwagę fakt, że bezpieczeństwo programu jest istotnym elementem podczas procesu certyfikacji w zakresie bezpieczeństwa funkcjonalnego, z pomocą mogą przyjść rozwiązania Arm w tym zakresie. Należą do nich między innymi: bezpieczne, certyfikowane kompilatory C, C++, Zestaw Kwalifikacyjny, modele symulacyjne, czy optymalizacje systemu RTOS. Warto dodać, że wymienione funkcjonalności może obsługiwać jedne wspólne środowisko, którym jest μVision MKD Professional. Narzędzia producenta używane są przez ogromną liczbę developerów, tworzących aplikacje dla produktów w lotnictwie, bankowości, motoryzacji, transporcie, produkcji, wojska, czy telekomunikacji.

Qualification Kit

Technologia Trust Zone
W celu osiągnięcia bezpieczeństwa produktu przydatna może być także technologia TrustZone, oparta na rozwiązaniach SoC (ang. System on Chip) i podejście do bezpieczeństwa obejmujące cały system. Technologia TrustZone dla procesorów Arm Cortex-M zapewnia wysoki poziom ochrony. Zmniejsza także ryzyko ataku, izolując krytyczne oprogramowanie sprzętowe, zasoby i prywatne informacje od reszty aplikacji. Stanowi doskonały punkt wyjścia dla urządzenia w oparciu o wytyczne Platform Security Architecture (PSA).

Obraz_TUV

Jak wykonać zmianę do kompilatorów bezpiecznych
Aby skorzystać z narzędzi Qualification Kit należy założyć profil na portalu developer.arm.com, a następnie ściągnąć narzędzia w najnowszej wersji dla Functional Safety, czyli 6.6.4. Na stronie znajdują się kolejno do pobrania: certyfikowany kompilator, Zestaw Kwalifikacyjny oraz certyfikat TÜV. Istnieje również możliwość pobrania poprzednich wersji narzędzi. Po zgraniu paczek należy w środowisku μVision wejść w menu Project-Manage-Project Items, gdzie dodajemy nowy kompilator do listy. Z kolei w „Options for Target” możemy wybrać kompilator, z którego chcemy korzystać w projekcie. Po dodaniu kompilatora będzie to 6.6.4 Long Term Maintenance. Następnie należy skompilować projekt. Może wystąpić sytuacja, w której będzie potrzebne dostosowanie części kodu pod działanie nowego kompilatora, wtedy pomocna okaże się dokumentacja techniczna, dostępna w ściągniętej paczce.

LongTerm1

Więcej informacji znajduje się na firmowym kanale Youtube:
„ARM Keil MDK #24- Zmiana rodzaju kompilatora”.

Dodatkowe rozwiązania
Arm proponuje dodatkowo oprogramowanie FuSa RTS, które jest zestawem komponentów zakwalifikowanych do stosowania w najbardziej krytycznych dla bezpieczeństwa aplikacjach, w systemach motoryzacyjnych, medycznych i przemysłowych. Kolejną opcję stanowi Arm Development Studio, które zostało zaprojektowane specjalnie dla architektury Arm, zgodnie z zasadą „Jeden zestaw narzędzi - dowolny projekt oparty na Arm”. Przyśpiesza projektowanie, pomagając jednocześnie tworzyć solidne i wydajne produkty. Licencja kompilatora Functional Safety dostępna jest dla oprogramowania Arm Development Studio w wersji Gold lub Platinum.

Wnioski
Jednym z elementów procesu certyfikacji produktów w zakresie bezpieczeństwa funkcjonalnego jest zabezpieczenie kodu urządzenia przed wykonaniem niewłaściwej operacji, jak również blokowanie dostępu przed nieautoryzowaną próbą przejęcia jego kontroli. W związku z coraz większą ilością urządzeń IoT rządy krajów rozpoczynają prace nad ustandaryzowaniem zabezpieczeń, a także nad określeniem wymogów, które będą spełniały aplikacje. W szczególności w ostatnim czasie, gdyż rosnąca ilość urządzeń IoT wprowadzanych na rynek wymusza działania w tym zakresie. Urządzenia powstające na nim współpracują ze sobą, komunikując się i wymieniając dane. Takie działanie przynosi szereg korzyści użytkownikom, dostarczając informacji sprawnie, czy też umożliwiając automatyzację pracy. Jednak wdrażanie aplikacji IoT stwarza także pewne zagrożenia w zakresie bezpieczeństwa. Dlatego tak ważnym jest, aby zapewnić je także na poziomie działania programu. Mamy możliwość korzystania z dostarczonej dokumentacji, certyfikowanych kompilatorów, wyników testów, czy zaleceń producenta. Zastosowanie rozwiązań dotyczących bezpieczeństwa funkcjonalnego firmy Arm może być pomocne i dostarczy wielu korzyści. Usprawni proces zapewnienia bezpieczeństwa dla urządzenia w szybszym czasie, a dostępność i przedłużone wsparcie produktu pozwolą także skorzystać z tych rozwiązań w przyszłości.

Udostępnij

Powiązane wpisy

Skomentuj Cancel reply

Your email address will not be published. Required fields are marked *