Computing Infrastructures To Support Cybersecurity Education

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

COMPUTING INFRASTRUCTURES TO SUPPORT CYBERSECURITY

EDUCATION
Author Name(s)
Affiliation
Email addresses
(10-point type size, upper and lower case, centered under the title.
These should be left blank in the initial submission!)

ABSTRACT between training, which requires more practical contents,


Over the past decade, attention on cybersecurity awareness and education, which requires more theoretical contents.
has spurred academic institutions across the nation to This balance is most notable at institutions that provide 4-
develop and integrate various security-related tracks to the year bachelor degrees and Masters degrees [5]. As a result,
undergraduate computer science curriculum. As recent literature in developing and publishing courses for
cybersecurity education emphasizes hands-on learning cyber-security focuses on the developments of lab-based
activities, significant efforts have been expended in materials that can illustrate fundamental computer security
developing and publishing course materials that satisfy concepts using hands-on learning activities on various
these requirements. These materials cover a wide range of relevant computing infrastructures. The adaptation and
topics and require significant computing infrastructure integration of these materials, in many cases, requires a
support. At large institutions with emphasis on research close replication of host institutions’ infrastructures. For
activities, there are redundant facilities to provide students teaching institutions with limited resources, this represents
with an isolated environment where they have access to a significant challenge.
adequate infrastructures and personnel support from
teaching assistant and professional IT staff. These In this paper, we discuss our recent experience
resources are not always available for regional teaching- incorporating hands-on learning activities in different
oriented institutions. In this paper, we discuss our recent computer security courses with the utilization of various
experience at West Chester University in utilizing various local and national computing infrastructure. The remaining
local and national infrastructure to teaching computer of the paper is as follows. Section 2 provides a brief
security in different courses at different levels. overview of previous work in cybersecurity educational
contents, with a focus on how the accompanying
KEY WORDS computing infrastructures differ over time. Section 3
Computer security, computer education, computing describes the settings and materials for cybersecurity
infrastructure, cloud computing, CloudLab, XSEDE. courses at West Chester University. Section 4 presents
different approaches in provisioning computing
1. Introduction infrastructures for students in these courses. We discuss the
teaching experience, challenges, and student feedback in
The creation of the National Initiative for Cybersecurity Section 5. Section 6 concludes the paper and elaborates on
Education [1] and the two National Center of Academic future work.
Excellence (CAE) programs in Cyber Defense and Cyber
Operations [2] has signaled an official focus of national 2. Related Work
efforts to the promotion of cybersecurity awareness
through education, training, and workforce development. Cybersecurity education literature typical follows several
This has resulted in a rapid growth of various security- major approaches in providing computing resources for
related educational components at academic institutions hands-on activities. In the first approach, students have
across the nation, with 182 colleges and universities direct access to a physical compute resource, which could
already acquired CAE in Information Assurance be a personal computer (PC) or a shared network of
Excellence designation by 2014 [3]. computers. In [6], the authors described the most preferred
laboratory exercises as ranked by students for introductory
One critical component of cybersecurity education is the cybersecurity courses at two liberal-arts colleges. These
inclusion of hands-on learning activities. In [4], the exercises cover areas such as cryptography, network
Department of Homeland Security recommended monitoring and analysis, secure connection, network
improving qualifying criteria for its CAE programs to security configurations, and network programming.
promote the addition of more hands-on content. This Exercises in the area of cryptography are doable on
presents a challenge to academic institutions in balancing students’ PC, and others in a dedicated computer lab.
Laboratories with focus on network security, including security and cryptography), components, and architectures.
eavesdropping attacks, dictionary attacks, SSL usage, man- It is not a required course for computer science major
in-the-middle attacks, and firewalls/VPN were described in students. However, it is a required course for the computer
[7]. The accompanying computing infrastructure was security certificate, which is accredited by NHS/DHS’
consisted of four computing clusters, each of which had National Centers of Academic Excellence program.
three individual computers. In the paper, the authors Prerequisites for CSC 302 includes CSC 301 Computer
describe having eight students per cluster as adequate. The Security and Ethics, and three Java courses (CSC 141, CSC
work of [8] described an extensive laboratory network that 142, and CSC 240). In addition to learning about ethical
enables various advanced network security exercises issues related to cybersecurity, students in CSC 301 also
including network mapping and sniffing, vulnerability learn authentication, attack models, access control,
assessment, rootkit analysis, backdoors, honey pot, and malware, risk analysis, intellectual property, information
worms. Students were also provided with removable hard warfare, and security issues in distributed systems, such as
drives that could be detached and taken home at the end of database, email, payment systems, social networking, and
the labs. cloud computing. By finishing all java courses, students are
capable of writing programs with generics, inheritance, and
The rise of virtual technologies, particularly virtual master all linear data structures such as Array, Array List,
machines, has enabled the second approach for and Linked List. At the same time, the core prerequisite
provisioning computing environment for cybersecurity courses do not always provide students with Linux system
education [9]. One example of this approach is the SEED administration skills and experience in working with a
Lab [10], which provides an extensive suite of security labs command line interface.
based on pre-made VMs. Students can download and
deploy these VMs directly on their laptops to set up these 3.1.2 Sessions 1 of CSC 302:
labs. The creation of large-scale virtual networks such as This session of CSC 302 covers topics in network security,
Emulab [11] across a federation of institutions gives rise to system security, and cryptography. The major hands-on lab
platforms such as Deter-Lab [12], which supports virtual, in this session, called game-below, involves several teams
isolated environments for network-related security trying to gain administrative access on computers
courses. In recent years, the wide spread availability of administered by other teams. The intent of this game is to
public and private cloud computing infrastructures also give students greater insight and understanding into the
contribute to a variety of new course materials [13-14]. nature of computer security issues by allowing them to act
as both “hackers” and “administrators” in a live network
The above overview demonstrates that while there exists a environment. The entire environment in which this game
wide variety of contents for cybersecurity education, these takes place is known as the sandbox. Students are divided
contents are also designed and customized for specific into eight teams, with four students per team for this lab.
computing infrastructures. It is critical for instructors to The teams have three major tasks, which spread throughout
adapt materials such that the corresponding infrastructure the semester.
requirements are suitable and sustainable at the local
institution. The first task is for each team to set up their own server in
the sandbox. This requires Linux system administration
3. Educational Settings skills. The teams are able to choose and install their own
Linux distribution on a server and deploy it in the sandbox.
At West Chester University, the cybersecurity career track At a minimum, this server must support SSH, Web service,
includes three courses that directly cover cybersecurity. In and Mail service. The instructor offers extra credits for
CSC 301, students learn about basic topics in computer additional security services such as two-factor
security and the ethical underpinnings of security. CSC authentication, flash, firewall, and SQL server.
302, Computer Security, introduces critical and diverse
topics in general computer security. Topics in computer In the second task, the team begins their exploration of the
security (CSC 497/583) is a topic course cross-listed both sand box and attempt to gain unauthorized access to
at undergraduate and graduate level that focuses on specific systems belong to the other teams. While doing these
advanced security problems. The actual topic is going to be activities, the students also need to avoid detection while
announced at the time of offering. Currently, we offer two engaging in these activities. The second task will be carried
topics: software security and modern malware analysis. out at the same time as the third task.
The majority of hands-on activities in computer security
are covered in CSC 302 and CSC 497/583. The third task is to defend and maintain each team’s
individual system. As part of this task, each team is to set
3.1 CSC 302 – Computer Security up and observe their own activity monitoring mechanisms.
Through the monitoring logs, if an attack is detected, the
CSC 302 is taught in two sessions, each of which covering defending team is responsible for carrying out a proper
different aspects of cybersecurity, including security respond. During the process, if there is any security related
principles, concepts (software, system, and network updates for the Linux distributions or installed software
component released. It should be noted that as part of the The primary objective of the software security course is to
rules, all students have standard user accounts on every let students understand how to assess software
other teams’ systems. Therefore, the defending team needs vulnerability; this process includes learning how to dissect
to discern between normal authorized activities and an application, discover security vulnerabilities, and assess
unauthorized attempts to gain entry to the system. the danger each vulnerability presents. The course focuses
on teaching practical offensive security skills in binary
Students are to maintain rigorous documentation for all exploitation and reverse engineering through a
activities related to the three tasks. More specifically, they combination of interactive lectures, hands-on labs, and it
are to provide detailed descriptions regarding their own also offers students an opportunity to explore the state-of-
exploits as well as detection of other teams’ exploits. A the-art subjection in both the industry and academic world.
final written report and in-class presentation accounts for a
significant part of the course’s final grade. Software security course is first covering the legal aspects
of reverse engineering, assembly language for IA-32
3.1.2 Sessions 2 of CSC 302: compatible processors, vulnerability analysis, and Linux-
The second session of CSC 302 focuses on software based ELF program exploitation. It will then transition into
security and web security. The hands-on lab materials are several protection mechanisms found on modern systems
from the SEED lab series [10]. Taking into consideration (e.g., DEP, ASLR, Canaries, PIE) and the techniques used
the lack of Linux experience and C programming to defeat them. The course also covers other subjects in
knowledge, introductory and hands-on practices for these exploitation including advance heap exploitation and
topics are interleaved between the security lectures and kernel-land exploitation.
labs. For software security, the session covers set-uid,
environment variables, buffer overflow, and return-to-libc 3.2.2 Topic in Modern Malware Analysis
attacks. The topics selected for web security are cross-site The primary objective of the modern malware analysis
request forgery, cross-site scripting, and SQL injection. course is to let students learn how to detect, analyze, and
eradicate malware since it becomes an increasingly
While the lab materials are provided by SEED, the important issue of economic and national security. The
accompany VM is limited at 32-bit with a older distribution course introduces students to malware analysis techniques
of Ubuntu (16.04). To help students in understanding the through lectures, readings and hands-on interactive
technical aspects the lab, an additional team project is analysis of real-world samples. Students should be able to
assigned. In this project, students are to first re-implement analyze contemporary malware using both static and
the lab in a 64-bit Ubuntu 18.04 VM. More specifically, dynamic analysis after taking this course.
they are to implement the set-uid and environment
variables lab and then to select an additional lab from either In the modern malware analysis course, we first covered
software security or web security for re-implementation. the basic concepts of malware analysis, including the
To be able to create the memory-based vulnerabilities in experiment environment setup, debugging concepts and
the new 64-bit environment, students will have to leverage tools, definition of static analysis and dynamic analysis,
their understandings of the SEED materials for the 32-bit and PE/ELF format. Then we move on to study the
VM and apply them to the new 64-bit architecture. malicious activities, techniques, and countermeasures
Similarly, in web security, the students will need to (e.g., DLL Injection, API Hooking). We also discuss some
understand aspects of the web software stacks in the SEED rootkit techniques including packing, patching, and direct
VM that lead to the existence of the exploits for kernel object manipulation.
reimplementation purposes. Next, students are to automate
these implementations so that their VM can be dynamically 4. Supporting Infrastructures
deployed in CloudLab, an academic cloud computing
environment [15]. The varieties in contents of the security courses described
in Section 3 led to different infrastructure requirements for
3.2 CSC 497/583 – Topics in Computer Security students’ learning activities. These infrastructures include
virtual machines deployment on individual students’
Topics in computer security (CSC 497/583) is a free laptop, on-site computer networks, and cloud computing
elective course for students major in computer science. environments.
This course carried a prerequisite of computer organization
(CSC 242) that teaches the basics of assembly language, C 4.1 Session 1 of CSC 302
programing language, bitwise operations and the concept
of pointers. The expected demographic for this course is In this session, students have access to a sandbox
students with basic programming concepts, familiarity infrastructure consisting of eight computing servers,
with Unix/Linux including command-line shell and gdb, connected through an Ethernet switch. The instructor
and with web programming concepts. commands one additional machine to manage and oversee
the sandbox. The sandbox itself is deployed within a CS-
3.2.1 Topic in Software Security specific computer lab, with a portion of the physical
machines in this lab is dedicated to the sandbox. Students description document. CloudLab provides a graphical
not enrolled in the session are not allowed to use these interface inside a web browser that allows users to visually
machines during the semester. The overall architecture of design this document through drag-and-drop actions. For
the sandbox is shown in Figure 1. large and complex profiles, this document can also be
automatically generated via Python in a programmatic
manner. Starting Fall 2017, CloudLab supports a direct
integration between publicly readable git repositories and
their profile storage infrastructure. This significantly
minimizes the effort needed to modify existing profile
while still maintaining a complete history of previous
changes.

4.3 CSC 497/583

For the software security course, we have created a virtual


machine disk image that runs the Manjaro Linux system
which has all the tools, challenges, and coding libraries.
Students need to download the image and import it to their
computer via VirtualBox (or VMware). We also set up a
remote server with Ubuntu Linux, and Docker; creates a
capture-the-flag (CTF) environment for labs and the final
Figure 1. Sandbox Infrastructure project. The student can connect to the remote server
through a Python script, and the goal is to reveal the secret
4.2 Session 1 of CSC 302 stored in a file.

For the SEED labs, students downloaded the original VM For the modern malware analysis course, we decided to set
to run on their laptop using VirtualBox. To help integrating up a Windows XP 32-bit virtual machine. However, unlike
lecture materials and lab materials, an additional the Linux system, the Windows system is not free; thus we
component was added to the VM. The students were to cannot distribute this VM to the student. Instead, we
download and install Anaconda inside the VM. Next, they provide a comprehensive list of tools and installers that we
launched a Jupyter server from inside the VM and used throughout the course. All the labs can be done in the
forwarded the port to the host laptop. With the lecture Linux environment by choosing a cross-platform Python
contents and lab activities converted to Python Jupyter library.
notebooks, students could access the lab environment
inside the VM and the lecture materials through a web 5. Teaching Experience, Challenges, and
browser. Student Feedback
Funded by the National Science Foundation in 2014, Since CSC 302 and CSC 495/583 are elective courses,
CloudLab’s goal is to provide researchers with a robust students enrolled in these courses came with different
cloud-based environment for next generation computing technical background. As a result, students’ learning
research [15]. These resources are distributed across experience, challenges, and course feedback varied across
several U.S. institutions. As of August 2018, CloudLab the courses and the sessions.
boasts an impressive collection of hardware. At the Utah
site, there was 785 nodes, including 315 with ARMv8, 270 5.1 Session 1 of CSC 302
with Intel Xeon-D, and 200 with Intel Broadwell. The
compute nodes at Wisconsin included 270 Intel Haswell One of the authors have taught Session 1 of CSC 302 for
nodes with memory ranging between 120GB and 160GB three semesters. The assigning of game enables students to
and 260 Intel Skylake nodes with memory ranging between learn using a project-based learning approach. Recognizing
128GB and 192GB. At Clemson University, there are 100 the fact that many students are not familiar with Linux, the
nodes running Intel Ivy Bridges, 88 nodes running Intel instructor first sent out a survey with Linux and networking
Haswell, and 72 nodes running Intel Skylake. All of related questions and then use the results of the survey to
Clemson's compute nodes have large memory (between divide students into groups with similar aggregated level of
256GB and 384GB), and there are also two additional technical skills. The instructor made sure that at least one
storage-intensive nodes that have a total of 270TB of student is very familiar with Linux and one or two of them
storage available. has/have working knowledge about Linux.

In order to provision resources using CloudLab, a In the first semester, the instructor prepared and taught the
researcher needs to describe the necessary computers, class under an ideal assumption that as long as adequate
network topologies, start-up commands, in a resource directions were provided, students would engage in the
project and learn by themselves. However, it turned out to the time line for their implementation. Finally, the
be not the case. The instructor received feedback for both instructor presented and emphasized the teaching/learning
logistic and technical issues. Logistic issues mainly approach for the class, which required two concurrent
focused on time and collaboration. Although enrolled thrusts on concepts and technology. The lecture time
students in this semester were at junior and senior level, focused on the conceptual parts, which illustrate how to
they complained about not having enough classroom time solve problem. The project and homework were
for the project. This was contradictory to the intention of implementations that use certain technology to solve the
the project, which was to be done after the class in lieu of real problem. Those technologies change all the time, and
homework assignments. Some group also complained students are responsible to this knowledge on their own
about team-members do not show up, etc. with some assistance such as an introduction lecture that
provided during the lecture time. These changes resulted in
They also have more technique issues than expected. One an improved experience for both students and instructor in
of the primary learning activity for students in the first task the following two semesters, although there are still
is to research through different Linux systems, select one, students that ask for systematic instruction on how to do
and following online documentation to install the machine. the lab.
Several groups emailed the instructor to require explicit
instructions regarding the installation of Linux operating Throughout the three semesters, the dedicated on-site local
system. There had also been requests for in-class computers for this session enabled students to have a stable
demonstrations of this process. Similar issues happened computing environment for the course’s projects and
with the installation and configuration of the required assignments. However, working with this infrastructure
services such as SSH, Web, and Email servers. Fluency in encountered several administrative challenges. One
programming techniques, which came from the challenge having to do with reserving the individual
prerequisites, did not translate into experience with system computers within the computer lab. To ensure no external
administration knowledge. For example, students could interference, the instructor isolated the selected computers
quickly create and publish a web page, but not able to setup and placed a semester-long hold on these computers. This
the corresponding web servers. During the intrusion and inadvertently reduced the number of laboratory computers
defend stage of the second and third tasks, the most available to other students. The setting of the room itself
common feedback was that the students could not was also not conducive to team-based activities, as students
understand and find out what type of tools they can use to struggled to find seating space around their team’s
defend and attack. As a result, several teams never computer. In the long term, this represented a scalability
attempted any intrusion, and there was no meaningful issue for increasing the instances of this session for the
intrusion detection and defend. The lack of prior course. Second, even if other students do not use the
experience in Linux was emphasized in many feedback that reserved servers, they may use the Ethernet cables, which
the instructors received. disable students in CSC 302 from remote login.

While the purpose of the sandbox is to promote free 5.2 Session 2 of CSC 302
exploration in order to facilitate attacks and defends, the
feedback highlighted typical students’ hesitation in This session of CSC 302 was taught for the first time in
navigating a fully project-based learning environment and Fall 2018. Learning from the experience in Session 1, the
their preference for step-by-step instructions. Taking this instructor for this session also provided a series of
into account, the instructor adjusted the course’s structure supporting materials that aimed to introduce students to the
to provide students with more gradual support. Linux environment and C programming. Instructions on
setting up the Python’s Anaconda environment, Jupyter
In the subsequent semester, the instructors enacted a server, and port forwarding were provided with the goal to
number of changes to better coordinate the project ease students into working with. While students’ feedback
activities. While the project still pushed students to was positive, interesting technical challenges arose with
research and explore the system and network security, the usage of the SEED VM.
there are more support structures in the materials. First, the
entire game was divided into three complete stages, and The instructors observed that students in the class had
there was one checkpoint for each stage to make sure different personal laptops, many of which were older
everyone got the minimum requirement. Second, the models. As the uncompressed SEED VM required more
instructor provided an initial reference list of intrusion and than 12GB in size, several students struggled to find
defend tools for the students. The list does not include enough disk space to decompress and setup the VM. The
installation, configuration, and usage documentation. As a age of the hard drive also impacted the integrity of the VM,
result, if students decided to follow the list, they will need and throughout the semester, the class encountered
to perform research on how to use them. Furthermore, they instances when the VM file corrupted, resulting in having
can also use this list as a reference point for additional to download and setup the computing environment again.
tools. Third, each group was to submit a game plan to Even with SEED’s consideration regarding the hardware
illustrate the responsibilities for each team members and configuration of the VM (1 core and 1GB of memory),
students experienced lag in working with the VM, support installing and running the local VM software.
particularly for the web security exercises. Students who own Chromebook have to use remote secure
shell to connect to a remote Linux server and setting up
After the first half of the semester working on a local VM, everything by their own. These compatibility issues make
the introduction of the CloudLab-based project was student feel discourage or frustrated and may fall behind.
actually well received by the students. As CloudLab
provided a significantly better hardware performance, 5. Conclusion and Future Work
students were able to smoothly deploy and work on their
individual VM regardless of their individual laptops’ In this work, we highlighted our experience using various
configurations. Near the end of the semester, the instructor computing infrastructures in cybersecurity courses. These
also attempted to introduce two network security exercises infrastructures included on-site local network of
regarding packet sniffing and spoofing. Without having computers, VMs installed on students’ personal laptops,
reserved a prior laboratory, the instructor deployed an and computing environments deployed in the cloud. The
online environment in CloudLab [17]. This environment former two presented various logistical, technical, and
allows the instructor to specify a number of VMs administrative challenges in ensuring a seamless and
corresponding to the number of students, set up and equip transparent hands-on learning environment for students.
the VMs with relevant software packages and source codes Early experience in the last approach using CloudLab, a
for the lectures, and deploy them on CloudLab. The entire national computing infrastructure, was positive and
process took approximately thirty minutes and was done provided indications that cloud computing environments
prior to the start of the class. like CloudLab can provide significant support for teaching
cybersecurity courses.
5.3 CSC 497/583
At the same time, using a cloud-based infrastructure is not
Students came into CSC 497/583 near the end of the without its hurdles. It places a burden on the instructor to
undergraduate career or at the graduate level. Therefore, install, configure, and deploy the environment, with the
issues related to prior experience working with Linux were added caveat of having to learn how to work with a cloud
rare. The instructor for CSC 497/583 observed several provider. CloudLab is a research-based environment, and
advantages and disadvantages in using local VM in this thus is not appropriate for scenarios where a dedicated
course. infrastructure needs to be maintained throughout the
semester. To address these challenges, the authors are
5.3.1 Advantages pursuing future work in preparing cloud profile templates
The use of local VM provided students with a safe, reliable, to help with automated installation and configuration and
and consistent experiment environment. It was easy to use exploring additional resources, including the JetStream
and students did not need to set up the initial Linux Cloud infrastructure inside XSEDE (Extreme Science and
environment by themselves. This was especially important Engineering Discovery Environment) for provisioning
as many tools and libraries in the Linux environment are sustained infrastructure.
not easy to compile and install and require the student to
have some level of debugging skills when facing with 4. Acknowledgements
compiling error. Second, the local VM provided a GUI
interface to the students, thus reducing the learning curve The hands-on project in session 1 of CSC 302 borrows
to the student who is not familiar with command line the game administration plan that was developed for
operation. Third, the local VM is cross-platform, and it the previous graduate security course (CPSC665) in
supports both the Windows and Linux system, which is Computer Science Department at Texas A&M
ideal for studying various binary file structure on the University. Thanks Dr. Udo Pooch and Dr. Bin Lu for
different operating system (e.g., PE and ELF format). Last their generous help in the development of this game.
but not least, the VM software provided snapshots which They will be always remembered.
guarantee to revert the VM to an earlier state completely.
This feature is extremely useful for the student who studied
the malware analysis course.
References:

5.3.2 Disadvantages [1] Paulsen, C., McDuffie, E., Newhouse, W., & Toth, P.
First, some students have faced compatibility issues when (2012). NICE: Creating a Cybersecurity Workforce and
installing and using the local VM. Si found that some Aware Public. IEEE Security & Privacy, 10(3), 76-79.
laptop does not enable the VT-D feature in their BIOS [2] Sobiesk, E., Blair, J., Conti, G., Lanham, M., & Taylor,
settings by default and therefore cannot boot up the VM H., Cyber education: a multi-level, multi-discipline
image. Moreover, some laptop with NVidia graphics card approach. Proc. 16th ACM Annual Conference on
and runs Linux Mint system needs to manually disable Information Technology Education, Chicago, IL, 2015, 3-
secure boot to install VM software (e.g., VirtualBox). 47.
Second, the Chromebook operating system does not
[3] McDuffie, E. L., & Piotrowski, V. P., The future of
cybersecurity education. IEEE Computer, 47(8), 2014, 67-
69.
[4] DHS Task Force on CyberSkills, CyberSkills Task
Force Report, D.o.H. Security, Editor. Washington, DC,
2012, 1-41.
[5] Conklin, W. A., Cline, R. E., & Roosa, T., Re-
engineering cybersecurity education in the US: an analysis
of the critical factors. Proc. 47th IEEE International
Conference on System Sciences (HICSS), Big Island, HI,
2014, 2006-2014.
[6] Weiss, R., Mache, J., & Nilsen, E., Top 10 hands-on
cybersecurity exercises. Journal of Computing Sciences in
Colleges, 29(1), 2013, 140-147.
[7] Brustoloni, J. C., Laboratory experiments for network
security instruction. Journal on Educational Resources in
Computing (ACM Transactions on Computing Education),
6(4), 2006, 5.
[8] Abler, R. T., Contis, D., Grizzard, J. B., & Owen, H. L.,
Georgia tech information security center hands-on network
security laboratory. IEEE Transactions on Education,
49(1), 2006, 82-87.
[9] Bullers Jr, W. I., Burd, S., & Seazzu, A. F., Virtual
machines-an idea whose time has returned: application to
network, security, and database courses. ACM SIGCSE
Bulletin 38(1), 2006, 102-106.
[10] Du, W., SEED: hands-on lab exercises for computer
security education. IEEE Security & Privacy, 9(5), 2011,
70-73.
[11] Stoller, M. H. R. R. L., Duerig, J., Guruprasad, S.,
Stack, T., Webb, K., & Lepreau, J., Large-scale
virtualization in the emulab network testbed. Procs
USENIX Annual Technical Conference, Boston, MA,
2008.
[12] Mirkovic, J., & Benzel, T., Teaching cybersecurity
with DeterLab. IEEE Security & Privacy, 10(1), 2012, 73-
76.
[13] Salah, K., Hammoud, M., & Zeadally, S. Teaching
cybersecurity using the cloud. IEEE Transactions on
Learning Technologies, 8(4), 2015, 383-392.
[14] Park, Y., Hu, H., Yuan, X., & Li, H. Enhancing
Security Education Through Designing SDN Security Labs
in CloudLab. Procs 49th ACM Technical Symposium on
Computer Science Education, Baltimore, MD, 2018, 185-
190.
[15] Ricci, R., Eide, E., & CloudLab Team, Introducing
CloudLab: Scientific infrastructure for advancing cloud
architectures and applications. ; login:: the magazine of
USENIX & SAGE, 39(6), 2014, 36-38.
[16] Watson, J., Virtualbox: bits and bytes masquerading
as machines. Linux Journal, 2008(166), 2008, 1.
[17] Ngo, L., SEEDCloud.
https://github.com/linhbngo/SEEDCloud, 2019.
[18] Towns, J., Cockerill, T., Dahan, M., Foster, I., Gaither,
K., Grimshaw, Hazlewood, V., Lathrop, S., Lifka, D.,
Peterson, G.D., & Roskies, R. XSEDE: accelerating
scientific discovery. Computing in Science & Engineering,
16(5), 2014, 62-74.

You might also like