380 Commits

Author SHA1 Message Date
Cyrus
d41cb46468
[#260] RIM validation report page links (#264)
* Made some minor tweaks to investigate supply chain validation report bug.  The bug doesn't save the summary report for some unknown reason (no error currently appears).  This change uses the device object to retrieve a RIM.  Still need Attestation Certificate to pull PCRs from quote.  A follow up issue will be created to move that functionality to a different object from the provisioner.
2020-06-23 13:24:34 -04:00
Cyrus
6a62002b05
[#265] IMA/TBoot PCR ignore policy (#271)
* Updated code to include an official policy to ignore IMA and TBoot.  The policies will disable if firmware validation is disabled.
2020-06-23 12:48:06 -04:00
Cyrus
db31614694
Added case statement for 2.23.133.2.25 just like for 2.23.133.2.17 so that the error isn't thrown. (#272) 2020-06-19 11:11:58 -04:00
Cyrus
49e4ce4db4
Validation bug (#263)
* Updated code to correctly match up the PCR to the baseline PCR.  Also updated values of error messages and reduced firmware error message.
2020-06-15 11:55:05 -04:00
iadgovuser26
47fd1085cb Changed description when no event data is provided for EV_EFI_BOOT_SERVICES_APPLICATION 2020-06-10 17:54:15 -04:00
iadgovuser26
7f5d97e9fa Fixed merge conflicts 2020-06-10 17:33:57 -04:00
iadgovuser26
586c29c0f3 Fixed merge conflicts 2020-06-10 16:51:47 -04:00
iadgovuser26
f2fd7f31bd conflict resoltion step 1 2020-06-10 14:04:23 -04:00
iadgovuser26
75734015a7 rephrased EV_EFI_BOOT_SERVICES_APPLICATION message when no device path is present 2020-06-10 11:35:00 -04:00
Cyrus
da5bc217ef
[#236] Firmware validation update part 2 (#259)
* Modified the hirs.data.persist package to have better fidelity into the objects necessary to create and maintain a baseline.  the info objects will be next.
2020-06-10 11:17:45 -04:00
iadgovuser26
ff955bd499 added a eventcheck script to check and event log against a signed RIM 2020-05-27 17:31:15 -04:00
iadgovuser26
56552898da Merge branch 'issue-249' into issue-252 2020-05-15 12:19:58 -04:00
iadgovuser26
4e6e94aea3 fixed merge issue 2020-05-15 11:00:49 -04:00
iadgovuser26
b8f4182415 added tcg_eventlog_tool 2020-05-15 10:46:47 -04:00
iadgovuser26
70986caf5c
Merge branch 'master' into issue-245 2020-05-15 09:32:16 -04:00
iadgovuser26
2743077c83
Merge pull request #244 from nsacyber/issue-242
[#242] Add UEFI Variable processing for TCG Event Logs
2020-05-15 08:50:37 -04:00
iadgovuser26
f24c53f6c6 Added support for obtaining event and content data. Removed TCGLogProcessor. 2020-05-13 08:06:58 -04:00
iadgovuser26
a7d57f92d9 added command line log parser 2020-05-01 18:11:34 -04:00
iadgovuser26
7a9dc26df5 Added TCG Event Processing. 2020-05-01 09:18:14 -04:00
iadgovuser26
dda14ca16d Merge branch 'issue-242' into issue-245 2020-04-28 10:50:34 -04:00
iadgovuser26
3ae9cb87c8 Made code review adjustments 2020-04-28 10:11:51 -04:00
lareine
94cf172ce8 add support for EvCompactHash EvEfiSpecIdEvent and EvNoAction events 2020-03-27 15:58:05 -04:00
lareine
faa77be822 Merge branch 'issue-242' into issue-245
Uefi support included into issue-245.
2020-03-27 13:43:59 -04:00
iadgovuser26
d7f075d70c
Merge pull request #241 from nsacyber/issue-240
[#240] Adds ability to get the DigestAlgorithm from an Event Log
2020-03-27 11:00:17 -04:00
lareine
62247f8cfb Fixed unmappable character for encoding ASCII issue 2020-03-27 10:41:21 -04:00
Cyrus
2805df9f8b
[#236] Firmware validation update part 1 (#243)
* This commit includes changes to the provisioner for what is sent up.  Originally only SHA256 was being used, this change includes both.
* This last commit cover the items 2-4 in issue #236.  The Provisioner sends up and updated list of pcrs that include 256, not just sha1.  The validation and policy pages have been updated.  A second pull request will be created to address parsing the information into a baseline.
2020-03-27 10:13:37 -04:00
lareine
fecc84a5be Added unit tests for Uefi processing. 2020-03-27 08:20:04 -04:00
lareine
828e6d4e65 added uefi variable processing 2020-03-24 13:12:44 -04:00
lareine
b5867e0cf6 added UEFI GUID, Partiton, and Firmware Varible support 2020-03-17 17:08:09 -04:00
lareine
f3da6b44ac Added methods to retrieve event log hash algorithm and algorithm id 2020-03-17 09:48:02 -04:00
Cyrus
21db725815
[#230] Update RIM details page to display PCRs (#233)
* This is an update to the display of the Reference Integrity Manifest code base that'll allow a user to upload a swidtag.  This code includes some additions from #217, slightly modified.

* This code update include changes to import, archive and delete a swidtag into the RIM object.

* Updated the code with additional checks on the uploaded file locations.  Added the number associated with the PCR value to the detail page.

* This change fixes the bug that caused the rim detail page to go blank if the associated event log file associated with the resource file doesn't exist.

Co-authored-by: lareine <lareine@tycho.ncsc.mil>
2020-03-06 07:06:09 -05:00
Cyrus
4a6115f443
[#212] Added functionality to process and display RIM files. (#226)
* Some initial additions to the details page for displaying Rim information.

* Initial changes for uploading a rim file.

* This is an update to the display of the Reference Integrity Manifest code base that'll allow a user to upload a swidtag.  This code includes some additions from #217, slightly modified.

* This code update include changes to import, archive and delete a swidtag into the RIM object.

* This commit consolidated the SwidTagGatway code and Constants into Reference Manifest.

* This is the final main push of code that will upload, process, store, retrive/delete and display the contents of a RIM swid tag.

* Interim commit for demo purposes.

* Updated Unit Tests

* This commit adds the unit tests that weren't added in the previous commit

* Updated code to reduce execution time when processing reference manifest objects.

* Updated code for better GUI performance.

* Removed previously added suppression entries.
2020-02-21 11:16:46 -05:00
iadgovuser26
9a835d8923
[222] Added TCG Event Log Processing that converts TCG Event Logs to HIRS T… (#223)
* Added TCG Event Log Processing that converts TCG Event Logs to HIRS TPM Baselines

* Some minor formating, syntax and code refactoring updates.

* Updated checkstyle failures.

* String format was missing additional %s.

Co-authored-by: Cyrus <24922493+cyrus-dev@users.noreply.github.com>
2020-02-21 06:37:43 -05:00
Cyrus
84a76608f3
[#198] Reference Integrity Manifest Page List (#210)
* Initial commit of changes to display RIM information.
2020-01-10 13:47:17 -05:00
Cyrus
81e13831b2
[#202] Certificate fail to save upon deletion during provisioning FIXED (#206)
* This commit fixes an error produced when provisioning when the certificate from a previous provision is deleted from the ACA.  The error involves doing a look up for an existing certificate and getting nothing however this is due to not using the 'includeArchived' attribute for the Certificate Selector.  Include Archived is used when manually uploading a certificate.
2020-01-06 08:17:04 -05:00
busaboy1340
a2497c064c
[#88] Integrate System Tests with Dockerized TPM 1.2 Provisioner (#208)
* Initial system test for TPM 1.2 emulator.

* Update .travis.yml file.

* Added system test: test_20_tpm_1_2_initial_provision

* Cleaned up files.

* Correct docker location

* Re-arranged system tests.

* Execute test_12_attestation_ca_portal_online for all current collectors.

* Clean up files.

* Cleaned up files.

* Cleaned up files.

* Cleaned up files.

* Cleaned up files

* Updated system test driver.

* Set logging properties to DEBUG.

* Commented out test_13_tpm_1_2_initial_provision. Need to fix it.
2019-12-23 05:28:26 -05:00
Cyrus
09aafa8041
[#168] Additional fields added to the Issued AC (#201)
* Added additional code pulled from the original branch for these changes aik-field-additions.
* Updated code to include the TCG Credential Specification, which is a different version from the Platform specification.
2019-11-13 10:46:00 -05:00
busaboy1340
00287725da
[#194] Update TPM Provisioner Docker images with latest PACCOR (v1.1.3r3) (#200)
* [#195] Components identified by Component Class will have hardware IDs translated to names

* Update TPM Docker images to latest PACCOR(v1.1.3r3). Comment out the
failing system tests caused by invalid input to PACCOR.
2019-11-07 09:37:06 -05:00
chubtub
8af49dc6b7 WIP: update version number in ACA banner following upgrade 2019-09-11 12:35:27 -04:00
Cyrus
f73d65c952
[#181] Delta holder validation (#186)
* This is a quick fix to ensure that a delta that is being uploaded has a holder serial number that exists in the database.

* Fixed syntax issues.

* Through further testing with delta certificates that had differing begin validity dates, the code to test the sorting failed.  This push includes a fix that places the deltas in the proper order.

In addition, this code includes a placeholder for deltas that don't have an existing holder certificate in the database.

* Findbugs is a cumbersome COTS product that generates more hassle than help.  Upon indicating 'dodgy' code about redundant null checks, that didn't exist, it then didn't like using non-short circuit operators to verify that both objects are not null.  It then spells out what non-shorting curcuit operators do, without acknowledges that's what you mean to do.
2019-08-29 13:35:41 -04:00
Cyrus
9318c22549
[#167] Component color failure (#185)
* Initial changes to pull down the serial from the validation reports page and transfer them to the certificates details page.  This will then allow the certificate details page to reference the serial numbers that are in failure.

* This is an attempt to transfer data from page to page via the certificate manager.

* Previous attempt didn't work, the manager isn't saving the summary.  Switching to augmenting the database by adding a new column for platform credentials.

* These changes add identifying color to the components that fail validation in the base certificate.  This code however does change the database by adding a new column to track the fails and pass to the classes that display the information.

* Updated the jsp display of the highlighted component to red background with a white foreground.  Updated the index of the string parse to not use magic numbers.
2019-08-29 11:45:22 -04:00
Cyrus
ce45adbb26
Updated the component class definitions to the current rev 4. (#179) 2019-08-05 13:28:08 -04:00
Cyrus
7cfabe756d
[#166] Validation icon swap (#173)
* This pull request contains 2 main changes, the first is transferring the status text from the attributes failure to the icon specifically for platform trust chain validation.  Then this removes the third column on the validation page that singles out the icons for the attribute status.  In addition, this status is also rolled up to the summary status icon and displays the text there as well for all that have failed.  This last change meant a change to the sizes of the columns in the database.

The validation of a single base certificate with an error was not handled in the code base.  Due to the changes with the introduction of delta certifications, the validation was modified and only handled changes presented by the deltas and ignored errors in the base certificate.  This commit modifies the code that if there is just a single base certificate that is bad and error is thrown.
2019-08-02 09:41:44 -04:00
Cyrus
f4bfe47c9c
Clean up (#172)
* This is a test build to determine code to block script base certificate upload if one already exists.

* Added null check

* Fixed checkstyle error
2019-07-25 09:32:33 -04:00
Cyrus
3208241cc3
[#162] Attribute match fix (#165)
* Updated code by removing a loop that wasn't necessary.  It was supposed to filter out the deltas but this wasn't needed as the chain was established.

* The debug code was left in, this is now removed.
2019-06-24 13:02:01 -04:00
Cyrus
a8e2c5cc6e
[#163] Delta issuer validation (#164)
* This code change will add in the delta certficates to the platform validation check.  The current base passes the policy check as long as the base is valid.  The deltas are ignored.  This is because the validation pulls in what is associated with a particular EK associated with the machine provisioning.
2019-06-24 13:01:32 -04:00
Cyrus
157dcb649d
[#109] Delta Chain Validation (#151)
* This code adds functionality to check the delta certificates in a chain. The main operation validates that the delta belongs in that chain and then that the chain establishes correct component modification. No removes before an add, no add to a component that exists, no remove to a component that doesn't exist. The unit test was updated to not use any flat file certificate.

Closes #109

* Changes were made to the validation of a delta certificate based on newer information.  There can be multiple bases and multiple leaves in a tree of associated certificates.  However currently we don't have certificates to validate the entirety of the code to test.

* Updated the code to treat the platform attributes policy, if v2, against all in the chain rather than one at a time.
2019-06-04 14:07:35 -04:00
apldev3
d26a3da5ea [#135] Fix DeviceInfoCollector's handling of C-Style Strings 2019-05-13 15:03:27 -04:00
Cyrus
3bebec1154
Attribute Validation Match Update (#128)
* Updated the default values of the component identifier and component info classes.  The provisioner side of the process was updated to populate with Empty, the current ACA is using ---.

* Updated unit tests.  For the supply chain validation, I updated the validation fail message to include additional information.

* Updated code for the component identifier classes to correct the default values that can be seen from either paccor or devices when data isn't specified.

* Removed unused variable and change package for the EMPTY variable.
2019-05-06 13:54:16 -04:00
Cyrus
805b87ffb6
[#111] ACA UI updates for V2 platform certificates (#129)
* This issue updates the UI for the newest V2 information for platform attribute certificates.  This first push has updates from #111 for items 1, 2 and 3a/b.

* Updated for additional changes.

* Updated example of numerated base to delta certificates linked on platform details page instead of using previous and next buttons.

* Updated code to unlink supply chain identifier number if that is the current page.

* A unit test was failing because of the next spec and how the certificate string mapper was being used.  I added a null check before sending it to a selector. In addition I updated the selector to print the actual variable name that of the field value failing for better clarity when it fails.

* Updated variable name to reflect changes in the issue around labeling certificates vs credentials.
2019-05-03 06:53:17 -04:00