Write supiOrSuci to log on re-sync failure #13
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello, I am Virgil, a security researcher from the WSPR (Wolfpack Security and Privacy Research) lab at North Carolina State University.
As part of an ongoing 5G security project, we have done some error handling analysis of free5GC. One finding involves the writing of
supi
to log in the event of a re-sync error. This occurs atinternal/sbi/producer/generate_auth_data.go
Line 297.supi
is considered a sensitive identifier, as per TS 33.501 Section 5.2.5.This PR changes the
supi
log write tosupiOrSuci
and adds a write of the UDM public key for ease of configuration identification.The change to writing
supiOrSuci
ensures the encrypted SUCI is written to log rather than SUPI, if it is present.The addition of the UDM public key allows for easier
suciProfile
configuration YAML identification, in the event of multiple UDMs. The public key is in the SUCI, but this prevents an auditor from having to parse the SUCI to identify the neccessary keys for decryption.The writing of SUCI instead of SUPI (if present) still allows for the debugging of the re-sync error (as the operator should have access to the private key), but prevents the SUPI from being written to log.
Will open submodule hash update PR in main repo if accepted.