Advisor: Amy Csizmar Dalal
Times: Fall-Winter 1,2c
Last year’s Who Is My Phone Talking To? project examined the sources and destinations of mobile device data, as well as how frequently mobile applications send data to various locations. During the team’s presentation, it occurred to me that each application has its own “fingerprint” — unique, or at least semi-unique, data patterns. Given a packet trace, we can likely extract these application “fingerprints”, so that we can tell at any given time which applications were in use by a given device. By analyzing application fingerprints, we can get a better sense of the digital chatter happening in the background of our devices, and in particular the implications this chatter has in terms of digital privacy and safety and the like.
Like any good crime procedural, the data at our disposal is murky at best and confusing at worst. For instance, wireless data is encrypted, so we can’t read the contents of individual packets. And many applications utilize the same cloud services, like Akamai (a content distribution network), and the same protocols. You will need to channel your [insert your favorite crime procedural character here] to find novel ways to use all the available data to make a positive identification for each application. Are you up to the task?
In this project, you will create, write up, and disseminate application “profiles” of common mobile applications. These profiles will serve multiple educational purposes and audiences, including Computer Networks students learning about application-layer protocols; consumers interested in data privacy; IT professionals in charge of data traffic shaping; and so on.
The project will involve the following steps:
CS 331, Computer Networks, is useful but not required. What’s more important to this project: a sense of curiosity, creative problem-solving and troubleshooting skills, and a willingness to get messy with data!
The Wireshark wiki (Wireshark is a packet capture application) contains a number of sample capture files of various applications and protocols. This might help you get a sense of the kind of data we'll be examining and what a packet capture looks like.