Unfreundliche Anwendungen mit schlechtem Benehmen

(… oder: Endlich wieder ein Beitrag aus der Akte-X-Serie…)

Das Elkement ist eine typische IT-Security-Abteilung und versucht daher den produktiven Ingenieursabteilungen die tägliche Arbeit so mühsam wie möglich zu machen.

So wurde auf dem Chefingenieurs-Notebook das neueste Windows-10-Feature gleich ausprobiert – Controlled Folder Access. Windows 10 Defender wacht über Zugriffe auf definierte Ordner und wehrt Angriffe von unfreundlichen Applikationen ab.

Und als ebensolche wurden gleich Winsol (und dann auch TAPPS) eingestuft:

Fügt man Winsol.exe in der Windows Defender Konfiguration zur Liste der erlaubten Anwendungen hinzu (Allow an App), ist der Spuk vorbei.

Beim Testen dieser Funktionen wurde das Elkement auf folgendes fundamentale Rätsel der Winsol-Konfiguration aufmerksam: Wo werden die Winsol-Daten eigentlich per Default gespeichert? …. ein jahrelang vernachlässigtes Forschungsgebiet! Die Siedler hatten ja in jeder Winsol-Installation immer gleich ihren eigenen speziellen Logfile-Ordner eingestellt – dort wo z.B. die hungrige Datenkrake auf die Logfiles wartet.

In einer frischen Winsol-Installation begegnet einem aber dieses Mysterium:

Aus Winsol heraus betrachtet – beim Versuch den Standardordner zu ändern, sieht man die neuesten Logfiles in C:\Program Files\Technische Alternative\Winsol\LogX (rechts im Bild). Direkt im Explorer (links im Bild) sucht man den LogX-Ordner aber vergeblich, ebenso wie die Infosol-Ordner mit den Kundendaten:

Bevor sich das Elkement mit so etwas theoretisch beschäftt, wird einmal geschnüffelt mit Microsoft Sysinternals Process Monitor.

Aha! Winsol greift in Wirklichkeit auf einen Unterordner VirtualStore im Benutzerprofil zu – hier gibt es eine ‚Umleitung‘ (REPARSE):

Die Logfiles verstecken sich somit hier:

C:\Users\[Benutzer]\AppData\Local\VirtualStore\Program Files\Technische Alternative\Winsol

Dieser VirtualStore ist ein seit Vista genutztes Sicherheits-Features, wenn Anwendungen etwas zu ‚anmaßend‘ sind. Hier ein Beispiel:

…  in most cases when a developer tells his program to save data in the Program Files folder, for example, program settings, he has completely forgotten that program settings should be a per-user thing! … In other words, a well-behaved application should instead save its settings in the
C:\Users\<User Name>\AppData\Local\<Manufacturer>\<Product>\<Product Version>

Ever since Windows Vista, applications that are not running with raised privileges that try to write to the Program Files (or Program Files (x86)) folder will in fact write to the VirtualStore folder, unknowingly.

Es gibt es aber auch einige offizielle Winsol-Einstellungen pro Benutzer im Ordner:

C:\Users\[Benutzer]\AppData\Roaming\Technische Alternative\Winsol

Hier wird z.B. das Cookie für die Anmeldung am Webportal abgelegt – aber eben nicht die Logfiles.

Zusammengefasst: Möchte man jetzt die aktuelle Winsol-Installation auf einen anderen PC übertragen oder lokal den Ordner ändern – und in mehrfacher Hinsicht ’sicher‘ konfigurieren, also sicher vor Hackern und vor allem für sich selbst auffindbar, geht der unerschrockene Monitoring-Bastler so vor:

  • Winsol wird auf dem Ziel-PC neu installiert.
  • In den Grundeinstellungen wählt man einen Ordner außerhalb von ‚Programme‘ – am besten dort, wo man auch andere Projektdateien speichert – also in einem Ordner für den eine regelmäßige Sicherung erfolgt (Z.B.: Cloud und externe Festplatte)
  • In diesen neuen Ordner werden die Dateien aus dem alten Winsol-Ordner kopiert, also alle ‚eigenen‘ Logdateien, exportierte CSV-Dateien und ggf. auch die Unterordner anderer Kunden im Ordner Infosol. (Das gilt nur dann uneingeschränkt, wenn auch die gleiche Winsol-Version verwendet wird – vor ca. 1 Jahr gab es ja eine subtile mehrstufige ‚Migration‘ bedingt durch Regler- und Software-Updates.)
  • Um sich das einmalige Anmelden am Portal zu sparen, kann auch der Inhalt von C:\Users\[Benutzer]\AppData\Roaming\Technische Alternative\Winsol kopiert werden.
  • In Controlled Folder Access in Windows 10 muss Winsol.exe in die Liste der erlaubten Anwendungen eingetragen werden (oder der Logfile-Ordner ausgenommen – sicherer ist, nur Winsol zu erlauben).

Bewusstseinsebenen einer Simulation

Kürzlich wurde hier eine Weissagung des Orkrakels präsentiert …

… mit einer eher spröden und trockenen Beschreibung technischer Fakten. Nachdem sich dieses Siedlerblog immer noch in der Sommerphase befindet, soll es jetzt um den philosophisch-spirituellen Überbau dazu gehen.

Das Orkrakel operiert auf unterschiedlichen Bewusstseinsebenen – und deren exponentiell ansteigende Komplexität müssen dem Simulator immer bewusst sein.

Auf der untersten Ebene geht um das, was die Siedler einmal gelernt haben: Physik. Hier werden Temperaturwellen im Boden berechnet und das Orkrakel führt penibel Buch über diverse Energieströme und Energiespeicher. Es geht also darum, wie ‚die Natur‘ in Folge unumstößlicher Gesetzmäßigkeiten reagiert: Temperaturdifferenzen erzeugen Wärmeströme, umverteilte Energien ändern Temperaturen im Tanks, und die Leistungszahl der Wärmepumpe folgt den Grundsätzen der Thermodynamik. Hier hat die Orakelkrake eigentlich alles unter Kontrolle – was uns gleich zur nächsten Ebene bringt …

… hat doch das Orkrakel auch die Aufgabe, dem Wirken der Universalregelung gerecht zu werden. Man könnte meinen, das sollte die Krake im kleinen Tentakel haben – ist ja eh alles Programm-Code. Was die theoretische Intention der Regelung betrifft, stimmt das auch irgendwie. Aber das Orkrakel muss Annahmen über diverse, scheinbar harmlose Regelparameter machen – deren kleinste Änderung sich fatal auswirken können. Um das mit einer lebensnahen Analogie zu verdeutlichen: Wie in den modernen Theorien der Grundlagenphysik hat man so viele Parameter, an denen man schrauben kann, so dass man praktisch alles erklären kann. Man braucht z.B. nur ein klein wenig an den Hystereseeinstellungen für das Aufheizen des Hygienespeichers zu drehen, um die Arbeitszahl auf eine Art zu beeinflussen, die Vieles in den Schatten stellt, was die Ebene ‚Physik‘ an unsicheren Parametern zu bieten hat.

Zusätzlich hat so eine Regelung ja selbst verschiedene Bewusstseinsebenen – oft Benutzer und Experte genannt. Letztere ist eine Art Pseudo-Schutz, der den Inhaber der Regelung mit komplexen Passwörtern wie 0000 zumindest vor sich selbst / vor den Konsequenzen des reflexartigen Irgendwo-Hinklickens schützt. Auf der Benutzerebene gibt es aber kein Halten: Hier darf man sich austoben, was beispielsweise die persönlichen Temperaturbedürfnisse betrifft – die das Orkrakel natürlich nicht vorausahnen kann, ebensowenig wie das vor allem in der Übergangszeit beliebte manuelle Hineinregeln.

[Lebensform in meinem Haus] stellt immer auf ‚Sonne‘. Können Sie was machen, dass sich dann gar nichts ändert?

Und damit sind wir eigentlich schon an der Spitze der Pyramide angelangt – beim heiligen Gral der Simulationskunst:

Es geht um die alte Frage: Wie nutzen (menschliche) Lebensformen ein Heizungssystem?

Duschen Sie beispielsweise auf elementare Art – auch um 03:00 früh? Und muss das elementare Duscherlebnis auch für 10 Gäste in Serie gewährleistet werden – am Morgen nach der kältesten Silvesternacht seit 100 Jahren? Ereignisse wie diese könnte man noch als ein klassisches und seltenes first world problem abtun – und natürlich werden die zukünftig so intelligenten smarten Systeme aufgrund der Facebook-Postings der Partygäste diesen Bedarf vorausahnen und entsprechend reagieren, den Speicher mittels Notheizung auf 90°C aufheizen und vorher per Smartphone-App über die drohende Arbeitszahl-Katastrophe informieren.

Interessanter sind da eigentlich die langfristigen Prognosen über das Siedlerverhalten. Kann die künstliche Intelligenz auch aufgrund genetischer Daten (aus der Cloud des Gesundheitsministeriums) ableiten, wie die Nachkommen die Siedlerhütte nutzen werden?

Angesichts von all dessen fühlt sich so ein kleines Orkrakel schnell überfordert. Es bleibt da doch lieber bei seinem konservativen Ansatz, prinzipiell einen Worst-Case-Winter zu simulieren und im Zweifelsfall dann auf die Intelligenz der Lebensformen zu setzen (im Sinne von Hausverstand) nach dem Motto: Wenn der Jahrhundertwinter kommt, dann warte ich vielleicht die 20 Minuten bis das Wasser wieder warm ist.

Die Datenkrake – ein Formwandler

Die Siedler sind immer wieder fasziniert von den seltsamen Lebensformen, die sich rund um die Siedlerhütte so tummeln. Auch altbekannte Spezies sind immer wieder für eine Überraschung gut!

Wie wir alle wissen, sind Kraken ja wahre Formwandler:

(…was an ihrem fehlenden Rückgrat liegt – aber soweit wollen wir diese Metapher nicht ausreizen…)

Jedenfalls zeigt auch die hauseigene Krake eine erstaunliche Wandlungsfähigkeit – ein Glück angesichts solcher Herausforderungen:

Wenn Irgendwer mit diversen anderen Lebensformen kämpft, dann vergisst er Zeit, Raum und vor allem dem Wissenschaftsoffizier zu melden, dass sich die Sensorlandschaft der Siedler über Nacht grundlegend verändert. Das Elkement steht dann vor der Herausforderung, der Krake wieder neu beizubringen, wie sie z.B. jetzt erkennen soll, ob die Wärmepumpe gerade läuft oder nicht. Soll man die Anforderung der Wärmepumpe heranziehen? Oder die Anforderung der Solepumpe? Oder doch eine Temperaturdifferenz und den Durchfluss im Solekreis?

Generell erfordert die scheinbar so volksschulmäßig simple Mittelwertbildung einiges an FingerspitzenTentakelgefühl: Abgesehen von Raum- und Außentemperatur sind die meisten Mittelwerte nur sinnvoll in Messintervallen, in denen bestimmte Bedingungen erfüllt sind. In die mittlere Vorlauftemperatur des Heizkreises sollten natürlich nur Werte einfließen, die gemessen wurden während die Heizkreispumpe läuft – andererseits müssen aber die Werte während der sommerlichen Kühlphasen ausgenommen werden. Vor allem muss die Krake lernen, welche Sensorwerte evtl. als Fehler zu werten sind!

Um das Elkement zu verwirrend, fügt Irgendwer aber nicht nur dauernd neue Sensoren hinzu, sondern ändert fieserweise auch die Rollen etablierter Sensoren. So wird schnell einmal eine neue Wandheizung eingebaut und was der (Regelungs-)Welt bisher als Radiatorheizkreis bekannt war, wird nun zu einem neuen Wandheizkreis.

Aber auch das Elkement selbst ist an der ständigen Krakenmutation nicht unschuldig: Während sich Irgendwer lange zufrieden gab mit zwei unterschiedlichen ‚Logging-Quellen‘ – der UVR1611 / UVR16x2 – und einigen manuell gemessenen Werten, hat das Elkement einen Zähler-Zoo herangezüchtet und schreckt nicht davor zurück, die Krake ihre Tentakel direkt in das Innere der Wärmepumpe vordringen zu lassen. All das erzeugt neue Logfiles mit Daten, die zu anderen Zeitpunkten in anderen Zeitintervallen gemessen werden und die von der Krake mit den UVR-Daten verknüpft werden müssen.

Datenkrake: Tentakel in der Wärmepumpe

Insbesondere die früher manuell abgelesenen Daten waren der Krake ganz besonders schwer beizubringen: Irgendwer war zwar ein verwegener Messdatenableser, weigerte sich aber beharrlich, jeden Tag exakt um 00:00:00 Energiewerte aufzunehmen. Da die dumme Wärmepumpe entweder an oder aus ist, macht eine Interpolation der Werte wenig Sinn und das Elkement musste jene erwähnten Mittelwerte für irgendwelche seltsamen Zeitintervalle berechnen.

Aber nicht nur irgendwelche Experimente fordern die Krake heraus: So mancher Hersteller von Steuerungen kommt ja hin und wieder auf die Idee, ’schnell einmal über die Feiertage‘ die Struktur der Loggingdaten mit einem Firmwareupdate durcheinanderzuwirbeln! Die Tentakel der Krake müssen dann bis zum Äußersten gedehnt werden, um die Daten wieder richtig einzusammeln.

Wie regelmäßige Leser dieses ‚Wissenschaftsblogs‘ erahnen werden, muss natürlich jeder dieser Laborversuche ausführlich dokumentiert und nachvollziehbar qualitätsgesichert werden. Gerade bei Tierversuchen gibt es ja sehr strenge Auflagen!

Nach langem Tüfteln – und dem Konsum vieler klischeehafter Filme über künstliche Intelligenz – hat das Elkement jetzt der Datenkrake ein paar weitere Metaebenen verpasst: Die DNA der Krake – also die Beschreibung der Logdateien und Sensoren, wird in einer separaten Vor-Krake abgelegt. Schonungslos wird hier jeder Messfauxpas von Irgendwem dokumentiert: So enthält die Vor-Krake eine Tabelle, in der man Zeitbereiche findet mit Kommentaren wie Irgendwie bastelt und hat versehentlich die Sicherung ausgeschaltet.

Aus der Vor-Krake entsteht dann ‚per Knopfdruck‘ die Große Krake, die automatisch Logdateien in der richtigen Reihenfolge frisst. Nach der Entschlüsselung der Kraken-DNA lässt sich diese auch klonen und frisst auch die CSV-Dateien anderer Siedler.

Nur wenn man diese Vorgeschichte kennt, kann man die kindliche Freude des Elkementes nachvollziehen, wenn die sehr schlichte Benutzeroberfläche dann das Durchklicken der wichtigen Kennwerte für LEO_2-Anlagen erlaubt – für Tage, Monate, Jahre oder Heizsaisonen.

Datenkrake: Excel-Auswertung