-
Notifications
You must be signed in to change notification settings - Fork 4
67 add control strategy recommendations #88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 17 commits
Commits
Show all changes
205 commits
Select commit
Hold shift + click to select a range
e02e3c7
#67 initial logical expressions fix
panositi c07ea54
#67 fixing logical expressions test RC
panositi 4005ac8
#67 enable risk calculation from options loop
panositi 0a46811
#67 update test models
panositi 9a196d3
Merge branch 'dev' into 67-add-control-strategy-recommendations
panositi 0452f21
#67 adjust DM and system model for recommendations
panositi 6ff07d6
Merge branch 'dev' into 67-add-control-strategy-recommendations
panositi 7008951
#67 risk vector adaptations
panositi 49556e4
#67 adding recommendation DTO models
panositi bf719a8
Merge branch 'dev' into 67-add-control-strategy-recommendations
panositi fd373c5
#67 updaging DataFlow test model
panositi 2034efc
Merge branch 'dev' into 67-add-control-strategy-recommendations
panositi bfa8101
#67 algorithm initial full run
panositi 78dfd79
#67 basic algorithm working, no output
panositi d6f3798
67 updated controller api
panositi 52e56f5
67 adding async controller
panositi b3ec4c3
#67 basic async call for recommendation
panositi cec44d7
#67: Set cache mode to true for querierDB in calculateRecommendations…
kenmeacham 64ec0b2
#67 block comments update controlSets map
panositi 292ece7
#67: Validation and risk calc not required in testRecommendations, so…
kenmeacham 75db2c7
Merge branch '67-add-control-strategy-recommendations' of github.com:…
panositi a7f0e89
#67: Add test domain/system models for recommendations
kenmeacham 961b9e2
#67: Create basic unit test for /recommendations endpoint
kenmeacham 3f20606
#67 update datasets after risk calculation
panositi 99d1d95
Merge branch '67-add-control-strategy-recommendations' of github.com:…
panositi ddffde6
67 refactor methods
panositi 0441335
#67 remove allPaths param from recommendations method
panositi 329efcb
#67: Various fixes to ensure that model name and description, etc are…
kenmeacham d4a487d
Merge branch '67-add-control-strategy-recommendations' of https://git…
kenmeacham eec808b
#67 fix attack path graph unit test
panositi 0e6b91d
#67 in applyCSGs skip csgOptions with empty set of CS
panositi afae8b7
#67 add risk calculation after undoing CS
panositi 0a22601
Merge branch 'dev' into 67-add-control-strategy-recommendations
panositi 672b4f8
#67 change test model to support CURRENT mode in recommendations
panositi eba55c1
#67 make default risk mode for recommendations CURRENT
panositi 242078f
#67: Update system model used by ModelControllerTest.testRecommendations
kenmeacham c785e4e
#67 fill CS fields in recommendation report, no metadata yet
panositi f0111b8
#67 adjust report format filling in category, action
panositi 7ef2d75
#67 update changing CS, remove init from calculateRisk
panositi d0b4400
#67: Remove workaround for fixing model name/desc after recommendatio…
kenmeacham dc674fd
#67: Add synchronized block to calculateRecommendations, to be consis…
kenmeacham 9ca98b4
#67: Fix some security issues
kenmeacham 26acdc9
#67: Fix security vulnerabilities
kenmeacham a676135
#67: Fix reliability issue in performRecommendationCalculation
kenmeacham 1bf37bc
#67: Tidied code
kenmeacham f670762
#67: Remove unused code in AttackNode
kenmeacham 7f9b4ce
#67: Remove unused methods from AsyncController
kenmeacham e9d3e15
#67: Remove unused method: calculateAttack
kenmeacham d6d143e
#67 CSG classification revisited not fully implemented
panositi 5aa95ff
Merge branch '67-add-control-strategy-recommendations' of github.com:…
panositi e3b9f45
Update AttackPathDataset.java
mike1813 5c14674
#67 disabling checks for contingency plans
panositi 4c4ea78
#67: Fix logger class for RecommendationTester
kenmeacham 7b23170
#67: Extract common querier methods into new utility class. Modify ch…
kenmeacham f08122c
#67 add 202 async recommendations method
panositi 6812c15
Merge branch '67-add-control-strategy-recommendations' of github.com:…
panositi 7f5791d
#128: Initial support for running recommendations via GUI. Add menu o…
kenmeacham 63981ca
#128: Create prototype RecommendationsExplorer to display recommendat…
kenmeacham ef749c6
#67 update makeRecommendations update path
panositi ad16607
#128: Add react-json-view-lite package for displaying JSON in panel. …
kenmeacham 8eeb418
#128: Updates to webpack config files to allow react-json-view-lite/d…
kenmeacham ff6da90
#128: Update RecommendationsExplorer to use JsonView to improve forma…
kenmeacham 29ebee2
#67 tidying up makeRecommendations applyCSGs
panositi f3d4855
#128: Code improvements
kenmeacham e53958c
#128: Remove this.rnd refs in RecommendationsExplorer
kenmeacham 71c88e4
#128: Improve autowiring in AsyncController
kenmeacham 27ef9e2
#128: Remove code duplication
kenmeacham 1cab129
#67 enabling second pass of attack path tree, improve LE display
panositi 7fd81c6
#67 tidy up logs
panositi 57b1842
#128: Improve RecommendationsExplorer styling. Ensure that DOM elemen…
kenmeacham 5f50544
#128: Minor fix
kenmeacham 3b2fd7c
#128: Remove unused props
kenmeacham e98c4ee
#128: Refactor updateProgress methods in modeller.js to remove duplic…
kenmeacham 0fdd5a3
#128: Tidy code
kenmeacham fe3b21d
#128: Ensure that recommendations explorer is displayed on top, when …
kenmeacham 702d8e4
#128: Refactor RecommendationsExplorer to use common Explorer compone…
kenmeacham 94a1d95
#128: Refactor ControlExplorer and ControlStrategyExplorer to use com…
kenmeacham 581b47a
#128: Fix minor issues
kenmeacham aa65aae
#128: Remove unnecessary code
kenmeacham 3c7853b
#128: Comment out isAvtive for control explorer (not sure this is rea…
kenmeacham 0e64e96
#128: Tidied code
kenmeacham 0f93860
#128: Reorder rules in webpack.test.config.js to avoid code duplicati…
kenmeacham 200895d
Merge branch '67-add-control-strategy-recommendations' into 128-add-u…
kenmeacham 1a78a60
#128: Fix minor issues with AsyncController after merge with 67 branch
kenmeacham 2631ca6
Merge pull request #130 from Spyderisk/128-add-ui-support-for-control…
kenmeacham 5ce2b01
#67: Tidy imports
kenmeacham 4541384
#67: Use PostMapping instead of RequestMapping
kenmeacham 8540828
#67 addressing some smelly code issues
panositi c5c8b53
Merge branch '67-add-control-strategy-recommendations' of github.com:…
panositi 17f1172
#67 address more smelly code issues
panositi 5c33f2b
#67 address few more smelly code issues
panositi caf9020
#67 improve attack path and recommendations code
panositi d1ed49c
#67: Use GET instead of POST for async recommendations endpoint
kenmeacham 9b29d20
Merge branch '67-add-control-strategy-recommendations' of https://git…
kenmeacham f8d5827
#67: Rename endpoint to recommendations_blocking and some additional …
kenmeacham f45a34a
#67: Improve startRecommendationsTaskRed (async) to make consistent w…
kenmeacham b27a7bf
#67: Create new getRecommendations method to call async recommendatio…
kenmeacham 34cc49b
Added update of cached objects for CS and TWAS property update method…
mike1813 1788ecf
Merge branch '67-add-control-strategy-recommendations' of https://git…
kenmeacham 4e5c409
#67 update javadoc
panositi de84853
Merge branch '67-add-control-strategy-recommendations' of github.com:…
panositi 8e41214
#67: Moved startRecommendationsTaskRed method from AsyncController to…
kenmeacham 6c96340
#67: Removed redundant method (moved to ModelController)
kenmeacham a3bad42
#67: Rename method
kenmeacham d18f858
#67, #128: Add UI support for async recommendations
kenmeacham 1e24a81
#67: Fix testRecommendations
kenmeacham 9d68c42
#67: Tidy warning messages
kenmeacham 701e3c3
#67: Various improvements
kenmeacham 605cec8
#67: Improve exception handling for riskMode
kenmeacham b63fc67
#67: Remove unnecessary logging calls
kenmeacham 6b98ba8
#67: Exception handling
kenmeacham f4a87d6
#67: Exception handling
kenmeacham 6460a45
#67: Improve code around task execution
kenmeacham 7141f9f
#67: Minor improvement
kenmeacham 6e967fa
#67: Refactor getTaskProgressOfModel to make more readable
kenmeacham 3c2f914
#67: Remove AsyncControllerTest, as this seems to be just a direct co…
kenmeacham d23b48a
#67 use updated proposed status method
panositi eea3412
#67: Remove redundant methods from AsyncController and moved some to …
kenmeacham 9f48c9a
#67: Relocated JobResponseDTO
kenmeacham 9b12b54
#67: Remove AsyncController which is now redundant
kenmeacham 61668ab
#67: Remove unused code
kenmeacham c2f6998
#67: Rename AsyncService to RecommendationsService
kenmeacham 9315131
#67: Relocated DTO classes from attackpath to rest/dto/recommendation…
kenmeacham 1330d7e
Merge pull request #132 from Spyderisk/67-async-recommendations
kenmeacham 0ce4fba
#67 fix recommendation consequences and format of risk vector
panositi 42549d9
#67 fixing empty fields for assets in recommendation report
panositi 14dc651
#67 convert risk vector to a map
panositi c715e6a
#128: Add URI_PREFIX as constant
kenmeacham 2d560c9
#128: Add csgAssets to state model, and getCsgAssets which gets a map…
kenmeacham 47897e8
#128: Initial display of recommendations in the UI, showing overall r…
kenmeacham af1899c
#128: Handle case when there are no recommendations (returned value i…
kenmeacham 4001abe
#128: Add authz to RecommendationsExplorer
kenmeacham 867a345
#128: Improve sort for CSGs
kenmeacham 1913746
#128: Make recommendation panels expanded by default
kenmeacham 89cd7e1
#67 revert reste.on.start true
panositi eed3c64
#128: Sort recommendations by risk vector (summarized risk vector is …
kenmeacham 01d0e66
#128: Recommendations style improvements
kenmeacham ce24190
#128: Refactor renderControlStrategy to extract out renderControlSet,…
kenmeacham 3e6432d
#128: Minor improvements
kenmeacham b4cd4f1
#128: Modify updateControls method to allow setting of workInProgress…
kenmeacham 28ec683
#128: Fix updateControls call
kenmeacham 6057b6d
#128: Add checkbox to select all controls for a recommendation
kenmeacham b6f567c
#128: Fix ambiguous spacing
kenmeacham 7f7fd43
#128: Fix sorting of recommendations so lowest risk vector is at the …
kenmeacham 16fb9ea
#128: Fix numbering of recommendations
kenmeacham 0083ad3
#67 updates on algorthim, refactoring
panositi e04601b
Made Validator class add isFutureRisk and isCurrentRisk properties to…
mike1813 045a742
#67 fix modelController recommendation endpoint changes
panositi 28257e1
Merge branch '67-add-control-strategy-recommendations' of github.com:…
panositi 94a5eb4
Primarily adjusts the success/failure conditions in the recommendatio…
scp93ch dba778c
#128: Remove shortened risk vector text. Replace with tooltip display…
kenmeacham efbe5de
#128: Remove "Current risk", as this can become out-of-date
kenmeacham 4975495
#67 fix unit tests, update checkMisbehaviourList
panositi 79b9e57
#128: Remove risk vector as tooltip and display inline instead
kenmeacham d8eed44
#128: Remove redundant code
kenmeacham 3cb0669
#128: Add "(beta)" to title
kenmeacham 9a9a261
#128: Update text for controls and CSGs
kenmeacham 65381d6
#128: Add Apply button for recommendation
kenmeacham 6c9586c
#128: Set the updating controls in the state, to enable spinners to w…
kenmeacham de9c83e
#128: Add tooltip to Apply button
kenmeacham 200ec84
Merge pull request #135 from Spyderisk/128-adv-recommendations-display
kenmeacham d89d5f6
#128: Quick fix to set acceptableRiskLevel in recommendations call
kenmeacham 23319d7
#67 fixing a bug not checking empty targetMS
panositi e088f18
#67 fixing targetMS == null issue at RecommendationsAlgorithConfig co…
panositi 1e1ddca
#128: Configure ACCEPTABLE_RISK_LEVEL in constants.js
kenmeacham a939e82
#128, Fix sorting of CSGs in recommendation
kenmeacham f3f91c8
#128: Remove unnecessary return statement
kenmeacham 0cf2b85
#128: Restrict display to a max number of recommendations (configurable)
kenmeacham 8866e0a
#128: Add recommendations button in Attack Path Threats section of Co…
kenmeacham 4deff40
#128: Add "work in progress" to title and put disclaimer at top of th…
kenmeacham 2ac9267
#128: Add summary of number of returned recommendations at top
kenmeacham eca4ffc
Fixes error caused by there being a button inside a button (#128)
scp93ch 39863d6
Simplifies code (#128)
scp93ch 15c75f9
Fixes bug whereby recommendations button was wrongly disabled (#128)
scp93ch b6b45e8
#128: Add abortRecommendations method / endpoint. TODO: modify when A…
kenmeacham b53dff7
#128: Add AbortRecommendationsModal which pops up after Esc key is pr…
kenmeacham a4d0102
#128: Minor fix
kenmeacham 0c6cde5
#128: Small improvement to close abort dialog automatically if recomm…
kenmeacham fdc9526
implement basic recommendation task cancelling mechanism
panositi bc5afb6
Merge branch 'interrupt-task' into 145-recommendation-task-cancelling
panositi 4089b6e
#145 simple task signaling via job status
panositi a634cc6
Merge pull request #144 from Spyderisk/128-ui-cancel-recommendations
kenmeacham ea7a807
Merge branch '67-add-control-strategy-recommendations' into 145-recom…
kenmeacham e571f6a
#145: Fix endpoint for cancel recommendations and made it POST
kenmeacham 6018d19
#145: Comment out code that prevents final result being downloaded af…
kenmeacham 7d3cac2
#145: Add jobId to abortRecommendations
kenmeacham 5e73b94
#145: Update progress to "Cancelling" when /cancel is called
kenmeacham 6e91a90
#145: Call pollRecommendationsProgress immediately after abort, to ge…
kenmeacham 2171ffd
#145 fixing interrupted exceptions
panositi 23cfdce
#145 fix merge
panositi 4353bfe
#145: Fix bug in checkRecJobStatus that was setting status to ABORTED
kenmeacham 5fb8abd
#145: Remove cancelTask, which was unused
kenmeacham 127ce59
#145: Remove redundant calculateRecommendationsBlocking method and as…
kenmeacham b4a20a1
#145: Fix async recommendations test. Should use POST for /cancel and…
kenmeacham 325717c
#145 refactor job state and status
panositi 93b32ce
#145 change RecommendationJobDTO to return state and message
panositi ad543de
#145 fix previously merged issues for ModelController
panositi a7d51e4
#145 allow recommendaitons algorithm to run also without jobId
panositi 3a3762f
#145: Set systemmodeller logging level to debug
kenmeacham d9c8e79
#145: Add extra text "Esc to cancel" during recommendations
kenmeacham fbd5648
#145: Set recommendations.timeout.secs=900 (15 mins) in application.p…
kenmeacham 08cdcb0
#145: Implement recommendations timeout
kenmeacham 9e28779
Merge pull request #155 from Spyderisk/145-recomm-timeout
kenmeacham 87b5d8b
Merge pull request #146 from Spyderisk/145-recommendation-task-cancel…
kenmeacham 67349bf
#67: Fix bug in applyCSGs; compareTo should not check specific value
kenmeacham File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this so complex?
We're passing in and storing a Collection of Level objects (where a Level is basically a URI and int expressing an order) along with a Map from the URI of a Level to an Integer expressing a count. The same URIs (or String versions of) appear in both arguments.
We're then making RiskLevelCount objects using the Level and the count Integer and putting them into an unordered HashMap.
Why not have the RiskLevelCount extend the Level object to add in the count value?
Then the RiskVector just needs to be an ordered list of RiskLevelCounts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The RiskVector class preexisted and couldn't be changed, I had to extended and make it comparable.