Editing 2556: Turing Complete

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 14: Line 14:
 
Many pieces of hardware and software are supposed to be Turing complete (even Excel, as previously pointed out in [[2453: Excel Lambda]]).  Some other things turn out to be Turing complete, even if they weren't designed for it (for instance, the tabletop game [https://arstechnica.com/science/2019/06/its-possible-to-build-a-turing-machine-within-magic-the-gathering/ Magic: The Gathering] or, at least within xkcd meta-reality, [[505: A Bunch of Rocks|rocks in a desert]]). Whatever [[Ponytail]] has been referring to is not shown, but it seems to be an anecdote about how something seemingly too simple and/or specialized to exhibit such a computational equivalence has been discovered to actually be that capable. Ponytail may refer to the recent articles about the background of the NSO zero click exploit for iPhones, e.g. [https://securityboulevard.com/2021/12/nso-zero-click-exploit-turing-complete-cpu-in-image-file/ this].
 
Many pieces of hardware and software are supposed to be Turing complete (even Excel, as previously pointed out in [[2453: Excel Lambda]]).  Some other things turn out to be Turing complete, even if they weren't designed for it (for instance, the tabletop game [https://arstechnica.com/science/2019/06/its-possible-to-build-a-turing-machine-within-magic-the-gathering/ Magic: The Gathering] or, at least within xkcd meta-reality, [[505: A Bunch of Rocks|rocks in a desert]]). Whatever [[Ponytail]] has been referring to is not shown, but it seems to be an anecdote about how something seemingly too simple and/or specialized to exhibit such a computational equivalence has been discovered to actually be that capable. Ponytail may refer to the recent articles about the background of the NSO zero click exploit for iPhones, e.g. [https://securityboulevard.com/2021/12/nso-zero-click-exploit-turing-complete-cpu-in-image-file/ this].
  
βˆ’
{{w|Mario}} is the lead character in a long running series of video games including {{w|Donkey Kong}}, {{w|Super Mario Bros}} and {{w|Mario Kart}}.  Running video games, [https://hackaday.com/tag/does-it-run-doom/ such as Doom], is one common way of demonstrating the ability to run arbitrary programs on devices that were not intended as general purpose computers.  With complex processors being installed in more and more devices, it's plausible that someone could get a dishwasher to play Mario.
+
{{w|Mario}} is the lead character in a long running series of video games including {{w|Donkey Kong}}, {{w|Super Mario Bros}} and {{w|Mario Kart}}.  Running video games, [https://hackaday.com/tag/does-it-run-doom/ such as Doom], is one common way of demonstrating the ability to run arbitrary programs on devices that were not intended as general purpose computers.   
  
βˆ’
However, another reason to make a device run arbitrary code is to {{w|Arbitrary code execution|breach security.}}  If the owner of a system assumes that it can only do one specific thing, like operate a dishwasher, they may not take precautions against hacking.  But if the system is actually Turing-complete, a hacker could potentially make it do something else, like become part of a {{w|botnet}}.  Therefore, "this is actually Turing-complete" could be the prelude to a complicated hacking attempt.  Sophisticated hacking attacks are often the work of hackers that have the support of a government, or {{w|nation-state}}.
+
With complex processors now installed in many household items, including large kitchen appliances like dishwashers, the possibility is raised that someone has 'hacked' such a device to do the same computational work as an actual games console. Alternatively, if hackers working on behalf of a foreign government have discovered an undetected exploit in a nation's cyber-defenses, the fact that a piece of infrastructure accessible to outsiders is Turing-complete (and could thus potentially be used to execute arbitrary code) may come as a very unpleasant surprise to the nation being attacked.
  
 
The {{w|FORCEDENTRY|ForcedEntry}} exploit is a way that was developed to allow {{w|PDF}} files to force malware onto various devices. PDF files are normally used to present documents.  The exploit uses a  PDF's ability to do logic operations on pixels to implement [https://googleprojectzero.blogspot.com/2021/12/a-deep-dive-into-nso-zero-click.html a simple virtual CPU] within one of the PDF renderer's decompression functions. Constructing a CPU in this way is similar to how a hardware CPU is made of individual logic gates.  ForcedEntry was publicized a few days before this comic came out.
 
The {{w|FORCEDENTRY|ForcedEntry}} exploit is a way that was developed to allow {{w|PDF}} files to force malware onto various devices. PDF files are normally used to present documents.  The exploit uses a  PDF's ability to do logic operations on pixels to implement [https://googleprojectzero.blogspot.com/2021/12/a-deep-dive-into-nso-zero-click.html a simple virtual CPU] within one of the PDF renderer's decompression functions. Constructing a CPU in this way is similar to how a hardware CPU is made of individual logic gates.  ForcedEntry was publicized a few days before this comic came out.

Please note that all contributions to explain xkcd may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see explain xkcd:Copyrights for details). Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel | Editing help (opens in new window)