With Android Oreo, Google Is Introducing Linux Kernel Requirements (betanews.com)
Mark Wilson shares a report from BetaNews: As is easy to tell by comparing versions of Android from different handset manufacturers, developers are -- broadly speaking -- free to do whatever they want with Android, but with Oreo, one aspect of this is changing. Google is introducing a new requirement that OEMs must meet certain requirements when choosing the Linux kernel they use. Until now, as pointed out by XDA Developers, OEMs have been free to use whatever Linux kernel they wanted to create their own version of Android. Of course, their builds still had to pass Google's other tests, but the kernel number itself was not an issue. Moving forward, Android devices running Oreo must use at least kernel 3.18, but there are more specific requirements to meet as well. Google explains on the Android Source page: "Android O mandates a minimum kernel version and kernel configuration and checks them both in VTS as well as during an OTA. Android device kernels must enable the kernel .config support along with the option to read the kernel configuration at runtime through procfs."
Whoooppeeee!
All we need now is Wayland and the Unity desktop
If the complete kernel configuration can be read, does this mean malware authors like NSA, CIA, criminals etc. will have an easier time getting inside your phone?
Obviously.
That's why I always use a Chinese android phone..... oh wait!
Since you also have access to the kernel sources it would be easy to fake the interface and kernel version if you were to plan to use an unsupported kernel. Any problems would however be at your dime, not to be blamed on Android or Linus.
I can understand the minimum level requirements on the kernel and possibly also to allow the rest of Android to inspect the kernel configuration in order for the environment to be able to ensure that the platform it runs on is providing sufficient services. But these should still just be recommendations and not a final condition. Many hobbyists are able to create "bastard" solutions that works pretty well.
If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
# echo "3.18" > /proc/version
I know it's a little more complicated than that, but I know that some of those handset devs will be tempted to try just modifying the kernel number to pass the test.
"First they came for the slanderers and i said nothing."
If they can run code on your device (which they would need to do to read the configuration), then the phone will already be pwned. Privilege escalation exploits are a dime a dozen, even on Linux.
"First they came for the slanderers and i said nothing."
So, they want you to run a kernel that is younger than two years old, and they want to be able to see which features it has enabled. Both perfectly reasonable requirements, most likely based or real engineering issues.
If the complete kernel configuration can be read, does this mean malware authors like NSA, CIA, criminals etc. will have an easier time getting inside your phone?
Not really. It seems to me all Google is doing is forcing Linux on these Android phones to behave closer to the way it already does on Linux servers and desktops.
Linux has never been about security through obscurity - that's just weirdness introduced by certain handset manufacturers.
#DeleteChrome
Re:systemd here we come!
All we need now is Wayland
Congratulation, you've successfully described Jolla's Sailfish OS....
and the Unity desktop
...and Canonical's attempts at Ubuntu Touch.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
Everyone use a chinese android phone.
Where do you think the SoCs come from?
Gnome 3 bloat with all normal functions removed (you'll add them with extensions and addons that breaks when there's a new update)
Mendacem Memorem Esse Oportet
Access to "the kernel source" is necessary, but mere availability doesn't necessarily assure the ability to build a working kernel for a particular device from scratch.
The sad fact is that many of the best Android ROMs at XDA are cut 'n paste "kitchen" ROMs that are no different from the way Windows Mobile ROMs used to be made, and plenty of others only run (limp?) with the phone's official OEM kernel.
Not even NEXUS phones are released with official build scripts capable of building the phone's complete 'stock' ROM from source.
With v4.13 just released!
It's a really new OS, then!
Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
All SoCs productized in 2017 must launch with kernel 4.4 or newer.
All other SoCs launching new Android devices running Android O must use kernel 3.18 or newer.
Regardless of launch date, all SoCs with device launches on Android O remain subject to kernel changes required to enable Treble.
Older Android devices released prior to Android O but that will be upgraded to Android O can continue to use their original base kernel version if desired.
That you can't use the word "mandate" because it has the word "man" in it and that's a micro-aggression towards women in tech.
And "date" because its meaning either has sexual connotations or is ageist.
some phones use really horrible outdated kernel versions, mostly because they have blobs in them that aren't updated.
this is a good step in the right direction, but google could still do more.
On a long enough timeline, the survival rate for everyone drops to zero.
How about Android 8, my slow, challenged friend?
I'm actually surprised that Android was (is, 3.18 is 2.5years old!) permitted to use old kernels with all the bugs they had (unauthorised remote access was rarely a problem... but quite a few bugs allowed privilege scalation provided physical access, and a phone is not a computer room).
Hardware made in China, but the firmware, OS and software are made in the U.S.A. and other not-China countries.
#DeleteFacebook
Intel fabs? Taiwan (not Chinese) fabs?
#DeleteFacebook
And when you use the two words together you get a "man date", which is coercion toward women, forcing them to use their phones wether they want it or not.
#DeleteFacebook
This seems to me like a major hindrance for developers of custom firmwares. Since OEM's don't give a shit and don't release hardware blobs for their own devices, community developers had to use older kernels with new firmwares. For example my 4 year old Nexus 4 runs a bugfree custom Android 7.1.1 but the kernel is still the same as with 5.0, since Google stopped supporting the device and didn't release blobs for newer kernels. Now a kernel version of 3.18 for O seems fine, but there's no guarantee that newer firmwares won't have much higher requirements, like 4.0 for P etc. This would make many devices obsolete despite the high effort of those community developers, doing on their spare time the jobs that the OEM's should do.
If Google wanted to be serious about this they had to at least demand of OEM's to publish hardware blobs from now on for newer kernels. But it seems that this action is just another another step by big G to help the OEM's to accomplish more easily their planned obsolescence for any device which is over a year old.
I wonder how much is to simplify life for project Treble, and how much to fuck everyone with safetynet?
Right now you can defeat the safetynet checks by having the kernel not report on the bootloader lock/unlock status, but if you enforce a 4.4.x kernel as well as publishing the config, safetynet will check the bootloader status and will see from the config if the kernel is reporting it or not. If unlocked or configured to not report it, safetynet will fail the basic checks.
This will quickly kill custom ROMs, as well as any pretense to android's openness, as more and more ***hole devs use safetynet to block running their apps on rooted/modified devices.
I was thinking maybe that people should take a real close look at 3.18 to find the NSA backdoors.
"His name was James Damore."
All these air quotes you people are doing is a form of talking with your hands, which is now accepted to be a micro-aggression also.
"His name was James Damore."
Then some app comes along that needs to do something different depending on kernel version, and uses the 3.18 which fails
App devs are practical, however, and will figure it out and add more specific tests. If they don't, they lose sales.
"His name was James Damore."
It does help third party developers keep older phones updated with newer kernels. Starting with a known kernel config is a huge time saver.
I take offense at your use of "micro." You are impugning my manhood. My aggressions are a "good size." She told me so and that's why I know it's true.
I've fallen off your lawn, and I can't get up.
The Android OS is already running on your Android phone so what other code are you talking about?
This new Android Oreo requirement that the article is talking about only says that your kernel configuration must be made available via /proc/config.gz (CONFIG_IKCONFIG_PROC=y) which is readable by any user. It does not require any special script or code to read. It's a pseudo file that's a gzip compressed ASCII representation of the kernel's compile time configuration.
CONFIG_DOUBLE_STUF
cause you know more is always better...
If the complete kernel configuration can be read, does this mean malware authors like NSA, CIA, criminals etc. will have an easier time getting inside your phone?
Marginally. This helps the good guys way more than the bad guys. More precisely, obfuscating the kernel configuration closes exactly zero attack vectors, but does inconvenience detecting and removing malware, not to mention normal maintenance.
When all you have is a hammer, every problem starts to look like a thumb.
# echo "3.18" > /proc/version
bash: echo: write error: Input/output error
(because /proc/version is r/o)
When all you have is a hammer, every problem starts to look like a thumb.
Yeaeh you would have to modify the version number at compile time.
"First they came for the slanderers and i said nothing."
The Android OS is already running on your Android phone so what other code are you talking about?
I was answering a question. Don't expect to understand a conversation without understanding the context. Reading comprehension 101, fool.
"First they came for the slanderers and i said nothing."
Obviously.
To who?
Obviously a complete whoosh to the ass who downmodded. To make this perfectly clear: the "obviously" is flat wrong.
When all you have is a hammer, every problem starts to look like a thumb.
You didn't answer their question. You made a loosely related statement that attempted to move the goal post of the argument to something new.
Here's their question:
"If the complete kernel configuration can be read, does this mean malware authors like NSA, CIA, criminals etc. will have an easier time getting inside your phone?" - Anon
Here's an answer:
No.
Google's intention for these changes is to facilitate faster patching of bugs and security vulnerabilities.
I'm not expert, but...
Actually, I think it is obviously true. Just not significant. Easier means a trifle less work, so there is less of a look-up required. Significantly isn't true, because library calls aren't that hard.
I think we've pushed this "anyone can grow up to be president" thing too far.
What's weird though is that echo /proc/version yielded /proc/version even though kwrite /proc/version got the correct info.
I think we've pushed this "anyone can grow up to be president" thing too far.
You didn't answer their question.
I did. I explained why it won't make it appreciably easier for the NSA/CIA/criminals to pwn your phone.
"First they came for the slanderers and i said nothing."
I'm not expert, but... Actually, I think it is obviously true. Just not significant. Easier means a trifle less work, so there is less of a look-up required. Significantly isn't true, because library calls aren't that hard.
Yes, it's clear you're not an expert. This fact is clear to all security experts: the bad guys do not give a rat's fuzzy behind how difficult an exploit is.[1] The only thing they care about is, is it possible. Essentially, the very first rule a security neophyte needs to learn is, there is no such thing as "making it harder". There is only possible and not possible.
[1] In fact, difficult exploits are preferred for a number of reasons, including bragging points.
When all you have is a hammer, every problem starts to look like a thumb.
Essentially, the very first rule a security neophyte needs to learn is, there is no such thing as "making it harder". There is only possible and not possible.
Making a brute-force search require 10000 centuries on average is just "making it harder", but it is in practice the same as impossible.
Taiwan = China. It's the Republic of China if you listen to the Taiwanese, and the People's Republic of China if you listen to mainland China. The ROC and the PRC still claim mainland China and the Taiwan Area as part of their respective territories.
In every environment I have ever worked in the "version number" is simply a compiled in constant. I have the kernel source, can't I simply compile in the version of the kernel that is being tested for?
I have mod points and I am not afraid to use them
Essentially, the very first rule a security neophyte needs to learn is, there is no such thing as "making it harder". There is only possible and not possible.
Making a brute-force search require 10000 centuries on average is just "making it harder", but it is in practice the same as impossible.
Keep in mind, the boundary of what is vulnerable to brute force keeps moving, and quicker than you think. Anyway, omitting the kernel config is no serious obstacle to a skilled cracker, trust me.
When all you have is a hammer, every problem starts to look like a thumb.
Hong Kong?
#DeleteFacebook
That's impossible, this is slashdot, everybody has Data A Live running in a loop in the "living-room" half of the basement.
No deto, no social life. You can't take that away from them. Let them have their deto.
Good post, except that Linux does not have user space device drivers, with a few exceptions such as X11 and FUSE.
Technically correct, as user-space driver subsystems like CUPS (for printing) and SANE (for scanning) don't depend much on anything specific to Linux proper. They're used with GNU/Linux, but they're also used with (say) FreeBSD.
Thanks. I thought that /proc/version was returning a text string, though in that case one has to wonder why I even tried kwrite.
I think we've pushed this "anyone can grow up to be president" thing too far.
Every country in the world actively spies on everyone and everything they think matters, including their own citizens. According to your logic, the only solution is "don't buy a phone".
This comment is my opinion and does not represent an official position of Donald Trump or others I do not work for
Hardware made in China, but the firmware, OS and software are made in the U.S.A. and other not-China countries.
Is the hardware made in China now? I've seen breakdowns from when the iPad came out and the hardware was mostly made in Taiwan, Korea, and Japan and assembled in China.