From 375b677e4fb250b054936a243d1d1e8f710eb4ba Mon Sep 17 00:00:00 2001 From: Matthijs Lavrijsen Date: Wed, 4 Oct 2023 16:27:59 +0200 Subject: [PATCH] GitHub: add code of conduct, issue templates --- .github/CODE_OF_CONDUCT.md | 133 +++++++ .github/ISSUE_TEMPLATE/bug_report.yml | 54 +++ .github/ISSUE_TEMPLATE/config.yml | 1 + .github/ISSUE_TEMPLATE/feature_request.yml | 25 ++ .github/ISSUE_TEMPLATE/question.yml | 13 + {Misc => .github/img}/BSOD.png | Bin .github/img/EfiGuard.graphml | 410 +++++++++++++++++++++ {Misc => .github/img}/EfiGuard.svg | 0 .github/img/Win7SecureBoot.png | Bin 0 -> 11666 bytes Misc/Win7SecureBoot.png | Bin 14419 -> 0 bytes README.md | 6 +- 11 files changed, 639 insertions(+), 3 deletions(-) create mode 100644 .github/CODE_OF_CONDUCT.md create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/ISSUE_TEMPLATE/question.yml rename {Misc => .github/img}/BSOD.png (100%) create mode 100644 .github/img/EfiGuard.graphml rename {Misc => .github/img}/EfiGuard.svg (100%) create mode 100644 .github/img/Win7SecureBoot.png delete mode 100644 Misc/Win7SecureBoot.png diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..409ec62 --- /dev/null +++ b/.github/CODE_OF_CONDUCT.md @@ -0,0 +1,133 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, caste, color, religion, or sexual +identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the overall + community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or advances of + any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email address, + without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +mattiwatti@gmail.com. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of +actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or permanent +ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the +community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at +[https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations + diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..82834ef --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,54 @@ +name: Bug report +description: Report bugs or other issues +labels: ["bug"] + +body: + - type: markdown + attributes: + value: Before filing this bug, [please check if it hasn't already been reported](https://github.com/Mattiwatti/EfiGuard/issues?q=is%3Aissue+label%3Abug). If it has, please add useful information to the existing issue instead. + + - type: input + id: os + attributes: + label: Operating system + placeholder: Windows 11 x64 build 22621 + validations: + required: true + + - type: textarea + id: description + attributes: + label: Issue description + description: Briefly describe your issue here. + validations: + required: true + + - type: textarea + id: repro + attributes: + label: Steps to reproduce + description: Describe in small and detailed steps how to reproduce the issue. + value: | + 1. + 2. + validations: + required: true + + - type: textarea + id: logs + attributes: + label: Logs + description: If you can provide relevant logs (e.g. of `analyze -v`), please paste them here. The output of `EfiDSEFix -i` is also often helpful when diagnosing EfiGuard issues. + placeholder: Paste logs here + render: shell + validations: + required: false + + - type: textarea + id: attachments + attributes: + label: Attachments + description: If you can provide crash dumps, photos or screenshots that may help to investigate the issue, please add them here. + placeholder: Drag and drop files here + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..0086358 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1 @@ +blank_issues_enabled: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..844b990 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,25 @@ +name: Feature request +description: Suggest features, modifications or ideas +labels: ["feature"] + +body: + - type: markdown + attributes: + value: Before filing this request, [please check if it hasn't already been suggested before](https://github.com/Mattiwatti/EfiGuard/issues?q=is%3Aissue+label%3Afeature). If it has, please add to the existing issue instead. + + - type: textarea + id: description + attributes: + label: Feature description + description: Briefly describe your idea, suggestion or proposed feature. + validations: + required: true + + - type: textarea + id: implementation + attributes: + label: Implementation + description: Thoughts on possible implementation details go here (optional). + placeholder: Suggest how to implement the feature. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/question.yml b/.github/ISSUE_TEMPLATE/question.yml new file mode 100644 index 0000000..d2442d8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/question.yml @@ -0,0 +1,13 @@ +name: Question +description: Questions about EfiGuard +labels: ["question"] + +body: + - type: textarea + id: description + attributes: + label: Question description + description: What is your question? Please make sure it is related to EfiGuard. + placeholder: Ask your question here. + validations: + required: true diff --git a/Misc/BSOD.png b/.github/img/BSOD.png similarity index 100% rename from Misc/BSOD.png rename to .github/img/BSOD.png diff --git a/.github/img/EfiGuard.graphml b/.github/img/EfiGuard.graphml new file mode 100644 index 0000000..a7ff148 --- /dev/null +++ b/.github/img/EfiGuard.graphml @@ -0,0 +1,410 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + optional + + + + + + + + + + + EFI +Boot Services + + + + + + + + + + + + EFI +Runtime Services + + + + + + + + + + + + Winload.efi + + + + + + + + + + + + Bootmgr.efi + + + + + + + + + + + + WinPE? + + + + + + + + + + + + + Bootmgfw.efi + + + + + + + + + + + + Loader.efi + + + + + + + + + + + + EFI DXE +Dispatcher + + + + + + + + + + + + EfiGuardDxe.efi + + + + + + + + + + + + +Ntoskrnl.exe + + + + + + + + + + + + PG + + + + + + + + + + + DSE + + + + + + + + + + + HAL.dll + + + + + + + + + + + + EfiDSEFix.exe + + + + + + + + + + + + UM-KM boundary + + + + + + + + + + + Kernel mode + +User mode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + load + + + + + + + + + + + + + + + + + + + + + hook + + + + + + + + + + patch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + syscall + + + + + + + + + + + + + + No + + + + + + + + + + Yes + + + + + + + + + + + + + + + + + + + + + + + + + + + + patch + + + + + + + + + + + + + + + + + + + + + diff --git a/Misc/EfiGuard.svg b/.github/img/EfiGuard.svg similarity index 100% rename from Misc/EfiGuard.svg rename to .github/img/EfiGuard.svg diff --git a/.github/img/Win7SecureBoot.png b/.github/img/Win7SecureBoot.png new file mode 100644 index 0000000000000000000000000000000000000000..24d04cd35f15ed8810014b11a2c1c2b6fd92c897 GIT binary patch literal 11666 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 literal 0 HcmV?d00001 diff --git a/Misc/Win7SecureBoot.png b/Misc/Win7SecureBoot.png deleted file mode 100644 index 9cd911be89ee29e08fbec17859e420b2a9e5defc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14419 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 z0PW1)DBSofficially) even booting without CSM. This is useful for people who want to use Windows 7 on a locked down device that requires WHQL Secure Boot. Wiki entry on how to get this to work [here](https://github.com/Mattiwatti/EfiGuard/wiki/Secure-boot-on-Windows-7). - ![win7_secureboot](Misc/Win7SecureBoot.png) + ![win7_secureboot](.github/img/Win7SecureBoot.png) [WinObjEx64](https://github.com/hfiref0x/WinObjEx64) on Windows 7 with Secure Boot enabled @@ -60,7 +60,7 @@ The output binary `EfiDSEFix.exe` will be in `Application/EfiDSEFix/bin`. The Visual Studio solution also includes projects for `EfiGuardDxe.efi` and `Loader.efi` which can be used with [VisualUefi](https://github.com/ionescu007/VisualUefi), but these projects are not built by default as they will not link without additional code, and the build output will be inferior (bigger) than what EDK2 produces. `Loader.efi` will not link at all due to VisualUefi missing UefiBootManagerLib. These project files are thus meant as a development aid only and the EFI files should still be compiled with EDK2. To set up VisualUefi for this purpose, clone the repository into `workspace/VisualUefi` and open `EfiGuard.sln`. # Architecture - ![architecture](Misc/EfiGuard.svg) + ![architecture](.github/img/EfiGuard.svg) While EfiGuard is a UEFI bootkit, it did not start out as one. EfiGuard was originally an on-disk patcher running on NT (similar to [UPGDSED](https://github.com/hfiref0x/UPGDSED)), intended to test the viability of a disassembler-based aproach, as opposed to using PDB symbols and version-specific signatures. [PatchNtoskrnl.c](EfiGuardDxe/PatchNtoskrnl.c) still looks very much like this original design. Only after this approach proved successful, with no modifications to code needed in over a year of Windows updates, did UEFI come into the picture as a way to further improve capabilities and ease of use. Some of the benefits provided by a bootkit approach include: