Aaron projects/CFAA

From Noisebridge
Revision as of 01:59, 10 January 2014 by (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Work in progress; please link to other work here

Draft of Principles being edited online

Draft outline of replacement law underway
Let's decsribe what a full repeal & replacement of the CFAA[1] should look like.
How would we construct good law in these areas, from scratch?
How do different areas of law, policy, and internet governance view the law and its impact?
What would it take to generate support for a [repeal + replace] action, in each area?
What are the professional and philosophical circles for each of these areas, where these issues are discussed?


The CFAA was developed over time as a merger of ~7 different areas of law. It has developed in an aggregate way, and few groups are happy with the current law. It is so broad that prosecutors like it because they can use it to force plea bargains, since it applies to almost everything in its sphere of action (relying on prosecutorial judgement).

Different parts of the story: National defense, cyber war, data sec, corporate law, contracts online. Authorization based on code, contract, social norms. Legal frameworks used to push political means. Career standards for prosecutors defined in political ways.


Aaron's Law
Govtrack updates
  • H.R. 2454 (Lofgren bill; referred to House Judiciary subcommittee on Crime, Terrorism, Homeland Security, and Investigations)
  • S. 1196 (Wyden bill; referred to Senate Judiciary)
  • H.R. 2077 (Perlmutter bill; referred to House Judiciary subcommittee on Crime, Terrorism, Homeland Security, and Investigations)
  • S. 1426 (Blumenthal bill; referred to Senate Health, Education, Labor, and Pensions Committee)

Comparative Law[edit]


Aspects of the search
  • "Advanced technical crime" -- The deployment of the SS was a bit peculiar; but they were the only fed. agents trained in what they were looking for.
Civil rights concerns
  • Part of the prosecution that was particularly troubling: at one point in the invest., it felt that they were keeping the prosecution going b/c they'd spent so much time bringing it along. There was no will from victims to keep it going, and not necc. any other desire, but the prosecutors for their own reason wanted conclusion.
    Suggestion: employ economists to remind people of sunk costs
Three levels of problem
  • Occlusion of different agendas and sets of laws
    Compare pre-computer to post-computer laws for identical crimes.
  • Problems with prosecution as it happens today
    Motivations for initiating/closing cases
  • The nature of CFAA as it's been employed
    Failure of proportionality

Legal elements[edit]

There are 7 planks to 18 U.S.C. § 1030

  1. Knowingly accessing a computer without access or exceeding access, and obtaining security, foreign relations, atomic info
    rarely used, as it is substantively overlapped by other ares
  2. Intentionally accessing a computer without access or exceeding access, and in so doing obtaining "information," financial records, or U.S. government info.
    the biggest and most frequently used for access-and-downloading type offenses
  3. Accessing without authorization (not "exceeding") a US government owned or controlled computer
  4. Equivalent to the statute on wire fraud, but replacing "wire" with "computer" and tweaking the details
    Overlap with WFA, rather irrelevant in current environs
  5. Computer damage
    three separate crimes ("damage" = impairment to integrity and availability of data; "loss" = reasonable cost of responding to offense, including costs of damage assessment)
    knowingly cause transmission of program and intentionally cause damage
    intentionally access a computer and as a result recklessly cause damage
    intentionally access a computer and as a result cause damage and "loss"
  6. Password Trafficking
  7. Extortion through use of computer

Guiding principles[edit]

compare Necessary and Proportionate principles

What substantive things should be in a rational computer crime law?

Parallelism with non-computer crime law
Proportionate punishment
Avoid confusion/overlap between different parts of the government
in terms of means and ways
  • b/t different parts of the government
  • b/t different phil and pol goals
  • b/t social-good and infosec goals

Points of consensus[edit]

Based on conversations with folks at the Cambridge/Boston hack, these principles emerged as points of agreement. Other groups feel free to chime in as well.

Reasonable defenses[edit]

  • Scope should be limited - the law should not run to the boundary of what we find ethical or moral. We want people to have freedom to "mess around" with the web (perhaps with some negligence-based liability if they cause actual damage). As with media law and "bad journalism", copyright and "plagiarism," the law should leave the edge cases for the community to set up a moral/normative/shame-oriented punishment scheme.
    • we feel as though there is sufficient persistent identity in the community that even pseudonymous hackers care about their reputations.
  • Focus on bad access, leave use to other laws - laws on copyright, trade secret, identity theft, espionage, extortion, and fraud govern most of the "scary" use cases.
    • In this way, we are leaving the "hats" (black/white/grey/green) discussion for the community norms or existing law.
  • Consent should always be a defense - server owners ask members of the public to do some weird stuff against their systems, but as long as they ask for it, it should never be a crime to access one's computer in that way.
  • Consider technical effectiveness of site design for its intended use. For code-based vulnerabilities and authentication measures, a "reasonable" standard may not be appropriate: defining what is "reasonable" may lead to unnecessary confusion. But some consideration should be made to ensure that trivially-overcome measures are not within the scope.

What should be unlawful[edit]

  • Setting up and triggering an exploit - even if it was not done on that person's computer. Hold the party intending to do the bad behavior culpable. [ex: sharing a tinyurl that carries out a sql-injection]
  • Circumvention of a code-based authentication measure - leaving proportionality for another discussion. This includes cracking, password guessing, or human-engineering password disclosure.
    Once we get to this set of actions, we're in fraud-land. [this still shouldn't be penalized more than non-electronic fraud]
  • Exploiting a code-based vulnerability to obtain information should be unlawful (leaving proportionality for another discussion). We are thinking of things like a SQL injection hack.
  • Knowingly deleting or impairing the integrity or availability of the data should be unlawful if done intentionally or recklessly. Moving down to negligence or strict liability at a certain damage threshold is harder to say.

Uncertain areas[edit]

  • Penetration testing is squishy. An open call for bug bounties should be treated as consent to access the site (again, using other laws to govern bad uses)
  • "Obtaining information from accidentally-open" sites is squishy. E.g., sites that were supposed to be behind an authentication layer but are not. To a certain extent, it may be best to place the fault of this onto the coder of the site, with the comfort that certain uses by the obtainer of information may still be unlawful.

Open questions[edit]

Feel free to suggest brief answers, pointers to where this is discussed.

Does 'authentication' make sense as the basis for such a law?
As opposed to other corollaries re: trespass and access. Compare historical ways of handling these issues.
Is feigning authentication fraud? (when simply making up a new account; impersonating yourself, and not someone else)
Where do the following edge cases fall?
  • 'sockpuppeting' authentication where it's assumed you have one-account-per-user?
This is rarely prevented clearly.
Not the worst thing to do; it's not the same as impersonating a real person
  • Circumventing the auth process altogether?
This tends to be pretty bad. It's clearly defeating the system, when it requires finding a subtle exploit
Can be less bad when a system has an auth system but doesn't use it (e.g. it's never checked)
What's the ECTF doing? Who could provide oversight?
(cf fix-hacking-laws essay and Robert Graham's comment)
Do MIT and other tech institutions care?
See this question on MIT's Swartz Review site.

Active proposals[edit]

Aaron's Law[edit]

Lofgren & Wyden

  • Lower some of the penalties for crimes that produce little or no harm,
  • Delete a provision that is repeated elsewhere in the statute
    Amend the Wire Fraud Act
  • Clarify once and for all that violating terms of service agreements is not a crime.
    NB - Chin in US v. Drew - precedent that an individual, violating a TOS without a script, is pretty clearly not a crime. But it is still always used as a threat to amplify perceived risk.
    Limit scope of "exceeding authorized access"
current status
  • referred to the Committee on Crime, Terr, Homeland Security subcomm of Judiciary Committee (chair: Sensenbrenner)
  • lower penalties for crimes that produce little or no harm
  • cleanup: delete repeated provision, delete provision repeated in WFA
  • clarify once and for all that violating TOS is not a crime (nb: it can still be prosecuted civilly)
Fork the Law page, listing legal history and proposed changes

Creating something new[edit]

Drafting example legislation?

Additional needed resources (1 hour projects)[edit]

  • mapping out where the CFAA overlaps with existing law; identifying areas left untouched.


Add yours below:
  • War Games scenario: someone breaks into a secured machine, accesses government secrets, and uses them to wreak havoc
  • Rooting a box: Someone finds a way to log into a server, has a way to gain root on the server, and executes arbitrary code on it.
  • DDOS: Someone finds a way to overload a server by using its public services very frequently, causing it to be unavailable for days.
  • Social Engineering: Someone gaining access to systems via confidence approach or subterfuge.
  • Access Credential Sharing: Sharing commercially acquired user credentials with others (i.e. Netflix login).
  • Pseudonym Use/Fake Persona: Creating one or more access accounts using pseudonyms/manufactured persona in breach of website or service EULA.
  • Using Access to Perform Identity Theft: Nonaurtorized access & distribution of personal or financial information by authorized users exceeding their granted access rights.
  • Worm introduction: Engineering or introducing code to enable access to unauthorized data via autoreplication & propagation.
  • ...