diff --git a/CHANGELOG.md b/CHANGELOG.md index 20636717fdf..a75330787d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -232,7 +232,7 @@ It also fixes a few minor STIX abnormalities for ICS Techniques. ## Features * Updated docs to clarify that both STIX 2.0 and STIX 2.1 input data is supported. See issue [#317](https://github.com/mitre-attack/attack-website/issues/317). -* Updated [privacy policy](https://attack.mitre.org/resources/privacy/). +* Updated [privacy policy](https://attack.mitre.org/resources/legal-and-branding/privacy/). ## Bugfixes @@ -245,7 +245,7 @@ It also fixes a few minor STIX abnormalities for ICS Techniques. * Improved usability of matrix side layout to better differentiate tactic columns. See issue [#273](https://github.com/mitre-attack/attack-website/issues/273). * Improved matrix layout selection to include layout in dropdown title. See issue [#277](https://github.com/mitre-attack/attack-website/issues/277). * Added links to tactics in the technique information card. See issue [#288](https://github.com/mitre-attack/attack-website/issues/288). -* Updated the [working with ATT&CK](https://attack.mitre.org/resources/working-with-attack/) page to mention [ATT&CK Workbench](https://github.com/center-for-threat-informed-defense/attack-workbench-frontend) and [STIX 2.1 support](https://github.com/mitre-attack/attack-stix-data). +* Updated the [working with ATT&CK](https://attack.mitre.org/resources/access-data-and-tools/) page to mention [ATT&CK Workbench](https://github.com/center-for-threat-informed-defense/attack-workbench-frontend) and [STIX 2.1 support](https://github.com/mitre-attack/attack-stix-data). * Updated matrix poster to most recent version of ATT&CK. ## Bugfixes @@ -275,7 +275,7 @@ It also fixes a few minor STIX abnormalities for ICS Techniques. ## Bugfixes -* Added missing groups excel in the ATT&CK in Excel section of [Working with ATT&CK](https://attack.mitre.org/resources/working-with-attack/). +* Added missing groups excel in the ATT&CK in Excel section of [Working with ATT&CK](https://attack.mitre.org/resources/access-data-and-tools/). * Fixed CTI training ticket number 4473845 -> 473845. See issue [#296](https://github.com/mitre-attack/attack-website/issues/296). # v3.2.1 (2021-04-29) @@ -302,7 +302,7 @@ It also fixes a few minor STIX abnormalities for ICS Techniques. * Added to fields on software pages: Associated Software, Type, and Platforms. * Added generation of Navigator layers for mitigations, and updated navigator layer version to 4.2. See issue [#234](https://github.com/mitre-attack/attack-website/issues/234). * Added ATT&CK IDs to Mitigations and Procedure Examples on technique pages, and software and group home pages. See issues [#235](https://github.com/mitre-attack/attack-website/issues/235) and [#236](https://github.com/mitre-attack/attack-website/issues/236). -* Improved the [Working with ATT&CK](https://attack.mitre.org/resources/working-with-attack/) page with additional information about ATT&CK data and the tools with which it can be manipulated. The new page also includes generated Excel spreadsheets representing the ATT&CK knowledge base (see also [mitreattack-python](https://github.com/mitre-attack/mitreattack-python)'s attackToExcel converter). See issue [#142](https://github.com/mitre-attack/attack-website/issues/142). +* Improved the [Working with ATT&CK](https://attack.mitre.org/resources/access-data-and-tools/) page with additional information about ATT&CK data and the tools with which it can be manipulated. The new page also includes generated Excel spreadsheets representing the ATT&CK knowledge base (see also [mitreattack-python](https://github.com/mitre-attack/mitreattack-python)'s attackToExcel converter). See issue [#142](https://github.com/mitre-attack/attack-website/issues/142). * Data sources in technique cards are now hyperlinks to the [attack-datasources GitHub repository](https://github.com/mitre-attack/attack-datasources). ## Bugfixes @@ -322,7 +322,7 @@ It also fixes a few minor STIX abnormalities for ICS Techniques. * Release ATT&CK content version 8.2. See detailed changes [here](https://github.com/mitre/cti/releases/tag/ATT%26CK-v8.2). * Updated Navigator layers to version 4.1 so that users are no longer warned that they are out of date. -* Updated introductory video on [getting started](https://attack.mitre.org/resources/getting-started/) page. +* Updated introductory video on [getting started](https://attack.mitre.org/resources/) page. # No website version update (2020-11-12) @@ -376,7 +376,7 @@ It also fixes a few minor STIX abnormalities for ICS Techniques. ## Features -* Added note on the [CTI training page](https://attack.mitre.org/resources/training/cti/) to indicate that ATT&CK v6 should be used instead of ATT&CK v7. See issue [#221](https://github.com/mitre-attack/attack-website/issues/221). +* Added note on the [CTI training page](https://attack.mitre.org/resources/learn-more-about-attack/training/cti/) to indicate that ATT&CK v6 should be used instead of ATT&CK v7. See issue [#221](https://github.com/mitre-attack/attack-website/issues/221). # No website version update (2020-07-15) @@ -449,7 +449,7 @@ It also fixes a few minor STIX abnormalities for ICS Techniques. * Added horizontal scroll indicators to matrices so that it's easier to tell when there's more to the left or right. See issue [#93](https://github.com/mitre-attack/attack-website/issues/93). * The website tour route is now generated dynamically, allowing the site to adapt the tour to custom STIX content. See issue [#110](https://github.com/mitre-attack/attack-website/issues/110). * Added Navigator layers to the changelog of the sub-techniques update. See issue [#126](https://github.com/mitre-attack/attack-website/issues/126). -* Updated [contribute page](https://attack.mitre.org/resources/contribute). See issue [#162](https://github.com/mitre-attack/attack-website/issues/162). +* Updated [contribute page](https://attack.mitre.org/resources/engage-with-attack/contribute). See issue [#162](https://github.com/mitre-attack/attack-website/issues/162). ## Bugfixes diff --git a/NOTICE.txt b/NOTICE.txt index d896dd5c7b9..c1093525c4a 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -15,4 +15,4 @@ See the License for the specific language governing permissions and limitations under the License. This project makes use of ATT&CK® -ATT&CK® Terms of Use - https://attack.mitre.org/resources/terms-of-use/ \ No newline at end of file +ATT&CK® Terms of Use - https://attack.mitre.org/resources/legal-and-branding/terms-of-use/ \ No newline at end of file diff --git a/README.md b/README.md index ac2757f6340..20a8f6c89b0 100644 --- a/README.md +++ b/README.md @@ -67,4 +67,4 @@ limitations under the License. This project makes use of ATT&CK® -[ATT&CK Terms of Use](https://attack.mitre.org/resources/terms-of-use/) +[ATT&CK Terms of Use](https://attack.mitre.org/resources/legal-and-branding/terms-of-use/) diff --git a/attack-theme/static/scripts/search-presentation.js b/attack-theme/static/scripts/search-presentation.js index 86940e2c9f3..59636fa0142 100644 --- a/attack-theme/static/scripts/search-presentation.js +++ b/attack-theme/static/scripts/search-presentation.js @@ -68,12 +68,12 @@ function filter_date_helper(input_date) { for (let date_value of date_list) { if (date_value.checked){ if(date_value.id.includes("1")){ - if((year-date_year == 0) || (year-date_year == 1)){ + if(year-date_year <= 1){ filter_date = true; } } else if(date_value.id.includes("3")){ - if(year-date_year == 3){ + if(year-date_year <= 3){ filter_date = true; } } diff --git a/attack-theme/static/scripts/sidebar-load-all.js b/attack-theme/static/scripts/sidebar-load-all.js index bc53b215822..aded67bacff 100644 --- a/attack-theme/static/scripts/sidebar-load-all.js +++ b/attack-theme/static/scripts/sidebar-load-all.js @@ -15,6 +15,9 @@ $("#sidebars").load(mod_entry, function() { let v_number = mod_name[2]; old_winlocation = old_winlocation.replace('/versions/'+ v_number,''); } + if (old_winlocation.includes('tour')){ + old_winlocation = old_winlocation.split('?')[0]; + } let navElements = document.querySelectorAll('.sidenav-head > a'); let winlocation; navElements.forEach(function(element){ @@ -33,7 +36,7 @@ $("#sidebars").load(mod_entry, function() { winlocation = old_winlocation } if(element.href == winlocation){ - $(element.parentNode).addClass("active") + $(element.parentNode).addClass("active"); }}); //This code is for creating a collapsable sidebar for the mobile view diff --git a/attack-theme/static/scripts/tour/tour-versions.js b/attack-theme/static/scripts/tour/tour-versions.js index eb7b33f0ce8..e584af63d40 100644 --- a/attack-theme/static/scripts/tour/tour-versions.js +++ b/attack-theme/static/scripts/tour/tour-versions.js @@ -41,7 +41,7 @@ let tourSteps = [ orphan: true, backdrop: false, title: "End of tour", - content: "We hope you have enjoyed this tour of the sub-techniques features of the ATT&CK website. If you have any feedback or suggestions, please visit the contact page to get in touch.", + content: "We hope you have enjoyed this tour of the sub-techniques features of the ATT&CK website. If you have any feedback or suggestions, please visit the contact page to get in touch.", onShow: function() { lastStepReached = true; }, diff --git a/attack-theme/static/style/_colors.scss b/attack-theme/static/style/_colors.scss index 0523c1fd067..f926eeb48fb 100644 --- a/attack-theme/static/style/_colors.scss +++ b/attack-theme/static/style/_colors.scss @@ -8,7 +8,8 @@ $attack-colors: ( attack-orange: #c63f1f, attack-blue: #062f4f, - attack-footer:#0b2338 + attack-footer:#0b2338, + attack-active: #0156b3 ); // User colors $user-colors: ( @@ -28,6 +29,7 @@ $colors: ( primary: (color: if(variable-exists($name: use_attack_theme), map-get($attack-colors, attack-orange), map-get($user-colors, user-gray)), on-color: white), //used for header and some nav elements secondary: (color: if(variable-exists($name: use_attack_theme), map-get($attack-colors, attack-blue), map-get($user-colors, user-gray)), on-color: white), //used for some buttons footer: (color: if(variable-exists($name: use_attack_theme), map-get($attack-colors, attack-footer), map-get($user-colors, user-gray)), on-color: #87deff), //used for footer and some buttons + active: (color: if(variable-exists($name: use_attack_theme), map-get($attack-colors, attack-active), map-get($user-colors, user-gray)), on-color: #eaeaea), //used for active buttons and sidebar links body: (color: white, on-color: #39434C), //primary page body // body: (color: rgb(50, 50, 50), on-color: #cdcdcd), //example of a dark theme for the site link: (color: #4f7cac), //hyperlinks diff --git a/attack-theme/static/style/_layouts.scss b/attack-theme/static/style/_layouts.scss index 3147b19f7c4..b6e2ab18777 100644 --- a/attack-theme/static/style/_layouts.scss +++ b/attack-theme/static/style/_layouts.scss @@ -170,18 +170,18 @@ a { .slide-button { @extend .brand-button; - border-color: #0156b3; + border-color: color(active); color: #ffffff; - background: #0156b3; + background: color(active); padding: 4px 16px; a & { text-decoration: none !important; } } .slide-button-secondary { @extend .brand-button; - color: #0156b3; + color: color(active); background: #ffffff; - border-color: #0156b3; + border-color: color(active); padding: 4px 16px; a & { text-decoration: none !important; } } @@ -196,11 +196,11 @@ a { } .slide-button:hover { - background: #062f4f; + background: color(secondary); } .slide-button-secondary:hover { - background: #dfdfdf; + background: on-color(active); } // placeholder for base style of all navy colored buttons @@ -561,7 +561,7 @@ code { width: 20%; top: 9.3rem; float: right; - background: #eaeaea; + background: on-color(active); } @media screen and (max-width: 90.62rem) { @@ -632,7 +632,7 @@ a.partial-underline { margin: 0; } &.background { - background: #eaeaea; + background: on-color(active); } } } @@ -641,7 +641,7 @@ a.partial-underline { @extend .brand-button; border: 0; width: 100%; - background: #0156b3; + background: color(active); padding: 2px 12px; justify-content: center; .card-button-text, .card-button-icon { @@ -714,7 +714,7 @@ a.partial-underline { .card-title-icon { float: right; - color: #0156b3; + color: color(active); } /******/ @@ -753,19 +753,6 @@ a.partial-underline { } /******/ -.nestedlist { - counter-reset: item; -} - -.nestedlist-item { - display: block; -} - -.nestedlist-item::before { - content: counters(item, ".") ". "; - counter-increment: item; -} - /*CALLOUTS*/ // callouts style in the Contribute page .bs-callout { @@ -1268,7 +1255,7 @@ div#sidebars { width: 90%; } .sponsors-block { - background: #eaeaea; + background: on-color(active); text-align: center; display: flex; justify-content: space-evenly; @@ -1327,7 +1314,7 @@ div#sidebars { } .resource { flex: 1; - background-color: #e0e0e0; + background-color: on-color(active); padding: 10px; box-sizing: border-box; } diff --git a/attack-theme/static/style/_nav.scss b/attack-theme/static/style/_nav.scss index bd181a867f3..fe5e6ef72ba 100644 --- a/attack-theme/static/style/_nav.scss +++ b/attack-theme/static/style/_nav.scss @@ -245,6 +245,7 @@ display: flex; flex-direction: column; padding-right: 5px; + padding-left: 1rem; .heading { border-bottom: 1px solid color-alternate(body); flex: 0 1 0; @@ -265,6 +266,7 @@ flex-direction: row; a, .expand-button { //any direct child cursor: pointer; + color: black; &:hover { background: color-alternate(body); } @@ -287,12 +289,20 @@ } &.active { //current page - &, &>a { color: color(primary) !important; } + &, &>a { + color: color(active) !important; + font-weight: bolder; + background: on-color(active); + font-family: "Roboto-Bold", sans-serif; + } // background-color: color-alternate(body); // border-right: to-rem(3) solid color(primary); } } + .sidenav-body { + padding-left: 0.75rem; + } .sidenav { //nested padding-left: to-rem(12); } diff --git a/attack-theme/templates/general/attack-index.html b/attack-theme/templates/general/attack-index.html index 533fde64265..d3c84bb6aa9 100644 --- a/attack-theme/templates/general/attack-index.html +++ b/attack-theme/templates/general/attack-index.html @@ -17,7 +17,7 @@
- Getting Started + Get Started | Take a Tour @@ -25,7 +25,7 @@ |
- Contribute + Contribute |
Blog ![]()
+
{% set conID = "-".join(con.date.split(' ')) %}
{% endblock %}
diff --git a/attack-theme/templates/general/base-template.html b/attack-theme/templates/general/base-template.html
index 9a47efa6eff..d4c098d9768 100644
--- a/attack-theme/templates/general/base-template.html
+++ b/attack-theme/templates/general/base-template.html
@@ -94,14 +94,14 @@
diff --git a/modules/resources/templates/presentation-archive.html b/modules/resources/templates/presentation-archive.html
index 388f30982ad..f27ee994f67 100644
--- a/modules/resources/templates/presentation-archive.html
+++ b/modules/resources/templates/presentation-archive.html
@@ -13,6 +13,7 @@
diff --git a/modules/resources/templates/related-projects.html b/modules/resources/templates/related-projects.html
deleted file mode 100644
index ed667dd7745..00000000000
--- a/modules/resources/templates/related-projects.html
+++ /dev/null
@@ -1,117 +0,0 @@
-{% extends "general/two-column.html" %}
-{% set active_page = "resources" -%}
-{% set title = "Related Projects | MITRE ATT&CK®" -%}
-{% import 'macros/navigation.html' as navigation %}
-
-{% block innerleft %}
-
-{% endblock %}
-
-{% block innerright %}
-
-
-
-
+ {% if "sponsors_img_list" in con %}
+
{{ con.title }} Presentations and Sponsors+ {% else %} +{{ con.title }} Presentations+ {% endif %} + {% set ifSponsor = "sponsors_img_list" in con %} {% if "banner_img" in con %}@@ -119,12 +126,7 @@ {% endfor %}
- {% if "sponsors_img" in con %}
-
-
-
- {% elif "sponsors_img_list" in con %}
+ {% if "sponsors_img_list" in con %}
Sponsors-Sponsors
@@ -139,7 +141,6 @@
Sponsors
-
-{% endblock %}
-
-{% block scripts %}
-{{ super() }}
-
-
-{% endblock %}
\ No newline at end of file
diff --git a/modules/resources/templates/resources.html b/modules/resources/templates/resources.html
index 472702d2c2d..616193a685f 100644
--- a/modules/resources/templates/resources.html
+++ b/modules/resources/templates/resources.html
@@ -1,8 +1,8 @@
{% extends "general/two-column.html" %}
{% set active_page = "resources" -%}
-{% set title = page.title + " | MITRE ATT&CK®" -%}
-{% set parsed = page.data | from_json %}
+{% set title = "Get Started | MITRE ATT&CK®" -%}
{% import 'macros/navigation.html' as navigation %}
+{% import 'macros/contact_card.html' as contact_card %}
{% block innerleft %}
@@ -10,143 +10,231 @@
{% block innerright %}
+
-
-
-
-
-
-
- Related Projects-
-
-
-
-
- ![]()
-
- ATT&CK GitHub Organization-The MITRE ATT&CK GitHub organization was created to hold current and future ATT&CK-related content, including this website! -
-
-
-
-
- CALDERA-Caldera is the world’s leading open-source, scalable adversary emulation platform. With the ATT&CK knowledge base as its backbone, Caldera empowers cyber practitioners to save time, money, and energy through automated adversary emulation operations, security assessments, and red-teaming. -
-
-
- ![]()
-
- ATT&CK Navigator GitHub Repository-The ATT&CK Navigator is designed to provide basic navigation and annotation of ATT&CK matrices. -
-
-
-
-
- CASCADE-CASCADE is a research project at MITRE which seeks to automate much of the investigative work a “blue-team” team would perform to determine the scope and maliciousness of suspicious behavior on a network using host data. -
-
-
-
-
- ATT&CK Expressed in STIX-Structured Threat Information Expression (STIX™) is a language and serialization format used to exchange cyber threat intelligence (CTI). -
-
-
-
- CAR-The Cyber Analytics Repository (CAR) is a knowledge base of analytics developed by MITRE based on the ATT&CK® adversary model. -
-
- Related Standardization Efforts-
-
-
- ![]()
-
- CAPEC-
-
- - Common Attack Pattern Enumeration and Classification (CAPEC™) is an effort to provide a publicly available catalog of common attack patterns classified in an intuitive manner, along with a comprehensive schema for describing related attacks and sharing information about those attacks. Understanding adversary behavior is increasingly important in cybersecurity. Two approaches exist for organizing knowledge about adversary behavior – CAPEC and ATT&CK, each focused on a specific set of use-cases. Please visit the CAPEC and ATT&CK Comparison page that explains the similarities, differences, and relationship between CAPEC and ATT&CK and the role of each in cybersecurity. - -- The ATT&CK and CAPEC efforts are collaborating to map related details between ATT&CK techniques and CAPEC attack patterns. CAPEC has incorporated an initial mapping of ATT&CK techniques in version 2.8 and related ATT&CK techniques have CAPEC ID references. - -
-
- ![]()
-
- MAEC-
-
- - Malware Attribute Enumeration and Characterization (MAEC™) is a collaborative community-driven effort to define and develop a standardized language for sharing structured information about malware based upon attributes such as behaviors, artifacts, and attack patterns. The characterization of malware using abstract patterns offers a wide range of benefits over the usage of physical signatures. It allows for the accurate encoding of how malware operates and the specific actions that it performs. Such information can not only be used for malware detection but also for assessing the end-goal the malware is pursuing and the corresponding threat that it represents. Focusing on the attributes and behaviors of malware facilitates detection and analysis of emerging, sophisticated malware threats that circumvent the traditional signature-based and heuristic approaches. Characterizing malware in a standard way supports collaboration across organizations and the identification of common behavior, functionality, and code bases across instances of malware. - -- There exists alignment and overlap between some of the post-access techniques covered by ATT&CK and the capability and behavior abstractions that are part of MAEC’s standardized characterization of malware behavior. While ATT&CK takes a general approach, remaining agnostic to specific tools adversaries may use, there is still value in relating back to standardized methods of describing certain attributes of malware wherever applicable. - -
-
-
-
-
{% endblock %}
diff --git a/modules/website_build/static_pages/terms-of-use-redirect.md b/modules/website_build/static_pages/terms-of-use-redirect.md
index efe01690428..87a7428be2f 100644
--- a/modules/website_build/static_pages/terms-of-use-redirect.md
+++ b/modules/website_build/static_pages/terms-of-use-redirect.md
@@ -1,4 +1,4 @@
Title: Terms of Use
Template: general/redirect-index
-RedirectLink: /resources/terms-of-use
+RedirectLink: /resources/legal-and-branding/terms-of-use
save_as: terms/index.html
diff --git a/modules/website_build/static_pages/terms-of-use.md b/modules/website_build/static_pages/terms-of-use.md
index 954c507ff52..aa566696e45 100644
--- a/modules/website_build/static_pages/terms-of-use.md
+++ b/modules/website_build/static_pages/terms-of-use.md
@@ -3,8 +3,8 @@ Template: general/intro-overview
Date: 2018
Category: Cyber Threat Intelligence
Authors: Blake Strom
-url: /resources/terms-of-use
-save_as: resources/terms-of-use/index.html
+url: /resources/legal-and-branding/terms-of-use
+save_as: resources/legal-and-branding/terms-of-use/index.html
#### LICENSE
-
-
- Papers-Philosophy Papers: These whitepapers provide an in-depth look at why we created these ATT&CK domains, how we maintain and update them, and what the community commonly uses them for. -
Finding Cyber Threats with ATT&CK-Based Analytics: This paper presents a methodology for using ATT&CK to build, test, and refine behavioral-based analytic detection capabilities using adversary emulation. -
-
{% endblock %}
diff --git a/modules/resources/templates/training-cti.html b/modules/resources/templates/training-cti.html
index 466a4a74c57..00d4ad589fa 100644
--- a/modules/resources/templates/training-cti.html
+++ b/modules/resources/templates/training-cti.html
@@ -13,9 +13,8 @@
diff --git a/modules/resources/templates/training.html b/modules/resources/templates/training.html
index c7786a18ead..f27e5d8951d 100644
--- a/modules/resources/templates/training.html
+++ b/modules/resources/templates/training.html
@@ -12,7 +12,8 @@
Presentations-
@@ -20,7 +21,7 @@
ATT&CK Training
|