Jammer-Thread

Hier kann über allgemeine Themen diskutiert werden, die sonst in kein Forum passen.
Insbesondere über Szene, Games, Kultur, Weltgeschehen, Persönliches, Recht, Hard- und Software.
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

https://twitter.com/cperciva/status/1141852451756105729 hat geschrieben:I just figured out how to safely and portably close a file descriptor in a multithreaded process without running into problems with EINTR. It only took me ~7.5 years after writing this blog post: https://www.daemonology.net/blog/2011-1 ... roken.html

Run once:
1. Create a socket pair s[2].
2. Write a random cookie into s[0].

To close(fd), wrapped in a mutex:
1. dup2(s[1], fd) until it succeeds or fails with !EINTR.
2. close(fd).
3. If we got EINTR, recv(fd, MSG_PEEK).
4. If we read the random cookie, goto 2.
So viel zu „Mt Linux wäre das nicht passiert!“

Wer richtig hart im Nehmen ist, kann sich ja den Grund durchlesen: https://twitter.com/dotstdy/status/1142748020917833728

Related News: WinAFL stürzt mit Assert ab, wenn der Computer schlafen geht. Perfektes Verhalten für ein Programm, das erst nach Wochen zu einem Ergebnis kommt.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Helmut
Establishment
Beiträge: 237
Registriert: 11.07.2002, 15:49
Wohnort: Bonn
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Helmut »

10 Jahre Jammerthread!!!

Leider einen Tag zu spät bemerkt *jammer*
Benutzeravatar
Schrompf
Moderator
Beiträge: 4831
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Schrompf »

Feuerwerk? Sektkorken? Oder doch Blumen und ne Beileidskarte?
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Hmmm … vor dem Foren-Update stand in meinem Profil noch, in welchem Thread ich am aktivsten war. Jammer-Thread waren irgendwie 15 % meiner Beiträge oder so. Das hätte ich liebend gern heute hier gepostet.

Ich habe eben noch einen Jammer-Rant auf Oldnewthing losgelassen; falls der nicht wegmoderiert wird, binde ich ihn hier ein.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

encode.ru, die führende Community für Datenkompression, zieht nun nach encode.su um. Und da wird klar, wie lange wir an einer Katastrophe vorbeigeschrammt sind:
It started when encode forgot to pay for domain and webmaster bought the domain and suggested to host the forum for free.
you can't simply re-buy it, at least here, in Russia. After expiration, the domain will be sold in auction for an insane price.
webmaster had been hosting the forum for last 10 years or so.
Looks like the webmaster deceased - he's offline since Jan/Feb 2019, all his websites are down. By the miracle, we able to pay his bills, firstly the domain and now for the hosting. Hosting prices are too high to keep the forum running.
Problem 1: we don't have direct access to domain or hosting, i had to hack the forum to even get the SQL dump.
In theory, its possible to send money to hoster and registrar even without owning anything (which I did for now),
but, for example, mail didn't work on encode.ru for a few months, and we can't fix that without access.
Problem 2: I'm not ready to pay 73 EUR per month for webmaster's server.
HEILIGE SCHEIßE! Auf Deutsch:
  1. Der Foren-Admin vergaß, für die Domain zu bezahlen.
  2. In Russland werden Domains dann direkt versteigert. Weg war sie.
  3. Der neue Inhaber war sehr nett und hat das Forum gratis weiter gehostet.
  4. Nun ist er verstorben.
  5. Durch glückliche Umstände konnten die Admins weiter die Rechnungen des Domain-Inhabers bezahlen und dadurch das Forum online halten.
  6. Allerdings ohne Zugriff auf Mail oder Datenbank und alles andere, was nur Hosting-Vertragspartner dürfen. Außerdem kosten Hosting & Domain nun 73 € pro Monat (mglw, weil sie für alle Seiten des verstorbenen Domain-Inhabers zahlen müssen?)
  7. Sie mussten ihr eigenes Forum hacken um überhaupt an einen Datenbankabzug zu kommen, mit dem sie umziehen können.
Dieses Weihnachten wird noch mehr Geld ins Internet Archive gepumpt … und irgendwann muss ich mal ’nen Kurs machen um Seraph und den anderen hier die ZFX-Wartung zu erleichtern.

Ach, von Developia liegt ja auch noch ein Datenbankabzug herum, quasi als letzte vollständige Kopie von allem, was da war. Und den haben wir ja auch noch nicht online gekriegt. Fuck fuck fuck
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: Jammer-Thread

Beitrag von marcgfx »

evtl die Datenbank ohne Passwörter öffentlich machen? Wenn jemand da was rausholen will, kann er das dann? Wär ja schon lustig reinzuschauen, aber es ist wie Fotoalben, macht doch kaum einer. Ich fänds schon witzig zu sehen was bei SCAW vorhanden war, aber so wichtig ist es dann auch wieder nicht.
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Wir hatten hier mal einen Thread drüber, und die Quintessenz war, es nicht veröffentlichen zu können ohne vorher Private Nachrichten, Entwürfe & Co. zu entfernen, wofür niemand von uns Zeit hatte.

Ich weiß nicht, wie du „ohne Passwörter“ meinst, aber selbst wenn die Datenbank alles Private verschlüsselt (ich weiß es nicht und rechne mit dem Schlimmsten), wäre das IMO grob fahrlässig – ich glaube nicht, dass die Verschlüsselung von damals heutigen Standards genügt. Mit einer lokalen Kopie der DB könnte man wahrscheinlich ein paar Zehntausend Requests pro Sekunde erreichen und 90 % der Passwörter weg-bruce-forcen. Diese Möglichkeit allein ist schon nicht vertretbar.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Tiles
Establishment
Beiträge: 1990
Registriert: 11.01.2003, 13:21
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Tiles »

War Developia nicht noch PHPBB2? Der erste Schritt wäre also eine Migration nach PHPBB3. Und dann hast du das Board eigentlich so sicher wie ZFX auch.
Free Gamegraphics, Freeware Games https://www.reinerstilesets.de
Die deutsche 3D Community: https://www.3d-ring.de
Benutzeravatar
Tiles
Establishment
Beiträge: 1990
Registriert: 11.01.2003, 13:21
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Tiles »

HEILIGE SCHEIßE! Auf Deutsch:
Der Foren-Admin vergaß, für die Domain zu bezahlen.
In Russland werden Domains dann direkt versteigert. Weg war sie.
Der neue Inhaber war sehr nett und hat das Forum gratis weiter gehostet.
Nun ist er verstorben.
Durch glückliche Umstände konnten die Admins weiter die Rechnungen des Domain-Inhabers bezahlen und dadurch das Forum online halten.
Allerdings ohne Zugriff auf Mail oder Datenbank und alles andere, was nur Hosting-Vertragspartner dürfen. Außerdem kosten Hosting & Domain nun 73 € pro Monat (mglw, weil sie für alle Seiten des verstorbenen Domain-Inhabers zahlen müssen?)
Sie mussten ihr eigenes Forum hacken um überhaupt an einen Datenbankabzug zu kommen, mit dem sie umziehen können.
Weisste was ich in dieser Geschichte vermisse? Das essenziellste überhaupt. Das Wort Backups. Wer noch nicht mal das hinbekommt dem sollte man keine Community anvertrauen. Und dem gehört es dann auch nicht anders, sorry.

Datenbank Backups macht man mindestens einmal täglich. Dafür gibts Cron Jobs. Dann noch regelmässig die Verzeichnisse in ./www/ sichern. Da sind die Seiten drin. CMS, Bilder, Dateianhänge ... .Und diese Backups sichert man am Besten auf einem zweiten Server oder besser gleich lokal. Das sind Basics. Ich könnte meinen Server komplett zertrümmern und alles verlieren, und hätte meine Seiten gleich morgen wieder ohne grössere Verluste auf einem neuen Server am Start.

Das Einzige Ärgernis wäre dann die Domain. Da kann ich gepflegt mitjammern. Da habe ich auch schon mal durch einen Wechsel viele User verloren.
Free Gamegraphics, Freeware Games https://www.reinerstilesets.de
Die deutsche 3D Community: https://www.3d-ring.de
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Neueste Änderungen an C++20: https://www.reddit.com/r/cpp/comments/c ... eport_the/

Einerseits teils recht nützlich (using enums!). Andererseits hat die Komplexität der Sprache mit Features wie constexpr allocations nun ein Niveau erreicht, bei dem ich mir ernsthaft Sorgen um die Gesundheit der Compiler-Landschaft mache. Außer den drei Großen – Clang, GCC, MSVC – hat doch niemand Kapazitäten, mit diesem Wahnsinn Schritt zu halten. Und dabei sind auch die schon 100-MiB-Code-Monster, die sechs Stunden brauchen, um sich selber zu kompilieren.

In zehn Jahren werden nur noch zwei riesige unwartbare Suites (Compiler + Analyzer + Debugger + alles andere) übrig sein, von denen dann ein beträchtlicher Teil unserer Infrastruktur abhängt. Kein Wunder, dass Microsoft bei den Aussichten nochmal richtig MSVC pusht, statt einfach aufzugeben und auf Clang umzusatteln.

Ein Vergleich wäre wohl: Wir blähen die SUS-Spezifikation derart auf, dass auf der Welt nur noch drei große Unix-Distributionen übrig bleiben, die man überhaupt produktiv einsetzen kann, und alle anderen sind legacy. Da würde mir sehr, sehr mulmig.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Ich weiß jetzt,
  1. warum mein System sich so viel schneller anfühlt als alle anderen
  2. warum ich mich so auf meinen Windows-10-Umstieg im Dezember „freuen“ kann:
Unter Windows 10 lässt sich Aero nicht mehr (ohne fiese Hacks) abschalten, und das bremst alles aus.

Bild

Bild
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: Jammer-Thread

Beitrag von marcgfx »

Es ist echt zum kotzen. Habe mich auch schon Stundenlang mit Inputlag rumgeärgert.
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Oh wow – es gibt Fälle in Win32, unter denen WaitForSingleObject() auf einem Datei-Handle zurückkehrt, ohne dass Bytes zum Lesen zur Verfügung stehen. Wenn man dann Null Bytes zu lesen versucht bis das Handle wieder blockiert, landet man in einer schönen Spin Loop mit voller Kernel-Auslastung.

Steht auch auf StackOverflow:
https://stackoverflow.com/questions/3673190/peeknamedpipe-always-returns-0-for-totalbytesavailable/38000448#38000448 hat geschrieben:I have found that in Windows, if you call PeekNamedPipe before calling ReadFile, it will always return zero bytes, even if there are in fact bytes to be read. You have to call ReadFile, followed by PeekNamedPipe, and keep looping until PeekNamedPipe returns zero bytes.
… und es ist eben nicht nur PeekNamedPipe() wie der Autor sagt, sondern auch WaitForSingleObject(). Irre.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Gute Nachrichten: Visual Studio macht euch jetzt NOCH produktiver indem es den Bildschirm NOCH bunter macht!
https://devblogs.microsoft.com/cppblog/productivity-improvements-for-c-new-default-colorization-template-argument-filtering-in-call-stack-window-and-intellicode-on-by-default/ hat geschrieben:In Visual Studio 2019 version 16.3 Preview 2 we’ve introduced a new default semantic colorization scheme for C++. For a long time, many of the default colors were simply black. However, […]

For example, notice how “pow” now stands out as a global function.
Bild
Äh … wow. Wenn man es fett UND rosa färben muss, und es sticht trotzdem nicht heraus, dann hat man es mit der bunten Grütze echt übertrieben.

Aber es gibt ja zum Glück noch eine andere Produktivitätsspritze: Machine Learning für Syntaxvorschläge!
In Visual Studio 2019 version 16.2 we added C++ IntelliCode in-box. In version 16.3 Preview 2, we are taking that a step further and have turned the feature on-by-default. This means that, by default, you’ll start to benefit from autocompletion results recommended by a machine-learned prediction model. The recommended results are surfaced at the top of the completion list and are prepended with stars.
Das ist zum Glück (noch) kein Cloud-Dienst, sondern basiert auf einem offline-Modell, das von 1000 populären github-Repositories trainiert wurde. Aber wisst ihr, was meine Produktivität noch mehr geboostet hätte?

Na?

Wenn die Syntaxvorschläge eine banale Levenshtein-Distanz implementieren würden, so dass ein simpler Vertipper nicht immer alle sinnvollen Vorschläge vernichten würde. Aber scheiß drauf! Machine Learning auf 1000 Repositories, die nichts mit meinem Code zu tun haben und nun automatisch immer ganz oben angezeigt werden, helfen sicher auch!

Ich fühle mich wie in die 50er zurückversetzt. TRETEN SIE NÄHER! BETRACHTEN SIE DIE ATOMGETRIEBENE IDE DER ZUKUNFT!
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Boah sind Anti-Viren-Programme scheiße. Diese betrügerische Dreckssoftware soll gefälligst in der Hölle schmoren.

Ich dachte, ich erleichtere meinen Usern mal die Problembehandlung. Ich höre oft, dass sie meine Shell-Erweiterung installieren, aber sie taucht nicht auf. Den User durch die Registry wühlen zu lassen ist furchtbar.

Also habe ich ein Programm geschrieben, das prüft, ob die Registry-Schlüssel korrekt gesetzt sind. Und einmal den Explorer aktualisiert, um Cache-Probleme zu vermeiden.

Ergebnis:

Bild

Oh fuck. Oh ihr scheiß Mother Fuckers. Ihr habt nichts analysiert an dem Programm; ihr habt einfach ein if(num_imported_functions < 10) trojan = true; drin – oder zufällig gewürfelt. Und dafür kriegt jeder Besucher meiner Website nun knallrote Viruswarnungen, Internet Explorer blockiert meine Downloads, die Suchmaschinen werten mich ab …

Bei neun der Arschlochfirmen habe ich mich durch Javascript-Verseuchte, Captcha-geschützte, Kundendatensammelnde Support-Seiten geklickt um False Positive Reports abzuschicken. Und den Rest knöpfe ich mir auch noch vor.

So mache ich das seit zwei Jahren, Monat für Monat mit jedem Release, bis die Vollidioten entweder tatsächlich mal ein funktionierendes Antivirenprogramm schreiben oder ihre Schlangenölbetrugsmaschen dicht machen.

Besonders ehrlich beim False Positive Report sind übrigens https://www.adaware.com/report-false-positives:

Bild

Vielen herzlichen fick dich!
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Alexander Kornrumpf
Moderator
Beiträge: 2106
Registriert: 25.02.2009, 13:37

Re: Jammer-Thread

Beitrag von Alexander Kornrumpf »

Also habe ich ein Programm geschrieben, das prüft, ob die Registry-Schlüssel korrekt gesetzt sind. Und einmal den Explorer aktualisiert, um Cache-Probleme zu vermeiden.

[...]

ihr habt einfach ein if(num_imported_functions < 10) trojan = true; drin – oder zufällig gewürfelt.
Ohne die Branche jetzt in Schutz nehmen zu wollen, beide Funktionen deines Programms klingen an sich verdächtig, weil sie in das Betriebssystem eingreifen.

Hast du mal zum Spaß eine Placebo Version deines Programms hochgeladen? Also möglichst identischer Code aber tut nichts. Wäre ja doch interessant.
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

„Eingreifen“ geht schon sehr weit, denn ich lese nur.

Das mit dem Placebo muss ich nicht einmal testen – wenn du Beweise haben möchtest, dass die Programme nicht auf tatsächliche Systemeingriffe prüfen, brauchst du nur nach „Hello World False Positve“ googeln: Der Punkt ist, dass die Virus-„Erkennung“ schon lange nur noch über Heuristik geschieht (heute nennt man es Machine Learning) statt über Verhaltensanalyse. Man sammelt einfach alle Daten über alle Programme, schaut sich die bekannten Malware-Fälle an, versucht gemeinsame Eigenschaften zu finden, und deklariert alles zum Virus, was diese Eigenschaften aufweist.

Zwei besonders häufige Eigenschaften von Malware sind 1) geringe Größe bzw. hohe Entropie (kein Virus ist 35 MiB groß und schiebt die ganze Zeit nur Strings hin und her wie Chrome.exe) und 2) kleine Importtabelle (Viren greifen eine Handvoll Kernel-Funktionen ab und laden nicht das halbe .NET-Ökosystem).

Und diese zwei Eigenschaften treffen halt besonders stark auf Helle World zu – und auf meine Programme.

Fefe hatte letztens einen guten Artikel darüber verlinkt, dass die Entwickler da selber keine Kontrolle drüber haben und sich die Modelle trivial überlisten lassen: https://www.vice.com/en_us/article/9kxp ... s-goodware

Meine Erfahrungen der letzten Jahre deuten darauf hin, dass die Situation bei so ziemlich allen Antivirenprodukten gleich ist.

Mit Ausnahme von Windows SmartScreen & Windows Defender – SmartScreen zählt schlicht, wie oft eine Datei vorkommt (Windows 10 sendet ja bei jedem Dateizugriff entsprechende Telemetrie) und markiert alles als „potentiell schadhaft“, was seltener als ~1000 Mal gesehen wurde. Die Folgen für kleine Entwickler dürften klar sein.

Defender wird nur mit bestätigten Erkennungen gefüttert, was die False Positives sehr weit drückt und die Leistung sehr stark verbessert, aber die ersten 10k Infektionen nicht verhindern kann. Das hat ihm früh den Ruf eingebracht, er würde nichts nutzen – tatsächlich ist es der einzige Virenschutz, den ich halbwegs guten Gewissens auf den Computern meiner Eltern/Großeltern laufen lassen kann, wenn die unbedingt ein Antivirenprogramm haben wollen.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Alexander Kornrumpf
Moderator
Beiträge: 2106
Registriert: 25.02.2009, 13:37

Re: Jammer-Thread

Beitrag von Alexander Kornrumpf »

Ich befürchte wir reden aneinander vorbei, aber ich mache mal weiter.
Krishty hat geschrieben: 20.08.2019, 22:53 „Eingreifen“ geht schon sehr weit, denn ich lese nur.
Naja, dass die Programme nicht sauber unterscheiden, was sie unterscheiden sollten, war ja die Ausgangsposition. Dass ein Registry-Zugriff a priori verdächtiger ist als ein Zugriff auf stdout würdest du aber schon zustimmen?
Das mit dem Placebo muss ich nicht einmal testen – wenn du Beweise haben möchtest, dass die Programme nicht auf tatsächliche Systemeingriffe prüfen, brauchst du nur nach „Hello World False Positve“ googeln:
Du, ich brauche keine Beweise, dass AV Programme im Allgemeinen False-Positives erzeugen. Das ist trivial. Ich wäre nur in deiner Situation, sofern es mit vertretbarem Aufwand möglich wäre, wahrscheinlich neugierig, ob und wie sich die Erkennung ändert, wenn ich mein Programm ändere. Ich hatte, vielleicht war das missverständlich, nicht die Erwartung, dass die AV Programme das Placebo korrekt als solches erkennen.
Der Punkt ist, dass die Virus-„Erkennung“ schon lange nur noch über Heuristik geschieht (heute nennt man es Machine Learning) statt über Verhaltensanalyse. Man sammelt einfach alle Daten über alle Programme, schaut sich die bekannten Malware-Fälle an, versucht gemeinsame Eigenschaften zu finden, und deklariert alles zum Virus, was diese Eigenschaften aufweist.
Soweit ist das klar. Da ich mal nicht annehme, dass du grundsätzlich gegen alle Heuristiken bist bzw. ihnen valide Einsatzgebiete völlig absprichst, geht es jetzt darum ob AV ein valides Einsatzgebiet für Heuristiken ist.
Zwei besonders häufige Eigenschaften von Malware sind 1) geringe Größe bzw. hohe Entropie (kein Virus ist 35 MiB groß und schiebt die ganze Zeit nur Strings hin und her wie Chrome.exe) und 2) kleine Importtabelle (Viren greifen eine Handvoll Kernel-Funktionen ab und laden nicht das halbe .NET-Ökosystem).

Und diese zwei Eigenschaften treffen halt besonders stark auf Helle World zu – und auf meine Programme.
Das macht spieltheoretisch keinen Sinn, weil ja niemand den Angreifer daran hindert, in seinem Virus das halbe .NET Ökosystem zu laden und zubenutzen. Jetzt kannst du natürlich argumentieren, dass das ein weiterer Beweis ist, dass AV Programme gar nicht versuchen Viren zu finden, aber das macht ökonomisch auch keinen Sinn, denn ein geringfügig besser funktionierendes AV Programm hat wahrscheinlich doch einen kleinen Werttbewerbsvorteil.

Wie dem auch sei, wenn es wirklich häufige Eigenschaften von Malware sind -- was praktisch nur bedeutet, dass es oft genug funktionieren muss, dass es sich für die Angreifer nicht lohnt die Strategie zu ändern (s. o.) -- dann ist aus Sicht derer, die AV Programme installieren, wahrscheinlich der Nutzen dieser Heuristik größer als der Schaden durch false positives, weil eben die meisten "nützlichen" Programme aufgeblähte Monster sind.

Das ist halt so ein grundlegendes Ding: Die Hersteller geben dem Kunden im Wesentlichen das was sie haben wollen, die Kunden bezahlen dafür, alle sind soweit zufrieden und an der Seitenlinie steht ein Ingenieur der die Hände darüber ringt dass der Kunde keine Ahnung hat was gut für ihn ist. Ich glaube da muss der Ingenieur vorsichtig sein.
Defender wird nur mit bestätigten Erkennungen gefüttert, was die False Positives sehr weit drückt und die Leistung sehr stark verbessert, aber die ersten 10k Infektionen nicht verhindern kann. Das hat ihm früh den Ruf eingebracht, er würde nichts nutzen – tatsächlich ist es der einzige Virenschutz, den ich halbwegs guten Gewissens auf den Computern meiner Eltern/Großeltern laufen lassen kann, wenn die unbedingt ein Antivirenprogramm haben wollen.
Ich verstehe das Argument nicht. Wenn du mit der "Läd es ein Ökosystem"-Heuristik das ohnehin schon relativ geringe risiko eines tages bei den 10K dabei zu sein nochmal um auch nur 10% senken kannst, dann willst du das natürlich tun. Wenn es der Rechner meiner Großeltern wäre dann bewerte ich es natürlich höher, dass sie nicht irgendwann bei den "glücklichen" sind, als dass sie deine Software nutzen können, die sie sowieso nicht brauchen.

Am Ende des Tages reden wir ja hier über Blacklisting vs. Whitelisting. Defender ist nach dem was du schreibst ja nur eine Blacklist. Die AV-Heuristik, die einfach alles als schädlich markiert und manuelle Freigabe verlangt ist eine Whitelist, hat keine false negatives und trotzdem alle Probleme über die du dich hier beschwerst. Ich nehme mal nicht an, dass du prinzipiell gegen Whitelisting bist.
Benutzeravatar
Tiles
Establishment
Beiträge: 1990
Registriert: 11.01.2003, 13:21
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Tiles »

denn ein geringfügig besser funktionierendes AV Programm hat wahrscheinlich doch einen kleinen Werttbewerbsvorteil.
Einer der Pudels Kerne. Die AV Programme stehen ja in direkter Konkurenz. Wenn das eine Programm MEHR findet MUSS dieses Programm besser sein. Ob die alle richtig sind, oder viele false Positive drunter sind interessiert keinen. Leider. Oder hast du diverse Fachzeitschriften bei einem Vergleich von AV Software schon mal über die False Positives Quote reden hören? Mehr = Besser. Punkt.

So hat sich das übrigens auch mit den ganzen Zusatzfeatures hochgeschaukelt die kein Mensch braucht und haben will. Der eine hat die Ordner überwacht, also überwacht der nächste die Ordner und den Internetverkehr. Der Dritte, man ahnt es schon ...
Zuletzt geändert von Tiles am 21.08.2019, 17:55, insgesamt 1-mal geändert.
Free Gamegraphics, Freeware Games https://www.reinerstilesets.de
Die deutsche 3D Community: https://www.3d-ring.de
mrz
Beiträge: 79
Registriert: 07.08.2008, 14:34

Re: Jammer-Thread

Beitrag von mrz »

Signieren könnte helfen.

Bezahlst dann einfach die CAMafia, aber denke das Schmerzensgeld ist es Wert statt so viel Zeit mit der AVMafia zu verbraten.

Alternativ kannst auch deine Software open sourcen und dich einer Open Source Foundation anschliessen welche Codezertifikate bieten.
Benutzeravatar
Tiles
Establishment
Beiträge: 1990
Registriert: 11.01.2003, 13:21
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Tiles »

Bei der FSF Europe hatte ich schon nachgefragt. Machen die nicht ^^
Free Gamegraphics, Freeware Games https://www.reinerstilesets.de
Die deutsche 3D Community: https://www.3d-ring.de
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Alexander Kornrumpf hat geschrieben: 21.08.2019, 08:56Ich befürchte wir reden aneinander vorbei, aber ich mache mal weiter.
Sorry :D
Alexander Kornrumpf hat geschrieben: 21.08.2019, 08:56Naja, dass die Programme nicht sauber unterscheiden, was sie unterscheiden sollten, war ja die Ausgangsposition. Dass ein Registry-Zugriff a priori verdächtiger ist als ein Zugriff auf stdout würdest du aber schon zustimmen?
Das mag oberflächlich so aussehen (stdin), tatsächlich aber nicht: Wenn ein Prozess startet, werden abhängige DLLs geladen (Kernel32, User32, usw). Alle diese DLLs fragen im Namen des Prozesses die Registry ab; für einen kleinen Prozess ist die Anzahl der Registry-Zugriffe rein während des Ladens der Windows-Module schon im dreistelligen Bereich. Ob da nun vier weitere Zugriffe dazukommen oder nicht, sollte keinen Unterschied machen.

Falls du nun sagst, HALT – die Zugriffe kommen ja aus DEINER EXE statt aus den Windows-DLLs und sind deshalb unterscheidbar! – scheint das nicht wirklich so zu sein. Die Behavioral Analysis bei Virustotal gibt etwa an, mein Programm würde vor allem aus HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\KindMap laden. Den Schlüssel habe ich noch nie gesehen. Wenn man tiefer im Log gräbt, ist das wohl eine Aktion von api-ms-win-eventing-provider-l1-1-0.dll, das als Kernel-Abhängigkeit da reingeladen wird.

Und außerdem darf man der Aufrufadresse sowieso nicht trauen.

Auf dieser Grundlage in verdächtig/unverdächtig einzuteilen, das ist mein Problem mit der ganzen Sache. Also, wie du sagst,
… und an der Seitenlinie steht ein Ingenieur der die Hände darüber ringt dass der Kunde keine Ahnung hat was gut für ihn ist.
Da ich mal nicht annehme, dass du grundsätzlich gegen alle Heuristiken bist bzw. ihnen valide Einsatzgebiete völlig absprichst, geht es jetzt darum ob AV ein valides Einsatzgebiet für Heuristiken ist.
[…]
Am Ende des Tages reden wir ja hier über Blacklisting vs. Whitelisting. Defender ist nach dem was du schreibst ja nur eine Blacklist. Die AV-Heuristik, die einfach alles als schädlich markiert und manuelle Freigabe verlangt ist eine Whitelist, hat keine false negatives und trotzdem alle Probleme über die du dich hier beschwerst. Ich nehme mal nicht an, dass du prinzipiell gegen Whitelisting bist.
Nein, ich bin absolut für Whitelisting. Ich fände das Smartphone-OS-Modell toll, dass jede Anwendung erstmal meine Erlaubnis einholen muss, bevor sie irgendwas darf.

Wogegen ich bin, ist Whitelisting auf Grundlage von völlig kaputten Modellen (also willkürliches Whitelisting). Als etwas anderes als Willkür erachte ich die aktuellen AV-Heuristiken nämlich nicht. Und dazu kommt noch Tiles’ Einwand.

Und schließlich: Das Ganze ist eine Feedback-Schleife. Wenn man etwas am Programm ändert, und plötzlich triggert es zehn AV-Suites, pusht man die Änderung nicht in die Produktion. Implizit sorgen diese Modelle also dafür, dass alle Programme ähnlich fett werden. Natürlich wird Malware davon nicht weniger.
mrz hat geschrieben: 21.08.2019, 15:04Signieren könnte helfen.

Bezahlst dann einfach die CAMafia, aber denke das Schmerzensgeld ist es Wert statt so viel Zeit mit der AVMafia zu verbraten.
… oder ich kämpfe einfach so lange gegen die scheiß-Modelle der AV-Mafia, bis das Kartenhaus zusammenbricht. Das sehe ich als Dienst an der Gesellschaft und bin deshalb hoch motiviert ;)

Tiles’ Einschätzung, dass das auch für Open Source nicht einfach ist, stimmt. Linux hat Jahre gebraucht, um von MS ein Zertifikat für Trusted Booting zu bekommen. Prinzipiell halte ich Code Signing für eine exzellente Sache, die gerade völlig missbraucht wird.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Alexander Kornrumpf
Moderator
Beiträge: 2106
Registriert: 25.02.2009, 13:37

Re: Jammer-Thread

Beitrag von Alexander Kornrumpf »

Es ist ja offensichtlich, dass die Heuristik (als ganzes, also mit allen Faktoren, die da berücksichtigt werden) nicht in mehr als 50% der Fälle danebenliegen kann, sonst drehst du einfach das Vorzeichen um und hast dann eine Heuristik die in mehr als 50% der Fälle richtig liegt. Wenn du also nicht gerade glaubst, dass das Programm wirklich eine Münze wirft, oder wir zufällig den Spezialfall getroffen haben in dem es genausogut ist wie Münzwurf (letzteres finde ich extrem unwahrscheinlich) dürfen wir davon ausgehen, dass das Programm eine wie auch immer minimale Fähigkeit hat, Malware zu erkennen.

Die müssen wir jetzt abwägen, gegen erstens die vergrößerte Angriffsoberfläche die das AV Programm allein dadurch bietet, dass es ein Programm ist und mehr noch dadurch, dass es in den Tiefen des Betriebssystems rumspielt (das ist das fefe Argument) und gegen zweitens die Komforteinbuße, dass es false positives gibt (wie eben ausführlich diskutiert).

Der Dissenz scheint hauptsächlich zu sein, dass ich der Meinung bin, dass der Verbraucher schon selbst entscheiden kann und darf wie er diese Abwägung trifft, und das letztlich keine Gewichtung komplett irrational ist. Kurz gesagt, wenn der Verbraucher das wohlige Gefühl, das er mit seinem AV Programm erworben hat geiler findet als dein Programm, das deswegen nicht auf Anhieb läuft, who's to blame?

Dass die ganze Sache sehr ärgerlich ist weil sie Fehlanreize für Entwickler setzt, sehe ich auch so, betrachte ich aber eher als Kollateralschaden.
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Alexander Kornrumpf hat geschrieben: 21.08.2019, 20:10Kurz gesagt, wenn der Verbraucher das wohlige Gefühl, das er mit seinem AV Programm erworben hat geiler findet als dein Programm, das deswegen nicht auf Anhieb läuft, who's to blame?
Die Millionen an Marketing und Advertising, die AV-Entwickler in die Medien pusten, und damit Expertenmeinungen verdrängen, um ihren schädlichen Ramsch unter die Leute zu bringen. Wenn der Verbraucher das wohlige Freiheits-Sonnenuntergang-Cowboy-Gefühl, eine Zigarette zu rauchen, geiler findet als den Lungenkrebs, den er deswegen kriegt, who’s to blame :)

Ich bin mal auf deinen Vorschlag eingegangen mit den Veränderungen. Also:

Der heutige Build meines Programms wird nur noch von sechs AV-Motoren als schädlich erkannt. Das Dutzend Beschwerden von gestern abend war also recht erfolgreich:
https://www.virustotal.com/gui/file/44f ... /detection

Ich muss mich korrigieren; mein Programm liest nicht (direkt) aus der Registry. Es ruft die Win32-Funktion AssocQueryStringW() auf, die aus der Registry herausliest, welches Programm mit einem bestimmten Dateityp verbunden ist. Es ist also noch nicht einmal so, dass ich einfach mitten in Systemschlüssel greife.

Entferne ich die Funktion, werde ich nur noch von zwei Engines als schädlich erkannt: https://www.virustotal.com/gui/file/83a ... /detection

Jetzt was Lustiges: Ich habe schonmal erzählt, dass Microsofts Linker in jeder EXE/DLL einen verschlüsselten Datensatz ablegt, der beschreibt, welche Microsoft-Tools man zu Kompilieren/Linken genutzt hat. Außerdem enthält jede EXE ein Platzhalterprogramm für MS-DOS, das abläuft, falls man es versehentlich mit MS-DOS öffnet.
Wenn ich beides drinlasse statt lösche, verschlechtert sich mein Score: https://www.virustotal.com/gui/file/89c ... /detection

Avira findet’s dann nicht mehr verdächtig; Panda und Trapmine springen auf. Das ist lustig, weil das Löschen des Stubs eigentlich vor allem unter Russischen/Chinesischen Infrastrukturwahlmanipulationshackerfabriken verbreitet ist.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Alexander Kornrumpf
Moderator
Beiträge: 2106
Registriert: 25.02.2009, 13:37

Re: Jammer-Thread

Beitrag von Alexander Kornrumpf »

Krishty hat geschrieben: 21.08.2019, 21:50 Die Millionen an Marketing und Advertising, die AV-Entwickler in die Medien pusten, und damit Expertenmeinungen verdrängen, um ihren schädlichen Ramsch unter die Leute zu bringen.
Ich bin immer noch nicht 100% überzeugt dass AV für die Leute, die es kaufen schädlich ist (oder zumindest nicht schädlicher als danach um den Preis ärmer zu sein), kann da aber nicht aus Erfahrung sprechen, da ich weder je ein AV Programm gekauft habe, noch bewusst Werbung dafür gesehen habe seit weiß ich nicht, die Zeitschrift "PC Games" nicht mehr an jedem Kiosk gibt.
Wenn der Verbraucher das wohlige Freiheits-Sonnenuntergang-Cowboy-Gefühl, eine Zigarette zu rauchen, geiler findet als den Lungenkrebs, den er deswegen kriegt, who’s to blame :)
Naja das Problem beim Rauchen ist ja, dass ich mit den Rauchern früher in einer Kneipe, heute in einer Krankenkasse, unmittelbar in einer Solidargemeinschaft bin, wohingegen ich dein Programm nutzen kann, sofern ich dir vertraue, AV be damned, auch wenn alle anderen AV kaufen. Das erntkräftet natürlich nicht dein Abwärtsspiralen-Argument und so grundsätzlich hatte ich dann eigentlich auch gar nicht werden wollen.
Ich bin mal auf deinen Vorschlag eingegangen mit den Veränderungen. Also:

Der heutige Build meines Programms wird nur noch von sechs AV-Motoren als schädlich erkannt. Das Dutzend Beschwerden von gestern abend war also recht erfolgreich:
https://www.virustotal.com/gui/file/44f ... /detection

Ich muss mich korrigieren; mein Programm liest nicht (direkt) aus der Registry. Es ruft die Win32-Funktion AssocQueryStringW() auf, die aus der Registry herausliest, welches Programm mit einem bestimmten Dateityp verbunden ist. Es ist also noch nicht einmal so, dass ich einfach mitten in Systemschlüssel greife.

Entferne ich die Funktion, werde ich nur noch von zwei Engines als schädlich erkannt: https://www.virustotal.com/gui/file/83a ... /detection

Jetzt was Lustiges: Ich habe schonmal erzählt, dass Microsofts Linker in jeder EXE/DLL einen verschlüsselten Datensatz ablegt, der beschreibt, welche Microsoft-Tools man zu Kompilieren/Linken genutzt hat. Außerdem enthält jede EXE ein Platzhalterprogramm für MS-DOS, das abläuft, falls man es versehentlich mit MS-DOS öffnet.
Wenn ich beides drinlasse statt lösche, verschlechtert sich mein Score: https://www.virustotal.com/gui/file/89c ... /detection

Avira findet’s dann nicht mehr verdächtig; Panda und Trapmine springen auf. Das ist lustig, weil das Löschen des Stubs eigentlich vor allem unter Russischen/Chinesischen Infrastrukturwahlmanipulationshackerfabriken verbreitet ist.
Danke, dass du dir die Mühe gemacht hast, das befriedigt meine Neugier doch sehr.
Benutzeravatar
Tiles
Establishment
Beiträge: 1990
Registriert: 11.01.2003, 13:21
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Tiles »

Ich bin immer noch nicht 100% überzeugt dass AV für die Leute, die es kaufen schädlich ist
Antivirensoftware ist inzwischen Schadsoftware, da bin ich mit Krishty einer Meinung. Sie greift vielfach Daten ab, die kostenlosen Versionen nerven dafür auch noch mit Werbung, verlangsamt das System, installiert nutzloses Zeug, paktiert mit dem Feind ( Avira mit der Ask Toolbar Malware), und mittels den False Positives klemmt sie kleine Software ab. Das geht nicht nur Krishty so. Was hab ich schon über die False Positives geflucht.

Ganz ungeschützt gehts aber halt doch nicht. Du brauchst einen Virenscanner. Mit Defender lassen sich so viel ich weiss keine Downloads scannen. Und bis vor Kurzem hatte der Defender auch noch einen ganz miesen Ruf mit den schlechtesten Scanergebnissen ( Siehe oben XD ). Deswegen gehörte und gehört einer der kostenlosen Scanner immer zur Standardausrüstung. Und das ist eben das Dilemma. Besonders für die Leute die sich gar nicht damit auskennen. Mein erster Reflex ist immer, borr lass den Scheiss weg. Bis ich dann überlege wie ich dem jetzt beibiege wie man trotzdem sicher unterwegs ist ...

Ich habe ein kostenloses AV installiert. Aber alles ausgeknipst was da an Zusatzfeatures mit kam. Ich brauche keinen Realtimeschutz, keine Totalüberwachung meiner Ordnerstruktur, keine Browserintegration und was da noch alles mit kommt. Was bei mir noch aktiv ist ist der reine Virenscanner. Aber den brauche ich halt. Schwierig wird es da wo du die Features noch nicht mal wirklich abschalten kannst. Avast ist da übel inzwischen.
Free Gamegraphics, Freeware Games https://www.reinerstilesets.de
Die deutsche 3D Community: https://www.3d-ring.de
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Hätte ich mal nichts Positives über Windows Defender gesagt: CreateProcess() ist wegen Defender nun fünf Mal so langsam wie zuvor.
Bruce Dawson hat geschrieben:Q) Why is Chrome's build running slower?
A) 'cause CreateProcess is slower, again.
Q) What is slowing it down this time?
A) MsMpEng.exe
The round-robin of anti-malware slowing CreateProcess continues. Cost just six weeks ago was 0.8 ms. Now it's 4.4 ms.
Windows Defender and the like are the bane of game devs too -- often cause corruption, pdb errors, etc on top of slowing down build times.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Twitter hält mich für einen Saudi und zeigt sich auf meinem System nur noch im rechts-nach-links-Format.

Aber ich lese’s eh nur noch via https://TwitRSS.me, also who cares …
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Schrompf
Moderator
Beiträge: 4831
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Schrompf »

Gejammer am Rande: hab im IRC ein paar Leute gewinnen können, um einen ersten Test des Wurmspiels auf meinem öffentlichen Server zu wagen. Bei einigen Leuten beendete sich das Spiel quasi sofort wieder, ohne irgendwas ins Log zu schreiben. Ich vermute einen Crash, den mein interner CrashReporter nicht ins Log schreibt, weil er innerhalb einer Fiber passiert. Muss ich irgendwann mal fixen. Also habe ich fix mal mein Jobsystem ausgebaut und alle parallelen Jobs wieder im MainThread ausführen lassen.

Und ohne die MultiCore-Verteilung ist es schneller geworden. Grmpf. Wahrscheinlich sind meine Jobs zu klein, oder die Gesamtaufgabe nicht erwähnenswert im Kontext des gesamten Spiels. So dass der Overhead des Fiber-Wechsels den Parallelisierungsgewinn mehr als auffrisst. Sind ja nur 30k Partikel, die von Entities rumgeschubst werden. Grmpf.

Ich muss bei Gelegenheit mal profilen. Wär schön, ein Profitool wie VTune zu haben, und ich stelle gerade fest, dass ich das für private Nutzung angeblich kostenlos kriegen kann. Sie erzwingen einen Account, aber für sowas gibt's Wegwerf-EMail-Konten.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Antworten