Re: [ietf-dkim] [Fwd: I-D ACTION:draft-fenton-dkim-threats-02.txt]
2006-01-09 20:18:29
On Jan 9, 2006, at 2:07 PM, Jim Fenton wrote:
Douglas Otis wrote:
On Jan 5, 2006, at 10:08 PM, Jim Fenton wrote:
Do you mean that there should be some informative description of
the signer practices query here (as with the other placeholder)?
DKIM could offer greater protection by making it practical for the
protection to be generally applied. An authorization scheme as
envisioned in SSP limits applicability of DKIM's protection to
domains willing to relinquish many services, such as mailing-lists
or alternative providers.
As such, and with a general understanding signer-practices are
still in transition, excluding conclusions or assurance related to
this mechanism could be postponed until further progress in made
in that area. Much better protection generally applied is
possible. The focus should be on the base DKIM draft for the
threat review.
I was hoping for a "yes" or "no". Your initial comment sounded
like it was asking for a description of SSP to be included, and
your last paragraph sounds the opposite.
Per my understanding of Stephen's comments, a separate section
specific to SSP would be useful. Closed authorizations with SSP
represent exceptional rather than general uses of DKIM. Generalized
statements regarding exceptional uses are misleading. It would also
add clarity to indicate the mechanism, beyond the general use of the
DKIM signature, that offers the benefits.
Comments that reflect exceptional rather than general properties
should be moved to a section specific to the exceptional mechanism:
1. Introduction
...
"permitting a signing domain to claim responsibility for the use of a
given email address."
2.3.2. Within Claimed Originator's Administrative Unit
...
"DKIM signatures can be used to distinguish between legitimate
externally-originated messages [and attempts to spoof addresses in
the local domain.]"
3.1. Use of Arbitrary Identities
...
"DKIM is effective in mitigating against the use of addresses not
controlled by bad actors..."
4.2.3. Denial-of-Service Attack Against Signing Policy
4.2.4. Use of Multiple From Addresses
"Origin address - The address on an email message, typically the
RFC 2822 From: address, which is associated with the alleged
author of the message and is displayed by the recipient's MUA as
the source of the message."
This appendix definition is not a valid statement. The author of
a message is _not_ the source of the message. The DKIM signature
provides an indication of the source of a message. It would be an
assumption that some email-address was valid, even when within the
same domain as the signature, unless there was some explicit
assurance made by the signer with respect to this conclusion.
Authorization may be seen as a method to communicate such
assurances, but there are better ways that can be more generally
applied and offer different gradations of assurances as well.
Help me clarify the definition then. When a typical user looks at
a message, they decide "who it's from", as in "Oh, this is from
Doug." I believe that with most MUAs this is the From address (or
the display name in the From address). I have covered display
name abuse in a separate section. There is no assertion of
authorship from DKIM, although I used the term "alleged author" to
try to convey the "who it's from" concept. The address
corresponding to "who it's from" is what I want to call the Origin
Address.
The recipient of a DKIM signed message can only verify the signature
which then validates the accountable domain. The "g=" (signer-
address) parameter within the key does not impose any limitations
upon what email-addresses may be found within headers. This
parameter simply provides additional information for review by the
recipient, although how that information is used or even seen is
questionable. This means that the signer needs to signal (offer
assurances) whether there was any email-address verifications being
done on the sending side.
How about:
,---
| Account Specific Resource Identifier (ASRI)- Depending upon
| the level of assurance being made, the email-address in
| conjunction with the signing-domain, or just the email-address
| domain in conjunction with the signing-domain indicates an
| account specific resource can be identified by the
| email-address. In some cases, an O-ID may replace the role of
| the email-address as an ASRI. When the appropriate assurance
| is provided, this identifier may be presumed to correlate with
| the entity or entities that uses or use the account associated
| with an email-address or a persistent O-ID.
'---
With a binding approach, a single letter code within the signature
header 'w=' offers address assurances, for example: (per DKIM-Options)
Within signature header: 'w=b' Always signed by MSA, broad ass.
across email-domain
Translation: The sender validates permissions for the local-part of
the associated domain. Registering just the email-address domain, in
conjunction with the signature, indicates a unique source for the
message can be determined by the email-address and presumed to
identify an entity or entities using an associated account.
With the SSP mechanism, it is not clear what assurance is being made.
Within SSP record: 'o=!' All mail from the entity is signed; Third-
Party signatures SHOULD NOT be accepted.
Translation: The sender signs all messages from this domain, but
offers no assurances of permissions. This assertion is only useful
for rejecting unsigned messages. There should be no presumption that
the email-address identifies a unique source or that it pertains to a
specific resource or entity.
What I suspect you are attempting to define is whether the signing-
domain has verified the permissions for the use of the email-
address. This assurance however is not a property of the SSP
mechanism, but this is a property of the binding assertion. : )
By "open-ended authorization" this means third-party signatures or
no signatures are permitted. Accruing reputation based upon
discovery of an authorization, as with Sender-ID which described
this as "authentication," would be an example of the unfair use of
authorization. The desire to shift accountability onto the email-
address domain owner has caused a fair amount of equivocation with
respect to what is authentication. As a result, it would be
rather foolish to assume that open-ended authorizations are
innocuous.
Without SSP, third-party signatures and no signatures are also
permitted. That's about as open-ended as it gets. SSP closes that
loophole for certain domains that behave in particular ways.
That's about as specific as I'd like to get until we get into the
SSP discussion in a few months.
Nevertheless, this is a threat review and there should be some
explanation of the risks associated with "open-ended" authorizations
when they are misused as an accountable identifier.
This may influence decisions regarding open-ended assertions, and
whether assertions apply to sub-domains or not. For example, if a
TLD published a policy 'o=.' which could be valid, all sub-domains
must then publish a policy to be able to send email. If the SSP used
its own RR, then the TLD may publish this policy to ensure the search
is terminated before impacting their servers. If the TLD published
an "open-ended" policy, this may become the spoofed address of
choice, which would then destroy the TLD's ability to also send mail.
As an option, it should be possible to establish a convention
noting the account used to access the MSA or which delegated key
was used. If you review the DKIM-Options draft, this describes
how this information may be carried in both centralized and non-
centralized settings. Again, as compromised systems within the
originating AU represent where a substantial amount of spam
originates, being able to track it systematically by third-parties
should permit rapid curtailment.
I couldn't find this in the DKIM-Options draft. One way to look at
this might be to use the local part of the i= tag to indicate the
account accessing the MSA, although this might have problems if an
administrative assistant needs to send mail someone he or she
supports. In that case if we used i=, it might cause the signature
to be a third-party sig. It might also have privacy problems; that
VP (let's say) might not want it known that the message was sent by
their administrative assistant.
The account used to access the MSA may not constrain the email-
address being used within the message, and may not associate a unique
email-address with the account. In addition, exposing additional
email-addresses within an email relinquishes more of the account
holder's privacy than would a persistent O-ID as defined in the DKIM-
Options draft for this purpose.
I'm thinking that it's up to the signing domain to include whatever
information (if any) they believe will help them track the source
of abuse. It might be the submitter's username, or it might be an
opaque version that only the domain owner can associate with a real
username, for much the same reason as the opaque identifiers you
have been advocating are opaque.
Unlike the 'i=', the 'u=' parameter does not expose an email-address
and is assured to be valid as a single name label. This identifier
also indicates whether it is persistent with the account or not. The
'i=', by its nature of being an email-address, exposes a greater
amount of information for less benefit when used in conjunction with
other mechanisms related to account revocation. In addition, the
'i=' parameter could not function for delegated keys but would need
to depend upon the 'g=' parameter instead.
The MUA should only see the MDA signature. The MDA signature
would specifically be declared as invalid in other domains to
prevent this as a source for a replay attack. If you review the
DKIM-Options draft, this is clarified there.
This would require abandoning the concept that DKIM will be usable
by many legacy MUAs, since they will need to verify a signature. I
would like to see substantial consensus that the additional
security of running signatures all the way to the MUA is worth it
before we change this. Remember that the verifier can be the last
MTA/MDA in the chain; the opportunities for spoofing a verification
header are fairly small at that point.
Any MTA within the MDA domain could add the signature and obfuscate
the other signatures after determining whether they were valid.
Introducing a MDA signature as described in the DKIM-Options draft
would not preclude the use of legacy MUAs at all, but would replace
the use of the results header that can be easily spoofed within the
AU. The reason for signing within the AU (AdmD per Dave's new
terminology), would be to allow the verification process be done at
the edge of the AU (where it would need to be if to avoid excessive
DSN traffic) and then allow that information to be safely relayed to
the MDA. Whether the MUA also checks the MDA signature (signature
for the MDA) would be immaterial. The significant difference however
is this prevents intra-domain attacks and precludes the recipient
obtaining headers that could be used in a replay attack.
3.2.1. Exploitation of Social Relationships
"DKIM would be effective in mitigating these acts by limiting
the scope of origin addresses for which a valid signature can be
obtained when sending the messages from other locations."
What mechanism is this describing? After completing section
3.2, 3.2.1 can not make a statement of effectiveness, nor is
this a direct function of DKIM.
The concept is that if one of my correspondents with my address
in their address book gets compromised by malware, it currently
is likely to start sending messages from their system using
"fenton(_at_)cisco(_dot_)com" as the From address. DKIM is effective in
that it is not possible for them to send such a message with a
DKIM signature from the cisco.com domain owner. If they want to
send messages signed by the address of origin, their choice of
addresses is much more limited.
Again that is assuming the use of a restrictive authorization mode
(which would preclude your participation on this list, for
example). This also assumes how SSP works. Could this be
postponed until SSP is better developed?
My wording doesn't depend on SSP; note the text, "limiting the
scope of origin addresses for which a valid signature can be
obtained". This is true with or without SSP.
How is an email-address constrained by the signature? There is
_nothing_ within the base DKIM draft that does this.
3.2.2. Identity-Related Fraud
This does not make any clear statement other than to say that
the "address of origin" may contribute to fraud. How does this
relate to DKIM?
Agreed, this section needs to say something about DKIM
effectiveness in this case, like the other 3.x sections do.
Focus upon only holding the signing-domain accountable. There are
many threats that need to be handled in this respect. Any
statements regarding the protection of email-addresses would be
based upon conjecture at this point. DKIM in and of itself offers
significant value by providing stable source identifiers. While a
highly constraining authorization scheme may attempt to utilize
the base DKIM signature, there are other mechanisms that can be
more generally applied to increase protections obtained by DKIM
without curtailing most of the freedoms users currently enjoy.
When you're talking about holding some domain accountable, you're
getting into the realm of defining how reputation systems operate.
I, too, think that a reputation system sould hold the signing-
domain, and not some other domain, accountable for messages it
signs. But we're not designing the reputation system here, so
let's let it drop.
This difference of opinion seems to be related to some property for
DKIM that does not seem to exist when reading the draft. Perhaps you
can explain how an email-address is constrained by a signature. At
this point, the suggestion was to move these assertions to the
section related to the SSP mechanism. Perhaps there is another
mechanism within DKIM I have been overlooking.
It would seem that a recommendation to check signatures prior to
message acceptance, as well as considering some form of return-
path tagging would be needed. Calling this a "reflection attack"
seems okay.
Are you saying that you wouldn't accept messages without a valid
signature? Sounds like a dangerous thing to do except in some very
specific cases. Or that you would only generate bounce messages
for signed messages (and presumably ones signed by the RCPT-From
domain)? That seems dicey too.
If messages are rejected due to an invalid signature (perhaps in
combination with other factors), then this rejection should be done
within the SMTP session prior to message acceptance.
Messages returned by auto-responders are creating substantial
problems. When these messages pummel a site adding DKIM signatures,
differentiating these types of messages could be aided by return-path
tagging. Of course, spoofed return-paths could also be identified
using this return-path tagging technique as well. The DKIM signature
would not be expected to survive an auto-responder, and thus could be
rather easily spoofed to look real when returned to the supposed
signing-domain.
The degree to which a replay affects reputation depends on the way
the reputation system works. It could, for example, only penalize
the reputation once for each unique signature. I'm not saying this
is the right thing to do, just pointing out that this is reputation-
system dependent.
This strategy would seem rather easy to exploit. A message sent to
every email-address in the world would only count as a single
message? A large domain exposed to compromised systems could easily
generate enough of these messages that would both out-run a reporting
service and over-whelm an admin who attempts to filter based upon the
signature. Until there are reasonable methods to deal with a replay
problem, reputation based upon the DKIM signature will offer little
value. Much of the abuse originates from these large domains that
are extremely prone to this exploit.
I'd be interested in opinions from others whether I mis-classified
the impact of replay attacks.
DKIM without reputation of course offers value in other ways.
Perhaps that value is enough.
Outlook is the MUA I'm most familiar with that often doesn't
display the email address. I'm not an Outlook user myself, so I
don't know what the circumstances are that it displays the address
and when it doesn't; I'll try to chat with some of the Outlookers
(?) around here about what can be done.
Depending upon the version of Outlook, there are various ways to
investigate the email address which remains out of view. A right
click and selecting properties may show the email address, and the
Send to parameter may also show the email address. This requires
additional effort by the recipient to find this information.
This is assuming MUAs change. Truncation should be the rule
without exceptions. The sender should obfuscate the prior
signature and resign the message with the correct message length.
Signature obfuscation reduces the number of sources for a replay
attack, especially as this would be commonly done by a list server.
An obfuscated signature is as good as no signature, so I gather
you're advocating that re-signers remove prior signatures.
Removing the prior signature in order to avoid feeding a replay
attack (presumably a Signed Message Replay) is an interesting
thought although I wonder if there aren't better sources of signed
messages available.
Obfuscation would occur when the signature is being replaced. The
obfuscation could indicate the results of a prior check. If this
overlaying of signatures, together with the use of an MDA signature
(read "for the MDA signature") then as DKIM becomes popular and is
more widely implemented by list servers, the number of sources for
signatures that could be replayed would be significantly reduced.
Tracking the source of abusive replay signatures may indicate where
not to send signed messages as a precaution.
Thanks you for your time and effort. I will attempt to respond to
Stephen's last message shortly. (When I have the time to be both
brief and intelligible. ;-)
-Doug
_______________________________________________
ietf-dkim mailing list
http://dkim.org
|
|