Amikor mobil app segítségével bankolok akkor egy úgynevezett cert binding történik, azaz az alkalmazásba be van építve a bank tanúsítványa, ezért MIM támadást nem is tud külső fél végrehajtani, biztosítva van az hogy én a bankkal beszélgetek. Én ezért is javaslom mindenkinek hogy csak mobil alkalmazás segítségével bankoljon, mert ez adja a legnagyobb biztonságot.
Te egy másik esetről beszélsz, amikor valaki webről akar belépni, a weboldalon adja meg a felhasználónév és jelszót, de egy külső csatornán keresztül (egyedi mobil app, notification, engedélyezés) történik a belépés engedélyezése, vagy esetleg egy QR kódot bescannelve lép be. Ezek ellen már nagyon nehéz védekezni, ahogy le is írtad, de ez egy másik helyzet.
Erre egyébként az volt régen a megoldás hogy a bankok, stb. weboldalainál a böngésző jelezte hogy az egy biztonságos szerver-e, és ezt zöld színnel mutatta. Ez idővel megszűnt, pedig ez szerintem egy jó irány volt.