Internet of Things Security

Iot SecurityEvery day, security researchers discover new (critical) vulnerabilities on IoT devices. My current research goal at RHUL is to understand the risks posed by IoT devices and propose novel research solutions to protect them. I'm particularly interested in discovering vulnerabilities in smart-home devices, such as smart light-bulbs, smart-cameras (IP cameras, CCTVS, DVRs), smart electronic locks, baby monitors and the likes.

Ransomware Analysis

ransomware"Crypto-ransomware" is known as the piece of malware that encrypts user's private files and holds them hostage until a payment is made to the hacker. Over the past decade we have witnessed ransomware attack methods advance in techniques and increase in profit. Earlier variants of this malware were more contained, less costly, and easier to detect. Over time capabilities have progressed from just locking a victims' computer screen, to encrypting files, to encrypting the keys that decrypt the files, and so on.

We have proposed a machine learning approach for dynamically analysing and classifying ransomware by monitoring a set of actions performed by applications in their first phases of installation checking for characteristics signs of ransomware. Our approach works without requiring that an entire ransomware family is available beforehand. A preliminary version of a paper can be found here: arXiv:1609.03020, 2016. Daniele Sgandurra, Luis Muñoz-González, Rabih Mohsen, Emil C. Lupu. “Automated Analysis of Ransomware: Benefits, Limitations, and use for Detection.”

You can find here the ransomware dataset we collected and analysed, which includes 582 samples of ransomware and 942 good applications. More info on the dataset can be found here. elderan

Virtualization and Cloud Security

During my PhD I've investigated how virtual machine introspection can enable a secure virtual machine to access the status of a monitored machine to check the kernel integrity and the process self. The process self is computed statically by analyzing the source code, and is defined through a context-free grammar, which defines the system call traces that the process may issue during its execution, and a set of invariants each associated with a program point where the process invokes a call. Further examples I've worked on during my partnership at IBM Zurich are the design and implementation of a mechanism to transparently inject and protect a context-agent into a running virtual machine using introspection. This enables a transparent retrieval of reliable high-level information about the internal operation of the monitored virtual machine while having confidence that the in-guest agent has not been compromised. You can find more info here.introspection.

At Imperial College London, after completing a survey on more than 200 papers on virtualization security, I've observed that many publications often rely on implicit, and different, assumptions. Threat models are often presented in different ways making it difficult to evaluate the efficacy of solutions: which threats do they address? and under which assumptions? For this reason, I've been working on a definition of an uniform framework to define the threat models, their protection goals and trusted computing base for proposed solutions. You can find more info here.threat modeling

Mobile Security

malwareDuring my PostDoc at CNR, in Italy, I've worked in a monitoring framework to detect malware that implements a multi-level analysis of the app and system behavior to detect malicious actions. The framework monitors the device actions, its interaction with the user and the running apps, by retrieving several groups of features at different system levels. For some groups of features, the framework applies an anomaly-based approach, for other groups it implements a signature-based approach that considers behavioral patterns derived from known malware misbehaviors. In another approach, I've designed tools for the analysis and classification of malicious Android applications, through pattern recognition on execution graphs. The framework analyzes behaviors at system-call level and exploits the concept of actions to increase the system expressiveness. The framework finds common sub-graphs in malware executions and classifies other apps by searching for common patterns of the previously mined sub-graphs. You can find more info here.

Attack-Graphs and Risk Management

attack graphAttack graphs are used to represent prior knowledge about vulnerabilities and network connectivity and enable system administrators to reason about threats and their risk in a formal way. During my PhD and PostDoc I've worked in collaboration with University of Pisa in a framework to simulate attacks, using a Monte Carlo approach, by generating attack graphs in real-time. This approach enables administrators to focus on the most-effective threats and produce a better selection of countermeasures.