Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why not add mac adress address support? #1734

Open
Likeeit opened this issue May 14, 2017 · 11 comments
Open

Why not add mac adress address support? #1734

Likeeit opened this issue May 14, 2017 · 11 comments
Labels
component:core Affecting the Hercules core (i.e. not the game mechanics directly) component:SQL Affecting the SQL databases type:enhancement Issue describes an enhancement or feature that should be implemented

Comments

@Likeeit
Copy link

Likeeit commented May 14, 2017

We all know of such need in the emulator and how important that would be. Here's the question: Why not add mac adress address support?
NOTE: This was implemented here in Brazil, in an emulator that is fork of Hercules.
brAthena@d1ebe6d

@Helianthella
Copy link
Member

Helianthella commented May 15, 2017

Mac addresses can very easily be changed, and nothing prevents a player from intercepting the packet in transit to change the mac address that is sent to the server.

It is IMPOSSIBLE to truly fingerprint a user. No matter what data you collect (ie IP address, email address, user agent) it can ALWAYS be manipulated. The only way would be to require the user to send you a copy of their birth certificate (but even this can be forged).

Many websites and applications use alternative means but they're not perfect either. Let's say you require a user to have a cellphone and you send them a confirmation sms... well there's services that can provide you with free phone numbers (ie magic jack, fongo, hushed).

Some try to discourage bad actors by requiring a small payment (ie less than $10), so large-scale exploit would become costly, but this only deters, it doesn't prevent.

Some use time as a restriction, like requiring your account is at least X days old to do action Y. This is also problematic because the player could just set up a bunch of accounts, set them aside for a month, then use them. This only slows them down.

No matter what you do you will ALWAYS need to manually police your users.


https://en.wikipedia.org/wiki/MAC_spoofing
https://en.wikipedia.org/wiki/IP_address_spoofing
https://en.wikipedia.org/wiki/Internet_censorship_circumvention

@sagunkho
Copy link
Member

If it is part of the login packet from the client, it should be handled by the server. But as @mekolat says, it is impossible to truly fingerprint a user.

@Likeeit
Copy link
Author

Likeeit commented May 16, 2017

Sirs, I believe you have misunderstood. What was said in the text above is true, but this should not be taken only to the MAC, but rather to the whole system. Every system is mocking, however good it may be, people may find it not, but they just do not know how to do it. The intention of adding the MAC, is to have one more option to 'defend' the abusers.

@Helianthella
Copy link
Member

IMO the mac address does not provide any additional protection, and opens the door to bad scripting practices that relies on user-submitted data (the packet can be forged) as a "security" measure

@Asheraf
Copy link
Contributor

Asheraf commented May 16, 2017 via email

@Likeeit
Copy link
Author

Likeeit commented May 20, 2017

One option would be to add the MAC as an additional means of protection, where it would not have to be active by default, would be at the discretion of each player to use or not if he wanted to.

@Helianthella
Copy link
Member

It offers absolutely ZERO protection

@4144
Copy link
Contributor

4144 commented May 21, 2017

@mekolat in ro world most protections works like this. they "protecting" and "obfuscating" things in client.
From other side this kind of protections can stop noobs.

About mac address. In hercules exists SSO like packet with mac address, but mac field here unused. And i not sure is any client can send this packet or not.

@MishimaHaruna
Copy link
Member

@4144 The client can send the 0x0825 login packet (PACKET_ID_CA_SSO_LOGIN_REQ). I believe it's the main packet that kRO uses to log in, and the client sends it when using a korean langtype and isn't modified to re-introduce the legacy login screen.
I believe the MAC field is set to zero in many cases though (or at least, it is when the client is run through wine - I don't have a windows machine equipped with a Ragnarok client to see how it behaves there). This makes the MAC field even more useless than it normally would.

@Helianthella Helianthella added component:core Affecting the Hercules core (i.e. not the game mechanics directly) component:SQL Affecting the SQL databases status:wontfix The issue can't/won't be fixed labels Jun 3, 2017
@dastgirp
Copy link
Member

status shouldn't be wontfix maybe?

kRO records the MacAddress if we use kRO client to login and we don't even save the mac for 0x0825 packet

@MishimaHaruna
Copy link
Member

I don't believe the MAC address is of any use, but okay, since the field exists there, we can accept pull requests that handle it.

The reasons why I won't waste time on it unless a pull request comes are (summarized from the above):

  • The MAC address is very easy to spoof, and doesn't really identify an user
  • From my experience, it's always set to zero

@MishimaHaruna MishimaHaruna added type:enhancement Issue describes an enhancement or feature that should be implemented and removed status:wontfix The issue can't/won't be fixed labels Jul 10, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:core Affecting the Hercules core (i.e. not the game mechanics directly) component:SQL Affecting the SQL databases type:enhancement Issue describes an enhancement or feature that should be implemented
Projects
None yet
Development

No branches or pull requests

7 participants