Security Issues in ProtoGENI

Network security consists of primary concerns in future Internet development due to the ever increasing threats to current Internet. ProtoGENI is a federated testbed facility supporting slice-based experiments to manage, utilize, and monitor the resources for innovative network research. Security research in ProtoGENI is crucial because experiments conducted in manipulated or corruptted test environment can mislead about security mechanism’s capabilities in a system. In this paper, existing ProtoGENI security mechanisms and functions are tested and analyzed through different experiments to find out the exploitable attacking loopholes. Experiments elaborate the existing functioning and security issues that can cause nonfunctional, semi non-functional or malfunctioned systems. Results indicate threats to ProtoGENI resources and run-time interactions. Cross-experiment communication in Emulab wireless nodes have the capability of assisting in verifying isolation between ProtoGENI slices. Host security is one of the security components, which can be enhanced by modifying default security settings including SSH port number and root login rights. Documentation of experiment environment, experiment design, results, and analysis including many observations is helpful to understand the basic functioning and security issues to improve the overall functioning and security of ProtoGENI.


Introduction
Information stealing or misuse of available information has gone to an extent to warn the Internet community to seriously think about security and accountability in Internet [1][2].There is a notable increase in reported cybercrimes every year and the associated financial losses are only one side of these cybercrimes [3].
Internet threats such as IP spoofing [4], malicious mobile code [4], obfuscated code, throttling limiting the rate of delivery, malicious/tracking cookies, browser hijackers, and distributed DoS (denial of service) [6][7] motivated researchers to work on reducing security in terms of deterrence, detection mechanisms, and accountability (detection, traceability, and universal cyber laws) [8] in the Internet.Most of the security problems are based on the exploitation of fundamental flaws in current Internet's architecture, which did not consider the security as its primary concern.This basic problem encourages attackers to maximize the attacking effect by studying vulnerabilities of software applications and Operating System.Does everyone want a secure Internet in the future?Does the Internet user community really understand the threats?It is more like a burden on research community who can see clearly the threats, the causes, the consequences, and the damage.Researchers are working around the world independently as well as in collaboration to find out the solutions to future Internet.GENI (Global Environment for Network Innovations) [9], FIND (Future Internet Design) [10], FIRE (Future Internet Research and Experimentation) [11], AKARI [12], and NICT (National Institute of Information and Communication Technology) [13] are a few of the frontiers.
Security needs are updated in the most efficient and possible ways with these limitations but unfortunately security cannot serve as an add-on.Therefore, we need to develop a future Internet with built-in capabilities to survive the security challenges [10,[13][14][15][16][17].Moreover, security is a process and not a product; therefore, any security system should necessarily be capable when considering detection of new possible threats to be proactive in order to detect any unusual or malicious activity in the network.Detection of any new threat may help to develop strategies to tame the threat before the threat damages too much to system's overall functioning.Detection can be very useful in developing resistance techniques against the threats or to have alternative management systems to keep the network in a solid functioning state despite of being attacked through some new mechanisms, which may not be already included into system's surveillance and resistance framework.
It will take time and efforts to test the feasibility of research ideas.Hardware and software resources may not be up to date to carry out the required testing.There is a necessity for specific arrangements to test research ideas [18,19].The research ideas are good to implement, total transformation to new infrastructure will be a difficult challenge.Another challenge will be the drawing of a universal policy to resolve cybercrimes as different countries follow different set of legal and social rules [20].A balance of accountability and privacy is a constant question to implement any new security policies in Internet [22][23][24][25][26][27][28][29].
As switching to future Internet is not idealistic in the near future, researchers are also working to improve current Internet [30][31][32][33][34][35] until researchers reach a feasible point to change to new technologies and mechanisms for future Internet.
Security is a fundamental reason for a clean-slate Internet design [14,16].Clean-slate approach advocates building future Internet with new architecture, new control, management, and security features.The other direction focuses on getting as much infusion of security and accountability in current Internet as possible.
GENI, an National Science Foundation (NSF) funded project to develop future Internet, is expected to be dedicated to research and to serve as an extraordinary platform for researchers and supposedly to be secure and advanced.However, if it could be broken (there is always a possibility), it would be very destructive for the overall GENI functionality.
ProtoGENI [36,37] is a prototype of GENI functionality.ProtoGENI is the Control Framework for "Cluster C" of spiral I of the GENI effort [38].ProtoGENI is based on Emulab [18] software and the slice-based Facility Architecture (SFA).
In this paper, we report our research funding for security issues in ProtoGENI.Some of the related work along this line is summarized as follows.The papers [33,34] use Emulab to study 4D future Internet.The papers [39][40] use Emulab to study MapReduce for cloud computing.The papers [41,42] use Emulab to study building global view with log files.The papers [33][34][35][36][37][38][39][40][41][42][43][44][45] study security and attacks for ProtoGENI.The paper [46] provides a survey of authentication and access control for ProtoGENI.The paper [47] provides a tutorial for ProtoGENI experiments.However, none of the above related work is comprehensive.In the paper, we provides a better and a more comprehensive survey, tutorial, and experiments for security issues in ProtoGENI.
The rest of the paper is organized as follows.Section 2 gives some background information.Section 3 studies issues and concepts of GENI security.Section 45 provides our experiment results.We analyze our results in Section 5 and provide a future work in Section 6. Finally we conclude the paper in Section 7.

Security in GENI/ ProtoGENI
Even though it is impossible to prove whether a complex system is secure mathematically or experimentally, there are many security questions that need to be answered [1].Impacts of network load and differentiated degrees of security on system performance, usability, and functionality need to be studied [48][49].Responses to known attacks should not interference with normal operations under the experiments [48][49].Well-behaved nodes need to perform well and bad-behaved notes should not disrupt the normal operations [48][49][50][51].
The goal of GENI/ProtoGENI security architecture is to prevent, detect, and manage attacks.GENI also believes that it is almost impossible to prevent all possible kinds of intentional or unintentional problems, no matter how careful the validation is adopted.With all possible threats, GENI believes to have the capability to dispose of any malicious experiment or component that requires adequate monitoring and control management.
In the extreme case, GENI is expected to shut off itself, but not periodically.GENI can be attempted for denial service attacks due to its scale and its visibility [48].GENI doesn't claim to provide 100 % technical solution, as it has to use many pre-existing components and vulnerable software to be cost-effective in early phases [49][50].

Security implementation in ProtoGENI
Currently ProtoGENI is applying one Public Key Infrastructure (PKI), which is covering all ProtoGENI registries, slice authorities, aggregates, and principals.Each principal has an Emulab account and SSL (Secure Sockets Layer) certificate that can be generated on user's Emulab account.This SSL certificate is the identity of the researcher, which may be used to identify user's credentials.This allows researchers to activate a session with RPC (Remote Procedure Call) servers.Credentials are signed by the appropriate authority (slice).X.509 format certificate is being used to implement ProtoGENI public key infrastructure.Certificates are transferred using X.690 ASN.1 DER (Distinguished Encoding Rules) [49].The aggregate which receives these credentials may verify it using a set of root certificates.

Threats to ProtoGENI Components
ProtoGENI [56] is capable of providing researchers with its facilities until all components work together efficiently and adequately.ProtoGENI control framework is Emulab based, and operates on enhanced functionality of Emulab and its subsystems to provide a close system to GENI environment.There are security issues related to different threads, which are required to weave an experiment on ProtoGENI.

The Secure Shell (SSH) and SSL
SSH is a set of programs that employ public/private key technology to authenticate and encrypt sessions between user accounts on distributed hosts on the Internet.ProtoGENI only allows users to interact through SSH keys.SSH was not designed to protect against password crackers, IP & TCP attacks, and covert channels [52].SSH-agent remembers the passphrase so the user has no need to repeatedly type the password every time while communicating or sending data to the server.This information can be obtained through PC backup programs.If assessed, SSH keys are usable by the root user, but could not be transported to other machines for indefinite misuse.SSH Keys also can be regenerated if any indication of misuse can be detected.SSL certification may be forged if it is MD5 algorithm based.It is found that the improved algorithms, like SHA-1 and SHA-2, are also vulnerable while SHA-3 is under development [52].

Emulab Security Issues
Emulab does not protect against spoofing on the control network.The test networks are fully separated between experiments by virtualization, but virtualization also may have security threats [53].A port scanner [54] is often adopted by administrators to verify security, and is also by attackers to scan system vulnerabilities.

Other Security issues in ProtoGENI
Unix/Linux operating systems are believed to be more reliable on security measures in comparison to Windows operating system and less vulnerable to attacks [55,56,57].
In reality, there are an increasing number of threats to Unix operating system like Trojan and other attacks which prevent others from running a program or exhausting system resources [58,59].
Other than issues discussed above, there is a likelihood of insider attack that can be a result of many possible reasons based on human complex nature [60].Carelessness, in protecting passwords, passphrases, or machine's unrestricted access to all may also contribute a lot in security breach [61][62].
Many parts of ProtoGENI software use the existing software.It is very time-consuming and cost-expensive to rebuild each and every part of software being used in Existing vulnerabilities in such software may be exploited to threat overall ProtoGENI security [48].

Secure and Accountable Internet
Security is an important aspect to motivate building future Internet.Both lower layers and higher layers of the protocol stack suffer security attacks [14].Add-on security mechanisms are not very successful since assuming either the edge or the core of the network will be responsible all security features.The newly designed future Internet should not be a collection security mechanisms but a total new design of security architecture [15].These efforts need a platform like GENI to experiment proposed methods in a huge scale.Security architecture needs to handle all layers in a system wide approach.
Researcher are going on to build an accountable future Internet with the minimum overhead of switching to new infrastructure, new protocols and web policies.There are serious efforts to acknowledge the present and possible threats to Internet security and reliability in the future, as well as new concepts that are being developed innovatively and with support of previous work done in the same problem area.WASCo distributed computing platform provide its net space to run the experiments by untrusted, semi-trusted or trusted clients as PlantLab [63,64] provides, however, legal relationship between clients and servers has not been defined well.XenoServer project [65] is similar to PlanetLab.The OSU flow-tool package can help resolving security incidents [66].
The paper [67] studied accountability of packet loss and delay under Byzantine fault detection [67].The paper [68] proposed network storage accountability.The paper [31] studies fault localization similar to loss and delay accountability paper.Another work is regarded as the basis to build an alternative audit system to keep track for the loss and delay of packets in network traffic [32].Similar to Accountable Internet Protocol (AIP) [30], self-certifying addressing forms are done and AIP extends self-certification to the whole network.To implement source accountability, installation of filters at border routers is the easiest way.
A novel accountable logging methodology called flow-net was proposed in [8], and its performance was studied in [28,69].Accountability in operating system was proposed and studied in [2,55].Accountability for cloud computing was proposed and studied in [39,40,70,80].Accountability for smart grids was proposed and studied in [71,72,73,74].Temporal accountability was studied in [75].Some quantifiable accountability schemes were proposed in [76,77].Multiple resolution logging with flow-net for accountability was studied in SSH (Secure Shell) was developed to keep network traffic protected through encryption, however, studies show that in recent years, brute-force attack against SSH, ftp, and telnet servers is the most common form of attack [81].Linux is the most popular operating system among today's Unix type systems.Again Unix/Linux system is considered safer in comparison to Windows OS but as per one study, Linux is the 'most breached' OS (65% of 154,846 hacked systems) on the net (web 2004) [81].Though it is said that an updated OS with latest patches are secure, but brute-force attacks against SSH are possible on fully updated Linux OS.Earlier ProtoGENI [82] resources, Emulab [18] machines used FreeBSD as its default OS (operating system) but now Linux is the default OS, and there is always a possibility to breach the security because of OS vulnerabilities.Even FreeBSD OS has been reported to vulnerable to certain kind of vulnerability, but it is most secured OS at present by reports [83].
An experimental study shows that weak and guessable passwords are among other reasons to attack against SSH [83].Literature suggests that default port 22 for SSH service and other default settings may provide an easier way to attack [84,85].Most of the existing attacking kits have built-in scripts to exploit these default settings and attacks are almost ineffective if these default settings are changed to a different nonstandard port.Technically, it is not a strong way to enhance security, as it is just a change of port, but practically it is more work for the attacker as port scanners may or may not respond to this non-standard port so it is always hard to guess which non-standard port is listening on host.Disabling logins via SSH for the root account is another method of adding strength to SSH security.

Initial Requirements of GENI
GENI tries to support prototype network deployment and experiments on it.

Functional requirements
GENI is expected to test multiple ideas and concepts by allowing long-running continuous experiments.One approach to slices is virtualization, which allows multiple virtual processors work like real and separate processors.GENI need to support isolation among slices o conduct experiments so that they are not interfering each other [18]. GENI will embody more critical and sensitive resources than PlanetLab so misuse of GENI will be devastating. GENI is deeply programmable, providing programmability across every layer dealing with outdoor sensors and wireless nodes and all different kind of hardware so one policy may not be work for all. As supposed and claimed by GENI goals, it would be at scale large enough not to be managed by some manual handling, as currently being done in PlanetLAb.Therefore, it would be better to take care of that issue immediately, as opposed to waiting for this to happen. As the most promising and prestigious project by NSF, security is among top issues to protect itself from converting a most capable attacking facility by malicious users.

What are goals and principles of GENI Security Architecture?
The goal of GENI security architecture is to prevent, detect, and manage attacks; in this case, GENI need to be both safe and usable.GENI works on virtual network and allows authorized users to interact on GENI, in turn, it is auditable considering which nodes are responsible for problems as the system has their credentials and monitoring allows verification of network traffic activities.
GENI proposes specification-based intrusion detection and anticipates some declaration from each PI about expected behaviour of experiments to monitor the behaviour of experiment and it can detect any abnormalities.Though it suits GENI's nature but may be not straightforward to define an expected behaviour of research experiments.GENI proposes specificationbased intrusion detection for network behaviour but also suggests other common, well-known detection methods for other activities like Tripwire tool to detect unexpected modifications of files [48].

GENI's Approach to Threats:
The GENI's approach to threats [9]:  Experiments violating isolation or accidently taken over by an attacker will be separated via negotiation between GENI and hosting organization. Errors caused by the experiments need to traced and studied to prevent future problems.Misuses need to traced and studied. Security enhancements are needed in terms of authentication and access control to prevent theft of an experimenter's credentials. Keys of experiments of corrupting OS need to be revoked or changed. Above discussed threats suggests security requirements in GENI as follows: Explicit trust, least privilege, revocation, auditability, scalability, autonomy, usability, and performance are major requirements in GENI security architecture.

Challenges in GENI Security
There is a possibility of unanticipated DoS against GENI control plane and GENI is supposed to return to a previous safe mode.GENI control plane expects to adopt the most suitable and most advanced mechanism to avoid DoS attacks during its deployment [48].Operational security and privacy issues are still in infancy stage and need more discussion, plan, and consideration of challenges to finalize them.GENI has some legacy components and so there is certain level of threat associated [48].Hosts participating in GENI have strong views about conducting experiments on security and are aware about possible risks to shared resources.There are many segments in GENI that may cause security issues like vulnerable software, secured hosts, secured communication etc. Network protocols, algorithms, operating system vulnerabilities may as well create security problems.Other than technical issues, limitations due to human errors like guessable passwords and keep them in writing, leaving systems unattended and unlocked may feed attackers. How default setting can threat the security in ProtoGENI? What can be done to improve the overall security of ProtoGENI?Availability and accessibility of ProtoGENI resources are of much significance as any experiment may be executed only if resources are available as per experiment's requirement for the required time and with consistent performance.Any loose end will put a doubt on the output of experiment and any small interference due to the traffic load or malicious traffic may disturb other experiments.This work focuses on capturing different issues that affect the basic functionality of ProtoGENI, and eventually, may affect the whole GENI system.In the subsequent chapter, different experiments are designed and executed to gather information.Experiments try to explore the possible threats or operational glitches.The documentation helps to repeat the experiments and a base for expanding experiments to evaluate more, and to improve the overall ProtoGENI functionality and security.

ProtoGENI Resources Acquisition, Utilization, and Releasing through Test Scripts
This work can help a novice learner to understand ProtoGENI functionality and associated problems a bit more with practical outputs and results.It can help to initiate, and to follow a straightforward path where the user can see the application of each test script, the redundancy of operations and rights available to use resources.This work also includes the observations about inconsistency in outputs and not getting the intended operations.
Utah Emulab is a primary component manager, along with many of the other component mangers that exist.There are different kinds of machines available which are helpful to conduct specific experiments in order to reveal the working on that particular type of machine and are also useful to verify the compatibility issues among different type of machines.We tried to explore the usability and applicability of test scripts provided by ProtoGENI.
As we are concerned to identifying the loose ends, and to improve descriptions to follow steps with more ease, we tried to execute the available test scripts to see their effect on experiments and what information may be more helpful to be available through test scripts.
A suite of available command-line tools act as an interim user interface, to provide a means to control ProtoGENI facilities until more sophisticated tools are available.They are also a convenient debugging mechanism to test the emerging ProtoGENI components.All python test scripts help in doing different ProtoGENI operations.
Slice Authority handles some operations that include unprivileged operations, information operations, registration operations, and few special operations.The component manager interacts with user, SA, and clearinghouse through some information operations, ticket operations, manipulation operations, and special operations.
Attack through common test script test-common.pytest-common.pyscript is being used by all other scripts.This test-script can be a prominent attacking target as it can halt the execution of all other test-scripts.test-common.pywas modified and a convincible output was generated when user tried to execute any other test script.Following code lines were inserted in the end of the test script file:  Print "ProtoGENI resources are down, please try later"  exit() As per Fig. 1, the user may assume that something is in process, so resources are not available and it might restrict any further effort from user to investigate the actual problem.If more resources are required, the same RSpec .xmlfile can be modified, or a new one can be created once the user is more familiar with RSpec details.OS type of a particular node and a particular kind of PC can be defined in RSpec .xmlfile.
Different modifications in test scripts were executed to verify the functioning of test scripts available and observed problems that are discussed in great detail of result and analysis section.Experiments helped to distinguish between different ways to acquire resources and preferred the simpler way to acquiring and releasing the ProtoGENI resources to ensure a better accessibility and availability of resources to all ProtoGENI users.From Fig. 4 we can see that system doesn't allow the creation of a single sliver having all available resources in that one sliver.System is taking care of this issue, and the ProtoGENI authorities can monitor any abnormal demand of resources as well as a sliver may be terminated if required.Most generally used RSpec provides two GENI nodes without any particular node type, ID or OS that results in two available up nodes with default Linux OS image (as on 07-21-2010).

Security Issues in ProtoGENI
Different RSpecs files were created to see if the system has the capability of providing the requested resources as per specified or not.An experiment can be assembled if the availability of resources is known, available resources can be requested as per requirements, and resources can be allocated or promised to an experimenter [38].
There are several issues about RSpecs with regards to connectivity, topology, and expressiveness of the language to define resource specifications [38,86].Rspec can identify every resource explicitly.

Non-Availability of Resources
Subsequently, there is an attempt to reveal how availability of resources can affect different network experiments.A file boundtype.xmlwas created from bound-type.rspec file in test script package.It initially requested two PC2000 type PCs.As we can see from Fig. 5, there was only one free node of PC2000 type, we could not create the slice.We again modified the RSpec details to request and included PC2400w with PC2000.There were 9 free PC2400w PCs, however, sliver could not be created shown in Fig. 6.We tried to look for characteristics of PC2400w type PC and found its virtnode_capacity was defined as zero [18].The RSpec file was then again modified to experiment with other types of nodes.10 PC600 type nodes were free and the node type virtnode_capacity was defined as 10, so that we requested for two PC600 type PCs.Slice was created successfully.
The experiments in the next section are related to slice/ sliver creation and deletion to see how it affects availability of resources to other experiments.Experiments show that one user can pose threat in execution of other experiments by holding resources in one or another way.
There is a deep concern regarding the threats to resources for all ProtoGENI users.Sometimes a novice experimenter can create many slices to experience different basic experiments and may lose the track of slices created and deleted in process and may hold network resources.This unnoticed and unidentified holding of resources may create shortage of resources or a bottleneck for another topology.Though slices and slivers are short lived for few hours if not being renewed but still some basic experiments, observing the effect of extending sliver time of existence through redeemticket.py,may hold resources for a longer period that can block these resources to be obtained by other ProtoGENI users.These experiments will help to understand the possible threats to availability of resources to other experimenters.

Requesting few resources in too many slices/slivers
We observed Emulab account to keep tracking of available, consumed, and freed resources with creation and deletion of slices.Before starting of the experiment, 33 PCs were free on Emulab account, thus, there was a decision to go up to16 Slices at first to see the resources consumption.
The sample RSpec in tutorial [82] was used for all slices, which request only two PCs without stating any specific type.There was an attempt to create one after another in separate terminals with a pattern of slice names like shailslice1, shailslice2 and so forth.Initial 6 slices were created without any problem, but 7th and 8th slices were stuck in creating slices and therefore, aborted both of them, continuing to create the next slices with same name pattern.Again, shailslice11 was not successfully created.
Shailslice13 and shailslice14 could not be created when tried in same terminal with previous slice, but were successfully created when attempted in separate terminals.By the time of creation of shailslice15, there was only one free PC on Emulab records, and system did not create shailslice15 as saying, "could not map to resources, "could not create the slice".Emulab resources were distributed among previous slices and left with one 1 free PC which could not help with creating a sliver with request of two PCs.Fig. 7 shows creation of a series of slices.Figs.PCs and 7 links and Emulab resources reduced to 7 free PCs.Next attempt was to create a similar slice with 14 PCs and 7 links, it could not be created and stated: "could not map to resources, could not create sliver".One may notice that more resources requested at a time in a single slice reduce the chances of creation of other slivers.This poses a threat to availability of resources to experimenters.We also observed the reverse activity of resources being freed with deletion of stress slices.

Run-Time Interactions between ProtoGENI Components
Run-time network interactions can be a cause of network problems as different experiments interact with different ProtoGENI components.Communication among the ProtoGENI nodes and also between ProtoGENI and outside network is important to explore further experiments.This section focuses on experiments to test whether a ProtoGENI sliver can receive from (or send to) another slice, or outside network.
As known, a user can own resources in a sliver therefore; he or she can have control on those nodes, and may conduct the experiments.Now the interests are to see the communication capabilities between different slivers and between ProtoGENI sliver and its constituent outside network.
This may provide an idea about possible isolation or cooperation between ProtoGENI slivers, as well as between ProtoGENI sliver and outside network.This work may help to identifying the threats which could impact the accessibility of GENI.The experiments to discover the answers for following have been conducted as follows:

EAI
 Whether a sliver can receive from (or send to) another slice? Whether a sliver can receive from (or sent to) outside network? Is communication possible between nodes from two component managers? How communication between wireless nodes in different slivers can pose threats to network traffic?There was a use of the simple approach to create different slivers and test the communication through simple client-server programs.Subsequently, using the Linux virtual machine (Ubuntu 9.0) as outside network node and verified the communication via client-server programs.

Communication between two ProtoGENI nodes as Client and Server:
For the Client-Server program on remote machines, the server must be initiated first.
At the machine treated as Server: gcc -o srv server.chandletcpclient.cDieWithError.cAt machine treated as Client:

gcc -o cli client.c DieWithError.c ResolveName.c
After compilation, systems generate executable files to run client and server programs.

Communication between nodes of different slivers
Two slices were created with no particular rspec file and system allowed one node to each sliver.
PC69 were allotted to clientslice and PC97 was allotted to server slice.There was an upload of simple basic client server C program files on both nodes as we planned to observe both nodes as operating client as well as server.Files were uploaded one by one by following command with the required file name to upload: sudo scp HandleTCPClient.cshail01@pc69.emulab.net:/users/shail01/After this, roles were reversed for both slivers to check two-way operation between ProtoGENI slivers.PC97 was reset to act as client and PC69 was reset to act as client.Communication worked fine with reversed roles of sliver nodes, shown in Fig. 11.These operations show that different slivers can send or receive from each other.Fig. 12 shows verification of both slivers as client and server.Security Issues in ProtoGENI Fig. 12: verification of both slivers as client and server

Communication between a ProtoGENI sliver and outside network node
We continued with same serverslice sliver with single node PC97 and opted for our own PC as outside network node to communicate with ProtoGENI sliver.
ProtoGENI sliver is operating as a server as well as a lab machine that is used as outside network node.Communication is worthy with this setting, but connection could not be established when the serverslice node was set as a client.To diagnose furthermore, there were created slivers again with shrspec1.xmland PC105 was allotted to experiment.Operational settings for both ProtoGENI node and outside network node were repeated to verify client and server operations, however, it yielded the same results.ProtoGENI node is working fine as server with an outside network client nod, but could not establish the connection when ProtoGENI node was reset as client and outside network node as server.Figs. 13 and 14 show these results.ProtoGENI sliver is working partially with outside network node.More work is required to find out the reason of why it is not working as a client with an outside server node.Although there is some clarification required for non successful communication between a ProtoGENI node as client and outside network node as server, there is anticipation that more experiments would be helpful to explore the reasons.

Communication between ProtoGENI nodes from two Component Managers
Sliver twocm was created with tuntest.pytest script requesting two nodes from two different Component Managers (CM) Utah Emulab and Kentucky Emulab.
Communication was tried both ways: both nodes acting as server as well as client Results show in Figs. 15 and 16.Two experiments were created to see communication between wireless nodes.One experiment had 4 wireless nodes pcwf1, pcwf3, pcwf5, pcwf7 and second experiment was created with pcwf2 and pcwf4, shown in Fig. 17.Configuration of nodes can be verified to communicate via wireless channel through ifconfig command at remote nodes.

Fig. 17: Emulab topology for wireless nodes
We tried to see the effect of pinging one node to other separately, pinging to every node together and effect of sending data in indefinite loop to see how these all affect traffic outputs and other communication process.Details show that max rtt (round trip time) is inclined with the increasing number of packets and especially when they were pinging all together.
We observed that system applied different pipes to cope with the communication load but it increases the rtt significantly and loss of packets.times it just denied the connection stating "connection was reset by peer".More experiments will be helpful to diagnose theses issues.
Experiments show that different slivers can communicate and also can communicate to outside network.
Wireless node communication experiments need more exploration, but it can be seen that even pinging can affect the traffic behavior, and communication can be affected if one user keeps busy another node in an indefinite loop.

SSH Security Issues in ProtoGENI
SSH is considered as a comparatively secure way to communicate remotely but there are many security issues associated with SSH.The protocol, default port settings are causes of security concerns.Port configuration to a non-standard port, and disabling logins via SSH for the root account may help to increase the required work done in attacking the network.Experiments shows that port scanner like nmap, zenmap (GUI) can scan open ports and associated services.Default settings of SSH client and server can be vulnerable for attacks.
Non-standard port for SSH and some other changes may help in protecting and reducing brute force attacks via SSH.Experiments show to follow certain steps to make a more secure SSH.In this section, the discussion of the methods to activate these defense mechanisms will take place.
Zenmap is GUI for nmap and has different types of scan.We used intense scan to get port details, shown in Figs.22, 23.The user can go to /etc/ssh to find the sshd_config file to make changes.Port 22 is set as default for SSH services.This default setting is vulnerable to exploit through automated attacking tools.The port setting in sshd_config file can be changed to a suitable port number.SSH-server will listen on any unused port among 65,535 ports provided by the TCP protocols [83].Current available port scanners are not capable to detect each and every detail of all 65,535 ports and usually developed to detect most common default settings.Some other details so using a non-standard port number can be helpful to keep information secured, which will reduce the attacking possibilities.File sshd_config can be modified as per Fig 24.Nmap like scanning tools can scan around 1600 ports by default so other than default port settings it is a bit difficult to trace open nonstandard ports.While it is not a preferred method to apply security, but it works most of the time as experiments shows that there were no attacks after changing default SSH port settings from 22 to a non-standard port number.After completing all settings to work with new SSH non-standard port, there was an attempt to login to Emulab machines.Prior to that there also was a verified that system, listening to that new port and could not be reached on default port 22 to access SSH as per Fig 27 and    The system did not give any warnings, while all resources were being reserved by one user only.
Future work: This outage was for short time and after verification of problem, we released the resources, it may be subject of further exploration that after what time, system can identify this unusual resource reservation by one user. 2) Failing to map the resources as per RSpec : Many times, we couldn't create a sliver as requested because it failed to map the requested resources.A particular type of pc was not free; a particular pc was down; the node was free, available, but could not grasp for experiment.Third situation is certainly of concern, as we couldn't get the reason for not getting the resource.Characteristics of a certain pc type like virtnode_capacity also restricted the acquisition of a node in experiment.
One experiment couldn't be activated as one fix node was required with other wireless nodes.It took almost 4 hr.while tried with several free and up nodes been shown on Emulab, but system denied each time stating that fix node is not available.This problem indicates that even after system showing everything o.k. and good through sliverstatus.py,some other problems may halt the access to resources that may hurt the accessibility of resources.

Non-usability of ProtoGENI Resources:
Non-usability of ProtoGENI Resources: Resources not usable: In some cases, resources were allotted to sliver, but could not get hold on those nodes mainly because they were reported to be nodes with old OS image or old machines with no consistency in performance.Sliver sharednode was created successfully, and get two nodes virtually shared.Sliverstatus.pyshowed one node 'ready' and one as 'not ready,' which did not come up even after hours.Therefor, it could not be used any further.
Suggestion: After defined period, system resources should be evaluated for their performance consistency and a list of available resources and other related issues like OS images should be updated accordingly.Related error message or advising notes may also be helpful to choose the right resources to save time and effort, and moreover to remove the confusion clouds of "what went wrong." Observations: Slice/Sliver Creation: During several instances, the system got stuck somewhere in displaying the process of creation of sliver and never returned to normal.On screen, it seems that the process is hung and the only solution is to terminate it by closing the terminal.It is determined that even system does not show any progress or completion of slice/sliver creation, it completes it in the background.If status is checked for the same sliver in another terminal, it shows the existing sliver with its current status.This problem creates confusion and this is required to occurr in different terminals.It consumed some time to understand the problem.Sometimes slivers in sequence couldn't be created in one terminal but when tried in a separate terminal, it worked well.
Different variations to create slice and slivers are confusing and difficult to differentiate for the benefits or problems associated with each.Resources may be acquired in a sliver without registering a slice first or also through getticket operation with or without registration of slice.Currently, slice can handle only one sliver identical to slice name.Ticket operations were quite interesting as getticket provides a certain time to redeem the ticket but it expires within minutes.Even a deleted sliver became active when the ticket was redeemed.
No ticket operation works once a slice/sliver is active so to renew the time for extending the experiment, user has to go through different path to renew the slice/sliver.We could not get the execution part for rleaseticket.pyor unregisterslice.py.

Deleting the Slice/sliver and release of ProtoGENI Resources:
Resources are released with the deletion of sliver but sliver/slice is kept in system's records until its expiration time at Clearinghouse.Test script showuser.pyprovides a list of slices for particular users but include all such slices that are not expired, but resources are released.If this includes only active slices holding the resources, it can help user to manage better.
Suggestion: New test script slicestatus.pystating the status of slice as empty/deleted or active  Here observation was that the acquired node was active and good to login but test scripts were not working.
Other thing is that though bug stopped the new operations on ProtoGENI, users could utilize the resources which were already acquired and up for experiments.
As we are concerned about the threats to ProtoGENI resources, experiments show that though system is basically protected with encryption, authorization, and authentication but system is not consistent in certain functions and prone to bugs that can halt the whole availability and accessibility of ProtoGENI resources.System is also prone to be attacked if host system is compromised and a corrupt test-common.pycan affect all other test scripts and so the functionality of ProtoGENI.
Availability and accessibility of resources is very important to do any experiments further to see the Security Issues in ProtoGENI network behavior and to identify the ways to breach the system which can be used to improve the overall ProtoGENI functionality.Emulab resources are allocated to a single user at a time.If nodes are being used by some experimenters, it may hinder the possibility of other experiments to run because of unavailability of resources or because of nonusability of resources for different reasons as described above.
Sometimes a novice experimenter can create many slices to experience different basic experiments and may lost the track of slices created and deleted in process and may hold network resources.This unnoticed holding of resources might create shortage of resources.These resources on hold might be required for more important and preferable experiments to execute to see network behavior by mature experimenters.A beginner may not be capable to understand the severity of problem by holding few resources that could be resulted as bottleneck for another topology.Though slices and slivers are short lived for hours if not being renewed, but still some basic experiments observing the effect of extending sliver time of existence through redeemticket.pymay hold resources for a longer period that can block theses resources to be obtained by other ProtoGENI users.This poses a threat to resources available to experimenters.

Vulnerability of Wildcard Specification in RSpecs
Emulab has different types of resources, and experimenters can define their required type of resources through specifying the details in RSpecs.Sometimes, it may be hard to find the required specific resources because of other running experiments.It is also complex to know each and every detail about the characteristics of a node type to make sure the adequate choice for experiments.Especially, novice experimenters may not understand complexity of details, therefore, it is a general practice to use wildcard allocation of available resources.
It is simple and repeatable process to get resources of Emulab based on the best availability.In certain cases, the system may assign some special type of PCs which are very few in numbers, and because of holding of resources; they may be unavailable for some time depending on experimenter acquired those PCs.Subsequently, this may cause a bottleneck for other experimenters who may need that special kind of PC in their topology.Therefore, many other available resources would not help, as sliver cannot be created without availability of all asked resources in RSpecs.As shown in Fig. 30, a network topology can suffer by unavailability of resources because of wildcard allocation through RSpecs.Fig. 30: A network topology which may suffer due to wildcard allocation of resources.
In this example, if 10-pcpgeniphys has allotted to some other experiment through wildcard, the topology will be very restricted to perform the desired operations or interconnections among all nodes of topology.
For example, if 10-pcpgeniphys is not available, 6-pc600 will be almost isolated with all other nodes.2,3,4 pc600 and 1,5,6 pc600 can have some usability in this topology.With the availability of 10-pcpgeniphys, the network topology may have much more interaction and functionality possible in the experiments.

Run-time Interactions between ProtoGENI Components:
Communication between nodes of same sliver: it was good in both ways as client as well as server Communication between nodes of two slivers: good in both ways.Communication between nodes of two Component Managers in two slivers: good in both ways.Communication with outside network and ProtoGENI sliver: good when ProtoGENI sliver node acts as server, but couldn't establish connection when tried in reverse.Though there is some clarification is required for not successful communication between a ProtoGENI node as client and outside network node as server, there is an expection that more experiments will be helpful to explore the reasons.
Wireless Communication in Emulab: Traffic load can force system resources to utilize its resources at best in concurrency that may lead to significant delays in some processes and loss of packets.It can also affect the communication efforts by other network nodes.
Again there are some unsolved issues and need more experiments.ProtoGENI uses the same resources in same manner but in sliver.Further work is supposed to repeat settings in ProtoGENI sliver settings.
Observation: All wireless nodes with required specification were busy in other experiments and the group had to wait for 6 days then a request was sent to Emulab people and they provided the required type of nodes by reserving them.

Attack via stealing user credentials
Passphrase: Once a sliver is created and resources are acquired, the passphrase may be deleted from the host machine through forgetpassphrase.py.The user can login to remote nodes and can do further actions which leaves the host machine a bit more secured as there is no passphrase to steal.

Attack via SSH
Experiments explore the problems related to SSH (Secure Shall), possible ways to attack via SSH and methods to restrict attackers to attack via SSH like changing the default SSH port no and restricting other users as root user.
More experiments are required to see actual effort and amount for an outsider to collect data and to perform attack.It would be helpful to create a setup honey-pot and then analyzing outcomes before and after these SSH settings.
The group would like to work on the possibility of defining a non-standard SSH port for all ProtoGENI nodes.Further experiments may explore the better and more secure ways to yield and utilize ProtoGENI resources.

Future Work
These experiments deal with basic RSpecs and an effort to see the consumption and release pattern of Emulab resources with creation and deletion of slices and slivers.Future work is proposed to experiment with different combinations of wildcard allocation and specific kind of PCs in one RSpec.More study is necessary to understand detailed description of Emulab node types and their characteristics to incorporate them in the RSpec to create desired network experiments.More elaborate experiments are required to analyze run-time interactions with different network settings.SSH attacking possibilities also may be verified with specific setup as honey-pot for more concrete results on attacking possibilities.
Further studies on security issues and progress of GENI and ProtoGENI are supposed to continue with evolving systems.

Conclusions
GENI and ProtoGENI security architecture with operational security issues, and security issues associated with ProtoGENI components are discussed.Security threats to existing ProtoGENI system are identified which can help to improve overall ProtoGENI/GENI security.
The group conducted experiments to exploit possible threats to availability and accessibility of resources in ProtoGENI experiments.Communication between ProtoGENI slivers and slices were observed under different network conditions.The Emulab experiment focused on wireless communication, which may be further explored for more analysis.
Though ProtoGENI showed a certain degree of security through authentication and privilege mechanisms, experiments showed that whole ProtoGENI may face serious threats for outage of resources, non-availability, and non-accessibility of resources.ProtoGENI network traffic is also vulnerable to unwanted traffic loads and attacks through SSH or Host machine's vulnerability.It is also observed that certain operational glitches can halt the whole system for several hours.Further experiments may assist to demonstrate the severity of these issues.
GENI and ProtoGENI are evolving and not in a stable state.The group wishes to receive further updates on GENI security architecture and technologies applied; also, expecting to do more ProtoGENI experiments to explore different security issues in network experiments.

Fig. 1 :
Fig. 1: System is unable to run any script after changes in test-common.py

Fig. 2 :
Fig. 2: No ticket operation after redemption of ticket as sliver act as active

Fig. 4 :
Fig. 4: Effort to acquire all available resources in one sliver

EAI
Endorsed Transactions on Industrial Networks and Intelligent Systems 09 2015 -01 2016 | Volume 3 | Issue 6 | e1 EAI European Alliance for Innovation

Fig. 27 :
Fig. 27: Verification of new port working as listening port

EAI
Endorsed Transactions on Industrial Networks and Intelligent Systems 09 2015 -01 2016 | Volume 3 | Issue 6 | e1 EAI European Alliance for Innovation Y. Xiao et al.

6. 5 .
System bugs: Problem observed in execution of all test scriptsSometimes bugs interfere and stall the system.During trial of renewing a slice, test script renewsliver.pydid not work, shown Fig.29.No other test scripts could be executed because of a bug.The problem was sent to ProtoGENI people.This bug halted the basic functionality for more than 12 hours.

Fig. 29 :
Fig. 29: System bug created problem in executing test scripts

3 Support for experimenters: Ease of Use; Observability; Fail-safe
Several requirements are needed for GENI experiments: the stable and secure infrastructure and the robust isolation among slices[18].In order to provide security, GENI needs to run experiments in "bounding box" that limits the activities under control and monitoring; otherwise, the experiments should be shut down or changed into a safe mode[48].As per GENI Facility Security (Draft)[48], GENI is a tool used enable new research of large scale experiments, but it is subject to being attacks.A GENI slice is a fully programmable substrate and can be configured to conduct attacks similar the experience of PlanetLab[48].There are four distinct factors which make GENI more focused on advanced security features[48].
There are several issues which are of great importance to evaluate the functionality of ProtoGENI and GENI.
EAI Endorsed Transactions on Industrial Networks and Intelligent Systems 09 2015 -01 2016 | Volume 3 | Issue 6 | e1 EAI European Alliance for Innovation Security Issues in ProtoGENI 4.1 Research methodology 8, 9, and 10 show deletion of slices and resources being freed.
EAI Endorsed Transactions on Industrial Networks and Intelligent Systems 09 2015 -01 2016 | Volume 3 | Issue 6 | e1 EAI European Alliance for Innovation Y. Xiao et al.