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

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese Inter Process Communication Laboratorio Software 2008-2009 C. Brandolese Introduzione Più processi o thread Concorrono alla relaizzazione di una funzione applicativa Devono poter realizzare Sincronizzazione

Dettagli

Il Concetto di Processo

Il Concetto di Processo Processi e Thread Il Concetto di Processo Il processo è un programma in esecuzione. È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono

Dettagli

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali DynDevice ECM La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali Presentazione DynDevice ECM Cos è DynDevice ICMS Le soluzioni di DynDevice

Dettagli

Software 2. Classificazione del software. Software di sistema

Software 2. Classificazione del software. Software di sistema Software 2 Insieme di istruzioni e programmi che consentono il funzionamento del computer Il software indica all hardware quali sono le operazioni da eseguire per svolgere determinati compiti Valore spesso

Dettagli

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO CLSMS SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO Sommario e introduzione CLSMS SOMMARIO INSTALLAZIONE E CONFIGURAZIONE... 3 Parametri di configurazione... 4 Attivazione Software...

Dettagli

Il Business Process Management: nuova via verso la competitività aziendale

Il Business Process Management: nuova via verso la competitività aziendale Il Business Process Management: nuova via verso la competitività Renata Bortolin Che cosa significa Business Process Management? In che cosa si distingue dal Business Process Reingeneering? Cosa ha a che

Dettagli

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

FileMaker Server 12. Guida introduttiva

FileMaker Server 12. Guida introduttiva FileMaker Server 12 Guida introduttiva 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker,

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

CHIAVETTA INTERNET ONDA MT503HSA

CHIAVETTA INTERNET ONDA MT503HSA CHIAVETTA INTERNET ONDA MT503HSA Manuale Utente Linux Debian, Fedora, Ubuntu www.ondacommunication.com Chiavet ta Internet MT503HSA Guida rapida sistema operativo LINUX V 1.1 33080, Roveredo in Piano (PN)

Dettagli

Mettere in sicurezza l infrastruttura dei desktop virtuali con Citrix NetScaler

Mettere in sicurezza l infrastruttura dei desktop virtuali con Citrix NetScaler Mettere in sicurezza l infrastruttura dei desktop virtuali con Citrix NetScaler 2 Le aziende attuali stanno adottando rapidamente la virtualizzazione desktop quale mezzo per ridurre i costi operativi,

Dettagli

UML Component and Deployment diagram

UML Component and Deployment diagram UML Component and Deployment diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania I diagrammi UML Classificazione

Dettagli

Symbolic. Ambiti Operativi. Presente sul mercato da circa 10 anni Specializzata in Network Security Partner e distributore italiano di F-Secure Corp.

Symbolic. Ambiti Operativi. Presente sul mercato da circa 10 anni Specializzata in Network Security Partner e distributore italiano di F-Secure Corp. Symbolic Presente sul mercato da circa 10 anni Specializzata in Network Security Partner e distributore italiano di F-Secure Corp. La nostra mission è di rendere disponibili soluzioni avanzate per la sicurezza

Dettagli

Il portafoglio VidyoConferencing. Tutto ciò di cui avete bisogno per realizzare videoconferenze HD di qualità, accessibili e a costi vantaggiosi

Il portafoglio VidyoConferencing. Tutto ciò di cui avete bisogno per realizzare videoconferenze HD di qualità, accessibili e a costi vantaggiosi Il portafoglio VidyoConferencing Tutto ciò di cui avete bisogno per realizzare videoconferenze HD di qualità, accessibili e a costi vantaggiosi La qualità HD di Vidyo mi permette di vedere e ascoltare

Dettagli

Guida al nuovo sistema di posta. CloudMail UCSC. (rev.doc. 1.4)

Guida al nuovo sistema di posta. CloudMail UCSC. (rev.doc. 1.4) Guida al nuovo sistema di posta CloudMail UCSC (rev.doc. 1.4) L Università per poter migliorare l utilizzo del sistema di posta adeguandolo agli standard funzionali più diffusi ha previsto la migrazione

Dettagli

SMARTCARD Studente: Elvis Ciotti Prof: Luciano Margara 1

SMARTCARD Studente: Elvis Ciotti Prof: Luciano Margara 1 SMARTCARD Studente: Elvis Ciotti Prof: Luciano Margara 1 Introduzione SmartCard: Carta intelligente Evoluzione della carta magnetica Simile a piccolo computer : contiene memoria (a contatti elettrici)

Dettagli

Configurazioni Mobile Connect

Configurazioni Mobile Connect Mailconnect Mail.2 L EVOLUZIONE DELLA POSTA ELETTRONICA Configurazioni Mobile Connect iphone MOBILE CONNECT CONFIGURAZIONE MOBILE CONNECT PER IPHONE CONFIGURAZIONE IMAP PER IPHONE RUBRICA CONTATTI E IPHONE

Dettagli

Payment Card Industry (PCI) Data Security Standard

Payment Card Industry (PCI) Data Security Standard Payment Card Industry (PCI) Data Security Standard Procedure per la scansione di sicurezza Versione 1.1 Release: settembre 2006 Indice generale Finalità... 1 Introduzione... 1 Ambito di applicazione dei

Dettagli

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina Cosa è il DSS L elevato sviluppo dei personal computer, delle reti di calcolatori, dei sistemi database di grandi dimensioni, e la forte espansione di modelli basati sui calcolatori rappresentano gli sviluppi

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

Università 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. 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

Dettagli

IT-BOOK. Domini Hosting Web marketing E-mail e PEC

IT-BOOK. Domini Hosting Web marketing E-mail e PEC 5 giugno 09 IT-BOOK Configurazioni e cartatteristiche tecniche possono essere soggette a variazioni senza preavviso. Tutti i marchi citati sono registrati dai rispettivi proprietari. Non gettare per terra:

Dettagli

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso

Dettagli

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT IT PROCESS EXPERT 1. CARTA D IDENTITÀ... 2 2. CHE COSA FA... 3 3. DOVE LAVORA... 4 4. CONDIZIONI DI LAVORO... 5 5. COMPETENZE... 6 Quali competenze sono necessarie... 6 Conoscenze... 8 Abilità... 9 Comportamenti

Dettagli

DIFENDERSI DAI MODERNI ATTACCHI DI PHISHING MIRATI

DIFENDERSI DAI MODERNI ATTACCHI DI PHISHING MIRATI DIFENDERSI DAI MODERNI ATTACCHI DI PHISHING MIRATI DIFENDERSI DAI MODERNI ATTACCHI DI PHISHING MIRATI 2 Introduzione Questa email è una truffa o è legittima? È ciò che si chiedono con sempre maggiore frequenza

Dettagli

SAI QUANTO TEMPO IMPIEGHI A RINTRACCIARE UN DOCUMENTO, UN NUMERO DI TELEFONO O UNA E-MAIL?

SAI QUANTO TEMPO IMPIEGHI A RINTRACCIARE UN DOCUMENTO, UN NUMERO DI TELEFONO O UNA E-MAIL? archiviazione ottica, conservazione e il protocollo dei SAI QUANTO TEMPO IMPIEGHI A RINTRACCIARE UN DOCUMENTO, UN NUMERO DI TELEFONO O UNA E-MAIL? Il software Facile! BUSINESS Organizza l informazione

Dettagli

Note e informazioni legali

Note e informazioni legali Note e informazioni legali Proprietà del sito; accettazione delle condizioni d uso I presenti termini e condizioni di utilizzo ( Condizioni d uso ) si applicano al sito web di Italiana Audion pubblicato

Dettagli

Web Conferencing Open Source

Web Conferencing Open Source Web Conferencing Open Source A cura di Giuseppe Maugeri g.maugeri@bembughi.org 1 Cos è BigBlueButton? Sistema di Web Conferencing Open Source Basato su più di quattordici componenti Open-Source. Fornisce

Dettagli

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione Utility & Configurazioni Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 4 Impostare i dati della propria azienda... 5 Aggiornare il programma... 6 Controllare l integrità

Dettagli

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 Sistemi Web-Based - Terminologia Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 CLIENT: il client è il programma che richiede un servizio a un computer collegato in

Dettagli

GUIDA ALLE BEST PRACTICE PER MOBILE DEVICE MANAGEMENT E MOBILE SECURITY

GUIDA ALLE BEST PRACTICE PER MOBILE DEVICE MANAGEMENT E MOBILE SECURITY GUIDA ALLE BEST PRACTICE PER MOBILE DEVICE MANAGEMENT E MOBILE SECURITY Con Kaspersky, adesso è possibile. www.kaspersky.it/business Be Ready for What's Next SOMMARIO Pagina 1. APERTI 24 ORE SU 24...2

Dettagli

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software.

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software. Generalità Definizione Un firewall è un sistema che protegge i computer connessi in rete da attacchi intenzionali mirati a compromettere il funzionamento del sistema, alterare i dati ivi memorizzati, accedere

Dettagli

Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore)

Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore) Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore) Autore: Matteo Veroni Email: matver87@gmail.com Sito web: matteoveroni@altervista.org Fonti consultate: http://openmeetings.apache.org/

Dettagli

La suite Dental Trey che semplifica il tuo mondo.

La suite Dental Trey che semplifica il tuo mondo. La suite Dental Trey che semplifica il tuo mondo. impostazioni di sistema postazione clinica studio privato sterilizzazione magazzino segreteria amministrazione sala di attesa caratteristiche UNO tiene

Dettagli

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Protocolli di livello intermedio:" TCP/IP" IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in

Dettagli

> MULTI TASKING > MULTI PROCESS > MULTI CORE

> MULTI TASKING > MULTI PROCESS > MULTI CORE > MULTI TASKING > MULTI PROCESS > MULTI CORE WorkNC V21 multicore 64 bits : Benefici di WorkNC Aumento generale della produttività, grazie alle nuove tecnologie multi-core, 64 bit e Windows 7 Calcolo di

Dettagli

Web conferencing e collaborazione in tempo reale su Internet: la piattaforma Meetecho

Web conferencing e collaborazione in tempo reale su Internet: la piattaforma Meetecho Web conferencing e collaborazione in tempo reale su Internet: la piattaforma Meetecho Tobia Castaldi Alessandro Amirante Lorenzo Miniero Simon Pietro Romano Giorgio Ventre 02/10/2009 GARR 2009 "Network

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

Informatica. Scopo della lezione

Informatica. Scopo della lezione 1 Informatica per laurea diarea non informatica LEZIONE 1 - Cos è l informatica 2 Scopo della lezione Introdurre le nozioni base della materia Definire le differenze tra hardware e software Individuare

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

CA Process Automation

CA Process Automation CA Process Automation Glossario Release 04.2.00 La presente documentazione, che include il sistema di guida in linea integrato e materiale distribuibile elettronicamente (d'ora in avanti indicata come

Dettagli

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

Dettagli

Manuale di Remote Desktop Connection. Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci

Manuale di Remote Desktop Connection. Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci Manuale di Remote Desktop Connection Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci 2 Indice 1 Introduzione 5 2 Il protocollo Remote Frame Buffer 6 3 Uso di Remote Desktop

Dettagli

Guida Dell di base all'acquisto dei server

Guida Dell di base all'acquisto dei server Guida Dell di base all'acquisto dei server Per le piccole aziende che dispongono di più computer è opportuno investire in un server che aiuti a garantire la sicurezza e l'organizzazione dei dati, consentendo

Dettagli

Boot Camp Guida all installazione e alla configurazione

Boot Camp Guida all installazione e alla configurazione Boot Camp Guida all installazione e alla configurazione Indice 4 Introduzione 5 Cosa ti occorre 6 Panoramica dell installazione 6 Passo 1: verifica la presenza di aggiornamenti. 6 Passo 2: apri Assistente

Dettagli

I N F I N I T Y Z U C C H E T T I WORKFLOW HR

I N F I N I T Y Z U C C H E T T I WORKFLOW HR I N F I N I T Y Z U C C H E T T I WORKFLOW HR WORKFLOW HR Zucchetti, nell ambito delle proprie soluzioni per la gestione del personale, ha realizzato una serie di moduli di Workflow in grado di informatizzare

Dettagli

Cosa fare in caso di perdita di smartphone o tablet

Cosa fare in caso di perdita di smartphone o tablet OUCH! Ottobre 2012 IN QUESTO NUMERO Introduzione Le precauzioni da prendere Cosa fare in caso di smarrimento o furto Cosa fare in caso di perdita di smartphone o tablet L AUTORE DI QUESTO NUMERO Heather

Dettagli

SCUOLANEXT, è l'esclusivo e rivoluzionario sistema informatizzato con cui far interagire docenti, studenti e famiglie in tempo reale!

SCUOLANEXT, è l'esclusivo e rivoluzionario sistema informatizzato con cui far interagire docenti, studenti e famiglie in tempo reale! SCUOLANET, è l'esclusivo e rivoluzionario sistema informatizzato con cui far interagire docenti, studenti e famiglie in tempo reale! SCUOLANET consente la piena digitalizzazione della scuola: completa

Dettagli

Modello OSI e architettura TCP/IP

Modello OSI e architettura TCP/IP Modello OSI e architettura TCP/IP Differenza tra modello e architettura - Modello: è puramente teorico, definisce relazioni e caratteristiche dei livelli ma non i protocolli effettivi - Architettura: è

Dettagli

Elaidon Web Solutions

Elaidon Web Solutions Elaidon Web Solutions Realizzazione siti web e pubblicità sui motori di ricerca Consulente Lorenzo Stefano Piscioli Via Siena, 6 21040 Gerenzano (VA) Telefono +39 02 96 48 10 35 elaidonwebsolutions@gmail.com

Dettagli

Ottimizzazione della gestione del data center con Microsoft System Center

Ottimizzazione della gestione del data center con Microsoft System Center Ottimizzazione della gestione del data center con Microsoft System Center Declinazione di responsabilità e informazioni sul copyright Le informazioni contenute nel presente documento rappresentano le conoscenze

Dettagli

Come difendersi dai VIRUS

Come difendersi dai VIRUS Come difendersi dai VIRUS DEFINIZIONE Un virus è un programma, cioè una serie di istruzioni, scritte in un linguaggio di programmazione, in passato era di solito di basso livello*, mentre con l'avvento

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

Alb@conference GO e Web Tools

Alb@conference GO e Web Tools Alb@conference GO e Web Tools Crea riunioni virtuali sempre più efficaci Strumenti Web di Alb@conference GO Guida Utente Avanzata Alb@conference GO Per partecipare ad un audioconferenza online con Alb@conference

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

Progetto VirtualCED Clustered

Progetto VirtualCED Clustered Progetto VirtualCED Clustered Un passo indietro Il progetto VirtualCED, descritto in un precedente articolo 1, è ormai stato implementato con successo. Riassumendo brevemente, si tratta di un progetto

Dettagli

Proteggere le informazioni in tempo di crisi: si può essere sicuri con investimenti contenuti? Lino Fornaro Net1 sas Giovanni Giovannelli - Sophos

Proteggere le informazioni in tempo di crisi: si può essere sicuri con investimenti contenuti? Lino Fornaro Net1 sas Giovanni Giovannelli - Sophos Proteggere le informazioni in tempo di crisi: si può essere sicuri con investimenti contenuti? Lino Fornaro Net1 sas Giovanni Giovannelli - Sophos L Autore Lino Fornaro, Security Consultant Amministratore

Dettagli

Le Dashboard di cui non si può fare a meno

Le Dashboard di cui non si può fare a meno Le Dashboard di cui non si può fare a meno Le aziende più sensibili ai cambiamenti stanno facendo di tutto per cogliere qualsiasi opportunità che consenta loro di incrementare il business e di battere

Dettagli

Cos è l Ingegneria del Software?

Cos è l Ingegneria del Software? Cos è l Ingegneria del Software? Corpus di metodologie e tecniche per la produzione di sistemi software. L ingegneria del software è la disciplina tecnologica e gestionale che riguarda la produzione sistematica

Dettagli

2013 Skebby. Tutti i diritti riservati.

2013 Skebby. Tutti i diritti riservati. Disclaimer: "# $%&'(&)'%# *("# +,(-(&'(# *%$).(&'%#,/++,(-(&'/# 0"#.(1"0%# *(""20&3%,./40%&(# /# &%-',/# disposizione. Abbiamo fatto del nostro meglio per assicurare accuratezza e correttezza delle informazioni

Dettagli

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace:

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace: Overview tecnica Introduzione E un sistema EAI molto flessibile, semplice ed efficace: Introduce un architettura ESB nella realtà del cliente Si basa su standard aperti Utilizza un qualsiasi Application

Dettagli

SICUREZZA SENZA COMPROMESSI PER TUTTI GLI AMBIENTI VIRTUALI. Security for Virtual and Cloud Environments

SICUREZZA SENZA COMPROMESSI PER TUTTI GLI AMBIENTI VIRTUALI. Security for Virtual and Cloud Environments SICUREZZA SENZA COMPROMESSI PER TUTTI GLI AMBIENTI VIRTUALI Security for Virtual and Cloud Environments PROTEZIONE O PRESTAZIONI? Già nel 2009, il numero di macchine virtuali aveva superato quello dei

Dettagli

Come configurare un programma di posta con l account PEC di GLOBALCERT.IT

Come configurare un programma di posta con l account PEC di GLOBALCERT.IT Come configurare un programma di posta con l account PEC di GLOBALCERT.IT Il Titolare di una nuova casella PEC può accedere al sistema sia tramite Web (Webmail i ), sia configurando il proprio account

Dettagli

Posta Elettronica. Claudio Cardinali claudio@csolution.it

Posta Elettronica. Claudio Cardinali claudio@csolution.it Posta Elettronica Claudio Cardinali claudio@csolution.it Posta Elettronica: WebMail Una Webmail è un'applicazione web che permette di gestire uno o più account di posta elettronica attraverso un Browser.

Dettagli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

Dettagli

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Unified Process Prof. Agostino Poggi Unified Process Unified Software Development Process (USDP), comunemente chiamato

Dettagli

CARATTERISTICHE DELLE CRYPTO BOX

CARATTERISTICHE DELLE CRYPTO BOX Secure Stream PANORAMICA Il sistema Secure Stream è costituito da due appliance (Crypto BOX) in grado di stabilire tra loro un collegamento sicuro. Le Crypto BOX sono dei veri e propri router in grado

Dettagli

Applicazione: Share - Sistema per la gestione strutturata di documenti

Applicazione: Share - Sistema per la gestione strutturata di documenti Riusabilità del software - Catalogo delle applicazioni: Gestione Documentale Applicazione: Share - Sistema per la gestione strutturata di documenti Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

Agilent OpenLAB Chromatography Data System (CDS)

Agilent OpenLAB Chromatography Data System (CDS) Agilent OpenLAB Chromatography Data System (CDS) EZChrom Edition e ChemStation Edition Requisiti hardware e software Agilent Technologies Informazioni legali Agilent Technologies, Inc. 2013 Nessuna parte

Dettagli

Allegato 8 MISURE MINIME ED IDONEE

Allegato 8 MISURE MINIME ED IDONEE Allegato 8 MISURE MINIME ED IDONEE SOMMARIO 1 POLITICHE DELLA SICUREZZA INFORMATICA...3 2 ORGANIZZAZIONE PER LA SICUREZZA...3 3 SICUREZZA DEL PERSONALE...3 4 SICUREZZA MATERIALE E AMBIENTALE...4 5 GESTIONE

Dettagli

MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO

MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO Precisione del riconoscimento Velocità di riconoscimento Configurazione del sistema Correzione Regolazione della

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello del sistema 4 2.1 Requisiti hardware........................ 4 2.2 Requisiti software.........................

Dettagli

V11. Release 1. New Devices. New Features. More Flexibility.

V11. Release 1. New Devices. New Features. More Flexibility. V11 Release 1 New Devices. New Features. Highlights dell innovaphone PBX Versione 11 Release 1 (11r1) Con il software Versione 11 dell innovaphone PBX la soluzione di telefonia IP e Unified Communications

Dettagli

HORIZON SQL CONFIGURAZIONE DI RETE

HORIZON SQL CONFIGURAZIONE DI RETE 1-1/9 HORIZON SQL CONFIGURAZIONE DI RETE 1 CARATTERISTICHE DI UN DATABASE SQL...1-2 Considerazioni generali... 1-2 Concetto di Server... 1-2 Concetto di Client... 1-2 Concetto di database SQL... 1-2 Vantaggi...

Dettagli

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO Francesco Marchione e Dario Richichi Istituto Nazionale di Geofisica e Vulcanologia Sezione di Palermo Indice Introduzione...

Dettagli

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1 Tutorial Configuration Managment Configurare il servizio EC2 su AWS Pagina 1 Sommario 1. INTRODUZIONE... 3 2. PROGRAMMI NECESSARI... 4 3. PANNELLO DI CONTROLLO... 5 4. CONFIGURARE E LANCIARE UN ISTANZA...

Dettagli

Architettura dei Calcolatori

Architettura dei Calcolatori Architettura dei Calcolatori Sistema di memoria parte prima Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Sistema di memoria parte prima Sommario: Banco di registri Generalità sulla memoria Tecnologie

Dettagli

QUIPAGO - MODALITÀ PAYMENT

QUIPAGO - MODALITÀ PAYMENT E-Commerce Qui Pago è l offerta di Key Client per il Commercio Elettronico: un Pos virtuale altamente affidabile ed efficiente che prevede diverse modalità d utilizzo: Payment (integrazione col sito del

Dettagli

Seagate Access per Personal Cloud Manuale utente

Seagate Access per Personal Cloud Manuale utente Seagate Access per Personal Cloud Manuale utente 2015 Seagate Technology LLC. Tutti i diritti riservati. Seagate, Seagate Technology, il logo Wave e FreeAgent sono marchi depositati o marchi registrati

Dettagli

Manuale di KDE su Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci

Manuale di KDE su Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci 2 Indice 1 Introduzione 5 2 Usare KDE su 6 3 Funzionamento interno 8

Dettagli

Ciclo di vita delle aevità Android Mobile Programming Prof. R. De Prisco

Ciclo di vita delle aevità Android Mobile Programming Prof. R. De Prisco Ciclo di vita delle aevità Ogni AcHvity ha dei metodi standard A(vità non esiste 1. oncreate() 2. onstart() 3. onresume() A(vità in esecuzione 4. onpause() 5. onstop() 6. ondestroy() A(vità non esiste

Dettagli

Software per la gestione di palestre, centri benessere e sportivi

Software per la gestione di palestre, centri benessere e sportivi Software per la gestione di palestre, centri benessere e sportivi Applicazione gestionale progettata per gestire tutti gli aspetti di palestre, centri sportivi e centri benessere Sicuro Personalizzabile

Dettagli

Mobile Messaging SMS. Copyright 2015 VOLA S.p.A.

Mobile Messaging SMS. Copyright 2015 VOLA S.p.A. Mobile Messaging SMS Copyright 2015 VOLA S.p.A. INDICE Mobile Messaging SMS. 2 SMS e sistemi aziendali.. 2 Creare campagne di mobile marketing con i servizi Vola SMS.. 3 VOLASMS per inviare SMS da web..

Dettagli

Guida all'installazione ed uso dell'app RXCamLink

Guida all'installazione ed uso dell'app RXCamLink Guida all'installazione ed uso dell'app RXCamLink Questa guida riporta i passi relativi all'installazione ed all'utilizzo dell'app "RxCamLink" per il collegamento remoto in mobilità a sistemi TVCC basati

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

Guida alla prevenzione della pirateria software SIMATIC

Guida alla prevenzione della pirateria software SIMATIC Guida alla prevenzione della pirateria software SIMATIC Introduzione Questa guida è stata realizzata per aiutare la vostra azienda a garantire l utilizzo legale del software di Siemens. Il documento tratta

Dettagli

Processi di business sovra-regionali relativi ai sistemi regionali di FSE. Versione 1.0 24 Giugno 2014

Processi di business sovra-regionali relativi ai sistemi regionali di FSE. Versione 1.0 24 Giugno 2014 Processi di business sovra-regionali relativi ai sistemi regionali di FSE Versione 1.0 24 Giugno 2014 1 Indice Indice... 2 Indice delle figure... 3 Indice delle tabelle... 4 Obiettivi del documento...

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

La Guida di. La banca multicanale. In collaborazione con: ADICONSUM

La Guida di. La banca multicanale. In collaborazione con: ADICONSUM La Guida di & La banca multicanale ADICONSUM In collaborazione con: 33% Diffusione internet 84% Paesi Bassi Grecia Italia 38% Spagna Svezia Francia 80% Germania Gran Bretagna 52% 72% 72% 63% 77% Diffusione

Dettagli

Sempre attenti ad ogni dettaglio Bosch Intelligent Video Analysis

Sempre attenti ad ogni dettaglio Bosch Intelligent Video Analysis Sempre attenti ad ogni dettaglio Bosch Intelligent Video Analysis 2 Intervento immediato con Bosch Intelligent Video Analysis Indipendentemente da quante telecamere il sistema utilizza, la sorveglianza

Dettagli

ARP (Address Resolution Protocol)

ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) Il routing Indirizzo IP della stazione mittente conosce: - il proprio indirizzo (IP e MAC) - la netmask (cioè la subnet) - l indirizzo IP del default gateway, il router

Dettagli

INFORMATIVA SUI COOKIE

INFORMATIVA SUI COOKIE INFORMATIVA SUI COOKIE I Cookie sono costituiti da porzioni di codice installate all'interno del browser che assistono il Titolare nell erogazione del servizio in base alle finalità descritte. Alcune delle

Dettagli

RELAZIONI TRA SERVIZI PER L IMPIEGO

RELAZIONI TRA SERVIZI PER L IMPIEGO RELAZIONI TRA SERVIZI PER L IMPIEGO E AZIENDE-UTENTI L IMPATTO DELLE PROCEDURE INFORMATIZZATE a cura di Germana Di Domenico Elaborazione grafica di ANNA NARDONE Monografie sul Mercato del lavoro e le politiche

Dettagli

Lezione n 1! Introduzione"

Lezione n 1! Introduzione Lezione n 1! Introduzione" Corso sui linguaggi del web" Fondamentali del web" Fondamentali di una gestione FTP" Nomenclatura di base del linguaggio del web" Come funziona la rete internet?" Connessione"

Dettagli

Introduzione al GIS (Geographic Information System)

Introduzione al GIS (Geographic Information System) Introduzione al GIS (Geographic Information System) Sommario 1. COS E IL GIS?... 3 2. CARATTERISTICHE DI UN GIS... 3 3. COMPONENTI DI UN GIS... 4 4. CONTENUTI DI UN GIS... 5 5. FASI OPERATIVE CARATTERIZZANTI

Dettagli