From f4a0e4d7e927f045a382558f670175b4f8f4a419 Mon Sep 17 00:00:00 2001 From: Oleksii Oleksenko Date: Thu, 18 Feb 2021 16:00:06 +0000 Subject: [PATCH] fresh start with a new README --- .gitignore | 1 + README.md | 48 ++++++++++++++++++++++-------------------------- 2 files changed, 23 insertions(+), 26 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..62c8935 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea/ \ No newline at end of file diff --git a/README.md b/README.md index 8321a3e..95cfb16 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,29 @@ -# Project -This is a research prototype of Model-based Relational Fuzzing for Speculative vulnerabilities. The code was written by Oleksii Oleksenko during an internship at Microsoft Research. +# SCA-Fuzzer -## Interfaces and Architecture +This is SCA-Fuzzer, a different kind of fuzzer. +Instead of finding bugs in programs, SCA-Fuzzer searches for microarchitectural bugs in CPUs. + +What is a bug in a CPU? +In the context of SCA-Fuzzer, a bug is a violation of out expectations about how the CPU should behave. +The most prominent examples would be [Spectre] and [Meltdown]. +It could also be a microarchitectural backdoor or an unknown optimization, although we yet to encounter one of those. + +See our ~~[Technical Report]~~ (under construction) for details. + + +**Origin**: This is an independently developed and much improved fork of [SCA-Fuzzer from Microsoft][https://github.com/microsoft/sca-fuzzer]. + +# Getting Started + +**UNDER CONSTRUCTION** + +# Interfaces and Architecture ![architecture](Arch.png) +**THE TEXT BELOW IS UNDER CONSTRUCTION. PROCEED WITH CAUTION** + + ## Instruction Set Spec This XML file: https://www.uops.info/xml.html originating from Intel XED (https://intelxed.github.io/) @@ -30,26 +49,3 @@ Inputs are generated in batches; that is, Input Generator returns `List[int]`. Received from: `input_gen.generate(...)` Passed down to: `model.trace_test_case(inputs)` and `executor.trace_test_case(inputs)`. - - -## Contributing - -This project welcomes contributions and suggestions. Most contributions require you to agree to a -Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us -the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com. - -When you submit a pull request, a CLA bot will automatically determine whether you need to provide -a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions -provided by the bot. You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). -For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or -contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. - -## Trademarks - -This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft -trademarks or logos is subject to and must follow -[Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). -Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. -Any use of third-party trademarks or logos are subject to those third-party's policies.