Viikon tulos: Radamsa

Vielä ennen kesälomia tulos TIVITin Cloud Software -ohjelmasta. Juha Röning Oulun yliopistosta kertoo:

“Väinö Linnan tunnelmia ”Alussa oli suo, kuokka ja Jussi” mukaillen Oulun yliopistossa toimivallaOUSPG:lla (Oulu University Secure Programming Group) oli alussa ohjelmointivirhe, rannaton räme ja kuokkakin vielä silloin hakusessa. Koodirämettä lähdettiin raivaamaan yksi ongelma kerrallaan. Työstä kehittyi prosessi, jonka myötä työkalut kehittyivät ja isompi kuva alkoi hahmottua.

Pilvilaskennan ja entistä ketterämpien menetelmien tullessa käyttöön ohjelmiin tulee uudenlaisia haavoittuvuuksia, mutta testaus ei valitettavasti usein kata edes aikaisempia tunnettuja ongelmia. Edelleenkin tietokoneisiin murtaudutaan tyypillisesti siten, että tietoa lukevalle ohjelmalle, kuten selaimelle, musiikkisoittimelle tai sähköpostin lukuohjelmalle, syötetään ulkopuolelta vihamielistä dataa, joka ohjelmassa olevan haavoittuvuuden avulla siirtää kontrollin itselleen.

Radamsa on Oulun yliopiston kehittämä automaattinen tietoturvan testausväline, rakenteen päättelijä ja testitapausten luoja. Siihen on koottu parhaita ominaisuuksia OUSPG:n aiemmin kehittelemistä automatisoiduista tietoturvan testaustyökaluista. Työkalu analysoi ohjelman ulkopuolelta saaman datan rakennetta ja tekee sen perusteella jatkuvan tulvan mahdollisia hyökkäyksiä, jotka voidaan kohdistaa ohjelmaan jo kehitysprosessin aikaisessa vaiheessa. Näin mahdollisimman suuri osa haavoittuvuuksista voidaan löytää ennen kuin ohjelma on laajassa käytössä.

Radamsaa ovat jo hyödyntäneet hankkeessa mukana olevat partnerit, jotka käyttävät sitä myös omassa testaamisessaan. Kaupallista potentiaalia Radamsalle tulee varmasti löytymään. Yrityspartnereina projektissa ovat olleet esimerkiksi Ericsson, Nokia ja F- Secure.

Työkalun kehityksen ohessa OUSPG testaa laajasti käytettyjen ohjelmien tietoturvaa. Esimerkiksi paljon käytetyistä selaimista on löytynyt näin kymmeniä haavoittuvuuksia, jotka on raportoitu suoraan valmistajille. Esimerkiksi Google, Mozilla Foundation ja WebKit.org ovat nopeasti korjanneet ongelmat, joten sadat miljoonat tietokoneet, puhelimet, tabletit ja muut laitteet ovat nyt vaikeampia murtaa.

Radamsa on ilmainen ja perustuu avoimeen lähdekoodiin.

Esimerkkitapauksia: 1, 2, 3, 4, 5 ja 6.

***

Radamsa is our attempt to make state of the art automatic black-box robustness testing more accessible to vendors and independent software developers. Many even old and mature programs have serious issues in parts exposed to data from potentially malicious sources. Some vendors and projects have sophisticated in-house tools for testing their products, and correspondingly crackers have their own tools tailored for their needs.

Radamsa tool is an attempt to make a general purpose test case generator which others can easily add as a step towards more secure software development. The tool attempts to generate a wide variety of malformed input documents for programs in order to expose errors easily and early on in the development life cycle before they are found and possibly exploited using one of the plethora of similar ad-hoc tools.

From a practical point of view, Radamsa is a command line tool which is given a set of sample input files based on which it generates similar output files with varying definitions and amounts of similarity. The input files are analyzed using different techniques in the tool. The results are used to make interesting test cases, as opposed to just randomly corrupting the documents. The output files can be given to program being tested, and the ones causing interesting failures can be collected aside for further analysis or reporting. No BNF, DSL- or fuzzer hacking required, just a set of sample files.

Usage and installation instructions are available on our public Google code repository.

***

TIVITin ohjelmissa syntyy vuodessa satoja tuloksia: akateemisia tutkimus- ja konferenssipapereita, opinnäytteitä, softanpätkiä, liiketoimintaideoita, patentteja – ja niin edelleen. Koska yksittäiset tulokset ovat suuressa mittakaavassa useimmiten pieniä ja ne julkaistaan hajallaan eri ohjelmien sisällä, nostamme mielestämme erityisen onnistuneita tuloksia esille blogissamme Viikon tulos -sarjassa. Tutustu muihin tuloksiin: http://www.activityblog.fi/category/viikon-tulos/

Leave a Reply