×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
rainforest @rainforestqa Bitcoin + Ops Primer:! Understand your risk Manage attacks
Slide 2
Slide 2 text
@rainforestqa rainforest Rainforest Human powered QA SaaS Designed for ‘Continuous QA’ Built for PMs and Developers
Slide 3
Slide 3 text
@rainforestqa rainforest Us Team of 6 in SoMa All developers YC S12
Slide 4
Slide 4 text
@rainforestqa rainforest Understanding risk
Slide 5
Slide 5 text
rainforest @rainforestqa Understand the trade off More secure generally means more effort
Slide 6
Slide 6 text
@rainforestqa rainforest Risk vs Exposure
Slide 7
Slide 7 text
@rainforestqa rainforest High Risks Hot wallets / key storage Outgoing payments Physically shipped items Reversible payments (e.g. chargebacks)
Slide 8
Slide 8 text
@rainforestqa rainforest …more risks Shared hosting / VPS / “physical” security Staff
Slide 9
Slide 9 text
@rainforestqa rainforest Limiting Exposure Storing keys Hot wallets -> Cold wallets, where poss Principle of least privilege
Slide 10
Slide 10 text
@rainforestqa rainforest What risks?
Slide 11
Slide 11 text
rainforest @rainforestqa Internet connected = hackable (Though, the NSA can spy on you, even if you're not connected to the Internet)
Slide 12
Slide 12 text
@rainforestqa rainforest Top 5 >1k BTC hacks 46k / Linode (Bitcoinica): exploit in admin area / staff —> hotwallet 11k / Bitcoin7: “hacked” 4.5k / BTC-E: Insecure external API key 4k / Kronos: self hack / backdoor 2.6k / Gox 2011: exploit in admin area
Slide 13
Slide 13 text
@rainforestqa rainforest Top 3 reasons:
Slide 14
Slide 14 text
@rainforestqa rainforest Badly configured servers / services
Slide 15
Slide 15 text
@rainforestqa rainforest Poorly written software
Slide 16
Slide 16 text
@rainforestqa rainforest Exploits
Slide 17
Slide 17 text
@rainforestqa rainforest Attack vectors Your service Your customers You & your team
Slide 18
Slide 18 text
@rainforestqa rainforest Your service Domain Email Servers (app, db, etc) Network External services Backups
Slide 19
Slide 19 text
@rainforestqa rainforest Domain DNS hijacking MITM attacks Doppelganger domains / Typo-squatting Renewals
Slide 20
Slide 20 text
@rainforestqa rainforest HSTS Pinning / force-ssl Cloudflare, imho Firewall + IDS
Slide 21
Slide 21 text
@rainforestqa rainforest Email DKIM / SPF Account state Clear email policies Lockout policy
Slide 22
Slide 22 text
@rainforestqa rainforest Servers Shared / VPS / AWS Dedicated Co-lo >
Slide 23
Slide 23 text
@rainforestqa rainforest OS + software updates Automate provisioning Hire pen-testing Have a security program
Slide 24
Slide 24 text
@rainforestqa rainforest Transactions & locking (see Flexcoin / Poloniex)
Slide 25
Slide 25 text
@rainforestqa rainforest Network IDS / IDPS / HIDS Firewall (both ways) -complex-
Slide 26
Slide 26 text
@rainforestqa rainforest External services Verify SSL certs Limit IPs Work out what + who you can trust
Slide 27
Slide 27 text
@rainforestqa rainforest Backups Major security issue Encrypt them Test them
Slide 28
Slide 28 text
@rainforestqa rainforest Your customers Understand their behavior (Progressive) Account limits Policies KYC
Slide 29
Slide 29 text
@rainforestqa rainforest Primer
Slide 30
Slide 30 text
@rainforestqa rainforest Educate yourself
Slide 31
Slide 31 text
@rainforestqa rainforest Pick secure by default tech
Slide 32
Slide 32 text
@rainforestqa rainforest 2FA
Slide 33
Slide 33 text
@rainforestqa rainforest Avoid shared servers
Slide 34
Slide 34 text
@rainforestqa rainforest Honey pots
Slide 35
Slide 35 text
@rainforestqa rainforest Automate deployment
Slide 36
Slide 36 text
@rainforestqa rainforest Use SSH keys, rotate them
Slide 37
Slide 37 text
@rainforestqa rainforest Use a Firewall
Slide 38
Slide 38 text
@rainforestqa rainforest Use an IDS
Slide 39
Slide 39 text
@rainforestqa rainforest Encrypt (and take!) backups
Slide 40
Slide 40 text
@rainforestqa rainforest Subscribe to security lists
Slide 41
Slide 41 text
@rainforestqa rainforest Do as little as possible
Slide 42
Slide 42 text
@rainforestqa rainforest Staff opsec
Slide 43
Slide 43 text
@rainforestqa rainforest Principle of least privilege
Slide 44
Slide 44 text
@rainforestqa rainforest Split your servers
Slide 45
Slide 45 text
@rainforestqa rainforest Or consider LXC / KVM
Slide 46
Slide 46 text
@rainforestqa rainforest Split your app
Slide 47
Slide 47 text
@rainforestqa rainforest Server: partitions + noexec + nosuid split running users disable root remove packages SELinux
Slide 48
Slide 48 text
@rainforestqa rainforest Starting points Figure out your risk + exposure Implement low hanging fruit Reduce surface Plan the rest
Slide 49
Slide 49 text
@rainforestqa rainforest Conclusions Simpler = better Understand your exposure and limit it
Slide 50
Slide 50 text
@rainforestqa rainforest Further reading Hacks: https://bitcointalk.org/index.php?topic=83794.0 Flexcoin: http://hackingdistributed.com/2014/04/06/another-one-bites-the-dust- flexcoin/ Docker: http://www.slideshare.net/jpetazzo/linux-containers-lxc-docker-and- security CVE: http://web.nvd.nist.gov/view/vuln/search?execution=e2s1
Slide 51
Slide 51 text
rainforest @rainforestqa Questions? @rainforestqa @rhs