















Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Una panoramica di concetti chiave relativi ai database e alla sicurezza informatica. Vengono affrontati argomenti come gli operatori dell'algebra relazionale, il linguaggio sql, i sistemi di gestione dei database (dbms), la crittografia e i tipi di attacchi informatici. Il documento copre in modo approfondito le nozioni di base necessarie per comprendere il funzionamento dei database e le principali minacce alla sicurezza dei sistemi informatici. Sebbene non sia un testo esaustivo, rappresenta un utile punto di partenza per studenti universitari o professionisti interessati a questi ambiti.
Tipologia: Panieri
1 / 23
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!
















Studocu non è sponsorizzato o supportato da nessuna università o ateneo. Il presente documento tratta i sistemi di elaborazione delle informazioni, con particolare riferimento ai contenuti del corso di "Didattica delle lingue moderne" dell'Università Telematica Pegaso.
La sicurezza misura la fiducia nel fatto che l'integrità di un sistema e dei suoi dati siano preservati. La protezione, invece, concerne il meccanismo per il controllo dell'accesso alle risorse di un sistema informatico.
Per bilanciare le qualità del software in contrasto tra loro, si deve considerare la tendenza corrente nello sviluppo di applicazioni del software.
La compromissione di integrità si riferisce alla modifica non autorizzata di dati e del codice segreto. Il cavallo di Troia è un malware che agisce in modo malevolo, non eseguendo semplicemente la sua funzione dichiarata.
Il data definition language (DDL) agisce sullo schema della base di dati, mentre il data manipulation language (DML) permette di modificare direttamente i dati.
Le tecniche di apprendimento mediante machine learning generano regole che, se applicate ad uno specifico insieme di dati, forniscono i risultati desiderati.
Considerando il concetto di chiave in uno schema di relazione, una chiave per un'istanza r è una superchiave minimale.
Il vincolo di foreign key (FK) è un vincolo di chiave della relazione, cioè un insieme non vuoto di attributi che identificano univocamente le tuple di una relazione.
L'operatore di ridenominazione è un operatore unario. L'intersezione tra due istanze di relazione R e S contiene tutte le tuple (prese una sola volta) presenti contemporaneamente in R e S. Affinché l'unione tra due istanze di relazione R e S possa essere eseguita, R e S devono avere lo stesso numero di attributi.
I DBMS offrono vantaggi in termini di consistenza e integrità dei dati. Se un vincolo generale non è soddisfatto, l'istanza r della relazione R è una istanza non legale.
Gli attacchi DDoS sono effettuati indirettamente tramite una rete bot, da cui il termine "distributed".
I criteri per la scelta di una frase di accesso robusta sono: deve essere lunga, non contenere parole o frasi reperibili, facile da ricordare, difficile da intuire, e contenere caratteri e numeri.
I DBMS e i File System sono due modalità per gestire, archiviare, recuperare e manipolare i dati. Non ci sono casi in cui è meglio usare il file system invece che il DBMS.
I due principali algoritmi di cifratura sono la cifratura simmetrica, che utilizza una chiave privata comune a mittente e destinatario, e la cifratura asimmetrica.
I linguaggi di interrogazione per basi di dati relazionali possono essere classificati in dichiarativi e procedurali. I linguaggi dichiarativi dichiarano le proprietà del risultato senza fare riferimento alle procedure da eseguire.
I principi fondamentali della programmazione orientata agli oggetti sono l'incapsulamento, l'astrazione, l'ereditarietà e il polimorfismo. L'incapsulamento ha lo scopo di dare accesso allo stato e ai comportamenti di un oggetto solo attraverso un sottoinsieme di elementi pubblici.
Il C è un linguaggio di programmazione imperativo di natura procedurale. I programmi scritti in C sono composti da espressioni matematiche e da istruzioni, a differenza dei programmi OO.
Il DBMS è un sistema di gestioni di basi di dati basato su un modello dei dati descritto da una collezione di costrutti. Esso 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) permette di creare, modificare o eliminare gli oggetti in un database, ovvero di agire sullo schema del DB. Il Data Manipulation Language (DML) 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 "fattore umano" nell'ambito di debiti di sicurezza informatici riguarda i comportamenti degli utenti umani che possono mettere, volontariamente o involontariamente, il sistema in pericolo.
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 è un modello di protezione definito multilivello che si concentra sulla riservatezza dei dati e sull'accesso di informazioni classificate. Ai soggetti sono assegnati i clearance levels (livelli di autorizzazione).
Il modello HRU ha introdotto 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 HRU può essere classificato come Discretionary Access Control (DAC).
Il modello relazionale si basa sul concetto matematico di relazione, con l'elemento principale per la descrizione dei dati rappresentato dalla tabella.
Il phishing consiste nel contraffare e-mail o pagine Web rendendole simili a quelle autentiche per respingere gli utenti tratti 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 è un modello che mira a spingere i concetti della steganografia. Esso si basa sullo scambio di messaggi tra due prigionieri attraverso il guardiano Wendy.
Il risultato dell'operazione di proiezione contiene al più tante ennuple quante ne ha l'operando.
In un algoritmo di autenticazione che utilizza chiave 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 "men in the middle", l'attacco alterna la comunicazione fra due parti che credono di essere in comunicazione diretta tra loro.
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. Gli oggetti permettono 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 questo accede agli altri moduli.
In un sistema crittografico, se il ricevitore del messaggio dispone della chiave K utile alla decifratura, otterrà il messaggio originale.
In un sistema informatico, per archivio tradizionale s'intende uno o più file di archivio, in cui i dati vengono gestiti direttamente dal software dell'applicazione utilizzatrice.
In una relazione del modello relazionale, i valori di ciascuna colonna appartengono allo stesso dominio.
Le tecniche biometriche sono più affidabili nel verificare l'identità di un utente rispetto agli altri metodi.
La migliore passphrase è: "nulla si Crea Nulla si Distrugge Tutto si Trasforma".
In SQL, per visualizzare tutti i dati inseriti in una tabella U si utilizza: SELECT * FROM U.
L'algebra relazionale è un linguaggio formale di tipo algebrico i cui operandi sono relazioni. In particolare, è un linguaggio procedurale, in cui le operazioni complesse vengono specificate descrivendo il procedimento da seguire per ottenere la soluzione.
L'analista 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. La chiave esterna fa parte della tabella referenziante.
L'interfaccia tra un modulo e l'altro deve essere chiara e ridotta.
Elaborazione del testo in italiano
Questo significa che ci deve essere basso accoppiamento tra i moduli del software.
L'istruzione SELECT del linguaggio SQL corrisponde all'operatore di proiezione dell'algebra relazionale, ma non elimina eventuali duplicati.
L'istruzione SELECT DISTINCT del linguaggio SQL corrisponde all'operatore di proiezione dell'algebra relazionale.
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 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'utilizzo dell'indirizzo 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.
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 può essere utilizzata per prevenire attacchi a livello di rete e può essere implementata nei vari livelli del modello OSI.
La descrizione del modello HRU si basa su un set di soggetti S, un set di oggetti O, un set di diritti di accesso R e una matrice degli accessi M.
La differenza tra due relazioni R e S, indicata con R - S, contiene tutte le tuple che sono presenti in R ma che non esistono in S. R e S devono essere compatibili rispetto all'unione.
L'eliminazione dei duplicati in SQL deve essere eseguita solo se necessaria, 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.
La griglia di Cardano, o griglia cardanica, è un metodo per la scrittura di messaggi segreti inventato dal matematico italiano Girolamo Cardano nel
La modalità di invio dei dati al DBMS tramite SQL può essere sia interattiva che compilata.
La modularizzazione è un aspetto molto importante nella progettazione del software. Essa rappresenta il principio secondo cui il software può essere strutturato in moduli, che devono possedere relazioni strutturali definite tramite interfaccia e presentare elementi fortemente coesi.
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 steganografia è l'arte di nascondere un messaggio segreto in un contenitore all'apparenza normalissimo, utilizzando un canale pubblico come veicolo per lo scambio di messaggi che devono rimanere riservati.
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 è celare l'esistenza stessa della comunicazione.
Lo Structured Query Language (SQL) è un linguaggio strutturato di interrogazione.
Lo studio dell'intelligenza artificiale ha portato alla conclusione che 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, che si applicano singolarmente ad ogni tupla della tabella presente nella clausola FROM. È possibile anche fare una ricerca testuale (stringhe).
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 al flusso di controllo include i sistemi sequenziali (es. risolutore di sistemi di equazioni) e i sistemi concorrenti (es. 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 (es. DBMS) e le applicazioni orientate al controllo (es. sistemi ABS).
Nella modello relazionale, se 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, cioè non tutte le informazioni devono essere accessibili.
Nella progettazione del software, considerare una soluzione che sia il più 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 può essere matricola.
Nello sviluppo del software, il principio di rigore e formalità riguarda l'approccio rigoroso che individua una soluzione tecnica deterministicamente corretta.
Una tecnica di steganografia applicata per inserire messaggi segreti all'interno di un cover object all'apparenza innocuo potrebbe essere la modifica del bit di codifica all'interno di un'immagine digitale.
Nel modello BLP, le informazioni classificate come "top secret" non possono essere scritte in file di livello Unclassified.
Se un attributo di una tabella è definito in SQL come tipo varchar(4), esso contiene un numero di caratteri variabile fino a 4.
Combinando selezione e proiezione, possono essere estratte interessanti informazioni da una sola relazione.
Per estrarre attributo1 e attributo2 da una tabella A, eliminando eventuali duplicati, in SQL si scrive: SELECT DISTINCT attributo1, attributo2 FROM A.
Sia ordini una relazione referenziante con un vincolo di FK su clienti (relazione referenziata). I valori non NULL della FK di ordini devono trovarsi nella chiave di clienti.
Applicando 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.
Nel linguaggio SQL, se si hanno più condizioni di selezione nella clausola WHERE, 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.
Attributi con nomi identici in relazioni diverse
Quando due relazioni hanno degli attributi con nomi identici, per prassi i nomi degli attributi possono essere indicati tra parentesi. In questo modo, è possibile riferirsi a loro per mezzo della posizione.
Equi-join
Il theta-join è un operatore dell'algebra relazionale. Esiste un caso particolare dove l'operatore di confronto 'theta' è l'operatore uguale '=', e in questo caso si chiama equi-join.
Clausola FROM e WHERE in SQL
Nella clausola FROM del linguaggio SQL, se sono presenti due tabelle A e B, allora nella clausola WHERE sarà presente almeno una condizione di join. Considerando la clausola WHERE del linguaggio SQL definita come 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.
Forma base di una interrogazione SQL
La forma base di una interrogazione SQL deve contenere necessariamente una istruzione SELECT e una clausola FROM.
Classe in programmazione orientata agli
oggetti
In programmazione orientata agli oggetti (object oriented), una classe è un concetto astratto.
Selezione di tutte le tuple da una tabella in
SQL
Per selezionare tutte le tuple dalla tabella U in SQL, si utilizza la query SELECT * FROM U.
Selezione di un attributo specifico da una
tabella in SQL
Considerando la tabella U(uid: integer, unome: string) che contiene id utente e nome utente, per ottenere solo i valori dell'attributo uid, in SQL si scrive: SELECT uid FROM U.
L'operatore divisione tra due istanze di relazione R1 e R2 non gode delle proprietà commutativa e associativa. L'operatore divisione è un operatore derivato, cioè è esprimibile tramite gli altri operatori dell'algebra relazionale.
Nell'operatore proiezione, i campi di interesse sono indicati nella lista degli attributi, mentre gli altri campi sono 'proiettati fuori'. Se la lista di attributi dell'operatore proiezione è una superchiave della relazione r, allora la relazione risultante ha lo stesso numero di tuple presenti in r.
Un campo di una tabella definito in SQL come PRIMARY KEY non può contenere valori NULL.
Se in una interrogazione SQL di base si hanno N tabelle nella clausola FROM ed è presente la clausola WHERE, avremo almeno N- condizioni nella clausola WHERE.
Se una lista di attributi dell'operatore proiezione è una superchiave di una relazione r, allora la relazione risultante ha la stessa cardinalità di r.
Una One Time password è una password casuale monouso creata in un certo istante di tempo.
L'operatore di divisione può essere utilizzato per risolvere il problema di 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.
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 principi per la modularità possiamo annoverare l'alta coesione.
Tra i principi fondamentali della programmazione orientata agli oggetti (object oriented) vi è l'astrazione, che consiste nel nascondere i dettagli di implementazione interna.
Tra i principi fondamentali della programmazione orientata agli oggetti (object oriented) vi è l'ereditarietà, che consiste nel definire un legame di dipendenza di tipo gerarchico tra classi diverse.
Tra i principi fondamentali della programmazione orientata agli oggetti (object oriented) vi è il polimorfismo, che consiste nel far sì che uno stesso oggetto assuma più forme.
Affinché un algoritmo di machine learning riesca a creare un modello predittivo in grado di ottenere buoni risultati su nuovi dati (diversi dai dati di training), è necessario che i dati di training siano stati scelti in modo da rispecchiare la distribuzione statistica dei casi reali.
Un buon sistema steganografia combina steganografia e crittografia, soluzione nota come Principio di Kerckhoffs.
Un elemento di dubbio per identificare un e-mail di phishing è la presenza del testo inviato all'interno dell'e-mail come immagine.
Un importante problema di sicurezza per i sistemi operativi è l'autenticazione degli utenti, che può essere basata su oggetti, conoscenze e attributi fisici, come ad esempio l'impronta digitale.