Skip to content

Commit a9ce02a

Browse files
committed
Unknown unsigned attributes now examines timestamps.
Timestamps that have been altered to contain unknown unsigned attributes are now found.
1 parent 9ffee07 commit a9ce02a

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

AuthenticodeLint/Rules/NoUnknownUnsignedAttibuteRule.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,19 @@ public RuleResult Validate(Graph<Signature> graph, SignatureLogger verboseWriter
2525
foreach(var signature in signatures)
2626
{
2727
var signer = signature.SignerInfo;
28+
var counterSignatures = GraphBuilder.WalkCounterSignatures(signature);
29+
foreach(var counterSignature in counterSignatures.VisitAll())
30+
{
31+
foreach (var attribute in counterSignature.UnsignedAttributes)
32+
{
33+
if (!_trustedUnsignedAttributes.Contains(attribute.Oid.Value))
34+
{
35+
result = RuleResult.Fail;
36+
var displayName = attribute.Oid.FriendlyName ?? "<no friendly name>";
37+
verboseWriter.LogSignatureMessage(signer, $"Signature contains counter signer with unknown unsigned attribute {displayName} ({attribute.Oid.Value}).");
38+
}
39+
}
40+
}
2841
foreach(var attribute in signer.UnsignedAttributes)
2942
{
3043
if (!_trustedUnsignedAttributes.Contains(attribute.Oid.Value))

0 commit comments

Comments
 (0)