this post was submitted on 02 Oct 2023
1289 points (98.4% liked)
Technology
59398 readers
2541 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.
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...
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.
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?
The manifest (at least how I am using the term) is whatever metadata a file has, and the format and location of this metadata can differ between operating systems. Usually the manifest is generated by the operating system based off of header data from the file itself, and details about the file that the operating system can deduce, such as file size, origin, location, file type, etc. In Windows you can view this info by right clicking/opening the context menu on any file and selecting "Properties", on macOS by opening the context menu and selecting "Get Info", and on other OSes such as linux/freeBSD it will be something similar.
There are other usages for "manifest" depending on the context, for example a manifest.xml would be something a developer would include with an android app that has configuration settings and properties for the app.
Manifests are like an abstract for an executable.