In general, in mobile networks (in this case GSM), there are two levels of security
- AirInterface Security
- Basic Network Security
For AirInterface (the radio interface between MS and BTS), it can be encrypted or unencrypted (depending on the network setting)
https://en.wikipedia.org/wiki/A5/1 https://en.wikipedia.org/wiki/A5/2
As you can see, how modern encryption methods are so weak, especially for financial transactions (compare with acceptable encryption methods for online banking).
The real problem for USSD messages is their MAP / SS7 (Sigtran) message on the core network. Unfortunately, all USSD messages in the GSM network are transmitted as plain text (as part of the MAP message) and all E1 links are easily controlled.
Using USSD as the transfer level (if there is no data connection (GPRS-3G-LTE) on the network) is possible, but an encryption level is required (and it can be implemented in the Android or IOS application)
source share