hackattack is a game developed for the purpose of cyber conflict modeling
V 3.0 - evaluation functions and k-ply searching V 2.0 - included knowledge system, ddos, etc. V 1.0 - simple starting version
Balance opponents; decided not to because if balanced maybe a small improvement gives it 100% win rate, whereas with unbalanced win rate will be more informativein 2+ ply, average or worst move? -- go with average b/c don't really know what moves are available, so worst move may be a very small probability moveImplement evaluation functionsRandom strategyran to completionnet_accountsran to completion k=2net_machinescompletedclean bonuscompletedsecurity bonuscompletedmixtures of 2-5completed
Correctly compute what is learned when a hack fails (lines 759--762)After each move is selected, branch on the results before selecting the next move rather than averaging, which will prevent, for example, all owned machines doing the same hack (lines 1241--1248)
Split file into multiple filesMerge refactor branch back into master branchTag master branch with v 3.0
- Make the PlayerStrategy summarize the know clearly and succinctly
- Recreate the news system
- Create better UIs (graphical and not)
- Reinstate the load and save game ability
- Create networking capability
- Reinstate ddos to make non-simulation games more fun
- Revisit the game theory book for easy ways to speed-up algorithms
Create more evaluation functions in some reasonable way- Make starting situations comparable (same number of exploits of each level?)
- Test evals against each other and document winners
- Introduction (problem, purpose, thesis, main contributions) [0.5p]
- Background (related papers, how we're different) [0.5p]
- Method (summary of creating a game, eval functions, testing) [0.5p]
- Description of the game [1.5p]
- Description of eval functions [1.5p]
- Results (how many times each one won and other observations) [1p]
- Discussion (how results support thesis) [1p]
- Conclusion (restate main points) [0.5p]
- References [0.5p]
- Allow a seed to be fixed so that the game is deterministic
- Write unit tests
Target: my group's annual conference
Paper plan:
- Cyber conflicts can be viewed as games (in the math sense),
- Strategies for cyber conflict can be reduced to optimizing evaluation functions,
- The best evaluation functions we can find depend on probabilities (explain...)
- The best strategies would be hard to do "manually" (with human intervention)
- The results indicate parameters we need to estimate to make this a realistic tool.
Immediate next steps:
Refactor the hackattack code to allow evaluation-function based analysis.(orig. Aug 28, done Oct 3)- Create evaluation functions and test them (orig. Sep 13, now Oct 5-8)
- Simulate the functions in various combinations with different levels of look-ahead. Vary detection probabilities and other parameters to see how the evaluation functions' outcomes change. This is probably the hardest part. (orig. Oct 3, now Oct 6-8)
- Write up the results as an 8-page full paper (deadline is October 16, but is usually extended by a week or two).
Level of Effort: 2 or 3 times per month (2-4 hours each time) to get this done, starting in September after I've completed item 1.
- your_accounts immediately does backdoors until it can't any more