Search content
Sort by

Showing 15 of 15 results by ikonic
Post
Topic
Board Bitcoin Discussion
Re: an idea for easy two-factor authentication (Attn: Mt.Gox)
by
ikonic
on 08/07/2011, 00:01:36 UTC
(1) To set up my 2-factor login, I send you a string of 260 symbols, to be interpreted as a passcard with 10 rows (0-9) and 26 columns (A-Z). 
The problem with this method is that if you are sending this information over the internet then it has failed since most trojans record all HTTP traffic
Post
Topic
Board Bitcoin Discussion
Re: Bitcoin Stock Exchange Security Standards
by
ikonic
on 28/06/2011, 11:51:54 UTC
  • Any and all interaction with the database should done using either Stored or Prepared Procedures

Prepared statements, yes, stored procs, NO.
I guess the focus is toward fine graining access controls so if you can do this on the DB you are using then either way is fine.

HTTP Response Header Requirements
  • All cookies to have the "HttpOnly" and "Secure" attributes
  • HTTP Headers should not include Server OS version
  • HTTP Headers should not include Web Server version
  • HTTP Headers must include an X-Frame-Options directive

Security though obscurity isn't real security. The hacker isn't going to look at your headers and then run a specific exploit script; they'll just run them all and then some. My Apache logs are full of attempts to exploit IIS vulnerabilities, every day.

Also you can't really expect the client to honor any particular headers, either. (You should still use the security attributes, ofc, just don't count on them working).
Its another layer in the toolbox and if you are running a decent firewall that has packet inspection you can kill most stuff before it gets to the server

  • Where the need for database analysis is required the data should be purged of all PII prior to be delivered to the auditor

There is no need to purge anything if you follow a proper release managment process.

You should have at least three different environments: development, QA and production. Dev never sees the production data, and it's where you do all your development and most of your analysis. QA is a replica of the production, used for testing the releases before moving them into production. QA can also serve as a backup when production goes down.
Agreed, but most development and QA environments are never matched to production.

Another good idea to discuss it the limit that can be transfered daily/hourly.
For instance, setting a maximum dollar amount to transfer out is pointless as you can simply crash the price and pull out. Perhaps a better idea would be to set volume limits instead?

You could use a 48+ hour average or something.

There could be rules to detect suspicious activity (sudden spikes in volume etc) which could trigger safety measures, such as seizing trade and withdrawals completely until the activity has been audited.
Agreed
Post
Topic
Board Bitcoin Discussion
Re: Should we learn hacking too?
by
ikonic
on 24/06/2011, 09:17:21 UTC
password: 12iu1287fas90sdfouisdfoiuwejz93jlkjad93mlsafd9
hash:       j12j90asdfuoi1u29123912j1lk1291jl129j11jhr

sorry password is insecure, please include capital letters
Its not just about the length... its the width that counts as well. don't let anyone tell you different

And if you aint packing upper and lower case, numbers and special characters, then you can't join the party Sad
Post
Topic
Board Bitcoin Discussion
Re: Bitcoin Stock Exchange Security Standards
by
ikonic
on 24/06/2011, 03:05:05 UTC
Except that the only BCrypt library I can find doesn't implement the HashAlgorithm class so I can't use it with my existing solution. I'd have to rewrite the entire login system... Which I might still do... We'll see Smiley

You could use Rijndael instead

Well, hey, if it's got a GetHashCode() method (which it appears to) I can use it with the code I've got, the only question is how does it compare to BCrypt? I'm obviously not a crypto expert considering I was going to use an SHA variant so what does the crowd think?

have seen http://bcrypt.codeplex.com/
Post
Topic
Board Bitcoin Discussion
Re: Bitcoin Stock Exchange Security Standards
by
ikonic
on 24/06/2011, 02:42:11 UTC
Except that the only BCrypt library I can find doesn't implement the HashAlgorithm class so I can't use it with my existing solution. I'd have to rewrite the entire login system... Which I might still do... We'll see Smiley

You could use Rijndael instead
Post
Topic
Board Bitcoin Discussion
Re: Bitcoin Stock Exchange Security Standards
by
ikonic
on 23/06/2011, 13:37:27 UTC
Are we talking about stock exchange,like glbse, or currency exchange, like mt gox and tradehill?

The more I think about it, it should really be an across the board for standard for any site that deals with bitcoins.

The finance industry is going to be bound by PCI one day and something similar should happen for bit coin sites.

A simple e-mail notification when BTC withdrawal address is changed, and lock on withdrawing funds for at least 24 hours after address change, would be nice too (BTCGuild's method)

I'd like to have to have an option of having a code sent to my mobile with a code in it to activate the withdraw. Make the mobile number unchangeable after registration. Only way to change it is when the account has zero balances. Even if the account is hacked, good luck withdrawing.
Mobile TANS are probably the most secure (barring MITM attacks) but this is something that should come into play. You could also consider the VIP solution from Verisign but that would have a significant cost.
Post
Topic
Board Meta
Re: Suggestion: Security subforum
by
ikonic
on 23/06/2011, 13:33:04 UTC
+1

I also have a post here on creating security best practices for bit coin sites (http://forum.bitcoin.org/index.php?topic=20377.0)
Post
Topic
Board Bitcoin Discussion
Re: Bitcoin Stock Exchange Security Standards
by
ikonic
on 22/06/2011, 01:06:09 UTC
To sum it all up, BANK LEVEL SECURITY. No bullshit "25 letter passwords".
Take my money and STFU.
I am actually the senior developer/team leader for the online banking team which provide online services (mobile and internet banking/lending) to around 30 financial instituions. I also run a security forum and am familar with the nuoance of online transactions.

In saying that, I am not going to drop every single piece of information straight up unless others are interested in participating.

And BANK LEVEL SECURITY is shit. Just ask the CitiBank customers who card details have been nabbed...

What I am proposing is something far more secure and workable.
Post
Topic
Board Bitcoin Discussion
Re: Bitcoin Stock Exchange Security Standards
by
ikonic
on 21/06/2011, 23:47:08 UTC
well 1000 bitcoins are a lot of money.
Perhaps accounts should have daily transaction limits where the user can reduce online at any time but it requires admin intervention to raise.

Moreover we need 2 levels of password:
1) An account password, sent via password-authenticated key agreement and not https

2) A Time-synchronized one-time passwords or a 2d key, to authorize movements, so that even if the password is stolen, it is impossible to authorize another transaction.
I assume you're talking about a TAN? This is a good idea.

no use of cookies at all.
Not really a big fan of this, It means the URL requires a session identifier to be included or then entire site runs through POSTS?

All passwords should be stored using one way encryption with a unique salt per user (salt to be a minimum 128bits) iterative hashing
Fixed that for you.
thx
Post
Topic
Board Bitcoin Discussion
Re: What time is Mtgox opening?
by
ikonic
on 21/06/2011, 04:03:08 UTC
It would also be great if we could cancel buy/sell orders also.

I imagine there will be a run on at the start, so prices might drop dramatically while those looking to liquidate sell.
Post
Topic
Board Trading Discussion
Re: About Mt. Gox flaw from a security expert
by
ikonic
on 21/06/2011, 03:59:22 UTC
Interesting Read. Seems to be a lot of angst of OS.

The bottom line is though, OS are only as strong or weak as the people hardening them.

Anyways, don't want to highjack the thread but for those would like to help contribute towards a Bitcoin Stock Exchange Security Standar,  I have created a thread here http://forum.bitcoin.org/index.php?topic=20377.0
Post
Topic
Board Beginners & Help
Re: Trojan Wallet stealer be careful
by
ikonic
on 21/06/2011, 03:19:56 UTC
I've read quite a few times in this thread to make backups of your bitcoin wallet. But if I'm not completely wrong, then even stealing just the backup data results in losing all your bitcoins. So from a security perspective, better don't make backup copies!

The idea is to create an encrypted back up of the wallet, not just a copy.
Post
Topic
Board Beginners & Help
Re: Whitelist Requests (Want out of here?)
by
ikonic
on 21/06/2011, 02:57:46 UTC
I am not a bot... seriousily!

Anyways, I just want to comment on a number of threads relating to the MT Gox hack (for the time being)

Also, would prefer not to link to any other accounts I use for obvious reasons.

In terms of bit coins, I own em, I buy em and I sell em.

Should a mod read this can you please move my topic (http://forum.bitcoin.org/index.php?topic=20377.0) into the Bitcoin discussion area?
Post
Topic
Board Bitcoin Discussion
Bitcoin Stock Exchange Security Standards
by
ikonic
on 21/06/2011, 02:50:41 UTC
Given that BitCoin is still in its infancy, many of the stock exchanges are being run by inexperienced coders or business types with no real online financial experience... and as such, putting the entire community at risk.

Therefore, what I am proposing is that the BitCoin community draft together a set of agreed security standards and best practices that all trusted exchanges should adhere to.

As an example of Web Standards, the basics would be

Web Application Requirements
  • Website to be tested to ensure SQL injections (including truncation attacks) do not exist
  • Website to be tested to ensure XSS injections do not exist
  • Website to be tested to ensure XPATH injections do not exist
  • Website to be tested to ensure CSRF vulnerabilities do not exist
  • All transactional functionality should be undertaken with http post using CSRF nuonces
  • Any and all interaction with the database should done using either Stored or Prepared Procedures

HTTP Response Header Requirements
  • All cookies to have the "HttpOnly" and "Secure" attributes
  • HTTP Headers should not include Server OS version
  • HTTP Headers should not include Web Server version
  • HTTP Headers must include an X-Frame-Options directive

Data Storage and Analysis Requirements
  • All passwords should be stored using one way encryption with a unique salt per user (salt to be a minimum 128bits)
  • Where the need for database analysis is required the data should be purged of all PII prior to be delivered to the auditor
  • Users with permissions to the database should be limited to the web application only

Finally, this list isn't extensive but only a start so it would be good to get others feedback.

btw: Sorry about being stuck in the newb section but alas such is life.

Note: Not here for the MT Gox bashing, it will achieve nothing. Lets talk about the future instead.

Edit:
Another good idea to discuss it the limit that can be transfered daily/hourly.
For instance, setting a maximum dollar amount to transfer out is pointless as you can simply crash the price and pull out. Perhaps a better idea would be to set volume limits instead?

BitCoin Transfer Requirements
  • Maximum Daily Transfer Limit - Currency $1000
  • Maximum Daily Transfer Limit - BitCoins 1000


Post
Topic
Board Beginners & Help
Re: Whitelist Requests (Want out of here?)
by
ikonic
on 20/06/2011, 04:32:46 UTC
I am not a bot... seriousily!

Anyways, I just want to comment on a number of threads relating to the MT Gox hack (for the time being)

Also, would prefer not to link to any other accounts I use for obvious reasons.

In terms of bit coins, I own em, I buy em and I sell em.