Dear all,
as Crypto Kingdom is obviously growing very fast and has introduced multiple new ways to interact with the crypto markets (in-game Markka, XMR, BTC, and even real-life €),
I would like to return to couple potential security/usability issues that I mentioned when we did a poll of "
what has to be done before CK is ready to be published" around half a year ago (can't find the Google spreadsheet anymore though):
- Extensive stress testing of the server and the current implementation
- Possibly paid hacking attempts and/or security extension services
Sadly, I am not an expert in this IT-field. But I can see various scenarios where these will be highly relevant; for example now that we have multiple very volatile currencies introduced (both XMR and BTC), a DDos attack or such can hinder parts of people from reacting to markets (such as Poloniex) and reduces trust in CK as an alternative platform for conducting trades. Furthermore, we cannot rely on mere SQL-backups or such for recovery in case of hacking, as I presume such attacks would not be direct and may occur over a long period of time e.g. through SQL-injections. And naturally, we ought to guarantee that there is zero (or arbitrarily low) risk of ever leaking out a) personal information, e.g. emails (which are optional to provide for account recovery) or b) account information such as account name / passwords, from the data running through the current client.
Here is a short brief of the discussion in IRC, which I hoped to post before it gets lost in the backlog of the channel:
20:45 < Syksy> I concur with sammy007 in regards to possible security/burden issues, that should be addressed ASAP if the game is now going to "wider-audience"; I proposed wide stress-testing and a "paid hacking expert" testing in the poll long time ago on what should
be done before CK was "ready"
20:46 < Syksy> I feel they are extremely important - especially given that we need to maintain extreme confidence on the platform itself since it deals with crypto currencies and not just in-game tokens, even if the cryptos are in depositories
20:47 * Marquess_Loaf seconds Syksy 's motion :D
20:49 < tombot> sounds good, better to be safe than sorry
20:49 < Syksy> stress testing is also closely connected to how confident we can be on the platform - as XMR and BTC can be extremely fast in their trading, CK has to be as fast to reflect those markets
20:50 < Syksy> sadly I am not a security or an expert in the field, perhaps sammy007 has some practical things that could be proposed?
20:50 * Syksy disappears into the mist again
20:51 < Syksy> security expert or otherwise in the field*
to which sammy007 (and others) contributed:
22:26 < sammy007> Syksy I proposed already: move from DO to online.net with paid hw antiddos, add recaptcha shit to prevent autoregs also email confirmation, can use mailgun. Easy steps to prevent a lot of bad things. DO will nullroute game servers if there is a simble
synflood from kiddies.
22:27 < sammy007> DO is a piece of crap, expensive and not efficient only suitable for hipsters to test their nodejs crap there from starbucks
22:27 < luigi1111> recaptcha is really easy too
22:27 < sammy007> you can pick a dedicated enterprise grade HW for this price in another DC with built in antiddos
22:30 < sammy007> I am running 4 core 8t xeon with 96 RAM for 55 EUR/m with antiddos protection. No estimate the same on digitalocean lol
22:31 < saddam> is that why the site is slow?
22:31 < sammy007> and there is also floating IPs so you can deploy database on 1 server and run 2 frontends in case one goes down another will work
22:31 < saddam> i always just assumed it was some really bad db queries
22:31 < sammy007> yeah I wonder if there are some indices exist
22:32 < sammy007> DO is not suitable for production setup, only for playing
Captcha and such are easy to setup, and I believe we today encountered the issue of multiple registrations for CAN registration prizes for the first time. While he was kind enough to cease this activity (and CAN incentive was reduced), I believe we cannot presume such cases in the future could also be handled just by contacting the person. The rest of the discussion goes much over my head, and relate to preventive measures I believe (setup to prevent synflood as an example of ddos etc).
I'd like to propose that if there is a capable & trustworthy person within the current CK-community, then he/she to be appointed to lead this development, hopefully with incentives. If not, I'd suggest we seek for external assistance with this matter. In my opinion this is just as important as developing new features, and I believe it could be done in co-operation with PJ without leeching work hours from him.