• lemmyvore@feddit.nl
    link
    fedilink
    English
    arrow-up
    9
    arrow-down
    34
    ·
    1 year ago

    I still don’t understand why Windows doesn’t use .exe whitelisting instead of bothering with endless blacklists and heuristics and antiviruses.

    On any given system there’s a handful of legit .exe while out there there’s like a billion malware .exe, and more created every minute.

    Or at least switch to an explicit “executable” flag like on MacOS and Linux.

    • starchturrets@feddit.de
      link
      fedilink
      English
      arrow-up
      18
      ·
      1 year ago

      Windows has both WDAC and Applocker for allowlisting, not just for exes, but stuff such as powershell scripts and what drivers run in the kernel as well.

      https://learn.microsoft.com/en-us/windows/security/application-security/application-control/windows-defender-application-control/

      In it’s strongest form (a signed WDAC policy) even admin access can’t easily override it, and a well written policy can even enforce stuff such as downgrade protection (example: only allow firefox.exe signed by Mozilla at or above a certain version) which prevents an attacker from loading older versions of an executable.

      The problem is that it’s not so easy to use in practice - an installer will often drop loads of unsigned files. Tor Browser ironically enough is a prime example, and any WDAC policies allowing it have to fallback on hash rules, which are fragile and must be regenerated every update, or filepath rules which are not so robust.

      Microsoft is trying to make allowlisting more accessible with Smart App Control, which runs WDAC under the hood. It does save the hassle of managing one’s own policies (and also blocks certain filetypes like lnks commonly used for malware), but it is not very customizable.

    • PoolloverNathan@programming.dev
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 year ago

      From my experience, Windows by default completely blocks non-Microsoft-verified .exes. It’s called S mode and usually requires a Microsoft account to exit.

      • brsrklf@jlai.lu
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 year ago

        Do you mean that it’s enough just to be on a microsoft account? On 10, I didn’t technically do anything to exit that and I just have an annoying popup first time I’m using an unverified app. I can just allow them.

        • PoolloverNathan@programming.dev
          link
          fedilink
          English
          arrow-up
          3
          ·
          1 year ago

          You need to “download” normal mode from the store, which requires a Microsoft account to use. All of the W11 computers I’ve gotten came in S mode.

    • DeathsEmbrace@lemmy.world
      link
      fedilink
      English
      arrow-up
      21
      arrow-down
      25
      ·
      edit-2
      1 year ago

      Because it makes it the easiest thing to spoof an .exe which enables attacks of which you will never get out of. A legit.exe vs a spoofed legit.exe will be the exact same in every way except the coding in spoofed fucks you.

      Edit: you’re trading security risk for security risk that makes it easier to hide. Not worth it.

      Edit 2: their is nothing 100% secure MD5 and Sha1 are both spoofable. Checksums and anything is capable of being man in the middle. You people act like you just found something that can’t be broken. This is the real world the moment you switch most black hatters and white hatters will switch too…

      • CheezyWeezle@lemmy.world
        link
        fedilink
        English
        arrow-up
        31
        arrow-down
        2
        ·
        1 year ago

        I’m not sure that these things work the way you think they do… an antivirus wouldn’t just look for the name of an executable to be “legit.exe” but rather would look at what the program calls itself in it’s manifest, compute the hash for the executable binary file, and compare that hash against a database of known good hashes. If the contents of the executable compute a hash identical to the known good hash, then you know the contents of the executable are clean.

        • gronjo45@lemm.ee
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          Still getting into programming and having a bit of trouble understanding what a “manifest” is. What does this technically entail? Are “manifests” implemented differently by PL or OS?

      • ඞmir@lemmy.ml
        link
        fedilink
        English
        arrow-up
        19
        arrow-down
        2
        ·
        1 year ago

        How is this getting upvoted. This is ridiculous garbage, every exe whitelist would obviously have checksums attached, not just a filename.

      • xantoxis@lemmy.world
        link
        fedilink
        English
        arrow-up
        10
        ·
        1 year ago

        Please don’t reply to comments when you’re talking out your ass, that doesn’t help anyone. You don’t know wtf you’re on about, at all.

      • starchturrets@feddit.de
        link
        fedilink
        English
        arrow-up
        5
        ·
        1 year ago

        Not really, WDAC doesn’t usually just look at the filename. It can look at the certificate it was signed by, or fallback to using hashes.