Cyrus
108748fb2a
Undid some code and change the Digest Value class into a table in the database. This code then updates those values when a provision is initiated. At this time, that is all it does.
2021-03-19 11:01:25 -04:00
Cyrus
53cb300063
This is an initial commit with changes that add new classes for digest reference matching.
2021-03-17 10:23:08 -04:00
Cyrus
9134e2ab9d
Merge branch 'master' into rim_digest_store
2021-03-12 07:33:47 -05:00
Cyrus
accbc422e7
This adds the additional classes
2021-03-11 10:56:19 -05:00
Cyrus
19aa3c27a1
initial commit with the structures that are to be set up
2021-03-11 10:55:22 -05:00
Cyrus
c66f4f7648
Merge pull request #334 from nsacyber/Unmatched-component-refactor
...
Unmatched component refactor
2021-03-09 13:07:16 -05:00
Cyrus
9008972fbc
Cleared all build errors
2021-03-08 06:43:10 -05:00
Cyrus
0e3eabc34f
Removed unused import
2021-03-08 06:31:31 -05:00
Cyrus
bd5bca58ea
I have modified the code to correct handle the situation in which the device has more components than the certificate and I have taken steps to make the system test GOOD pass for test A6, A7 and A8.
2021-03-05 15:36:29 -05:00
Cyrus
763dcbd975
These are changes that were made in the system-tests-test that resolved the issues in the first TPM 2.0 system tests on travis.
2021-03-04 08:01:18 -05:00
Cyrus
8a571f1788
When a delta has the component that is bad, not the base, it wasn't highlighting. This is because the component failures wasn't be updated and then the certificate needed to be updated as well.
2021-02-25 06:59:56 -05:00
Cyrus
a5184f5a5b
Final changes that adds in the additional setting for the renewal period threshold. This value indicates that if the end validity has been reached for the current issued attestation certificate, then don't generate one. However if we are within the number of days set by the threshold, then generate the certificate before it expires. The default is 1 year from the end validity.
2021-02-23 10:17:56 -05:00
Cyrus
dcf0ec8101
Merge branch 'master' into aic-policy-rule
2021-02-11 14:13:28 -05:00
Cyrus
9917fadef7
On a previous commit, I removed a piece of code that checked the base credential first. Because the delta fixed a problem in the base, the base failed before the delta was checked. This was completely removed. On a test that we had previously done, the test passes when it should fail because there is only a base, so that check isn't being done. This change reintroduces the check but in a different location with flags for when there is a delta present.
2021-02-09 13:30:37 -05:00
Cyrus
69cd06df3b
Merging error didn't include the update to Assert.State
2021-02-09 06:54:31 -05:00
Cyrus
5e4dc8ce82
Merge branch 'master' into Unmatched-component-refactor
2021-02-08 15:23:21 -05:00
Cyrus
7b79ceb07a
Found the issue with the component being removed that doesn't have a proper serial number and adding one with it. The code was revalidating the base in the attributes enabled flag. This was unncessary.
2021-02-08 14:25:10 -05:00
Cyrus
4999c96685
Updated code to correct situations that were not linking up with properly for delta and platform certificate component validation.
2021-02-05 16:10:15 -05:00
Cyrus
677716fa08
Merge branch 'master' into Unmatched-component-refactor
2021-02-04 08:51:31 -05:00
Cyrus
447c817839
Updated the lists for the left over components.
2021-02-02 12:57:55 -05:00
Cyrus
2d9bbe1bd7
initial commit
2021-02-01 11:24:20 -05:00
Cyrus
8d6a697a23
Removed some unnecessary comments
2021-01-28 08:08:12 -05:00
Cyrus
653bfddc6d
Updated some code and took out things that didin't need to be in the official build for unit tests
2021-01-21 07:40:55 -05:00
Cyrus
5589096443
Cleaned up some stuff I found during code compare in github.
2021-01-20 13:23:51 -05:00
Cyrus
acc022d784
Finalized clean up.
2021-01-20 13:05:43 -05:00
Cyrus
e9eef0e5b3
Updated the code to go through the serial numbers that are valid numbers verus generic filler. Tested against the provisioner.
2021-01-20 08:00:24 -05:00
Cyrus
fa12614221
Testing out new code
2021-01-14 10:34:27 -05:00
Cyrus
beb1ccbee3
Updated a supply chain validation check for delta certificates. Updated the check for duplicate base platform certificates when storing them for the same device and updated the begin validity date for the delta vs the base check.
2021-01-12 12:26:54 -05:00
Cyrus
fcb496686c
This includes some refactoring of the component identifier.
2021-01-11 13:24:49 -05:00
Cyrus
7028810707
This latest push should have the code that'll highlight the components based on a string rather than the serial number. This also adds additional checks for the validity begin date of the delta not matching or being before the base. It also checks that they don't have the same certificate serial number.
2020-12-30 08:41:47 -05:00
Cyrus
1db52cebf9
This is a stopping point because the code can't be fully worked out because the data (certificates) aren't correct.
2020-12-17 07:24:51 -05:00
Cyrus
8fa5dfdd9e
Removed unused imports
2020-12-14 10:57:35 -05:00
Cyrus
62c7ca2d90
This PR is to address issue #308 . The ACA was pulling Issuer Certificates using the organization RDN of the subject string and getting this from the issuer string of the EC or PC. This presents a problem because it isn't a required field. The organization field cannot be null or empty. Pulling objects from a DB using null or empty would produce bad results. The main change of this issue (which has not been full tested) is pulling using the AKI for the db lookup. If this fails, instead of falling back on potentially left out fields like the O= RDN, the ACA takes the issuer/subject fields, breaks them apart and sorts them based on the key. It also changes the case. This way the lookup can be assured to match in case of some random situation in which the issuer or subject field don't match because RDN keys are just in different positions of the string.
2020-12-11 14:47:46 -05:00
Cyrus
e64c6cf772
Merge branch 'master' into aic-policy-rule
2020-12-03 13:34:29 -05:00
Cyrus
e32e9412d8
Merge branch 'master' into Unmatched-component-refactor
2020-12-03 13:20:12 -05:00
Cyrus
a32d3a5f02
Remove comments
2020-12-01 09:46:05 -05:00
Cyrus
29b7d466cd
Updated wording in validation for failed trust store
2020-11-30 09:23:10 -05:00
Cyrus
9433c97dc9
The code now uses a combination of the class value and the platform manufacturer and model to identify mismatches. This now highlights the failured components
2020-11-25 08:02:45 -05:00
Cyrus
ffbcebbf11
Found the issue with the isMatch class not working. The component class string for the class value has a pound sign.
2020-11-24 09:12:00 -05:00
Cyrus
fbdcf83840
Continued refactoring to update the failed components part of the attribute validation. The delta mapping needs to be reworked to not use serials.
2020-11-23 14:46:29 -05:00
Cyrus
2b41720ded
Merge branch 'master' into update-component-failure-highlight
2020-11-17 15:24:27 -05:00
chubtub
e3b5d164a3
Add SKI to front end. Extract PK from base RIM to validate signature if not found in db
2020-11-16 16:43:11 -08:00
Cyrus
e8f5107137
Updating code to use a different format for identifying failed components.
2020-11-09 13:59:19 -05:00
Cyrus
bdb32d13ad
initial commit
2020-11-09 12:45:36 -05:00
Cyrus
967d9a0030
Merge branch 'master' into aic-policy-rule
2020-11-09 07:24:33 -05:00
Cyrus
9aa2c6a46d
Merge branch 'master' into client-display-log-mismatch
2020-11-06 09:17:38 -05:00
Cyrus
ed7dea3706
Merge branch 'master' into aic-policy-rule
2020-11-06 06:42:44 -05:00
Cyrus
6130f29dfa
Merge branch 'master' into aic-policy-rule
2020-11-05 14:47:52 -05:00
chubtub
623da2ce80
Overload RIM validator class for faster signature checking
2020-11-05 14:13:50 -05:00
Cyrus
c7ffb1c57d
Merge branch 'master' into client-display-log-mismatch
2020-11-05 12:39:35 -05:00
chubtub
302ffd81ee
Load Schema object in ReferenceManifestValidator class with controller class instantiation to save time
2020-11-05 11:07:17 -05:00
chubtub
24cf71642d
Add validation for support RIM hash and base RIM signature.
2020-11-05 11:07:17 -05:00
Cyrus
1b3abe465a
Merge pull request #303 from nsacyber/vendor-table-refactor
...
[#302 ] UEFI Table Map Refactor
2020-11-05 11:02:18 -05:00
Cyrus
388e3e9aa0
Merge branch 'master' into aic-policy-rule
2020-11-04 10:03:08 -05:00
Cyrus
49714fb3f2
Updated the Component Class Registry to rev. 4
2020-11-04 07:44:07 -05:00
Cyrus
e1c3a1fc0f
Initial Commit
2020-10-29 08:58:37 -04:00
Cyrus
1a86012e72
Merge branch 'master' into vendor-table-refactor
2020-10-27 13:05:48 -04:00
Cyrus
24e460e0c4
This is a refactore that changes BiosMeasurements into EventLogMeasurements for evolving naming convention updates.
2020-10-26 11:09:26 -04:00
Cyrus
d7ade70b5c
This branch takes the validated status of a failed event log matching from the bios measurements on the client and displays what failed on the support RIM page and the fail validation icon, if log mismatch, links to a bios measurments page that displays the events that didn't match next to baseline.
2020-10-22 13:32:30 -04:00
Cyrus
51f91b759d
Merge branch 'master' into vendor-table-refactor
2020-10-20 09:40:32 -04:00
Cyrus
96970142cb
This commit includes a completed rewrite of the ReferenceManifestSelector framework. Like the previous rewrite, it was easier and made more sense to create addition classes ands that are specific to a type of RIM (base, support, measurement) for referencing in the DB. Once this was rewritten the code was modified to validate the measurement against the support rim.
2020-10-19 13:06:44 -04:00
Cyrus
6052d8f8f2
The current script for generating the xjc didn't check if the files already existed. This causes the script to run multiple times during a build, which slows down the build process. This tweak checks the location to see if it exists and skips generating the xjc again.
2020-10-14 10:49:14 -04:00
Cyrus
9d793f50e6
Merge pull request #305 from nsacyber/client-eventlog
...
[#238 ] Client eventlog upload
2020-10-14 10:46:37 -04:00
Cyrus
e902c89a19
Merge pull request #304 from nsacyber/xjc-library-test
...
Updated XJC implementation/integration
2020-10-14 09:56:34 -04:00
Cyrus
4b0bb2df91
This commit updates the provisioner to pull the rim and swidtag locations from a properties file that will be created during the post install process. The provisioner then pulls the values and sends them to the ACA. The ACA currently just prints out the content and saves the swidtag.
2020-10-09 10:48:17 -04:00
Cyrus
369ce81c21
Merge branch 'master' into vendor-table-refactor
2020-10-06 09:45:12 -04:00
Cyrus
17728d3019
Updated the error message for no associated RIM not found, cleaned up display of the event content and adjusted the column of the digest display.
2020-10-06 07:42:15 -04:00
Cyrus
653acd270e
With the changes to how the ReferenceManifest is represented in the code and the previous firmware validation PR update, this branch wasn't properly updated for quote validation. The code was still pulling information for the baseline from an old source that wouldn't work anymore. Therefore all validations for the quote failed. The update now pulls the baseline information from the support RIM which is now stored in the database.
2020-10-01 12:14:29 -04:00
Cyrus
e97e17b534
This is a change to exclude the jaxb generated files from the git tracked file list just like the protobuf class is. The script runs and generates, the files are ignored by pmd and compile depends on building the xjc directory successfully.
2020-10-01 08:36:59 -04:00
Cyrus
35dcc226a6
Updated and fixed the difference in the code from the master branch merge
2020-09-30 11:33:28 -04:00
Cyrus
89dd2084c2
Merge branch 'master' into rimel-delete-details
2020-09-30 10:03:27 -04:00
Cyrus
2b57207445
Updated the Tag Version and version fields for Base and Support rims. In addition, adjusted the lay out of the support rim table so that the events column isn't as long. Instead, the full content shows up in an hover action.
2020-09-30 07:51:27 -04:00
Cyrus
3852bd7c6e
This code push removes a large switch/case statement structure and refactors it into a json file call. This follows the similar implementation of the Component Class but for UEFI vendor names.
2020-09-25 11:19:50 -04:00
Cyrus
3636782987
This commit adds functionality to display tpm even log information to the support RIM display page. Outstanding issues to implement: 1) add link to base from support RIM, 2) make event table scrollable
2020-09-24 09:58:10 -04:00
Cyrus
39cfaa5fac
After discussion, the concept of a Support RIM was clarified and because of this the ReferenceManifest.java file has to be updated to treat the Support rim similarly to the Base (which is a binary file vs an XML file). This initial code push is the beginning of that
2020-09-21 07:34:07 -04:00
Cyrus
4167696e13
Removed commented line
2020-09-09 07:12:29 -04:00
Cyrus
0291b96ca8
Updated code should be able to print one summary
2020-08-28 14:02:40 -04:00
Cyrus
792a248ba0
This code finishes up validating the pcrs against the provided tpm quote. However this will cause a second summary object to display if firmware validation is enabled. This is because the summary manager isn't able to get or update the previously saved summary.
2020-08-28 12:24:02 -04:00
Cyrus
5fe19c5904
Updated the code to compare the composite hash and the calculated value.
2020-08-28 07:14:27 -04:00
Cyrus
0ab91b9b41
All bugs are fixed. The SupplyChainValidationSummary wasn't getting pulled from the DB.
2020-08-27 12:11:12 -04:00
Cyrus
0f3eb1b5d0
Took out initalizing TPMMeasurementRecord in PCRPolicy's constructor. This was likely throwing the DecoderException which caused the 404 error in the ACA.
2020-08-26 11:13:00 -04:00
Cyrus
905f12052d
This is the next stage of changes that doesn't cause a 404 error. This has a compile error because the PCRPolicy class references PCRComposite and PCRInfoShort. Both of the later classes had changes to add new constructors, and these new constructors are the source of the problem.
2020-08-26 07:54:39 -04:00
Cyrus
ee294e4562
SupplyCahinValidationService did not like the additions of a method returning a SupplyChainValidation, switched to Summary and it worked. This was the cause of the DB crashing.
2020-08-25 11:36:37 -04:00
Cyrus
6ae95da3a0
Merge branch 'master' into aca-test-validation
2020-07-29 09:47:41 -04:00
Cyrus
2b2e7c744b
Updated the messaging for an invalid swid tag file and added .log as another type of tmp log file to extension to accept.
2020-07-29 09:27:15 -04:00
Cyrus
c46b416504
Removed logging statement.
2020-07-27 14:10:22 -04:00
Cyrus
2e4ecb6829
Updated code for the device pcrs. The provisioner now sends everything associated with the tpm_pcrlist. The ACA stores the full list in a flat file then pulls that file when validating the firmware policy is enabled.
2020-07-27 13:58:22 -04:00
iadgovuser26
0e1413dd3c
removed unmappable characters from comment lines
2020-07-23 15:54:57 -04:00
Cyrus
3e9d26f598
This code changes how the ACA handles a pcr list provided by the provisioner. The provisioner also is changed to send all supported algorithms and no longer delimits them with a + sign. The ACA is now set up to cycle through the entire list until is matches the baseline found in the rim associated log file. Currently the code is having issues saving the larger list of pcr values. It is too big for the database.
2020-07-17 12:44:31 -04:00
iadgovuser26
d10e7f1ebd
Merge pull request #279 from nsacyber/issue-278
...
Set initialized values for PCRs 17-23
2020-07-07 12:25:38 -04:00
iadgovuser26
00f2f33fd0
set initialized values for PCRs 17-23
2020-07-06 12:21:11 -04:00
Cyrus
e763461e46
Updated RIM Details page to display File Not Found when the associated event log has not been uploaded with the swid tag.
2020-06-25 08:47:51 -04:00
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