So befreien Sie Ihre Garmin-Smartwatch von Cloud-Diensten, die aufgrund eines Angriffs nicht funktionieren

Der Autor dieses Artikels ist der berühmte Hacker Andrew Hwang (Hase).



Ich sage oft: Wenn wir glauben, dass Technologie Magie ist, riskieren wir, ihre Geiseln zu werden . Ich bin kürzlich in diese Situation geraten, aber zum Glück wurde ich durch Open Source gerettet.



Zum jetzigen Zeitpunkt leidet Garmin unter einem massiven Ransomware-Angriff . Es hat mich betroffen gemacht, weil ich eine Garmin Instinct Uhr besitze . Ich bin sehr zufrieden mit ihnen und in vielerlei Hinsicht sind sie einfach magisch, so viele Möglichkeiten stecken in einem so kleinen Gerät.



Außerdem habe ich einen Hobby- Ruderausleger [Auslegerkanu - ca. pro.]



Ich glaube, eine GPS-Uhr ist ein unverzichtbares Sicherheitsmerkmal, insbesondere in der Navigation, da es schwierig ist, die Geschwindigkeit des Wassers zu beurteilen, wenn Sie sich mehr als einige hundert Meter über dem Boden befinden. Wenn Sie in einer schlechten Strömung gefangen sind, ohne die Situation zu verstehen, riskieren Sie, ins Meer geworfen zu werden oder noch schlimmer.



In Singapur kann es zu extremen Strömungen kommen. Wenn sich die Gezeiten ändern, findet das Südchinesische Meer schließlich seinen Weg in die Andamanensee durch die Straße von Singapur und löst tückische Strömungen aus, die sich im Laufe der Zeit ändern. Nach jedem Schlag werden meine GPS-Daten in die Garmin Connect-Cloud hochgeladen, um eine Routenüberprüfung durchzuführen und gefährliche Änderungen der Gezeitenströmungen anzuzeigen.



Während das Hochladen solcher Daten in die Cloud von Garmin ein klares und echtes Datenschutzrisiko darstellt, verstehen wir alle den Kompromiss: Es gibt wenig Zeit, sich über solche Dinge Gedanken zu machen, und der Service hat sofort funktioniert.



Bis gestern.



Wir haben gerade einige besonders ungewöhnliche Strömungen getroffen, und mein Ruderpartner wollte die Geschwindigkeiten an einigen schwierigen Stellen sehen. Ich ging in die App, um die Daten zu erhalten und ... nun, ich fand heraus, dass Garmin angegriffen wurde.







Garmin-Daten wurden als Geiseln genommen, einschließlich meiner persönlichen Ruderdaten: Ein kleiner Teil meines Lebens ist als Geisel der Technologie geworden.



Ein paar Freunde sagten mir, ich solle es mit Strava versuchen. Die gute Nachricht ist, dass Sie mit Garmin Datendateien von Ihrer Instinct-Uhr extrahieren können, um sie auf Dienste von Drittanbietern hochzuladen. Sie müssen die Uhr nur an einen normalen USB-Anschluss anschließen, und sie wird als Massenspeichergerät angezeigt.



Die schlechte Nachricht ist, als ich versuchte, ein Strava-Konto zu erstellen, gingen alle roten Fahnen aus. Die Website ist voll von dunklen Vorlagen, und nachdem Sie auf die Schaltfläche Strava-Zugriff auf meine Gesundheitsdaten verweigern geklickt haben, wurde eine ganze Reihe von Dialogfeldern angezeigt:







Klicken







Sie auf Verweigern ...







Klicken Sie auf Verweigern zulassen ... Klicken Sie auf OK ...



Drei Klicks auf Verweigern Sie den Zugriff, und wenn Sie entspannt weiter auf die untere Taste drücken, treffen Sie versehentlich eine andere Wahl. Danach wurde ich mit einer unheimlichen Liste von Personen begrüßt, denen ich folgen sollte ( haben sie von einer E-Mail-Adresse so viel über mich erfahren? ). Und dann ein kniffliges Dialogfeld, in dem Sie bei falscher Antwort aufgefordert werden, Ihre Kreditkarteninformationen als Teil der Option "Kostenlos" einzugeben Testversion ".



Da Garmin bereits mehr als 200 US-Dollar mit dem Verkauf des Geräts verdient hat, ist das Sammeln meiner persönlichen Daten nur ein Nachtisch. Für Strava sind meine Daten das Hauptgericht. Persönlich ist mir ziemlich klar, dass Strava seinen Anlegern klar macht, dass sie durch die Monetarisierung meiner persönlichen Daten, einschließlich meiner Gesundheitsinformationen, einen großen Gewinn erzielen werden.



Das ist für mich absolut inakzeptabel. Anstatt Daten von Sicherheiten zu befreien, ist der Wechsel von Garmin nach Strava wie der Übergang von einer Pfanne in ein Feuer.



Ich habe vor, übermorgen wieder auf das Boot zu gehen, und es wäre großartig, eine Geschwindigkeitsanalyse zu erhalten. Aber ich war so wütend auf Strava, dass ich nicht mehr nach einer anderen Option suchte, sondern beschloss, meine eigene Alternative mit zuverlässigem Schutz personenbezogener Daten zu entwickeln.



Ich entdeckte glücklich ein Open-Source-Dienstprogramm namensgpsbabel ( danke an die Entwickler! Ich bin nervig! ), das Daten aus dem halb (?) proprietären Garmin-Format in ein kompatibles .GPX-Format konvertiert. Von dort aus konnte ich die XML-Parsing- Chunks extrahieren und über die Folium-API mit OpenStreetMaps kombinieren , um benutzerdefinierte Karten mit meinen Daten zu erstellen.



Obwohl ich mich beim Versuch, die Google Maps-API zu verwenden, die schreckliche "Nur-Entwicklung" -Wasserzeichen auf alle Kartenkacheln setzt, "verlaufen" habe, hat es nur einen Abend gedauert. Alles in allem nicht die beste Zeitverschwendung, aber es ging hauptsächlich darum, die richtigen Open-Source-Teile zu finden und sie in Python zusammenzukleben (Python ist übrigens ein großartiger Kleber, aber schreckliches strukturelles Zeug. Machen Sie keine großen Projekte daraus). Die Qualität des Codes ist ziemlich beschissen, aber Python erlaubt es und es macht seinen Job. Mit diesen Vorbehalten können Sie es als Ausgangspunkt für die Suche nach etwas Besserem verwenden.



Jetzt habe ich die vollständige Kontrolle über meine Daten und kann sie sinnvoll visualisieren. Zum Beispiel,Zeigen Sie die Geschwindigkeit als Wärmekarte während des gesamten Kurses mit Kreisen an, die proportional zur Geschwindigkeit im Moment sind, und Text, der beim Bewegen des Cursors die spezifische Geschwindigkeit und Herzfrequenz im Moment anzeigt: Dies sind genau die Daten, die ich im erforderlichen Format benötige, nicht mehr und nicht weniger ... Darüber hinaus handelt es sich um eine einzelne HTML-Datei, mit der direkt verknüpft werden kann . Keine Analyse, keine Cookies. Nur die Daten, die ich mit Ihnen teilen wollte. Hier ist der Code, mit dem ich die Kartendaten zeichne:















def plot_osm_map(track, output='speed-map.html', hr=None):
    for i in range(len(track['speed'])):
        track['speed'][i] = speed_conversion(track['speed'][i])
    speeds = track['speed']
    minima = min(speeds)
    maxima = max(speeds)

    norm = matplotlib.colors.Normalize(vmin=minima, vmax=maxima, clip=True)
    mapper = cm.ScalarMappable(norm=norm, cmap=cm.plasma)
    m = folium.Map(location=[track['lat'][0], track['lon'][0]], zoom_start=15)
    for index in range(len(track['lat'])):
        if track['speed'][index] == 0:
            track['speed'][index] = 0.01
        else:
            track['speed'][index] = track['speed'][index]
        if hr:
            try:
                tooltip=str(track['speed'][index]) + ' ' + str(hr['hr'][index]) +'bpm'
            except:
                tooltip=str(track['speed'][index])
        else:
            tooltip=str(track['speed'][index])
        folium.CircleMarker(
            location=(track['lat'][index], track['lon'][index]),
            radius=track['speed'][index]**2 / 8,
            tooltip=tooltip,
            fill_color=matplotlib.colors.to_hex(mapper.to_rgba(track['speed'][index])),
            fill=True,
            fill_opacity=0.2,
            weight=0,
        ).add_to(m)

    m.save(output)


Wie gesagt, der Code ist nicht von bester Qualität, aber er funktioniert und war schnell zu schreiben.



Besser noch, ich lade keine Daten mehr in die Cloud hoch - es ist ein gewisses immaterielles Vergnügen, einen anderen Überwachungskanal aus meinem Leben zu entfernen, ohne an Qualität oder Bequemlichkeit zu verlieren.



Es ist auch eine interessante Metageschichte darüber, wie gut sich das Open Source-Ökosystem heute entwickelt. Als die Garmin-Cloud ausfiel, konnte ich die wichtigsten Funktionen an nur einem Tag ersetzen, indem ich verschiedene Open-Source-Frameworks zusammenstellte.



Bei Open Source geht es nicht darum, Material rituell zu kompilieren. Es geht darum zu erkennen, dass Technologie keine Magie ist: Es gibt eine Alternative, die jeder für sich selbst wählen kann, um sich von einer möglichen Geiselsituation zu befreien. Wenn wir es wollen, können wir mit Open Source eigene Tools und Services erstellen und ausführen.



Siehe auch:



  • " Garmin hat die Tatsache des Cyberangriffs bestätigt und einige Dienste wieder zum Leben erweckt "
  • " Sicherheitswoche 31: Angriff auf die Garmin-Infrastruktur "
  • " Die Veröffentlichung BleepingComputer veröffentlichte Details über den Angriff des Virus-Erpressers auf den Garmin »



All Articles