Nicolas Will
b9d0abda63
Move CipherOperation into KeyOperation, refactor
...
- KeyOperation and Algorithm now encompasses encryption, decryption, wrapping, unwrapping, signing, and verifying.
- Removed elliptic curve implementation from JCA.qll pending rewrite
- Removed JCAAlgorithmInstance abstraction from JCA.qll
- Cleaned up and removed JCA-specific naming from Model.qll
- Added and clarified documentation
2025-04-09 21:19:00 +02:00
REDMOND\brodes
a2fe19af38
Initial progress on key agreement.
2025-04-04 16:00:05 -04:00
Ben Rodes
69429a3e02
Merge pull request #9 from nicolaswill/brodes/elliptic_curves
...
Misc. modifications to support elliptic curves and hooking them up to…
2025-04-04 09:06:20 -04:00
REDMOND\brodes
697c9f0bb0
Elliptic curve AVCs are incorrect, but I'm not sure how to fix them generally. Putting in a stop gap to use 'isCipherAVC' for now.
2025-04-04 09:02:09 -04:00
REDMOND\brodes
66a60296b8
Merge branch 'brodes/cipher_operation' into brodes/elliptic_curves
2025-04-02 13:46:12 -04:00
Nicolas Will
50507586ac
Refactor output artifact type
2025-04-02 19:44:57 +02:00
REDMOND\brodes
ac96649a02
Misc. modifications to support elliptic curves and hooking them up to keygeneration.
2025-04-01 16:15:49 -04:00
Nicolas Will
bec69ca106
Refactor consumer and generic source model
2025-03-26 13:27:32 +01:00
Nicolas Will
9cd0340d21
Remove rankdir=LR; from DOT output
2025-03-26 13:26:45 +01:00
Nicolas Will
e9c3e14fab
Merge branch 'brodes/cipher_operation' of https://github.com/nicolaswill/codeql into brodes/cipher_operation
2025-03-22 08:01:06 +01:00
Nicolas Will
fb7c003398
Add initial MAC support for JCA, refactor hashes
2025-03-22 08:01:03 +01:00
REDMOND\brodes
9278a41578
Merge branch 'brodes/cipher_operation' of https://github.com/nicolaswill/codeql into brodes/cipher_operation
2025-03-20 16:28:43 -04:00
REDMOND\brodes
b695641362
Add signature to cipher operation
2025-03-20 16:27:20 -04:00
Nicolas Will
d18dac0c8e
Add JCA key (generation) modelling
2025-03-20 21:26:18 +01:00
REDMOND\brodes
63aaebbea6
.
2025-03-19 18:30:06 -04:00
Nicolas Will
95607c5f31
Refactor instances and consumers + add JCA hashes
2025-03-18 22:05:00 +01:00
REDMOND\brodes
8a7671dc2a
Adding block mode models to openssl.
2025-03-11 15:20:05 -04:00
REDMOND\brodes
71eae39feb
Adding missing block modes.
2025-03-11 15:19:42 -04:00
REDMOND\brodes
c98e6d7c56
Adding a stub EVP_CIpher_Operation for EVP_PKEY, this probably should be made into it's own class, hence it is a stub with comments.
2025-03-11 14:49:07 -04:00
REDMOND\brodes
a9458ba762
Formatting, removing dead comments,
2025-03-11 14:48:38 -04:00
REDMOND\brodes
d988afd4a4
Adding an EVP_AASYM_CIPHER_fetch getter.
2025-03-11 14:47:10 -04:00
REDMOND\brodes
7757279908
Adding a KDF algorithm getter.
2025-03-11 14:46:36 -04:00
REDMOND\brodes
44b1e921d6
commenting out hash size for now, TODO
2025-03-11 14:10:04 -04:00
REDMOND\brodes
085e8d40fd
Hash nodes have instances.
2025-03-11 14:06:36 -04:00
REDMOND\brodes
f69b057893
Updating OpenSSLKnownAlgorithmConstants.qll (a few bugs) and also enforcing that known key sizes are on the normalized name (need to re-visit for GOST).
2025-03-11 13:35:44 -04:00
REDMOND\brodes
ae574f7cf2
Resolving hash and cipher types for openssl not using literals but KnownOpenSSLAlgorithmConstant.
2025-03-11 13:35:02 -04:00
REDMOND\brodes
f72efa638a
Uncommenting out generic dataflow
2025-03-10 16:12:53 -04:00
REDMOND\brodes
c83cb533ce
Adding an instantiation of the additional flow step class to automatically apply to generic dataflow. Flow step passthrough comes from the algorithm to getter flow passthroughs.
2025-03-10 15:56:01 -04:00
REDMOND\brodes
036035b6a2
Adding modeling for OpenSSL random number generation.
2025-03-10 15:04:19 -04:00
REDMOND\brodes
fe52351aed
Stubbing out hash operation node, borrowing from cipher operaiton node
2025-03-10 14:10:55 -04:00
REDMOND\brodes
73368ea59a
Adding hashes to openssl library import
2025-03-10 13:27:39 -04:00
REDMOND\brodes
0672027822
Tracing new notion of known getters, which now includes direct getters for cipher and hash. Removed a redundant hash qll, and fixed misplacement of has type in model.
2025-03-10 11:46:26 -04:00
REDMOND\brodes
451808616e
Getting rid of commented out code.
2025-03-10 11:35:16 -04:00
REDMOND\brodes
bd07b8a4c7
Making getter flow through 'copy' more general (copy can appear in any part of the call name now.
2025-03-10 11:34:26 -04:00
REDMOND\brodes
6a4659fc7e
Updating known constants for OpenSSL to handle direct algorithm getters from older versions of openssl (e.g., EVP_md5())
2025-03-10 11:33:46 -04:00
REDMOND\brodes
3316d6135d
Ctx flow comments.
2025-03-10 11:32:14 -04:00
REDMOND\brodes
d99812a10d
Adding GOSTHash to THashType.
2025-03-10 09:59:28 -04:00
REDMOND\brodes
64241caf1d
Merge branch 'brodes/cipher_operation' of https://github.com/nicolaswill/codeql into brodes/cipher_operation
2025-03-07 14:25:13 -05:00
REDMOND\brodes
bac0a635f9
Initial hash models for openssl.
2025-03-07 14:24:01 -05:00
Nicolas Will
47affa0fed
Restore location output for nodes
2025-03-07 18:30:58 +01:00
REDMOND\brodes
cf72fde911
Fixing cross product in getPropertyAsGraphString (parameter root not bound in all cases, fixing using a bindingetset)
2025-03-07 12:11:12 -05:00
REDMOND\brodes
32d29ffde3
Changed casing on TCipherType, Added some initial fixes for hash support, started developing openssl hashing modeling.
2025-03-07 10:02:36 -05:00
REDMOND\brodes
b9bd199432
Regression fixes for JCA
2025-03-06 13:39:23 -05:00
REDMOND\brodes
6083df2b7f
Completed tying algorithm instances to consumers. Now the model should have known literals for cipher instances, and it traces those instances to consumers (inits) and those inits are traced to cipher operations.
2025-03-05 15:48:08 -05:00
REDMOND\brodes
de3ff45cba
Misc updates for OpenSSL modeling to trace algorithm literals to known alg getters, and converting the literal to a TCipherType.
2025-03-05 15:17:52 -05:00
REDMOND\brodes
cce5f24b38
Initial OpenSSL modeling work.
2025-03-04 15:52:57 -05:00
REDMOND\brodes
8865d89fe9
Removing old ReusedNonce query.
2025-03-03 16:51:30 -05:00
REDMOND\brodes
2ee1681126
Adding a proof-of-concept PossibleReusedNonce query.
2025-03-03 15:09:27 -05:00
REDMOND\brodes
14cb2bb12f
Updates to insecure or unknown nonce at operation.
2025-03-03 14:42:50 -05:00
REDMOND\brodes
076f53147d
Proof-of-concept query for InsecureOrUnknownNonceAtOperation
2025-03-03 13:53:16 -05:00