Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fingerprinting 2.0: Plugins (word replacement) #10597

Closed
pes10k opened this issue Jul 7, 2020 · 0 comments · Fixed by brave/brave-core#6041
Closed

Fingerprinting 2.0: Plugins (word replacement) #10597

pes10k opened this issue Jul 7, 2020 · 0 comments · Fixed by brave/brave-core#6041
Assignees
Labels
feature/shields/fingerprint The fingerprinting (aka: "device recognition") protection provided in Shields OS/Android Fixes related to Android browser functionality OS/Desktop privacy privacy-pod Feature work for the Privacy & Web Compatibility pod QA/No release-notes/exclude

Comments

@pes10k
Copy link
Contributor

pes10k commented Jul 7, 2020

Continuing from #9435

brave/brave-core#5989 completed the bulk of the original issue. This issue is to track the remaining, word-replacement parts of #9435.

Specifically these parts of the previous issue:

word replacements

  • Chrome: ["Chrome", "Chromium", "Brave", "Web", "Browser", "" (empty string), "OpenSource", "Online", "JavaScript"]
  • PDF: ["PDF", "Portable Document Format", "portable-document-format", "document", "doc", "PDF and PS", "com.adobe.pdf"]
  • Plugin: ["Viewer", "Renderer", "Display", "Plugin", "plug-in", "plug in", "extension", "" (empty string)]
  • Viewer: ["Viewer", "Renderer", "Display", "Plugin", "plug-in", "plug in", "extension", "" (empty string)]

default protection:

  • Randomize both descriptions of plugins, under eTLD+1 seed, using random selections from the above word replacements
  • Include two randomly generated plugins, using the above schema

max protection:

  • Include two randomly generated plugins, using the above schema
@pes10k pes10k added feature/shields/fingerprint The fingerprinting (aka: "device recognition") protection provided in Shields privacy privacy-pod Feature work for the Privacy & Web Compatibility pod and removed OS/Desktop labels Jul 7, 2020
@pes10k pes10k added this to the 1.13.x - Nightly milestone Jul 16, 2020
@bbondy bbondy added OS/Android Fixes related to Android browser functionality OS/Desktop labels Aug 7, 2020
mariospr added a commit to brave/brave-core that referenced this issue Jan 29, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so there's no need for Brave to implement a
farbling mechanism for such array any more.

Thus, we can now remove all the code added to implement that and drop
a couple of patches to upstream's Chromium in the way too.

Main related issues in Brave's GitHub:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:

https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mariospr added a commit to brave/brave-core that referenced this issue Jan 29, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so there's no need for Brave to implement a
farbling mechanism for such array any more.

Thus, we can now remove all the code added to implement that and drop
a couple of patches to upstream's Chromium in the way too.

Main related issues in Brave's GitHub:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:

https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mariospr added a commit to brave/brave-core that referenced this issue Feb 1, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so there's no need for Brave to implement a
farbling mechanism for such array any more.

Thus, we can now remove all the code added to implement that and drop
a couple of patches to upstream's Chromium in the way too.

Main related issues in Brave's GitHub:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:

https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mariospr added a commit to brave/brave-core that referenced this issue Feb 1, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 additional fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635

GOOD
mariospr added a commit to brave/brave-core that referenced this issue Feb 3, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 randomly generated fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mkarolin pushed a commit to brave/brave-core that referenced this issue Feb 5, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 randomly generated fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mariospr added a commit to brave/brave-core that referenced this issue Feb 5, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 randomly generated fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mkarolin pushed a commit to brave/brave-core that referenced this issue Feb 10, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 randomly generated fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mariospr added a commit to brave/brave-core that referenced this issue Feb 15, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 randomly generated fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mariospr added a commit to brave/brave-core that referenced this issue Feb 17, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 randomly generated fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mariospr added a commit to brave/brave-core that referenced this issue Feb 19, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 randomly generated fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mariospr added a commit to brave/brave-core that referenced this issue Feb 19, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 randomly generated fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mariospr added a commit to brave/brave-core that referenced this issue Feb 23, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 randomly generated fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mkarolin pushed a commit to brave/brave-core that referenced this issue Feb 24, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 randomly generated fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mkarolin pushed a commit to brave/brave-core that referenced this issue Feb 26, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 randomly generated fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mkarolin pushed a commit to brave/brave-core that referenced this issue Mar 4, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 randomly generated fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mkarolin pushed a commit to brave/brave-core that referenced this issue Mar 5, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 randomly generated fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mariospr added a commit to brave/brave-core that referenced this issue Mar 8, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 randomly generated fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mkarolin pushed a commit to brave/brave-core that referenced this issue Mar 10, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 randomly generated fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mkarolin pushed a commit to brave/brave-core that referenced this issue Mar 10, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 randomly generated fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mkarolin pushed a commit to brave/brave-core that referenced this issue Mar 10, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 randomly generated fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mkarolin pushed a commit to brave/brave-core that referenced this issue Mar 12, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 randomly generated fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mariospr added a commit to brave/brave-core that referenced this issue Mar 15, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 randomly generated fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mkarolin pushed a commit to brave/brave-core that referenced this issue Mar 22, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 randomly generated fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
mkarolin pushed a commit to brave/brave-core that referenced this issue Mar 23, 2021
Due to the removal of flash, navigator.plugins will always report an
empty array from now on, so Brave needs to adapt its farbling mechanism
to work like this depending on the selected behavior:

  * "off": return the real navigators.plugins, that is, an empty array.
  * "balanced" or "maximum": return 2 randomly generated fake plugins.

Additionally, we need to adapt the browser tests to account for this
new scenario, and test that indeed the expectation of navigator.plugins
returning an empty array stays true.

Issues in Brave's GitHub related to the implementation of this feature:

  * Fingerprinting 2.0: Plugins
    brave/brave-browser#9435

  * Fingerprinting 2.0: Plugins (word replacement)
    brave/brave-browser#10597

Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/f8fe422e0e8a026f73f9d74d26f75c3c93102030

commit f8fe422e0e8a026f73f9d74d26f75c3c93102030
Author: Mason Freed <masonfreed@chromium.org>
Date:   Wed Jan 20 18:50:56 2021 +0000

    Empty out navigator.plugins and navigator.mimeTypes

    With this CL, navigator.plugins and navigator.mimeTypes will
    both return empty arrays.

    With the removal of Flash, there is no longer the need to
    return anything for navigator.plugins and navigator.mimeTypes.
    These APIs were used primarily for a) probing for Flash player
    support, or b) fingerprinting. As such, we'd like to return
    empty for these two properties. Gecko already switched to
    returning *only* Flash starting with Firefox 52, and returning
    empty as of Firefox 85.

    I2S:
    https://groups.google.com/a/chromium.org/g/blink-dev/c/bbxAGu90LgM

    Fixed: 1164635
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature/shields/fingerprint The fingerprinting (aka: "device recognition") protection provided in Shields OS/Android Fixes related to Android browser functionality OS/Desktop privacy privacy-pod Feature work for the Privacy & Web Compatibility pod QA/No release-notes/exclude
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants