Buffer Overflow Attacchi ai servizi di rete
|
|
- Concetta Antonella
- 8 anni fa
- Visualizzazioni
Transcript
1 Argomenti trattati Buffer Overflow Attacchi ai servizi di rete Avella Gianluigi Cerqua Pasquale Crucil Sergio D Alessandro Oreste Internet I servizi di rete Buffer Overflow: teoria, esempi Tecniche di protezione Aggirare StackGuard Sicurezza su reti A.A. 2004/2005 Prof. Masucci Barbara In principio era.arpanet e poi venne Internet Internet è una suite di servizi Tutti basati sul protocollo TCP/IP I più importanti attualmente http: web (es. Apache, Tomcat, IIS) ftp: trasferimento file (es. wu-ftp) smtp, pop, imap: posta elettronica (es. sendmail, postfix)
2 Lo sviluppo di Internet Tecnologie di sicurezza Tecnologie di sicurezza utilizzate Dicembre 1994 Dicembre 1996 Dicembre 1998 Dicembre 2000 Dicembre 2002 Biometria Chiave pubblica Smart cards - e-token Crittografia dei files Prevenzione intrusioni Accounting utenti Crittografia dati trasmessi IDS ACL Firewall Antivirus 0% 20% 40% 60% 80% 100% Sicurezza Informatica Problemi dovuti alla insicurezza dei servizi informatici Acquisizione illecita di dati. Accesso indebito a un sistema per l elaborazione di dati. Danneggiamento di dati, inclusa la fabbricazione e la messa in circolazione di virus informatici. Conseguimento fraudolento di una prestazione informatica. Attacchi a sistemi informatici di tipo denial of service. Danneggiamento grave delle reti di comunicazione: perturbamento di pubblici servizi Sabotaggio Violazione del sistema Sito w eb "defacciato" Abuso di applicazioni web Frode informatica Accesso non autorizzato Furto di componenti Frode finanziaria Abuso della rete w ireless Abuso della rete interna Furto di informazioni Denial of Service Virus Danni economici Perdite per tipo di attacco (2004) $0 $10 $20 $30 $40 $50 $60 Milioni Milioni di dollari.
3 Errori nelle configurazioni Introduzione al Buffer overflow Le principali cause della vulnerabilità del software Configurazioni errate Allocazione di tipi differenti di variabili Errata deallocazione della memoria Cicli infiniti Assenza di controllo sulle operazioni e sui puntatori Buffer overflow Conoscenze necessarie Linguaggio Assembler. Registri CPU. Funzionamento a basso livello di un sistema operativo. Funzionamento (in genere) dei linguaggi di programmazione. Conoscenza di un debugger. Nello specifico: Un sistema GNU/Linux Gnu Debugger Linguaggio C Architettura x86 Intel Teoria ed esempio di un attacco Il buffer overflow è un errore di programmazione dovuto all errata gestione dei dati all interno di un programma. In C un buffer viene normalmente associato ad un array. L overflow di un buffer consiste nel riempire oltre il limite tale buffer. Un attacker è in grado di sfruttare questo errore per causare il crash di un servizio remoto o penetrare all'interno di un sistema. Tipi di attacchi dovuti a questo errore: Modifica del flusso di un programma. Iniezione ed esecuzione di codice arbitrario. Modifica di un puntatore a funzione. Modifica dei dati passati ad una funzione.
4 Scenari Scenario domestico Attacco locale Server Web FTP SSH Attacco a client di servizi remoti. Internet Explorer è probabilmente il client più buggato che si ricordi. Un processo in memoria Ogni processo caricato in memoria, viene diviso in tre parti. Segmento testo Segmento dati Stack Lo stack è una struttura dati cruciale per il funzionamento di un processo. Funzionamento di tipo LIFO PUSH e POP ( Operazioni ) Indirizzi di memoria bassi Segmento testo Segmento dati Stack Indirizzi di memoria alti main(){ foo(buffer); foo(char *buffer){ char a [ 5 ]; strcpy(a,buffer); Funzionamento dello stack call 0x80483a9 <foo> push %ebp Record di mov %esp,%ebp attivazione sub $0x18,%esp sub $0x8,%esp Registri del processore EIP = Indirizzo dell istruzione successiva EBP = Base pointer ESP = Top dello Stack ESP a [ 0 ] a [ 1 ] a [ 2 ] a [ 3 ] a [ 4 ] SFP RET BP
5 main(){ foo(buffer); Funzionamento dello stack foo(char *buffer){ char a [ 5 ]; strcpy(a,buffer); add $0x10,%esp leave ret Registri del processore EIP = Indirizzo dell istruzione successiva EBP = Base pointer ESP = Top dello Stack EBP EIP ESP a [ 0 ] a [ 1 ] a [ 2 ] a [ 3 ] a [ 4 ] SFP RET BP Smashing the stack Se il buffer passato alla funzione foo() è più di 5 caratteri. Es: bbbbbbbbbbbbbbb foo(char *buffer){ a[ 5 ]; strcpy(a,buffer); I caratteri che eccedono il buffer hanno sovrascritto l indirizzo di ritorno. EIP adesso punta ad una locazione di memoria non valida. a [ 0 ] a [ 1 ] a [ 2 ] a [ 3 ] a [ 4 ] SFP RET Segmentation Fault Ghost in the shell Un esempio A questo punto il programma è andato in crash! Ma un attacker potrebbe confezionare un array da passare alla funzione foo() in modo tale che venga dirottata l esecuzione del programma stesso. Ma nella maggior parte dei casi questo bug viene sfruttato per costringere il programma ad eseguire codice arbitrario! Nop Nop \x8b \xeb \x1f (\bin/sh) 0x0809ff34 No operation Codice arbitrario Shellcode Puntatore Inizio del buffer Codice esempio #include <stdio.h> main(int argc, char **argv){ char buffer[10]; if(argc!=2){ printf("usage:./esempio qualcosa\n"); exit(0); strcpy(buffer,argv[1]); foo(){ printf("corso di sicurezza su reti\n"); exit(0); #include <stdio.h> main() { int i; char buffer[33]; for(i=0;i<28;i++) buffer[i]=0x61; *(long *)&buffer[28] =0x d; execl("./esempio","esempio",buffer,null); Codice exploit
6 Analisi del problema - 1 Modifica del flusso di un programma. Analisi del problema - 2 Firewall ed antivirus sono impotenti! Iniezione di codice arbitrario. Danni economici elevati. Un attacker può prendere pieno possesso della macchina vittima. Metà degli advisory del Cert, sono su problemi legati al Buffer Overflow. Difesa dal Buffer Overflow Come difendersi Programmi modulari e facili da debuggare. Testing. Stack non eseguibile. Controllo della dimensione degli array. Utilizzo di linguaggi tipizzati. Controllo dell integrità sui puntatori. Utilizzo di tool specifici. Pregare.
7 Tool di difesa StackGuard, StackShield, FlawFinder automatizzano alcuni dei suddetti metodi di prevenzione. Sono programmi open source. Disponibili unicamente per il mondo Unix. StackGuard e StackShield non richiedono aggiunte al codice esistente, ma non tutti i programmi possono essere ricompilati. StackGuard StackGuard è una patch per gcc. La prima versione prevedeva la protezione da scrittura della word RET. (Memguard) Interviene nel prologo e nell epilogo di ogni funzione. Canary Utilizza una canary word nel record di attivazione. Un tentativo di sovrascrivere il RET provocherebbe il canto del canarino. SFP RET Metodi difensivi di StackGuard L attacker potrebbe leggere la word canary Quindi tre metodi di difesa Terminator Canary La word è scelta come combinazione di caratteri nulli, ritorno a capo e fine linea. Random Canary La word è scelta in modo random a run-time. Esiste una variante chiamata XOR random canary. Null Canary La word e una serie di caratteri nulli Es. 0x StackShield StackShield è un software simile a StackGuard. Protegge il valore RET da attacchi ti tipo Buffer Overflow. Aggiunge codice assembly al prologo ed all epilogo di ogni funzione. Utilizza tre metodi di funzionamento Global Ret Stack Ret range check. Modalità speciale ( attacchi contro puntatori a funzione ). Non richiede al programmatore di aggiungere codice.
8 Global Ret Stack La prima tecnica di protezione prevede l utilizzo di un array di 256 elementi (Retarray) da trattare come uno stack dove verranno salvati gli indirizzi di ritorno. Si utilizzano due puntatori speciali Retptr ( puntatore alla prima locazione libera di Retarray). Rettop ( puntatore all ultimo elemento dell array.) Funzionamento del Global Ret Stack Nel prologo di ogni funzione, Retptr viene confrontato con Rettop. Se Retptr è <= di Rettop, l indirizzo viene memorizzato nell array e Retptr viene incrementato. Altrimenti l indirizzo di ritorno non viene salvato ma Retptr viene incrementato comunque per sincronizzazione. Nell epilogo avviene nuovamente il controllo e se Retptr è <= di Rettop l indirizzo salvato viene ripristinato e Retptr decrementato. 0x00 0x01 Retptr Retarray Rettop Esempio di funzionamento main(){ Rettop foo(); foo(){ foo2(); foo2(){.. 0x02 Retptr 0x01 Retarray Global Ret Stack In questo modo anche se un buffer overflow sovrascrive il RET, questo viene ripristinato all epilogo. La dimensione di Retarray può essere aumentata. L attacco viene inibito ma non segnalato. Esiste una modalità alternativa in cui il RET viene confrontato con il suo clone nel Retarray.
9 Ret Range check Modalità Speciale Gli attacchi basati sul buffer overflow, tentano di dirottare il flusso del programma verso il buffer contenete lo shellcode e quindi verso lo stack. Il Ret range check rende lo stack non eseguibile. R A N G E V A L I D O Segmento testo Segmento dati Stack Un puntatore a funzione viene allocato in una zona di memoria in modo casuale. ( stack, heap, segmento dati). Se viene allocato nello stack, l attacker cerca di corrompere il puntatore tramite l overflow di un buffer. StackShield inizializza un variabile casuale e controlla che non si trovi al di fuori del segmento dati, poiché anche il puntatore verrà allocato nei pressi della variabile. Flaw Finder Flaw Finder E un tool di sviluppo a supporto dei programmatori. È capace di analizzare codice sorgente C/C++. È un semplice parser. Produce in output solo una lista con un grado di potenziale pericolosità delle funzioni. Il database del programma (ruleset) contiene informazioni su operazioni comuni che possono manifestare problemi concernenti la sicurezza. La Ruleset è aggiornabile. Ogni elemento è costituito dalla tupla (Hook, Level, Warning, Suggestion, Category, URL, Other). Per ogni match si propone al programmatore una soluzione.
10 Analisi dei metodi di difesa Stackguard e StackShield aggiungono codice e soprattutto controlli ai programmi aumentando sensibilmente l overhead. Ma attenzione.non sono infallibili! Attacchi a StackGuard Falle di StackGuard Vantaggio offerto da StackGuard: Protezione dell indirizzo di ritorno (RET) Non basta. Infatti: L overflow viene scoperto al termine della funzione Non protegge nessun altro indirizzo (saved frame pointer ) canary può essere aggirato Falle di StackGuard Inefficienze Un overflow su un buffer situato prima di una o più variabili locali permette di sovrascrivere anche queste ultime. Se vi è la possibilità di manipolare un puntatore si possono alterare importanti sezioni di memoria (fnlist, GOT, frame pointer).
11 Attacchi a StackGuard - 1 Attacchi a StackGuard - 1 Attacco Emsi: sostituzioni nella fnlist fnlist contiene gli indirizzi delle funzioni registrate attraverso atexit() (gdb) b main Breakpoint 1 at 0x (gdb) r Starting program: /root/stackguard/c/stackguard/vul Breakpoint 1, 0x in main () (gdb) x/10x &fnlist 0x400eed78 <fnlist>: 0x x x x4000b8c0 0x400eed88 <fnlist+16>: 0x x x08048c20 0x x400eed98 <fnlist+32>: 0x x È possibile con un debugger scoprirne l indirizzo e, avendo un puntatore a disposizione nel programma, alterare la registrazione delle funzioni da eseguire all invocazione di exit(). Nemmeno StackShield attacco è immune a questo Attacchi a StackGuard - 2 Sostituzioni nella Global Offset Table (GOT) Simile al precendente attacco: l obiettivo è alterare l ordine dell invocazione delle funzioni. GOT contiene la corrispondenza indirizzo funzione. Avendo la possibilità di manipolare un puntatore è possibile cambiare l indirizzo associato a una funzione utilizzata. Attacchi a StackGuard - 2 oredal@homer:~/src/sg/tests$ cc -o sg1 sg1.c oredal@homer:~/src/sg/tests$ readelf S sg1 grep got [ 8].rel.got REL etc... [20].got PROGBITS etc... Come risultato una printf() potrebbe invocare invece una system(). L attacco riesce anche se SG è utilizzato in combinazione con StackPatch (rende lo stack non eseguibile).
12 Attacchi a StackGuard - 3 Alterazione del frame pointer La combinazione d uso di SG con un terminator canary (valore fisso 0x000aff0d) permette di arrivare alla sovrascrittura del frame pointer (e di non sovrascrivere il canary) attraverso le comuni funzioni di manipolazione delle stringhe. In questo modo è possibile ottenere il controllo completo delle variabili locali e degli argomenti delle funzioni. Il frame pointer non è utilizzato nei programmi compilati con l opzione fomit-frame-pointer That s all folk! Buffer Overflow: attacco ai servizi di rete Progetto realizzato da: Avella Gianluigi Cerqua Pasquale Crucil Sergio D Alessandro Oreste
La protezione dai memory error exploit
Università degli Studi di Milano Sommario Introduzione 1 Stack Guard Terminator Canaries Random Canaries 2 3 Buffer Overflow Stack Guard Introduzione Buffer Overflow Condizione anomala. Memorizzazione
DettagliCorso di Sicurezza Informatica. Sicurezza del software. Ing. Gianluca Caminiti
Corso di Sicurezza Informatica Sicurezza del software Ing. Gianluca Caminiti Software Sicuro Privo di errori (logici) che comportino un comportamento inatteso. Tali bug possono minare la sicurezza dell
DettagliSICUREZZA. Sistemi Operativi. Sicurezza
SICUREZZA 14.1 Sicurezza Il Problema della Sicurezza Convalida Pericoli per i Programmi Pericoli per il Sistema Difendere i Sistemi Scoperta di Intrusioni Cifratura Esempio: Windows NT 14.2 Il Problema
DettagliSistemi Operativi SICUREZZA. Sistemi Operativi. D. Talia - UNICAL 14.1
SICUREZZA 14.1 Sicurezza Il Problema della Sicurezza Convalida Pericoli per i Programmi Pericoli per il Sistema Difendere i Sistemi Scoperta di Intrusioni Cifratura Esempio: Windows NT 14.2 Il Problema
DettagliCorso di Sicurezza Informatica
Corso di Sicurezza Informatica Sicurezza del Software Ing. Giuseppe D Aquì Sicurezza nell informatica Un computer sicuro è un computer spento (Kevin Mitnick) Attacchi informatici Gli attacchi informatici,
DettagliStack-based buffer overflow
Università degli Studi di Milano Facoltà di Scienze e Tecnologie Stack-based buffer overflow Andrea Lanzi A.A. 2015 2016 Andrea Lanzi Stack-based buffer overflow A.A. 2015 2016 1 / 19 Classificazione attacchi
DettagliSistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL
STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione
DettagliSistema operativo: Gestione della memoria
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e
DettagliSistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
DettagliImpostazione di un insieme di misure di sicurezza per la LAN di un ente di ricerca
Università degli Studi Roma Tre Istituto Nazionale di Fisica Nucleare Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Impostazione di un insieme di misure di sicurezza per la LAN di un
DettagliAllocazione dinamica della memoria - riepilogo
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Storage duration Allocazione dinamica della
DettagliSistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
DettagliGuida di Pro PC Secure
1) SOMMARIO 2) ISTRUZIONI DI BASE 3) CONFIGURAZIONE 4) INFORMAZIONI AGGIUNTIVE 1) SOMMARIO Guida di Pro PC Secure Pro PC Secure è un programma che si occupa della protezione dagli attacchi provenienti
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,
DettagliSistemi Operativi (modulo di Informatica II) I processi
Sistemi Operativi (modulo di Informatica II) I processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario Il concetto di processo Schedulazione dei processi e cambio di contesto
DettagliIntroduzione a GCC: GNU Compiler Collection
Introduzione a GCC: GNU Compiler Collection Caratteristiche di GCC Compilatore multipiattaforma modulare Disponibile per tutti i principali sistemi operativi Può produrre programmi per la maggior parte
DettagliProtezione. Protezione. Protezione. Obiettivi della protezione
Protezione Protezione La protezione riguarda i meccanismi per il controllo dell accesso alle risorse in un sistema di calcolo da parte degli utenti e dei processi. Meccanismi di imposizione fissati in
DettagliIntroduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
Dettagli2.1 Configurare il Firewall di Windows
.1 Configurare il Firewall di Windows LIBRERIA WEB Due o più computer possono scambiare dati, informazioni o servizi di tipo diverso utilizzando una connessione. Quindi, spesso, ad una connessione fisica
DettagliDynamic Linking. Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica
Dynamic Linking Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica Dynamic Linking Il linking tra i moduli di un programma e le librerie da esso utilizzate può essere Statico
DettagliB+Trees. Introduzione
B+Trees Introduzione B+Trees Il B+Trees e la variante maggiormente utilizzata dei BTrees BTrees e B+trees fanno parte della famiglia degli alberi di ricerca. Nel B+Trees i dati sono memorizzati solo nelle
DettagliDevC++ vers. 4.9.9.2 Manuale d uso
DevC++ vers. 4.9.9.2 Manuale d uso Liceo Scientifico N. TRON di SCHIO (VI) Sommario 1 INTRODUZIONE... 3 2 SETUP... 5 2.1 Procedura di installazione... 5 2.2 Configurazione... 7 2.2.1 Opzioni dell ambiente...
DettagliCognome: Nome: Matricola: Sicurezza dei sistemi informatici e delle reti 18 febbraio 2014
Tempo a disposizione: 70 minuti. Libri e appunti chiusi. Vietato comunicare con chiunque. Vietato l'uso di smartphone, calcolatrici e affini. 1. Protocolli crittografici. 1.1. Fornisci un esempio di protocollo
DettagliBuffer Overflow & SQL Injection
Università degli Studi di Udine Dipartimento di Ingegneria Gestionale, Elettrica e Meccanica 21 Marzo 2011 Scaletta 1 2 Attacchi ai siti web Come funziona 3 4 5 Memory layout in x86 Quando, in una architettura
DettagliArchitettura del calcolatore
Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale
DettagliUniversità di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record
DettagliCorso avanzato di Reti e sicurezza informatica
Corso avanzato di Reti e sicurezza informatica http://www.glugto.org/ GNU/Linux User Group Torino Rilasciato sotto licenza CC-by-nc-sa. 1 DISCLAIMER L'insegnante e l'intera associazione GlugTo non si assumono
DettagliCapire i benefici di una rete informatica nella propria attività. I componenti di una rete. I dispositivi utilizzati.
LA RETE INFORMATICA NELL AZIENDA Capire i benefici di una rete informatica nella propria attività. I componenti di una rete I dispositivi utilizzati I servizi offerti LA RETE INFORMATICA NELL AZIENDA Copyright
DettagliSoftware di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche
Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica
DettagliIntroduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
DettagliUn approccio innovativo alla tecnica di robustness testing del sistema operativo Linux
tesi di laurea Un approccio innovativo alla tecnica di robustness testing del sistema Anno Accademico 2009/2010 relatore Ch.mo prof. Domenico Cotroneo correlatori Ing. Domenico Di Leo Ing. Roberto Natella
DettagliIl Web Server e il protocollo HTTP
Corso PHP Parte 2 Il Web Server e il protocollo HTTP E un programma sempre attivo che ascolta su una porta le richieste HTTP. All arrivo di una richiesta la esegue e restituisce il risultato al browser,
DettagliNOZIONI BASE PER ESERCITAZIONI
NOZIONI BASE PER ESERCITAZIONI Shahram Rahatlou Laboratorio di Calcolo, Anno Accademico 2015-16 http://www.roma1.infn.it/people/rahatlou/labcalc/ Sistema Operativo Hardware Software n Routine e programmi
DettagliInformatica 3. LEZIONE 23: Indicizzazione. Modulo 1: Indicizzazione lineare, ISAM e ad albero Modulo 2: 2-3 trees, B-trees e B + -trees
Informatica 3 LEZIONE 23: Indicizzazione Modulo 1: Indicizzazione lineare, ISAM e ad albero Modulo 2: 2-3 trees, B-trees e B + -trees Informatica 3 Lezione 23 - Modulo 1 Indicizzazione lineare, ISAM e
DettagliTipologie e metodi di attacco
Tipologie e metodi di attacco Tipologie di attacco Acquisizione di informazioni L obiettivo è quello di acquisire informazioni, attraverso l intercettazione di comunicazioni riservate o ottenendole in
DettagliMIPS Instruction Set 2
Laboratorio di Architettura 15 aprile 2011 1 Architettura Mips 2 Chiamata a Funzione 3 Esercitazione Registri MIPS reference card: http://refcards.com/docs/waetzigj/mips/mipsref.pdf 32 registri general
DettagliLaboratorio di Architettura degli Elaboratori
Laboratorio di Architettura degli Elaboratori Dott. Massimo Tivoli Introduzione a MARS: interfaccia, struttura di un programma, gestione dell input L assemblatore e simulatore MARS Permette di eseguire
DettagliIntroduzione al data base
Introduzione al data base L Informatica è quella disciplina che si occupa del trattamento automatico dei dati con l ausilio del computer. Trattare i dati significa: raccoglierli, elaborarli e conservarli
DettagliIl simulatore SPIM SPIM
Il simulatore SPIM Architetture dei Calcolatori (lettere A-I) SPIM SPIM: un simulatore per eseguire programmi assembler scritti per processori MIPS32 Download e materiale relativo alla pagina Web http://www.cs.wisc.edu/~larus/spim.html
DettagliSicurezza dei Sistemi Informatici Introduzione
Sicurezza dei Sistemi Informatici Introduzione Contenuti Minacce: Da cosa deve essere protetto un sistema informatico? Danni: Quali sono i danni per l azienda? Risorse: Cosa proteggere? Hackers e Crackers:
DettagliIl Sistema Operativo. C. Marrocco. Università degli Studi di Cassino
Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.
DettagliGli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori
Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine
DettagliToolChain: Come Generare Applicazioni in Linguaggio Macchina
ToolChain: Come Generare Applicazioni in Linguaggio Macchina Luca Abeni e Luigi Palopoli March 30, 2015 La Lingua della CPU Una CPU capisce e riesce ad eseguire solo il linguaggio macchina Linguaggio di
DettagliDal protocollo IP ai livelli superiori
Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono
DettagliSoftware. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)
INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Gli elaboratori utilizzano memoria per Dati da elaborare Istruzioni eseguite dall elaboratore software differenti risoluzione problemi differenti Algoritmo
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 5 Martedì 21-10-2014 Thread Come abbiamo detto, un processo è composto
DettagliCalcolatori Elettronici Parte X: l'assemblatore as88
Anno Accademico 2013/2014 Calcolatori Elettronici Parte X: l'assemblatore as88 Prof. Riccardo Torlone Università Roma Tre L'assemblatore as88 Disponibile presso: CD-ROM allegato al libro di testo del corso
DettagliSistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
DettagliMECCANISMI E POLITICHE DI PROTEZIONE 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
DettagliGestione della memoria. Paginazione Segmentazione Segmentazione con paginazione
Gestione della memoria Paginazione Segmentazione Segmentazione con paginazione Modello di paginazione Il numero di pagina serve come indice per la tabella delle pagine. Questa contiene l indirizzo di base
DettagliIndice generale. Prefazione all edizione italiana... XI. Prefazione all edizione originale... XIII. Capitolo 1 Introduzione...1
Prefazione all edizione italiana... XI Prefazione all edizione originale... XIII Capitolo 1 Introduzione...1 Capitolo 2 Programmazione...5 0x210 Che cos è la programmazione?... 6 0x220 Pseudocodice...
DettagliMODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
DettagliIl Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10
Il Software e Il Sistema Operativo Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Cosa Impareremo Programmi e Processi Struttura del Sistema Operativo Sviluppo di Programmi I files e la loro
DettagliViolazione dei dati aziendali
Competenze e Soluzioni Violazione dei dati aziendali Questionario per le aziende ISTRUZIONI PER L UTILIZZO Il presente questionario è parte dei servizi che la Project++ dedica ai propri clienti relativamente
DettagliIl problema del produttore e del consumatore. Cooperazione tra processi
Il problema del produttore e del consumatore Cooperazione tra processi Risorsa consumabile I processi disgiunti possono interferire tra loro a causa dell'uso di risorse permanenti, ma ognuno di essi ignora
DettagliStruttura del calcolatore
Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione
DettagliUna minaccia dovuta all uso dell SNMP su WLAN
Una minaccia dovuta all uso dell SNMP su WLAN Gianluigi Me, gianluigi@wi-fiforum.com Traduzione a cura di Paolo Spagnoletti Introduzione Gli attacchi al protocollo WEP compromettono la confidenzialità
DettagliHardware di un Computer
Hardware di un Computer Monitor Mouse Tastiera Printer Disk CPU Graphics Adapter USB Controller Parallel Port Disk Controller BUS Memoria RAM Memoria ROM (BIOS) DMA CPU esegue istruzioni, effettua calcoli,
DettagliIl software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo. (continua) Gestione della memoria principale
Funzioni principali del sistema operativo Il software la parte contro cui si può solo imprecare Avvio dell elaboratore Gestione del processore e dei processi in Gestione della memoria principale Gestione
DettagliBollettino VA-IT-150129-01.A
Early W a r ning Bollettino VA-IT-150129-01.A Guida alla corretta lettura della scheda riassuntiva Early Warning - Bollettino VA-IT-150129-01.A Pag. 2/6 P U B L I C CORRISPONDENZE EARLY WARNING INFORMAZIONI
DettagliINFORMATION TECNOLOGY. a cura di Alessandro Padovani padoale@libero.it
INFORMATION TECNOLOGY 3 a cura di Alessandro Padovani padoale@libero.it 1 SICUREZZA DELLE INFORMAZIONI Le politiche di sicurezza dei dati informatici (che sono spesso il maggior patrimonio di un azienda)
DettagliArchitettura hardware
Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
DettagliVirus informatici Approfondimenti tecnici per giuristi
Creative Commons license Stefano Fratepietro - www.stevelab.net 1 Virus informatici Approfondimenti tecnici per giuristi Ciclo dei seminari Informatica nei laboratori del CIRSFID Facoltà di Giurisprudenza
DettagliLo scenario: la definizione di Internet
1 Lo scenario: la definizione di Internet INTERNET E UN INSIEME DI RETI DI COMPUTER INTERCONNESSE TRA LORO SIA FISICAMENTE (LINEE DI COMUNICAZIONE) SIA LOGICAMENTE (PROTOCOLLI DI COMUNICAZIONE SPECIALIZZATI)
Dettagli[http://www.di.univaq.it/muccini/labarch]
[http://www.di.univaq.it/muccini/labarch] Modulo di Laboratorio di Architettura degli Elaboratori Corso di Architettura degli Elaboratori con Laboratorio Docente: H. Muccini Lecture 3: Introduzione a SPIM
DettagliDavide Casale, Politecnico di Torino
Davide Casale, Politecnico di Torino : una parola, mille pericoli. 29 Novembre 2003 : perché? : cos è? : perché? E la garanzia dei requisiti di: - RISERVATEZZA - INTEGRITA - DISPONIBILITA dei servizi elaborativi
DettagliGestione degli accessi al sistema(autenticazione) e ai locali. Analisi del traffico di rete (Firewall, IDS/IPS)
Contromisure Contromisure Gestione degli accessi al sistema(autenticazione) e ai locali Antivirus Analisi del traffico di rete (Firewall, IDS/IPS) Analisi utilizzo delle risorse di sistema, accessi (IDS/IPS)
DettagliProtezione della propria rete
Protezione della propria rete Introduzione Questo documento vuole essere un promemoria per la protezione della propria rete informatica oltre che fornire una checklist di supporto nelle modalità di progettazione
DettagliLinguaggio C - Stringhe
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - Stringhe La presente dispensa e da utilizzarsi ai
DettagliGDB. The GNU Debugger
GDB The GNU Debugger Il problema del programmatore Il programmatore perfetto non esiste! Nessuna sicurezza che il programma funzioni al primo colpo Più il programma è grande più ci possono essere errori
DettagliDall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere
DettagliLa VPN con il FRITZ!Box Parte I. La VPN con il FRITZ!Box Parte I
La VPN con il FRITZ!Box Parte I 1 Introduzione In questa mini-guida illustreremo come realizzare un collegamento tramite VPN(Virtual Private Network) tra due FRITZ!Box, in modo da mettere in comunicazioni
DettagliStrumenti per l Analisi Statica e Dinamica di Eseguibili
Pattern Recognition and Applications Lab Strumenti per l Analisi Statica e Dinamica di Eseguibili Dott. Ing. Davide Maiorca davide.maiorca@diee.unica.it Corso di Sicurezza Informatica A.A. 2014/2015 Dipartimento
DettagliINFN Napoli NESSUS. IL Security Scanner. Francesco M. Taurino 1
NESSUS IL Security Scanner Francesco M. Taurino 1 La vostra RETE Quali servizi sono presenti? Sono configurati in modo sicuro? Su quali macchine girano? Francesco M. Taurino 2 Domanda Quanto e sicura la
DettagliCorso di Informatica
Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio
DettagliBOLLETTINO DI SICUREZZA INFORMATICA
STATO MAGGIORE DELLA DIFESA II Reparto Informazioni e Sicurezza Ufficio Sicurezza Difesa Sezione Gestione del Rischio CERT Difesa CC BOLLETTINO DI SICUREZZA INFORMATICA N. 5/2008 Il bollettino può essere
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
DettagliIDS: Intrusion detection systems
IDS/IPS/Honeypot IDS: Intrusion detection systems Tentano di rilevare: attività di analisi della rete tentativi di intrusione intrusioni avvenute comportamenti pericolosi degli utenti traffico anomalo
Dettaglicopie di salvaguardia
Sicurezza informatica copie di salvaguardia Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Sicurezza informatica Le principali problematiche relative alla sicurezza delle informazioni
DettagliSicurezza nelle applicazioni multimediali: lezione 9, firewall. I firewall
I firewall Perché i firewall sono necessari Le reti odierne hanno topologie complesse LAN (local area networks) WAN (wide area networks) Accesso a Internet Le politiche di accesso cambiano a seconda della
DettagliProblematiche correlate alla sicurezza informatica nel commercio elettronico
Problematiche correlate alla sicurezza informatica nel commercio elettronico http://www.infosec.it info@infosec.it Relatore: Stefano Venturoli, General Manager Infosec Italian Cyberspace Law Conference
DettagliVARIABILI LOCALI E GLOBALI (ESTERNE)
VARIABILI LOCALI E GLOBALI (ESTERNE) Le variabili locali sono definite (ed il loro uso dichiarato) nella funzione (o nel blocco) che le usa; nascono quando la funzione entra in esecuzione e muoiono al
DettagliSISTEMI OPERATIVI DISTRIBUITI
SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching
Dettagli15J0460A300 SUNWAY CONNECT MANUALE UTENTE
15J0460A300 SUNWAY CONNECT MANUALE UTENTE Agg. 10/07/2012 R.00 Il presente manuale costituisce parte integrante ed essenziale del prodotto. Leggere attentamente le avvertenze contenute in esso in quanto
DettagliLaboratorio di programmazione
Laboratorio di programmazione Lezione VI Tatiana Zolo tatiana.zolo@libero.it 1 LE STRUCT Tipo definito dall utente i cui elementi possono essere eterogenei (di tipo diverso). Introduce un nuovo tipo di
DettagliESERCITAZIONE Semplice creazione di un sito Internet
ESERCITAZIONE Semplice creazione di un sito Internet Sistemi e Tecnologie Informatiche - Prof. Gregorio Cosentino 1 Internet Una rete globale che connette milioni di computer in tutto il mondo, anarchica
DettagliFASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. "Generate debugging information"
FASE DEBUGGING: Prima della compilazione, si devono inserire 1 nel progetto informazioni per il debug cioè si devono visualizzare le opzioni di progetto seguendo il percorso: controllando che la voce Genera
DettagliMODULO 5 Appunti ACCESS - Basi di dati
MODULO 5 Appunti ACCESS - Basi di dati Lezione 1 www.mondopcnet.com Modulo 5 basi di dati Richiede che il candidato dimostri di possedere la conoscenza relativa ad alcuni concetti fondamentali sui database.
DettagliIntroduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6
Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...
DettagliLaboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014
Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Funzioni: Dichiarazione e Definizione La dichiarazione di una funzione serve a comunicare al compilatore quali sono
DettagliElementi sull uso dei firewall
Laboratorio di Reti di Calcolatori Elementi sull uso dei firewall Carlo Mastroianni Firewall Un firewall è una combinazione di hardware e software che protegge una sottorete dal resto di Internet Il firewall
DettagliCorso amministratore di sistema Linux. Corso amministratore di sistema Linux Programma
Corso amministratore di sistema Linux Programma 1 OBIETTIVI E MODALITA DI FRUIZIONE E VALUTAZIONE 1.1 Obiettivo e modalità di fruizione L obiettivo del corso è di fornire le conoscenze tecniche e metodologiche
Dettagli1) Una periferica di input è: A) il mouse B) il monitor C) la stampante
CONOSCENZE DI INFORMATICA 1) Una periferica di input è: A) il mouse B) il monitor C) la stampante 2) Una memoria in sola lettura con la particolarità di essere cancellata in particolari condizioni è detta:
DettagliF-Secure Mobile Security per Nokia E51, E71 ed E75. 1 Installazione ed attivazione Client 5.1 F-Secure
F-Secure Mobile Security per Nokia E51, E71 ed E75 1 Installazione ed attivazione Client 5.1 F-Secure Nota: non è necessario disinstallare la versione precedente di F-Secure Mobile Security. Il vostro
DettagliIBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)
IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Statistics versione 21 con licenza per sito. Questo documento
DettagliIl tuo manuale d'uso. SONY ERICSSON Z550I http://it.yourpdfguides.com/dref/452389
Può anche leggere le raccomandazioni fatte nel manuale d uso, nel manuale tecnico o nella guida di installazione di SONY ERICSSON Z550I. Troverà le risposte a tutte sue domande sul manuale d'uso (informazioni,
DettagliFunzioni. Il modello console. Interfaccia in modalità console
Funzioni Interfaccia con il sistema operativo Argomenti sulla linea di comando Parametri argc e argv Valore di ritorno del programma La funzione exit Esercizio Calcolatrice 2, presente in tutti i programmi
DettagliUniversità degli Studi di Bologna Bologna, 12/12/2002 Corso di Laurea In Informatica. Alessandro Valenti. Sessione II
Università degli Studi di Bologna Bologna, 12/12/2002 Corso di Laurea In Informatica Alessandro Valenti Sessione II Anno Accademico 2001-2002 SOMMARIO: Scenario Data Integration Il Servizio AnaWeb Web
DettagliSoftware di gestione della stampante
Questo argomento include le seguenti sezioni: "Uso del software CentreWare" a pagina 3-11 "Uso delle funzioni di gestione della stampante" a pagina 3-13 Uso del software CentreWare CentreWare Internet
Dettagli