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

Add support for mixed versions in a single ATT&CK Navigator instance #182

Closed
isaisabel opened this issue Jun 23, 2020 · 3 comments
Closed
Assignees
Labels
enhancement New feature or request timescale/imminent Ready to be assigned to developers

Comments

@isaisabel
Copy link
Contributor

As a user of the ATT&CK Navigator, I want to be able to specify the ATT&CK content version to use on a given layer.

  • The default version of a layer with no specified ATT&CK version will be the current version of ATT&CK
  • Each layer can only have one ATT&CK version
  • When creating a layer, allow the user to specify the version of ATT&CK they want to use
    • We need to determine what versions of the data are compatable with the Navigator. Old versions are likely to be missing some object types and fields, e.g mitigations.
    • The first few versions likely didn't have the x-mitre-tactic and x-mitre-matrix objects, which means we can't support those versions. We should keep them in the version list (following the precedent of the versions of ATT&CK page) but we can't actually provide access to those versions
    • where non-crucial data is missing, the UI should be marked appropriately, e.g "data does not include any mitigations." This will also improve support for custom datasets.
  • When uploading a layer, determine the ATT&CK version from the layer.
    • Refactor layer file version to versions, which would be structured as an object with keys layer, navigator, and attack for the layer format, navigator, and ATT&CK catalog versions respectively.
    • If the ATT&CK version is not current, ask the user if they want to upgrade (See Add "Layer Upgrade" UI #181)
      • Allow the app to remember the user's preference
        image
    • If the ATT&CK version is current, load it immediately
  • Restrict layer-layer operations to layers of the same version
@isaisabel
Copy link
Contributor Author

Example UI for the versions:
image

However , it should probably follow the format of the versions of ATT&CK page with links to the ATT&CK Website, data on MITRE/CTI, changelog, ETC.

The "quick access" links outside of the expansion panel should always be the current version of the data.

@isaisabel
Copy link
Contributor Author

A query string (e.g ?upgrade=True) should also be added which allows the user to bypass the "do you want to upgrade" prompt. This will allow the ATT&CK team to use the upgrade UI as an "here's what changed in this version" tool, by linking ?layer=v6upgrade.json&upgrade=True, where v6upgrade is an otherwise empty layer. This will essentially bring users right to the upgrade UI, which doubles as a "what changed in this version of ATT&CK" helper when annotations aren't present.

@isaisabel
Copy link
Contributor Author

Staged on develop for the upcoming release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request timescale/imminent Ready to be assigned to developers
Projects
None yet
Development

No branches or pull requests

2 participants