Home Network, PC, and MQL5 Code Security

 

Several forum users have reported hacking and malware intrusion into trading platforms and pc's, so the purpose of this thread is to give some guidance about security measures. No one knows everything, and I certainly never claimed to, so please post up any additional or superior security measures that you have. I'm merely starting things off:

  1. Good security starts with the portion of your network that you have control over, which is your home network. For purposes of your home network, incoming data starts at your router. Log into your router firmware and find the settings for managing wireless devices by MAC address. Enable filtering by MAC address. This is designed to only allow MAC addresses that you enter into the router firmware to connect. Every wireless device is assigned a Wi-Fi machine address by its manufacturer. On most wireless devices, go to Settings ==> About" ==> Device (or thereabout)., and then enter it into your router settings accordingly. This includes any wireless pc's, laptops, phones, printers, smart TV's, etc. that you want to continue using with Wi-Fi. If a trusted visitor wants to use your Wi-Fi but won't disclose their MAC address, just say "Sorry. No can do."
  2. Hardwire your trading pc('s) directly to your router with an Ethernet cable. For additional layers of protection, including protection from interference, use shielded Ethernet cable and install a physical emergency Ethernet kill switch between you your trading pc('s) and your router. Such switches are generally wall mountable. Obviously, the switch must be easily accessible. If your pc notifies of an unauthorized download or connection starting, slap that switch open as fast as you can. Be sure to have your back-up trading device at the ready to temporarily monitor any open positions.
  3. Install Windows on your pc('s) using a security key (not using online sign-in).
  4. Create a unique login ID and password for each pc. Do not reuse your login credentials on multiple pc's.
  5. Make sure that at least Windows Defender is running and is properly configured for all apps that need access through the firewall. Microsoft Security is superior for real time protection on Windows pc's. If you're using Windows 7 or Windows 10 and Microsoft Security is no longer supported, make sure that any third-party real time protection apps don't interfere with Windows Defender. Keep all security apps updated.
  6. Turn off automatic pc connections and file sharing on all devices.
  7. When you want to connect to another pc on your home network, you can right click the lower left Windows icon in your desktop taskbar, click Run, enter two backslashes followed by the computer name (ex: \\my_laptop), and click OK--or you can go to your File Explorer, click on Network in the left frame, and click on the computer name. Either way, you'll get a pop-up window that asks you for the target computer's login credentials. Enter them and click OK, and the two pc's will connect.
  8. When you want to disconnect, do a taskbar search for Command Prompt. Make sure that you either are an Administrator or that you open as Administrator. In Command Prompt, type: netuse * /del, and press Enter. Then confirm by typing Y and press Enter. This will forcibly disconnect all other network devices from your pc.
  9. Regarding MT5, set up and enable two factor authentication for your trading account(s), Your broker-dealer must support this. Not all broker-dealers do.
  10. Regarding MQL5 code, any executable file that can be run can generally be memory dumped. This hacking process is laborious and time consuming, but it is possible. Hackers use their own software to mimic the Tester's debug mode for memory dumping. Therefore, one solution is to disable backtesting in your source code. Indicators are much more difficult to dump, so you could also put much of your EA code into an indicator which is called by the EA (personally, I would not rely on this alone).
  11. Be sure to use mql5.com Cloud Protection when compiling source code. This adds an additional layer of encryption to the standard compiler encryption. Again, encryption does not affect memory dumping.
 
Ryan L Johnson:
netuse * /del

Correction: net use * /del