How to create fake IGC track logs
Hector Martin <<hmartin1976>>
writes:
A few easy methods description on faking digital internal IGC format
info and track with G-Record for server upload and validation.
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 theres no turning
back from the old days when film was used to take pictures of our flight
positions and paths.
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.
This article doesnt
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.
DISCLAIMER: 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 didnt 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. Im
not promoting the use of any for cheating or anything else. Do not cheat
by this way or any other way, its 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.
A) 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.
This method only needs an Android phone with Internet access, app store
access and download a few free apps.
Source examples:
Android OS: https://www.android.com/
IGC to KML: http://cunimb.net/igc2kml.php
Fake Track, Simulate GPS route:
https://play.google.com/store/apps/details?id=com.trinus.faketrack&hl=en
FlyMe: http://xcglobe.com/olc/index.php/flyme
01.- Having an actual IGC file to modify, download it to an Android
smart phone.
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.
03.- Activate the "Allow mock locations" option under Developer Options
on the Android phone.
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.
05.- Download any free "Fake GPS" or "Fake Location" track player app
from the app store, there are countless options.
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.
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.
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.
09.- Run the file under the fake track player and immediately run the
flight app sideways.
10.- Wait until the running file starts feeding GPS coordinates,
altitude, date, hour, etc. and the flight app records the flight.
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.
12.- Close everything, send file to online server or present the phone
to a scorekeeper for downloading...
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.
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.
Source examples:
IGC to KML: http://cunimb.net/igc2kml.php
SatGen:
https://www.labsat.co.uk/index.php/en/products/satgen-simulator-software
01.- Having an actual IGC file to modify, download it to the source PC
with the GPS signal simulator antenna.
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.
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.
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.
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.
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.
07.- Close everything, send file to online server or present the phone
to a scorekeeper for downloading or record validation...
C) 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.
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.
Source examples:
IGC to KML: http://cunimb.net/igc2kml.php
GPS Track Editor:
http://www.gpstrackeditor.com/
Doarama: https://doarama.com
01.- Having an actual IGC file to modify or more if some merging is
necessary, download it to the PC with the editing software.
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.
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.
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).
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.
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.
D) 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.
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.
Source examples:
Condor Soaring: http://www.condorsoaring.com
Flight Simulator:
http://store.steampowered.com/app/314160/Microsoft_Flight_Simulator_X_Steam_Edition/
FsMovMap: http://www.rahsim.com/
X-Plane: http://www.x-plane.com/
X-Plane to GPS:
https://play.google.com/store/apps/details?id=com.appropel.xplanegps&hl=en
X-Plane GPS:
https://play.google.com/store/apps/details?id=de.openvfr.xplanegps
GPS Track Editor:
http://www.gpstrackeditor.com/
Doarama: https://doarama.com
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.
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.
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.
04.- Fly the simulator, log the flight, repeat if needed or edit
multiple tracks if needed.
05.- For perfect flights no needed to edit, its 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.
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.
http://OzReport.com/1518702270
|