├── .gitignore ├── README.md ├── bt-angular ├── #bower.json# ├── .gitignore ├── 800-53-controls-processed.json ├── 800-53-controls-processed.xml ├── 800-53-controls.json ├── 800-53-controls.xml ├── Gruntfile.js ├── README.txt ├── bower.json ├── package.json ├── public │ ├── .DS_Store │ ├── README.txt │ ├── app.js │ ├── index.html │ ├── layout │ │ ├── form-history.html │ │ ├── form-modifier.html │ │ ├── form-profile.html │ │ ├── form-selection.html │ │ ├── history-item-template.html │ │ └── row-header-template.html │ ├── lib │ │ ├── angular-animate.js │ │ ├── angular-aria.js │ │ ├── angular-file-upload.js │ │ ├── angular-material.css │ │ ├── angular-material.js │ │ ├── angular.js │ │ ├── index.js │ │ ├── release │ │ │ └── angular-ui-router.js │ │ ├── ui-grid.css │ │ ├── ui-grid.eot │ │ ├── ui-grid.js │ │ ├── ui-grid.svg │ │ ├── ui-grid.ttf │ │ ├── ui-grid.woff │ │ ├── ui-layout.css │ │ └── ui-layout.js │ ├── lib_icon │ │ ├── ic_add_circle_outline_48px.svg │ │ ├── ic_adjust_48px.svg │ │ ├── ic_block_48px.svg │ │ ├── ic_remove_circle_outline_48px.svg │ │ └── ic_tonality_48px.svg │ ├── lib_static │ │ └── FileSaver.js │ ├── model │ │ ├── form.controller.js │ │ ├── grid.controller.js │ │ ├── history-item.directive.js │ │ ├── history.controller.js │ │ ├── mod.controller.js │ │ └── profile.controller.js │ ├── npm-debug.log │ ├── services │ │ ├── dirty.filter.js │ │ ├── family.filter.js │ │ ├── measure.filter.js │ │ ├── parent.filter.js │ │ ├── securityMeasuresJSON.factory.js │ │ └── userRecords.factory.js │ └── style.css └── server.js ├── bt ├── 800-53-controls.xml ├── 800-53db-syntax.txt ├── ISSUES.txt ├── TODO.txt ├── analytics.xml ├── bt-model │ ├── matrix.xml │ ├── stylesheet-profile.xsl │ └── stylesheet.xsl ├── bt.xml ├── bt2.xml ├── build.xml ├── cat-dropdown.xsl ├── catalog.xsl ├── chrome.cmd ├── core.xsl ├── core11.xsl ├── csfbrowse.xml ├── cyber.xml ├── doc │ ├── NIST-landing-page.docx │ ├── NIST.SP.800-82r2.html │ ├── UserGuide.docx │ ├── core.rnc │ └── images │ │ ├── AC-2-ics.png │ │ ├── AC-2-nvd-description.png │ │ ├── AC-2-nvd.png │ │ ├── CSF_800-53_800-82_scenario.odg │ │ ├── CSF_800-53_800-82_scenario.png │ │ ├── PR.AC-constrained.png │ │ ├── PR.AC-constrained2.png │ │ ├── PR.AC-selected.png │ │ ├── core-PR.AC-1.png │ │ ├── crossrefs-AC-2.png │ │ ├── crossrefs-CM-8.png │ │ ├── crossrefs-IA-3.png │ │ ├── editor-AC-2.png │ │ ├── editor-IA-3-baseline-constraint.png │ │ ├── editor-IA-3-impact-constraint.png │ │ ├── editor-IA-3-tailored-ics.png │ │ ├── editor-IA-3-tailored-xml.png │ │ ├── editor-IA-3-xref-constraint.png │ │ ├── editor-IA-3.png │ │ ├── oXygen-IA-3.png │ │ ├── prefs-button.png │ │ ├── prefs-expanded.png │ │ ├── profile-tab.png │ │ ├── screenshot.png │ │ ├── security_control_editor_scenario.odg │ │ └── security_control_editor_scenario.png ├── examples │ ├── PE-11.xml │ ├── flag.xsl │ ├── ics-low-baseline.xml │ ├── ics-low.xml │ ├── iso-schematron.rnc │ ├── low-only.xsl │ ├── tailored.rnc │ └── tailored.sch ├── families.xsl ├── ics.xsl ├── images │ ├── G-clef.svg │ ├── Needle_and_thread_silhouette.png │ ├── Needle_and_thread_silhouette.svg │ ├── factory.ico │ ├── favicon.ico │ ├── link.ico │ └── scap-composer.png ├── index.html ├── insert │ ├── nist-footer.xml │ └── nist-header.xml ├── internalize.xsl ├── nist_github_header.css ├── nist_logo.png ├── nist_logo_mark.png ├── seasons.xml ├── spreadsheet.xml ├── styles.css └── subcategories.xsl ├── bt15 ├── bt15.xml └── build.xml ├── content ├── CSF │ ├── FrameworkCore.dita │ ├── ID.dita │ ├── ID │ │ ├── AM.dita │ │ ├── AM │ │ │ ├── 1.dita │ │ │ └── 2.dita │ │ ├── BE.dita │ │ └── BE │ │ │ └── 1.dita │ ├── PR.dita │ ├── PR │ │ ├── AC.dita │ │ └── AC │ │ │ └── 1.dita │ ├── ReusableComponents │ │ ├── informativeRefsTitle.dita │ │ └── keys.ditamap │ ├── core.ditamap │ ├── coreSubjectScheme.ditamap │ ├── coreTaxonomy.ditamap │ └── profile.ditaval ├── apparmor-ds-ditamap.xml ├── apparmor-ds.ditamap ├── apparmor-ds.xml ├── apparmor-oval.xml ├── apparmor-xccdf.xml ├── cisco-ds.ditamap ├── cisco-sa-20170726-anidos_692-xccdf.xml ├── cisco-sa-20170726-anidos_692.xml ├── family_validation_content-cpe-dictionary.xml ├── family_validation_content-cpe-oval.xml ├── family_validation_content-oval.xml ├── family_validation_content-xccdf.xml ├── oscal │ └── NIST_SP-800-53_rev4_MODERATE-baseline_profile.xml ├── scap-component-keys.ditamap ├── source_data_stream_collection_sample-ditamap.xml ├── source_data_stream_collection_sample-generalized.ditamap ├── source_data_stream_collection_sample-map.ditamap ├── source_data_stream_collection_sample.ditamap ├── source_data_stream_collection_sample.xml ├── test-ds.xml ├── test-oval.xml └── test-xccdf.xml └── dita ├── LICENSE-composer.txt ├── README-composer.txt ├── README.md ├── build.xml ├── csf ├── core.ditamap ├── core2dita.xsl └── profile.ditaval ├── examples ├── U_Windows_10_V1R12_STIG │ ├── Benchmark-oval.xml │ ├── Benchmark-xccdf.xml │ ├── Source_Data_Stream_Collection.ditamap │ ├── cpe-dictionary.xml │ └── cpe-oval.xml ├── U_Windows_10_V1R13_STIG_SCAP_1-2 │ ├── U_Windows_10_V1R13_STIG_SCAP_1-2-tailoring.xml │ ├── U_Windows_10_V1R13_STIG_SCAP_1-2.ditamap │ ├── U_Windows_10_V1R13_STIG_SCAP_1-2_Benchmark-cpe-dictionary.xml │ ├── U_Windows_10_V1R13_STIG_SCAP_1-2_Benchmark-cpe-oval.xml │ ├── U_Windows_10_V1R13_STIG_SCAP_1-2_Benchmark-oval.xml │ ├── U_Windows_10_V1R13_STIG_SCAP_1-2_Benchmark-xccdf.xml │ └── original │ │ └── U_Windows_10_V1R13_STIG_SCAP_1-2_Benchmark.xml ├── U_Windows_7_V1R36_STIG_SCAP_1-2 │ ├── U_Windows_7_V1R36_STIG_SCAP_1-2.ditamap │ ├── cpe-dictionary.xml │ ├── cpe-oval.xml │ ├── original │ │ └── U_Windows_7_V1R36_STIG_SCAP_1-2_Benchmark.xml │ ├── oval.xml │ └── xccdf.xml ├── Windows_10_V1R15_STIG_SCAP_1-2 │ ├── README.md │ ├── U_MS_Windows_10_V1R15_STIG_SCAP_1-2_Benchmark-cpe-dictionary.xml │ ├── U_MS_Windows_10_V1R15_STIG_SCAP_1-2_Benchmark-cpe-oval.xml │ ├── U_MS_Windows_10_V1R15_STIG_SCAP_1-2_Benchmark-oval.xml │ ├── U_MS_Windows_10_V1R15_STIG_SCAP_1-2_Benchmark-xccdf.xml │ ├── Windows_10_V1R15_STIG_SCAP_1-2-tailoring.xml │ ├── Windows_10_V1R15_STIG_SCAP_1-2.ditamap │ └── original │ │ └── U_MS_Windows_10_V1R15_STIG_SCAP_1-2_Benchmark.xml ├── cis-w10 │ ├── CIS_Microsoft_Windows_10_Enterprise_Release_1703_Benchmark_v1.3.0-cpe-dictionary.xml │ ├── CIS_Microsoft_Windows_10_Enterprise_Release_1703_Benchmark_v1.3.0-cpe-oval.xml │ ├── CIS_Microsoft_Windows_10_Enterprise_Release_1703_Benchmark_v1.3.0-oval.xml │ ├── CIS_Microsoft_Windows_10_Enterprise_Release_1703_Benchmark_v1.3.0-xccdf.xml │ ├── cis-w10-tailoring.ditamap │ ├── cis-w10-tailoring.xml │ └── cis-w10.ditamap ├── kitchen-sink.ditamap ├── nist-example │ ├── README.md │ ├── checklist-content │ │ ├── nist-example-hybrid-tailoring-doc.xml │ │ ├── oval.xml │ │ └── xccdf.xml │ ├── cpe-dictionary.xml │ ├── cpe-oval.xml │ ├── nist-example-external.ditamap │ ├── nist-example-hybrid-tailoring.ditamap │ ├── nist-example-hybrid.ditamap │ └── nist-example-local.ditamap ├── rhel7 │ ├── rhel7-cpe-dict.xml │ ├── rhel7-cpe-oval.xml │ ├── rhel7-ocil.xml │ ├── rhel7-ocil000.xml │ ├── rhel7-oval.xml │ ├── rhel7-oval000.xml │ ├── rhel7-pcidss-xccdf.xml │ ├── rhel7-xccdf.xml │ └── rhel7.ditamap ├── ssg-ubuntu1404 │ ├── README.md │ ├── apparmor-oval.xml │ ├── apparmor-xccdf.xml │ ├── original │ │ ├── ssg-ubuntu1404-ds-1.2.xml │ │ └── ssg-ubuntu1404-ds-1.3.xml │ ├── scap1_2 │ │ ├── apparmor-oval.xml │ │ ├── apparmor-xccdf.xml │ │ ├── ssg-ubuntu1404-1.2.ditamap │ │ ├── ssg-ubuntu1404-cpe-dictionary.xml │ │ ├── ssg-ubuntu1404-cpe-oval.xml │ │ ├── ssg-ubuntu1404-ocil.xml │ │ ├── ssg-ubuntu1404-oval.xml │ │ └── ssg-ubuntu1404-xccdf-1.2.xml │ ├── ssg-ubuntu1404-cpe-dictionary.xml │ ├── ssg-ubuntu1404-cpe-oval.xml │ ├── ssg-ubuntu1404-ocil.xml │ ├── ssg-ubuntu1404-oval.xml │ ├── ssg-ubuntu1404-xccdf-1.2.xml │ └── ssg-ubuntu1404.ditamap ├── trusty-apparmor │ ├── com.ubuntu.trusty.cve-apparmor.oval.xml │ ├── prune.xsl │ ├── pruned-1.2.xml │ ├── pruned.xml │ ├── trusty-1.2.ditamap │ ├── trusty-apparmor-xccdf-1.2.xml │ ├── trusty-apparmor-xccdf.xml │ └── trusty.ditamap ├── usgcb-w7 │ ├── USGCB-Windows-7-2.0.5.1-OCIL.xml │ ├── USGCB-Windows-7-2.0.5.1-cpe-oval.xml │ ├── USGCB-Windows-7-2.0.5.1-oval.xml │ ├── USGCB-Windows-7-2.0.5.1-patches.xml │ ├── USGCB-Windows-7-Energy-2.0.5.1-cpe-oval.xml │ ├── USGCB-Windows-7-Energy-2.0.5.1-oval.xml │ ├── cpe-dictionary.xml │ ├── energy-cpe-dictionary.xml │ ├── energy-xccdf.xml │ ├── usgcb-w7.ditamap │ └── xccdf.xml └── xenial-apparmor │ ├── apparmor.ditamap │ ├── xenial-apparmor-cpe-dictionary.xml │ ├── xenial-apparmor-oval.xml │ └── xenial-apparmor-xccdf.xml ├── images ├── Music-GClef-revised.svg └── scap-composer.odg ├── old ├── hazardstatementDomain.rnc ├── highlightOnlyTopicConstraint.rnc ├── indexingDomain.rnc ├── myTopicWithConstraint.rnc ├── phaseOfMoonAttDomain.rnc ├── utilitiesDomain.rnc └── xmlDomain.rnc ├── plugins ├── .gitignore ├── README.md ├── gov.nist.scap.datastream │ ├── messages.xml │ ├── plugin.xml │ ├── sdsbuild.xml │ └── xsl │ │ ├── componenthref.xsl │ │ ├── scapversion.xsl │ │ ├── sds.xsl │ │ ├── sdsditamap.xsl │ │ └── split.xsl ├── gov.nist.scap.doctypes │ ├── catalog.xml │ ├── css │ │ ├── README.md │ │ ├── dataStreamCollection.css │ │ ├── rule.css │ │ └── scapEnum-d.css │ ├── data-stream-collection.xlsx │ ├── dtd │ │ ├── catalog.xml │ │ ├── concept.dtd │ │ ├── map.dtd │ │ ├── reference.dtd │ │ ├── reverseDNSAttDomain.ent │ │ ├── rule │ │ │ ├── catalog.xml │ │ │ ├── rule.dtd │ │ │ ├── rule.ent │ │ │ └── rule.mod │ │ ├── scapDataStreamCollection.dtd │ │ ├── scapDataStreamCollection.mod │ │ ├── scapDataStreamCollectionConstraints.mod │ │ ├── scapDataStreamDomain.ent │ │ ├── scapDataStreamDomain.mod │ │ ├── scapEnumDomain.ent │ │ ├── scapEnumDomain.mod │ │ ├── scapNameAttDomain.ent │ │ ├── scapVersionAttDomain.ent │ │ ├── schematronVersionAttDomain.ent │ │ ├── task.dtd │ │ ├── topic.dtd │ │ └── useCaseAttDomain.ent │ ├── plugin.xml │ ├── rnc │ │ ├── catalog.xml │ │ ├── commonElementsMod.rnc │ │ ├── delayResolutionDomain.rnc │ │ ├── deliveryTargetAttDomain.rnc │ │ ├── ditavalrefDomain.rnc │ │ ├── highlightDomain.rnc │ │ ├── mapGroupDomain.rnc │ │ ├── mapMod.rnc │ │ ├── metaDeclMod.rnc │ │ ├── scapDataStreamCollection.rnc │ │ ├── scapDataStreamCollectionConstraintMod.rnc │ │ ├── scapDataStreamCollectionMod.rnc │ │ ├── scapDataStreamConstraint.rnc │ │ ├── scapDataStreamDomain.rnc │ │ ├── scapLocalUriAttDomain.rnc │ │ ├── scapNameAttDomain.rnc │ │ ├── scapReverseDNSAttDomain.rnc │ │ ├── scapSchematronVersionAttDomain.rnc │ │ ├── scapUseCaseAttDomain.rnc │ │ ├── scapVersionAttDomain.rnc │ │ ├── tblDeclMod.rnc │ │ └── topicMod.rnc │ ├── rng │ │ ├── catalog.xml │ │ ├── commonElementsMod.rng │ │ ├── delayResolutionDomain.rng │ │ ├── deliveryTargetAttDomain.rng │ │ ├── ditavalrefDomain.rng │ │ ├── highlightDomain.rng │ │ ├── mapGroupDomain.rng │ │ ├── mapMod.rng │ │ ├── metaDeclMod.rng │ │ ├── scapDataStreamCollection.rng │ │ ├── scapDataStreamCollectionConstraintMod.rng │ │ ├── scapDataStreamCollectionMod.rng │ │ ├── scapDataStreamConstraint.rng │ │ ├── scapDataStreamDomain.rng │ │ ├── scapLocalUriAttDomain.rng │ │ ├── scapNameAttDomain.rng │ │ ├── scapReverseDNSAttDomain.rng │ │ ├── scapSchematronVersionAttDomain.rng │ │ ├── scapUseCaseAttDomain.rng │ │ ├── scapVersionAttDomain.rng │ │ └── tblDeclMod.rng │ └── template_folders │ │ └── Maps │ │ ├── Map (Single XML Resource).ditamap │ │ ├── Map (Single XML Resource).properties │ │ └── Relax NG (Compact Syntax) │ │ ├── SCAP SDS Collection (RNC).ditamap │ │ └── SCAP SDS Collection (RNC).properties └── gov.nist.scap.split │ ├── plugin.xml │ ├── splitbuild.xml │ └── xsl │ └── split.xsl ├── scapComposer.scenarios └── templates ├── Concept-SCAP.dita └── Rule-SCAP.dita /.gitignore: -------------------------------------------------------------------------------- 1 | /bt/ics 2 | /bt/xsltforms/ 3 | /bt/xhtml+xforms11/ 4 | /bt/xforms11/ 5 | /bt/xsltforms-RC1/ 6 | /bt/schemas.xml 7 | /bt/examples/schemas.xml 8 | /bt/families.xml 9 | /bt/temp.html 10 | /bt/BT/ 11 | 12 | 13 | scap-schematron-rules-1.2.6-website 14 | xsd 15 | /dita/dist 16 | # /dita/examples/rhel7/out 17 | /content/out 18 | # /dita/examples/temp 19 | # /dita/examples/out 20 | # /dita/examples/usgcb-w7/out 21 | # /dita/examples/usgcb-w7/temp 22 | # /dita/examples/xenial-apparmor/out 23 | # /dita/examples/xenial-apparmor/temp 24 | # /dita/examples/cis-w10/out 25 | # /dita/examples/cis-w10/temp 26 | /dita/examples/**/temp 27 | /dita/examples/**/out 28 | faketxt 29 | components 30 | /bt/bt-model/subcategories.xml 31 | /bt/bt-model/catalog.xml 32 | /bt/bt-model/cat-dropdown.xml 33 | /bt/bt-model/core.xml 34 | /bt/bt-model/families.xml 35 | *.xml~ 36 | *.ditamap~ 37 | *.dita~ 38 | tinymce_4.7.1 39 | schemas.xml 40 | /dita/examples/ssg-ubuntu1404/composed 41 | /dita/composer 42 | /dita/plugins/fox.jason.splash-2.0.0 43 | /dita/plugins/gov.nist.dita.v1_3.rnc 44 | /dita/plugins/gov.nist.scap.rncdoctypes 45 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # sctools 2 | Tools for security content automation, baseline tailoring, and overlay development. 3 | Currently includes Baseline Tailor with associated schemas and data, and also 4 | [DITA Open Toolkit](https://www.dita-ot.org)plugins for 5 | [SCAP](https://scap.nist.gov). 6 | For more information, see https://pages.nist.gov/sctools. 7 | -------------------------------------------------------------------------------- /bt-angular/#bower.json#: -------------------------------------------------------------------------------- 1 | : -------------------------------------------------------------------------------- /bt-angular/.gitignore: -------------------------------------------------------------------------------- 1 | bower_components/ 2 | node_modules/ 3 | *~ -------------------------------------------------------------------------------- /bt-angular/Gruntfile.js: -------------------------------------------------------------------------------- 1 | // this is the grunt script that lints the javascript, copies libraries, and starts the server 2 | module.exports = function (grunt) { 3 | 4 | grunt.initConfig({ 5 | 6 | pkg: grunt.file.readJSON('package.json'), 7 | 8 | // executes the node server 9 | nodemon: { 10 | dev: { 11 | script: 'server.js' 12 | } 13 | }, 14 | 15 | // copies front-end third-party files (ex: angular.js) into the public/lib folder 16 | bower: { 17 | dev: { 18 | dest: 'public/lib' 19 | } 20 | }, 21 | 22 | // checks my javascript files for bugs 23 | jshint: { 24 | myFiles: ['Gruntfile.js', 'public/model/*.js', 'public/*.js', 'public/services/*.js', 'server.js'] 25 | } 26 | 27 | }); 28 | 29 | // load the tasks 30 | grunt.loadNpmTasks('grunt-bower'); 31 | grunt.loadNpmTasks('grunt-nodemon'); 32 | grunt.loadNpmTasks('grunt-contrib-jshint'); 33 | 34 | // set the tasks to be executed when 'grunt' is called 35 | grunt.registerTask('default', ['jshint', 'bower','nodemon']); 36 | 37 | }; 38 | -------------------------------------------------------------------------------- /bt-angular/README.txt: -------------------------------------------------------------------------------- 1 | Welcome to a SP-800-53 online editor. 2 | 3 | Dependencies: 4 | - nodejs 5 | - bower 6 | - grunt-cli 7 | - npm 8 | 9 | Steps to run: 10 | 1: Execute 'npm install' in the local directory that contains 'package.json' 11 | 2: Execute 'grunt' from the bt-angular directory to run the server. 12 | 3: Type 'localhost:8004' into the search field of your browser 13 | 14 | Please contact me at andrew_badger@mac.com if you run into any issues. 15 | -------------------------------------------------------------------------------- /bt-angular/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bt-angular", 3 | "private": true, 4 | "devDependencies": { 5 | "angular-material": "~0.8.3", 6 | "angular-ui-layout": "bower", 7 | "angular": "~1.3.15", 8 | "angular-ui-router": "~0.2.13", 9 | "angular-ui-grid": "~3.0.0-rc.20", 10 | "ng-file-upload": "~3.2.4" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /bt-angular/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bt-angular", 3 | "version": "0.1.0", 4 | "author": "Andrew Badger", 5 | "private": "true", 6 | "devDependencies": { 7 | "busboy": "^0.2.9", 8 | "express": "^4.12.3", 9 | "grunt": "~0.4.0", 10 | "grunt-bower": "^0.18.0", 11 | "grunt-contrib-jshint": "^0.11.1", 12 | "grunt-nodemon": "^0.4.0", 13 | "q": "^1.2.0", 14 | "xml2js": "^0.4.6", 15 | "xmlbuilder": "^2.6.2" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /bt-angular/public/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt-angular/public/.DS_Store -------------------------------------------------------------------------------- /bt-angular/public/README.txt: -------------------------------------------------------------------------------- 1 | Welcome to a SP-800-53 online editor. 2 | 3 | Dependencies: 4 | - nodejs 5 | 6 | Steps to run: 7 | 1: Execute 'node server.js ' from the bt-angular directory to run the server. 8 | 2: type localhost: into the search field of your browser (ex: localhost:8004) 9 | 10 | Please contact me at andrew_badger@mac.com if you run into any issues. 11 | 12 | There is a degree of repetition and bloat in the inclusion of third-party libraries at the time of writing. -------------------------------------------------------------------------------- /bt-angular/public/app.js: -------------------------------------------------------------------------------- 1 | // This is where the angular application is declared and configured 2 | var app = angular 3 | .module('app', [ 4 | 'ui.layout', 5 | 'ui.router', 6 | 'ngMaterial', 7 | 'ui.grid', 8 | 'ui.grid.autoResize', 9 | 'ui.grid.selection', 10 | 'angularFileUpload']); 11 | 12 | app.config( function($stateProvider, $urlRouterProvider, $mdThemingProvider) { 13 | $stateProvider 14 | .state('root', { 15 | url: '/', 16 | views: { 17 | 'header': { templateUrl: 'layout/form-profile.html'}, 18 | 'history': { templateUrl: 'layout/form-history.html' }, 19 | 'selector': { templateUrl: 'layout/form-selection.html' }, 20 | 'modifier': { templateUrl: 'layout/form-modifier.html' } 21 | } 22 | 23 | }); 24 | 25 | $urlRouterProvider.otherwise('/'); 26 | 27 | $mdThemingProvider.theme('default') 28 | .primaryPalette('light-blue') 29 | .accentPalette('cyan'); 30 | }); 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /bt-angular/public/layout/form-history.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |

4 | Session 5 |

6 | 7 | 8 | {{hist.inheritedTailoring?hist.inheritedTailoring:'this'}} 9 | {{ (opt.profile.name.length>0)?opt.profile.name:'this' }} 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 |
Baseline
21 |
Scoped
22 |
Added
23 |
Compensating
24 |
Not Included
25 |
26 |
27 | 28 | 29 | 30 |
31 |
32 | 33 | 34 |
35 | 36 |
-------------------------------------------------------------------------------- /bt-angular/public/layout/form-profile.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

5 | 6 | 7 | 8 | {{'Overlay'}} 9 | {{ (opt.profile.name.length>0)?opt.profile.name:'nothing' }} 10 | 11 | 12 | 13 | 14 | 15 | {{'Apply'}} 16 | {{ (opt.profile.name.length>0)?opt.profile.name:'nothing' }} 17 | 18 | 19 | 20 | 21 | 22 | 23 | Base Line Impact 24 | 25 | L 26 | M 27 | H 28 | 29 | 30 | SP 800-53 Wizard 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
40 |
41 | 42 |

43 |
44 | 45 | 46 |
-------------------------------------------------------------------------------- /bt-angular/public/layout/form-selection.html: -------------------------------------------------------------------------------- 1 | 2 |

3 | Catalog {{'{ '+(catalog.dispData.length>0?catalog.dispData.length:catalog.srcData.length)+' }' }} 4 |

5 | 6 | {{ catalog.familyFilter.length ? catalog.familyFilter.length+' Families' : ' All Families' }} 7 | {{ opt.toUpperCase() }} 8 | 9 | 10 | 11 | {{ catalog.measureFilter.length ? catalog.measureFilter.length+' Measures' : ' All Measures' }} 12 | {{ opt.uid + ': ' + opt.config.title }} 13 | 14 | 15 | 16 |
17 | 18 | 19 |
20 | 21 |
22 | 23 |
24 | -------------------------------------------------------------------------------- /bt-angular/public/layout/history-item-template.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |

{{uid}}

4 |
{{item.collapseEntry()?'Collapse':'Expand'}}
5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
-------------------------------------------------------------------------------- /bt-angular/public/lib/index.js: -------------------------------------------------------------------------------- 1 | // http://paulirish.com/2011/requestanimationframe-for-smart-animating/ 2 | // http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating 3 | 4 | // requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel 5 | 6 | // MIT license 7 | 8 | (function() { 9 | var lastTime = 0; 10 | var vendors = ['ms', 'moz', 'webkit', 'o']; 11 | for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) { 12 | window.requestAnimationFrame = window[vendors[x]+'RequestAnimationFrame']; 13 | window.cancelAnimationFrame = window[vendors[x]+'CancelAnimationFrame'] 14 | || window[vendors[x]+'CancelRequestAnimationFrame']; 15 | } 16 | 17 | if (!window.requestAnimationFrame) 18 | window.requestAnimationFrame = function(callback, element) { 19 | var currTime = new Date().getTime(); 20 | var timeToCall = Math.max(0, 16 - (currTime - lastTime)); 21 | var id = window.setTimeout(function() { callback(currTime + timeToCall); }, 22 | timeToCall); 23 | lastTime = currTime + timeToCall; 24 | return id; 25 | }; 26 | 27 | if (!window.cancelAnimationFrame) 28 | window.cancelAnimationFrame = function(id) { 29 | clearTimeout(id); 30 | }; 31 | }()); -------------------------------------------------------------------------------- /bt-angular/public/lib/ui-grid.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt-angular/public/lib/ui-grid.eot -------------------------------------------------------------------------------- /bt-angular/public/lib/ui-grid.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt-angular/public/lib/ui-grid.ttf -------------------------------------------------------------------------------- /bt-angular/public/lib/ui-grid.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt-angular/public/lib/ui-grid.woff -------------------------------------------------------------------------------- /bt-angular/public/lib/ui-layout.css: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | UI.Layout CSS 4 | *************************************/ 5 | .stretch { 6 | position: absolute; 7 | top: 0; 8 | left: 0; 9 | right: 0; 10 | bottom: 0; 11 | /* Can be changed by hand ;)*/ 12 | overflow: auto; 13 | } 14 | 15 | .ui-splitbar{ 16 | display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ 17 | display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works) */ 18 | display: -ms-flexbox; /* TWEENER - IE 10 */ 19 | display: -webkit-flex; /* NEW - Chrome */ 20 | display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */ 21 | -webkit-justify-content: center; 22 | justify-content: center; 23 | 24 | background-color: #ffffff; 25 | right: auto; 26 | position: absolute; 27 | z-index: 1010; 28 | } 29 | 30 | .ui-layout-row > .ui-splitbar{ 31 | height: 8px; width: 100%; 32 | cursor: row-resize; 33 | text-align: center; 34 | justify-content: center; 35 | align-items: center; 36 | } 37 | .ui-layout-column > .ui-splitbar{ 38 | width: 8px; height: 100%; 39 | cursor: col-resize; 40 | -webkit-flex-direction: column; 41 | flex-direction: column; 42 | } 43 | 44 | .ui-layout-column > .ui-splitbar > a, 45 | .ui-layout-row > .ui-splitbar > a { 46 | color: #fff; 47 | cursor: pointer; 48 | font-size: 9px; 49 | } -------------------------------------------------------------------------------- /bt-angular/public/lib_icon/ic_add_circle_outline_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bt-angular/public/lib_icon/ic_adjust_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bt-angular/public/lib_icon/ic_block_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bt-angular/public/lib_icon/ic_remove_circle_outline_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bt-angular/public/lib_icon/ic_tonality_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bt-angular/public/model/form.controller.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | 'use strict'; 3 | 4 | angular 5 | .module('app') 6 | .controller('FormCtrl', FormCtrl); 7 | 8 | /* @ngInject */ 9 | /* 10 | * This is the Angular controller for the entire view. It currently has no assigned actions 11 | */ 12 | function FormCtrl() { 13 | /*jshint validthis: true */ 14 | 15 | } 16 | })(); -------------------------------------------------------------------------------- /bt-angular/public/model/history-item.directive.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | 3 | angular 4 | .module('app') 5 | .directive('historyItem', historyItem); 6 | 7 | /* @ngInject */ 8 | function historyItem () { 9 | // Usage: This is used in the form-history ng-repeat. 10 | // 11 | // Creates: A box that shows a single change from UserRecords 12 | // 13 | var directive = { 14 | controller: controller, 15 | controllerAs: 'item', 16 | link: link, 17 | restrict: 'E', 18 | scope: { 19 | uid: "=", 20 | modification: "=" 21 | }, 22 | templateUrl: 'layout/history-item-template.html' 23 | 24 | }; 25 | return directive; 26 | 27 | function link(scope, element, attrs) { 28 | } 29 | 30 | function controller() { 31 | var vm = this; 32 | vm.collapse = collapse; 33 | vm.collapseEntry = collapseEntry; 34 | vm.glyphClass = 'glyphicon glyphicon-circle-arrow-left'; 35 | 36 | // The following logic sets the glyphcon of the arrow that shows the collapse state 37 | function collapse() { 38 | vm.glyphClass = vm.glyphClass==='glyphicon glyphicon-circle-arrow-left'? 39 | 'glyphicon glyphicon-circle-arrow-down': 40 | 'glyphicon glyphicon-circle-arrow-left'; 41 | } 42 | 43 | // The following logic switches the arrow to pointing down 44 | function collapseEntry() { 45 | return vm.glyphClass==='glyphicon glyphicon-circle-arrow-down'; 46 | } 47 | } 48 | } 49 | })(); -------------------------------------------------------------------------------- /bt-angular/public/model/history.controller.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | 'use strict'; 3 | 4 | angular 5 | .module('app') 6 | .controller('HistoryCtrl', HistoryCtrl); 7 | 8 | /* 9 | * This Angular controller has the required wiring for the session log histry 10 | */ 11 | /* @ngInject */ 12 | HistoryCtrl.$inject = ['UserRecords']; 13 | function HistoryCtrl(UserRecords) { 14 | /*jshint validthis: true */ 15 | var vm = this; 16 | vm.title = 'HistoryCtrl'; 17 | 18 | // access the record list 19 | vm.modifications = modifications; 20 | vm.currentMod = currentMod; 21 | vm.selectLog = selectLog; 22 | vm.dirtyList = dirtyList; 23 | vm.inherited = inherited; 24 | vm.inheritedTailoring = null; // the selected tailoring 25 | 26 | // get the currently selected record 27 | function currentMod() { 28 | return UserRecords.focusRecord; 29 | } 30 | 31 | // sets the currently selected record 32 | function selectLog(uid) { 33 | UserRecords.focusID(uid); 34 | } 35 | 36 | // a getter for the modified records 37 | function dirtyList() { 38 | var ref = UserRecords.dirtySubSet(); 39 | return ref; 40 | } 41 | 42 | // a getter for the records 43 | function modifications() { 44 | 45 | if(vm.inheritedTailoring) { 46 | return UserRecords.inheritedDict[vm.inheritedTailoring]; 47 | } else { 48 | return UserRecords.recordDict; 49 | } 50 | } 51 | 52 | // returns the list of uploaded tailorings/overlays + the current record 53 | function inherited() { 54 | var ret = {this: UserRecords.recordDict}; 55 | angular.forEach(UserRecords.inheritedDict, function(value, key) { 56 | ret[key] = value; 57 | }); 58 | 59 | return ret; 60 | } 61 | } 62 | })(); -------------------------------------------------------------------------------- /bt-angular/public/services/dirty.filter.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | 'use strict'; 3 | 4 | angular 5 | .module('app') 6 | .filter('dirtyFilter', dirtyFilter); 7 | 8 | // This filter returns all of the controls that have been modified from their defaults 9 | 10 | /* @ngInject */ 11 | function dirtyFilter() { 12 | return func; 13 | 14 | //////////////// 15 | 16 | function func(items) { 17 | var filtered = {}; 18 | 19 | angular.forEach(items, function(value, key) { 20 | if( value.dirty ) { 21 | filtered[key]=value; 22 | } 23 | }); 24 | 25 | return filtered; 26 | } 27 | } 28 | })(); -------------------------------------------------------------------------------- /bt-angular/public/services/family.filter.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | 'use strict'; 3 | 4 | angular 5 | .module('app') 6 | .filter('familyFilter', familyFilter); 7 | 8 | // This filter is used to select all controls that match a certain familyy 9 | 10 | /* @ngInject */ 11 | function familyFilter() { 12 | return func; 13 | 14 | //////////////// 15 | 16 | function func(items, filters) { 17 | var filtered = []; 18 | angular.forEach(items, function(item) { 19 | if(filters.indexOf(item.config.family) > -1 || filters.length === 0) { 20 | filtered.push(item); 21 | } 22 | }); 23 | return filtered; 24 | } 25 | } 26 | })(); -------------------------------------------------------------------------------- /bt-angular/public/services/measure.filter.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | 'use strict'; 3 | 4 | angular 5 | .module('app') 6 | .filter('measureFilter', measureFilter); 7 | 8 | // This filter is used to return the controls and their enhancements as listed among the filtered controls 9 | 10 | /* @ngInject */ 11 | function measureFilter(UserRecords) { 12 | return func; 13 | 14 | //////////////// 15 | 16 | 17 | // filters is a list of controls(ex: AC-2) 18 | function func(items, filters) { 19 | var filtered = []; 20 | if(filters.length ===0) { 21 | return items; 22 | } 23 | angular.forEach(items, function(item) { 24 | if(filters.indexOf(item.uid) > -1 || filters.length === 0) { 25 | filtered.push(item); 26 | if(item.config.enhancements) { 27 | angular.forEach(item.config.enhancements, function(enhancement) { 28 | var mold = UserRecords.recordDict[enhancement]; 29 | filtered.push(mold); 30 | }); 31 | } 32 | } 33 | }); 34 | return filtered; 35 | } 36 | } 37 | })(); -------------------------------------------------------------------------------- /bt-angular/public/services/parent.filter.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | 'use strict'; 3 | 4 | angular 5 | .module('app') 6 | .filter('parentFilter', parentFilter); 7 | 8 | // This filter is used to access the base controls of 800-53 (ignores enhancement controls) 9 | 10 | /* @ngInject */ 11 | function parentFilter() { 12 | return func; 13 | 14 | //////////////// 15 | 16 | function func(items) { 17 | var filtered = {}; 18 | 19 | angular.forEach(items, function(value, key) { 20 | if( value.config.enhancements !== undefined ) { 21 | filtered[key]=value; 22 | } 23 | }); 24 | 25 | return filtered; 26 | } 27 | } 28 | })(); -------------------------------------------------------------------------------- /bt-angular/public/style.css: -------------------------------------------------------------------------------- 1 | .stretch { 2 | /*overflow: hidden !important;*/ 3 | } 4 | .myFluidContainer { 5 | padding: 20px; 6 | width: 100%; 7 | background-color: white; 8 | } 9 | 10 | .table { 11 | font-size: .8em; 12 | } 13 | .tbody { 14 | display: block; 15 | height: 500px; 16 | } 17 | .selectedRow { 18 | border-color: #5bc0de; 19 | background: #5bc0de; 20 | color: white; 21 | } 22 | .enhanceBody { 23 | display: block; 24 | height: 250px; 25 | } 26 | 27 | /* makes the dividers visible */ 28 | .glyphicon-chevron-left, 29 | .glyphicon-chevron-right, 30 | .glyphicon-chevron-up, 31 | .glyphicon-chevron-down{ 32 | color: #aaa; 33 | } 34 | 35 | 36 | 37 | .grid { 38 | position: relative; 39 | width: 100%; 40 | height: 100%; 41 | 42 | } 43 | 44 | .histBox { 45 | display: block; 46 | border-radius: 5px; 47 | background-color: #f7f7f7; 48 | padding: 5px; 49 | } 50 | 51 | 52 | .histOuterBox { 53 | display: block; 54 | border-radius: 5px; 55 | background-color: #f0f0f0; 56 | } 57 | 58 | .center { 59 | margin-left: auto; 60 | margin-right: auto; 61 | margin-top: 2px; 62 | margin-bottom: auto; 63 | width: 100%; 64 | } 65 | -------------------------------------------------------------------------------- /bt/800-53db-syntax.txt: -------------------------------------------------------------------------------- 1 | release-search#!/control?version=4.0&number=AU-3#800-53-body 2 | 3 | release-search#!/controls?version=4.0&family=AU#800-53-body 4 | 5 | release-search#!/controls?version=4.0#800-53-body 6 | 7 | version is either 4.0 or 5.1 8 | 9 | #800-53-body scrolls down to the SP 800-53 Rev [4.0|5.1] heading 10 | 11 | #pageName scrolls down to the SP 800-53 Release Search heading 12 | -------------------------------------------------------------------------------- /bt/ISSUES.txt: -------------------------------------------------------------------------------- 1 | $Id: ISSUES.txt,v 1.2 2015/01/06 15:16:52 lubell Exp $ 2 | 3 | In IE, get selected|added|removed don't update properly in i-settings, resulting in CONTROL BASELINES values not being displayed in the UI 4 | 5 | CONTROL BASELINES values display incorrectly for CM-7 (4) and (5) (blacklisting/whitelisting) 6 | -------------------------------------------------------------------------------- /bt/TODO.txt: -------------------------------------------------------------------------------- 1 | $Id: TODO.txt,v 1.12 2015/01/09 15:31:18 lubell Exp $ 2 | 3 | Fix CVS keywords - don't work with Git 4 | 5 | Decide whether/how to support PM control family 6 | 7 | In IE, get selected|added|removed values to update properly in i-settings 8 | 9 | Merge families and catalog into one transformation/instance 10 | 11 | Implement aggregation of overlay XML to file 12 | 13 | Fix focus problems 14 | 15 | Add ability to upload an overlay XML file 16 | 17 | Fix CONTROL BASELINES values displayed for CM-7 whitelisting/blacklisting 18 | 19 | Write users guide document 20 | 21 | Implement cool 'AJAX-y' UI for baseline and priority filtering 22 | 23 | -------------------------------------------------------------------------------- /bt/analytics.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /bt/bt-model/matrix.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Selected 4 | Selected 5 | Selected 6 | 7 | 8 | Removed 9 | Selected 10 | Selected 11 | 12 | 13 | Removed 14 | Removed 15 | Selected 16 | 17 | 18 | Removed 19 | Removed 20 | Removed 21 | 22 | 23 | Added 24 | Selected 25 | Selected 26 | 27 | 28 | 29 | Selected 30 | Selected 31 | 32 | 33 | 34 | Removed 35 | Selected 36 | 37 | 38 | 39 | Removed 40 | Removed 41 | 42 | 43 | Added 44 | Added 45 | Selected 46 | 47 | 48 | 49 | Added 50 | Selected 51 | 52 | 53 | 54 | 55 | Selected 56 | 57 | 58 | 59 | 60 | Removed 61 | 62 | 63 | Added 64 | Added 65 | Added 66 | 67 | 68 | 69 | Added 70 | Added 71 | 72 | 73 | 74 | 75 | Added 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /bt/bt-model/stylesheet-profile.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | <frameworkProfile> 7 | 8 | 9 | 10 | 11 | </frameworkProfile> 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | <id> 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | </id> 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /bt/cat-dropdown.xsl: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /bt/catalog.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | <xsl:apply-templates select="c:title"/> 25 | 26 | 27 | 28 | 29 | 30 | 31 | 4 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 1 42 | 2 43 | 3 44 | 4 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | <xsl:apply-templates select="c:title"/> 60 | 61 | 62 | 63 | 64 | 65 | 66 | 4 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /bt/chrome.cmd: -------------------------------------------------------------------------------- 1 | start "" "c:\Program Files (x86)\google\chrome\application\chrome.exe" --allow-file-access-from-files -------------------------------------------------------------------------------- /bt/doc/NIST-landing-page.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/NIST-landing-page.docx -------------------------------------------------------------------------------- /bt/doc/UserGuide.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/UserGuide.docx -------------------------------------------------------------------------------- /bt/doc/core.rnc: -------------------------------------------------------------------------------- 1 | default namespace = "" 2 | 3 | start = 4 | ## Framework Core. 5 | element core { 6 | ## Core function. 7 | element function { 8 | ## Two-character identifier. 9 | attribute id { xsd:NCName { pattern='[A-Z][A-Z]' } }, 10 | ## Core function name in all caps. 11 | element name { xsd:NCName { pattern='[A-Z]+' } }, 12 | ## Core category. 13 | element category { 14 | ## Two-character function ID, then a period, then a two-character category ID. Function ID must be the same as that of the containing function's id attribute. 15 | attribute id { xsd:NCName { pattern='[A-Z][A-Z]\.[A-Z][A-Z]' } }, 16 | ## Category name. 17 | element name { text }, 18 | description, 19 | ## Core subcategory. 20 | element subCategory { 21 | ## Category ID, followed by a hyphen, then one or more digits. Category ID must be the same as that of the containing category's id attribute. 22 | attribute id { xsd:NCName { pattern='[A-Z][A-Z]\.[A-Z][A-Z]-\d+' } }, 23 | description, 24 | ## Informative references to NIST SP 800-53 security controls. Contains a list of controls, a control family or, if 'all' flag is true, a '-1' control exception. This content model may need to change for future CSF versions. 25 | element sp800-53 { 26 | ## True if all '-1' controls are informatively referenced. 27 | attribute all { xsd:boolean }?, 28 | ## Security control identifier (two-letter family id, then a hyphen, then one or more digits) 29 | element control { text }*, 30 | (element except { xsd:NCName } 31 | | element family { xsd:NCName })? 32 | } 33 | }+ 34 | }+ 35 | }+ 36 | } 37 | description = 38 | ## Outcome describing a category or subcategory. 39 | element description { text } -------------------------------------------------------------------------------- /bt/doc/images/AC-2-ics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/AC-2-ics.png -------------------------------------------------------------------------------- /bt/doc/images/AC-2-nvd-description.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/AC-2-nvd-description.png -------------------------------------------------------------------------------- /bt/doc/images/AC-2-nvd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/AC-2-nvd.png -------------------------------------------------------------------------------- /bt/doc/images/CSF_800-53_800-82_scenario.odg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/CSF_800-53_800-82_scenario.odg -------------------------------------------------------------------------------- /bt/doc/images/CSF_800-53_800-82_scenario.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/CSF_800-53_800-82_scenario.png -------------------------------------------------------------------------------- /bt/doc/images/PR.AC-constrained.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/PR.AC-constrained.png -------------------------------------------------------------------------------- /bt/doc/images/PR.AC-constrained2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/PR.AC-constrained2.png -------------------------------------------------------------------------------- /bt/doc/images/PR.AC-selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/PR.AC-selected.png -------------------------------------------------------------------------------- /bt/doc/images/core-PR.AC-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/core-PR.AC-1.png -------------------------------------------------------------------------------- /bt/doc/images/crossrefs-AC-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/crossrefs-AC-2.png -------------------------------------------------------------------------------- /bt/doc/images/crossrefs-CM-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/crossrefs-CM-8.png -------------------------------------------------------------------------------- /bt/doc/images/crossrefs-IA-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/crossrefs-IA-3.png -------------------------------------------------------------------------------- /bt/doc/images/editor-AC-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/editor-AC-2.png -------------------------------------------------------------------------------- /bt/doc/images/editor-IA-3-baseline-constraint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/editor-IA-3-baseline-constraint.png -------------------------------------------------------------------------------- /bt/doc/images/editor-IA-3-impact-constraint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/editor-IA-3-impact-constraint.png -------------------------------------------------------------------------------- /bt/doc/images/editor-IA-3-tailored-ics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/editor-IA-3-tailored-ics.png -------------------------------------------------------------------------------- /bt/doc/images/editor-IA-3-tailored-xml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/editor-IA-3-tailored-xml.png -------------------------------------------------------------------------------- /bt/doc/images/editor-IA-3-xref-constraint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/editor-IA-3-xref-constraint.png -------------------------------------------------------------------------------- /bt/doc/images/editor-IA-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/editor-IA-3.png -------------------------------------------------------------------------------- /bt/doc/images/oXygen-IA-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/oXygen-IA-3.png -------------------------------------------------------------------------------- /bt/doc/images/prefs-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/prefs-button.png -------------------------------------------------------------------------------- /bt/doc/images/prefs-expanded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/prefs-expanded.png -------------------------------------------------------------------------------- /bt/doc/images/profile-tab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/profile-tab.png -------------------------------------------------------------------------------- /bt/doc/images/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/screenshot.png -------------------------------------------------------------------------------- /bt/doc/images/security_control_editor_scenario.odg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/security_control_editor_scenario.odg -------------------------------------------------------------------------------- /bt/doc/images/security_control_editor_scenario.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/doc/images/security_control_editor_scenario.png -------------------------------------------------------------------------------- /bt/examples/PE-11.xml: -------------------------------------------------------------------------------- 1 | 2 | PHYSICAL AND ENVIRONMENTAL PROTECTION 3 | ICS may support critical activities which will be needed for safety and reliability even in the absence of reliable power from the public grid 4 | 5 | EMERGENCY POWER 6 | 7 | 8 | Emergency power production, transmission and distribution systems are a type of ICS that are required to meet extremely high performance specifications. The systems are governed by international, national, state and local building codes, must be tested on a continual basis, and must be repaired and placed back into operations within a short period of time. Traditionally, emergency power has been provided by generators for short to mid-term power (typically for fire and life safety systems, some IT load, and evacuation transport) and UPS battery packs in distribution closets and within work areas to allow some level of business continuity and for the orderly shutdown of non-essential IT and facility systems. Traditional emergency power systems typically are off-line until a loss of power occurs and are typically on a separate network and control system specific to the facility they support. New methods of energy generation and storage (e.g., solar voltaic, geothermal, flywheel, microgrid, distributed energy) that have a real-time demand and storage connection to local utilities or cross connected to multiple facilities should be carefully analyzed to ensure that the power can meet the load and signal quality without disruption of mission essential functions. 9 | 10 | 11 | LONG-TERM ALTERNATE POWER SUPPLY - MINIMAL OPERATIONAL CAPABILITY 12 | 13 | 14 | 15 | 16 | 17 | LONG-TERM ALTERNATE POWER SUPPLY - SELF-CONTAINED 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /bt/examples/flag.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /bt/examples/low-only.xsl: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /bt/examples/tailored.rnc: -------------------------------------------------------------------------------- 1 | default namespace = "" 2 | 3 | start = 4 | ## An entire tailored baseline. 5 | element tailoredBaseline { 6 | ## Tailoring for a security control from the SP 800-53 catalog. 7 | element tailoredControl { 8 | ## Name of the control's family. 9 | element family { text }, 10 | ## Justification for change the baseline. If booleanFlag is true, then guidance should be provided as text content. If booleanFlag is false, then content should be ignored. 11 | element rationale { 12 | booleanFlag, 13 | text 14 | }, 15 | ## Information specific to a control. 16 | element control { 17 | ## Control identifier. Consists of two-letter abbreviation of family name + '-' + positive integer. 18 | attribute number { xsd:NCName }, 19 | title, 20 | \default, 21 | impact, 22 | ## Additional supplemental guidance for a control. If booleanFlag is true, then guidance should be provided as text content. If booleanFlag is false, then content should be ignored. 23 | element guidance { 24 | booleanFlag, 25 | text 26 | } 27 | }, 28 | ## Information specific to a control enhancement. 29 | element enhancement { 30 | ## Enhancement number. When combined with the enhancement's control number, uniquely identifies the control enhancement. 31 | attribute number { xsd:integer }, 32 | title, 33 | \default, 34 | impact, 35 | ## Additional supplemental guidance for a control enhancement. If booleanFlag is true, then guidance should be provided as text content. If booleanFlag is false, then content should be ignored. Otherwise, booleanFlag cross-references the guidance of another control enhancement within the parent tailoredControl element. 36 | element guidance { 37 | (booleanFlag | posIntFlag), 38 | text 39 | } 40 | }* 41 | }+ 42 | } 43 | ## Title of a control or control enhancement. 44 | title = element title { text } 45 | \default = 46 | ## Baseline impact. 1 represents 'LOW', 2 represents 'MODERATE', 3 represents 'HIGH', and 4 represents 'N/A' (i.e. not in a baseline). 47 | element default { 48 | attribute value { "1"|"2"|"3"|"4" } 49 | } 50 | impact = 51 | ## Tailored impact. 1 represents 'LOW', 2 represents 'MODERATE', 3 represents 'HIGH', and 4 represents 'N/A' (i.e. not included in the baseline). 52 | element impact { 53 | attribute value { "1"|"2"|"3"|"4" } 54 | } 55 | booleanFlag = attribute flag {xsd:boolean} 56 | posIntFlag = attribute flag {xsd:positiveInteger} -------------------------------------------------------------------------------- /bt/examples/tailored.sch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | Tailoring Rules 6 | 7 | 8 | 9 | 10 | : rationale provided, but flag value is false. 11 | : rationale not provided , but flag value is true. 12 | 13 | 14 | 15 | 16 | : additional supplemental guidance provided, but flag value is false. 17 | : additional supplemental guidance not provided, but flag value is true. 18 | 19 | 20 | 21 | 22 | 23 | 24 | : additional supplemental guidance provided, but flag value is false. 25 | : additional supplemental guidance not provided, but flag value is true. 26 | : invalid additional supplemental guidance cross-reference "". 27 | : cross-reference to enhancement () (), which provides no additional supplemental guidance. 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /bt/families.xsl: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 13 | 14 | 15 | 16 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | <xsl:apply-templates select="c:title"/> 37 | 38 | 39 | 40 | - 41 | 42 | 43 | 44 | 45 | 1 46 | 2 47 | 3 48 | 4 49 | 50 | 51 | 52 | 53 | 4 54 | 1 55 | 2 56 | 3 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /bt/ics.xsl: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | ]> 16 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | <xsl:text>ICS: </xsl:text> 39 | <xsl:value-of select="$cname"/> 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /bt/images/Needle_and_thread_silhouette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/images/Needle_and_thread_silhouette.png -------------------------------------------------------------------------------- /bt/images/factory.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/images/factory.ico -------------------------------------------------------------------------------- /bt/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/images/favicon.ico -------------------------------------------------------------------------------- /bt/images/link.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/images/link.ico -------------------------------------------------------------------------------- /bt/images/scap-composer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/images/scap-composer.png -------------------------------------------------------------------------------- /bt/insert/nist-footer.xml: -------------------------------------------------------------------------------- 1 |
2 |
3 |

4 | PLEASE NOTE: This is an experimental website. NIST does not endorse the views expressed, or necessarily concur with the information presented on these sites. Further, NIST does not endorse any commercial products that may be mentioned on these sites. All the material on this website is in the public domain and is intended for unrestricted use by interested parties, including any text, diagrams, or images, unless indicated explicitly.

5 |

This website represents components defined in the NIST Framework for Improving Critical Infrastructure Cybersecurity and security controls and associated assessment procedures defined in NIST SP 800-53 Revision 4 Recommended Security Controls for Federal Information Systems and Organizations. For any discrepancies noted in the content between this website and the latest published NIST Cybersecurity Framework or Special Publication SP 800-53 Revision 4, please defer to the official published documents that are posted on http://csrc.nist.gov.

6 |

Certain commercial equipment, instruments, materials, systems, software, and trade names may be identified throughout this site in order to specify or identify technologies adequately. Such identification is not intended to imply recommendation or endorsement by NIST or any other party, nor is it intended to imply that the systems or products identified are necessarily the best available for the purpose. All data and other information posted on this site is provided as a public service and is provided 'AS IS.' NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT AND DATA ACCURACY.

7 |

By selecting external links, you will be leaving NIST webspace. Links to other websites are provided because they may have information that would be of interest to you. No inferences should be drawn on account of other sites being referenced, or not, from this page. There may be other websites that are more appropriate for your purpose.

8 |
Privacy Policy | Security Notice | Accessibility Statement | Send feedback 9 |
10 | -------------------------------------------------------------------------------- /bt/insert/nist-header.xml: -------------------------------------------------------------------------------- 1 | 11 | -------------------------------------------------------------------------------- /bt/internalize.xsl: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 500 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /bt/nist_github_header.css: -------------------------------------------------------------------------------- 1 | */ -------------------------------------------------------------------------------- /bt/nist_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/nist_logo.png -------------------------------------------------------------------------------- /bt/nist_logo_mark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/bt/nist_logo_mark.png -------------------------------------------------------------------------------- /bt/subcategories.xsl: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /content/CSF/FrameworkCore.dita: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Framework Core 5 | A set of cybersecurity activities, desired outcomes, 6 | and applicable references that are common across critical infrastructure sectors. 7 | 8 |

The Core presents industry standards, guidelines, and practices in a manner that 9 | allows for communication of cybersecurity activities and outcomes across the 10 | organization from the executive level to the implementation/operations level. The 11 | Framework Core consists of five concurrent and continuous Functions. When considered 12 | together, these Functions provide a high-level, strategic view of the lifecycle of 13 | an organization’s management of cybersecurity risk. The Framework Core then 14 | identifies underlying key Categories and Subcategories – which are discrete outcomes – 15 | for each Function, and matches them with example Informative References such as 16 | existing standards, guidelines, and practices for each Subcategory.

17 | 18 |
19 | -------------------------------------------------------------------------------- /content/CSF/ID.dita: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | IDENTIFY (ID) 5 | Develop an organizational understanding to manage cybersecurity risk to 6 | systems, people, assets, data, and capabilities. 7 | 8 |

The activities in the Identify Function are foundational for effective use of the Framework. 9 | Understanding the business context, the resources that support critical functions, and the related 10 | cybersecurity risks enables an organization to focus and prioritize its efforts, consistent with 11 | its risk management strategy and business needs.

12 | 13 |
14 | -------------------------------------------------------------------------------- /content/CSF/ID/AM.dita: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Asset Management (ID.AM) 5 | The data, personnel, devices, systems, and facilities that enable the 6 | organization to achieve business purposes are identified and managed 7 | consistent with their relative importance to organizational objectives and 8 | the organization’s risk strategy. 9 | 10 | -------------------------------------------------------------------------------- /content/CSF/ID/AM/1.dita: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ID.AM-1 5 | Physical devices and systems within the organization are inventoried 6 | 7 | 8 | CM-8 9 | 10 | 11 | PM-5 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /content/CSF/ID/AM/2.dita: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ID.AM-2 5 | Software platforms and applications within the organization are 6 | inventoried 7 | 8 | 9 | 10 | <link scope="external" format="html" href="https://nvd.nist.gov/800-53/Rev4/control/CM-8"> 11 | <linktext>CM-8</linktext> 12 | </link> 13 | <link scope="external" format="html" href="https://nvd.nist.gov/800-53/Rev4/control/PM-5"> 14 | <linktext>PM-5</linktext> 15 | </link> 16 | </linklist> 17 | </related-links> 18 | </topic> 19 | -------------------------------------------------------------------------------- /content/CSF/ID/BE.dita: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd"> 3 | <topic id="topic_xgj_m2y_5mb"> 4 | <title>Business Environment (ID.BE) 5 | The organization’s mission, objectives, stakeholders, and activities 6 | are understood and prioritized; this information is used to inform 7 | cybersecurity roles, responsibilities, and risk management decisions. 8 | 9 | -------------------------------------------------------------------------------- /content/CSF/ID/BE/1.dita: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ID.BE-1 5 | The organization’s role in the supply chain is identified and 6 | communicated 7 | 8 | 9 | CP-2 10 | 11 | 12 | SA-12 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /content/CSF/PR.dita: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | PROTECT (PR) 5 | Develop and implement appropriate safeguards to ensure delivery of critical 6 | services. 7 | 8 |

The Protect Function supports the ability to limit or contain the impact of a potential 9 | cybersecurity event. Examples of outcome Categories within this Function include: 10 | Identity Management and Access Control; Awareness and Training; Data Security; 11 | Information Protection Processes and Procedures; Maintenance; and Protective 12 | Technology.

13 | 14 |
15 | -------------------------------------------------------------------------------- /content/CSF/PR/AC.dita: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Identity Management, Authentication and Access Control (PR.AC) 5 | Access to physical and logical assets and associated facilities is 6 | limited to authorized users, processes, and devices, and is managed 7 | consistent with the assessed risk of unauthorized access to authorized 8 | activities and transactions. 9 | 10 | -------------------------------------------------------------------------------- /content/CSF/PR/AC/1.dita: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | PR.AC-1 5 | Identities and credentials are issued, managed, verified, revoked, and audited for 6 | authorized devices, users and processes 7 | 8 | 9 | AC-1 10 | 11 | 12 | AC-2 13 | 14 | 15 | IA-1 16 | 17 | 18 | IA-2 19 | 20 | 21 | IA-3 22 | 23 | 24 | IA-4 25 | 26 | 27 | IA-5 28 | 29 | 30 | IA-6 31 | 32 | 33 | IA-7 34 | 35 | 36 | IA-8 37 | 38 | 39 | IA-10 40 | 41 | 42 | IA-11 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /content/CSF/ReusableComponents/informativeRefsTitle.dita: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Informative References to NIST SP 800-53 5 | Title for a CSF subcategory's list of informative references. 6 | 7 | -------------------------------------------------------------------------------- /content/CSF/ReusableComponents/keys.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Keys 5 | 7 | 8 | -------------------------------------------------------------------------------- /content/CSF/core.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Cybersecurity Framework Profile 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /content/CSF/coreSubjectScheme.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /content/CSF/coreTaxonomy.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Cybersecurity Framework Core Taxonomy 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /content/CSF/profile.ditaval: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /content/apparmor-ds-ditamap.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | AppArmor SCAP Data Stream Collection 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /content/apparmor-ds.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | AppArmor SCAP Data Stream Collection 5 | 6 | 7 | Data Streams 8 | 9 | 10 | 11 | 12 | Checklists 13 | 14 | 15 | < 16 | 17 | 18 | 19 | 20 | Checks 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /content/cisco-ds.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 13 | 14 | References OVAL from Cisco repository and XCCDF created with VMWare SCAP Edit 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /content/cisco-sa-20170726-anidos_692-xccdf.xml: -------------------------------------------------------------------------------- 1 | 2 | incomplete 3 | Automatically generated XCCDF from OVAL file: cisco-sa-20170726-anidos_692.xml 4 | This file has been generated automatically from oval definitions file. 5 | None, generated from OVAL file. 6 | 7 | CVE-2017-6663 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /content/family_validation_content-cpe-dictionary.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | Microsoft Windows 5 | 6 | This CPE Name represents the Windows OS 7 | 8 | oval:gov.nist.validation.cpe.oval:def:1 9 | 10 | 11 | Red Hat Enterprise Linux 12 | 13 | This CPE Name represents Red Hat Enterprise Linux OS 14 | 15 | oval:gov.nist.validation.cpe.oval:def:100 16 | 17 | 18 | Apple Mac OS 10.11 19 | 20 | This CPE Name represents OS X 21 | 22 | oval:gov.nist.validation.cpe.oval:def:11 23 | 24 | 25 | -------------------------------------------------------------------------------- /content/scap-component-keys.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | External URIs Within SCAP Components 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /content/source_data_stream_collection_sample-ditamap.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | Data Stream Collection Sample from scap.nist.gov 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /content/source_data_stream_collection_sample-map.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Data Stream Collection Sample from scap.nist.gov 6 | 7 | 8 | foo 9 | bar 10 | 555 11 | 666 12 | 777 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /content/source_data_stream_collection_sample.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 13 | NIST SP 800-126 Example 14 | 15 | This is the data stream collection example on 16 | scap.nist.gov. 17 | 18 | 19 | 20 | 21 | 22 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /content/test-xccdf.xml: -------------------------------------------------------------------------------- 1 | 2 | incomplete 3 | Automatically generated XCCDF from OVAL file: test-oval.xml 4 | This file has been generated automatically from oval definitions file. 5 | None, generated from OVAL file. 6 | 7 | Ensure that /etc/passwd has correct attributes 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /dita/LICENSE-composer.txt: -------------------------------------------------------------------------------- 1 | This software was developed at the National Institute of Standards and Technology by employees of the Federal Government in the course of their official duties. Pursuant to title 17 section 105 of the United States Code this software is not subject to copyright protection and is in the public domain. This software is experimental. NIST assumes no responsibility whatsoever for its use by other parties, and makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic. This software can be redistributed and/or modified freely provided that any derivative works bear some notice that they are derived from it, and any modified versions bear some notice that they have been modified. -------------------------------------------------------------------------------- /dita/README-composer.txt: -------------------------------------------------------------------------------- 1 | SCAP Composer Version @VERSION@ 2 | 3 | See the User Guide for installation and usage instructions. -------------------------------------------------------------------------------- /dita/README.md: -------------------------------------------------------------------------------- 1 | # DITA 2 | 3 | Document type shells, css, and DITA-OT transformation types for SCAP content. 4 | -------------------------------------------------------------------------------- /dita/csf/core.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Cybersecurity Framework Profile 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /dita/csf/profile.ditaval: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /dita/examples/U_Windows_10_V1R12_STIG/Source_Data_Stream_Collection.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /dita/examples/U_Windows_10_V1R12_STIG/cpe-dictionary.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Microsoft Windows 10 4 | oval:mil.disa.stig.windows:def:1 5 | 6 | 7 | -------------------------------------------------------------------------------- /dita/examples/U_Windows_10_V1R13_STIG_SCAP_1-2/U_Windows_10_V1R13_STIG_SCAP_1-2-tailoring.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1 5 | 6 | (default) [CUSTOMIZED to require longer passphrases, but no maximum age] 7 | This profile doesn't inherit any other profile. 8 | 9 | 10 | 11 | 12 | 20 13 | 0 14 | 15 | 16 | -------------------------------------------------------------------------------- /dita/examples/U_Windows_10_V1R13_STIG_SCAP_1-2/U_Windows_10_V1R13_STIG_SCAP_1-2.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /dita/examples/U_Windows_10_V1R13_STIG_SCAP_1-2/U_Windows_10_V1R13_STIG_SCAP_1-2_Benchmark-cpe-dictionary.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | Microsoft Windows 10 6 | oval:mil.disa.stig.windows:def:1 8 | 9 | 10 | -------------------------------------------------------------------------------- /dita/examples/U_Windows_7_V1R36_STIG_SCAP_1-2/U_Windows_7_V1R36_STIG_SCAP_1-2.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | Source Data Stream Collection 7 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /dita/examples/U_Windows_7_V1R36_STIG_SCAP_1-2/cpe-dictionary.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft Windows 7 5 | 6 | This CPE Name represents version 6.1.7600 of the Windows OS 7 | 8 | oval:mil.disa.fso.windows:def:3892 9 | 10 | 11 | -------------------------------------------------------------------------------- /dita/examples/Windows_10_V1R15_STIG_SCAP_1-2/README.md: -------------------------------------------------------------------------------- 1 | # Microsoft Windows 10 STIG Benchmark - Version 1, Release 15 2 | 3 | This example was created using SCAP 1.2 content from the [United States DoD Cyber Exchange](https://public.cyber.mil/stigs/scap). 4 | 5 | A tailoring component was added that customizes one of the profiles in the XCCDF checklist component. 6 | 7 | The `original` directory contains the original SCAP source 8 | data stream collection from US DoD. 9 | 10 | `Windows_10_V1R15_STIG_SCAP_1-2.ditamap` is an SCAP 11 | Composer DITA map defining a source data 12 | a source data stream collection containing both the US DoD 13 | content and an added tailoring component. Use this DITA map as input to SCAP 14 | Composer. 15 | -------------------------------------------------------------------------------- /dita/examples/Windows_10_V1R15_STIG_SCAP_1-2/U_MS_Windows_10_V1R15_STIG_SCAP_1-2_Benchmark-cpe-dictionary.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | Microsoft Windows 10 6 | oval:mil.disa.stig.windows:def:1 8 | 9 | 10 | -------------------------------------------------------------------------------- /dita/examples/Windows_10_V1R15_STIG_SCAP_1-2/Windows_10_V1R15_STIG_SCAP_1-2-tailoring.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1 5 | 6 | III - Administrative Public [CUSTOMIZED] 7 | This profile requires longer passwords, but with more lenient age limits. 8 | 9 | 10 | 15 11 | 7776000 12 | 13 | 14 | -------------------------------------------------------------------------------- /dita/examples/Windows_10_V1R15_STIG_SCAP_1-2/Windows_10_V1R15_STIG_SCAP_1-2.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | Source Data Stream Collection 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /dita/examples/cis-w10/CIS_Microsoft_Windows_10_Enterprise_Release_1703_Benchmark_v1.3.0-cpe-dictionary.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Microsoft Windows 10 4 | oval:org.mitre.oval:def:28545 5 | 6 | 7 | -------------------------------------------------------------------------------- /dita/examples/cis-w10/cis-w10-tailoring.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 9 | 11 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /dita/examples/cis-w10/cis-w10.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 9 | 11 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /dita/examples/kitchen-sink.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 5 | 7 | 9 | RHEL7 SCAP Data Stream Collection 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /dita/examples/nist-example/README.md: -------------------------------------------------------------------------------- 1 | # Examples With External Resources, Relative URIs, Tailoring Component 2 | 3 | These examples, adapted from the 4 | [NIST SCAP 1.3 page](https://csrc.nist.gov/Projects/Security-Content-Automation-Protocol/SCAP-Releases/SCAP-1-3 "NIST SCAP 1.3 page") 5 | source data stream example, 6 | demonstrate use of the `@localUri` attribute to handle relative 7 | URI references from the XCCDF and CPE dictionary files to their 8 | respective OVAL files and use of `@scope` for external (Internet) 9 | resources. 10 | 11 | These DITA maps may be used as SCAP Composer input: 12 | 13 | - `nist-example-external.ditamap` - component resources are all external 14 | - `nist-example-local.ditamap` - component resources are all on the local file system 15 | - `nist-example-hybrid.ditamap` - some component resources are local and some are external 16 | - `nist-example-hybrid-tailoring.ditamap` - same as above, but with a local tailoring component resource 17 | -------------------------------------------------------------------------------- /dita/examples/nist-example/checklist-content/nist-example-hybrid-tailoring-doc.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 1 7 | 8 | (default) [CUSTOMIZED] No Negation Test 9 | This profile doesn't inherit any other profile. 10 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /dita/examples/nist-example/cpe-dictionary.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Microsoft Windows 4 | 5 | This CPE Name represents the Windows OS 6 | 7 | oval:gov.nist.validation.cpe.oval:def:1 8 | 9 | 10 | Red Hat Enterprise Linux 11 | 12 | This CPE Name represents Red Hat Enterprise Linux OS 13 | 14 | oval:gov.nist.validation.cpe.oval:def:100 15 | 16 | 17 | Apple Mac OS 10.11 18 | 19 | This CPE Name represents OS X 20 | 21 | oval:gov.nist.validation.cpe.oval:def:11 22 | 23 | 24 | -------------------------------------------------------------------------------- /dita/examples/nist-example/nist-example-external.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 9 | 12 | 15 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /dita/examples/nist-example/nist-example-hybrid-tailoring.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 8 | Source Data Stream Collection: Hybrid Content and Tailoring Component 9 | 10 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /dita/examples/nist-example/nist-example-hybrid.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | Source Data Stream Collection 7 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /dita/examples/nist-example/nist-example-local.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /dita/examples/rhel7/rhel7.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | RHEL7 SCAP Data Stream Collection 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /dita/examples/ssg-ubuntu1404/README.md: -------------------------------------------------------------------------------- 1 | # Ubuntu 14.04 AppArmor Example 2 | 3 | This example, based on Ubuntu Linux 14.04 content from the 4 | [ComplianceAsCode GitHub project](https://github.com/ComplianceAsCode/content), illustrates the 5 | use of SCAP Composer to supplement an existing SCAP source data 6 | stream collection 7 | with additional SCAP content needed for a niche purpose. 8 | 9 | The `original` directory contains the original SCAP 1.2 and 10 | SCAP 1.3 source data stream collections from ComplianceAsCode. 11 | 12 | The `ssg-ubuntu1404-*.xml` files are XML resources obtained 13 | by extracting 14 | content from the SCAP 1.3 source data stream collection's 15 | `\` elements. 16 | 17 | The `apparmor-*.xml` XML resource files supplement the ComplianceAsCode 18 | content with added XCCDF and OVAL content applicable to 19 | the Ubuntu AppArmor kernel module. 20 | 21 | `ssg-ubuntu1404.ditamap` is an SCAP Composer DITA map defining a source data 22 | a source data stream collection containing both the 23 | ComplianceAsCode Ubuntu 14.04 and the additional 24 | AppArmor-specific XML resources. Use this file as input to SCAP 25 | Composer. 26 | 27 | The `scap1_2` directory contains an SCAP Composer DITA map 28 | with XML resources extracted from the ComplianceAsCode SCAP 1.2 29 | source data stream collection file. 30 | -------------------------------------------------------------------------------- /dita/examples/ssg-ubuntu1404/apparmor-xccdf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | draft 4 | Automatically generated XCCDF from OVAL file: apparmor-oval.xml 5 | This file has been generated automatically from oval definitions file. 6 | 7 | None, generated from OVAL file. 8 | 9 | NIST 10 | Joshua Lubell 11 | NIST 12 | VMWare SCAP Editor 13 | 14 | 15 | USN-2413-1 -- Ubuntu 14.04 AppArmor vulnerability 16 | An AppArmor policy miscompilation flaw was discovered in apparmor_parser. Under 17 | certain circumstances, a malicious application could use this flaw to perform 18 | operations that are not allowed by AppArmor policy. The flaw may also prevent 19 | applications from accessing resources that are allowed by AppArmor policy. 20 | 21 | 22 | 23 | 24 | 25 | Ubuntu 14.04 is installed 26 | Ubuntu 14.04 is installed 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /dita/examples/ssg-ubuntu1404/scap1_2/apparmor-xccdf.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | draft 5 | Automatically generated XCCDF from OVAL file: apparmor-oval.xml 6 | This file has been generated automatically from oval definitions file. 7 | 8 | None, generated from OVAL file. 9 | 10 | NIST 11 | Joshua Lubell 12 | NIST 13 | VMWare SCAP Editor 14 | 15 | 16 | USN-2413-1 -- Ubuntu 14.04 AppArmor vulnerability 17 | An AppArmor policy miscompilation flaw was discovered in apparmor_parser. Under 18 | certain circumstances, a malicious application could use this flaw to perform 19 | operations that are not allowed by AppArmor policy. The flaw may also prevent 20 | applications from accessing resources that are allowed by AppArmor policy. 21 | 22 | 23 | 24 | 25 | 26 | Ubuntu 14.04 is installed 27 | Ubuntu 14.04 is installed 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /dita/examples/ssg-ubuntu1404/scap1_2/ssg-ubuntu1404-1.2.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 8 | Source Data Stream Collection 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /dita/examples/ssg-ubuntu1404/ssg-ubuntu1404.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 8 | Source Data Stream Collection 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /dita/examples/trusty-apparmor/prune.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 36 | 37 | 38 | 39 | 40 | 41 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /dita/examples/trusty-apparmor/trusty-1.2.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /dita/examples/trusty-apparmor/trusty.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /dita/examples/usgcb-w7/cpe-dictionary.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Microsoft Windows 7 4 | 5 | This CPE Name represents Windows 7 6 | 7 | oval:gov.nist.cpe.oval:def:1 8 | 9 | 10 | -------------------------------------------------------------------------------- /dita/examples/usgcb-w7/energy-cpe-dictionary.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Microsoft Windows 7 4 | 5 | This CPE Name represents Windows 7 6 | 7 | oval:gov.nist.cpe.oval:def:1 8 | 9 | 10 | -------------------------------------------------------------------------------- /dita/examples/usgcb-w7/usgcb-w7.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /dita/examples/xenial-apparmor/apparmor.ditamap: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /dita/examples/xenial-apparmor/xenial-apparmor-cpe-dictionary.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Ubuntu release 16.04 (Xenial) 4 | 5 | 6 | -------------------------------------------------------------------------------- /dita/images/scap-composer.odg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/dita/images/scap-composer.odg -------------------------------------------------------------------------------- /dita/old/highlightOnlyTopicConstraint.rnc: -------------------------------------------------------------------------------- 1 | namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" 2 | namespace ns1 = "http://dita.oasis-open.org/architecture/2005/" 3 | 4 | ns1:moduleDesc [ 5 | "\x{a}" ~ 6 | " " 7 | # ... 8 | 9 | "\x{a}" ~ 10 | " " 11 | ns1:moduleMetadata [ 12 | "\x{a}" ~ 13 | " " 14 | # ... 15 | 16 | " \x{a}" ~ 17 | " " 18 | ns1:domainsContribution [ "(topic highlightOnlyTopic-c)" ] 19 | "\x{a}" ~ 20 | " " 21 | ] 22 | "\x{a}" ~ 23 | " " 24 | ] 25 | 26 | ## CONTENT MODEL OVERRIDES 27 | div { 28 | include "topicMod.rnc" { 29 | p.content = 30 | # Define constrained model here 31 | mixed { (b | i | u)* } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /dita/old/myTopicWithConstraint.rnc: -------------------------------------------------------------------------------- 1 | namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" 2 | namespace dita = "http://dita.oasis-open.org/architecture/2005/" 3 | 4 | dita:moduleDesc [ 5 | "\x{a}" ~ 6 | " " 7 | dita:moduleTitle [ "DITA Topic Base Shell (only base domains)" ] 8 | "\x{a}" ~ 9 | " " 10 | "\x{a}" ~ 11 | " " 12 | dita:moduleMetadata [ 13 | "\x{a}" ~ 14 | " " 15 | dita:moduleType [ "topicshell" ] 16 | "\x{a}" ~ 17 | " " 18 | dita:moduleShortName [ "My topic" ] 19 | "\x{a}" ~ 20 | " " 21 | "\x{a}" ~ 22 | " " 23 | ] 24 | "\x{a}" ~ 25 | " " 26 | ] 27 | 28 | ## ROOT ELEMENT DECLARATION 29 | div { 30 | start |= topic.element 31 | } 32 | 33 | ## DOMAINS ATTRIBUTE 34 | div { 35 | domains-att = 36 | [ 37 | a:defaultValue = 38 | "(topic hazard-d) (topic hi-d) (topic indexing-d) (topic ut-d) (topic xml-d) a(props deliveryTarget) a(props phaseOfMoon) (topic highlightOnlyTopic-c)" 39 | ] 40 | attribute domains { text }? 41 | } 42 | 43 | ## CONTENT CONSTRAINT INTEGRATION 44 | div { 45 | include "highlightOnlyTopicConstraint.rnc" { 46 | topic-info-types = topic.element 47 | } 48 | } 49 | 50 | ## MODULE INCLUSIONS 51 | div { 52 | [ dita:since = "1.3" ] include "deliveryTargetAttDomain.rnc" 53 | [ dita:since = "1.3" ] include "hazardstatementDomain.rnc" 54 | include "highlightDomain.rnc" 55 | include "indexingDomain.rnc" 56 | include "utilitiesDomain.rnc" 57 | include "phaseOfMoonAttDomain.rnc" 58 | include "xmlDomain.rnc" 59 | } 60 | 61 | ## ID-DEFINING-ELEMENT OVERRIDES 62 | div { 63 | any = 64 | (idElements 65 | | element * - topic { 66 | attribute * { text }*, 67 | any 68 | } 69 | | text)* 70 | } 71 | -------------------------------------------------------------------------------- /dita/old/phaseOfMoonAttDomain.rnc: -------------------------------------------------------------------------------- 1 | namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" 2 | namespace dita = "http://dita.oasis-open.org/architecture/2005/" 3 | 4 | dita:moduleDesc [ 5 | dita:moduleTitle [ "Phase of Moon Attribute Domain " ] 6 | dita:moduleMetadata [ 7 | dita:moduleType [ "attributedomain" ] 8 | dita:moduleShortName [ "phaseOfMoonAtt-d" ] 9 | a:domainsContribution [ "a(props phaseOfMoon)" ] 10 | ] 11 | ] 12 | 13 | div { 14 | ## ATTRIBUTE DECLARATION PATTERN 15 | phaseOfMoonAtt-d-attribute = 16 | attribute phaseOfMoon { text }? 17 | } 18 | 19 | div { 20 | ## ATTRIBUTE EXTENSION PATTERN 21 | props-attribute-extensions &= phaseOfMoonAtt-d-attribute 22 | } 23 | -------------------------------------------------------------------------------- /dita/old/xmlDomain.rnc: -------------------------------------------------------------------------------- 1 | namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" 2 | datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes" 3 | namespace dita = "http://dita.oasis-open.org/architecture/2005/" 4 | 5 | dita:moduleDesc [ 6 | dita:moduleTitle [ "XML Domain" ] 7 | dita:moduleMetadata [ 8 | dita:moduleType [ "elementdomain" ] 9 | dita:moduleShortName [ "xml-d" ] 10 | dita:domainsContribution [ "(topic xml-d)" ] 11 | ] 12 | ] 13 | 14 | div { 15 | ## DOMAIN EXTENSION PATTERNS 16 | xml-d-keyword = xmlElem.element | xmlAtt.element 17 | keyword |= xml-d-keyword 18 | } 19 | 20 | div { 21 | ## ELEMENT TYPE DECLARATIONS 22 | div { 23 | ## Long name: XML Element 24 | xmlElem.content = xsd:Name 25 | xmlElem.attributes = univ-atts, attribute outputclass { text }? 26 | xmlElem.element = 27 | element xmlElem { xmlElem.attlist, xmlElem.content } 28 | xmlElem.attlist &= xmlElem.attributes 29 | } 30 | div { 31 | ## Long name: XML Attribute 32 | xmlAtt.content = xsd:Name 33 | xmlAtt.attributes = univ-atts, attribute outputclass { text }? 34 | xmlAtt.element = 35 | element xmlAtt { xmlAtt.attlist, xmlAtt.content } 36 | } 37 | } 38 | 39 | div { 40 | ## SPECIALIZATION ATTRIBUTES 41 | xmlElem.attlist &= 42 | global-atts, 43 | [ a:defaultValue = "+ topic/keyword xml-d/xmlElem " ] 44 | attribute class {text} ? 45 | xmlAtt.attlist &= 46 | global-atts, 47 | [ a:defaultValue = "+ topic/keyword xml-d/xmlAtt " ] 48 | attribute class {text} ? 49 | } -------------------------------------------------------------------------------- /dita/plugins/.gitignore: -------------------------------------------------------------------------------- 1 | /org.metadita.morse 2 | /org.metadita.cleanupmap 3 | /org.metadita.happyhtml 4 | /org.metadita.html5zip 5 | /org.metadita.moodyhtml 6 | -------------------------------------------------------------------------------- /dita/plugins/README.md: -------------------------------------------------------------------------------- 1 | # DITA-OT Plugins for SCAP 2 | 3 | Includes: 4 | ## [gov.nist.scap.doctypes](gov.nist.scap.doctypes) 5 | Document type shells for topic, map, and domain specializations. 6 | ## [gov.nist.scap.datastream](gov.nist.scap.datastream) 7 | Transforms SCAP-specialized DITA into XML content conforming to NIST SP 800-126. 8 | ## [template_folders](template_folders) 9 | Contains document templates for use with Oxygen XML Editor. -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.datastream/messages.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | No SCAP component with key '%1'. 5 | 6 | 7 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.datastream/plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.datastream/xsl/componenthref.xsl: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | SDSX 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | 20 | 23 | 26 | 27 | 28 | 29 | SDSX001F 30 | %1= 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 42 | 43 | 44 | 45 | 46 | true 47 | 48 | 49 | true 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.datastream/xsl/scapversion.xsl: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.datastream/xsl/sdsditamap.xsl: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 12 | 15 | 16 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.datastream/xsl/split.xsl: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/catalog.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/css/README.md: -------------------------------------------------------------------------------- 1 | # CSS for SCAP DITA documents 2 | 3 | May be installed into Oxygen. 4 | 5 | Includes the following: 6 | 7 | ## [rule.css](rule.css) 8 | Renders documents authored using the "rule" element type. 9 | 10 | ## [scapEnum-d.css](scapEnum-d.css) 11 | Renders CVE, CPE, CCE IDs with the appropriate prefix. 12 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/css/dataStreamCollection.css: -------------------------------------------------------------------------------- 1 | scapDataStream:before { 2 | content: 'Data Stream'; 3 | color: green; 4 | } -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/css/rule.css: -------------------------------------------------------------------------------- 1 | rule>title:before { 2 | content: 'Rule: '; 3 | color: green; 4 | } 5 | description:before { 6 | content: 'Description: '; 7 | font-weight: bold; 8 | color: green; 9 | } 10 | rationale:before { 11 | content: 'Rationale: '; 12 | font-weight: bold; 13 | color: green; 14 | } 15 | check:before { 16 | content: 'Check: '; 17 | font-weight: bold; 18 | color: green; 19 | } 20 | AND:before { 21 | content: '(AND '; 22 | color: maroon; 23 | } 24 | AND:after { 25 | content: ')'; 26 | color: maroon; 27 | } 28 | OR:before { 29 | content: '(OR '; 30 | color: maroon; 31 | } 32 | OR:after { 33 | content: ')'; 34 | color: maroon; 35 | } 36 | oval { 37 | content: attr(href); 38 | } -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/css/scapEnum-d.css: -------------------------------------------------------------------------------- 1 | /* 2 | ======================================= 3 | SCAP enumeration elements. [scapEnum-d] 4 | ======================================= 5 | */ 6 | 7 | *[class~='scapEnum-d/cveID'], 8 | *[class~='scapEnum-d/cpeID'], 9 | *[class~='scapEnum-d/cceID'] { 10 | font-family:monospace; 11 | } 12 | 13 | *[class~="scapEnum-d/cveID"]:before { 14 | content: 'CVE-'; 15 | } 16 | *[class~="scapEnum-d/cpeID"]:before { 17 | content: 'cpe:'; 18 | } 19 | 20 | *[class~="scapEnum-d/cceID"]:before { 21 | content: 'CCE-'; 22 | } 23 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/data-stream-collection.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/usnistgov/sctools/6952301261291fd8b0c7ecfc0dbf888fe54ff764/dita/plugins/gov.nist.scap.doctypes/data-stream-collection.xlsx -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/dtd/catalog.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 9 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 25 | 26 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/dtd/reverseDNSAttDomain.ent: -------------------------------------------------------------------------------- 1 | 2 | 8 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/dtd/rule/catalog.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/dtd/rule/rule.ent: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/dtd/scapDataStreamDomain.ent: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/dtd/scapEnumDomain.ent: -------------------------------------------------------------------------------- 1 | 7 | 8 | 14 | 15 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/dtd/scapEnumDomain.mod: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 26 | 37 | 38 | 39 | 40 | 41 | 46 | 57 | 58 | 59 | 60 | 61 | 66 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/dtd/scapNameAttDomain.ent: -------------------------------------------------------------------------------- 1 | 2 | 8 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/dtd/scapVersionAttDomain.ent: -------------------------------------------------------------------------------- 1 | 2 | 8 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/dtd/schematronVersionAttDomain.ent: -------------------------------------------------------------------------------- 1 | 2 | 8 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/dtd/useCaseAttDomain.ent: -------------------------------------------------------------------------------- 1 | 2 | 8 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/rnc/catalog.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/rnc/scapDataStreamCollection.rnc: -------------------------------------------------------------------------------- 1 | namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" 2 | datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes" 3 | namespace dita = "http://dita.oasis-open.org/architecture/2005/" 4 | 5 | dita:moduleDesc [ 6 | dita:moduleTitle [ "SCAP Data Stream Collection" ] 7 | dita:moduleMetadata [ 8 | dita:moduleType [ "mapshell" ] 9 | dita:moduleShortName [ "scapDataStreamCollection" ] 10 | dita:shellPublicIds [ 11 | dita:rncShell [ 12 | "urn:oasis:names:tc:dita:rnc:basemap.rnc" 13 | dita:var [ presep = ":" name = "ditaver" ] 14 | ] 15 | dita:rngShell [ 16 | "urn:oasis:names:tc:dita:rng:basemap.rng" 17 | dita:var [ presep = ":" name = "ditaver" ] 18 | ] 19 | ] 20 | ] 21 | ] 22 | 23 | div { 24 | ## ROOT ELEMENT DECLARATION 25 | start |= scapDataStreamCollection.element 26 | } 27 | 28 | div { 29 | ## DITA DOMAINS ATTRIBUTE 30 | domains-att = 31 | [ 32 | a:defaultValue = ''' 33 | (map scapDataStreamCollection) 34 | (map scapDataStream-d) 35 | (map ditavalref-d) 36 | (map mapgroup-d) 37 | (topic delay-d) 38 | (topic hi-d) 39 | a(props deliveryTarget) 40 | a(props reverseDNS) 41 | a(props scapName) 42 | a(props scapVersion) 43 | a(props schematronVersion) 44 | a(props useCase) 45 | a(props localUri) 46 | (map scapDataStreamCollection scapDataStreamCollection-c) 47 | (map scapDataStream-d scapDataStream-c) 48 | ''' 49 | ] 50 | attribute domains { text }? 51 | } 52 | 53 | div { 54 | ## CONTENT CONSTRAINT INTEGRATION 55 | include "scapDataStreamCollectionConstraintMod.rnc" 56 | include "scapDataStreamConstraint.rnc" 57 | } 58 | 59 | div { 60 | ## MODULE INCLUSIONS 61 | include "mapMod.rnc" 62 | include "mapGroupDomain.rnc" 63 | include "delayResolutionDomain.rnc" 64 | [ dita:since = "1.3" ] include "deliveryTargetAttDomain.rnc" 65 | [ dita:since = "1.3" ] include "ditavalrefDomain.rnc" 66 | include "highlightDomain.rnc" 67 | include "scapReverseDNSAttDomain.rnc" 68 | include "scapNameAttDomain.rnc" 69 | include "scapVersionAttDomain.rnc" 70 | include "scapSchematronVersionAttDomain.rnc" 71 | include "scapUseCaseAttDomain.rnc" 72 | include "scapLocalUriAttDomain.rnc" 73 | } 74 | 75 | ## ID-DEFINING-ELEMENT OVERRIDES 76 | div { 77 | any = 78 | (idElements 79 | | element * - (map | anchor) { 80 | attribute * { text }*, 81 | any 82 | } 83 | | text)* 84 | } -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/rnc/scapDataStreamCollectionConstraintMod.rnc: -------------------------------------------------------------------------------- 1 | namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" 2 | datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes" 3 | namespace dita = "http://dita.oasis-open.org/architecture/2005/" 4 | 5 | dita:moduleDesc [ 6 | dita:moduleTitle [ "SCAP Data Stream Collection Constraint" ] 7 | dita:moduleMetadata [ 8 | dita:moduleType [ "constraint" ] 9 | dita:moduleShortName [ "scapDataStreamCollection" ] 10 | dita:domainsContribution [ "(map scapDataStreamCollection scapDataStreamCollection-c)" ] 11 | ] 12 | ] 13 | 14 | div { 15 | ## CONTENT MODEL OVERRIDES 16 | include "scapDataStreamCollectionMod.rnc" { 17 | # Require schematronVersion, reverseDNS, and scapName attributes 18 | # for scapDataStreamCollection element. 19 | scapDataStreamCollection.attributes &= 20 | attribute scapName { xsd:NCName }, 21 | attribute reverseDNS { xsd:string { pattern="[a-zA-Z0-9\-\.]+" } }, 22 | attribute schematronVersion { "1.3" | "1.2" | "1.1" | "1.0" } 23 | 24 | # Assign defaults to scapComponent element's navtitle, format, scope, and processing-role 25 | # attributes. Restrict keys to NCName. 26 | scapComponent.attributes = 27 | [ a:defaultValue = "scapComponent" ] 28 | attribute navtitle { text }?, 29 | [ a:defaultValue = "xml" ] 30 | attribute format { text }?, 31 | [ a:defaultValue="local" ] 32 | attribute scope { 33 | "external" | "local" | "peer" | "-dita-use-conref-target" }?, 34 | attribute href { xsd:anyURI }, 35 | attribute keys { xsd:NCName }, 36 | [ a:defaultValue = "resource-only" ] 37 | attribute processing-role { 38 | "normal" | "resource-only" | "-dita-use-conref-target" 39 | }? 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/rnc/scapDataStreamCollectionMod.rnc: -------------------------------------------------------------------------------- 1 | namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" 2 | datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes" 3 | namespace dita = "http://dita.oasis-open.org/architecture/2005/" 4 | 5 | dita:moduleDesc [ 6 | dita:moduleTitle [ "SCAP Data Stream Collection Module" ] 7 | dita:moduleMetadata [ 8 | dita:moduleType [ "map" ] 9 | dita:moduleShortName [ "scapDataStreamCollection" ] 10 | dita:domainsContribution [ "(map scapDataStreamCollection)" ] 11 | ] 12 | ] 13 | 14 | div { 15 | ## ELEMENT TYPE NAME PATTERNS 16 | scapDataStreamCollection = scapDataStreamCollection.element 17 | scapComponent = scapComponent.element 18 | } 19 | 20 | div { 21 | ## ELEMENT TYPE DECLARATIONS 22 | div { 23 | ## Long name: SCAP Data Stream Collection 24 | scapDataStreamCollection.content = 25 | title?, 26 | scapComponent+, 27 | scapDataStream+ 28 | scapDataStreamCollection.attributes = 29 | attribute title { text }?, 30 | # attribute id { xsd:ID }?, 31 | conref-atts, 32 | attribute anchorref { text }?, 33 | attribute outputclass { text }?, 34 | localization-atts, 35 | topicref-atts, 36 | select-atts 37 | scapDataStreamCollection.element = 38 | element scapDataStreamCollection { 39 | scapDataStreamCollection.attlist, 40 | scapDataStreamCollection.content 41 | } 42 | scapDataStreamCollection.attlist &= 43 | scapDataStreamCollection.attributes, 44 | arch-atts, 45 | domains-att 46 | } 47 | div { 48 | ## Long name: SCAP Component 49 | scapComponent.content = keydef.content 50 | scapComponent.attributes = keydef.attributes 51 | scapComponent.element = 52 | element scapComponent { 53 | scapComponent.attlist, 54 | scapComponent.content 55 | } 56 | scapComponent.attlist = scapComponent.attributes 57 | } 58 | 59 | div { 60 | ## SPECIALIZATION ATTRIBUTES 61 | scapDataStreamCollection.attlist &= 62 | global-atts, 63 | [ a:defaultValue = "- map/map scapDataStreamCollection/scapDataStreamCollection " ] 64 | attribute class {text} ? 65 | scapComponent.attlist &= 66 | global-atts, 67 | [ a:defaultValue = "- map/topicref mapgroup-d/keydef scapDataStreamCollection/scapComponent " ] 68 | attribute class {text} ? 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/rnc/scapDataStreamConstraint.rnc: -------------------------------------------------------------------------------- 1 | namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" 2 | datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes" 3 | namespace dita = "http://dita.oasis-open.org/architecture/2005/" 4 | 5 | dita:moduleDesc [ 6 | dita:moduleTitle [ "SCAP Data Stream Domain Constraint" ] 7 | dita:moduleMetadata [ 8 | dita:moduleType [ "constraint" ] 9 | dita:moduleShortName [ "scapDataStream" ] 10 | dita:domainsContribution [ "(map scapDataStream-d scapDataStream-c)" ] 11 | ] 12 | ] 13 | 14 | div { 15 | ## CONTENT MODEL OVERRIDES 16 | include "scapDataStreamDomain.rnc" { 17 | 18 | # Require scapVersion, useCase, and scapName attributes for scapDataStream element. 19 | scapDataStream.attributes &= 20 | attribute scapName { xsd:NCName }, 21 | attribute scapVersion { "1.3" | "1.2" | "1.1" | "1.0" }, 22 | attribute useCase { "CONFIGURATION" | "VULNERABILITY" | "INVENTORY" | "OTHER" } 23 | 24 | # Require keyref attribute for scapUri element and 'Ref' elements. Restrict keyref to NCName. 25 | # Allow for optional localUri attribute for scapUri element. 26 | scapUri.attributes &= 27 | attribute keyref { xsd:NCName }, 28 | attribute localUri { xsd:anyURI }? 29 | scapCpeListRef.attributes &= attribute keyref { xsd:NCName } 30 | scapBenchmarkRef.attributes &= attribute keyref { xsd:NCName } 31 | scapTailoringRef.attributes &= attribute keyref { xsd:NCName } 32 | scapOvalRef.attributes &= attribute keyref { xsd:NCName } 33 | scapOcilRef.attributes &= attribute keyref { xsd:NCName } 34 | 35 | # Suppress unnecessary attributes 36 | scapDictionaries.attributes &= empty 37 | scapExternalLinks.attributes &= empty 38 | scapChecklists.attributes &= empty 39 | scapChecks.attributes &= empty 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/rnc/scapLocalUriAttDomain.rnc: -------------------------------------------------------------------------------- 1 | datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes" 2 | namespace dita = "http://dita.oasis-open.org/architecture/2005/" 3 | 4 | dita:moduleDesc [ 5 | dita:moduleTitle [ "SCAP Local URI Attribute Domain " ] 6 | dita:moduleMetadata [ 7 | dita:moduleType [ "attributedomain" ] 8 | dita:moduleShortName [ "localUriAtt-d" ] 9 | dita:domainsContribution [ "a(props localUri)" ] 10 | ] 11 | ] 12 | 13 | div { 14 | ## ATTRIBUTE DECLARATION PATTERN 15 | localUriAtt-d-attribute = 16 | attribute localUri { xsd:anyURI }? 17 | } 18 | 19 | div { 20 | ## ATTRIBUTE EXTENSION PATTERN 21 | props-attribute-extensions &= localUriAtt-d-attribute 22 | } -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/rnc/scapNameAttDomain.rnc: -------------------------------------------------------------------------------- 1 | datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes" 2 | namespace dita = "http://dita.oasis-open.org/architecture/2005/" 3 | 4 | dita:moduleDesc [ 5 | dita:moduleTitle [ "SCAP Name Attribute Domain " ] 6 | dita:moduleMetadata [ 7 | dita:moduleType [ "attributedomain" ] 8 | dita:moduleShortName [ "scapNameAtt-d" ] 9 | dita:domainsContribution [ "a(props scapName)" ] 10 | ] 11 | ] 12 | 13 | div { 14 | ## ATTRIBUTE DECLARATION PATTERN 15 | scapNameAtt-d-attribute = 16 | attribute scapName { xsd:NCName }? 17 | } 18 | 19 | div { 20 | ## ATTRIBUTE EXTENSION PATTERN 21 | props-attribute-extensions &= scapNameAtt-d-attribute 22 | } -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/rnc/scapReverseDNSAttDomain.rnc: -------------------------------------------------------------------------------- 1 | datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes" 2 | namespace dita = "http://dita.oasis-open.org/architecture/2005/" 3 | 4 | dita:moduleDesc [ 5 | dita:moduleTitle [ "Reverse-DNS Attribute Domain " ] 6 | dita:moduleMetadata [ 7 | dita:moduleType [ "attributedomain" ] 8 | dita:moduleShortName [ "reverseDNSAtt-d" ] 9 | dita:domainsContribution [ "a(props reverseDNS)" ] 10 | ] 11 | ] 12 | 13 | div { 14 | ## ATTRIBUTE DECLARATION PATTERN 15 | reverseDNSAtt-d-attribute = 16 | attribute reverseDNS { xsd:string { pattern="[a-zA-Z0-9\-\.]+" } }? 17 | } 18 | 19 | div { 20 | ## ATTRIBUTE EXTENSION PATTERN 21 | props-attribute-extensions &= reverseDNSAtt-d-attribute 22 | } -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/rnc/scapSchematronVersionAttDomain.rnc: -------------------------------------------------------------------------------- 1 | datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes" 2 | namespace dita = "http://dita.oasis-open.org/architecture/2005/" 3 | 4 | dita:moduleDesc [ 5 | dita:moduleTitle [ "Schematron Version Attribute Domain " ] 6 | dita:moduleMetadata [ 7 | dita:moduleType [ "attributedomain" ] 8 | dita:moduleShortName [ "schematronVersionAtt-d" ] 9 | dita:domainsContribution [ "a(props schematronVersion)" ] 10 | ] 11 | ] 12 | 13 | div { 14 | ## ATTRIBUTE DECLARATION PATTERN 15 | schematronVersionAtt-d-attribute = 16 | attribute schematronVersion { "1.3" | "1.2" | "1.1" | "1.0" }? 17 | } 18 | 19 | div { 20 | ## ATTRIBUTE EXTENSION PATTERN 21 | props-attribute-extensions &= schematronVersionAtt-d-attribute 22 | } -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/rnc/scapUseCaseAttDomain.rnc: -------------------------------------------------------------------------------- 1 | datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes" 2 | namespace dita = "http://dita.oasis-open.org/architecture/2005/" 3 | 4 | dita:moduleDesc [ 5 | dita:moduleTitle [ "SCAP Use Case Attribute Domain " ] 6 | dita:moduleMetadata [ 7 | dita:moduleType [ "attributedomain" ] 8 | dita:moduleShortName [ "useCaseAtt-d" ] 9 | dita:domainsContribution [ "a(props useCase)" ] 10 | ] 11 | ] 12 | 13 | div { 14 | ## ATTRIBUTE DECLARATION PATTERN 15 | useCaseAtt-d-attribute = 16 | attribute useCase { "CONFIGURATION" | "VULNERABILITY" | "INVENTORY" | "OTHER" }? 17 | } 18 | 19 | div { 20 | ## ATTRIBUTE EXTENSION PATTERN 21 | props-attribute-extensions &= useCaseAtt-d-attribute 22 | } -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/rnc/scapVersionAttDomain.rnc: -------------------------------------------------------------------------------- 1 | datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes" 2 | namespace dita = "http://dita.oasis-open.org/architecture/2005/" 3 | 4 | dita:moduleDesc [ 5 | dita:moduleTitle [ "SCAP Version Attribute Domain " ] 6 | dita:moduleMetadata [ 7 | dita:moduleType [ "attributedomain" ] 8 | dita:moduleShortName [ "scapVersionAtt-d" ] 9 | dita:domainsContribution [ "a(props scapVersion)" ] 10 | ] 11 | ] 12 | 13 | div { 14 | ## ATTRIBUTE DECLARATION PATTERN 15 | scapVersionAtt-d-attribute = 16 | attribute scapVersion { "1.3" | "1.2" | "1.1" | "1.0" }? 17 | } 18 | 19 | div { 20 | ## ATTRIBUTE EXTENSION PATTERN 21 | props-attribute-extensions &= scapVersionAtt-d-attribute 22 | } -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/rng/catalog.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/rng/scapDataStreamCollectionConstraintMod.rng: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SCAP Data Stream Collection Constraint 5 | 6 | constraint 7 | scapDataStreamCollection 8 | (map scapDataStreamCollection scapDataStreamCollection-c) 9 | 10 | 11 |
12 | 13 | CONTENT MODEL OVERRIDES 14 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | [a-zA-Z0-9\-\.]+ 25 | 26 | 27 | 28 | 29 | 1.3 30 | 1.2 31 | 1.1 32 | 1.0 33 | 34 | 35 | 36 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | external 51 | local 52 | peer 53 | -dita-use-conref-target 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | normal 67 | resource-only 68 | -dita-use-conref-target 69 | 70 | 71 | 72 | 73 | 74 |
75 |
76 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/rng/scapLocalUriAttDomain.rng: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SCAP Local URI Attribute Domain 5 | 6 | attributedomain 7 | localUriAtt-d 8 | a(props localUri) 9 | 10 | 11 |
12 | 13 | ATTRIBUTE DECLARATION PATTERN 14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | ATTRIBUTE EXTENSION PATTERN 24 | 25 | 26 |
27 |
28 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/rng/scapNameAttDomain.rng: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SCAP Name Attribute Domain 5 | 6 | attributedomain 7 | scapNameAtt-d 8 | a(props scapName) 9 | 10 | 11 |
12 | 13 | ATTRIBUTE DECLARATION PATTERN 14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | ATTRIBUTE EXTENSION PATTERN 24 | 25 | 26 |
27 |
28 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/rng/scapReverseDNSAttDomain.rng: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Reverse-DNS Attribute Domain 5 | 6 | attributedomain 7 | reverseDNSAtt-d 8 | a(props reverseDNS) 9 | 10 | 11 |
12 | 13 | ATTRIBUTE DECLARATION PATTERN 14 | 15 | 16 | 17 | [a-zA-Z0-9\-\.]+ 18 | 19 | 20 | 21 | 22 |
23 |
24 | 25 | ATTRIBUTE EXTENSION PATTERN 26 | 27 | 28 |
29 |
30 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/rng/scapSchematronVersionAttDomain.rng: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Schematron Version Attribute Domain 5 | 6 | attributedomain 7 | schematronVersionAtt-d 8 | a(props schematronVersion) 9 | 10 | 11 |
12 | 13 | ATTRIBUTE DECLARATION PATTERN 14 | 15 | 16 | 17 | 1.3 18 | 1.2 19 | 1.1 20 | 1.0 21 | 22 | 23 | 24 | 25 |
26 |
27 | 28 | ATTRIBUTE EXTENSION PATTERN 29 | 30 | 31 |
32 |
33 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/rng/scapUseCaseAttDomain.rng: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SCAP Use Case Attribute Domain 5 | 6 | attributedomain 7 | useCaseAtt-d 8 | a(props useCase) 9 | 10 | 11 |
12 | 13 | ATTRIBUTE DECLARATION PATTERN 14 | 15 | 16 | 17 | CONFIGURATION 18 | VULNERABILITY 19 | INVENTORY 20 | OTHER 21 | 22 | 23 | 24 | 25 |
26 |
27 | 28 | ATTRIBUTE EXTENSION PATTERN 29 | 30 | 31 |
32 |
33 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/rng/scapVersionAttDomain.rng: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SCAP Version Attribute Domain 5 | 6 | attributedomain 7 | scapVersionAtt-d 8 | a(props scapVersion) 9 | 10 | 11 |
12 | 13 | ATTRIBUTE DECLARATION PATTERN 14 | 15 | 16 | 17 | 1.3 18 | 1.2 19 | 1.1 20 | 1.0 21 | 22 | 23 | 24 | 25 |
26 |
27 | 28 | ATTRIBUTE EXTENSION PATTERN 29 | 30 | 31 |
32 |
33 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/template_folders/Maps/Map (Single XML Resource).ditamap: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/template_folders/Maps/Map (Single XML Resource).properties: -------------------------------------------------------------------------------- 1 | type=dita -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/template_folders/Maps/Relax NG (Compact Syntax)/SCAP SDS Collection (RNC).ditamap: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | Source Data Stream Collection 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.doctypes/template_folders/Maps/Relax NG (Compact Syntax)/SCAP SDS Collection (RNC).properties: -------------------------------------------------------------------------------- 1 | type=dita -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.split/plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.split/splitbuild.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /dita/plugins/gov.nist.scap.split/xsl/split.xsl: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 33 | Matching DITA map 34 | 37 | 38 | 39 | 42 | Matching topicref 43 | 44 | 45 | 46 | 47 | 48 | Matching data stream collection id= 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | Matching component id= 57 | 58 | 59 | 60 | 61 | 62 | Creating file 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /dita/templates/Concept-SCAP.dita: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ${caret} 5 | 6 | 7 |

8 |
9 |
10 | -------------------------------------------------------------------------------- /dita/templates/Rule-SCAP.dita: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ${caret} 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | --------------------------------------------------------------------------------