Skip to content
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

feat(doc): #919 threat model #931

Merged
merged 1 commit into from
Sep 24, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ SPDX-License-Identifier: MIT
- [Security](./security/README.md)
- [Software Assurance](./security/assurance.md)
- [SLSA](./security/slsa.md)
- [Threat Model](./security/threat-model.md)
8 changes: 7 additions & 1 deletion docs/src/security/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,10 @@ SPDX-License-Identifier: MIT

# Security

This section evaluates Makes using various standards.
This section evaluates Makes using various standards
and tries to address the security of Makes as an ecosystem
using the three following categories:

- Security of using the Makes CLI.
- Security of the software built using Makes.
- Security of Makes as a software project.
47 changes: 47 additions & 0 deletions docs/src/security/threat-model.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<!--
SPDX-FileCopyrightText: 2022 Fluid Attacks and Makes contributors

SPDX-License-Identifier: MIT
-->

# Threat Model

## Spoofing

- A user can mistype the Makes installation command
and wrongly install a different (potentially malicious) tool.

Mitigation:

- The installation command is given in plain-text,
users can copy-paste it to avoid typos.

- A user can mistype the target project to be built with Makes,
and end-up building (and potentially running)
a different (potentially malicious) project.

Mitigation:

- The most common use case
(running makes on the project in the current working directory)
has a very convenient syntax: `$ m .`,
which is very unlikely to be mistyped.
- When referencing a project over the internet,
the user is forced to use a git provider (github/gitlab),
the owner account (which should be trusted by the user),
the target repository,
and a branch, commit or tag.

By using a commit,
the user can force the integrity of the downloaded data
to match what they expect.

## Tampering

## Repudiation

## Information Disclosure

## Denial of Service

## Elevation of Privileges