Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli

Sistemi di Elaborazione delle informazioni, Panieri di Sistemi Informativi

Una serie di concetti e definizioni relativi alla sicurezza e alla protezione dei sistemi informatici, ai linguaggi di interrogazione del modello relazionale, ai vincoli di chiave e di foreign key, all'operatore di ridenominazione e ai modelli di protezione di sistemi informatici. Vengono inoltre trattati argomenti come la consistenza e l'integrità dei dati, gli operatori di selezione e proiezione, la cifratura simmetrica e asimmetrica, il machine learning e il modello Bell-Lapadula.

Tipologia: Panieri

2023/2024

In vendita dal 20/10/2023

ale467
ale467 🇮🇹

4.4

(2041)

2.5K documenti

1 / 139

Toggle sidebar

Documenti correlati


Anteprima parziale del testo

Scarica Sistemi di Elaborazione delle informazioni e più Panieri in PDF di Sistemi Informativi solo su Docsity! Sistemi di Elaborazione delle informazioni In rosso Pia:aforma/ in blu fuori pia:aforma/ in nero le ul=me A di%erenza della sicurezza che misura la 1ducia nel fa3o che l'integrità di un sistema e dei suoi da9 siano preserva9, la protezione: concerne il meccanismo per ilcontrollo dell'accesso alle risorse di un sistema informa9co Al fine di bilanciare le qualità del software in contrasto tra loro si deve considerare: la tendenza corrente nello sviluppo di applicazioni del so>ware Al 1ne di proteggere il sistema informa9co si devono prendere misure di sicurezza par9colare, il livello direte riguarda: la protezione dalla interce3azione dei da9 Cambia lo schema del risultato lasciando invaria9 i valori delle tuple: RIDENOMINAZIONE p (ro) Con il termine compromissione di integrità si intende: la modi1ca non autorizzata dida9 e la modi1ca del codice sorgente Con le tecniche di apprendimento mediante machine learning: vengono generatedelle regole che, se applicate ad uno speci1co insieme di da9, forniscono i risulta9 desidera9 Con riferimento ai linguaggi di interrogazione associa9 al modello relazionale, ildata de1ni9on language (DDL): agisce sullo schema della base di da9 Con riferimento ai linguaggi di interrogazione associa9 al modello relazionale, ildata manipula9on language (DML): perme3e di modi1care dire3amente i da9 Considerando il conce3o di chiave in uno schema di relazione R, sia r una istanza diR: una chiave per r è una superchiave minimale Consideriamo il conce3o di chiave di una relazione, il fa3o che ogni schema di relazione abbia almenouna superchiave implica che : ogni schema di relazione ha / abbia almeno una chiave Consideriamo il modello di protezione di sistemi informa9ci Harrison-Ruzzo – Ullman (HRU). I vantaggi principali sono: il fa3o che sia un modello Tessibile, in termini di de1nizione delle poli9che, supportatoda tuU i SO e I DBMS Consideriamo i comandi del modello HRU, siano s1,..,sm i soggeU e gli o1,..,om glioggeU che compaiono nella lista dei parametri: un sogge3o s può creare un nuovo 1le f Consideriamo il vincolo di foreign key (FK). E' possibile asserire che: il valore NULLcontenuto in un a3ributo coinvolto in un vincolo di chiave esterna non cos9tuisce violazione del vincolo Consideriamo il vincolo di foreign key (FK). Esso è rispe3ato se: per ogni valore nonnullo della chiave esterna, esiste un valore corrispondente della chiave primaria nella tabella associata Consideriamo il vincolo in una tabella "Impiegato" per cui nessuna coppia di tuple possa avere lo stesso codice 1scale (CF). Esso è un vincolo di chiave della relazione, cioè: e' un insieme non vuoto di a3ribu9 che iden91cano univocamente le tupledi una relazione Consideriamo la consistenza e l'integrità dei da9. Queste: sono vantaggi del DBMS Consideriamo l'integrità dei da9. Essa si riferisce ai processi da a3uare su da9 provvisori...diverse sorgen9 informa9ve per fornire all'utente una visione uni1cata di quei da9. Un DBMS rispe3o al 1le system consiste nel fa3o che: prevede meccanismi per il controllo centralizzato dell'integrità' dei da9 / tes9 Consideriamo l'istanza r della relazione R. Se un vincolo generale non è soddifa3o: rè una istanza non legale Consideriamo l'operatore di ridenominazione. Esso: È un operatore unario Consideriamo l'operatore intersezione tra due istanze di relazione R e S. Il risultatocon9ene: tu3ele tuple (prese una sola volta) presen9 contemporaneamente in R e S Consideriamo l'operatore unione tra due istanze di relazione R e S. Affinchè l'unione possa essere eseguita R e S devono avere: lo stesso numero di attributi Consideriamo una base di dati e una istanza di relazione della base di dati denominata “tabella”. Se volessimo proiettare il campo denominato “nome” con SQL, volendo nel risultato esattamente quello chesi otterrebbe con l’operatore π dell’algebra relazionale, si deve scrivere: SELECT DISTINCT nome FROM tabella Consideriamo una istanza di relazione che ha cinque campi (attributi). Si può affermare che : Il gradodella istanza di relazione è uguale a 5 Consideriamo una tabella denominata nome_tabella con due attributi formati dal campo nome e da campo età. Con SQL , scrivendo “SELECT nome, età FROM tabella”,OPPURE “SELECT”FROM tabella”, si ottiene: lo stesso risultato Dati e informazioni insieme a persone denaro e materiali costituiscono: il sistema informativo di un’organizzazione Gli a3acchi DDoS: sono e%e3ua9 indire3amente tramite una rete bot spesso ampiamentedi%usa; da qui il termine "distributed" Gli operatori di selezione σ e proiezione π) sono deU ortogonali. In par9colare, l’operatore π opera:ver9calmente I criteri per la scelta di una frase di accesso robusta sono: deve essere lunga, noncontenere parole o frasi reperibili in un dizionario, facile da ricordare, digcile da intuire, contenere cara3eri e numeri I DBMS e File System sono due modalità che possono essere adoperate per ges9re,archiviare, recuperare e manipolare i da9: non ci sono casi in cui è meglio usare il 1le system invece che il DBSM I due principali algoritmi di cifratura sono la cifratura simmetrica e la cifratura asimmetrica. La cifratura simmetrica :u9lizza una chiave privata comune a mi3ente e des9natario Il linguaggio SQL si supponga di u9lizzare un DB con tabella denominata nome_tabella scrivendoSELECT*FROM nome_tabella che fa il programma : Selezionerà tuU gli a3ribu9 della tabella nome_tabella presente nella clausola FROM Il meccanismo di funzionamento del machine learning è basato sui da9. In par9colare, il paradigma del machine learning prevede: come input i da9 e le rispostea3ese e come output le regole che consentono di conne3ere i da9 alle risposte a3ese Il modello Bell-Lapadula e' un modello che speci1ca un 9po di controllo d'accessoalle risorse in base ai soggeU e alla classi1cazione degli oggeU. Inoltre: e' un modello di protezione de1nito mul9livello Il modello Bell-LaPadula si concentra su riservatezza di da9 e accesso a informazioni classi1cate. In par9colare, ai soggeU: sono assegna9 i clearance levels(livelli di autorizzazione) ll modello di protezione Bell-Lapadula è un modello di protezione mul9livello in cui: le informazioni sonoclassi1cate in modo gerarchico: esse non possono essere trasferite da un livello di sicurezza superiore a un livello di sicurezza inferiore Il modello di protezione Bell-Lapadula è un modello di protezione mul9livello in cui: le informazioni sonoclassi1cate in modo gerarchico: esse non possono essere trasferite da un livello di sicurezza superiore a un livello di sicurezza inferiore Il modello Harrison-Ruzzo-Ullman (HRU): e' un modello che può essere classi1cato Discre9onary Access Control (DAC) Il modello HRU ha introdo3o alcuni conceU importan9 quali la nozione di sistemi diautorizzazionee la nozione di sicurezza. Esso: consente agli uten9 di concedere l'autorizzazione ad accedere ai propri oggeU ad altri uten9 a propria discrezione Il modello relazionale si basa sul concetto matematico di relazione, ma con alcune differenze. L'elemento principale per la descrizione dei dati in questo modello è: la tabella Il Phishing consiste nel: contra%are e-mail o pagine web rendendole simili a quelle auten9che per spingere gli uten9 traU in inganno a comunicare informazioni con1denziali Il principio del minimo privilegio: prevede che a un utente vengano concessi i livelliminimi di accesso dei quali ha bisogno per svolgere le proprie mansioni Il problema del prigioniero e' un modello che mira semplicemente a spiegare i conceU della Steganogra1a: Alice e Bob sono due prigionieri che devono escogitare unpiano per poter fuggire. Essi si scambiano dei messaggi a3raverso il guardiano Wendy. SeWendy scopre che i due si stanno scambiando dei messaggi, il piano fallirà Il risultato dell'operazione di proiezione: con9ene al più tante ennuple quante ne ha l'operando Il semi-join tra due istanze di relazione R1 e R2 (R1 "semi-join" R2): non gode dellaproprietà commuta9va Il so>ware può essere sviluppato seguendo di%eren9 paradigmi. Tra essi, il modelloa cascata o a spirale. Tra i due: il modello a spirale si è rivelato la strategia vincente Il tema rela9vo all'implementazione della cri3ogra1a si inquadra facendo riferimentoal proge3o di una rete di comunicazione. In una rete di comunicazione: la comunicazione fra stra9 avviene a3raverso uno speci1co protocollo Il termine a3acco DOS (Denial-of-service) indica: un a3acco informa9co che mira arendere inu9lizzabile una speci1ca macchina o una rete, rendendola inaccessibile agli uten9 per cui è stata realizzata Il theta-join genera le coppie di una tupla di R1 e di una tupla di R2 che soddisfano una certa condizione. Esso è un operatore: binario, date due relazioni R1 e R2 generauna nuova relazione R3 che ha come schema tuU gli a3ribu9 di R1 e tuU quelli di R2 Il token è un disposi9vo ele3ronico porta9le, alimentato a ba3eria con autonomiadell'ordine di qualche anno. Esso è u9lizzato: per generare un codice numerico temporaneo Il trojan mule: e' una variante classica del cavallo di troia che emula una procedura dilogin Il vincolo di integrità referenziale è un vincolo interrelazionale. Quando siamo inpresenza di questo vincolo si ha che: considerando le informazioni contenute in relazioni diverse, queste sono correlate per mezzo di valori comuni In ambito di proge3azione del so>ware, la modularità concerne: l'organizzazione delso>ware in par9 speci1cate, unità o moduli, che interagiscono tra loro individualmente In quale delle seguenti situazioni il sistema operativo può determinare con certezza il mittente e il destinatario: in un calcolatore isolato In SQL, per visualizzare tutti i dati inseriti in una tabella U si utilizza: SELECT * FROM U; In un algoritmo di auten9cazione che u9lizza chiavi simmetriche: È essenziale chenon sia possibile derivare k dai tes9 cifra9 In un a3acco di interposizione: l'intruso si interpone nella comunicazione e trasme3e lapropria chiave pubblica illegiUma (che fa coppia con la sua chiave privata) In un a3acco di 9po "man in the middle": l'a3accante altera la comunicazione tra duepar9 che credono di essere in comunicazione dire3a tra loro In un linguaggio di programmazione orientato agli oggeU (object oriented): il focus è sugli oggeU, in modo da creare più facilmente modelli basa9 sul mondo reale In un linguaggio di programmazione orientato agli oggeU (object oriented), gli oggeU: perme3ono di modellare più facilmente il mondo reale In un modulo, i meccanismi di accesso alle funzionalità del modulo stesso sono meccanismi che regolano: come accedere alle funzionalità del modulo e come ques9accede agli altri moduli In un sistema cri3ogra1co il ricevitore del messaggio: se ha la chiave k u9le alladecifratura o3errà il messaggio originale In un sistema informa9co, per archivio tradizionale s'intende uno o più 1le diarchivio, in cui: i da9 vengono ges99 dire3amente dal so>ware dell'applicazioneu9lizzatrice In una relazione del modello relazionale si ha che: i valori di ciascuna colonna appartengono allo stesso dominio Indicare quale tra queste a%ermazioni è vera: le tecniche biometriche sono più agdabilinel veri1care l'iden9tà di un utente rispe3o agli altri metodi Indicare tra queste la migliore passphrase: nulla s1 Crea Nulla s1 D1strugge Tu30 s1Trasf0rma! L'algebra relazionale è un linguaggio formale di 9po algebrico i cui operandi sono relazioni. In par9colare: e' un linguaggio procedurale, in cui cioè le operazioni complessevengono speci1cate descrivendo il procedimento da seguire per o3enere la soluzione L'analista è una delle diverse 1gure professionali coinvolte nella proge3azione delso>ware. Esso: dichiara cosa serve per risolvere il problema L'integrità referenziale viene rispe3ata quando per ogni valore non nullo della chiave esterna, esiste un valore corrispondente della chiave primaria nella tabellaassociata. Si ha che: la chiave esterna fa parte della tabella referenziante L'interfaccia tra un modulo e l'altro deve essere chiara e ridotta. Questo significa che ci deve essere: basso accoppiamento L'istruzione SELECT corrisponde all'operatore dell'algebra relazionale: proiezione,manon elimina eventuali duplica9 L'istruzione SELECT DISTINCT corrisponde all'operatore dell'algebra relazionale: proiezione L'istruzione SQL create table si usa per: creare una tabella di un DB L'ogge3o che sarà usato come contenitore per l'inserimento del messaggio: e' ilcover object o cover medium L'oggetto risultato dell'algoritmo di steganografia, cioe' dopo che sono state effettuate operazioni su di esso, che contiene (trasporta) al suo interno il messaggio: si definisce stego object o stego medium L'operatore AND serve a concatenare tra loro due espressioni Booleane a e b. Se a ha valore TRUE e B ha valore FALSE, l'espressione a AND b ha valore: FALSE L'operatore di proiezione "proietta" le colonne di una relazione. Il simbolo è π al cui pedice viene indicata la lista degli a3ribu9 che cos9tuiscono la nuova relazione.Talelista: È un so3oinsieme degli a3ribu9 della relazione originale L'operatore di ridenominazione indicato con la lettera greca ρ ("ro"): cambia loschema del risultato, lasciando invaria9 i valori delle tuple La qualità del software è un importante aspetto in ambito di progettazione del software. Esse si dividono in: esterne ed interne La relazione che intercorre tra intelligenza ar91ciale, il machine learning e il deeplearning può essere espressa tramite la simbologia della teoria degli insiemi: all'interno dell'intelligenza ar91ciale si colloca il machine learning La relazione intesa secondo il modello relazionale dei da9: presenta alcune di%erenze signi1ca9ve rispe3o alla relazione matema9ca La scansione delle porte: non si può de1nire come un vero e proprio a3acco ma comeun mezzo impiegato da uten9 malevoli per sondare le vulnerabilità di un sistema La scansione delle porte è un mezzo impiegato dai pira9 informa9ci per sondare le vulnerabilità di unsistema. Essa è molto spesso parte di una tecnica nota come: 1ngerprin9ng La selezione e la proiezione: perme3ono di o3enere informazioni importan9 da una sola relazione La selezione e la proiezione sono operatori ortogonali, la proiezione consente di operare: ver9calmente La sicurezza nei sistemi informa9ci si occupa di: preservare le risorse del sistema daaccessi non autorizza9 La steganogra1a e' l'arte di nascondere un messaggio segreto in un contenitore all'apparenza normalissimo, inoltre: u9lizza un canale pubblico come veicolo per lo scambio di messaggi che devono rimanere riserva9 La steganogra1a indica la “scri3ura nascosta”o altresì l’insieme dei metodi e delle tecniche che perme3ono a due o più en9tà, che siano persone o macchine, di nascondere ad un eventuale ascoltatori: La stessa esistenza di una comunicazione riservata La steganogra1a: cela l’esistenza di una comunicazione riservata Le qualità del software possono essere in contrasto l'una con l'altra. Per esempio sono in contrasto: usabilità e sicurezza La qualità del software è un importante aspetto in ambito di progettazione del software. Esse si dividono in: esterne ed interne Le qualità del so>ware si dividono in esterne e interne. Le qualità esterne: sono visibiliagli uten9 del sistema Le tecniche di cifratura: servono per creare un ciphertext, ossia un testo cifrato Le viste sono tabelle derivate da altre tabelle della base di dati. La creazione di una vista avviene con l'istruzione: CREATE VIEW Lo scopo della steganogra1a: e' celare l'esistenza stessa della comunicazione Lo Structured Query Language (SQL) è un linguaggio strutturato di interrogazione: dichiara9vo Lo sviluppo del so>ware prevede diversi passi. Tra ques9 vi è la manutenzione, in cui: si controlla e siaggiorna il programma durante il suo esercizio Lo studio dell'intelligenza ar91ciale ha portato alla seguente conclusione: non tuU i problemi che un essere umano si trova ad a%rontare ogni giorno possono essere facilmenterappresenta9 tramite un insieme prede1nito di regole Nel deep learning, le rappresentazioni vengono apprese tramite l'uso di re9 neurali,grazie al fa3o che: tecniche matema9che perme3ono di creare una rappresentazione accurata del problema derivata dai da9 Nel linguaggio SQL la clausola WHERE speci1ca le condizioni di selezione. Queste siapplicano: singolarmente ad ogni tupla della tabella presente nella clausola FROM Nel linguaggio SQL la clausola WHERE speci1ca le condizioni di selezione. Inpar9colare: è possibile anche fare una ricerca testuale (stringhe) Nel linguaggio SQL per rimuovere i duplica9 si u9lizza la parola chiave: DISTINCTdopo la SELECT Nel modello Bell- LaPadula: le informazioni sonoclassi1cate in modo gerarchico: esse non possono essere trasferite da un livello di sicurezza superiore a un livello di sicurezza inferiore Nel modello relazionale la tecnica del valore nullo (NULL): denota l'assenza di unvalore del dominio Nella modello relazionale i da9 disponibili potrebbero non perme3ere di o3emperare esa3amente al formato previsto. Se ad esempio l'informazione èincompleta: si ado3a la tecnica del valore nullo (NULL) Nella progettazione del software, considerare una soluzione che sia il più generale possibile si identifica nel principio di: generalità Nella proge3azione del so>ware quando si parla di "informa9on hiding" si intendeche: le informazioni inessenziali devono essere nascoste, cioe' non tu3e le informazioni devono essere accessibili Nella programmazione orientata agli oggeU (object oriented) le stru3ure da9 di una classe sono de3e: a3ribu9 Nell’algebra relazionale, in una istanza di relazione : i valori di ciascuna colonna appartengono allo stessodominio Nell'ambito della progettazione del software, la classificazione delle applicazioni rispetto al flusso di controllo include i sistemi sequenziali. Un esempio di questo tipo di sistemi sono: un risolutore di sistemi di equazioni Nell'ambito della progettazione del software, la classificazione delle applicazioni rispetto al flusso di controllo include i sistemi concorrenti. Un esempio di questo tipo di sistemi sono: smartphone Nell'ambito della progettazione del software, la classificazione delle applicazioni rispetto agli elementi di interesse primario include le applicazioni orientate alla gestione dei dati. Esempi di tale tipo di applicazioni sono: i DBMS Nell'ambito della progettazione del software, la classificazione delle applicazioni rispetto agli elementi di interesse primario include le applicazioni orientate al controllo. Esempi di tale tipo di applicazioni sono: i sistemi ABS Nello schema Studenti(matricola, cognome, nome, corso, data_di_nascita) una chiave può essere: matricola Nello sviluppo del so>ware il principio di modularità concerne: il costruire, nellapra9ca, unità so>ware "piccole e ben fa3e" Nello sviluppo del so>ware il principio di rigore e formalità riguarda: l'approcciorigoroso che individua una soluzione tecnica determinis9camente corre3a Per indovinare la password possono essere usate diverse tecniche. Tra queste lo shoulder sur1ng: e' la sorveglianza visiva, ad esempio un intruso può sbirciare sopra laspalla dell'utente Per inserire dei valori in una tabella U si deve usare l'istruzione SQL: INSERT INTO UVALUES; Per ovviare al problema dello stesso nome: Ridenominazione P Per protezione 1sica di un sistema si intende: protezione dei luoghi che ospitano lemacchine del sistema Per quanto riguarda le minacce rela9ve al sistema e alla rete, i rischi per lasicurezza: aumentano se il sistema e' connesso alla rete Possiamo distinguere in due grandi categorie di controllo di accesso alle risorse: Discre9onary Access Control e Mandatory Access Control Quale tra le seguen9 a%ermazioni de1nisce corre3amente la chiave esterna: e' una colonna o una combinazione di colonne i cui valori corrispondono a una chiave primaria inuna tabella diversa Quale tra queste asserzioni potrebbe de1nire un vincolo di chiave in un ipote9coDatabase: non ci possono essere dueimpiega9 con lo stesso codice 1scale Quali tra le seguen9 può essere considerata una tecnica steganogra1ca applicata inopere d'arte: inserimento di un par9colare digcilmente visibile all'occhio dell'osservatore Quali tra le seguen9 tecniche può essere u9lizzata per inserire messaggi segre9all'interno di un cover object all'apparenza innocuo: modi1ca di bit di codi1ca all'interno di immagini digitali Se consideriamo informazioni al livello di sicurezza "Top-secret" nel modello BLP: le informazioni non possono essere scri3e in 1les di livello Unclassi1ed Se si combinano selezione e proiezione possono essere estratte interessanti informazioni: da una sola relazione Se si volesse estrarre a3ributo1 e a3ributo2 da una tabella A, eliminando eventualiduplica9, in SQL si scriverebbe: SELECT DISTINCT a3ributo1, a3ributo 2 FROM A; Se un a3ributo di una tabella è de1nito in SQL come 9po varchar(4) esso: con9ene unnumero di cara3eri variabile 1no a 4 Si consideri una interrogazione SQL base. Se si hanno N tabelle nella clausola FROMed èpresente la clausola WHERE: avremo almeno N-1 condizioni nella clausolaWHERE Si consideri una lista di attributi dell'operatore proiezione che sia una superchiave di una relazione r, allora, la relazione risultante: ha la stessa cardinalità di r Si de1nisce One Time Password: una password casuale monouso creata in un certoistante di tempo Si supponga di voler trovare i giocatori presenti nella istanza di relazione R1 di Giocatori Presenti, che hanno giocato in tutte le gare del campionato, riportate nella istanza di relazione R2 delle Gare Giocate. Il problema si risolve facilmente ricorrendo a: l'operatore di divisione Si consideri una interrogazione SQL base. Se si hanno N tabelle nella clausola FROMed èpresente la clausola WHERE: avremo almeno N-1 condizioni nella clausolaWHERE Sia ordini una relazione referenziante con un vincolo di FK su clien9 (relazione referenziata). Si ha che: i valori non NULL della FK di ordini devono trovarsi nella chiavedi clien9 SQL (sequel ) è un linguaggio stru3urato di interrogazione spesso chiamato anche sequel. Esso:opera a livello di set cioè su relazioni come l’algebra relazionale SQL è l’acronimo di Structured Query Language cioè linguaggio stru3urato di interrogazione, spessochiamato anche Sequel. Esso: opera a livello di set cioè su relazioni come l’algebra relazionale Tra i diversi fattori che condizionano le qualità esterne del software si trova: la correttezza Tra i diversi fattori che condizionano le qualità interne del software si trova: la modularità Tra i metodi più comuni con cui i programmi possono generare violazioni della sicurezza troviamo glispyware. Questi sono progetti per: spiare quello che si fa sul computer Tra i principi per la modularità possiamo annoverare: l'alta coesione Tra i principi fondamentali della programmazione orientata agli oggeU (object oriented) vi è l'ereditarietà. Essa consiste nel: de1nire un legame di dipendenza di 9po gerarchico tra classi diverse Tra i principi fondamentali della programmazione orientata agli oggeU (object oriented) vi è l'astrazione. Essa consiste nel: nascondere i de3agli di implementazione interna Tra i principi fondamentali della programmazione orientata agli oggeU (object oriented) vi è il polimor1smo. Esso consiste nel: far sì che uno stesso ogge3o assuma più forme Tra i vantaggi dei DBMS troviamo l'agdabilità dei da9, ossia: il fa3o che i DBMSo%rano meccanismi per la protezione dei da9 da malfunzionamen9 Un algoritmo di machine learning riesce a creare un modello prediUvo in grado dio3enere buoni risulta9 su nuovi da9 (diversi dai da9 di training). Questo èpossibilese: i da9 di training sono sta9 scel9 in modo da rispecchiare la distribuzione sta9s9ca deicasi reali Un buon sistema steganogra1co : dovrebbe combinare steganogra1a e cri3ogra1a,soluzione e'nota come Principio di Kerckho%s Un conTi3o tra i nomi dei campi di una istanza di relazione si può risolvere u9lizzando l’operatore :Ridenominazione ρ (ro) Un elemento di dubbio per iden91care una email di Phishing è il seguente: presenzadi testo inviato all'interno dell'e-mail come immagine Un importante problema di sicurezza per i sistemi opera9vi è l'auten9cazione degliuten9. Essa è basata: su oggeU, conoscenze e a3ribu9 1sici Un importante problema di sicurezza per i sistemi opera9vi è l'auten9cazione degliuten9. Essa può essere, ad esempio, basata sulla le3ura dell'impronta digitale cherientra: tra gli a3ribu9 1sici possedu9 dall'utente Un meccanismo di funzionamento del machine learning è basato sull'apprendimento supervisionato. Esistono anche altre modalità di apprendimento, tra cui l'apprendimento: semi-supervisionato e di rinforzo Un problema di sicurezza di notevole importanza per i sistemi operativi è l’autenticazione degli utenti.Essa coincide con : la capacità di identificare ogni utente del sistema Un programma che emula la procedura di accesso alla sessione di lavoro sottrandendo nome utente e password: e' un trojan mule Un sistema di ges9one di basi di da9 deve essere agdabile, cioè: resistente a malfunzionamen9 hardware e so>ware Un sistema informa9vo è cos9tuito da: da9 e informazioni di una organizzazione Un tipo di attacco in grado di crittografare le informazioni presenti sul computer di destinazione e renderle inaccessibili al proprietario: e' un ramsomware Un utente malintenzionato che rimane passivo interce3ando il tragco di rete: sta compiendo un a3acco snigng Un vincolo di chiave primaria è un'asserzione che speci1ca che un insieme di a3ribu9 formano la chiave primaria della relazione: tale insieme di a3ribu9 forma unachiave per la relazione Un vincolo di inclusione fra una serie non vuota A di n attributi di una relazione R1 ed una serie B di n attributi di una relazione R2 impone che ogni combinazione di valori su A presenti in R1 compaia come combinazione di valori su B in R2: esso èuna generalizzazione del vincolo di chiave esterna Un vincolo di integrità (VI) è una condizione che si esprime a livello di schema e che si intende debba essere soddisfatta da tutte le istanze della base di dati. Prendendo ad esempio i valori dell'attributo intero 'Età' di una tabella 'Persona': sarebbe un errore associare ad 'Età' un valore negativo Un vincolo di integrità (VI) è una condizione che si esprime a livello di schema. Attraverso un VI vengono stabiliti dei criteri: che consentano di evitare l’inserimento di informazioni non corrette Un vincolo di tupla che coinvolge un solo a3ributo si dice: vincolo di dominio Una base di da9 è una collezione di da9: che viene mantenuta in memoria di massa,quindi in maniera non vola9le e permanente Una buona modularizzazione e' un aspe3o molto importante nella proge3azione del so>ware (SW); una delle conseguenze e' che: rilevare eventuali errori nel so>ware sia piùsemplice Una buona modularizzazione implica un basso accoppiamento tra i moduli; ciò e' correlato: al fa3o che una modi1ca di un modulo non compor9 grandi modi1che ad un altromodulo Una istanza di base di da9 su uno schema di base di da9 è: un insieme di istanze di relazione, una istanza per ogni schema di relazione dello schema della base di da9 Una relazione nel modello relazionale si può rappresentare come una tabella in cui inomi degli a3ribu9: sono usa9 come intestazioni delle colonne Una trap door progettata per attivarsi solo al verificarsi di uno specifico insieme dicondizioni logiche: e' detta logic bomb Uno dei criteri per la scelta di una frase di accesso robusta è il seguente: la fase deve essere lunga, non contenere parole o frasi reperibili in un dizionario, facile da ricordare, difficile da intuire, contenere carattere e numeri. Uno dei dogmi della modularità e' il principio di unitarietà, secondo cui un modulodeve: avere una unità conce3uale ben de1nita e incorporare tuU gli aspeU rela9vi a tale unità conce3uale Uno stego object all'apparenza innocuo: può essere cos9tuito da un tatuaggio che nasconde un messaggio segreto U9lizzando la funzione f de3a hash la password x si trasforma in f(x) de3a password cifrata: se xè una parola del dizionario è possibileindovinare la password conun a3acco dizionario RISPOSTE CORRETTE - I nomi degli attributi possono avere nomi diversi - I vincoli di Tupla possono avere nomi diversi Si consideri lo SQL, e si supponga di utilizzare un DB in cui è presente una tabella denominata nome_tabella. Il programma, scrivendo il comando SELECT FROM nome_tabella: SELEZIONERA’ TUTTI GLI ATTRIBUTI DELLA TABELLA nome_tabella PRESENTE NELLA CLAUSOLA FROM SQL è l’acronimo di Structured Query Language cioè linguaggio strutturato di interrogazione, spesso chiamato anche sequel esso : OPERA A LIVELLO DI SET Tra i metodi più comuni con cu i programmi possono generare violazioni della sicurezza, troviamo gli spyware sono progettati per : SPIARE QUELLO CHE SI FA SUL COMPUTER Un conflitto tra i nomi dei campi di un’istanza di relazione si può risolvere utilizzando l’operatore: RIDENOMINAZIONE P Un conflitto tra i nomi dei campi di una istanza di relazione si può risolvere utilizzando l’operazione : RIDENOMINAZIONE Un problema di sicurezza di notevole importanza per i sistemi operativi è l’autenticazione degli utenti. Essa coincide con : LA CAPACITA’ DI IDENTIFICARE OGNI UTENTE DEL SISTEMA Un problema di sicurezza di notevole importanza per i sistemi operativi è l’autenticazione degli utenti. Essa coincide con: LA CAPACITA’ DI IDENTIFICARE OGNI UTENTE DEL SISTEMA Un vincolo di integrità (VI) è una condizione che si esprime a livello di schema. Attraverso un VI vengono stabiliti dei criteri: CHE CONSENTONO DI EVITARE L’INSERIMENTO DI INFORMAZIONI NON CORRETTE Un vincolo di integrità (VI) è una condizione che si esprime a livello di schema. Attraverso un VI vengono stabiliti dei criteri: CONSENTONO DI EVITARE L’INSERIMENTO DI INFORMAZIONI NON CORRETTE RISPOSTE SENZA DOMANDE ( di grado o di cardinalità): IL GRADO DELLA ISTANZA DI RELAZIONE E’ UGUALE A 5 (in che cosa consiste la manutenzione): SI CONTROLLA E AGGIORNA IL PROGRAMMA DURANTE IL SUO ESERCIZIO (spyware): UN’ALTRA VARIANTE DEL CAVALLO DI TROIA E’ LO SPYWARE. ESSO TALVOLTA ACCOMPAGNA UN PROGRAMMA CHE L’UTENTE HA SCELTO DI INSTALLARE, SPIA QUELLO CHE FA SUL COMPUTER E SU INTERNET, PUO’ ANCHE PRENDERE PARZIALE CONTROLLO DEL COMPUTER, MA IN GENERE RACCOLGONO DATI E INFO PERSONALI SENZA CHE L’UTENTE SE NE ACCORGA. ( valori di verità): CON OPERATORI AND OR E NOT ( domanda che riguarda la protezione della rete-cosa la impedisce): LA PROTEZIONE DALL’INTERCETTAZIONE DEI DATI ( il DBMS): PREVEDE MECCANISMO PER IL CONTROLLO CENTRALIZZATO DELL’INTEGRITA’ DEI DATI (full outer join): LE TUPLE DI R1 E R2 CHE NON CORRELATE MEDIANTE LA CONDIZIONE C RIEMPITE CON VALORI NULL PER I RISPETTIVI ATTRIBUTI (?): SUPERCHIAVE (?) CHE DEVONO ESSERE SODDISFATTI DA TUTTE LE ISTANZE DELLA BASE DI DATI (?) DA UNA SOLA RELAZIONE (?) IN UNO SCHEMA RELAZIONALE E UNA ISTANZA DELLA RELAZIONE (?) LA CHIAVE ESTERNA FA PARTE DELLA TABELLA PREFERENZIALE (?) SU OGGETTI CONOSCENZE E ATTRIBUTI FISICI 1.Sicurezza dei sistemi informatici 1 La sicurezza nei sistemi informatici si occupa di: a. preservare le risorse del sistema da accessi non autorizzati b. gestire i file sul disco c. aumentare la velocità di processanto del pc d. creare un collegamento tra programmi presenti in memoria centrale 2 In un attacco di tipo "man in the middle": a. l'attaccante invia un elevato numero di messaggi al sistema attaccato b. l'attaccante installa un malware sul sistema attaccato c. l'attaccante ruba le coordinate bancarie dell'utente attaccato d. l'attaccante altera la comunicazione tra due parti che credono di essere in comunicazione diretta tra loro 3 Il termine attacco DOS (Denial-of-service) indica: a. un attacco informatico realizzato con sistemi unix-based b. un attacco informatico che mira a rubare le credenziali di accesso di un utente c. un attacco informatico che mira a rendere inutilizzabile una specifica macchina o una rete, rendendola inaccessibile agli utenti per cui è stata realizzata d. la capacità da parte dell'attaccante di modificare i file audio presenti sul dispositivo dell'attaccato 4 Con il termine compromissione di integrità si intende: a. la lettura non autorizzata di dati e il furto di informazioni b. la modifica non autorizzata di dati e la modifica del codice sorgente c. la distruzione non autorizzata di dati e il sabotaggio di siti web d. il blocco dell'utilizzo legittimo del sistema 5 Per protezione fisica di un sistema si intende: a. l'uso di password molto lunghe per tutti gli utenti b. protezione dei luoghi che ospitano le macchine del sistema c. l'installazione di un programma antivirus su tutte le macchine del sistema d. l'adozione di un firewall di ultima generazione 6 I quattro livelli del modello di sicurezza sono: a. applicazione, sistema operativo (SO), rete, fisico b. browser, firewall, sistema operativo (SO), CPU c. shell, interprete, virtual machine, usb hub d. utente, applicazione, middleware, kernel 7 La crittografia può essere utilizzata per prevenire attacchi a livello: a. fisico b. di applicazione c. di sistema operativo d. di rete 8 Il "fattore umano" nell'ambito dei sistemi di sicurezza informatici riguarda: a. i comportamenti degli utenti umani che possano mettere, volontariamente o involontariamente, il sistema in pericolo b. il numero di iscritti ad una mailingist aziendale c. la capacità del sistema di aumentare il numero di utenti d. l'uso di un programma antivirus "user-friendly" 9 Il Phishing consiste nel: a. contraffare e-mail o pagine web rendendole simili a quelle autentiche per spingere gli utenti tratti in inganno a comunicare informazioni confidenziali b. distruggere tutti i dati presenti su un pc infettato con un virus c. disinstallare inavvertitamente i programmi di gestione dell'email sul proprio pc d. inserire pubblicità a pagamento nei siti web 10 Un elemento di dubbio per identificare una email di Phishing è il seguente: a. mancanza di allegati b. lunghezza del testo superiore a tre righe c. presenza di testo inviato all'interno dell'e-mail come immagine d. invio da parte di un conoscente 2. Minacce relative ai programmi, al sistema e alla rete 1 Il Cavallo di Troia: a.e' un malware che agisce in modo malevolo che non esegue semplicemente la sua funzione dichiarata b. e' uno scanner di vulnerabilità di rete c. e' un tipo di attacco code injection d. e' un tipo di attacco DoS 2 Il trojan mule: a. permette all'utente di difendersi da attacchi DDoS b.e' una variante classica del cavallo di troia che emula una procedura di login c. e' un tipo di attacco code injection d. e' uno scanner di vulnerabilità di rete 3 Un programma che emula la procedura di accesso alla sessione di lavoro sottraendo nome utente e password: a. e' un ramsomware b.e' un trojan mule c. e' un tipo di attacco code injection d. e' un tipo di attacco DoS 4 Un tipo di attacco in grado di crittografare le informazioni presenti sul computer di destinazione e renderle inaccessibili al proprietario: a. e' uno spyware b. e' un tipo di attacco code injection c. prevede che la rete non sia vulnerabile d.e' un ramsomware 5 Una trap door progettata per attivarsi solo al verificarsi di uno specifico insieme di condizioni logiche: a. fa parte dei worm b. e' impossibile da realizzare c.e' detta logicbomb d. e' molto facile da rilevare 6 Il principio del minimo privilegio: 4. Autenticazione dell’utente 1 Un importante problema di sicurezza per i sistemi operativi è l'autenticazione degli utenti. Essa è basata: a.esclusivamente sulle password b. su oggetti, conoscenze e attributi fisici c. esclusivamente sui token d. su password e token 2 Il token è un dispositivo elettronico portatile, alimentato a batteria con autonomia dell'ordine di qualche anno. Esso è utilizzato: a. per contenere una password fissa b. per immagazzinare un PIN fisso c. ha un numero seriale che è anche il PIN d. per generare un codice numerico temporaneo 3 Un importante problema di sicurezza per i sistemi operativi è l'autenticazione degli utenti. Essa può essere, ad esempio, basata sulla lettura dell'impronta digitale che rientra: a.tra gli attributi fisici posseduti dall'utente b. tra gli oggetti posseduti dall'utente c. nella categoria dei token d. tra le tecniche crittografiche 4 Indicare quale tra queste affermazioni è vera: a.le tecniche biometriche sono più affidabili nel verificare l'identità di un utente rispetto agli altri metodi b. una parola molto difficile, ma di senso compiuto, usata come password, è molto difficile da "indovinare" c. un token è un dispositivo elettronico portatile che comunica in qualche modo con il server di autenticazione d. gli elementi su cui è basata l'autenticazione degli utenti sono esclusivamente la password e il token 5 Per indovinare la password possono essere usate diverse tecniche. Tra queste lo shoulder surfing: a. e' un attacco dizionario b. consiste nella cosiddetta sorveglianza elettronica c.e' la sorveglianza visiva, ad esempio un intruso può sbirciare sopra la spalla dell'utente d. si basa sulle informazioni che coinvolgono l'utente, conosciute dall'utente malizioso 6 Utilizzando la funzione f detta hash la password x si trasforma in f(x) detta password cifrata: a. la password cifrata così ottenuta non è mai possibile da decifrare b.se x è una parola del dizionario è possibile indovinare la password con un attacco dizionario c. se x non è una parola presente nei dizionari è comunque possibile indovinare la password con un attacco dizionario d. data f(x) è comunque molto facile riottenere x 7 Si definisce One Time Password: a. una password cifrata b. una password fissa accoppiata a un PIN dell'utente c.una password casuale monouso creata in un certo istante di tempo d. una sola password fissa valida sempre 8 La password OTP: a. si può usare se si pensa che la password del sistema non sia cifrata in modo sicuro b. e' comoda per l'utente che può usarla sul proprio PC di casa ad ogni accesso c.si utilizza in genere quando si preferisce non inserire la propria password, ad esempio, sul PC di un Internet point d. si utilizza perché non si ricorda la propria password 9 I criteri per la scelta di una frase di accesso robusta sono: a. e' sufficiente che sia una frase molto lunga b. e' sufficiente che sia una frase molto lunga ma facile da ricordare c. e' sufficiente che sia una frase molto lunga ma facile da intuire d.deve essere lunga, non contenere parole o frasi reperibili in un dizionario, facile da ricordare, difficile da intuire, contenere caratteri e numeri 10 Indicare tra queste la migliore passphrase: a. nulla si crea nulla si distrugge tutto si trasforma b. nullasicreanullasidistruggetuttositrasforma c. nulla si Crea nulla si Distrugge tutto si trasforma! d.nulla s1 Crea Nulla s1 D1strugge Tutt0 s1 Trasf0rma! 5. La steganografia 1 Lo scopo della steganografia: a. e' quello di rendere nascosta la presenza di un osservatore in un canale di comunicazione b. impedisce a un ascoltarore di accedere al contenuto del canale di comunicazione c.e' celare l'esistenza stessa della comunicazione d. e' quello di decrittare un messaggio 2 La steganografiae' l'arte di nascondere un messaggio segreto in un contenitore all'apparenza normalissimo, inoltre: a. impedisce a un ascoltatore non autorizzato di accedere al contenuto del canale b. serve per cifrare i messaggi in chiaro c. e' utile a decifrare i messaggi d. utilizza un canale pubblico come veicolo per lo scambio di messaggi che devono rimanere riservati 3 Quali tra le seguenti tecniche può essere utilizzata per inserire messaggi segreti all'interno di un coverobject all'apparenza innocuo: a. modifica di bit di codifica all'interno di immagini digitali b. firma digitale di documenti testuali c. inserimento di username e password in siti web d. cifratura dell'immagine 4 La griglia di Cardano, o griglia cardanica, e' un metodo per la scrittura di messaggi segreti inventato dal matematico italiano Girolamo Cardano nel 1550: a. consiste in fogli di materiale rigido, nei quali vengono ritagliati dei fori rettangolari ad intervalli irregolari. Appoggiando la griglia su un foglio di carta bianca, il messaggio segreto va scritto nei buchi, dove ciascun buco può contenere una o più lettere b. sono delle griglie su tavolette di legno ricoperte di cera, sulle quali venivano incisi dei messaggi segreti c. consiste nel tatuare delle griglie in modo da nascondere un messaggio segreto sul corpo d.consiste in fogli di materiale rigido, nei quali vengono ritagliati dei fori rettangolari in modo regolare 5. Quali tra le seguenti può essere considerata una tecnica steganografica applicata in opere d'arte: a. inserimento di un particolare difficilmente visibile all'occhio dell'osservatore b. utilizzo di colori ad olio c. utilizzo di figure mitologiche tra i personaggi raffigurati d. applicazione di diverse tecniche pittoriche 6 Il problema del prigioniero e' un modello che mira semplicemente a spiegare i concetti della Steganografia: a. Alice e Bob sono due prigionieri che devono escogitare un piano per poter fuggire. Essi si scambiano dei messaggi attraverso il guardiano Wendy. Wendy può scoprire che i due si stanno scambiando messaggi perché il piano comunque non fallirà b. Alice e Bob sono due prigionieri che devono escogitare un piano per poter fuggire. Essi si scambiano dei messaggi attraverso il guardiano Wendy. Se Wendy scopre che i due si stanno scambiando dei messaggi, il piano fallirà c. mette in evidenza come realizzare il sistema steganografico in pratica d. concerne la decifrazione del plaintext 7 L'oggetto che sarà usato come contenitore per l'inserimento del messaggio: a. si definisce stegoobject o stego medium b. e' il messaggio segreto c. dipende dalla chiave k d.e' il cover object o cover medium 8 L'oggetto risultato dell'algoritmo di steganografia, cioe' dopo che sono state effettuate operazioni su di esso, che contiene (trasporta) al suo interno il messaggio: a. si definisce stegoobject o stego medium b. e' il messaggio segreto c. dipende dalla chiave k d.e' il cover object o cover medium 9 Un buon sistema steganografico: a. combinare steganografia e crittografia, soluzione e' nota come Principio di Kerckhoffs b. si basa solo sulla steganografia secondo il Principio di Kerckhoffs c. impedisce a un ascoltatore non autorizzato di accedere al contenuto del canale d. rendere nascosto un canale di comunicazione da un eventuale ascoltatore non autorizzato 10 Uno stegoobject all'apparenza innocuo: a. può essere la firma digitale di documenti testuali b. può essere costituito da un tatuaggio che nasconde un messaggio segreto c. consiste nell'inserimento di username e password in siti web d. prevede la cifratura dell'immagine 6. Protezione dei sistemi informatici 1 A differenza della sicurezza che misura la fiducia nel fatto che l'integrità di un sistema e dei suoi dati siano preservati, la protezione: a. riguarda la corretta memorizzazione dei dati su supporti di memoria secondaria b. concerne il meccanismo per il controllo dell'accesso alle risorse di un sistema informatico a. un blocco hardware del SO b. una memoria non permanente c. un sistema di gestione di basi di dati basato su file system d.un sistema di gestione di basi di dati basato su un modello dei dati descritto da una collezione di costrutti 7 In un sistema informatico, per archivio tradizionale s'intende uno o più file di archivio, in cui: a.i dati vengono gestiti direttamente dal software dell'applicazione utilizzatrice b. i dati vengono gestiti per mezzo del DBMS c. i dati vengono gestiti direttamente dal software DBMS d. DBMS è l'unico responsabile della gestione dei file 8 Consideriamo la consistenza e l'integrità dei dati. Queste: a.sono vantaggi del DBMS b. sono vantaggi propri degli archivi tradizionali c. permettono che copie dello stesso dato possano essere diverse d. devono essere garantite dal SO 9 Tra i vantaggi dei DBMS troviamo l'affidabilità dei dati, ossia: a. il fatto che i dati devono essere autenticati b. la standardizzazione dei dati c. la facilità di utilizzo dei dati d.il fatto che i DBMS offrano meccanismi per la protezione dei dati da malfunzionamenti 10 I DBMS e File System sono due modalità che possono essere adoperate per gestire, archiviare, recuperare e manipolare i dati: a.non ci sono casi in cui è meglio usare il file system invece che il DBSM b. sono due sistemi equivalenti c. sono due sistemi di archivio tradizionali d. sono eslusivamente sistemi di gestione dei dispositivi I/O 2.Il modello relazionale 1 Il modello relazionale si basa sul concetto matematico di relazione, ma con alcune differenze. L'elemento principale per la descrizione dei dati in questo modello è: a. il dominio dei dati b. la stringa c. l'attributo d. la tabella 2 Il costrutto di base per la descrizione dei dati nel modello relazionale è la relazione, che consiste: a. in un vettore riga b. in uno schema relazionale e una istanza della relazione c. in un vettore colonna d. in un insieme di istruzioni 3 La relazione intesa secondo il modello relazionale dei dati: a. presenta alcune differenze significative rispetto alla relazione matematica b. È identica alla relazione matematica c. non ha alcuna similarità con la relaziona matematica d. non prevede l'uso di tabelle 4 Si consideri la relazione nella sua accezione matematica. Il prodotto cartesiano di n insiemi I1 × I2 ×…× In è: a. un valore non significativo b. l'insieme di tutte le ennuple non ordinate c. un sottoinsieme delle tuple ordinate (i1, i2,…, in) tali che i1 ∈ I1, i2 ∈ I2,…, in ∈ In d. l'insieme di tutte le ennuple (o tuple) ordinate (i1, i2,…, in) tali che i1 ∈ I1, i2 ∈ I2,…, in ∈ In 5 Una relazione nel modello relazionale si può rappresentare come una tabella in cui i nomi degli attributi: a. sono usati come intestazioni delle colonne b. sono riportati nella prima colonna c. sono riportati nell'ultima colonna d. sono i valori degli attributi 6 In una relazione del modello relazionale si ha che: a. i valori di ciascuna colonna non appartengono allo stesso dominio b. i valori di ciascuna colonna appartengono allo stesso dominio c. le tuple (righe) sono uguali tra loro d. i nomi degli attributi sono uguali tra loro 7 Una istanza di base di dati su uno schema di base di dati è: a. un campo di valori b. un vettore riga c. un insieme di istanze di relazione, una istanza per ogni schema di relazione dello schema della base di dati d. un insieme di schemi 8 Nella modello relazionale i dati disponibili potrebbero non permettere di ottemperare esattamente al formato previsto. Se ad esempio l'informazione è incompleta: a. e' meglio inserire uno zero b. e' opportuno inserire 0000 nel record corrispondente c. e' consigliato inserisce 9999 d. si adotta la tecnica del valore nullo (NULL) 9 Nel modello relazionale la tecnica del valore nullo (NULL): a. inserisce uno zero nella stringa b. denota l'assenza di un valore del dominio c. denota la presenza di una stringa d. denota la presenza di una tipo double 10 L'utilizzo di NULL è necessario quando non esiste, non è noto o non si conosce l'esistenza di un valore del dominio. I DBMS: a. distinguono tra i tre casi b. non fanno alcuna distinzione tra le diverse situazioni di necessità per l'uso del valore nullo c. considerano solo il caso di non esistenza del valore d. considerano solo il caso in cui il valore è senza informazione 3.Vincoli di integrità 1 Un vincolo di integrità (VI) è una condizione che si esprime a livello di schema e che si intende debba essere soddisfatta da tutte le istanze della base di dati. Prendendo ad esempio i valori dell'attributo intero 'Età' di una tabella 'Persona': a. e' possibile inserire la stringa "meno_dieci" b. sarebbe un errore associare ad 'Età' un valore negativo c. sarebbe un errore associare ad 'Età' un valore positivo d. non ci sono condizioni inammissibili 2 L'operatore AND serve a concatenare tra loro due espressioni Booleane a e b. Se a ha valore TRUE e B ha valore FALSE, l'espressione a AND b ha valore: a. TRUE b. FALSE c. non ha valore d. 1 3 I vincoli di tupla sono vincoli di integrità: a.intrarelazionali b. che si riferiscono a un singolo attributo c. interrelazionali d. che si applicano a una e una sola colonna della tabella 4 Un vincolo di tupla che coinvolge un solo attributo si dice: a. vincolo di riga b. vincolo di chiave c. NULL d. vincolo di dominio 5 Consideriamo il vincolo in una tabella "Impiegato" per cui nessuna coppia di tuple possa avere lo stesso codice fiscale (CF). Esso è un vincolo di chiave della relazione, cioè: a.e' un insieme non vuoto di attributi che identificano univocamente le tuple di una relazione b. specifica che ci possano essere due ennuple con lo stesso valore sull'attributo CF c. indica che ci possano essere tre tuple con lo stesso valore sull'attributo CF d. un insieme non vuoto di attributi che identificano univocamente i domini di una relazione 6 Quale tra queste asserzioni potrebbe definire un vincolo di chiave in un ipotetico Database: a. ci possono essere due studenti con la stessa matricola b. ci possono essere due impiegati con lo stesso codice fiscale c. non ci possono essere due impiegati con lo stesso codice fiscale d. non ci possono essere studenti con lo stesso nome e cognome 7 Considerando il concetto di chiave in uno schema di relazione R, sia r una istanza di R: a. r può contenere ennuple uguali fra loro b. una chiave per r è una superchiave minimale c. una superchiave per r è sempre una chiave d. r potrebbe non contenere una chiave 8 Nello schema Studenti(matricola, cognome, nome, corso, data_di_nascita) una chiave può essere: a. corso b. nome d. e' un linguaggio di programmazione ad oggetti 2 Con riferimento ai linguaggi di interrogazione associati al modello relazionale, il datamanipulationlanguage (DML): a. agisce sullo schema della base di dati b. permette di modificare direttamente i dati c. non riguarda la modifica e l'inserimento dei dati d. e' un linguaggio di programmazione ad oggetti 3 I linguaggi di interrogazione per basi di dati relazionali possono essere classificati in dichiarativi e procedurali. In particolare i linguaggi dichiarativi: a. specificano le modalità di generazione del risultato (indicano come) b. indicano tutti i passi da fare per raggiungere il risultato c. dichiarano le proprietà del risultato senza fare riferimento alle procedure da eseguire per generare il risultato stesso (indicano che cosa) d. specificano come è stato raggiunto il risultato 4 L'algebra relazionale è un linguaggio formale di tipo algebrico i cui operandi sono relazioni. In particolare: a. e' un linguaggio dichiarativo b. e' un linguaggio per i calcoli con numeri reali c. è' un linguaggio misto, procedurale e dichiarativo d.e' un linguaggio procedurale, in cui cioè le operazioni complesse vengono specificate descrivendo il procedimento da seguire per ottenere la soluzione 5 Consideriamo l'operatore unione tra due istanze di relazione R e S. Affinchè l'unione possa essere eseguita R e S devono avere: a. lo stesso numero di tuple b. gli stessi nomi degli attributi c. lo stesso numero di attributi d. un numero di attributi diverso 6 Consideriamo l'operatore intersezione tra due istanze di relazione R e S. Il risultato contiene: a. tutte le tuple presenti in R oppure in S b. la concatenazione delle tuple r che appartengono a R e s appartenenti a S c. tutte le tuple presenti in R, ma non in S d. tutte le tuple (prese una sola volta) presenti contemporaneamente in R e S 7 La differenza tra due relazioni R e S è indicata con R - S e contiene tutte le tuple che sono presenti in R ma che non esistono in S. Inoltre: a. R e S devono essere compatibili rispetto all'unione b. R e S non devono essere compatibili rispetto all'unione c. R - S contiene la concatenazione delle tuple che appartengono a R e s appartenenti a S d. la differenza è un operatore unario 8 Si consideri il prodotto cartesiano. Se due relazioni hanno degli attributi con nomi identici, allora: a. tali attributi sono individuabili dal numero di riga della tupla b. per prassi, i nomi degli attributi possono essere indicati tra parentesi: possiamo riferirci a loro per mezzo della posizione c. non è possibile eseguire il prodotto cartesiano d. la soluzione ottimale è lasciare i nomi originali 9 Consideriamo l'operatore di ridenominazione. Esso: a. e' un operatore binario b. varia i valori delle tuple c. non cambia lo schema d. È un operatore unario 10 L'operatore di ridenominazione indicato con la lettera greca ρ ("ro"): a. cambia lo schema del risultato, lasciando invariati i valori delle tuple b. varia i valori delle tuple c. non cambia lo schema d. È un operatore binario 7. Selezione e proiezione L'operatore di selezione σ consente di selezionare un sottoinsieme delle tuple di una relazione r, applicando a ciascuna di esse una data condizione. L'istanza di relazione risultante dalla selezione: a. contiene le colonne di r che rendono vera tale condizione b. contiene le tupledi r che rendono falsa tale condizione c. contiene le colonne di r che rendono falsa tale condizione d. contiene le tupledi r che rendono vera tale condizione 2 Si consideri l'operatore di selezione. Esso è: a. un operatore che permette di manipolare i dati di due relazioni b. un operatore unario che permette di manipolare i dati di una singola relazione c. un operatore binario che permette di manipolare i dati di due colonne d. un operatore binario che permette di manipolare i dati di una singola colonna 3 La condizione di selezione si applica a ciascuna tupla dell'istanza di relazione: a. singolarmente, quindi non può coinvolgere più di una tupla b. coinvolgendo più di una tupla c. coinvolgendo tutte le tuple dell'istanza di relazione d. coinvolgendo due colonne 4 L'operatore di proiezione "proietta" le colonne di una relazione. Il simbolo è π al cui pedice viene indicata la lista degli attributi che costituiscono la nuova relazione. Tale lista: a. È un sottoinsieme dei valori degli attributi della relazione originale b. identifica le tuple c. È un sottoinsieme degli attributi della relazione originale d. contiene tutti gli attributi dell'istanza di partenza 5 Si consideri l'operatore proiezione. I campi di interesse: a. contengono sempre la chiave primaria b. sono indicati nella lista degli attributi, mentre gli altri campi sono "proiettati fuori" c. coinvolgono due relazioni diverse d. non sono presenti nella istanza risultante 6 Il risultato dell'operazione di proiezione: a. contiene al più tante ennuple quante ne ha l'operando b. contiene sempre lo stesso numero di ennuple c. contiene un numero di tuple maggiore dell'operando d. ha cardinalità maggiore dell'operando 7 Si consideri l'operatore proiezione. Se la lista di attributi è una superchiave della relazione r, allora, la relazione risultante: a. ha un numero di tuple maggiore di r b. ha un numero di tuple minore di r c. ha lo stesso numero di colonne presenti in r d. ha lo stesso numero di tuple presenti in r 8 Si consideri una lista di attributi dell'operatore proiezione che sia una superchiave di una relazione r, allora, la relazione risultante: a. ha la stessa cardinalità di r b. ha sempre lo stesso grado di r c. ha sempre lo stesso numero di colonne presenti in r d. ha un numero di righe minore di r 9 Se si combinano selezione e proiezione possono essere estratte interessanti informazioni: a. da due istanze di relazione b. da due tabelle c. da una relazione, applicando sempre prima la proiezione e poi la selezione d. da una sola relazione 10 La selezione e la proiezione: a. combinate, correlano informazioni presenti in relazioni diverse b. sono operatori binari c. permettono di ottenere informazioni importanti da una sola relazione d. permettono di ottenere informazioni importanti da più relazioni 8. JOIN Si consideri l'operatore join naturale dell'algebra relazionale tra due istanze di relazione R1 e R2, il risultato R è una relazione che: a. ha sempre lo stesso numero di attributi di R1 b. ha sempre lo stesso grado di R1 c. esegue anche un filtraggio, perché le tuple che non hanno un dato legame semantico con l'altra relazione non vengono considerate d. È un risultato poco significativo rispetto a gli operatori di base 2 Si applichi l'operatore join naturale dell'algebra relazionale a due relazioni R1 e R2. Il risultato contiene: a. solo gli attributi di R1 che sono anche in R2 b. tutte le coppie formate da una tupla di R1 e da una tupla di R2 per cui, per gli attributi con nome diverso il valore è uguale c. tutte le coppie formate da una tupla di R1 e da una tupla di R2 per cui, per gli attributi con stesso nome, il valore è diverso d. tutte le coppie formate da una tupla di R1 e da una tupla di R2 per cui, per gli attributi con stesso nome, il valore è uguale b. gode della proprietà associativa c. gode delle proprietà commutativa e associativa d. non gode né della proprietà commutativa né della proprietà associativa 7. Si consideri l'operatore anti-join tra due istanze di relazione R1 e R2, esso: a. seleziona le tuple di R1 e di R2 che contengono valori NULL b. gode delle proprietà commutativa e associativa c. gode della proprietà commutativa d. semplifica alcune operazioni, che richiederebbero altrimenti più operatori (es. differenza, proiezione, join naturale) 8.Si supponga di voler trovare i giocatori presenti nella istanza di relazione R1 di Giocatori Presenti, che hanno giocato in tutte le gare del campionato, riportate nella istanza di relazione R2 delle Gare Giocate. Il problema si risolve facilmente ricorrendo a: a. l'operatore di divisione b. l'operatore anti-join c. l'operatore full outer-join d. l'operatore proiezione 9 Si consideri l'operatore divisione tra due istanze di relazione R1 e R2, esso: a. gode della proprietà commutativa b. gode della proprietà associativa c. non gode delle proprietà commutativa e associativa d. gode delle proprietà commutativa e associativa 10 Si consideri l'operatore divisione tra due istanze di relazione R1 e R2, esso è un operatore derivato cioè: a. si basa sul concetto di derivata di funzione b. È esprimibile tramite gli altri operatori dell'algebra relazionale c. È un operatore di base dell'algebra relazionale d. È un operatore unario 10: Esercizi sugli operatori insiemistici: No Test 11: Esercizi sugli operatori join e divisione: No Test 12. Introduzione al linguaggio SQL 1. Lo Structured Query Language (SQL) è un linguaggio strutturato di interrogazione: a. interamente orientato agli oggetti b. interamente imperativo c. completamente procedurale d.dichiarativo 2. La modalità di invio dei dati al DBMS tramite SQL può essere: a. esclusivamente interattiva b. esclusivamente compilata c.sia interattiva che compilata d. esclusivamente batch 3 Il linguaggio SQL viene adottato come standard per la prima volta: a. nel 1974 dai laboratori IBM Research b.nel 1986 dall'ANSI c. nel 1975 con il nome SEQUEL-XRM d. nel 1977 con il nome SEQUEL/2 4 Il Data Definition Language (DDL) è una parte del linguaggio SQL che permette di: a.creare, modificare o eliminare gli oggetti in un database ovvero agire sullo schema del DB b. leggere e modificare i valori delle tabelle di una base di dati c. dare a un utente la possibilità o il privilegio di vedere alcune parti delle tabelle d. definire le strutture dati accessorie per recuperare efficientemente i dati 5 Il Data Manipulation Language (DML) è il linguaggio di manipolazione dei dati, esso consente: a. di creare, modificare o eliminare gli oggetti in un database ovvero agire sullo schema del DB b.di leggere e modificare i valori delle tabelle di una base di dati c. di dare a un utente la possibilità o il privilegio di vedere alcune parti delle tabelle d. di definire le strutture dati accessorie per recuperare efficientemente i dati 6 Il Data Control Language (DCL) consente: a. di creare, modificare o eliminare gli oggetti in un database ovvero agire sullo schema del DB b. di leggere e modificare i valori delle tabelle di una base di dati c.di dare a un utente la possibilità o il privilegio di vedere alcune parti delle tabelle d. di definire le strutture dati accessorie per recuperare efficientemente i dati 7 Le viste sono tabelle derivate da altre tabelle della base di dati. La creazione di una vista avviene con l'istruzione: a. ALTER VIEW b. DROP VIEW c.CREATE VIEW d. COMMIT 8 Si consideri la forma base di una interrogazione SQL. Essa deve contenere necessariamente: a. la clausola DISTINCT b. la clausola WHERE c. la clausola FROM, anche da sola d.una istruzione SELECT e una clausola FROM 9 L'istruzione SELECT corrisponde all'operatore dell'algebra relazionale: a. join b. selezione c.proiezione, ma non elimina eventuali duplicati d. divisione 10 L'istruzione SELECT DISTINCT corrisponde all'operatore dell'algebra relazionale: a. join b.proiezione c. selezione d. divisione 13. Interrogazioni SQL 1 Si consideri la tabella U(uid: integer, unome: string) che contiene id utente e nome utente. Se si volessero ottenere da U solo i valori dell'attributo uid, in SQL dovremmo scrivere: a. SELECT unome FROM U; b.SELECT uid FROM U; c. SELECT u, unome FROM U d. SELECT U FROM uid, unome; 2 Nel linguaggio SQL per rimuovere i duplicati si utilizza la parola chiave: a. DISTINCT dopo la SELECT b. DISTINCT dopo la clausola WHERE c. SELECT che agisce come la proiezione e quindi elimina i duplicati d. DELETE 3 La eliminazione dei duplicati in SQL: a. e' implicita nella SELECT b. deve essere eseguita sulle chiavi primarie c. si deve effettuare sempre d. si deve eseguire solo se necessario perché ha un costo in termini di risorse 4 Nel linguaggio SQL la clausola WHERE specifica le condizioni di selezione. Queste si applicano: a. solo alla colonna indicata dalla SELECT b. singolarmente ad ogni tupla della tabella presente nella clausola FROM c. confrontando righe diverse della tabella d. alle colonne della tabella presente nella clausola FROM 5 Nel linguaggio SQL la clausola WHERE specifica le condizioni di selezione. In particolare: a. non è possibile fare una ricerca testuale (stringhe) b.e' possibile anche fare una ricerca testuale (stringhe) c. non è possibile gestire valori NULL d. non si possono usare operatori di confronto 6 La parola chiave SELECT del linguaggio SQL corrisponde, nell'algebra relazionale, a: a. una selezione b. una proiezione, ma senza eliminazione dei duplicati c. una proiezione d. una intersezione 7 Si consideri la clausola FROM nel linguaggio SQL. Supponendo che contenga due tabelle A e B, allora: a. nella WHERE sarà presente almeno una condizione di join b. nella WHERE è possibile ci siano zero condizioni di join c. non ci possono essere nella WHERE tre condizioni di join d. non ci possono essere nella WHERE quattro condizioni di join 8 Si consideri il linguaggio SQL. Se si hanno più condizioni di selezione nella clausola WHERE, allora: a. va indicato al sistema l'ordine di esecuzione delle condizioni da eseguire b. va scritto in SQL l'ordine di esecuzione delle condizioni c. il sistema esegue sempre le condizioni nell'ordine scritto b. utilizza il sistema c. asserisce come risolvere il problema d. e' colui che ha una necessità informatica da risolvere 3 La progettazione del software coinvolge diverse professionalità. La figura che asserisce come risolvere il problema è: a. l'analista b. il progettista c. il manutentore d. il committente 4 Nell'ambito della progettazione del software, la classificazione delle applicazioni rispetto al flusso di controllo include i sistemi sequenziali. Un esempio di questo tipo di sistemi sono: a. i moderni sistemi operativi b. il sistema di navigazione autonoma di un aereo c. i video giochi d. un risolutore di sistemi di equazioni 5 Nell'ambito della progettazione del software, la classificazione delle applicazioni rispetto al flusso di controllo include i sistemi concorrenti. Un esempio di questo tipo di sistemi sono: a. qualunque applicazione con un unico flusso di controllo b.smartphone c. sistema operativo anni 80 d. un risolutore di sistemi di equazioni 6 Nell'ambito della progettazione del software, la classificazione delle applicazioni rispetto agli elementi di interesse primario include le applicazioni orientate alla gestione dei dati. Esempi di tale tipo di applicazioni sono: a. i DBMS b. i sistemi operativi per robot c. i sistemi ABS d. le applicazioni per il calcolo matematico come, ad esempio, Matlab 7 Nell'ambito della progettazione del software, la classificazione delle applicazioni rispetto agli elementi di interesse primario include le applicazioni orientate al controllo. Esempi di tale tipo di applicazioni sono: a. i DBMS b. i risolutori di sistemi di equazioni c. i sistemi ABS d. le applicazioni per il calcolo matematico come, ad esempio, Matlab 8 Il ciclo di vita del software definisce come sviluppare il software. Il primo passo da eseguire è: a. il progetto e la realizzazione b. la verifica c. lo schema concettuale d. lo studio di fattibilità 9 La fase di verifica nel ciclo di vita del software riguarda le attività per: a. stabilire come l'applicazione dovrà realizzare le sue funzioni b. stabilire cosa l'applicazione dovrà fare c. pianificare le attività e le risorse del progetto d. controllare che il programma svolga correttamente, completamente ed efficientemente il compito per cui è stato sviluppato 10 Il software può essere sviluppato seguendo differenti paradigmi. Tra essi, il modello a cascata o a spirale. Tra i due: a. il modello a cascata si è rivelato la strategia vincente b. il modello a spirale si è rivelato la strategia vincente c. il modello a cascata prevede diverse versioni del programma (alfa, beta etc.) d. il modello a spirale è stato abbandonato perché più costoso 2: Qualità del software 1 La qualità del software è un importante aspetto in ambito di progettazione del software. Esse si dividono in: aesterne ed interne b astratte e modulari c interne e non visibili d formali e non formali 2 Le qualità del software si dividono in esterne e interne. Le qualità esterne: a includono il tempo di collaudo b includono la modularizzazione c riguardano gli sviluppatori del software dsono visibili agli utenti del sistema 3 Tra i diversi fattori che condizionano le qualità esterne del software si trova: a la verificabilità bla correttezza c la leggibilità d la comprensibilità 4 Tra i diversi fattori che condizionano le qualità interne del software si trova: a l'usabilità b l'estendibilità cla modularità d la robustezza 5 In ambito di progettazione del software, la modularità concerne: a la facilità di operare su diverse piattaforme b la possibilità di verificare che il software funzioni e che gli obiettivi proposti siano stati conseguiti cl'organizzazione del software in parti specificate, unità o moduli, che interagiscono tra loro individualmente d la completezza della documentazione 6 Le qualità del software possono essere in contrasto l'una con l'altra. Per esempio sono in contrasto: ausabilità e sicurezza b modularità e leggibilità c comprensibilità e leggibilità d completezza ed efficacia della documentazione 7 Al fine di bilanciare le qualità del software in contrasto tra loro si deve considerare: a il ciclo di vita del software b il modello a spirale c il modello a cascata dla tendenza corrente nello sviluppo di applicazioni del software 8 Nello sviluppo del software il principio di rigore e formalità riguarda: a l'identificare aspetti fondamentali ed ignorare i dettagli irrilevanti b la realizzazione della separazione degli interessi in due fasi cl'approccio rigoroso che individua una soluzione tecnica deterministicamente corretta d l'affrontare separatamente i diversi aspetti per dominare la complessità 9 Nello sviluppo del software il principio di modularità concerne: a l'identificare aspetti fondamentali e ignorare i dettagli irrilevanti b la traduzione delle esigenze in una soluzione tecnica deterministicamente corretta c l'anticipazione del cambiamento dil costruire, nella pratica, unità software "piccole e ben fatte" 10 Nella progettazione del software, considerare una soluzione che sia il più generale possibile si identifica nel principio di: ageneralità b modularità c astrazione d incrementalità Modulo 5 Machine Learning 1: Machine learning e deep learning 1 La relazione che intercorre tra intelligenza artificiale, il machinelearning e il deeplearning può essere espressa tramite la simbologia della teoria degli insiemi: aall'interno dell'intelligenza artificiale si colloca il machinelearning b all'interno del machinelearning si colloca l'intelligenza artificiale c all'interno del deeplearning si colloca l'intelligenza artificiale d all'interno del deeplearning si colloca il machine learning 2 I primi lavori scientifici sull'intelligenza artificiale risalgono al 1950 circa. Essi hanno avuto risultati interessanti come la realizzazione di: a sistemi in grado di tagliare l'erba autonomamente b sistemi in grado di afferrare tramite una mano di un robot una matita c sistemi di miglioramento per le immagini digitali dprogrammi in grado di giocare a scacchi 3 Lo studio dell'intelligenza artificiale ha portato alla seguente conclusione: A differenza della sicurezza che misura la fiducia nel fatto che l'integrità di un sistema e dei suoi dati siano preservati, la protezione: concerne il meccanismo per il controllo dell'accesso alle risorse di un sistema informatico Al fine di bilanciare le qualità del software in contrasto tra loro si deve considerare: la tendenza corrente nello sviluppo di applicazioni del software Con il termine compromissione di integrità si intende: la modifica non autorizzata di dati e la modifica del codice sorgente Con le tecniche di apprendimento mediante machine learning: vengono generate delle regole che, se applicate ad uno specifico insieme di dati, forniscono i risultati desiderati Con riferimento ai linguaggi di interrogazione associati al modello relazionale, il data definition language (DDL): agisce sullo schema della base di dati Con riferimento ai linguaggi di interrogazione associati al modello relazionale, il data manipulation language (DML): permette di modificare direttamente i dati Considerando il concetto di chiave in uno schema di relazione R, sia r una istanza di R: una chiave per r è una superchiave minimale Consideriamo i comandi del modello HRU, siano s1,...,sm i soggetti e gli o1,...,om gli oggetti che compaiono nella lista dei parametri: un soggetto s può creare un nuovo file f Consideriamo il vincolo di foreign key (FK). E' possibile asserire che: il valore NULL contenuto in un attributo coinvolto in un vincolo di chiave esterna non costituisce violazione del vincolo Consideriamo il vincolo di foreign key (FK). Esso è rispettato se: per ogni valore non nullo della chiave esterna, esiste un valore corrispondente della chiave primaria nella tabella associata Consideriamo il vincolo in una tabella "Impiegato" per cui nessuna coppia di tuple possa avere lo stesso codice fiscale (CF). Esso è un vincolo di chiave della relazione, cioè: e' un insieme non vuoto di attributi che identificano univocamente le tuple di una relazione Consideriamo l'istanza r della relazione R. Se un vincolo generale non è soddifatto: r è una istanza non legale Consideriamo l'operatore di ridenominazione. Esso: È un operatore unario Consideriamo l'operatore intersezione tra due istanze di relazione R e S. Il risultato contiene: tutte le tuple (prese una sola volta) presenti contemporaneamente in R e S Consideriamo l'operatore unione tra due istanze di relazione R e S. Affinchè l'unione possa essere eseguita R e S devono avere: lo stesso numero di attributi Consideriamo la consistenza e l'integrità dei dati. Queste:sono vantaggi del DBMS d. e' un tipo di attacco non troppo pericoloso Gli attacchi DdoS: sono effettuati indirettamente tramite una rete bot spesso ampiamente diffusa; da qui il termine "distributed" I criteri per la scelta di una frase di accesso robusta sono: deve essere lunga, non contenere parole o frasi reperibili in un dizionario, facile da ricordare, difficile da intuire, contenere caratteri e numeri I DBMS e File System sono due modalità che possono essere adoperate per gestire, archiviare, recuperare e manipolare i dati:non ci sono casi in cui è meglio usare il file system invece che il DBSM I due principali algoritmi di cifratura sono la cifratura simmetrica e la cifratura asimmetrica. La cifratura simmetrica: utilizza una chiave privata comune a mittente e destinatario I linguaggi di interrogazione per basi di dati relazionali possono essere classificati in dichiarativi e procedurali. In particolare i linguaggi dichiarativi: dichiarano le proprietà del risultato senza fare riferimento alle procedure da eseguire per generare il risultato stesso (indicano che cosa) I primi lavori scientifici sull'intelligenza artificiale risalgono al 1950 circa. Essi hanno avuto risultati interessanti come la realizzazione di: programmi in grado di giocare a scacchi I quattro livelli del modello di sicurezza sono: applicazione, sistema operativo (SO), rete, fisico I sistemi di DB relazionali supportano vincoli generali in due forme: vincoli di tabella e asserzioni. Le asserzioni coinvolgono: diverse tabelle e sono controllate ogni volta che una di queste tabelle viene modificata I valori NULL non possono apparire in un campo di chiave primaria. Ciò significa che essi possono apparire: nella relazione referenziante I vantaggi di un modello di accesso DAC sono: la flessibilità in termini di specifiche delle politiche di accesso e il fatto di essere supportato da tutti i SO e i DBMS I vincoli di tupla sono vincoli di integrità: intrarelazionali Il "fattore umano" nell'ambito dei sistemi di sicurezza informatici riguarda: i comportamenti degli utenti umani che possano mettere, volontariamente o involontariamente, il sistema in pericolo Il Cavallo di Troia: e' un malware che agisce in modo malevolo che non esegue semplicemente la sua funzione dichiarata Il ciclo di vita del software definisce come sviluppare il software. Il primo passo da eseguire è: lo studio di fattibilità Il committente è una delle diverse figure professionali coinvolte nella progettazione del software. Esso:e' colui che ha una necessità informatica da risolvere Il costrutto di base per la descrizione dei dati nel modello relazionale è la relazione, che consiste: in uno schema relazionale e una istanza della relazione Il Data Base Management System (DBMS) è: un sistema di gestione di basi di dati basato su un modello dei dati descritto da una collezione di costrutti Il Data Base Management System o sistema di gestione di basi di dati: può essere visto come uno strato software che si interpone fra l'utente ed i dati veri e propri Il Data Control Language (DCL) consente: di dare a un utente la possibilità o il privilegio di vedere alcune parti delle tabelle Il Data Definition Language (DDL) è una parte del linguaggio SQL che permette di: creare, modificare o eliminare gli oggetti in un database ovvero agire sullo schema del DB Il Data Manipulation Language (DML) è il linguaggio di manipolazione dei dati, esso consente: di leggere e modificare i valori delle tabelle di una base di dati Il DBMS è un software progettato per: gestire e utilizzare grandi collezione di dati Il deep learning è una particolare branca del machine learning in cui il modello statistico viene imparato gerarchicamente, cioè: si hanno più strati di apprendimento concatenati Il join naturale gode delle seguenti proprietà: È un operatore binario, commutativo e associativo Il linguaggio SQL viene adottato come standard per la prima volta: nel 1986 dall'ANSI Il meccanismo di funzionamento del machine learning è basato sui dati. In particolare, il paradigma del machine learning prevede: come input i dati e le risposte attese e come output le regole che consentono di connettere i dati alle risposte attese Il modello Bell-Lapadula e' un modello che specifica un tipo di controllo d'accesso alle risorse in base ai soggetti e alla classificazione degli oggetti. Inoltre: e' un modello di protezione definito multilivello Il modello Bell-LaPadula si concentra su riservatezza di dati e accesso a informazioni classificate. In particolare, ai soggetti: sono assegnati i clearance levels (livelli di autorizzazione) Il modello Harrison-Ruzzo-Ullman (HRU):e' un modello che può essere classificato Discretionary Access Control (DAC) Il modello HRU ha introdotto alcuni concetti importanti quali la nozione di sistemi di autorizzazione e la nozione di sicurezza. Esso:consente agli utenti di concedere l'autorizzazione ad accedere ai propri oggetti ad altri utenti a propria discrezione Il modello relazionale si basa sul concetto matematico di relazione, ma con alcune differenze. L'elemento principale per la descrizione dei dati in questo modello è: la tabella Il Phishing consiste nel: contraffare e-mail o pagine web rendendole simili a quelle autentiche per spingere gli utenti tratti in inganno a comunicare informazioni confidenziali Il principio del minimo privilegio: prevede che a un utente vengano concessi i livelli minimi di accesso dei quali ha bisogno per svolgere le proprie mansioni Il problema del prigioniero e' un modello che mira semplicemente a spiegare i concetti della Steganografia: Alice e Bob sono due prigionieri che devono escogitare un piano per poter fuggire. Essi si scambiano dei messaggi attraverso il guardiano Wendy. Wendy scopre che i due si stanno scambiando messaggi, il piano fallirà Il risultato dell'operazione di proiezione: contiene al più tante ennuple quante ne ha l'operando Il semi-join tra due istanze di relazione R1 e R2 (R1 "semi-join" R2): non gode della proprietà commutativa Il software può essere sviluppato seguendo differenti paradigmi. Tra essi, il modello a cascata o a spirale. Tra i due: il modello a spirale si è rivelato la strategia vincente Il tema relativo all'implementazione della crittografia si inquadra facendo riferimento al progetto di una rete di comunicazione. In una rete di comunicazione: La comunicazione fra strati avviene attraverso uno specifico protocollo Il termine attacco DOS (Denial-of-service) indica: un attacco informatico che mira a rendere inutilizzabile una specifica macchina o una rete, rendendola inaccessibile agli utenti per cui è stata realizzata Il theta-join genera le coppie di una tupla di R1 e di una tupla di R2 che soddisfano una certa condizione. Esso è un operatore: binario, date due relazioni R1 e R2 genera una nuova relazione R3 che ha come schema tutti gli attributi di R1 e tutti quelli di R2 Il token è un dispositivo elettronico portatile, alimentato a batteria con autonomia dell'ordine di qualche anno. Esso è utilizzato: per generare un codice numerico temporaneo Il trojan mule: e' una variante classica del cavallo di troia che emula una procedura di login La fase di verifica nel ciclo di vita del software riguarda le attività per: controllare che il programma svolga correttamente, completamente ed efficientemente il compito per cui è stato sviluppato La griglia di Cardano, o griglia cardanica, e' un metodo per la scrittura di messaggi segreti inventato dal matematico italiano Girolamo Cardano nel 1550: consiste in fogli di materiale rigido, nei quali vengono ritagliati dei fori rettangolari ad intervalli irregolari. Appoggiando la griglia su un foglio di carta bianca, il messaggio segreto va scritto nei buchi, dove ciascun buco può contenere una o più lettere La modalità di invio dei dati al DBMS tramite SQL può essere: sia interattiva che compilata La parola chiave SELECT del linguaggio SQL corrisponde, nell'algebra relazionale, a: una proiezione, ma senza eliminazione dei duplicati La parola deep (profondo) sta ad indicare la "lunga" catena di rappresentazioni che vengono create in un sistema di apprendimento automatico. Il numero di layer che contribuiscono alla creazione del modello indicano: la profondità della rete La password OTP: si utilizza in genere quando si preferisce non inserire la propria password, ad esempio, sul PC di un Internet point La presenza del valore NULL nelle chiavi deve essere limitata: scegliendo per ogni relazione una chiave su cui non siano ammessi valori nulli La progettazione del software coinvolge diverse professionalità. La figura che asserisce come risolvere il problema è: il progettista La qualità del software è un importante aspetto in ambito di progettazione del software. Esse si dividono in: esterne ed interne La relazione che intercorre tra intelligenza artificiale, il machine learning e il deep learning può essere espressa tramite la simbologia della teoria degli insiemi: all'interno dell'intelligenza artificiale si colloca il machine learning La relazione intesa secondo il modello relazionale dei dati:presenta alcune differenze significative rispetto alla relazione matematica La scansione delle porte: non si può definire come un vero e proprio attacco ma come un mezzo impiegato da utenti malevoli per sondare le vulnerabilità di un sistema La selezione e la proiezione: permettono di ottenere informazioni importanti da una sola relazione La sicurezza nei sistemi informatici si occupa di: preservare le risorse del sistema da accessi non autorizzati La steganografia e' l'arte di nascondere un messaggio segreto in un contenitore all'apparenza normalissimo, inoltre: utilizza un canale pubblico come veicolo per lo scambio di messaggi che devono rimanere riservati Le qualità del software possono essere in contrasto l'una con l'altra. Per esempio sono in contrasto: usabilità e sicurezza Le qualità del software si dividono in esterne e interne. Le qualità esterne: sono visibili agli utenti del sistema Le tecniche di cifratura: servono per creare un ciphertext, ossia un testo cifrato Le viste sono tabelle derivate da altre tabelle della base di dati. La creazione di una vista avviene con l'istruzione: CREATE VIEW Lo scopo della steganografia: e' celare l'esistenza stessa della comunicazione Lo Structured Query Language (SQL) è un linguaggio strutturato di interrogazione: dichiarativo Lo studio dell'intelligenza artificiale ha portato alla seguente conclusione: non tutti i problemi che un essere umano si trova ad affrontare ogni giorno possono essere facilmente rappresentati tramite un insieme predefinito di regole Nel deep learning, le rappresentazioni vengono apprese tramite l'uso di reti neurali, grazie al fatto che: tecniche matematiche permettono di creare una rappresentazione accurata del problema derivata dai dati Nel linguaggio SQL la clausola WHERE specifica le condizioni di selezione. In particolare: e' possibile anche fare una ricerca testuale (stringhe) Nel linguaggio SQL la clausola WHERE specifica le condizioni di selezione. Queste si applicano:singolarmente ad ogni tupla della tabella presente nella clausola FROM Nel linguaggio SQL per rimuovere i duplicati si utilizza la parola chiave: DISTINCT dopo la SELECT Nel modello relazionale la tecnica del valore nullo (NULL): denota l'assenza di un valore del dominio Nell'ambito della progettazione del software, la classificazione delle applicazioni rispetto agli elementi di interesse primario include le applicazioni orientate al controllo. Esempi di tale tipo di applicazioni sono: i sistemi ABS Nell'ambito della progettazione del software, la classificazione delle applicazioni rispetto agli elementi di interesse primario include le applicazioni orientate alla gestione dei dati. Esempi di tale tipo di applicazioni sono: i DBMS Nell'ambito della progettazione del software, la classificazione delle applicazioni rispetto al flusso di controllo include i sistemi concorrenti. Un esempio di questo tipo di sistemi sono: smartphone Nell'ambito della progettazione del software, la classificazione delle applicazioni rispetto al flusso di controllo include i sistemi sequenziali. Un esempio di questo tipo di sistemi sono: un risolutore di sistemi di equazioni Nella modello relazionale i dati disponibili potrebbero non permettere di ottemperare esattamente al formato previsto. Se ad esempio l'informazione è incompleta: si adotta la tecnica del valore nullo (NULL) Nella progettazione del software, considerare una soluzione che sia il più generale possibile si identifica nel principio di: generalità Nello schema Studenti(matricola, cognome, nome, corso, data_di_nascita) una chiave può essere: matricola Nello sviluppo del software il principio di modularità concerne: il costruire, nella pratica, unità software "piccole e ben fatte" Nello sviluppo del software il principio di rigore e formalità riguarda: l'approccio rigoroso che individua una soluzione tecnica deterministicamente corretta Per indovinare la password possono essere usate diverse tecniche. Tra queste lo shoulder surfing: e' la sorveglianza visiva, ad esempio un intruso può sbirciare sopra la spalla dell'utente Per inserire dei valori in una tabella U si deve usare l'istruzione SQL: INSERT INTO U VALUES; Per protezione fisica di un sistema si intende: protezione dei luoghi che ospitano le macchine del sistema Per quanto riguarda le minacce relative al sistema e alla rete, i rischi per la sicurezza: aumentano se il sistema e' connesso alla rete Possiamo distinguere in due grandi categorie di controllo di accesso alle risorse: Discretionary Access Control e Mandatory Access Control Quale tra le seguenti affermazioni definisce correttamente la chiave esterna: e' una colonna o una combinazione di colonne i cui valori corrispondono a una chiave primaria in una tabella diversa Quale tra queste asserzioni potrebbe definire un vincolo di chiave in un ipotetico Database: non ci possono essere due impiegati con lo stesso codice fiscale Quali tra le seguenti può essere considerata una tecnica steganografica applicata in opere d'arte: inserimento di un particolare difficilmente visibile all'occhio dell'osservatore Quali tra le seguenti tecniche può essere utilizzata per inserire messaggi segreti all'interno di un cover object all'apparenza innocuo: modifica di bit di codifica all'interno di immagini digitali Se consideriamo informazioni al livello di sicurezza "Top-secret" nel modello BLP: le informazioni non possono essere scritte in files di livello Unclassified Se si combinano selezione e proiezione possono essere estratte interessanti informazioni: da una sola relazione Se si volesse estrarre attributo1 e attributo2 da una tabella A, eliminando eventuali duplicati, in SQL si scriverebbe: SELECT DISTINCT attributo1, attributo 2 FROM A Se un attributo di una tabella è definito in SQL come tipo varchar(4) esso: contiene un numero di caratteri variabile fino a 4 Si applichi l'operatore join naturale dell'algebra relazionale a due relazioni R1 e R2. Il risultato contiene: tutte le coppie formate da una tupla di R1 e da una tupla di R2 per cui, per gli attributi con stesso nome, il valore è uguale Si consideri il linguaggio SQL. Se si hanno più condizioni di selezione nella clausola WHERE, allora: non bisogna indicare come eseguire le condizioni, il sistema eseguirà prima la condizione più "economica" in termini di risorse di calcolo Si consideri il prodotto cartesiano. Se due relazioni hanno degli attributi con nomi identici, allora: per prassi, i nomi degli attributi possono essere indicati tra parentesi: possiamo riferirci a loro per mezzo della posizione Si consideri il theta-join. Esiste un caso particolare dove l'operatore di confronto "theta" è: l'operatore uguale = e si chiama equi-join Si consideri l'operatore anti-join tra due istanze di relazione R1 e R2, esso seleziona: le tuple di R1 semanticamente non legate da una condizione c alle tuple di R2 Si consideri l'operatore anti-join tra due istanze di relazione R1 e R2, esso: non gode né della proprietà commutativa né della proprietà associativa Un tipo di attacco in grado di crittografare le informazioni presenti sul computer di destinazione e renderle inaccessibili al proprietario: e' un ramsomware Un utente malintenzionato che rimane passivo intercettando il traffico di rete: sta compiendo un attacco sniffing Un vincolo di chiave primaria è un'asserzione che specifica che un insieme di attributi formano la chiave primaria della relazione: tale insieme di attributi forma una chiave per la relazione Un vincolo di inclusione fra una serie non vuota A di n attributi di una relazione R1 ed una serie B di n attributi di una relazione R2 impone che ogni combinazione di valori su A presenti in R1 compaia come combinazione di valori su B in R2: esso è una generalizzazione del vincolo di chiave esterna Un vincolo di integrità (VI) è una condizione che si esprime a livello di schema e che si intende debba essere soddisfatta da tutte le istanze della base di dati. Prendendo ad esempio i valori dell'attributo intero 'Età' di una tabella 'Persona': sarebbe un errore associare ad 'Età' un valore negativo Un vincolo di tupla che coinvolge un solo attributo si dice:vincolo di dominio Una base di dati è una collezione di dati: che viene mantenuta in memoria di massa, quindi in maniera non volatile e permanente Una istanza di base di dati su uno schema di base di dati è: un insieme di istanze di relazione, una istanza per ogni schema di relazione dello schema della base di dati Una relazione nel modello relazionale si può rappresentare come una tabella in cui i nomi degli attributi:sono usati come intestazioni delle colonne Una trap door progettata per attivarsi solo al verificarsi di uno specifico insieme di condizioni logiche: e' detta logic bomb Uno stego object all'apparenza innocuo: può essere costituito da un tatuaggio che nasconde un messaggio segreto Utilizzando la funzione f detta hash la password x si trasforma in f(x) detta password cifrata: se x è una parola del dizionario è possibile indovinare la password con un attacco dizionario Il theta-join genera le coppie di una tupla di R1 e di una tupla di R2 che soddisfano una certa condizione. Esso è un operatore: Binario, date due relazioni R1 e R2 genera una nuova relazione R3 che ha come schema tutti gli attributi di R1 e tutti quelli di R2 L'operatore di ridenominazione indicato con la lettera greca ρ ("ro"): Cambia lo schema del risultato, lasciando invariati i valori delle tuple • Che consentano di evitare l’inserimento di informazioni non corrette • Che formano una superchiave minimale Una base di dati è una collezione di dati: Che viene mantenuta in memoria di massa, quindi in maniera non volatile e permanente La griglia di Cardano, o griglia cardanica, e' un metodo per la scrittura di messaggi segreti inventato dal matematico italiano Girolamo Cardano nel 1550: Consiste in fogli di materiale rigido, nei quali vengono ritagliati dei fori rettangolari ad intervalli irregolari. Appoggiando la griglia su un foglio di carta bianca, il messaggio segreto va scritto nei buchi, dove ciascun buco può contenere una o più lettere Il risultato dell'operazione di proiezione: Contiene al più tante ennuple quante ne ha l’operando La fase di verifica nel ciclo di vita del software riguarda le attività per: Controllare che il programma svolga correttamente, completamente ed efficientemente il compito per cui è stato sviluppato Il Data Definition Language (DDL) è una parte del linguaggio SQL che permette di: Creare, modificare o eliminare gli oggetti in un database ovvero agire sullo schema del DB L'istruzione SQL create table si usa per: Creare una tabella in un DB Se si combinano selezione e proiezione possono essere estratte interessanti informazioni: Da una sola relazione Un sistema informativo è costituito da: Dati e informazioni di una organizzazione Nel modello relazionale la tecnica del valore nullo (NULL): Denota l’assenza di un valore del dominio Il Dml Dichiarativo Descrive cosa fare Il Data Manipulation Language (DML) è il linguaggio di manipolazione dei dati, esso consente: Di leggere e modificare i valori delle tabelle di una base di dati • Di relazioni diverse Nel linguaggio SQL per rimuovere i duplicati si utilizza la parola chiave: DISTINCT dopo la SELECT I linguaggi di interrogazione per basi di dati relazionali possono essere classificati in dichiarativi e procedurali. In particolare i linguaggi dichiarativi: Dichiarano le proprietà del risultato senza fare riferimento alle procedure da eseguire per generare il risultato stesso (indicano che cosa) In un algoritmo di autenticazione che utilizza chiavi simmetriche: È essenziale che non sia possibile derivare k dai testi cifrati L'oggetto che sarà usato come contenitore per l'inserimento del messaggio: È il coverobject o cover medium Per indovinare la password possono essere usate diverse tecniche. Tra queste lo shoulder surfing: È la sorveglianza visiva, ad esempio un intruso può sbirciare sopra la spalla dell’utente Nel linguaggio SQL la clausola WHERE specifica le condizioni di selezione. In particolare: È possibile anche fare una ricerca testuale (stringhe) Il modello Harrison-Ruzzo-Ullman (HRU): È un modello che può essere classificato Discretionary Access Control (DAC) Il modello Bell-Lapadula e' un modello che specifica un tipo di controllo d'accesso alle risorse in base ai soggetti e alla classificazione degli oggetti. Inoltre: È un modello di protezione definito multilivello Un tipo di attacco in grado di crittografare le informazioni presenti sul computer di destinazione e renderle inaccessibili al proprietario: È un ramsomware In un attacco di tipo "man in the middle": L’attaccante altera la comunicazione tra due parti che credono di essere in comunicazione diretta tra loro In un attacco di interposizione: L’intruso si interpone nella comunicazione e trasmette la propria chiave pubblica illegittima (che fa coppia con la sua chiave privata) Si supponga di voler trovare i giocatori presenti nella istanza di relazione R1 di Giocatori Presenti, che hanno giocato in tutte le gare del campionato, riportate nella istanza di relazione R2 delle Gare Giocate. Il problema si risolve facilmente ricorrendo a: L’operatore di divisione L’autenticazione degli utenti (basata su 3 elementi:oggetti come token,conoscenze come ID e password,attributi fisici come impronta) è: La capacità di identificare ogni utente del sistema • La protezione dalla intercettazione dei dati Cosa cerca di nascondere la steganografia? La stessa esistenza di una comunicazione riservata Se consideriamo informazioni al livello di sicurezza "Top-secret" nel modello BLP: Le informazioni non possono essere scritte in files di livello Unclassified Una classe di accesso ha due componenti: una di queste è il Security Level, in cui Le informazioni sono classificate in modo gerarchico: esse non possono essere trasferite da un livello di sicurezza superiore a un livello di sicurezza inferiore Indicare quale tra queste affermazioni è vera: Le tecniche biometriche sono più affidabili nel verificare l’identità di un utente rispetto agli altri metodi • Lo stesso risultato Il ciclo di vita del software definisce come sviluppare il software. Il primo passo da eseguire è: Lo studio di fattibilità Nello schema Studenti(matricola, cognome, nome, corso, data_di_nascita) una chiave può essere: Matricola Il linguaggio SQL viene adottato come standard per la prima volta: Nel 1986 dall’ANSI Si consideri la clausola WHERE del inguaggio SQL così definita: WHERE Utenti.uid = UC.uid AND UC.cid = Corsi.cid AND Corsi.cnome = 'nomecorso': Nella clausola FROM ci devono essere tre tabelle:Utenti, Corsi, e UC I valori NULL non possono apparire in un campo di chiave primaria. Ciò significa che essi possono apparire: Nella relazione referenziante Si consideri il linguaggio SQL. Se si hanno più condizioni di selezione nella clausola WHERE, allora: Non bisogna indicare come eseguire le condizioni, il sistema eseguirà prima la condizione più economica in termini di risorse di calcolo Si consideri l'operatore divisione tra due istanze di relazione R1 e R2, esso:Non gode delle proprietà commutativa e associativa Si consideri l'operatore anti-join tra due istanze di relazione R1 e R2, esso: Non gode né delle proprietà commutativa né della proprietà associativa La scansione delle porte: Non si può definire come un vero e proprio attacco ma come un mezzo impiegato da utenti malevoli per sondare le vulnerabilità di un sistema Indicare tra queste la migliore passphrase: nulla s1 Crea Nulla s1 D1strugge TuttO s1 TrasfOrma! Cifrario Di Cesare Ogni lettera del testo in chiaro è sostituita, nel testo cifrato, dalla lettera che si trova un certo numero di posizioni dopo nell’alfabeto Si dice che C èsuperchiave per r, se r non contiene due tuple distinte t1 e t2, tali che t1[C] =t2[C]. SUPERCHIAVE Dal momento che ogni schema di relazione ha almeno una superchiave ne consegue che Ogni schema di relazione abbia almeno una chiave SQL Opera a livello di set cioè su relazioni come l’algebra relazionale Si consideri il prodotto cartesiano. Se due relazioni hanno degli attributi con nomi identici, allora: Per prassi, i nomi degli attributi possono essere indicati tra parentesi:possiamo riferirci a loro per mezzo della posizione L'utilizzo degli IP di rete: Permette di risalire al mittente e al destinatario di messaggi L'istruzione SELECT DISTINCT corrisponde all'operatore dell'algebra relazionale: Proiezione La relazione intesa secondo il modello relazionale dei dati: Presenta alcune differenze significative rispetto alla relazione matematica Un elemento di dubbio per identificare una email di Phishing è il seguente: Presenza di testo invariato all’interno dell’e-mail come immagine La sicurezza nei sistemi informatici si occupa di: Preservare le risorse del sistema da accessi non autorizzati Il DBMS Prevede meccanismi per il controllo centralizzato dell’integrità dei dati • Restituisce lo schema della tabella nome_tabella Un sistema di gestione di basi di dati deve essere affidabile, cioè: Resistente a malfunzionamenti hardware e software Loschema della relazione rviene cambiato sostituendo al nomedell’attributo X1 il nome Y1, al nome dell’attributo X2 il nome Y2, e così via al nome dell’attributo Xnil nome Yn.Cambia lo schema del risultato, lasciando invariati i valori delle tuple. Produce come risultato un attributo non omogeneo. • Ridenominazione ρ Un vincolo di integrità (VI) è una condizione che si esprime a livello di schema e che si intende debba essere soddisfatta da tutte le istanze della base di dati. Prendendo ad esempio i valori dell'attributo intero 'Età' di una tabella 'Persona': Sarebbe un errore associare ad Età un valore negativo La presenza del valore NULL nelle chiavi deve essere limitata: Scegliendo per ogni relazione una chiave su cui non siano ammessi valori nulli In un sistema crittografico il ricevitore del messaggio: Se ha la chiave k utile alla decifratura otterrà il messaggio originale Utilizzando la funzione f detta hash la password x si trasforma in f(x) detta password cifrata: Una password casuale monouso creata in un certo istante di tempo La cifratura simmetrica e la cifratura asimmetrica sono due algoritmi di cifratura. La cifratura asimmetrica: Utilizza due diverse chiavi (chiave pubblica e privata) e ad ogni attore coinvolto nella comunicazione è associata una coppia di chiavi La steganografiae' l'arte di nascondere un messaggio segreto in un contenitore all'apparenza normalissimo, inoltre: Utilizza un canale pubblico come veicolo per lo scambio di messaggi che devono rimanere riservati I due principali algoritmi di cifratura sono la cifratura simmetrica e la cifratura asimmetrica. La cifratura simmetrica: Utilizza una chiave privata comune a mittente e destinatario Attributo /oppure/ L’operatore π (proiezione) estrae unsottoinsieme verticale della relazione operando una decomposizione verticale. • Verticalmente Sistemi di elaborazione delle informazioni controllare capitolo 10 del 3 base dati che non prevede autovalutazione Controllare capitolo 5 numero 2 controllare capitolo 3 numero 11 controllare capitolo 3 numero 14 controllare capitolo 3 lezione La sicurezza nei sistemi informatici si occupa di: preservare le risorse del sistema da accessi non autorizzati In un attacco di tipo "man in the middle": l'attaccante altera la comunicazione tra due parti che credono di essere in comunicazione diretta tra loro Il termine attacco DOS (Denial-of-service) indica: un attacco informatico che mira a rendere inutilizzabile una specifica macchina o una rete, rendendola inaccessibile agli utenti per cui è stata realizzata Con il termine compromissione di integrità si intende: la modifica non autorizzata di dati e la modifica del codice sorgente Per protezione fisica di un sistema si intende: protezione dei luoghi che ospitano le macchine del sistema I quattro livelli del modello di sicurezza sono: applicazione, sistema operativo (SO), rete, fisico La crittografia può essere utilizzata per prevenire attachi a livello: di rete Il "fattore umano" nell'ambito dei sistemi di sicurezza informatici riguarda: i comportamenti degli utenti umani che possano mettere, volontariamente o involontariamente, il sistema in pericolo Il Phishing consiste nel: contraffare e-mail o pagine web rendendole simili a quelle autentiche per spingere gli utenti tratti in inganno a comunicare informazioni confidenziali Un elemento di dubbio per identificare una email di Phishing è il seguente: presenza di testo inviato all'interno dell'e-mail come immagine Il Cavallo di Troia: e' un malware che agisce in modo malevolo che non esegue semplicemente la sua funzione dichiarata Il trojan mule: e' una variante classica del cavallo di troia che emula una procedura di login Un programma che emula la procedura di accesso alla sessione di lavoro sottrandendo nome utente e password: e' un trojan mule Un tipo di attacco in grado di crittografare le informazioni presenti sul computer di destinazione e renderle inaccessibili al proprietario: e' un ramsomware Una trap door progettata per attivarsi solo al verificarsi di uno specifico insieme di condizioni logiche: e' detta logic bomb Il principio del minimo privilegio: prevede che a un utente vengano concessi i livelli minimi di accesso dei quali ha bisogno per svolgere le proprie mansioni Per quanto riguarda le minacce relative al sistema e alla rete, i rischi per la sicurezza: aumentano se il sistema e' connesso alla rete Un utente malintenzionato che rimane passivo intercettando il traffico di rete: sta compiendo un attacco sniffing La scansione delle porte: non si può definire come un vero e proprio attacco ma come un mezzo impiegato da utenti malevoli per sondare le vulnerabilità di un sistema L'utilizzo degli IP di rete: permette di risalire al mittente e al destinatario di messaggi I due principali algoritmi di cifratura sono la cifratura simmetrica e la cifratura asimmetrica. La cifratura simmetrica: utilizza una chiave privata comune a mittente e destinatario La cifratura simmetrica e la cifratura asimmetrica sono due algoritmi di cifratura. La cifratura asimmetrica: utilizza due diverse chiavi (chiave pubblica e privata) e ad ogni attore coinvolto nella comunicazione è associata una coppia di chiavi n quale delle seguenti situazioni il sistema operativo può determinare con certezza il mittente e il destinatario: in un calcolatore isolato In un sistema crittografico il ricevitore del messaggio: se ha la chiave k utile alla decifratura otterrà il messaggio originale In un algoritmo di autenticazione che utilizza chiavi simmetriche: È essenziale che non sia possibile derivare k dai testi cifrati In un attacco di interposizione: l'intruso si interpone nella comunicazione e trasmette la propria chiave pubblica illegittima (che fa coppia con la sua chiave privata) Le tecniche di cifratura: servono per creare un ciphertext, ossia un testo cifrato La crittografia si può implementare: nei vari livelli del modello OSI Il tema relativo all'implementazione della crittografia si inquadra facendo riferimento al progetto di una rete di comunicazione. In una rete di comunicazione: la comunicazione fra strati avviene attraverso uno specifico protocollo Un importante problema di sicurezza per i sistemi operativi è l'autenticazione degli utenti. Essa è basata: su oggetti, conoscenze e attributi fisici Il token è un dispositivo elettronico portatile, alimentato a batteria con autonomia dell'ordine di qualche anno. Esso è utilizzato: per generare un codice numerico temporaneo Un importante problema di sicurezza per i sistemi operativi è l'autenticazione Consideriamo la consistenza e l'integrità dei dati. Queste: sono vantaggi del DBMS Tra i vantaggi dei DBMS troviamo l'affidabilità dei dati, ossia: il fatto che i DBMS offrano meccanismi per la protezione dei dati da malfunzionamenti I DBMS e File System sono due modalità che possono essere adoperate per gestire, archiviare, recuperare e manipolare i dati: non ci sono casi in cui è meglio usare il file system invece che il DBSM Il modello relazionale si basa sul concetto matematico di relazione, ma con alcune differenze. L'elemento principale per la descrizione dei dati in questo modello è: la tabella Il costrutto di base per la descrizione dei dati nel modello relazionale è la relazione, che consiste: in uno schema relazionale e una istanza della relazione La relazione intesa secondo il modello relazionale dei dati: presenta alcune differenze significative rispetto alla relazione matematica Si consideri la relazione nella sua accezione matematica. Il prodotto cartesiano di n insiemi I1 × I2 ×…× In è: l'insieme di tutte le ennuple (o tuple) ordinate (i1, i2,…, in) tali che i1 ∈ I1, i2 ∈ I2,…, in ∈ In Una relazione nel modello relazionale si può rappresentare come una tabella in cui i nomi degli attributi: sono usati come intestazioni delle colonne In una relazione del modello relazionale si ha che: i valori di ciascuna colonna appartengono allo stesso dominio Una istanza di base di dati su uno schema di base di dati è: un insieme di istanze di relazione, una istanza per ogni schema di relazione dello schema della base di dati Nella modello relazionale i dati disponibili potrebbero non permettere di ottemperare esattamente al formato previsto. Se ad esempio l'informazione è incompleta: si adotta la tecnica del valore nullo (NULL) Nel modello relazionale la tecnica del valore nullo (NULL): denota l'assenza di un valore del dominio L'utilizzo di NULL è necessario quando non esiste, non è noto o non si conosce l'esistenza di un valore del dominio. I DBMS: non fanno alcuna distinzione tra le diverse situazioni di necessità per l'uso del valore nullo Un vincolo di integrità (VI) è una condizione che si esprime a livello di schema e che si intende debba essere soddisfatta da tutte le istanze della base di dati. Prendendo ad esempio i valori dell'attributo intero 'Età' di una tabella 'Persona': sarebbe un errore associare ad 'Età' un valore negativo L'operatore AND serve a concatenare tra loro due espressioni Booleane a e b. Se a ha valore TRUE e B ha valore FALSE, l'espressione a AND b ha valore: FALSE I vincoli di tupla sono vincoli di integrità: intrarelazionali Un vincolo di tupla che coinvolge un solo attributo si dice: vincolo di dominio Consideriamo il vincolo in una tabella "Impiegato" per cui nessuna coppia di tuple possa avere lo stesso codice fiscale (CF). Esso è un vincolo di chiave della relazione, cioè: e' un insieme non vuoto di attributi che identificano univocamente le tuple di una relazione Quale tra queste asserzioni potrebbe definire un vincolo di chiave in un ipotetico Database: non ci possono essere due impiegati con lo stesso codice fiscale Considerando il concetto di chiave in uno schema di relazione R, sia r una istanza di R: una chiave per r è una superchiave minimale Nello schema Studenti(matricola, cognome, nome, corso, data_di_nascita) una chiave può essere: matricola La presenza del valore NULL nelle chiavi deve essere limitata: scegliendo per ogni relazione una chiave su cui non siano ammessi valori nulli Un vincolo di chiave primaria è un'asserzione che specifica che un insieme di attributi formano la chiave primaria della relazione: tale insieme di attributi forma una chiave per la relazione Il vincolo di integrità referenziale è un vincolo interrelazionale. Quando siamo in presenza di questo vincolo si ha che: considerando le informazioni contenute in relazioni diverse, queste sono correlate per mezzo di valori comuni Quale tra le seguenti affermazioni definisce correttamente la chiave esterna: e' una colonna o una combinazione di colonne i cui valori corrispondono a una chiave primaria in una tabella diversa L'integrità referenziale viene rispettata quando per ogni valore non nullo della chiave esterna, esiste un valore corrispondente della chiave primaria nella tabella associata. Si ha che: la chiave esterna fa parte della tabella referenziante Consideriamo il vincolo di foreign key (FK). Esso è rispettato se: per ogni valore non nullo della chiave esterna, esiste un valore corrispondente della chiave primaria nella tabella associata Consideriamo il vincolo di foreign key (FK). E' possibile asserire che: l valore NULL contenuto in un attributo coinvolto in un vincolo di chiave esterna non costituisce violazione del vincolo I valori NULL non possono apparire in un campo di chiave primaria. Ciò significa che essi possono apparire: nella relazione referenziante Sia ordini una relazione referenziante con un vincolo di FK su clienti (relazione referenziata). Si ha che: i valori non NULL della FK di ordini devono trovarsi nella chiave di clienti Un vincolo di inclusione fra una serie non vuota A di n attributi di una relazione R1 ed una serie B di n attributi di una relazione R2 impone che ogni combinazione di valori su A presenti in R1 compaia come combinazione di valori su B in R2: esso è una generalizzazione del vincolo di chiave esterna Consideriamo l'istanza r della relazione R. Se un vincolo generale non è soddifatto: r è una istanza non legale I sistemi di DB relazionali supportano vincoli generali in due forme: vincoli di tabella e asserzioni. Le asserzioni coinvolgono: diverse tabelle e sono controllate ogni volta che una di queste tabelle viene modificata Con riferimento ai linguaggi di interrogazione associati al modello relazionale, il data definition language (DDL): agisce sullo schema della base di dati Con riferimento ai linguaggi di interrogazione associati al modello relazionale, il data manipulation language (DML): permette di modificare direttamente i dati I linguaggi di interrogazione per basi di dati relazionali possono essere classificati in dichiarativi e procedurali. In particolare i linguaggi dichiarativi: dichiarano le proprietà del risultato senza fare riferimento alle procedure da eseguire per generare il risultato stesso (indicano che cosa) L'algebra relazionale è un linguaggio formale di tipo algebrico i cui operandi sono relazioni. In particolare: e' un linguaggio procedurale, in cui cioè le operazioni complesse vengono specificate descrivendo il procedimento da seguire per ottenere la soluzione Consideriamo l'operatore unione tra due istanze di relazione R e S. Affinchè l'unione possa essere eseguita R e S devono avere: lo stesso numero di attributi Consideriamo l'operatore intersezione tra due istanze di relazione R e S. Il risultato contiene: tutte le tuple (prese una sola volta) presenti contemporaneamente in R e S La differenza tra due relazioni R e S è indicata con R - S e contiene tutte le tuple che sono presenti in R ma che non esistono in S. Inoltre: R e S devono essere compatibili rispetto all'unione Si consideri il prodotto cartesiano. Se due relazioni hanno degli attributi con nomi identici, allora: per prassi, i nomi degli attributi possono essere indicati tra parentesi: possiamo riferirci a loro per mezzo della posizione Consideriamo l'operatore di ridenominazione. Esso: È un operatore unario L'operatore di ridenominazione indicato con la lettera greca ρ ("ro"): cambia lo schema del risultato, lasciando invariati i valori delle tuple L'operatore di selezione σ consente di selezionare un sottoinsieme delle tuple di una relazione r, applicando a ciascuna di esse una data condizione. L'istanza di relazione risultante dalla selezione: contiene le tuple di r che rendono vera tale condizione Si consideri l'operatore di selezione. Esso è: un operatore unario che permette di manipolare i dati di una singola relazione La condizione di selezione si applica a ciascuna tupla dell'istanza di relazione: singolarmente, quindi non può coinvolgere più di una tupla L'operatore di proiezione "proietta" le colonne di una relazione. Il simbolo è π al cui pedice viene indicata la lista degli attributi che costituiscono la nuova relazione. Tale lista: È un sottoinsieme degli attributi della relazione originale Si consideri l'operatore proiezione. I campi di interesse: sono indicati nella lista degli attributi, mentre gli altri campi sono "proiettati fuori" Il risultato dell'operazione di proiezione: contiene al più tante ennuple quante ne ha l'operando Si consideri l'operatore proiezione. Se la lista di attributi è una superchiave della relazione r, allora, la relazione risultante: ha lo stesso numero di tuple presenti in r Si consideri una lista di attributi dell'operatore proiezione che sia una superchiave di una relazione r, allora, la relazione risultante: ha la stessa cardinalità di r Un algoritmo di machine learning riesce a creare un modello predittivo in grado di ottenere buoni risultati su nuovi dati (diversi dai dati di training). Questo è possibile se: i dati di training sono stati scelti in modo da rispecchiare la distribuzione statistica dei casi reali Il deep learning è una particolare branca del machine learning in cui il modello statistico viene imparato gerarchicamente, cioè: si hanno più strati di apprendimento concatenati La parola deep (profondo) sta ad indicare la "lunga" catena di rappresentazioni che vengono create in un sistema di apprendimento automatico. Il numero di layer che contribuiscono alla creazione del modello indicano: la profondità della rete Nel deep learning, le rappresentazioni vengono apprese tramite l'uso di reti neurali, grazie al fatto che: tecniche matematiche permettono di creare una rappresentazione accurata del problema derivata dai dati Il committente è una delle diverse figure professionali coinvolte nella progettazione del software. Esso: e' colui che ha una necessità informatica da risolvere L'analista è una delle diverse figure professionali coinvolte nella progettazione del software. Esso: dichiara cosa serve per risolvere il problema La progettazione del software coinvolge diverse professionalità. La figura che asserisce come risolvere il problema è: il progettista Nell'ambito della progettazione del software, la classificazione delle applicazioni rispetto al flusso di controllo include i sistemi sequenziali. Un esempio di questo tipo di sistemi sono: un risolutore di sistemi di equazioni Nell'ambito della progettazione del software, la classificazione delle applicazioni rispetto al flusso di controllo include i sistemi concorrenti. Un esempio di questo tipo di sistemi sono: smartphone Nell'ambito della progettazione del software, la classificazione delle applicazioni rispetto agli elementi di interesse primario include le applicazioni orientate alla gestione dei dati. Esempi di tale tipo di applicazioni sono: i DBMS Nell'ambito della progettazione del software, la classificazione delle applicazioni rispetto agli elementi di interesse primario include le applicazioni orientate al controllo. Esempi di tale tipo di applicazioni sono: i sistemi ABS Il ciclo di vita del software definisce come sviluppare il software. Il primo passo da eseguire è: lo studio di fattibilità La fase di verifica nel ciclo di vita del software riguarda le attività per: controllare che il programma svolgacorrettamente, completamente edefficientemente il compito per cui è stato sviluppato l software può essere sviluppato seguendo differenti paradigmi. Tra essi, il modello a cascata o a spirale. Tra i due: l modello a spirale si è rivelato la strategia vincente La qualità del software è un importante aspetto in ambito di progettazione del software. Esse si dividono in: esterne ed interne Le qualità del software si dividono in esterne e interne. Le qualità esterne: sono visibili agli utenti del sistema Tra i diversi fattori che condizionano le qualità esterne del software si trova: la correttezza Tra i diversi fattori che condizionano le qualità interne del software si trova: la modularità In ambito di progettazione del software, la modularità concerne: l'organizzazione del software in parti specificate, unità o moduli, che interagiscono tra loro individualmente Le qualità del software possono essere in contrasto l'una con l'altra. Per esempio sono in contrasto: usabilità e sicurezza Al fine di bilanciare le qualità del software in contrasto tra loro si deve considerare: la tendenza corrente nello sviluppo di applicazioni del software Nello sviluppo del software il principio di rigore e formalità riguarda: l'approccio rigoroso che individua una soluzione tecnica deterministicamente corretta Nello sviluppo del software il principio di modularità concerne: il costruire, nella pratica, unità software "piccole e ben fatte" Nella progettazione del software, considerare una soluzione che sia il più generale possibile si identifica nel principio di: generalità Lo Structured Query Language (SQL) è un linguaggio strutturato di interrogazione: dichiarativo La modalità di invio dei dati al DBMS tramite SQL può essere: sia interattiva che compilata Il linguaggio SQL viene addottato come standard per la prima volta: nel 1986 dall'ANSI Il Data Definition Language (DDL) è una parte del linguaggio SQL che permette di: creare, modificare o eliminare gli oggetti in un database ovvero agire sullo schema del DB Il Data Manipulation Language (DML) è il linguaggio di manipolazione dei dati, esso consente: di leggere e modificare i valori delle tabelle di una base di dati Il Data Control Language (DCL) consente: di dare a un utente la possibilità o il privilegio di vedere alcune parti delle tabelle Le viste sono tabelle derivate da altre tabelle della base di dati. La creazione di una vista avviene con l'istruzione: CREATE VIEW Si consideri la forma base di una interrogazione SQL. Essa deve contenere necessariamente: una istruzione SELECT e una clausola FROM L'istruzione SELECT corrisponde all'operatore dell'algebra relazionale: proiezione, ma non elimina eventuali duplicati L'istruzione SELECT DISTINCT corrisponde all'operatore dell'algebra relazionale: proiezione Si consideri la tabella U(uid: integer, unome: string) che contiene id utente e nome utente. Se si volessero ottenere da U solo i valori dell'attributo uid, in SQL dovremmo scrivere: SELECT uid FROM U; Nel linguaggio SQL per rimuovere i duplicati si utilizza la parola chiave: DISTINCT dopo la SELECT La eliminazione dei duplicati in SQL: si deve eseguire solo se necessario perché ha un costo in termini di risorse Nel linguaggio SQL la clausola WHERE specifica le condizioni di selezione. Queste si applicano: singolarmente ad ogni tupla della tabella presente nella clausola FROM Nel linguaggio SQL la clausola WHERE specifica le condizioni di selezione. In particolare: e' possibile anche fare una ricerca testuale (stringhe) La parola chiave SELECT del linguaggio SQL corrisponde, nell'algebra relazionale, a: una proiezione, ma senza eliminazione dei duplicati Si consideri la clausola FROM nel linguaggio SQL. Supponendo che contenga due tabelle A e B, allora: nella WHERE sarà presente almeno una condizione di join Si consideri il linguaggio SQL. Se si hanno più condizioni di selezione nella clausola WHERE, allora: non bisogna indicare come eseguire le condizioni, il sistema eseguirà prima la condizione più "economica" in termini di risorse di calcolo Si consideri la clausola WHERE del inguaggio SQL così definita: WHERE Utenti.uid = UC.uid AND UC.cid = Corsi.cid AND Corsi.cnome = 'nomecorso': nella clausola FROM ci devono essere tre tabelle: Utenti, Corsi, e UC Si consideri una interrogazione SQL base. Se si hanno N tabelle nella clausola FROM ed è presente la clausola WHERE: avremo almeno N-1 condizioni nella clausola WHERE Si consideri la tabella U(uid: integer, unome: string) che contiene id utente e nome utente all'interno di un database utenti. Per visualizzare lo schema della tabella U si utilizzza l'istruzione SQL: DESCRIBE U; L'istruzione SQL create table si usa per: creare una tabella di un DB Si consideri un campo di una tabella definito in SQL come PRIMARY KEY. Esso: non può contenere valori NULL Se un attributo di una tabella è definito in SQL come tipo varchar(4) esso: contiene un numero di caratteri variabile fino a 4 Per inserire dei valori in una tabella U si deve usare l'istruzione SQL:INSERT INTO U VALUES; Si consideri la tabella U di un database. In SQL, per selezionare tutte le tuple della tabella U si utilizza: SELECT * FROM U; In SQL, per visualizzare tutti i dati inseriti in una tabella U si utilizza: SELECT * FROM U; Se si volesse estrarre attributo1 e attributo2 da una tabella A, eliminando eventuali duplicati, in SQL si scriverebbe: SELECT DISTINCT attributo1, attributo 2 FROM A; Si consideri una interrogazione SQL base. Se si hanno N tabelle nella clausola FROM ed è presente la clausola WHERE: avremo almeno N-1 condizioni nella clausola WHERE Si consideri la clausola WHERE del inguaggio SQL così definita: WHERE Utenti.uid = UC.uid AND UC.cid = Corsi.cid AND Corsi.cnome = 'nomecorso': nella clausola FROM ci devono essere tre tabelle: Utenti, Corsi, e UC Consideriamo il vincolo in una tabella "Impiegato" per cui nessuna coppia di tuple possa avere lo stesso codice fiscale (CF). Esso è un vincolo di chiave della relazione, cioè: e' un insieme non vuoto di attributi che identificano univocamente le tuple di una relazione Consideriamo l'integrità dei dati. Essa si riferisce ai processi da attuare su dati provvisori...diverse sorgenti informative per fornire all'utente una visione unificata di quei dati. Un DBMS rispetto al file system consiste nel fatto che: prevede meccanismi per il controllo centralizzato dell'integrità̀' dei dati / testi Consideriamo l'istanza r della relazione R. Se un vincolo generale non è soddisfatto: r è una istanza non legale Consideriamo l'operatore di ridenominazione. Esso: È un operatore unario Consideriamo l'operatore intersezione tra due istanze di relazione R e S. Il risultato contiene: tutte le tuple (prese una sola volta) presenti contemporaneamente in R e S Consideriamo l'operatore unione tra due istanze di relazione R e S. Affinchè l'unione possa essere eseguita R e S devono avere: lo stesso numero di attributi Consideriamo l’integrazione dei dati. Essa si riferisce ai processi da attuare su dati provenienti da diverse sorgenti informative per fornire all'utente una visione unificata di quei dati. Un DBMS differisce rispetto al File system perché: In una collezione di file del SO ogni applicazione ha i suoi archivi, e i dati possono essere duplicati. Nei DBMS invece i dati sono organizzati per poter essere usati da diverse applicazioni. Consideriamo la consistenza e l'integrità dei dati. Queste: sono vantaggi del DBMS Consideriamo una base di dati e una istanza di relazione della base di dati denominata “tabella”. Se volessimo proiettare il campo denominato “nome” con SQL, volendo nel risultato esattamente quello che si otterrebbe con l’operatore π dell’algebra relazionale, si deve scrivere: SELECT DISTINCT nome FROM tabella Consideriamo una istanza di relazione che ha cinque campi (attributi). Si puZ affermare che: Il grado della istanza di relazione è uguale a 5 Consideriamo una tabella denominata nome_tabella con due attributi formati dal campo nome e da campo età. Con SQL, scrivendo “SELECT nome, età FROM tabella”, OPPURE “SELECT FROM tabella”, si ottiene: lo stesso risultato D Dati e informazioni insieme a persone denaro e materiali costituiscono: il sistema informativo di un’organizzazione Domanda (spyware): Un’altra variante del cavallo di Troia è lo Spyware. Esso talvolta accompagna un programma che l’utente ha scelto di installare, spia quello che fa sul computer e su internet, può anche prendere parziale controllo del computer, ma in genere raccolgono dati e info personale senza che l’utente se ne accorga Domanda (Valori di verità): Con operatori and, or e not G Gli attacchi DDoS: sono effettuati indirettamente tramite una rete bot spesso ampiamente diffusa; da qui il termine "distributed" Gli operatori di selezione σ e proiezione π) sono detti ortogonali. In particolare, l’operatore π opera: verticalmente I I DBMS e File System sono due modalità che possono essere adoperate per gestire, archiviare, recuperare e manipolare i dati: non ci sono casi in cui è meglio usare il file system invece che il DBSM I due principali algoritmi di cifratura sono la cifratura simmetrica e la cifratura asimmetrica. La cifratura simmetrica: utilizza una chiave privata comune a mittente e destinatario I linguaggi di interrogazione per basi di dati relazionali possono essere classificati in dichiarativi e procedurali. In particolare i linguaggi dichiarativi: dichiarano le proprietà del risultato senza fare riferimento alle procedure da eseguire per generare il risultato stesso (indicano che cosa) I primi lavori scientifici sull'intelligenza artificiale risalgono al 1950 circa. Essi hanno avuto risultati interessanti come la realizzazione di: programmi in grado di giocare a scacchi I principi fondamentali della programmazione orientata agli oggetti (object oriented) sono l'incapsulamento, l'astrazione, l'ereditarietà e il polimorfismo. In particolare, l'incapsulamento ha lo scopo: di dare accesso allo stato e ai comportamenti di un oggetto solo attraverso un sottoinsieme di elementi pubblici I quattro livelli del modello di sicurezza sono: applicazione, sistema operativo (SO), rete, fisico I sistemi di DB relazionali supportano vincoli generali in due forme: vincoli di tabella e asserzioni. Le asserzioni coinvolgono: diverse tabelle e sono controllate ogni volta che una di queste tabelle viene modificata I sistemi di gestione di basi di dati sono sempre pif indispensabili per gestire la quantità crescente di informazioni da memorizzare. Dati e informazioni insieme a persone, denaro e materiali…: costituiscono il sistema informativo di un’organizzazione I sistemi di gestione di basi di dati sono sempre pif indispensabili per gestire la quantità crescente di informazioni da memorizzare. Dati e informazioni insieme a persone, denaro e materiali…..: costituiscono le risorse fondamentali di una organizzazione e formano il sistema informativo I valori NULL non possono apparire in un campo di chiave primaria. CiZ significa che essi possono apparire: nella relazione referenziante I vantaggi del modello DAC sono: il fatto che sia un modello flessibile in fatto di definizione delle politiche, supportato da tutti i SO e i DBMS I vantaggi di un modello di accesso DAC sono: la flessibilità in termini di specifiche delle politiche di accesso e il fatto di essere supportato da tutti i SO e i DBMS I vincoli di tupla sono vincoli di integrità: intrarelazionali Il "fattore umano" nell'ambito dei sistemi di sicurezza informatici riguarda: i comportamenti degli utenti umani che possano mettere, volontariamente o involontariamente, il sistema in pericolo Il C è un linguaggio di programmazione imperativo di natura procedurale. Diversamente dai programmi OO (object oriented), i programmi scritti in C: sono composti da espressioni matematiche e da istruzioni Il Cavallo di Troia: e' un malware che agisce in modo malevolo che non esegue semplicemente la sua funzione dichiarata Il ciclo di vita del software definisce come sviluppare il software. Il primo passo da eseguire è: lo studio di fattibilità Il committente è una delle diverse figure professionali coinvolte nella progettazione del software. Esso: e' colui che ha una necessità informatica da risolvere Il costrutto di base per la descrizione dei dati nel modello relazionale è la relazione, che consiste: in uno schema relazionale e una istanza della relazione Il Data Base Management System (DBMS) è: un sistema di gestione di basi di dati basato su un modello dei dati descritto da una collezione di costrutti Il Data Base Management System o sistema di gestione di basi di dati: può essere visto come uno strato software che si interpone fra l'utente ed i dati veri e propri Il Data Control Language (DCL) consente: di dare a un utente la possibilità o il privilegio di vedere alcune parti delle tabelle Il Data Definition Language (DDL) è una parte del linguaggio SQL che permette di: creare, modificare o eliminare gli oggetti in un database ovvero agire sullo schema del DB Il Data Manipulation Language (DML) è il linguaggio di manipolazione dei dati, esso consente: di leggere e modificare i valori delle tabelle di una base di dati Il DBMS è un software progettato per: gestire e utilizzare grandi collezioni di dati Il deep learning è una particolare branca del machine learning in cui il modello statistico viene imparato gerarchicamente, cioè: si hanno più strati di apprendimento concatenati In SQL, per visualizzare tutti i dati inseriti in una tabella U si utilizza: SELECT * FROM U; In un algoritmo di autenticazione che utilizza chiavi simmetriche: È essenziale che non sia possibile derivare k dai testi cifrati In un attacco di interposizione: l'intruso si interpone nella comunicazione e trasmette la propria chiave pubblica illegittima (che fa coppia con la sua chiave privata) In un attacco di tipo "man in the middle": l'attaccante altera la comunicazione tra due parti che credono di essere in comunicazione diretta tra loro In un linguaggio di programmazione orientato agli oggetti (object oriented), gli oggetti: permettono di modellare più facilmente il mondo reale In un linguaggio di programmazione orientato agli oggetti (object oriented): il focus è sugli oggetti, in modo da creare più facilmente modelli basati sul mondo reale In un modulo, i meccanismi di accesso alle funzionalità del modulo stesso sono meccanismi che regolano: come accedere alle funzionalità del modulo e come questi accede agli altri moduli In un sistema crittografico il ricevitore del messaggio: se ha la chiave k utile alla decifratura otterrà il messaggio originale In un sistema informatico, per archivio tradizionale s'intende uno o pif file di archivio, in cui: i dati vengono gestiti direttamente dal software dell'applicazione utilizzatrice In una relazione del modello relazionale si ha che: i valori di ciascuna colonna appartengono allo stesso dominio Indicare quale tra queste affermazioni è vera: le tecniche biometriche sono più affidabili nel verificare l'identità di un utente rispetto agli altri metodi Indicare tra queste la migliore passphrase: nulla s1 Crea Nulla s1 D1strugge Tutt0 s1 Trasf0rma! L’ L'algebra relazionale è un linguaggio formale di tipo algebrico i cui operandi sono relazioni. In particolare: e' un linguaggio procedurale, in cui cioè le operazioni complesse vengono specificate descrivendo il procedimento da seguire per ottenere la soluzione L'analista è una delle diverse figure professionali coinvolte nella progettazione del software. Esso: dichiara cosa serve per risolvere il problema L'integrità referenziale viene rispettata quando per ogni valore non nullo della chiave esterna, esiste un valore corrispondente della chiave primaria nella tabella associata. Si ha che: la chiave esterna fa parte della tabella referenziante L'interfaccia tra un modulo e l'altro deve essere chiara e ridotta. Questo significa che ci deve essere: basso accoppiamento L'istruzione SELECT corrisponde all'operatore dell'algebra relazionale: proiezione, ma non elimina eventuali duplicati L'istruzione SELECT DISTINCT corrisponde all'operatore dell'algebra relazionale: proiezione L'istruzione SQL create table si usa per: creare una tabella di un DB L'oggetto che sarà usato come contenitore per l'inserimento del messaggio: e' il cover object o cover medium L'oggetto risultato dell'algoritmo di steganografia, cioe' dopo che sono state effettuate operazioni su di esso, che contiene (trasporta) al suo interno il messaggio: si definisce stego object o stego medium L'operatore AND serve a concatenare tra loro due espressioni Booleane a e b. Se a ha valore TRUE e B ha valore FALSE, l'espressione a AND b ha valore: FALSE L'operatore di proiezione "proietta" le colonne di una relazione. Il simbolo è π al cui pedice viene indicata la lista degli attributi che costituiscono la nuova relazione. Tale lista: È un sottoinsieme degli attributi della relazione originale L'operatore di ridenominazione indicato con la lettera greca ρ ("ro"): cambia lo schema del risultato, lasciando invariati i valori delle tuple L'operatore di selezione σ consente di selezionare un sottoinsieme delle tuple di una relazione r, applicando a ciascuna di esse una data condizione. L'istanza di relazione risultante dalla selezione: contiene le tuple di r che rendono vera tale condizione L'operazione "R1 full outer-join R2" genera le coppie di tuple formate da una tupla di R1 e una di R2 per cui è vera una data condizione c e inoltre: le tuple di R1 e R2 che non sono correlate mediante la condizione c riempite con valori NULL per i rispettivi attributi L'operazione "R1 left outer-join R2" genera le coppie di tuple formate da una tupla di R1 e una di R2 per cui è vera una data condizione c e inoltre: una tupla di R1 che non è correlata mediante la condizione c a tuple di R2 completata mediante valori NULL per tutti gli attributi di R2 L'operazione "R1 right outer-join R2" genera le coppie di tuple formate da una tupla di R1 e una di R2 per cui è vera una data condizione c e inoltre: una tupla di R2 che non è correlata mediante la condizione c a tuple di R1 completata mediante valori NULL per tutti gli attributi di R1 L'operazione (R1 'semi-join' R2) restituisce l'informazione rilevante della prima relazione del join. In particolare: sullo schema del join viene fatta una proiezione su tutti gli attributi dello schema di R1 L'operazione (R1'semi-join' R2) crea un legame tra le tuple della relazione R1 e della relazione R2 e: restituisce nel risultato lo schema di R1 L'utilizzo degli IP di rete: permette di risalire al mittente e al destinatario di messaggi L'utilizzo di NULL è necessario quando non esiste, non è noto o non si conosce l'esistenza di un valore del dominio. I DBMS: non fanno alcuna distinzione tra le diverse situazioni di necessità per l'uso del valore nullo L’outer-join è un operatore introdotto per unire istanze di relazione, preservando nel risultato le informazioni presenti su una o entrambe le istanze di pertinenza. In pratica, il join esterno consente di estrarre anche le righe di una tabella che non hanno legami semantici nell’ altra. In particolare: i campi che risulterebbero indefiniti vengono riempiti con valori NULL L La cifratura è il processo volto a impedire la leggibilità in chiaro di un testo a chi non abbia la chiave per decifrarlo. Un esempio storico è il cifrario di Cesare in cui: Ogni lettera del testo in chiaro è sostituita, nel testo cifrato, dalla lettera che si trova un certo numero di posizioni dopo nell’alfabeto La cifratura simmetrica e la cifratura asimmetrica sono due algoritmi di cifratura. La cifratura asimmetrica: utilizza due diverse chiavi (chiave pubblica e privata) e ad ogni attore coinvolto nella comunicazione è associata una coppia di chiavi La condizione di selezione si applica a ciascuna tupla dell'istanza di relazione: singolarmente, quindi non può coinvolgere più di una tupla La condizione nel theta-join deve essere soddisfatta: tra attributi di relazioni diverse che non hanno lo stesso nome La crittografia puZ essere utilizzata per prevenire attacchi a livello: di rete La crittografia si puZ implementare: nei vari livelli del modello OSI La descrizione del modello Harrison-Ruzzo-Ullman (HRU) si basa su: un set di soggetti S; un set di oggetti O; un set di diritti di accesso R; una matrice degli accessi M La differenza tra due relazioni R e S è indicata con R - S e contiene tutte le tuple che sono presenti in R ma che non esistono in S. Inoltre: R e S devono essere compatibili rispetto all'unione La eliminazione dei duplicati in SQL: si deve eseguire solo se necessario perché ha un costo in termini di risorse La fase di verifica nel ciclo di vita del software riguarda le attività per: controllare che il programma svolga correttamente, completamente ed efficientemente il compito per cui è stato sviluppato Nel deep learning, le rappresentazioni vengono apprese tramite l'uso di reti neurali, grazie al fatto che: tecniche matematiche permettono di creare una rappresentazione accurata del problema derivata dai dati Nel linguaggio SQL la clausola WHERE specifica le condizioni di selezione. In particolare: e' possibile anche fare una ricerca testuale (stringhe) Nel linguaggio SQL la clausola WHERE specifica le condizioni di selezione. Queste si applicano: singolarmente ad ogni tupla della tabella presente nella clausola FROM Nel linguaggio SQL per rimuovere i duplicati si utilizza la parola chiave: DISTINCT dopo la SELECT Nel modello Bell-LaPadula: le informazioni sono classificate in modo gerarchico: esse non possono essere trasferite da un livello di sicurezza superiore a un livello di sicurezza inferiore Nel modello relazionale la tecnica del valore nullo (NULL): denota l'assenza di un valore del dominio Nell'algebra relazionale, in una istanza di relazione (tabella): i valori di ciascuna colonna appartengono allo stesso dominio Nell’ambito dell’algebra relazionale, si consideri l’operatore join (o join naturale), è un operatore binario che: si ottiene tramite un prodotto cartesiano e una selezione, imponendo l’uguaglianza dei valori Nell'ambito della progettazione del software, la classificazione delle applicazioni rispetto agli elementi di interesse primario include le applicazioni orientate al controllo. Esempi di tale tipo di applicazioni sono: i sistemi ABS Nell'ambito della progettazione del software, la classificazione delle applicazioni rispetto agli elementi di interesse primario include le applicazioni orientate alla gestione dei dati. Esempi di tale tipo di applicazioni sono: i DBMS Nell'ambito della progettazione del software, la classificazione delle applicazioni rispetto al flusso di controllo include i sistemi concorrenti. Un esempio di questo tipo di sistemi sono: smartphone Nell'ambito della progettazione del software, la classificazione delle applicazioni rispetto al flusso di controllo include i sistemi sequenziali. Un esempio di questo tipo di sistemi sono: un risolutore di sistemi di equazioni Nella modello relazionale i dati disponibili potrebbero non permettere di ottemperare esattamente al formato previsto. Se ad esempio l'informazione è incompleta: si adotta la tecnica del valore nullo (NULL) Nella progettazione del software quando si parla di "information hiding" si intende che: le informazioni inessenziali devono essere nascoste, cioe' non tutte le informazioni devono essere accessibili Nella progettazione del software, considerare una soluzione che sia il pif generale possibile si identifica nel principio di: generalità Nella programmazione orientata agli oggetti (object oriented) le strutture dati di una classe sono dette: attributi Nello schema Studenti(matricola, cognome, nome, corso, data_di_nascita) una chiave puZ essere: matricola Nello sviluppo del software il principio di modularità concerne: il costruire, nella pratica, unità software "piccole e ben fatte" Nello sviluppo del software il principio di rigore e formalità riguarda: l'approccio rigoroso che individua una soluzione tecnica deterministicamente corretta P Per indovinare la password possono essere usate diverse tecniche. Tra queste lo shoulder surfing: e' la sorveglianza visiva, ad esempio un intruso può sbirciare sopra la spalla dell'utente Per inserire dei valori in una tabella U si deve usare l'istruzione SQL: INSERT INTO U VALUES; Per ovviare al problema dello stesso nome: Ridenominazione ρ Per protezione fisica di un sistema si intende: protezione dei luoghi che ospitano le macchine del sistema Per quanto riguarda le minacce relative al sistema e alla rete, i rischi per la sicurezza: aumentano se il sistema e' connesso alla rete Possiamo distinguere in due grandi categorie di controllo di accesso alle risorse: Discretionary Access Control e Mandatory Access Control Q Quale tra le seguenti affermazioni definisce correttamente la chiave esterna: e' una colonna o una combinazione di colonne i cui valori corrispondono a una chiave primaria in una tabella diversa Quale tra queste asserzioni potrebbe definire un vincolo di chiave in un ipotetico Database: non ci possono essere due impiegati con lo stesso codice fiscale Quali tra le seguenti puZ essere considerata una tecnica steganografica applicata in opere d'arte: inserimento di un particolare difficilmente visibile all'occhio dell'osservatore Quali tra le seguenti tecniche puZ essere utilizzata per inserire messaggi segreti all'interno di un cover object all'apparenza innocuo: modifica di bit di codifica all'interno di immagini digitali S Se consideriamo informazioni al livello di sicurezza "Top-secret" nel modello BLP: le informazioni non possono essere scritte in files di livello Unclassified Se si combinano selezione e proiezione possono essere estratte interessanti informazioni: da una sola relazione Se si volesse estrarre attributo1 e attributo2 da una tabella A, eliminando eventuali duplicati, in SQL si scriverebbe: SELECT DISTINCT attributo1, attributo 2 FROM A; Se un attributo di una tabella è definito in SQL come tipo varchar(4) esso: contiene un numero di caratteri variabile fino a 4 Si applichi l'operatore join naturale dell'algebra relazionale a due relazioni R1 e R2. Il risultato contiene: tutte le coppie formate da una tupla di R1 e da una tupla di R2 per cui, per gli attributi con stesso nome, il valore è uguale Si consideri il concetto di chiave. Essa è formata da un insieme di attributi: che formano una superchiave minimale Si consideri il linguaggio SQL. Se si hanno pif condizioni di selezione nella clausola WHERE, allora: non bisogna indicare come eseguire le condizioni, il sistema eseguirà prima la condizione più "economica" in termini di risorse di calcolo Si consideri il linguaggio strutturato di interrogazione SQL e si suppongadi utilizzare un DB in cui è presente una tabella denominata nome_tabella. Il programma, scrivendo il comando: SELECT*FROM nome_tabella: Selezionerà tutti gli attributi della tabella nome_tabella presente nella clausola FROM Si consideri il prodotto cartesiano. Se due relazioni hanno degli attributi con nomi identici, allora: per prassi, i nomi degli attributi possono essere indicati tra parentesi: possiamo riferirci a loro per mezzo della posizione Si consideri il theta-join. Esiste un caso particolare dove l'operatore di confronto 'theta' è: l'operatore uguale = e si chiama equi-join Si consideri l'operatore anti-join tra due istanze di relazione R1 e R2, esso seleziona: le tuple di R1 semanticamente non legate da una condizione c alle tuple di R2 Si consideri l'operatore anti-join tra due istanze di relazione R1 e R2, esso: non gode né della proprietà commutativa né della proprietà associativa Si consideri l'operatore anti-join tra due istanze di relazione R1 e R2, esso: semplifica alcune operazioni, che richiederebbero altrimenti più operatori (es. differenza, proiezione, join naturale) Si consideri l'operatore anti-join tra due istanze di relazione R1 e R2, il suo simbolo è: un bow-tie negato aperto a destra Si consideri l'operatore di selezione. Esso è: un operatore unario che permette di manipolare i dati di una singola relazione
Docsity logo


Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved