I principii del disegno di calcolo sicuro


  Share  
|

I principii del disegno sicuro discussi in questa sezione esprimono comune-percepiscono le applicazioni di semplicità e della limitazione in termini di computare.

Principio di meno privilegio

Questo principio limita come i privilegi sono assegnati.

Il principio di meno privilegio dichiara che un oggetto dovrebbe essere dato soltanto quei privilegi di che ha bisogno per completare la relativa operazione.

Se un oggetto non ha bisogno di un diritto di accesso, l'oggetto non dovrebbe avere quello a destra. Ancora, la funzione dell'oggetto (in contrasto con la relativa identità) dovrebbe controllare l'assegnazione dei diritti. Se un'azione specifica richiede che i diritti di accesso dell'oggetto sono aumentati, quei diritti supplementari dovrebbero essere ceduti immediatamente su completamento dell'azione. Ciò è l'analogo "della necessità di conoscere" la regola: se l'oggetto non ha bisogno dell'accesso ad un oggetto di effettuare la relativa operazione, non dovrebbe avere la destra accedere a quell'oggetto. Più precisamente, se un oggetto deve collegare ad un oggetto, ma non alterare le informazioni già contenute nell'oggetto, dovrebbe essere data collega i diritti e non scrivere i diritti.

In pratica, la maggior parte dei sistemi non hanno il granularity dei privilegi e dei permessi richiesti per applicare precisamente questo principio. I progettisti dei meccanismi di sicurezza allora applicano questo principio come possono il più bene. In tali sistemi, le conseguenze dei problemi di sicurezza sono spesso più severe delle conseguenze per i sistemi che si aderiscono a questo principio.

ESEMPIO: Il sistema operativo di UNIX non applica i comandi di accesso alla radice dell'utente. Che l'utente può terminare tutto il processo e leggere, scrive, o cancella qualunque lima. Quindi, gli utenti che generano i sostegni possono anche cancellare le lime. Il cliente del coordinatore su Windows ha le stesse alimentazioni.


Questo principio richiede che i processi dovrebbero essere limitati come a piccolo un dominio di protezione come possibili.

ESEMPIO: Un mail server accetta la posta dal Internet e copia i messaggi in un indice di bobina; un assistente locale completerà la consegna. Il mail server ha bisogno dei diritti di accedere all'orificio adatto della rete, di generargli le lime l'indice di bobina e di alterare quelle lime (in modo da può copiare il messaggio nella lima, riscrivono l'indirizzo di consegna se avuto bisogno di ed aggiungono le linee "ricevute") adatte. Dovrebbe cedere la destra accedere alla lima non appena ha rifinito scrivere la lima nell'indice di bobina, perché non deve accedere ancora a quella lima. L'assistente non dovrebbe potere accedere alle lime di alcun utente, o tutte le lime tranne la relativa propria configurazione archivia.


Principio dei difetti di sicurezza

Questo principio limita come i privilegi sono inizializzati quando un oggetto o un oggetto è generato.

Il principio dei difetti di sicurezza dichiara che, a meno che un oggetto sia dato l'accesso esplicito ad un oggetto, dovrebbe essere negato l'accesso a quell'oggetto.

Questo principio richiede che l'accesso di difetto ad un oggetto è nessuno. Ogni volta che l'accesso, i privilegi, o un certo attributo sicurezza-relativo non è assegnato esplicitamente, dovrebbe essere negato. Inoltre, se l'oggetto non può completare la relativa azione o operazione, dovrebbe undo quei cambiamenti che ha fatto nella sicurezza dichiara del sistema prima che termini. Questo senso, anche se il programma viene a mancare, il sistema è ancora sicuro.

ESEMPIO: Se il mail server non può generare una lima nell'indice di bobina, dovrebbe chiudere il collegamento di rete, pubblica un messaggio di errore e si arresta. Non dovrebbe provare ad immagazzinare il messaggio altrove o ad espandere i relativi privilegi di conservare il messaggio in un'altra posizione, perché un attacker potrebbe usare che capacità di scrivere sopra altre lime o di riempire in su altri disc (una smentita dell'attacco di servizio). Le protezioni sull'indice di bobina della posta in se dovrebbero concedere generano e scrivono l'accesso soltanto al mail server e leggono e cancellano l'accesso soltanto all'assistente locale. Nessun altro utente dovrebbe avere accesso all'indice.

In pratica, la maggior parte dei sistemi permetteranno un accesso del coordinatore all'indice di bobina della posta. Dal principio di meno privilegio, quel coordinatore dovrebbe potere accedere soltanto agli oggetti ed agli oggetti coinvolgere fare la coda e nella consegna della posta. Come abbiamo visto, questo vincolo minimizza le minacce se cliente di quel coordinatore si compromette. Il sistema della posta può essere danneggiato o distrutto, ma niente altrimenti può essere.


Principio di economia del meccanismo

Questo principio facilita il disegno e l'esecuzione dei meccanismi di sicurezza.

Il principio di economia del meccanismo dichiara che i meccanismi di sicurezza dovrebbero essere semplici come possibile.

Se un disegno e un'esecuzione sono semplici, poche possibilità esistono per gli errori. Il processo di controllo e difficile è meno complesso, perché pochi componenti e casi devono essere esaminati. I meccanismi complessi fanno spesso i presupposti circa il sistema e l'ambiente in cui funzionano. Se questi presupposti sono errati, i problemi di sicurezza possono risultare.

ESEMPIO: Il protocollo dell'identificazione trasmette il nome dell'utente connesso con un processo che ha un collegamento di TCP ad un elaboratore remoto. Un meccanismo sull'ospite A che permette l'accesso basato sui risultati di un risultato di protocollo dell'identificazione fa il presupposto che l'ospite iniziare è in maniera fidata. Se l'ospite B decide attacare l'ospite A, può collegare ed allora trasmettere tutta l'identità che sceglie in risposta alla richiesta dell'identificazione. Ciò è un esempio di un meccanismo che fa un presupposto errato circa l'ambiente (specificamente, quell'ospite B può fidarsi di).


Le interfacce ad altri moduli sono particolarmente sospette, perché i moduli fanno spesso i presupposti impliciti circa i parametri di uscita o dell'input o il sistema corrente dichiarare; se c'è ne di questi presupposti sono torto, le azioni del modulo possono produrre inatteso ed errato, risultati. L'interazione con le entità esterne, quali altri programmi, sistemi, o esseri umani, amplifica questo problema.

ESEMPIO: Il protocollo della barretta trasmette le informazioni su un utente o su un sistema. Molte esecuzioni del cliente suppongono che la risposta dell'assistente è ben formata. Tuttavia, se un attacker dovesse generare un assistente che ha generato un flusso infinito dei caratteri e un cliente della barretta doveva collegare ad esso, il cliente stamperebbe tutti i caratteri. Di conseguenza, le lime di ceppo ed i disc hanno potuto essere riempiti in su, con conseguente smentita dell'attacco di servizio all'ospite d'interrogazione. Ciò è un esempio dei presupposti errati circa l'input al cliente.


Principio di mediazione completa

Questo principio limita nascondere delle informazioni, che conducono spesso alle esecuzioni più semplici dei meccanismi.

Il principio della mediazione completa richiede che tutti gli accessi agli oggetti sono controllati per accertarsi che siano permessi.

Ogni volta che un oggetto tenta di leggere un oggetto, il sistema operativo dovrebbe mediare l'azione. In primo luogo, determina se all'oggetto è permesso leggere l'oggetto. In caso affermativo, fornisce le risorse per colte accade. Se l'oggetto prova a leggere ancora l'oggetto, il sistema dovrebbe controllare che all'oggetto ancora sia permesso leggere l'oggetto. La maggior parte dei sistemi non farebbero il secondo controllo. Nasconderebbero i risultati del controllo preliminare e baserebbero il secondo accesso sui risultati nascosti.

ESEMPIO: Quando un processo di UNIX prova a leggere una lima, il sistema operativo determina se il processo è permesso leggere la lima. In caso affermativo, il processo riceve un descrittore di lima che mette l'accesso in codice permesso. Ogni volta che il processo desidera leggere la lima, presenta il descrittore di lima al nocciolo. Il nocciolo allora permette l'accesso.

Se il proprietario della lima respinge il permesso trattato leggere la lima dopo che il descrittore di lima si pubblichi, il nocciolo ancora permette l'accesso. Questo schema viola il principio della mediazione completa, perché il secondo accesso non è controllato. Il valore nascosto è usato, con conseguente smentita di accesso che è inefficace.


ESEMPIO: Il servizio di Domain Name (DNS) nasconde le informazioni che tracciano i nomi ospite negli indirizzi del IP. Se un attacker può "avvelenare" il nascondiglio impiantando registra l'associazione del IP address bogus con un nome, un ospite dirigerà i collegamenti ad un altro ospite in modo errato.


Principio del disegno aperto

Questo principio suggerisce che la complessità non aggiunge la sicurezza.

Il principio del disegno aperto dichiara che la sicurezza di un meccanismo non dovrebbe dipendere dalla segretezza del relativo disegno o esecuzione.

I progettisti ed i implementers di un programma non devono dipendere dalla segretezza dei particolari del loro disegno ed esecuzione per accertare la sicurezza. Altri possono ferret verso l'esterno tali particolari con i mezzi tecnici, quali smontaggio ed analisi, o con i mezzi non tecnici, come ricerca attraverso le prese a parete dell'immondizia degli elenchi di codice sorgente (chiamati "dumpster-dumpster-diving"). Se la resistenza della sicurezza del programma dipende dall'ignoranza dell'utente, un utente informato può sconfiggere quel meccanismo di sicurezza. Il termine "sicurezza con obscurity" blocca esattamente questo concetto.

Ciò è particolarmente vero per software ed i sistemi crittografici. Poiché il cryptography è un oggetto altamente matematico, le aziende che introducono il cryptography sul mercato crittografico di uso o del software per proteggere i dati dell'utente frequentemente mantengono le loro procedure segrete. L'esperienza ha indicato che tale segretezza aggiunge poco piuttosto alla sicurezza del sistema. Più difettoso, dà un aura di resistenza che è tutta che difetta troppo spesso nell'esecuzione reale del sistema.

Mantenendo le chiavi crittografiche e le parole d'accesso segrete non viola questo principio, perché una chiave non è una procedura. Tuttavia, mantenendo le procedure cifranti e decifranti segrete la violerebbe.

Le emissioni di software riservato e dei segreti commerciali complicano l'applicazione di questo principio. In alcuni casi, le aziende non possono desiderare i loro disegni resi a pubblico, affinchè non i loro competitori li usano. Il principio allora richiede che il disegno e l'esecuzione sono a disposizione di la gente esclusa dalla rilevazione esso fuori dell'azienda.

ESEMPIO: Il sistema soddisfatto di rimescolanza (CSS) è una procedura crittografica che protegge i disc di film di DVD dalla copiatura non autorizzata. Il disc di DVD ha una chiave di autenticazione, una chiave di disc e una chiave di titolo. La chiave di titolo è cifrata con la chiave di disc. Un blocco sul DVD contiene parecchie copie della chiave di disc, ciascuno cifrate da una chiave differente del giocatore e di un totale di controllo della chiave di disc. Quando un DVD è inserito in un giocatore di DVD, la procedura legge la chiave di autenticazione. Allora decifra le chiavi di disc usando la chiave unica del giocatore di DVD. Quando trova una chiave decifrata con il hash corretto, esso usi che chiudono a chiave al deciframento la chiave di titolo ed esso usano la chiave di titolo per decifrare il film. L'autenticazione e le chiavi di disc non sono situate nella lima che contiene il film, in modo da se uno copia la lima, un alambicco ha bisogno del disc di DVD nel giocatore di DVD di potere giocare il film.

In 1999, un gruppo in Norvegia ha acquistato la a (software) DVD che gioca il programma che ha avuto unenciphered la chiave. Inoltre hanno derivato una procedura completamente compatibile con la procedura di CSS dal software. Ciò ha permesso loro di decifrare tutta la lima di film di DVD. Il software che potrebbe effettuare velocemente queste funzioni è diventato disponibile durante il Internet, molto al disagio dell'associazione di controllo del copyright di DVD, che ha citato subito per impedire il codice essere reso a pubblico. Come se per dare risalto ai problemi di fornire la sicurezza celando le procedure, gli avvocati del querelante archivi una dichiarazione che contiene il codice sorgente di un'esecuzione della procedura di CSS. Quando hanno realizzato questo, hanno chiesto che la dichiarazione è sigillata dalla vista pubblica. Per allora, la dichiarazione era stata inviata su parecchi luoghi di Internet, compreso uno che ha avuto più di 21.000 trasferimenti dal sistema centrale verso i satelliti della dichiarazione prima che la corte la sigillasse.

Principio della separazione del privilegio

Questo principio è restrittivo perché limita l'accesso alle entità del sistema.

Il principio della separazione del privilegio dichiara che un sistema non dovrebbe assegnare il permesso basato su un singolo stato.

Questo principio è equivalente alla separazione del principio di dovere. L'azienda controlla per vedere se c'è più di $75.000 devono essere firmati da due ufficiali dell'azienda. Se uno non firma, il controllo è non valido. Le due circostanze sono le firme di entrambi gli ufficiali.

Similmente, i sistemi ed i programmi che assegnano l'accesso alle risorse dovrebbero fare così soltanto quando più di una circostanza è riempita. Ciò fornisce un controllo a grana fine sopra la risorsa così come assicurazione supplementare che l'accesso è autorizzato.

ESEMPIO: Sulle versioni Berkeley-basate del sistema operativo di UNIX, agli utenti non sono permessi cambiare dai loro clienti al cliente della radice a meno che due circostanze siano riempite. La prima circostanza è che l'utente conosce la parola d'accesso della radice. La seconda circostanza è che l'utente è nel gruppo della rotella (il gruppo con GID 0). Riempire la una o la altra circostanza non è sufficiente per acquistare l'accesso della radice; riempire entrambe le circostanze è richiesto.


Principio di meno meccanismo comune

Questo principio è restrittivo perché limita la compartecipazione.

Il principio di meno meccanismo comune dichiara che i meccanismi usati per accedere alle risorse non dovrebbero essere ripartiti.

La compartecipazione delle risorse fornisce una scanalatura lungo cui le informazioni possono essere trasmesse ed in modo da tale compartecipazione dovrebbe essere minimizzata. In pratica, se il sistema operativo fornisce il supporto per le macchine virtuali, il sistema operativo farà rispettare automaticamente questo privilegio ad un certo grado. Altrimenti, fornirà un certo supporto (quale uno spazio di memoria virtuale) ma non completerà il supporto (perché il sistema di lima comparirà come compartecipe fra parecchi processi).

ESEMPIO: Un Web site fornisce i servizi elettronici di commercio per un'azienda importante. I attackers desiderano privare l'azienda del reddito che ottiene da quel Web site. Sommergono il luogo dai messaggi e legano in su i servizi elettronici di commercio. I clienti legittimi non possono accedere al Web site e, di conseguenza, prendere il loro commercio altrove.

Qui, la compartecipazione del Internet con i luoghi dei attackers ha indotto l'attacco a riuscire. Le contromisure adatte dovrebbero limitare l'accesso dei attackers al segmento del Internet collegato al Web site. Le tecniche per fare questo includono gli assistenti di procura come strozzare del mediatore o di traffico di Purdue SYN. I collegamenti sospetti degli obiettivi precedenti; il posteriore riduce indiscriminatamente il carico sul segmento relativo della rete.

Principio di accettabilità psicologica

Questo principio riconosce l'elemento umano nella sicurezza del calcolatore.

Il principio di accettabilità psicologica dichiara che i meccanismi di sicurezza non dovrebbero rendere la risorsa più difficile accedere a che se i meccanismi di sicurezza non fossero assenti.

La configurazione ed eseguire del programma dovrebbero essere facili ed intuitive come possibile e tutta l'uscita dovrebbe essere chiara, diretta ed utile. Se il software sicurezza-relativo ugualmente è complicato per configurare, i coordinatori di sistema possono installare involontario il software in un modo di nonsecure. Similmente, i programmi applicativi sicurezza-relativi devono essere facili da usare e devono produrre i messaggi comprensibili. Se una parola d'accesso è rifiutata, il programma cambiante di parola d'accesso dovrebbe dichiarare perchè è stato rifiutato piuttosto che dando un messaggio di errore cryptic. Se una lima di configurazione ha un parametro errato, il messaggio di errore dovrebbe descrivere il parametro adeguato.

ESEMPIO: Il programma dello ssh permette che un utente installi un meccanismo chiave pubblico per cifrare le comunicazioni fra i sistemi. I meccanismi di configurazione e dell'installazione per la versione di UNIX permettono che una organizzi che la chiave pubblica sia immagazzinata localmente senza alcuna protezione di parola d'accesso. In questo caso, uno non deve fornire una parola d'accesso per collegare al sistema a distanza, ma tranquillo otterrà il collegamento cifrato. Questo meccanismo soddisfa il principio di accettabilità psicologica.


D'altra parte, la sicurezza richiede che i messaggi non comunicano le informazioni inutili.

ESEMPIO: Quando un utente fornisce la parola d'accesso errata durante l'inizio attività, il sistema dovrebbe rifiutare il tentativo con un messaggio che dichiara che l'inizio attività è venuto a mancare. Se dovesse dire che la parola d'accesso era errata, l'utente saprebbe che il nome di cliente era legittimo. Se "l'utente" fosse realmente un attacker non autorizzato, allora conoscerebbe il nome di un rappresent che potrebbe provare per indovinare una parola d'accesso.


In pratica, il principio di accettabilità psicologica è interpretato per significare che il meccanismo di sicurezza può aggiungere una certa difficoltà supplementare, ma che la difficoltà deve essere sia minima che ragionevole.

ESEMPIO: Un sistema dell'elaboratore centrale permette che gli utenti dispongano le parole d'accesso sulle lime. L'accesso a delle lime richiede che il rifornimento di programma la parola d'accesso. Anche se questo meccanismo viola il principio come dichiarato, è considerare sufficiente minimo come accettabile. Su un sistema interattivo, in cui il modello degli accessi della lima è più frequente e più transitorio, questo requisito sarebbe una difficoltà troppo grande da essere accettabile.

ciò è un articolo aggiunto da Bill Kuriko


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions