Skip to main content

Posts

Detailed Diagrams

Network Diagram Quarantine Network

Create Auto-Generated Webpages

One of the main challenges of this project was how I was going to create a test environment that I will run the program on. To do this I have decided to use my personal web server with a directory with 'bad' and 'good' pages which can be automatically generated using the website. To do this I have created a python script which is executed and creates simple php pages that have the words 'BAD' and 'GOOD' and this is determined randomly. This is a simple way of testing the program to begin with, but in future the python script can be edited to include more complex security issues. In the future the web server will also have multiple  Virtual Hosts  which will have different security measures in place, such as SSL and proxy's. See the images below for an example of the current page. BELOW: Shows the number of files I am going to generate is 20 BELOW: Shows the generated files (hash used for naming) BELOW: Show an example of one of the ge...

Restructuring Infrastructure

In order to prepare for the creation of the pool of processes I decided to finalise the infrastructure of the application. To do this I added both the Network Manager and the Quarantine Network Manager and assigned them temporary input and output channels as they will both be getting Network Channels at a later date. The infrastructure and flow of the application now completely matches the diagram apart from pool of processes.
Updated diagram so that to remove the process manager (Quarantine Manager will do this) and displayed the pool of processes on the Diagram.

First Draft Of Diagram

Developing Dynamically Created Processes

Developing Dynamically Created Processes Throughout the past couple of weeks I have been developing the ability for my system to create dynamic processes/mobile agents. At first I struggled to develop such a capability, but after reworking code already provided by ' U sing Concurrency and Parallelism Effectively ' I was able to get a basic concept of what I want to do. I copied the code I found in Chapter 18 and got it to a point where I could create multiple of the same process, however it was not implemented with my existing infrastructure. After I got the dynamic processes working I then started to try and manipulate the existing code so that it would allow communications between each of the processes and the parser - the next step would to be allow the parser to contact specific nodes/processes and to create them when they are required. After this I then created a simple email receiver that will email will pass from the sender to the server where it will be ...
Reimagining this project. After spending some time developing GUIs for the email clients I then decided that this was unnecessary as the idea behind this project was to show how parallel programming can be used within Cybersecurity. So, I decided to restart the email client side of the project and recreate the process in Groovy instead of Java as the GUI was unnecessary and doing it this way would allow me to simulate mass amounts of emails being processed a lot easier. Each email client process will send a message with a subject and user id, simulating a real email being sent through the server. I have also now used the built in communication channels that come with JCSP instead of using sockets to communicate the message. In future these communication channels will be net channels.