Hårdvaruskydd av informationssystem

Hårdvaruskydd av informationssystem  - medel för skydd av information och informationssystem implementerade på hårdvarunivå. Dessa verktyg är en nödvändig del av informationssystemsäkerhet , även om hårdvaruutvecklare vanligtvis överlåter lösningen av informationssäkerhetsproblem till programmerare.

Detta problem har uppmärksammats av många företag, inklusive som Intel . På 80-talet utvecklades systemet 432. Men projektet misslyckades. Kanske var det efter misslyckandet med den "stora" som andra företag övergav denna idé.

Uppgiften med hårdvaruskydd av beräkningar löstes av sovjetiska utvecklare genom att skapa datorkomplexet Elbrus 1 . Den är baserad på idén om typkontroll på alla nivåer i systemet, inklusive hårdvaran. Och utvecklarnas främsta förtjänst i dess systematiska genomförande.

Allmän modell för ett säkert system

Utvecklarna av Elbrus föreslog följande modell av ett säkert informationssystem [1] .

I allmänhet kan ett informationssystem representeras som ett informationsutrymme och en bearbetningsanordning som betjänar det. Beräkningar är uppdelade i separata beräkningsmoduler placerade i informationsutrymmet. Schemat för att implementera beräkningar kan representeras enligt följande: en bearbetningsenhet under ledning av ett program kan komma åt detta utrymme, läsa och redigera det.

För att beskriva systemet introducerar vi begreppen

En nod  är en datacell av godtycklig storlek, tillsammans med en länk till den från bearbetningsenheten.

Länken beskriver inte bara data, utan innehåller också alla åtkomsträttigheter till den. Systemet måste säkerställa att operationer som använder referenser inte använder data av andra typer och att operationer med argument av andra typer inte kan ändra referensen.

Kontexten för programmet  är uppsättningen av all data tillgänglig för beräkningar i en viss modul.

Grundläggande funktionalitet för modellen för säkra informationssystem

Skapa en nod av godtycklig storlek för datalagring

Efter lek ska den nya noden vara

Ta bort en nod .

Ändring av sammanhang eller ändring av procedur som exekveras av bearbetningsenheten.

Det nya sammanhanget består av tre delar:

Allmänna metoder och krav för kontextbyte:

Implementeringarna kan vara olika (inklusive de utan särskilda referenser), men de grundläggande principerna måste följas:

Modellanalys

  1. Systemsäkerhet bygger på följande principer:
    • Endast modulen som skapade den har tillgång till noden, såvida den inte frivilligt skickar länken till någon annan
    • uppsättningen av data som är tillgänglig för en modul vid varje given tidpunkt är strikt kontrollerad av sammanhanget
  2. Det resulterande skyddet är extremt strikt, men det begränsar inte programmerarens möjligheter. Olika icke-överlappande moduler kan fungera i samma program, anropa varandra och utbyta data. För att göra detta räcker det att var och en av dem innehåller en speciell länk för att byta kontext till en annan.
  3. Det byggda systemet förenklar sökningen och korrigeringen av fel på grund av strikt typkontroll. Om du till exempel försöker ändra länken omedelbart kommer det att resultera i ett maskinvaruavbrott vid platsen för felet. Efter det kan det enkelt spåras och korrigeras.
  4. Ger modulär programmering. Felaktig användning av programmet kommer inte att påverka andra på något sätt. En "skadad" modul kan bara ge felaktiga resultat.
  5. Ingen ytterligare ansträngning krävs från programmeraren för att använda systemet. Dessutom, när du skriver ett program för en sådan modell, finns det inget behov av att ytterligare specificera åtkomsträttigheter, sätt att överföra dem, etc.

Elbrus arkitektur

I Elbrus-arkitekturen , för att skilja mellan datatyper, lagras dess tagg i minnet tillsammans med varje ord . Med taggen kan du avgöra om det givna ordet är en länk eller tillhör någon speciell datatyp.

Länkar och arbeta med dem

Länken innehåller en beskrivning av området (handtaget) som den hänvisar till och åtkomsträttigheter. Beskrivningen måste innehålla basadressen och datastorleken.

Följande deskriptorformat är möjliga:

Objektbeskrivningen används för att stödja objektorienterad programmering och innehåller dessutom en beskrivning av de privata och offentliga områdena. Tillgång till det allmänna området är standard (tillägg av basadress och index tillsammans med efterföljande storlekskontroll. Om det finns tecken på privata data i minnesåtkomstkommandona kontrolleras ett speciellt register i processorn för att lösa åtkomsten, vilket lagrar typen av objekt när bearbetningsprogram av denna typ körs.Privat data för objekt av denna typ blir alltså tillgänglig inuti programmet.

Vid åtkomst till en minnescell kontrolleras länkens korrekthet.

Viktiga åtgärder för att arbeta med länkar:

Sammanhang och metoder för att arbeta med dem

Modulkontexten består av data lagrad i RAM och i filer, och tjänar som en referens till processorregister.

En kontextväxling är i huvudsak ett anrop till eller retur från en procedur. När proceduren körs bevaras hela sammanhanget för den ursprungliga modulen och en ny skapas. När en procedur avslutas förstörs dess sammanhang.

Säker stackimplementering

När den processuella mekanismen implementeras i Elbrus, används stackmekanismen för att öka effektiviteten av minnesallokering för lokal data .

Stackdata delas in i tre grupper efter dess funktionella egenskaper och tillgänglighetsnivå för användaren:

Stapeln med procedurer är avsedd för data som placeras i verksamhetsregister. Varje procedur fungerar bara i sitt eget fönster, som kan överlappa det föregående fönstret av parameterområdet (det är också returvärdesområdet). Att begära data (för användaren) är endast möjligt i det aktuella fönstret, som alltid finns i driftregistren.

Användarstacken är för data som användaren vill placera i minnet.

Den bindande informationsstacken är utformad för att innehålla information om den tidigare (anrops)proceduren och den som användes vid retur. Med säker programmering bör användaren inte kunna ändra denna information, så en speciell stack tilldelas för den, endast tillgänglig för operativsystemet och hårdvaran. Stapeln med bindande information är ordnad på samma sätt som stapeln av procedurer.

Eftersom virtuellt minne återanvänds i stacken blir dataskyddet ett problem. Den har två aspekter:

Det första problemet löses genom automatisk rengöring av återanvänt minne. Principen för att lösa det andra problemet är som följer. Pekare till den aktuella ramen för en procedur kan endast lagras i den aktuella ramen, eller skickas som en parameter till den anropade proceduren (passade upp i stacken). Följaktligen kan pekaren inte skrivas till den globala datan, inte heller skickas som ett returvärde eller skrivas till stackens djup.

Anteckningar

  1. Säkert exekvering av program baserade på hårdvara och systemstöd för Elbrus-arkitekturen . Tillträdesdatum: 19 december 2010. Arkiverad från originalet den 15 oktober 2006.

Länkar