Blacklist (computing)

From HandWiki
Revision as of 14:02, 6 February 2024 by Rjetedi (talk | contribs) (correction)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Short description: Criteria to control computer access
Screenshot of a website blocking the creation of content which matches a regular expression term on its blacklist

In computing, a blacklist, disallowlist, blocklist, or denylist is a basic access control mechanism that allows through all elements (email addresses, users, passwords, URLs, IP addresses, domain names, file hashes, etc.), except those explicitly mentioned. Those items on the list are denied access. The opposite is a whitelist, allowlist, or passlist, in which only items on the list are let through whatever gate is being used. A greylist contains items that are temporarily blocked (or temporarily allowed) until an additional step is performed.

Blacklists can be applied at various points in a security architecture, such as a host, web proxy, DNS servers, email server, firewall, directory servers or application authentication gateways. The type of element blocked is influenced by the access control location.[1] DNS servers may be well-suited to block domain names, for example, but not URLs. A firewall is well-suited for blocking IP addresses, but less so for blocking malicious files or passwords.

Example uses include a company that might prevent a list of software from running on its network, a school that might prevent access to a list of websites from its computers, or a business that wants to ensure their computer users are not choosing easily guessed, poor passwords.

Examples of systems protected

Blacklists are used to protect a variety of systems in computing. The content of the blacklist is likely needs to be targeted to the type of system defended.[2]

Information systems

An information system includes end-point hosts like user machines and servers. A blacklist in this location may include certain types of software that are not allowed to run in the company environment. For example, a company might blacklist peer to peer file sharing on its systems. In addition to software, people, devices and Web sites can also be blacklisted.[3]

Email

Most email providers have an anti-spam feature that essentially blacklists certain email addresses if they are deemed unwanted. For example, a user who wearies of unstoppable emails from a particular address may blacklist that address, and the email client will automatically route all messages from that address to a junk-mail folder or delete them without notifying the user.

An e-mail spam filter may keep a blacklist of email addresses, any mail from which would be prevented from reaching its intended destination. It may also use sending domain names or sending IP addresses to implement a more general block.

In addition to private email blacklists, there are lists that are kept for public use, including:

Web browsing

The goal of a blacklist in a web browser is to prevent the user from visiting a malicious or deceitful web page via filtering locally. A common web browsing blacklist is Google's Safe Browsing, which is installed by default in Firefox, Safari, and Chrome.

Usernames and passwords

Blacklisting can also apply to user credentials. It is common for systems or websites to blacklist certain reserved usernames that are not allowed to be chosen by the system or website's user populations. These reserved usernames are commonly associated with built-in system administration functions. Also usually blocked by default are profane words and racial slurs.

Password blacklists are very similar to username blacklists but typically contain significantly more entries than username blacklists. Password blacklists are applied to prevent users from choosing passwords that are easily guessed or are well known and could lead to unauthorized access by malicious parties. Password blacklists are deployed as an additional layer of security, usually in addition to a password policy, which sets the requirements of the password length and/or character complexity. This is because there are a significant number of password combinations that fulfill many password policies but are still easily guessed (i.e., Password123, Qwerty123).

Distribution methods

Blacklists are distributed in a variety of ways. Some use simple mailing lists. A DNSBL is a common distribution method that leverages the DNS itself. Some lists make use of rsync for high-volume exchanges of data.[6] Web-server functions may be used; either simple GET requests may be used or more complicated interfaces such as a RESTful API.

Examples

  • For a list of some DNS-based blacklists, see the Comparison of DNS blacklists.
  • Companies like Google, Symantec and Sucuri keep internal blacklists of sites known to have malware and they display a warning before allowing the user to click them.
  • Content-control software such as DansGuardian and SquidGuard may work with a blacklist in order to block URLs of sites deemed inappropriate for a work or educational environment. Such blacklists can be obtained free of charge or from commercial vendors such as Squidblacklist.org.
  • There are also free blacklists for Squid proxy, such as Blackweb
  • A firewall or IDS may also use a blacklist to block known hostile IP addresses and/or networks. An example for such a list would be the OpenBL project.
  • Many copy protection schemes include software blacklisting.
  • The company Password RBL offers a password blacklist for Microsoft's Active Directory, web sites and apps, distributed via a RESTful API.
  • Members of online auction sites may add other members to a personal blacklist. This means that they cannot bid on or ask questions about your auctions, nor can they use a "buy it now" function on your items.
  • Yet another form of list is the yellow list which is a list of email server IP addresses that send mostly good email but do send some spam. Examples include Yahoo, Hotmail, and Gmail.[citation needed] A yellow listed server is a server that should never be accidentally blacklisted. The yellow list is checked first and if listed then blacklist tests are ignored.
  • In Linux modprobe, the blacklist modulename entry in a modprobe configuration file indicates that all of the particular module's internal aliases are to be ignored. There are cases where two or more modules both support the same devices, or a module invalidly claims to support a device.
  • Many web browsers have the ability to consult anti-phishing blacklists in order to warn users who unwittingly aim to visit a fraudulent website.
  • Many peer-to-peer file sharing programs support blacklists that block access from sites known to be owned by companies enforcing copyright. An example is the Bluetack[7] blocklist set.

Usage considerations

As expressed in a recent conference paper focusing on blacklists of domain names and IP addresses used for Internet security, "these lists generally do not intersect. Therefore, it appears that these lists do not converge on one set of malicious indicators."[8][9] This concern combined with an economic model[10] means that, while blacklists are an essential part of network defense, they need to be used in concert with whitelists and greylists.

Controversy over use of the term

In 2018, a journal commentary on a report on predatory publishing[11] was released making claims that "white" and "black" are racially-charged terms that need to be avoided in instances such as "whitelist" and "blacklist". The journal hit mainstream in Summer 2020 following the George Floyd protests in America[12] wherein a black man was murdered by a police officer, sparking protests on police brutality.

The premise of the journal is that "black" and "white" have negative and positive connotations respectively.[11] It states that since "blacklist"'s first recorded usage was during "the time of mass enslavement and forced deportation of Africans to work in European-held colonies in the Americas," the word is therefore related to race. There is no mention of "whitelist" and its origin or relation to race.

This issue is most widely disputed in computing industries where "whitelist" and "blacklist" are prevalent (e.g. IP whitelisting[13]). Despite the commentary-nature of the journal, some companies and individuals in others have taken to replacing "whitelist" and "blacklist" with new alternatives such as "allow list" and "deny list".[14]

Those that oppose these changes question its attribution to race, citing the same etymology quote that the 2018 journal uses.[14][15] The quote suggests that the term "blacklist" arose from "black book" almost 100 years prior. "Black book" does not appear to have any etymology or sources that support ties to race, instead coming from the 1400s referring "to a list of people who had committed crimes or fallen out of favor with leaders" and popularized by King Henry VIII's literal usage of a book bound in black.[16] Others also note the prevalence of positive and negative connotations to "white" and "black" in the bible, predating attributions to skin tone and slavery.[17] It wasn't until the 1960s Black Power movement that "Black" became a widespread word to refer to one's race as a person of color in America[18] (alternate to African-American) lending itself to the argument that the negative connotation behind "black" and "blacklist" both predate attribution to race.

See also similar concerns regarding the technology terms "Master" and "Slave".

In August 2018, Ruby on Rails changed all occurrences of "blacklist" and "whitelist" to "restricted list" and "permitted list".[19]

Several companies responded to this controversy in June and July 2020:

  • GitHub announced that it would replace many "terms that may be offensive to developers in the black community".[20]
  • Apple Inc. announced at its developer conference that it would be adopting more inclusive technical language and replacing the term "blacklist" with "deny list" and the term "whitelist" with "allow list".[21]
  • Linux Foundation said it would use neutral language in kernel code and documentation in the future and avoid terms such as "blacklist" and "slave" going forward.[22]
  • The Twitter Engineering team stated its intention to move away from a number of terms, including "blacklist" and "whitelist".[23]
  • Red Hat announced that it would make open source more inclusive and avoid these and other terms.[24]

ZDNet reports that the list of technology companies making such decisions "includes Twitter, GitHub, Microsoft, LinkedIn, Ansible, Red Hat, Splunk, Android, Go, MySQL, PHPUnit, Curl, OpenZFS, Rust, JP Morgan, and others."[25]

References

  1. Shimeall, Timothy; Spring, Jonathan (2013-11-12) (in en). Introduction to Information Security: A Strategic-Based Approach. Newnes. ISBN 9781597499729. https://books.google.com/books?id=eZBqAAAAQBAJ. 
  2. "Domain Blacklist Ecosystem - A Case Study". 17 June 2015. https://insights.sei.cmu.edu/cert/2015/06/domain-blacklist-ecosystem---a-case-study.html. 
  3. Rainer, Watson (2012). Introduction to Information Systems. Wiley Custom Learning Solutions. ISBN 978-1-118-45213-4. 
  4. "反垃圾邮件联盟". http://anti-spam.org.cn/?locale=en_US. 
  5. "Fabelsources - Blacklist". https://mxtoolbox.com/problem/blacklist/fabelsources. 
  6. "Guidelines". http://www.surbl.org/guidelines. 
  7. "B.I.S.S. Forums - FAQ - Questions about the Blocklists". Bluetack Internet Security Solutions. Archived from the original on 2008-10-20. https://web.archive.org/web/20081020052855/http://www.bluetack.co.uk/forums/index.php?autocom=faq&CODE=02&qid=18. Retrieved 2015-08-01. 
  8. Metcalf, Leigh; Spring, Jonathan M. (2015-01-01). "Blacklist Ecosystem Analysis". Proceedings of the 2nd ACM Workshop on Information Sharing and Collaborative Security. pp. 13–22. doi:10.1145/2808128.2808129. ISBN 9781450338226. 
  9. Kührer, Marc; Rossow, Christian; Holz, Thorsten (2014-09-17). "Paint It Black: Evaluating the Effectiveness of Malware Blacklists". in Stavrou, Angelos (in en). Research in Attacks, Intrusions and Defenses. Lecture Notes in Computer Science. 8688. Springer International Publishing. pp. 1–21. doi:10.1007/978-3-319-11379-1_1. ISBN 9783319113784. 
  10. Spring, Jonathan M. (2013-01-01). "Modeling malicious domain name take-down dynamics: Why eCrime pays". 2013 APWG eCrime Researchers Summit. 1–9. doi:10.1109/eCRS.2013.6805779. ISBN 978-1-4799-1158-5. 
  11. 11.0 11.1 Houghton, F., & Houghton, S. (2018). "“Blacklists” and “whitelists”: a salutary warning concerning the prevalence of racist language in discussions of predatory publishing."
  12. Taylor, Derrick Bryson (2020-07-10). "George Floyd Protests: A Timeline" (in en-US). The New York Times. ISSN 0362-4331. https://www.nytimes.com/article/george-floyd-protests-timeline.html. 
  13. "IP Whitelisting - Documentation" (in en). https://help.gooddata.com/doc/enterprise/en/data-integration/data-preparation-and-distribution/additional-data-load-reference/gooddata-ip-addresses-and-ip-whitelisting/. 
  14. 14.0 14.1 Cimpanu, Catalin. "GitHub to replace "master" with alternative term to avoid slavery references" (in en). https://www.zdnet.com/article/github-to-replace-master-with-alternative-term-to-avoid-slavery-references/. 
  15. "blacklist | Origin and meaning of blacklist by Online Etymology Dictionary" (in en). https://www.etymonline.com/word/blacklist. 
  16. "What is Little Black Book?" (in en-US). https://writingexplained.org/idiom-dictionary/little-black-book. 
  17. Grammarian, Angry (22 July 2020). "Is 'master bedroom' a racist term? As language evolves, consider history and usage. | The Angry Grammarian" (in en-US). https://www.inquirer.com/opinion/master-bedroom-racist-words-blacklist-whitelist-20200722.html. 
  18. Martin, Ben L. (1991). "From Negro to Black to African American: The Power of Names and Naming". Political Science Quarterly 106 (1): 83–107. doi:10.2307/2152175. ISSN 0032-3195. https://www.jstor.org/stable/2152175. 
  19. "Merge pull request #33681 from minaslater/replace-white-and-blacklist · rails/rails@de6a200 · GitHub". Github.com. https://github.com/rails/rails/commit/de6a200f82a3de399fa685d583503bc88dbc5e9f. Retrieved 2022-03-03. 
  20. "GitHub to replace "master" with alternative term to avoid slavery references". https://www.zdnet.com/article/github-to-replace-master-with-alternative-term-to-avoid-slavery-references/. 
  21. "Apple banishes 'blacklist' and 'master branch' in push for inclusive language". https://www.msn.com/en-us/news/technology/apple-banishes-blacklist-and-master-branch-in-push-for-inclusive-language/ar-BB16PV6P?ocid=uxbndlbing. 
  22. "pull request for inclusive-terminology". https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=49decddd39e5f6132ccd7d9fdc3d7c470b0061bb. 
  23. "We're starting with a set of words we want to move away from using in favor of more inclusive language". https://twitter.com/TwitterEng/status/1278733305190342656. 
  24. "Making open source more inclusive by eradicating problematic language". https://www.redhat.com/en/blog/making-open-source-more-inclusive-eradicating-problematic-language. 
  25. "Linux team approves new terminology, bans terms like 'blacklist' and 'slave'". https://www.zdnet.com/article/linux-team-approves-new-terminology-bans-terms-like-blacklist-and-slave/. 

External links