OWASP / OWASP/pytm

AC03 - condition is too limiting

Open
#34 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement Hacktoberfest help wanted
Dominant language
Python
Stars
1.2k
Forks
229
PR merge metrics
No merged PRs in 30d

Description

"AC03": { "description": "The Data Store Could Be Corrupted", "source": (Process, Element), "target": Datastore, "condition": "target.isShared is True or target.hasWriteAccess is True", },

If a Datastore is shared and allows write access, it may be corrupted, which is True. But what is missing from this logic is if the shared Processes/Elements are granted Write access - an Element:Datastore relationship need not be symmetric or universal. This requires some additional logic, and goes to the complexity of such things.

Consider:

Datastore A
Process A
Process B

A.isShared is True
A.hasWriteAccess (from Process A) is True
A.hasWriteAccess (from Process B) is False

Threat?

Problem: we can't represent this currently - it requires Source:Target:Condition relationships that cannot be represented given the current object model. Note the Object Model I posted to the wiki can represent this relationship, but may be too complex for some.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the AC03 condition shown in the issue and review the object model described on the wiki. Determine how Source:Target:Condition relationships could represent per-process or per-element write access, then define what the AC03 threat result should be for the example. Done means the model can represent the asymmetric relationships and AC03 evaluates them correctly.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.