There are a lot of ways an investor can lose money in the stock market, but having an insecure mobile or desktop trading application shouldn't be one of them.
Alejandro Hernandez, senior consultant at IOActive, will detail multiple vulnerabilities found in the desktop and mobile stock trading applications of major financial institutions at Black Hat USA in Las Vegas on Aug. 8. In an interview with eWEEK, Hernandez provided early insights into the issues he discovered and what can be done to mitigate risks.
"The biggest problems I found in general were encryption issues," Hernandez told eWEEK. "I could see usernames and passwords for trading-related data as well as account balances."
Hernandez released some initial research on 21 stock trading apps in September 2017, finding multiple flaws. The new research being presented at Black Hat USA 2018 expands on the initial research, examining 34 mobile apps, 16 desktop apps and 30 websites.
IOActive and Hernandez reached out to the impacted vendors and are still in the process of attempting to get responses. Hernandez will publicly disclose full details and vendor names of the applications he analyzed during his Black Hat talk.
Nine of the desktop applications (64 percent) and two (6 percent) of the mobile applications that Hernandez analyzed sent data completely unencrypted in the clear. When data is sent unencrypted, anyone can intercept the data and read it. Hernandez noted that even in applications that use encryption, there are instances where some important data is still sent or stored in an unencrypted manner.
In one particular set of trading applications analyzed by Hernandez, the desktop and mobile apps used encryption but a robot assistant used by the app that can receive text or voice commands was not encrypted.
Hernandez also found that in seven mobile apps (21 percent) and in three desktop apps (21 percent), user passwords were stored in an unencrypted configuration or log file. In addition, 25 percent of mobile apps and 43 percent of desktop apps did not log out users automatically after a set period of time.
The flaws could enable an attacker to gain access to a user's account or even manipulate information in transit.
The tools that Hernandez used to discover the flaws in the trading apps were not exotic. In fact, Hernandez called said he used "basic" tools that are common for security researchers, including the open-source Wireshark network packet analyzer and Procmon process monitoring tool for Windows.
In terms of protocols, most of the applications he examined used HTTP/HTTPS and a few made use of proprietary protocols including the FIX protocol for financial data.
While IOActive and Hernandez are attempting to get all the impacted vendors to fix the various issues, there are a number of things that financial services firms and enterprise developers can do in general to reduce risks, including forcing users to log in with two-factor authentication (2FA) is one idea. With 2FA, even if an attacker gets access to a user's primary password, there is an additional challenge before they can log in. Hernandez said that most trading apps support 2FA, but the issue is that users need to enable it.
In addition, some apps do not properly secure cookies, which could store session data, Hernandez said. The simple solution to that is to enable the Secure Flag for all cookies. Going a step further, he suggests that organizations make use of the HTTP Strict Transport Security (HSTS) protocol, which forces all web traffic to go over HTTPS encrypted connections.
Content Security Policy (CSP) is another approach that is lacking in many of the trading applications. CSP can be used to define strict policies for where scripts can be run from, helping to mitigate the risk of Cross Site Scripting (XSS) attacks.
"I hope this talk is a wake-up call for the financial services industry. Most of the issues are easy to fix, and there is no need to reinvent the wheel," Hernandez said.
Sean Michael Kerner is a senior editor at eWEEK and InternetNews.com. Follow him on Twitter @TechJournalist.