GSoC 2015!

This year I have been accepted to GSoC!

Google Summer of Code is an international program (started in 2005), where accepted students learn about open-source by developing, during the summer, a program. With what do you remain after a coding summer? Well, you will meet a nice community in which you could remain as a developer (for the organization that accepted you, GNOME in my case), you will hone you programming skills and also you will receive 5.500$ for completing the program.

The project I will work on is a security based one and is called Disable USB on lockscreen. Under the guidance of Tobias Mueller, I will try to develop a system that will block the USB port if the screen is locked and if the entered device is not a familiar one (a device that was connected in the past).

This is the core of the project, but I will try to do other little things that it will make the program more flexible.

Until now, I made an application that can detect if a new USB device has been connected and asks the user if he wants to add it to a trusted device list. For every connected device the device descriptors would be collected and every device will get an unique id formed from this descriptors.

usb devices

Each connected USB, that we trust, would be hold into a file named ‘known_devices’ (at least for now) in json format.

File known devices

This is only the start part of the project, only the root, but it would be improved into a more complex application ^_^

This is it for now! I hope you enjoyed reading the first blog post about my experience with GSoC and see you again soon!



3 thoughts on “GSoC 2015!

  1. Peter says:

    From what I understand the user would be notified about any new connected USB-devices? Would be useful to simply allow that one flash drive that was just connected.

    Another question:
    What about Thunderbolt, eSATA and FireWire? Aren’t those ports even more dangerous because of the direct memory access?

    Liked by 1 person

    • Sorry for the time it took me to respond.

      For the first question:
      The user would be notified if a new device was connected (that his PC has not seen before) and ask for his permission to allow it to connect.

      Would be useful to allow it to connect only if you know that the device had been already connected and it is “trusted”. USB devices are not dangerous only by the malware it can contain but for how they work.
      Here is a nice article regarding this threat, if you have time to read it.

      For the second question:
      Currently I do not know much things about the DMA, but I would try to do some research.


  2. as for devices on other interfaces than USB: Sure, it’d be good to cover all of that. But I’d rather focus on small, incremental changes.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s