<!--#include virtual="/server/header.html" -->
<!-- Parent-Version: 1.96 -->
<!--#set var="DISABLE_TOP_ADDENDUM" value="yes" -->
                  Please do not edit <ul class="blurbs">!
    Instead, edit /proprietary/workshop/mal.rec, then regenerate pages.
           See explanations in /proprietary/workshop/README.md.
<title>Malware in Webpages
- GNU Project - Free Software Foundation</title>
<link rel="stylesheet" type="text/css" href="/side-menu.css" media="screen,print" />
<!--#include virtual="/proprietary/po/malware-webpages.translist" -->
<!--#include virtual="/server/banner.html" -->
<div class="nav">
<a id="side-menu-button" class="switch" href="#navlinks">
 <img id="side-menu-icon" height="32"
      title="Section contents"
      alt=" [Section contents] " />

<p class="breadcrumb">
 <a href="/"><img src="/graphics/icons/home.png" height="24"
    alt="GNU Home" title="GNU Home" /></a> /
 <a href="/proprietary/proprietary.html">Malware</a> /
 By product /
<!--#include virtual="/server/top-addendum.html" -->
<div style="clear: both"></div>
<div id="last-div" class="reduced-width">
<h2>Malware in Webpages</h2>

<div class="infobox">
<hr class="full-width" />
<p>Nonfree (proprietary) software is very often malware (designed to
mistreat the user). Nonfree software is controlled by its developers,
which puts them in a position of power over the users; <a
href="/philosophy/free-software-even-more-important.html">that is the
basic injustice</a>. The developers and manufacturers often exercise
that power to the detriment of the users they ought to serve.</p>

<p>This typically takes the form of malicious functionalities.</p>
<hr class="full-width" />

<div class="article">
<p>This page lists web sites containing proprietary JavaScript programs that spy
on users or mislead them. They make use of what we call
the <a href="/philosophy/javascript-trap.html">JavaScript Trap</a>. Of course,
many sites collect information that the user sends, via forms or otherwise, but
here we're not talking about that.</p>

<div class="important">
<p>If you know of an example that ought to be in this page but isn't
here, please write
to <a href="mailto:webmasters@gnu.org"><webmasters@gnu.org></a>
to inform us. Please include the URL of a trustworthy reference or two
to serve as specific substantiation.</p>

<div class="column-limit" id="malware-webpages"></div>

<ul class="blurbs">
  <li id="M202204280">
    <!--#set var="DATE" value='<small class="date-tag">2022-04</small>'
    --><!--#echo encoding="none" var="DATE" -->
    <p>The US government <a
    personal data to Facebook</a> for every college student that applied
    for US government student aid. It justified this as being for a

    <p>The data included name, phone number and email address.  This shows
    the agency didn't even make a handwaving attempt to anonymize the
    student.  Not that anonymization usually does much good—but
    the failure to even try shows that the agency was completely blind
    to the issue of respecting students' privacy.</p>

  <li id="M202009220">
    <!--#set var="DATE" value='<small class="date-tag">2020-09</small>'
    --><!--#echo encoding="none" var="DATE" -->
    <p>The Markup investigated 80,000 popular web sites and <a
    reports on how much they snoop on users</a>.  Almost 70,000 had
    third-party trackers. 5,000 fingerprinted the browser to identify
    users.  12,000 recorded the user's mouse clicks and movements.</p>

  <li id="M201811270">
    <!--#set var="DATE" value='<small class="date-tag">2018-11</small>'
    --><!--#echo encoding="none" var="DATE" -->
    <p>Many web sites use JavaScript code <a
    to snoop on information that users have typed into a
    form but not sent</a>, in order to learn their identity. Some are <a
    getting sued</a> for this.</p>

    <p>The chat facilities of some customer services use the same sort of
    malware to <a
    read what the user is typing before it is posted</a>.</p>

  <li id="M201807190">
    <!--#set var="DATE" value='<small class="date-tag">2018-07</small>'
    --><!--#echo encoding="none" var="DATE" -->
    <p>British Airways used <a
    JavaScript on its web site to give other companies personal data on
    its customers</a>.</p>

  <li id="M201805170">
    <!--#set var="DATE" value='<small class="date-tag">2018-05</small>'
    --><!--#echo encoding="none" var="DATE" -->
    <p>The Storyful program <a
    on the reporters that use it</a>.</p>

  <li id="M201805080">
    <!--#set var="DATE" value='<small class="date-tag">2018-05</small>'
    --><!--#echo encoding="none" var="DATE" -->
    <p>A cracker used an exploit in outdated software to <a
    inject a “miner” in web pages</a> served to visitors. This
    type of malware hijacks the computer's processor to mine a

    <p><small>(Note that the article refers to the infected software
    as “content management system”. A better term would be
    “<a href="/philosophy/words-to-avoid.html#Content">website
    revision system</a>”.)</small></p>

    <p>Since the miner was a nonfree JavaScript program,
    visitors wouldn't have been affected if they had used <a
    href="/software/librejs/index.html">LibreJS</a>. Some
    browser extensions that <a
    specifically block JavaScript miners</a> are also available.</p>

  <li id="M201712300">
    <!--#set var="DATE" value='<small class="date-tag">2017-12</small>'
    --><!--#echo encoding="none" var="DATE" -->
    <p>Some JavaScript malware <a
    swipes usernames from browser-based password managers</a>.</p>

  <li id="M201711150">
    <!--#set var="DATE" value='<small class="date-tag">2017-11</small>'
    --><!--#echo encoding="none" var="DATE" -->
    <p>Some websites send
    JavaScript code to collect all the user's input, <a
    can then be used to reproduce the whole session</a>.</p>

    <p>If you use LibreJS, it will block that malicious JavaScript

  <li id="M201701060">
    <!--#set var="DATE" value='<small class="date-tag">2017-01</small>'
    --><!--#echo encoding="none" var="DATE" -->
    <p>When a page uses Disqus
    for comments, the proprietary Disqus software <a
    a Facebook software package into the browser of every anonymous visitor
    to the page, and makes the page's URL available to Facebook</a>.</p>

  <li id="M201612064">
    <!--#set var="DATE" value='<small class="date-tag">2016-12</small>'
    --><!--#echo encoding="none" var="DATE" -->
    <p>Online sales, with tracking and surveillance of customers, <a
    businesses to show different people different prices</a>. Most of
    the tracking is done by recording interactions with servers, but
    proprietary software contributes.</p>

  <li id="M201611160.1">
    <!--#set var="DATE" value='<small class="date-tag">2016-11</small>'
    --><!--#echo encoding="none" var="DATE" -->
    <p>A <a
    research paper</a> that investigated the privacy and security of
    283 Android VPN apps concluded that “in spite of the promises
    for privacy, security, and anonymity given by the majority of VPN
    apps—millions of users may be unawarely subject to poor security
    guarantees and abusive practices inflicted by VPN apps.”</p>

    <p>Here are two examples, taken from the research paper, of 
    proprietary VPN apps that use JavaScript to track users and infringe
    their privacy:</p>

    <dl class="compact">
      <dt>VPN Services HotspotShield</dt>
      <dd>Injects JavaScript code into the HTML pages returned to the
      users. The stated purpose of the JS injection is to display ads. Uses
      roughly five tracking libraries. Also, it redirects the user's
      traffic through valueclick.com (an advertising website).</dd>

      <dt>WiFi Protector VPN</dt>
      <dd>Injects JavaScript code into HTML pages, and also uses roughly
      five tracking libraries. Developers of this app have confirmed that
      the non-premium version of the app does JavaScript injection for
      tracking the user and displaying ads.</dd>

  <li id="M201603080">
    <!--#set var="DATE" value='<small class="date-tag">2016-03</small>'
    --><!--#echo encoding="none" var="DATE" -->
    <p>E-books can contain JavaScript code, and <a
    sometimes this code snoops on readers</a>.</p>

  <li id="M201310110">
    <!--#set var="DATE" value='<small class="date-tag">2013-10</small>'
    --><!--#echo encoding="none" var="DATE" -->
    <p>Flash and JavaScript are used for <a
    “fingerprinting” devices</a> to identify users.</p>

  <li id="M201210240">
    <!--#set var="DATE" value='<small class="date-tag">2012-10</small>'
    --><!--#echo encoding="none" var="DATE" -->
    <p>Many web sites rat their visitors to advertising
    networks that track users.  Of the top 1000 web sites, <a
    (as of 5/17/2012) fed their visitors third-party cookies, allowing
    other sites to track them</a>.</p>

  <li id="M201208210">
    <!--#set var="DATE" value='<small class="date-tag">2012-08</small>'
    --><!--#echo encoding="none" var="DATE" -->
    <p>Many web sites report all their visitors
    to Google by using the Google Analytics service, which <a
    tells Google the IP address and the page that was visited</a>.</p>

  <li id="M201200000">
    <!--#set var="DATE" value='<small class="date-tag">[2012]</small>'
    --><!--#echo encoding="none" var="DATE" -->
    <p>Many web sites try to collect users' address books (the user's list
    of other people's phone numbers or email addresses).  This violates
    the privacy of those other people.</p>

  <li id="M201110040">
    <!--#set var="DATE" value='<small class="date-tag">2011-10</small>'
    --><!--#echo encoding="none" var="DATE" -->
    <p>Pages that contain “Like” buttons <a
    enable Facebook to track visitors to those pages</a>—even users
    that don't have Facebook accounts.</p>

  <li id="M201003010">
    <!--#set var="DATE" value='<small class="date-tag">2010-03</small>'
    --><!--#echo encoding="none" var="DATE" -->
    <p>Flash Player's <a
    cookie feature helps web sites track visitors</a>.</p>

<!--#include virtual="/proprietary/proprietary-menu.html" -->
<!--#include virtual="/server/footer.html" -->
<div id="footer" role="contentinfo">
<div class="unprintable">

<p>Please send general FSF & GNU inquiries to
<a href="mailto:gnu@gnu.org"><gnu@gnu.org></a>.
There are also <a href="/contact/">other ways to contact</a>
the FSF.  Broken links and other corrections or suggestions can be sent
to <a href="mailto:webmasters@gnu.org"><webmasters@gnu.org></a>.</p>

<p><!-- TRANSLATORS: Ignore the original text in this paragraph,
        replace it with the translation of these two:

        We work hard and do our best to provide accurate, good quality
        translations.  However, we are not exempt from imperfection.
        Please send your comments and general suggestions in this regard
        to <a href="mailto:web-translators@gnu.org">

        <p>For information on coordinating and contributing translations of
        our web pages, see <a
        README</a>. -->
Please see the <a
README</a> for information on coordinating and contributing translations
of this article.</p>

<!-- Regarding copyright, in general, standalone pages (as opposed to
     files generated as part of manuals) on the GNU web server should
     be under CC BY-ND 4.0.  Please do NOT change or remove this
     without talking with the webmasters or licensing team first.
     Please make sure the copyright date is consistent with the
     document.  For web pages, it is ok to list just the latest year the
     document was modified, or published.
     If you wish to list earlier years, that is ok too.
     Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
     years, as long as each year in the range is in fact a copyrightable
     year, i.e., a year in which the document was published (including
     being publicly visible on the web or in a revision control system).
     There is more detail about copyright years in the GNU Maintainers
     Information document, www.gnu.org/prep/maintain. -->

<p>Copyright © 2017-2021 2017-2022 Free Software Foundation, Inc.</p>

<p>This page is licensed under a <a rel="license"
Commons Attribution 4.0 International License</a>.</p>

<!--#include virtual="/server/bottom-notes.html" -->

<p class="unprintable">Updated:
<!-- timestamp start -->
$Date: 2022/08/22 10:03:05 $
<!-- timestamp end -->
</div><!-- for class="inner", starts in the banner include -->