Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni
|
|
- Vittore Mattioli
- 8 anni fa
- Visualizzazioni
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 Corsi ANDROID 2013/2014 Benvenuti nel mondo dinamico dello sviluppo di applicazioni per smartphone e tablet Android Corsi ANDROID 2013/2014 L
DettagliApproccio 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
DettagliTecniche 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
DettagliArchitetture Applicative
Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture
DettagliNOVITÀ 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à:
DettagliDispensa 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.
DettagliCon 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
DettagliNOTE 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
DettagliIl 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
DettagliSoftware di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche
Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica
DettagliInfiXor. 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
DettagliArchitettura 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
DettagliIntroduzione 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
DettagliManuale 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
DettagliIl 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
DettagliMANUALE 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
DettagliLa 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
DettagliGuida 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
DettagliCorso 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
DettagliProtezione. Protezione. Protezione. Obiettivi della protezione
Protezione Protezione La protezione riguarda i meccanismi per il controllo dell accesso alle risorse in un sistema di calcolo da parte degli utenti e dei processi. Meccanismi di imposizione fissati in
Dettagli15J0460A300 SUNWAY CONNECT MANUALE UTENTE
15J0460A300 SUNWAY CONNECT MANUALE UTENTE Agg. 10/07/2012 R.00 Il presente manuale costituisce parte integrante ed essenziale del prodotto. Leggere attentamente le avvertenze contenute in esso in quanto
DettagliSOFTWARE 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
DettagliI 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)?
DettagliCollegamento 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
DettagliFPf 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
DettagliManuale 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...
DettagliCosa è 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
DettagliINFORMATIVA 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
DettagliSDD 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
DettagliLezione 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.)
DettagliBase 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
DettagliSistemi 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
DettagliIl 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ò
DettagliLight 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
DettagliUna minaccia dovuta all uso dell SNMP su WLAN
Una minaccia dovuta all uso dell SNMP su WLAN Gianluigi Me, gianluigi@wi-fiforum.com Traduzione a cura di Paolo Spagnoletti Introduzione Gli attacchi al protocollo WEP compromettono la confidenzialità
DettagliIstruzioni 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.
DettagliIntroduzione 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
DettagliIl 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
DettagliDatabase. 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
DettagliLa 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
DettagliManuale 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...
Dettagli1. 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
DettagliIl 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
DettagliUN 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
DettagliDINAMIC: 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
DettagliLezione 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
DettagliDefinizione 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
DettagliGestione 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
Dettagli1) 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
DettagliInvio 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
DettagliMac 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
DettagliInstallazione 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
DettagliIntroduzione 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
DettagliManuale 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
DettagliIl Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10
Il Software e Il Sistema Operativo Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Cosa Impareremo Programmi e Processi Struttura del Sistema Operativo Sviluppo di Programmi I files e la loro
DettagliEXPLOit 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
DettagliCREA 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
DettagliTelerilevamento 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
Dettagliuadro 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
DettagliBasi 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
DettagliHardware 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
DettagliRapporto 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
DettagliAndroid 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,
Dettaglipenetration 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
DettagliAutomazione 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
DettagliCONTENT 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
DettagliProgettaz. 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)
DettagliSIEBEL 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,
DettagliRegistratori 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...
DettagliSoftware 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
DettagliWorkFLow (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
DettagliIl Web Server e il protocollo HTTP
Corso PHP Parte 2 Il Web Server e il protocollo HTTP E un programma sempre attivo che ascolta su una porta le richieste HTTP. All arrivo di una richiesta la esegue e restituisce il risultato al browser,
DettagliSISTEMI 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
DettagliCorso 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
DettagliBrochure 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
DettagliSommario. 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
DettagliRegione 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
DettagliManuale 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
DettagliPIATTAFORMA 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
DettagliNAVIGAORA 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
DettagliIntroduzione 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
DettagliNOTE 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
DettagliL 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
DettagliServizi 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
DettagliSOMMARIO... 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...
DettagliNovità 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
DettagliIl Sistema Operativo. C. Marrocco. Università degli Studi di Cassino
Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.
DettagliEDICOLA 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
DettagliATOLLO 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
DettagliStrutturazione 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
DettagliCorso 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
DettagliSistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
DettagliMECCANISMI E POLITICHE DI PROTEZIONE 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
DettagliCOME 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
DettagliRiepilogo 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
DettagliSistema operativo: Gestione della memoria
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e
DettagliIl 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
DettagliGESGOLF 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
Dettaglimanuale 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
DettagliIl 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