Announcement

Collapse
No announcement yet.

SQLite 3.42 Released With "Secure Delete" Command

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • SQLite 3.42 Released With "Secure Delete" Command

    Phoronix: SQLite 3.42 Released With "Secure Delete" Command

    SQLite 3.42 is now available as the newest update to this widely-used, embed-friendly SQL database option that is used by countless applications and other software for lightweight and speedy data storage purposes...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    I like how they made non-cheating delete operations sound spiffy.
    "Normal delete? NAH! Secure delete!"

    Comment


    • #3
      This sounds like a great idea to ensure that deleted data cannot be recovered, especially within secure environments. However using this option will mean that users will have to be careful with deletions, but programs can perhaps mark deleted records with a soft delete flag and then later can be hard deleted if not necessary.

      Comment


      • #4
        Originally posted by milkylainen View Post
        I like how they made non-cheating delete operations sound spiffy.
        "Normal delete? NAH! Secure delete!"
        Just because you delete data you no longer need doesn't mean you want to deal with the performance cost of completely wiping the data, itjust is not relevant most of the time. The name secure delete is pretty clear on the matter, you should only use it if you care about the data being actually erased.

        Comment


        • #5
          Originally posted by DeepDayze View Post
          This sounds like a great idea to ensure that deleted data cannot be recovered, especially within secure environments. However using this option will mean that users will have to be careful with deletions, but programs can perhaps mark deleted records with a soft delete flag and then later can be hard deleted if not necessary.
          If a secure program unintentionally deletes data then the issue is totally somewhere else than in the delete function of SQLite.

          Comment


          • #6
            IIRC SQLite was used to detect NSO Pegasus infestation in iPhones. There is a SQLite DB that tracks process execution and the malware tried to expunge traces by deleting from those databases, but did not perform a VACUUM and so there were still traces.

            NSO Group claims that its Pegasus spyware is only used to “investigate terrorism and crime” and “leaves no traces whatsoever”. This Forensic Methodology Report shows that neither of these statements are true. This report accompanies the release of the Pegasus Project, a collaborative investigation that involves more than 80 journalists from 17 media organizations in 10 countries coordinated by Forbidden Stories with technical support of Amnesty International’s Security Lab. Amnesty International’s Security Lab has performed in-depth forensic analysis of numerous mobile devices from human rights defenders (HRDs) and journalists around the world. This research has uncovered widespread, persistent and ongoing unlawful surveillance and human rights abuses perpetrated using NSO Group’s Pegasus spyware.

            Comment


            • #7
              Originally posted by DeepDayze View Post
              This sounds like a great idea to ensure that deleted data cannot be recovered, especially within secure environments. However using this option will mean that users will have to be careful with deletions, but programs can perhaps mark deleted records with a soft delete flag and then later can be hard deleted if not necessary.
              It should go without saying that "user will have to be careful with deletions". I know the practical reality is that most people are not and people make mistakes. However, the average person, even a lot of advanced users (even programmers!) who probably should know better, don't know that "delete" and "move to trash" does not and never has in most OSes and file systems actually destroyed data. Because of performance reasons, delete only removes the reference pointer to the first sector(s) of the on disk meta/data information chain that the file concept abstracts. Trash cans are even above this misnomer of an abstraction. The trash can only moves a trashed file into a special hidden folder. Even "empty trash" does not, and never has on nearly any FS actually deleted that data from the storage device. It usually takes a special program to go in and manually zero out the data on a mechanical hard drive to make sure it's gone. SSDs are a little more complicated in that you can delete, but the data remains till next TRIM cycle - assuming the garbage collection isn't broken. This ignores the problem with reallocation and wear leveling, of course.

              Therefore, since a lot of programs use SQLite to handle file level operations, even ones that don't actually use a database per se, it's a good idea that SQLite introduces the secure delete as a separate concept from traditional file delete operation. One anticipates a certain backward compatibility between the expected result of a 50 year old historical term "delete" regardless of what naive people think it means, and the newer operation that scrubs the data in whatever way the OS and filesystem allows. Keep in mind that some filesystems or OSes don't actually allow scrubbing data because they have a transactional snapshot abstraction that allows historical data operations auditing for certain regulatory regimes. The original data remains in a snapshot and will remain indefinitely depending on the underlying FS mechanisms, and there may or may not be any easy way of clearing those snapshots even with this SQLite feature.
              Last edited by stormcrow; 16 May 2023, 10:18 PM.

              Comment


              • #8
                Originally posted by milkylainen View Post
                I like how they made non-cheating delete operations sound spiffy.
                "Normal delete? NAH! Secure delete!"
                When you perform a "normal delete" on a file, its content does not disappear. It's simply no longer being pointed to. Hence the existence of undelete software.

                The use of TRIM changes that but only for SSDs.

                Comment


                • #9
                  Originally posted by kobblestown View Post

                  When you perform a "normal delete" on a file, its content does not disappear. It's simply no longer being pointed to. Hence the existence of undelete software.

                  The use of TRIM changes that but only for SSDs.
                  Trim is also logical, but on a level of the SSD controller -- the data is still on the flash, closer in the reuse queue but most likely still far from its head. Similarly, there are COW filesystems, backup daemons, etc.; the only way to make something reliably deletable is to write encrypted and throw the key far from the system, onto some medium which does support destruction.

                  Comment

                  Working...
                  X