What is your e-mail address?

My e-mail address is:

Do you have a password?

Forgot your password? Click here
close

    NSA posts secrets to writing secure code

    Tokeener case study serves as an example of writing low-defect, highly-reliable code, researchers claim.

    The National Security Agency has released a casestudy showing how to cost-effectively develop code with
    zero defects. If adopted widely, the practices advocated in the
    case study could help make commercial software programs more
    reliable and less vulnerable to attack, the researchers of the
    project conclude.


    The case study is the write-up of an NSA-funded project carried
    out by the U.K.-based Praxis High Integrity Systems and Spre Inc.
    NSA commissioned the project, which involved writing code for an
    access control system, to demonstrate high-assurance software
    engineering.


    With NSA's approval, Praxis has posted the project materials, such as requirements,
    security target, specifications, designs and proofs.


    The code itself, called Tokeneer, has also been made freely
    available.


    'The Tokeneer project is a milestone in the transfer of
    program verification technology into industrial application," said
    Sir Tony Hoare, noted Microsoft Research computer scientist, in a
    statement. "Publication of the full documents for the project has
    provided unprecedented experimental material for yet further
    development of the technology by pure academic research.'


    Developing code with very few defects has long been viewed as a
    difficult and expensive task, according to a 2006 paper by Praxis
    engineers describing the work that was published in the International Symposium on Secure Software Engineering.


    For this project, three Praxis engineers wrote 10,000 lines of code in 260 person-days, or
    about 38 lines of code per day.


    After the project was finished, a subsequent survey of the code
    found zero defects.


    Moreover, Tokeneer meets or exceeds the Common Criteria
    Evaluation Assurance Level (EAL) 5, researchers said. Common
    Criteria is an ISO-recognized set of software security requirements
    established by government agencies and private companies. Industry
    observers have long concluded that it would be too expensive for
    commercial software companies to write software programs that would
    meet EAL 5 standards.


    According to the 2006 paper, the engineering team used a number
    of different techniques for writing the code, all bundled into a
    methodology they call Correctness by Construction, which emphasizes
    precise documentation, incremental developmental phases, frequent
    verification and use of a semantically unambiguous language.


    The developers wrote the code in a subset of the Adaprogramming language called SPARK, which allows for
    annotations that permit static analysis of the program. They used
    the GNAT Pro integrated developer environment software from
    AdaCore.


    "This case study has shown that software-based security products
    can be built that are reliable, verifiable and cost effective
    against Common Criteria guidelines," the paper concluded. "The bar
    has been raised for both procurers and suppliers."



    Reader Comments

    Please post your comments here. Comments are moderated, so they may not appear immediately after submitting. We will not post comments that we consider abusive or off-topic.

    Your Name:(optional)
    Your Email:(optional)
    Your Location:(optional)
    Comment:
    Please type the letters/numbers you see above

    GCN eNewsletters

    eSeminar