Language Selection

English French German Italian Portuguese Spanish

Google to Samsung: Stop messing with Linux kernel code. It's hurting Android security

Filed under
Android
Linux
Google
Security

Samsung's attempt to prevent attacks on Galaxy phones by modifying kernel code ended up exposing it to more security bugs, according to Google Project Zero (GPZ).

Not only are smartphone makers like Samsung creating more vulnerabilities by adding downstream custom drivers for direct hardware access to Android's Linux kernel, vendors would be better off using security features that already exist in the Linux kernel, according to GPZ researcher Jann Horn.

[...]

Incidentally, the February update also includes a patch for critical flaw in "TEEGRIS devices", referring to Trusted Execution Environment (TEE) on newer Galaxy phones that contain Samsung's proprietary TEE operating system. The Galaxy S10 is among TEEGRIS devices.

But Horn's new blogpost is focused on efforts in Android to reduce the security impact of vendors adding unique code to the kernel.

"Android has been reducing the security impact of such code by locking down which processes have access to device drivers, which are often vendor-specific," explains Horn.

An example is that newer Android phones access hardware through dedicated helper processes, collectively known as the Hardware Abstraction Layer (HAL) in Android. But Horn says vendors modifying how core parts of the Linux kernel work undermines efforts to "lock down the attack surface".

Read more

Google slams Samsung for making unnecessary changes to Linux

  • Google slams Samsung for making unnecessary changes to Linux kernel code

    We all know that Samsung makes an extra effort in strengthening the security of its smartphones with initiatives such as Knox. However, sometimes those extra efforts hurt more than they help. Now, Google has slammed the South Korean smartphone brand for making unnecessary changes to the Linux kernel code and exposing it to more security bugs.

    According to Google Project Zero researcher Jann Horn, Samsung is creating more vulnerabilities by adding downstream custom drivers for direct hardware access to Android’s Linux kernel. These changes are implemented without being reviewed by upstream kernel developers. Horn found a similar mistake in the Android kernel of the Galaxy A50, and the unreviewed custom driver added security bugs related to memory corruption.

Google Scolds Samsung For Making Linux Kernel In Android

  • Google Scolds Samsung For Making Linux Kernel In Android More Hackable

    Google is accustomed to seeing smartphone vendors making changes to the Linux kernel in Android. It is essential, at times, for some device-specific drivers to function properly.

    However, it was “unnecessary” to make such changes in Samsung Galaxy A50’s Android kernel, writes Google’s Jann Horn in a blog post. Horn is part of Google’s Project Zero (GPZ) team that is responsible for finding bugs and security exploits.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

More in Tux Machines

Python Programming

  • Only Python: Friendly-traceback: work in progress

    It's been almost two months since my last blog post and I feel guilty of not haven't taken the time to write more regularly.  I should really tell you about how fantastic Will McGugan's Rich is, and how I have customized it for my projects. I should also tell you how Sylvain Desodt's DidYouMeanPython has been influencing Friendly-traceback latest developments. Also worthy of note is how Alex Hall's FutureCoder project is incorporating so many neat tools that it feels like a real honour that he has incorporated Friendly-traceback in it. Alas, while I have been busy making many changes and addition to the code, the documentation is hopelessly behind and no longer gives a correct picture of what Future-traceback is now capable of. So much to do, so little time. So, I will just end with a picture, and go back to coding, with a promise of writing more ... soon I hope.

  • Python range() Function – Linux Hint

    Python is a modern, general-purpose, and high-level programming language that comes with powerful features. Python has many built-in modules to support diverse operations. The range() function is a built-in function used to perform specific tasks or actions for a definite number of times. In other words, the range() function is used to perform a task iteratively. This function is used in conjunction with the for loop and the while loop.

  • Python Dictionaries – Linux Hint

    Python is an efficient and versatile programming language. It is one of the most frequently used high-level programming languages to perform data-related tasks due to its many supportive built-in modules and functions. To mention some of its many built-in data structures, it has arrays, lists, tuples, etc. Dictionaries are one of the built-in data structures in Python. It holds the data in the form of a key-value pair. The keys are the unique value that acts as a representative of data. The key is also called as “an index value”. Data structures are a very important aspect of any programming language. They are used to store and manipulate the data in a well-organized and efficient way. Therefore, Python dictionaries are more useful when we need to store the data in a form of key-value pair and to access the data faster. The Python dictionaries return the data faster because the key value for every data is unique, therefore the searching time for data is reduced, and we get the result faster. This article explicates the Python dictionaries in detail.

  • Python Classes – Linux Hint

    Python is one of the multiuse high-level programming languages. It is an object-oriented programming language. The main difference between the procedural and object-oriented programming languages is that we cannot create the classes in procedural programming languages. The main focus of procedural languages is on creating functions, and variables for performing the task whereas, in object-oriented programming languages, our main concern is to create objects and use them for performing our tasks. A class is simply a blueprint that contains functions and variables. A class is like a real-life classroom of any institute. It contains some chairs, tables, desks, a projector, walls, etc. base on all these components; we build a classroom. All these components are the variables and functions in a class, and a classroom is an object. The Python classes and objects are explained in this article.

  • FreeBSD process environ and resource limits

    New psutil 5.7.3 is out. This release adds support for 2 functionalities which were not available on BSD platforms: the ability to get the process environment (all BSD) and to get or set process resource limits (FreeBSD only), similarly to what can be done on Linux.  

Kernel: KVM, Btrfs and nosymfollow

Japanese IME on PCLinuxOS 64 KDE5 Magnum 2020 1015

I recently saw that my install of PCLinuxOS was behaving funny after and update: the effects ceased working and web pages were loading slowly. Last time this happened to me, I had to install a new iso because I had been working with a very old one. This time, however, I had kept up with all the updates thanks to the convenient Simple Update Notifier, but something was not good. Anyway, I decided to install the new PCLinuxOS 64 KDE5 Magnum 2020 1015. The installation went well, but I was worried because I normally install the PCLinuxOS GRUB2 on the distro partition, not on the MBR, but it was not possible for me to do it this time, so I was predicting a mess trying to boot OpenMandriva, Mageia, MX Linux, and Elive. Read more

Microsoft Disables GitHub Repository of Open Source Project youtube-dl

Recording Industry Association of America, Inc. (RIAA) sent a notice to GitHub for hosting youtube-dl source code. Microsoft’s GitHub took immediate action to disable the repositories. But was it the right thing to do? Read more