Search content
Sort by

Showing 20 of 53 results by dukejer
Post
Topic
Board Bitcoin Discussion
Re: ALL of my bitcoins stolen (Around 60) . What the F*CK.
by
dukejer
on 27/06/2011, 18:32:34 UTC
You don't connect the Android to the PC with a cable. You use Wi-Fi or Bluetooth. You don't keep the private key on the cellular because it can be easily stolen. Stealing the PC AND the cellular is more complex (you can easily hide the cellular when you don't need it). Yes, it's perhaps possible to hack a cellular through wi-fi, but it's quite complex, and it's model-by-model. There isn't a single-hack that works for everything. It isn't totally fool-proof but it raises the difficulty of an hack very much. Especially if you consider that economical Android cellulars will multiply in the next year or so.

I am just afraid that Android is as big as a target as Windows for exploits in the future.  I would think a more custom OS that runs on the old cheap Android hardware would be a little more secure.  I understand now why you want to keep the private keys on the PC and download them to the Android device temporarily.  Unfortunately if someone has enough physical access to the cell phone and PC you could easily just take the hard drive or copy the keys to a bootable USB stick.  Once a site is physically compromised there are no safe bets.  A stolen cell phone that has a password protected wallet in it would not be worth much to a thief without already knowing the pin/password or monitoring the phone with screen capture or some other monitoring method like a webcam from the PC.

-Dukejer







Post
Topic
Board Bitcoin Discussion
Re: ALL of my bitcoins stolen (Around 60) . What the F*CK.
by
dukejer
on 27/06/2011, 17:48:34 UTC

The cheapest android device is 99€ here in italy. It can be used as a "close" system. You install a thin client, install the fat client on your PC and keep on your PC the encrypted private keys (AES encrypted). These keys are downloaded from the android and decrypted by the cell phone on demand (your phone have the AES key). The PC needs "rearming" if the AES key sent is wrong. The AES key on your phone is PIN protected. You can send from your PC to your cell phone the public keys of persons you want to pay. You want to pay someone? In some "sicure" way you send the public key of the person to your cell phone, use the key to decrypt, and send the signed transaction to your PC. You don't use the phone in any other way than a client of bitcoin. You don't put a sim in the phone. You don't browse internet. Done.

Why even download the private key from the Android device instead of leaving them on the Android device? I think for this to work the Android device would have to be locked down very tight which maybe hard if it is connected to the PC using USB.  All it would take is for a hacker or virus to know it exists and root the device from the PC.  A device with Ethernet and only a listening API would be more secure to the PC.  I am also not sure if I would trust the Android device on Wifi.  The PC could send a transmit BTC request to the Android device with the recipient public key and amount.  After the user enters his pin or password on the Android device it would sign the transaction and transmit it to the PC like it was a Bitcoin node to pass on to the Internet.

-Dukejer
Post
Topic
Board Bitcoin Discussion
Re: ALL of my bitcoins stolen (Around 60) . What the F*CK.
by
dukejer
on 27/06/2011, 15:38:03 UTC
This would be a shitty security method that would protect you only from the most noob script kiddie.
Two ways to hack it:
* the simple: wait for the window asking the password to appear and take the password (keyloggers)
I would hope the Bitcoin client uses a different method to receive your password like an on screen keyboard but this will open the client to a screen capture on mouse event.  Still it is better then what we have now.


Quote
* the "a little harder": You know (by looking at the source, the client is open source, you know?) in which function the key is unencrypted, you wait for the exe of the client to be loaded (you are a trojan, you are resident in memory), put a breakpoint there and snoop the memory. Each time a new version of the client is created you lose half an hour to "expand" your library of possible breakpoints. Hackers do more complex things to games that are protected by latest generation protections. You think that an open source software that anyone can compile is more resistant? Encryption will only make the wallet.dat more resistant to "one shot" trojans that enter, steal and exit (or to trojans written by script kiddies that don't know assembly). This would steal one private key at a time, if the program is well written (but then, if you are already putting a bp in the code, you can directly steal the password).


If we make the client more resistant to fly by the night attacks this would cut down on the successful thefts on the Bitcoin wallets.  There will be intelligent viruses and trojans that overcome all security methods but these would be more specialized.  We need to make it more difficult for hackers to even want to steal the bitcoins and find some other low hanging fruit like the real banks.  Wink

Quote
The only "possible" way would be to make the program polymorphic, like the viruses, so it would be more difficult to put a breakpoint in memory, but it's quite complex... And it would protect only against the second method. And in the end the Trojan would simply replace your exe with another one that would only ask you the password and send it to the hacker.
I like your polymorphic moving target memory idea.  Can you send the code to the developers.  Wink


I understand what your are talking about but what do we do?  Put our head in the sand and let Bitcoin go away or centralize and put our Bitcoins back in a digital bank that is insured by the FDIC and end back where we are now.  I doubt I will lose my Bitcoins on my secure Linux box but everyone I work with that is not technical would not be able to run their own secure Linux box.  They can not even secure Windows.  I gave up supporting Windows for my family and friends.   I only run Linux Systems at my home and I only support Linux for family and friends that are willing to go in a different direction and not use Windows.

Maybe we need a hardware device that is not on the Internet that holds our wallet private keys and uses an API over the local LAN to request that you send money.  Then you have to walk over to this secure hardware widget and put in your password there.  Of course this would put Bitcoin out of the hands of everyday users who would not want to spend any additional money to send and receive Bitcoins.  

-Dukejer
Post
Topic
Board Mining
Re: SSH to Computer Behind Home Router
by
dukejer
on 27/06/2011, 14:18:17 UTC
Thanks for the great info. Smiley It does seem involvled, but worthwhile to consider. So, the advantage with the option you are suggesting is security? Is that to say the barebones SSH makes things more or particularily unsecure? e.g. Opens up the network to behind the router?

Openssh by itself is fairly secure even with passwords.  I was hacked a little over a decade ago under Openssh with using passwords only but I have not see any easy exploits of Openssh in sometime.  Passwords can be brute forced though and this makes them a security breach unless you have a long random password with a mix of uppercase, lowercase, numbers and symbols.  I like the certificate keys because if you do not have the key you can not login to the box from the outside world.  I run connectbot with a generated certificate key on my android phone to log into my systems.   Locking down port forwarding with Knockd adds another level of security because if a port is open it gives a hacker a reason to try to break into your system.  If they do not know the port is open in the first place they have no reason to try.   Also they will not have an easy way of knowing which type of system is behind the port forward.  Even with a port forwarding a hacker maybe able to fingerprint your Operating System by the way the port and application on the port like sshd responds.  From their they can look for known exploits in the Operating System and try to break in.  It is better if they do not know what OS or how many computer systems are behind the router.

-Dukejer
Post
Topic
Board Mining
Re: SSH to Computer Behind Home Router
by
dukejer
on 27/06/2011, 13:54:45 UTC
I would disable passwords in ssh and generate a private/public key pair to login from the outside world.  I run 2 copies of sshd on my box.  One on port 22 that uses passwords but is only available on the internal LAN and 1 that is mapped to a different port that I only know that only allows access through keys.  My router disables port forwarding until I run knockd to enable port forwarding to my hidden sshd port.  Knockd is a program that listens on the Internet interface on your router and will allow you to enable port forwarding on demand when a combination of certain tcp/udp ports are accessed in the correct order that only you will know.  Basically a secret knock that will then allow you to ssh into your systems behind your router.  Also for this level of security you would have to load different firmware onto your router.  Something like DD-WRT, Tomato or OpenWRT.  This is not for the novice but secures your system much tighter.

-Dukejer
Post
Topic
Board Bitcoin Discussion
Re: ALL of my bitcoins stolen (Around 60) . What the F*CK.
by
dukejer
on 27/06/2011, 13:00:43 UTC
Sounds very fishy.

If you had it encrypted, any ideas on how it was stolen?

If you're being honest, I'm terribly sorry for your loss. That stinks.

Yea, it does. I had /backups/ encrypted, I should have been clear. Any virus/trojan/person could have just coppied the wallet file from %appdata%/bitcoin.

Encryption cannot protect wallets in use, because your legitimate client has to decrypt it anyway. Encryption is good for backups only.

This is not true.  If the private keys are encrypted in the wallet and in memory and only unencrypted at the time of sending BTC to a different spot in memory each time and then promptly erased from memory.  This would be a reasonable amount of security and make it difficult for a Virus or Trojan to steal the private keys.  The only problem I see with this method is people losing their password to their private keys but I think that also Bitcoin Clients should mandate the user backing up their keys unencrypted to a removable device or print them out at time of key generation.

-Dukejer
Post
Topic
Board Bitcoin Discussion
Re: Default encryption for wallet.dat
by
dukejer
on 24/06/2011, 14:10:02 UTC
Well, I was thinking of mechanism that uses the so-called "Trusted Computing Module" in your motherboard, or uses a secure key generated by your CPU's unique private key.

I think this could be a problem if something goes wrong with the CPU or motherboard the wallet might not be able to be unencrypted.

-Dukejer
Post
Topic
Board Bitcoin Discussion
Re: Default encryption for wallet.dat
by
dukejer
on 23/06/2011, 14:02:11 UTC
Whenever new private keys are generated they should mandatory have the option to send the keys to a removable device unencrypted clear text for safe keeping.  Then the private keys in the wallet should be encrypted in the wallet and in memory and only unencrypted at the time Bitcoins are sent.   If someone forgets their password they should be able to re-import the private key from a removable device and then set a new password on the private keys for the wallet.

-Dukejer.
Post
Topic
Board Bitcoin Discussion
Re: Decentralized Exchange Service
by
dukejer
on 21/06/2011, 21:06:25 UTC
I do not see why this would be impossible.  I see the biggest problem is that the time it takes to transact an exchange and also guarantee payment between both parties.  I think that maybe a rating system would help with the guaranteed payment.  Start small with exchanges and earn a reputation for honest exchanges.   As for the time it take for a transaction to take place I would think that a block chain would have to solve blocks quicker then 6 an hour.  Maybe something similar to namecoin.  With a high enough transaction fee I could see transactions taking priority and moving from peer to peer rather quickly.  If you are not in a rush you could use a lower transaction fee.  Money could be exchanged in person(long/lat), western union, paypal, dwolla, coinshop/merchant etc.  Part of the transaction and exchange would be listing your payment choices and bids or asks to find a suitable person or business to exchange with. 

- Dukejer
Post
Topic
Board Bitcoin Discussion
Re: To Magical Tux
by
dukejer
on 21/06/2011, 15:21:26 UTC

Well this extend I understand what went on. One time I asked for a db structure to implement a module for a hospital, instead of the structure they sent me a DVD with the whole db contents (means medical records of practically everybody in that town).
Is that "practical" export button and its default options...

If they send the whole Database or DVD then I would question the competency level of an organization or individual with my money or confidential information.  I would hope that most businesses would understand that you only send what is needed to get the job done and nothing more.  If they do not understand that or take short cuts on their own accord to make it easier for themselves then I would take my business else where.

-Dukejer
Post
Topic
Board Bitcoin Discussion
Re: To Magical Tux
by
dukejer
on 21/06/2011, 14:27:31 UTC
I have questions with the Magical Tux story of what happened.  I would like to know the truth of the hacking incident.  If there was a financial auditor possessing the database for financial reasons what business did they have with having the password file.  I see no reason for a financial auditor needing the password file.  They only need the portions of the database that reference transactions and account numbers.  Whenever I work with the government and I have been involved in many audits from an IT perspective I only give the auditors the information that is needed for the audit and no more records then are needed.  Users names, email addresses and password hashes would be out of the question in an audit.

-Dukejer
Post
Topic
Board Bitcoin Discussion
Re: 7 simple rules to mitigate most threats related to passwords
by
dukejer
on 20/06/2011, 14:30:24 UTC
Here is what I use to keep my passwords safe.

1) KeyPass and KeypassX:  I have it on my Windows systems, Linux Systems and my Android phone.  The database can be synced and used by all 3 Operating Systems.

2) Every site I visit has a randomly generated password using the maximum amount of characters and symbols the site would let me use.

3) Master passwords I use for the databases are a place in the world and I memorize the latitude and longitude to create my master password.  I use Google maps to find the latitude and longitude and I do not click on the most obvious place at the location.

For Example:

If I want to use the Eiffel Tower for my password at 48.8583N, 02.2945E my password would be similar to this.  I never capitalize the first letter but some letter in the middle.  I also replace some of the letters with leet speak.  Now if I need my password before I memorize it I can just think of the Eiffel Tower and then use that to remember my master passwords.

3iff3lt0W3r488583N022945E

GRC rates the above password 2.09 trillion trillion centuries to break.

-Dukejer
Post
Topic
Board CPU/GPU Bitcoin mining hardware
My quest for an energy efficient mining system has hit a road block
by
dukejer
on 16/06/2011, 20:14:11 UTC
Hi Everyone,

I have come into some old VIA Epia M10000 motherboards which only consume 21 Watts of energy and have 1 PCI slot.  I have been able to PXE boot this system without a hard drive running LTSP under one of my Ubuntu 64-bit mining servers with all the ATI OpenCL SDK and fgrlx drivers installed on the 32-bit VIA Epia M10000 image.  I have also installed all the necessary Python and OpenCL software.  I was able to use a PCI to PCIe X1 slot adapter and plug in an ATI HD Radeon 5830 which boots and is seen by the OS using aticonfig.  My only roadbock seems to be that the VIA Epia M10000 CPU does not support the SSE2 and SSE3 instructions.  That is where my problem begins.   It appears that even though I only need GPU mining, AMD in their wisdom compiled the ATI Stream SDK using SSE3 instructions.  When I try to run clinfo it gives me an illegal instruction.  If I run the image from the 64-bit server in a chroot environment clinfo runs correctly so it definitely seems to be the VIA EPIA not liking the compiled version of the ATI Stream SDK.  If anyone has any ideas I would appreciate it.  I just wish there was an Open Source OpenCL I could compile without SSE3 and run against the ATI GPU.  I highly doubt that if I wasted my time and put in a support call to AMD they would recompile the ATI Stream OpenCL SDK for the Epia CPUs anytime in my lifetime.  Sad

-Dukejer
Post
Topic
Board Bitcoin Discussion
Re: What do the DDoS'ers have to gain?
by
dukejer
on 14/06/2011, 18:33:39 UTC

That's a good one. Is there any evidence that this is happening? Besides the nonsensical anonymous threat?

Not that I know of but now movies and T.V. shows will have to change with the times.  No longer will it be "I want 1,000,000 dollars in unmarked bills delivered in a suitcase", later to be caught at the drop site.  Now they will want 50,000 BTC sent to this address.  1XXXXX555YYYYY1212ZZZZZ Wink

-Dukejer
Post
Topic
Board Bitcoin Discussion
Re: What do the DDoS'ers have to gain?
by
dukejer
on 14/06/2011, 18:03:56 UTC
I think you missed one big one.

Extortion.  Pay us the sum of 10,000 Bitcoins or else we bring down your website.

- Dukejer
Post
Topic
Board Bitcoin Discussion
Re: P2P for all bitcoin services
by
dukejer
on 14/06/2011, 16:51:52 UTC
FreeNet could be utilized for the first (if im not mistaking the first beta of FreeTalk has been released already)

As for the exchange, since it's more interactive I2P with multi-homing would be a solution.

Hi kwukduck,

Thanks for the info about FreeNet.  It would be nice if we had a Bitcoin client that rolled everything into one nice interface; Send and receive Bitcoins,  Communicate over a P2P Chat, Communicate over P2P forums and Some kinds of P2P or I2P currency exchange.

I could see where I2P and multi-homing could work since you may want your exchange more instantaneous.  Also I could see where P2P could work if you upped the transaction fee.  I could see that with a high enough transaction fee your P2P bid or ask would zip right across the network with the highest of priority.  Especially if the transaction fee was distributed across multiple nodes.  Wink

-Dukejer
Post
Topic
Board Bitcoin Discussion
P2P for all bitcoin services
by
dukejer
on 14/06/2011, 16:34:13 UTC
Hi Everyone,

I understand that Bitcoin itself is a distributed P2P system which makes it difficult to attack as a whole but other services that Bitcoin depends on for day to day functions can be attacked with Denial of Services or other hacking methods which are causing Bitcoin some pains lately.

Here are just some thoughts from random neurons that have been firing in my head lately.

P2P Forums
P2P Forums like the days of Usenet dedicated to Bitcoin.  What is Bitcoin with out some type of communication among Bitcoin users?  With forum.bitcoin.org being unreliable lately I think a p2p forum method could possibly work.  Maybe posts/threads could work like namecoin/bitcoin and send messages from peer to peer along with having some small fee to stop spammers.  Even though it would mostly be pseudo anonymous posts could also be authenticated with public/private keys.

P2P Exchanges
A P2P exchange may be able to be set up with the bids and asks sent into the p2p universal consciousness.  A trust rating system could be established to rate sellers and buyers.  Exchange of funds could be through outside services like direct cash, dwolla, paypal, Western Union, etc.



-Dukejer



Post
Topic
Board Bitcoin Discussion
Re: In light of recent hacking, should security of MyBitcoin website be increased?
by
dukejer
on 14/06/2011, 15:59:59 UTC
With the recent hackings I think that bitcoin does need a wallet.dat that is encrypted in the client and not something like file system encryption that truecrypt would bring.  The problem is that when you have the client open which you need to have to open to send bitcoins the wallet.dat is unencrypted to the Operating System during that time.  It would be better to encrypt the wallet.dat with a secure password and then only load the keys into memory at load time.  I know that if the system is comprised the attacker could probably read the memory also but this would make it more difficult then just creating a virus that copies wallet.dat to some other comprised system on the Internet.  The key should also be stored at different locations in memory to obscure the location of the keys on boot up.  Obviously the owner of the bitcoin should keep their password in a secure location and have multiple copies of the password and wallet.dat to avoid losing their bitcoins forever.

-Dukejer
Post
Topic
Board Mining
Re: Linux: running headless and automation
by
dukejer
on 14/06/2011, 13:49:13 UTC

Ya, 30 seconds is an awfully long time.

You could always use something like xwininfo to verify it's running.

For example, if this fails, you have no server running -

xwininfo -display :0 -root

Return on fail should be - "xwininfo: error: unable to open display ":0""
I think xset q could be used, too.

xset -display :0 q

I wouldn't fiddle with gdm - I only use a basic wm and want the minimal work requests to the video card.



Hi supa,

I made some changes to my btcminer_X.conf upstart scripts.  They will now check for X and start up automatically.

Original scripts      http://forum.bitcoin.org/index.php?topic=9239.0

cat /etc/init/btcminer_0.conf

description     "Start BTC Mining"
start on runlevel [2345]
stop on runlevel [!2345]
kill timeout 30
script
  LOGINUSER=ChangeToMyLoginUser
  export DISPLAY=:0
  TIMEOUT=30
  XPID=""
  while true
  do
    sleep 1
    TIMEOUT=`/usr/bin/expr ${TIMEOUT} - 1`
    test ${TIMEOUT} -lt  0 && {
      echo "X not running."
      exit 255
    }
   
    XPID=`/usr/bin/pgrep -f -x /usr/bin/X`
    test -z ${XPID} && continue
    exec /usr/bin/screen -dmS gpu0 su -c '/usr/local/bin/startminer.sh 0' ${LOGINUSER}
    exit 0
  done
end script


- Dukejer

Extra Bitcoins burning a hole in your pocket?  Send them to 19oQLN2v1auiGqBDFfxSDUfu8Ax6ooT6xs if you feel my posts help you.

         
 
Post
Topic
Board Mining
Re: Linux: running headless and automation
by
dukejer
on 14/06/2011, 12:22:56 UTC
Just to put another solution out there. I don't like the idea of waiting 30 seconds for x to start. It's hackish and assumes that X will start in 30 seconds. I use gdm3 and have daemon.conf set to automatically log in the bitcoin user. Then in /home/bitcoin/.gnomerc, you can have all your miner start code, not having to care about $DISPLAY or whether X has launched properly. Further, this doesn't require creating a custom init.d script.

I think this could be adjusted further by taking out gnome entirely and having a line like:
@reboot startx
in a user crontab then using a .xinitrc to launch things.

Hi martok,

When I originally wrote the upstart script I was in a hurry and wanted to get my rig mining up as soon as possible.  I still plan on rewriting the btcminer scripts to take out the sleep 30 and search for X running.   I new it was hackish at the time but in bitcoin time is money.  Wink That would also speed up the process but I have not had the time to do that yet.  One advantage of running X straight without runing gdm is that all the extra process that are associated with Gnome and GDM are not running.  On the latest systems I set up I build them with the mini.iso ubuntu image without even loading a desktop.  The only thing I installed was xorg and the utilities to build the ati driver and other software like python.

Here is the original post I wrote for headless mining.

http://forum.bitcoin.org/index.php?topic=9239.0

- Dukejer

Extra Bitcoins burning a hole in your pocket?  Send them to 19oQLN2v1auiGqBDFfxSDUfu8Ax6ooT6xs if you feel my posts help you.