We've always been interested for computer science and technology in general, but what we like most is networks and their security. We recently had to perform a research on our University to see available tools to detect rogue AP and there were just few tools and we believe it's an important threat as publishing your network access far away from the organization building is exposing your infraestructure as if it was an open window in a dark and cold night.
What it does
The project allows to drive a drone using a mobile application for Android smartphones that lists the access points found so that without moving around you can know how many wireless networks are around and then see if there are any unauthorized wireless networks. This is what we thought at first, but with this combinations of networks and gadgets, a whole bunch of possibilites appears: auditing remote businesses using drones, automatically driven drones that search for low-level signal spots or unauthorized networks, temporal WiFi repeater hotspots to provide access to the network when an access point is overloaded or has failed, keep track of the users and what networks they use, providing interesting data, and much more!
How we built it
We attached a Raspberry Pi into a terrestrial drone (Parrot minidrones Jett jumping race) and created a mobile application for Android that communicates with the drone to drive it and with the Raspberry Pi attached to it to look for access points (we also coded a little Python server for the Raspberry to provide that communication so!).
We had to attach the Raspberry Pi to the drone despite the drone uses a WiFi network card to communicate with the smartphone because the network card can't be set in monitor mode due to hardware limitations. With an expensive drone, maybe this attached Raspberry Pi with a 3D custom printed mount wouldn't be necessary, and the drone would do all the job itself!
Challenges we ran into
We had to guess the configuration that the drone uses for communications, create a system service for the Raspberry to look for near access points, create the communication protocol, connect all nodes together guessing networks configurations (limited by the hardware constraints of the drone) and finally create the Android application that controls everything
Accomplishments that we're proud of
We've built our first beautiful Android application that controls a drone and also a Raspberry time at the same time, providing movement control, real-time video visualization from the drone and real-time access points sniffing from the Raspberry Pi, all in one screen that we designed to provide the most in the less space possible!
What we learned
We learned a little bit more about low-level Python, also sockets in Java, create simulated access points, some points about the drone technology (we scanned its ports, seeing in port 23 a real great opportunity to deal with the Linux that comes inside and all the hardware of the drone. We also left a file in the drone as an easter egg for a future owner!)
What's next for Smartlify
We have seen a great opportunity for remote wireless network auditoring, providing all the services we mentioned in #WhatItDoes section, and maybe when we launch our business this summer, we'll include it in our services. We've never heard about such services currently :)