Jump to content

Recommended Posts

Posted (edited)
4 hours ago, MMx said:

Unfortunately you're wrong here. If someone performs a Man-in-the-Middle attack on your connection to imgur.com it's very likely they will try transferring malware or other content of security interest to the user. In that case we very much want to scan that connection. And the only way to detect that attack is to verify the certificate. We don't want to whitelist anything that's called imgur.com, we only want to whitelist the actual imgur server.

 

Quote

Stop Certificate Pinning

The biggest problem with pinning is that you lose the ability to respond to certificate issues. If you need to change keys, certificates, issuers, or your CA vendor, for any reason, you must fix your client, browser, code, IoT device, etc. - sometimes on a short schedule. If you are committed to supporting an application version for years and it contains a pinned certificate, how can you be sure the certificate will remain valid for the entire lifetime of your application? Pinning is especially problematic with publicly trusted TLS certificates because they must adhere to ever-evolving rules, decreasing maximum lifetimes and other surprises.

Luckily, HPKP is a thing of the past, and DigiCert has not been a big proponent of other types of public key pinning. DigiCert recommends you do not use pinning; the complexities and consequences outweigh the benefits.

https://www.digicert.com/blog/certificate-pinning-what-is-certificate-pinning

Again, just one more example where the critics of AV's performing SSL/TLS protocol scanning are most justified in their criticisms.

Edited by itman
  • ESET Staff
Posted

I see no AV criticism in the linked article or in your post. Also we're not using HTTP Public Key Pinning nor certificate pinning. Can you explain the relevance to the topic here?

Posted
42 minutes ago, MMx said:

I see no AV criticism in the linked article or in your post. Also we're not using HTTP Public Key Pinning nor certificate pinning. Can you explain the relevance to the topic here?

So do you have any explanation so far what is causing the large memory consumption of the eset kernel when opening the browser??? I am really surprised how defensive you are and I think you also have bad communication in public area. I said public area because this forum is open to the public, everyone does not need to register to view information on this forum. I personally don't like the way you defend your product either. I like eset products, I have been using since 2015 and so far I have never had a big problem with this product, but seeing the eset staff act like this makes me frown, again from my point of view your way is just degrading the product. Highly recommended in the future if you want to reply to a specific topic it's better to be represented by an eset moderator who I believe understands better how to communicate well in public area. let's see if you will attack me too haha.

  • Administrators
Posted
2 minutes ago, Mr_Frog said:

So do you have any explanation so far what is causing the large memory consumption of the eset kernel when opening the browser??? I am really surprised how defensive you are and I think you also have bad communication in public area. I said public area because this forum is open to the public, everyone does not need to register to view information on this forum. I personally don't like the way you defend your product either. I like eset products, I have been using since 2015 and so far I have never had a big problem with this product, but seeing the eset staff act like this makes me frown, again from my point of view your way is just degrading the product. Highly recommended in the future if you want to reply to a specific topic it's better to be represented by an eset moderator who I believe understands better how to communicate well in public area. let's see if you will attack me too haha.

Since it's gone into very technical details, we've asked developers to reply here directly regarding technical matters. Only developers know all the ins and outs of how the SSL filtering works in detail so they are the right staff to give you technical response on queries.

  • ESET Staff
Posted
8 minutes ago, Mr_Frog said:

So do you have any explanation so far what is causing the large memory consumption of the eset kernel when opening the browser???

Yes, I've written a detailed analysis here: https://forum.eset.com/topic/31282-memory-usage/page/4/#comment-147108

In a nutshell, this memory is occupied by Windows Crypto API cache that we don't have direct control over. I'm currently trying to figure out if it can be configured beforehand.

Posted (edited)

I am going to make another posting and it's in regards to Eset's SSL/TLS protocol scanning of browser network traffic.

I previously posted that I felt my existing browser only based protections were adequate to protect me against web site based malware:

Quote

As far as Eset scanning for malware on HTTPS sites, Google Safe Browsing also does this along with PUA detection. I also use uBLock Origin with multiple malware and adblock filter lists selected. 

I set about to test my this assumption. For this test and again with Eset SSL/TLS protocol scanning disabled for Firefox, I tested at web site that Eset had previously detected a malicious script. Although the original Eset detection was two months ago, my hunch, which proved correct, was this web site was still infected implying it was most likely done intentionally by the web site developer.

Below is the Eset original detection with SSL/TLS protocol scanning enabled:

Time;Scanner;Object type;Object;Detection;Action;User;Information;Hash;First seen here
12/28/2021 2:46:00 PM;HTTP filter;file;https://baysuit.org/wp-content/themes/obour/js/swiper.min.js?ver=5.8.2;JS/Agent.PIV trojan;connection terminated;XXXX\XXX;Event occurred during an attempt to access the web by the application: C:\Program Files\Mozilla Firefox\firefox.exe (E36F9A16D60EFAAF370C07A99559B78476BD8AAA).;81FC52AD86F1CFF308D71444EB305697B81D49B2;

The detail to note at this point is Eset detected using its HTTP filter indicating Eset was examining SSL/TLS protocol scanned decrypted code.

Here is the result of accessing the same web site yesterday with SSL/TLS protocol scanning disabled:

Time;Scanner;Object type;Object;Detection;Action;User;Information;Hash;First seen here
2/20/2022 4:05:08 PM;JavaScript scanner;file;https://baysuit.org/wp-content/themes/obour/js/comments.js?ver=495eca89ae6a299dbcae062d611592bc;JS/Agent.PIV trojan;blocked;XXX\XXX;Event occurred during an attempt to access the web by the application: C:\Program Files\Mozilla Firefox\firefox.exe (DDA2DF4674CFAC53C721366914D7CD6F8A4A84DA).;01F58FB0AAFF6CBBB313B0017A69CE650F82391C;

Of note with this recent detection is although the hashes for the two detection's differ, Eset's malware identification is the same. This would be indicative of the creator of the malicious script creating a new variant in hopes of evading AV signature detection. Also assumed is the script was moved to a new WordPress plug-in to further obfuscate AV detection.

Most important with the recent Eset detection is it was made via Advanced Script Scanner. Err ....... how is that possible with SSL/TLS protocol scanning disabled?

Finally, browser based protections alone are not enough to detect browser based malicious scripts. Your only alternative is to use a browser extension such as NoScript which blocks all script execution. Then whitelist web sites you frequent that are known to be safe. Obviously, few will tolerate doing so.

In any case, Eset SSL/TLS protocol scanning on my device will remain permanently disabled for Firefox.

Edited by itman
  • Administrators
Posted

The JavaScript detection was using the advanced scanning of browser scripts feature which is provided by injecting eplgfirefox.dll into Firefox. It's unrelated to AMSI.

Posted (edited)
6 minutes ago, Marcos said:

The JavaScript detection was using the advanced scanning of browser scripts feature which is provided by injecting eplgfirefox.dll into Firefox.

Yes, I realize that. But since the code is still encrypted, this .dll can't scan it.

Are you stating that Eset in violation of the user's explicit instruction not to scan browser encrypted code is still doing so?

Edited by itman
  • Administrators
Posted
5 minutes ago, itman said:

Are you stating that Eset in violation of the user's explicit instruction not to scan browser encrypted code is still doing so?

If a user explicitly disables advanced scanning of browser scripts + AMSI scanner, then the script should not be detected.

Update: the file would be also detected by real-time protection:

72b7543b080d78da6ff89f6a7eed9bbc465f4e61526ac73c9ad7320b56a861eb.htm - JS/Agent.PIV trojan

Posted
Just now, Marcos said:

If a user explicitly disables advanced scanning of browser scripts + AMSI scanner, then the script should not be detected.

Then, AMSI scanner is indeed employed.

  • Administrators
Posted
2 minutes ago, itman said:

Then, AMSI scanner is indeed employed.

Not if "JavaScript scanner" is listed in logs.

Posted
1 minute ago, Marcos said:

Not if "JavaScript scanner" is listed in logs.

Please explain how Eset's JavaScript scanner can scan encrypted code.

  • Administrators
Posted
1 minute ago, itman said:

Please explain how Eset's JavaScript scanner can scan encrypted code.

We have a dll injected in the browser process, hence we can scan the content of websites. Even if you saved the page content to the disk, it would be detected by real-time protection in this case.

Posted
Just now, Marcos said:

We have a dll injected in the browser process, hence we can scan the content of websites. Even if you saved the page content to the disk, it would be detected by real-time protection in this case.

OK. I got it.

Eset is actually inspecting the script code after it has been decrypted by the browser. In other words, the "proper" way AV's should be examining web site code.

As such, what other reasons are there for employing SSL/TLS protocol scanning? The vast majority of web site malicious code is script based.

  • ESET Staff
Posted

Just a quick heads-up, we've been made aware of a malware campaign that hosts malicious payloads as images in imgur.com, so we're removing it from the list of domains for which TLS filtering is skipped. That means it won't behave as described in previous posts anymore.

  • ESET Staff
Posted
1 minute ago, itman said:

As such, what other reasons are there for employing SSL/TLS protocol scanning?

It's the only way to catch exploits targeting browsers before they have a chance to run.

Posted (edited)
4 hours ago, MMx said:

It's the only way to catch exploits targeting browsers before they have a chance to run.

Not a good enough reason for me. Why? Because it implies Eset has the ability to detect 0-day exploits which is certainly not the case.

-EDIT- This also brings up an issue that I am increasingly having an issue with using Eset.  The issue is Eset is a "one solution fits all product." Eset consumer products are for the most part, a "port" of their Endpoint version.

In commercial IT environments, it is a common but, abet insecure practice, to delay software patching. This practice would hold true for browsers. As such, protection for known browser exploits would make sense.

Most home users on the other hand would be running their browser at default settings. One of these default settings is to have the browser auto update. This in turn ensures the latest vulnerabilities are patched resulting in known exploits being a moot point.

Edited by itman
Posted
3 minutes ago, MMx said:

Just a quick heads-up, we've been made aware of a malware campaign that hosts malicious payloads as images in imgur.com, so we're removing it from the list of domains for which TLS filtering is skipped. That means it won't behave as described in previous posts anymore.

I liked this warning, it should have a fixed topic of information like this. would be a good suggestion.

Posted (edited)

In regards to SSL/TLS protocol scanning being justified as to exploitation of browser vulnerabilities, a few additional comments.

What is relevant here is known exploitation of browser vulnerabilities and there is an organization that tracks those: https://www.cisa.gov/known-exploited-vulnerabilities-catalog . In the case of Firefox, three are listed. In the case of Chrome, a whopping 22 are listed.

-EDIT- All the above have been patched by their respective vendor.

In regards to browser vulnerabilities overall, 33 Intermediate level ones were recorded for Chrome in the last week: https://www.cisa.gov/uscert/ncas/bulletins/sb22-052

So if you're a Chrome user, it appears keeping SSL/TLS protocol scanning enabled for it makes sense. You also have no choice here due to the previously noted OCSP stapling issue in Chrome.

Also folks, this issue among many others is why I refuse to use Chrome.

Edited by itman
Posted
23 minutes ago, itman said:

In regards to SSL/TLS protocol scanning being justified as to exploitation of browser vulnerabilities, a few additional comments.

What is relevant here is known exploitation of browser vulnerabilities and there is an organization that tracks those: https://www.cisa.gov/known-exploited-vulnerabilities-catalog . In the case of Firefox, three are listed. In the case of Chrome, a whopping 22 are listed.

So if you're a Chrome user, it appears keeping SSL/TLS protocol scanning enabled for it makes sense. You also have no choice here due to the previously noted OCSP stapling issue in Chrome.

Also folks, this issue among many others is why I refuse to use Chrome.

I think chrome has more problems because there are far more services than Firefox.

Posted

One last comment here and it's an important one.

Skirting the SSL/TLS protocol scanning use "debate," Eset needs to immediately stop certificate validation processing in regards to Firefox. It is the only browser past or present that performed certificate validation processing properly.

As it currently stands, the only way to remove Eset's certificate validation processing in regards to Firefox is to disable SSL/TLS protocol scanning.

  • ESET Staff
Posted (edited)
19 hours ago, itman said:

immediately stop certificate validation processing in regards to Firefox. It is the only browser past or present that performed certificate validation processing properly.

We cannot stop validating certificates.

We don't do it because some browser might do certificate validation incorrectly. We do it because if TLS scanning is active for a particular web site, a browser cannot validate the original certificate of that site. (Note: As already discussed previously, we validate certificates also in several cases when TLS scanning is not active for a web page in question.)

What would happen if we stopped validating certificates can be simulated like this:
As per https://help.eset.com/eis/15/en-US/?idh_config_epfw_ssl_known.html add the certificate for https://untrusted-root.badssl.com/ and set the Access action to Allow. This way, the server's certificate will be considered valid by our product with the same effect as if we didn't validate it. (Note: As already mentioned, the revoked certificates won't be considered valid even if configured so.) Then try to open that web site. It will succeed.

I managed to find a few links which might be helpful for anybody reading this forum:
https://medium.com/@ethicalevil/how-http-proxies-read-tls-traffic-from-browsers-f15364e91226
https://security.stackexchange.com/questions/133254/how-does-ssl-proxy-server-in-company-work
https://docs.mitmproxy.org/stable/concepts-howmitmproxyworks/#transparent-https
https://en.wikipedia.org/wiki/TLS_termination_proxy
According to Wikipedia, we use "TLS termination proxy" of "TLS Bridging" type in order to be able to do TLS scanning.

Edited by Posolsvetla
better clarification
Posted (edited)

As far as Eset's conducting monster-in the-middle (MITM) activities in regards to SSL/TLS protocol scanning, it might want to look into what Avast is doing: https://textslashplain.com/2019/08/11/spying-on-https/ .

Additional ref.: monster-in-the-browser attack (MITB)

-EDIT- For those interested, here's a formal scientific paper, 'The Security Impact of HTTPS Interception', published a few years back: https://zakird.com/papers/https_interception.pdf . This publication can be summed up in the following paragraph:

Quote

The study shows that 62% of traffic that traverses a network middlebox has reduced security and 58% of middlebox connections have severe vulnerabilities. They also investigated popular antivirus and corporate proxies, finding that nearly all of them reduce connection security and that many introduce vulnerabilities.

https://www.thesslstore.com/blog/ssl-inspection/

Edited by itman
  • ESET Staff
Posted
On 2/25/2022 at 10:37 PM, itman said:

This method doesn't allow to inject data into the connection. This has several disadvantages:

On 2/25/2022 at 10:37 PM, itman said:

As already mentioned this research is couple of years old. Most of the findings there related to ESET were fixed before the paper was published (we were contacted by the author beforehand), all of them are fixed by now, some were never correct in the first place. Unfortunately the author didn't respond to our request for corrections or updates.

  • ESET Staff
Posted (edited)

Back to the original topic.

We've had a discussion with Microsoft regarding this. They believe that the memory and CPU usage reported here is adequate to the size of the revocation list that is being processed. There are no plans to implement any changes in this part of Windows unless they are required for security. In their words it's not possible to avoid this behavior except disabling the cache which is not recommended.

I've identified some circumstances that were contributed to this problem. This will be solved in protoscan 1439. Unfortunately the problem might come back anyway since it's considered a normal behavior of Windows, although now it will be less likely.

It's possible to apply this workaround manually. To do that create a DWORD registry value called CryptnetCachedOcspSwitchToCrlCount under HKLM\SOFTWARE\Policies\Microsoft\SystemCertificates\ChainEngine\Config (you may need to create several missing path components) and set it to 1047 (the special meaning of this value is that it will be reverted to default when the product is uninstalled). Then run the following commands elevated and reboot:
certutil.exe -urlcache http://crl3.digicert.com/ssca-sha2-g6.crl delete
certutil.exe -urlcache http://crl4.digicert.com/ssca-sha2-g6.crl delete
This needs to be done for each user separately.

It is also possible to completely disable the cache that is causing these problems. Doing it means that verifying certificates after reboot will be as slow as it is the first time they are encountered ever. This is not a recommended solution:
certutil -setreg chain\ChainCacheResyncFiletime @now+10000:0
To revert this use
certutil -delreg chain\ChainCacheResyncFiletime

Edited by MMx
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...