Author |
Message |
Bak ?ls -s 0 in

Age:26 Gender: Joined: Jun 11 2004 Posts: 1826 Location: USA Offline
|
Posted: Wed Feb 16, 2005 12:22 pm Post subject: Hypothetical question |
 |
|
|
|
If one were to ever make an open source client, how could we assert the validity of the client (that it wasn't modified to not take damage, for example)?
One attempt might be send a hash of the current code or memory for the program to the server occasionally, but that could still be innaccurate (one could make the hashing function work on the correct program, rather than the program they're actually running. The program could keep two copies of memory, one that's correct (for the hash) and one for it's own use. This solution appears incorrect.
The only solution I can think of is do occasional server side checks of the clients calculations. For example we can easily tell if someone is changing their maximum speed if between packets their distance / time is greater than the maximum speed (we'd have to account for *warpto's portals, bricked players, wormholes, pressing insert, ect.). Certain things, however, such as taking damage are a lot harder to do server side, since it may occur between packets or not at all. Even if we perfectly emulated the physics engine of our client on the server, damage often happens between packets, so the clients energy depends on when it takes the damage, which the server doesn't know (since we dont get packets when a player takes damage). The only assumption we could make is that if the damage occured, the maximum of energy that could be recovered by the client would be a formula based on the recharge rate and the time of the last packet received (before they took damage).
An alternate cheating approach would be to use random elements in the game to your advantage. For example in a game where you spawn randomly it would be unfair if a client could spawn closest to the base every time, or every prize picked up was prox when it's got a 0.01% chance of being prized. The solution would be to ask the server for any random elements the client needs... or just for a seed, so the server could check whenever a player spawns if he's actually using the correct random number.
Before any open source client can be developed these issues must be addressed. _________________ SubSpace Discretion: A Third Generation SubSpace Client |
|
Back to top |
|
 |
Dr Brain Flip-flopping like a wind surfer

Age:39 Gender: Joined: Dec 01 2002 Posts: 3502 Location: Hyperspace Offline
|
Posted: Wed Feb 16, 2005 12:29 pm Post subject: |
 |
|
|
|
The only reasonable way is with a watchdogging client like punkbuster.
The watchdogger checks the playing client's binary to make sure it's an official version before it will send an ok to the server. Servers could choose to not require a watchdog's ok, but those servers that do require it will only allow versions that are sanctioned by the watchdog creator. _________________ Hyperspace Owner
Smong> so long as 99% deaths feel lame it will always be hyperspace to me |
|
Back to top |
|
 |
Bak ?ls -s 0 in

Age:26 Gender: Joined: Jun 11 2004 Posts: 1826 Location: USA Offline
|
Posted: Wed Feb 16, 2005 1:54 pm Post subject: |
 |
|
|
|
The same problem comes up: How would you ensure the watch dogging program is valid, short of hiding the source and hoping no one knows assembly? You end up using a closed source piece of software to ensure the validity of the open source software. And how would a watchdogging program know what binary the client is actually using... since he may be running a valid one that's doing nothing other than distracting the watchdog in addition to a cheating client that he's actually using to connect to the server? |
|
Back to top |
|
 |
Gravitron VIE Vet

Age:43 Gender: Joined: Aug 02 2002 Posts: 993 Location: Israel Offline
|
Posted: Wed Feb 16, 2005 2:34 pm Post subject: |
 |
|
|
|
You do same thing you do now.
Server choose which client to use and enforce its use upon you.
Whatever mechanism Infantry or continuum or VIE used to determine (checksum, other safe guards, whatever) what kind of client you use, its version, and if it's conforming to the client copy your server has can be used here as well.
I can go and modify continuum all I want, hell, if I had any clue I might even be able to have it keep functioning (I can't just go and hex something, now can I?), but the moment I try to login with it, server will start yelling all sorts of red msgs whistles and either auto ban me or force me to download (or kindly request me to "update" heh) to v39 pre-release 1.
Same way you can block VIE from playing (or, if you add it server side - even entering, though a zone with LVZs might be enough disallow you to even enter as you'll be unable to download the map) a continuum-only zone, you can block any and all clients that aren't your own from entering the zone.
I would be entering a validation string "g8a7g983jhioa82y" as your client's ID, and having it being XORed twice (like pws at VIE were).
Then compile it, and distrubte.
The client sends it encrypted, the server double XOR the string it has on its side, decrypt the client string, checks to see if its same.
Anyone who's client would transmit anything else, will be sent back to shop.
Who knows, maybe an advanced PGP like system can somehow be of use here.
Last edited by Gravitron on Wed Feb 16, 2005 2:41 pm, edited 1 time in total |
|
Back to top |
|
 |
Phyran I privately speak in public
Gender: Joined: Dec 25 2003 Posts: 280 Offline
|
Posted: Wed Feb 16, 2005 2:38 pm Post subject: |
 |
|
|
|
Gravitron wrote: | You do same thing you do now.
Server choose which client to use and enforce its use upon you.
Whatever mechanism Infantry or continuum or VIE used to determine (checksum, other safe guards, whatever) what kind of client you use, its version, and if it's conforming to the client copy your server has can be used here as well.
I can go and modify continuum all I want, hell, if I had any clue I might even be able to have it keep functioning (I can't just go and hex something, now can I?), but the moment I try to login with it, server will start yelling all sorts of red msgs whistles and either auto ban me or force me to download (or kindly request me to "update" heh) to v39 pre-release 1.
Same way you can block VIE from playing (or, if you add it server side - even entering, though a zone with LVZs might be enough disallow you to even enter as you'll be unable to download the map) a continuum-only zone, you can block any and all clients that aren't your own from entering the zone. |
speaking of which...i dont like how the new versions of ASSS requires players to use .39 pr1 (pr1 is a buggy piece of shit that works more or less half the time =\ ) |
|
Back to top |
|
 |
Gravitron VIE Vet

Age:43 Gender: Joined: Aug 02 2002 Posts: 993 Location: Israel Offline
|
Posted: Wed Feb 16, 2005 2:42 pm Post subject: |
 |
|
|
|
They do?
Sheesh, talk about your average SSC shake down.
"We won't force you to use it"
Two days later:
"This is a continuum only zone...blah blah blah"
P.S.
I misspelled distribute, hooray!
Well, you do have Catid's initial work (if you bug him enough he might even be inclined to assist you with building it up, IE if it will have enough support/people wanting to make it a full working client and willing to work on it) and you have Snrrrubb's as well.
Or his MERVBot core.
Start from there, see where you can go. |
|
Back to top |
|
 |
Smong Server Help Squatter

Joined: 1043048991 Posts: 0x91E Offline
|
Posted: Wed Feb 16, 2005 2:49 pm Post subject: |
 |
|
|
|
Phyran wrote: | speaking of which...i dont like how the new versions of ASSS requires players to use .39 pr1 (pr1 is a buggy piece of shit that works more or less half the time =\ ) | I don't like the current setup either. Asss should support as many versions of cont as subgame does.
Also I haven't heard of any new asss zone where cypherjf is staff and the zone requires some feature that's in cont 39pr1. |
|
Back to top |
|
 |
CypherJF I gargle nitroglycerin

Gender: Joined: Aug 14 2003 Posts: 2582 Location: USA Offline
|
Posted: Wed Feb 16, 2005 3:01 pm Post subject: |
 |
|
|
|
woah where did i come in at? lol...
I agree that asss should support the same versions as subgame does, and the same option - disable pre-releases, disable VIE, etc.
I'd post more, but class has begun. _________________ Performance is often the art of cheating carefully. - James Gosling |
|
Back to top |
|
 |
SuSE Me measures good

Joined: Dec 02 2002 Posts: 2307 Offline
|
Posted: Wed Feb 16, 2005 4:47 pm Post subject: |
 |
|
|
|
I'm sure there is plenty of information regarding this online. |
|
Back to top |
|
 |
Bak ?ls -s 0 in

Age:26 Gender: Joined: Jun 11 2004 Posts: 1826 Location: USA Offline
|
Posted: Wed Feb 16, 2005 6:23 pm Post subject: |
 |
|
|
|
Grav, your solution is a good attempt... but the checksum you send to the server of your executable could just be the real executable checksum, rather than the one you are using.
For example: Say the approved client's checksum is "apple" and my cheating client's checksum is "hummingbird". Now when the server asks for an exe checksum, instead of calculating it on my code, I modify my client to run the checksum algorithm on the approved client executable, which isn't the one I'm running. I get "apple" back and send that to the server and the server doesn't know I'm using an alternate client.
This would prevent the novice cheater who just changes the executable(or code) and expects everything to work. However, since the checksum (or better yet hash) is calculated by the client, there's nothing stopping you from running the algorithm to calculate it on the correct version of the executable. So a determained cheater wouldn't have much trouble getting around this.
This is also the same mehcanism as I described in my original post (paragraph beggining with "One attempt might be...").
Suse, could you direct me to some of the information regarding this? |
|
Back to top |
|
 |
SuSE Me measures good

Joined: Dec 02 2002 Posts: 2307 Offline
|
|
Back to top |
|
 |
Bak ?ls -s 0 in

Age:26 Gender: Joined: Jun 11 2004 Posts: 1826 Location: USA Offline
|
Posted: Wed Feb 16, 2005 8:32 pm Post subject: |
 |
|
|
|
Every solution from that search query that is usable (not one that will only stop novice hackers) involves the server doing all the checking. This is not an acceptable solution for a Continuum like client. |
|
Back to top |
|
 |
Smong Server Help Squatter

Joined: 1043048991 Posts: 0x91E Offline
|
Posted: Wed Feb 16, 2005 8:47 pm Post subject: |
 |
|
|
|
Cypher I think it was only you that wanted ctm pr1 support, but I may be wrong.
Checksums probably won't work well unless you distribute a precompiled client.
You could move the game to the server, and use the client as graphics/input only with guess work on the non-critical/secondary stuff like explosion graphics. This will prevent damage/speed/sync cheats, but not aim/rep/dodge cheats.
Do you think an open source client will be more secure and contain less bugs? (or whatever other advantages you can think up). The contributors will be working for free and part time, so updates might not be released frequently even if there is some major bug. Some may submit poor/unsafe code with the potential to introduce more bugs later on. Who is going to write it? This very thread suggests you do not know any suitable cheat prevention, does anyone? Will they be willing to sacrifice their time to this, forever? |
|
Back to top |
|
 |
Bak ?ls -s 0 in

Age:26 Gender: Joined: Jun 11 2004 Posts: 1826 Location: USA Offline
|
Posted: Wed Feb 16, 2005 10:26 pm Post subject: |
 |
|
|
|
Continuum is pretty bug free... but the hope would be to be able to add features to it. Like hold down tab to "charge" your bomb which would increase it's damage or speed (and have a little charge bar on the bottom showing your powerup). Or be able to emulate any resolution on your server so even people with 800x600 max screens could see as much as people using 2048x1592. Or be able to make weapons curve when fired. The possiblilities are truely endless, and most involve changing the protocol in a way, but this isn't much of an issue due to a well organized open source server.
Ideally the client would be modular so that anyone could add a change without completely recompiling the client. The security of new changes would come either from only downloading "approved" modules which can be customized by the server through settings. An alternative would be to run the foreign code in a "sandbox" envornment (for example, if this could be done in Java we could make a Security Manger to not allow file access, process creation, or other possible potential abuse by malicious code). |
|
Back to top |
|
 |
Mr Ekted Movie Geek

Gender: Joined: Feb 09 2004 Posts: 1379 Offline
|
Posted: Thu Feb 17, 2005 2:41 am Post subject: |
 |
|
|
|
Look at all the bots we use. They "pretend" to be the real VIE client including all the security stuff. If it is known it can be replicated. The only client-side security is hiding stuff as much as possible. Any EXE can be broken. You need to hide stuff enough that it doesn't take a year to implement, but it does take a decent hacker a lot of work to break. Putting everything on the server-side would result in Netrek (for those of you who know that game). _________________ 4,691 irradiated haggis! |
|
Back to top |
|
 |
Gravitron VIE Vet

Age:43 Gender: Joined: Aug 02 2002 Posts: 993 Location: Israel Offline
|
Posted: Thu Feb 17, 2005 5:51 am Post subject: |
 |
|
|
|
The startrek SS-like game?
I think it's only in unix so I didn't play it.
There was also x-pilot...anyway,
Don't the bots require smod or higher inorder to avoid the server booting them for security issues?
And that seurity protocol that allows ASSS to communicate with continuum that MGB/grel released, wasn't that damaging? Couldn't it been modified and implamented on some continuum client to disguise itself from security?
And how many super mad assemly-knowing net-mastering hackers waiting to destroy subspace are there really out there?
The most I've seen is stupid people like EdTheInvi using lag biffers or whatever packet editing and doing obvious shit that get them net banned for the better part of the millenium in two minutes. |
|
Back to top |
|
 |
Mr Ekted Movie Geek

Gender: Joined: Feb 09 2004 Posts: 1379 Offline
|
Posted: Thu Feb 17, 2005 6:23 am Post subject: |
 |
|
|
|
Netrek works on all platforms. I played from Windows.
Bots can stay logged in to a zone that allows VIE clients without VIP if they handle all security fields in the security packet. Powerbot does. I'm pretty sure MERV does. When zones went Cont-only, Twister was effectively neutralized.
Only takes 1 hacker to make a cheat like Twister and everything goes to hell. Or something even more subtle, like add a few percent to the recharge rate and skew ranodm bullet damage or bomb prox just a hair. Would be undetecable. |
|
Back to top |
|
 |
Gravitron VIE Vet

Age:43 Gender: Joined: Aug 02 2002 Posts: 993 Location: Israel Offline
|
Posted: Thu Feb 17, 2005 9:15 am Post subject: |
 |
|
|
|
Twister was effectively neutralized when sage released v1.35.2 server + client that forced a new client download which disallowed twister to run on it.
It would been effectively neutralized if the zone owners had a clue on how to run and manage a zone (if VIE was around Jeff would've made sure sage&twister were net wide bye bye long before).
Since all zones are now continuum only, then the bots can't stay logged in.
Only takes newbie zone owners that somehow got SSC and BanG to make everything goto hell.
Stop excusing your extreme nervousness with the twister incident, since it was nothing but your pathetic handling that caused it to become such a problem, nothing more.
And besides, again, BanG more than will make sure such a problem is handeled, since now even mods can execute IP ban with it.
P.S.
Twister 1.34.3 was more subtle.
And like I said, such changes can be done to continuum, without being distributed, and you'll never know.
It might be happening even now.
So like...what? big deal.
You don't know that it happens.
People get so illogical when they're terrified. |
|
Back to top |
|
 |
Mr Ekted Movie Geek

Gender: Joined: Feb 09 2004 Posts: 1379 Offline
|
Posted: Thu Feb 17, 2005 9:24 am Post subject: |
 |
|
|
|
Wow. Completely wrong. Every sentence. I'll never reply to you again after this. Pointless. |
|
Back to top |
|
 |
Gravitron VIE Vet

Age:43 Gender: Joined: Aug 02 2002 Posts: 993 Location: Israel Offline
|
Posted: Thu Feb 17, 2005 11:38 am Post subject: |
 |
|
|
|
Well, aren't you just pouring of adulthood.
How about you pretend to be mature, okay?
More than anything, the twister ran amoc at newbie zones like EG due to mods using *kill, which bans macID, which twister randomizes and thus bypass the ban.
Now, had they been using ip bans and macID ranges, permission mode (and lists, which worked quite effectively when they put it to use later on), and today with BanG incooperating everything and allowing mods access, wouldn't it stop twister outright?
I know for a fact sage put out a release with patched server/client inorder to prevent twister.
Not to mention, he released the source of twister v1.34.2.
What is completely wrong there?
Do you have Twister 3 that you can make any assertions to its subtlety?
Psycho-sociology studies have proven that much like the common animal, when encountered with fear that's unsurmountable the human will act by survival instincts and with extreme zeal despite all logic and parralel to that of an insane person.
If you truely believe that open source will be the extinction of the game, you'll say whatever you think you need to say and do whatever you think needs to be done inorder to ensure it'll never happen, no matter whether it's founded or not.
Since you believe you're doing what's right for the game's survival, that it's either that, or no existance at all.
Please, argue your case.
Last edited by Gravitron on Thu Feb 17, 2005 11:48 am, edited 2 times in total |
|
Back to top |
|
 |
CypherJF I gargle nitroglycerin

Gender: Joined: Aug 14 2003 Posts: 2582 Location: USA Offline
|
Posted: Thu Feb 17, 2005 11:41 am Post subject: |
 |
|
|
|
I do know the source to twister is out there; I downloaded it one day by randomly googling for subspace (or something like that) but haven't come across a patched anything for it. :/ |
|
Back to top |
|
 |
Gravitron VIE Vet

Age:43 Gender: Joined: Aug 02 2002 Posts: 993 Location: Israel Offline
|
|
Back to top |
|
 |
Bak ?ls -s 0 in

Age:26 Gender: Joined: Jun 11 2004 Posts: 1826 Location: USA Offline
|
Posted: Thu Feb 17, 2005 12:34 pm Post subject: |
 |
|
|
|
I doubt Mr Ekted, or anyone considers an open source client an "unsurmountable fear". Besides that's not even what he was talking about when he said you were wrong, as your entire post was about twister and the way it was handled. |
|
Back to top |
|
 |
Gravitron VIE Vet

Age:43 Gender: Joined: Aug 02 2002 Posts: 993 Location: Israel Offline
|
Posted: Thu Feb 17, 2005 1:38 pm Post subject: |
 |
|
|
|
Mr Ekted wrote: | Completely wrong. Every sentence. |
What do you suggest I make of this?
Or this:
Mr Ekted wrote: | Only takes 1 hacker to make a cheat like Twister and everything goes to hell. |
|
|
Back to top |
|
 |
Dr Brain Flip-flopping like a wind surfer

Age:39 Gender: Joined: Dec 01 2002 Posts: 3502 Location: Hyperspace Offline
|
Posted: Thu Feb 17, 2005 2:01 pm Post subject: |
 |
|
|
|
I suggest you take it like he said it. You were totally wrong about the Twister stuff and all your supporting facts. Before that post, I had thought you might have some of your Twister facts messed up, but I had no idea as to the extent of your "knowledge".
You're saying cheats do nothing to the game? Everything is perfectly fine while a good portion of the population is cheating?
Grav, think about what cheats do to the psyche of the population. If there's a remote chance that someone could be cheating, every newb from here to TW will be spamming ?cheater. That is what continuum did, it's not much more secure than SS, but it didn't have ANY cheats for it when it came out. Continuum allowed the morale of the SubSpace population to come up from it's nearly fatal low.
You keep talking about how SS was so great and Cont is so bad, but I've not yet seen you start your own ss only zone. Put your money where your mouth is or shut up. |
|
Back to top |
|
 |
|