network specification & report system for iseage – phase ii eric anders piyush patel jonathan...

35
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

Upload: amos-warren

Post on 05-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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

Page 2: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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

Page 3: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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

Page 4: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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

Page 5: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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.

Page 6: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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.

Page 7: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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.

Page 8: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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.

Page 9: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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.

Page 10: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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

Page 11: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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

Page 12: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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%

Page 13: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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

Page 14: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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.

Page 15: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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#

Page 16: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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

Page 17: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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

Page 18: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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

Page 19: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

Network Specification Tool GUINetwork Specification Tool GUI

Page 20: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

Network Report Tool GUINetwork Report Tool GUI

Page 21: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

ASCII File FormatASCII File Format

Page 22: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

Replay File FormatReplay File Format

Page 23: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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

Page 24: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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

Page 25: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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

Page 26: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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

Page 27: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

Resource RequirementsResource Requirements

Financial Budget (Dollars)

55

25

70

Poster

Printing

Miscellaneous

Financial Budget (Dollars)

55

25

70

Poster

Printing

Miscellaneous

Page 28: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

SchedulesSchedules

Page 29: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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

Page 30: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

CommercializationCommercialization

There are no commercialization considerations for our project.

There are no commercialization considerations for our project.

Page 31: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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

Page 32: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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

Page 33: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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.

Page 34: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

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.

Page 35: Network Specification & Report System for ISEAGE – Phase II Eric Anders Piyush Patel Jonathan Cook Trent Robertson Eric Anders Piyush Patel Jonathan Cook

Thank You!Thank You!

Questions?Questions?