Suggested Projects for DAT300, DIT668 (under construction)

See also http://www.cse.chalmers.se/edu/course/DAT300/SLIDESNOTES/L2aboutPrj.pdf

At project start, we will share access with a github for you to look at (and possibly extend earlier projects) as well as discuss available hardware that you can use in your projects, and available data. To register, create a git account and send a request to chasty@ (chalmers domain) to register to the course group.

Below we list a number of suggested projects for DAT300. Of course we would be open to hear your suggestions too -- but the projects must relate to using ICT in some interdisciplinary way (such as Energy and ICT). The suggestions below are just seed ideas from faculty. If you like an idea, we will connect you with the faculty to develop it further. It is then up to you to work out the details and the work plan with the project demonstration at the end of the course.

2017:1 Decision support for smart meters and power outages

Göteborg Energi has over a quarter million smart meters, capable of sending power outage alarms, installed in Göteborg. Reporting power outages however gets complicated by communication problems associated with the wireless networks they use to communicate. In this project you can explore how the alarms could be used for real world scenarios using for instance the work in http://publications.lib.chalmers.se/publication/206490. The project involves interaction with with Göteborg Energi.

2017:2 Detect attacks against industrial control systems

Attacks on Industrial Control Systems (ICS) are likely to manifest changes in sensors sensing the underlying physical process. One way to detect such attacks is to monitor the time series produced by the sensors for changes in their behavior. A popular approach to tackling this problem is to build a prediction model from the sensor data and use it for predicting the next value. The differences between the predicted value and the observed value (the residuals) can then be inspected for large deviations: large residuals imply potential attacks. Methods from statistics and linear dynamical systems have been used to build such models. The aim of this project is to leverage advances in Neural Networks/Deep Learning for time series forecasting, to see if prediction accuracy can be improved (Recurrent Neural Networks (RNN) are particularly suitable for time series data). The expected outcome of this project is to

2017:3 Comparing general-purpose and IoT-compatible Stream Processing Engines

The project aims at comparing the performance (in terms of throughput and latency) of a IoT-compatible Stream Processing Engine with state-of-the-art Stream Processing Engines such as Apache Flink. In the project, a small testbed will be set up. The test bed will be composed of small computing devices and sensors measuring energy consumption. The energy consumption readings will be fed to the different Stream Processing Engines, the latter running a set of queries on the testbed’s computing devices.

2017:4abc Large-scale data collection

This project is actually divided into three parts with a different focus. In many domains, it is important to collect and process large-scale data. In this project you are expected to work with the Texas Instrument SensorTags, together with Beaglebones.

  1. In project part a, you will investigate the network parameters. The idea is to setup the sensortags to communicate over a meshnetwork (6lowpan), and adapt the firmware of the sensors to forward measurements in a better fashion. The result should be compared with the regular option of just using BLE.
  2. In project part b, you should consider how to use IoT-compatible stream processing engines in an infrastructure mixed of sensortags and beaglebones. How can you optimise performance but keeping battery life good.
  3. In project part c, you are looking more at the application. You are to deploy a number of sensors on doors (etc) and collect the data and analyze it to understand the algorithms needed to use the hardware sensors efficiently without noise, and understand the impact of the data on the domain.
The project aims at comparing the performance (in terms of throughput and latency) of a IoT-compatible Stream Processing Engine with state-of-the-art Stream Processing Engines such as Apache Flink. In the project, a small testbed will be set up. The test bed will be composed of small computing devices and sensors measuring energy consumption. The energy consumption readings will be fed to the different Stream Processing Engines, the latter running a set of queries on the testbed’s computing devices.

2017:5 Building a honeypot for industrial control networks

Based on a large scale collection of real network traffic, you job is to investigate how you can build a honey system where this traffic can be replayed (and where certain statistical properties are kept from the real data) so that it in extension could be used as a honeysystem to learn more about attackers.

2017:6 Intrusion Detection for industrial control networks

Based on a large scale collection of real network traffic, you job is to investigate how well previous IDS in literature would behave on this network capture. You should be excited by Snort, Bro, Wireshark, etc. A version of this project could also be to implement a very specific algorithm for anomaly detection on a small device, such as Rasp. Pie.

2017:7 A simple demand response service

Build on a communication node, eg on an ARM-based platform, capable to interface with off-the-shelf equipment, to monitor consumption and control electrical appliances; implement scheduling algorithms that can reduce peaks/meet constraints, possibly allowing for cooperation between communication nodes in a way that reduces the total energy consumption of the system (cf papers on adaptiveness)

2017:8 Continuous monitoring of data with reporting of summaries or generation of alerts

Explores how data stream processing can be leveraged in this context. You can connect to smart sockets for data-gathering or use open-source data sets to generate streams and run the monitoring over stream processing engines such as Apache Flink.

 

2017:9 Security in IoT Networks / Smart Meters

The project investigates network security for IoT, with a focus on the processing needed to detect and prevent attacks. Networks of sensors and cyber-physical systems are often targets for attacks. Providing security countermeasures for such networks is often challenging, due to the severe computation and energy constrains on these platforms. For this reason, detection algorithms and tools, such as, e.g. Snort, need to be adjusted to perform well under these constrains. On the other hand, IoT hardware is evolving and provides new features that have not been explored before (e.g. programmable GPUs). In this project you will experiment with algorithms that detect attack on networks and find how they can be efficiently ported for modern embedded devices. You need to be enthusiastic with embedded hardware and GPU programming.

---------------------------------------------------------------------

Below are other ideas from previous years

Intrusion detection

How can a de facto IDS such as snort be adapted for protocols found in the smart grid. This project is about understanding snort rules and how these can be adapted to DLMS/COSEM or MBUS traffic.

El-data correlated with other sources

Many government agencies and other organizations provide open datasets. How can such datasets be used to extend our understanding of enery consumption, or other patterns in the smart grid datasets? One source for open data is found at the hack for Sweden site.

New services in the smart grid

What services would be useful for consumers and companies to have in the smart grid? Are the data available sufficient to create such services? See for example the following service from E.On to save energy.

Security features of smart meters

What security features do smart meters have? How are they different from classical computer systems? What are some interesting attacks that smart meters should be protected against?

Smart meter simulation

What are the main features of smart meters? Implementation in Python (or other prototyping language) of a small smart meter model. OPTIONAL (use a Arduino or a RaspberryPi to collect data from a small electronic circuit simulating a consumer, similar to http://www.openhomeautomation.net/power-monitoring-arduino-ina219/ ).