Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson April 25, 2006 Team: May 06_10 Advisor: Dr. Jacobson Client: Information Assurance Center
Jan 05, 2016
Network Specification & Report System for ISEAGE – Phase II
Network Specification & Report System for ISEAGE – Phase II
Eric AndersPiyush Patel
Jonathan CookTrent Robertson
Eric AndersPiyush Patel
Jonathan CookTrent Robertson
April 25, 2006Team: May 06_10Advisor: Dr. JacobsonClient: Information Assurance Center
April 25, 2006Team: May 06_10Advisor: Dr. JacobsonClient: Information Assurance Center
OutlineOutline
DefinitionsWhat is ISEAGE?AcknowledgementsProblem Statement Intended Users and
UsesAssumptions and
LimitationsDesign Approaches
DefinitionsWhat is ISEAGE?AcknowledgementsProblem Statement Intended Users and
UsesAssumptions and
LimitationsDesign Approaches
Project Definition Activities
Research Activities
Design ActivitiesTesting and
ModificationLessons LearnedConclusion
Project Definition Activities
Research Activities
Design ActivitiesTesting and
ModificationLessons LearnedConclusion
List of DefinitionsList of Definitions
CIDR – Classless Inter-Domain Routing
CVS – Concurrent Versions Systems IPv4 – Internet Protocol Version 4 IPv6 – Internet Protocol Version 6 XML – Extensible Markup LanguageRIP – Routing Information Protocol
CIDR – Classless Inter-Domain Routing
CVS – Concurrent Versions Systems IPv4 – Internet Protocol Version 4 IPv6 – Internet Protocol Version 6 XML – Extensible Markup LanguageRIP – Routing Information Protocol
What is ISEAGE?What is ISEAGE?
Internet-Scale Event and Attack Generation Environment
Test-bed Virtual Internet for the research, design, evaluation, and testing of security solutions.
Provides a controlled environment where real-world attacks can be played out against different configurations of equipment
Internet-Scale Event and Attack Generation Environment
Test-bed Virtual Internet for the research, design, evaluation, and testing of security solutions.
Provides a controlled environment where real-world attacks can be played out against different configurations of equipment
AcknowledgementsAcknowledgements
We would like to thank:Dr. Jacobson for his help in
understanding the ISEAGE project and offer of extended financial assistance.
Thad Gillispie for his insight into the possible solution of the routing problem in the ISEAGE Network.
MSDNAA/Iowa State University for providing Visual Studio .NET 2005 free of charge.
We would like to thank:Dr. Jacobson for his help in
understanding the ISEAGE project and offer of extended financial assistance.
Thad Gillispie for his insight into the possible solution of the routing problem in the ISEAGE Network.
MSDNAA/Iowa State University for providing Visual Studio .NET 2005 free of charge.
Problem StatementProblem Statement
Create a set of tools that will allow a user to define a network specification that will be used to configure ISEAGE.
The tools need to show real-time visualization of the ISEAGE network.
Ability to display both a latitude/longitude based representation and a network topology layout.
Create a set of tools that will allow a user to define a network specification that will be used to configure ISEAGE.
The tools need to show real-time visualization of the ISEAGE network.
Ability to display both a latitude/longitude based representation and a network topology layout.
Operating EnvironmentOperating Environment
Microsoft Windows Operating Systems with the .NET framework
The application is designed to run on a PC attached to the ISEAGE although it can run on any isolated PC as well.
Microsoft Windows Operating Systems with the .NET framework
The application is designed to run on a PC attached to the ISEAGE although it can run on any isolated PC as well.
Intended Users and UsesIntended Users and Uses
Intended Users:Individuals who are technically fluent
with the ISEAGE research project.
Intended Uses:Defining the configuration of ISEAGE
network/sub-networks.Expansion from the ISEAGE network
to the entire state of Iowa and beyond.
Intended Users:Individuals who are technically fluent
with the ISEAGE research project.
Intended Uses:Defining the configuration of ISEAGE
network/sub-networks.Expansion from the ISEAGE network
to the entire state of Iowa and beyond.
Assumptions and Limitations
Assumptions and Limitations
Assumptions The application will run on Windows systems only. The configuration tool can run independently of
ISEAGE. The output configuration file can be implemented
immediately and directly, or it can be stored for later use.
Limitations The software shall both configure and report real-
time information about ISEAGE. The real-time display shall have two modes:
physical layout and network topology. The software shall run on a computer with at least
256 MHz processor and 128MB Memory that is running Windows Operating System.
Assumptions The application will run on Windows systems only. The configuration tool can run independently of
ISEAGE. The output configuration file can be implemented
immediately and directly, or it can be stored for later use.
Limitations The software shall both configure and report real-
time information about ISEAGE. The real-time display shall have two modes:
physical layout and network topology. The software shall run on a computer with at least
256 MHz processor and 128MB Memory that is running Windows Operating System.
Two ApplicationsNetwork Specification Tool
Graphically build ISEAGE configurations
Network Report ToolPseudo real-time network statistics
Two ApplicationsNetwork Specification Tool
Graphically build ISEAGE configurations
Network Report ToolPseudo real-time network statistics
End Product & Other Deliverables
End Product & Other Deliverables
Previous Accomplishments
Previous Accomplishments
Decisions made during Fall 2005 are:Design of both ApplicationsIDE (Visual Studio .NET)Programming Language (C#)Began coding of the Network
Specification Tool
Decisions made during Fall 2005 are:Design of both ApplicationsIDE (Visual Studio .NET)Programming Language (C#)Began coding of the Network
Specification Tool
Present AccomplishmentsPresent Accomplishments
Network Specification ToolGUI: 100%Functionality: 73%
Network Monitoring ToolGUI: 100%Functionality: 0%
Network Specification ToolGUI: 100%Functionality: 73%
Network Monitoring ToolGUI: 100%Functionality: 0%
Approaches Considered & Used – 1/3
Approaches Considered & Used – 1/3
Integrated Developers Environment (IDE) Eclipse
Open-source integrated developer environment. It is primarily used with Java therefore it is not operating system dependent.
Visual Studio .NET Contains a whole host of tools that can be used to
create applications. Contained in the platform are languages Visual C++, Visual Basic, Visual C#, and Visual J#.
Selected: Visual Studio .NET Deployment of the application is much easier
through the wizard provided by Visual Studio .NET Available free of charge through MSDNAA
Integrated Developers Environment (IDE) Eclipse
Open-source integrated developer environment. It is primarily used with Java therefore it is not operating system dependent.
Visual Studio .NET Contains a whole host of tools that can be used to
create applications. Contained in the platform are languages Visual C++, Visual Basic, Visual C#, and Visual J#.
Selected: Visual Studio .NET Deployment of the application is much easier
through the wizard provided by Visual Studio .NET Available free of charge through MSDNAA
Approaches Considered & Used – 2/3
Approaches Considered & Used – 2/3
Visualization Tools Google Earth
Visualization tool from the perspective of a satellite. It allows users to overlay objects onto the satellite image through the use of KML, a variation of XML.
“In-house” coded visualization application Develop our own “in-house” visualization
application Selected: Develop “in-house” visualization
application Allows the team more freedom Visualization tool will work closer to real-time than if
utilized by Google Earth because Google Earth tends to eat up resources.
Google Earth would work very well with the respect to extensibility.
Visualization Tools Google Earth
Visualization tool from the perspective of a satellite. It allows users to overlay objects onto the satellite image through the use of KML, a variation of XML.
“In-house” coded visualization application Develop our own “in-house” visualization
application Selected: Develop “in-house” visualization
application Allows the team more freedom Visualization tool will work closer to real-time than if
utilized by Google Earth because Google Earth tends to eat up resources.
Google Earth would work very well with the respect to extensibility.
Approaches Considered & Used – 3/3
Approaches Considered & Used – 3/3
Programming Languages C++
Primary advantage of C++ is that the entire group has used it before
Main disadvantage of C++ is that it has few built-in functions compared to C# and Java
Java Built-in functions that do not need the manual inclusion of
libraries. Easy GUI creation Cross-Platform
C# High-level and Low-level functionality Extremely strongly typed object oriented language None of the team members have any experience programming
in C# Selected: C#
Runs faster than Java C# and Java have similar syntax, so the learning curve will not
be great at all GUI’s are extremely easy to build in C#
Programming Languages C++
Primary advantage of C++ is that the entire group has used it before
Main disadvantage of C++ is that it has few built-in functions compared to C# and Java
Java Built-in functions that do not need the manual inclusion of
libraries. Easy GUI creation Cross-Platform
C# High-level and Low-level functionality Extremely strongly typed object oriented language None of the team members have any experience programming
in C# Selected: C#
Runs faster than Java C# and Java have similar syntax, so the learning curve will not
be great at all GUI’s are extremely easy to build in C#
Project Definition Activities
Project Definition Activities
ISEAGE ConfigurationCurrently: hand-typed ASCII fileNeed a quicker and easier method
ISEAGE ReportingCurrently: packet dumps and limited
visualizationsNeed a more visual and focused
method
ISEAGE ConfigurationCurrently: hand-typed ASCII fileNeed a quicker and easier method
ISEAGE ReportingCurrently: packet dumps and limited
visualizationsNeed a more visual and focused
method
Research ActivitiesResearch Activities
Routing Information Protocols (RIP)Graphing Algorithms (Graph
Theory)Google Earth and KMLDiagramming in C#Latitude/Longitude conversion and
Mapping (GDI+) Icon Creation
Routing Information Protocols (RIP)Graphing Algorithms (Graph
Theory)Google Earth and KMLDiagramming in C#Latitude/Longitude conversion and
Mapping (GDI+) Icon Creation
Design ActivitiesDesign Activities
Create and evaluate custom networks
Streamline the ISEAGE configuration process
Extensible network object typesTopological and Spatial
visualizationsAssess network stabilityNetwork traffic replays
Create and evaluate custom networks
Streamline the ISEAGE configuration process
Extensible network object typesTopological and Spatial
visualizationsAssess network stabilityNetwork traffic replays
Network Specification Tool GUINetwork Specification Tool GUI
Network Report Tool GUINetwork Report Tool GUI
ASCII File FormatASCII File Format
Replay File FormatReplay File Format
Implementation ActivitiesImplementation Activities
Scope of the project changedUnable to complete report tool
Diagrammer ModuleRouting ProtocolLatitude/Longitude on the form
grid
Scope of the project changedUnable to complete report tool
Diagrammer ModuleRouting ProtocolLatitude/Longitude on the form
grid
Testing & Modification Activities
Testing & Modification Activities
Unit testing Monkey testing
Generating random or a large set of sequential inputs to independent functions
Pre-select testing Inputs which will be sent to a given function with
anticipated output, created by the black box tester
Integration testing User testing
Done by all of the team members by attempting to use the program as a regular user would
Beta version will be deployed to the client for testing
Unit testing Monkey testing
Generating random or a large set of sequential inputs to independent functions
Pre-select testing Inputs which will be sent to a given function with
anticipated output, created by the black box tester
Integration testing User testing
Done by all of the team members by attempting to use the program as a regular user would
Beta version will be deployed to the client for testing
Personal Effort Requirements
Personal Effort Requirements
Personal Effort (Hours)
176
177
175
165
Piyush Patel
Eric Anders
Jonathan Cook
Trent Robertson
Personal Effort (Hours)
176
177
175
165
Piyush Patel
Eric Anders
Jonathan Cook
Trent Robertson
Personal Effort RequirementsPersonal Effort Requirements
NameExpected
HoursActualHours Wage Total
Eric Anders 176 174 $10.50 $1,827.00
Jonathan Cook 175 166 $10.50 $1,743.00
Piyush Patel 177 163 $10.50 $1,711.50
Trent Robertson 165 160 $10.50 $1,680.00
Grand Total Labor Cost: $6,981.50
Resource RequirementsResource Requirements
Financial Budget (Dollars)
55
25
70
Poster
Printing
Miscellaneous
Financial Budget (Dollars)
55
25
70
Poster
Printing
Miscellaneous
SchedulesSchedules
Project EvaluationProject Evaluation
Project Definition Fully Met
Technology Consideration Fully Met
End-Product Design Partially Met
End-Product Implementation
Partially Met
End-Product Testing Not Attempted
End-Product Documentation Not Attempted
End-Product Demonstration Not Attempted
Project Deliverables Partially Met
CommercializationCommercialization
There are no commercialization considerations for our project.
There are no commercialization considerations for our project.
Additional Work Recommendations
Additional Work Recommendations
ISEAGE Monitoring Tool API for network node specification Diagramming control improvements
Improved hit detection Expand layout options
RIP Implementation Latitude/Longitude implementation on
to the form grid User Manual
A detailed reference manual containing how to view, define, and manage the network using the GUI
ISEAGE Monitoring Tool API for network node specification Diagramming control improvements
Improved hit detection Expand layout options
RIP Implementation Latitude/Longitude implementation on
to the form grid User Manual
A detailed reference manual containing how to view, define, and manage the network using the GUI
Lessons LearnedLessons Learned
What went well? Initial Design Approach Learning the technology
What did not go well? Complexity of the overall software
What technical knowledge was gained? Programming in C# Diagramming Module
What non-technical knowledge was gained? Project management skills Teamwork on a larger scale
What went well? Initial Design Approach Learning the technology
What did not go well? Complexity of the overall software
What technical knowledge was gained? Programming in C# Diagramming Module
What non-technical knowledge was gained? Project management skills Teamwork on a larger scale
Risk and Risk ManagementRisk and Risk Management
Risk: Loss of a team member Assessment: All team members will track their own progress and
notify the team of any concerns or problems that might arise. If the team does lose a member their remaining work will be divided amongst the remaining members.
Risk: Insufficient knowledge or experience Assessment: The group will be responsible for assigning tasks to
members that have the necessary knowledge to complete them. If no team member feels that they have the necessary knowledge to complete the task, a team effort will be made to learn the required information or a new approach to the problem will be considered. There will be time for learning built into the schedule.
Risk: Loss of data Assessment: The team will use a CVS or Subversion server to
control the source code for the project. In this way the source will be controlled and tracked in a secure environment.
Risk: Failure of approach Assessment: All technologies will be researched to guarantee
interoperability. All plans, procedures, and software progress will be submitted to the client for review.
Risk: Loss of a team member Assessment: All team members will track their own progress and
notify the team of any concerns or problems that might arise. If the team does lose a member their remaining work will be divided amongst the remaining members.
Risk: Insufficient knowledge or experience Assessment: The group will be responsible for assigning tasks to
members that have the necessary knowledge to complete them. If no team member feels that they have the necessary knowledge to complete the task, a team effort will be made to learn the required information or a new approach to the problem will be considered. There will be time for learning built into the schedule.
Risk: Loss of data Assessment: The team will use a CVS or Subversion server to
control the source code for the project. In this way the source will be controlled and tracked in a secure environment.
Risk: Failure of approach Assessment: All technologies will be researched to guarantee
interoperability. All plans, procedures, and software progress will be submitted to the client for review.
Closing SummaryClosing Summary
• Enable users will be able to create and evaluate custom networks configured on virtual hardware, defend against simulated attacks and assess network stability leading to a more reliable configuration of network infrastructure.
• The network specification tool is used with the intent to construct and monitor a virtual network.
• The report system will be a real-time system that will overlay a map and allow the topology of a network to be monitored.
• Enable users will be able to create and evaluate custom networks configured on virtual hardware, defend against simulated attacks and assess network stability leading to a more reliable configuration of network infrastructure.
• The network specification tool is used with the intent to construct and monitor a virtual network.
• The report system will be a real-time system that will overlay a map and allow the topology of a network to be monitored.
Thank You!Thank You!
Questions?Questions?