Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Protect against memory recovery such as cold boot attack #53

Open
ghost opened this issue Jul 18, 2013 · 13 comments
Open

Protect against memory recovery such as cold boot attack #53

ghost opened this issue Jul 18, 2013 · 13 comments

Comments

@ghost
Copy link

ghost commented Jul 18, 2013

TAILS rulez
https://tails.boum.org/contribute/design/memory_erasure/

@ghost ghost self-assigned this Dec 25, 2013
@ghost ghost removed their assignment Feb 17, 2014
@boyska
Copy link
Member

boyska commented Feb 19, 2014

there is a .deb in https://github.com/boyska/freepto-lb/tree/autoboot, this should be better tested

ghost pushed a commit to vvicaretti/freepto-lb that referenced this issue Feb 22, 2014
ghost pushed a commit to vvicaretti/freepto-lb that referenced this issue Feb 23, 2014
ghost pushed a commit to vvicaretti/freepto-lb that referenced this issue Apr 6, 2014
@ghost
Copy link
Author

ghost commented Apr 11, 2014

@sendai-ono we should include the code[1] on github and fork it with AvANa-BBS account

[1] https://gitorious.org/wiperamfreeptopackage

ghost pushed a commit to vvicaretti/freepto-lb that referenced this issue Apr 23, 2014
@boyska
Copy link
Member

boyska commented Jul 10, 2014

Development moved there: http://git.tails.boum.org/wiperam/

@boyska
Copy link
Member

boyska commented Jul 12, 2014

@sendai-ono what's going on with wiperam? how should we include it? is there a package?

@sendai-ono
Copy link

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 12/07/2014 14:59, BoySka wrote:

@sendai-ono what's going on with wiperam? how should we include it? is
there a package?

Hi, actually thanks to Intrigeri we have a ( correctly packaged :) ) package
that works on both live and non-live systems.

The next step should be to make a version that can work with systemd (in this
way wiperam could be accepted in Debian) and move the emergency shutdown
trigger into wiperam.

I think that we can include the binary package in the freepto's repository as
it is after some tests. I have tested it on a non live system and it "works" [0].

To build the package for test purposes simply run debuild or git-buildpackage
( i think we can actually ignore the gpg error on signature)... the package
will be in the parent directory.

[0]https://tails.boum.org/contribute/release_process/test/erase_memory_on_shutdown/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Icedove - http://www.enigmail.net/

iQIcBAEBAgAGBQJTwZndAAoJEN0V2yfPN27aK3kP/3hiFrZbH1LxeNT2bFRQNV6L
HgZPQeR+/9wIG+AmJVJPALL0plPrw/g5ukFUY4voFgBCHJD5Nv1R/R/kAB7QQPi1
LbfaV8kPyPJWvH1MzlI5Aze6xwvqwj7Gop51d3O9cqIpTwaycpsJ3eaj2A5HkMhZ
Gf3RlNERt6obQPEIal0sqkyf6GWR6a/sXTW84ur7XezNymH124lFEk8QrtSdm8Be
eOzhaFR/5pvvd+xgDD6tc18zp+ICFTdA4yjefKTRTmOqTPu19kCEoVoZ0dYmuA7f
VUSD3WhvzQi/4f5BVicgAO1TFwgkK+/e97YFhpfRRQgBZt29EacxGzvhP1YHFdSo
lb68kgw14EbofmpDSrhml1ue7ppFxf8FZ6H4CIW8U3hZjaqjm1jJKrkiUhy4IBvz
lL/ykl+O0gj7TPxLL+LAx58SQaeTdFrceCQcpCQM7QL55lMTr9Qf8UAHO+rSFXlN
k0zgQRkk8702CV3kC/lFZl5u8/ohJDkk5KIffiky4cwZUZ25ok8vFrdnfF6b0yK4
9PGr7EntFjqNyheBu5N/e/MhOmu/cAueA6p52eU8pmx9tSHVdNbnDIlVsL/kaIza
j4qpOChqLzFIYSK7ZehG6p2uRm4Qkwz8ymkn765utSEW/rGb2SOfoGNs7PbJC8n2
+UP7aeMVk4GXFhMnNpCe
=OHIu
-----END PGP SIGNATURE-----

@boyska
Copy link
Member

boyska commented Jul 13, 2014

On Sat, Jul 12, 2014 at 01:25:02PM -0700, sendai-ono wrote:

I think that we can include the binary package in the freepto's repository as
it is after some tests. I have tested it on a non live system and it "works" [0].

ok, but WHERE is it? is there a .deb?
Is there a way we can get it from source and build it?

boyska

@sendai-ono
Copy link

On 13/07/2014 02:40, BoySka wrote:

Is there a way we can get it from source and build it?

Yes:

"To build the package for test purposes simply run debuild or git-buildpackage (
i think we can actually ignore the gpg error on signature)... the package will
be in the parent directory"

The code is actually here http://git.tails.boum.org/wiperam/

@boyska
Copy link
Member

boyska commented Jul 13, 2014

"To build the package for test purposes simply run debuild or git-buildpackage (
i think we can actually ignore the gpg error on signature)... the package will
be in the parent directory"

perfect.
I think that the way to go is to:

  1. provide a .deb package and include it in a .img, to make it available
    for testing
  2. if testing succeeds, it must be integrated into our repository

boyska

@boyska
Copy link
Member

boyska commented Aug 22, 2014

@sendai-ono the page you linked refers to the fillram tool, which does appear to be in wiperam (nor anywhere else)
EDIT: ok, fillram is small enough to be a oneliner

python2 -c $'s=""\nwhile True: s+="wipe_didnt_work\\n"'

@boyska
Copy link
Member

boyska commented Aug 22, 2014

I tested it multiple times, but

% grep -c wipe_didnt_work fr.dump
28867666

... it doesn't seem to work :(

qemu was launched as

qemu-system-x86_64 -enable-kvm -cpu Nehalem -hda 140819_16.47_v1.0alpha1-30-gf575d56-it.img -m 1020 -no-reboot -no-shutdown

I ran the script as shown in the comment above, then stopped it and go through normal shutdown. That is, clicking on the "door" icon on the top-right corner, and clicking on poweroff icon.

I waited for debian to halt, then ctrl-alt-2, pmemsave 0 0x4ffffff freepto.dump.

@sendai-ono , am I doing something wrong?

@ghost ghost modified the milestones: v1.1, v1.0 Sep 23, 2014
@ghost
Copy link
Author

ghost commented Sep 23, 2014

Unfortunately, since Freepto v1.0 beta has been released, this improvement will be included by default in the next release (v1.1)

@intrigeri
Copy link

Work has been resumed, focusing on the port to Jessie, in the feature/jessie branch on https://git-tails.immerda.ch/wiperam. By the way, I see that boyska's wiperam branch uses a git:// URL to that repo, while we have https:// (with a CA cartel -provided certificate) available.

intrigeri added a commit to intrigeri/freepto-lb that referenced this issue Jun 20, 2015
intrigeri added a commit to intrigeri/freepto-lb that referenced this issue Jun 20, 2015
intrigeri added a commit to intrigeri/freepto-lb that referenced this issue Jun 20, 2015
…o kexec too even when shutting down (refs AvANa-BBS#53).

By default, that initscript only does useful things at reboot time.
The main use case for wiperam is probably shutting down the system,
so let's apply this hack for the time being.
intrigeri added a commit to intrigeri/freepto-lb that referenced this issue Jun 21, 2015
…BS#53).

This is required for wiperam to work reliably, and paves the way for
using the "emergency shutdown" feature once wiperam has it.
@intrigeri
Copy link

OK, it seems that my wiperam branch (based on boyska's jessie branch) might now work; this of course assumes that boyska's jessie branch currently builds and works fine. I don't have the infrastructure handy to build a test image, sadly, so I won't dare submitting a formal pull request. Note that this package (and, I believe, the same set of hacks and patches) works fine in Tails/Jessie, and passes the erase_memory.feature part of our test suite. Same in a current Debian sid VM (there I can see sdmem's asterisks, but I didn't do any actual efficiency measurements).

Feedback is welcome :)

@ghost ghost modified the milestone: v1.1 Jul 13, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants