-
Big_McLargeHuge[
-
Big_McLargeHuge[
Unfortunately, Signal seems bearish on their future if the bill becomes law, it seems.
-
JTL
Not all countries governments are that "stupid", but I wonder how "independent" one can be from the US influence in the long run.
-
DannyWorkOrderPr
<cx2[m] "I don't know if RIots data is en"> It is, when you choose it in room settings
-
DannyWorkOrderPr
<cx2[m] "Can you only pay with paypal on "> No, they accept cc (albeit, through PayPal)
-
brenneke[m]
<DannyWorkOrderPr "It is, when you choose it in roo"> Good to know as a new user but.....says encryption is disabled in this room. (?)
-
DannyWorkOrderPr
Most mass-rooms do not have it enabled
-
DannyWorkOrderPr
Only secured by SSL
-
DannyWorkOrderPr
Which, on days like today, seems unfortunate
-
DannyWorkOrderPr
(The general state of things, not that this room is unencrypted)
-
Zenithium[m]
There are many reasons for public rooms not being encrypted
-
Zenithium[m]
-
Zenithium[m]
Well, end-to-end encrypted
-
TheJollyRoger
brenneke[m]: This channel is a public one, accessible to all. Turning on encryption in a public room which anyone can join is like building a 100-foot high wall around your house to keep intruders out, then leaving the gate open and not turning anyone away at the door.
-
TheJollyRoger
Doing so will also break any form of bridging or interoperability and most clients don't support it
-
TheJollyRoger
There would be no meaningful security gain either, because anyone can join it, and it'd also mean everyone would have to bear the burden of doing the key exchanges with all ~300 users in this channel.
-
Zenithium[m]
That exact quote from you is in the link xD
-
» TheJollyRoger cracks up.
-
TheJollyRoger
That's funny, hahaha
-
TheJollyRoger-M
Rrgh. Policykit is acting up again.
-
kohntree[m]
<hitchhooker[m] "kohntree I don't think project h"> Google and Qualcomm firmware no?
-
madaidan[m]
strcat: You've criticized the Whonix docs before. Could you be more specific? I want to fix it. I've already made a post about the host OS page because that's really bad. Anything else?
-
cyborgninjaneer[
kohntree: don't worry about EARN IT. Shit's gonna die in committee like it did the last two times.
-
brenneke[m]
<TheJollyRoger "brenneke: This channel is a publ"> Cool. You are passionate.
-
cyborgninjaneer[
What? That's an apt description.
-
cyborgninjaneer[
"No! You can't look! You have to walk in the wide-open door first. Then you can look."
-
bseeinu[m]
Any chance to run Gcam (with all permissions disabled)?
-
TheJollyRoger
Hi bseeinu[m], at this moment while some people have discovered ways that we don't officially endorse to get gcam to run and vehemently recommend against, at this moment gcam only runs because of a loophole in a security policy that GrapheneOS may close at a future date.
-
TheJollyRoger
It's also likely to stop working if Google decides to stop playing ball, so I wouldn't recommend it. OpenCamera isn't quite there yet as I understand it, but it's miles ahead of the default AOSP camera app.
-
skyfall007[m]
TheJollyRoger: Could I port Graphne to a s3
-
JTL
Wait what?
-
TheJollyRoger
hi skyfall007[m], if you're asking me for permission, I am not the one who can or can't give it to you but the code is under MIT license. That said, I really don't know if you'd have anything to gain from trying to port GrapheneOS to a device from... ~2013?
-
JTL
TheJollyRoger: 2012
-
JTL
(assuming it's *that* s3)
-
JTL
*sigh*
-
TheJollyRoger
Yeah goodness gravy.
-
rutxonboard[m]
Fun fact pre AOSP the Samsung S4 was directly supported by CopperheadOS
-
rutxonboard[m]
GuardianROM was the only attempt at a secure rom for the S3, but it failed as it was over ambitious
-
JTL
22:41 <rutxonboard[m]> Fun fact pre AOSP the Samsung S4 was directly supported by CopperheadOS
-
JTL
22:44 <rutxonboard[m]> GuardianROM was the only attempt at a secure rom for the S3, but it failed as it was over ambitious
-
JTL
I remember those projects :)
-
TheJollyRoger
Relics from the days of yore!
-
rutxonboard[m]
An S3 lacks in every single area in security. There's virtually no way to secure it now. I think even if you built your own vendor image with source you would have countless critical security vulnerabilities and no support for any sort of basic security model home to Android today. If I had a gun to my head and had to make a reasonably secure OS for the S3 likely xen4android would need to be resurrected, but even
-
rutxonboard[m]
then that's deeply flawed running on that hardware and has way too high of ram requirements
-
rutxonboard[m]
The best affordable option for a secure phone new is the Nokia 1.3. It has a snapdragon 205 with 1gb ram. It's brand new and will get consistent security updates for 3 years. It has Android 10. Disable gapps and call it a day. It will be a much better phone than an S3 in 2020
-
rutxonboard[m]
The other option is a used phone like a screen burned Pixel or a shattered iPhone which you should be able to find under $100 if you are willing to look at the Pixel 3 or iPhone 8
-
TheJollyRoger
Something I really like to do when looking at the cost of a device is think about when I'm going to need to end up replacing it. That's always been a big factor at when I look at buying a phone.
-
rutxonboard[m]
Yes, I look at guaranteed support and factor price per year
-
rutxonboard[m]
$80 for an iPhone SE, $30ish for a Nokia 3.1, $150 for a Pixel 3a
-
rutxonboard[m]
I have always only given up a phone since it no longer got security updates
-
TheJollyRoger
Yeah. It's not worth it for me to spend $150 on a phone if I know that even nine months, it will be a pop tart and I'll have to repeat the ordeal. At that rate, I might as well just spend the money on a Pixel 3a.
-
TheJollyRoger
Hell, it'd be worth less than a pop tart at that rate because at least a pop tart makes a tasty snack.
-
rutxonboard[m]
Right that's what is so great about Nokia phones. Super budget price and third place in security too Apple/Google
-
rutxonboard[m]
If you can't afford a Pixel or iPhone then there's no shame in a Nokia
-
TheJollyRoger
Nice!
-
TheJollyRoger
I'll have to keep that option on my table, thanks rutxonboard[m] :O
-
rutxonboard[m]
I read about that when I went through all of Daniel's reddit posts. Android One is very good for the average person. I recommend them to friends all the time
-
rutxonboard[m]
Android One without gapps is absolutely the poor man's GrapheneOS
-
TheJollyRoger
Oh huh. I haven't tried Android One before - I'm a refugee from BackdoorBerry.
-
rutxonboard[m]
The biggest issue is their low end used to go MediaTek, but everything is now Snapdragon
-
TheJollyRoger
Beautiful.
-
rutxonboard[m]
For most people I recommend an iPhone. If they can't afford it Nokia. If they don't like how restrictive it is I recommend Pixel
-
rutxonboard[m]
Nokia is usually what my friends go for
-
Hirppa
Samsung promises four years of security updates for Galaxy Xcover 4s Enterprise Edition and Galaxy Xcover Pro Enterprise Edition
-
rutxonboard[m]
It's not perfect, there has been a telemetry scandal. Though the value and security combo is off the charts. They also make the only security focused phones with good sized screens so it is good for people who can't stomach how small a Pixel 3a XL or iPhone 11 Pro Max is
-
rutxonboard[m]
> Samsung promises four years of security updates for Galaxy Xcover 4s Enterprise Edition and Galaxy Xcover Pro Enterprise Edition
-
rutxonboard[m]
Crappy support though. After some time it is quarterly updates. Cheaper devices start as quarterly
-
Hirppa
Yeah. I think it was three years of montly updates and the last year quarterly
-
rutxonboard[m]
I am pretty sure it's 2 for a flagship
-
rutxonboard[m]
Could be wrong
-
rutxonboard[m]
Mid range phones are quarterly right away
-
rutxonboard[m]
Samsung is not horrible, but way too many caveats to recommend. iPhones and Pixels are both very comparable phones. Even Nokia depending on what you want
-
rutxonboard[m]
Samsung is definitely not the worst phone maker out there. They might even pull off a 5th place. I just wouldn't recommend them since they are so much worse than the alternatives
-
TheJollyRoger
OK that's it I'm adding the term "pop tart" to my lexicon. "pop tart: n. (alt. spellings: poptart, pop-tart) - slang term for a useless, insecure, or obsolete phone now only useful as an impromptu charge pack for energy, much like the eponymous pastry which provides calories, but no nutritional value."
-
rutxonboard[m]
That's amazing
-
TheJollyRoger
Hehehe X)
-
rutxonboard[m]
I hate how expensive phones are now
-
TheJollyRoger
Same here :(. Some of my relatives have the bigger iPhones, and spent almost more than enough money to buy new laptops on them.
-
rutxonboard[m]
I can't afford a secure daily driver and a device to write for
-
rutxonboard[m]
We need to go back to the old days
-
rutxonboard[m]
> Same here :(. Some of my relatives have the bigger iPhones, and spent almost more than enough money to buy new laptops on them.
-
rutxonboard[m]
iPhones can be incredible value, but buying them new? No thanks. I wouldn't mind a 2 year old one with a good battery for half the price. They are basically 2 years ahead on performance anyway
-
Hirppa
Interestingly, there are also Enterprise Editions of some Samsung flagship devices, but those are much more difficult to buy than the standard editions
-
TheJollyRoger
Yeah. >_<.
-
rutxonboard[m]
iPhone XS still keeps up with every Android out and still has longer support
-
rutxonboard[m]
Why people don't either keep their iPhones longer or buy used amazes me
-
Hirppa
I would like to have removable battery, which is a difficult thing to ask for nowadays
-
rutxonboard[m]
> I would like to have removable battery, which is a difficult thing to ask for nowadays
-
rutxonboard[m]
Look into Rugged Android Enterprise phones. 5 years support and I think some have removable batteries
-
rutxonboard[m]
They are around $1000 on 3rd party sites though
-
Hirppa
Yeah, but those phones rarely are supported by AOSP based projects
-
rutxonboard[m]
I dunno man. Stick to Google, Apple, and Nokia they are just killing it lately
-
rutxonboard[m]
Batteries aren't that expensive
-
TheJollyRoger
I usually carry around a charge pack in my backpack... best I can do at the moment.
-
TheJollyRoger
*a 10,000 mAH charge pack
-
Hirppa
Currently i have a Pixel 1st gen with a swollen battery... that's the problem with non-removables
-
rutxonboard[m]
PinePhone and Librem sure suck for security, but if that's the hill you're going to die on then they are a lot better than an ancient Android
-
» TheJollyRoger pokes a hole in the battery to let the air out :D </trollface>
-
TheJollyRoger
(I'm joking, don't do that)
-
Hirppa
hehe
-
rutxonboard[m]
I highly recommend the iPhone SE or Pixel 3a for anyone looking for a phone right now
-
TheJollyRoger
I'll second that!
-
TheJollyRoger
It's a bit of a premium option, but if you can find an Orico Multicharger charge pack with the USB-C port, keeping one of those around can be a lifesaver, especially for long car trips and such.
-
rutxonboard[m]
Ah yeah, pixel 3a battery life is obscene on GrapheneOS though
-
TheJollyRoger
With the USB-C to USB-C or the USB-A fast charging to USB-C port, you can usually have your phone from 30% back up to 90% in less time than it takes to eat lunch.
-
TheJollyRoger
Aww yes :D
-
rutxonboard[m]
My 3a could handle 700 miles ha
-
TheJollyRoger
Wow, by bus that's quite a trip!
-
rutxonboard[m]
Haha ouch
-
Biv[m]
oh the 3a has better battery?
-
some_bloke[m]
<rutxonboard[m] "Ah yeah, pixel 3a battery life i"> Are you saying it's good or bad?
-
Biv[m]
rip
-
Biv[m]
pixel 2 xl is dogshit battery life :(
-
Biv[m]
comparatively
-
Biv[m]
battery lasts me like maybe 8 hours of actual use
-
Biv[m]
nothing heavy either
-
rutxonboard[m]
> > <@rutxonboard:matrix.org> Ah yeah, pixel 3a battery life is obscene on GrapheneOS though
-
rutxonboard[m]
> Are you saying it's good or bad?
-
rutxonboard[m]
2-3 days
-
some_bloke[m]
Lasts me 3-4 hours of Zoom conferencing.
-
TheJollyRoger
Well, that's the difference in terms of whether something's in the foreground running and the screen is on, or the phone is idle.
-
TheJollyRoger
3-4 hours of streaming is actually pretty damn good all things in.
-
TheJollyRoger
Jitsi usually has my phone's battery flattened in 2.
-
TheJollyRoger
(With the cameras running and all)
-
TheJollyRoger
So I keep a 10,000mAH juicepack with me all the time.
-
JTL
:D
-
strcat
cx2[m]: HDR is not buggy on GrapheneOS, Open Camera just has a shit tier implementation of legacy HDR
-
strcat
cx2[m]: also if you mess with the camera settings and change them from the defaults, it stops the Pixel Visual Core on the 2 / 2 XL / 3 / 3 XL from being used which loses HDR+
-
strcat
you definitely never want legacy HDR, it's near useless
-
strcat
the only way to use HDR would be to set up your phone on a tripod and use it to take a picture of a static scene without anything moving and that includes the wind not blowing around leaves, etc.
-
strcat
legacy HDR is not very useful
-
strcat
it takes 3 pictures and naively merges them, blurring anything that moved, and without a tripod EVERYTHING is moving
-
strcat
so HDR on a phone just gives you blurry, awful looking pictures
-
strcat
that's not what HDR+ does at all
-
strcat
HDR+ sets the camera to CONTINUOUSLY capture high quality frames and then when you take a picture it selects a bunch of those (8-12 or more) and INTELLIGENTLY merges them with an algorithm tracking what moved, etc.
-
strcat
so it captures far more image data than 1 image
-
TheJollyRoger
Ahoy strcat.
-
strcat
-
strcat
finally some progress in narrowing down the bluetooth issues - I suggested that approach before to start narrowing it down
-
strcat
glad to see someone started
-
JTL
Very good
-
strcat
my initial guess was that hardened_malloc caused it which is why I suggested starting with that
-
strcat
I can't do it because I can't reproduce the problem
-
JTL
Understandable
-
rutxonboard[m]
I have a funky bug where everything goes really dark after switching between apps between normal and work profile. I assume that's upstream
-
rutxonboard[m]
Doesn't go away for a while
-
r4v3r23[m]
was color accent option taken away?
-
strcat
what color accent option?
-
strcat
if you mean something in developer options, those settings aren't meant for users
-
strcat
some are there for app developers, others for OS developers, often to test things
-
rutxonboard[m]
The color theme
-
rutxonboard[m]
Like having dark and brown theme
-
rutxonboard[m]
It's a normal AOSP thinf
-
r4v3r23[m]
android 10 has color accents
-
r4v3r23[m]
i was able to change it from blue to white on my primary device
-
r4v3r23[m]
but i dont see the option anymore
-
strcat
android always had color accents in the theme
-
strcat
r4v3r23[m]: you can't depend on developer options
-
r4v3r23[m]
what do you mean? it was available in prev build of graphene
-
r4v3r23[m]
i was able to change it
-
strcat
where was the option
-
strcat
in developer options?
-
r4v3r23[m]
-
r4v3r23[m]
yes, pretty sure
-
strcat
so, as I explained, those settings aren't meant for users
-
strcat
they come and go\
-
strcat
the settings in developer options are not features for users
-
strcat
they're for app and OS developers to test things including features that are under development
-
r4v3r23[m]
strange
-
strcat
developer options aren't meant to be used on a production device
-
strcat
r4v3r23[m]: why strange? I mean it's in a hidden developer options menu
-
strcat
it's hidden and not available to users, that's the intent
-
strcat
removing of settings from there is not removal of a feature for users, those settings aren't for users
-
strcat
and some of them have consequences you wouldn't realize
-
r4v3r23[m]
guess i got lucky getting to change it then :)
-
strcat
that dev options menu is a bunch of obscure, dangerous, and largely unsupported options
-
strcat
many come and go
-
strcat
it's hidden away for a reason
-
r4v3r23[m]
right but we need dev options to oem unlock/usb debug soooo
-
strcat
usb debugging isn't for production devices
-
strcat
for users submitting bug reports we need to make an app
-
rutxonboard[m]
> right but we need dev options to oem unlock/usb debug soooo
-
rutxonboard[m]
You should always turn that off after you're done
-
strcat
and then turn off dev options ideally
-
r4v3r23[m]
ok done
-
strcat
enable it only to disable oem unlocking again and then turn it off
-
rutxonboard[m]
That's what I do
-
strcat
having dev options enabled doesn't really hurt anything IF you haven't changed anything in there
-
strcat
but worth noting it usually asks for your password to enable dev options
-
strcat
it doesn't ask for your password to change stuff there once it's enabled
-
rutxonboard[m]
How do you recover if the OS got bricked if OEM locking is on? I've never done that
-
rutxonboard[m]
Recover that is
-
strcat
how would the OS get bricked?
-
strcat
if it fails to boot after an update, the firmware rolls back the update
-
strcat
verified boot ensures you have a bit-for-bit identical copy of the OS as what passed testing on the same device model
-
strcat
rutxonboard[m]: hard to see how that could happen - it never has happened
-
rutxonboard[m]
That's a good point, I guess it is impossible good both to get corrupted
-
strcat
rutxonboard[m]: if the flash memory actually broke I don't think being able to unlock would save you
-
strcat
rutxonboard[m]: also you can wipe data in recovery even with OEM unlocking disabled
-
rutxonboard[m]
Right, that's a good point
-
strcat
rutxonboard[m]: disabling OEM unlocking just reduces attack surface
-
strcat
locking the bootloader to enable verified boot is extremely important, and it provides most of the physical security that's available too (verified boot is mostly about protection against remote attackers, but it provides some more physical security too)
-
rutxonboard[m]
Right, you would have to have something in userdata break the system (basically impossible?) And then the recovery and backups would save you
-
strcat
disabling OEM unlocking as an additional step is just a minor reduction of attack surface by disabling the ability to unlock in fastboot mode
-
strcat
rutxonboard[m]: it's quite possible for userdata to end up corrupted somehow due to bugs in a way that breaks booting but you can always just wipe that from recovery
-
strcat
recovery doesn't read any of that persistent state so it can't break like that
-
strcat
it's stateless
-
strcat
the only thing recovery reads is the recovery command
-
rutxonboard[m]
Right, and if it gets a bad update it just rolls back
-
strcat
and it wipes that after trying to use it
-
strcat
recovery is just part of the boot image, alternate boot mode that boots up that recovery system and doesn't use persistent state
-
rutxonboard[m]
My apologies I really didn't think that through very well
-
strcat
no need to apologize
-
r4v3r23[m]
is the seed vault back up essential like reflashing my surrent set up when restoring?
-
r4v3r23[m]
* is the seed vault back up essentially like reflashing my surrent set up when restoring?
-
r4v3r23[m]
* is the seed vault back up essentially like reflashing my current set up when restoring?
-
strcat
r4v3r23[m]: it backs up system and app data via the standard backup service infrastructure
-
strcat
it's definitely not a filesystem image
-
r4v3r23[m]
what would be the best option for that?
-
strcat
for the system, it has support for backup/restore of the majority of the settings, etc.
-
strcat
and by default it fully backs up app data
-
strcat
unless apps disable backups
-
strcat
r4v3r23[m]: you can't take a filesystem image of userdata and restore it, it doesn't work that way
-
strcat
userdata is encrypted
-
r4v3r23[m]
gotchya
-
strcat
and there isn't a way to access all of it like that
-
strcat
if you took the flash chip in your phone and put it in another phone
-
strcat
it would not be possible to decrypt any of the data/metadata
-
rutxonboard[m]
Thanks to the Titan chip right?
-
strcat
no not really
-
strcat
the baseline data outside profiles is encrypted with hardware-based encryption, that doesn't involve the Titan M
-
strcat
profile data is encrypted with a combination of hardware-based encryption and credential-based encryption, it uses both as inputs to derive the key encryption key
-
r4v3r23[m]
hows the support for the project going? i remember saying you were having difficulty securing a model to make graphene sustainable
-
r4v3r23[m]
is the still the case?
-
rutxonboard[m]
Gotcha, I thought it did the hardware encryption I should look into that more
-
strcat
the Titan M is involved in that - it makes profile-based encryption stronger
-
strcat
rutxonboard[m]: the Titan M strengthens credential-based encryption
-
strcat
via an API called Weaver
-
r4v3r23[m]
* is that still the case?
-
strcat
rutxonboard[m]: Weaver has 'slots', one slot per profile
-
strcat
rutxonboard[m]: slots are basically a map of auth token -> randomly generated token
-
rutxonboard[m]
That's an awesome design actually
-
strcat
rutxonboard[m]: so when you create a profile
-
strcat
rutxonboard[m]: and set an auth method
-
strcat
rutxonboard[m]: the OS passes an auth token derived from the auth method and a random token to the Titan M via Weaver
-
strcat
to set it up for the profile
-
strcat
now, for future unlocks, the OS needs that random token as one of the inputs for encryption key derivation and so on
-
rutxonboard[m]
For a guest account(with no login) the data I assume is using the basic hardware encryption?
-
strcat
and the Titan M will only provide that random token if the correct auth token is supplied
-
strcat
rutxonboard[m]: or just a profile without a lock method
-
strcat
yeah
-
strcat
rutxonboard[m]: setting a lock method uses the lock method as an ADDITIONAL input for key encryption key derivation, and also sets up Weaver and uses the random token stored on the Titan M as another input for key encryption key derivation too
-
strcat
rutxonboard[m]: the hardware-based inputs to key derivation are still used - your lock method adds security, it doesn't remove any
-
strcat
if you use a totally shit tier lock method like a password 223344 it doesn't make the encryption any weaker than it was
-
rutxonboard[m]
> and the Titan M will only provide that random token if the correct auth token is supplied
-
rutxonboard[m]
The Titan M protects from bruteforcing with enforcing rate limiting I imagine?
-
rutxonboard[m]
That's amazing
-
strcat
rutxonboard[m]: it has a secure internal timer protected from tampering and enforces an exponentially increases delay that quickly reaches 1 day per attempt
-
strcat
rutxonboard[m]: the key derivation is the basic defense against brute forcing, including hardware-bound key derivation designed to prevent brute forcing on a different machine
-
strcat
rutxonboard[m]: Weaver via the Titan M is in addition to this
-
strcat
other devices can implement Weaver - it's all open source
-
strcat
rutxonboard[m]: Pixel 2 doesn't have the Titan M and still has Weaver
-
strcat
it used an NXP security chip for Weaver
-
strcat
rutxonboard[m]: it requires a secure element with persistent storage + a secure internal timer and the ability to put an applet on it implementing this
-
strcat
rutxonboard[m]: there's also 'insider attack protection'
-
strcat
rutxonboard[m]: to do firmware updates of these security chips (including the one before the Titan M), the owner account must authenticate successfully
-
strcat
rutxonboard[m]: the security chips have signature verification for updates + verified boot
-
strcat
but they ALSO enforce that the owner account has authenticated
-
strcat
rutxonboard[m]: you have 2 options really: successfully authenticate or wipe the security chip (which happens when wiping data)
-
strcat
rutxonboard[m]: otherwise can't update the firmware on the chip
-
rutxonboard[m]
That allows for safely flashing a custom one of they open source it? Or just from a GovtOS type situation?
-
strcat
rutxonboard[m]: no it doesn't bypass signature verification
-
strcat
it's in addition to signature verification
-
strcat
the purpose is that the US government or an insider at Google cannot make evil firmware and use it to bypass the Titan M Weaver feature
-
strcat
rutxonboard[m]: 'insider attack protection' as in it protects you from the company that makes / signs the firmware
-
strcat
even if they can be pressured into making evil firmware, it can't be installed without authenticating successfully
-
strcat
rutxonboard[m]: remember when the FBI wanted apple to make evil SEP firmware?
-
rutxonboard[m]
Right pre Secure Enclave right?
-
strcat
they can't pressure Google to do that, Google doesn't have the power to make a firmware update that can be installed on the Titan M without the owner account authenticating
-
strcat
rutxonboard[m]: no not really
-
TheJollyRoger
They were trying to compel Apple using their own interpretation of the All Writs Act to essentially force Apple to write what I would call a "Rogue Update" which would disable the "nuke" feature.
-
strcat
it's a good design and I haven't seen something like their insider attack protection feature
-
rutxonboard[m]
> they can't pressure Google to do that, Google doesn't have the power to make a firmware update that can be installed on the Titan M without the owner account authenticating
-
rutxonboard[m]
Which defeats the point
-
TheJollyRoger
Then they wanted Apple to sign it using their signing keys, and push that to the phone they had confiscated.
-
strcat
IIRC the Pixel 2 had this too with the NXP chip
-
rutxonboard[m]
> They were trying to compel Apple using their own interpretation of the All Writs Act to essentially force Apple to write what I would call a "Rogue Update" which would disable the "nuke" feature.
-
rutxonboard[m]
Which is essentially forced labor
-
strcat
rutxonboard[m]: NXP security chip on Pixel 2 *just* does Weaver and IIRC still has insider attack protection via requiring auth to do firmware updates
-
rutxonboard[m]
> it's a good design and I haven't seen something like their insider attack protection feature
-
rutxonboard[m]
That's fascinating. If they open sourced Titan M would it still be required to be built and signed by Google?
-
rutxonboard[m]
Not that it really makes any difference
-
strcat
rutxonboard[m]: Titan M has both of these things but also expands the functionality, it adds enforcement of verified boot state, lock state, factory reset protection (not a security feature - anti-theft feature) and the StrongBox hardware keystore implementation which is by far the largest feature and includes features like physical confirmation support via the power button
-
strcat
rutxonboard[m]: open sourcing firmware doesn't mean you can install modified versions of it
-
strcat
you can build it yourself and use their signature as long as builds are reproducible
-
TheJollyRoger
The firmware is digitally signed by Google and digitally validated directly by the chip, right?
-
strcat
rutxonboard[m]: it shouldn't be possible to install modified firmware on these kinds of security chips
-
strcat
TheJollyRoger: yes it verifies the signatures of updates *and* has verified boot
-
strcat
TheJollyRoger: *and* the owner must authenticate before it accepts firmware updates at all
-
TheJollyRoger
Wow. Verified boot, for a device that acts as a root of trust for verified boot within the device.
-
strcat
TheJollyRoger: you can look at the source code for the Pixel 2 security chip
-
TheJollyRoger
WOW!
-
rutxonboard[m]
> rutxonboard: it shouldn't be possible to install modified firmware on these kinds of security chips
-
rutxonboard[m]
That's a brilliant design. I'm not surprised Google doesn't advertise that feature
-
strcat
it's a proprietary NXP security chip but the Google code is open source
-
strcat
rutxonboard[m]: well they kinda do
-
rutxonboard[m]
That's awesome
-
strcat
they advertise the security chip and have blog posts about it
-
» TheJollyRoger needs to make a "Yo dawg, I heard you like verified boot so we put your verified boot in your verified boot..."
-
TheJollyRoger
Sec, I'll go and dig it up.
-
strcat
-
strcat
here are the security chip applets used on the Pixel 2 security chip
-
strcat
and can be used elsewhere
-
rutxonboard[m]
> they advertise the security chip and have blog posts about it
-
rutxonboard[m]
Is hands on and blog posts your main wat of learning about this stuff? I haven't really found whitepapers or anything
-
strcat
android.googlesource.com/platform/e…bese/+/android-10.0.0_r30/apps/boot was the early draft of security chip enforcement of verified boot / lock state
-
rutxonboard[m]
I do enjoy researching this stuff
-
strcat
wasn't actually used on the Pixel 2, it enforced it via the SoC only
-
strcat
didn't ship
-
strcat
-
strcat
is weaver
-
strcat
on the Pixel 2 NXP chip
-
TheJollyRoger
Oh, beat me to it XP.
-
rutxonboard[m]
Interesting, I can't wait to see what Google can do if they start making their own chips
-
TheJollyRoger
I'm looking forward to hearing about OpenTitan.
-
strcat
-
strcat
is where it throttles attempts
-
strcat
rutxonboard[m]: this code is the Pixel 2 Weaver applet for the NXP security chip
-
strcat
which is basically a standard Java smartcard
-
rutxonboard[m]
That's awesome reading that code right now
-
strcat
where they signed the firmware, implemented insider attack protection and included this weaver applet
-
strcat
rutxonboard[m]: so, Weaver + insider attack protection were carried over to the Titan M - which is their own security chip (it is their own hardware, just not their own SoC design - it's a standard ARM secure element SoC design)
-
strcat
rutxonboard[m]: they did design and manufacture the Titan M themselves
-
rutxonboard[m]
Essentially there's little to gain security wise them
-
rutxonboard[m]
Then*
-
strcat
rutxonboard[m]: Titan M adds a production implementation of the 'boot' applet there to enforce verified boot and lock state
-
rutxonboard[m]
By building their own SOC
-
strcat
rutxonboard[m]: and adds factory reset protection support (i.e. it has a little data section usable by the OS to implement FRP)
-
strcat
rutxonboard[m]: which is an anti-theft feature - we don't use that
-
strcat
rutxonboard[m]: basically what they do is put a token in there that maps to your Google account so that after a factory reset it's still tied to your account and forces login after boot
-
strcat
rutxonboard[m]: anti-theft feature
-
strcat
to make it not tied to your account you have to remove your account
-
strcat
rutxonboard[m]: that makes it so someone that steals the device and wipes it via recovery can't use it even tho they wiped all the data
-
rutxonboard[m]
So it's like the iCloud Lock that junks iPhones? Very broadly speaking
-
rutxonboard[m]
Oh gotcha
-
rutxonboard[m]
That makes more sense
-
strcat
rutxonboard[m]: yes, it's on all Android phones, but Pixels have a secure element based implementation
-
TheJollyRoger
Yeah. Incentivizes returning the phone to discourage steal-and-sell.
-
strcat
rutxonboard[m]: usually there's just a frp partition used for this little bit of data
-
strcat
rutxonboard[m]: pixels got rid of that and put it on the Titan M via a tiny little API for setting and retrieving a small block of data there
-
strcat
rutxonboard[m]: it's really super overkill
-
rutxonboard[m]
This is all very impressive, I didn't know how far ahead Google was
-
rutxonboard[m]
In hardware level security
-
TheJollyRoger
Wow. So to circumvent factory reset protection, they have to attack the HSM itself... which is paranoia-level secure. Brilliant.
-
strcat
so gen 1 chip on Pixel 2 (NXP chip) had Weaver, insider attack protection
-
strcat
Titan M has Weaver, insider attack protection, verified boot enforcement, lock state enforcement, factory reset protection enforcement, and StrongBox keystore
-
strcat
the biggest feature by far is the StrongBox keystore - it's an HSM implementation of the standard keystore API used by the OS and apps
-
strcat
rutxonboard[m]: so for example, that's what Auditor is based on
-
strcat
it uses a hardware-backed key with attestation enabled
-
strcat
it generates a persistent key used to identify / verify the pairing with that device via signatures from the hardware-backed key
-
strcat
and it turns on attestation which adds attestation metadata to the public key certificate (private key cannot be exported from the keystore of course, just the public key certificate)
-
strcat
the public key certificate is signed by the batch key in the keystore which chains to the attestation root
-
strcat
Auditor pins that certificate chain rather than relying on the root cert
-
strcat
rutxonboard[m]: anyway lots of apps have a use for the keystore
-
rutxonboard[m]
For the other phones that support your app
-
strcat
rutxonboard[m]: as an example an SSH client can generate an RSA or ECDSA key in the keystore
-
rutxonboard[m]
What are they doing?
-
strcat
rutxonboard[m]: there is a traditional TEE-based keystore
-
strcat
rutxonboard[m]: and then StrongBox == secure element based keystore
-
strcat
Pixel 3 and 3a have StrongBox via Titan M
-
strcat
very new Samsung phones with a Qualcomm SoC implement StrongBox via Qualcomm SPU
-
strcat
rutxonboard[m]: the keystore API is an HSM API basically
-
strcat
the traditional one is implemented via the TEE and has a lot more features / algorithms and "unlimited" storage for keys
-
strcat
rutxonboard[m]: because the way that the TEE stores data is it encrypts it with a hardware-bound key and then passes the data back to the OS to be stored by the TrustZone service
-
strcat
rutxonboard[m]: so one of the issues with the traditional approach is that someone could save this encrypted data and try to do a replay attack
-
strcat
rutxonboard[m]: so there is an optional 'rollback resistance' feature
-
strcat
rutxonboard[m]: which uses the Replay Protected Memory Block to store data to prevent replay attacks
-
strcat
rutxonboard[m]: an example would be lets say you delete a key in the TEE-based keystore
-
strcat
so it really just ends up deleting encrypted data it stored via the OS
-
strcat
it can't really reliably get rid of it or ensure it wasn't copied elsewhere by a compromised OS
-
rutxonboard[m]
I'm not confident I know what HSM stands for
-
strcat
hardware secure module
-
strcat
security chip basically
-
rutxonboard[m]
Okay Hardware Security Module that's what I thought, wanted to be sure
-
strcat
rutxonboard[m]: using the StrongBox (HSM) keystore is as simple as doing builder.setIsStrongBoxBacked(true)
-
strcat
rutxonboard[m]: it's the same API as the traditional TEE-based keystore, with fewer supported features / algorithms
-
strcat
-
strcat
and if you're curious why it supports 3DES, it's because banks and financial services heavily use it and wanted it included despite stripping away most of the algorithms
-
strcat
*shrug*
-
TheJollyRoger
Heh. Well...
-
strcat
and it's a simple symmetric algorithm so it doesn't add much attack surface or complexity at all
-
TheJollyRoger
It's kinda funny how 3DES soldiers on and refuses to die... *sigh* kinda crazy.
-
strcat
rutxonboard[m]: so the way the keystore works is you either generate or import a key, and the private key can never be exported
-
strcat
it tracks whether the key was generated internally or imported as one of the key properties
-
strcat
rutxonboard[m]: and then from that point on the OS can only use the key within the constraints placed on it
-
rutxonboard[m]
> and if you're curious why it supports 3DES, it's because banks and financial services heavily use it and wanted it included despite stripping away most of the algorithms
-
rutxonboard[m]
That's surprising, but also not.
-
strcat
-
strcat
setAttestationChallenge(byte[] attestationChallenge)
-
strcat
so that's how you enable attestation
-
strcat
you set a challenge string (provided by the host doing the attestation verification - random string) that it includes in the attestation metadata it adds
-
strcat
and it signs the public key cert with attestation batch key and provides that cert chain
-
strcat
setUnlockedDeviceRequired(boolean unlockedDeviceRequired)
-
strcat
rutxonboard[m]: you can use that, to keep the key at rest when the device is unlocked, and the keystore can then encrypt the key based on the token passed when unlocking
-
strcat
rutxonboard[m]: so you can use keystore keys to keep data at rest when the screen is locked by encrypting data with them
-
strcat
you can either DIRECTLY encrypt the data (ideal) or encrypt another key with them for performance
-
manamex[m]
<strcat "it's a proprietary NXP security "> It is compliant with global platform standards, it runs javacard apps you can install or update if you have card manager keys
-
strcat
setUserAuthenticationRequired(boolean required)
-
strcat
is to require recent authentication
-
strcat
different from requiring the profile to be unlocked
-
strcat
setUserPresenceRequired(boolean required)
-
strcat
is to require user presence to use the key
-
strcat
in practice that means the user has recently interacted with the device via a physical button, etc. that cannot be faked by the main SoC
-
strcat
setUserConfirmationRequired(boolean required)
-
strcat
and that requires explicit user confirmation
-
strcat
Sets whether this key is authorized to be used only for messages confirmed by the user. Confirmation is separate from user authentication (see setUserAuthenticationRequired(boolean)). Keys can be created that require confirmation but not user authentication, or user authentication but not confirmation, or both. Confirmation verifies that some user with physical possession of the device has
-
strcat
approved a displayed message. User authentication verifies that the correct user is present and has authenticated.
-
strcat
rutxonboard[m]: the way the TEE-based keystore implements this is via the fingerprint scanner, since the fingerprint scanning stuff is implemented with the TEE
-
strcat
rutxonboard[m]: so it can use that to do presence / confirmation / authentication checks directly
-
strcat
rutxonboard[m]: StrongBox keystore has access to all of that via the TEE (it pairs with the TEE)
-
rutxonboard[m]
That's so interesting, so to fake it you would need to actually hack the chip directly
-
strcat
rutxonboard[m]: on the Pixel 3, the Titan M has the power button directly wired to it and can detect when it's pressed
-
strcat
rutxonboard[m]: so basically you can store a key that requires prompting the user to press the power button to use it
-
strcat
rutxonboard[m]: the API is designed so that the security chip could in theory display the confirmation message to the user
-
strcat
and it provides a signed proof that the user saw the message
-
strcat
rutxonboard[m]: in practice, there isn't a secure display, and the OS is just displaying the message to the user
-
strcat
but it's set up so that in the future, the security chip could do something like temporarily taking over the display in a way that the main SoC can't interfere with
-
strcat
rutxonboard[m]: and the API provides proof that it happened and was confirmed
-
rutxonboard[m]
> but it's set up so that in the future, the security chip could do something like temporarily taking over the display in a way that the main SoC can't interfere with
-
rutxonboard[m]
Is that the kind of thing you want to make custom hardware for?
-
strcat
yeah
-
strcat
rutxonboard[m]: also consider something like a Bitcoin wallet
-
strcat
so, ideally the StrongBox keystore would support secp256k1 curve
-
strcat
and then it could be used for Bitcoin wallets
-
strcat
rutxonboard[m]: and ideally, it would support taking over the screen to display a recovery seed, so you could generate the key on the security chip instead of in the OS and then importing it
-
strcat
rutxonboard[m]: and ideally it would have direct support for Bitcoin and requesting confirmations via taking over the screen rather than only lower level signing operations without an understanding the protocol
-
strcat
and then you'd have a real hardware wallet inside the device
-
strcat
protected confirmation is useful but doesn't confirm a specific operation just USING the key
-
TheJollyRoger
Beautiful.
-
strcat
rutxonboard[m]: anyway the keystore can already be used for things like SSH or whatever
-
rutxonboard[m]
That would require allowing the Titan M to control the display stack, but very possible
-
strcat
rutxonboard[m]: including confirming usage of the key via physical confirmation
-
rutxonboard[m]
The GPU and the display
-
strcat
rutxonboard[m]: yeah just like they wired it up to the power button
-
strcat
it doesn't need the GPU
-
strcat
it doesn't need to do any fancy graphics
-
strcat
it'd just need a way to take over the display temporarily
-
rutxonboard[m]
That's insanely cool what this chip could do
-
rutxonboard[m]
And can
-
TheJollyRoger
Oh yeah :D
-
rutxonboard[m]
> it'd just need a way to take over the display temporarily
-
rutxonboard[m]
Does the Titan M enforce OTAs require any form of consent?
-
PeterEaston
Sorry about bouncing so much, I'm making some changes >_<.
-
rutxonboard[m]
I know it doesn't matter since one could just sideload them without consent. Purely curious how it handles the verification steps in that case
-
strcat
literally > 700 spam emails to danielmicay⊙gc in past couple days
-
strcat
fuck email
-
PeterEaston
Holy cow.
-
strcat
I don't get spam to my @grapheneos.org / @attestation.app emails yet
-
strcat
I don't really want to start using them to make commits because then the spam will start
-
strcat
I think posting to mailing lists is what really triggers it
-
PeterEaston
Sheesh >_<.
-
strcat
if people send me an email that goes to spam, which happens a lot when people use their own mail server that's not properly set up (missing SPF, DKIM or DMARC, or missing proper reverse IP record) it goes to spam
-
strcat
and then...
-
strcat
I never see it
-
strcat
cause I get hundreds of spam emails a day
-
strcat
so if people send email from their own domain I often won't see it since they probably don't have it set up properly
-
strcat
*shrug*
-
rutxonboard[m]
Would it make more sense to have people communicate another way?
-
renlord
doesnt gmail automatically sort ML emails?
-
renlord
fastmail has a tab that filters mailing list stuff
-
strcat
renlord: yeah and I also make my own filters to set stuff as never going to spam
-
strcat
I set emails relayed via github to never go to spam and I do the same for mailing lists
-
strcat
PeterEaston: oh so I said 700+ spam emails in 3 days
-
strcat
PeterEaston: but note... I have filters that immediately deletes tons of patterns
-
strcat
so those don't even go to spam
-
strcat
I was trying to clean up my spam folder to find useful emails
-
strcat
didn't work
-
strcat
> ʜᴇʏ__Danielmicay__ᴜɴʙᴇʟɪᴇᴠᴀʙʟᴇ💥_ʏᴏᴜ'ᴠᴇ_ᴡᴏɴ_$𝟸𝟶𝟶𝟶ᴄᴀsʜ+𝟷𝟶𝟶%_ғʀᴇᴇ_sᴘɪɴs____ᴄᴏɴғɪʀᴍ__ɴᴏᴡ___
-
PeterEaston
Ay carumba >_<.
-
strcat
FUCK Me💋 <mjefwkgM0IKyqF⊙rrbc>
-
rutxonboard[m]
You should just tell people to reach you on a sane communication platform
-
strcat
to RmqpUmdARN7N2SRSet-RmqpUmdARN7N2SRSet
-
strcat
the spammers have proper reverse IP, SPF, DKIM, DMARC ofc
-
PeterEaston
I'm still trying to get my sorry butt off MailFence... or at the very least, get them to start respecting the antispam measures we talked about on incoming mail >_<.
-
strcat
luckily it all goes to spam
-
PeterEaston
Good gravy.
-
rutxonboard[m]
You've get more spam email in a few days than I got in my whole life
-
strcat
I rarely ever get spam that goes to my inbox other than stuff like people sending me developer surveys or doing university studies
-
strcat
rutxonboard[m]: yeah I highly recommend not contributing to projects using mailing lists
-
strcat
or discussing things on mailing lists
-
strcat
you get a fucking ridiculous amount of spam
-
strcat
rutxonboard[m]: also people repost my email everywhere referencing my commits or the arch linux keyring
-
strcat
this spam email is totally fucked up
-
strcat
I'm looking at the original raw email
-
rutxonboard[m]
> I'm still trying to get my sorry butt off MailFence... or at the very least, get them to start respecting the antispam measures we talked about on incoming mail >_<.
-
rutxonboard[m]
Why MailFence? I only use email for accounts so I only use Gmail since I can trust them not to get hacked
-
strcat
it has like
-
strcat
20 different spam emails
-
strcat
inside the same email
-
strcat
wtf
-
rutxonboard[m]
How?
-
rutxonboard[m]
That's disgusting
-
strcat
-
strcat
what the fuck is this shit
-
strcat
it has ascii art
-
strcat
it has a comment with an ascii header art thing
-
PeterEaston
...good gravy...?!
-
strcat
and it has a ton of additional spam emails with display:none
-
strcat
like
-
renlord
you need the aliases to track which shit provider is leaking your email
-
strcat
they included 20+ spam emails in this
-
rutxonboard[m]
I think "private" email is bs PeterEaston there's no reason to use it. Gmail, Outlook, or iCloud would be the only ones I'd consider
-
renlord
then just blackmail the alias
-
strcat
renlord: I use my email publicly
-
strcat
mailing lists
-
strcat
commits
-
strcat
renlord: you're going to get tons of spam to whatever email you used for the GrapheneOS commits
-
PeterEaston
rutxonboard[m]: so far I've *kinda* had some good luck with Startmail. The only thing they've failed so far is DMARC alignment... >_>
-
» PeterEaston knocks on wood.
-
renlord
so far none
-
renlord
but my spam filter is so aggressive
-
strcat
I think mailing lists are the main issue
-
strcat
renlord: well I'm looking at my spam folder
-
strcat
none of this makes it into my inbox
-
renlord
even emails from my institution goes into spam immediately
-
strcat
I want to stop receiving mail that's classified as spam
-
strcat
it's rare that legit emails go into my spam folder
-
strcat
but people do send me emails that do
-
renlord
anyways, if urgent, my supervisors will email me directly
-
rutxonboard[m]
I used ProtonVPN for a while and their own emails went to spam
-
PeterEaston
strcat: you remember the Red Green show? There's this episode where Uncle Red on Handyman Corner made a flyer-remover by putting a vacuum cleaner over his mail slot and he joked "Is this a coincidence that the vacuum cleaner head fits over the mail slot? Nah, probably not."
-
rutxonboard[m]
> but people do send me emails that do
-
rutxonboard[m]
I'm not an email guy, but wouldn't an auto reply to spam work?
-
strcat
then I'll prob get even more spam
-
rutxonboard[m]
> rutxonboard: so far I've *kinda* had some good luck with Startmail. The only thing they've failed so far is DMARC alignment... >_>
-
rutxonboard[m]
I wouldn't use StartMail either if it's not a $100 billion company I'm not going to trust them with the keys to my kingdom
-
strcat
I should really just stop using email
-
rutxonboard[m]
> I should really just stop using email
-
rutxonboard[m]
Insist they use another platform
-
rutxonboard[m]
If it's important they will do that
-
strcat
I'm happily hosting my own email server for GrapheneOS
-
PeterEaston
rutxonboard[m]: you raise a good point :(
-
PeterEaston
Crud... Aaargh...
-
» PeterEaston starts drowning his sorrows.
-
renlord
i have a auto-reply rule for *@student.unimelb.edu.au
-
renlord
that auto-deletes everything and replies "your email has been deleted. thanks"
-
hitchhooker[m]
Such broken protocol
-
rutxonboard[m]
> rutxonboard: you raise a good point :(
-
rutxonboard[m]
I only trust Google to make my phone. GrapheneOS to make my rom. Google with my email/accounts. And I definitely try try too much with my laptop between everyone making stuff for that
-
rutxonboard[m]
I at least only use OTP on my phone
-
» PeterEaston basks in the glory of rutxonboard[m]'s humility.
-
renlord
gmail is getting more hostile with imap/smtp support
-
rutxonboard[m]
Trust*
-
strcat
renlord: just with passwords
-
strcat
not imap/smtp
-
rutxonboard[m]
> * PeterEaston basks in the glory of rutxonboard[m]'s humility.
-
rutxonboard[m]
That's a first
-
strcat
they're hostile towards using passwords because they want everyone to use 2FA
-
renlord
i cant remember if you need to toggle 'enable less secure apps' if you use 2FA
-
strcat
when you enable 2FA it makes you set up app passwords for apps
-
renlord
so with ^ do you need to toggle it?
-
strcat
I think it disables that altogether
-
strcat
you can't login with the username + password alone once 2FA is on and have to make app passwords
-
PeterEaston
rutxonboard[m]: hehehehe, well, it's... it's kinda a long story, I've spent so much time fighting with, then finally just trying to tune out the shrill voices of the dubious Toxic Power Users it's finally great to hear someone say look, listen to some real sense.
-
strcat
app passwords are meant to be per-app, temporary passwords
-
strcat
and it regularly warns you in the security review that you have them
-
strcat
they don't want you using them
-
strcat
they want apps to implement OAUTH and get access to a specific set of stuff that the user can review
-
strcat
and that does login via Google's login implementation including 2FA
-
strcat
renlord: it's hostility towards passwords, basically
-
strcat
renlord: they want apps using Google's login implementation
-
renlord
how's oauth going to work with imap/smtp credentials?
-
renlord
lol
-
rutxonboard[m]
> rutxonboard: hehehehe, well, it's... it's kinda a long story, I've spent so much time fighting with, then finally just trying to tune out the shrill voices of the dubious Toxic Power Users it's finally great to hear someone say look, listen to some real sense.
-
rutxonboard[m]
I totally relate. The privacy community has an insatiable hate for a popular solution or anything corporate at all
-
strcat
renlord: thunderbird implements this
-
renlord
isnt that a form of hostility?
-
rutxonboard[m]
I used to be roped into that
-
strcat
renlord: well thunderbird works using the modern way
-
PeterEaston
Yeah T_T
-
PeterEaston
Same here, ahaha.
-
strcat
renlord: don't need app password for TB
-
strcat
renlord: try using thunderbird with it and you'll see
-
renlord
the last time i used thunderbird, it crashed on average twice a day or something
-
strcat
well it's a fucking terrible application
-
renlord
and coredumped till my disk space ran out
-
PeterEaston
Wow.
-
strcat
I'm just suggesting trying it to see how the proper login works
-
renlord
its a dysfunctional mail client
-
rutxonboard[m]
Mozilla did something right for once?
-
PeterEaston
I have to admit... I'm not too fond of Mozilla Blunderbird, but...
-
rutxonboard[m]
I'm shocked
-
renlord
Maybe rustlang
-
PeterEaston
I'm kinda sad that it's in the shape it's in right now because it's one of the few programs that my grand dad can sit down at and without any computer training, start using right away.
-
renlord
it is a mozilla initiative
-
renlord
why dont they rewrite thunderbird with rust?
-
renlord
so it will stop coredumping
-
PeterEaston
It's very disappointing to hear that beneath the UI the program is rotting.
-
rutxonboard[m]
> Maybe rustlang
-
rutxonboard[m]
I do love that. Also first party isolation. I know some people who never clean their browser ever.. that is the only way they get any privacy
-
» PeterEaston toots an airhorn blaster.
-
rutxonboard[m]
Mozilla knows enough to be dangerous
-
renlord
and servo as well
-
renlord
dont know how its going
-
PeterEaston
I'm going to have to start switching to mutt >_<.
-
renlord
i use neomutt, its great
-
renlord
at least its snappy and never crashes
-
rutxonboard[m]
Servo is fantastic, Firefox Nightly is legitimately the fastest browser I've ever used
-
PeterEaston
I've got it merged but... I've had a hard time trying to use it.
-
renlord
the mime handling is abit troublesome
-
renlord
PeterEaston: you can checkout my muttrc file
-
rutxonboard[m]
I'm going to stick with Chromium for a good long time since I can't bring myself to use Windows
-
renlord
-
rutxonboard[m]
And many other reasons
-
rutxonboard[m]
CFI, site isolation, jemalloc, win32k sandbox. So much is missing from Firefox and they expect people to take it seriously? /rant
-
PeterEaston
Oh wow!
-
PeterEaston
Oh wow thank you!
-
rutxonboard[m]
I mean that they use jemalloc*
-
PeterEaston
rutxonboard[m]: now I'm imagining that old "getamac" commercial where the mozilla dude is counting out advertising budget and it's like "slick marketing, slick marketing, slick marketing..." *piles bricks of cash in one pile* "...fix Firefox." *puts one dollar into the other* "slick marketing, slick marketing..."
-
» PeterEaston cracks up.
-
dallemon
200//4
-
dallemon
sry, irssi fail :D
-
PeterEaston
FINALLY my chatting VM lives again.
-
rutxonboard[m]
> rutxonboard: now I'm imagining that old "getamac" commercial where the mozilla dude is counting out advertising budget and it's like "slick marketing, slick marketing, slick marketing..." *piles bricks of cash in one pile* "...fix Firefox." *puts one dollar into the other* "slick marketing, slick marketing..."
-
rutxonboard[m]
$1 that's a bit rich. Do you have a link to the one you're thinking of??
-
TheJollyRoger
Oh man. One sec and I'll find it.
-
renlord
i dont think mozilla is deliberately malicious, they have to work to provide quality software at a small percentage of Google's budget
-
joshman[m]
Dev option "don't keep background activity" is what I have had enabled. Controversial thoughts on this. Some say it saves battery, some say it doesn't as it needs to fully load apps into RAM which draws power
-
joshman[m]
Any thoughts?
-
joshman[m]
This community is by far the most intelligent, hence off topic-ish question
-
TheJollyRoger
rutxonboard[m]: sent!
-
rutxonboard[m]
> i dont think mozilla is deliberately malicious, they have to work to provide quality software at a small percentage of Google's budget
-
rutxonboard[m]
Yeah, it's true. They do some good things. The services are brilliant. I often recommend Firefox to my less tech savvy friends due to the good password manager, the multi email breach monitoring, the email aliasing is legitimately a good idea
-
TheJollyRoger
joshman[m]: I try to avoid tinkering with the dev options. Not only do I not know what they do most of the time but my guess is that the developers who actually did know what they were doing and knew what they do set already tested and set them deliberately for the best tradeoffs.
-
rutxonboard[m]
If they don't know the first thing about security and privacy I've found the ecosystem can be more friendly
-
joshman[m]
<TheJollyRoger "josh.man: I try to avoid tinkeri"> I guess you're not using BT earplugs don't ya?
-
TheJollyRoger
For that, I have to because it's a workaround. But it's been discussed widely here and it's a matter of "well either you do this or you don't get your headset to work." But for something like not keeping background activity, if I don't know what it does, I stay away from it.
-
rutxonboard[m]
The other thing Mozilla does get right is they do a better job auditing extensions. That's one thing I have to give them
-
joshman[m]
Sometimes it's difficult to call dev options as dev options. Things like Transition and Animation can be easily put in the Accessibility section. It makes the system so much snappier
-
rutxonboard[m]
I am probably too hard on them
-
TheJollyRoger
Hehehehe X3.
-
rutxonboard[m]
For non tech savvy people Firefox might be fine. If you're knowledgeable then Chromium extra security is very meaningful
-
TheJollyRoger
Ah that just reminded me of something funny... I'll take that to PM.
-
renlord
for tech savvy people, lynx is enough
-
renlord
or wget URL | emacs
-
rutxonboard[m]
Lynx I am wary of
-
rutxonboard[m]
At least w3m had some exploits and has no sandboxing
-
renlord
i dont think any of them have sandboxing
-
TheJollyRoger
renlord oh good golly.
-
» TheJollyRoger is getting PTSD flashbacks of "living without a browser" when he first got his computer.
-
TheJollyRoger
Since that's exactly what I had to do, it was MISERABLE
-
TheJollyRoger
I couldn't get a browser to merge.
-
TheJollyRoger
And I couldn't figure out lynx.
-
rutxonboard[m]
lynx is my favorite
-
TheJollyRoger
So I lived like that for a month until Awilfox rescued me.
-
rutxonboard[m]
I use lynx on my phone
-
TheJollyRoger
I mean, everyone can say everything about non-free javascript but trying to live with no web browser was an awful experience.
-
rutxonboard[m]
Haha, no js web is still the best
-
TheJollyRoger
X)
-
strcat[m]
this chinese domain registrar is trying to extort us for money
-
strcat[m]
going to send them a super threatening email and tell them to fuck off
-
strcat[m]
tired of their bullshit
-
strcat[m]
it's some extortion scam
-
strcat[m]
they claim that someone is trying to register domains using your branding and you need to register the domains with them first
-
TheJollyRoger
Oh good gravy.
-
strcat[m]
I seriously doubt anyone is trying to register the domains these bloodsuckers just threaten people
-
strcat[m]
they probably will register the domain and I really couldn't care less about a grapheneos.cn domain
-
strcat[m]
they can fuck off I'm not buying domains from them
-
rutxonboard[m]
grapheneos.cn the whinnie the pooh secure rom
-
strcat[m]
anyway time to write a super threatening email
-
TheJollyRoger
XD
-
dazinism
Interesting post
-
dazinism
-
dazinism
Some resources linked from there look handy
-
strcat
fuck these chinese domain registrar people
-
dazinism
eg. The Grey Matter of Securing Android Applications
-
strcat
TheJollyRoger: this scam is some real BS
-
dazinism
strcat yeah thats crappy ):
-
strcat
I find it really hard to care about them threatening to register a bunch of chinese / indian domains
-
dazinism
Was just wondering yesterday if you had other GrapheneOS domains
-
strcat
they're basically threatening me and demanding that I register the domain
-
strcat
dazinism: I really couldn't care less if people register grapheneos.cn / grapheneos.xxx or whatever
-
strcat
there are probably 10000+ tlds at this point
-
strcat
I'm not registering grapheneos across them all
-
strcat
grapheneos domain is grapheneos.org and domains like grapheneos.com, graphene.org or whatever else are unrelated
-
strcat
not going to register a bunch of variations of the name and do it per TLD that's insane
-
strcat
I don't even want grapheneos.com even if someone hadn't registered it to domain squat it
-
strcat
I'm not paying for unnecessary domains
-
strcat
and then once you start paying and redirecting you can't stop in case someone started relying on it
-
dazinism
Theres just so many
-
strcat
anyway threatening these fuckers with retribution if they proceed
-
strcat
maybe I'll find some quality rant in a movie and paraphrase it
-
dazinism
Yeah exactly
-
TheJollyRoger
strcat: jeez oueeze >_<.
-
TheJollyRoger
*loueeze
-
strcat
just going to switch to scamming them instead
-
TheJollyRoger
O_O
-
TheJollyRoger
Oh boy.
-
strcat
k sent them an email
-
strcat
told them our elite team of hackers has determined their identities and location
-
» TheJollyRoger cracks up.
-
limitless0[m]
<strcat "they can't pressure Google to do"> So how do companies Cellebrite break the passwords if the delay increases to 1 passw a day? Do they bypass the restriction?
-
TheJollyRoger
Likely that those Cellebrite/Graykey machines use canned exploits for exploiting older devices that aren't patched properly against that vector.
-
TheJollyRoger
Don't think the Titan-Equipped Pixels are vulnerable to those UFED machines at this point in time. The Titan has its own internal clock that doesn't answer to the host clock.
-
renlord
can icann do something about it?
-
TheJollyRoger
Time to pile up the Zs. Night!
-
renlord
for grapheneos.com i think you can hijack it via ICANN
-
renlord
there's some rule that you cant squat a trademark
-
limitless0[m]
<TheJollyRoger "Don't think the Titan-Equipped P"> If i remember correctly they claim to unlock all modern phones including iphone 11 pro,but i have read that as long as you have long alphanumeric pasw then its nearly impossible to break,
-
mxnorvak[m]
dazinism : update on the pm uninstall of stock and google apps from Miui, after unsitalling both stock and google apps , even after an OS update, they stayed uninstalled , created another user to see if i can uninstall for that user as well, for some reason having multiple users has a problem and i cant completely go through with it so idk if that's possible, all the gapps are uninstallable and the phone works out
-
mxnorvak[m]
just fine just as rutxonboard said however its the stock apps that i have problems with rn, some are built into the system and are clearly bloatware however unistalling them results in some part of the OS not being functional anymore
-
strcat
limitless0[m]: that's not what they claim
-
strcat
one of the extraction methods they list supported devices for requires already having the password and people misinterpret it as having an exploit
-
strcat
and yet the instructions for using it start with unlocking, enabling dev options and enabling adb
-
mxnorvak[m]
for example there is an app called security center, it has multiple functions, one being that it acts as a AV and wants to scan the system using either Avast or Tencent or Avira engin and another that it collects data, everything xiaomi related connects data, calculator and clock need internet acess, removing that security center results in the app manager not working anymore and also some other parts of setting
-
strcat
renlord: I'd probably need to register the trademark in the US which I'll do 'soon'
-
limitless0[m]
<strcat "one of the extraction methods th"> Thats good news then
-
limitless0[m]
<strcat "one of the extraction methods th"> Si its safe to use numeric passw
-
mxnorvak[m]
shitty experience overall, i dunno if its really worth having miui as stock even tho the bootloader is locked and i have Verified Boot rather than having LOS with all of its fake privacy and security implementations
-
strcat
limitless0[m]: it's obviously safest to use a strong passphrase where you don't rely on the hardware security features other than key derivation acceleration to strengthen the key derived from the password
-
strcat
but I seriously doubt anyone has bypasses for the Titan M throttling
-
strcat
people are prone to spreading misinformation based on skimming and not understanding things
-
strcat
happens a lot with that UFED stuff
-
strcat
they see a list of phones and imagine it to mean there is an exploit for those devices
-
strcat
without actually READING what it says
-
strcat
per usual
-
dazinism
mxnorvak: thanks for the feedback. I used pm uninstall to remove bloat from a cheap Alcatel device I was messing with. For spyware system components that couldnt be removed the best I could think of was setting up NetGuard to block their internet connection
-
limitless0[m]
<strcat "limitless0: it's obviously safes"> I remember you talking about this on twitter a few years back,about iphone ios and usb disabled and how os exploit meant that usb disabling didnt mean anything if they had the exploit.I cant remember exactly but something along this lines
-
dazinism
mxnorvak: not failsafe, but best effort
-
dazinism
The way cheap androids build spyware into essential system components is proper nasty
-
mxnorvak[m]
<dazinism "The way cheap androids build spy"> its really a shame , the hardware used in this phone is really great for the money
-
mxnorvak[m]
<dazinism "mxnorvak: thanks for the feedbac"> can i do that without NetGuard without root?
-
mxnorvak[m]
> <@DzzzzzzR:matrix.org> mxnorvak: thanks for the feedback. I used pm uninstall to remove bloat from a cheap Alcatel device I was messing with. For spyware system components that couldnt be removed the best I could think of was setting up NetGuard to block their internet connection
-
mxnorvak[m]
* can i do that withNetGuard without root?
-
mxnorvak[m]
* can i do that with NetGuard without root?
-
dazinism
mxnorvak: yes.
-
dazinism
Its possible that some data can get past - eg. When the device starts before NetGuard has started
-
dazinism
If you look in Settings>app you can see how much network data an app has used
-
dazinism
So you can check if NetGuard has stopped everything or not
-
mxnorvak[m]
<dazinism "Its possible that some data can "> :( , am i really not better off with LOS till when i can get a pixel? Miui 11 is based on android 10 but it doesnt even have the network restrictions control per app in the app manager ( its still like the old model that you could only restrict mobile data) , i dont really know how much i can trust this rom
-
strcat
the Network toggle is a GrapheneOS feature
-
mxnorvak[m]
<strcat "the Network toggle is a Graphene"> really? i thought that's an ASOP feature cuz LOS had it too, i guess they might have just stupidly implemented it just to look like GreapheneOS
-
dazinism
mxnorvak: guess it depends how much it'll hurt you if Xiaomi gets some of your data vs. making your device a fair bit less secure by using Lineage.
-
dazinism
Guess need to consider that you are using a Xiaomi device - so already putting trust in their hardware / firmware
-
strcat
mxnorvak[m]: I don't think they have the same feature
-
mxnorvak[m]
<strcat "mxnorvak: I don't think they hav"> well yeah i havent seen the network toggle in GrapheneOS so i could be wrong about calling em the same thing
-
strcat
they have a toggle for access to wifi / mobile data (rather than just mobile data) which does NOT offer the same functionality and cannot be used to totally block network access
-
strcat
not the same thing
-
dazinism
There was something in Lineage in settings>apps>some_app>network(or something similar)
-
dazinism
Could disallow mobile data
-
dazinism
And WiFi data
-
dazinism
Not seen recent Lineage though
-
dazinism
In GrapheneOS its a permission toggle for the app. Listed under app permissions like storage, location etc.
-
mxnorvak[m]
<dazinism "mxnorvak: guess it depends how m"> to be honest its the feeling of always being recorded and watched that annoys me so much, every app and the rom itself , other than that i dont have a clear threat model other than wanting to lessen the data collection which shouldnt be there in the first place, the hardware , its mostly not xiaomi ,a Snapdragon 855, a samsung made display, a sony camera lens , but yeah
-
mxnorvak[m]
idk how much i can trust the firmware either
-
mxnorvak[m]
<dazinism "In GrapheneOS its a permission t"> its the same in LOS 17, toggle for each app allowing or disallowing mobile data, wifi, vpn access and another thing i cant remember
-
dazinism
I'd say stay on stock and block the spying system apps with NetMonitor then
-
dazinism
Sorry NetGuard
-
dazinism
I mean
-
strcat
mxnorvak[m]: no that's not the same thing as I explained above
-
strcat
this fucking VM ovh gave me has 8.3MB/s write speed
-
dazinism
mxnorvak: I didnt quite understand if you managed to get a second user profile to work? Did it work but pm uninstall didnt?
-
mxnorvak[m]
<strcat "mxnorvak: no that's not the same"> oh sorry for my misunderstandings
-
strcat
on my local computer
-
strcat
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.48348 s, 2.2 GB/s
-
strcat
on this ovh vm
-
strcat
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 129.127 s, 8.3 MB/s
-
strcat
what the fuck
-
strcat
it's supposed to have an SSD
-
strcat
this is on another VM:
-
strcat
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 39.9155 s, 26.9 MB/s
-
strcat
lol
-
strcat
"SSD"
-
mxnorvak[m]
<dazinism "mxnorvak: I didnt quite understa"> no the setup for a second user profile kept crashing for some reason even when i had a fresh stock rom installed , both on miui 10( android 9 ) and miui 11 (android 10 )
-
mxnorvak[m]
I'll give it one more shot tho
-
renlord
strcat: hypervisor busy
-
strcat
renlord: yeah
-
strcat
and maybe they cap speed at 10MB/s
-
renlord
VPS providers should publish cotenancy metrics
-
renlord
so users know how busy their boxes are
-
renlord
if ISPs have to publish metrics on virtual circuit usage, then obviously VPS providers should also publish these metrics
-
strcat
especially since the way I want to scale stuff is having many VPS with geographical load balancing
-
strcat
DNS-based load balancing is appealing
-
strcat
anycast DNS provider with load balancing + geoip stuff
-
strcat
so just start making a VPS per region and adding it in
-
strcat
if one is overloaded, add another for that region
-
strcat
to avoid using a third party CDN
-
renlord
why is using a 3rd party cdn so bad?
-
renlord
when you can verify the integrity of the object that is being downloaded anyways
-
strcat
if someone has time
-
strcat
-
strcat
looking into using slab_debug to see if the upstream debugging options uncover the same issue (like redzones) would be nice
-
strcat
someone reported they hit the same issue on a non-Pixel device porting the code to it
-
strcat
and mentioned that slub_debug redzones trigger the same issue
-
strcat
may be easier to debug that
-
strcat
debug cable may be helpful
-
dazinism
mxnorvak: some Xiaomi devices are known to have issues with work profiles, guess the same issue may effect other profiles
-
dazinism
-
dazinism
Was thinking you could have Play Store running in an extra profile for updating critical system components - eg. whatever is providing your webview, but possibly other system stuff is receiving updates that way.
-
dazinism
Alternatively I'd hope you could get these updates via Aurora Store
-
r4v3r23[m]
strcat: hows the support for the project going? i remember saying you were having difficulty securing a model to make graphene sustainable
-
dazinism
r4v3r23: need a load more developers to solve issues on github
-
dazinism
None of the supported devices have maintainers
-
r4v3r23[m]
so realistically how sustainable is the project?
-
r4v3r23[m]
Daniel has said it cant continue without more devs, and looks like thats not happening
-
dazinism
There are more folks contributing
-
dazinism
Just needs more
-
dazinism
Support for devices can be dropped to free up time
-
dazinism
This may well happen if nobody steps up to maintain a device
-
strcat[m]
need lots of help
-
strcat[m]
not just for technical things
-
mxnorvak[m]
<dazinism "Was thinking you could have Play"> i was thinking about replacing the system webview with bromite's version of webview
-
mxnorvak[m]
<dazinism "Was thinking you could have Play"> is there really anything important that play store updates that makes it work a separate user profile?
-
mxnorvak[m]
<dazinism "mxnorvak: some Xiaomi devices ar"> the work profile works normally , adding another user was problematic
-
mxnorvak[m]
its weird that for you to be able to add another user you need to activate developers options first and then the setting for managing guest user and adding another user appears
-
dazinism
mxnorvak: you cant change the webview without building the OS yourself, or getting root on the phone. So you'll have to stick with whatever is used
-
Hirppa
-
mxnorvak[m]
<dazinism "mxnorvak: you cant change the we"> didn't know that !
-
mxnorvak[m]
does netguard require using it as a vpn to manage the connections coming and going through each app?
-
Hirppa
-
Hirppa
One year old articles, but it seems that Play Store indeed has some kind of functionality for system upgrades also.
-
mxnorvak[m]
interesting but it doesn't seem like its a mainstream feature yet
-
dazinism
Having a look, appears the security updates via play is only on devices launched with Android Q
-
dazinism
Project Mainline
-
dazinism
Good for phones that are only getting irregular system updates
-
dazinism
Project Mainline updates the Media Codecs, Media Framework Components, DNS Resolver, Conscrypt, Documents UI, Permission Controller, ExtServices, Timezone Data, ANGLE, Module Metadata, Networking Components, Captive Portal Login, Network Permission Configuration
-
dazinism
mxnorvak: so I think possibly you only have to worry about updating whatever provides webview
-
dazinism
Can see in developer options
-
mxnorvak[m]
<dazinism "Can see in developer options"> yeah its android system webview
-
dazinism
Think thats basically chromium
-
dazinism
Lots of phones use chrome for webview using monochrome or trichrome. GrapheneOS used to use monochrome so that its chromium (pre renaming it to vanadium) provided the webview
-
dazinism
Not sure what the implications of having chrome doing webview
-
mxnorvak[m]
i was able to pm uninstall both chrome and webview tho
-
dazinism
mxnorvak: you'll find removing webview breaks lots of apps
-
mxnorvak[m]
dont know what the effect would be , i was in the process of testing to see what works and what doesnt
-
dazinism
Also when I tried it a few years back, the WiFi settings broke
-
dazinism
WiFi was stuck on permanently
-
mxnorvak[m]
can confirm wifi setting didnt break for me
-
dazinism
Couldnt turn it off (I never turned it on in the first places)
-
dazinism
Still lots of apps use webview. Even apps that don't connect to network
-
mxnorvak[m]
still couldn't get around setting up another user, seems to be a device specific thing as it can not register a fingerprint to complete the process
-
mxnorvak[m]
and when on the main user or when im on work profile , i cant pm uninstall anything from work profile , results in [DELETE_FAILED_INTERNAL_ERROR]
-
mxnorvak[m]
so thats that
-
dazinism
mxnorvak: guessing that the work profile will be -user 10
-
dazinism
Sorry I think -user 11
-
dazinism
-
dazinism
In the work profile
-
dazinism
Then in ⁝ menu
-
dazinism
Copy path
-
dazinism
Annoying thing about that app is that in the launcher name and icon is almost identical to GrapheneOS files... very slight different shade of blue
-
mxnorvak[m]
ok managed to uninstall apps from work profile as well
-
mxnorvak[m]
you were right, i had selected the wrong user
-
flabbergasted
How do you enable work profile anyway? Or is it just another user profile you talk about?
-
Hirppa
One has to install an app for that
-
Hirppa
-
Hirppa
Work Profile is a special type of user profile
-
flabbergasted
ah
-
dazinism
-
dazinism
Because shelter has device admin permissions its very powerful, which makes using a work profile like this less safe than a separate user profile
-
dazinism
But it can be very handy being able to copy stuff from one profile and paste it into the other.
-
dazinism
Also being able to use app share functionality to share stuff between profiles
-
flabbergasted
yeah I think I'll stick to the regular user profiles if I ever need it
-
joshman[m]
What's the actual usecase for another profile. I mean I admit it's ok to share a laptop. A smartphone is so much intimate
-
joshman[m]
* What's the actual usecase for another profile. I mean I admit it's ok to share a laptop. A smartphone is so much more intimate
-
cx2[m]
Plenty.... imagine a work profile, play profile, and family profile....
-
cx2[m]
it woudl take a bit of work to setup.... but in each one you only have things relating to that area..... limiting distraction from the others, and vice versa
-
dazinism
The other good thing about work profile is apps in both profiles can run at the same time and you get notifications from both. Its a great way to run a messanger / video call app you need to use and needs permissions (storage, contacts etc.)
-
dazinism
Can let it have access but no contacts in work profile, and keep storage empty
-
cx2[m]
I think we are confusing two different things. I am refering to using User profiles.
-
cx2[m]
Above I meant a "work" user profile, the the managed work profile. Sorry.
-
cx2[m]
As I understand it, it seems that while not entirely frowned upon, the concensus is to not allow apps like Shelter or Islands have access to those permisisons.
-
rutxonboard[m]
> > <@DzzzzzzR:matrix.org> Was thinking you could have Play Store running in an extra profile for updating critical system components - eg. whatever is providing your webview, but possibly other system stuff is receiving updates that way.
-
rutxonboard[m]
> i was thinking about replacing the system webview with bromite's version of webview
-
rutxonboard[m]
You should contribute the changes you want to Vanadium web view. Vanadium is more secure, the other issue is that Bromite has no support for ad blocking on webview recently so there's no point that I can see. Just use Vanadium
-
mxnorvak[m]
quick question, does bromite need any further configuration to work with its full potential?
-
dazinism
rutxonboard: they were talking about stock on a xiaomi phone
-
dazinism
mxnorvak: bromite has a always incognito feature which can be good, depending on what you are doing with it
-
mxnorvak[m]
<flabbergasted "How do you enable work profile a"> for my use case it is built in to the os which is a xiaomi android based rom, i dont like their implementation tho
-
mxnorvak[m]
<dazinism "mxnorvak: bromite has a always i"> yeah i've noticed that, in a youtube video from the user named thehatedone i also noticed that he has the HTTPS everywhere extention on bromite, i dont know how that can be possible, seems like a good one to have beside the app based ad blocking
-
rutxonboard[m]
> > <@DzzzzzzR:matrix.org> mxnorvak: bromite has a always incognito feature which can be good, depending on what you are doing with it
-
rutxonboard[m]
> yeah i've noticed that, in a youtube video from the user named thehatedone i also noticed that he has the HTTPS everywhere extention on bromite, i dont know how that can be possible, seems like a good one to have beside the app based ad blocking
-
rutxonboard[m]
Only Brave and Kiwi support an "extension for that"
-
grapheneosuser[m
-
anupritaisno1[m]
madaidan: this the place?
-
madaidan[m]
<anupritaisno1[m] "madaidan: this the place?"> Ye
-
madaidan[m]
Yes*
-
anupritaisno1[m]
Well where's Daniel?
-
madaidan[m]
<anupritaisno1[m] "Well where's Daniel?"> He's strcat
-
cx2[m]
<madaidan[m] "He's strcat"> ....sounds like a fight is about to break out...
-
madaidan[m]
<cx2[m] "....sounds like a fight is about"> Lol
-
cx2[m]
haha
-
anupritaisno1[m]
<cx2[m] "....sounds like a fight is about"> cx2: nah
-
anupritaisno1[m]
It's just that I'm new here and don't want to mistake someone for someone else
-
anupritaisno1[m]
That's all
-
anupritaisno1[m]
Aaaaa madaidan.
-
anupritaisno1[m]
Black theme broke on riot.im
-
anupritaisno1[m]
My eyes is there a different client?
-
madaidan[m]
Riot is such a terrible, buggy client.
-
madaidan[m]
I haven't tried any others though
-
DannyWorkOrderPr
<anupritaisno1[m] "Black theme broke on riot.im"> You mean, their black theme? Don't think it inherits from OS
-
anupritaisno1[m]
I just set black and nothing happened
-
cx2[m]
No no I get it..... anupritaisno1 I enjoyed the busting through the door with a hearty "Alright alright, where is this guy.... bring him to me"....
-
cx2[m]
The way it played out in my mind has some sort of medival setting.... I'm sure it's far funnier between my ears
-
-
anupritaisno1[m]
Well uh
-
anupritaisno1[m]
Idk what to say man
-
cx2[m]
madaidan.: what client do you prefer?
-
cx2[m]
or prefer the web?
-
anupritaisno1[m]
CLI preferably nice tbh
-
anupritaisno1[m]
And the web one seems to have electron
-
madaidan[m]
<cx2[m] "madaidan.: what client do you pr"> I've only tried riot on android and I hate it
-
madaidan[m]
Need to find a better one
-
cx2[m]
anupritaisno1: yeahhhhh i tried getting cli up and running.... ive determined that I was attempting to punch above my weight class
-
anupritaisno1[m]
I guess there's one that goes by pattle
-
anupritaisno1[m]
It resembles telegram a bit
-
-
anupritaisno1[m]
BTW madaidan explain
-
anupritaisno1[m]
Or is a strongbox actually needed?
-
Zenithium[m]
Perhaps read the text at the bottom lol
-
anupritaisno1[m]
I'm pretty sure mine's supported
-
anupritaisno1[m]
It's a GM1911
-
strcat[m]
-
strcat[m]
GM1911 isn't supported atm
-
strcat[m]
haven't had time to add support for more devices
-
strcat[m]
it's time consuming to deal with it and some of the existing entries may have issues
-
anupritaisno1[m]
Device is in the list
-
strcat[m]
I lack the time to investigate and resolve it so I stopped adding more
-
anupritaisno1[m]
Oh okay
-
anupritaisno1[m]
Oh 1913
-
strcat[m]
it's not in the list
-
anupritaisno1[m]
Yeah no don't have that one
-
strcat[m]
OnePlus 7 Pro (GM1913 model)
-
anupritaisno1[m]
Yeah got it
-
strcat[m]
GM1911 not whitelisted
-
strcat[m]
it may use the same verified boot key and may just need the model whitelisted
-
strcat[m]
but has to be checked and verified via a sample submission
-
strcat[m]
it's painful and time consuming to go through them all
-
strcat[m]
-
strcat[m]
this issue needs to be resolved before moving on to add more
-
strcat[m]
need help
-
anupritaisno1[m]
Yes it does
-
anupritaisno1[m]
All oneplus use the same OS
-
anupritaisno1[m]
There's 3 versions of the OS, the Chinese, the EU and the Global version
-
anupritaisno1[m]
There's a beta but oneplus themselves break CTS sometimes on it
-
anupritaisno1[m]
strcat (@strcat:matrix.org): like how can anyone help with just that information?
-
anupritaisno1[m]
Need a log
-
DannyWorkOrderPr
<madaidan[m] "I've only tried riot on android "> RiotX is better overall for my needs, but still missing a feature here and there, some major (like calls).
-
DannyWorkOrderPr
They've yet to have a mobile 1.0.0, so, I wouldn't give up just yet.
-
Zenithium[m]
Danny@WorkOrderPro: Do you have a bug with RiotX where if you jump to first unread message in a room it doesn't load the following ones? I can only load upwards and not downwards for some reason
-
anupritaisno1[m]
strcat (@strcat:matrix.org): would you think we have a bug in the Qualcomm BSP itself regarding that issue?
-
strcat[m]
04-08 14:10:04.131 10154 7210 8919 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.hardware.fingerprint.FingerprintManager.hasEnrolledFingerprints()' on a null object reference
-
strcat[m]
weird crash
-
strcat[m]
probably just need a null check for this
-
anupritaisno1[m]
What if the person tries to set a secure lockscreen and enroll a fingerprint?
-
strcat[m]
strange this is the first device without that service, other devices with no fp scanner seem to have it
-
strcat[m]
shrug
-
anupritaisno1[m]
The galaxy tab A by any chance?
-
anupritaisno1[m]
From Samsung
-
anupritaisno1[m]
I have a galaxy tab a
-
strcat[m]
anupritaisno1: yes this
GrapheneOS/Auditor #64
-
anupritaisno1[m]
Don't know which refresh/edition
-
anupritaisno1[m]
It's completely unused though
-
strcat[m]
-
strcat[m]
ideally would add a new check for biometrics and a new OS enforced flag
-
strcat[m]
maybe phase this out
-
strcat[m]
super unimportant
-
DannyWorkOrderPr
<Zenithium[m] "Danny@WorkOrderPro: Do you have "> Have yet to see this, I'm afraid. I'm on F-Droid build on a 3a, ftr
-
anupritaisno1[m]
strcat (@strcat:matrix.org): you're just converting a null to false
-
anupritaisno1[m]
Maybe you should add a notification or something?
-
anupritaisno1[m]
Failures shouldn't just be silently ignored
-
strcat
anupritaisno1[m]: it's not a failure
-
anupritaisno1[m]
Besides what if it is a device which isn't expected to return null but does so anyway. Sounds like an attestation failure
-
strcat
I think it doesn't have a fingerprint scanner and they removed the service
-
strcat
I don't know if that's normal
-
strcat
I have to work around samsung BS already
-
strcat
-
strcat
I don't really feel like it's supposed to be possible for it to be null
-
anupritaisno1[m]
Absence of the fingerprint HAL on a device that is supposed to have it, would such a case go undetected then with the patch?
-
anupritaisno1[m]
It doesn't have a fingerprint scanner
-
strcat
but shouldn't FingerprintManager still work
-
strcat
so I can detect that
-
-
anupritaisno1[m]
Unless Samsung maybe is playing games and removing deprecated methods?
-
strcat
anupritaisno1[m]: it's deprecated only for newer API levels because they want you to support biometrics generically
-
strcat
but I can't remove this
-
strcat
anupritaisno1[m]: the issue is the FingerprintManager service is null
-
anupritaisno1[m]
I get it
-
anupritaisno1[m]
Then can't we just service == null?
-
anupritaisno1[m]
Oh wait
-
anupritaisno1[m]
Yeah you did that
-
strcat
I don't know if that can go wrong though
-
strcat
you made me second guess that workaround
-
strcat
I don't know if services can ever be null when they are supposed to be supported
-
strcat
I don't really think so
-
anupritaisno1[m]
Hypothetical case is a device that should have a fingerprint sensor reporting null
-
anupritaisno1[m]
Yes it can
-
strcat
how?
-
strcat
I would expect it to not boot if a service wasn't added to the mapping
-
rutxonboard[m]
Does anyone have a link to the only documentation?
-
anupritaisno1[m]
I experienced that once when bringing up android Q for my device
-
rutxonboard[m]
Old*
-
strcat
which?
-
anupritaisno1[m]
Developer options was looking for some adb service and crashed because it was null
-
anupritaisno1[m]
Thankfully lineage fixed that on their side
-
strcat
rutxonboard[m]: the legacy_documentation repo? I somehow wiped it from existence moving it
-
anupritaisno1[m]
rutxonboard: the old one?
-
strcat
I have it locally
-
madaidan[m]
<rutxonboard[m] "Does anyone have a link to the o"> Use wayback
-
anupritaisno1[m]
Hah
-
rutxonboard[m]
> rutxonboard: the legacy_documentation repo? I somehow wiped it from existence moving it
-
rutxonboard[m]
:( Yeah I am trying to web archive it
-
rutxonboard[m]
It's all good though
-
anupritaisno1[m]
strcat (@freenode_strcat:matrix.org): that said
-
anupritaisno1[m]
Do you think that issue we talked about today
-
anupritaisno1[m]
Is related to qcom's bsp itself?
-
strcat
anupritaisno1[m]: the canary one?
-
strcat
I can't remember
-
anupritaisno1[m]
I'm the same guy whose device didn't boot with either canaries or redzoning
-
anupritaisno1[m]
Yes
-
strcat
anupritaisno1[m]: it may be a bug in the qualcomm kernel for the soc
-
strcat
I don't know
-
strcat
it could be an android common kernel bug or an upstream kernel bug
-
strcat
I would guess qualcomm
-
strcat
I assumed it was pixel specific tied to shadow call stacks or something
-
strcat
and didn't have time to work on it yet
-
anupritaisno1[m]
Well I can send information if possible but would you like me to try it on a oneplus 6?
-
strcat
trying to figure it out anywhere is helpful
-
anupritaisno1[m]
My kernel is a mix of several branches
-
anupritaisno1[m]
So I want to make sure it's not just some upstream merge error
-
strcat
unfortunately I don't really see a way to handle the fingerprint thing aside from checking for null like that
-
anupritaisno1[m]
I think I merge 12+ branches on that kernel every month
-
-
strcat
-
strcat
sigh
-
anupritaisno1[m]
Anyway CAF branch r4 (sm8150/10.0.0)
-
strcat
fuck samsung
-
anupritaisno1[m]
And google common kernel (4.14-p)
-
strcat
-
anupritaisno1[m]
That's pretty desperate
-
strcat
I already have this samsung workaround stuff
-
anupritaisno1[m]
Find something better xD
-
strcat
I have that to avoid removing checks for other devices
-
strcat
just hard-wire all the broken samsung devices
-
strcat
I could do that for FingerprintManager
-
anupritaisno1[m]
Does Samsung even run custom roms?
-
strcat
Auditor is mostly for checking the stock OS
-
strcat
on most devices
-
anupritaisno1[m]
strcat (@freenode_strcat:matrix.org): also while we are at it
-
strcat
-
strcat
compare size of custom OS table to stock OS
-
anupritaisno1[m]
I can confirm almost every single issue with exec spawning
-
anupritaisno1[m]
I don't get any signal at all from my carrier and can't go 4g-only on my device
-
strcat
-
anupritaisno1[m]
Voice over LTE, WiFi calling and others are broken, no autobrightness and something is broken in overlay parsing
-
anupritaisno1[m]
Exec spawning ^
-
strcat
anupritaisno1[m]: you need to disable RROs
-
anupritaisno1[m]
Will try
-
strcat
n-PRODUCT_ENFORCE_RRO_TARGETS := *
-
strcat
+#PRODUCT_ENFORCE_RRO_TARGETS := *
-
strcat
anupritaisno1[m]: this is a workaround for an exec spawning limitation
-
rutxonboard[m]
-
strcat
anupritaisno1[m]: in Android 10 (I think) AOSP changed how resource overlays work
-
strcat
and they didn't implement them for WrapperInit
-
anupritaisno1[m]
Can a transition be done without resetting strcat?
-
rutxonboard[m]
I thought there was much more?
-
strcat
anupritaisno1[m]: no need to reset
-
anupritaisno1[m]
In my experience going from exec spawning to without or the other way around always breaks something
-
strcat
rutxonboard[m]: that's it
-
strcat
and that's not the newest ver of that repo
-
anupritaisno1[m]
Alright
-
strcat
rutxonboard[m]:I removed stuff as I migrated it
-
strcat
anupritaisno1[m]: enabling / disabling exec spawning works fine
-
strcat
but you're probably running into the fact that all the overlays are ignored if RROs are used
-
strcat
it's possible enabling / disabling the overlays breaks something
-
strcat
and enabling/disabling exec spawning without disabling this will cause that
-
strcat
I have an issue filed about support RROs
-
strcat
anupritaisno1[m]: afaik all this does is break generic system image support or something
-
-
rutxonboard[m]
> rutxonboard:I removed stuff as I migrated it
-
rutxonboard[m]
Ah any idea where I could find that? Or is it likely gone?
-
anupritaisno1[m]
There were errors like those
-
strcat
rutxonboard[m]: I have it locally
-
anupritaisno1[m]
Sdcard permissions became location permissions somehow
-
anupritaisno1[m]
And various other errors switching from exec to non-exec
-
anupritaisno1[m]
strcat (@freenode_strcat:matrix.org): couldn't care about gsi/qssi
-
strcat
rutxonboard[m]: there are only 3 files in the current repo
-
anupritaisno1[m]
If someone boots a gsi on my vendor I'll watch from afar and pretend I didn't see it
-
strcat
anupritaisno1[m]: basically if you enable exec spawning without this RRO disabling commit
-
strcat
it ignores all overlays
-
strcat
and overlays could override all kinds of things
-
anupritaisno1[m]
Got it
-
strcat
if you're using LineageOS stuff they may change core frameworks resources with overlays
-
strcat
in ways that aren't compatible with disabling it
-
anupritaisno1[m]
Yeah a lot of stuff is there
-
strcat
dunno
-
strcat
-
strcat
it's technically an upstream issue
-
strcat
because WrapperInit has this same issue
-
strcat
and I modelled ExecInit after WrapperInit
-
rutxonboard[m]
> rutxonboard: I have it locally
-
rutxonboard[m]
Interesting well if you ever publish it again I would love to read through it.
-
anupritaisno1[m]
Took me a while to add vanadium with it
-
anupritaisno1[m]
Also is there a bug with chromium in general?
-
strcat
anupritaisno1[m]: what do you mean?
-
anupritaisno1[m]
Certain "huge" pages crash my devices
-
strcat
could be an issue uncovered by Vanadium
-
strcat
or hardened_malloc
-
anupritaisno1[m]
Hmm
-
anupritaisno1[m]
Well it's reproducible on almost all my devices, some even running the stock rom
-
anupritaisno1[m]
-
anupritaisno1[m]
Loading this in vanadium causes the browser to freeze
-
anupritaisno1[m]
It's not related to vanadium
-
anupritaisno1[m]
Almost all chromium browsers behave kind of the same
-
anupritaisno1[m]
Hardened malloc, maybe but I saw the issue happen on a device that doesn't have hardened malloc
-
anupritaisno1[m]
Makes me believe it's an upstream chromium bug
-
strcat
does it happen in chrome?
-
strcat
it could be a build option issue
-
-
anupritaisno1[m]
And if that doesn't crash it
-
anupritaisno1[m]
The link above will immediately do so
-
anupritaisno1[m]
That app is a wrapper around vanadium
-
-
anupritaisno1[m]
The browser froze so quickly it didn't even let me copy the link
-
-
anupritaisno1[m]
If I change it to something else
-
-
anupritaisno1[m]
With bromite not only the app, it's like my entire device freezes for a few seconds
-
strcat
anupritaisno1[m]: does chrome with same ver crash tho
-
anupritaisno1[m]
Downloading
-
-
anupritaisno1[m]
Pretty much
-
-
anupritaisno1[m]
Firefox loads it fine
-
strcat
anupritaisno1[m]: perhaps it's uncovered by one of the hardening features
-
strcat
if it occurs on the stock OS tho it's a Chromium problem
-
anupritaisno1[m]
Hard to tell for sure
-
strcat
even if a hardening feature does uncover it
-
strcat
doubt it's an issue with any of the features
-
strcat
probably a chromium issue
-
anupritaisno1[m]
Well
-
anupritaisno1[m]
Your hardening features did tell me the OEM messed up the kernel a lot
-
anupritaisno1[m]
Thanks for that, without them some of the stuff cleanup would never be found
-
strcat
-
anupritaisno1[m]
*stuff to
-
strcat
new take on that
-
strcat
real pain
-
strcat
I wanted to just check for FEATURE_FINGERPRINT and return false if it's not supported
-
strcat
but apparently some devices have it but don't set the feature
-
strcat
missing CTS test case I guess
-
anupritaisno1[m]
Can I see where you implemented generalsecurityexception
-
-
anupritaisno1[m]
Okay got it
-
anupritaisno1[m]
One sec
-
TheJollyRoger-M
strcat you need more cables?
-
anupritaisno1[m]
Tbh how would you make those?
-
anupritaisno1[m]
My device has this proprietary dump mode that while very helpful, nobody knows how to use it
-
anupritaisno1[m]
So debugging kernel panics is insanely hard
-
kohntree[m]
How do you get Chrome to have tabs?
-
anupritaisno1[m]
Interesting question
-
TheJollyRoger
anupritaisno1[m]: I have a tutorial on making /android/ debugging cables for the Pixels and GrapheneOS developers that need them can get them from me for free under a gentleman's agreement that if they don't need them anymore, they'll send them to someone who will.
-
anupritaisno1[m]
Sorry dunno
-
anupritaisno1[m]
How do these work?
-
TheJollyRoger
kohntree[m]: tap on the little "[1]" in the upper right corner of your screen.
-
anupritaisno1[m]
And can I dump a pstore? Assume the device always warm resets on debug builds
-
DannyWorkOrderPr
GrapheneOS dark theme users may enjoy this "custom" Qwant URL for setting as their homepage. Loads minimalist dark view, doesn't load trending news bits, etc:
-
DannyWorkOrderPr
-
TheJollyRoger
anupritaisno1[m]: they talk to the device via its uart interface. This only works if the device's bootloader has been unlocked to permit uart debugging.
-
kohntree[m]
I can't make it look like that
-
DannyWorkOrderPr
(Vanadium doesn't have Qwant as a default just yet, & the config is a bit buried on site, so, figured I'd share!)
-
anupritaisno1[m]
TheJollyRoger: I believe the oneplus 7 pro does have it
-
rgeturk[m]
<kohntree[m] "I can't make it look like that "> because that screenshot is firefox, not chrome
-
anupritaisno1[m]
Ah
-
TheJollyRoger
github.com/Peter-Easton/android-debug-cable-howto anupritaisno1[m] This will tell you what you need.
-
TheJollyRoger
At this very moment I don't sell those cases because they're too expensive and nonessential. Wrap the pcb in tape before you use it.
-
strcat
DannyWorkOrderPr: if you enable the OS dark theme, apps targeting the current API level use the dark theme
-
strcat
and in Vanadium and other Chromium-based browsers it tells the site to use a dark theme
-
TheJollyRoger
strcat: I'm currently out of serial cables. Would you like me to make more?
-
strcat
TheJollyRoger: yeah
-
TheJollyRoger
Ok on the way.
-
DannyWorkOrderPr
<strcat "and in Vanadium and other Chromi"> Mhmm =] Not sure Qwant implements this, currently.
-
TheJollyRoger
Heads-up that this batch will not have cases; I cannot make cases during the pandemic. The subcontractor has shut down.
-
anupritaisno1[m]
TheJollyRoger: thanks
-
anupritaisno1[m]
I was almost banging my head on the wall with some of the issues I had
-
strcat
anupritaisno1[m]: these might not work with your device
-
TheJollyRoger
Heh, well... I can't take credit for the knowledge. One of the other contributors showed me what to do but has asked me not to mention them by name. :)
-
strcat
anupritaisno1[m]: Nexus devices and 1st gen Pixels used an older debug cable system
-
strcat
Pixel 2 and later uses this (Suzy-Q) which is an extension of what Chromebooks use
-
strcat
anupritaisno1[m]: not sure how many other devices use it
-
anupritaisno1[m]
strcat (@freenode_strcat:matrix.org): probably my only hope tbh
-
strcat
this is pretty funny:
-
strcat
-
TheJollyRoger
anupritaisno1[m]: I can't stress this enough though, before you use it, wrap the PCB entirely in tape, otherwise it can short your phone.
-
anupritaisno1[m]
There's no way to get pstore
-
anupritaisno1[m]
My device boots to this weird mode when it panics
-
anupritaisno1[m]
It just shows the last function the program counter was on
-
anupritaisno1[m]
That's it
-
anupritaisno1[m]
*Some error message*
-
anupritaisno1[m]
PC at: <function_name>+some offset
-
TheJollyRoger
Ha, who'd have thought that Brazilian Jiu-Jitsu would be close to golang.
-
TheJollyRoger
Very funny.
-
strcat
TheJollyRoger: not the one I find funny
-
anupritaisno1[m]
Go is a great language
-
anupritaisno1[m]
Just compile it with pie though
-
TheJollyRoger
strcat: heh, I'm a bit slow on the uptake ^_^; enlighten me...?
-
-
anupritaisno1[m]
This classic never gets old
-
TheJollyRoger
OH.
-
anupritaisno1[m]
TheJollyRoger: how high is the risk of killing the phone?
-
» TheJollyRoger laffs way too hard
-
anupritaisno1[m]
I plan to keep this one for a good 5-6 years so yeah
-
TheJollyRoger
anupritaisno1[m]: not very, but for the amount of time it takes to wrap the little circuitboard in tape and the consequences of the risk the tape mitigates, it's worth wrapping the PCB in tape.
-
TheJollyRoger
You won't ever have to unwrap it.
-
strcat
anupritaisno1[m]: TheJollyRoger: just note random devices probably don't implement the Suzy-Q debugging
-
strcat
it's a Pixel thing
-
strcat
AFAIK
-
strcat
you don't get serial debugging on other devices
-
strcat
they probably disable it for non-employees
-
anupritaisno1[m]
Yes yes
-
TheJollyRoger
strcat: oh. Oh I see... so uart may not be supported on those other devices, just Pixels. Huh, you know that kinda makes sense... only Google's ever been forthcoming with us for this kinda thing :(
-
anupritaisno1[m]
But this seems like the only choice here man
-
strcat
anupritaisno1[m]: some other devices did implement the OLD debug protocol
-
strcat
dunno about the new one
-
anupritaisno1[m]
Unless I build the bootloader myself
-
anupritaisno1[m]
And remove the proprietary crashdump
-
strcat
you probably can't flash a custom bootloader
-
strcat
or if you can flash it probably won't boot
-
strcat
since that would imply verified boot is broken
-
anupritaisno1[m]
Oneplus does no validation
-
anupritaisno1[m]
You can
-
strcat
:\
-
strcat
that breaks the rules for Android devices
-
anupritaisno1[m]
Verified boot isn't a thing on oneplus
-
strcat
anupritaisno1[m]: they don't enable secure boot?
-
strcat
but it's mandatory afaik
-
anupritaisno1[m]
Idk how they get past Google
-
anupritaisno1[m]
But the bootloader does absolutely zero verification
-
anupritaisno1[m]
Somebody has been running magisk all the time on a locked bootloader on my builds
-
anupritaisno1[m]
Well the bootloader says "secure boot: enabled"
-
anupritaisno1[m]
However there is no yellow verity warning
-
anupritaisno1[m]
Locking the bootloader completely removes the warning that a custom OS is loading
-
anupritaisno1[m]
As if the bootloader doesn't implement the yellow state at all
-
cdesai
wow
-
strcat
anupritaisno1[m]: yeah that's a security vulnerability
-
TheJollyRoger
Wow.
-
strcat
in the late stage bootloader
-
anupritaisno1[m]
The bootloader does implement red, green and orange
-
strcat
anupritaisno1[m]: yeah but not implementing it == it won't boot with it locked
-
strcat
they broke it
-
TheJollyRoger
Holy shit. So all this time... those oneplus devices are being carried around with... with effectively no root of trust?
-
strcat
if they hadn't messed up the reference code it would just hit an error
-
anupritaisno1[m]
<strcat "anupritaisno1: yeah that's a sec"> strcat (@freenode_strcat:matrix.org): well oneplus isn't the most secure
-
strcat
when it can't fetch the AVB key
-
anupritaisno1[m]
I got this because their highest end model was cheaper than the lowest end pixel
-
anupritaisno1[m]
At least where I live
-
anupritaisno1[m]
And honestly I can't even lock my bootloader
-
anupritaisno1[m]
Since I am the one doing releases a bad kernel means I'm stuck on a locked bootloader and need to use an exploit to go back to the stock OS
-
TheJollyRoger
Wow. How the hell can OnePlus be still doing this, running around with no bootloader security?
-
anupritaisno1[m]
So it's only ever people who use my roms who get tested builds and can be confident locking the bootloader won't wreck them
-
anupritaisno1[m]
I kinda expected it
-
DannyWorkOrderPr
<anupritaisno1[m] "Idk how they get past Google"> Money and/or users seeing their ads usually does it.
-
TheJollyRoger
Well... I'd heard about the OP6 which had verified boot that would happily allow arbitrary images to boot if it was on and "enforcing" and I thought they called it a bug...
-
TheJollyRoger
I did not know they not only did not learn from it but systematically swept it under the rugs and continued course!
-
anupritaisno1[m]
But tbh the hardware is nice, and they don't make a fuss with unlocking
-
anupritaisno1[m]
Yeah well don't buy a oneplus if you want security
-
» TheJollyRoger hugs his Pixel 3 tight.
-
anupritaisno1[m]
Though if you're careful
-
anupritaisno1[m]
You'll most likely not have an issue
-
strcat
there is a lot to doing verified boot right
-
strcat
and having such a blatant bug is pretty bad
-
TheJollyRoger
Yeah...
-
strcat
I mean it's supposed to ENFORCE the AVB key
-
TheJollyRoger
Is there any way that they could fix this with a firmware update or are we talking "this bug can't be fixed, send the phones back?"
-
strcat
anupritaisno1[m]: it implies that with the stock OS, locked bootloader, device as it was bought
-
anupritaisno1[m]
Having owned 2 other oneplus devices I knew what I was buying into
-
strcat
anupritaisno1[m]: attacker could swap out the images
-
strcat
and it wouldn't notice
-
anupritaisno1[m]
strcat (@freenode_strcat:matrix.org): that concern was raised by one of my users
-
strcat
it may break decryption if they haven't fucked up the encryption integration
-
anupritaisno1[m]
I told him the only solution is to use the edl exploit to write the ufs
-
strcat
anupritaisno1[m]: if they aren't flashing a custom AVB key it shouldn't boot an alternate OS at all
-
strcat
if bootloader is locked
-
TheJollyRoger
Well yipes. No wonder why the OnePlus seems to offer devices that "look good on paper" for so cheap.
-
anupritaisno1[m]
Well that too is doubtful
-
strcat
it's supposed to enforce valid OS signed with the hard-wired key OR the AVB key flashed onto the device
-
strcat
if one has been flashed
-
strcat
displaying the yellow boot state notice is a secondary thing
-
anupritaisno1[m]
It seems fastboot uses a regex
-
anupritaisno1[m]
fastboot flash ^avb_
-
anupritaisno1[m]
If a partition name starts with avb_
-
anupritaisno1[m]
The bootloader silently reports success
-
anupritaisno1[m]
I've tried avb_.* (many combinations)
-
anupritaisno1[m]
Bootloader reports success on trying to flash any partition that starts with avb_
-
strcat
Pixels have a custom implementation of avb_custom_key
-
strcat
it's not really a partition
-
strcat
it's a virtual partition basically
-
strcat
it flashes it to the Titan M
-
strcat
alongside the rollback index
-
strcat
I don't even know how other vendors could implement it without a security chip
-
anupritaisno1[m]
Yes but if I do fastboot flash avb_notmy_key or some shit
-
strcat
unless they use the Qualcomm SPU
-
anupritaisno1[m]
The bootloader reports a success
-
TheJollyRoger
strcat: how many cables do you think we'll need this time?
-
strcat
anupritaisno1[m]: it sounds like OnePlus fucked up all the areas of the code that they are expected to implement
-
anupritaisno1[m]
Well one thing I can confirm
-
anupritaisno1[m]
Trying to replace the OS on a locked bootloader
-
strcat
like if they didn't touch it at all
-
anupritaisno1[m]
Makes /data inaccessible
-
strcat
anupritaisno1[m]: yeah that's the encryption thing I mentioned
-
strcat
that's like Nexus 5X era verified boot enforcement
-
anupritaisno1[m]
Anti-rollback is fine
-
strcat
anupritaisno1[m]: it sounds like the issue is they tried to implement the yellow state
-
strcat
and fucked it up
-
anupritaisno1[m]
I can verify because anti rollback has made me lose data multiple times
-
strcat
they implemented it as the green state
-
strcat
but that's pretty strange
-
strcat
anupritaisno1[m]: it sounds like what they did is DELETE a bunch of the standard security checks
-
strcat
if you look at the qualcomm bootloader sources
-
strcat
it has a yellow state implementation
-
strcat
the vendor needs to provide an implementation of fetching the custom AVB key
-
cdesai
anupritaisno1[m]: another thing, is this all with a testkey signed build or a custom key signed build?
-
strcat
or disable yellow state so that it just fails (red)
-
anupritaisno1[m]
They always do
-
strcat
sounds like what they did
-
strcat
is try locking bootloader with custom OS
-
strcat
notice it's broken
-
anupritaisno1[m]
They removed speculative store bypass disable from the kernel
-
anupritaisno1[m]
I still can't enable ssbd
-
strcat
delete all the security checks for yellow state
-
anupritaisno1[m]
cdesai: I'm using RSA8192_SHA512
-
cdesai
it makes a difference, sometimes they handle those two differently
-
cdesai
anupritaisno1[m]: yeah ok so custom, not testkey
-
anupritaisno1[m]
Yes all keys custom
-
anupritaisno1[m]
User build and verity enforced
-
anupritaisno1[m]
I think I satisfy most of the hardening checklist however from what my users are telling me
-
anupritaisno1[m]
I'm really concerned about the bootloader
-
strcat
anupritaisno1[m]: sounds like they do pass the correct data to TEE
-
strcat
anupritaisno1[m]: that's why decrypting /data fails
-
strcat
because TEE uses the verified boot key as an input to key encryption key derivation
-
anupritaisno1[m]
Well yes
-
strcat
so as long as the bootloader isn't compromised
-
strcat
can't decrypt data
-
strcat
with wrong key
-
anupritaisno1[m]
I can confirm that does happen
-
anupritaisno1[m]
But the user might naively reset
-
strcat
but the bootloader is supposed to ENFORCE the key
-
strcat
anupritaisno1[m]: well also an evil OS
-
strcat
can reset
-
strcat
for them
-
anupritaisno1[m]
strcat (@freenode_strcat:matrix.org): also I use a different encryption method than what oneplus uses
-
strcat
anupritaisno1[m]: or more evil: put a valid data partition
-
strcat
anupritaisno1[m]: but keep the rest of their data
-
strcat
just move it or w/e
-
anupritaisno1[m]
I use wrappedkey which forces the key to never leave the TEE
-
anupritaisno1[m]
The key is never written to ram
-
anupritaisno1[m]
I had to do that because an exploit on all oneplus devices allows you to read all ram at will
-
anupritaisno1[m]
The ram has a temporary key that is invalidated very quickly after usage
-
anupritaisno1[m]
init_on_free/init_on_alloc helps avoid some metadata leakage
-
anupritaisno1[m]
And I'm making sure the kernel always forces a hardware reset
-
anupritaisno1[m]
But I'm unsure how much my mitigations can protect a oneplus
-
anupritaisno1[m]
strcat (@freenode_strcat:matrix.org): that doesn't work
-
strcat
well you reinforced my lack of interest in even looking at one of their devices to evaluate it lol
-
anupritaisno1[m]
Keymaster or something will throw a decryption failure even if you image /data and /metadata
-
anupritaisno1[m]
Well if you want hardware that will last
-
anupritaisno1[m]
Go for it
-
anupritaisno1[m]
But don't expect anything else
-
anupritaisno1[m]
All the oneplus phones I've owned have been super reliable
-
strcat
I really just want to have our own devices produced from a reference design
-
TheJollyRoger
heh. Well, now I'll have something to say if anyone else asks about OnePlus...
-
anupritaisno1[m]
strcat (@freenode_strcat:matrix.org): also good luck hardening these
-
anupritaisno1[m]
It took me 8+ months to get it working properly
-
strcat
-
anupritaisno1[m]
I had to spend days cleaning up their mess
-
strcat
-
TheJollyRoger
Hey, you know that jokeb about "anything can be fixed with a big enough hammer?"
-
TheJollyRoger
I think that applies here.
-
TheJollyRoger
It can't be hacked if we smash it into tiny pieces :P.
-
anupritaisno1[m]
TheJollyRoger: yeah I can fix my phone with it
-
anupritaisno1[m]
Smh I should get a proper job instead of this bs developer job
-
anupritaisno1[m]
Maybe I'll buy a pixel then
-
TheJollyRoger
Naw man, naw... didn't mean to imply that, I mean like..
-
TheJollyRoger
I don't think we can fix the vendor's problems for 'em :(
-
anupritaisno1[m]
TheJollyRoger: I kinda like the op7pro tbh
-
madaidan[m]
Can't be hacked if there's nothing to hack
-
anupritaisno1[m]
Easily one of the best displays I've had
-
anupritaisno1[m]
<madaidan[m] "Can't be hacked if there's nothi"> madaidan.: next we know you'll hack something that nobody knew of
-
anupritaisno1[m]
cdesai: yeah you there?
-
cdesai
anupritaisno1[m]: yeah
-
anupritaisno1[m]
./build/tools/releasetools/sign_target_files_apks -o \ -d /home/suzumiya/mount/.android-certs \ --avb_vbmeta_key "/home/suzumiya/mount/.android-certs/avb.pem" \ --avb_vbmeta_algorithm SHA512_RSA4096 \ --avb_system_key "/home/suzumiya/mount/.android-certs/avb.pem" \ --avb_system_algorithm SHA512_RSA4096 \ --avb_vendor_key "/home/suzumiya/mount/.android-certs/avb.pem" \ --avb_vendor_algorithm SHA512_RSA4096 \
-
anupritaisno1[m]
--avb_boot_key "/home/suzumiya/mount/.android-certs/avb.pem" \ --avb_boot_algorithm SHA512_RSA4096 \ --avb_system_other_key "/home/suzumiya/mount/.android-certs/avb.pem" \ --avb_system_other_algorithm SHA512_RSA4096 \ --avb_dtbo_key ".android_certs/avb.pem" \ --avb_dtbo_algorithm SHA512_RSA4096 \ --avb_vbmeta_system_key "/home/suzumiya/mount/.android-certs/avb.pem" \ --avb_vbmeta_system_algorithm SHA512_RSA4096 \
-
anupritaisno1[m]
--avb_vbmeta_vendor_key "/home/suzumiya/mount/.android-certs/avb.pem" \ --avb_vbmeta_vendor_algorithm SHA512_RSA4096 \ out/dist/lineage_guacamole-target_files-eng.suzumiya.zip \ signed-target_files.zip ./build/tools/releasetools/ota_from_target_files -k ~/.android-certs/releasekey \ --verify \ signed-target_files.zip \ signed-ota_update.zip
-
anupritaisno1[m]
Sorry about the shit formatting
-
anupritaisno1[m]
Will try to fix it
-
anupritaisno1[m]
I changed my 4096 key with an 8192 key later
-
TheJollyRoger
Heh. RSA8192 on a little SOC? That doesn't take absurd amounts of time?
-
anupritaisno1[m]
It is lineageos
-
anupritaisno1[m]
TheJollyRoger: no
-
anupritaisno1[m]
I've seen zero difference in performance
-
TheJollyRoger
Ha, fancy.
-
anupritaisno1[m]
Then again I don't use my phone that much
-
strcat
anupritaisno1[m]: well it sounds like they aren't using your key to check anyway :P
-
strcat
anupritaisno1[m]: the RSA key is only used to verify vbmeta by the bootloader
-
cdesai
anupritaisno1[m]: yeah I took your word for it.
-
strcat
the RSA pub key is what you flash to avb_custom_key
-
strcat
anupritaisno1[m]: the rest of verified boot is just the hashes from vbmeta chaining to the other stuff
-
strcat
anupritaisno1[m]: bootloader verifies the initial parts of those
-
madaidan[m]
<anupritaisno1[m] "madaidan.: next we know you'll h"> I'm an elite hacker sar
-
strcat
and then the OS uses dm-verity to verify everything in system/vendor as it goes
-
strcat
vbmeta just bootstraps that
-
anupritaisno1[m]
<TheJollyRoger "Ha, fancy."> strcat (@freenode_strcat:matrix.org): thought so
-
anupritaisno1[m]
Well thanks for letting me know
-
anupritaisno1[m]
Also about the -ftrivial-auto-var-init={zero,pattern}
-
anupritaisno1[m]
Why not build android with it]
-
anupritaisno1[m]
*?
-
strcat
anupritaisno1[m]: we do
-
strcat
platform_build_soong
-
strcat
we used to use -fsanitize=local-init which was our downstream feature
-
strcat
we still have a ton of past features to restore
-
anupritaisno1[m]
Would you zero or pattern?
-
strcat
zero for sure
-
strcat
for production
-
anupritaisno1[m]
Yes zero is a pattern
-
anupritaisno1[m]
But the AAAAA pattern or the 000000 pattern?
-
anupritaisno1[m]
What happens if you use AAAAA?
-
strcat
zero is better for production
-
strcat
non-zero will uncover bugs and in rare cases potentially make things exploitable
-
anupritaisno1[m]
And the Linux kernel?
-
strcat
same thing, zero
-
strcat
-ftrivial-auto-var-init=zero -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang
-
anupritaisno1[m]
So we just change pattern->zero?
-
anupritaisno1[m]
Hmm
-
anupritaisno1[m]
How much is the risk with the "knowing it will be removed" if I'm using mainline clang?
-
anupritaisno1[m]
The kernel uses clang 11 from git
-
anupritaisno1[m]
Partly because clang older than clang 10 just didn't link the kernel at all
-
strcat
it won't be removed
-
strcat
clang / llvm devs are just assholes
-
anupritaisno1[m]
It throws a bunch of errors with the AOSP clang
-
anupritaisno1[m]
Thanks a lot will check
-
strcat
-
strcat
-
anupritaisno1[m]
I don't think writing 0 to the stack is a performance issue
-
anupritaisno1[m]
In fact it might give weak protection against unterminated string overflows
-
anupritaisno1[m]
strcat am I thinking it correctly?
-
anupritaisno1[m]
Let's say your entire stack is 0 and you overflow
-
anupritaisno1[m]
A 0 has a higher chance of stopping a c string overflow
-
strcat[m]
anupritaisno1: one of the main issues with non-zero value is existing latent bugs only remain latent because they tend to get zero or enough zeroes
-
strcat[m]
to not crash
-
strcat[m]
the stack starts out as zero, and stuff writes a lot of zeroes to it
-
strcat[m]
so it's pretty common for code to just get zeroes in uninit data in practice
-
strcat[m]
so it ends up depending on that undefined behavior
-
strcat[m]
and the latent bug sits there
-
strcat[m]
so if you use non-zero now suddenly it sees a non-NULL pointer, calculates a big offset from it based on a non-zero size, and crashes trying to access that
-
strcat[m]
lets say you have
-
strcat[m]
struct vector { void *data; size_t size; }
-
strcat[m]
you fill both with 0xAA
-
strcat[m]
so the pointer is 0xAAAAAAAAAAAAAAAA
-
anupritaisno1[m]
So you mean to say
-
anupritaisno1[m]
I should use pattern while debugging
-
anupritaisno1[m]
And zero in production?
-
anupritaisno1[m]
Basically split debug and production configuration
-
strcat[m]
yes
-
strcat[m]
pattern will cause crashes
-
strcat[m]
it will uncover bugs
-
anupritaisno1[m]
Hmmm
-
anupritaisno1[m]
Yes pattern did
-
anupritaisno1[m]
Pattern took me to the proprietary crashdump mode and gave me a slab error
-
strcat[m]
anupritaisno1: the same thing applies to hardened_malloc, you could in theory disable zero on free and add code to fill with non-zero instead
-
anupritaisno1[m]
Appending slab_nomerge to kernel cmdline fixed it
-
strcat[m]
anupritaisno1: yeah so you found code using uninit data
-
strcat[m]
and depending on it being zero
-
strcat[m]
even tho it's only zero sometimes
-
strcat[m]
but in practice it may always be zero when that code runs
-
anupritaisno1[m]
Well slab merging should have been off anyway
-
anupritaisno1[m]
But yeah thanks
-
anupritaisno1[m]
I get it now
-
valldrac
the pattern 0xAAAAA... they call it "infinite scream", no kidding
reviews.llvm.org/D54604
-
anupritaisno1[m]
valldrac: hmm
-
anupritaisno1[m]
Well to me it looks like
-
anupritaisno1[m]
101010101010101010101010....
-
anupritaisno1[m]
It's an alternating sequence
-
valldrac
it must be a non-mappeable address in the target arch, that's the key
-
anupritaisno1[m]
Never assume
-
anupritaisno1[m]
Assume all pointers are 64-bit
-
anupritaisno1[m]
And that FFFFFFFF.... is accessible
-
mxnorvak[m]
> <@freenode_strcat:matrix.org> the Network toggle is a GrapheneOS feature
-
mxnorvak[m]
* really? i thought that's an AOSP feature cuz LOS had it too, i guess they might have just stupidly implemented it just to look like GreapheneOS
-
anupritaisno1[m]
mxnorvak: they're different
-
anupritaisno1[m]
Like they're completely different features
-
mxnorvak[m]
sry what are you referring to?
-
anupritaisno1[m]
Lineage's toggle controls how the app uses the network
-
anupritaisno1[m]
Graphene's approach controls if the app uses the network
-
anupritaisno1[m]
They're slightly different things
-
mxnorvak[m]
funny you mention it now, was just reading the subreddit about this exact issue
-
anupritaisno1[m]
Well I personally like lineage's approach to it
-
anupritaisno1[m]
But really
-
anupritaisno1[m]
Try both
-
anupritaisno1[m]
See what works for you
-
mxnorvak[m]
unfortunately i dont have the opportunity to try GrapheneOS anytime soon ,being stuck with a xiaomi phone that doesnt even have a offical LOS yet and doesnt seem to be going official at all i just wish i could just sell the phone rn, im just looking for stuff that really work and do what they say they do and try to stay away from all the misinformation out there but i keep getting more and more hopeless about my
-
mxnorvak[m]
options
-
mxnorvak[m]
i like that with Graphene , there is very well thought out explanations for each feature and that really shows what Daniel and others working on it value most
-
mxnorvak[m]
anyway thanks for your input
-
nickcalyx[m]
Which xiaomi
-
anupritaisno1[m]
mxnorvak: xiaomi just has some legal issues from what I know
-
anupritaisno1[m]
The unofficial should be just as good as official
-
mxnorvak[m]
<anupritaisno1[m] "The unofficial should be just as"> even with selinux not enforcing
-
mxnorvak[m]
> <@anupritaisno1:m.apex.to> The unofficial should be just as good as official
-
mxnorvak[m]
* even with selinux not enforcing?
-
mxnorvak[m]
<nickcalyx[m] "Which xiaomi"> Mi 9t pro
-
dazinism
Guess I need to rewrite the Oneplus stuff on
-
dazinism
-
cdesai
dazinism: maybe divide it into sections?
-
dazinism
Got a bit lost reading the scrollback....
-
dazinism
Its not really doing anything on Oneplus?
-
dazinism
anupritaisno1:
-
cdesai
you know what would be a true test - sign an update with a new set of keys, but then sign the ota with the old keys so that it can still install.
-
cdesai
data won't be accessible so it'll prompt you to reset - but if it even gets that far then we know how broken it really is.
-
k3tan
anyone got an issue with the VPN icon on the top menu bar?
-
cx2[m]
define issue.... not showing up? Works fine for me on 3a with Mullvad Client, Wireguard, and OpenVPN
-
bseeinu[m]
Thoughts on Gboard from Aurora, with all permissions revoked?
-
anupritaisno1[m]
cdesai: already tried that one
-
anupritaisno1[m]
It won't boot
-
anupritaisno1[m]
Unless you reset
-
cdesai
I'd call it completely broken in that case
-
cdesai
it wouldn't even let you get to the factory reset screen on a pixel
-
cdesai
(and that makes sense with what you said about the avb keys seemingly not actually being flashed)