|ATCS Monitor - Potential for Misuse|
Since the release of ATCS Monitor for Windows, there has been much speculation and concern that the program may be maliciously used to transmit bogus ATCS messages. I am taking this opportunity to provide a greater understanding of the capabilities of the program, and hopefully eliminate any fears those in the industry may have about it's potential for misuse.
ATCS Monitor is a read-only application. It receives an audio signal from the discriminator output of a high-quality radio that is able to tune the ATCS frequencies, digitizes the audio waveform at 44.1 kHz, and derives the data by analyzing the digitized stream. The data is validated optionally at a block level via FEC, and unconditionally by CRC16 checksum at the packet level. The source intentionally contains no code to perform the FEC encoding, no code to generate or validate vital CRC32 checksums, and no code for audio signal modulation. Because it contains NO encoding algorithms and cannot produce any audio output, it absolutely CANNOT be used to perform or assist in the performance of any kind of ATCS transmission. No version of the program has ever been produced with the capability to produce a signal suitable for transmission, nor will one ever be produced.
The downloadable ATCS Monitor for Windows is a compiled program built from both Visual Basic 6.0 and Visual C++ source code and other components. I am the sole owner of this adapted source code, and have not, and will not release it to anyone. Compiled executable programs such as this cannot be effectively de-compiled back into the original source code by any known means, and even if a method were to be found, the result would still be a receive-only application devoid of any ability to output an ATCS signal. Hacking the executable will never produce an application that is able to transmit, since the code required simply does not exist within the .exe file to perform this function.
Because of the read-only nature of ATCS Monitor, it does not participate in any end-to-end error correction normally inherent in ATCS exchanges. Therefore, if a received transmission fails FEC or CRC checks, it is simply discarded. While this does not have any significant undesirable effects on the raw data displays and plots, it does tend to cause corruption of the dispatcher display in some circumstances. In order to be able to manually correct the display to remove the residue caused by lost transmissions, I added a feature that permits the user to set and clear signals, throw switches, and remove track occupancy indications on the local display by clicking on the errant element on the dispatcher display. These corrective activities effect only the screen of the user of the program - they are not propagated anywhere, and are solely used to cosmetically manage the display. However, uninformed observers of ATCS Monitor in operation may mistakenly assume that changes to the display made by the operator of the program are having an effect in the real world.
Given the inherent unreliability of the received data, it seemed appropriate that any observers of ATCS Monitor dispatcher displays be continuously reminded in plain view of this fact, so I have added disclaimers to the displays available on this site, and I am open to suggestions regarding any other warnings you may deem necessary.
If you have any additional concerns, please contact me via e-mail at firstname.lastname@example.org