Hacking of consumer electronics

Last updated

Hardware hacking has allowed this smartphone to run with a desktop interface on an alternative operating system. N9 xfce4.jpg
Hardware hacking has allowed this smartphone to run with a desktop interface on an alternative operating system.

The hacking of consumer electronics is an common practice that users perform to customize and modify their devices beyond what is typically possible. This activity has a long history, dating from the days of early computer, programming, and electronics hobbyists.

Contents

The process of consumer electronics hacking is usually accomplished through modification of the system software, either an operating system or firmware, but hardware modifications are not uncommon.

The legality of hacking consumer electronics has been challenged over the years, with an example of this being the cracking of encryption keys used in High-bandwidth Digital Content Protection, where detractors have been threatened under the basis of legal action. However, some companies have encouraged hardware hacking, such as Google's Nexus and Pixel series of smartphones.

Overview

Many modern consumer electronics run either an operating system or firmware. When this is stored in a mutable storage device, these files can be modified to add functionality to the operating system, or to replace it entirely.

Method

Multiple methods are used in order to successfully hack the target device, such as gaining shell access, gathering information about the device hardware and software, before using the obtained information to manipulate the operating system. [1]

Shell access

Getting access to a shell allows the user to run commands to interact with the operating system. Typically, a root shell is aimed for, which grants administrative privileges, to let the user modify operating system files.

Root access can be obtained through the use of software exploits (i.e. bugs), through the bootloader console, or over a serial port embedded in the device, such as a JTAG or UART interface. [1]

In the case of gaining root privileges on an Android device, the process is known as rooting.

Unlocking the bootloader

A smartphone showing a bootloader screen Fastboot mode.jpg
A smartphone showing a bootloader screen

On some Android devices, the bootloader is locked for security to prevent installation of other operating systems. [2] Unlocking it is required before another OS can be installed.

On Android devices, Fastboot (Odin mode on Samsung devices) allows flashing of operating systems onto storage. [3]

Das U-Boot is a bootloader commonly used in embedded devices such as routers and Chromebooks.

Getting information

Getting information on the device's hardware and software is vital because exploits can be identified, which is subsequently used to either gain shell access, port an operating system to the device, etc.

Manufacturer use of open source software

A lot of device manufacturers include open source software in their products. [4] When the software used is licensed under a copyleft license, a manufacturer is obliged to provide the source code of the open source components. An instance of this was when Naomi Wu requested the GPLv2 licensed source code of the Linux Kernel branch of a smartphone vendor. [5]

A good share of consumer devices run on a modified Linux kernel, [4] which is forked before applying device-specific changes. [6] Android is an example of OS which makes use of the Linux kernel.

Countermeasures

Device manufacturers often include countermeasures to hinder hardware hacking, one of which is the use of cryptography to prevent unauthorized code from being executed. For example, Nvidia graphics cards have signed firmware to prevent tampering or hacking.

Devices

Smartphones

Hardware device removal

Whistleblower Edward Snowden showed Wired correspondent Shane Smith how to remove the cameras and microphones from a smartphone. [7]

Modifying default operating systems

One of the reasons hacking is done is to add or unlock features in an operating system.

Examples include:

Installing a third-party operating system

Another reason hacking is done is to allow unsupported operating systems to be installed.

General purpose computers

A general purpose computer has historically been open by design.

However, Apple's Apple silicon based Mac hardware is based on the ARM architecture, making it difficult to install a third-party operating system.

Multimedia devices and video game systems

There are many reasons video game consoles may be hacked.

Game consoles are often restricted in a way that may disallow unofficial games to be run on it (see Video game console#Licensing), and hacking is undertaken to allow unlicensed games to run on it, including pirated games.

Another reason is to allow features to be added, such as using the console as a multimedia player. An example of this is Xbox Media Player, which was made to allow pictures and movies to be shown on an Xbox.

Other devices

Devices allowing for hacking

Phones like the Galaxy Nexus, part of the Google Nexus series, are designed to allow root access and easy modification of the system Galaxy Nexus smartphone.jpg
Phones like the Galaxy Nexus, part of the Google Nexus series, are designed to allow root access and easy modification of the system

Some devices—most commonly open source—are built for homebrew purposes, and encourage hacking as an integral part of their existence.

Legality

iOS jailbreaking was often considered illegal in the United States until a recent[ when? ] ruling by the U.S. Copyright Office declaring that jailbreaking an iPhone or other mobile device would no longer violate copyright law. [17] However, simultaneously, there is ongoing prosecution against hackers of videogame consoles under anti-circumvention violations of the DMCA. A main complication, in many cases, is the profiting from selling jailbroken or rooted equipment as a value-added service. At least some accused deny these charges and claim only to be making back-ups of legally purchased games. [18] [19]

In around 2010, the High-bandwidth Digital Content Protection encryption system, which encrypts data running between cable boxes, Blu-ray players, and other similar devices and displays was cracked, and a copy of the master key needed to decrypt HDCP protected streams was posted on the internet. Intel, which created and now licenses HDCP technology, has stated that HDCP is sufficient to keep most users from circumventing it, but indicated that it may threaten legal action against more determined users under the DMCA. [20]

Also in around 2010, on the issue of the hacking of its then new interactive game controller the Kinect, Microsoft initially condemned and threatened legal action against those who hacked it, but soon after, it reversed this position and instead stated that it had intentionally left the device open, and would in fact not prosecute those who modified it. [21]

See also

Related Research Articles

<span class="mw-page-title-main">Firmware</span> Low-level computer software

In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide hardware abstraction services to higher-level software such as operating systems. For less complex devices, firmware may act as the device's complete operating system, performing all control, monitoring and data manipulation functions. Typical examples of devices containing firmware are embedded systems, home and personal-use appliances, computers, and computer peripherals.

A computing platform, digital platform, or software platform is an environment in which software is executed. It may be the hardware or the operating system (OS), a web browser and associated application programming interfaces, or other underlying software, as long as the program code is executed using the services provided by the platform. Computing platforms have different abstraction levels, including a computer architecture, an OS, or runtime libraries. A computing platform is the stage on which computer programs can run.

Upgrading is the process of replacing a product with a newer version of the same product. In computing and consumer electronics an upgrade is generally a replacement of hardware, software or firmware with a newer or better version, in order to bring the system up to date or to improve its characteristics.

<span class="mw-page-title-main">Privilege escalation</span> Gaining control of computer privileges beyond what is normally granted

Privilege escalation is the act of exploiting a bug, a design flaw, or a configuration oversight in an operating system or software application to gain elevated access to resources that are normally protected from an application or user. The result is that an application with more privileges than intended by the application developer or system administrator can perform unauthorized actions.

A softmod is a method of using software to modify the intended behavior of hardware, such as video cards, sound cards, or game consoles in a way that can overcome restrictions of the firmware, or install custom firmware.

Computer operating systems based on the Linux kernel are used in embedded systems such as consumer electronics, in-vehicle infotainment (IVI), networking equipment, machine control, industrial automation, navigation equipment, spacecraft flight software, and medical instruments in general.

Homebrew, when applied to video games, refers to software produced by hobbyists for proprietary video game consoles which are not intended to be user-programmable. The official documentation is often only available to licensed developers, and these systems may use storage formats that make distribution difficult, such as ROM cartridges or encrypted CD-ROMs. Many consoles have hardware restrictions to prevent unauthorized development.

<span class="mw-page-title-main">Linux-powered device</span>

Linux-based devices or Linux devices are computer appliances that are powered by the Linux kernel and possibly parts of the GNU operating system. Device manufacturers' reasons to use Linux may be various: low cost, security, stability, scalability or customizability. Many original equipment manufacturers use free and open source software to brand their products. Community maintained Linux devices are also available.

The boot ROM is a type of ROM that is used for booting a computer system. There are two types: a mask boot ROM that cannot be changed afterwards and a boot EEPROM, which can contain an UEFI implementation.

<span class="mw-page-title-main">HTC Dream</span> Android smartphone designed by HTC introduced in 2008

The HTC Dream is a smartphone developed by HTC. First released in October 2008 for $179 with a 2-year contract to T-Mobile, the Dream was the first commercially released device to use the Linux-based Android operating system, which was purchased and further developed by Google and the Open Handset Alliance to create an open competitor to other major smartphone platforms of the time, such as Symbian, BlackBerry OS, and iPhone OS. The operating system offers a customizable graphical user interface, integration with Google services such as Gmail, a notification system that shows a list of recent messages pushed from apps, and Android Market for downloading additional apps.

On Apple devices running iOS and iOS-based operating systems, jailbreaking is the use of a privilege escalation exploit to remove software restrictions imposed by the manufacturer. Typically it is done through a series of kernel patches. A jailbroken device permits root access within the operating system and provides the right to install software unavailable through the App Store. Different devices and versions are exploited with a variety of tools. Apple views jailbreaking as a violation of the end-user license agreement and strongly cautions device owners not to try to achieve root access through the exploitation of vulnerabilities.

Rooting is the process by which users of Android devices can attain privileged control over various subsystems of the device, usually smartphones. Because Android is based on a modified version of the Linux kernel, rooting an Android device gives similar access to administrative (superuser) permissions as on Linux or any other Unix-like operating system such as FreeBSD or macOS.

OpenWrt is an open-source project for embedded operating systems based on Linux, primarily used on embedded devices to route network traffic. The main components are Linux, util-linux, musl, and BusyBox. All components have been optimized to be small enough to fit into the limited storage and memory available in home routers.

<span class="mw-page-title-main">Replicant (operating system)</span> Free software version of Android

Replicant is a free operating system (OS) based on the Android mobile platform that intends to replace all proprietary Android components with free-software counterparts. It is available for several smartphones and tablet computers. It is written in the same programming languages as Android. The modifications are mostly in the C language; the changes are mostly to the lower-level parts of the OS, such as the Linux kernel and drivers that use it.

Samsung Knox is a proprietary security and management framework pre-installed on most Samsung mobile devices. Its primary purpose is to provide organizations with a toolset for managing work devices, such as employee mobile phones or interactive kiosks. Samsung Galaxy hardware, as well as software such as Secure Folder and Samsung Wallet, make use of the Knox framework.

Custom firmware, also known as aftermarket firmware, is an unofficial new or modified version of firmware created by third parties on devices such as video game consoles, mobile phones, and various embedded device types to provide new features or to unlock hidden functionality. In the video game console community, the term is often written as custom firmware or simply CFW, referring to an altered version of the original system software inside a video game console such as the PlayStation Portable, PlayStation 3, PlayStation Vita/PlayStation TV, PlayStation 4, Nintendo 3DS and Nintendo Switch. Installing custom firmware on some devices requires bootloader unlocking.

<span class="mw-page-title-main">PinePhone</span> Smartphone with Linux-based mobile operating system

The PinePhone is a smartphone developed by Hong Kong-based computer manufacturer Pine64, intended to allow the user to have full control over the device. Measures to ensure this are: running mainline Linux-based mobile operating systems, assembling the phone with screws, and simplifying the disassembly for repairs and upgrades. LTE, GPS, Wi-Fi, Bluetooth and both cameras can be physically switched off. The PinePhone ships with the Manjaro Linux operating system using the Plasma Mobile graphic interface, although other distributions can be installed by users.

<span class="mw-page-title-main">Bootloader unlocking</span> Process of disabling secure device booting

Bootloader unlocking is the process of disabling the bootloader security that makes secure boot possible. It can make advanced customizations possible, such as installing a custom firmware. On smartphones this can be a custom Android distribution or another mobile operating system. Some bootloaders are not locked at all, others can be unlocked using a standard command, others need assistance from the manufacturer. Some do not include an unlocking method and can only be unlocked through a software exploit.

<span class="mw-page-title-main">PinePhone Pro</span> Smartphone with Linux-based mobile operating system

The PinePhone Pro is a smartphone developed by Hong Kong-based computer manufacturer Pine64. The phone is the successor to the PinePhone released in 2019. The default operating system is Sailfish OS. The device is a developer platform with open hardware specifications but with unfinished software. The target group of the device is free and open-source software developers who will develop the software. The device was first shipped to developers in December 2021, and in February 2022 devices were made available to consumers.

References

  1. 1 2 "Hardware Hacking First Steps". 24 February 2011.
  2. "Locking/Unlocking the Bootloader".
  3. "Easily Unlock Your Android Bootloader With Fastboot". Lifewire.
  4. 1 2 "Consumer Electronics: Closing In on Open Source". LinuxInsider. 17 January 2007.
  5. Karen Sandler (24 August 2021). ""Anyone???"". Software Freedom Conservancy.
  6. "Mainlining".
  7. Watercutter, Angela (26 May 2016). "Watch Edward Snowden Teach Vice How to Make a Phone 'Go Black'". Wired.
  8. About - asahi linux. About - Asahi Linux. (n.d.). https://asahilinux.org/about/
  9. Paul, Matthias R. (2016-06-28) [2016-05-31]. "Casio College fx-80: which IC hides inside?". MoHPC - The Museum of HP Calculators. Archived from the original on 2023-08-11. Retrieved 2023-08-11. […] I own a modified Casio fx-180P with hyperbolic functions retrofitted. […] Comparing the functions of my fx-180P calculator with a friend's [fx-3500P or fx-3600P], I realized that although both calculators looked completely different and had a rather different keyboard arrangement, the functional assignments for each of the keys were the same. My fx-180P lacked a "hyp" key and the corresponding six functions […] This observation made me open the cases and […] reverse-engineer the PCB traces between the controller and the keyboard matrix, and add two wires to emulate the "missing" key […] I retrofitted a push button in a corner […] at the top of the case […]
  10. "Tweaker Turns GeForce GTX 690 Into a Quadro K5000". 23 March 2013.
  11. "Hacking the Rigol DS1052E Oscilloscope with Linux".
  12. "Manufacturer-Crippled Flir E4 Thermal Camera Hacked to Perform as High-End Model". 4 November 2013.
  13. "Hacking Your GPS Firmware - ExtremeTech". 29 March 2005.
  14. "Nikon Hacker • Portal".
  15. Kralevich, Nick (2010-12-20). "Android Developers Blog: It's not "rooting", it's openness". Android-developers.blogspot.com. Retrieved 2011-11-27.
  16. "Building for devices | Android Open Source". source.android.com. Archived from the original on 2011-05-21.
  17. German, Kent. "On Call: Go ahead and jailbreak, it's legal now | Dialed In — CNET Blogs". Cnet.com. Retrieved 2010-12-11.[ permanent dead link ]
  18. "Famed Xbox hacker wants to testify in Xbox 360 modder's DMCA trial – Video Games Reviews, Cheats". Geek.com. Archived from the original on 2012-10-09. Retrieved 2010-12-11.
  19. Previous post Next post (2009-08-04). "Student Arrested for Jailbreaking Game Consoles — Update | Threat Level". Wired.com. Retrieved 2010-12-11.
  20. Bright, Peter (2010-09-17). "Intel confirms HDCP key is real, can now be broken at will". Arstechnica.com. Retrieved 2010-12-11.
  21. Murphy, David (2010-11-20). "Microsoft: We Left Kinect's USB Port Unprotected on Purpose". PCMag.com. Retrieved 2010-12-11.