Copyright protection, USB dongle?

Started by
12 comments, last by ynm 11 years, 4 months ago

[quote name='ynm' timestamp='1355130136' post='5009020']
Thank all,
[quote name='Cornstalks' timestamp='1355071988' post='5008822']
The reason server-based games are a bit more "secure" (though plenty of people still hack the client and server is still vulnerable) is because you own the computer the server is running on (and thus have a great deal of control over it). As soon as you put the server on the player's computer (whether it's a USB dongle or not), you immediately take away that advantage and it's probably just as easy to hack and crack as any other.

I don't know how iphone is jail broken, maybe their exploited software fault, but in microprocessor I haven't any case is hacked. The only method I know is take off IC's case, using microscope and UV light to read the state of the registers of the IC which only possible in lab condition and require expert skill.



I imagine a dedicated hacker could still bypass a dongle through emulation. Though it would be pretty difficult and probably not worth it. Commercial forensic software such as EnCase use dongles for this exact purpose.

This is the problem which I am finding the solution.
While I believe the microprocessor is very hard to hack to know the algorithm or the encrypted key store in it, but if dongle only returns simple value like true of false to allow the software to run, it can be easily patched though emulation

Even though, the hacker still can not know the true algorithms and keys in dongle, so I am leaning to the idea of using random encrypted return value each time, which can not be emulation. But then the hacker can hack directly to the software to bypass checking step. So I think the dongle must return encrypted critical data which require engine to run, e.g parameters of functions..

Is there any software used similar method? Or any idea?

Regards
[/quote]

Just focus on making great software instead, good software sells, bad software don't, DRM is primarly useful to prevent second hand sales or to protect a highly anticipated title on launch. (If the pirates are willing to wait a few days/weeks extra to play your game any DRM you implement will be worthless).

Hacking protected devices are doable even without software exploits, (Google for mod-chips for older consoles), on devices like the iPhone it just isn't done because doing so would "ruin" the appearance of the device(and exploiting the software is easier anyway). the problem is that you still need to store the instructions that your dongle should run somewhere and it isn't that difficult to remove and read a memory chip.

Dongles also force you to use physical distribution of your software, which today will result in a far greater reduction in sales than piracy can manage.
[/quote]
Thank you, I forgot modchip.

I work mainly in hardware, and try to find a way to sell my hardware, so please spare me if I concentrate on hardware solutions.

Well, I don't know how people hacked hardware and made modchip, but IMO, they must exploited unencryped parts, e.g communication between ICs in the system. IMO, directly hacking encrypted communication is not possible or my security knowledge has something wrong. In case everything is inside an simple IC then there is no way to hack it (reading very very hard). If I was wrong, please show me the right way.

And console systems like Xbox 360 and PS3 mainly distributed their products via physical discs, am I right? I am trying to bring a similar solution to PC systems. Also, if I was wrong, please point out for me

Regards
Advertisement

I imagine a dedicated hacker could still bypass a dongle through emulation. Though it would be pretty difficult and probably not worth it.

Back in the days of serial dongles, you could just insert a set of jumps to bypass the dongle entirely.

One could even manage it without a debugger - 20 minutes tracing through a disassembly, and patch the executable with a hex editor.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

In the audio software industry (particularly DAWs & industrement synths), the USB dongle as a DRM is still widely used, and a wide-spread cancer shall I say.
There's a lot of customer support around it (because dongle from "X" conflicts with dongle from "Y", or because you have "A" & "B" from the same developer, in which case there's a few steps to take to activate both using the same dongle)
Also these things get (rarely) broken and you have to pay for the replacement.

USB-dongle-based drm is crackeable, but cracks take a lot of time to come out (most of the time, the cracks aren't for the latest version); specially since this isn't mass market software and comes in many flavours (x86, x64, etc); which makes keeping the USB dongle sticked to your port a better alternative; specially if you're going to buy more products from the same dev. But sometimes it's easier to put the crack in a legit copy and forget about the dongle, leaving it stored in a safe place.

Well, I don't know how people hacked hardware and made modchip, but IMO, they must exploited unencryped parts, e.g communication between ICs in the system.[/quote]
Yes, and no.
Ultimately everything boils to a "jmp" instruction. Advanced layers of drm is just about many "jmp"s in obfuscated places. Old gaming HW were very simple and relied on sending a simple signal to the CPU. Modchips just bypassed and always sent the signal.
Advanced dongle drm is about receiving encrypted, salted data and sending back unencrypted data (or partially encrypted data the sw can now decrypt). The hacker just has to emulate the dongle encryption features.

Edit: Which can be done by retrieving the private keys in the dongle (read below). If the encrypted data isn't salted, write a program to force the SW to send every possible message it can send to the dongle, and save the unencrypted data to map encrypted msg with unencrypted response. A savvy hacker can crack the sw to always use the same salt, and because he's writing the dongle emulator, the dongle will just send always the same salt. Remember, the hacker is in both ends (the dongle and the software).
If the permutations of messages that can be sent from SW to the dongle is nearly limitless, then the best option is to retrieve the hidden private keys. However, if your system relies too much on this, the USB bandwidth limit can become an issue for regular legit customers.

IMO, directly hacking encrypted communication is not possible or my security knowledge has something wrong.[/quote]
Impossible as in "nearly impossible in terms of practice", then yes. Although if there's a vulnerability (you may want to watch the PS3's hacking videos on Youtube about how Fail0verflow found the root keys from PS3, during the Chaos Communication Congress) it will be easily hacked.

In case everything is inside an simple IC then there is no way to hack it (reading very very hard).[/quote]
Reading it is very very hard like you said, but I want to emphatize it's not impossible.
Some advanced decryption schemes involve measuring number of cache misses to predict code paths being taken, other schemes are about reading voltage consumption, oscilation, noise (as in 'audible' noise), while other schemes are about freezing to low temperatures RAM modules (or similar technology) and cloning it's contents using forensic tools for later inspection.
At some point you're gonna need to store your private keys somewhere, or store partial unencrypted data somewhere. These techniques are designed to read those supposedly unreachable places; as long as the cracker has physical access to the device.
None of this is simple though, and requires A LOT of dedication. But it's not "impossible" to crack.
I am looking into your idea

Many thanks for the insight an helpful info

This topic is closed to new replies.

Advertisement