O zabezpieczeniach w uC....pdf

(286 KB) Pobierz
Microsoft Word - MCU Lock.doc
http://www.easy-soft.tsnet.pl
Pisząc programy często zadawałem sobie pytanie : na ile bezpieczny jest mój program wewnątrz
mikrokontrolera? Na ile urządzenie, na którego konstrukcję i rozwój poświęciłem na przykład dwa
lata, a którego (w większości przypadków) główną wartością jest program, nie da się skopiować?
Na ile pewne są ustawienia bitów blokujących dostęp do pamięci programu? Jak ma się blokada
dostępu do pamięci typu FLASH w stosunku do odwracalnych przecież jej właściwości?
Pewnego razu zadałem tego rodzaju pytanie na forum programistów, znajdującym się na stronie
http://www.8052.com. Odpowiedzi, które uzyskałem lekko mnie zaskoczyły. Była między nimi na
przykład sugestia, że jeżeli program do urządzenia, które chcę skopiować, wart jest dla mnie milion
dolarów, to pieniądze takie przesłane do firmy X, notabene producenta między innymi
mikrokontrolerów, spowodują, że udostępni mi ona technologię umożliwiającą odczyt pamięci
programu, mimo jej blokady. Na poparcie tej tezy, autor przysłał mi artykuł rosyjskiego
stypendysty pracującego na Uniwersytecie Cambridge w Wielkiej Brytanii - Sergieja Skorobogatov.
Pracuje on w laboratorium komputerowym w grupie pracowników naukowych zajmujących się
zabezpieczeniami komputerów osobistych oraz mikrokontrolerów. Grupa ta bada, na ile skuteczne
są wszelkiego rodzaju zabezpieczenia programów. Badania te wykonywane są najczęściej na
zlecenia firm producentów hardware i software. Jak pisze sam Sergiej o swojej pracy, polega ona
na zrozumieniu, jak dane zabezpieczenie może zostać złamane i udzielenie wskazówek
producentowi, jak powinno ono zostać wzmocnione. Badania te, w związku z rosnącym
zastosowaniem mikrokontrolerów, na przykład w kartach płatniczych, mają ogromne znaczenie.
Wprowadzenie
Większość mikrokontrolerów znajduje zastosowanie w nowoczesnych urządzeniach
elektronicznych. Niektóre z nich używane są przez amatorów do niewielkich konstrukcji
budowanych dla zabawy, inne używane są przez firmy do budowy urządzeń służących do kontroli,
pomiaru itp. Jeszcze inne stosowane są w poważnych aplikacjach przez wojsko, służby
bezpieczeństwa, banki, służby medyczne.
Każdy mikrokontroler wykonuje algorytm lub program umieszczony w jego pamięci.
Zazwyczaj jest on zapisany w języku Asembler. Nawet jeśli pisano program w innym języku i tak
tłumaczony jest na język Asembler podczas kompilacji. Jeśli piszesz programy dla
mikrokontrolerów najczęściej jesteś zainteresowany w zabezpieczeniu wyników swojej pracy przed
nieautoryzowanym dostępem, czy kopiowaniem – chcesz mieć po prostu kontrolę na procesem
dystrybucji. Z taką intencją producenci mikrokontrolerów tworzą specjalne opcje zabezpieczeń,
które jeśli są włączone, pozwalają autorowi oprogramowania na zabezpieczenie wyników swojej
pracy. To jest tak zwana opcja copy lock .
Każdy mikrokontroler powinien być zaprogramowany przed użyciem. Są różne techniki aby
to zrobić, zależne od producenta i typu mikrokontrolera. Dla celów badań i rozwoju, dostępne są
wielokrotnie programowalne wersje mikrokontrolerów. Do produkcji niewielkich ilości urządzeń
przeznaczone są wersje do jednokrotnego zaprogramowania (OTP), które są znacznie tańsze od
tych do wielokrotnego użytku. Dla dużych ilości produkcyjnych przeznaczone są mikrokontrolery
programowane przez producenta w procesie produkcji układu. Tak wytwarzane układy są bardzo
tanie, jednak ze względu na koszt wdrożenia tak zwanej maski, ilości poniżej 1000 sztuk nie są
opłacalne. Wróćmy jednak do najczęściej stosowanych mikrokontrolerów, które wyposażone są
najczęściej w pamięć EPROM, EEPROM lub FLASH.
Po tym jak program został napisany i skompilowany, powinien zostać zapisany w pamięci
programu mikrokontrolera. Do tego przeznaczone są specjalne urządzenia zwane programatorami.
Dla większości mikrokontrolerów, są to proste i tanie urządzenia, zawierające źródło napięcia
zasilania, kilka tranzystorów, czy układów scalonych i nieco innych elementów elektronicznych.
Sterowane są przez interfejs RS232 lub port Centronics. Dla niektórych mikrokontrolerów należy
użyć specjalnego programatora rozprowadzanego wyłącznie przez producenta układu, ale te
mikrokontrolery nie należą do grupy popularnie stosowanych.
Technologie ataku.
Zwiększająca się stale liczba urządzeń elektronicznych z mikrokontrolerami oraz
wzrastająca ich ważność i znaczenie – od płatnej TV, poprzez telefony komórkowe GSM i systemy
zaliczkowych liczników energii elektrycznej i gazu, do portfeli elektronicznych i kart płatniczych –
wpływa na wzrost zainteresowania zabezpieczeniem przed możliwością duplikacji właściwości
mikrokontrolerów w celu ochrony przed możliwością sfałszowania na przykład kart SMARTCARD i
innych służących dokonywaniu rozliczeń finansowych, czy też bezpieczeństwu. Zabezpieczenia te
nie są absolutnie pewne: oponent z dostępem do urządzeń służących do testowania układów
Strona 1 z 13
396199844.002.png
http://www.easy-soft.tsnet.pl
scalonych, może odtworzyć materiały kluczowe poprzez bezpośrednią obserwację struktury i
manipulację elementami mikrokontrolera. Faktem nie do podważenia jest, że przeznaczając na to
odpowiednie środki finansowe, każde urządzenie służące zabezpieczeniu przed nieautoryzowanym
dostępem do danych zawartych w strukturze mikrokontrolera, może zostać spenetrowane i
rozpoznane. Tak więc poziom zabezpieczenia oferowanego przez różnorodne produkty, może zostać
zmierzony ilością potrzebnego czasu i pieniędzy koniecznych na spenetrowanie mechanizmów
uniemożliwiających atak.
Można rozróżnić cztery zasadnicze metody ataku:
- Technika mikrosondowania może być użyta do bezpośredniego dostępu do struktury
układu; w ten sposób można obserwować, manipulować i prowadzić interakcję z układami
znajdującymi się w strukturze układu mikrokontrolera.
- Atak programowy używa normalnego interfejsu do komunikacji z procesorem i
wykorzystuje błędy zabezpieczeń odnalezione w protokole komunikacyjnym, algorytmach
kryptograficznych lub ich zastosowaniach.
- Technika „podsłuchiwania” polega na obserwacji charakterystyk analogowych procesora
z bardzo dużą rozdzielczością czasową, wszystkich połączeń zasilających i sygnałów
interfejsowych oraz promieniowania elektromagnetycznego, podczas normalnej pracy
mikrokontrolera.
- Generowanie stanów awaryjnych to technika używająca różnego rodzaju stanów
zabronionych (na przykład zbyt niskie lub zbyt wysokie napięcie zasilania, bardzo wolne
zmiany zboczy sygnałów zegarowych itp.) do spowodowania błędnej pracy mikrokontrolera
i w ten sposób uzyskanie dostępu do danych.
Wszystkie techniki związane z mikrosondowaniem to techniki inwazyjne. Wymagają godzin
lub tygodni ciężkiej pracy w specjalistycznym laboratorium oraz zniszczenia obudowy struktury
mikrokontrolera. Pozostałe techniki są nieinwazyjne. Atakowana karta, czy mikrokontroler, nie są
fizycznie niszczone a oprzyrządowanie używane w czasie ataku, to czasami zwykły czytnik kart
SMARTCARD, bądź też nieco zmodyfikowany programator.
Atak nieinwazyjny jest bardzo niebezpieczny z dwóch zasadniczych powodów. Po pierwsze,
właściciel na przykład karty płatniczej, może nie zauważyć, że została ona skradziona a jej
zabezpieczenia złamane – od tego momentu w obiegu może się znajdować na przykład jej duplikat.
Po drugie urządzenia potrzebne do tak przeprowadzonego złamania zabezpieczeń, mogą być za
niezbyt wielkie środki finansowe
w łatwy sposób skopiowane przez inne osoby. Mało tego – może zostać rozwinięta ich
funkcjonalność, na skutek czego przeprowadzenie podobnych ataków w przyszłości będzie jeszcze
łatwiejsze i jeszcze szerzej dostępne. Głównym problemem przy takiej metodzie ataku jest
szczegółowa wiedza na temat procesora i oprogramowania. Z drugiej strony, wiedza potrzebna do
przeprowadzenia ataku inwazyjnego nie jest aż tak szczegółowa, wymaga jednak orientacji w
zastosowaniu różnych technik w szerokiej gamie produktów. Atak ten zazwyczaj zaczyna się od
odtworzenia struktury układu oraz schematu połączeń poszczególnych jego komponentów. Często
rezultatem tak przeprowadzonego szczegółowego rozpoznania jest rozwinięcie metod ataku
nieinwazyjnego.
Bezpieczeństwo mikrokontrolera lub karty SMARTCARD powinno być zapewnione w taki
sposób, że tak mała jak to tylko możliwe ilość informacji (na przykład poprzez kompresję danych),
powinna mieć możliwość odtworzenia, gdy konieczne jest jej użycie. Drugim celem jest utrzymanie
tej informacji nietkniętej podczas operacji tak, aby potencjalny włamywacz nie miał możliwości
zmiany sekretnego kodu – klucza operacji do znanej sobie wartości, lub w innym przypadku do
interakcji oraz rozpoznania sekretnego algorytmu szyfrowania / deszyfracji.
W chwili obecnej, większość ataków przeprowadzanych przez włamywaczy komputerowych
chcących uzyskać dostęp do danych zawartych w mikrokontrolerze, czy SMARTCARD, można
zaklasyfikować do dwóch kategorii – inwazyjne i nieinwazyjne.
Atak nieinwazyjny.
Atak nieinwazyjny odbywa się bez naruszenia struktury mikrokontrolera, czy karty SMART.
Przeprowadzany jest najczęściej poprzez rozpoznanie i wszelkiego rodzaju sztuczki związane z
napięciem zasilania oraz sygnałem zegarowym. Ataki w stanach, w które wprowadzany jest
mikrokontroler poniżej lub powyżej napięcia zasilania, mogą zostać użyte, aby wyłączyć obwody
zabezpieczeń lub zmusić procesor do wykonania niewłaściwych operacji. Z tego powodu, niektóre
modele mikrokontrolerów posiadają wbudowane w strukturę układy detekcji poziomu napięcia
zasilania, ale zasadą ich działania jest brak reakcji na bardzo szybkie zmiany. Stąd też szybko
zmieniające się i w różny sposób napięcie zasilania, jest w stanie doprowadzić do stanu wyłączenia
obwodów zabezpieczeń, bez uszkodzenia chronionej informacji.
Strona 2 z 13
396199844.003.png
http://www.easy-soft.tsnet.pl
Zmiany napięcia zasilania i sygnału zegarowego mogą być również użyte w niektórych
mikrokontrolerach do spowodowania przyjęcia i wykonania niektórych instrukcji. Każdy bowiem
tranzystor i jego połączenie pracują tak, jak element RC z określoną charakterystyką; maksymalna
częstotliwość zegara procesora określana jest właśnie przez opóźnienie sygnału pomiędzy jego
elementami. Podobnie, każdy z elementów takich jak przerzutniki, ma swoje charakterystyczne
„okienko sygnałowe” (zazwyczaj kilka piko sekund), w czasie którego próbkuje on napięcie
wejściowe i odpowiednio zmienia stan swoich wyjść. To „okienko” może być gdziekolwiek wewnątrz
specyficznego cyklu dla danego przerzutnika ale jest stałe dla określonego urządzenia w określonej
temperaturze i przy określonym napięciu zasilania. Tak więc, jeśli zastosujemy sygnał zegarowy
krótszy niż normalnie, albo też napięcie zasilania zmieni się w sposób bardzo gwałtowny, to
spowoduje zadziałanie tylko niektórych tranzystorów wewnątrz struktury układu mikrokontrolera.
Poprzez różnicowanie parametrów napięcia zasilania i sygnału zegarowego, można doprowadzić do
sytuacji gdy procesor wykona szereg kompletnie różnych i błędnych instrukcji, czasami również
takich, które nie są dozwolone i obsługiwane w danej strukturze CPU. Jakkolwiek nie wiemy, która
zmiana i w jaki sposób podziała na mikrokontroler, jest całkiem łatwo przeprowadzić
systematyczne poszukiwania właściwej sekwencji sygnałów.
Inną możliwość daje analiza poboru mocy przez urządzenie. Używając rezystora o wartości
10..15 Ohm włączonego szeregowo z napięciem zasilania, można zmierzyć za pomocą przetwornika
A/D zmiany prądu pobieranego przez zasilany procesor. Wzmacniacze prądu sygnałów adresowych
i szyny danych często budowane są z szeregu połączonych ze sobą równolegle inwertorów dla
każdego bitu danych, czy adresów. Każda zmiana stanu takiego bitu pociąga za sobą znaczny
pobór prądu zasilania. Zmiana pojedynczego bitu z „0” na „1” i odwrotnie, często pociąga za sobą
wzrost poboru prądu zasilającego o około 0,5 do 1mA przy zmianie zbocza sygnału zegarowego.
Tak więc stosując przetwornik A/D o rozdzielczości 12 bitów, można stwierdzić jaka liczba linii
adresowych, czy też danych, zmieniła swój stan w danym momencie czasu. Zapis pamięci SRAM
zawsze generuje bardzo mocny wzrost pobieranego prądu. Poprzez uśrednienie prądu mierzonego
dla wielu identycznych transakcji, można zidentyfikować małe sygnały, które nie są przesyłane
poprzez szynę danych. Sygnały generowane przez operacje takie, jak ustawienie bitu przeniesienia,
są szczególnie interesujące, ponieważ są one używane przez wiele algorytmów kryptograficznych.
Jakkolwiek zmiany bitów statusu nie mogą być bezpośrednio zmierzone, często powodują one
zmiany licznika rozkazów lub wykonanie instrukcji tak zwanego mikrokodu, które z kolei pociągają
za sobą bardzo wyraźne i łatwe do zauważenia zmiany poboru prądu.
Różne instrukcje powodują również różną aktywność dekodera instrukcji i jednostki
arytmetyczno – logicznej. Można w ten sposób łatwo zidentyfikować część kodu programu i
zrekonstruować algorytm. Podobnie różne elementy procesora powodują charakterystyczne dla
siebie zmiany przepływu prądu zasilającego w różnym czasie, odpowiednio do sygnału zegarowego
i ich stan może zostać rozpoznany poprzez próbkowanie sygnału zasilającego z odpowiednio
wysoką częstotliwością.
Inną możliwość włamania tworzy właściwość pamięci RAM - tak zwane utrzymywanie
danych (komórki pamięci RAM to rodzaj mikroskopijnej wielkości kondensatorów) przez pewien
okres czasu, po wyłączeniu napięcia zasilania. Statyczna pamięć RAM potrafi wręcz przechowywać
swój stan do momentu następnego załączenia napięcia zasilającego. Możliwe jest również
odtworzenia stanu statycznej pamięci RAM, przez poddanie jej działaniu bardzo niskiej temperatury
(około –20 stopni C) na czas od kilku minut do kilku godzin.
Atak inwazyjny,
Na przekór złożoności ataku inwazyjnego, niektóre z jego rodzajów mogą zostać
przeprowadzone bez drogiego osprzętu laboratoryjnego. Włamywacze dysponujący małym
budżetem, mogą korzystać z używanego sprzętu sprzedawanego przez producentów układów
scalonych stosowanego do ich testowania. Dysponując odpowiednią wiedzą oraz uzbrajając się w
cierpliwość, nie jest zbyt trudno zdobyć odpowiednie narzędzia za cenę poniżej 10 tysięcy dolarów,
kupując używany mikroskop i konstruując własny mikropozycjoner. Laser nie jest niezbędny do
pierwszych prób, ponieważ otwory w strukturze chipu mogą być również wykonywane poprzez
wibracje igły mikropozycjonera.
Atak inwazyjny zaczyna się najczęściej od zdjęcia obudowy struktury. Plastykowa część
obudowy może zostać zdjęta przy pomocy na przykład noża. Izolację epoksydową umieszczoną
wokół struktury, można usunąć za pomocą kwasu azotowego. Opary podgrzanego kwasu
azotowego mają też właściwość rozpuszczania plastykowej obudowy. Można się więc jej pozbyć bez
uszkodzenia struktury układu. Cały proces należy przeprowadzić w bardzo czystych warunkach z
zachowaniem szczególnej ostrożności, najlepiej pod strumieniem bieżącej wody, ponieważ opary
mogą spowodować również uszkodzenie aluminiowych doprowadzeń układu. Chip powinien być
później umyty w płuczce ultradźwiękowej przy pomocy acetonu. Mycie to można poprzedzić krótką
Strona 3 z 13
396199844.004.png
http://www.easy-soft.tsnet.pl
kąpielą w wodzie dejonizującej oraz isopropanolu. Po tym struktura może być przyklejona i
podłączona ręcznie do wyprowadzeń pakietu testowego. Do przeprowadzenie całości procesu w
sposób właściwy, konieczne jest nabranie wystarczającej wprawy. Metoda ta umożliwia usunięcie
izolacji epoksydowej bez uszkodzenia połączeń struktury i jej zewnętrznych wyprowadzeń.
W momencie, gdy chip jest otwarty, możliwe jest przeprowadzenie sondowania lub atak
poprzez modyfikację struktury układu. Bardzo ważnym narzędziem do przeprowadzenia ataku
inwazyjnego, jest tak zwana stacja do mikrosondowania. Jest to po prostu zespół mikrosond, które
można podłączać do struktury układu. Jednym z jej głównych elementów jest mikroskop
umożliwiający pracę z odległości około 8 mm pomiędzy obiektywem i powierzchnią struktury
układu. Na stabilnej platformie dookoła złącza pakietu testowego, instaluje się kilka
mikropozycjonerów, które umożliwiają przesuwanie ramienia sondy z bardzo wysoką precyzją nad
powierzchnią struktury układu. Na tym ramieniu, instaluje się igłę sondy. Wykonana jest ona z
elastycznego metalu tak, że umożliwia kontakt z elementami struktury chipu bez ich uszkodzenia.
Oczywiście przed podłączeniem takiej sondy należy usunąć warstwę pasywacyjną. Jest to górna
warstwa przykrywająca aluminiowe doprowadzenia do struktury układu (zazwyczaj jest to tlenek
krzemu). Zabezpiecza ona strukturę układu przed wpływem środowiska oraz migracją jonów.
Czasami dodatkowo jest ona pokryta warstwą poliamidów, której nie usuwa kwas azotowy ale
może ona zostać rozpuszczona przez ethylodiamine. Inną metodą pozbycia się warstwy
pasywacyjnej jest jej usunięcie przy pomocy noża laserowego.
Ultrafioletowy lub zielony laser, mocowany jest na uchwycie kamery mikroskopu. Jego
światło pada na niewielki, prostokątny obszar z bardzo dużą precyzją. Ostrożne dozowanie błysków
lasera wypala warstwę pasywacyjną. Dodatkową zaletą tej metody jest możliwość odsłonięcia
niewielkiego obszaru i odkrycie w ten sposób pojedynczej linii danych, tranzystora. Zabezpiecza to
resztę struktury przed przypadkowymi zwarciami do sąsiednich linii a dodatkowo wykonany otwór
stabilizuje pozycję sondy i czyni kontakt mniej wrażliwy na wibracje i zmiany temperatury. W
ostateczności warstwę pasywacyjną można usunąć miejscowo poprzez zarysowanie, wiercenie lub
nacięcie. Pamiętajmy jednak, że wszystko odbywa się w mikroskali! Jednak dopiero usunięcie
warstwy pasywacyjnej gwarantuje, że sonda będzie miała właściwy kontakt ze strukturą układu.
Oczywiście nie jest praktykowane odtwarzanie wartości klucza kryptograficznego, poprzez
kontakt sondy do poszczególnych komórek pamięci i odczyty stanów bitu. Zapamiętywane dane
mogą zostać odczytane poprzez szynę danych pamięci w miejscu, gdzie wszystkie dane są
dostępne w pojedynczej lokalizacji. Mikrosondowanie jest używane do obserwowania szyn
rejestracji ich stanów. Jest jednak bardzo trudno obserwować szyny danych i adresową w całości.
Wymaga to wykonania zazwyczaj ponad 20 połączeń do maleńkiej struktury układu, co nie jest
rzeczą prostą. I tu stosowane są różne techniki obserwacji. Można na przykład wielokrotnie
wykonać tę samą transakcję obserwując różne kombinacje bitów na szynie danych i adresowej,
wykorzystując na przykład cztery sondy. Tak długo, jak procesor wykonuje tę samą sekwencję
dostępu do danych w pamięci, mamy możliwość połączenia obserwowanych przebiegów w
kompletny diagram zależności czasowych oraz informacji pojawiających się na szynach. Powtórne
próbkowanie bitów w różnych kombinacjach nagrań, pomaga nam w synchronizacji przebiegów
zanim zostaną one połączone.
W przypadku gdy chcemy odczytać wszystkie komórki pamięci bez uruchamiania
oprogramowania mikrokontrolera, musimy uzyskać dostęp do komponentów procesora takich, jak
licznik programu. Licznik rozkazów jest automatycznie zwiększany podczas każdego cyklu
rozkazowego i używany do odczytu następnego adresu, co czyni go doskonale nadającym się do
wykorzystania jako generator sekwencyjny adresów. Musimy tylko zabezpieczyć procesor przed
wykonywaniem skoków, wywołań podprogramów oraz instrukcji powrotów, które przeszkadzają w
sekwencyjnej pracy licznika programu. Niewielkie modyfikacje dekodera instrukcji lub obwodów
licznika programu, które mogą być łatwo wykonane przez otwarcie właściwego połączenia przy
pomocy lasera, zawsze przynoszą pożądany efekt.
Inną metodą zrozumienia jak danych chip pracuje, jest tak zwany reverse engineering , to
znaczy odtworzenie schematu struktury układu na podstawie jego analizy. Pierwszym krokiem w
takim przypadku jest stworzenie mapy elementów procesora. Może to być zrobione przy użyciu
mikroskopu optycznego z podłączoną kamerą CCD umożliwiającą wykonywanie zdjęć struktury
procesora z dużą rozdzielczością. Proste elementy architektury, takie jak linie adresowe czy
danych, mogą być rozpoznane całkiem szybko bez studiowania mozaiki połączeń, przy pomocy
śledzenia przebiegu metalowych linii, które zakreślają bardzo widocznie komponenty struktury
układu (ROM, RAM, EEPROM, ALU, dekoder instrukcji itd.) Wszystkie współpracujące ze sobą
moduły są zazwyczaj podłączone to głównych szyn przy pomocy łatwo rozpoznawalnych
przerzutników typu latch oraz wzmacniaczy prądowych. Włamywacz musi dobrze znać technologię
opracowywania układów CMOS o wielkiej skali integracji i architektury mikrokontrolerów, ale
potrzebna do tego celu wiedza znajduje się w praktycznie każdej bibliotece uniwersyteckiej czy
księgarni technicznej.
Strona 4 z 13
396199844.005.png
http://www.easy-soft.tsnet.pl
Fotografie powierzchni struktury ukazują górną warstwę metalu, która nie jest
przeźroczysta i dlatego też zasłania widok wielu struktur znajdujących się pod nią. Strukturę układu
można co prawda rozpoznać po jej wysokości, jednak nie jest to metoda zbyt dokładna. Głębsze
warstwy mogą być rozpoznane tylko w drugiej serii fotografii, po zdjęciu górnej warstwy metalu, co
może być wykonane na przykład przez jej wytrawienie - zanurzenie na kilka sekund w kwasie
hydrofluorowym (HF) w płuczce ultradźwiękowej. HF bardzo szybko rozpuszcza tlenek krzemu
dookoła metalowych połączeń i odłącza je od powierzchni układu. Uwaga: HF jest ekstremalnie
niebezpieczną substancją!
Jeśli znamy dobrze sposób implementacji, jest wiele dróg do pobrania informacji z
procesora poprzez załączenie określonych bramek, czy bezpieczników albo poprzez nadpisywanie
określonych obszarów pamięci.
Większość z aktualnie dostępnych mikrokontrolerów i procesorów SMARTCARD, ma rozmiar
pojedynczego elementu na poziomie 0,5 do 1µm i tylko dwie warstwy. Mogą one być rozpoznane
przy pomocy mikroskopu i poprzednio opisywanych technik. Dla przyszłych układów scalonych, z
większą liczbą warstw metalowych i elementami o rozmiarach mniejszych niż długość fali światła
widzialnego, będą musiały być użyte znacznie droższe narzędzia.
Większość wyrafinowanych narzędzi używanych na przykład w laboratoriach fizyki, takich
jak stacje FIB, mogą zostać użyte do wykonania nowych linii połączeń a nawet nowych
tranzystorów w strukturze układu! Stacja FIB zawiera komorę próżniową z rodzajem wyrzutni,
porównywalnej z używaną w mikroskopie elektronowym. Jony są przyspieszane i skupiane od
katody z płynnego metalu napięciem około 30kV w wiązkę o średnicy 5..10nm i prądzie strumienia
od 1pA do 10nA. Poprzez zwiększanie prądu strumienia jonów, materiał chipu może zostać usunięty
z rozdzielczością 5nm. Lepszą rozdzielczość można uzyskać w otoczeniu gazu. Stosując gaz można
wykonywać otwory około 12 razy głębsze niż szersze i w ten sposób uzyskiwać dostęp do
znajdujących się pod spodem warstw metalu. Stosując gaz tak zwany organometaliczny z
zawartością platyny, można tworzyć nowe pola kontaktowe, natomiast stosując inne dodatki można
powstały w ten sposób kontakt, zabezpieczyć przed zwarciem z otaczającymi go warstwami.
Wprawny operator FIB, posługując się dodatkowo przyrządami laserowymi, może nawigować po
powierzchni struktury z rozdzielczością nawet 0,15µm. Jest to dużo poniżej rozmiaru pojedynczego
elementu struktury. Można również zdjąć warstwę podłoża struktury poprzez jej zeszlifowanie.
Wówczas staje się możliwe nawet lokalizowanie pojedynczych tranzystorów i wykonywanie
pomiędzy nimi połączeń. Ta „odtylna” technika nie jest prawdopodobnie jeszcze stosowana już
przez potencjanych włamywaczy, ale technologia i urządzenia stają się coraz bardziej dostępne i
kto wie, co przyniesie przyszłość. W obecnym momencie większość zastosowań stacji FIB zmierza
do wykonywania dostępu do interesujących połączeń. Otwór wykonywany jest do danej ścieżki
sygnałowej, następnie wypełniany platyną tak, aby wyprowadzić sygnał na powierzchnię struktury,
gdzie łatwy już jest dostęp do niego przy pomocy sondy.
Nowoczesne stacje FIB kosztują nieco mniej niż pół miliona dolarów i są dostępne nieco
więcej niż setce organizacji. Mogą one być wynajęte od niektórych z nich za cenę kilkuset dolarów
za godzinę pracy urządzenia.
Wszystkie ataki inwazyjne są skomplikowane. Wymagają wielu godzin pracy,
specjalistycznego laboratorium i nie mogą się odbyć bez wiedzy właściciela badanego urządzenia –
niszczą bowiem jego obudowę oraz czasami strukturę. Dodatkowo wymagają wysoko
kwalifikowanych specjalistów oraz dużych nakładów finansowych. Oczywiście nie czyni to ich
niemożliwymi do przeprowadzenia...
Atak semi-inwazyjny.
Istnieje jeszcze trzeci, możliwy do przeprowadzenia atak nazywany włamaniem semi-
inwazyjnym. Na czym ono polega? Tak, jak atak inwazyjny potrzebuje zdjęcia obudowy struktury
mikrokontrolera, ponieważ konieczny jest dostęp do struktury układu. Warstwa pasywacyjna
struktury pozostawiania jest nietkniętą, ponieważ metoda semi-inwazyjna nie wymaga depasywacji
lub tworzenia kontaktów do wewnętrznych linii połączeniowych. Tak dzieje się dlatego, że do
przeprowadzenia tego rodzaju ataku nie są konieczne mikrosondy. Atak semi-inwazyjny może być
przeprowadzony za pomocą narzędzi takich jak światło UV, promieniowanie X i innych źródeł
promieniowania jonizującego, laserów i pól elektromagnetycznych. Mogą one być używane
indywidualnie lub w połączeniu, współpracując ze sobą i wzmacniając efekt.
W porównaniu do włamania nieinwazyjnego, atak semi-inwazyjny jest trudniejszy do
przeprowadzenia, ponieważ wymaga zdjęcia obudowy układu. Nie jest jednak wymagany tak drogi
osprzęt, jak do przeprowadzenia metody inwazyjnej. Dodatkowym atutem jest to, że może on być
przeprowadzony w odpowiednio krótkim czasie.
Strona 5 z 13
396199844.001.png
Zgłoś jeśli naruszono regulamin