Results 1 to 7 of 7

Thread: [C + Linux] Rubberfuse

  1. #1
    Join Date
    Feb 2006
    Location
    Amsterdam
    Posts
    13,691
    Mentioned
    146 Post(s)
    Quoted
    130 Post(s)

    Default [C + Linux] Rubberfuse

    Hi,

    I've decided to share some of my programming projects on SRL, since it would be nice (I think) to see/do alternative (that is, non runescape) programming on here. I'll probably be dumping/describing some more projects here later. If you don't like this project or think it's too advanced, no worries, I have a lot more planned and I will post more here soon

    The Rubberfuse project is very young and far from being finished.

    Quick overview of skills/goals

    Goals:

    • Education / learning about linux filesystems, encryption
    • Provide a safe way for journalists and other freedom fighters to store data in countries.


    Skills required to work on this project are relatively advanced, although I think a lot of knowledge can be picked up while working on the project:

    • Programming experience in C
    • Linux IO System calls (chmod,chown,read,write,stat,truncate)
    • Basic block device understanding (Usage of dd and cat programs)
    • Cryptography


    Tools / libraries we are using:

    • GNU/Linux OS
    • GCC (Compiler)
    • FUSE (Filesystem in User Space)
    • Nettle or libgcrypt. (Crypto libraries)


    Introduction

    Anyway, Rubberfuse will become an reimplementation of Rubberhose, a filesystem written by Julian Assange that provides plausible deniability; or alternatively: Deniable encryption.

    What this boils down to is basically than you can add several ``partitions'' (aspects) to an image (or actual hard disk) which each have their own password. Every aspect can be decrypted with its own password; and to the outsider there is no way to determine the amount of aspects on the image. In other words, you can plausibly deny the existence of a certain aspect. See the Wikipedia article for a better and more clear example.

    The image is initially filled with random data; and all the data blocks are layed out (pseudo) randomly over the image. Every aspect can be unlocked independently of each other aspect. It is therefore only safe to ``write'' to an aspect when all the aspects have been unlocked (otherwise you might nuke data from another aspect).

    Current status

    Currently, rubberfuse can store files smaller than 4MB in a pseudo-random way spread over an image. Soon I will add support for multiple aspects, encryption and storage of files larger than 4MB...

    I am writing this with some other people (although so far I'm the only one who actually worked on it) and the code is available here:

    https://github.com/MerlijnWajer/rubberfuse

    But the ``real'' code so far is on a separate branch:

    https://github.com/MerlijnWajer/rubb...erc/c/rubber.c

    Contact

    If you're interested in working on the project, just let me know. (Post here or mail me)
    There's also a mailing list and IRC channel. (For more information see the TechInc wiki page: http://wiki.techinc.nl/index.php/Rubberfuse)
    Last edited by Wizzup?; 10-18-2012 at 02:37 PM.



    The best way to contact me is by email, which you can find on my website: http://wizzup.org
    I also get email notifications of private messages, though.

    Simba (on Twitter | Group on Villavu | Website | Stable/Unstable releases
    Documentation | Source | Simba Bug Tracker on Github and Villavu )


    My (Blog | Website)

  2. #2
    Join Date
    Jan 2007
    Posts
    8,876
    Mentioned
    123 Post(s)
    Quoted
    327 Post(s)

    Default

    Cool, looking forward to reading (more) about this project and it's code!

  3. #3
    Join Date
    Oct 2007
    Location
    #srl
    Posts
    6,102
    Mentioned
    39 Post(s)
    Quoted
    62 Post(s)

    Default

    I like the "/* Don't care at the moment */" bits, lol.

    Nice looking project anyways, Wizzup. At the very least, I'll be watching how things go on github.

  4. #4
    Join Date
    Dec 2011
    Location
    The Netherlands
    Posts
    1,631
    Mentioned
    47 Post(s)
    Quoted
    254 Post(s)

    Default

    Looks interesting even though I do not know any C/C++ yet. I've recently been looking at DirectX/OpenGL hooking and read through some of Brandon's C/C++ code. And quite a lot DirectX hooking code but never coded myself so far. The syntax seems pretty weird to me so far :P Good luck!

    Script source code available here: Github

  5. #5
    Join Date
    Oct 2011
    Location
    Chicago
    Posts
    3,352
    Mentioned
    21 Post(s)
    Quoted
    437 Post(s)

    Default

    Wow that is actually pretty awesome idea, I hate when I come across ideas I have never had it makes me waste the next few hours doing research on that said topic.

    Aka: Human Google ...




    Anti-Leech Movement Prevent Leeching Spread the word
    Insanity 60 Days (Killer workout)
    XoL Blog (Workouts/RS/Misc)

  6. #6
    Join Date
    Feb 2006
    Location
    Amsterdam
    Posts
    13,691
    Mentioned
    146 Post(s)
    Quoted
    130 Post(s)

    Default

    I'm still working on this, although we haven't produced a lot of code, the design is definitely there, more or less. If people are interesting to join the development, let me know. We program in C; and it'll be in the Linux kernel. So not FUSE anymore.



    The best way to contact me is by email, which you can find on my website: http://wizzup.org
    I also get email notifications of private messages, though.

    Simba (on Twitter | Group on Villavu | Website | Stable/Unstable releases
    Documentation | Source | Simba Bug Tracker on Github and Villavu )


    My (Blog | Website)

  7. #7
    Join Date
    Jun 2008
    Location
    United States
    Posts
    818
    Mentioned
    60 Post(s)
    Quoted
    90 Post(s)

    Default

    Very glad to hear this is still being developed.
    [10/14/13:19:03] <BenLand100> this is special relatively, just cleverly disguised with yachts

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •