Closed QuynhNguyen269 closed 2 years ago
First of all, note that the paper you mention (CACOE 2020 paper, I assume) was written a while ago, and the software released on GitHub is a more recent version than the one used for the results in that paper, so the behavior and performance will not be exactly the same. As for the evaluation, the student who implemented this tool explained to me that he populated a target topology with random vulnerabilities, then checked how many times the correct attack path was determined. For example, if this happens 86 times out of 100, then the accuracy can be said to be 0.86 or 86%. Since the test data was generated randomly, it doesn't exist in the repository, but you are free to build your own test data and evaluate the tool on that data as you wish. The student who developed this tool is no longer with our university, so I'll do my best to answer your second question according to my understanding. While the matrix contains all the possible paths, the DRL engine doesn't know which is the best and the training is meant to let it identify the best path. I think that for simple topologies looping through all the paths and printing the best one may work, but for complex topologies finding the answer based on the DRL engine output may be faster (see also my next comment). One more thing to notice is that in the released version we train the DRL model for each input topology in order to try to provide an optimal solution, but if the topology is complex this training may take a long time, and providing a solution based on a pre-trained DRL model should be faster, although perhaps not optimal. We did not do much evaluation in this area since the student graduated, but if you are interested in the research aspects we may be able to collaborate in the future.
Dear
I want to use the Notebook jupyter to load the Source code, but I don't know what the first one should start with.
the list of files, Do you have the full step on how to implement the code and start with no issues?
really thank you for your time
Hi aalmasud,
I'm not sure if Jupyter Notebook can be used with this project, as it has many prerequisites. Please check the README.md
file for details. As for how to run it, the Quick Start
section there will give you the details.
Moreover, since your comment doesn't seem related to this thread, please start a new issue in the future if your question is not directly related to an existing one.
Best wishes,
Razvan
hy can you plz tell me which tool is used to evaluate the model performance
@unaizaahmed Hi, we do not use any specific tool to evaluate the model performance, and the explanation above should give you an idea about our approach. Please check the CACOE 2020 paper for more details.
Thank you for your support, but I have one more question. In the paper you wrote that this model has an accuracy of 0.86. I quite don't understand the method of evaluating, the data used for evaluating and whether that data is in this repo or not.
Also, can you explain why the model has to train multiple times and the reward increases gradually? I think the simplified matrix holds all the possible paths so the model just need to loop through all paths and print out the desired one. Sorry for my weak understandings.
Looking forward to your reply. Thank you!