11th International Conference on

Autonomous Infrastructure, Management and Security

(AIMS 2017)

July 10-13, 2017, University of Zurich, Zurich, Switzerland

Lab sessions

Lab Session 1: Hacking your Way to Safety – A Beginner’s Guide to Security Games

Dr. Martin Drašar, Masaryk University, Czech Republic

Date: Monday July 10, 2017, 14:00 - 18:00
Location: 0.K.02

Abstract: Maintaining infrastructure security or hardening a system is never a simple task. Nor it is a one-click operation. Often it requires the adoption of attacker’s mindset to identify correctly weak spots or to even understand that a threat is imminent. This, however, is not possible without acquiring a large body of knowledge, which is usually dispersed around the Internet or available only as dry technical reports. While the process of assembling these bits of information may appeal to somebody, a majority will prefer something more entertaining. Se- curity games are one such approach.

This lab is aimed at beginners and will serve as a brief introduction to hacking as a way to better understand computer security. It will discuss available learning re- sources and focus mostly on security games: why, which, where, and how to play them for maximum benefit? It will also give participants an opportunity to try out some of these games in a guided manner. These games will be executed both locally as virtual machines on attendees' laptops and remotely in a virtual sandbox environment [1]. Attendees will also be asked to participate in a survey regarding skill self-assessment and effectiveness of knowledge transfer, which fosters further research as presented in [2].

[1] D. Kourill, T. Rebok, T. Jirsik, J. Cegan, M. Drasar, M. Vizvary, Jan Vykopal: Cloud-based Testbed for Simulation of Cyber Attacks. IFIP/IEEE Network Operations and Management Symposium (NOMS 2014). Krakow, Poland, May 2016.

[2] J. Ykopal, M. Bartak: On the Design of Security Games: From Frustrating to Engaging Learning, USENIX Workshop on Advances in Security Education (ASE 2016), Austin, Texas, U.S.A., August 2016.

Bio: Martin Drašar, Ph.D. is a security researcher at Masaryk University, Czech Republic and a head of the Proactive Security Group at the accredited security team CSIRT-MU (https://csirt.muni.cz/). Martin has received his Ph.D on the topic of behavioral detection of distributed dictionary attacks and is currently focusing on the topic of adaptable attack strategies for large-scale attacks and on general usage of machine learning in network security.

Back to program

Lab Session 2: Programming Smart Contracts

Dr. Thomas Bocek, University of Zurich, Switzerland
Moritz Schneider, University of Zurich, Switzerland
Date: Wednesday July 12, 2017, 09:00 - 12:30
Room: 0.K.02

Abstract: Blockchains and smart contracts have gained a lot of attention. Public blockchains are considered secure and exist without centralized control. As one of the most prominent blockchain examples, Bitcoin has the potential to disrupt financial services. However, the blockchain technology is applicable to a wider range of application domains, such as smart contracts, public registries, registry of deeds, or virtual organizations.

Another prominent blockchain example, Ethereum, which is considered a general approach for smart contracts, is the second biggest public blockchain with respect to market capitalization. A smart contract in Ethereum [1] is written in the language Solidity [2]. These contracts allow not only sending and receiving funds, but since Solidity its a Turing-complete language, it allows for the definition of any kind of rules.

The introduction of this lab session will address the history and an overview of blockchains as well as their categorization. Blockchain basics are explained in terms of basic building blocks and how they work, including the essential consensus mechanisms. Thus, the Solidity language is introduced in terms of syntax and main constructs, combined with simple code snippets and examples [3]. The audience will compile and deploy a simple smart contract with the goal to famil- iarize itself with the language and the development environment. Furthermore, the lab shows on the basis of Ethereum smart contracts how to create your own tokens or cryptocurrency [4]. The tokens or cryptocurrency initiator can create initial tokens that can be transferred to any address.

[1] Homestead Release: ethereum: https://www.ethereum.org/

[2] Solidity: http://solidity.readthedocs.io

[3] Contract examples for Ethereum: https://github.com/fivedogit/solidity-baby-steps

[4] Create your own crypto-currency with Ethereum: https://www.ethereum.org/token"

Bio: Dr. Thomas Bocek is the head of P2P and distributed systems at the Communication Systems Group VSG at the University of Zurich UZH since 2013. Before that, Thomas worked as a software engineer and technical project manager in the financial sector. Thomas holds a Ph.D. and a M.Sc. from the University of Zürich, Switzerland. Thomas is mainly interested in communication systems and networks, especially focusing on peer-to-peer, distributed systems, and blockchains including Bitcoin and Ethereum. He is also involved in the blockchain start-up modum.io, which combines IoT sensor devices with blockchains.

Bio: Moritz Schneider is a master student at the University of Zurich UZH, focusing on the digitization of the food supply chain using blockchains, currently working on his Master Thesis with the Communication Systems Group CSG in collaboration with modum.io. He is interested in distributed systems for their potential for automation, disintermediation, and process optimization. Previously, he worked as a DevOps at the Zurich University of Applied Sciences.

Back to program

Lab Session 3: Programming Data Planes in P4 – A High-level Language for Packet Processors

Salvatore Signorello, SnT, University of Luxembourg, Luxembourg, and LORIA, University of Nancy, France
Jérôme François, MADYNES Team at INRIA, Nancy Grand-Est, France

Date: Thursday July 13, 2017, 14:00 - 18:00
Room: 0.K.02

Abstract: This lab will introduce the audience to the P4 language [1], provid- ing them with the knowledge necessary to develop and prototype their own research ideas in P4. The lab starts by providing an overview of the research that led to the emergence of the language and by illustrating the P4 language consortium objectives and related ongoing activities. Additionally, the lab explains the P4 language programming model and introduces an open source development en- vironment [2], which can be used to write and test P4 programs on a single ma- chine. The presented software toolset includes a P4 front-end compiler, a P4 software target, and the Command Line Interface (CLI) used to program this target at run-time. Finally, the lab interactively presents the language’s syntax and main constructs.

Throughout the entire lab, simple P4 code snippets and examples are written, compiled, and executed by the participants. Furthermore, full assignments of increasing complexity are proposed to strengthen the understanding of the programming model and of the main language constructs. More in detail, simple tasks, like the definition of a custom encapsulation protocol and the implementation of an access control list, help the audience to familiarize itself with the definition and the parsing of new protocols and with the definition of the control flow of a P4 program. While more complex assignments, like the implementation of a port-knock firewall, are meant to explore advanced language constructs, which can be used to implement stateful network functions.

[1] P. Bosshart, D. Daly, G. Gibb, M. Izzard, N. McKeown, J. Rexford, C. Schlesinger, D. Talayco, A. Vahdat, G. Varghese, D. Walker: P4: Programming Protocol-independent Packet Processors. Computer Communication Review, Vol. 44, No. 3, pp 87-95.

[2] P4: http://p4.org/join-us

Bio: Salvatore Signorello is a third year PhD student at the SnT research centre in Luxembourg. Salvatore holds a master’s cum laude from the University of Catania (Italy) after which he worked as CNIT member on the network infrastructure of the Convergence EU-FP7 project (a publish-subscribe system on an information-centric network) for two years. Now he is pursuing a joint PhD between the University of Luxembourg and the University of Lorraine in France. Salvatore’s research focuses on information-centric networking and, more generally, on programmable data-planes. Salvatore has been following the development of the P4 community since the language consortium creation in early 2015. He is constantly attending technical seminars and dissemination events on the P4 language. Salvatore regularly gives tutorials on P4 at international conferences on networking, e.g., at IEEE Netsoft in 2016 and at IFIP/IEEE IM in 2017, as well as teaches the language to graduate students of the universities he is affiliated to.

Bio: Jérôme François is a permanent researcher at INRIA in the Madynes Team. Previously, he was a research associate at the SnT of University of Luxembourg. He studied at Telecom Nancy, a French leading school in computer science. He received his Ph.D. on robustness and identification of communicating applications from the University Henri Poincaré in Nancy (France) in December 2009. He published several papers in major conferences on topics related to security and network management (IFIP Networking, IEEE/IFIP NOMS, IEEE/IFIP IM, RAID, IEEE ICC, CNSM) for which he also served as TPC member. Since 2006, he has been teaching MS students in computer networks-related courses and supervising PhDs in computer science on topics for network monitoring and security. Further, he held several tutorials on network management at different AIMS and NOMS editions. His research interests are in network management with a special focus on security mechanisms for new network paradigms like SDN, NFV, and ICN.

Back to program