Tisztességtelen Trend Micro

Már megint azok a nyavalyás szoftver szabadalmak. Adott egy antivírus üzletben utazó amerikai cég (ez lenne a Trend Micro), akik úgy gondolták, itt az ideje egy kis pénzt begyűjteni, és az sem baj, ha nem túl szép módon sikerül. Arról van ugyanis szó, hogy az 5,623,600. sorszámú szabadalmat megsértette a Barracuda Networks, amikor a ClamAV nevű nyílt forrású antivírus szoftvert beépítette az x termékébe. Ez a szabadalom a gateway-ken alkalmazott antivírus megoldásokra terjed ki. A követelés világos: vagy távolítsd el a clamav-ot a termékedből (=degradáld le) vagy fizess licence díjat.

Nevetséges ez az amerikai szabadalmi mizéria. Ép ésszel felfoghatatlan, hogy ugyanazt az ötletet miért nem implementálhatja – egymástól függetlenül – 2 vagy több csapat. Mert ebben az esetben szó sincs arról, hogy x fejlesztőcsapat ellopta a másik évek alatt elkészített munkáját.

Magam is érintett vagyok, mert én is egy olyan terméket fejlesztek, amely mind vírus- ill. spamszűrést végez, és – micsoda véletlen – én is használom a clamav funkcióit. De szerencsére én az EU-ban élek, ahol az USA nem tudta lobbierejét bevetve sem (pedig nagyon ment a gőzhenger, az agitprop!) elérni, hogy a szabadalomrendszerét átvegye az Unió.

Így a távolból írom a Trend Micro képviselőinek, hogy jó lenne valami innovatív dologgal előállni, ha csökken a revenue, vagy valami tisztességes foglalkozás után nézni, ha nem megy…

Bővebben a HUP fórumában, ill. a Barracuda oldalain.

Alkotói válság

A spam könyvben a teszteknél járok, ahol ráengedem a 2007-es levelezésemet – cirka 25k levél – különféle termékekre, és megnézem, mit tudnak kezdeni azokkal. Magam is fejlesztek egy spamszűrőt, így adódik, hogy miért ne dobnám be a clapf-ot is a nagy kalapba? Hogy referencia is legyen, először azt néztem meg, hogy mit tud a bogofilter.

A tesztet a következőképpen végeztem: megfeleztem a ham és a spam leveleket (jan-jún, ill. júl–dec). Az első ham ill. spam halmazzal tanítottam a bogofilter-t, míg a második 2 halmazzal teszteltem. A bogofilter nagyon jól helyt állt: 5399 levélből 14-et kategorizált tévesen fals pozitívként (99.74%), ill. 9055 spam levélből 113-at nem ismert fel (98.75%). Ezek a számok nagyon jók ahhoz képest, hogy a szűrőt gyakorlatilag fél évre magára hagytam, és nem tanítottam tovább. Már itt szeretném megjegyezni, hogy ez nem túl életszerű. Egy igazán reális teszt során a fals pozitívkat “másnap” korrigálni kellett volna, ill. menet közben is tanítani lehetett / kellett volna az új levelekkel, ill. az elavult tokeneket törölni. Azért döntöttem mégis egy ilyen metódus mellett, hogy a) bizonyítsam a statisztikai szűrők sokkal jobbak az egyéb megoldásoknál, b) leegyszerűsítette a tesztet.

Ezután jött a Nagy Clapf Teszt, hogy lássam, mire képes hasonló környezetben (fél évig nincs további tanítás) a saját programom? Hát majd leestem a székről, és nem azért, mert olyan jó eredmények születtek. Az ok, hogy csak 11 levelet ismert fel fals pozitívként, de 308 spam levelet nem ismert fel. Először arra gondoltam, hogy biztos azért, mert nem tanítottam spammel fél éven át, ami a spam lassú(?) változása miatt szükségszerűen erodálja a pontosságot.

De a bogofilter-rel összevetve rájöttem egy bug-ra. Bár a clapf is khi-négyzet algoritmust használ a statisztikai
összegzésre, de én csak a legérdekesebb 15 tokennel végeztem el az összegzést (bayes-i módra), holott egy bizonyos érdekesség fölött minden tokent figyelembe kellett volna vennem. A bogofilter-ben egy kicsit jobban elmélyedve azt is jó volt felfedezni, hogy ők más rob_s és (egy kicsit más rob_x) értéket használnak (ez 2 konstans érték a számításban). Így átvettem az ő default értékeiket, rob_s = 0.0178 és rob_x = 0.52. Ennek hatására jobb lett a spam felismerés aránya, de megnőtt a fals pozitívok száma, ami viszont rossz. Csomó teszt után úgy döntöttem, megmaradok a rob_s = 0.1 értéknél.

Végül a clapf 18 jó levelet jelölt meg spamként 5399-ből (=99.66%), és csak 63 spamet nem ismert fel a 9055-ből (99.30%). Szóval nagy kő esett le, alkotói válságnak vége, és már nem szégyellem a clapf eredményeit is megmutatni a könyv lapjain. Még annyit módosítottam a clapf-on, hogy a képes leveleket csak akkor jelöli meg spamként, ha a valószínűségük nagyobb 0.5-nél, így kevesebb fals pozitívom lett. Végül a clapf képes feketelisták eredményét is felhasználni, teszteltem az elszalasztott spameken is, de azok a fránya IP-címek nem szerepeltek, így ebben a tesztben ez a feature nem növelte a spam felismerés eredményét.

Ja, az összes teszttel még nem vagyok kész, de egy ilyen kellemetlen tesztelés után is még mindig a 2 statisztikai szűrő vezeti a mezőnyt.