Hardwarová ochrana informačních systémů

Hardwarová ochrana informačních systémů  - prostředky ochrany informačních a informačních systémů realizované na hardwarové úrovni. Tyto nástroje jsou nezbytnou součástí bezpečnosti informačního systému , i když hardwaroví vývojáři obvykle nechávají řešení problémů informační bezpečnosti na programátorech.

Tento problém přitáhl pozornost mnoha firem, včetně Intelu . V 80. letech byl vyvinut systém 432. Ale projekt selhal. Možná právě po neúspěchu „velkého“ ostatní firmy od této myšlenky upustily.

Úlohu hardwarové ochrany výpočtů vyřešili sovětští vývojáři vytvořením výpočetního komplexu Elbrus 1 . Je založen na myšlence typového řízení na všech úrovních systému, včetně hardwaru. A hlavní zásluha vývojářů v jeho systematické implementaci.

Obecný model bezpečného systému

Vývojáři Elbrusu navrhli následující model bezpečného informačního systému [1] .

Obecně lze informační systém reprezentovat jako informační prostor a jemu sloužící zpracovatelské zařízení. Výpočty jsou rozděleny do samostatných výpočetních modulů umístěných v informačním prostoru. Schéma implementace výpočtů lze znázornit následovně: do tohoto prostoru může přistupovat zpracovatelské zařízení pod vedením programu, číst jej a upravovat.

Abychom popsali systém, zavedeme pojmy

Uzel  je datová buňka libovolné velikosti spolu s odkazem na ni ze zpracovatelského zařízení.

Odkaz nejen popisuje data, ale obsahuje i všechna přístupová práva k nim. Systém musí zajistit, aby operace využívající odkazy nepoužívaly data jiných typů a aby operace s argumenty jiných typů nemohly odkaz upravit.

Kontext programu  je soubor všech dat dostupných pro výpočty v konkrétním modulu.

Základní funkcionalita modelu zabezpečeného informačního systému

Vytvoření uzlu libovolné velikosti pro ukládání dat

Po spawnování by měl být nový uzel

Odstranění uzlu .

Změna kontextu nebo změna procedury prováděné zpracovatelským zařízením.

Nový kontext se skládá ze tří částí:

Obecné metody a požadavky na přepínání kontextu:

Implementace se mohou lišit (včetně těch bez zvláštních odkazů), ale je třeba dodržovat základní principy:

Analýza modelu

  1. Zabezpečení systému je založeno na následujících principech:
    • Přístup k uzlu má pouze modul, který jej vytvořil, pokud dobrovolně nepředá odkaz někomu jinému
    • soubor dat dostupných modulu v daném okamžiku je přísně kontrolován kontextem
  2. Výsledná ochrana je extrémně přísná, ale neomezuje možnosti programátora. Různé nepřekrývající se moduly mohou pracovat ve stejném programu, navzájem se volat a vyměňovat si data. K tomu stačí, aby každý z nich obsahoval speciální odkaz pro přepnutí kontextu na jiný.
  3. Vybudovaný systém značně zjednodušuje vyhledávání a opravy chyb díky přísné kontrole typu. Například pokus o okamžitou změnu propojení bude mít za následek hardwarové přerušení v místě chyby. Poté jej lze snadno sledovat a opravit.
  4. Poskytuje modulární programování. Nesprávná obsluha programu nijak neovlivní ostatní. "Poškozený" modul může přinést pouze nesprávné výsledky.
  5. K používání systému není od programátora vyžadováno žádné další úsilí. Navíc při psaní programu pro takový model není třeba dodatečně specifikovat přístupová práva, způsoby jejich přenosu atd.

Architektura Elbrus

V architektuře Elbrus je pro rozlišení mezi datovými typy jeho tag uložen v paměti spolu s každým slovem . Pomocí tagu můžete určit, zda je dané slovo odkazem nebo patří k nějakému speciálnímu datovému typu.

Odkazy a práce s nimi

Odkaz obsahuje popis oblasti (handle), na kterou odkazuje, a přístupová práva. Deskriptor musí obsahovat základní adresu a velikost dat.

Jsou možné následující formáty deskriptorů:

Deskriptor objektu slouží k podpoře objektově orientovaného programování a navíc obsahuje popis soukromých a veřejných oblastí. Přístup do veřejné oblasti je standardní (doplnění základní adresy a indexu spolu s následnou kontrolou velikosti. Pokud je v příkazech pro přístup do paměti znak soukromých dat, pak se pro vyřešení přístupu kontroluje speciální registr v procesoru, který ukládá typ objektu při běžících programech tohoto typu, takže soukromá data objektů tohoto typu jsou dostupná uvnitř programu.

Při přístupu do paměťové buňky se kontroluje správnost odkazu.

Důležité operace pro práci s odkazy:

Kontexty a metody práce s nimi

Kontext modulu se skládá z dat uložených v paměti RAM a v souborech a slouží jako odkaz na registry procesoru.

Kontextový přepínač je v podstatě volání nebo návrat z procedury. Při spuštění procedury se zachová úplný kontext původního modulu a vytvoří se nový. Při ukončení procedury je její kontext zničen.

Secure Stack Implementace

Při implementaci procedurálního mechanismu v Elbrusu se ke zvýšení efektivity alokace paměti pro lokální data používá zásobníkový mechanismus .

Data zásobníku jsou rozdělena do tří skupin podle funkčních charakteristik a úrovně přístupnosti pro uživatele:

Zásobník procedur je určen pro data umístěná v provozních registrech. Každá procedura funguje pouze ve svém vlastním okně, které se může překrývat s předchozím oknem o oblast parametru (je to také oblast návratové hodnoty). Vyžádání dat (pro uživatele) je možné pouze v aktuálním okně, které je vždy umístěno na provozních registrech.

Uživatelský zásobník je pro data, která chce uživatel umístit do paměti.

Zásobník informací o vazbě je navržen tak, aby obsahoval informace o předchozí (volací) proceduře a o proceduře použité při návratu. Při zabezpečeném programování by uživatel neměl mít možnost tyto informace změnit, proto je pro ně přidělen speciální zásobník, přístupný pouze operačnímu systému a hardwaru. Zásobník vazebních informací je uspořádán stejným způsobem jako zásobník procedur.

Vzhledem k tomu, že virtuální paměť je opakovaně používána v zásobníku, ochrana dat se stává problémem. Má to dva aspekty:

První problém je vyřešen automatickým čištěním znovu použité paměti. Princip řešení druhého problému je následující. Ukazatele na aktuální rámec procedury mohou být uloženy pouze v aktuálním rámci nebo předány jako parametr volané proceduře (předány do zásobníku). Ukazatel tedy nemůže být zapsán do globálních dat, ani předán jako návratová hodnota, ani zapsán do hloubky zásobníku.

Poznámky

  1. Bezpečné spouštění programů založené na hardwarové a systémové podpoře architektury Elbrus . Datum přístupu: 19. prosince 2010. Archivováno z originálu 15. října 2006.

Odkazy