Soluzioni complesse

Sottoponici una
sfida tecnologica

Metodo e capacità sistemiche sono gli ingredienti che consentono di risolvere svariati problemi. La competenza tecnologica è il mezzo che consente di erogare la soluzione.

Dalla progettazione di sistemi allo studio di algoritmi complessi alle implementazioni su processori e FPGA.

Alcune soluzioni tecnologiche implementate

Compressione di dati genomici

Problema

  • Implementare una soluzione di compressione di dati genomici in conformità allo standard MPEG-G;
  • Garantire elevate performance, sia in termini di tempo di elaborazione che in termini di effettiva compressione finale;

Soluzione

  • Sviluppo di un algoritmo di compressione al fine di recepire le caratteristiche intrinseche dei file genomici e massimizzarne la compressione, sia per file di tipo FASTQ che SAM/BAM, anche se pre-compressi con algoritmi standard;
  • Implementazione dell’algoritmo con la massima capacità di scalare su processori multi-core;

Risultato

  • Compressione lossless con riduzione della dimensione del file compresso oltre il 50% rispetto al formato BAM e 30% rispetto a algoritmi zip/gzip (FASTO.gz);
  • Riduzione dei tempi di elaborazione rispetto ad applicativi analoghi;

Verifica robustezza di algoritmi

Problema

  • Verifica della robustezza di un algoritmo crittografico utilizzato per l’apertura di accessi via radio;
  • Mancanza di informazioni specifiche sull’algoritmo. Precedenti tentativi di Ethical Hacking ad opera di centri di ricerca e università falliti;

Soluzione

  • Crittoanalisi dell’algoritmo al fine di individuare chiavi interne di dimensione inferiore alla chiave standard dell’algoritmo;
  • Verifica della possibilità di attacco tramite rainbow tables;
  • Attacco tramite brute-force ottimizzato su chiave interna dell’algoritmo tramite array di FPGA;

Risultato

  • Algoritmo violabile in pochi minuti eseguendo la cattura di n.3 messaggi client-server;
  • Consulenza sulle tecniche di miglioramento dell’algoritmo;

Emulazione sistema embedded

Problema

  • Sistema embedded montato su veicolo per il quale si vogliono simulare le diverse condizioni d’uso e interfacce utente;
  • Possibilità di eseguire sviluppi e simulazioni a banco;

Soluzione

  • Creazione di una distribuzione Linux partendo dal SW del sistema embedded originale;
  • Creazione di una macchina virtuale QEMU per la simulazione di un processore ARM su cui viene installato il SW;

Risultato

  • Rilascio di un simulatore del dispositivo completo delle sue interfacce e della GUI su cui eseguire sviluppi e test;

Controllo accessi e protezione dei locali

Problema

  • Controllo accessi su sedi diverse;
  • Distribuzione dei diritti di accesso per ogni utente per sede e zona all’interno della sede;
  • Gestione dell’accesso a mani libere per garantire elevati flussi di persone in tempi brevi;
  • Gestione aree riservate con apertura porte solo per utenti autorizzati;
  • Possibilità di modifica / revoca dei diritti di accesso in tempo reale ed erogazione di diritti a tempo;

Soluzione

  • Studio degli edifici, varchi, zone e aree (teatro Ariston di Sanremo, casinò di Sanremo e sale stampa);
  • Identificazione della tecnologia idonea alla realizzazione del sistema;
  • Realizzazione di un sistema di varchi a mani libere, connessi al server centrale e dotati di feedback luminoso e interfaccia grafica ad uso del personale di sicurezza in grado verificare ogni singolo accesso;

Risultato

  • Sistema utilizzato durante l’evento «Festival di Sanremo 2019» per il controllo accessi del personale tecnico, artisti, giornalisti, etc

Stabilità sistema Linux Embedded

Problema

  • Identificare i problemi di stabilità e performance di un sistema di infotainment destinato a vettura di alta gamma;
  • Garantire la stabilità del sistema anche in situazioni «critiche»;

Soluzione

  • Analisi dell’implementazione e dei driver presenti nel sistema;
  • Instrumentazione del codice al fine di tracciare tutti gli eventi di malfunzionamento a livello di applicativo e OS;
  • Analisi di tutti gli eventi e individuazione delle cause;

Risultato

  • Rilascio di correzioni su diversi driver presenti nel sistema;
  • Sviluppo di un thread OS di gestione degli applicativi e riconfigurazione «on the fly» a garanzia di stabilità costante;