Jesień Linuksowa - Embedded Linux Security Marcin Bis http://bis-linux.com marcin@bis-linux.com Szczyrk, Polska - 13 października 2013r. 1 / 23
O mnie Marcin Bis Embedded Linux System development, kernel development. Szkolenia, konsultacje, wsparcie (http://bis-linux.com) Linux + Real-Time - automatyka przemysłowa (i domowa). 2 / 23
O czym będzie? Kilka słów o bezpieczeństwie Bezpieczeństwo systemów wbudowanych. Wektory ataku. Podobieństwa i różnice z "normalnym" bezpieczeństwem. Praktyka - zabezpieczamy system wbudowany Definicja problemu (biznesowa). Bezpieczeństwo pasywne i aktywne. Praktyczny przykład - kilka pomysłów. O czym nie będzie: Android Aplikacje web-owe i dedykowane (np. dla Androida), cloud. Embedded Linux Security 3 / 23
Płaszczyzna ataku Jedna lub więcej metod dostępu do systemu. do których dostęp ma niezaufany użytkownik, lub ma tylko wpływ na nie. Embedded Linux Security Płaszczyzna ataku 4 / 23
Wektor ataku Oczywiste sieć (TCP/IP, Wi-Fi), aplikacja, port szeregowy. Mniej oczywiste USB, I2C, pamięć masowa (FLASH), Bluetooth (GPS, sieć komórkowa - dla telefonów). Im mniej oczywisty, tym groźniejszy. Embedded Linux Security Płaszczyzna ataku 5 / 23
Systemy embedded vs. normalne Wektory ataku niespotykane w innych systemach. Trudna aktualizacja (monokultura). Ludzie nie traktuja ich jako komputerów. Z drugiej strony te same aplikacje, co desktop/serwer. Dostęp do sieci. Apache, openssh, perl, avahi, dns, openssl itd. Embedded Linux Security Płaszczyzna ataku 6 / 23
Przykłady Stuxnet dostęp FTP do / admin:default ELC2009 "Security Issues for Embedded Devices" - Jake Edge http://lwn.net/talks/elc2009/. Przykłady (sprzed ponad 4 lat). Embedded Linux Security Płaszczyzna ataku 7 / 23
Jak się zabezpieczać? Na co zwrócić uwagę (trywialne). Dostęp do shell-a. Dostęp do funkcji systemu (web shell, ssh, telnet (!) itp.) (Nie)Trywialne hasła. Wszystko uruchamiane z root-a. Aktualne wersje komponentów (z bugfix-ami) Własny kod vs. standardowe aplikacje. Defensive programming. Embedded Linux Security Płaszczyzna ataku 8 / 23
Bezpieczeństwo pasywne Bezpieczeństwo pasywne 9 / 23
Jak inwestorzy widza produkt? Bezpieczeństwo pasywne Na czym polega problem? 10 / 23
Jak inwestorzy widza produkt? Sprzęt staje się coraz tańszy. Linux i wolne oprogramowanie - to znakomita baza do tworzenia produktu. Wolność używania kodu źródłowego: Każdy ma takie same prawa. Wolne oprogrmowanie wyrównuje szanse. Zarabiamy na wartości dodanej Zgodnie z licencja: GPL LGPL BSD Bezpieczeństwo pasywne Na czym polega problem? 11 / 23
Wartość dodana? Bezpieczeństwo pasywne Na czym polega problem? 12 / 23
Jak zabezpieczyć wartość dodana? ryzyko "TiVolizacji", czyli nie można przesadzić. Licencja GPLv3 Bezpieczeństwo pasywne Na czym polega problem? 13 / 23
Mimo wszystko - zabezpieczamy Nic nie chroni przed wylutowaniem elementu i podłaczeniem analizatora do jego pin-ów. W przypadku procesorów - jest to trudne, ale nie jest niemożliwe. Wszystko zależy od determinacji ($$$). Bezpieczeństwo pasywne Na czym polega problem? 14 / 23
Metody sprzętowe Jeżeli urzadzenie zbudowane jest w oparciu o więcej niż jeden mikrokontroler czy mikroprocesor, moga one wzajemnie się monitorować. (czas) Manipulujac położeniem ścieżek na poszczególnyc warstwach oraz stosujac odpowiednie typy obudów (BGA), można uniemożliwić dostęp do magistral danych, Wiele warstw PCB. Mieszanie ścieżek (przy czym debugowanie hardware-u i tak jest trudne). Bezpieczeństwo pasywne Na czym polega problem? 15 / 23
VIA (Wikipedia) Bezpieczeństwo pasywne Na czym polega problem? 16 / 23
Hidden Via (3) (Wikipedia) Bezpieczeństwo pasywne Na czym polega problem? 17 / 23
Zabezpieczamy dane dm-crypt, LUKS. man cryptsetup Jesień Linuksowa 2012 - Krzysztof Leszczyński: Szyfrowanie, zabezpiecz się przed złodziejem, prokuratorem, sadem - http://jesien.org/2012/materialy ecryptfs sudo mount -t ecryptfs tmp1 tmp2 To działa na urzadzenia blokowe! Bezpieczeństwo pasywne Na czym polega problem? 18 / 23
Pamięć NAND Jak działa NAND? Bezpieczeństwo pasywne Na czym polega problem? 19 / 23
JFFS2, YAFFS2, LogFS Bezpieczeństwo pasywne Na czym polega problem? 20 / 23
UBI Bezpieczeństwo pasywne Na czym polega problem? 21 / 23
UBI ma bardzo dobra wydajność...... dla dużych pamięci. http://elinux.org/flash_filesystem_benchmarks Jak dodać szyfrowanie do UBI? Funkcje sprzętu. DCP Odpowiednie algorytmy. Bezpieczeństwo pasywne Na czym polega problem? 22 / 23
Dziękuję! Co jest najważniejsze? Bezpieczeństwo nie jest gotowym produktem. Bezpieczeństwo to proces. Co jeszcze? Atak może nastapić z organizacji (internal). Pytania? Bezpieczeństwo pasywne Dziękuję! 23 / 23