Live data from Hacker News

Coder's Rights Project – Reverse Engineering FAQ

eff.org

1–10 of 30 posts

Re: Coder's Rights Project – Reverse Engineering FAQ

#2
In Norway, we have an un-waverable right by law to reverse engineer computer systems for learning purposes.

They are described in Åndsverkloven §§ 39h and 39i.

Roughly translated excerpts:

§ 39h Whoever has the right to use a computer program, can copy, change and work on the program to the extent necessary in order to utilize the program in accordance with its purpose, including in order to correct errors in the program.

Whoever has the right to use a copy of a computer program can, during such reading, screen display, running, transfer or storage of the program that the user has the right to do, monitor, examine or probe the working of the program in order to determine the ideas and principles on which the individual parts of the program is based. [This right is un-waverable]

§ 39i You are allowed to produce a copy of a computer program's code and translate the form of the code, when this is a prerequisite in order to produce the information necessary to achieve functional interaction between a self-developed program and other programs, if

a) the actions are performed by a person who has the right to use a copy of a computer program, or acting on behalf of someone who do,

b) the information is not already easily accessible, and

c) the actions are limited to the parts of the original program necessary to achieve functional interaction.

[A few limitations on utilization of the information]

These rights are un-waverable.

Re: Coder's Rights Project – Reverse Engineering FAQ

#4
post #2

In Norway, we have an un-waverable right by law to reverse engineer computer systems for learning purposes. They are described in Åndsverkloven §§ 39h and 39i. Roughly translated excerpts: § 39h Whoever has the right to use a computer program, can copy, change and work on the program to the extent necessary in order to utilize the program in accordance with its purpose, including in order to correct errors in the pro…

Nice.

The only problem I can see with this (I'm not a lawyer) is that I hope 39i.c is interpreted broadly - e.g., some tools disassemble an entire executable when you only need to look at a part.

Re: Coder's Rights Project – Reverse Engineering FAQ

#5
I'm curious if reverse engineering software which is classified or otherwise protected from disclosure by the force of government is legally risky. I presume doing so for those who have access to such software because of a security clearance might face a legal penalty under national security laws.

Re: Coder's Rights Project – Reverse Engineering FAQ

#6
post #2

In Norway, we have an un-waverable right by law to reverse engineer computer systems for learning purposes. They are described in Åndsverkloven §§ 39h and 39i. Roughly translated excerpts: § 39h Whoever has the right to use a computer program, can copy, change and work on the program to the extent necessary in order to utilize the program in accordance with its purpose, including in order to correct errors in the pro…

It seems countries in Northern Europe have some of the most liberal laws on RE - I wonder if the fact that the demoscene (which originated from software cracking culture) being quite established in that area is related in any way, or the fact that a lot of security researchers, who by necessity have to RE, are also from around that area.

Re: Coder's Rights Project – Reverse Engineering FAQ

#7
post #5

I'm curious if reverse engineering software which is classified or otherwise protected from disclosure by the force of government is legally risky. I presume doing so for those who have access to such software because of a security clearance might face a legal penalty under national security laws.

Good question, particularly if interpreted in a very broad sense. The FCC is the portion of the US Fed Gov that handles things like validating the acceptable RF interference and frequency transmit/receive parameters of products. If you reverse engineer something, and the resulting reimplementation violates the FCC rules, then you'll have legal trouble. Similar would be true for Europe with the CE regulatory/testing body.

For example, most wifi (802.11-) chipsets have "modes" for various countries due to the fact that the "freely available" RF spectrum varies from country to country. Though illegal (according to the FCC/CE/etc), it is often possible to make wifi chipsets use chunks of frequency that are not legally accessible (within some jurisdiction). This can be done via software (drivers) or firmware (blobs), as well as through the use of additional or modified hardware (amps, antennas, ...).

When you get into "licensed spectrum" that is supposedly "owned" by a company like a mobile carrier, things get even more "legally risky" since messing around in those bands can wreak a lot of havoc. I don't know if the operation of the (mobile) baseband processors qualify as "classified" but such info is definitely protected from disclosure by both technical (hardware/software protections) and legal (contracts, NDA, etc.) means. Of course, using a self-modified baseband processor is definitely illegal since the device has not been tested and approved by the required regulatory body (FCC or CE), but the laws do have some limited exclusions/registrations for test/development purposes.

If you cause problems for a carrier that spent many billions to own/license a chunk of spectrum, then you also open yourself up to civil liability for damages, in addition to the legal problems you'll have with the Fed Gov regulatory body. Needless to say, if you go mucking around in the frequency bands dedicated by law for use by the military or law enforcement, then you are going to have a whole lot of legal problems.

Re: Coder's Rights Project – Reverse Engineering FAQ

#9
post #8

Interestingly, four out of five court cases mentioned are from games industry.

The gaming industry is well known for exercising as much control as possible over their hardware and software. Console manufacturers want to control what runs on the console and software authors want to prevent piracy.
Post reply on HN