Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni"

Transcript

1 UNIVERSITÀ DEGLI STUDI DI CAGLIARI FACOLTÀ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni ATTACCHI AVANZATI SU PIATTAFORMA ANDROID: STUDIO, SVILUPPO E IMPLEMENTAZIONE DI SOFTWARE DELIBERATAMENTE VULNERABILE RELATORE: Prof. Ing. Giorgio Giacinto TESI DI LAUREA DI: Simone Moro CO-RELATORI: Ing. Igino Corona Ing. Davide Maiorca ANNO ACCADEMICO 2012/2013

2 A mia mamma Combatti! Perché non ci sarebbero grandi guerrieri senza grandi battaglie!

3 Sommario Introduzione... 5 Glossario... 8 Capitolo Piattaforma Android - Architettura Introduzione ad Android Architettura di Sistema Meccanismi di Comunicazione Inter-Processo Componenti Fondamentali delle Applicazioni Sistema dei Permessi di Android Versioni di Android, Diffusione e Controversie Capitolo Vulnerabilità su Piattaforma Android Introduzione alle Minacce di Sicurezza su Android Malware vs Vulnerabilità Le Vulnerabilità: un nemico subdolo per la sicurezza informatica Tipologie di Vulnerabilità Vulnerabilità di Sistema Vulnerabilità di Applicazione Capitolo Tipologie di Vulnerabilità di Applicazione Introduzione alle Vulnerabilità di Applicazione Connessioni non sicure Archiviazione non sicura

4 3.4 Logging non sicuro Crittografia non robusta Utilizzo non sicuro della memoria Vulnerabilità dei Content Provider e SQLite Injection Cross-Application-Exploit e Mercury Framework La Risposta di Google: Google Bouncer Capitolo Sviluppo e pubblicazione di Vulnware Introduzione ai Vulnware Vulnware e Malware per Android: così vicini, così distanti SMS 1 Click Backup Un applicazione deliberatamente vulnerabile Elenco Vulnerabilità di SMS 1 Click Backup Capitolo Sistemi di Contromisura Introduzione ai Sistemi di Contromisura Substrato vulnerabile Android e Sistemi di Contromisura Contromisure a livello di SDK Contromisure a livello di Distribuzione Contromisure a livello di interfaccia di Esecuzione Conclusioni Bibliografia Lista delle Figure e delle Didascalie Lista delle Tabelle

5 Introduzione Nell ambito della sicurezza informatica si presta sempre particolare attenzione a non rimanere un passo indietro rispetto alle trasformazioni costanti introdotte dalle nuove tecnologie. L innovazione in ambito tecnologico e informatico porta fisiologicamente con sé, oltre che una gran dose di entusiasmo e ottimismo, una serie di problematiche, apparentemente intangibili ai più, al di sopra delle quali si vanno spesso a sviluppare delle minacce particolarmente importanti per utenti e aziende. Negli ultimi anni in particolare abbiamo assistito al decollo del mercato dei dispositivi mobili intelligenti, gli smartphone, che hanno rivoluzionato il modo di comunicare, pensare e interagire con il mondo circostante. Essi si sovrappongono in maniera perfettamente complementare alle reti sociali e al nuovo modo di concepire l interazione e la condivisione di pensieri e contenuti offerto da Internet e da un web che sembra essere sempre più vicino all inizio della sua terza fase storica. In questo contesto in costante mutazione, l occhio di chi sa scrutare al di là della semplice innovazione è continuamente pronto a setacciare i punti oscuri che si celano tra i circuiti e le righe di codice delle sempre più complesse architetture attuali. Così, mentre ricercatori, produttori ed esperti, attraverso grandi sforzi congiunti nella direzione di una maggiore sicurezza, sono spesso riusciti a limitare notevolmente l impatto di alcune tipologie tradizionali di minacce, i nuovi pirati informatici si sono rivolti sempre più verso nuove frontiere, talvolta più semplici ed efficaci, 5

6 INTRODUZIONE direttamente correlate alle innovazioni e al modo in cui esse vengono recepite. Sia nel mondo dei Personal Computer che in quello dei dispostivi mobili, l attenzione si sta spostando sempre più verso categorie particolarmente subdole di minacce, perpetrate in maniera difficilmente identificabile in quanto strettamente interconnesse con comportamenti apparentemente legittimi e innocui del software. In particolare appaiono di forte interesse tutte le nuove tecniche di attacco che in qualche modo tentano di dissimulare l esistenza dello stesso, all interno di contenitori apparentemente puliti. Questo tipo di tecniche, definite steganografiche, pur non rappresentando un innovazione in termini assoluti, potranno ora contare sulla presenza di nuovi contenitori che permetteranno di veicolare gli attacchi in maniera più potente ed efficace. Se infatti fino a poco tempo fa la steganografia veniva utilizzata principalmente per la realizzazione di canali di comunicazione oscuri, rappresentati quasi sempre da contenuti multimediali apparentemente puliti, ora il veicolo potrebbe diventare il software stesso, che potrà nascondere vulnerabilità e minacce di non semplice individuazione, appositamente inserite dagli sviluppatori all interno di un involucro applicativo perfettamente funzionante. Quello appena descritto è uno scenario che, a nostro parere, trova una particolare valvola di sfogo all interno di un contesto mobile, nel quale software-house, sviluppatori indipendenti e veri e propri cybercriminali possono usufruire degli stessi canali di distribuzione, e possono accedere in maniera semplice ai dispositivi e ai dati personali dei singoli utenti. Perciò, se è vero il detto per cui..la mano che crea può anche distruggere.., bisognerà essere particolarmente cauti nel riuscire a identificare e a limitare questo tipo di minacce, senza dare più per 6

7 SIMONE MORO UNIVERSITÀ DI CAGLIARI FACOLTÀ DI INGEGNERIA DELLE TELECOMUNICAZIONI scontata la buona fede degli sviluppatori nella creazione di software vulnerabile. Come possono essere realizzati degli attacchi di questo tipo? I sistemi di contromisura attuali sono pronti ad identificare questa categoria di minacce? In che modo esse si potranno prevenire? In questo lavoro si tenterà di dare delle risposte a queste domande, realizzando, attraverso un approccio teorico e pratico, un vero e proprio proofof-concept di quanto appena esposto, con riferimento alla piattaforma Android 1. Cagliari, luglio 2013 Simone Moro 1 Parte dei concetti espressi in questo testo, in particolare nel capitolo 3, 4 e 5, richiedono una conoscenza di base dei concetti di programmazione Java, con particolare riferimento al framework di sviluppo Android. Per un eventuale studio e/o approfondimento degli stessi si rimanda al testo citato in [45]. 7

8 GLOSSARIO Glossario ACID Acronimo di Atomicity, Consinstency, Isolation e Durability. Si tratta di quattro proprietà logiche che, all interno di un database, devono essere soddisfatte dalle transazioni, affinché queste operino in modo corretto sui dati. ADB Android Debug Bridge, driver offerto dall SDK di Android che permette la comunicazione tra dispositivo e Personal Computer. Viene utilizzato principalmente per operazioni di debug. App Diminutivo di applicazione, talvolta usata come sinonimo di essa all interno del testo, ma riferita principalmente ad un contesto mobile. Le app offrono una struttura piuttosto semplificata rispetto alle applicazioni normali, in termini di utilizzo, velocità e facilità di installazione. Vengono generalmente installate a partire da uno store che si occuperà di verificarne la compatibilità con il dispositivo richiedente. ASLR Acronimo di Address Space Layout Randomization. Fa riferimento a una tecnica di disposizione casuale, all interno dello spazio di indirizzamento di un processo, delle porzioni di codice relativo a heap, stack, librerie etc. Auth-token Codice di autorizzazione, ottenuto da un client durante un processo di autenticazione col server, utilizzato per i successivi accessi all interno di una finestra temporale limitata. Background Termine generalmente utilizzato nel testo per indicare i processi in esecuzione che non godono del focus dell interfaccia grafica. Bad-pratice Termine usato nel testo per indicare una cattiva pratica di programmazione. 8

9 SIMONE MORO UNIVERSITÀ DI CAGLIARI FACOLTÀ DI INGEGNERIA DELLE TELECOMUNICAZIONI Best-pratice Termine usato nel testo per indicare una pratica di programmazione raccomandabile. Boot Termine utilizzato in generale per indicare la fase di avvio di un sistema. Brick Termine che indica un dispositivo che, per gravi problemi di configurazione software, generalmente legate ad un aggiornamento del firmware non andato a buon fine, non riuscirà più ad essere utilizzato. Buffer overflow Generica vulnerabilità riferita ad un programma che non valida opportunamente la lunghezza di un campo di dati in ingresso e che lo memorizza all interno di un buffer di lunghezza predefinita. Se il campo in ingresso è di dimensioni maggiori rispetto al buffer di salvataggio, si permetterà la scrittura delle porzioni in eccedenza all interno di aree contigue di memoria. Questo porterà a delle conseguenze imprevedibili sul programma, generalmente sfruttate dagli attaccanti per scopi malevoli. Carrier telefonico. Termine utilizzato nel testo come sinonimo di Provider Copy-on-write Strategia di memorizzazione che permette di ridurre le operazioni di duplicazione di determinate aree di memoria. In generale quando sarà necessaria la duplicazione di un area di memoria, essa non avverrà effettivamente finché una delle due istanze di essa non ne necessiterà la modifica. Le due copie saranno infatti indistinguibili fino a questo momento e potranno essere associate ad uno stesso spazio di indirizzi fisici. Cracker Hacker non etico, che cerca di trarre profitto dall elusione dei sistemi di sicurezza. Data-Leakage Letteralmente fuoriuscita di dati, termine utilizzato per indicare la potenziale esposizione dei dati verso soggetti non autorizzati. 9

10 GLOSSARIO DEP Acronimo di Data Execution Prevention. Esso si riferisce ad un sistema di sicurezza utilizzato dai sistemi operativi moderni per prevenire l esecuzione di determinati exploit, attraverso tecniche hardware e software, che mirano a segnare come non eseguibili determinate porzioni di memoria. Device Termine usato nel testo come sinonimo di dispositivo. DoS Acronimo di Denial of Service. È un attacco informatico che causa generalmente un disservizio su un determinato sistema informatico. Dump/dumping Termine utilizzato in questo testo per indicare la duplicazione di aree di memoria fisica corrispondenti ai processi in esecuzione, direttamente su un supporto. Exploit Codice che sfrutta un bug o una vulnerabilità. Flashing Meccanismo utilizzato per sovrascrivere parti di memoria non-volatile (ad esempio un sistema operativo). Flood Invio a grande velocità di pacchetti e/o dati non pertinenti utilizzato per abusare di un sistema, al fine di perpetrare un attacco di tipo DoS o spam. Foreground Parola inglese utilizzata nel testo per definire un attività in primo piano, che fa uso dell interfaccia grafica. È inteso perciò come il contrario di background. Fork Chiamata di sistema utilizzata da sistemi Unix-Like per indicare il meccanismo per cui un processo può creare una copia di se stesso in memoria. Spesso viene implementato attraverso tecniche di copy-on-write. Framework Struttura logica utilizzata per offrire supporto alla creazione di un determinato software. Viene spesso utilizzato nel testo per indicare l Android-Framework, ovvero l insieme del relativo livello di astrazione dello stack di sistema e degli strumenti che 10

11 SIMONE MORO UNIVERSITÀ DI CAGLIARI FACOLTÀ DI INGEGNERIA DELLE TELECOMUNICAZIONI offrono supporto alla realizzazione di codice Java specifico per Android. Google Play Market ufficiale di Google, utilizzato per scaricare e installare le applicazioni mobili create dagli sviluppatori attraverso l Android SDK e/o NDK, e sottomesse a Google, che ne dovrà approvare la pubblicazione. Conta attualmente circa applicazioni, oltre a una serie di contenuti multimediali come brani musicali, film, libri e riviste online. Sostituisce l Android market, che prevedeva unicamente la presenza di applicazioni Android. Hacker Persona che si impegna nell'affrontare sfide intellettuali per aggirare o superare creativamente le limitazioni che gli vengono imposte, non limitatamente ai suoi ambiti d'interesse (che di solito comprendono l'informatica o l'ingegneria elettronica), ma in tutti gli aspetti della sua vita 2. In generale l hacker non è un criminale informatico, la cui descrizione è invece riassunta dal termine cracker. Heap Area dati presente all interno dello spazio di un processo. In esso vengono allocate le variabili in maniera dinamica da un processo in esecuzione. Heap-Overflow Tecnica di buffer-overflow utilizzata ai danni delle porzioni di memoria dell heap. Input-Validation Termine riferito nel testo to a una serie di vulnerabilità che, all interno di un processo in esecuzione, non validano in maniera efficace un particolare input, portando perciò il processo a funzionare in maniera anomala o non prevista

12 GLOSSARIO JVM Java Virtual Machine, macchina virtuale utilizzata dalle tradizionali applicazioni Java. Marshaling Processo di trasformazione della rappresentazione della memoria di un oggetto in una forma che sia adattabile a una sua memorizzazione in supporti logici/fisici diversi. Viene utilizzato nel testo soprattutto per indicare la comunicazione tra diverse porzioni di un architettura software di un sistema operativo. Matching Termine inglese per indicare una corrispondenza tra due campi appartenenti a strutture diverse. Metasploit Project Progetto di sicurezza informatica utilizzato per il penetration-testing, conosciuto anche per il suo sotto-progetto Metasploit-Framework. Quest ultimo è uno strumento utilizzato per l esecuzione e il test di diversi moduli di exploit verso macchine remote. MITM Acronimo di Man In The Middle, ovvero una tecnica di attacco in cui l attaccante riuscirà a porsi nel mezzo di una comunicazione tra due parti, le quali non avranno modo di sapere se la comunicazione sia realmente intercettata o meno. Può essere di tipo attivo o di tipo passivo, a seconda delle operazioni svolte dall attaccante. Nel primo caso il traffico intercettato viene parzialmente o interamente modificato dall attaccante, nel secondo caso vengono attuate unicamente operazioni di sniffing. NaN Tipologia di dato numerico che rappresenta un valore indefinito, utilizzato specialmente nei calcoli in virgola mobile. NDK Acronimo di Native Development Kit, si riferisce a un insieme di strumenti messi a disposizione per gli sviluppatori di Android che permetteranno la creazione di applicazioni attraverso l utilizzo di linguaggi nativi come C e C+. Netcat Celebre software a riga di comando utilizzato per l analisi e la creazione di connessioni remote tra diversi sistemi. 12

13 SIMONE MORO UNIVERSITÀ DI CAGLIARI FACOLTÀ DI INGEGNERIA DELLE TELECOMUNICAZIONI Nop Acronimo di No-OPeration. Istruzione generalmente presente nella maggior parte delle architetture. Fa sì che la CPU non esegua alcuna istruzione per un certo numero di cicli di clock. Nopsled Insieme di istruzioni NOP utilizzate al fine di riempire l heap di un processo affinché, in sistemi che prevedano una disposizione pseudo-casuale delle variabili in memoria (come meccanismo di sicurezza) si riesca comunque ad eseguire una particolare routine. Il processo eseguirà infatti una serie di istruzioni NOP finché non verrà letta la prima istruzione contenente codice malevolo di cui non si poteva prevedere la posizione all interno, ad esempio, dell heap. NX-Protection Acronimo di Never execute protection, che si riferisce alle tecnologie (generalmente hardware) utilizzate per implementare tecniche di DEP, attraverso l utilizzo di un bit che valuterà per ogni regione di memoria se il contenuto di questa potrà essere utilizzato come istruzioni dal processore o se invece essa contiene unicamente dati utente. On-the-fly Locuzione inglese usata nel testo per indicare perlopiù l analisi o la creazione di routine generate dinamicamente a tempo di esecuzione. Open Handset Alliance Gruppo di 84 aziende produttrici di smartphone o di componenti per i dispositivi mobili. Essa collabora con Google per lo sviluppo di Google Android e per la definizione di Device Android Compatibile. Open source Filosofia di distribuzione del codice sorgente del software per cui gli autori ne permettono l uso, lo studio e l apporto di modifiche da parte di altri programmatori. Viene solitamente implementata grazie alla creazione di una serie di specifiche licenze che ne regolamentano più in dettaglio gli aspetti normativi legati alla modifica e alla redistribuzione/commercializzazione del software. 13

14 GLOSSARIO OS Acronimo di Operating System, utilizzato perciò come sinonimo di sistema operativo. Package Collezione di classi o interfacce java. Generalmente ogni app avrà un proprio package. Parcels Contenitore di messaggi risultanti dalle operazioni di marshaling. Porting Termine riferito solitamente alla conversione di un applicazione da una piattaforma ad un altra. Provider Usato nel testo per indicare le compagnie telefoniche. Reverse-remote-shell Shell remota creata in maniera inversa (ovvero sarà il computer remoto a connettersi a quello dell attaccante). Revision Termine utilizzato nel testo per indicare una versione aggiornata di una particolare versione di Android, generalmente rilasciata per la correzione di bug critici. ROP Acronimo di Return-oriented programming. È una tecnica di exploit che permette di aggirare protezioni basate sul DEP. Anziché utilizzare codice iniettato attraverso tecniche di overflow l attaccante utilizzerà dei gadget, ovvero delle istruzioni pre-caricate nello stack che, utilizzate nella maniera opportuna, permetteranno di controllare l esecuzione di un particolare processo. RPC Acronimo di Remote Procedure Call, chiamata di procedura remota. SDK Software Development Kit. È lo strumento di sviluppo fornito per creare la maggior parte delle applicazioni Android. Stack overflow Tecnica di buffer-overflow mirata alla manipolazione dello stack. 14

15 SIMONE MORO UNIVERSITÀ DI CAGLIARI FACOLTÀ DI INGEGNERIA DELLE TELECOMUNICAZIONI TLS/SSL Acronimi di Transport Layer Security / Secure Sockets Layer. Si tratta di diverse versioni di protocolli crittografici utilizzati per garantire una comunicazione sicura end-to-end su reti TCP-IP, operando al di sopra del livello di trasporto. Unmarshaling Contrario di Marshaling. Upgrade Sinonimo di aggiornamento. Use-after-free Condizione di errore in cui viene utilizzato un puntatore già precedentemente liberato attraverso l istruzione free. Virtual Machine Macchina virtuale. Contesto logico che rappresenta una astrazione software di una vera e propria architettura fisica. XSS CrossSite-Scripting. Scripting. Vulnerabilità tipica dei siti web dinamici, che permetterà a un attaccante, per via di una validazione non corretta dei parametri inseriti tipicamente all interno di un form, di iniettare del codice che verrà poi eseguito dalle vittime lato client. 15

16 1.1 INTRODUZIONE AD ANDROID Capitolo 1 Piattaforma Android - Architettura 1.1 Introduzione ad Android Android è un sistema operativo mobile che a partire dal 2008 ha rivoluzionato il mercato degli smartphone e dei tablet 3. Grazie al supporto di Google, che ha rilevato l azienda nel 2005, e della Open Handset Alliance, il progetto Android si è sviluppato rapidamente guadagnando fette di mercato sempre più ampie e ottenendo il supporto di gran parte dei produttori hardware di dispositivi mobili. La struttura del sistema operativo è prettamente Open Source, fatta eccezione per alcune versioni intermedie che sono state distribuite direttamente compilate. Puntualmente Google rilascia nuove versioni del proprio sistema operativo, indicandole attraverso un numero di versione e un friendly-name. Al momento della stesura di questo documento Android è giunto alla versione (Jelly Bean). Il mantenimento e lo sviluppo di Android sono garantiti dall Android Open Source Project (AOSP), che tra i suoi compiti ha 3 N.B. ci riferiremo in questo testo a dispositivi mobili che supportano il sistema operativo Google Android. Talvolta indicheremo genericamente questo tipo di dispositivi come smartphone, sebbene ci riferiremo indifferentemente anche a tablet, phablet o qualsiasi altra categoria hardware supportata da Android. Non è possibile però garantire che le considerazioni effettuate all interno del testo siano valide per dispositivi che, pur supportando Android, non implementeranno funzioni di telefonia, come ad esempio accade per diversi modelli di tablet presenti in commercio. 16

17 CAPITOLO 1 PIATTAFORMA ANDROID - ARCHITETTURA quello di definire il protocollo di un dispositivo Android Compatibile, in grado di supportare pienamente il Sistema Operativo e di eseguire le applicazioni create dagli sviluppatori attraverso l Android SDK e NDK. Il marchio Google Android è applicabile solo per i dispositivi che rispettano il CDD (Compatibility Definition Document), che attesta, oltre che la compatibilità, la possibilità di poter usufruire delle app proprietarie di Google, tra le quali è compreso anche il market Google Play [1]. Esso è attualmente il più ampio e conosciuto Store di applicazioni e contenuti per il sistema operativo, con una disponibilità di oltre app a febbraio Android viene distribuito con licenza Apache2.0.. Questo permetterà a chiunque la modifica e la redistribuzione dello stesso, senza particolari vincoli legati alla divulgazione del codice sorgente o all eventuale commercializzazione del software modificato. I livelli più bassi dello stack del sistema operativo si basano tuttavia su versioni di Linux che vengono distribuite con licenza GPLv2, obbligando perciò i produttori al rilascio del codice sorgente del Kernel anche su versioni di Android closed-source. 1.2 Architettura di Sistema Android ha un architettura che si snoda su diversi livelli di astrazione. Lo stack è composto principalmente da quattro livelli: 1. Linux Kernel Layer; 2. Native Layer; 3. Application Framework Layer; 4. Applications Layer. Ogni livello ha il compito di nascondere l architettura sottostante ai livelli di astrazione superiori, raggruppando determinate funzionalità del sistema operativo [2]. 17

18 1.2 ARCHITETTURA DI SISTEMA Kernel Linux Figura 1 - Kernel Linux Layer Al livello più basso dell architettura troviamo il Kernel Linux. Android utilizza le versioni 2.6 e 3.x del kernel, rivisitate e modificate da Google per un ottimizzazione su piattaforma mobile. Esso si occuperà della gestione dei processi, delle risorse hardware e della creazione di strutture software fondamentali come il meccanismo di comunicazione inter-processo basato sul Binder Driver. Android Version Linux Kernel Version (Cupcake) (Donut) (Froyo) (GingerBread) (Honeycomb) x (Ice Cream Sandwich)

19 CAPITOLO 1 PIATTAFORMA ANDROID - ARCHITETTURA 4.1./4.2 (Jelly Bean) Tabella 1 - Versioni di Android e Kernel Linux utilizzato Library Layer Figura 2 Libraries Layer Il Library Layer crea un interfaccia tra il kernel e i livelli superiori. Contiene delle implementazioni di alcune librerie C/C++ che non interagiranno direttamente con l hardware, ma che costituiranno delle strutture essenziali per i livelli di astrazione superiori. In questo livello troveremo una serie di librerie Open Source utilizzate per determinati scopi: Surface Manager: : gestore della composizione delle finestre sullo schermo; SGL (Scalable Graphics Library): libreria utilizzata per il rendering grafico bidimensionale; OpenGL ES: : sottoinsieme delle librerie OpenGL che ottimizza la grafica 3D per dispositivi mobili; 19

20 1.2 ARCHITETTURA DI SISTEMA Media Framework: librerie utilizzate per la gestione dei contenuti multimediali; Free Type: Libreria utilizzata per il rendering vettoriale dei font; Webkit: Motore di rendering per le pagine web; Libc: viene utilizzata da Android una versione personalizzata della libreria standard di C, chiamata Bionic Library, che implementa molte feature della libreria standard C ottimizzate per i dispositivi mobili; SQLite: Libreria che implementa un DBMS relazionale ACID utilizzabile dalle applicazioni del dispositivo. L SQLite permetterà infatti la creazione di una base di dati all interno di un unico file. SQLite, per via della sua leggerezza ed efficienza, ben si presta all utilizzo da parte di dispositivi mobili, per i quali risulterebbe inadatta l implementazione di un sistema DBMS tradizionale di tipo client/server; Open SSL: implementazione Open Source dei protocolli crittografici TLS e SSL; Application Framework Layer Figura 3 - Application Framework Layer A livello di framework troviamo tutti i componenti fondamentali utilizzati dalle diverse applicazioni Android incapsulati sotto forma di oggetti Java. Al Framework Layer è delegata la gestione delle 20

21 CAPITOLO 1 PIATTAFORMA ANDROID - ARCHITETTURA funzionalità di alto livello, facilmente utilizzabili dagli sviluppatori attraverso i kit di sviluppo (SDK) rilasciati periodicamente da Google per le diverse versioni del sistema operativo. Faranno parte dell Application Framework Layer alcuni componenti fondamentali, illustrati nella figura precedente, ognuno dei quali persegue determinati scopi: Activity Manager: : gestione del ciclo di vita di un applicazione Android. Window Manager: organizzazione dello schermo e degli spazi di visualizzazione. Questi saranno perciò disegnati e visualizzati maniera trasparente rispetto all applicazione in esecuzione. View System: creazione e gestione delle View, che rappresentano il componente fondamentale per la costruzione delle interfacce utente nel sistema operativo Android. Package Manager: gestione dei diversi package installati all interno del dispositivo e dei relativi permessi. Resource Manager: : gestione delle risorse dichiarate e implementate da ogni applicazione. Esse sono i contenuti statici (ad esempio immagini, layout, stringhe etc.) che grazie al Resource Manager verranno referenziati opportunamente in fase di compilazione. Notification Manager: controllo e notifica degli eventi attraverso l utilizzo di meccanismi di segnalazione hardware o software. Content Provider: : condivisione di dati tra le diverse applicazioni. Location Manager: : gestione delle funzionalità di localizzazione, attraverso l interazione con il GPS o le celle degli operatori mobili. Telephony Manager: controllo delle chiamate in entrata e in uscita del telefono. 21

22 1.2 ARCHITETTURA DI SISTEMA Applications Layer Figura 4 Applications Layer Il livello applicativo comprende tutte le applicazioni, di sistema o utente, installate o in esecuzione nel dispositivo. Allo sviluppatore Android che crea applicazioni attraverso l SDK sarà perciò completamente trasparente l architettura sottostante. Egli dovrà occuparsi unicamente di creare codice Java tenendo conto degli oggetti e delle peculiarità della piattaforma. È tuttavia possibile utilizzare e compilare librerie scritte in C, C++ o in altri linguaggi attraverso l Android Native Development Kit (NDK). L utilizzo di librerie native è consigliato soprattutto per applicazioni che dovranno estendere funzionalità non presenti nell SDK, ottimizzare componenti di basso livello o svolgere task ben definiti che richiedano un utilizzo intensivo della CPU, con esigenze di memoria non necessariamente elevate. L NDK ben si presta perciò ad applicazioni per il signal processing o la simulazione grafica. L utilizzo improprio dell NDK aumenterà notevolmente la complessità dell applicazione e andrebbe sempre evitato nel caso in cui le funzionalità richieste possano essere inserite in maniera efficace attraverso l SDK. Spesso gli sviluppatori utilizzano in modo improprio le librerie native per effettuare il porting di applicazioni scritte per altre piattaforme. Questa pratica è poco consigliata anche per i possibili problemi di compatibilità dovuti alla diversa implementazione della libreria standard C in Android. 22

23 CAPITOLO 1 PIATTAFORMA ANDROID - ARCHITETTURA Runtime Layer Figura 5 - Android Runtime Layer Il Runtime-Layer è posto tra il secondo e il terzo livello dello stack di sistema. Al suo interno troviamo principalmente la Dalvik Virtual Machine e le Librerie di Core che verranno allocate e gestite dalla stessa macchina virtuale. Dalvik Virtual Machine: la DVM è una macchina virtuale molto simile alla tipica JVM di Java. Essa tuttavia non legge direttamente Bytecode, ma una versione ottimizzata di questo, il Dalvik-Bytecode o.dex (Dalvik Executable). L architettura della DVM è stata studiata in maniera tale da ottimizzare le prestazioni su dispositivi mobili rispetto alla JVM. Presenta perciò: - un architettura basata sui registri (la JVM è basata sullo stack). Gli opcode della DVM non possono infatti accedere direttamente allo stack, ma lavoreranno sui 2^16 registri disponibili, nei quali verranno memorizzate le variabili; - un ottimizzazione per scarse richieste di memoria; - la possibilità di eseguire contemporaneamente diverse istanze della Virtual Machine; - La delega di tutti i meccanismi di threading, protezione e isolamento dei processi al sistema operativo sottostante [3] [4]. 23

24 1.2 ARCHITETTURA DI SISTEMA Zygote Ogni applicazione verrà eseguita in una istanza diversa della Virtual Machine. Per ottimizzare l uso delle librerie condivise tra i processi e per velocizzare la creazione di nuove VM viene utilizzato Zygote. Esso è un processo che viene eseguito all avvio del sistema e che crea la prima istanza della macchina virtuale (ZygoteVM), che verrà precaricata con le librerie di core utilizzate in sola lettura. Queste librerie verranno poi riutilizzate dalle altre applicazioni. Zygote mette infatti a disposizione un socket e resta in ascolto per le richieste degli altri processi. Quando un processo (ad esempio l ActivityManagerService) invierà una richiesta di creazione di una nuova applicazione, Zygote effettuerà un fork della ZygoteVM creando un istanza della DalvikVM che verrà utilizzata dalla nuova app. Attraverso il fork si minimizzerà il tempo di creazione e caricamento delle nuove librerie e si realizzerà un evidente ottimizzazione del consumo di spazio in memoria grazie all implementazione di un meccanismo di copy-on-write. Nello stack di sistema Zygote si porrà perciò a cavallo tra il Library Layer (livello in cui è implementato) e il Runtime Layer (livello in cui è eseguita l istanza della Zygote VM). L interfaccia di Zygote, che utilizza un socket per accogliere nuove richieste di clonazione della VM, rappresenta una delle poche eccezioni riguardo al meccanismo di comunicazione inter-processo, che generalmente è implementato, come vedremo successivamente, attraverso l utilizzo del Binder. 24

Scuola Professionale e Filologica Geom. F.Borgogna Vercelli

Scuola Professionale e Filologica Geom. F.Borgogna Vercelli Scuola Professionale e Filologica Geom. F.Borgogna Vercelli Corsi ANDROID 2013/2014 Benvenuti nel mondo dinamico dello sviluppo di applicazioni per smartphone e tablet Android Corsi ANDROID 2013/2014 L

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

Tecniche di progettazione e sviluppo di applicazioni mobile

Tecniche di progettazione e sviluppo di applicazioni mobile Slide del corso FSE Tecniche di progettazione e sviluppo di applicazioni mobile svolto presso AREA Science Park Padriciano - Trieste - Italy diegozabot@yahoo.it Android Introduzione diegozabot@yahoo.it

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

NOVITÀ SITI COMMERCIALISTA

NOVITÀ SITI COMMERCIALISTA NOVITÀ E-COMMERCE Sono state introdotte, nella versione 2011B, una serie di implementazioni grazie alle quali sarà ora possibile disporre all interno del proprio sito E-commerce delle seguenti funzionalità:

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0 Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Software 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 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

Dettagli

InfiXor. il programma facile e versatile per preventivi veloci e completi. il software di preventivazione per produttori e rivenditori di infissi

InfiXor. il programma facile e versatile per preventivi veloci e completi. il software di preventivazione per produttori e rivenditori di infissi InfiXor il software di preventivazione per produttori e rivenditori di infissi di Paolo Audisio SOFTWARE PROGRAMMAZIONE CONSULENZA INFORMATICA sito internet: www.infixor.it Via Carlo Zucchi 19 40134 BOLOGNA

Dettagli

Architettura di un sistema operativo

Architettura di un sistema operativo Architettura di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi

Dettagli

Introduzione al sistema operativo Il file system: file, directory,...

Introduzione al sistema operativo Il file system: file, directory,... ,OVRIWZDUHGLVLVWHPD cosa vedremo: Introduzione al sistema operativo Il file system: file, directory,...... 223,OVRIWZDUHLQWURGX]LRQH L hardware da solo non è sufficiente per il funzionamento dell elaboratore

Dettagli

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

MANUALE UTENTE Fiscali Free

MANUALE UTENTE Fiscali Free MANUALE UTENTE Fiscali Free Le informazioni contenute in questa pubblicazione sono soggette a modifiche da parte della ComputerNetRimini. Il software descritto in questa pubblicazione viene rilasciato

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

Guida alla registrazione on-line di un DataLogger

Guida alla registrazione on-line di un DataLogger NovaProject s.r.l. Guida alla registrazione on-line di un DataLogger Revisione 3.0 3/08/2010 Partita IVA / Codice Fiscale: 03034090542 pag. 1 di 17 Contenuti Il presente documento è una guida all accesso

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

Protezione. Protezione. Protezione. Obiettivi della protezione

Protezione. 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

Dettagli

15J0460A300 SUNWAY CONNECT MANUALE UTENTE

15J0460A300 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

Dettagli

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE Pag. 1 di 16 SOFTWARE A SUPPORTO DELLA (VERS. 3.1) Specifica dei Requisiti Utente Funzionalità di associazione di più Richiedenti ad un procedimento Codice Identificativo VERIFICHE ED APPROVAZIONI CONTROLLO

Dettagli

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?

Dettagli

Collegamento remoto vending machines by do-dots

Collegamento remoto vending machines by do-dots Collegamento remoto vending machines by do-dots Ultimo aggiornamento 23 marzo 2011 rev1 - Stesura iniziale 18/10/2010 rev2 - Approfondimenti 12/11/2010 rev3 Riduzione dei contenuti per una lettura generica

Dettagli

FPf per Windows 3.1. Guida all uso

FPf per Windows 3.1. Guida all uso FPf per Windows 3.1 Guida all uso 3 Configurazione di una rete locale Versione 1.0 del 18/05/2004 Guida 03 ver 02.doc Pagina 1 Scenario di riferimento In figura è mostrata una possibile soluzione di rete

Dettagli

Manuale di Aggiornamento BOLLETTINO. Rel. 5.20.1H4. DATALOG Soluzioni Integrate a 32 Bit

Manuale di Aggiornamento BOLLETTINO. Rel. 5.20.1H4. DATALOG Soluzioni Integrate a 32 Bit Manuale di Aggiornamento BOLLETTINO Rel. 5.20.1H4 DATALOG Soluzioni Integrate a 32 Bit - 2 - Manuale di Aggiornamento Sommario 1 2 PER APPLICARE L AGGIORNAMENTO... 3 1.1 Aggiornamento Patch Storica...

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

INFORMATIVA SUL DIRITTO ALLA PRIVACY PER LA CONSULTAZIONE DEL SITO WEB www.arlatighislandi.it

INFORMATIVA SUL DIRITTO ALLA PRIVACY PER LA CONSULTAZIONE DEL SITO WEB www.arlatighislandi.it INFORMATIVA SUL DIRITTO ALLA PRIVACY PER LA CONSULTAZIONE DEL SITO WEB www.arlatighislandi.it redatto ai sensi del decreto legislativo n 196/2003 2 GENNAIO 2014 documento pubblico 1 PREMESSA 3 SEZIONE

Dettagli

SDD System design document

SDD System design document UNIVERSITA DEGLI STUDI DI PALERMO FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA TESINA DI INGEGNERIA DEL SOFTWARE Progetto DocS (Documents Sharing) http://www.magsoft.it/progettodocs

Dettagli

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione Lezione 4 La Struttura dei Sistemi Operativi Introduzione Funzionamento di un SO La Struttura di un SO Sistemi Operativi con Struttura Monolitica Progettazione a Livelli di un SO 4.2 1 Introduzione (cont.)

Dettagli

Base di dati e sistemi informativi

Base di dati e sistemi informativi Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per

Dettagli

Sistemi informativi secondo prospettive combinate

Sistemi informativi secondo prospettive combinate Sistemi informativi secondo prospettive combinate direz acquisti direz produz. direz vendite processo acquisti produzione vendite INTEGRAZIONE TRA PROSPETTIVE Informazioni e attività sono condivise da

Dettagli

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA) Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può

Dettagli

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio Documento Tecnico Light CRM Descrizione delle funzionalità del servizio Prosa S.r.l. - www.prosa.com Versione documento: 1, del 11 Luglio 2006. Redatto da: Michela Michielan, michielan@prosa.com Revisionato

Dettagli

Una minaccia dovuta all uso dell SNMP su WLAN

Una 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à

Dettagli

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Il software per gli esami ICON può essere eseguito su qualunque computer dotato di Java Virtual Machine aggiornata.

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli

Il sistema operativo TinyOS

Il sistema operativo TinyOS tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Domenico Cotroneo candidato Giovanni Chierchia Matr. 534 / 804 ::. Obiettivi del lavoro di tesi Studio del sistema operativo TinyOS Studio

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati Affidabilità nel servizio precisione negli strumenti Chanda LPR Chanda LPR è una piattaforma

Dettagli

Manuale per la configurazione di AziendaSoft in rete

Manuale per la configurazione di AziendaSoft in rete Manuale per la configurazione di AziendaSoft in rete Data del manuale: 7/5/2013 Aggiornamento del manuale: 2.0 del 10/2/2014 Immagini tratte da Windows 7 Versione di AziendaSoft 7 Sommario 1. Premessa...

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia

Dettagli

UN APP FLESSIBILE E INTUITIVA PER GESTIRE I TUOI AFFARI IN TUTTA COMODITÀ

UN APP FLESSIBILE E INTUITIVA PER GESTIRE I TUOI AFFARI IN TUTTA COMODITÀ UN APP FLESSIBILE E INTUITIVA PER GESTIRE I TUOI AFFARI IN TUTTA COMODITÀ APP Mobile MIGLIORA LA QUALITÀ DEL RAPPORTO CON I CLIENTI, SCEGLI LA TECNOLOGIA DEL MOBILE CRM INTEGRABILE AL TUO GESTIONALE AZIENDALE

Dettagli

DINAMIC: gestione assistenza tecnica

DINAMIC: gestione assistenza tecnica DINAMIC: gestione assistenza tecnica INSTALLAZIONE SU SINGOLA POSTAZIONE DI LAVORO PER SISTEMI WINDOWS 1. Installazione del software Il file per l installazione del programma è: WEBDIN32.EXE e può essere

Dettagli

Lezione 1. Introduzione e Modellazione Concettuale

Lezione 1. Introduzione e Modellazione Concettuale Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

1) GESTIONE DELLE POSTAZIONI REMOTE

1) GESTIONE DELLE POSTAZIONI REMOTE IMPORTAZIONE ESPORTAZIONE DATI VIA FTP Per FTP ( FILE TRANSFER PROTOCOL) si intende il protocollo di internet che permette di trasferire documenti di qualsiasi tipo tra siti differenti. Per l utilizzo

Dettagli

Invio SMS. DM Board ICS Invio SMS

Invio SMS. DM Board ICS Invio SMS Invio SMS In questo programma proveremo ad inviare un SMS ad ogni pressione di uno dei 2 tasti della DM Board ICS. Per prima cosa creiamo un nuovo progetto premendo sul pulsante (Create new project): dove

Dettagli

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac Application Manager 1.3 (SOLO PER TIGER) Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i

Dettagli

Installazione e caratteristiche generali 1

Installazione e caratteristiche generali 1 Installazione e caratteristiche generali 1 Introduzione SIGLA Ultimate e SIGLA Start Edition possono essere utilizzati solo se sono soddisfatti i seguenti prerequisiti: Microsoft.Net Framework 3.5 (consigliato

Dettagli

Introduzione alla Virtualizzazione

Introduzione alla Virtualizzazione Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: luca.tasquier@unina2.it Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse

Dettagli

Manuale Utente Prerequisiti per DigitalSign Lite Sistema Operativo Linux a 64 bit

Manuale Utente Prerequisiti per DigitalSign Lite Sistema Operativo Linux a 64 bit - Carta Regionale dei Servizi e Certificati Qualificati di Firma Digitale Manuale Utente Prerequisiti per DigitalSign Lite Sistema Operativo Linux a 64 bit Codice del Documento: CRS-CA-MES#05 Revisione

Dettagli

Il 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 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

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

CREA IL CATALOGO DEI TUOI PRODOTTI SU IPAD E IPHONE CON UN APP. ANZI, CON UPP!

CREA IL CATALOGO DEI TUOI PRODOTTI SU IPAD E IPHONE CON UN APP. ANZI, CON UPP! CREA IL CATALOGO DEI TUOI PRODOTTI SU IPAD E IPHONE CON UN APP. ANZI, CON UPP! COS È UPP!? upp! è l applicazione di punta della divisione mobile di Weblink srl, dedicata allo sviluppo di applicazioni per

Dettagli

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

Dettagli

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda Fa quadrato attorno alla tua azienda Soluzioni software per L archiviazione elettronica dei documenti Perché scegliere Q Archiviazione Elettronica dei Documenti? Tale applicativo si pone come obbiettivo

Dettagli

Basi Android. Android si definisce open. Con8ene tecnologie open source. Il codice di Android è open. Licenza Open Source Apache 2.

Basi Android. Android si definisce open. Con8ene tecnologie open source. Il codice di Android è open. Licenza Open Source Apache 2. Basi Android 1 Android Cosa è Android? Android è un insieme di strumen8 e librerie per sviluppare applicazioni mobili è più di un SO Android si definisce open Con8ene tecnologie open source Linux Il codice

Dettagli

Hardware delle reti LAN

Hardware delle reti LAN Hardware delle reti LAN Le reti LAN utilizzano una struttura basata su cavi e concentratori che permette il trasferimento di informazioni. In un ottica di questo tipo, i computer che prendono parte allo

Dettagli

Rapporto Tecnico su installazione del dimostratore

Rapporto Tecnico su installazione del dimostratore Rapporto Tecnico su installazione del dimostratore Indice 1 Introduzione 2 2 Installazione 3 2.1 Requisiti.............................. 3 2.2 Installazione........................... 3 3 Inserimento e/o

Dettagli

Android world. Sviluppare app per Android. Un insieme di software per dispositivi mobili (smartphone, tablet, portatili...)

Android world. Sviluppare app per Android. Un insieme di software per dispositivi mobili (smartphone, tablet, portatili...) Android world Un insieme di software per dispositivi mobili (smartphone, tablet, portatili...) Contiene un Sistema Operativo, software middleware e applicazioni varie Sviluppato da Open Handset Alliance,

Dettagli

penetration test (ipotesi di sviluppo)

penetration test (ipotesi di sviluppo) penetration test (ipotesi di sviluppo) 1 Oggetto... 3 2 Premesse... 3 3 Attività svolte durante l analisi... 3 3.1 Ricerca delle vulnerabilità nei sistemi... 4 3.2 Ricerca delle vulnerabilità nelle applicazioni

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

CONTENT MANAGEMENT SYSTEM

CONTENT MANAGEMENT SYSTEM CONTENT MANAGEMENT SYSTEM P-2 PARLARE IN MULTICANALE Creare un portale complesso e ricco di informazioni continuamente aggiornate, disponibile su più canali (web, mobile, iphone, ipad) richiede competenze

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

Dettagli

SIEBEL CRM ON DEMAND MARKETING

SIEBEL CRM ON DEMAND MARKETING SIEBEL CRM ON DEMAND MARKETING Siebel CRM On Demand Marketing include 11 strumenti integrati per migliorare le attività di marketing dell azienda. Questi strumenti permettono di conoscere meglio i destinatari,

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Software per Helpdesk

Software per Helpdesk Software per Helpdesk Padova - maggio 2010 Antonio Dalvit - www.antoniodalvit.com Cosa è un helpdesk? Un help desk è un servizio che fornisce informazioni e assistenza ad utenti che hanno problemi nella

Dettagli

WorkFLow (Gestione del flusso pratiche)

WorkFLow (Gestione del flusso pratiche) WorkFLow (Gestione del flusso pratiche) Il workflow è l'automazione di una parte o dell'intero processo aziendale dove documenti, informazioni e compiti vengono passati da un partecipante ad un altro al

Dettagli

Il Web Server e il protocollo HTTP

Il 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,

Dettagli

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09 SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli

Dettagli

Corso di Amministrazione di Reti A.A. 2002/2003

Corso di Amministrazione di Reti A.A. 2002/2003 Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm

Dettagli

Brochure informativa del prodotto

Brochure informativa del prodotto Versione 1.0 Brochure informativa del prodotto Ipweb s.r.l. --- G.A.R.I. WEB: Brochure informativa del prodotto 1 Le informazioni contenute nel presente documento possono essere soggette a modifiche senza

Dettagli

Sommario. 1. Cos è SecureDrive... 3. 1.1. Caratteristiche... 3. 1.1.1. Privacy dei dati: SecureVault... 4

Sommario. 1. Cos è SecureDrive... 3. 1.1. Caratteristiche... 3. 1.1.1. Privacy dei dati: SecureVault... 4 Allegato Tecnico Pagina 2 di 7 Marzo 2015 Sommario 1. Cos è... 3 1.1. Caratteristiche... 3 1.1.1. Privacy dei dati: SecureVault... 4 1.1.1.1. Funzione di Recupero del Codice di Cifratura... 4 1.1.2. Sicurezza

Dettagli

Regione Piemonte Portale Rilevazioni Crediti EELL Manuale Utente

Regione Piemonte Portale Rilevazioni Crediti EELL Manuale Utente Pag. 1 di 15 VERS V01 REDAZIONE VERIFICHE E APPROVAZIONI CONTROLLO APPROVAZIONE AUTORIZZAZIONE EMISSIONE NOME DATA NOME DATA NOME DATA A. Marchisio C. Pernumian 29/12/2014 M. Molino 27/02/2015 M. Molino

Dettagli

Manuale LiveBox WEB ADMIN. http://www.liveboxcloud.com

Manuale LiveBox WEB ADMIN. http://www.liveboxcloud.com 2014 Manuale LiveBox WEB ADMIN http://www.liveboxcloud.com LiveBox Srl non rilascia dichiarazioni o garanzie in merito al contenuto o uso di questa documentazione e declina qualsiasi garanzia espressa

Dettagli

PIATTAFORMA DOCUMENTALE CRG

PIATTAFORMA DOCUMENTALE CRG SISTEMA DI GESTIONE DOCUMENTALE DMS24 PIATTAFORMA DOCUMENTALE CRG APPLICAZIONE PER LE PROCEDURE DI GARE D AMBITO 1 AGENDA 1. Introduzione 2. I Livelli di accesso 3. Architettura di configurazione 4. Accesso

Dettagli

NAVIGAORA HOTSPOT. Manuale utente per la configurazione

NAVIGAORA HOTSPOT. Manuale utente per la configurazione NAVIGAORA HOTSPOT Manuale utente per la configurazione NAVIGAORA Hotspot è l innovativo servizio che offre ai suoi clienti accesso ad Internet gratuito, in modo semplice e veloce, grazie al collegamento

Dettagli

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle

Dettagli

NOTE LEGALI E PRIVACY

NOTE LEGALI E PRIVACY NOTE LEGALI E PRIVACY L'accesso a questo sito web da parte dei visitatori è soggetto alle seguenti condizioni. Le informazioni, i loghi, gli elementi grafici, le immagini, e quant'altro pubblicato e/o

Dettagli

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza

Dettagli

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti 20120300 INDICE 1. Introduzione... 3 2. Consultazione... 4 2.1 Consultazione Server Fidati... 4 2.2 Consultazione Servizi Client... 5 2.3 Consultazione Stato richieste... 5 3. Amministrazione... 6 3.1

Dettagli

SOMMARIO... 3 INTRODUZIONE...

SOMMARIO... 3 INTRODUZIONE... Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...

Dettagli

Novità di Access 2010

Novità di Access 2010 2 Novità di Access 2010 In questo capitolo: Gestire le impostazioni e i file di Access nella visualizzazione Backstage Personalizzare l interfaccia utente di Access 2010 Creare database utilizzando modelli

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il 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.

Dettagli

EDICOLA MANAGER 2.2. + EM Importer

EDICOLA MANAGER 2.2. + EM Importer EDICOLA MANAGER 2.2 + EM Importer Con la versione 2.2 del programma sono state introdotte numerose novità grazie anche alla collaborazione di colleghi che hanno messo a disposizione utility e documenti

Dettagli

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE PREMESSA La presente guida è da considerarsi come aiuto per l utente per l installazione e configurazione di Atollo Backup. La guida non vuole approfondire

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa Raccolta prove scritte Realizzare una classe thread Processo che deve effettuare un numero fissato di letture da una memoria

Dettagli

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi 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

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI 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

Dettagli

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING Febbraio Inserto di Missione Impresa dedicato allo sviluppo pratico di progetti finalizzati ad aumentare la competitività delle imprese. COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING COS E UN

Dettagli

Riepilogo delle modifiche di PA-DSS dalla versione 2.0 alla 3.0

Riepilogo delle modifiche di PA-DSS dalla versione 2.0 alla 3.0 Settore delle carte di pagamento (PCI) Standard di protezione dei dati per le applicazioni di pagamento () Riepilogo delle modifiche di dalla versione 2.0 alla 3.0 Novembre 2013 Introduzione Il presente

Dettagli

Sistema operativo: Gestione della memoria

Sistema 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

Dettagli

Il web server Apache Lezione n. 3. Introduzione

Il web server Apache Lezione n. 3. Introduzione Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar

Dettagli

GESGOLF SMS ONLINE. Manuale per l utente

GESGOLF SMS ONLINE. Manuale per l utente GESGOLF SMS ONLINE Manuale per l utente Procedura di registrazione 1 Accesso al servizio 3 Personalizzazione della propria base dati 4 Gestione dei contatti 6 Ricerca dei contatti 6 Modifica di un nominativo

Dettagli

manuale utente per Viabizzuno online

manuale utente per Viabizzuno online manuale utente per Viabizzuno online nuova piattaforma di e-business Viabizzuno il primo approccio con il nuovo sistema è la pagina di autenticazione. già qui appare la prima novità, ovvero il recupero

Dettagli

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna Il CMS Moka Giovanni Ciardi Regione Emilia Romagna Moka è uno strumento per creare applicazioni GIS utilizzando oggetti (cartografie, temi, legende, database, funzioni) organizzati in un catalogo condiviso.

Dettagli