[FAFNER Home][RSA130 Home][Personal Home][Hall of Fame][Sign Up][Start Sieving][Help!?]

RSA130: FAFNER SECURITY ISSUES


This is a brief analysis of the primary security issues that should be considered by a prospective FAFNER helper who wants to help us crack RSA-130. Please follow the embedded hyperlinks for more details.

Thanks for reading!



Caveat

The network is the computer.
-- Scott McNealy

The network is the security problem.
-- anonymous security consultant

If your machine is connected to a network, any piece of software that is network-aware has the potential to open you up for a world of trouble. Most of us have decided (perhaps too quickly) that the benefits of network access outweigh the dangers, as long as we exercise some commonsense control over the ways our machines can interact with the world.

FAFNER represents a good concept --- Net-volunteerism. We don't expect FAFNER volunteers to expose themselves to significantly higher security risks as a reward for their altruism, because that would damage the cause of Net-volunteerism in general. But any piece of networked software can land you in trouble if it's not installed, configured, or maintained correctly.

Remember, all of the following security discussions are purely advisory; we can't warrant that the FAFNER software is free from holes not mentioned here, or in fact suitable for any purpose at all (see our copyright notice and disclaimer for details). The final arbiter of whether a given software package belongs on your machine is you, even if that means reading and understanding the source code of the package you're installing.

There are three primary ways to volunteer computational resources to help factor RSA130; we discuss the security issues of each in turn.


I) Helping by Email

Scenario

FAFNER Sieving clients who want to receive tasks by email (more details) fill out a brief Web-based registration form that describes the size of the tasks they want, and FAFNER sends them the tasks by email. They run the GNFS software offline to generate the answers, which they return to FAFNER by email. Then FAFNER sends another task, and the cycle begins again.This is the simplest option, involving the smallest trusted software base, and is therefore considered the least risky.

Trusted Software Base

Email volunteers have to run the GNFS package from Bellcore (More Details) to get the answers to the tasks they are sent. GNFS does not interact with the network in any way; it is a stable, computationally intensive numerical package, consisting of approximately 15,000 lines of C code.

Potential Risks

To reduce the burden on users and cut down on typing errors, FAFNER automatically emails tasks to its email volunteers in the form of Bourne-shell scripts. These scripts are kept short on purpose so that recipients can visually verify them at a glance --- each contains just 2 executable lines of shell commands.

We explicitly warn users (at time of signup and with a reminder in each task mailed out) that they must manually inspect and verify the shell scripts that are mailed to them before execution. We also warn all the evil geniuses out there against automating the process via mailer aliases that pipe mail to shells for automatic execution.

II) Running a GNFS Daemon Process

Scenario

FAFNER sieving clients who want to avoid the manual process of saving, verifying, executing, and remailing tasks by email can run the GNFS Daemon (GNFSD) on their machine. This daemon interacts with the FAFNER Web server to download tasks, solve them, and return the answers automatically.

Trusted Software Base

The GNFS Daemon receives commands from humans and FAFNER servers on TCP/IP port 5453; it also acts like a Web browser (like Netscape) to access FAFNER web pages via HTTP. (More Details) GNFSD is not yet considered entirely stable (bugfixes and patches appear twice a week on average), but has been used successfully on a wide range of machines. The daemon consists of approximately 2,500 lines of C code which augment the basic GNFS package (see "Email Clients" above) with network services.

Potential Risks

Anyone in the world can connect to GNFSD at port 5453, but the small set of commands the daemon understands limits the side effects to simple misconfiguration or death of the daemon process. To further reduce the risks posed, GNFSD may run as any user you like, including "nobody". GNFSD probably inherits some of the potential security risks common to all autonomous daemon processes with undiscovered bugs (cf. Sendmail).

III) Installing Your Own Subserver

Scenario

Sites which have many clients to contribute can check out a copy of the FAFNER Web server software, which they install within their own HTTP document tree. The main FAFNER server communicates with the new FAFNER subserver on a regular basis to pass along large ranges of tasks and updates to the FAFNER software.

Trusted Software Base

The FAFNER server software consists of approximately 8,000 lines of Perl 4 code, much of which consists of the text that makes up each visible Web page. This software is not yet stable, since new features are added in response to suggestions from each of the installed FAFNER sites.

Potential Risks

The risks associated with FAFNER are essentially those of any other complex CGI process that you allow your Web server to execute. These risks can be loosely classified according to the three primary kinds of service provided by the FAFNER web server: user registration service, task service, and software update service.

Feeling secure? Click to ..



Questions, comments to factor-help@cooperate.com. Script last modified 8 Jun 109.