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.
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.
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
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.
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.
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.
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.
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)
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.
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.
---------------------------------------------------------------------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.
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.
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.
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?
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/ ).