1 Punkte von GN⁺ 2023-08-09 | 1 Kommentare | Auf WhatsApp teilen
  • Ein Dienstprogramm für macOS zum automatischen Umschalten zwischen Hell- und Dunkelmodus hat sich nach einer Übernahme Ende 2022 in ein Werkzeug verwandelt, das Geräte ohne Zustimmung der Nutzer in ein Botnet eingliedert
  • Der Käufer TPE.FYI LLC nutzt auf Grundlage der Nutzungsbedingungen die Geräte der Nutzer als Gateway für Internetverkehr; diese Funktion lässt sich auch nach dem Beenden der App nicht deaktivieren
  • Bei der Installation wird ein mit Root-Rechten laufender Launch Agent registriert, der beim Start automatisch ausgeführt wird und sich innerhalb der Anwendung nicht deaktivieren lässt
  • Ein als „automatisches Update“ getarnter Daemon startet einen lokalen HTTP-Proxy und öffnet einen SSH-Tunnel zu externen Servern, um Datenverkehr über die Internetleitung der Nutzer umzuleiten
  • Es wird das Pawns SDK des Residential-Proxy-Anbieters IPRoyal verwendet, wodurch die Internetbandbreite der Nutzer für Marktforschung weiterverkauft wird

Was die NightOwl-App ist und wie sie sich verändert hat

  • NightOwl ist eine seit 2018 existierende App, die das automatische Umschalten zwischen Hell- und Dunkelmodus des Betriebssystems ermöglicht
    • Eine Alternative, die die Einschränkung des in macOS integrierten Automatikmodus ausgleicht, der nur umschaltet, wenn der Nutzer nicht am Gerät ist
  • Nach der Übernahme durch TPE.FYI LLC Ende 2022 wurden Geräte ohne Wissen oder ausdrückliche Zustimmung der Nutzer zwangsweise in ein Botnet für Marktforschung eingegliedert
    • Abgesehen von kleingedruckten Bedingungen auf der Download-Seite gibt es keinen gesonderten Hinweis
    • Diese Funktion lässt sich auch dann nicht deaktivieren, wenn die App beendet ist
  • In den Nutzungsbedingungen (TOS) ist dieses Verhalten beschrieben
    • Die Netzwerkeinstellungen des Geräts werden verändert, um Internetverkehr zu teilen und das Gerät des Nutzers als Gateway zu verwenden
    • Zu den Kunden für diese Gateways gehören Unternehmen aus den Bereichen Web- und Marktforschung, SEO, Markenschutz, Content-Übertragung und Cybersicherheit
  • NightOwl wurde um eine Stellungnahme gebeten, antwortete jedoch nicht

So entfernen Sie die App

  • Selbst wenn die App nicht läuft, müssen Sie bei installierter App die folgenden Befehle im Terminal ausführen
    • sudo killall NightOwl
    • launchctl unload ~/Library/LaunchAgents/NightOwlUpdater.plist
    • sudo killall AutoUpdate
    • sudo rm -rf /Applications/NightOwl.app/ ~/Library/LaunchAgents/NightOwlUpdater.plist
    • sudo zsh -c "rm /Users/*/Library/LaunchAgents/NightOwlUpdater.plist"

Analyse des technischen Verhaltens

  • Bei der Installation wird ein Launch Agent mit dem Namen org.nightowl.autoupdater.com registriert
    • Dadurch wird der Prozess /Applications/NightOwl.app/Contents/Helpers/AutoUpdate als Daemon eingerichtet und beim Booten mit Root-Rechten ausgeführt
    • Eine Deaktivierung über die Anwendung ist nicht möglich; der Vorgang erfolgt still und ohne Wissen oder Zustimmung der Nutzer
  • Der von der App angezeigte Hinweis beschränkt sich auf die Erfassung von Statistiken über Google Analytics
    • Es werde Daten-Tracking zur Analyse der Nutzung und von Fehlern durchgeführt
    • Mit der Einstellung anonymizeIp werde der letzte Teil der IP-Adresse maskiert, um eine anonymisierte Datenerfassung sicherzustellen
    • Nutzer würden darüber informiert, dass sie das Tracking über das Entfernen des Häkchens bei „Send Statistics“ abwählen können
    • Selbst wenn die Statistikübertragung deaktiviert wird, wird der Launch Agent jedoch nicht deaktiviert
  • Der Daemon für das „automatische Update“ führt drei Aufgaben aus
    • Prüfung auf App-Updates mit Sparkle
    • Crash-Reporting mit Sentry
    • Betrieb eines lokalen HTTP-Proxys auf Port 40701 (änderbar über eine Konfigurationsdatei im JSON-Format im App-Bundle)
    • Der letzte Punkt ist ein Verhalten, das man von einer App mit angeblichem Auto-Updater nicht erwarten würde
  • Proxy- und SSH-Tunnel-Struktur

    • Der Daemon wechselt per sudo von Root auf das Hauptbenutzerkonto und führt anschließend nightowl_t.dylib aus
      • Dabei handelt es sich um eine Kopie von tinyproxy; da es unter GPLv2 lizenziert ist, aber kein GPL-Hinweis enthalten ist, könnte ein Lizenzverstoß vorliegen
      • Es arbeitet als HTTP(S)-Proxy
    • Über eine in nightowl_a.dylib umbenannte Datei von autossh (ohne Lizenzhinweis) wird eine SSH-Verbindung aufgebaut
      • Ziel ist testconnectuser2023@proxy-gw1-europe.squidyproxy.com, Port 2043
      • Verwendet wird ein in /tmp mit der Erweiterung .uu abgelegter öffentlicher Schlüssel; mit der Option -R wird ein entfernter Port zum lokalen System getunnelt
      • Der Schlüssel wird per HTTPS-Anfrage von proxy-api1.squidyproxy.com bezogen
      • Die Domain wurde im April 2022 bei GoDaddy registriert, die IP wird von Microsoft gehostet
    • Auf diesem SSH-Server ist Shell-Zugriff aktiviert
    • Nach erfolgreicher Verbindung wird HTTP-Datenverkehr an die Nutzerseite weitergeleitet und über deren Internetverbindung nach außen umgeleitet
  • Versuch von UPnP-Portweiterleitung

    • Es wird versucht, auf dem Router eine UPnP-Portweiterleitung zu öffnen, was jedoch wegen vertauschter Schlüsselnamen fehlschlägt
      • Die gesendete SOAP-Anfrage enthält die Aktion AddPortMapping und den Wert ip royal paws

Struktur des Bandbreiten-Weiterverkaufs (Pawns / IPRoyal)

  • Die App scheint das Pawns SDK zu verwenden
    • Pawns ist eine App, die Nutzern 0,20 US-Dollar pro GB für das Teilen ihrer Internetbandbreite zahlt
  • Betreiber des Dienstes Pawns ist IPRoyal
    • Ein Proxy-Anbieter, der Residential-Proxy-Verbindungen für 1,75 US-Dollar pro GB verkauft
    • Geworben wird mit „100 % ethisch beschafften IPs“

Wer hinter „TPE.FYI LLC“ steckt

  • TPE (oder Keeping Tempo, Tempo AI) arbeitet offenbar an einem Preismodell, mit dem Veranstaltungsorte Ticketpreise anhand realer Künstlernachfrage festlegen sollen, basierend auf Analysen wie YouTube-Aufrufen und regionalen Beliebtheitsdaten
    • Kein Zusammenhang mit Tempo AI Calendar oder Tempo AI Gym
  • Verfügbare Informationen sind spärlich; seit 2018 gibt es kaum Material
  • Zum Zeitpunkt des Schreibens versuchten verifizierte Installationen mehrfach, Verbindungen zu https://stubbs.frontgatetickets.com/ herzustellen
    • Die Website verkauft Tickets für Live-Musikveranstaltungen eines Restaurants in Austin, Texas
  • Das Unternehmen wurde im September 2018 in Austin, Texas gegründet und im März 2023 von „Jarod Stirling“ aufgelöst
    • Als Adresse ist The Muse at SoCo, 1007 South Congress Avenue, Apartment 443, Austin, Texas, 78704 angegeben

1 Kommentare

 
GN⁺ 2023-08-09
Hacker-News-Kommentare
  • Ich weiß, dass so etwas ziemlich häufig vorkommt, aber ich frage mich, wie oft Unternehmen ihre Nutzungsbedingungen mit solchen Formulierungen aktualisieren
    Die Idee von sich automatisch erneuernden Bedingungen, die dauerhaft jede Nutzung regeln, hätte meines Erachtens schon längst rechtlich unterbunden werden müssen
    Die aktuelle Formulierung von NightOwl besagt, dass Bedingungen und Preisinformationen jederzeit geändert werden können, dass sie mit der Veröffentlichung auf der Website sofort wirksam werden und dass NightOwl allein entscheidet, ob eine Änderung „wesentlich“ ist
    Änderungen der Bedingungen einer lokal installierten App per Website-Update bekanntzugeben – soll man jetzt auch noch deren Social Feeds abonnieren und prüfen?

    • Ein Freund, der vor ein paar Jahren einen Business-Internet-/Telefonvertrag mit Comcast abgeschlossen hat, hat eine ähnliche Formulierung gesehen, und es gab nicht einmal eine konkrete URL
      Vom Bauchgefühl her wirkte das wie eine nicht durchsetzbare und unfaire Klausel, aber andererseits hat die Rechtsabteilung von Comcast sie vermutlich geprüft
      Ich frage mich, ob hier ein Anwalt weiß, ob solche Formulierungen gültig sind, wenn Vertragsänderungen auf einer Website veröffentlicht werden, insbesondere ohne gesonderte Mitteilung
    • Ich frage mich, ob maps.me in einer ähnlichen Lage sein könnte
      Früher war es ein gutes Frontend für OpenStreetMap, aber soweit ich weiß, wurde es zur Monetarisierung von einer Investmentfirma übernommen
      Ich frage mich, in welchem Zustand die App heute ist, ob ihr Geschäftsmodell dem hier beschriebenen ähnelt und welche Alternative man stattdessen nutzen sollte
    • Solche Klauseln wurden schon einmal für unwirksam erklärt, und wenn jemand klagen wollte, wäre es sehr wahrscheinlich, dass es wieder so ausgeht: https://arstechnica.com/tech-policy/2007/07/court-says-no-to..., https://scholar.google.com/scholar_case?case=592583419165850...
      Im Fall Safeway entschied das Gericht, dass Verbraucher keinen künftigen Bedingungen zustimmen können, die noch gar nicht existieren, und dass ihre weitere Nutzung allein nicht als Zustimmung zu geänderten Bedingungen gelten kann, wenn sie keine Mitteilung über die Änderung erhalten haben
    • Ich frage mich, ob es bei der Chrome-Erweiterung The Great Suspender kürzlich ähnliche Richtlinien- oder Funktionsänderungen gab
      Die Browser haben sie wohl als unsicher markiert
  • Dass die App viele Verbindungen zu Websites für Live-Musik-Tickets aufbaut, ist ein typischer Anwendungsfall für Residential Proxies
    Ticket-Scalper nutzen die Geräte infizierter Nutzer, um Sperren von Datacenter-Hosts oder Beschränkungen für massenhafte Zugriffe zu umgehen und so die Chancen zu erhöhen, Tickets zu bekommen, die sich später gewinnbringend weiterverkaufen lassen
    Kostenlose Browser-Erweiterungen, VPN-Apps usw., in die über den Ersteller, einen Eindringling im Repository oder – wie hier – über einen Käufer eine Backdoor eingeschleust wurde, können Nutzergeräte in solche Proxies verwandeln

    • NordVPN nutzt ebenfalls dieses Prinzip
      Google und Amazon besitzen große IP-Bereiche für ihre Cloud-Dienste, daher lassen sich Bots auf Basis von AWS oder Google Cloud relativ leicht erkennen
      Verizon hingegen verfügt ebenfalls über große IP-Bereiche, die an Privatkunden vergeben werden, und NordVPN nutzt aus, dass Dienste wie Netflix oder Amazon nicht den gesamten Verizon-IP-Bereich blockieren wollen, wodurch der Traffic wie Residential Traffic wirkt
  • Ich hasse stille Übernahmen wirklich
    Bei Chrome-Erweiterungen für Entwickler kommt es erschreckend häufig vor, dass sie von böswilligen Akteuren aufgekauft und anschließend in Malware verwandelt werden

    • Als Maintainer einer halbwegs beliebten Chrome-Erweiterung bekomme ich so viele Übernahmeangebote, dass ich angefangen habe, sie öffentlich zu sammeln, damit alle sie sehen können
      https://chrome.google.com/webstore/detail/hover-zoom%20/pccc...
      https://github.com/extesy/hoverzoom/discussions/670
    • Die Idee einer App, die App-Eigentümer überwacht, klingt gar nicht schlecht
      Sie müsste einfach deutlich warnen, wenn der Eigentümer über Nacht wechselt
    • Genau hier liegt das Problem kostenloser Apps
      Kaum jemand will spenden, und seriöse Firmen kaufen solche Apps auch nicht, um sie zu monetarisieren; am Ende kaufen also nur die schlimmsten Firmen, die Nutzer ausbeuten wollen, die Erweiterungen und Apps auf
      Solche kostenlosen Apps haben zwar einen Wert, aber dieser führt nicht zu Einkommen für die Entwickler, also suchen sie sich andere Wege
    • Ich muss an die Übernahme von ActionDash durch Sensor Tower denken
      Dass eine extrem invasive App, die für Funktionen auf Systemebene zwangsläufig enorme Berechtigungen brauchte, reibungslos an ein Werbe- und Datenverkaufsunternehmen überging, ist absurd
    • Ich weiß nicht, was daran still sein soll
      Es steht genau so in den Nutzungsbedingungen, denen Nutzer bei der Verwendung der Software zugestimmt haben; letztlich geht es also um so etwas wie das Prinzip „Käufer trägt die Verantwortung“
  • Die Erklärung, der integrierte automatische Modus von macOS wechsle nur, wenn der Nutzer nicht am Computer ist, klingt seltsam
    Wenn man Zeitplan/Ort für Night Shift einstellt und den Dark Mode auf automatisch setzt, wechselt er sofort; und wenn man einen Launcher oder Spotlight nutzt, kann man ihn auch mit einer einzeiligen AppleScript-Anweisung wie tell application "System Events" to tell appearance preferences to set dark mode to not dark mode umschalten

    • Bei mir ist das nicht so
      Ich würde sagen, die Wahrscheinlichkeit, dass der Dark Mode bei Sonnenuntergang eingeschaltet wird, liegt bei etwa 25 %
      Das ist seit Jahren so, bis einschließlich Ventura, und ich frage mich, ob es bei anderen die ganze Zeit perfekt funktioniert hat
    • Als NightOwl im Jahr 2018 veröffentlicht wurde, gab es einige oder alle dieser Komfortfunktionen noch nicht
  • Apple scheint das Entwicklerzertifikat widerrufen zu haben
    Ich frage mich, ob es ein öffentliches Log gibt, das zeigt, wann es widerrufen wurde
    Das Laden der App wurde blockiert, aber die beiden dylibs liefen weiterhin; vielleicht lag das daran, dass es erst passierte, nachdem der Zertifikatswiderruf bereits begonnen hatte
    Selbst nach dem Ab- und erneuten Anmelden liefen sie weiter, es könnte also über das Abmelden hinaus persistent sein
    In der macOS-Firewall erschien außerdem ein Prompt, ob das erwähnte AutoUpdate-Binary eingehende Verbindungen akzeptieren darf; daher wirkt es so, als sei all das in den letzten Tagen ausgeliefert worden
    Nach einem Neustart erschien der Dialog “NightOwl” will damage your computer. You should move it to the Trash., und selbst nach dem Zulassen blieben /Users/*/Library/LaunchAgents/NightOwlUpdater.plist sowie die normalen Einstellungsdateien zurück, es wurde also nicht vollständig bereinigt
    Für nichttechnische Nutzer, die mit dem Terminal nicht vertraut sind, sollte man wohl einen Neustart empfehlen

  • macOS hat die App in meiner Umgebung außer Betrieb gesetzt und sich geweigert, sie zu öffnen
    Ich bin stattdessen auf NightFall umgestiegen: https://github.com/r-thomson/Nightfall

    • Mit folgender Einstellung kann man auch die Display-Einstellungen direkt in die Menüleiste legen
      Settings > Control Center > Display > Always Show in Menu Bar
      Zum Ein- und Ausschalten des Dark Mode braucht es zwar einen Klick mehr, aber man kann auch Night Shift verwenden und es ist zu 100 % nativ
    • Mit der vorinstallierten Automator-App kann man sich das auch sehr einfach selbst bauen
      Automator öffnen, eine neue App erstellen, „change system appearance“ auswählen und dann das Umschalten zwischen hellem und dunklem Modus wählen
      Nach dem Speichern kann man den Modus wechseln, indem man den Namen dieser App über Spotlight öffnet; mit Shortcuts müsste es vermutlich auch gehen
    • Wenn man nur den Modus umschalten will, geht das direkt mit BetterTouchTool
      Ich habe als globalen Shortcut Rechtsklick+Option+Command festgelegt, und das funktioniert sehr gut
  • Für solche Fälle sollte es meiner Meinung nach ein Gesetz geben, das man durchsetzen kann
    Es sollte einen stillschweigenden Vertrag geben, dass Software so funktioniert, wie angegeben, und nichts völlig anderes tut; bei Verstößen braucht es harte Strafen

    • Dann sollten wir wohl alle unsere eigenen EULAs erstellen und davon ausgehen, dass die Gegenseite stillschweigend zugestimmt hat
      Wenn man bei jeder Anfrage an eine große Website eine 10-MB-EULA-Datei mitschickt und das so lange wiederholt, bis sie akzeptiert wird, könnte daraus eine Art „DDoS per EULA“ werden
    • Übliche Lizenzen formulieren absichtlich klar, dass ein solcher Vertrag nicht impliziert wird
      Die großgeschriebene Klausel der MIT License beginnt damit, dass die Software „wie besehen“ bereitgestellt wird, ohne ausdrückliche oder stillschweigende Gewährleistung der Marktgängigkeit oder Eignung für einen bestimmten Zweck; Abschnitt 15 der GPL enthält nahezu dieselbe Formulierung
      https://opensource.org/license/mit/
      https://www.gnu.org/licenses/gpl-3.0.html#section15
    • Gesetzlich implizierte Vertragsbedingungen gibt es tatsächlich
      Das britische Verbrauchervertagsrecht wurde unter dem Einfluss der EU-Verbraucherrechterichtlinie seit 2015 auf digitale Inhalte ausgeweitet und enthält stillschweigende Bedingungen, wonach Waren von zufriedenstellender Qualität sein müssen und sich dauerhafte Dienste wie Netflix, Spotify oder Software mit Updates nicht drastisch von dem unterscheiden dürfen, was ursprünglich bereitgestellt wurde
      https://www.legislation.gov.uk/ukpga/2015/15/part/1/chapter/...
      In den meisten Rechtsordnungen gibt es ähnliche Regeln, und die EU-Mitgliedstaaten dürften Gesetze haben, die die Verbraucherrechterichtlinie umsetzen
      Allerdings gilt das, wenn man dafür bezahlt hat; NightOwl ist kostenlos, daher greifen die rechtlichen Erwartungen, die den Verkauf von Waren und Dienstleistungen regulieren, nicht unverändert
      Dass ein Unternehmen übernommen wird und Spyware in ein Produkt einbaut, ist schlimm; aber es wäre auch nicht wünschenswert, wenn ein Teenager oder Hobbyentwickler, der zum Programmierenlernen kostenlose Open-Source-Software oder Freeware veröffentlicht hat, wegen einer left-pad-artigen Aktion von einem Großkonzern verklagt wird
      Das Gewicht technischer Regulierung sollte deutlich stärker auf Unternehmen wie Google, Microsoft und Apple liegen als auf kleinen Entwicklern, die kostenlose Menüleisten-Utilities oder Chrome-Erweiterungen bauen
      Zu verhindern, dass kleine kostenlose und Open-Source-Apps zum Vektor für Supply-Chain-Angriffe werden, bleibt schwierig; dafür braucht es langsame und unvollkommene Verbesserungen wie besseres Sandboxing und Berechtigungen auf App-Ebene, Netzwerküberwachung und Anomalieerkennung pro App sowie Vertrauensbildung im Packaging- und Distributionsprozess, und Klagen sind wahrscheinlich nicht die Antwort
  • Der Teil, dass versucht wird, UPnP-Port-Forwarding zu öffnen, dies aber fehlschlägt, weil beim Router die Schlüsselnamen durcheinandergeraten sind, sollte eigentlich bei jedem Router fehlschlagen
    UPnP sollte nämlich deaktiviert sein

    • UPnP ist zwar eine miserabel spezifizierte Sache, aber ein Notbehelf, der die grundlegende Fähigkeit wiederherstellt, die internetfähige Geräte in Wohnumgebungen haben sollten
      Alle P2P-Apps wie Tailscale müssen zeitweise wie Server funktionieren und eingehenden Traffic zulassen
      Ohne diese Funktion wird man sozusagen zum Bürger zweiter Klasse und behandelt die Nutzer wie Kinder
      Natürlich kann man Ports manuell öffnen, aber wegen einer schwer auffindbaren, uneinheitlichen und komplizierten UX ist das für die meisten Nutzer kaum zugänglich, und die meisten wissen nicht einmal, was ein Port ist
    • Man muss nur an Familienmitglieder denken, die Mac nutzen, „weil sie keine Lust auf den Ärger mit Windows-Laptops haben“
      Sie wollen auch nicht den Aufwand, UPnP abzuschalten, und diese Einstellung ist sehr wahrscheinlich aktiviert, ob man es nun besser weiß oder nicht
    • Wenn man UPnP abschaltet, wird es sicherer, aber solange man nicht auch alle NAT ALGs des Routers abschaltet, bleibt man weiterhin Risiken ausgesetzt
      Die meisten Router werden dafür keine Einstellung haben; wenn infizierte Geräte also Teil des Sicherheitsmodells sind, ist es wegen NAT-Slipstream-Angriffen klug anzunehmen, dass NAT praktisch vollständig ausgehebelt ist
      Ein infiziertes Gerät kann die NAT-Tabelle des Routers verändern und sie faktisch wie UPnP funktionieren lassen, bietet aber keine UI, die der Nutzer auditieren könnte
      Wenn man ohne NAT nur IPv6 nutzt, kann das Deaktivieren von UPnP eine sinnvolle Sicherheitsmaßnahme sein, sofern man bereit ist, alle Firewall-Ausnahmen manuell zu verwalten; für die meisten Menschen ist heute aber nur die Host-Firewall ein verlässlicher Schutz
    • Ich weiß nicht, ob damit die Notwendigkeit von UPnP selbst komplett bestritten wird
      Das ist ziemlich verwirrend formuliert
  • In den Bedingungen steht, dass „die Netzwerkeinstellungen des Nutzergeräts geändert werden, damit es als Gateway für Internet-Traffic dient und Internet-Traffic teilt; zu den Kunden von NightOwl gehören unter anderem Unternehmen für Web-/Marktforschung, SEO, Markenschutz, Content-Auslieferung und Cybersecurity“
    Das ist wirklich auf einem Niveau, das man niederbrennen müsste

    • Normalerweise dachte ich, je dubioser etwas ist, desto eher versteckt man es
      Aber ich frage mich ernsthaft, warum sie das in die Nutzungsbedingungen geschrieben haben
      Eine Organisation, die so eine dubiose Funktion einbaut, würde doch auch die Tatsache aktiv verbergen; ich frage mich, ob NightOwl dadurch rechtlich geschützt ist, wenn es in den Bedingungen steht
      Zum Beispiel ob man sie ursprünglich erfolgreich hätte verklagen können, es aber in Ordnung ist, sobald es in den Bedingungen steht, oder ob solches dubioses Verhalten technisch gesehen legal ist, solange es nur in den Bedingungen steht
    • Die Berechtigung, „die Netzwerkeinstellungen des Geräts zu ändern“, war offenbar bereits in den Berechtigungen enthalten, die man für die eigentliche Aufgabe, nämlich das Umschalten in den Dark Mode, erteilt hatte
      Wenn das so ist, ist das ziemlich enttäuschend, und es wäre gut, wenn App-Berechtigungen feiner granuliert wären
    • Dass hier „enables“ verwendet wird, fühlt sich so an, als würde man es nicht als Eingriff in Freiheit und Privatsphäre darstellen, sondern als Chance
    • Man sollte die Entwickler und das Unternehmen namentlich nennen und öffentlich beschämen
  • Little Snitch hilft dabei zu erkennen, mit welchen IPs und Adressen Apps sich verbinden, und diese Verbindungen zu blockieren

    • Es gibt auch LuLu
    • Ich habe, wann immer möglich, für Little Snitch bezahlt
      Ich hoffe sehr, dass sie nie einen Verkauf in Erwägung ziehen