The virtualization approach is interesting, certainly, but even it is subject to MITM problems, albeit more sophisticated ones. It's certainly possible to MITM a guest VM from a host, or terminal server session from a host, etc.
Hardware-based two-factor solutions can make a major dent in traditional phishing attacks, but none can fix "active" MITM phishing attacks, where the user's credentials (two-factor and all) are silently gatewayed through to the bank's website, along with a hidden transaction or two in realtime.
Bank websites could, in principle, do a lot about active phishing attacks, just by adding some sort of obfuscation to their sites such that they are easy for a human to parse but impossible to code to for a phishing attack. Think CAPTCHA here - not perfect, but dramatically better than nothing.
My company just launched a hardware-based two-factor product in the US market that uses mobile phones as the second factor, in an attempt to address passive phishing. Hopefully it will be available for EMEA soon.
Interesting article.
-Steve Dispensa (MVP - Windows DDK)