D
dazinism

  • Aug 14, 2023
  • Joined Apr 5, 2023
  • First post here, apologies if there's any inaccuracies.

    supersonic
    Broad consent is just GrayKey's way of saying they can attempt an extraction on devices they do not officially support, they don't say how, but likely just by generic methods all phone forensics devices use. On devices they officially support, they can perform filesystem extractions.

    For some context: In the past, GrayKey did not allow extractions for devices they could not support, and only had a limited pool of supported devices, mainly iPhones and Samsung Android devices. They say they support Google devices for Broad Consent, but you should not worry about this feature - this would apply even if you used the Stock OS.

    For your second question, Daniel Micay made a good response on this already for a different phone forensics tool, his answer would apply to GrayKey also.

    If you want a real world example: If an adversary wanted to attempt to extract data from a Pixel with a phone forensics tool like this, they would need in most cases:

    • To have the phone in the after-first-unlock state,
    • Know the device's PIN or password,
    • Turn off the screen lock
    • Enable Developer Mode, and enable USB debugging.

    Even after all of this, they would only be able to perform a logical extraction (a copy of the user's files inside the profile they are extracting). Daniel's comment already specifies that these tools only work after unlocking the device using the credentials you have setup on the device in his first sentence. Having a strong PIN or password make this scenario almost impossible. These devices only work providing you know what the passcode is beforehand.

    Even if there was a case that an adversary could perform an extraction through other means such as a novel exploit, GrapheneOS is designed to make exploits less effective, less reliable, more time consuming, or at best impossible. If there was an exploit done on the Secure Element that stopped brute force throttling then it is mitigated because GrapheneOS supports longer passwords, matchboxbananasynergy has already stated that a long, 7-word diceware phrase is secure enough to not rely on secure element throttling, which is possible to have thanks to this feature.

    If your device was in the after-first-unlock state but the adversary didn't know the passcode, then you can just set the automatic reboot to happen at a very early time beforehand so the device leaves the AFU state before they would be able to attempt something.

    If the device was in either state or the attacker wanted to use a USB device as a method of exploit, GrapheneOS can block USB devices and the adversary could not turn it off without being able to get to the settings via passphrase or novel exploit.

    If some adversaries attempt to downgrade system components to have a greater chance of exploitation there is also a mitigation. For example, Cellebrite's 'Advanced Logical' downgrades a system component app to a vulnerable version to provide better extraction capabilities. However, GrapheneOS closes this loophole by enforcing an increment of the app's versionCode with each package install and boot time.

    If you use everything in a user profile separate from the administrator, then the adversary would need to exploit to get into the profile in addition to just finding a way in to the admin profile, which already is difficult. User profiles have separate encryption keys, so deleting the profile before your device was taken by the adversary means there is no data to extract, as it is all encrypted and the keys are erased with it.

    If an adversary wanted to attempt to get into a GrapheneOS device they would not use an automated tool for law enforcement, private investigators or academics. They would need much stronger resources, and a threat with a large amount of time and budget will get control over the device because software and hardware cannot sufficiently protect against physical threat. Features such as duress passwords can be useful, but they are not the device protecting against physical threats - the person is the key component. These features are worked by people triggering it on their own choice, or an adversary being subverted by the victim to enter the duress password instead of the real one.

    Daniel's comment also highlighted that with time exploits and vulnerabilities, disclosed and undisclosed will increase and there is eventual possibility to gain control over it that way, since they can just keep the device and stop future security updates fixing them. To protect against those types of threats sufficiently then you need to just be responsible and meet a set-up and use case that is equal to your threat model. Although as mentioned before, using GrapheneOS and taking advantage of its features is enough to ensure automated extractions don't happen.

    • spiral I remember having storage scopes on for Signal in one profile, trying to attach a photo which was NOT in a standard directory, and not being able to do it - I had to specifically add through Signal's storage scopes the one photo I wanted to attach. Now, it appears that with Signal and Protonmail I can attach anything I want through the System File Picker.

      Signal doesn't use the file picker when you specifically select 'Gallery' when choosing what to send in a chat; it expects to have the permission to access Media on your phone (photos, videos) to be able to show a list of photos to send for this purpose. On the other hand, Signal uses the system file picker if you specifically select 'File' rather than 'Gallery' when choosing what you want to send.

      I don't believe the way it works in Signal has changed recently. In the situation you remember you were probably selecting 'Gallery' and as a result Signal was asking you for the permission to access Photos/videos and wasn't allowing you to send any photo or video that you hadn't granted it access to (whether by giving it permission or through Storage Scopes), while now you're probably selecting 'File' which triggers the file picker directly rather than a permission prompt.

      • I had the same concern. it is a file picker that have access, not the app.

          • [deleted]

          • Edited

          spiral I have seen this brought up before. With SS, apps aren't able to access any files outside of where you've explicitly enabled (other than files it's created), but it can bring up the system file picker and once you explicitly select a file then it will be able to access that specific file at least temporarily.

          TL;DR: SS doesn't apply in cases the app uses system file picker, but it still needs your explicit permission in the form of you selecting a specific file.

          • OK here are the results of the same test again, except this time I'm using cellular data only. I kept WiFi off the entire time. I took the phone off the charger at 100% about 1 day, 1 hour ago and battery is now at 24%.

            I tried for similar usage of the Signal app as the first test, stayed at home like before except for taking the same walk in the same park as before, taking some more pics and sending them off to people.

            Sent 14 messages (8 w/attached photos)
            Received 11 messages
            Had 1 voice call lasting 13 minutes

            Battery usage for Signal:
            Used for 1 day, 1 hr and is at (a whopping) 20%

            So yeah that's terrible.

            Top battery users:

            Signal: 20%
            Phone idle: 13%
            Vanadium: 12%
            Screen: 7%
            OVPN: 4%
            Camera: 2%
            Element: 1%
            Launcher: 1%
            Obtanium: 1%
            Android System: 1%
            System(CPU): 1%

            It turns out that relying on the cellular connection alone made me pay attention to things, and I learned that the cell signal strength inside my house is crap. Wandering around inside my house the best reading I saw (under Settings > About phone > SIM status (sim slot 1) > Signal strength) was -106 dBm, and that was near a big window. Most other places bounced around between -117 and -110 dBm. I think that's pretty much bottom rung.

            I don't know what the signal strength for my WiFi connection is in dBm, but in Settings > Internet > [network name] > Signal strength it says Excellent. Back into airplane mode + WiFi mode I go.

            • 3njKu6Zc6 Aegis can import 2FA codes from Google Authenticator by scanning bar codes. I did it when migrating from iPhone to GOS and it worked like a charm 🌷