-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IV falsely detected as not properly generated (reopen #68) #208
Comments
Reporting the error is correct if there is no dataflow between the initialization of the class and the method. Consider the simplified example
If we analyze this class as it is, CryptoAnalysis considers the class and the method as single entry points, that is, there is no relation of the class field
then there is no reported error because we have a single entry point where first the field 'sr' is initialized in the constructor of |
@smeyer198 quick (naive) question! re - "CryptoAnalysis considers the class and the method as single entry points" should the analysis differentiate assuming dataflow/not knowing the entry points based on whether the member is static or not though? in this example, because or are you saying this is just a known/accepted behaviour of the analysis? Thanks for the clarification! :) |
@knewbury01 You are right, one could argue that it may be possible to create contexts like this. However, we use SPDS (Synchronized Pushdown Systems or more precisely IDEal) to determine corresponding seeds and their dataflows. By design, IDEal is strictly flow sensitive, that is, it requires precise dataflows of objects. However, for example, if we take the example from above and add a second method TL;DR The underlying typestate analysis requires precise dataflows to create contexts where all objects are connected. Therefore, we are forced to take this behaviour and it is a design choice in some sence. I hope that helps to clarify your ideas! |
Reopening of issue 68
it is unclear to me which versions of CogniCrypt that this issue is expected to be fixed in.
I have been looking at this dataset and from my findings, this is still an issue,
I am able to reproduce the error from the following configuration(s):
Setup:
get the (built) project in question:
git clone https://github.com/anam-dodhy/dragonite-java.git
using the following few versions of CogniCrypt (note these versions are released after the close date of the original issue):
Attempted an analysis of both the entire project using this classpath:
dragonite-java/dragonite-sdk/build/classes/java/main
as well as just a copy of the isolatedAESCryptor.class
Both results in the following in the report:
Not clear why this issue arises, if it has reappeared, or if the version that it seemed to be fixed in is different than my current work environment in some way.
Please let me know if you need any other details to reproduce,
more details to be found in 68
The text was updated successfully, but these errors were encountered: