P
P
PO6OT2016-01-10 15:51:31
USB flash drives
PO6OT, 2016-01-10 15:51:31

How to make your own SJ Data Killer?

I decided to make my own SJ Data Killer .
I have a flash memory chip and an enclosure. It is planned, after discussion here, to purchase a battery and other parts.
I can solder/glue.
The chip has contacts both external and looking into the case (but without pinouts). In theory, looking into the body should duplicate the external ones.
I suppose there is enough space in the case to accommodate a battery of no more than 200mAh (at 3.6V).
The idea is to install a data erasure mechanism in the case of the flash drive in case they come to you to ask a couple of questions.
There are a number of questions:
How to charge the battery when the flash drive is connected to a PC, that is, what circuit is needed so that the flash drive itself works when charging?
What should be the current to lead to irreversible consequences and what is the battery capacity needed for this?
How to reproduce this current when the button is pressed?
In general, I don’t want to suffer with a soldering iron and try to stuff everything into the case, so I would like the circuit to be small and consist of a flash drive, a button, a battery, and only a pair of transistors / resistances / something else.
I know a little about radio electronics, but I'm not sure of my knowledge, so consider that I'm a complete zero.

Answer the question

In order to leave comments, you need to log in

5 answer(s)
N
nirvimel, 2016-01-10
@woonem

Keeping the battery constantly charged is all extremely unreliable.
We (just don't ask where) did this:

  • A board is removed from the flash drive (the chip occupies most of the board) with a connector, the case is thrown away.
  • Exactly in the middle of the chip (it can be conditional) we draw a line.
  • The board is immersed in epoxy exactly along this line. The first half of the "brick" solidifies.
  • The edge of the fill on the line is smeared with some kind of grease.
  • The board is immersed in epoxy on the other side. The second half of the "brick" freezes. Lubrication keeps the halves from sticking together.
  • It turns out an epoxy "brick" of two halves, which are interconnected by only one chip (there is still a board under it, but it doesn't matter).
  • When you are asked to get everything out of your pockets (they won’t get there themselves), you press your “flash drive” harder with your fingers (the click is almost inaudible a step away from you) and put two broken halves on the table, each of which sticks out half of the crystal (!) .

I
Igor, 2014-07-04
@Pingvi

You wrote:
And you have a rule for eth0:
Here's another:
so why are you adding any extra rules. It is enough that there are no DROP rules for this chain and the default policy is ACCEPT:
All rules are permissive. And where are the rules that will drop traffic?
There are two options here: either apply the default policies for the chains, like this:

iptables -P INPUT DROP
iptables -P FORWARD DROP

or add to the end of each chain (exactly to the end !!!):
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited

If you only have ssh access to the server, prepare a script that stops iptables or resets them. And set it to cron every 10 minutes, for example, so that if you suddenly do something wrong and lose access, the script returns it to you after ~ 10 minutes.

J
jidckii, 2014-07-04
@jidckii

And from those rules that configured what does not work that?

L
larrabee, 2014-07-05
@larrabee

#!/bin/bash
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
ip6tables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
ip6tables -P INPUT DROP
ip6tables -P FORWARD DROP
ip6tables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT

iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -s 8.8.8.8 -p tcp --dport 1500 -j ACCEPT
iptables -A INPUT -i eth1 -s 192.168.0.2 -p tcp --dport 80 -j ACCEPT

You just need to execute this script and save the rules (see distra wiki)

B
baskoy, 2014-07-05
@baskoy

1. Actually, it is not entirely clear why ip6tables -P OUTPUT ACCEPT if the arrival in the remaining chains drops.
2. It's not very good to twist parameters into rules, you need to define variables with __normal__ meaningful names at the beginning of the script and then use them.
3. And what do we have here with ICMP? Are we slacking off a little?

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question