Compare Proposal

Nothing to compare.

Prolog language programming

  • Posted at : 1 month ago
  • Post Similar Project
20

Budget
2
Proposals
48
Views
Closed
Status
Skills Required

Posted By -

RS

USA
5.0
Projects Posted : 4
Projects Paid : 1
Services Purchased : 0
Total Spent :
15
Feedbacks : 100 %

Project Details show (+) hide (-)

 

Performing vulnerability assessment for a complex system is
an important task. However, given the high complexity, manual analysis is
usually tedious and error-prone. Therefore, automated methods are usually
preferred.

 

In this project, we will leverage Prolog to perform
automated vulnerability assessment. We consider a network that is composed of 7
hosts, which are denoted as H1, H2, H3, H4, H5, H6, and H7. You will get two
reports from two teams respectively.

 

The networking team offers you a report on the network
topology, where each pair of hosts below indicates the possibility to establish
network connections between them.  The “-”
in the pair means that this host is accessible from public networks through
networks.


 

<H1, H4>

<H2, H4>

<H4, H5>

<H3, H5>

<H4, H6>

<H5, H7>

<H6, H7>

<H1, ->

<H2, ->

<H3, ->

 

The security team scans hosts in the network and finds two
types of vulnerabilities, namely V1 and V2.

1.    
If a host has V1 vulnerability and an attacker
can establish network connection with this host, then the attacker can exploit
this vulnerability and gain completely control of this host. One of the
implications for the complete-control is that the attacker can instruct this
host to establish other hosts.


2.    
If a host has V2 vulnerability and an attacker
can establish network connections to it from at least two hosts simultaneously,
then this host can be compromised by the attacker, rendering the attacker full
control to this host.


 

Hosts and their corresponding vulnerabilities are presented
as follows:

 

<H1, V1>

<H2, V1>

<H3, V1>

<H4, V2>

<H5, V1>

<H6, V1>

<H7, V2>

 

 

Deliverable

 

You will deliver a package that contains

1.    
Source code


2.    
README.txt to describe your compiling and
run-time environment. Team members will also be included in the README.txt.  


 

You will be responsible for converting and integrating these
descriptions into a prolog-based model. Your model should be able to answer the
following question given a host:

1.    
Is it possible for this host to be compromised?


 

Programming
Environment


 

For the programming environment, B-Prolog is recommended.