2FA you offer is only usable if you have a phone that supports it.
Today it is really easy to figure out the geographical location of IP address and clients "typical" location.
If I start suddenly logging in from China, trust me, something is wrong and BTC-TC should ask me for PIN or something before letting me in.
Even better, lock down my account and send me a e-mail.
Or a Yubikey, which is cheap, and way better.
But there are desktop versions of google authenticator too. You could conceivably use it on your laptop, when logging in via your desktop for instance, and still have the 2-Factor intact.
I have already (as of about a week ago) started collecting country data on a per-user basis. I don't know if anyone noticed, but in the account settings you can already set your country of residence. The default is set based on your initial login. (as of when I turned it on)
After this evening's incident, I went a step further and added display of the country to the withdrawal queue management interface we use internally. This is not a silver bullet though. Not all withdrawals will be manual.
I suppose the next step could be a country lockout... "Only allow logins on this account from these [multi-select interface] countries.".
A service I'm working on (not really relating to btc-tc) works this way. It also takes in account your browser and operating system, system language, etc with a heuristically based ranking system. For example, signing in from an iPhone when you generally use a mac is a lot less suspicious than if you started using Internet Explorer when you've always signed in from Linux.
And if you're from Australia but your system language is Chinese, this helps you - logging in from a non Chinese computer in Australia will still flag as suspicious.
I like this approach. I just don't have a lot of bandwidth to deal with the inevitable customer service overhead this would come with. Outside of a vulnerability in the site, which the heuristics wouldn't help with, the 2FA is going to seal things up pretty tight anyway.
Maybe not the simplest thing to add, but is there a way to add an extra page after normal login (instead of redirecting to /portfolio or elsewhere) that could force extra auth, then allow users to adjust their own security (as is currently done for 2FA). Alice doesn't care and just uses a password and no heuristics. Bob uses 2FA and wants a second form of 2FA to be required if his country/browser/OS leave some predetermined list (usual or manually set). Might also be a way to separate login and normal 2FA similar to some two-step logins that are touted as more secure (I know my bank uses it, remembers my username and it shows as "btha******" then asks for password on the next screen), though I've never understood why it's supposed to help if there's no extra steps beyond the normal password.