Detecting Anonymous Proxy Usage Final Report


Non- Functional Requirements



Download 0.59 Mb.
Page6/20
Date16.07.2017
Size0.59 Mb.
#23501
1   2   3   4   5   6   7   8   9   ...   20

3.4 Non- Functional Requirements


The non-functional requirements will show the performance characteristics or the qualities of the system in question. The non-functional requirements of the system are listed below.

Performance: The proposed IDS will have to run smoothly in the background, it should be able to monitor the traffic in the system without causing the computer to slow down. It should perform all the tasks mentioned above in the functional requirements.

Accuracy: The system should expect to have one hundred per cent accuracy. The system will be expected to show up all the proxies or onion routers that are being used within the network. Accuracy is a vital requirement for this system.

Reliability: The system will be used on a daily basis by the network administrator; therefore its reliability and error handling should be a priority. Any errors should be handled appropriately and the user should be notified of what went wrong. If there is problem that needs attention the user should have a popup appear to warn them.

Documentation: Each part of the system should be well documented, so the user knows exactly what is happening when the system is running. There should be an adequate troubleshooting guide to help the user if anything goes wrong in the program.

Usability: The system will be quite simple to use, the system will generally be used by network administrators, and therefore they should have a good technical knowledge. The user guide will also contain a step by step guide on how to use the system.

Effectiveness: The main problem is the use of anonymous proxies within a secure network. The goal is for the system to flag up any proxies that are being used, to examine where and why they are being used, and to block them if their usage poses a security risk or it is being used to look at a banned site. The system will aim to detect one hundred percent of the proxies, if that target is met, the system will be very effective.

Maintainability: The user will be able to configure the system if it wants to let a certain proxy through undetected. If a new type of proxy is created, once it’s discovered how it works, it should be simple to add a script to the existing code in order to detect it.

Capacity: If the network is very active, i.e. there is a lot of traffic entering/leaving the network, then the logs from Wireshark/Snort could be quite large. However when the machine is running normally, it should only store the details of any proxies detected; therefore the file size should be smaller.

Platform Compatibility: The system will be developed on a Windows 7 platform using the PERL language; it will work on any platform that supports that language. The platform will also have to be able to support a network analyser.

3.5 Hardware Requirements


This section will show the different hardware that is required to develop and run the system.

  • One PC or laptop running Windows 7 or Windows 8 is required to develop the application; the recommended specification to develop the system is a 2GHz i5 processor with 4GB ram.

  • One PC or laptop running Linux to test how effective the system is on other operating systems.

  • Network connectivity so users can browse the web using a proxy or an onion routing web browser.

3.6 Software Requirements


This section will outline the different software that will be used when developing the system.

  • Strawberry Perl, this will be the main program used to develop the scripts.

  • Windows 7, this operating system will be used to develop the system.

  • PHPProxy Server, CGI Proxy Server, Glype Server, Tor Browser. All these will be used to test the different types of proxies available.

  • Wireshark and Snort to analyse the packets that are being sent and received in the network.

  • Web Browser to browse different websites when using the proxies.

  • VMware player to test the system out when using different operating systems.

3.7 Development Methodologies


In software development one of the most important things to consider is the development methodology that is used. There are many different methodologies to choose from, each should be looked at carefully before selecting the right one that suits the system that is being developed. The methodologies structure out the development of the system, they show how the requirements analysis, the system design, the implementation of the system, the testing and the maintenance all work together in order for the system to be the best it possibly can be. This section will take a look at some of the main types of development methodologies, it will then show the chosen methodology for this project and why that particular methodology was picked.

Waterfall Development

The waterfall development methodology goes through each phase of the project in sequence; it will not go onto the next part of the project until the current part is completed. The linear flow can be clearly seen in Figure . Once the first stage, Requirements, is completed, it moves onto the second phase, which is the design phase. The drop down between the stages is where it gets its waterfall name from. This method can take quite a bit of time as the developer must make sure each phase is fully completed before moving onto the next.


If there are any problems in the initial phases, this could slow down the process in the latter stages, which in turn might delay the completion of the project.





Figure - Waterfall Development25

Figure - Iterative Development26

Incremental Development

The Incremental Development method is both a linear and iterative methodology. It goes through each phase in sequence; however it splits them up into smaller parts. Once the process has gone through one full cycle, it goes back to the planning and continues this until the system is perfected. This means the developers can analyse their mistakes and correct them the next time around. Figure shows all the different phases involved in the method.



Spiral Development

The spiral development method which can be seen in Figure is split up into 4 different sections, these sections are: Determine objectives, Identify and Resolve risks, Development and Test and Plan the next iteration. The method iterates through each phase creating a prototype each time before the operational prototype is created. After the final prototype is created it goes through rigorous testing before it gets released. This type of method is suited for a system that requires a lot of planning, developing and testing, as each prototype is tested before the next one is planned.







Figure - Spiral Development27


Figure - Rapid Application Development28

Rapid Application Development

The Rapid Application development method concentrates greatly on creating a lot of prototypes and by splitting the project down into small parts. Figure shows the different phases involved in the method. The main reason behind splitting the project into small parts is that if anything needs to be changed, it can be done so without having too much of an effect on the project. Having many different prototypes is also a good way to see how the project is developing. If the user is heavily involved in the project, showing them how the system is progressing can be very useful.


3.7.1 Selected Methodology


The selected methodology for this system is the Waterfall Development Methodology. The main reason behind the selection is the thoroughness in the design phase. Any problems have to be solved before the next phase can be started, this generally avoids any time being wasted in the later phases of the development. The waterfall method is also a good method for time-keeping, the project at the beginning can have a strict time-table, and the developer can judge how the system is progressing. One of major disadvantages of the methodology is the fact that there will be no prototypes before the final system is released. This can sometimes be problematic as the developer will not know how the project is performing until the testing/verification phase.

Download 0.59 Mb.

Share with your friends:
1   2   3   4   5   6   7   8   9   ...   20




The database is protected by copyright ©ininet.org 2024
send message

    Main page