Archive for the ‘Anonymity & Privacy’ Category

Quickies – social, rngs, remail, moon

Friday, September 28th, 2007

Time for some quickies…

This short article seemed in line with some of my ramblings here (e.g., this and this), albeit quite sparse.

Enterprises must invest more heavily in staff training and social engineering tests to ensure corporate data cannot be compromised by outsiders who trick their way into the company, according to experts at this years ISSE event in Warsaw.

I discussed training and testing in a long ramble, where I sort of combined the training and testing into one service. I thought along the lines of utilizing testing to not only monitor the effectiveness security efforts (including training) and to identify security strengths and weakness, but also to help tailor the training to a particular organization based on real feedback and to provide relevant examples during the training that have a strong impact on attendees of training. The third part part of this ramble covers these thoughts in a messy fashion.

Now, pull the results of these attacks into your security training. Will there be an impact?

Well, I think so. You don’t quickly forget seeing yourself and/or those around you up in lights, as it were, and the attacks can certainly be used to increase the sense of responsibility felt by every employee. The demonstrations hit home because they can be related to – the attacks happened to you, your neighbors, your community. Whether the attacks succeed or fail, they amount to a shared experience for the organization, and teach people their importance to the security of their organization.

The next paragraph of that article goes on to say…

Sharon Conheady, a consultant in social engineering for consultancy Ernst & Young, explained that the scale of the problem is often underestimated by firms, because many are unaware it is even going on. She revealed criminals are using tools such as Google and company web sites to research and gather information about a particular firm, before conning their way into the building with the aim of stealing sensitive data.

I talked about this sort of intelligence gathering back a few months ago in this post.

Mapping out organizations is often one of the tools used in social engineering, and there is a wealth of information to be gathered from OSINT and HUMINT. For example, when you can talk the organizational lingo, it is much easier to convince people within that organization you can be trusted.

Of course, while I like playing with in person attacks (with a bit of a focus on beauty) and would wager that conning one’s way into many a building is quite trivial, physically entering a place and/or interacting with people can be a high risk game. As such, phone calls, email/IM, etc. might be the more popular, safer mediums here for most attackers.

So, I’d be curious to know the “scale of the problem” out there in the real world. I know I play with this in some ways, but not enough to have generalizable, concrete numbers. Perhaps the presentations on which this article was based had some detail here.

In any case, I think the testing and training mentioned here can be applied equally well.

(That reminds me – just entering my reading queue, “Choices, Values, and Frames” edited by Daniel Kahneman and Amos Tversky.)

-

Since lots of FIPS people visit this blog, I thought pointing out this paper might be useful, which looks at the security properties of the underlying primitives utilized in the PRNGs recommended by NIST in SP 800-90 in relation to the security of the output of the said PRNGs. Their conclusions are as follows.

In general, block cipher DRBG should not be used in any circumstances. If block cipher DRBG is currently implemented, then, if possible, one should change the DRBG immediately; otherwise, one should be certain that the outputs generated are as short as possible relative to the output block size of the block cipher used. The other three DRBGs are secured under the current knowledge we have about the underlying mechanisms. Elliptic curve DRBG is the most computationally expensive DRBG. However, it is also the one that is the best understood. ECDLP has been researched for many decades and is still believed to be a hard problem, whereas many hash functions are failing collision resistance as time passes. Two major advantages elliptic curve have over hash or HMAC based DRBG are that the maximum length of output is significantly greater and that it is a number theoretic based instead of heuristic based. If elliptic curve computations can be done as efficiently as hashing (via improve algorithms or hardware), then elliptic curve DRBG is currently the best DRBG out of the recommendations from NIST.
If elliptic curve DRBG is implemented, it is necessary to not follow the NIST generation process exactly due to the poor choice of truncation function1. Refer to Appendix B of [4] for more detail on TPP.
A few other cares must be taken before a DRBG is implemented. See Appendix C for a brief discussion on additional aspects to consider.

FYI, I think the block cipher based PRNGs (namely the ANSI X9.31 Appendix A.2.4 PRNG and its NIST derivatives) are the most commonly implemented in PRNGs in the FIPS world due to their simplicity and open source availability. A quick scan of this list might confirm or deny that.

Update: I haven’t directly dealt with modules that implement the EC based PRNG recommended in 800-90, but, before you do undertake such an implementation, you may want to take note of these slides. [via Schneier commentary]

On the Possibility of a Back Door in the NIST SP800-90 Dual Ec Prng

Conclusion
• WHAT WE ARE NOT SAYING:
NIST intentionally put a back door in this PRNG
• WHAT WE ARE SAYING:
The prediction resistance of this PRNG (as presented in NIST SP800-90) is dependent on solving one instance of the elliptic curve discrete log problem.
(And we do not know if the algorithm designer knew this before hand.)


-

I’ve mentioned remailers on here, so I thought this might interest some of you. It sounds like the mixmaster and mixminion remailer networks have suffered from a bit of a flood in traffic, malicious or otherwise.

The Mixmaster flood we saw in the last two weeks
is unprecedented, as volume of mail that flow
*successfully* throught the remailer.
Most trafficked ones remailers a tenfold raise of their
normal traffic for days; George peaked as 60K message
a day.

Nothing major it seems, but it did reinforce the need for a new release of mixminion.

Mixminion 0.0.8alpha3 is now available. It fixes a bug that crashed some servers over the last month; if you’re running a server, you should upgrade. There are some other small bugs fixed too.

Anyway, I thought these words important.

In the mean while, if people can post stats about the flood, and if someone wants to port my timestamp hack to Mixminion and start recording the rate at which these messages are arriving and share that data, it may help. (Just don’t do any kind of logging that could reveal identity/break anonymity. Let’s hold remop ethics to a higher standard than some recent Tor operators have shown.)[1]

-

Finally, I found this a bit interesting.

CAPE CANAVERAL, Florida (Reuters) – Web search leader Google Inc. will sponsor a $30 million competition for an unmanned lunar landing, following up on the $10 million Ansari X Prize that spurred a private sector race to space.

Of course, I must point out Koman’s Kings Of The High Frontier is sitting on my bookshelf.

Tor yet again

Thursday, September 13th, 2007

Ok, so recently this surfaced and caused a little stir in the Tor world.

Last month, Swedish security specialist Dan Egerstad exposed the passwords and login information for 100 e-mail accounts on embassy and government servers. In a blog entry today, Egerstad disclosed his methodology. He collected the information by running a specialized packet sniffer on five Tor exit nodes operated by his organization, Deranged Security.

This has been discussed here in some form before, and I commented on the trustworthiness of nodes in another form before that.

While there is often logic thrown about that the larger the number of nodes in a mixnet, the stronger the anonymity, such logic often leaves out one key point, the honesty of the nodes. There is a reason remailer networks have traditionally been very small and (at least partially) maintained by some “trusted” nyms. Such honesty problems are not trivial to solve.

So, the real questions here revolve around how well Tor can be made to scale while still achieving its anonymity goals and remaining usable. Increasing popularity not only attracts the attention of more adversaries, but it also means the Tor network itself must grow. With such strong honesty requirements for certain nodes in the network, this growth could pose some particularly interesting problems. (Of course, I am biased in that I always seem to find questions of reputation interesting.)

Once your traffic leaves the Tor network through an exit node, it is no longer, well, in the Tor network. This means the traffic is visible to the exit node (and anyone it passes through from there) without any of the encryption that was utilized as the traffic flowed through the Tor network. If the traffic is plaintext, then the exit node can easily snoop on that traffic. If the traffic is encrypted (say by being piped through an SSL or SSH session), then the exit node could attempt a MITM attack on that traffic, and, especially with regards to the average person using a web browser, many times a user will just ignore any warning dialogs that pop up indicating such an attack.

In this regard, a post was written to Practical Security asking what can be done to mitigate this risk with regards stealing pseudonyms for WWW discussion forums without SSL. I said the following.

1. Use pgp to digitally sign all forum posts. Then your pseudonym is tied to a pgp key pair and not just an account provided by the WWW forum software. If your forum account gets compromised, move on and just keep signing with the same private key – you may even be able to use digital signatures to convince the forum mods to help you here.

2. Rather than utilize rogue nodes when posting to a vulnerable WWW forum, avoid rogue nodes by setting options in torrc (e.g., configuring a set of ExitNodes and turning on StrictExitNodes) to only use particular exit nodes that you deem trustworthy enough not to snoop and such. The lower risk of snooping might be worth the possibly lesser anonymity.

Side note: As another option for performing 2 above, I just noticed the following in here

– If a user tries to connect to or resolve a hostname of the form <target>.<servername>.exit, the request is rewritten to a request for <target>, and the request is only supported by the exit whose nickname or fingerprint is <servername>.

Now, thinking along the lines of 2 above, I thought it might be nice to excerpt part of a discussion I had a while back.

Trust requirements are not new to mixnets, but the performance objectives of Tor and its large, dynamic network make the issue all the more challenging. AFAIK (and I really don’t know), most P2P metrics can really tell you nothing about the anonymity intentions of a mixnet node – they can cover things like performance or fairness, but you need something like, say, automated open source intelligence gathering tied in with some sort of behavior modeling or, much much simpler, people
intelligence (e.g., the Tor directory server operators), to build a “trust” metric for a mixnet node.

And,

From my take, the core issue here is that the Tor network relies on its nodes (including their operators) to be trustworthy; however, the network currently has no scalable metrics that define and speak to that trust. New nodes are essentially just accepted by the directory servers. From there, performance metrics seem to be used to rank a node’s trustworthiness, if you consider, say, being potentially selected as a guard basically a statement of trust about a node.

My comments on performance being the basis of trust for nodes partially came from a version of this. E.g.,

When a router posts a signed descriptor to a directory authority, the authority first checks whether it is well-formed and correctly self-signed. If it is, the authority next verifies that the nickname question is already assigned to a router with a different public key. Finally, the authority MAY check that the router is not blacklisted because of its key, IP, or another reason.

“Stable” — A router is ‘Stable’ if it is active, and either its Weighted MTBF is at least the median for known active routers or its Weighted MTBF is at least 10 days. Routers are never called Stable if they are running a version of Tor known to drop circuits stupidly. (0.1.1.10-alpha through 0.1.1.16-rc are stupid this way.)

To calculate weighted MTBF, compute the weighted mean of the lengths of all intervals when the router was observed to be up, weighting intervals by $\alpha^n$, where $n$ is the amount of time that has passed since the interval ended, and $\alpha$ is chosen so that measurements over approximately one month old no longer influence the weighted MTBF much.

“Fast” — A router is ‘Fast’ if it is active, and its bandwidth is either in the top 7/8ths for known active routers or at least 100KB/s.

“Guard” — A router is a possible ‘Guard’ if it is ‘Stable’ and its bandwidth is either at least the median for known active routers or at least 250KB/s. If the total bandwidth of active non-BadExit Exit servers is less than one third of the total bandwidth of all active servers, no Exit is listed as a Guard.

So, this discussion went on to convey the following, which is the meat of this post.

You know, I use certain remailers in a chain because I know, or know of, the operators, and I trust them to run a remailer as it should be run. The same goes for my acceptance of remailers in general or Tor.

Which is to say, the reputations certain people have built with me is what I use as a base for my decisions to employ their software and services. Such people’s reputations come from many sources for me. For example… For the people I know, reputations may have been built from all the things that make me say they are people I know, such as debating some aspect of life while sucking down alcohol in a bar together. For the people I know of, reputation may have been built from references from people I know or know of. For both people I know and people I know of, reputation may have been built from longer term exposure to papers, presentations, conversations, discussions, etc. in the appropriate forums. This probably maps to how current directory server operators make their decisions about Tor nodes, and all of these can be mapped to features of a decent social networking service, which is potentially scalable.

Taking a hint from the whole web 2.0 bang, we find lots of people that have links with lots of other people, and the number and quality of such links influences how much value we give to peoples’ opinions. The quality of feedback influences the reputation of the person providing the feedback, which in turn translates to how we value that person’s feedback, which is to say, how much that feedback effects the reputation of the thing being commented on. And so on. This people intelligence that gathers and mines data can lead to a large set of very interesting data, which can then undergo automated analysis. Now, forget web 2.0 though and go old school, the whole PGP web of trust is built on this type of thing.

You could see a Tor social network working in a similar way. People input followed by automated analysis could be the end result. For example, perhaps a system could be created such that node (i.e., node operators) are able to make trust statements about other nodes. The set of statements would be predefined, such as distrust, no trust, marginal trust, or full trust, and have guidelines that node operators should follow to make a determination of trust in a node. The weight of a node’s statements of trust about other nodes could be based on things like that node’s trustworthiness as determined by statements of trust made by other nodes about that node.

With some such metric in place, interesting decisions about a user’s path through the Tor network could be made. The obvious example is requiring specific trust levels for particular places in a user’s path through the Tor network, such as the entry and exit requiring highly trusted nodes but middleman only requiring marginally trusted nodes. As a more interesting example, I imagine a reputation web like that described would lead to clusters of closely linked nodes. Perhaps it would make sense to choose a path through the Tor network that picks nodes from different clusters. Or, if I have made trust statements about the nodes, it might make sense to heavily weight those statements in choosing a path for me – for example, if I fully trust a certain set of nodes, maybe my path through the network should be selected from the set of nodes I fully trust, nodes those nodes fully trust, and so on until there is a “large enough” set of nodes to choose from.

Finally, what I said here was pointed out to me.

In other words, right now, Tor uses the vigilance of people to ward off this type of attack. Such an approach might not scale well, but it works at the moment.

I don’t know if any of this scales well either or if it does more harm than good, but it is an idea nonetheless.

Oh, and for those asking about my Tor node. You know that lovely new motherboard? Well, it appears to have choked.

Tor and Xen and such, Flash BIOS

Tuesday, May 29th, 2007

So, I setup a Tor server in a Xen virtual machine on Ubuntu running on that J7F4-based system over the weekend. Right now, no custom kernel and no crypto hardware acceleration, but that will change when I have some more time.

The general setup was easy enough. I had one primary disk for booting the box’s OS (or dom0 when booting for Xen), and then a separate disk array for data (and domU’s). I used LVM to slice up the disk array.

General setup process:

  • Installed Ubuntu on the primary disk.
  • Installed Xen from the Debian/Ubuntu packages.
  • Used LVM to create volumes for root (512MB), swap (512MB), and var (2048MB) for my VM to run Tor.
  • Used mkfs (and mkswap) to pop the fs on the volumes.
  • Used debootstrap to install the base Ubuntu feisty OS files on the root volume I created for the VM to run Tor.
  • Created a tor VM configuration. Gave it 128MB of RAM, and one ethernet device with static MAC. The three volumes I created above are configured as ioemulated disks. Used root volume as root device and left it writable for now.
  • Mounted root volume. Modified basic system configuration installed by debootstrap in the VM’s root volume. Modified fstab properly mount the ioemulated disks configured in the tor VM configuration – root volume at /, the swap volume as swap, and the var volume at /var. Setup networking.
  • Rebooted system, booting from Xen kernel upon startup.
  • Booted the VM and logged in.
  • Downloaded and installed Tor (the Tor developers provide Ubuntu packages) in the VM.
  • Configured Tor to be a middle-man node (not willing to run exit as this location). Setup iptables here too, but not really worth the effort – only Tor daemon was listening for network connections, and you basically had to allow all TCP out.
  • Once all was working, halted the VM. With VM halted, changed the VM root device in the Tor VM configuration to be read-only, as only swap and var needed to be writable.
  • Restarted VM and was good to go.

I found this page useful as providing some bare minimum for setting up Xen with Ubuntu (note: I didn’t follow this setup exactly), and the Xen user manual useful for everything else. I found this FAQ useful for Tor server configuration. I found this page useful for iptables, something I hadn’t played with in quite some time (we have pf in the BSD world).

Next steps:

  • Build custom kernels for Dom0 and DomU. Be sure to support Padlock.
  • Enable Padlock support in OpenSSL.

Possible other next steps:

  • Wrap local network access of Tor client functionality with stunnel.
  • Use encrypted swap for Tor VM.
  • Store var volume used by Tor VM encrypted on disk, then rekey Tor node.

Annoying issue:

Only 512 megs of RAM is detected by the BIOS, when I actually have 1 gig installed, the maximum supported by the chipset. The RAM looks good and the board looks good, so I guess there is a compatibility issue. My plan was to run just two VMs anyway, but now the memory allocated to them is a bit smaller than expected.

Anyone out there running have J7F4 series board with the RAM maxed out? Did you experience any quirks?

Update: I never followed up on this. The compatibility issue I noted turned into a known issue with memory density. This sums it up.

[...]You need 16-chip (64M) low density memory, as the cn700 won’t support the 8-chip hi density (128M) memory. You’ll
just see half the memory otherwise.[...]

Unfortunately the 128Mx64 specification is essentially useless, as it’s applied to both two-rank 16-chip and one-rank 8-chip 1GB sticks.

If you have a stick with 8 chips on one side only, then that’s 1Gbit technology and it won’t work with a CN700. If you have a two-sided 16-chip stick then most likely it will.

-

As part of my attempts to get the full amount RAM recognized, I flashed the BIOS on the system discussed above. This system was running Ubuntu GNU/Linux and had no floppy drive. The general process I used to flash the BIOS was as follows, which was based on the steps outlined in this and this.

  • Download a bootable floppy image for FreeDOS. (e.g., fdboot.img is what I downloaded.)
  • Mount the image. (e.g., mount -o loop /home/flash/fdboot.img /home/flash/tmp)
  • Copy the “flasher” and flash to the image. fdboot.img had about 1 meg of free space, IIRC. (e.g., cp <flasher>.exe /home/flash/tmp; cp <flash>.bin /home/flash/tmp)
  • Unmount the image. (e.g., umount /home/flash/tmp)
  • Create an bootable ISO image, which will use fdboot.img for booting. Make sure fdboot.img is in the directory tree the image is created from. (e.g., cp /home/flash/fdboot.img /home/flash/tmp; mkisofs -r -b fdboot.img -c boot.cat -o /home/flash/bootcd.iso /home/flash/tmp)
  • Burn to CD.
  • Boot from the CD in the system to be flashed.
  • Choose option 2, which is FreeDOS safe mode. No drivers and such are loaded.
  • Flash the BIOS. (Of note, my BIOS was write-protected. This involved changing CMOS settings, but could easily have been jumpers.)
  • Remove the CD and reboot.

Kids and their identities

Saturday, April 28th, 2007

I found this study interesting because it is essentially a long discussion on managing identity. While it is in the context of teenagers, I think this discussion applies to most anyone and everyone interacting in the online world. Also of note, this paper brings up how parents do pay attention to what their kids do online and that kids do utilize the features of the online world to provide a physical safety buffer.

Anyway, a couple of choice paragraphs, just because they tie in with recent postings.

This differential between the sexes was reinforced by comments from our focus groups. When teens, particularly girls, talked about protection of their privacy online, their main concern was the protection of their physical self – if a piece of information could easily lead to them being contacted in person, girls would not share it readily. A middle school girl explains “If they can access you, like person to person or in any way other than [the internet], it’s not okay…Like if they can…talk to you, if they can find out where you live, that’s not okay. If you’re putting anyone in danger, it’s not all right.” But for modes of communication that were not physical or “real world,” girls were more likely to share information of that type.

Ok, so pseudonyms can provide some level of freedom from physical intimidation, and even kids get this. Good to know.

Studies of child victimization have shown that incidences of sexual abuse, physical abuse and other forms of maltreatment have been declining since the early 1990’s.3 Research has also shown that acquaintances and family members are responsible for most of the physical crimes committed against children.[...]

Translation, insiders pose the overwhelming threat to kids (and not random people on the Internet), but kids are generally safer today than they were 15 years ago. No shock there. (This came up in the context of Tor recently.)

Which makes me start thinking of insider risks. While we generally speak of these in terms of companies and governments, they apply to any organization, including families. For example, look at this discussion and think how it maps to the preceding.

Staff employees pose perhaps the greatest risk in terms of access and potential damage to critical information systems. As vetted members of the organization, employees are in a position of trust and are expected to have a vested interest in the productivity and success of the group. Considered “members of the family,” they are often above suspicion-the last to be considered when systems malfunction or fail.

This makes me wonder something. Since most attacks on kids come from insiders and in a very social context that perhaps has less reporting rules, whistleblowing and outside help seem particularly important. Here, the Internet seems to be a powerful tool, providing access to a wealth of information and a means of communication. Which brings many questions to mind, for example, in the realm of anonymity and pseudonymity… How often do victims utilize anonymity and pseudonymity in order to call attention to or get help for their situations? Do the initial steps towards breaking out of such a world involve anonymously reaching out to the outside world for help, such as researching ways to escape from abusive relationships?

And, now some idealism…

So much has been made of the evils of the Internet, and, in particular, the anonymity and pseudonymity provided by the Internet. “Mean” people willing to pounce on anyone and everyone while hiding behind pseudonyms. Pedophiles lurking around every corner. “Dangerous” information available at one’s fingertips. Criminals able to hide from law enforcement. And so on.

But, how scary is the Internet really? I’d say that pseudonym of yours just might be a great leveler of the playing field. Take away the physical threats and suddenly the world seems a lot less scary a place. Take away the source of our basic biases (e.g., looks, sex, age, race, etc.) and suddenly the world seems a lot more focused on skills, reputations, etc. Able to make our own choices about what information we access and with whom we associate (indiscriminate of physical borders) and suddenly we are all that much more freer to live our lives.

With these kids growing up in a pseudonymous world and, by virtue, gaining a strong understanding of identity, what we really need to do now is provide such people much more control over their identities. And, to do so, we need the capability of strong pseudonymity all over the place. Which helps set the stage for a much more cypherpunkly world, even if it is a decade or so later than some expected. HA!

Back to reality…

As I write this, e-gold is being smacked down.

Irritated anon ramble

Tuesday, April 24th, 2007

First, I wanted to note I just wrapped up an effort that involved design review, and now I am beginning an effort that is primarily development. For whatever reason, writing code generally stops me from writing blog posts. (Almost every long period of silence on this blog stemmed from such times.) So, this is probably the last post for a while, unless I break from that trend.

Next, I thought it prudent to point out that I am not static and my view of the world does change. In particular, my current views on anonymity and pseudonymity may not mesh with everything I have said in the past. More so, I often use flawed language to talk about these concepts, although, internally, my logic may be consistent to me (see my previous post for an example of this, and see the second to last paragraph of this post for clarification).

Now, I have yet to figure it out, but people seem to get offended or irritated when I comment on anonymity and pseudonymity, and then I suffer through discussions of little merit blunted only by imperial pints of Guinness or gorgeous faces. This may become more so when I wonder out loud about things like showing ID in airports (thoughts about which seem to frighten people), but even the basic terminology seems to cause unhappy feelings among those that know of such things. Most of these people are quite bright and yet they seem to debate basics with me (much like these discussions about whether availability is part of security), so I wonder if the stupidity really lies with me.

Anyway, here I endeavor to explain myself with regards to actions, and anonymity and pseudonymity. I do so in a ramble, which might make labeling this as an explanation more of a pipe dream than a reality. Regardless, onward…

-

When it comes to anonymity and pseudonymity and my discussion here, I am talking from the perspective of actions, and, in particular, the unlinking of actions from the entities performing, or requesting to be performed, said actions. So, from that window, lets see what we can see.

With respect to actions, anonymity refers to the ability to take, or request to be taken, actions that cannot be linked to an entity as the originator of said actions. For my purposes here, anonymity can be thought of as having this core property – that actions cannot be linked to the entity that performed, or requested to be performed, said actions given knowledge of the actions and/or the entity but not the link between them. There are degrees of “cannot,” of course – we are not speaking in absolutes. For example, compare the degree of “cannot” when using a single proxy server to mask your IP from a web server versus using Tor to mask your IP from a web server. And, before someone points out that I have said nothing about recipients here, I treat the act of receiving as an action in and of itself – think dead drops.

For example, say you want sender anonymity in email, and you use a remailer chain as part of this goal. What is the action here that is to be anonymous? The act of sending the email from you to the recipient is to be anonymized such that the exit of your message from the remailer chain cannot be linked back to the entry of your message into that chain. Well, what does that action include? Simple enough – the sending of the message by the sender to the first remailer in the remailer chain, the progression of the message through said chain, and the message’s delivery to the recipient’s mail server from the final remailer in the chain.

Ok, so it should be noted that just because an action itself is anonymous does not mean the actions before and after that action are anonymous. Sticking with our email example, the entry into the remailer chain is not anonymous – this action can be observed and linked to the sender of the message.

It should also be noted that just because an action itself can be anonymous does not mean it has to be used for anonymity. Which also means that just because anonymity is possible does not mean it is a given. Back to our email example, the content of the message being sent anonymously may be in plaintext and contain, say, your home phone number. As such, the final remailer (and other observers) as well as the recipient can know who you, the sender, are.

Now, I don’t feel anonymity precludes the ability to tie actions together. Not knowing the entity performing an action is not the same as not knowing two actions are part of a particular sequence of actions, but it may be that this sequence of actions itself could be labeled as a distinct action. Back to the anonymous email example, the action of sending an email is composed of many actions, such as the hop from remailer to remailer through the chain. As distinct actions start to be bound together though, an identity begins to take shape and we cross over into the world of pseudonymity.

With respect to actions, pseudonymity refers to the ability to take, or request to be taken, actions that can be linked to an identity. For my purposes, pseudonymity can be thought of as having this core property – that an identity cannot be linked to the entity assuming that identity given knowledge of the entity and/or the identity but not the link between them. Like with anonymity, there are degrees of “cannot.” For example, if a trusted third party provides your pseudonym service, such as a webmail service like gmail, then perhaps a court order could be used to force that third party to reveal you as the owner of that pseudonym. Or, take IM services, which sometimes provide a searchable database to map names to pseudonyms.

Unlike with anonymity, the logic of coming to that core property of concern to us for pseudonymity is not necessarily transparent, so lets elaborate slightly. When we are dealing strictly with actions, pseudonymity is dealing with identities and actions taken by those identities. Since identities and actions are linked together, we can think of actions as indistinct from identities, and, thus, the disconnect between an entity and its actions must stem from a disconnect between an entity and its identity, from which reasoning that property is derived.

So, back to our email and remailer example, I may use a distinctive writing style and dedicated private key (to sign all my email messages from that nym) and then send it through a remailer chain, such that all messages can be fairly well established as originating from this nym, but mapping that nym back to me is difficult (assuming I don’t make it easy by, say, including my home phone number in such messages, or writing said messages in a style that clearly belongs to me, with me being the person behind the nym).

Clearly, pseudonymity does not mind actions being tied to an identity. In fact, this linking is a major reason pseudonymity is chosen over anonymity in many cases. History, reputation, and all those fun things are often quite important in the world and these can all be bound to an identity, even if that identity cannot be mapped back to an entity.

Now, you are probably saying something to yourself here – anonymity and pseudonymity seem like different ways of looking at the same thing, which, here, is unlinking actions from entities. True enough. From this actions perspective, I would go as far as to say pseudonymity and anonymity are equivalent. The reasoning is quite simple –

Anonymity says nothing about identity, it just unlinks actions from entities. Pseudonymity links actions to identities, but unlinks identities from entities. If an action is bound to an identity but that identity is not bound to an entity, then that action is not bound to an entity either. In other words, being pseudonymous is also being anonymous.

Going the other way, pseudonymity links identities to actions. As such, those actions themselves can be thought of as identities. (This can be illustrated by thinking of assigning a distinct action to each and every instance of an action.) With actions being identities, then the unlinking of actions from entities provided by anonymity is, in effect, pseudonymity.

With everything pseudonymous also anonymous, and everything anonymous also pseudonymous, anonymity and pseudonymity are one in the same; however, there is still a very important distinction here – anonymity knows nothing about identity, while pseudonymity is built from identity. If the identity behind actions is meaningless to you, then you are looking for anonymity in actions. Sure, this will also be pseudonymity, but the identities will be reduced to meaninglessness, which begs the question of why to even think about pseudonymity. And so on in the other direction. (Many people don’t agree with me here.)

(Such disagreements led to arguments over my comments on voting back in a post from over a year ago. While my language was poorly chosen and probably just plain wrong, I still think my point remains – pseudonymity is a more appropriate way to think of USA style voting than anonymity. Think “blind signatures for untraceable payments.” Or, via Emergent Chaos, look at kits put out there by Credentica. Or even just think about authorization of action as identity, like your driver’s license.)

Ok, so you are probably noticing something else – anonymity is often a building block in breaking the link between an identity and an entity, which is to say, anonymity is a tool for creating unlinkable pseudonyms. For example, creating and using a webmail account through Tor. The webmail account is pseudonymous, and accessing it through Tor helps to break the link between yourself and your webmail pseudonym.

And now you are asking yourself, why even talk about them separately? In fact, why point out actions as pseudonymous versus anonymous, when distinguishing between them seems by itself to be a contradiction? Easy – it comes down to goals and, by virtue, what perspective makes sense for those goals. If your goal is to do away with, or ignore, identity, then anonymity may be the most appropriate perspective – you want actions to be identities, or completely ephemeral pseudonyms. Other than that, pseudonymity is most likely the appropriate perspective. For example, generally speaking, Tor is anonymous, but web browsing is not. As such, generally speaking, Tor exit node operators should not maintain logs, but web site operators should. And, as a user of Tor browsing the web, these two realities can help to both set the user’s expectations and achieve that user’s goals.

Finally, you are probably realizing the most important point – pseudonymity is far more interesting than anonymity. In fact, you are probably recognizing that virtually everything you do in cyberspace is pseudonymous. You may even be thinking about how you use pseudonymity in meatspace as well. Good for you. We are now on the same page.

Anon web, looking part, door

Friday, April 20th, 2007

Anonymity on the web is virtually impossible. Pseudonymity is what you get. This point is illustrated here.

[...]Some users configure their web browsers to block cookies entirely or least for certain websites (like banner providers). They’re attempting to protect their privacy, imagine that. Anyway, there seems to be a way to track users with Basic Auth instead of cookies.[...]

Embedding an identifiers into a web site is not hard. Basic authentication credentials are one way to accomplish this. Inserting an identifier into the links of dynamically generated pages is another.

For example, instead of <a href=”http://www.d-kriptik.com/nopage.html”>, which is generic, you could use something like <a href=”http://www.d-kriptik.com/12345/nopage.html”>, where “123456″ is an identifier generated and embedded into links when someone requests a generic page that has no such identifier embedded in the request. Most web bulletin boards do something like this. Amazon does this too.

However, depending on your purposes (and traffic), you don’t need to be so creative. Just watching the usage of a web site without any sort of embedded identifiers will often reveal this level of detail as well.

Anyway, I really enjoy reading Jeremiah Grossman’s blog and RSnake’s blog. Great stuff.

-

These kids understand looking the part.

Teen #1: Hey, man, I think we should get our important stuff laminated. No one ever questions lamination.
Teen #2: Yeah, I could get my hall pass and be at a club and the bouncer would let me in.
Teen #1: Yeah, because of the lamination.

-

Finally, remember this?

Everyone thought the doors were incredibly cool. Oh, and they were. Upon entering a secure area (that is, anywhere except the lobby), one simply waved his RFID-enabled access card across the sensor and the doors slid open almost instantly. When leaving an area, motion detectors automatically opened up the doors. The only thing that was missing was the cool “whoosh” noise and an access panel that could be shot with a phaser to permanently seal or, depending on the plot, automatically open the door. Despite that flaw, the doors just felt secure.

That is, until one of G.R.G.’s colleagues had an idea. He grabbed one of those bank-branded folding yardsticks from the freebie table and headed on over to one of the security doors. He slipped the yardstick right through where the sliding doors met and the motion detector promptly noticed the yardstick and opened the door. He had unfettered access to the entire building thanks to a free folding yardstick.

It always makes me laugh.

Double-eged sword?

Friday, April 13th, 2007

I have had a number of people ping me about my thoughts on the response to the Kathy Sierra situation, as she details here.

First and foremost, I hope Sierra starts writing again. I enjoyed her ideas and her optimism.

That said, I am not going to run into a tirade defending free speech, although I believe in it. (I also believe in my ability to not listen.) This blog is not about politics, but, if you want such a defense, this post over at Emergent Chaos is a good start.

Now, if you don’t buy into free speech, then you may as well stop reading now; however, if you do buy into it, well, lets talk a little about the rhetoric flying around the blog world. I guess this post, which is Sierra discussing her future options, works to that end.

2) “Ghost write” for someone or something else. I got myself into the Technorati Top 50, I could help someone else (if it’s for the right reasons) raise their readership.

3) Create a fake persona and write as that fake person. Unfortunately, almost everything I do has a look and style, and I don’t think the quality of my writing is suddenly going to improve, so it would be pretty obvious that it was me. Still… a rape fantasy about a fake person who lives thousands of miles from where I do would not effect me as deeply or as personally as when the dream/imagery is about the real me I don’t like this idea as much because anonymity–NOT Owning Your Own Words–is one of the biggest contributors to the problems that have driven me and thousands of others off their blogs or other online communities.

Now, I realize some in the blogosphere have called speaking anonymously an act of cowardice – the “say it to your face” tough guys out there – and even Sierra seems to lament considering pseudonymity as an option. But, step back for a moment and realize something – these tough guys are in positions of power, which makes it is easy for them to proclaim a “say it to your face” world. Someone subject to power rather than wielding it may not be in such an easy position to speak their mind – they have to fear what those with power over them will do to them if they speak. They could be ostracized. They could be fired. They could be beaten. They could be jailed. They could be killed. Pseudonymity and anonymity provide a means for people to speak without such fears. It gave Sierra’s attackers a way to be threatening, to be sure, but it also could have given Sierra herself a way to speak without fear.

Which is to say, free speech does not only apply to the powerful. Such a thing is not free speech, it is restricted speech. No, free speech applies to everyone. And, pseudonymity and anonymity provide tools to help make that possible, even under the most tyrannical of regimes, whether a parent, a boy/girlfriend, or a government. (I just don’t see how one can say they believe in free speech and yet not defend anonymity and pseudonymity with regards to speech – that seems a contradiction.)

Sierra wonders about how many bloggers have been driven away by anonymous attackers, but I wonder the opposite – how many blogs out there have only come to be because of pseudonymity? I’d wager far more blogs exist because of pseudonymity than have been driven away by it. I’d bet some of the most repected bloggers out there are posting under pseudonyms, just like some of the most respected cypherpunks post under pseudonyms.

And, since I mention pseudonyms in the same sentence with respect, it should be noted that nyms are identities. They can own their words. They can build reputations. They can even be held accountable in many ways. This is not a hypothetical – eBay, Slashdot, the USA founders use(d) nyms.

As to the “bloggers’ code of conduct“, I will say only this (at the risk of my blogospere neighbors labeling me “unamerican,” I mean, “uncivil”) – I defer to the year and a half of content here to provide the reputation, and, by virtue, code of conduct, for this blog. We have said stupid things, smart things, incoherent things, irrelevant things, and just plain annoying things, and we will continue to do so. Email-to-blog transitions have been covered. So have comments. And that says it all.

ID checks, search revisited again

Wednesday, March 14th, 2007

I probably sound like a broken record these days, but people are my interest right now. And, one of the things I really enjoy about exploring this area is that you get to meet a lot of people, and hear their takes on the people factor and security. So, while none of the following may be new to you, I found it interesting…

(Of note, this information is for my research purposes, and I am posting it here to foster discussion with some of my readers. Realize that there are real consequences to misrepresenting yourself at ID checks, such as being fined or going to jail. Do not try any of this.)

A couple of days ago, I was riding on the train, when a group of women pulled me into a conversation. Something about my shirt. We got to talking about places to go, and the next thing you know we were talking about ID requirements. Turned out, these ladies were college students and not quite legal drinking age, which is often a prerequisite to entering venues in NYC, and this was the motivation behind the attacks to be discussed.

Now it gets interesting. One of the women in this group actually had a stack of real IDs that were all for people of legal age. The IDs were gathered from friends and family (e.g., older sisters), whether given or taken (e.g., “borrowed without permission”). Basically, what these ladies did was figure out which IDs were the best matches for each of the members of the group, and then each of them tried to pass themselves off as legal age using the selected ID. They noted that the height and eye color listed on NY driver’s licenses was entered by the person getting the license, sometimes input into the system incorrectly, and not at all verified by the issuer. They also pointed out that NY driver’s license would note when a person required corrective lenses or contacts, which mattered since wearing (or not wearing) glasses could change appearance and wearing contacts could change eye color. More interesting though, they discussed how legitimate IDs let a place claim that it did its jobs at the door, as the facial recognition process itself was quite subjective (this made me think of plausible deniability – I told the ladies they should consider politics). Their impression of the effectiveness of this attack at getting them passed the ID check was at about 85%.

In order to up the probability of success, the ladies employed two secondary techniques. One technique was having the most adept social engineers of the group conduct the primary interactions with the ID checker. The ranking of such skills was subjective, but it generally came down to being attractive and social. The point of this was to get the checker in the frame of mind of wanting to allow the ladies to enter, which also implied getting the check to want to accept the IDs being presented. This was also used to avoid any signs of nervousness from the group and get them looking the part. The other technique was just memorizing the details on the ID and being ready for small talk with the ID checker (that applied to everyone, not just the primaries used in the first secondary technique) – such interactions were rare, but did happen from time to time. With these two simple measures in place, their impression of the effectiveness of the attack was at about 95%.

Ok, so these college students had a fairly debilitating attack against these subjective facial recognition ID checks, but it was based on obtaining a number of legitimate IDs – could they get rid of this requirement, bypassing IDs all together? Well, I inquired about what happens when they don’t have IDs. Besides noting that obtaining real IDs was “easy” right now and so there was no reason to make the attack more difficult, there were a few other interesting points they made, which applied both with the legitimate ID attack and without.

One of the keys to success they cited was doing their homework (e.g., reconnaissance). Knowing how strict a place was about IDs, knowing what had worked or not worked in the past, having profiles on the different bouncers (e.g., a “mean” to “nice” scale), having affiliations with particular gatekeepers (e.g., being friends with the doorman), understanding their current ID situation (e.g., did most of the group have real IDs? did none of the group have real IDs?) etc. was all involved here. Their social network was particularly important, as this information was shared among their peers and easy to come by knowing the right people (sounded like the hacker community to me).

These women knew exactly who were the skilled social engineers of the group, and those were the people they set loose on the bouncers. With the homework done, it often came down to these people’s skill sets once out there in the wild performing the attack. They actually pointed to a specific member of the group and said she could get in almost every door, sometimes because of contacts, most times because of personality, looks, and manipulation.

These ladies also understood the impact of beauty. Besides the obvious things like flirting with bouncers, they felt that most places were looking to attract beautiful women, because that in turn attracts everyone else, so places wanted to let them in. Also, they were careful to note here that beauty was important even with the legitimate ID attack, as they felt ID checkers sometimes did recognize the IDs were not really theirs, but, because they were an attractive group of women, it was in the place’s best interest to let the ladies in, given the plausible deniability factor.

Anyway, all of this sounded very similar to my recent ramblings, and so I thought it fitting for this blog. These sorts of attacks are not restricted to age verification ID checks by any means, and I even think the general methodology employed here ports to an extent to how to conduct attacks on systems in general.

-

After a long dry spell, the interesting search terms just keep on coming. It’s not a weekend, but so be it –

how+use+ix+wordpress+2.1.1

LOL. This post might be of interest.

Why+does+physical+beauty+threaten+people%3F

You might enjoy this post. Oh, and cool pseudo-fact – people tend to give beautiful people more personal space than not so beautiful people. I ran into a model last weekend and ask them to put it to the test – people flew out of their way when we walked down the street.

does+being+beautiful+go+a+long+way

You too might enjoy this post.

Tor again

Thursday, March 8th, 2007

Via this thread on or-talk, I noted the following.

Amidst concerns that pedophiles are using public Tor (the Onion Router) servers to trade in child pornography, über-hacker HD Moore is building a tracking system capable of pinpointing specific workstations that searched for and downloaded sexual images and videos of kids.

Moore, the brains behind the Metasploit Project, has come up with a series of countermeasures that include using patched Tor servers and a decloaking engine to detect the exact location of a pedophile within an organization or residence.

The attack is a demonstration of how to compromise certain Tor users’ anonymity. HD Moore maliciously modifies data before it is passed into the Tor network in an attempt to get the victim’s web browser to bypass Tor once it receives that data out the other end of the Tor network. And, I imagine it would be trivial to modify the code to look for other search terms, or just target any Tor user that hits that node. Also, I am sure HD Moore could have just as easily used his malicious Tor node to inject payloads that exploit browser implementation flaws resulting in arbitrary code execution as well.

I have written about this sort of thing before.

Using modern web browsers in an anonymous manner is hard when someone is trying to penetrate that anonymity. All that scripting and dynamic content makes it even harder, as this example illustrates. And, given the vulnerabilities in web browsers that keep being discovered and actively exploited, the ability of an attacker to execute rogue code on an end-user’s machine simply by browsing a malicious web site seems like a given – in other words, no need for Java when you have document.getElementById().createTextRange() [e.g., 1, 2] (recently patched).

Also, it should be noted that this means of gathering an IP address is not an attack on TOR itself. The attack exploits tools being used outside of TOR, in particular a web browser with proxy support (somewhat) and enabled Java support – the end-user is not being protected by, or using, Tor and Privoxy, as their traffic is not being routed through these proxies on its way to the outside world. (Yeah right, crypto this?)

These attacks also illustrate honesty issues with Tor nodes that can impact the anonymity of the end Tor user, which I have commented on before.

While there is often logic thrown about that the larger the number of nodes in a mixnet, the stronger the anonymity, such logic often leaves out one key point, the honesty of the nodes. There is a reason remailer networks have traditionally been very small and (at least partially) maintained by some “trusted” nyms. Such honesty problems are not trivial to solve.

All that sounds bad, but I still think Tor is a good tool to use for general purpose anonymous browsing of the web with Firefox. Sure, it’s not perfect, but it works well enough when properly utilized – the majority of web sites you hit through Tor won’t know your real IP. I know I use it from time to time, on both Windows and FreeBSD machines. (As to attacks outside of those trying to compromise your Tor provided anonymity, well, I tend to think the risks of using Tor here are no greater than the normal risks you assume when you, say, use your computer to play on the Internet.)

The Windows Tor Tor & Privoxy & Vidalia bundle itself includes all the tools necessary to easily get Firefox pumping its traffic through Tor with the click of a green onion button. Add in, say, noscript, which is quite user friendly, and disable Java, javascript, and all plugins, and you are good to go against the attack HD Moore utilized. And, the people on the or-talk mailing list are more than willing to help with Tor related troubles.

Anyway, I think this publicity is a good thing in terms of bettering the usability of Tor. These attacks have been well understood by technical users of Tor since the beginning, and this has lit a fire in the Tor community on how best to teach non-technical users to properly utilize Tor. With the flame burning, you have to love the ultra quick response time of the Tor team. For example,

> >The problem is if it isn’t right on the download page and translated
> >into most languages, people will just assume they are good to go
> >without bothering to read the FAQ until something breaks (as Jason
> >pointed out). I also fall into this category with most software (even
> >stuff I develop for ;) .
>
> Hear, hear!
>

Yes. Three cheers. I think this is a fine interim thing to do.

Which has already resulted in a warning being added to the Tor download page.

Warning

Tor by itself is NOT all you need to maintain your anonymity. There are several major pitfalls to watch out for.

As to HD Moore’s countermeasures, this post in or-talk should be noted.

As a survivor of childhood sexual abuse. I’m personally getting annoyed
by this whole “nab the paedophiles thing”. for several reasons:

1.) 90+ percent of sexual abuse of children happen from family members
or friends of the family.. so wasting huge resources on 10% while
blatantly (and blissfully) ignoring the 90%, does society a huge
disservice. by focusing the public’s attention on the smallest part of
the problem and away from the real problems.

2.) I can almost guarantee that his guys “key words” would trigger on
abuse survivors talking in an online support group and I can’t even
begin to tell you how damaging it would be for an abuse survivor to have
to deal with being falsely accused of being a perp.

I say this a lot, and it fits here as well. Working in IT security means you have to be able to understand how an organization or system works – you build a big picture and then dig down into its parts. While my major interest at the moment is in gaining a better understanding of people, this, of course, also means understanding processes, policies, assets, technologies, etc. Without such an understanding, accurately assessing the risks to an organization or system, and then integrating effective and efficient security measures into that organization or system, is quite difficult or impossible.

Update: HD Moore’s Decloak.

Tor anonymity trade-offs

Tuesday, February 27th, 2007

Honest nodes are one key to the anonymity provided by any mixnet, low latency or otherwise. And, performance versus anonymity has always been a trade-off mixnets have to make. As an overly simplistic example, the larger the number of nodes we hop through in a chain of remailers, the less likely our message will actually make it through the chain, but the more likely it will hop through at least some honest nodes and thus be “anonymized” to some degree. As I understand them, low latency mixnets make strong concessions with regards to anonymity in return for performance.

Anyway, I enjoyed this paper. Not so much because it broke new theoretical ground, but rather, because it broke new practical ground by helping to quantify the tradeoff between anonymity and performance in a real-world low latency mixnet (Tor), and by pulling P2P reputation concepts into the mix to help with issues of honesty.

Our basic attack stems from the use of preferential routing mechanisms that provide low-latency, high-throughput performance suitable for interactive applications. However, preferential routing without sufficient resource verification is dangerous, as an attacker can compromise the anonymity of a large amount of the communication channels through the network.

Good stuff. Oh, and the Tor authors wrote a clear response to the paper.

We are aware of these kinds of potential attacks – but such a bandwidth overstatement attack, to be successful, would leave fingerprints all over the Tor directories. We have never seen such an attack “in the wild,” and we think it no more likely that this paper would make such an attack easier or more likely than it was a few years ago when another version of it was documented.

In other words, right now, Tor uses the vigilance of people to ward off this type of attack. Such an approach might not scale well, but it works at the moment.

While there is often logic thrown about that the larger the number of nodes in a mixnet, the stronger the anonymity, such logic often leaves out one key point, the honesty of the nodes. There is a reason remailer networks have traditionally been very small and (at least partially) maintained by some “trusted” nyms. Such honesty problems are not trivial to solve.

So, the real questions here revolve around how well Tor can be made to scale while still achieving its anonymity goals and remaining usable. Increasing popularity not only attracts the attention of more adversaries, but it also means the Tor network itself must grow. With such strong honesty requirements for certain nodes in the network, this growth could pose some particularly interesting problems. (Of course, I am biased in that I always seem to find questions of reputation interesting.)

Now, go read the references in this post, as my take is probably inaccurate. Perhaps read some old cypherpunk archives while you are at it.