How to create fake IGC track logs

A discussion restricted to the topic of hang gliding.
Previous topicNext topic
User avatar
The Oz Report
Posts: 145052
Joined: Thu, Feb 27 2003, 06:38:33 pm

How to create fake IGC track logs

Post by The Oz Report »

<div id="1518702270"><i>Because the money is so good</i><br><p>Hector Martin <<a href="http://ozreport.com/emailer.php?toName= ... in1976></a>> writes:</p><p class="BN">A few easy methods description on faking digital internal IGC format info and track with G-Record for server upload and validation.<br><br> Many years ago, back in December 13, 1994, Bob Fletcher and Hans Trautenberg developed the G-Record (Security) was developed into the IGC flight record as a GPS logger encrypted signature to validate flight tracks and avoid file manipulation for competition and flight records validation, the algorithm used is really good even for today standards, most pilots would say it's impossible to fake an IGC flight track nowadays and so the G-Record changed the scene and there's no turning back from the old days when film was used to take pictures of our flight positions and paths.<br><br> Now, this uncrackable signature to avoid manipulation and cheating statement is actually only half true; G-Record is an encrypted checksum algorithm indeed really hard to break, but as former white hat hacker actually working as a full time job to improve company server security back in the day, I can see the many side vulnerabilities of this system that stands today.<br><br> This article doesn't pretend to outsmart or humiliate any CIVL/IGC developer involved in any of the IGC format records or characteristics. Digital cheating is a hard fact everywhere out there, every day and many times we don't need to be hackers for achieving cheating, most of the time it just takes someone thinking outside the box; No actual encrypted code hacking with Hollywood alien mathematics, no nerd sitting with some really big glasses in front of 6 computer screens displaying matrix style green code flowing downwards or anything like that. This is an example of how thinking outside the box and using available resources can work wonders either for the white side as it for the dark side.<br><br> <b>DISCLAIMER:</b> This is not an actual manual to learn to fake an IGC format info or track and you should not use it for it, this article has been only written as a manual to show how easy it is and bring attention to a real world problem for our sport and hope CIVL together with the IGC will update their validation system to avoid fake tracks populating cross country contest servers and new record claims. For this the article is not an actual full manual and steps might be missing, referenced software might change features or get discontinued, etc. I'm not by any mean responsible by the spread, use or abuse of this information and documentation described here, I'm just trying to point everybody attention to the fact that digital cheating is perfectly possible and really easy for free flying. I didn't developed any app, software, website, hardware or anything else described in this text or promote the use of any of these systems, this is just  an example of mostly free available resources anyone can use nowadays. I'm not promoting the use of any for cheating or anything else. Do not cheat by this way or any other way, it's wrong, a total disrespect to your fellow pilots, airmanship and sportsmanship, so anyone cheating should feel shame and be punished for the action. Always remember, karma.<br><br> <b>A)</b> The first method to be described involves changing internal info for the IGC file, as date, name or similar and involves working with an already locally downloaded IGC file to be send to a online server or scorekeeper after manipulation, actual track manipulation is also possible under the extra steps described further into the text.<br><br> This method only needs an Android phone with Internet access, app store access and download a few free apps.<br><br> Source examples:<br><br> Android OS: <a target="_blank" href="https://www.android.com/">https://www.a ... /a><br><br> IGC to KML: <a target="_blank" href="http://cunimb.net/igc2kml.php">http://c ... /a><br><br> Fake Track, Simulate GPS route: <a target="_blank" href="https://play.google.com/store/apps/deta ... /a><br><br> FlyMe: <a target="_blank" href="http://xcglobe.com/olc/index.php/flyme" ... /a><br><br> 01.- Having an actual IGC file to modify, download it to an Android smart phone.<br><br> 02.- Modify the internal data using any free text editor, at this point the checksum for the G-Record will be corrupted but this is not a problem, you could delete the whole checksum data if you will since is useless at this point.<br><br> 03.- Activate the "Allow mock locations" option under Developer Options on the Android phone.<br><br> 04.- Download and run any free IGC to regular GPS track app from the app store and change the file format (could be to Google Earths KML), there are also many webpages that can do this task easy for free.<br><br> 05.- Download any free "Fake GPS" or "Fake Location" track player app from the app store, there are countless options.<br><br> 06.- Download any free flight IGC valid app from the app store or developers website, there are quite a few that will do the job just fine.<br><br> 07.- If needed, choose under app options the internal GPS feed from the phone (not Bluetooth or other) as GPS signal source for the flight app.<br><br> 08.- Be sure to be indoors away from any GPS signal with the phone, turning off any other location method from it as Wi-Fi is a good idea, just turn off everything but the phone GPS antenna.<br><br> 09.- Run the file under the fake track player and immediately run the flight app sideways.<br><br> 10.- Wait until the running file starts feeding GPS coordinates, altitude, date, hour, etc. and the flight app records the flight.<br><br> 11.- After waiting until the recorded flight is over, close the flight app as usual, this will close the new on the fly generated file and will set a new totally G-Record for the file.<br><br> 12.- Close everything, send file to online server or present the phone to a scorekeeper for downloading…<br><br> <b>B)</b> The second method to be described involves presenting a valid IGC loaded in the internal storage memory of a CIVL certified flight GPS logger without actual hardware manipulation, the level of IGC manipulation can be any, actual track manipulation is also possible under the extra steps described further into the text.<br><br> This method involves using a CIVL certified flight instrument, a PC and a GPS signal simulator; available for any GPS hardware or software developer at any price range since it's possible to use really old and used gear from online auctions.<br><br> Source examples:<br><br> IGC to KML: <a target="_blank" href="http://cunimb.net/igc2kml.php">http://c ... /a><br><br> SatGen: <a target="_blank" href="https://www.labsat.co.uk/index.php/en/p ... /a><br><br> 01.- Having an actual IGC file to modify, download it to the source PC with the GPS signal simulator antenna.<br><br> 02.- Modify the internal data using any free text editor, at this point the checksum for the G-Record will be corrupted but this is not a problem, you could delete the whole checksum data if you will since is useless at this point.<br><br> 03.- Download and run any free IGC to regular GPS track software and change the file format (could be to Google Earths KML), there are also many webpages that can do this task easy for free.<br><br> 04.- Be sure to be indoors away from any genuine GPS signal for the GPS flight instrument and logger and set it close to the GPS signal simulator antenna.<br><br> 05.- Run the file under the simulator software or any fake track player available and immediately turn the GPS flight instrument on and ready to log a flight.<br><br> 06.- After waiting until the recorded flight is over, close the GPS instrument as usual, this will close the new on the fly generated file and will set a new totally G-Record for the file.<br><br> 07.- Close everything, send file to online server or present the phone to a scorekeeper for downloading or record validation…<br><br> <b>C)</b> The IGC file track manipulation method to be described involves actual track manipulation and not just internal info, this can be generated from editing or merging other files, this could be used mostly to create fake distance records, FAI triangle records, etc. This method usually involves certain minimum technical skills to keep the fake track consistent without any jumps or funny track artifacts as impossible speeds, jumps, or similar.<br><br> This method involves using any GPS track editing software able to manage 3D coordinates since not all available software is capable to manage altitude or sometimes they use an auto ground level fixation for comfort, total 3 axis manipulation is needed to be possible.<br><br> Source examples:<br><br> IGC to KML: <a target="_blank" href="http://cunimb.net/igc2kml.php">http://c ... /a><br><br> GPS Track Editor: <a target="_blank" href="http://www.gpstrackeditor.com/">http:// ... /a><br><br> Doarama: <a target="_blank" href="https://doarama.com">https://doarama.com</a><br><br> 01.- Having an actual IGC file to modify or more if some merging is necessary, download it to the PC with the editing software.<br><br> 02.- Modify the internal data using any free text editor, at this point the checksum for the G-Record will be corrupted but this is not a problem, you could delete the whole checksum data if you will since is useless at this point.<br><br> 03.- Download and run any free IGC to regular GPS track software and change the file format (could be to Google Earths KML), there are also many webpages that can do this task easy for free.<br><br> 04.- Edit the file by manipulating each recorded point to correct the track, some editing systems will auto update the next point parameters using any parameter logic setup to it (Ex. turning all other points to the east if turning a single point to the east, this could be same distance for all of them of as a radius arc).<br><br> 05.- If needed, merge different tracks from different days, places or pilots to create a single larger fake one, using a system with available automatic point update logic comes quite handy under these circumstances to correct all available points to the same coordinates, altitude and time parameters consistent with a single flight in the same place and time.<br><br> 06.- Save file, play locally with a 3D player to check for errors, if any proceed to the first or second method previously described for final IGC file recording with valid G-Record and delivery.<br><br> <b>D)</b> The whole IGC file track creation method to be described involves actual whole fake track creation from scratch and not just internal info; this could be used mostly to create fake distance records, FAI triangle records, etc. This method usually involves certain minimum technical skills using flight simulators and actual paragliding or hang gliding piloting skills and knowledge for thermaling and XC flight.<br><br> This method involves using a paragliding or customizable flight simulator available to use thermal activity simulation and customizable gliders to replicate a paraglider or hang glider polar curve, speed, etc. A force feedback joystick comes quite useful and an actual 3D map terrain for the actual location where the fake GPS track will be fixed to. <br><br> Source examples:<br><br> Condor Soaring: <a target="_blank" href="http://www.condorsoaring.com">http://www.condorsoaring.com</a><br><br> Flight Simulator: <a target="_blank" href="http://store.steampowered.com/app/31416 ... /a><br><br> FsMovMap: <a target="_blank" href="http://www.rahsim.com/">http://www.rahs ... /a><br><br> X-Plane: <a target="_blank" href="http://www.x-plane.com/">http://www.x-p ... /a><br><br> X-Plane to GPS: <a target="_blank" href="https://play.google.com/store/apps/deta ... /a><br><br> X-Plane GPS: <a target="_blank" href="https://play.google.com/store/apps/deta ... /a><br><br> GPS Track Editor: <a target="_blank" href="http://www.gpstrackeditor.com/">http:// ... /a><br><br> Doarama: <a target="_blank" href="https://doarama.com">https://doarama.com</a><br><br> 01.- Some flight (gliding) simulators have a native inbuilt option of actual real-time GPS feed trough USB, Bluetooth or hard drive logging, some other might need a plugin to do this.<br><br> 02.- Download the proper 3D maps for the correct terrain to do the fake flying and generate the track log, if needed some flight simulators can extract 3D terrain files from outside sources as Google Earth and convert the 3D grid mesh into the simulator format.<br><br> 03.- Some flight simulators allow actual cheat codes to make everything easier or setup options to increase the thermal density, lift ratio, visible thermals, etc. to make any dream flight possible on a realistic way.<br><br> 04.- Fly the simulator, log the flight, repeat if needed or edit multiple tracks if needed.<br><br> 05.- For perfect flights no needed to edit, it's possible to plug a smartphone to the PC via a USB cable to record the GPS feed directly in real-time using a flight app to do it skipping any other steps and saving time, this is actually the fastest method to create and send a flight track from scratch.<br><br> 06.- Save file, play locally with a 3D player to check for errors, if any proceed to the first or second method previously described for final IGC file recording with valid G-Record and delivery.</div>
User avatar
Faiwer
Posts: 4
Joined: Tue, Feb 26 2013, 01:07:50 pm

Re: How to create fake IGC track logs

Post by Faiwer »

Also if you are a system-kind programmer then you can withdraw a cipher from your fly-defice and sign with it any rubbish you want to sign :)
User avatar
Tormod
Posts: 398
Joined: Thu, May 12 2005, 03:05:00 pm
Location: Oslo, Norway

Post by Tormod »

I disagree with the method of disclosing an issue, why give potential cheaters the recipe? Should be sufficient to point to the problem.

If track log cheating is used we'll be forced to equip contestants with secure GPS-loggers in comps (although it will be challenging to prevent hacking and manipulation of such devices). Cheating is so widespread in all forms of human interaction that I imagine this is already being done i our sport and I absolutely hate it. First cheater I heard about in hanggliding was 30ish years ago when a pilot walked several miles with his hangglider after landing.
User avatar
Hefalump
Posts: 299
Joined: Wed, Feb 22 2006, 11:45:03 am
Location: Florida or Arizona

Post by Hefalump »

I think this cheat method would only be useful in the online competitions. World record attempt may also be vunerable, but it would have to be a conspiracy. Live comps would have too many other witnesses (pilots and drivers) at goal and along course for it to work.

Reminds me of when Rosie Ruiz "won" the Boston Marrathon in 1980. None of the other competitors saw her on course or remembered her passing them. As it turned out she rode the bus much of the way. She didn't get away it, and there was no electronic recording devices back then.

JD
JD Guillemette
Previous topicNext topic