antimalware_software
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| antimalware_software [2025/08/28 13:00] – ultracomfy | antimalware_software [2026/05/29 17:22] (current) – ultracomfy | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | Information Technology/ | + | <WRAP column right 18%> |
| + | {{page> | ||
| + | </ | ||
| + | ~~Title: | ||
| + | <WRAP centeralign> | ||
| + | <fs xx-large> | ||
| - | An antimalware program is a type of software used in the detection of and defense against malicious programs and exploits. Electronic devices can store all kinds of data, most importantly login credentials, | + | An antimalware program is a type of software used in the detection of and defense against malicious programs and exploits. |
| + | |||
| + | Electronic devices can store all kinds of data, most importantly login credentials, | ||
| Most commonly, this is done through software, which is then called " | Most commonly, this is done through software, which is then called " | ||
| - | ############################## | + | ====== |
| - | ################### | + | ===== 0. Basics |
| - | In general, the objective of an antivirus is to (1) prevent malicious code from ever executing on your system in the first place or, failing that, to (2) terminate a process if it is deemed | + | In general, the objective of an antivirus is to (1) prevent malicious code from ever executing on your system in the first place or, failing that, to (2) terminate a process if it is found to have done something |
| - | ################### | + | ===== 1. Signature Detection |
| - | Files are identifiable. With fancy mathematics, | + | Files are identifiable. With fancy mathematics, |
| From here on, your life is simple. If someone gets infected, they call you and say "hey, we got infected by something, we don't know what", you find the source of the infection, you determine the signature of the file, add it to your list and with the next hourly " | From here on, your life is simple. If someone gets infected, they call you and say "hey, we got infected by something, we don't know what", you find the source of the infection, you determine the signature of the file, add it to your list and with the next hourly " | ||
| Line 16: | Line 23: | ||
| Obviously, this is a (1) type of approach. Every time you want to run a program or open a file, the antivirus will check if the signature of that program or file matches with any of the signatures from its database. The advantages of this are overwhelming: | Obviously, this is a (1) type of approach. Every time you want to run a program or open a file, the antivirus will check if the signature of that program or file matches with any of the signatures from its database. The advantages of this are overwhelming: | ||
| - | Most of the cheap antivirus products on the market rely almost entirely on signatures. Windows Defender, for example, relies on cloud-based protection which is essentially just a very long list of known malicious file signatures. Extremely scalable, light on resources, it's great.\\ | + | Most of the cheap antivirus products on the market rely almost entirely on signatures. Windows Defender, for example, |
| The downside, of course, is that to be protected from a piece of malware, you have to know about it in advance, at which point you might just check file signatures yourself. Still, there is value in automating that process and having a pool of millions of users and companies that can submit samples for a " | The downside, of course, is that to be protected from a piece of malware, you have to know about it in advance, at which point you might just check file signatures yourself. Still, there is value in automating that process and having a pool of millions of users and companies that can submit samples for a " | ||
| Line 23: | Line 30: | ||
| However, until a signature is known to be malicious, a signature-based approach will //not// stop a malicious program((Windows Defender is already checking out at this point, because it has almost nothing to offer beyond signatures.)). This is, however, not a reason to dismiss signature-based detection, or antiviruses as a whole. //Most malicious files are known//. You, as an individual, are unlikely to run into a piece of software that isn't already on someone' | However, until a signature is known to be malicious, a signature-based approach will //not// stop a malicious program((Windows Defender is already checking out at this point, because it has almost nothing to offer beyond signatures.)). This is, however, not a reason to dismiss signature-based detection, or antiviruses as a whole. //Most malicious files are known//. You, as an individual, are unlikely to run into a piece of software that isn't already on someone' | ||
| - | Critics will harp on and on about " | + | Critics will harp on and on about " |
| - | ################### | + | ===== 2. Static Analysis |
| - | Back to the start. We are an antivirus product. We are trying to protect the user from malicious code. The user is attempting | + | Back to the start. We are an antivirus product. We are trying to protect the user from malicious code. We have our signature list and we're using it. Imagine now that the user is trying |
| - | The next step is to take an actual look at the program. Our list is a quick and easy way to rule out known offenders before having to put in any actual work, but now that this is not a known offender, we have to make sure it isn't an offender at all. The way to do this is by taking the program apart and look inside, see what they are programmed to do. The difficulty here is to distinguish between actually malicious acitivity and activity that just looks funny. The problem with malware is that they do things that in principle could also be done by non-malicious software. Uploading your login credentials/ | + | The next step is to take an actual look at the program. Our signatures are a quick and easy way to rule out known offenders before having to put in any actual work, but now that this is not a //known// offender, we have to make sure it isn't an offender at all. The way to do this is by taking the program apart and look inside, see what they are programmed to do. The difficulty here is to distinguish between actually malicious acitivity and activity that just looks funny. The problem with malware is that they do things that in principle could also be done by non-malicious software. Uploading your login credentials/ |
| But, if that fails, we still have one more tool in our arsenal: Comparison. Malware is often changed only slightly, which leads to a myriad of different " | But, if that fails, we still have one more tool in our arsenal: Comparison. Malware is often changed only slightly, which leads to a myriad of different " | ||
| We can use this to our advantage. If we can't find anything in the program that is obviously malicious, we can just check if the program is generally similar to other programs we already know are malicious. | We can use this to our advantage. If we can't find anything in the program that is obviously malicious, we can just check if the program is generally similar to other programs we already know are malicious. | ||
| - | The advantage to this approach is that it can get a pretty good insight into what a program may do without loading it into memory yet. This is critical because conventional malware can remain dormant on disk without causing harm; it is when it is loaded into memory (be it through the user executing it, or because of a scheduled task or through an autorun entry) that it starts doing malicious things. Analysing software without loading it into memory lets us look at the program without | + | All of this is called //Static Analysis// |
| - | ################### | + | ===== 3. Sandboxing |
| - | In cybersecurity terms, a sandbox refers to a protected virtual environment segmented off from the rest of the system, filled with all the sand imaginable but, ultimately, constrained to the sandbox. | + | In cybersecurity terms, a sandbox refers to a protected virtual environment segmented off from the rest of the system, filled with all the sand imaginable but, ultimately, constrained to the sandbox. |
| - | Static analysis is the analysis of a program as it sits on disk - statically. Static analysis is limited by programming restraints - reverse-engineering an entire program is extremely resource-intensive, | + | Static analysis is the analysis of a program as it sits on disk - statically. Static analysis is limited by programming restraints - reverse-engineering an entire program is extremely resource-intensive, |
| Sandboxing is already a standard in smartphones. On operating systems like Android and iOS, pretty much everything on those phones runs sequestered in individual sandboxes which can barely, if at all, interact. Since all damage is always limited to the scope of an application' | Sandboxing is already a standard in smartphones. On operating systems like Android and iOS, pretty much everything on those phones runs sequestered in individual sandboxes which can barely, if at all, interact. Since all damage is always limited to the scope of an application' | ||
| Line 45: | Line 52: | ||
| Anyway, the point of sandboxing is to give a program room to do its things so we can see what it does. There is a problem though - if we sandbox every program the user wants to open, how much time do we want to sandbox before deciding that the program is OK? What if the malware is programmed to wait for a minute? This is not acceptable and makes it one of the major weaknesses of sandboxing. Additionally, | Anyway, the point of sandboxing is to give a program room to do its things so we can see what it does. There is a problem though - if we sandbox every program the user wants to open, how much time do we want to sandbox before deciding that the program is OK? What if the malware is programmed to wait for a minute? This is not acceptable and makes it one of the major weaknesses of sandboxing. Additionally, | ||
| - | The cool thing about sandboxing, though, is that it too is able to independently identify malware, even if sample wasn't previously known. | + | The cool thing about sandboxing, though, is that it too is able to independently identify malware, even if sample wasn't previously known. It's yet another layer of defense. |
| - | ################### | + | ===== 4. Behavioral Detection |
| - | Behavioral detection is what truly distinguishes good products from terrible ones. It is, however, also the hardest to get right, if you get it working at all. Of course we as humans don't care about cybersecurity in terms of software or code. As a company, you don't want internal documents | + | Behavioral detection is what truly distinguishes good products from terrible ones. However, it is also the hardest to get right, if you get it working at all.\\ |
| + | As humans don't care about cybersecurity in terms of software or code. The ones and zeroes in play are just a means to an end. What we are really trying | ||
| When Signatures, Static Analysis and Sandboxing all return negative, it probably is time to let the program execute. But, behavioral detection keeps watching. If a program acts up and starts doing funny things - for example if it starts encrypting files - it will notice and shut that program down. If a program suddenly starts deleting a bunch of shit, or gives orders to another program to delete a bunch of shit - shut it down. If a program does funny things with your boot configuration, | When Signatures, Static Analysis and Sandboxing all return negative, it probably is time to let the program execute. But, behavioral detection keeps watching. If a program acts up and starts doing funny things - for example if it starts encrypting files - it will notice and shut that program down. If a program suddenly starts deleting a bunch of shit, or gives orders to another program to delete a bunch of shit - shut it down. If a program does funny things with your boot configuration, | ||
| - | The cool thing about behavioral detection is that it works entirely independently and does not discriminate. Even the most trusted corporation on the planet might one day get hacked | + | The cool thing about behavioral detection is that it works entirely independently and does not discriminate. Even the most trusted corporation on the planet might one day make a mistake |
| - | The advantage of this approach is that, regardless of whatever program you throw at it - known or not, popular or not, new or not, published by a trusted source or not, system online or not, downloaded from a shady website or not, ran from an unknown USB drive or not - behavioral detection can spot them all (while non-malicious programs are fine). Additionally, | + | The advantage of this approach is that, regardless of whatever program you throw at it - known or not, popular or not, new or not, published by a trusted source |
| The downside is that behavioral detection is //hard//. To understand which system operations exactly are // | The downside is that behavioral detection is //hard//. To understand which system operations exactly are // | ||
| - | ############################## | + | ====== |
| - | ################### | + | ===== 1. Common Sense ===== |
| - | Common sense is the single most frequent advice that can be found on the internet. And it's true - human judgement can be a good and sometimes even the most effective layer of protection against threats of all kind. But.. who doesn' | + | <WRAP box right centeralign 18%> |
| + | {{:: | ||
| + | You are perfectly right, humans are the biggest threat to their PC. [[People are the Problem]]. Therefore, we should not trust humans with keeping a PC safe. Not this guy, not your mom, not you - regardless of how good you think you are. Get proper antimalware. | ||
| + | </ | ||
| + | Common sense is the single most frequent advice that can be found on the internet. And it's true - human judgement can be a good and sometimes even the most effective layer of protection against threats of all kind. In all cases, | ||
| - | With heavy and potentially dangerous machines, operator training and safe handling standards are one half of the equation. The other half sits in the design department with skilled and knowledgeable people who recognize that even the most knowledgeable and experienced operator will make a mistake. Just a lapse of judgement. A brief moment of distraction, | + | With heavy and potentially dangerous machines, operator training and safe handling standards are one half of the equation. The other half sits in the design department with skilled and knowledgeable people who recognize that even the most knowledgeable and experienced operator will make a mistake. A brief moment of distraction, |
| - | As I said, proper | + | Proper |
| Risk management, a proper science that would //never// even //think// about suggesting something as ridiculous as this, is about minimizing risks at every stage of the process - at the human level, sure, but also at the mechanical level. That's why 50% of the resources of product design go into researching how humans could possibly fuck up using the product, and then minimizing the ways in which it can happen in the first place or how to minimize the potential damage. | Risk management, a proper science that would //never// even //think// about suggesting something as ridiculous as this, is about minimizing risks at every stage of the process - at the human level, sure, but also at the mechanical level. That's why 50% of the resources of product design go into researching how humans could possibly fuck up using the product, and then minimizing the ways in which it can happen in the first place or how to minimize the potential damage. | ||
| - | And I haven't even talked about the things that are //outside// of your control. Supply chain attacks | + | And that still doesn’t cover risks beyond |
| + | ===== 2. Windows Defender? ===== | ||
| + | There is a pervasive myth that common sense plus Windows Defender are enough to keep you safe. Or that Windows Defender is as safe or safer than other products on the market. Safety, of course, is measured in risk, and the only truth here is that different combinations of precautions lead to different levels of //risk//. But still, the idea is that common sense plus Windows Defender is enough for the risk to be "low enough" | ||
| - | ################### | + | Maybe. In fact, that’s the setup I personally |
| - | There is a pervasive myth that common sense plus Windows Defender are enough to keep you safe. Or that Windows Defender | + | |
| - | And... I don't know, maybe? Funnily enough, despite arguing against it, that particular combination | + | Defender has been a properly horrible antimalware product for the longest time. Keeping a signature list of known malware is the most basic form of antimalware and any respectable antivirus product should ace this //by default//. However, Defender consistently missed well-known, widely publicized malware, including samples |
| - | The truth is that the people who say " | + | Now, Defender has improved. It finally catches the obvious malware, its detection rates have climbed to around 95%, and it’s become a passable baseline product. Ironically, this means that people who were wrong for years are now accidentally right, but for the wrong reasons. Their logic hasn’t improved - the facts just shifted closer to their narrative. It's really annoying, because |
| - | For the longest time, Defender was a // | + | And yeah, it doesn' |
| - | In those old tests, Windows Defender | + | Lastly, I would like to address a point made about Defender that supposedly sets it apart from other security vendors. I am not going to explain what these terms mean and my response I meant for the kind of people who don't need these terms explained to them. Some supporters |
| - | One annoying part about this now is that Defender | + | Now, it is true that Defender |
| - | The reality is that Defender, despite having caught up as a cheap antimalware product | + | That brings us to the " |
antimalware_software.1756386048.txt.gz · Last modified: by ultracomfy
