Page Index Toggle Pages: 1 [2]  Send TopicPrint
Hot Topic (More than 35 Replies) FYI: Technical background of exploits (Read 13891 times)
Meursault
Horoluth Raider
****
Offline


I Love Freedom of Speech

Posts: 2410
Location: Hartford, CT; USA
Joined: Aug 22nd, 2013
Gender: Male
Re: FYI: Technical background of exploits
Reply #25 - Jun 14th, 2014 at 1:46pm
Print Post  
SweetKitten wrote on Jun 13th, 2014 at 3:28am:
Absolutely no need for a long running transaction in the given example.
start tx, insert rec, delete rec, commit tx.
(much better to call a stored procedure or a server function for this)
Back to top      


I swear I had a good example in mind when I said it, but after giving it more thought, every exploit I considered could be completely and efficiently fixed by pushing the functions server side and encapsulating them in transactions - no transactions open across User Interface actions required.

Yup, I agree with you, I'd spoken too quickly Smiley
  

Turdbin, keep changing the DDO rules, because McDonalds sold over 200 billion hamburgers by changing the recipe for their Special Sauce every couple of months to keep interest up.
Back to top
 
IP Logged
 
GermanicusMaximus
Dragon Raider
***
Offline


Thou shalt have no other
trolls before me.

Posts: 294
Joined: Feb 19th, 2013
Gender: Male
Re: FYI: Technical background of exploits
Reply #26 - Jun 15th, 2014 at 1:12am
Print Post  
SweetKitten wrote on Jun 12th, 2014 at 4:34am:
I don't know what these guys are using, but it's surely not a SQL based system, it smells like a homebred OODBMS for object persistence


Unlikely. These monkeys can't even craft reasonable client code, or simple application code which sits on top of the physics engine. Can you imagine anyone who ever worked for Turbine having the technical ability to craft any kind of viable OODBMS?

The first time it terminated abnormally (server crash) there would be so many data inconsistencies in the OODBMS  that
the only reasonable course of action would be to delete all the data and restart from day 1 (2006). Or, they could do a restore of a prior backup, but the backup/restore feature would have been stubbed out, with the intention to go back and implement it later "as time allowed".  Cool

It is almost certain that they are using a standard DBMS for data persistence. As noted by prior posters, for a Turbine employee, it is quite likely that "Yo, transactions iz hard!"

As you stated, only an idiot would attempt to secure the system through client interfaces only. Katana Boy, was that you?
  

Family, Country, and the US stock market. Although, in a pinch, any convertible currency or liquid asset will do.

Yobai wrote on Jun 18th, 2014 at 6:15pm:
I would rather give Thrudh a rim job.


Bigjunk wrote on Nov 2nd, 2014 at 12:21pm:
That is some masterful trolling.


Back to top
 
IP Logged
 
SweetKitten
Waterworks Kobold
**
Offline


Meeow

Posts: 125
Joined: May 23rd, 2013
Re: FYI: Technical background of exploits
Reply #27 - Jun 15th, 2014 at 3:17am
Print Post  
GermanicusMaximus wrote on Jun 15th, 2014 at 1:12am:
Unlikely. These monkeys can't even craft reasonable client code, or simple application code which sits on top of the physics engine. Can you imagine anyone who ever worked for Turbine having the technical ability to craft any kind of viable OODBMS?


Yes, that's true.
I was not thinking of a complete OODBMS, therefore should not have used this abbreviation.
I imagined something like an inherited homebred storage system from another project or a library from some semiprofessional guys for persisting objects via serialization/deserialization.

Another one for the creative people:
A lot of, if not all short running timers (cooldown and buff duration) are implemented on the client only.
Could be a nice project to mess around with these things.
Make the Endless Fusilade endless. Grin
  
Back to top
 
IP Logged
 
Flav
Vault Frog
*
Offline


One Frog to Rule them
All!

Posts: 10011
Location: Land of the Frogs
Joined: Aug 29th, 2010
Gender: Male
Re: FYI: Technical background of exploits
Reply #28 - Jun 15th, 2014 at 8:42am
Print Post  
Meursault wrote on Jun 14th, 2014 at 1:46pm:
I swear I had a good example in mind when I said it, but after giving it more thought, every exploit I considered could be completely and efficiently fixed by pushing the functions server side and encapsulating them in transactions - no transactions open across User Interface actions required.

Yup, I agree with you, I'd spoken too quickly Smiley


I agree too that the only way to reproducer the DC exploits with an SQL server is to have the SQL Code on the client side... As soon as it's a Stored Procedure or any kind of SQL junk stored server side and excecuted by passing a few parameters in the call, the problems solves itself, as soon as the procedure is invoked it will get executed or rollbacked.

  

Yes my avatar is an Hermine eating a Greenland Lemming for brunch.
Back to top
 
IP Logged
 
Ohfaq
Titan Demolisher
****
Offline


Nubz morghulis

Posts: 335
Joined: Apr 28th, 2014
Gender: Male
Re: FYI: Technical background of exploits
Reply #29 - Jun 15th, 2014 at 10:51am
Print Post  
jeez, are you guys applying for a job at turdbine and want to impress them with your knowledge?  Tongue 
Lips Sealed
« Last Edit: Jun 15th, 2014 at 10:51am by Ohfaq »  
Back to top
 
IP Logged
 
jaggedmonk
Waterworks Kobold
**
Offline


I Love Drama!

Posts: 126
Joined: Mar 12th, 2014
Re: FYI: Technical background of exploits
Reply #30 - Jun 15th, 2014 at 10:53am
Print Post  
Ohfaq wrote on Jun 15th, 2014 at 10:51am:
jeez, are you guys applying for a job at turdbine and want to impress them with your knowledge?  Tongue

I'm not sure its impressive if you talk over the head of your desired audience.
In all seriousness I'm sure they have many qualified talented folks at Turbine.  Janitorial work is not as easy as it looks you know.
  
Back to top
 
IP Logged
 
mystafyi
Abbot Raider
**
Offline


I Love Drama!

Posts: 836
Joined: Nov 10th, 2010
Re: FYI: Technical background of exploits
Reply #31 - Jun 15th, 2014 at 3:57pm
Print Post  
SweetKitten wrote on Jun 15th, 2014 at 3:17am:
A lot of, if not all short running timers (cooldown and buff duration) are implemented on the client only.
Could be a nice project to mess around with these things.
Make the Endless Fusilade endless. Grin


There is/was such an issue, semi fixed circa 2011. Endless manshot did get a bit silly, but endless unyeilding sovereignty did make using ungeared alts for healing raids easy. There were quite a few other abilities that worked also, but cannot remember them atm.
  
Back to top
 
IP Logged
 
Munkenmo
Epic Poster
*****
Offline



Posts: 4363
Location: A land under down under
Joined: Nov 10th, 2010
Re: FYI: Technical background of exploits
Reply #32 - Jun 15th, 2014 at 7:14pm
Print Post  
mystafyi wrote on Jun 15th, 2014 at 3:57pm:
There were quite a few other abilities that worked also, but cannot remember them atm.


Endless glorious stand was fun.
  

So you want to know about an exploit?
PM Epoch For Details. Or, in case you don't already know, OnePercenter controls the Exploits Board. Lastly, if you're truly desperate, Vendui Tells Everyone
Back to top
 
IP Logged
 
iliveyourdream13
Puppy Farmer
****
Offline


I Love Drama!

Posts: 1521
Joined: Oct 8th, 2013
Re: FYI: Technical background of exploits
Reply #33 - Jun 15th, 2014 at 7:47pm
Print Post  
SweetKitten wrote on Jun 12th, 2014 at 4:34am:
Had the idea to write some words about the technical background of exploits, so here's my point of view.

Nearly all exploits are based on the simple fact, that DDO does not have a transactional database management system (DBMS).
Of course i can't prove this fact, but i worked a very long time in software architecture, specialized in distributed DBMS systems and had to fight similar bugs (exploits).

I don't know what these guys are using, but it's surely not a SQL based system, it smells like a homebred OODBMS for object persistence, which means you have to code every single query, no easy scripts for fixes or reports.
Further there are also no relation based structures, i'm sure the whole system is a hardcoded OOP hell without any second thought on a multi-tier architecture.

To the core:
A database transaction is generally atomic. That means, it is either done completely, or it is not done.
To move an item from the bag to the shared bank you will have to modify two places (let's call them tables for simplicity) in the storage system.
In table A (the bag) one record (the item) will be deleted, in table B (the shared bank) one record (the item) will be inserted.
In a healthy DBMS you just start a transaction, do what ever is needed, fire a commit if all is ok and both tables are changed.
If your connection will break between the operations, the DBMS will do an automatic rollback, no table is changed.
Notice something? All exploits based on DC'ing interrupt the coded operations and leave one table in inconsistent state.

The newest changes in DDO paint a disgusting picture about the DDO codebase.
The devs have started to fix the exploits in the client ("exclusive windows").
This is terrible, since this will leave the DDO server system buggy and massacre the user interface to the annoyance of all players.
This is terrible, since it proves that noone at turbine is brave or skilled enough to change the server code.
This is terrible, since it leaves the system wide open for a "man in the middle" attack.
This is terrible, the ultimate exploit tool just needs to capture and modify/resend messages from the client to the server.

Be creative  Wink

And now for the Turbine readers:
There is one simple solution to fix the given "move item" security hole:
Remove the clientbased code sequences and implement a server based new function MoveItem(item, fromContainer, toContainer). No need to touch your barely running system, just an additional function.
And now search for a developer brave and skilled enough to change your network api and remove the retarded exclusive window shit.

Go read up on isolation level next time before posting.  Throwing around terms like "atomic transactions" doesn't mean jack shit.

You can dupe on DBMS any day of the week if you don't know how to write software correctly.  Half the fucking free shopping carts in existence aren't transactionally secure, and they use "atomic transactions".
  
Back to top
 
IP Logged
 
OneUpGamer
Dragon Raider
***
Offline



Posts: 226
Joined: Mar 10th, 2014
Re: FYI: Technical background of exploits
Reply #34 - Jun 15th, 2014 at 8:09pm
Print Post  
Dickbutt wrote on Jun 12th, 2014 at 11:00am:
Any of the exploits that were fixed by having x close when y opens can be reproduced by simulating the required interaction with x, while y is open. This assumes that the fix is entirely client side.


Gotcha.

I'll get to work on this now and probably end up quitting in frustration in an hour or so.
  

~~~~~~~~~~~
Back to top
 
IP Logged
 
SweetKitten
Waterworks Kobold
**
Offline


Meeow

Posts: 125
Joined: May 23rd, 2013
Re: FYI: Technical background of exploits
Reply #35 - Jun 16th, 2014 at 2:25am
Print Post  
iliveyourdream13 wrote on Jun 15th, 2014 at 7:47pm:
Go read up on isolation level next time before posting.  Throwing around terms like "atomic transactions" doesn't mean jack shit.


First you will have to tell me what influence isolations levels could have in a scenario, where only one client instance will touch the data.
Throwing around "isolation level" in a case without concurrent activity on the same record is like a discussion about sex in group of virgins, laughable.   Grin


  
Back to top
 
IP Logged
 
DropBear
Dropbear Awareness Society
*
Offline


Don't forget to look up....

Posts: 4380
Location: Landdownunder
Joined: Oct 11th, 2013
Re: FYI: Technical background of exploits
Reply #36 - Jun 16th, 2014 at 4:19am
Print Post  
Oh dear, I can see where this is going.....
And it ain't gonna be pretty! Huh
  
Back to top
 
IP Logged
 
iliveyourdream13
Puppy Farmer
****
Offline


I Love Drama!

Posts: 1521
Joined: Oct 8th, 2013
Re: FYI: Technical background of exploits
Reply #37 - Jun 16th, 2014 at 11:04am
Print Post  
SweetKitten wrote on Jun 16th, 2014 at 2:25am:
First you will have to tell me what influence isolations levels could have in a scenario, where only one client instance will touch the data.
Throwing around "isolation level" in a case without concurrent activity on the same record is like a discussion about sex in group of virgins, laughable.   Grin



Try again.  You have no idea what the activity is.  You don't know whether they're using async or sync comms.  You've guessed at one approach out of maybe a million approaches to writing software.  Considering the "client" can fire off n number of events without locking up, maybe you might rethink your assumption they have a serialized process for how they do event handling.

DBMs do not enforce logical integrity, no matter how few clients there are.  Using them doesn't solve anything unless one knows how to write software in the first place.  Doesn't matter whether they roll their own, or use a pre-packed OO/Relational/Network/Hierarchical DBMs.  Since neither you, nor anyone, knows exactly what information they store (and people continually over-speculate on what they store, as is repeatedly evidenced by peoples refusal to believe turbine can't find dupes because they don't actually have unique instance ids), playing parlor games about the root cause of their software "issues" is a glorious waste of time.  The root cause is they don't know how to write software. 

They're script kiddies, and nothing more.  Roll Eyes

I've built transactionally secure systems and fixed others with just about every edge case you'll see in a theory textbook.  Guess what, all those systems used DBMs from day one.  I've built concurrency into single clients for the same reason everybody else does, speed and throughput.
  
Back to top
 
IP Logged
 
Meursault
Horoluth Raider
****
Offline


I Love Freedom of Speech

Posts: 2410
Location: Hartford, CT; USA
Joined: Aug 22nd, 2013
Gender: Male
Re: FYI: Technical background of exploits
Reply #38 - Jun 16th, 2014 at 12:47pm
Print Post  
iliveyourdream13 wrote on Jun 16th, 2014 at 11:04am:
Try again.  You have no idea what the activity is.  You don't know whether they're using async or sync comms.  You've guessed at one approach out of maybe a million approaches to writing software.


His point is it doesn't matter what they did, what they should do is make it tranasctionally encapsulated, and server side calls are an extremely efficient and robust way to do that. Isolation level may reduce the error messages a user gets, but it does not affect resistance to the exploits in question, and it doesn't even apply outside a transaction, so you have to have the transaction issue settled before you start working on the isolation level issue.

He doesn't say you couldn't fix it another way, only that this is a particularly good way to fix it, which it is.
  

Turdbin, keep changing the DDO rules, because McDonalds sold over 200 billion hamburgers by changing the recipe for their Special Sauce every couple of months to keep interest up.
Back to top
 
IP Logged
 
Flav
Vault Frog
*
Offline


One Frog to Rule them
All!

Posts: 10011
Location: Land of the Frogs
Joined: Aug 29th, 2010
Gender: Male
Re: FYI: Technical background of exploits
Reply #39 - Jun 16th, 2014 at 2:33pm
Print Post  
Ohfaq wrote on Jun 15th, 2014 at 10:51am:
jeez, are you guys applying for a job at turdbine and want to impress them with your knowledge?


I'm not cheap... 47K Euros ( + On Call )... Translates to $63K ( + On Call )

And i'm not counting the relocation costs... After all I have to cross the Pond. ( and replace all my Electronics along the way... most of it is 220-240VAC.... 110VAC won't cut it... and I'm not even starting on the plugs )

And honestly... I'm not sure they want to hire a sarcastic, cranky, bearlike, (very) loud when arguing something he knows is right support/integration/validation/test/[and a few other things] Engineer.

I can dance the tune of a lot of things... But I lack the in depth knowledge a true expert would have in many ( for example while I have a good idea of the workings of databases, I'm not a real DBA. )
  

Yes my avatar is an Hermine eating a Greenland Lemming for brunch.
Back to top
 
IP Logged
 
Fire Foot
Ex Member


Re: FYI: Technical background of exploits
Reply #40 - Jun 16th, 2014 at 2:56pm
Print Post  
Flav wrote on Jun 16th, 2014 at 2:33pm:
I'm not cheap... 47K Euros ( + On Call )... Translates to $63K ( + On Call )

And i'm not counting the relocation costs... After all I have to cross the Pond. ( and replace all my Electronics along the way... most of it is 220-240VAC.... 110VAC won't cut it... and I'm not even starting on the plugs )

And honestly... I'm not sure they want to hire a sarcastic, cranky, bearlike, (very) loud when arguing something he knows is right support/integration/validation/test/[and a few other things] Engineer.

I can dance the tune of a lot of things... But I lack the in depth knowledge a true expert would have in many ( for example while I have a good idea of the workings of databases, I'm not a real DBA. )



so your saying your a dancing bear?  Grin
  
Back to top
 
IP Logged
 
Fire Foot
Ex Member


Re: FYI: Technical background of exploits
Reply #41 - Jun 16th, 2014 at 2:58pm
Print Post  
  
Back to top
 
IP Logged
 
Dr_tank2vich
Puppy Farmer
****
Offline


I Love Darma!

Posts: 1427
Location: Fort Collins, Colorado
Joined: Aug 16th, 2010
Gender: Male
Re: FYI: Technical background of exploits
Reply #42 - Jun 17th, 2014 at 6:46pm
Print Post  
I don't know shit about coding but this recent, unannounced change strikes me as another heavy handed method of dealing with potential exploits:

[QUOTE=Cordovan;5360696]Heroic Sagas are not meant to be completed more than once per life, and cannot be repeated. Epic Sagas do not have this restriction. [/quote]

http://www.ddo.com/forums/showthread.php/444036-this-saga-can-only-be-played-onc...
« Last Edit: Jun 17th, 2014 at 6:48pm by Dr_tank2vich »  

"The court heard that Duffy has Asperger's syndrome and suffers with alcohol problems."

Or as we call it here: Mod status.
Back to top
 
IP Logged
 
SwashbucklerHater
Titan Demolisher
****
Offline


I Love Drama!

Posts: 337
Joined: Sep 2nd, 2013
Re: FYI: Technical background of exploits
Reply #43 - Jun 17th, 2014 at 8:31pm
Print Post  
Yeah... so they made the mistake not to scale the renown reward for sagas while all other saga rewards are scaling between heroic and epic sagas but renown always stays the same.

And instead of nerfing the overpowered renown in heroic sagas they restrict the use of heroic sagas in general...

Or did they think that farming +1 skill tomes was too easy as well?
  
Back to top
 
IP Logged
 
Rubbinns
The Undeserving Fuckwit
*
Offline


I Love Drama!

Posts: 10460
Joined: Sep 4th, 2013
Re: FYI: Technical background of exploits
Reply #44 - Jun 17th, 2014 at 11:56pm
Print Post  
wow. glad I tr'd earlier and used GH saga x4 to get from 15 to 18.
  

Mockduck wrote on Aug 30th, 2010 at 2:20pm:
I don't think naming names would be a good thing for me to do, but I'd pretty much add anyone who's a know-it-all dick on the list.� Even if they are sometimes intelligent with their opinions, the way they state them in long, "i'm a lawyer at trial"-type posts makes me want to punch them in the face.� They act like whiney babies with god complexes and then freak out if someone so much as breathes criticism in their direction.
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1 [2] 
Send TopicPrint