There have been users spamming CSAM content in !lemmyshitpost@lemmy.world causing it to federate to other instances. If your instance is subscribed to this community, you should take action to rectify it immediately. I recommend performing a hard delete via command line on the server.

I deleted every image from the past 24 hours personally, using the following command: sudo find /srv/lemmy/example.com/volumes/pictrs/files -type f -ctime -1 -exec shred {} \;

Note: Your local jurisdiction may impose a duty to report or other obligations. Check with these, but always prioritize ensuring that the content does not continue to be served.

Update

Apparently the Lemmy Shitpost community is shut down as of now.

  • mlfh@lemmy.ml
    link
    fedilink
    arrow-up
    94
    ·
    1 year ago

    If you aren’t going to fully wipe your drive in horrible events like this, at the very least use shred instead of rm. rm simply removes references to the file in the filesystem, leaving the data behind on the disk until other data happens to be written there.

    Do not ever allow data like that to exist on your machines. The law doesn’t care how it got there.

    • Mic_Check_One_Two@reddthat.com
      link
      fedilink
      arrow-up
      31
      ·
      edit-2
      1 year ago

      Was going to say the same. Windows and Linux both use “lazy” ways of deleting things, because there’s not usually a need to actually wipe the data. Overwriting the data takes a lot more time, and on an SSD it costs valuable write cycles. Instead, it simply marks the space as usable again, and removes any associations to the file that the OS had. But the data still exists on the drive, because it’s simply been marked as writeable again.

      There are plenty of programs that will be able to read that “deleted” content, because (again) it still exists on the drive. If you just deleted it and haven’t used the drive a lot since then, it’s entirely possible that the data hasn’t been overwritten yet.

      You need a form of secure delete, which doesn’t just mark the space is usable. A secure delete will overwrite the data with junk data. Essentially white noise 1’s and 0’s, so the data is completely gone instead of simply being marked as writeable.

        • alanceil@lemmy.world
          link
          fedilink
          arrow-up
          4
          ·
          edit-2
          1 year ago

          No, fstrim just tells your drive it doesn’t need to care about existing data when writing over it. Depending on your drive, direct access to the flash chips might still reveal the original data.

          If you want ensure data deletion, as OP said, you’ll need to zero out the whole drive and then fstrim to regain performance. Also see ATA Secure Erase. Some drives encrypt by default and have Secure Erase generate a new key. That will disable access to the old data without having to touch every bit.

        • Zacryon@feddit.de
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          TRIM tells the SSD to mark an LBA region as invalid and subsequent reads on the region will not return any meaningful data. For a very brief time, the data could still reside on the flash internally. However, after the TRIM command is issued and garbage collection has taken place, it is highly unlikely that even a forensic scientist would be able to recover the data.

          From: https://en.m.wikipedia.org/wiki/Trim_(computing)#Operation

          So: probably yes.

    • Anaralah_Belore223@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 year ago

      The only 100% foolproof-way is to physically destroy the server disk where that image is stored. Do not place those drive fragments in a recycling center, landfill.

  • lea@feddit.de
    link
    fedilink
    arrow-up
    63
    arrow-down
    1
    ·
    1 year ago

    I nuked my personal instance because of this :(

    Dealing with pictrs is just frustrating currently since there’s no tools for its database format and no frontend for the API. I half-expected this outcome but I hope it gets better in the future.

      • Toribor@corndog.social
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 year ago

        Pict-rs has been the single largest pain of self-hosting a tiny Lemmy instance. I really hope things improve. I like hosting it myself but I can’t do it as a second job, having to figure out my own hacks and workarounds just to keep it running and not serving up illegal crap.

      • clearedtoland@lemmy.world
        link
        fedilink
        English
        arrow-up
        21
        ·
        1 year ago

        That finalized my decision to not self-host. I’m savvy enough to set it up but not enough to keep up with maliciousness like this. I’d never even considered a deliberate CSAM attack as a possibility - I thought it was just something (atrocious) users might inadvertently post.

        • SkyeStarfall@lemmy.blahaj.zone
          link
          fedilink
          arrow-up
          10
          ·
          1 year ago

          You always gotta prepare for the worst case. It’s certainly why I am never going to bother with hosting something like this unless I’m serious about it akin to a job. If there’s even a remote chance of CASM getting on your machine, you gotta assume it will and be prepared to fight to prevent it/remove it.

    • fmstrat@lemmy.nowsci.com
      link
      fedilink
      English
      arrow-up
      10
      ·
      1 year ago

      Agreed, pict-rs is not ready for this. Not having an easy way to map URL to file name is a huge issue. I still don’t understand why non-block storage doesn’t just use the UUID it generates for the URL as a filename. There is zero reason to not have a one-to-one mapping.

      • ohai@subsubd.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        1 year ago

        yeah, I just spent the last hour writing some python to grab all the mappings via the pict-rs api. Didn’t help that the env var for the pictrs api token was named incorrectly (I should probably make a PR to the Lemmy ansible repo). EDIT: Nevermind, seems there is one already! https://github.com/LemmyNet/lemmy-ansible/pull/153

  • UntouchedWagons@lemmy.ca
    link
    fedilink
    English
    arrow-up
    29
    arrow-down
    1
    ·
    1 year ago

    I’m not surprised. It was quite common for shitheads on reddit to make an account, post a few comments on /r/againsthatesubreddits, then post CP on other subreddits to spin the narrative that AHS was trying to shut down hate subs.

    • xhci@lemmy.ml
      link
      fedilink
      English
      arrow-up
      7
      arrow-down
      1
      ·
      edit-2
      1 year ago

      Welcome to the internet!

      I do think social media (or becoming a carrier of other people’s data) is incredibly difficult. How do you moderate? How much liability do you take on? etc. I’m very interested to see how this gets tackled over time in the Fediverse.

  • thisisawayoflife@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    1 year ago

    Naive question here: would it be valuable to generate hashes of those images and provide them as a public database? Seems like it would be valuable to reject known images using some mechanism to prevent this from happening broadly. It wouldn’t stop someone from on-the-fly systematically editing/saving/uploading CSAM, but hashes are cheap to store and it would at least provide one barrier to entry.

  • Jaz-Michael King@mastodon.iftas.org
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    @Jamie some recommended reading here for hosting ActivityPub services: https://github.com/FediFence/fedifence/blob/main/LegalRegulatory.md

    Cloudflare has a free CSAM filter: https://developers.cloudflare.com/cache/reference/csam-scanning/

    IFTAS is working on an opt-in CSAM scanner for service providers, follow this account to be notified

    Lemmy moderators should fill out this needs assessment: https://cryptpad.fr/form/#/2/form/view/thnEBypiNlR6qklaQNmWAkoxxeEEJdElpzM7h2ZIwXA/