... Proposte per tesi di laurea


 

Massively Parallel Programming

Mass-market computing systems that combine multicore CPUs and many-core GPUs have brought terascale computing to the laptop and petascale computing to clusters.

Armed with such computing power, we are at the dawn of pervasive use of computational experiments for science, engineering, health, and business disciplines.
Many will be able to achieve break-throughs in their disciplines using computational experiments that are of unprecedented level of scale, controllability, and observability.

Starting from an advanced knowledge of data structure an programming in C, and some some experience in concurrent programming, the thesis aims at developing algorithms in concurent C and CUDA, a parallel programming environment that is supported on NVIDIA GPUs, and emulated
on less parallel CPUs.

We especially target applications is computer science and electronics such as hardware and software analysis, advanced data strucutures (such as social networks), etc.
 


 

Malware-ranking-graph

Since 2010, the number of new malware released each day became so high that manual analysis is not an option anymore. In 2017 it was estimated that 3 million new Android malware were released, and 30 thousands new Android applications are received every day to be analyzed. Given the scale of the threat, emerged the need of automated approaches to detected new malware variants.

Android offers an open market model, where millions of applications are downloaded by users every day. While applications from the official Google Play store undergo a review process to confirm that they comply with Google policies other third-party markets do not. Hence, a typical pattern among malware developers is to repack popular applications from Google Play by adding malicious features and distribute them to third-party app-stores, leveraging apps popularity to accelerate malware propagation.

The situation is made worse by the simplicity of the malicious repackaging, that is an alteration of the original application installation package (i.e., the APK file), where legitimate applications are reverse engineered, modified to include malicious code, signed with a new signature, and eventually distributed for download. Since applications consist of bytecode, changes are relatively easy to implement and ad-hoc tools assist the procedure.

Possible solution

While malware variants can be generated at a high pace, they are likely to perform similar malicious activities when executed. Network connections can be effectively exploited to unveil a malicious behaviour, indeed it is possible to create a graph that models network relations among applications, domains, and IPs. Moreover, it is possible to enrich the graph with the information about known and suspicious malicious domains and applications.

Thesis goal

Design an algorithm to automatically rank applications within a graph that models network relations.

In the current implementation, the graph is undirected and contains three type of nodes: applications, domains and IPs. An edge connects an application (APK) to a domain or IP, if the analysis of the application reveal a connection with them (HTTP request, DNS resolution, etc). Moreover, an IP address is connected to a domain if the domain name resolve that IP address (through a DNS request). The time variable is not modeled in the graph, although it can be added in a later version.

 


Cattura e tracking di movimenti articolati

 

Nell’ambito della cattura e del tracking di movimenti articolati si presentano i seguenti lavori.

 

Cattura del movimento articolato di persone da riprese video

Molte applicazioni necessitano non solo di poter identificare e tracciare il movimento delle persone in determinati ambienti, ma anche di avere informazioni di dettaglio sul movimento di queste persone per poter effettuare ulteriori elaborazioni (ad esempio, riconoscimento dei gesti, ricreazione in virtuale di una partita di calcio o di un evento sportivo, analisi del movimento, etc.).

L'obiettivo della tesi è quello di

·         analizzare le tecniche disponibili in letteratura in grado di estrarre da sequenze video informazioni sul movimento articolato delle persone che sono riprese

·         confrontare le loro prestazioni su dataset standard.

 

Cattura del movimento articolato di persone da riprese video multiple.
Molte applicazioni necessitano non solo di poter identificare e tracciare il movimento delle persone in determinati ambienti, ma anche di avere informazioni di dettaglio sul movimento di queste persone per poter effettuare ulteriori elaborazioni (ad esempio, riconoscimento dei gesti, ricreazione in virtuale di una partita di calcio o di un evento sportivo, analisi del movimento, etc...). L'obiettivo della tesi è quello di ricostruire il movimento articolato delle persone riprese da angolazioni diverse (quindi tramite diversi flussi video). In particolare, occorre analizzare algoritmi in grado di sfruttare in maniera efficace le informazioni provenienti dalle diverse vite in modo da risolvere i problemi legati alle occlusioni o parti del corpo non visibili nei singoli flussi
 

Creazione di dataset sintetici per l'analisi del movimento articolato di persone da flussi video

Gli approcci di deep learning hanno dimostrato la loro superiorità (in termini di accuratezza dei risultati) rispetto agli approcci tradizionali. Il problema è che l’addestramento di un modello in un contesto nuovo richiede di avere migliaia/milioni di campioni, cosa non spesso fattibili per problemi di tempi/costi. L’obiettivo di questa tesi è quello di creare dataset sintetici a partire da ambienti virtuali creati ex-novo o da videogame esistenti (eg. fifa, pes) in cui siano presenti personaggi umani in movimento.
 

Identificazione dei volti in grandi dataset

L'utilizzo di strumenti biometrici per l'identificazione, quali quelli basati sul riconocimento del volto, sta lentamente soppiantando i metodi di riconoscimento standard basati su password o token. In caso di dataset di grosse dimensioni (centinaia di migliaia di diverse identità) il numero di classi/individui da gestire ha effetti largamente negativi sui tassi di corretto riconoscimento. Una possibile soluzione che questo lavoro di tesi intende esplorare è quello di affrontare il problema dividendolo in sottoproblemi, prima identificando dei “cluster” di persone diverse, ma che abbiano caratteristiche simili e che siano composti da un numero decisamente inferiore di individui, e poi effettuando una ricerca in questo dataset ridotto. L'obiettivo è quindi:

·         identificare le caratteristiche “ottimali” per la creazione dei cluster

·         sviluppare un classificatore robusto in grado di assegnare un campione di test al cluster corretto

·         implementare sistemi di riconoscimento “standard” sul singolo cluster.

 


Back to Stefano Quer's Home Page