Project List

A commercial alternative to QKD: filling USB sticks and hard disks with random bits (completed)

Quantum key distribution (QKD) offers unconditional security according to the laws of quantum physics. A QKD system enables its users to securely set up symmetric keys for encryption by sending quantum signals, either over optical fibres or over free-space. In current commercial QKD systems, these symmetric keys are consumed in classical secure communications protocols like … full description “A commercial alternative to QKD: filling USB sticks and hard disks with random bits (completed)”

A simulation model of self-powered ankle prosthetics (completed)

Unlike conventional passive prosthetics, self-powered prosthetics provide positive net work to enhance strength and speed of limb movement. These are used not just in rehabilitation medicine but also as components of powered exoskeletons, a technology with numerous applications including military, manufacturing and construction industry, emergency and rescue. The extent of powered propulsion is typically determined … full description “A simulation model of self-powered ankle prosthetics (completed)”

Agent Worlds Visualiser for a Mobile Phone (completed)

The aim of this project is to build a visualiser of an agent application that runs on a server. The project should allow the translation of an agent environment and the entities it may contain to a user friendly graphical representation that the user can interact with. The visualiser should be able to display the … full description “Agent Worlds Visualiser for a Mobile Phone (completed)”

Analyzing security of ECG biometrics (completed)

Biometric systems rely on physiological or behavioural characteristics that can be measured by sensors to verify identity. Electrocardiogram (ECG)-based biometrics is one of the new and most promising types. ECG signals measure the electrical activity of the heart and several studies have found them suitable for human identification. To match the signals with the registered … full description “Analyzing security of ECG biometrics (completed)”

Blockchain to provide Data Provenance Integrity and Privacy (completed)

Blockchain, also part of the cryptocurrencies, can be viewed as a potentially shared/semi-shared/private, the immutable ledger for recording sequence of events or history of transactions. The blockchain technology can be deployed to provide a high-degree of trust, accountability, and transparency associated with a set of transactions/events – especially log files and data provenance. Data provenance … full description “Blockchain to provide Data Provenance Integrity and Privacy (completed)”

Building a dataset of IoT device firmwares (completed)

Performing security analysis of IoT devices is often expensive as it requires purchasing the IoT device, which is not practical at scale. To avoid this some researchers perform security analysis over the apps used by those IoT devices. Although this analysis can be useful it has some limitations as only one element of the ecosystem … full description “Building a dataset of IoT device firmwares (completed)”

Building a Full Causality Chain Across an Enterprise System (completed)

Data Provenance refers to records of the inputs, entities, systems and process that influence data of interest, providing a historical record of the data and its origins. To provide a holistic view of the data provenance in an enterprise system, the provenance records of the activities carried out on a client workstation is important. Last … full description “Building a Full Causality Chain Across an Enterprise System (completed)”

Building Data Provenance from Database Log Files (completed)

Databases are an integral part of any organisations operations. They act as storage repositories for a large set of data that the respective organisation relies upon for their efficient operations. One of the commonly deployed and open source database application is MySQL. It collects and stores a large set of log files related to the … full description “Building Data Provenance from Database Log Files (completed)”

Data Provenance for Multi-Database Servers Enterprise Architecture (completed)

Enterprise architecture, with increasing frequencies, is based on multiple databases that split the enterprise data among itself and store them on separate database servers. Such a scheme enables an effective load balancing and management of enterprise data. However, my splitting data over multiple databases make it challenging to build a unified data provenance view of … full description “Data Provenance for Multi-Database Servers Enterprise Architecture (completed)”

Decentralised Autonomous Economy of Things – Putting rational actors back into Economy (completed)

Project Description Internet of Things (IoT) and distributed ledger technologies are part of the movement to develop the device-specific decentralised economy. Example of such a service is decentralised energy grids that couple together the smart contracts and smart-meter technology to provide traceability and verification of energy sources, efficient peer-to-peer trading of energy. One such proposal … full description “Decentralised Autonomous Economy of Things – Putting rational actors back into Economy (completed)”

Decentralised Cloud – Building an All-Purpose Execution Platform on Blockchain (completed)

Project Description Blockchain and distributed ledger technology have invigorated the decentralised architectures. The positives of a decentralised architecture are that it is distributed widely and challenging to launch a DDoS against such a network. Besides that, the immutability and strong traceability/trackability of blockchain technologies can be considered as a foundation for designing a secure, reliable, … full description “Decentralised Cloud – Building an All-Purpose Execution Platform on Blockchain (completed)”

Detecting broken security in hybrid Android apps (completed)

Many modern Android applications make use of a webview – a component providing easy access to the rendering engine and JavaScript interpreter of a full browser. The content shown by a webview can be loaded from a local resource or a remote server via HTTP and integrates seamlessly with the app. Webviews are popular with developers, … full description “Detecting broken security in hybrid Android apps (completed)”

Disassembling x86 binaries for static analysis and reverse engineering (completed)

The Jakstab static analyser for binaries automatically disassembles x86 binaries for Windows or Linux and reconstructs a control flow graph. It is particularly effective on targets that have been obfuscated with various tricks that throw off regular disassemblers such as IDA Pro. Jakstab disassembles one instruction at a time, translates it into an intermediate language, and then … full description “Disassembling x86 binaries for static analysis and reverse engineering (completed)”

Eclipse plugin for the ART parser generator (completed)

The ART parser generator is one of a new breed of compiler generation tools which provides efficient generalised parsing. This means that language designers have complete freedom to specify syntax in a way that supports downstream processes rather than having to shoehorn their ideas into the constraints imposed by current near-deterministic parser generators like Bison … full description “Eclipse plugin for the ART parser generator (completed)”

Entry into the PACE Parameterized Algorithms and Computational Experiments Challenge (completed)

Parameterized Complexity is a research field that, by its own self-description, strives to provide practical, yet theoretically well-founded ways to deal with computationally hard problems (e.g., so-called NP-hard problems). However, the vast majority of the work in the field is purely theoretical — there is a great toolbox of interesting and powerful algorithmic methods, which have been proven to have … full description “Entry into the PACE Parameterized Algorithms and Computational Experiments Challenge (completed)”

Improving Automatic Bug Detection in JavaScript (completed)

Dynamic symbolic execution (DSE) is an effective tool for bug detection in real software. Like unit testing and fuzzing DSE executes portions of a program, exposing bugs through runtime program exceptions. In DSE, some inputs to the program under test are made “symbolic” while the rest are fixed. Whenever the symbolic execution encounters a conditional operation … full description “Improving Automatic Bug Detection in JavaScript (completed)”

Interactive Visualisation of Disentangled Representations (completed)

This project aims to develop an interactive visualisation toolkit based on existing technologies (IPython & Plotly) that will assist researchers in debugging and understanding complex models in the area of representation learning. Representation learning is a sub-field of machine learning that focuses on developing techniques for representing objects that exist in high-dimensional space (e.g. faces … full description “Interactive Visualisation of Disentangled Representations (completed)”

Invisible Malware using Intel SGX Enclaves (completed)

A fundamental security problem when hosting applications on cloud platforms is the increased risk of sensitive data loss (e.g. due to negligent or malicious employees of the cloud provider). An exciting approach to mitigating such attacks are new trusted execution environments (e.g. Intel SGX), recently available on commodity CPUs. Intel SGX allows users to create … full description “Invisible Malware using Intel SGX Enclaves (completed)”

Open-Source Artificial Pancreas Testbed (completed)

The Artificial Pancreas (AP) is an automated system for delivering insulin therapy in Type 1 Diabetes (T1D) patients (whose pancreas cannot produce insulin on its own) [1]. The system comprises an infusion pump for insulin release, a so-called continuous glucose monitor (CGM) that senses glucose levels underneath the skin, and a control algorithm (running on … full description “Open-Source Artificial Pancreas Testbed (completed)”

Personality Identification Using Online Social Media Networks (completed)

Project Description Personality is a combination of all the attributes—behavioural, temperamental, emotional, and mental—that characterise a unique individual. Ability to identify the personalities of people has always been of great interest to the researchers due to its importance. Owing to the increasing popularity of online social networks there is a possibility of predicting a user’s … full description “Personality Identification Using Online Social Media Networks (completed)”

Predicting Debug Symbols for Closed Source Binaries (completed)

Reverse engineering binaries, whether malicious or benign, is made more difficult by the absence of debug information. Variables and functions have had their identifiers “stripped”, so reverse engineers have to manually name them during analysis based on human understanding of the code functionality. The goal of this project is to use machine learning to predict … full description “Predicting Debug Symbols for Closed Source Binaries (completed)”

Privacy issues related to Data Provenance of Database containing End-user Data (completed)

Privacy issues related to the data stored, regarding end-users are well understood and studies. However, a large set of data can also be collected that is not directly related to the user but related to the user data – known as data provenance. Data provenance is the field of recording the history of data, from … full description “Privacy issues related to Data Provenance of Database containing End-user Data (completed)”

Python and Unreal Engine 4 integration (completed)

This challenging project aims to integrate a Python-based agent framework that has been developed at RHUL with Unreal Engine 4 (UE4). With recent successes in reinforcement learning and other online learning approaches there has been much work on developing environments to test new and state of the art algorithms. UE4 provides the perfect development environment … full description “Python and Unreal Engine 4 integration (completed)”

Real-Time Consumer Centric Data Compliance Auditing (completed)

When a user signs an end user agreement with an organisation, in return of which (s)he will give his/her data to the organisation the users do not have; a) any mechanism to assess that post-agreement the organisation abides by their own agreement and b) to see the operations carried on his/her data (that the organisation … full description “Real-Time Consumer Centric Data Compliance Auditing (completed)”

Real-Time Enterprise System Compliance Auditing with GDPR (completed)

Data compliance audit is a comprehensive review of an organization’s adherence to regulatory guidelines. Traditionally, security or IT consultants evaluate the strength and thoroughness of compliance preparations – usually carried out once a year. With the enforcement of GDPR upon us, a real-time view of compliance could safe an organisation a substantial penalty (4% of … full description “Real-Time Enterprise System Compliance Auditing with GDPR (completed)”

REST API and web frontend for a JavaScript symbolic testing framework (completed)

ExpoSE.js is a symbolic testing framework being developed at Royal Holloway designed to assist developers in improving the security and reliability of JavaScript applications, a language for which traditional software testing solutions have failed to produce satisfactory results. Symbolic execution is a technique which allows for the systematic enumeration of feasible paths of a program. … full description “REST API and web frontend for a JavaScript symbolic testing framework (completed)”

Side Channel Attacks on GPUs (completed)

Side Channel Attacks on GPUs Project Description GPUs (Graphics Processing Units) are commonly integrated in any computing paradigm, enhancing the performance of systems from gaming to scientific research. Under specific circumstances, the GPU can be shared between applications allowing a spy application to monitor side channels and attempt to infer with potential victims. For example, … full description “Side Channel Attacks on GPUs (completed)”