| | Come un MMO hackAprile 17, |
Data la recente hack per il blog, e anche in seguito alla recente notizia della decompilato Eve Online cliente, è sembrato come un buon momento per andare oltre alcuni dei modi in cui un mondo virtuale diventa hacked.
La cosa interessante, naturalmente, è che tutti gli hack mi accingo a parlare sono in realtà non l'hacking il mondo virtuale a tutti, che invece attacca il cliente, che è la tua finestra nel mondo, e anche il tuo Waldo, il tuo mezzo di che esercitano il controllo su ciò che accade in questo mondo. E questo è perché ...
Il cliente è nelle mani del nemico.
Hai sentito che probabilmente prima - non sono stato il primo a dirlo, ma viene costantemente misattributed a me. Particolare formulazione che può avere origine con Kelton Flinn, ma sono sicuro che molti di noi si avvicinò con essa indipendente.
La prima cosa da capire è che la crittografia del flusso di dati non è in corso per fermare chiunque grave.
Ecco i diagrammi modo di vedere le cose.
- È generare dati.
- Hai messo in un sacchetto.
- È crittografare il pacchetto.
- Di inviare nel corso del filo.
- Si arriva a un utente del computer.
- Il client legge il pacchetto codificato.
- Il cliente decodifica il pacchetto.
- Il cliente fa qualcosa.
Davvero, nulla dopo "si arriva a un utente del computer" è nelle mani del nemico. Quindi, ciò significa che si sta criptando i pacchetti, consegna all'utente un decrypter chiamato un cliente, e pensare che la crittografia aiuta.
L'hacker può scegliere di fare è leggere i pacchetti in entrata di client di memoria dopo la decrittazione, invece di sniffing del flusso direttamente. Ma davvero, tutto questo non fa altro che sollevare la barra un po 'di hacking sul competenze richieste.
In cima alla pagina è disattivata, la cifratura può essere lenta, se si sta parlando in tempo reale tipo di situazione. Potrebbe non vuole trascorrere il tempo in crittografia se avete bisogno di una risposta veloce.
Packet sniffing flusso: ottenere più informazioni di quanto deve
Questo è stato un problema fin dalle prime fasi Everquest ed è ancora un problema in molti FPSes. In breve, non si dovrebbe fare affidamento sul client di filtraggio delle informazioni. Si supponga che tutto ciò che scende il filo è visibile a loro. Si parla di "abbattimento" i dati che vengono inviati verso il basso, riducendo sostanzialmente il set. Anche sul client, fare abbattimento, in modo che non trarre in tutto il set di dati il cliente conosce. In un FPS, è in genere non possono fare un sacco di server-side abbattimento - tutti sulla mappa è "visibile" al cliente, perché tutti si muove così velocemente che non si può veramente fare qualsiasi linea di vista abbattimento sul server.
In EQ, il modo in cui questo è stato manifestato ogni mob nella zona è stato inviato al client. Ciò significava un hack potrebbe fare una minimappa dimostrato che ogni cell. Si potrebbe vedere repops a distanza. Ma aspetta, c'è di peggio. Si può anche vedere tutto ciò di cui viene esercitata. Così si potrebbe ciliegio scegliere il buon bottino in anticipo.
Packet filtering: in roba non si deve
A volte il server ti dice le cose che hai appena non vogliono sentire. Uno di questi cosa potrebbe essere "no, non puoi andare là." Questo è il classico muro hack. Di solito, ci si sposta, e fare un locale sul lato client controllo collisione. Potete anche inviare una richiesta via al server per il vostro movimento, in modo che il server può verificare se si può andare lì (dopo tutto, si potrebbe avere - orrori - hacked il tuo client di non fare controlli collisione). Il server invia di nuovo un "no, voi siete ancora qui" messaggio, in fase di rubberbanded indietro al punto in cui siete stati.
A meno che non sia semplicemente ignorare il messaggio, e allegramente andare avanti. Questo vi permetterà di esplorare tutti i dati statici che il vostro cliente ha caricato. Non si vedranno nuovi oggetti in streaming nel posto giusto, ovviamente, perché per quanto riguarda il server è in questione, l'avete fatto non si muove.
Basta abbandonare i pacchetti possono essere molto potente se gli ingegneri sono stati sciatto e invocato il cliente stesso a correggere dopo essere stato detto che era cattivo. Un modo comune è possibile utilizzare questo vantaggio di una maggiore si basa sul fatto che noi spesso non lasciare che il client di essere semi-autonomi circa circolazione. È possibile spostarsi sul client con granularità molto di più e con molto più rapidi cambiamenti in direzione di quello che ti puoi sul server. Invece di monitoraggio di ogni vostra mossa, noi invece sottocampione che, fondamentalmente. Ci basiamo sui parametri semplici come "non è possibile spostare che molto veloce che" al fine di verificare se è o non sono in realtà barare nel vostro movimento.
Ma se in collisione con qualcosa, è stato detto a rimbalzo indietro, ma poi spostata in una posizione sull'altro lato del muro, il prossimo movimento potrebbe rientrare parametri accettabili, e quindi si possono avere spostato attraverso il muro.
Packet modifica: cambiare ciò che voi udite
In alternativa, si potrebbe effettivamente modificare il pacchetto prima che venga interpretato. Ciò consente di ottenere il client di danza per l'esecuzione di un brano. Forse si vuole una bella grande waypoint in cima ai vostri ricerca bersaglio. Forse si vuole cambiare zona di ciò che il cliente ritiene che il carico è in voi, al fine di farvi visita da qualche parte che normalmente non si possono ottenere al.
Rappresentanza modifica: cambiare ciò che voi vedete
Messing con il flusso di dati non è l'unica cosa in suo potere. Un sacco di gente in FPSes fatto cose per cambiare il livello di visibilità di ciò che è intorno a loro. Sostituire tutte le pareti trasparenti con texture, e avrete una migliore idea di dove ognuno è. Sostituire con maglie piccole grandi, o Camo-texture di colore rosa brillante con quelli, e tutto diventa più facile da individuare.
Trigger
Naturalmente, il motivo per cui dare te il lavoro? Basta avere il client di inviare automaticamente le risposte immediatamente indietro quando si riceve un particolare pacchetto o di un messaggio. Questa forma di trigger automatico è, ovviamente, un elemento chiave nella costruzione di bot. In un FPS, autoaim è un esempio. La precisione di cosa succede con un trigger è di gran lunga molto più elevato di quello che è semplice quando un uomo è al volante.
Spamming
Un sacco di volte, i server non sono indurito adeguatamente contro la ricezione di più comandi in un determinato lasso di tempo di quello che si aspettano. Autorizzo il cliente di gestire cooldown timer sarebbe un esempio di un errore come questo, se è possibile il controllo a monte, è possibile bypassare il cooldowns.
![]()
Il Warden e altri trucchi
Naturalmente, c'è contromisure. La contromisura utilizzati da Blizzard (e da vapore, se è per questo) è quello di eseguire un processo separato che controlla se la principale applicazione è in corso con messed. Questa è una pratica comune in Corea, come pure, e non c'è FPS server che richiedono l'esecuzione di Punkbuster, ecc Dal WoW TOS:
# Durante l'esecuzione, il programma può controllare il computer della memoria ad accesso casuale (RAM) e / o della CPU per i processi di terze parti non autorizzate programmi in esecuzione in concomitanza con World of Warcraft. Una "parte di terzi non autorizzati programma", come utilizzato nel presente documento deve essere definito come qualsiasi software di terze parti, inclusi, senza limitazione alcuna "addon" o "mod", che in blizzard sola determinazione: (i) consente o facilita l'inganno di qualsiasi tipo; (ii) consente agli utenti di modificare o hack il World of Warcraft interfaccia, l'ambiente, e / o esperienza in alcun modo non espressamente autorizzato da blizzard o (iii) intercetta, "mine", o altrimenti raccoglie le informazioni da o attraverso il programma. In caso che il programma rileva un utente non autorizzato programma di terze parti, può blizzard (a) comunicare informazioni torna alla blizzard, compresi, senza alcuna limitazione il tuo nome account, dettagli sulla parte di terzi non autorizzati programma rilevato, e l'ora e la data in cui la parte di terzi non autorizzati programma È stato rilevato, e / o (b) esercitare qualsiasi parte o la totalità dei suoi diritti ai sensi dell'articolo 6 del presente accordo, con o senza preavviso per l'utente.
In che modo farlo? Beh, effettivamente, utilizzando molte delle stesse tecniche come descritto sopra. Fondamentalmente, essa tipo di hack voi. Si controlli per vedere se è roba in esecuzione in WoW spazio della memoria. Essa controlla il titolo barre di qualsiasi finestra che hai aperto e lo raffronta con il testo della finestra che titolo (hashed) nei confronti di una lista nera delle truffe programmi titlebars (anche hashed). Ed è effettivamente alcuni controlli del codice di ogni programma che si hanno in esecuzione e controlli per vedere se il codice che si trova sulla sua lista nera troppo.
Inutile dire che la Warden è anche nelle mani del nemico, anche se non avrei il minimo indizio su come farlo, si potrebbe in teoria sia il trucco Warden stessa, o il trucco che le applicazioni Warden è il controllo, in modo che essi false o visualizzare informazioni differenti. A quel punto, si tratta di una corsa agli armamenti.
C'è già programmi per guardare il Warden guardando a voi, per esempio. Blizzard e la risposta è stata a fare un mucchio di diverse versioni di Warden, in modo che sia più difficile da trovare e guardare, e anche - a sorpresa, crittografare il materiale inviato indietro. Naturalmente, si potrebbe tornare al punto di partenza, annusare pacchetto, e filtrare le relazioni Warden ... Là di DA. O fare circa imbrogliare il polimorfo stessa. O ...
E 'tutto molto orwelliana - ma i giocatori sembrano valore di un gioco con ambiente più Trucchi meno di quello che il valore della loro privacy, anche se è vero, Freaking su uno app lettura titlebars finestra e poi in realtà non dice qualcuno al riguardo a meno che non trova una corrispondenza maggio sembrano un po 'paranoico. Poi ancora, cosa succede se qualcuno hacked un popolare WoW fansite guida o sito e bloccato uno vietato stringa nella barra del titolo? Potrebbe accadere ...
![]()
Alla fine, si può non solo la fiducia del cliente. Tutto Warden protegge contro fondamentalmente ha bisogno di essere protetti contro sul server. Nel mondo del Web, è sufficiente per ritenere che il browser potrebbe essere qualsiasi cosa accidenti a tutti - dopo tutto, ho potuto scrivere un semplice browser web in circa cinque minuti. E in futuro, potremmo avere a progettare i nostri giochi con questo tipo di capacità in mente.
Prendiamo l'esempio delle piccole piante di raccolto. L'hack descritto come fare le cose rilevare automaticamente che l'erba è di circa, l'auto-raccolta, venire a ritirarlo di una zona affollata. Il "gioco" che si trova in fase di difficili da trovare o vedere. Nel settore della sicurezza mondiale, questo si chiama "sicurezza attraverso l'oscurità", ed è generalmente assunta per essere uno spreco di tempo. (Questo solleva anche la questione del perché stiamo costruendo giochi di qualcosa come erbe di ricerca.) Il modo sicuro è per il cliente di non sapere. Sono reali e falsi erbe erbe utilizzare lo stesso client-side di rappresentanza in ogni modo. Solo il server conosce la differenza.
Noi in genere non farlo perché, bene, vogliamo avere dati statici e dinamici flusso di dati. Vogliamo essere in grado di precache la maggior parte del mondo, e solo il flusso di materiale che può cambiare, come le erbe si può salire. E 'più conveniente nella larghezza di banda, da una partita, ma offre prestazioni migliori; si ottiene molto più rapidamente i tempi di caricamento.
In altre parole, abbiamo creato queste vulnerabilità per noi stessi, perché, bene, noi vogliamo la fiducia del cliente.
Alla fine, la maggior parte hack-free mondo virtuale sarà probabilmente quello con completamente open source, clienti, completamente pubblico e protocolli aperti, e non il tentativo di barare facendo il client fare qualsiasi sollevamento di carichi pesanti. In realtà, WoW stessa ha preso molto grandi passi in questa direzione con la loro interfaccia utente del sistema aperto, che permette ufficialmente sancita plug-in piuttosto che fare un sacco di cose che sono state precedentemente svolto da hack. La ragione per cui questo sarà probabilmente più sicuro è semplicemente perché quando il terminale è muto, si è costretti a mettere il Smarts sul server - e il server è molto più facile fare sicuro.
Le sfide, però, non sono piccoli se si vuole davvero andare tutto porco e fare tutto guidato dal server. Tutto avrebbe bisogno di essere in streaming. Tutto ha inviato al server avrebbe bisogno di essere verificate. Gioco e progettisti avrebbe dovuto assumere non potevano fare affidamento su a tutti i nulla nel visuali come un gioco meccanico, né nulla legati alla velocità dei processi cognitivi (ad esempio, il tempo trascorso "capire qualcosa" non sarebbe un buon meccanico, in quanto molte cose possono essere scaricati al cliente, fornendo tempi di reazione istantanei). Sarebbe tutto per rendere molto più asincrona mondo.
Ma questo disegno vincolo potrebbe anche spingere verso la progettazione intelligente di gioco, piuttosto che di gioco che può essere completamente annullata da sapere dove è roba, roba importante raccolta dalla merda, e andando Clicky-Clicky su qualcosa di abbastanza velocemente.
Un tubo-sogno? Probabilmente. Noi ci ama il nostro erbe-caccia, il nostro grande grafica, il nostro lagless sul lato client circolazione, e ci sembrano abbastanza disposti ad accettare di essere spiati, in cambio di sapere che solo male-ass hacker sono barare, invece di maledire vicino a tutti. ![]()

È possibile seguire tutte le risposte a questa entrata attraverso il RSS 2.0 feed. Le risposte sono attualmente chiuse, ma puoi trackback dal tuo sito. [?]Tipo in un tag, e fare clic sul pulsante, e aiutarlo a organizzare questo blog di informazione.
[Altre informazioni]
























per la biblioteca e l'esperienza del sistema decimale Dewey. Ha guardato tutte le sue fonti on-line e ha un sacco di taglia-e-incolla per i suoi documenti. Per qualche ragione, questo è accettabile per i suoi insegnanti .... Penso che la prima cosa che ho da fare durante graHow hack per uno MMOGiven la recente hack per il blog, e anche in seguito alla recente notizia della decompilato Eve Online cliente, è sembrato come un buon momento per andare oltre alcuni dei modi in che un mondo virtuale diventa hacked. La cosa interessante, naturalmente, è che tutti gli hack
[...] Raph Koster vi dà un breve tutorial su come hack MMO. [...]
del.icio.us / Emory aprile 18Raph Sito Web »Come uno hack MMOThere già programmi per guardare il Warden guardando a voi, per esempio. Blizzard e la risposta è stata a fare un mucchio di diverse versioni di Warden, in modo che sia più difficile da trovare e guardare, e anche - a sorpresa, crittografare il materiale inviato indietro. Di
[...] Cheating potrebbe essere di meno di preoccupazione sociale software rispetto ai giochi (anche se ci sono eccezioni, Digg prendere ad esempio). Per coloro che sono interessati a maggiori informazioni su questo, Raph Koster ha recentemente pubblicato un esame di elaborare l'hacking e truffe in MMOGs. [...]
[...] Post sul blog da gioco progettista Raph Koster (di Ultima Online e ora Metaplace fama) vi dirà come! [...]
Notizie Avete mai desiderato di camminare attraverso muri in MMO? Come circa telepaticamente senso le posizioni di tutte le buone gocce in una zona, o di rendere invisibili le cose molto, molto visibile? Ablog postby gioco progettista Raph Koster (di Ultima Online e ora Metaplace fama) vi dirà come! Certo, Koster, in realtà non andare molto in dettaglio. Inoltre, è cercare di aiutare gli sviluppatori a evitare problemi di hacking, non dando dentro segreto suggerimenti agli attacchi degli hacker. E '
[...] Cliente fa qualcosa. Gio v? ? Các b? Co n °? tham kh? thông stagno o chi ti? t: http://www.raphkoster.com/2008/04/17 ... O-hack-uno-MMO / [...]
[...] Framerates, e che non attivano anti-truffa strumenti come Punkbuster o World of Warcraft Warden.The del prodotto è attualmente nella sua fase di beta test. Puoi accedere alla versione beta o aggiornare [...]
[...] Qualche discussione precedente chiedo perché mai ho messo tutti i parametri degli utenti richiesta nel URL.http: / / www.raphkoster.com/2008/04/17/ho ... ck-an-mmo/If hai effettuato l'accesso al gioco, è possibile visitare fondamentalmente qualsiasi zona da manipolare solo l'URL. Se [...]
[...] Come un MMO hack aprile 17, 2008 (visitato 5387 volte) Tag: barare, Everquest, l'hacking, le leggi del mondo online progettazione, design VW, VW tecnologia, WoW [...]
[...] Posizione depongono le uova ...) nel client. come Raph Koster è appassionato di ricordare PPL, il client di gioco "è nelle mani del nemico": ogni volta che uno sviluppatore offloads un'operazione sul cliente, al fine di salvare cicli della CPU per AI [...]