- Details
- Parent Category: Programming Assignments' Solutions
We Helped With This MATLAB Programming Assignment: Have A Similar One?

Category | Programming |
---|---|
Subject | MATLAB |
Difficulty | Undergraduate |
Status | Solved |
More Info | Do My Engineering Homework |
Assignment Description
IMT4113 Assignment 4:
(Practical) Keystroke Timing Attack
In interactive mode will SSH send an IP package after every keystroke to the remote host. This will reveal timing information on the typing pattern of the user and might reveal what he/she is typing. Detailed information is available in https://people.eecs.berkeley.edu/~daw/papers/ssh-use01.pdf
We have used Wireshark to captured a user typing the command grep 10 times and typing the command sudo 10 times. Both captures are recorded and saved in (separate) pcapng-files. From both of the files you need to extract the timing information related to the typing of each of the 10 commands, where each command consist of typing 5 characters (4 letters from the command + enter).
Then there is another Wireshark capture where the same user typed the commands grep and sudo again. This time he typed 10 commands, which were each time randomly selected. For each of these 10 typings you have to determine if the user typed grep or sudo. This has to be done, based on the training from the 2 previous files, in combination with the timing in the 3rd file.
The software to determine for each of the 10 unknown commands if it is grep or sudo has to be written in Matlab, as usual, but you can use 3rd party software to extract the relevant information from the pcapng-files. While testing this assignment I used Wireshark to open a pcapng-file, used a filter to select only the relevant information (i.e. the ssh packets from the client), and saved that information as a csv-file, which then was used by Matlab to extract the timing information.
Note that there are many different ways to compare the unknown typings to the known typings of sudo and grep, and you are encouraged to try various different comparison methods. Different methods give different results and I will not reveal what the correct classifications of the 10 unknown commands are. I want everybody to be “creative” in implementing different comparison methods. Creativity is more important than actually classification accuracy!
Your delivery will be the Matlab software that is used classify the 10 unknown commands (this includes the software to train the system how the user types sudo and grep). Besides the software you need to write a report (pdf, 800-1200 words) on how you implemented this assignment, what comparison methods you implemented and what the results are for each of the implemented comparison methods. Analysis on the what method you think works best and why is highly appreciated. Also include briefly your learning outcome of this assignment.
File naming should be as usual. The report should be a pdf-file named
IMT4113_Assignment4_XXXXXX.pdf and all parts for the delivery should be zipped into a single file called IMT4113_Assignment4_XXXXXX.zip, where as usual, XXXXXX is the 6-digit student ID number.
For questions, please contact Parisa and myself immediately via email or skype!
Important dates:
• Availability of the assignment: 7/11/2018 at 16:00.
• Deadline for delivery: 27/11/2018 @ 23:39 in Blackboard