Skip to content

Commit 74ce7cd

Browse files
committed
Crypto: Moving all data flow analyses to taint tracking.
1 parent 7c8177d commit 74ce7cd

File tree

4 files changed

+9
-9
lines changed

4 files changed

+9
-9
lines changed

cpp/ql/lib/experimental/quantum/Language.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ module ArtifactFlowConfig implements DataFlow::ConfigSig {
5353
}
5454
}
5555

56-
module ArtifactFlow = DataFlow::Global<ArtifactFlowConfig>;
56+
module ArtifactFlow = TaintTracking::Global<ArtifactFlowConfig>;
5757

5858
/**
5959
* An artifact output to node input configuration

cpp/ql/lib/experimental/quantum/OpenSSL/AlgorithmInstances/AlgToAVCFlow.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ module KnownOpenSslAlgorithmToAlgorithmValueConsumerConfig implements DataFlow::
5050
}
5151

5252
module KnownOpenSslAlgorithmToAlgorithmValueConsumerFlow =
53-
DataFlow::Global<KnownOpenSslAlgorithmToAlgorithmValueConsumerConfig>;
53+
TaintTracking::Global<KnownOpenSslAlgorithmToAlgorithmValueConsumerConfig>;
5454

5555
module RsaPaddingAlgorithmToPaddingAlgorithmValueConsumerConfig implements DataFlow::ConfigSig {
5656
predicate isSource(DataFlow::Node source) {
@@ -67,7 +67,7 @@ module RsaPaddingAlgorithmToPaddingAlgorithmValueConsumerConfig implements DataF
6767
}
6868

6969
module RsaPaddingAlgorithmToPaddingAlgorithmValueConsumerFlow =
70-
DataFlow::Global<RsaPaddingAlgorithmToPaddingAlgorithmValueConsumerConfig>;
70+
TaintTracking::Global<RsaPaddingAlgorithmToPaddingAlgorithmValueConsumerConfig>;
7171

7272
class OpenSslAlgorithmAdditionalFlowStep extends AdditionalFlowInputStep {
7373
OpenSslAlgorithmAdditionalFlowStep() { exists(AlgorithmPassthroughCall c | c.getInNode() = this) }

cpp/ql/lib/experimental/quantum/OpenSSL/AvcFlow.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import semmle.code.cpp.dataflow.new.DataFlow
1+
import semmle.code.cpp.dataflow.new.TaintTracking
22
private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgorithmValueConsumers
33

44
/**
@@ -18,4 +18,4 @@ module AvcToCallArgConfig implements DataFlow::ConfigSig {
1818
}
1919
}
2020

21-
module AvcToCallArgFlow = DataFlow::Global<AvcToCallArgConfig>;
21+
module AvcToCallArgFlow = TaintTracking::Global<AvcToCallArgConfig>;

cpp/ql/lib/experimental/quantum/OpenSSL/Operations/OpenSSLOperationBase.qll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
private import experimental.quantum.Language
22
private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgorithmValueConsumers
3-
import semmle.code.cpp.dataflow.new.DataFlow
3+
import semmle.code.cpp.dataflow.new.TaintTracking
44
// Importing these intializers here to ensure the are part of any model that is
55
// using OpenSslOperationBase. This further ensures that initializers are tied to opeartions
66
// even if only importing the operation by itself.
@@ -488,7 +488,7 @@ module OperationStepCtxFlowConfig implements DataFlow::ConfigSig {
488488
}
489489
}
490490

491-
module OperationStepCtxFlow = DataFlow::Global<OperationStepCtxFlowConfig>;
491+
module OperationStepCtxFlow = TaintTracking::Global<OperationStepCtxFlowConfig>;
492492

493493
/**
494494
* A flow from AVC to the first `OperationStep` the AVC reaches as an input.
@@ -514,7 +514,7 @@ module AvcToOperationStepFlowConfig implements DataFlow::ConfigSig {
514514
}
515515
}
516516

517-
module AvcToOperationStepFlow = DataFlow::Global<AvcToOperationStepFlowConfig>;
517+
module AvcToOperationStepFlow = TaintTracking::Global<AvcToOperationStepFlowConfig>;
518518

519519
module EncValToInitEncArgConfig implements DataFlow::ConfigSig {
520520
predicate isSource(DataFlow::Node source) { source.asExpr().getValue().toInt() in [0, 1] }
@@ -524,7 +524,7 @@ module EncValToInitEncArgConfig implements DataFlow::ConfigSig {
524524
}
525525
}
526526

527-
module EncValToInitEncArgFlow = DataFlow::Global<EncValToInitEncArgConfig>;
527+
module EncValToInitEncArgFlow = TaintTracking::Global<EncValToInitEncArgConfig>;
528528

529529
private Crypto::KeyOperationSubtype intToCipherOperationSubtype(int i) {
530530
i = 0 and

0 commit comments

Comments
 (0)