opentdf / platform

Persistent data centric security that extends owner control wherever data travels
BSD 3-Clause Clear License
18 stars 10 forks source link

Improve automated security unit testing #1341

Closed jentfoo closed 1 month ago

jentfoo commented 2 months ago

I would like to make sure our testing covers security cases, notably bugs which could result in denial of service conditions. As part of onboarding to the code I will look for opportunities for fuzzing and other testing to make sure these types of bugs are not going undiscovered.

Sub Tasks

dmihalcik-virtru commented 2 months ago

We should probably have a table of what we want to fuzz and how. We can focus on the obvious ugc, notably the SDK but really this could be:

We should probably break these down into priority chunks and do a brief threat analysis to assign priority. Then we will have a breakdown like

Epic: Add fuzz testing to sdk and core Tasks: Fuzz service x/ input y from the list above Bugs: issues found from the above fuzz tests

I'll add a few issues for the most obvious of the above related to the SDK and one for the issue you found recently.

jentfoo commented 2 months ago

@dmihalcik-virtru, thank you for the additional details! I am working on a branch which will include some of the most sensitive areas I am discovering. However I would love some feedback from the team afterwords on what I have missed.

In short, I feel like fuzzing is the best way to create automated tests around any protocol parsing we need to do. I am trying to target areas where our protocol work is most complicated first.