00:22:45 https://signal.org/blog/earn-it/ 00:22:45 Unfortunately, Signal seems bearish on their future if the bill becomes law, it seems. 00:23:34 Not all countries governments are that "stupid", but I wonder how "independent" one can be from the US influence in the long run. 00:43:19 It is, when you choose it in room settings 00:44:20 No, they accept cc (albeit, through PayPal) 01:18:12 Good to know as a new user but.....says encryption is disabled in this room. (?) 01:19:10 Most mass-rooms do not have it enabled 01:19:16 Only secured by SSL 01:19:25 Which, on days like today, seems unfortunate 01:20:15 (The general state of things, not that this room is unencrypted) 01:22:06 There are many reasons for public rooms not being encrypted 01:22:17 https://github.com/MilkManzJourDaddy/matrix-org/wiki/E2EE-and-Public-Rooms 01:25:46 Well, end-to-end encrypted 01:27:45 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. 01:28:13 Doing so will also break any form of bridging or interoperability and most clients don't support it 01:28:45 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. 01:29:01 That exact quote from you is in the link xD 01:29:07 * TheJollyRoger cracks up. 01:29:11 That's funny, hahaha 01:33:07 Rrgh. Policykit is acting up again. 01:40:35 Google and Qualcomm firmware no? 01:59:10 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? 02:04:55 kohntree: don't worry about EARN IT. Shit's gonna die in committee like it did the last two times. 02:04:55 Cool. You are passionate. 02:10:34 What? That's an apt description. 02:11:09 "No! You can't look! You have to walk in the wide-open door first. Then you can look." 03:45:07 Any chance to run Gcam (with all permissions disabled)? 04:47:45 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. 04:48:31 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. 05:14:42 TheJollyRoger: Could I port Graphne to a s3 05:15:17 Wait what? 05:15:41 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? 05:18:10 TheJollyRoger: 2012 05:18:16 (assuming it's *that* s3) 05:18:20 *sigh* 05:18:34 Yeah goodness gravy. 05:41:38 Fun fact pre AOSP the Samsung S4 was directly supported by CopperheadOS 05:44:17 GuardianROM was the only attempt at a secure rom for the S3, but it failed as it was over ambitious 05:45:56 22:41 Fun fact pre AOSP the Samsung S4 was directly supported by CopperheadOS 05:45:58 22:44 GuardianROM was the only attempt at a secure rom for the S3, but it failed as it was over ambitious 05:46:00 I remember those projects :) 05:48:05 Relics from the days of yore! 05:48:52 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 05:48:52 then that's deeply flawed running on that hardware and has way too high of ram requirements 05:50:05 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 05:50:47 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 05:51:06 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. 05:51:35 Yes, I look at guaranteed support and factor price per year 05:51:48 $80 for an iPhone SE, $30ish for a Nokia 3.1, $150 for a Pixel 3a 05:52:11 I have always only given up a phone since it no longer got security updates 05:52:28 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. 05:52:47 Hell, it'd be worth less than a pop tart at that rate because at least a pop tart makes a tasty snack. 05:53:17 Right that's what is so great about Nokia phones. Super budget price and third place in security too Apple/Google 05:53:39 If you can't afford a Pixel or iPhone then there's no shame in a Nokia 05:53:50 Nice! 05:54:12 I'll have to keep that option on my table, thanks rutxonboard[m] :O 05:55:13 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 05:55:30 Android One without gapps is absolutely the poor man's GrapheneOS 05:55:54 Oh huh. I haven't tried Android One before - I'm a refugee from BackdoorBerry. 05:56:07 The biggest issue is their low end used to go MediaTek, but everything is now Snapdragon 05:56:14 Beautiful. 05:56:47 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 05:57:11 Nokia is usually what my friends go for 05:58:13 Samsung promises four years of security updates for Galaxy Xcover 4s Enterprise Edition and Galaxy Xcover Pro Enterprise Edition 05:58:22 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 05:58:58 > Samsung promises four years of security updates for Galaxy Xcover 4s Enterprise Edition and Galaxy Xcover Pro Enterprise Edition 05:58:58 Crappy support though. After some time it is quarterly updates. Cheaper devices start as quarterly 05:59:35 Yeah. I think it was three years of montly updates and the last year quarterly 05:59:52 I am pretty sure it's 2 for a flagship 06:00:01 Could be wrong 06:00:12 Mid range phones are quarterly right away 06:00:48 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 06:02:38 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 06:03:05 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." 06:03:21 That's amazing 06:03:33 Hehehe X) 06:03:48 I hate how expensive phones are now 06:04:10 Same here :(. Some of my relatives have the bigger iPhones, and spent almost more than enough money to buy new laptops on them. 06:04:15 I can't afford a secure daily driver and a device to write for 06:04:19 We need to go back to the old days 06:05:12 > Same here :(. Some of my relatives have the bigger iPhones, and spent almost more than enough money to buy new laptops on them. 06:05:12 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 06:05:22 Interestingly, there are also Enterprise Editions of some Samsung flagship devices, but those are much more difficult to buy than the standard editions 06:05:31 Yeah. >_<. 06:06:19 iPhone XS still keeps up with every Android out and still has longer support 06:06:37 Why people don't either keep their iPhones longer or buy used amazes me 06:07:28 I would like to have removable battery, which is a difficult thing to ask for nowadays 06:08:38 > I would like to have removable battery, which is a difficult thing to ask for nowadays 06:08:38 Look into Rugged Android Enterprise phones. 5 years support and I think some have removable batteries 06:08:47 They are around $1000 on 3rd party sites though 06:09:15 Yeah, but those phones rarely are supported by AOSP based projects 06:09:56 I dunno man. Stick to Google, Apple, and Nokia they are just killing it lately 06:10:18 Batteries aren't that expensive 06:10:44 I usually carry around a charge pack in my backpack... best I can do at the moment. 06:10:53 *a 10,000 mAH charge pack 06:11:18 Currently i have a Pixel 1st gen with a swollen battery... that's the problem with non-removables 06:11:32 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 06:11:52 * TheJollyRoger pokes a hole in the battery to let the air out :D 06:12:05 (I'm joking, don't do that) 06:12:08 hehe 06:13:47 I highly recommend the iPhone SE or Pixel 3a for anyone looking for a phone right now 06:15:40 I'll second that! 06:16:59 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. 06:18:01 Ah yeah, pixel 3a battery life is obscene on GrapheneOS though 06:18:03 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. 06:18:19 Aww yes :D 06:18:30 My 3a could handle 700 miles ha 06:18:50 Wow, by bus that's quite a trip! 06:20:00 Haha ouch 06:33:28 oh the 3a has better battery? 06:33:28 Are you saying it's good or bad? 06:33:30 rip 06:33:31 pixel 2 xl is dogshit battery life :( 06:33:33 comparatively 06:33:44 battery lasts me like maybe 8 hours of actual use 06:33:52 nothing heavy either 06:34:04 > > <@rutxonboard:matrix.org> Ah yeah, pixel 3a battery life is obscene on GrapheneOS though 06:34:04 > Are you saying it's good or bad? 06:34:04 2-3 days 06:34:10 Lasts me 3-4 hours of Zoom conferencing. 06:35:04 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. 06:35:17 3-4 hours of streaming is actually pretty damn good all things in. 06:55:14 Jitsi usually has my phone's battery flattened in 2. 06:55:34 (With the cameras running and all) 06:56:17 So I keep a 10,000mAH juicepack with me all the time. 06:56:28 :D 07:12:34 cx2[m]: HDR is not buggy on GrapheneOS, Open Camera just has a shit tier implementation of legacy HDR 07:13:18 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+ 07:13:37 you definitely never want legacy HDR, it's near useless 07:14:01 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. 07:14:10 legacy HDR is not very useful 07:14:34 it takes 3 pictures and naively merges them, blurring anything that moved, and without a tripod EVERYTHING is moving 07:14:49 so HDR on a phone just gives you blurry, awful looking pictures 07:14:55 that's not what HDR+ does at all 07:16:36 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. 07:17:12 so it captures far more image data than 1 image 07:26:55 Ahoy strcat. 07:31:23 https://github.com/GrapheneOS/os_issue_tracker/issues/137#issuecomment-617597696 07:32:02 finally some progress in narrowing down the bluetooth issues - I suggested that approach before to start narrowing it down 07:32:05 glad to see someone started 07:32:12 Very good 07:32:31 my initial guess was that hardened_malloc caused it which is why I suggested starting with that 07:32:36 I can't do it because I can't reproduce the problem 07:32:58 Understandable 07:37:54 I have a funky bug where everything goes really dark after switching between apps between normal and work profile. I assume that's upstream 07:38:10 Doesn't go away for a while 07:40:27 was color accent option taken away? 07:40:39 what color accent option? 07:41:07 if you mean something in developer options, those settings aren't meant for users 07:41:26 some are there for app developers, others for OS developers, often to test things 07:41:32 The color theme 07:41:56 Like having dark and brown theme 07:42:02 It's a normal AOSP thinf 07:43:22 android 10 has color accents 07:43:37 i was able to change it from blue to white on my primary device 07:43:43 but i dont see the option anymore 07:43:56 android always had color accents in the theme 07:44:02 r4v3r23[m]: you can't depend on developer options 07:44:23 what do you mean? it was available in prev build of graphene 07:44:28 i was able to change it 07:44:33 where was the option 07:44:36 in developer options? 07:44:41 https://www.androidauthority.com/change-system-accent-color-android-10-1025163/ 07:44:50 yes, pretty sure 07:44:59 so, as I explained, those settings aren't meant for users 07:45:01 they come and go\ 07:45:14 the settings in developer options are not features for users 07:45:32 they're for app and OS developers to test things including features that are under development 07:45:42 strange 07:45:43 developer options aren't meant to be used on a production device 07:45:55 r4v3r23[m]: why strange? I mean it's in a hidden developer options menu 07:46:02 it's hidden and not available to users, that's the intent 07:46:18 removing of settings from there is not removal of a feature for users, those settings aren't for users 07:46:27 and some of them have consequences you wouldn't realize 07:46:29 guess i got lucky getting to change it then :) 07:46:58 that dev options menu is a bunch of obscure, dangerous, and largely unsupported options 07:47:01 many come and go 07:47:09 it's hidden away for a reason 07:47:24 right but we need dev options to oem unlock/usb debug soooo 07:47:36 usb debugging isn't for production devices 07:47:52 for users submitting bug reports we need to make an app 07:48:09 > right but we need dev options to oem unlock/usb debug soooo 07:48:09 You should always turn that off after you're done 07:48:21 and then turn off dev options ideally 07:48:34 ok done 07:48:36 enable it only to disable oem unlocking again and then turn it off 07:48:50 That's what I do 07:48:52 having dev options enabled doesn't really hurt anything IF you haven't changed anything in there 07:48:59 but worth noting it usually asks for your password to enable dev options 07:49:07 it doesn't ask for your password to change stuff there once it's enabled 07:49:45 How do you recover if the OS got bricked if OEM locking is on? I've never done that 07:49:48 Recover that is 07:50:56 how would the OS get bricked? 07:51:06 if it fails to boot after an update, the firmware rolls back the update 07:51:22 verified boot ensures you have a bit-for-bit identical copy of the OS as what passed testing on the same device model 07:51:40 rutxonboard[m]: hard to see how that could happen - it never has happened 07:51:46 That's a good point, I guess it is impossible good both to get corrupted 07:52:09 rutxonboard[m]: if the flash memory actually broke I don't think being able to unlock would save you 07:52:26 rutxonboard[m]: also you can wipe data in recovery even with OEM unlocking disabled 07:52:40 Right, that's a good point 07:52:43 rutxonboard[m]: disabling OEM unlocking just reduces attack surface 07:53:39 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) 07:54:00 Right, you would have to have something in userdata break the system (basically impossible?) And then the recovery and backups would save you 07:54:04 disabling OEM unlocking as an additional step is just a minor reduction of attack surface by disabling the ability to unlock in fastboot mode 07:54:30 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 07:54:41 recovery doesn't read any of that persistent state so it can't break like that 07:54:43 it's stateless 07:54:58 the only thing recovery reads is the recovery command 07:55:01 Right, and if it gets a bad update it just rolls back 07:55:03 and it wipes that after trying to use it 07:55:24 recovery is just part of the boot image, alternate boot mode that boots up that recovery system and doesn't use persistent state 07:55:36 My apologies I really didn't think that through very well 07:55:42 no need to apologize 07:55:46 is the seed vault back up essential like reflashing my surrent set up when restoring? 07:55:54 * is the seed vault back up essentially like reflashing my surrent set up when restoring? 07:56:01 * is the seed vault back up essentially like reflashing my current set up when restoring? 07:56:28 r4v3r23[m]: it backs up system and app data via the standard backup service infrastructure 07:56:37 it's definitely not a filesystem image 07:56:56 what would be the best option for that? 07:57:03 for the system, it has support for backup/restore of the majority of the settings, etc. 07:57:14 and by default it fully backs up app data 07:57:18 unless apps disable backups 07:57:28 r4v3r23[m]: you can't take a filesystem image of userdata and restore it, it doesn't work that way 07:57:32 userdata is encrypted 07:57:39 gotchya 07:58:01 and there isn't a way to access all of it like that 07:58:11 if you took the flash chip in your phone and put it in another phone 07:58:20 it would not be possible to decrypt any of the data/metadata 07:58:37 Thanks to the Titan chip right? 07:58:44 no not really 07:58:51 the baseline data outside profiles is encrypted with hardware-based encryption, that doesn't involve the Titan M 07:59:14 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 07:59:20 hows the support for the project going? i remember saying you were having difficulty securing a model to make graphene sustainable 07:59:23 is the still the case? 07:59:23 Gotcha, I thought it did the hardware encryption I should look into that more 07:59:28 the Titan M is involved in that - it makes profile-based encryption stronger 07:59:37 rutxonboard[m]: the Titan M strengthens credential-based encryption 07:59:41 via an API called Weaver 07:59:45 * is that still the case? 07:59:54 rutxonboard[m]: Weaver has 'slots', one slot per profile 08:00:14 rutxonboard[m]: slots are basically a map of auth token -> randomly generated token 08:00:16 That's an awesome design actually 08:00:27 rutxonboard[m]: so when you create a profile 08:00:32 rutxonboard[m]: and set an auth method 08:00:52 rutxonboard[m]: the OS passes an auth token derived from the auth method and a random token to the Titan M via Weaver 08:00:56 to set it up for the profile 08:01:26 now, for future unlocks, the OS needs that random token as one of the inputs for encryption key derivation and so on 08:01:38 For a guest account(with no login) the data I assume is using the basic hardware encryption? 08:01:40 and the Titan M will only provide that random token if the correct auth token is supplied 08:01:51 rutxonboard[m]: or just a profile without a lock method 08:01:53 yeah 08:02:39 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 08:03:00 rutxonboard[m]: the hardware-based inputs to key derivation are still used - your lock method adds security, it doesn't remove any 08:03:29 if you use a totally shit tier lock method like a password 223344 it doesn't make the encryption any weaker than it was 08:03:30 > and the Titan M will only provide that random token if the correct auth token is supplied 08:03:30 The Titan M protects from bruteforcing with enforcing rate limiting I imagine? 08:03:42 That's amazing 08:03:59 rutxonboard[m]: it has a secure internal timer protected from tampering and enforces an exponentially increases delay that quickly reaches 1 day per attempt 08:04:26 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 08:04:34 rutxonboard[m]: Weaver via the Titan M is in addition to this 08:04:42 other devices can implement Weaver - it's all open source 08:04:51 rutxonboard[m]: Pixel 2 doesn't have the Titan M and still has Weaver 08:05:00 it used an NXP security chip for Weaver 08:05:27 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 08:05:41 rutxonboard[m]: there's also 'insider attack protection' 08:06:00 rutxonboard[m]: to do firmware updates of these security chips (including the one before the Titan M), the owner account must authenticate successfully 08:06:12 rutxonboard[m]: the security chips have signature verification for updates + verified boot 08:06:20 but they ALSO enforce that the owner account has authenticated 08:06:46 rutxonboard[m]: you have 2 options really: successfully authenticate or wipe the security chip (which happens when wiping data) 08:06:55 rutxonboard[m]: otherwise can't update the firmware on the chip 08:07:07 That allows for safely flashing a custom one of they open source it? Or just from a GovtOS type situation? 08:07:27 rutxonboard[m]: no it doesn't bypass signature verification 08:07:32 it's in addition to signature verification 08:07:50 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 08:08:11 rutxonboard[m]: 'insider attack protection' as in it protects you from the company that makes / signs the firmware 08:08:24 even if they can be pressured into making evil firmware, it can't be installed without authenticating successfully 08:08:40 rutxonboard[m]: remember when the FBI wanted apple to make evil SEP firmware? 08:08:54 Right pre Secure Enclave right? 08:08:58 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 08:09:05 rutxonboard[m]: no not really 08:09:37 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. 08:09:45 it's a good design and I haven't seen something like their insider attack protection feature 08:09:46 > 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 08:09:46 Which defeats the point 08:09:51 Then they wanted Apple to sign it using their signing keys, and push that to the phone they had confiscated. 08:09:52 IIRC the Pixel 2 had this too with the NXP chip 08:10:11 > 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. 08:10:11 Which is essentially forced labor 08:10:25 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 08:11:00 > it's a good design and I haven't seen something like their insider attack protection feature 08:11:00 That's fascinating. If they open sourced Titan M would it still be required to be built and signed by Google? 08:11:15 Not that it really makes any difference 08:11:18 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 08:11:33 rutxonboard[m]: open sourcing firmware doesn't mean you can install modified versions of it 08:11:45 you can build it yourself and use their signature as long as builds are reproducible 08:11:53 The firmware is digitally signed by Google and digitally validated directly by the chip, right? 08:11:57 rutxonboard[m]: it shouldn't be possible to install modified firmware on these kinds of security chips 08:12:07 TheJollyRoger: yes it verifies the signatures of updates *and* has verified boot 08:12:23 TheJollyRoger: *and* the owner must authenticate before it accepts firmware updates at all 08:12:41 Wow. Verified boot, for a device that acts as a root of trust for verified boot within the device. 08:12:42 TheJollyRoger: you can look at the source code for the Pixel 2 security chip 08:12:48 WOW! 08:12:58 > rutxonboard: it shouldn't be possible to install modified firmware on these kinds of security chips 08:12:58 That's a brilliant design. I'm not surprised Google doesn't advertise that feature 08:13:03 it's a proprietary NXP security chip but the Google code is open source 08:13:08 rutxonboard[m]: well they kinda do 08:13:11 That's awesome 08:13:16 they advertise the security chip and have blog posts about it 08:13:19 * TheJollyRoger needs to make a "Yo dawg, I heard you like verified boot so we put your verified boot in your verified boot..." 08:13:34 Sec, I'll go and dig it up. 08:13:47 https://android.googlesource.com/platform/external/libese/+/android-10.0.0_r30/apps 08:13:54 here are the security chip applets used on the Pixel 2 security chip 08:14:01 and can be used elsewhere 08:14:27 > they advertise the security chip and have blog posts about it 08:14:27 Is hands on and blog posts your main wat of learning about this stuff? I haven't really found whitepapers or anything 08:14:36 https://android.googlesource.com/platform/external/libese/+/android-10.0.0_r30/apps/boot/ was the early draft of security chip enforcement of verified boot / lock state 08:14:39 I do enjoy researching this stuff 08:14:46 wasn't actually used on the Pixel 2, it enforced it via the SoC only 08:14:53 didn't ship 08:15:03 https://android.googlesource.com/platform/external/libese/+/android-10.0.0_r30/apps/weaver/ 08:15:05 is weaver 08:15:13 on the Pixel 2 NXP chip 08:15:20 Oh, beat me to it XP. 08:15:29 Interesting, I can't wait to see what Google can do if they start making their own chips 08:15:44 I'm looking forward to hearing about OpenTitan. 08:16:14 https://android.googlesource.com/platform/external/libese/+/android-10.0.0_r30/apps/weaver/card/src/com/android/weaver/core/CoreSlots.java#195 08:16:18 is where it throttles attempts 08:16:33 rutxonboard[m]: this code is the Pixel 2 Weaver applet for the NXP security chip 08:16:39 which is basically a standard Java smartcard 08:16:57 That's awesome reading that code right now 08:16:59 where they signed the firmware, implemented insider attack protection and included this weaver applet 08:17:36 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) 08:17:49 rutxonboard[m]: they did design and manufacture the Titan M themselves 08:18:15 Essentially there's little to gain security wise them 08:18:15 Then* 08:18:19 rutxonboard[m]: Titan M adds a production implementation of the 'boot' applet there to enforce verified boot and lock state 08:18:24 By building their own SOC 08:18:37 rutxonboard[m]: and adds factory reset protection support (i.e. it has a little data section usable by the OS to implement FRP) 08:18:51 rutxonboard[m]: which is an anti-theft feature - we don't use that 08:19:35 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 08:19:41 rutxonboard[m]: anti-theft feature 08:19:51 to make it not tied to your account you have to remove your account 08:20:08 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 08:20:17 So it's like the iCloud Lock that junks iPhones? Very broadly speaking 08:20:21 Oh gotcha 08:20:31 That makes more sense 08:20:34 rutxonboard[m]: yes, it's on all Android phones, but Pixels have a secure element based implementation 08:20:44 Yeah. Incentivizes returning the phone to discourage steal-and-sell. 08:20:47 rutxonboard[m]: usually there's just a frp partition used for this little bit of data 08:21:03 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 08:21:08 rutxonboard[m]: it's really super overkill 08:21:16 This is all very impressive, I didn't know how far ahead Google was 08:21:27 In hardware level security 08:21:48 Wow. So to circumvent factory reset protection, they have to attack the HSM itself... which is paranoia-level secure. Brilliant. 08:21:50 so gen 1 chip on Pixel 2 (NXP chip) had Weaver, insider attack protection 08:22:22 Titan M has Weaver, insider attack protection, verified boot enforcement, lock state enforcement, factory reset protection enforcement, and StrongBox keystore 08:22:44 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 08:22:55 rutxonboard[m]: so for example, that's what Auditor is based on 08:23:03 it uses a hardware-backed key with attestation enabled 08:23:30 it generates a persistent key used to identify / verify the pairing with that device via signatures from the hardware-backed key 08:24:08 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) 08:24:42 the public key certificate is signed by the batch key in the keystore which chains to the attestation root 08:24:50 Auditor pins that certificate chain rather than relying on the root cert 08:25:02 rutxonboard[m]: anyway lots of apps have a use for the keystore 08:25:18 For the other phones that support your app 08:25:20 rutxonboard[m]: as an example an SSH client can generate an RSA or ECDSA key in the keystore 08:25:21 What are they doing? 08:25:28 rutxonboard[m]: there is a traditional TEE-based keystore 08:25:37 rutxonboard[m]: and then StrongBox == secure element based keystore 08:25:43 Pixel 3 and 3a have StrongBox via Titan M 08:25:58 very new Samsung phones with a Qualcomm SoC implement StrongBox via Qualcomm SPU 08:26:14 rutxonboard[m]: the keystore API is an HSM API basically 08:26:29 the traditional one is implemented via the TEE and has a lot more features / algorithms and "unlimited" storage for keys 08:26:54 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 08:27:17 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 08:27:28 rutxonboard[m]: so there is an optional 'rollback resistance' feature 08:27:41 rutxonboard[m]: which uses the Replay Protected Memory Block to store data to prevent replay attacks 08:27:52 rutxonboard[m]: an example would be lets say you delete a key in the TEE-based keystore 08:28:13 so it really just ends up deleting encrypted data it stored via the OS 08:28:26 it can't really reliably get rid of it or ensure it wasn't copied elsewhere by a compromised OS 08:28:26 I'm not confident I know what HSM stands for 08:28:30 hardware secure module 08:28:33 security chip basically 08:29:00 Okay Hardware Security Module that's what I thought, wanted to be sure 08:29:42 rutxonboard[m]: using the StrongBox (HSM) keystore is as simple as doing builder.setIsStrongBoxBacked(true) 08:29:58 rutxonboard[m]: it's the same API as the traditional TEE-based keystore, with fewer supported features / algorithms 08:30:13 rutxonboard[m]: https://developer.android.com/training/articles/keystore#HardwareSecurityModule 08:31:01 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 08:31:03 *shrug* 08:31:16 Heh. Well... 08:31:28 and it's a simple symmetric algorithm so it doesn't add much attack surface or complexity at all 08:31:52 It's kinda funny how 3DES soldiers on and refuses to die... *sigh* kinda crazy. 08:31:59 rutxonboard[m]: so the way the keystore works is you either generate or import a key, and the private key can never be exported 08:32:09 it tracks whether the key was generated internally or imported as one of the key properties 08:32:19 rutxonboard[m]: and then from that point on the OS can only use the key within the constraints placed on it 08:33:20 > 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 08:33:20 That's surprising, but also not. 08:33:22 rutxonboard[m]: https://developer.android.com/reference/android/security/keystore/KeyGenParameterSpec.Builder is how you generate/import a key 08:33:38 setAttestationChallenge(byte[] attestationChallenge) 08:33:44 so that's how you enable attestation 08:34:05 you set a challenge string (provided by the host doing the attestation verification - random string) that it includes in the attestation metadata it adds 08:34:15 and it signs the public key cert with attestation batch key and provides that cert chain 08:34:23 setUnlockedDeviceRequired(boolean unlockedDeviceRequired) 08:34:53 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 08:35:05 rutxonboard[m]: so you can use keystore keys to keep data at rest when the screen is locked by encrypting data with them 08:35:33 you can either DIRECTLY encrypt the data (ideal) or encrypt another key with them for performance 08:35:42 It is compliant with global platform standards, it runs javacard apps you can install or update if you have card manager keys 08:35:50 setUserAuthenticationRequired(boolean required) 08:35:54 is to require recent authentication 08:36:01 different from requiring the profile to be unlocked 08:36:21 setUserPresenceRequired(boolean required) 08:36:26 is to require user presence to use the key 08:36:47 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 08:36:51 setUserConfirmationRequired(boolean required) 08:37:03 and that requires explicit user confirmation 08:37:22 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 08:37:24 approved a displayed message. User authentication verifies that the correct user is present and has authenticated. 08:37:54 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 08:38:09 rutxonboard[m]: so it can use that to do presence / confirmation / authentication checks directly 08:38:32 rutxonboard[m]: StrongBox keystore has access to all of that via the TEE (it pairs with the TEE) 08:38:49 That's so interesting, so to fake it you would need to actually hack the chip directly 08:38:49 rutxonboard[m]: on the Pixel 3, the Titan M has the power button directly wired to it and can detect when it's pressed 08:39:09 rutxonboard[m]: so basically you can store a key that requires prompting the user to press the power button to use it 08:39:35 rutxonboard[m]: the API is designed so that the security chip could in theory display the confirmation message to the user 08:39:53 and it provides a signed proof that the user saw the message 08:40:04 rutxonboard[m]: in practice, there isn't a secure display, and the OS is just displaying the message to the user 08:40:22 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 08:40:41 rutxonboard[m]: and the API provides proof that it happened and was confirmed 08:40:42 > 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 08:40:42 Is that the kind of thing you want to make custom hardware for? 08:40:58 yeah 08:41:07 rutxonboard[m]: also consider something like a Bitcoin wallet 08:41:34 so, ideally the StrongBox keystore would support secp256k1 curve 08:41:38 and then it could be used for Bitcoin wallets 08:41:58 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 08:42:21 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 08:42:27 and then you'd have a real hardware wallet inside the device 08:42:46 protected confirmation is useful but doesn't confirm a specific operation just USING the key 08:43:09 Beautiful. 08:43:24 rutxonboard[m]: anyway the keystore can already be used for things like SSH or whatever 08:43:39 That would require allowing the Titan M to control the display stack, but very possible 08:43:44 rutxonboard[m]: including confirming usage of the key via physical confirmation 08:43:52 The GPU and the display 08:43:54 rutxonboard[m]: yeah just like they wired it up to the power button 08:43:56 it doesn't need the GPU 08:44:06 it doesn't need to do any fancy graphics 08:44:12 it'd just need a way to take over the display temporarily 08:45:18 That's insanely cool what this chip could do 08:45:19 And can 08:46:48 Oh yeah :D 08:47:26 > it'd just need a way to take over the display temporarily 08:47:26 Does the Titan M enforce OTAs require any form of consent? 08:48:41 Sorry about bouncing so much, I'm making some changes >_<. 08:49:56 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 08:50:22 literally > 700 spam emails to danielmicay⊙gc in past couple days 08:50:24 fuck email 08:50:33 Holy cow. 08:50:35 I don't get spam to my @grapheneos.org / @attestation.app emails yet 08:50:48 I don't really want to start using them to make commits because then the spam will start 08:50:57 I think posting to mailing lists is what really triggers it 08:51:05 Sheesh >_<. 08:51:42 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 08:51:48 and then... 08:51:50 I never see it 08:51:55 cause I get hundreds of spam emails a day 08:52:23 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 08:52:25 *shrug* 08:52:29 Would it make more sense to have people communicate another way? 08:52:33 doesnt gmail automatically sort ML emails? 08:52:47 fastmail has a tab that filters mailing list stuff 08:52:58 renlord: yeah and I also make my own filters to set stuff as never going to spam 08:53:12 I set emails relayed via github to never go to spam and I do the same for mailing lists 08:53:33 PeterEaston: oh so I said 700+ spam emails in 3 days 08:53:41 PeterEaston: but note... I have filters that immediately deletes tons of patterns 08:53:45 so those don't even go to spam 08:53:53 I was trying to clean up my spam folder to find useful emails 08:53:55 didn't work 08:54:09 > ʜᴇʏ__Danielmicay__ᴜɴʙᴇʟɪᴇᴠᴀʙʟᴇ💥_ʏᴏᴜ'ᴠᴇ_ᴡᴏɴ_$𝟸𝟶𝟶𝟶ᴄᴀsʜ+𝟷𝟶𝟶%_ғʀᴇᴇ_sᴘɪɴs____ᴄᴏɴғɪʀᴍ__ɴᴏᴡ___ 08:54:20 Ay carumba >_<. 08:54:39 FUCK Me💋 08:54:43 You should just tell people to reach you on a sane communication platform 08:54:45 to RmqpUmdARN7N2SRSet-RmqpUmdARN7N2SRSet 08:55:31 the spammers have proper reverse IP, SPF, DKIM, DMARC ofc 08:55:32 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 >_<. 08:55:34 luckily it all goes to spam 08:55:45 Good gravy. 08:55:53 You've get more spam email in a few days than I got in my whole life 08:55:56 I rarely ever get spam that goes to my inbox other than stuff like people sending me developer surveys or doing university studies 08:56:11 rutxonboard[m]: yeah I highly recommend not contributing to projects using mailing lists 08:56:14 or discussing things on mailing lists 08:56:19 you get a fucking ridiculous amount of spam 08:56:35 rutxonboard[m]: also people repost my email everywhere referencing my commits or the arch linux keyring 08:57:20 this spam email is totally fucked up 08:57:25 I'm looking at the original raw email 08:57:25 > 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 >_<. 08:57:25 Why MailFence? I only use email for accounts so I only use Gmail since I can trust them not to get hacked 08:57:27 it has like 08:57:30 20 different spam emails 08:57:33 inside the same email 08:57:35 wtf 08:57:43 How? 08:57:58 That's disgusting 08:58:12 https://paste.xinu.at/Wmud6/ 08:58:16 what the fuck is this shit 08:58:30 it has ascii art 08:58:47 it has a comment with an ascii header art thing 08:59:00 ...good gravy...?! 08:59:01 and it has a ton of additional spam emails with display:none 08:59:03 like 08:59:06 you need the aliases to track which shit provider is leaking your email 08:59:08 they included 20+ spam emails in this 08:59:10 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 08:59:12 then just blackmail the alias 08:59:17 renlord: I use my email publicly 08:59:19 mailing lists 08:59:21 commits 08:59:33 renlord: you're going to get tons of spam to whatever email you used for the GrapheneOS commits 08:59:38 rutxonboard[m]: so far I've *kinda* had some good luck with Startmail. The only thing they've failed so far is DMARC alignment... >_> 08:59:44 * PeterEaston knocks on wood. 08:59:45 so far none 08:59:58 but my spam filter is so aggressive 09:00:00 I think mailing lists are the main issue 09:00:05 renlord: well I'm looking at my spam folder 09:00:09 none of this makes it into my inbox 09:00:13 even emails from my institution goes into spam immediately 09:00:15 I want to stop receiving mail that's classified as spam 09:00:25 it's rare that legit emails go into my spam folder 09:00:29 but people do send me emails that do 09:00:32 anyways, if urgent, my supervisors will email me directly 09:00:49 I used ProtonVPN for a while and their own emails went to spam 09:01:41 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." 09:01:49 > but people do send me emails that do 09:01:49 I'm not an email guy, but wouldn't an auto reply to spam work? 09:02:28 then I'll prob get even more spam 09:02:42 > rutxonboard: so far I've *kinda* had some good luck with Startmail. The only thing they've failed so far is DMARC alignment... >_> 09:02:42 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 09:02:42 I should really just stop using email 09:03:01 > I should really just stop using email 09:03:01 Insist they use another platform 09:03:11 If it's important they will do that 09:03:21 I'm happily hosting my own email server for GrapheneOS 09:03:25 rutxonboard[m]: you raise a good point :( 09:03:30 Crud... Aaargh... 09:03:36 * PeterEaston starts drowning his sorrows. 09:03:52 i have a auto-reply rule for *@student.unimelb.edu.au 09:04:03 that auto-deletes everything and replies "your email has been deleted. thanks" 09:04:05 Such broken protocol 09:04:19 > rutxonboard: you raise a good point :( 09:04:19 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 09:04:33 I at least only use OTP on my phone 09:04:55 * PeterEaston basks in the glory of rutxonboard[m]'s humility. 09:05:08 gmail is getting more hostile with imap/smtp support 09:05:19 Trust* 09:05:22 renlord: just with passwords 09:05:27 not imap/smtp 09:05:36 > * PeterEaston basks in the glory of rutxonboard[m]'s humility. 09:05:36 That's a first 09:05:38 they're hostile towards using passwords because they want everyone to use 2FA 09:05:51 i cant remember if you need to toggle 'enable less secure apps' if you use 2FA 09:06:00 when you enable 2FA it makes you set up app passwords for apps 09:06:10 so with ^ do you need to toggle it? 09:06:20 I think it disables that altogether 09:06:38 you can't login with the username + password alone once 2FA is on and have to make app passwords 09:06:42 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. 09:06:50 app passwords are meant to be per-app, temporary passwords 09:06:57 and it regularly warns you in the security review that you have them 09:07:04 they don't want you using them 09:07:19 they want apps to implement OAUTH and get access to a specific set of stuff that the user can review 09:07:30 and that does login via Google's login implementation including 2FA 09:07:37 renlord: it's hostility towards passwords, basically 09:07:47 renlord: they want apps using Google's login implementation 09:07:50 how's oauth going to work with imap/smtp credentials? 09:07:53 lol 09:07:55 > 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. 09:07:55 I totally relate. The privacy community has an insatiable hate for a popular solution or anything corporate at all 09:08:02 renlord: thunderbird implements this 09:08:03 isnt that a form of hostility? 09:08:09 I used to be roped into that 09:08:09 renlord: well thunderbird works using the modern way 09:08:10 Yeah T_T 09:08:15 Same here, ahaha. 09:08:15 renlord: don't need app password for TB 09:08:27 renlord: try using thunderbird with it and you'll see 09:08:39 the last time i used thunderbird, it crashed on average twice a day or something 09:08:47 well it's a fucking terrible application 09:08:47 and coredumped till my disk space ran out 09:08:53 Wow. 09:08:58 I'm just suggesting trying it to see how the proper login works 09:09:18 its a dysfunctional mail client 09:09:25 Mozilla did something right for once? 09:09:29 I have to admit... I'm not too fond of Mozilla Blunderbird, but... 09:09:31 I'm shocked 09:10:14 Maybe rustlang 09:10:17 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. 09:10:26 it is a mozilla initiative 09:10:51 why dont they rewrite thunderbird with rust? 09:10:57 so it will stop coredumping 09:10:57 It's very disappointing to hear that beneath the UI the program is rotting. 09:11:21 > Maybe rustlang 09:11:21 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 09:11:35 * PeterEaston toots an airhorn blaster. 09:11:50 Mozilla knows enough to be dangerous 09:11:54 and servo as well 09:12:01 dont know how its going 09:12:07 I'm going to have to start switching to mutt >_<. 09:12:15 i use neomutt, its great 09:12:23 at least its snappy and never crashes 09:12:31 Servo is fantastic, Firefox Nightly is legitimately the fastest browser I've ever used 09:12:34 I've got it merged but... I've had a hard time trying to use it. 09:12:37 the mime handling is abit troublesome 09:12:49 PeterEaston: you can checkout my muttrc file 09:13:12 I'm going to stick with Chromium for a good long time since I can't bring myself to use Windows 09:13:15 https://github.com/renlord/dotfiles/blob/master/HOME-STOW/mutt/.muttrc 09:13:18 And many other reasons 09:14:33 CFI, site isolation, jemalloc, win32k sandbox. So much is missing from Firefox and they expect people to take it seriously? /rant 09:14:37 Oh wow! 09:14:49 Oh wow thank you! 09:15:34 I mean that they use jemalloc* 09:15:54 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..." 09:16:17 * PeterEaston cracks up. 09:19:19 200//4 09:19:37 sry, irssi fail :D 09:19:54 FINALLY my chatting VM lives again. 09:21:57 > 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..." 09:21:57 $1 that's a bit rich. Do you have a link to the one you're thinking of?? 09:22:09 Oh man. One sec and I'll find it. 09:22:55 i dont think mozilla is deliberately malicious, they have to work to provide quality software at a small percentage of Google's budget 09:25:42 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 09:25:42 Any thoughts? 09:25:42 This community is by far the most intelligent, hence off topic-ish question 09:25:50 rutxonboard[m]: sent! 09:28:29 > i dont think mozilla is deliberately malicious, they have to work to provide quality software at a small percentage of Google's budget 09:28:29 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 09:29:09 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. 09:29:15 If they don't know the first thing about security and privacy I've found the ecosystem can be more friendly 09:30:05 I guess you're not using BT earplugs don't ya? 09:31:10 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. 09:31:28 The other thing Mozilla does get right is they do a better job auditing extensions. That's one thing I have to give them 09:31:29 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 09:31:35 I am probably too hard on them 09:32:23 Hehehehe X3. 09:32:31 For non tech savvy people Firefox might be fine. If you're knowledgeable then Chromium extra security is very meaningful 09:32:36 Ah that just reminded me of something funny... I'll take that to PM. 09:32:57 for tech savvy people, lynx is enough 09:33:10 or wget URL | emacs 09:33:19 Lynx I am wary of 09:33:45 At least w3m had some exploits and has no sandboxing 09:33:59 i dont think any of them have sandboxing 09:34:34 renlord oh good golly. 09:34:49 * TheJollyRoger is getting PTSD flashbacks of "living without a browser" when he first got his computer. 09:35:00 Since that's exactly what I had to do, it was MISERABLE 09:35:48 I couldn't get a browser to merge. 09:35:55 And I couldn't figure out lynx. 09:36:17 lynx is my favorite 09:36:19 So I lived like that for a month until Awilfox rescued me. 09:36:31 I use lynx on my phone 09:38:10 I mean, everyone can say everything about non-free javascript but trying to live with no web browser was an awful experience. 09:40:24 Haha, no js web is still the best 09:40:55 X) 09:54:32 this chinese domain registrar is trying to extort us for money 09:54:41 going to send them a super threatening email and tell them to fuck off 09:54:43 tired of their bullshit 09:55:50 it's some extortion scam 09:56:03 they claim that someone is trying to register domains using your branding and you need to register the domains with them first 09:56:04 Oh good gravy. 09:56:30 I seriously doubt anyone is trying to register the domains these bloodsuckers just threaten people 09:56:45 they probably will register the domain and I really couldn't care less about a grapheneos.cn domain 09:56:52 they can fuck off I'm not buying domains from them 09:57:16 grapheneos.cn the whinnie the pooh secure rom 09:57:24 anyway time to write a super threatening email 09:59:13 XD 10:02:36 Interesting post 10:02:39 https://medium.com/@shivsahni2/the-zaheck-of-android-deep-links-a5f57dc4ae4c 10:03:17 Some resources linked from there look handy 10:03:38 fuck these chinese domain registrar people 10:04:12 eg. The Grey Matter of Securing Android Applications 10:04:25 TheJollyRoger: this scam is some real BS 10:04:56 strcat yeah thats crappy ): 10:05:03 I find it really hard to care about them threatening to register a bunch of chinese / indian domains 10:05:37 Was just wondering yesterday if you had other GrapheneOS domains 10:06:42 they're basically threatening me and demanding that I register the domain 10:06:54 dazinism: I really couldn't care less if people register grapheneos.cn / grapheneos.xxx or whatever 10:06:59 there are probably 10000+ tlds at this point 10:07:05 I'm not registering grapheneos across them all 10:07:29 grapheneos domain is grapheneos.org and domains like grapheneos.com, graphene.org or whatever else are unrelated 10:07:38 not going to register a bunch of variations of the name and do it per TLD that's insane 10:07:58 I don't even want grapheneos.com even if someone hadn't registered it to domain squat it 10:08:06 I'm not paying for unnecessary domains 10:08:16 and then once you start paying and redirecting you can't stop in case someone started relying on it 10:08:19 Theres just so many 10:08:51 anyway threatening these fuckers with retribution if they proceed 10:09:06 maybe I'll find some quality rant in a movie and paraphrase it 10:09:32 Yeah exactly 10:15:08 strcat: jeez oueeze >_<. 10:15:30 *loueeze 10:18:53 just going to switch to scamming them instead 10:24:14 O_O 10:24:18 Oh boy. 10:24:27 k sent them an email 10:24:38 told them our elite team of hackers has determined their identities and location 10:25:39 * TheJollyRoger cracks up. 10:26:44 So how do companies Cellebrite break the passwords if the delay increases to 1 passw a day? Do they bypass the restriction? 10:28:05 Likely that those Cellebrite/Graykey machines use canned exploits for exploiting older devices that aren't patched properly against that vector. 10:30:03 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. 10:30:40 can icann do something about it? 10:31:33 Time to pile up the Zs. Night! 10:31:44 for grapheneos.com i think you can hijack it via ICANN 10:31:51 there's some rule that you cant squat a trademark 10:41:39 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, 10:41:43 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 10:41:43 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 10:43:52 limitless0[m]: that's not what they claim 10:44:14 one of the extraction methods they list supported devices for requires already having the password and people misinterpret it as having an exploit 10:44:25 and yet the instructions for using it start with unlocking, enabling dev options and enabling adb 10:45:02 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 10:45:04 renlord: I'd probably need to register the trademark in the US which I'll do 'soon' 10:45:42 Thats good news then 10:46:21 Si its safe to use numeric passw 10:48:03 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 10:49:17 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 10:49:40 but I seriously doubt anyone has bypasses for the Titan M throttling 10:50:05 people are prone to spreading misinformation based on skimming and not understanding things 10:50:19 happens a lot with that UFED stuff 10:50:30 they see a list of phones and imagine it to mean there is an exploit for those devices 10:50:38 without actually READING what it says 10:50:41 per usual 10:51:07 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 10:52:39 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 10:53:42 mxnorvak: not failsafe, but best effort 10:58:25 The way cheap androids build spyware into essential system components is proper nasty 10:59:43 its really a shame , the hardware used in this phone is really great for the money 11:00:25 can i do that without NetGuard without root? 11:00:38 > <@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 11:00:38 * can i do that withNetGuard without root? 11:00:42 * can i do that with NetGuard without root? 11:05:55 mxnorvak: yes. 11:07:01 Its possible that some data can get past - eg. When the device starts before NetGuard has started 11:12:15 If you look in Settings>app you can see how much network data an app has used 11:12:52 So you can check if NetGuard has stopped everything or not 11:13:40 :( , 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 11:15:29 the Network toggle is a GrapheneOS feature 11:16:46 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 11:19:02 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. 11:20:28 Guess need to consider that you are using a Xiaomi device - so already putting trust in their hardware / firmware 11:25:05 mxnorvak[m]: I don't think they have the same feature 11:26:54 well yeah i havent seen the network toggle in GrapheneOS so i could be wrong about calling em the same thing 11:29:06 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 11:29:08 not the same thing 11:29:09 There was something in Lineage in settings>apps>some_app>network(or something similar) 11:29:39 Could disallow mobile data 11:29:49 And WiFi data 11:30:18 Not seen recent Lineage though 11:31:26 In GrapheneOS its a permission toggle for the app. Listed under app permissions like storage, location etc. 11:31:50 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 11:31:50 idk how much i can trust the firmware either 11:33:36 its the same in LOS 17, toggle for each app allowing or disallowing mobile data, wifi, vpn access and another thing i cant remember 11:33:46 I'd say stay on stock and block the spying system apps with NetMonitor then 11:34:06 Sorry NetGuard 11:34:10 I mean 11:34:47 mxnorvak[m]: no that's not the same thing as I explained above 11:35:34 this fucking VM ovh gave me has 8.3MB/s write speed 11:36:30 mxnorvak: I didnt quite understand if you managed to get a second user profile to work? Did it work but pm uninstall didnt? 11:36:32 oh sorry for my misunderstandings 11:36:42 on my local computer 11:36:43 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.48348 s, 2.2 GB/s 11:36:47 on this ovh vm 11:36:49 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 129.127 s, 8.3 MB/s 11:36:51 what the fuck 11:36:55 it's supposed to have an SSD 11:37:40 this is on another VM: 11:37:42 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 39.9155 s, 26.9 MB/s 11:37:44 lol 11:37:46 "SSD" 11:38:07 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 ) 11:39:31 I'll give it one more shot tho 11:39:39 strcat: hypervisor busy 11:39:51 renlord: yeah 11:39:58 and maybe they cap speed at 10MB/s 11:40:40 VPS providers should publish cotenancy metrics 11:41:02 so users know how busy their boxes are 11:41:39 if ISPs have to publish metrics on virtual circuit usage, then obviously VPS providers should also publish these metrics 11:44:19 especially since the way I want to scale stuff is having many VPS with geographical load balancing 11:44:41 DNS-based load balancing is appealing 11:44:47 anycast DNS provider with load balancing + geoip stuff 11:45:09 so just start making a VPS per region and adding it in 11:45:14 if one is overloaded, add another for that region 11:45:40 to avoid using a third party CDN 11:45:52 why is using a 3rd party cdn so bad? 11:46:28 when you can verify the integrity of the object that is being downloaded anyways 12:05:22 if someone has time 12:05:24 https://github.com/GrapheneOS/os_issue_tracker/issues/124 12:05:52 looking into using slab_debug to see if the upstream debugging options uncover the same issue (like redzones) would be nice 12:06:04 someone reported they hit the same issue on a non-Pixel device porting the code to it 12:06:11 and mentioned that slub_debug redzones trigger the same issue 12:06:14 may be easier to debug that 12:06:17 debug cable may be helpful 12:25:14 mxnorvak: some Xiaomi devices are known to have issues with work profiles, guess the same issue may effect other profiles 12:25:27 They mention on https://f-droid.org/app/net.typeblog.shelter 12:28:13 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. 12:29:26 Alternatively I'd hope you could get these updates via Aurora Store 12:54:45 strcat: hows the support for the project going? i remember saying you were having difficulty securing a model to make graphene sustainable 13:01:30 r4v3r23: need a load more developers to solve issues on github 13:03:36 None of the supported devices have maintainers 13:04:06 so realistically how sustainable is the project? 13:04:34 Daniel has said it cant continue without more devs, and looks like thats not happening 13:05:35 There are more folks contributing 13:06:16 Just needs more 13:06:31 Support for devices can be dropped to free up time 13:06:33 This may well happen if nobody steps up to maintain a device 13:07:04 need lots of help 13:07:08 not just for technical things 13:44:00 i was thinking about replacing the system webview with bromite's version of webview 13:46:29 is there really anything important that play store updates that makes it work a separate user profile? 13:47:10 the work profile works normally , adding another user was problematic 13:48:55 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 13:50:59 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 13:52:28 https://9to5google.com/2019/04/10/android-system-updates-play-store/ 13:53:06 didn't know that ! 13:54:12 does netguard require using it as a vpn to manage the connections coming and going through each app? 13:56:20 https://9to5google.com/2019/04/15/android-q-google-system-update/ 13:58:08 One year old articles, but it seems that Play Store indeed has some kind of functionality for system upgrades also. 14:04:25 interesting but it doesn't seem like its a mainstream feature yet 14:09:49 Having a look, appears the security updates via play is only on devices launched with Android Q 14:10:10 Project Mainline 14:11:22 Good for phones that are only getting irregular system updates 14:13:33 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 14:14:42 mxnorvak: so I think possibly you only have to worry about updating whatever provides webview 14:15:13 Can see in developer options 14:17:15 yeah its android system webview 14:18:42 Think thats basically chromium 14:25:08 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 14:28:10 Not sure what the implications of having chrome doing webview 14:28:46 i was able to pm uninstall both chrome and webview tho 14:29:32 mxnorvak: you'll find removing webview breaks lots of apps 14:29:51 dont know what the effect would be , i was in the process of testing to see what works and what doesnt 14:30:18 Also when I tried it a few years back, the WiFi settings broke 14:30:35 WiFi was stuck on permanently 14:30:49 can confirm wifi setting didnt break for me 14:31:03 Couldnt turn it off (I never turned it on in the first places) 14:32:20 Still lots of apps use webview. Even apps that don't connect to network 14:45:50 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 14:46:24 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] 14:46:32 so thats that 15:02:16 mxnorvak: guessing that the work profile will be -user 10 15:03:31 Sorry I think -user 11 15:05:36 Can check by installing https://f-droid.org/app/me.zhanghai.android.files 15:06:23 In the work profile 15:07:09 Then in ⁝ menu 15:07:42 Copy path 15:08:34 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 15:20:19 ok managed to uninstall apps from work profile as well 15:21:04 you were right, i had selected the wrong user 16:19:30 How do you enable work profile anyway? Or is it just another user profile you talk about? 16:20:59 One has to install an app for that 16:21:44 https://f-droid.org/en/packages/net.typeblog.shelter/ 16:23:22 Work Profile is a special type of user profile 16:30:07 ah 16:46:30 flabbergasted: https://hub.libranet.de/wiki/and-priv-sec/wiki/user-profiles 16:52:19 Because shelter has device admin permissions its very powerful, which makes using a work profile like this less safe than a separate user profile 16:53:16 But it can be very handy being able to copy stuff from one profile and paste it into the other. 16:53:40 Also being able to use app share functionality to share stuff between profiles 16:56:21 yeah I think I'll stick to the regular user profiles if I ever need it 17:02:41 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 17:03:50 * 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 17:04:05 Plenty.... imagine a work profile, play profile, and family profile.... 17:04:32 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 17:05:32 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.) 17:07:52 Can let it have access but no contacts in work profile, and keep storage empty 17:09:24 I think we are confusing two different things. I am refering to using User profiles. 17:10:58 Above I meant a "work" user profile, the the managed work profile. Sorry. 17:10:58 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. 17:15:43 > > <@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. 17:15:43 > i was thinking about replacing the system webview with bromite's version of webview 17:15:43 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 17:20:16 quick question, does bromite need any further configuration to work with its full potential? 17:21:30 rutxonboard: they were talking about stock on a xiaomi phone 17:22:38 mxnorvak: bromite has a always incognito feature which can be good, depending on what you are doing with it 17:22:41 for my use case it is built in to the os which is a xiaomi android based rom, i dont like their implementation tho 17:24:23 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 17:25:06 > > <@DzzzzzzR:matrix.org> mxnorvak: bromite has a always incognito feature which can be good, depending on what you are doing with it 17:25:06 > 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 17:25:06 Only Brave and Kiwi support an "extension for that" 17:30:31 In relation to Shelter app: https://www.reddit.com/r/GrapheneOS/comments/g0ly0j/islandshelter_on_grapheneos/ 18:04:04 madaidan: this the place? 18:04:45 Ye 18:06:10 Yes* 18:06:13 Well where's Daniel? 18:06:47 He's strcat 18:07:40 ....sounds like a fight is about to break out... 18:08:37 Lol 18:08:54 haha 18:09:55 cx2: nah 18:10:02 It's just that I'm new here and don't want to mistake someone for someone else 18:10:10 That's all 18:11:13 Aaaaa madaidan. 18:11:23 Black theme broke on riot.im 18:11:36 My eyes is there a different client? 18:11:50 Riot is such a terrible, buggy client. 18:12:02 I haven't tried any others though 18:12:02 You mean, their black theme? Don't think it inherits from OS 18:13:10 I just set black and nothing happened 18:13:47 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".... 18:13:47 The way it played out in my mind has some sort of medival setting.... I'm sure it's far funnier between my ears 18:14:16 * anupritaisno1[m] sent a long message: < https://matrix.org/_matrix/media/r0/download/matrix.org/caxRdMYzITJgOFXpyAFAhfYo > 18:14:21 Well uh 18:14:23 Idk what to say man 18:15:05 madaidan.: what client do you prefer? 18:15:20 or prefer the web? 18:15:31 CLI preferably nice tbh 18:15:34 And the web one seems to have electron 18:15:47 I've only tried riot on android and I hate it 18:16:04 Need to find a better one 18:16:49 anupritaisno1: yeahhhhh i tried getting cli up and running.... ive determined that I was attempting to punch above my weight class 18:17:35 I guess there's one that goes by pattle 18:17:40 It resembles telegram a bit 18:17:54 * anupritaisno1[m] uploaded an image: Screenshot_20200422-234219_Auditor.png (111KB) < https://matrix.org/_matrix/media/r0/download/m.apex.to/UPrlqaTgEaqSXIoSgNZZRLkY > 18:18:03 BTW madaidan explain 18:18:32 Or is a strongbox actually needed? 18:18:57 Perhaps read the text at the bottom lol 18:19:15 I'm pretty sure mine's supported 18:19:26 It's a GM1911 18:20:37 anupritaisno1: https://attestation.app/about#device-support 18:20:53 GM1911 isn't supported atm 18:21:07 haven't had time to add support for more devices 18:21:19 it's time consuming to deal with it and some of the existing entries may have issues 18:21:25 Device is in the list 18:21:26 I lack the time to investigate and resolve it so I stopped adding more 18:21:32 Oh okay 18:21:41 Oh 1913 18:21:42 it's not in the list 18:21:47 Yeah no don't have that one 18:21:59 OnePlus 7 Pro (GM1913 model) 18:22:05 Yeah got it 18:22:05 GM1911 not whitelisted 18:22:14 it may use the same verified boot key and may just need the model whitelisted 18:22:21 but has to be checked and verified via a sample submission 18:22:27 it's painful and time consuming to go through them all 18:23:01 https://github.com/GrapheneOS/Auditor/issues/64 18:23:03 this issue needs to be resolved before moving on to add more 18:23:05 need help 18:23:13 Yes it does 18:23:19 All oneplus use the same OS 18:23:27 There's 3 versions of the OS, the Chinese, the EU and the Global version 18:23:34 There's a beta but oneplus themselves break CTS sometimes on it 18:24:02 strcat (@strcat:matrix.org): like how can anyone help with just that information? 18:24:03 Need a log 18:26:15 RiotX is better overall for my needs, but still missing a feature here and there, some major (like calls). 18:26:33 They've yet to have a mobile 1.0.0, so, I wouldn't give up just yet. 18:27:02 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 18:27:34 strcat (@strcat:matrix.org): would you think we have a bug in the Qualcomm BSP itself regarding that issue? 18:32:35 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 18:32:39 weird crash 18:34:35 probably just need a null check for this 18:34:49 What if the person tries to set a secure lockscreen and enroll a fingerprint? 18:34:51 strange this is the first device without that service, other devices with no fp scanner seem to have it 18:35:02 shrug 18:35:28 The galaxy tab A by any chance? 18:35:34 From Samsung 18:35:59 I have a galaxy tab a 18:36:00 anupritaisno1: yes this https://github.com/GrapheneOS/Auditor/issues/64 18:36:15 Don't know which refresh/edition 18:36:34 It's completely unused though 18:38:43 https://github.com/GrapheneOS/Auditor/commit/ce8c0f464ec25daa7c690a2030620c34b84f300c 18:39:15 ideally would add a new check for biometrics and a new OS enforced flag 18:39:18 maybe phase this out 18:39:22 super unimportant 18:39:24 Have yet to see this, I'm afraid. I'm on F-Droid build on a 3a, ftr 18:41:27 strcat (@strcat:matrix.org): you're just converting a null to false 18:41:37 Maybe you should add a notification or something? 18:42:01 Failures shouldn't just be silently ignored 18:42:28 anupritaisno1[m]: it's not a failure 18:42:35 Besides what if it is a device which isn't expected to return null but does so anyway. Sounds like an attestation failure 18:42:40 I think it doesn't have a fingerprint scanner and they removed the service 18:42:55 I don't know if that's normal 18:43:09 I have to work around samsung BS already 18:43:39 https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager#isHardwareDetected() 18:43:47 I don't really feel like it's supposed to be possible for it to be null 18:43:56 Absence of the fingerprint HAL on a device that is supposed to have it, would such a case go undetected then with the patch? 18:44:14 It doesn't have a fingerprint scanner 18:44:28 but shouldn't FingerprintManager still work 18:44:32 so I can detect that 18:45:00 * anupritaisno1[m] uploaded an image: Screenshot_20200423-001430_Fennec_F-Droid.png (257KB) < https://matrix.org/_matrix/media/r0/download/m.apex.to/FjODubAPOnegpiyzOjMxInIg > 18:45:05 Unless Samsung maybe is playing games and removing deprecated methods? 18:45:30 anupritaisno1[m]: it's deprecated only for newer API levels because they want you to support biometrics generically 18:45:34 but I can't remove this 18:45:42 anupritaisno1[m]: the issue is the FingerprintManager service is null 18:45:47 I get it 18:46:11 Then can't we just service == null? 18:46:15 Oh wait 18:46:21 Yeah you did that 18:46:25 I don't know if that can go wrong though 18:46:30 you made me second guess that workaround 18:46:47 I don't know if services can ever be null when they are supposed to be supported 18:46:51 I don't really think so 18:46:53 Hypothetical case is a device that should have a fingerprint sensor reporting null 18:46:56 Yes it can 18:47:01 how? 18:47:14 I would expect it to not boot if a service wasn't added to the mapping 18:48:01 Does anyone have a link to the only documentation? 18:48:02 I experienced that once when bringing up android Q for my device 18:48:06 Old* 18:48:21 which? 18:48:21 Developer options was looking for some adb service and crashed because it was null 18:48:25 Thankfully lineage fixed that on their side 18:48:35 rutxonboard[m]: the legacy_documentation repo? I somehow wiped it from existence moving it 18:48:38 rutxonboard: the old one? 18:48:46 I have it locally 18:48:49 Use wayback 18:49:00 Hah 18:49:04 > rutxonboard: the legacy_documentation repo? I somehow wiped it from existence moving it 18:49:04 :( Yeah I am trying to web archive it 18:49:14 It's all good though 18:49:15 strcat (@freenode_strcat:matrix.org): that said 18:49:22 Do you think that issue we talked about today 18:49:36 Is related to qcom's bsp itself? 18:50:01 anupritaisno1[m]: the canary one? 18:50:04 I can't remember 18:50:06 I'm the same guy whose device didn't boot with either canaries or redzoning 18:50:16 Yes 18:50:24 anupritaisno1[m]: it may be a bug in the qualcomm kernel for the soc 18:50:29 I don't know 18:50:35 it could be an android common kernel bug or an upstream kernel bug 18:50:43 I would guess qualcomm 18:50:54 I assumed it was pixel specific tied to shadow call stacks or something 18:50:58 and didn't have time to work on it yet 18:51:10 Well I can send information if possible but would you like me to try it on a oneplus 6? 18:51:30 trying to figure it out anywhere is helpful 18:51:40 My kernel is a mix of several branches 18:51:51 So I want to make sure it's not just some upstream merge error 18:52:08 unfortunately I don't really see a way to handle the fingerprint thing aside from checking for null like that 18:52:17 I think I merge 12+ branches on that kernel every month 18:52:54 * anupritaisno1[m] uploaded an image: Screenshot_20200423-002034_Settings.png (166KB) < https://matrix.org/_matrix/media/r0/download/m.apex.to/IjiHIsjEkqWLLXfogHVZtFBr > 18:53:02 https://github.com/square/whorlwind/issues/28 18:53:04 sigh 18:53:10 Anyway CAF branch r4 (sm8150/10.0.0) 18:53:14 fuck samsung 18:53:16 And google common kernel (4.14-p) 18:53:36 anupritaisno1[m]: https://github.com/GrapheneOS/Auditor/blob/master/app/src/main/java/app/attestation/auditor/AttestationProtocol.java#L264-L271 18:53:43 That's pretty desperate 18:53:43 I already have this samsung workaround stuff 18:53:47 Find something better xD 18:54:31 I have that to avoid removing checks for other devices 18:54:37 just hard-wire all the broken samsung devices 18:54:41 I could do that for FingerprintManager 18:54:50 Does Samsung even run custom roms? 18:55:20 Auditor is mostly for checking the stock OS 18:55:22 on most devices 18:55:45 strcat (@freenode_strcat:matrix.org): also while we are at it 18:55:58 https://github.com/GrapheneOS/Auditor/blob/master/app/src/main/java/app/attestation/auditor/AttestationProtocol.java#L286-L427 18:56:05 compare size of custom OS table to stock OS 18:56:11 I can confirm almost every single issue with exec spawning 18:56:11 I don't get any signal at all from my carrier and can't go 4g-only on my device 18:56:32 https://github.com/GrapheneOS/Auditor/blob/master/app/src/main/java/app/attestation/auditor/AttestationProtocol.java#L429-L454 are the StrongBox ones 18:56:32 Voice over LTE, WiFi calling and others are broken, no autobrightness and something is broken in overlay parsing 18:56:41 Exec spawning ^ 18:56:54 anupritaisno1[m]: you need to disable RROs 18:57:10 Will try 18:57:17 n-PRODUCT_ENFORCE_RRO_TARGETS := * 18:57:19 +#PRODUCT_ENFORCE_RRO_TARGETS := * 18:57:30 anupritaisno1[m]: this is a workaround for an exec spawning limitation 18:57:37 https://web.archive.org/web/20190524020708/https://github.com/AndroidHardeningArchive/documentation 18:57:48 anupritaisno1[m]: in Android 10 (I think) AOSP changed how resource overlays work 18:57:56 and they didn't implement them for WrapperInit 18:57:58 Can a transition be done without resetting strcat? 18:58:04 I thought there was much more? 18:58:06 anupritaisno1[m]: no need to reset 18:58:20 In my experience going from exec spawning to without or the other way around always breaks something 18:58:21 rutxonboard[m]: that's it 18:58:25 and that's not the newest ver of that repo 18:58:25 Alright 18:58:32 rutxonboard[m]:I removed stuff as I migrated it 18:58:47 anupritaisno1[m]: enabling / disabling exec spawning works fine 18:59:00 but you're probably running into the fact that all the overlays are ignored if RROs are used 18:59:14 it's possible enabling / disabling the overlays breaks something 18:59:22 and enabling/disabling exec spawning without disabling this will cause that 18:59:27 I have an issue filed about support RROs 18:59:36 anupritaisno1[m]: afaik all this does is break generic system image support or something 18:59:56 * anupritaisno1[m] uploaded an image: IMG_20200423_002919_437.jpg (34KB) < https://matrix.org/_matrix/media/r0/download/m.apex.to/CjITTaAuMzCsvLWfpprxePUR > 18:59:58 > rutxonboard:I removed stuff as I migrated it 18:59:58 Ah any idea where I could find that? Or is it likely gone? 19:00:10 There were errors like those 19:00:20 rutxonboard[m]: I have it locally 19:00:24 Sdcard permissions became location permissions somehow 19:00:28 And various other errors switching from exec to non-exec 19:00:35 strcat (@freenode_strcat:matrix.org): couldn't care about gsi/qssi 19:00:37 rutxonboard[m]: there are only 3 files in the current repo 19:01:03 If someone boots a gsi on my vendor I'll watch from afar and pretend I didn't see it 19:01:10 anupritaisno1[m]: basically if you enable exec spawning without this RRO disabling commit 19:01:19 it ignores all overlays 19:01:24 and overlays could override all kinds of things 19:01:25 Got it 19:01:33 if you're using LineageOS stuff they may change core frameworks resources with overlays 19:01:49 in ways that aren't compatible with disabling it 19:01:50 Yeah a lot of stuff is there 19:01:50 dunno 19:02:06 anupritaisno1[m]: https://github.com/GrapheneOS/os_issue_tracker/issues/133 19:02:09 it's technically an upstream issue 19:02:14 because WrapperInit has this same issue 19:02:22 and I modelled ExecInit after WrapperInit 19:02:26 > rutxonboard: I have it locally 19:02:26 Interesting well if you ever publish it again I would love to read through it. 19:02:35 Took me a while to add vanadium with it 19:02:44 Also is there a bug with chromium in general? 19:02:52 anupritaisno1[m]: what do you mean? 19:03:07 Certain "huge" pages crash my devices 19:03:32 could be an issue uncovered by Vanadium 19:03:37 or hardened_malloc 19:03:43 Hmm 19:04:04 Well it's reproducible on almost all my devices, some even running the stock rom 19:04:10 https://github.com/GlassROM-devices/android_kernel_oneplus_sm8150/blob/lineage-17.1/Makefile 19:04:10 Loading this in vanadium causes the browser to freeze 19:04:32 It's not related to vanadium 19:04:36 Almost all chromium browsers behave kind of the same 19:04:54 Hardened malloc, maybe but I saw the issue happen on a device that doesn't have hardened malloc 19:05:49 Makes me believe it's an upstream chromium bug 19:05:55 does it happen in chrome? 19:06:01 it could be a build option issue 19:07:04 * anupritaisno1[m] uploaded an image: Screenshot_20200423-003622_Browser.png (376KB) < https://matrix.org/_matrix/media/r0/download/m.apex.to/jDziwYjJBIweHqDzGkPnFmNp > 19:07:06 And if that doesn't crash it 19:07:13 The link above will immediately do so 19:07:23 That app is a wrapper around vanadium 19:07:34 * anupritaisno1[m] uploaded an image: Screenshot_20200423-003642_Browser.png (330KB) < https://matrix.org/_matrix/media/r0/download/m.apex.to/rkrYZSkwZYlNdIQSidnnpVYm > 19:07:42 The browser froze so quickly it didn't even let me copy the link 19:08:55 * anupritaisno1[m] uploaded an image: Screenshot_20200423-003830_Settings.png (92KB) < https://matrix.org/_matrix/media/r0/download/m.apex.to/ynRtqSGvZNnLhYLjvnymXyto > 19:09:17 If I change it to something else 19:10:10 * anupritaisno1[m] uploaded an image: Screenshot_20200423-003935_Browser.png (332KB) < https://matrix.org/_matrix/media/r0/download/m.apex.to/SbXMGdVskBxrAAAMpOWALZeo > 19:10:18 With bromite not only the app, it's like my entire device freezes for a few seconds 19:12:40 anupritaisno1[m]: does chrome with same ver crash tho 19:13:43 Downloading 19:14:54 * anupritaisno1[m] uploaded an image: Screenshot_20200423-004345_Chrome.png (312KB) < https://matrix.org/_matrix/media/r0/download/m.apex.to/pVYrVPHNOqEXYejMQLsGGBVD > 19:15:01 Pretty much 19:15:04 * anupritaisno1[m] uploaded an image: Screenshot_20200423-004417_Fennec_F-Droid.png (257KB) < https://matrix.org/_matrix/media/r0/download/m.apex.to/voMyIBBPrzGYbLhHjcLBFUzb > 19:15:13 Firefox loads it fine 19:15:41 anupritaisno1[m]: perhaps it's uncovered by one of the hardening features 19:15:57 if it occurs on the stock OS tho it's a Chromium problem 19:16:07 Hard to tell for sure 19:16:08 even if a hardening feature does uncover it 19:16:13 doubt it's an issue with any of the features 19:16:16 probably a chromium issue 19:18:19 Well 19:18:33 Your hardening features did tell me the OEM messed up the kernel a lot 19:18:48 Thanks for that, without them some of the stuff cleanup would never be found 19:19:02 anupritaisno1[m]: https://github.com/GrapheneOS/Auditor/commit/a0cc37c35dbcad8463886bff3d44666a2cd9467a 19:19:05 *stuff to 19:19:07 new take on that 19:19:42 real pain 19:19:55 I wanted to just check for FEATURE_FINGERPRINT and return false if it's not supported 19:20:02 but apparently some devices have it but don't set the feature 19:20:24 missing CTS test case I guess 19:20:33 Can I see where you implemented generalsecurityexception 19:21:09 * anupritaisno1[m] uploaded an image: Screenshot_20200423-005047_Fennec_F-Droid.png (414KB) < https://matrix.org/_matrix/media/r0/download/m.apex.to/AKVOvkRZyJciNpGdGJNJeBfj > 19:21:11 Okay got it 19:21:19 One sec 19:22:35 strcat you need more cables? 19:23:20 Tbh how would you make those? 19:23:53 My device has this proprietary dump mode that while very helpful, nobody knows how to use it 19:24:10 So debugging kernel panics is insanely hard 19:24:17 How do you get Chrome to have tabs? 19:24:50 Interesting question 19:24:58 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. 19:25:08 Sorry dunno 19:25:26 How do these work? 19:25:46 kohntree[m]: tap on the little "[1]" in the upper right corner of your screen. 19:25:50 And can I dump a pstore? Assume the device always warm resets on debug builds 19:26:33 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: 19:26:34 https://www.qwant.com/?r=US&sr=en&l=en_gb&h=0&s=0&a=1&b=1&vt=0&hc=0&smartNews=1&smartSocial=1&theme=1&i=1&donation=0 19:26:35 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. 19:26:44 I can't make it look like that 19:26:45 (Vanadium doesn't have Qwant as a default just yet, & the config is a bit buried on site, so, figured I'd share!) 19:27:22 TheJollyRoger: I believe the oneplus 7 pro does have it 19:27:30 because that screenshot is firefox, not chrome 19:28:02 Ah 19:28:34 https://github.com/Peter-Easton/android-debug-cable-howto anupritaisno1[m] This will tell you what you need. 19:29:25 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. 19:30:26 DannyWorkOrderPr: if you enable the OS dark theme, apps targeting the current API level use the dark theme 19:30:38 and in Vanadium and other Chromium-based browsers it tells the site to use a dark theme 19:30:43 strcat: I'm currently out of serial cables. Would you like me to make more? 19:30:51 TheJollyRoger: yeah 19:31:05 Ok on the way. 19:31:24 Mhmm =] Not sure Qwant implements this, currently. 19:31:49 Heads-up that this batch will not have cases; I cannot make cases during the pandemic. The subcontractor has shut down. 19:31:52 TheJollyRoger: thanks 19:31:57 I was almost banging my head on the wall with some of the issues I had 19:32:22 anupritaisno1[m]: these might not work with your device 19:32:44 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. :) 19:33:07 anupritaisno1[m]: Nexus devices and 1st gen Pixels used an older debug cable system 19:33:17 Pixel 2 and later uses this (Suzy-Q) which is an extension of what Chromebooks use 19:33:28 anupritaisno1[m]: not sure how many other devices use it 19:34:02 strcat (@freenode_strcat:matrix.org): probably my only hope tbh 19:34:03 this is pretty funny: 19:34:05 https://subredditstats.com/subreddit-user-overlaps/golang 19:34:06 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. 19:34:15 There's no way to get pstore 19:34:46 My device boots to this weird mode when it panics 19:34:53 It just shows the last function the program counter was on 19:35:05 That's it 19:35:18 *Some error message* 19:35:18 PC at: +some offset 19:35:21 Ha, who'd have thought that Brazilian Jiu-Jitsu would be close to golang. 19:35:23 Very funny. 19:35:35 TheJollyRoger: not the one I find funny 19:35:58 Go is a great language 19:36:04 Just compile it with pie though 19:36:20 strcat: heh, I'm a bit slow on the uptake ^_^; enlighten me...? 19:37:30 * anupritaisno1[m] sent a long message: < https://matrix.org/_matrix/media/r0/download/matrix.org/YfllzxigHEGUIfVCLFyGGisB > 19:38:29 This classic never gets old 19:38:59 OH. 19:39:09 TheJollyRoger: how high is the risk of killing the phone? 19:39:11 * TheJollyRoger laffs way too hard 19:39:45 I plan to keep this one for a good 5-6 years so yeah 19:40:17 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. 19:40:21 You won't ever have to unwrap it. 19:40:35 anupritaisno1[m]: TheJollyRoger: just note random devices probably don't implement the Suzy-Q debugging 19:40:38 it's a Pixel thing 19:40:40 AFAIK 19:40:50 you don't get serial debugging on other devices 19:40:58 they probably disable it for non-employees 19:41:02 Yes yes 19:41:10 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 :( 19:41:17 But this seems like the only choice here man 19:41:32 anupritaisno1[m]: some other devices did implement the OLD debug protocol 19:41:35 dunno about the new one 19:41:37 Unless I build the bootloader myself 19:41:38 And remove the proprietary crashdump 19:41:46 you probably can't flash a custom bootloader 19:41:57 or if you can flash it probably won't boot 19:42:02 since that would imply verified boot is broken 19:42:16 Oneplus does no validation 19:42:20 You can 19:42:24 :\ 19:42:30 that breaks the rules for Android devices 19:42:55 Verified boot isn't a thing on oneplus 19:42:56 anupritaisno1[m]: they don't enable secure boot? 19:43:04 but it's mandatory afaik 19:43:12 Idk how they get past Google 19:43:17 But the bootloader does absolutely zero verification 19:43:20 Somebody has been running magisk all the time on a locked bootloader on my builds 19:43:48 Well the bootloader says "secure boot: enabled" 19:43:53 However there is no yellow verity warning 19:43:59 Locking the bootloader completely removes the warning that a custom OS is loading 19:44:08 As if the bootloader doesn't implement the yellow state at all 19:44:11 wow 19:44:19 anupritaisno1[m]: yeah that's a security vulnerability 19:44:22 Wow. 19:44:25 in the late stage bootloader 19:44:33 The bootloader does implement red, green and orange 19:44:44 anupritaisno1[m]: yeah but not implementing it == it won't boot with it locked 19:44:47 they broke it 19:45:01 Holy shit. So all this time... those oneplus devices are being carried around with... with effectively no root of trust? 19:45:02 if they hadn't messed up the reference code it would just hit an error 19:45:05 strcat (@freenode_strcat:matrix.org): well oneplus isn't the most secure 19:45:06 when it can't fetch the AVB key 19:45:32 I got this because their highest end model was cheaper than the lowest end pixel 19:45:35 At least where I live 19:46:04 And honestly I can't even lock my bootloader 19:46:53 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 19:46:56 Wow. How the hell can OnePlus be still doing this, running around with no bootloader security? 19:47:04 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 19:47:51 I kinda expected it 19:48:28 Money and/or users seeing their ads usually does it. 19:48:32 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... 19:48:48 I did not know they not only did not learn from it but systematically swept it under the rugs and continued course! 19:49:00 But tbh the hardware is nice, and they don't make a fuss with unlocking 19:49:07 Yeah well don't buy a oneplus if you want security 19:49:23 * TheJollyRoger hugs his Pixel 3 tight. 19:49:28 Though if you're careful 19:49:39 You'll most likely not have an issue 19:49:48 there is a lot to doing verified boot right 19:49:54 and having such a blatant bug is pretty bad 19:49:58 Yeah... 19:50:01 I mean it's supposed to ENFORCE the AVB key 19:50:19 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?" 19:50:20 anupritaisno1[m]: it implies that with the stock OS, locked bootloader, device as it was bought 19:50:24 Having owned 2 other oneplus devices I knew what I was buying into 19:50:27 anupritaisno1[m]: attacker could swap out the images 19:50:30 and it wouldn't notice 19:50:41 strcat (@freenode_strcat:matrix.org): that concern was raised by one of my users 19:50:43 it may break decryption if they haven't fucked up the encryption integration 19:51:03 I told him the only solution is to use the edl exploit to write the ufs 19:51:04 anupritaisno1[m]: if they aren't flashing a custom AVB key it shouldn't boot an alternate OS at all 19:51:29 if bootloader is locked 19:51:34 Well yipes. No wonder why the OnePlus seems to offer devices that "look good on paper" for so cheap. 19:51:46 Well that too is doubtful 19:51:48 it's supposed to enforce valid OS signed with the hard-wired key OR the AVB key flashed onto the device 19:51:52 if one has been flashed 19:52:02 displaying the yellow boot state notice is a secondary thing 19:52:04 It seems fastboot uses a regex 19:52:09 fastboot flash ^avb_ 19:52:17 If a partition name starts with avb_ 19:52:29 The bootloader silently reports success 19:52:31 I've tried avb_.* (many combinations) 19:52:36 Bootloader reports success on trying to flash any partition that starts with avb_ 19:52:40 Pixels have a custom implementation of avb_custom_key 19:52:43 it's not really a partition 19:52:48 it's a virtual partition basically 19:52:54 it flashes it to the Titan M 19:53:06 alongside the rollback index 19:53:16 I don't even know how other vendors could implement it without a security chip 19:53:19 Yes but if I do fastboot flash avb_notmy_key or some shit 19:53:20 unless they use the Qualcomm SPU 19:53:31 The bootloader reports a success 19:53:41 strcat: how many cables do you think we'll need this time? 19:53:44 anupritaisno1[m]: it sounds like OnePlus fucked up all the areas of the code that they are expected to implement 19:53:50 Well one thing I can confirm 19:53:58 Trying to replace the OS on a locked bootloader 19:54:00 like if they didn't touch it at all 19:54:04 Makes /data inaccessible 19:54:15 anupritaisno1[m]: yeah that's the encryption thing I mentioned 19:54:26 that's like Nexus 5X era verified boot enforcement 19:54:45 Anti-rollback is fine 19:55:07 anupritaisno1[m]: it sounds like the issue is they tried to implement the yellow state 19:55:09 and fucked it up 19:55:15 I can verify because anti rollback has made me lose data multiple times 19:55:16 they implemented it as the green state 19:55:19 but that's pretty strange 19:55:29 anupritaisno1[m]: it sounds like what they did is DELETE a bunch of the standard security checks 19:55:34 if you look at the qualcomm bootloader sources 19:55:38 it has a yellow state implementation 19:55:52 the vendor needs to provide an implementation of fetching the custom AVB key 19:55:58 anupritaisno1[m]: another thing, is this all with a testkey signed build or a custom key signed build? 19:56:00 or disable yellow state so that it just fails (red) 19:56:03 They always do 19:56:11 sounds like what they did 19:56:16 is try locking bootloader with custom OS 19:56:18 notice it's broken 19:56:22 They removed speculative store bypass disable from the kernel 19:56:24 I still can't enable ssbd 19:56:25 delete all the security checks for yellow state 19:56:28 cdesai: I'm using RSA8192_SHA512 19:56:29 it makes a difference, sometimes they handle those two differently 19:56:39 anupritaisno1[m]: yeah ok so custom, not testkey 19:56:57 Yes all keys custom 19:57:00 User build and verity enforced 19:57:27 I think I satisfy most of the hardening checklist however from what my users are telling me 19:57:31 I'm really concerned about the bootloader 19:57:33 anupritaisno1[m]: sounds like they do pass the correct data to TEE 19:57:40 anupritaisno1[m]: that's why decrypting /data fails 19:57:53 because TEE uses the verified boot key as an input to key encryption key derivation 19:57:58 Well yes 19:58:01 so as long as the bootloader isn't compromised 19:58:04 can't decrypt data 19:58:06 with wrong key 19:58:07 I can confirm that does happen 19:58:11 But the user might naively reset 19:58:12 but the bootloader is supposed to ENFORCE the key 19:58:17 anupritaisno1[m]: well also an evil OS 19:58:19 can reset 19:58:21 for them 19:58:30 strcat (@freenode_strcat:matrix.org): also I use a different encryption method than what oneplus uses 19:58:32 anupritaisno1[m]: or more evil: put a valid data partition 19:58:38 anupritaisno1[m]: but keep the rest of their data 19:58:40 just move it or w/e 19:58:48 I use wrappedkey which forces the key to never leave the TEE 19:59:27 The key is never written to ram 19:59:48 I had to do that because an exploit on all oneplus devices allows you to read all ram at will 20:00:03 The ram has a temporary key that is invalidated very quickly after usage 20:00:22 init_on_free/init_on_alloc helps avoid some metadata leakage 20:00:39 And I'm making sure the kernel always forces a hardware reset 20:00:50 But I'm unsure how much my mitigations can protect a oneplus 20:01:44 strcat (@freenode_strcat:matrix.org): that doesn't work 20:01:46 well you reinforced my lack of interest in even looking at one of their devices to evaluate it lol 20:01:50 Keymaster or something will throw a decryption failure even if you image /data and /metadata 20:02:14 Well if you want hardware that will last 20:02:16 Go for it 20:02:20 But don't expect anything else 20:02:39 All the oneplus phones I've owned have been super reliable 20:03:34 I really just want to have our own devices produced from a reference design 20:03:44 heh. Well, now I'll have something to say if anyone else asks about OnePlus... 20:04:08 strcat (@freenode_strcat:matrix.org): also good luck hardening these 20:04:35 It took me 8+ months to get it working properly 20:04:41 https://github.com/torvalds/linux/blob/9256d5a308c95a50c6e85d682492ae1f86a70f9b/kernel/irq/settings.h#L22 20:04:47 I had to spend days cleaning up their mess 20:05:03 https://github.com/torvalds/linux/blob/master/kernel/irq/settings.h#L23 20:05:12 Hey, you know that jokeb about "anything can be fixed with a big enough hammer?" 20:05:31 I think that applies here. 20:05:40 It can't be hacked if we smash it into tiny pieces :P. 20:05:43 TheJollyRoger: yeah I can fix my phone with it 20:05:52 Smh I should get a proper job instead of this bs developer job 20:06:15 Maybe I'll buy a pixel then 20:06:24 Naw man, naw... didn't mean to imply that, I mean like.. 20:06:38 I don't think we can fix the vendor's problems for 'em :( 20:06:40 TheJollyRoger: I kinda like the op7pro tbh 20:06:42 Can't be hacked if there's nothing to hack 20:06:56 Easily one of the best displays I've had 20:07:29 madaidan.: next we know you'll hack something that nobody knew of 20:08:07 cdesai: yeah you there? 20:08:14 anupritaisno1[m]: yeah 20:08:58 ./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 \ 20:08:58 --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 \ 20:08:58 --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 20:09:02 Sorry about the shit formatting 20:09:05 Will try to fix it 20:09:15 I changed my 4096 key with an 8192 key later 20:10:06 Heh. RSA8192 on a little SOC? That doesn't take absurd amounts of time? 20:10:18 It is lineageos 20:10:26 TheJollyRoger: no 20:10:28 I've seen zero difference in performance 20:10:37 Ha, fancy. 20:10:41 Then again I don't use my phone that much 20:10:52 anupritaisno1[m]: well it sounds like they aren't using your key to check anyway :P 20:11:03 anupritaisno1[m]: the RSA key is only used to verify vbmeta by the bootloader 20:11:11 anupritaisno1[m]: yeah I took your word for it. 20:11:16 the RSA pub key is what you flash to avb_custom_key 20:11:36 anupritaisno1[m]: the rest of verified boot is just the hashes from vbmeta chaining to the other stuff 20:11:49 anupritaisno1[m]: bootloader verifies the initial parts of those 20:12:06 I'm an elite hacker sar 20:12:10 and then the OS uses dm-verity to verify everything in system/vendor as it goes 20:12:15 vbmeta just bootstraps that 20:12:16 strcat (@freenode_strcat:matrix.org): thought so 20:12:18 Well thanks for letting me know 20:12:26 Also about the -ftrivial-auto-var-init={zero,pattern} 20:12:32 Why not build android with it] 20:12:35 *? 20:13:14 anupritaisno1[m]: we do 20:13:27 platform_build_soong 20:13:48 we used to use -fsanitize=local-init which was our downstream feature 20:13:54 we still have a ton of past features to restore 20:14:07 Would you zero or pattern? 20:14:13 zero for sure 20:14:15 for production 20:14:16 Yes zero is a pattern 20:14:26 But the AAAAA pattern or the 000000 pattern? 20:14:32 What happens if you use AAAAA? 20:14:39 zero is better for production 20:14:55 non-zero will uncover bugs and in rare cases potentially make things exploitable 20:15:03 And the Linux kernel? 20:15:09 same thing, zero 20:15:16 -ftrivial-auto-var-init=zero -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang 20:15:49 So we just change pattern->zero? 20:15:55 Hmm 20:16:24 How much is the risk with the "knowing it will be removed" if I'm using mainline clang? 20:16:33 The kernel uses clang 11 from git 20:16:37 Partly because clang older than clang 10 just didn't link the kernel at all 20:17:12 it won't be removed 20:17:21 clang / llvm devs are just assholes 20:17:24 It throws a bunch of errors with the AOSP clang 20:17:40 Thanks a lot will check 20:18:02 anupritaisno1[m]: see https://twitter.com/DanielMicay/status/1248384468181643272 20:18:16 https://twitter.com/jfbastien/status/1248393330343346181 20:19:11 I don't think writing 0 to the stack is a performance issue 20:19:30 In fact it might give weak protection against unterminated string overflows 20:19:59 strcat am I thinking it correctly? 20:20:03 Let's say your entire stack is 0 and you overflow 20:20:06 A 0 has a higher chance of stopping a c string overflow 20:21:46 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 20:21:47 to not crash 20:21:58 the stack starts out as zero, and stuff writes a lot of zeroes to it 20:22:08 so it's pretty common for code to just get zeroes in uninit data in practice 20:22:23 so it ends up depending on that undefined behavior 20:22:28 and the latent bug sits there 20:22:50 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 20:22:55 lets say you have 20:23:03 struct vector { void *data; size_t size; } 20:23:10 you fill both with 0xAA 20:23:22 so the pointer is 0xAAAAAAAAAAAAAAAA 20:23:45 So you mean to say 20:23:53 I should use pattern while debugging 20:23:56 And zero in production? 20:24:03 Basically split debug and production configuration 20:24:04 yes 20:24:08 pattern will cause crashes 20:24:17 it will uncover bugs 20:24:35 Hmmm 20:24:47 Yes pattern did 20:24:55 Pattern took me to the proprietary crashdump mode and gave me a slab error 20:24:55 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 20:25:03 Appending slab_nomerge to kernel cmdline fixed it 20:25:15 anupritaisno1: yeah so you found code using uninit data 20:25:21 and depending on it being zero 20:25:33 even tho it's only zero sometimes 20:25:36 but in practice it may always be zero when that code runs 20:26:19 Well slab merging should have been off anyway 20:26:23 But yeah thanks 20:26:30 I get it now 21:17:33 the pattern 0xAAAAA... they call it "infinite scream", no kidding https://reviews.llvm.org/D54604 21:19:42 valldrac: hmm 21:19:46 Well to me it looks like 21:19:48 101010101010101010101010.... 21:19:54 It's an alternating sequence 21:24:33 it must be a non-mappeable address in the target arch, that's the key 21:27:29 Never assume 21:27:33 Assume all pointers are 64-bit 21:27:51 And that FFFFFFFF.... is accessible 22:19:08 > <@freenode_strcat:matrix.org> the Network toggle is a GrapheneOS feature 22:19:08 * 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 22:21:31 mxnorvak: they're different 22:21:54 Like they're completely different features 22:35:47 sry what are you referring to? 22:40:06 Lineage's toggle controls how the app uses the network 22:40:18 Graphene's approach controls if the app uses the network 22:40:29 They're slightly different things 22:41:01 funny you mention it now, was just reading the subreddit about this exact issue 22:41:46 Well I personally like lineage's approach to it 22:41:56 But really 22:42:09 Try both 22:42:11 See what works for you 22:46:35 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 22:46:36 options 22:49:31 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 22:51:56 anyway thanks for your input 22:53:30 Which xiaomi 22:53:55 mxnorvak: xiaomi just has some legal issues from what I know 22:54:06 The unofficial should be just as good as official 22:55:41 even with selinux not enforcing 22:55:48 > <@anupritaisno1:m.apex.to> The unofficial should be just as good as official 22:55:48 * even with selinux not enforcing? 22:56:05 Mi 9t pro 22:59:48 Guess I need to rewrite the Oneplus stuff on 23:00:15 https://hub.libranet.de/wiki/and-priv-sec/wiki/verified-boot 23:00:42 dazinism: maybe divide it into sections? 23:02:23 Got a bit lost reading the scrollback.... 23:02:57 Its not really doing anything on Oneplus? 23:03:24 anupritaisno1: 23:06:04 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. 23:06:04 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. 23:33:56 anyone got an issue with the VPN icon on the top menu bar? 23:45:16 define issue.... not showing up? Works fine for me on 3a with Mullvad Client, Wireguard, and OpenVPN 23:56:07 Thoughts on Gboard from Aurora, with all permissions revoked? 23:56:21 cdesai: already tried that one 23:56:51 It won't boot 23:57:03 Unless you reset 23:57:31 I'd call it completely broken in that case 23:57:43 it wouldn't even let you get to the factory reset screen on a pixel 23:58:33 (and that makes sense with what you said about the avb keys seemingly not actually being flashed)