Sei sulla pagina 1di 5

CP pensareprogettareprogrammare n.

134 aprile 2004

Common Criteria: la certicazione per la sicurezza informatica


di Vincenzo Fioriti
` ` ISO 15408 qualita ed afdabilita per la sicurezza informatica

Vincenzo Fioriti ` Svolge attivita di advisor tecnico-scientico. E laureato in ingegneria elettronica, si occupa di Reti Neurali, Caos, Cibernetica e sicurezza informatica. E membro del gruppo STRATA-ETAN UE (supporto scientico ` delle attivita della UE).

pubblicato su WWW.INFOMEDIA.IT stampa digitale da Lulu Enterprises Inc. stores.lulu.com/infomedia


Infomedia
` Infomedia e limpresa editoriale che da quasi venti anni ha raccolto la voce dei programmatori, dei sistemisti, dei professionisti, degli studenti, dei ricercatori e dei professori dinformatica italiani. Sono pi` di 800 gli autori che hanno realizzato per le teu state Computer Programming, Dev, Login, Visual Basic Journal e Java Journal, molte migliaia di articoli tecnici, presentazioni di prodotti, tecnologie, protocolli, strumenti di lavoro, tecniche di sviluppo e semplici trucchi e stratagemmi. Oltre 6 milioni di copie distribuite, trentamila pagine stampate, fanno di questa impresa la pi` grande ed u inuente realt` delleditoria specializzata nel campo della a programmazione e della sistemistica. In tutti questi anni le riviste Infomedia hanno vissuto della passione di quanti vedono nella programmazione non solo la propria professione ma unattivit` vitale e un vero a divertimento. ` Nel 2009, Infomedia e cambiata radicalmente adottando ` un nuovo modello aziendale ed editoriale e si e organizzata attorno ad una idea di Impresa Sociale di Comunit` , a partecipata da programmatori e sistemisti, separando le attivit` di gestione dellinformazione gestite da un board a comunitario professionale e quelle di produzione gesti` te da una impresa strumentale. Questo assetto e in linea con le migliori esperienze internazionali e rende Infomedia ancora di pi` parte della Comunit` nazionale degli u a sviluppatori di software. ` Infomedia e media-partner di manifestazioni ed eventi in ambito informatico, collabora con molti dei pi` imporu tanti editori informatici italiani come partner editoriale e fornitore di servizi di localizzazione in italiano di testi in lingua inglese.

Limpaginazione automatica di questa rivista e realizzata al ` 100% con strumenti Open Source usando OpenOffice, Emacs, BHL, LaTeX, Gimp, Inkscape e i linguaggi Lisp, Python e BASH

For copyright information about the contents of Computer Programming, please see the section Copyright at the end of each article if exists, otherwise ask authors. Infomedia contents is 2004 Infomedia and released as Creative Commons 2.5 BY-NC-ND. Turing Club content is 2004 Turing Club released as Creative Commons 2.5 BY-ND. Le informazioni di copyright sul contenuto di Computer Programming sono riportate nella sezione Copyright alla ne di ciascun articolo o vanno richieste direttamente agli autori. Il contenuto Infomedia e 2004 Infome` dia e rilasciato con Licenza Creative Commons 2.5 BYNC-ND. Il contenuto Turing Club e 2004 Turing Club ` e rilasciato con Licenza Creative Commons 2.5 BY-ND. Si applicano tutte le norme di tutela dei marchi e dei segni distintivi. ` E in ogni caso ammessa la riproduzione parziale o totale dei testi e delle immagini per scopo didattico purch e vengano integralmente citati gli autori e la completa identicazione della testata. Manoscritti e foto originali, anche se non pubblicati, non si restituiscono. Contenuto pubblicitario inferiore al 45%. La biograa dellautore riportata nellarticolo e sul sito www.infomedia.it e di norma quella disponibi` le nella stampa dellarticolo o aggiornata a cura dellautore stesso. Per aggiornarla scrivere a info@infomedia.it o farlo in autonomia allindirizzo http://mags.programmers.net/moduli/biograa

FOCUS

Common Criteria: la certificazione per la sicurezza informatica


ISO 15408 qualit ed affidabilit per la sicurezza informatica
di Vincenzo Fioriti

o standard ISO 15408, noto come Common Criteria (Cc) [1, 2, 3], un insieme di norme, indicazioni, suggerimenti, formulazioni, riguardanti la sicurezza informatica in senso lato. Le grandezze delle normative ingegneristiche generalmente sono lunghezze, volumi, densit e intensit, ma ovviamente il software e i prodotti relativi ad esso necessitano di modalit diverse, di tipo logico-linguistico, per quanto il livello massimo dei Cc preveda un approccio matematico-formale. Certificare un firewall, un database, una smart-card, un router, un tool od altro, significa produrre una documentazione relativa alloggetto da certificare (detto Target Of Evaluation, TOE, chi lo presenta lo SPONSOR) e farla verificare da una terza parte indipendente. Gli argomenti del documento fondamentale (detto Security Target, ST) sono vari: progettazione, spedizione, addestramento, riuso, identificazione utenze, correttezza, testing, manutenzione, vulnerabilit, crittografia, limitazione degli accessi, documentazione, politiche di sicurezza e cos via. La lettura dei Cc non affatto agevole, e richiede conoscenze approfondite dei sistemi informatici, di programmazione, di hardware, dei protocolli, del risk assessment, fino ai metalinguaggi ed alla matematica. Il tutto comporta uno sforzo di astrazione, in cambio del quale si ottiene una descrizione precisa ed affidabile del prodotto. Vale la pena, quindi, esplorare questo standard apparentemente ostico.

Dal punto di vista dei consumatori la certificazione aiuta a chiarire quali garanzie offre un certo prodotto rispetto alla IT security, ma bisogna dire che serve un minimo di conoscenza dei Cc per ottenere informazioni veramente utili ed affidabili; quel che si trova nel ST e anche quello che non si trova d comunque una certa idea delle performance. A volte, ma non v obbligo alcuno, i ST si basano su un documento analogo detto Protection Profile (PP), emesso da enti, agenzie, istituzioni, ministeri o ditte private, in cui sono offerte delle linee guida; in tal modo si configura un profilo di riferimento delle caratteristiche di sicurezza di un certo prodotto. Anche se non vincolante, un Protection Profile emesso da un organismo di prestigio rappresenta comunque un modello con il quale confrontarsi, ed un esempio di cosa aspettarsi da una certificazione con ambizioni di una certa rilevanza. Infine, consideriamo laumento di correttezza nella scrittura del codice software. I Cc spingono ad eliminare gli errori in tale fase grazie ad una serie di richieste (REQUIREMENTS) sempre pi stringenti col livello di certificazione voluta. Se si pensa alla stima (conservativa) di un errore ogni mille linee-codice si ricava subito limportanza di questo punto. poi ben nota lazione di exploit degli errori software da parte degli hacker, alla base di circa il 50% degli attacchi.

A cosa serve
Una ISO 15408 in primo luogo uno strumento atto a garantire un minimo di fiducia nelle prestazioni vantate dallo SPONSOR. Di solito richiesta da enti ed istituzioni statali, ma pu essere usata come attestato di qualit nei confronti di consumatori ed utenti. anche probabile una sua affermazione come supporto alla contrattualistica per definire meglio le specifiche inserite negli accordi commerciali e tecnici.

Storia dei Cc
Il termine Common sta ad indicare il laborioso accordo fra alcuni Stati Europei e Nord Americani. Si iniziato negli USA con lOrange Book e le sue 7 classi di sicurezza, spazianti dal semplice controllo daccesso al sistema fino alla analisi matematica delle funzioni. LOrange Book non molto elastico, ed orientato ai sistemi operativi. Nel 1990 alcuni stati europei risposero con ITSEC, differenziando le capacit operativo-funzionali dalla fiducia (ASSURANCE) nella loro efficacia reale. Si volle graduare il livello di fiducia da riporre nelle soluzioni presentate in modo da specificare meglio laffidabilit dellintero sistema. I Cc hanno mantenuto tale impostazione estendendola ed introducendo i Protection Profile, elemento importante per la pratica commerciale. Dopo alcuni contrasti con USA-Canada, nel 1999 stata emanata la versione 2.1 dei Common Criteria for the Information Technology Security Evaluation.
Computer Programming n. 134 - Aprile 2004

Vincenzo Fioriti

vfioriti@infomedia.it

Svolge attivit di advisor tecnico-scientifico. laureato in ingegneria elettronica, si occupa di Reti Neurali, Caos, Cibernetica e sicurezza informatica. membro del gruppo STRATA-ETAN UE (supporto scientifico delle attivit della UE).

28

Professione informatico

Oggi in Italia le disposizioni di legge impongono la certificazione ai prodotti di uso militare (per i quali esistono gi le strutture tecniche di verifica ISCT, IMQ, RES, INFORSUD) e per le infrastrutture della firma digitale.

Descrizione dei Cc
Il documento fondante l ISO/IEC 15408:1999 consta di tre parti: introduzione e modello; requisiti funzionali; requisiti di garanzia. Da questo documento si ottengono tutte le indicazioni per la scrittura del Security Target (ST), che sar poi valutato da una terza parte autorizzata ed indipendente. Il Security Target descrive genericamente lambiente in cui il TOE si trover ad operare e le minacce da affrontare, gli scopi prefissati e le funzionalit che ne garantiscono il conseguimento con un certo margine di probabilit. Infine si spiegano le motivazioni di fondo per le scelte fatte. La struttura di un documento ST la seguente: ST introduction (identification, overview, conformance); TOE description; TOE security environment (assumptions, threats, policies); Security objectives (s.o. for the TOE, s.o. for the environment); IT security requirements (TOE security functional requirements, TOE security assurance requirements); TOE summary specifications (TOE security functions, assurances measurements); PP claims (PP reference, PP tailoring, PP additions); Rationale (s.o. rationale, security requirements rationale, TOE summary specification rationale, PP claims rationale). La parte maggiormente importante riguarda la scelta delle funzioni di sicurezza che descrivono la performance del TOE, IT security requirements. Ovviamente le affermazioni fatte nel ST e le reali capacit del TOE devono corrispondere. Le funzioni si descrivono tramite ELEMENTI e COMPONENTI, contenuti in FAMIGLIE a loro volta facenti parte di CLASSI. Esempio: FIA_UID.1.1 implica la CLASSE FIA, la FAMIGLIA UID con COMPONENTE 1 ed ELEMENTO 1. Le CLASSI si distinguono per le finalit, le FAMIGLIE differiscono per enfasi, le COMPONENTI sono un set di funzioni effettive composte di ELEMENTI. La scelta di un componente pu obbligare a sceglierne altri collegati ad esso. Le CLASSI sono: AUDIT, CRYPTO SUPPORT, USER DATA PROTECTION, IDENTIFICATION, SECURITY MANAGEMENT, PRIVACY, TOE PROTECTION, RESOURCE UTILIZATION, ACCESS, TRUSTED PATH/CHANNELS. Nella stesura dei documenti vengono indicate da abbreviazioni: FAU: conserva e ottiene le informazioni relative al TOE ed ai dati FCS: crittografia FCO: specifica origine/destinazione e non ripudiabilit dei dati FDP: protegge i dati
Computer Programming n. 134 - Aprile 2004

FIA: identifica/autentica gli utenti ed assegna le priorit FMT: definisce regole ed attributi per la gestione dei dati FPR: difende i dati sensibili FPT: protegge le operazioni di sicurezza FRU: rende disponibili le risorse FTA: regolamenta le sessioni di lavoro FTP: assicura i canali di comunicazione con lutenza Scendendo lungo la catena CLASSE > FAMIGLIA > COMPONENTE si sceglieranno i componenti adeguati a descrivere una certa azione hardware o software del TOE. Spesso la scelta di un componente resa obbligata dalla presenza di una minaccia da contrastare o da un componente precedentemente scelto. Ci potrebbe esser causa di qualche difficolt, quando il TOE non risultasse progettato in accordo con i Cc oppure se il livello di certificazione desiderato dallo SPONSOR eccedesse le capacit del TOE. Infatti sono possibili sette EVALUATION ASSURANCE LEVEL (EAL 1-7), e lo SPONSOR deve decidere a quale conformarsi. LEAL definisce il grado di ASSURANCE certificato, ed un concetto centrale nei Cc. Bisogna per far attenzione al significato di EAL. Un livello elevato, diciamo dal quinto in su, non implica una grande sicurezza in assoluto del TOE, ma solo che le misure adottate per confrontarsi con talune minacce sono state (probabilmente) correttamente ed efficacemente implementate nel TOE.

La lettura dei Cc non


affatto agevole, e richiede conoscenze approfondite dei sistemi informatici
Essendo lo SPONSOR a stabilire quali minacce affrontare, ben possibile presentare un TOE con un alto livello EAL ma solo relativamente ad un ristretto e poco pericoloso gruppo di rischi, tralasciando, per insindacabili motivi (per esempio questioni di marketing o costi), di affrontare gli attacchi pi insidiosi ed ostici. La garanzia, perci, riguarda soltanto il contenuto del Security Target nelle modalit ivi indicate: non si asserisce che il TOE risulta essere un oggetto effettivamente ed assolutamente sicuro. Descriviamo ora in breve gli Evaluation Assurance Level: EAL1: i rischi non sono rilevanti, ma si desidera un minimo di correttezza relativamente alle misure adottate; EAL2: come prima, ma con attenzione alla spedizione, al testing e al progetto; EAL3: una elevata affidabilit delle contromisure ottenuta senza apportare modifiche ai sistemi di produzione gi in vigore; EAL4: massima affidabilit con piccole modifiche ai modi di produzione gi in vigore. il pi richiesto dagli SPONSOR; 29

FOCUS
EAL5: sar forse necessario impiegare progettisti esperti in sicurezza per il TOE, ed un maggior uso di risorse; EAL6: il livello di ASSURANCE molto elevato, con alti costi. Per minacce gravi. Anche la spedizione, il testing, la progettazione devono essere di alta qualit; EAL7: come EAL6, ma sono richieste dimostrazioni formali di ci che si afferma. In tutte le fasi i formalismi sono largamente usati fin dalla fase di progetto, ed richiesta anche la dimostrazione dellassenza di brecce nellaccesso ai dati. Oltre agli alti costi, non ben chiaro cosa possa accettarsi come dimostrazione, e quali linguaggi formali impiegare, data la insufficienza di strumenti del tipo Teorema Bell-Lapadula.

Professione informatico

ATE_IND.1: Il TOE stato sottoposto a test da parte di valutatori indipendenti. Il TOE (secondo il ST proposto) risulta quindi in grado tramite le sue procedure di impedire laccesso ai dati, se lattaccante non particolarmente esperto.

Conclusioni
I prodotti orientati a competere per gli appalti statali nel campo sicurezza informatica si vedono praticamente costretti alla certificazione. Lorientamento verso i sistemi -qualit ormai una scelta irreversibile, quindi meglio anticipare il mercato. I prodotti dell area open source sarebbero una buona scelta per le istituzioni statali, ma mancano prodotti certificati, ed al momento non si vedono sbocchi. Senza dubbio, per, ladozione di sistemi operativi a rischio grave rende luso di tool certificati un controsenso e questo avvantaggia enormemente la scelta open source. Lazione dello Stato o meglio della Unione Europea per imporre un impiego massiccio dellopen source, oltre ad aumentare la sicurezza di per s, costituirebbe un incentivo per la generazione di posti di lavoro ad alta tecnologia, per cui una azione politica auspicabile, in tempi rapidi. La fascia consumer del mercato gi oggi influenzata positivamente da prodotti che si dichiarano certificati Cc. La garanzia indipendente offerta a clienti ormai sopraffatti dalla pubblicit tecnica molto apprezzata, e ripaga le aziende delle spese sostenute; perci una ditta affermata non pu sottrarvisi. Semmai, converr certificare solo i prodotti di punta (tipicamente tool per il controllo daccesso e difesa dati) e quelli destinati a servire una gran massa di utenti (tipicamente istituzioni od enti pubblici), per i quali oltre al discorso sicurezza vale la qualit della realizzazione, come si diceva in precedenza. Certificare un firewall categoria enterprise di non eccessive pretese, costa intorno ai 100.000 Euro per un EAL4. Evidentemente, un tale ordine di grandezza dei costi non irrilevante, anche considerando il fatto che la richiesta potrebbe non essere accolta dal verificatore! Rimarchiamo la dipendenza dei costi in termini finanziari e di ore/uomo dal livello di assurance desiderato. Salendo nella scala di ASSURANCE i costi non salgono linearmente, ossia un EAL5 per lo stesso firewall coster intorno ai 300.000 Euro e non 200.000, e lo stesso si dica per il lavoro del personale (molto) specializzato necessario. Purtroppo esistono pochissime imprese in Italia in grado di preparare una richiesta ISO 15408 o di effettuare le verifiche, sia per la arretratezza complessiva del settore, sia per le reali difficolt, ma probabile che il formarsi di un mercato delle certificazioni produrr nei prossimi anni un abbassamento dei costi totali. In futuro si useranno estesamente le metodologie cognitive. Sar infatti necessario provvedere a sistemi automatizzati di analisi delle prestazioni per i prodotti informatici per motivi di costi e praticit. Lintelligenza artificiale potrebbe quindi essere una risposta valida, come sembrano indicare le prime esperienze made-in-USA con le Reti Neurali: addestrate a valutare i software, sono attualmente uno strumento per lo studio dei sistemi e delle procedure Intrusion Detection, e possono essere un sistema imparziale, riproducibile, economico e rapido anche per le verifiche di congruit e qualit del TOE.

Una ISO 15408 in primo


luogo uno strumento atto a garantire un minimo di fiducia nelle prestazioni vantate
Anche per lASSURANCE viene proposto un catalogo di classi, famiglie e componenti da scegliere opportunamente. Senza entrare in dettaglio, si dispone di: Configurazione (ACM), Spedizione (ADO), Sviluppo (ADO), Documentazione (AGD), Ciclo di vita (ALC), Test (ATE), Analisi vulnerabilit (AVA), Mantenimento della ASSURANCE (AMA).

Un esempio
Vediamo ora un esempio indicativo ed estremamente semplificato di come si procede in pratica. Il caso in esame un tool software il cui ST stato elaborato nel 1999, ed reperibile con facilit sul WEB. Il TOE un componente di sicurezza della gestione file, proposto per un EAL1, livello minimo di ASSURANCE. Non si segue alcun Protection Profile. Si ipotizza un attaccante dotato di capacit e risorse medio-basse; la minaccia consiste nella appropriazione non autorizzata di dati, sia essa intenzionale o accidentale. Il TOE deve rendere impossibile il realizzarsi della minaccia durante la normale attivit del PC, sovrascrivendo i dati da proteggere. Si noti che il documento sottolinea come sia possibile, in via teorica, asportando il PC ed impiegando attrezzature molto sofisticate ottenere i file cancellati, ma questa situazione tra le minacce che non si scelto di affrontare. I REQUIREMENTS funzionali sono semplici: FDP_RIP.2 - cio Funzione Protezione Dati: le funzioni del TOE dovranno garantire che le informazioni precedenti [luso del TOE] sono indisponibili. Per quanto riguarda lASSURANCE abbiamo: ACM_CAP.1: Il TOE deve essere riconoscibile tramite un numero di serie; ADO_IGS.1: Il TOE deve contenere istruzioni di installazione e start-up; AGD_ADM.1: Il TOE offre una guida per lamministratore; AGD_USR.1: La documentazione del TOE deve contenere una guida utente; 30

RIFERIMENTI
[1] www.nist.gov [2] www.iso.ch [3] www.cordis.lu

Computer Programming n. 134 - Aprile 2004