Le applicazioni mobile oggi costituiscono lo strumento privilegiato per connettere gli utenti con i servizi e piattaforme online.
Le aziende ne sono consapevoli, e investono cifre sempre maggiori nella creazione di strumenti in grado di favorire l’esperienza dei loro clienti e acquisirne di nuovi, in un’ottica di presidio multicanale di mercati sempre più complessi.
Lo sviluppo di applicazioni mobile si configura come una leva strategica per i mercati, ma anche come una robusta opportunità professionale per tutti i programmatori che intendono affacciarsi sul mondo del mobile development.
Il terzo incontro #OpenIQUII sarà dedicato proprio al mobile development: Fabio Lalli e Fabio Ciotoli, CEO e CTO di IQUII, spiegheranno in che modo è possibile sviluppare applicazioni per iOS e Android, e quali sono i differenti approcci che il programmatore deve tenere in considerazione per progettare, sviluppare e inserire negli store le applicazioni.
Questi i temi trattati:
- Framework di sviluppo non nativi;
- Metodologie per la progettazione e lo sviluppo di un’applicazione;
- Analisi della sicurezza delle informazioni di un’applicazione;
- Tecniche e strumenti per accelerare lo sviluppo di un’applicazione.
14. dati
•Non memorizzare dati
sensibili
•Master key cifrata con
pass-phrase dell’utente
•Algorimo robusto, es.
PBKDF2 con molte
iterazione (CPU
consuming)
•Memorizzarli
temporaneamente in RAM
1
16. parametri
!
• Query String in log e
cronologie
• Utilizzare POST con CSFR
Protection
• Se necessario negoziare una
chiave con il server (es. Diffie-
Hellman) 3
20. logica
semplice
• if (proUser == 1)
• Con debug a basso livello
(assembly) è facile
intercettare i CBZ
(compare-and- branch-
on-zero) o CBNZ.
• Considerare paradigmi più
robusti 7
21. keyboard
cache
• Su iOS e Android vengono
loggate le parole digitate
• Disabilitare la correzione
automatica sui TextField
8
22. snapshot
• Per fornire animazione più
fluide iOS esegue snapshot
• Gestire il background
dell’app
9
23. broadcast
intent
• Evitare ove possibile il
broadcast intent
• Anche specificando
permessi, qualsiasi app
potrebbe implementare gli
stessi servizi dell’app
ricevente
10
24. keychain
• Il keychain è memorizzato in
maniera cifrata nel backup
itunes
• È possibile decifrarlo
• Impedisce il cambio di
certificato
11
25. webview
• Disabilitare javascript e
plugin
• Disabilitare accesso ai file
locali
• Prevenire il caricamento di
contenuti da hosts di terze
parti
12
26. ram
• Non mantenere informazioni
in RAM
• Variabili null appena possibile
13
27. Delete
file
• File.delete() non sicuro
• Sovrascrivere i file non
funziona nel mobile
• Assumere che ogni file può
essere recuperato e
memorizzarlo cifrato
14
30. Prossimi eventi
23 Aprile – Mobile Marketing // Fabio Lalli – Fabio Ciotoli
22 Maggio – Social Media Marketing // Tommaso Sorchiotti – Simone Cinelli
26 Giugno – Mobile Development // Fabio Ciotoli – Fabio Lalli
10 Luglio – Wearable // Fabio Lalli – Alessandro Prunesti
18 Settembre – Social Media Monitoring // Lorenzo Sfienti – Simone Cinelli
16 Ottobre – Personal and Executive branding // Tommaso Sorchiotti – Alessandro Prunesti
!
20 Novembre – Gamification // Fabio Lalli – Alessandro Prunesti
11 Dicembre – Innovazione // Fabio Lalli