Man-in-the-browser
Man-in-the-Browser (MITB, MitB, MIB, MiB), a form of Internet threat related to man-in-the-middle (MITM), is a proxy Trojan horse[1] that infects a web browser by taking advantage of vulnerabilities in browser security to modify web pages, modify transaction content or insert additional transactions, all in a completely covert fashion invisible to both the user and host web application. A MitB attack will be successful irrespective of whether security mechanisms such as SSL/PKI and/or two or three-factor Authentication solutions are in place. A MitB attack may be countered by utilising out-of-band transaction verification, although SMS verification can be defeated by man-in-the-mobile (MitMo) malware infection on the mobile phone. Trojans may be detected and removed by antivirus software[2] with a 23% success rate against Zeus in 2009,[3] and still low rates in 2011.[4] The 2011 report concluded that additional measures on top of antivirus were needed.[4] A related, more simple attack is the boy-in-the-browser (BitB, BITB). The majority of financial service professionals in a survey considered MitB to be the greatest threat to online banking.
Contents
Description
The MitB threat was demonstrated by Augusto Paes de Barros in his 2005 presentation about backdoor trends "The future of backdoors - worst of all worlds".[5] The name "Man-in-the-Browser" was coined by Philipp Gühring on 27 January 2007.[6]
A MitB Trojan works by utilising common facilities provided to enhance browser capabilities such as Browser Helper Objects (a feature limited to Internet Explorer), browser extensions and user scripts (for example in JavaScript) etc.[6] Antivirus software can detect some of these methods.[2]
In a nutshell example exchange between user and host, such as an Internet banking funds transfer, the customer will always be shown, via confirmation screens, the exact payment information as keyed into the browser. The bank, however, will receive a transaction with materially altered instructions, i.e. a different destination account number and possibly amount. The use of strong authentication tools simply creates an increased level of misplaced confidence on the part of both customer and bank that the transaction is secure. Authentication, by definition, is concerned with the validation of identity credentials. This should not be confused with transaction verification.
Examples
Examples of MitB threats on different operating systems and web browsers:
Name | Details | Operating system | Browser |
---|---|---|---|
Agent.DBJP[7] | Windows | IE, Firefox | |
Bugat[8] | Windows | IE, Firefox | |
Carberp | targets Facebook users redeeming e-cash vouchers[9] | Windows | IE, Firefox |
ChromeInject*[10] | Greasemonkey impersonator[11] | Windows | Firefox |
Clampi[12] | Windows | IE | |
Gozi[1] | Windows | IE, Firefox | |
Nuklus[2][11] | Windows | IE | |
OddJob[13] | keeps bank session open | Windows | IE, Firefox |
Silentbanker[14] | Windows | IE, Firefox | |
Silon[15] | Windows | IE | |
SpyEye[16] | successor of Zeus, widespread, low detection | Windows | IE, Firefox |
Sunspot[17] | widespread, low detection | Windows | IE, Firefox |
Tatanga[18] | Windows | IE, Firefox, Chrome, Opera, Safari, Maxthon, Netscape, Konqueror | |
Torpig**[15] | Windows | IE, Firefox | |
URLZone****[1] | Windows | IE, Firefox, Opera | |
Weyland-Yutani BOT[19] | crimeware kit similar to Zeus, not widespread[19][20] | Mac OS X | Firefox |
Yaludle[15] | Windows | IE | |
Zeus***[12] | widespread, low detection | Windows | IE, Firefox |
Key | Windows: IE | Windows: IE & Firefox or Firefox | Windows: other | Mac OS X: any |
*ChromeInject aka ChromeInject.A, ChromeInject.B, Banker.IVX, Inject.NBT, Bancos-BEX, Drop.Small.abw[10] | ||||
**Torpig aka Sinowal, Anserin[1] | ||||
***Zeus aka ZeuS, Zbot,[21] Wsnpoem,[22][23] NTOS,[3] PRG,[3] Kneber,[24] Gorhax[24] | ||||
****URLZone aka Bebloh!IK, Runner.82176, Monder, ANBR, Sipay.IU, Runner.fq, PWS.y!cy, Zbot.gen20, Runner.J, BredoPk-B, Runner.EQ |
Protection
Antivirus
Known Trojans may be detected, blocked and removed by antivirus software.[2] In a 2009 study, the effectiveness of antivirus against Zeus was 23%,[3] and again low success rates were reported in a separate test in 2011.[4] The 2011 report concluded that additional measures on top of antivirus were needed.[4]
Hardened software
- Browser security software: MitB attacks may be blocked by in-browser security software such as Trusteer Rapport for Microsoft Windows and Mac OS X which blocks the APIs from browser extensions and controls communication.[12][11][15]
- Alternative software: Reducing or eliminating the risk of malware infection by using portable applications or using alternatives to Microsoft Windows like Mac OS X, Linux, or mobile OSes Android, iOS, Chrome OS, Windows Mobile, Symbian etc., and/or browsers Chrome, Opera.[25] Further protection can be achieved by running this alternative OS, like Linux, from a non-installed live CD, or Live USB.[26]
- Secure Web Browser: Several vendors can now provide a two-factor security solution where a Secure Web Browser is part of the solution[citation needed]. In this case MitB attacks are avoided as the user executes a hardened browser from their two-factor security device rather than executing the "infected" browser from their own machine.
Out-of-band transaction verification
A theoretically effective method of combating any MitB attack is through an out-of-band (OOB) transaction verification process. This overcomes the MitB trojan by verifying the transaction details, as received by the host (bank), to the user (customer) over a channel other than the browser; for example an automated telephone call, SMS, or a dedicated mobile app with graphical cryptogram.[27] OOB transaction verification is ideal for mass market use since it leverages devices already in the public domain (e.g. landline, mobile phone, etc.) and requires no additional hardware devices yet enables three-factor authentication (utilising voice biometrics), transaction signing (to non-repudiation level) and transaction verification. The downside is that the OOB transaction verification adds to the level of the end-user's frustration with more and slower steps.
Man-in-the-Mobile
Mobile phone mobile Trojan spyware man-in-the-mobile (MitMo)[28] can defeat OOB SMS transaction verification.[29]
- ZitMo (Zeus-In-The-Mobile) is not a MitB Trojan itself (although it performs a similar proxy function on the incoming SMSes), but is mobile malware suggested for installation on a mobile phone by a Zeus infected computer. By intercepting all incoming SMSes, it defeats SMS-based banking OOB two-factor authentication on Windows Mobile, Android, Symbian, BlackBerry.[29] ZitMo may be detected by Antivirus running on the mobile device.
- SpitMo (SpyEye-In-The-Mobile, SPITMO), is similar to ZitMo.[30]
Web fraud detection
Web Fraud Detection can be implemented at the bank to automatically check for anomalous behaviour patterns in transactions.[31]
Related attacks
Proxy trojans
Keyloggers are the most primitive form of proxy trojans, followed by browser-session recorders which capture more data, and lastly MitBs are the most sophisticated type.[1]
Man-in-the-middle
<templatestyles src="Module:Hatnote/styles.css"></templatestyles>
SSL/PKI etc. may offer protection in a man-in-the-middle attack, but offers no protection in a man-in-the-browser attack.
Boy-in-the-Browser
A related attack that is simpler and quicker for malware authors to set up is termed boy-in-the-Browser (BitB or BITB). Malware is used to change the client's computer network routing to perform a classic man-in-the-middle attack. Once the routing has been changed, the malware may completely remove itself, making detection more difficult.[32]
Clickjacking
<templatestyles src="Module:Hatnote/styles.css"></templatestyles>
Clickjacking tricks a web browser user into clicking on something different from what the user perceives, by means of malicious code in the webpage.
See also
- Browser security
- Form grabbing
- IT risk
- Threat (computer)
- Timeline of computer viruses and worms
- Online banking
- Security token
- Transaction authentication number
- DNS hijacking
References
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
External links
- Virus attack on HSBC Transactions with OTP Device
- Virus attack on ICICI Bank Transactions
- Virus attack on Citibank Transactions
- Hackers outwit online banking identity security systems BBC Click
- Antisource - ZeuS A summary of ZeuS as a Trojan and Botnet, plus vector of attacks
- Man-In-The-Browser Video on YouTube Entrust President and CEO Bill Conner
- Zeus: King of crimeware toolkits Video on YouTube The Zeus toolkit, Symantec Security Response
- How safe is online banking? Audio BBC Click
- Boy-in-the-Browser Cyber Attack Video on YouTube Imperva
- ↑ 1.0 1.1 1.2 1.3 1.4 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 2.0 2.1 2.2 2.3 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 3.0 3.1 3.2 3.3 Lua error in package.lua at line 80: module 'strict' not found.[dead link]
- ↑ 4.0 4.1 4.2 4.3 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.[dead link]
- ↑ 6.0 6.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 10.0 10.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 11.0 11.1 11.2 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 12.0 12.1 12.2 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 15.0 15.1 15.2 15.3 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 19.0 19.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.[dead link]
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 24.0 24.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 29.0 29.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.