David Barrera is an assistant professor in the School of Computer Science at Carleton University. He is the co-director of the Carleton Internet Security Lab, where his research analyzes security and privacy issues in emerging network environments such as the Internet of Things (IoT). Dr. Barrera was previously an assistant professor in the computer and software engineering department at Polytechnique Montréal and a visiting scientist at IBM Research in Zürich. He was also a postdoctoral researcher in the Network Security Group at ETH Zürich. Dr. Barrera obtained his Ph.D. from Carleton University in 2014.


David Barrera est professeur adjoint à l’école d’informatique de Carleton University. Il co-dirige le laboratoire de Sécurité Internet et ses recherches visent à améliorer la sécurité des réseaux émergents (tels que l’Internet des objets). Il occupait précédemment le poste de professeur adjoint au département de génie informatique et de génie logiciel à Polytechnique Montréal. Il a aussi travaillé en tant que chercheur visiteur au sein d’IBM Research Zürich pour y développer des solutions de sécurisation des infrastructures critiques et a été chercheur postdoctoral dans le groupe de sécurité réseaux à l’École polytechnique fédérale de Zurich. Dr Barrera est titulaire d’un Doctorat obtenu en 2014 à l’université de Carleton.


David Barrera es profesor asociado en la escuela de ciencias computacionales en Carleton University en Ottawa. El Dr. Barrera es co-director del laboratorio de investigación de seguridad en Internet, donde su investigación analiza problemas de seguridad y privacidad en redes computacionales emergentes como el Internet de las Cosas. El Dr. Barrera ha sido profesor asociado en la escuela de ingeniería en sistemas del Polytecnico de Montréal e investigador en IBM Research en Zürich. También fue investigador postdoctoral en el grupo de seguridad de redes en ETH en Zürich. Obtuvo su doctorado de Carleton University en 2014.


I obtained a B.Eng (Honours) in Electronic Systems Engineering from the Tecnológico de Monterrey (Mexico City Campus) in December 2006. After that, I obtained a graduate diploma in Information Security as well as miscellaneous IT certifications while I worked for Cisco Systems in Mexico City.

Industry turned out to not be a good fit for me at the time, so in 2007 I moved to Ottawa to pursue a Masters degree in Computer Science at Carleton University. I was fortunate to be advised by Dr. Paul van Oorschot. During my Masters, I developed data visualization systems for network security, exploring ways to add IPv6 support to IPv4-only visualization tools. I graduated in August 2009.

In 2010, I started my Ph.D., continuing under supervision of Dr. van Oorschot but changed research directions. My research proposed OS-level mechanisms (mostly transparent to the user) for improving the security of software installation and software updates, focusing on Android. I also worked on a few side-projects involving password management, mobile anti-virus, full disk-encryption, and the usability of Bitcoin. In May 2014, I completed my Ph.D.

Shortly after completing my Ph.D., I spent 3 years in Zürich. The first 2 were spent as a postdoc in the Network Security Group at ETH Zürich building new security tools, protocols, and defenses on top of the SCION future Internet architecture. I spent the following year as a visiting scientist at IBM Research in Zürich where I started working on IoT security and privacy.

From August 2017 to June 2019, I was an assistant professor in the Computer and Software Engineering Department at Polytechnique Montreal. I taught an undergraduate course in computer security and a graduate course in operating systems security. I was awarded the 2018-2019 Meritas Award in the category of Best undergraduate professor in Computer Engineering.

As of July 2019, I’m an assistant professor in the School of Computer Science at Carleton University, where I co-direct the Carleton Internet Security Lab. Our research analyzes security and privacy problems in emerging networking environments such as the Internet of Things.

Things I’ve Built

The Android Observatory. Daniel McCarney and I set up and maintained The Android Observatory, which is a public resource for Android application metadata. Users submit their APKs to the Observatory where we extract all app metadata (permissions, signing information, version, UID), store it, and cross-reference it with other apps. For example, you can find all apps signed by Google, or show all the permissions requested by Facebook v145. Development and maintenance of the Android Observatory was taken over by Ilja Gerhardt in October 2017.

SCION on Mininet. I co-developed and maintained the infrastructure necessary to run SCION on the Mininet network virtualization engine. This is currently the easiest way to experiment with the SCION future Internet architecture, and allows fine-tuning the network topology. The code is available on the SCION Github repo.

IPv6 Privacy Extensions. Co-developed an IPv6 privacy extension algorithm that prevents tracking users across networks. The algorithm and Linux kernel patch were not directly merged, but in 2014 appeared as an independently published IETF RFC (RFC7217). The RFC is essentially the same idea we co-developed in 2011, and it is now the default mechanism to generate private IPv6 addresses in the majority of Linux distributions, and modern Windows, macOS, Android, and iOS releases.