next up previous contents
Next: SOVELTAMINEN YRITYSMAAILMASSA Up: ESIMERKKIPROJEKTEJA Previous: APACHE-projektit

AIDE-projekti

Aide (Advanced Intrusion Detection Environment) on ohjelmisto, jolla on tarkoitus erilaisin menetelmin selvittää, onko tarkasteltavalle palvelimelle tai työasemalle murtauduttu ja sen tietoja luvattomasti muutettu [17].

Tämä ohjelmisto on kehitetty korvaamaan Tripwire-niminen kaupallinen, samaan tarkoitukseen kehitetty ohjelmisto. Ohjelmiston tavoitteena on paikata joitakin Tripwiressa olevia puutteita. Ajanmukaisilla tarkistussumma-algoritmeilla pyritään parantamaan saavutettavaa varmuutta koskemattomuudesta. Ohjelmisto toimii lukemalla konfiguraatiotiedoston ja sen perusteella luo tietokannan, johon talletetaan konfiguraatiotiedostossa valittujen tiedostojen attribuutteja ja niiden tarkistussummia. Tätä tietokantaa verrataan samalla ohjelmalla aikaisemmin luotuun tietokantaan. Tietokantojen eroavaisuuksista ohjelma päättelee, miten tiedostoja on muuteltu.

Aidessa on pyritty konfiguraatiotiedosto pitämään Tripwiren kaltaisena. Kuitenkin siten, että tiedostoja voi valita helposti säännönmukaisilla lauseilla. Tietokannan luomisessa on käytetty tehokkaita algoritmeja tarkistussummien laskemiseen ja tiedostojen valintasääntöjen tarkistukseen. Tietokannan rakenne on suunniteltu siten, että ohjelman eri versioiden luomaa tietokantaa voi lukea sekä uudemmalla että vanhemmalla versiolla ohjelmasta. Nämä ominaisuudet tekevät siitä ylivoimaisen muihin ilmaisiin eheystarkistimiin verrattuna.

Projektia käytettiin kirjoittajan testinä siitä, miten Open Source -projektit toimivat. Motivaationa projektin aloittamiselle olivat Tripwire-ohjelmistossa olevat puutteet. Tripwiren myöhäisemmät versiot ovat olleet kaupallisia, joten ne eivät ole kaikkien käytettävissä. Tämän tyyppisistä ohjelmistoista on aikaisemminkin yritetty tehdä vapaita versioita, mutta yksikään ei ole saavuttanut toiminnallisuudessa Tripwiren tasoa. Vapaalle versiolle tämän tyyppisestä ohjelmistosta oli siis olemassa selvää kysyntää.

Projektissa on alusta asti ollut mukana kirjoittajan lisäksi Pablo Virolainen, joka teki projektia saadakseen Ohjelmistotekniikan laitoksen Ohjelmistojen testaus-kurssille ohjelman, jota opiskelijat voisivat testata. Tarkoituksena oli, että ohjelmasta tehtäisiin ensin joten kuten toimiva versio ja julkaista se. Ensimmäisellä julkistuksella oli tarkoitus houkutella mahdollisimman suuri joukko ihmisiä mukaan kehitykseen.

Suunnitelman toteutus onnistui kohtuullisen hyvin. Versio 0.1 julkistettiin 13. elokuuta 1999. Julkistuksesta ilmoitettiin Freshmeat:ssä. Freshmeat on verkkojulkaisu, joka on erikoistunut uusien Open Source -ohjelmistojen julkaisuista kertomiseen [18]. Ensimmäinen versio haettiin ftp- ja seittipalvelimilta noin 370 kertaa. Hyvin pian julkistuksen jälkeen ensimmäinen virheraportti saapui. Korjauspaketteja on tähän menessä tullut vähän. Projektia varten luodulla sähköpostilistalla on tällä hetkellä 10 henkilöä. Seuraavia versioita on haettu jakelupalvelimilta noin 220 per versio. AIDE:lla on noin 20 aktiivista käyttäjää, joista yksi on Tampereen Teknillisen Korkeakoulun Tietotekniikan osaston Unix-ylläpito.

Projektia varten ei ollut käytettävissä rahaa lainkaan, ainoastaan kahden ihmisen työpanos. Käytettävissä olevat laitteet olivat tietotekniikan osaston Solaris-käyttöjärjestelmää käyttävät työasemat ja palvelimet sekä kirjoittajien omat Linux työasemat.

Työkaluina projektissa on käytetty autoconf/automake/autoheader työkaluja käännösympäristön hallintaan. Emacs tekstieditoria käytettiin lähdekoodin kirjoitukseen. Ohjelman kääntämiseen käytettiin GCC-kääntäjää, Flex-leksikaalista analysaattoria ja Bison-syntaksianalyysigeneraattoria. Ensimmäisen julkistuksen jälkeen projektissa alettiin käyttää CVS-versionhallintaohjelmistoa kehityksen hajauttamiseksi verkkoon. Tätä ennen oli projektissa käytetty RCS-versionhallintaa. RCS on rajoitettuneempi kuin CVS, mutta sopii paremmin pieniin ympäristöihin. Sähköpostilistojen ylläpitoon käytettiin Majordomo-ohjelmistoa. Myöhemmät julkistukset allekirjoitettiin käyttäen GPG-ohjelmistoa. GPG on GPL-lisensoitu kryptografiasovellus.

Projekti on vielä kovin alkuvaiheessa, joten mitään kauaskantoisia tuloksia ei tämän projektin perusteella kannata vielä arvioida. Kaiken kaikkiaan projekti näyttää tarpeeksi elinvoimaiselta jatkaakseen ainakin versioon 1.0 saakka. Open Source -ohjelmistokehityksen tutkimiseen projekti on antanut jonkin verran valaistusta. Syntyneet käsitykset ovat varmasti aiheuttaneet heijastuksia muualle tähän diplomityöhön. Uusien kehittäjien saaminen kiinnostumaan projektista on ollut kovin vaikeaa.

Projektin tuloksena on syntynyt miltei kaikki suunnitellut piirteet sisältävä suhteellisen virheetön ohjelma. Ohjelma sisältää 20000 riviä koodia. Suuri osa tästä koodista on kerätty muista lähteistä. Ohjelman toteuttaminen muutaman kuukauden sisällä ei olisi ollut mahdollista ilman ulkopuolisen koodin käyttöä. Nämä ovat Open Source -ohjelmistojen suurimpia vahvuuksia: nopea kehitys ja koodin uudelleenkäyttö.


next up previous contents
Next: SOVELTAMINEN YRITYSMAAILMASSA Up: ESIMERKKIPROJEKTEJA Previous: APACHE-projektit
Lehti Rami
1999-09-30