projekteredmények kovács attila témavezetésével készült...

23
TÁMOP 4.2.1/B-09/1/KMR-2010-0003 Projekteredmények Kovács Attila témavezetésével készült diplomamunkák és szakdolgozatok 2010 szeptember - 2012 június (névsorrendben) 1. Appel Ágnes: Kockázatelemzés A diplomamunka típusa: MSC diplomamunka Védés dátuma: 2011 január A téma rövid leírása A kockázatelemzés segítséget nyújt abban, hogy egy rendszer leggyengébb pontjait, a legnagyobb kockázatot jelentő fenyegető tényezőket azonosítani lehessen és ennek ismeretében a költséghatékony, kockázatarányos védekezést lehessen kialakítani. Megfelelően megalapozott kockázatelemzés hiányában ugyanis nem biztosított, hogy a biztonság fokozására fordított kiadások a leghatékonyabban kerülnek felhasználásra. A kockázatarányos védekezés nem csak költségminimalizálás szempontjából lényeges. Egy határon túl ugyanis értelmetlen bizonyos területeken túlzottan védekezni, amíg más területeken sokkal nagyobb kockázatú veszélyek is vannak a rendszerben, így nagy valószínűséggel azok fognak problémát, veszteséget jelenteni. A kockázatok meghatározása így az egyenszilárdságú védelem kialakításában alapvető szerepet játszik. A kockázatelemzés tehát az IT biztonság megteremtésének lényeges lépése, azonban látni kell, hogy ezen a területen a bonyolult IT és üzleti folyamatok összefonódása miatt valódi számokban (pénzösszegekben) kifejezett kockázatokról, károkról nem beszélhetünk. A kockázatbecslés problémáit ezért az úgynevezett kockázatmenedzsment módszerével szokás kezelni a gyakorlatban. A legtöbb, gyakorlatban alkalmazott kockázatbecslési módszertan a kategorizálás módszerét alkalmazza, azaz csak nagy nagyságrendben határozza meg a bekövetkezés valószínűségét és a kár nagyságát. Ez ugyan nem teszi lehetővé, hogy a biztosításokhoz hasonlóan, számszerű kockázati értéket határozzunk meg egy veszélyforráshoz, de már jó kiinduló pontot ad. Az egyes kockázati tényezőket egymáshoz hasonlítva határozzuk meg a gyenge láncszemeket, azokat a pontokat, ahol a legcélszerűbb védekezni. Ezt a folyamatot nevezzük kockázatelemzésnek vagy kockázatmenedzselésnek, nevében is megkülönböztetve a

Upload: others

Post on 19-Feb-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

TÁMOP 4.2.1/B-09/1/KMR-2010-0003

Projekteredmények

Kovács Attila témavezetésével készült diplomamunkák és szakdolgozatok

2010 szeptember - 2012 június

(névsorrendben)

1. Appel Ágnes: Kockázatelemzés

• A diplomamunka típusa: MSC diplomamunka

• Védés dátuma: 2011 január

• A téma rövid leírása

A kockázatelemzés segítséget nyújt abban, hogy egy rendszer leggyengébb

pontjait, a legnagyobb kockázatot jelentő fenyegető tényezőket azonosítani

lehessen és ennek ismeretében a költséghatékony, kockázatarányos védekezést

lehessen kialakítani. Megfelelően megalapozott kockázatelemzés hiányában

ugyanis nem biztosított, hogy a biztonság fokozására fordított kiadások a

leghatékonyabban kerülnek felhasználásra. A kockázatarányos védekezés nem

csak költségminimalizálás szempontjából lényeges. Egy határon túl ugyanis

értelmetlen bizonyos területeken túlzottan védekezni, amíg más területeken

sokkal nagyobb kockázatú veszélyek is vannak a rendszerben, így nagy

valószínűséggel azok fognak problémát, veszteséget jelenteni. A kockázatok

meghatározása így az egyenszilárdságú védelem kialakításában alapvető szerepet

játszik. A kockázatelemzés tehát az IT biztonság megteremtésének lényeges

lépése, azonban látni kell, hogy ezen a területen a bonyolult IT és üzleti

folyamatok összefonódása miatt valódi számokban (pénzösszegekben) kifejezett

kockázatokról, károkról nem beszélhetünk. A kockázatbecslés problémáit ezért az

úgynevezett kockázatmenedzsment módszerével szokás kezelni a gyakorlatban. A

legtöbb, gyakorlatban alkalmazott kockázatbecslési módszertan a kategorizálás

módszerét alkalmazza, azaz csak nagy nagyságrendben határozza meg a

bekövetkezés valószínűségét és a kár nagyságát. Ez ugyan nem teszi lehetővé,

hogy a biztosításokhoz hasonlóan, számszerű kockázati értéket határozzunk meg

egy veszélyforráshoz, de már jó kiinduló pontot ad. Az egyes kockázati tényezőket

egymáshoz hasonlítva határozzuk meg a gyenge láncszemeket, azokat a pontokat,

ahol a legcélszerűbb védekezni. Ezt a folyamatot nevezzük kockázatelemzésnek

vagy kockázatmenedzselésnek, nevében is megkülönböztetve a

Page 2: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

kockázatbecsléstől. A diplomamunka célja az aktuális kockázatelemzési

módszertanok áttekintése, különös tekintettel a mennyiségi módszertanokra.

• Témavezetői vélemény

A kockázatelemzés az üzleti célok elérése érdekében a kockázatok megértéséről

és a jelentős kockázatok azonosításáról, kezeléséről szól; egy strukturált

megközelítés a bizonytalanság kezelésére, amely stratégiák kidolgozásával

mérsékli a kockázatokat. Ilyen stratégiák lehetnek: a kockázatok átruházása egy

másik félnek, kockázatok elkerülése, a kockázatok negatív hatásainak

csökkentése, illetve egy bizonyos kockázat szint alatt a következmények

elfogadása. A diplomamunka célja az aktuális kockázatelemzési módszertanok

áttekintése volt, különös tekintettel az informatikai fejlesztésekben rejlő

kockázatokra. A diplomamunka első fejezete a kockázatkezelés elméleti alapjait

foglalja össze: fajtái, a kockázat forrásai, a kockázatmenedzsment életciklusa, stb.

A második fejezet a kockázatelemzés módszereit taglalja, részletesebben

vizsgálva az Ishikawa, a hibafa, az eseményfa, a Bayes-i hálók, a Pareto, és az

FMEA módszereket. A leírások korrektek, a példák szemléletesek. A harmadik

fejezet egy példa projektet ismertet. A negyedik fejezet a teljes projektre

vonatkozóan egy Pareto-Fishbone-FMEA kockázatelemzést mutat be. Különösen

tetszett az FMEA részletezése. További példaként a jelölt az utolsó fejezetben a

rendszer tesztelésének kockázataival foglalkozik. Az elemzés korrekt és érthető,

azzal a megjegyzéssel, hogy az idézett [14] cikkben a riportalany hibás adatokat

közölt. A helyes értékek:

A sikerességet az „on time, on budget, fully functional” mérőszámok, a bukást a

„canceled or never used” mérőszámok, a problémás eseteket a „late, over

budget, and/or less than promised functionality” jellemzik. Az okok sokrétűek, az

egyik elsődleges ok valóban az említett komplexitás és a rosszul feltárt

követelmények.

Page 3: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

2. Billinger Sándor: SOAP web szolgáltatások automatikus tesztelése J2EE

környezetben

• A diplomamunka típusa: MSC diplomamunka

• Védés dátuma: 2011 június

• A téma rövid leírása

Napjainkban az informatikai szektort erőteljes verseny jellemzi. Jelentős

versenyelőnyre tehet szert az a szoftverfejlesztő szervezet, amely a szoftver

termék piacra kerülési idejét (time-to-market) valamint a fejlesztéshez szükséges

mérnöknapok számát le tudja csökkenteni amellett, hogy a szoftver minőségét és

megbízhatóságát garantálni tudja. Az automatikus szoftvertesztelés a néhány

emberév nagyságrendű projektek esetén kezd egyre jelentősebbé válni, mert

képes a fejlesztési ciklus hatékonyságát mindkét szempont szerint javítani a teljes

élettartamra vetítve. A tesztelési folyamat automatizálására számos megközelítés

és módszertan létezik. A felhasználói felületekkel szemben az API-t kiajánló

szoftver komponensek tesztelése jóval egyszerűbb és egzaktabb. A szakdolgozat

célja egy olyan SOAP web szolgáltatást (web service) kiajánló J2EE technológiával

készült szoftver komponens automatikus tesztelése, amely alatt MySQL adatbázis

található. Terveink szerint a tesztelő alkalmazás lehetőséget nyújt build és/vagy

deploy időben történő automatikus, minél teljeskörűbb tesztelésre. Fontos

követelmény, hogy a szoftver fejlődésével a tesztesetek módosítása és bővítése

bárki által egyszerűen megoldható legyen. Konkrét feladatok:

• Áttekintjük a J2EE környezetben SOAP web szolgáltatásra alkalmazható létező

tesztelési módszertanokat.

• Összefoglaljuk a teszteléssel szemben támasztott műszaki követelményeket.

• Konkretizáljuk a követelményeket egy minta J2EE web szolgáltatásra

vonatkozóan.

• A mintaalkalmazáshoz teszteseteket készítünk.

• Irányelveket fogalmazunk meg a szoftver fejlesztői számára az időközben

bekerülő új funkciók tesztelésének kialakításához.

• Elemezzük a továbbfejlesztési lehetőségeket a hatékonyság mentén.

• Témavezetői vélemény

A diplomamunka témája web szolgáltatásokat kiajánló J2EE technológiával

készült szoftver komponensek tesztelését támogató szoftverkörnyezet (angolul:

test harness) kialakításának vizsgálata és megvalósítása volt. A dolgozat négy

fejezetből áll. Az első, bevezető fejezet után a második fejezet a tesztelés

alapvető fogalmaival, módszereivel foglalkozik. A szerző az alábbi kérdéseket

válaszolja meg:

• Mi a szoftverminőség és miért fontos?

• Miért kell tesztelni?

Page 4: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

• Mit csinál pontosan egy szoftvertesztelő?

• Melyek a jó szoftvertesztelő alapvető tulajdonságai?

• Melyek a tesztelés legfontosabb alapelvei?

• Hogyan illeszkedik a szoftverfejlesztési életciklusba a tesztelés?

• Melyek a legfontosabb életciklus-modellek?

• Milyen a tesztelés folyamat életciklusa? Melyek a leggyakoribb kilépési

feltételek?

• Milyen a leggyakoribb tervezési technikák?

• Milyen szoftverhibák léteznek? Mekkora a költségük?

• Melyek a tesztelés szintjei?

• Milyen tesztelési módszerek léteznek?

• Milyen tesztjelentési dokumentumokat szoktunk írni?

• Hogy néz ki egy hiba életciklusa?

• Mikor és hogyan automatizáljunk?

A leírások érthetőek és korrektek, apró hiányosságokkal. A harmadik fejezet a

tesztelést támogató szoftverkörnyezet felépítését tárgyalja. A tesztrendszer egy

szerverből és virtuális gépekből áll. A futtató rendszer Hudson, amihez egy XML

alapú tesztforgatókönyv-tárház társul. A teszt szkriptekben EJB fürtök tesztelése is

megadható. A konfigurációkezelés SVN, az egész rendszer rendkívül jól

paraméterezhető. A szerző konkrét példákon keresztül mutatja be az

egységtesztelést, a specifikáció-alapú tesztelést (a távolról elérhető és rejtett

funkcionalitások tesztelését egyaránt). A teszt harness felépítését átgondoltnak és

jól megvalósítottnak vélem, csakúgy, mint az összefoglalásban említett

továbbfejlesztési lehetőségeket.

Page 5: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

3. Boldizsár Szilárd: Az ELTE IK hálózati infrastruktúra sérülékenység-

vizsgálata

• A diplomamunka típusa: MSC diplomamunka

• Védés dátuma: 2012 június

• A téma rövid leírása

Napjaink információáradatában rendkívül fontos, hogy az információ biztonságára

is odafigyeljünk: számos olyan adat kering akár a világhálón, akár a lokális

hálózatokban, amelynek rossz kezekbe kerülése gazdaságilag/politikailag

érzékenyen érintheti annak tulajdonosát. Emiatt a hálózatba kapcsolt

rendszereknél különösen oda kell figyelni a kívülről, hálózaton keresztül indított

támadások megakadályozására. Számos olyan szoftveres és hardveres lehetőség

van, amelyekkel adatainkat megvédhetjük (pl.:tűzfal, kódolás), azonban szintén

jelentős azon hackerek száma, akik kifejezetten eme eszközök megkerülésén

dolgoznak, ezáltal hozzáférve a bizalmas adatokhoz.

A hálózati sérülékenység vizsgálat (Network Vulnerability Assessment) célja, hogy

a belső és DMZ hálózaton lévő összes IP alapú host (számítógép, aktív eszköz,

stb.) felismerése és kritikusság szerinti kategorizálása után az ismert

sérülékenységekkel szembeni védelmét megállapítsuk.

A diplomamunka célja az ELTE Informatikai Kar hálózatának biztonságtechnikai

szempontok szerinti sérülékenység vizsgálata, a lehetséges kiskapuk felfedése,

illetve egy komplex biztonsági értékelés. A dolgozatban számos olyan módszert

szeretnék bemutatni, amely egy esetleges külső támadást szimulálna.

• Témavezetői vélemény

A dolgozat témája az ELTE IK hálózatának sérülékenységi elemzése. A hálózati

sérülékenység vizsgálat (Network Vulnerability Assessment) célja, hogy a belső és

DMZ hálózaton lévő összes IP alapú host (számítógép, aktív eszköz, stb.)

felismerése és kritikusság szerinti kategorizálása után az ismert

sérülékenységekkel szembeni védelmét megállapítsuk.

A diplomamunka 7 fejezetből áll. Az első, bevezető fejezet után az

információbiztonság alapjairól kapunk áttekintést: rövid történet, az

információbiztonság részei, az információ, mint a védelem tárgya elemei, a CIA

elv, biztonsági alapfogalmak (sérülékenység, fenyegetés, kockázat, védelmi

intézkedés, azonosítás, hitelesítés, PreDeCo elv). Az ismertetések világosak,

szabatosak. A 3. fejezet az OSI és a TCP/IP modelleket, az IEEE 802.3 és IEEE

802.11 hálózati szabványokat, az LLC és MAC protokollok, a DNS protokoll (RFC

1034 és 1035 névtér leírásokkal), az ARP, SMTP, SNMP protokollok ismertetését

tartalmazza. A 3.3 fejezet hálózatokról, topológiákról, az IP címosztályok

felépítéséről szól. A leírások pontosak, jól érthetőek. A 4. fejezet

Page 6: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

kockázatmenedzsmentről szól. Az ismertetés tartalmazza az információbiztonság

folyamatának elemeit, és azok részletes kifejtését (vagyonleltár, sebezhetőség-

vizsgálat, kockázatértékelés, védelmi intézkedések tervezése). A kockázatelemzés

leírása tartalmazza az ismertebb kvantitatív és kvalitatív módszereket, a védelmi

intézkedések típusait. Az 5. fejezet a hálózati sérülékenységeket, a különböző

fenyegetéseket foglalja össze (hálózati oldal: ARP spoofing, IP spoofing, source

routing, fragment attacks, SYN flood, smurf attack, ICMP flood, ping of death,

ICMP redirecting; egyéb: data remanence, tunneling, targeted data mining,

backdoor, cracking, malicious code, spying, shoulder surfing, emanation, MIM

type attacks, dumpster diving, eavesdropping, impersonalization, mobile code,

object reuse, buffer overflow, covert channel, social engineering, sniffing),

különös tekintettel az ARP és DNS mérgezésre, a man-in-the-middle támadásra, a

NAT/PAT forwarding-ra, a tunneling technikákra. A leírások nagyon alaposak,

pontosak, nagy részük az internetről való. Az 5.2 fejezet a webes biztonságról

szól: a HTTP protokollról, a sütikről (cookies), és a webes sérülékenységekről (XSS,

injection hibák, RFI, CSRF, directory traversal, azonosítás). A 6. fejezet tartalmazza

a kari hálózaton végzett esettanulmányt. A támadásokat 3 irányból

kezdeményezte: vezetékes LAN, Wifi, és internet. A nyilvános gépteremben a LAN

támadás során root jogosultság szerezhető, amiből valószínűsíthető módon a kar

egészére vonatkozó rendszergazda jelszó lenne kinyerhető. A jelölt a Wifi elleni

támadáshoz az easy-creds eszközt használta, megmutatta, hogy a sikeresen

alkalmazott technika segítségével hogy lehetne ETR azonosítókat szerezni. Az

internetes támadáshoz a serversniff lett kiválasztva (gépek), majd a portok

vizsgálatát az nmap végezte (people.inf.elte.hu). A célgép file-rendszerét a

DirBuster térképezte fel. A web-szolgáltatások megfelelőségének átvizsgálását a

nikto és az armitage nevű program végezte. A jelölt végül a pandora szelencéjét

vizsgálta. Ezeken a szervereken exploit lehetőség nem volt. További vizsgált

gépek: ujmail, psztsrv, pszt. Ezen legutóbbi gép számos sérülékenységet rejteget.

A diplomamunka mind tartalmilag, mind formailag messzemenően kielégíti a

kívánt követelményeket. Kiemelném a vizsgálatok átgondolt, strukturált

ismertetését.

Page 7: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

4. Debreczeni László: ITIL folyamatokat támogató web portál

• A diplomamunka típusa: BSC szakdolgozat

• Védés dátuma: 2012 január

• A téma rövid leírása

Az információtechnológia terjedésével mind az infrastruktúra, mind az

informatikai rendszerek egyre mélyebben épültek be a vállalatok, intézmények

működésébe, egyfajta függés alakult ki az információtechnológiai rendszerektől,

illetve az azok által biztosított szolgáltatásoktól. A helyzet kezelésére kozták létre

az IT Infrastructure Library-t (ITIL, IT Infrastruktúra Könyvtár), azzal a céllal, hogy

gyűjtse össze a jól bevált gyakorlati tapasztalatokat, és azokat felhasználva a

kormányzati területen javítsák az informatikai infrastruktúra működtetését. Az

informatikai szolgáltatásmenedzsment egymással együttműködő folyamatok

együttese, amelynek feladata, hogy az ügyféllel megállapodott szolgáltatási

szinteken biztosítsa a szolgáltatás minőségét. Az ITIL definiálja a

kulcsfolyamatokat és egy keretet ad az informatikaszolgáltatás irányítására. A

diplomamunka az ITIL által javasolt folyamatok webes támogatára szolgáló portál

tervezését és megvalósítását tűzi ki célul.

5. Erdélyi Zsolt: Ruby programok hívási gráf alapú vizsgálata

• A diplomamunka típusa: BSC szakdolgozat

• Védés dátuma: 2012 január

• A téma rövid leírása

A dolgozat témája hívási gráf alapú vizsgálati módszerek kidolgozása és integrált

eszköz formájában történő megvalósítása Ruby programokhoz.

A program legfontosabb céljai:

• hívási gráf felépítése a szintaxis elemzésével,

• felesleges kódrészletek (osztályok, metódusok) felderítése a programkód egyszerűsítése érdekében,

• hatásanalízis, azaz egy adott helyen történő programkód változás hatásainak megállapítása a program egészére nézve,

• a tesztek fedettségi mértékének meghatározása.

A szoftver megvalósítása során felhasznált eszközök:

• TDD (tesztvezérelt fejlesztés, Rspec és Cucumber keretrendszerekben),

• Metric_fu (metrikák előállítását elősegítő munkák gyűjteménye),

• Sinatra (webalkalmazás készítését elősegítő eszköz),

• Raphaël-JavaScript Library (vektor grafikák készítését elősegítő eszköz),

Page 8: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

• Ruby2ruby (szintaktikai elemzést elősegítő eszköz).

6. Falucskai István: Tesztautomatizálás az automotívban

• A diplomamunka típusa: BSC szakdolgozat

• Védés dátuma: 2011 június

• A téma rövid leírása

Az alkalmazás kizárólag az OpenNav projekt tesztelésére alkalmas és azon belül is

célirányosan az OpenNav API-ban lévő hibák kiszűrését hivatott szolgálni. Hiába

képes az összes OpenNav API parancs minden lehetséges paraméterezésének

legenerálására, nem lehet túlbecsülnünk az eszköz értékét. Egy általános

folyamatos tesztelés nem alkalmas kiváltani a célirányos teszteléseket. Könnyen

belátható, ha a funkcionális tesztelésekből ismert határérték tesztelést nézzük. A

mi esetünk ugyanis az függvényparaméterek mindig véletlenszerűen választódnak

ki így nincs semmi garancia az ilyen jellegű esetek vizsgálatára. Felhasználását is a

tesztelők helyett inkább a fejlesztőknek ajánljuk, mivel úgy lett kialakítva, hogy a

NaviServer többek között debug módban futhat és így a hiba fellépésekor azonnal

sok információ áll rendelkezésre, amivel esetenként megspórolható a hiba

reprodukciójának meghatározására fordított energia.

7. Gonda Zoltán: Webalkalmazások védelme

• A diplomamunka típusa: MSC diplomamunka

• Védés dátuma: 2011 június

• A téma rövid leírása

Az elmúlt években egyértelműen megfigyelhető a különböző web-alapú

technikák, illetve webes felülettel (is) rendelkező alkalmazások térhódítása.

Azonban ez a technológia egy új szemléletmód kialakulását is szükségessé teszi.

Ezek az alkalmazások ugyanis más alapelvek mentén működnek, mint a

hagyományos deszktop alapú szoftverek. Sajnos a fejlesztők azonban sok esetben

nincsenek felkészülve ezekre a régi-új kihívásokra, nem ismerik a webes

alkalmazásfejlesztés biztonsági kritériumait, a potenciális sérülékenységeket. A

diplomamunka célja egyrészt rávilágítani ezekre a problémákra, bemutatni a

leggyakoribb biztonsági hibákat, amelyek webes környezetben előfordulnak.

Másrészt megmutatni hogyan lehet ezeket a hibákat kiküszöbölni, illetve ha erre

már nincs lehetőség, hogyan lehetséges mégis biztonságossá tenni egy kész

webalkalmazást. A dolgozat bemutatja az úgynevezett webalkalmazás-tűzfalak

(Web Application Firewall – WAF) koncepcióját, valamint konkrét termékek

vizsgálatával leteszteli, mennyire képesek ezek a szoftverek megvédeni egy

sérülékeny alkalmazást.

• Témavezetői vélemény

Page 9: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

A diplomamunka témája a webes felülettel is rendelkező alkalmazások biztonsági

kritériumainak, sérülékenységeinek elemzése, a kiküszöbölésükre irányuló

törekvések összefoglalása, a Web Application Firewall koncepciójának

tanulmányozása volt. A bevezetés utáni második fejezet a webes szoftverek

biztonsági kérdéseit taglalja: fekete és fehér listás szűrést, helytelen

inputvalidációt, a kimenet helytelen kódolását, információszivárgást, operáció

rendszer szintű injekciót, hibás szál-szinkronizációt. A szerző minden problémához

megelőzési útmutatót is ad. Megjegyzem, hogy a 12. oldalon lévő példa

megtalálható a http://cwe.mitre.org/data/slices/750.html lapon is, amit

hivatkozni kellett volna. A 2.3 rész a kritikus állapotadatokhoz való külső

hozzáférés, a kódinjekció és a helytelen erőforrás-leállítás (felszabadítás)

veszélyeit taglalja, szintén megelőzési útmutatóval. A 2.4 rész a hibás védekező

technikákról szól (bedrótozott jelszó, szerver oldalhoz tartozó biztonság kliens

oldalra történő kényszerítése). A bemutatott példa szemléletes (lásd

http://cwe.mitre.org/data/definitions/602.html). A harmadik fejezet napjaink

operációs rendszereinek és böngészőinek biztonsági hiányosságait foglalja össze.

A negyedik fejezet a leggyakoribb webes sérülékenységeket mutatja be az

OWASP alapján: XSS (idézve a www.cert.hu oldalról), injekciós hibák,

inputvalidáció nélküli átirányítás, közvetlen objektumhivatkozás, CSFR, nem

megfelelő biztonsági beállítások, hitelesítési mechanizmusok hibái, tárolás

helytelen titkosítással, nem biztonságos kommunikáció, URL hozzáférés-

ellenőrzés gyengeségei. A felsorolt sérülékenységek elleni védelmek leírásai

szépek és szemléletesek. Az ötödik fejezet a webalkalmazás tűzfalak (WAF)

koncepcióját tárgyalja, két konkrét alkalmazást mutatva be (Aqtronix WebKnight,

ModSecurity). A hatodik fejezetben a jelölt összehasonlítja az iménti WAF

alkalmazásokat a FoundStone Hacme Bank 2.0 online mintaportálon. Az

összehasonlító elemzés a dolgozat legérdekesebb része, a jelölt hozzáértését

tanúsítja. A 75. oldal tartalmazza a tesztek rövid leírását, a konkrét tesztek a

következő 35 oldalon keresztül kerülnek bemutatásra. A 7. fejezet a tesztek

alapján levont konklúziókat tartalmazza, amelyekkel messzemenően egyetértek.

8. Horváth Nóra: Test automating in a distributed environment

• A diplomamunka típusa: BSC szakdolgozat

• Védés dátuma: 2011 június

• A téma rövid leírása

The final thesis is going to include design, testing, integration and documentation

of a distributed test framework. The main purpose of this framework is to support

automated testing of specific distributed medical systems, where clients are

spread over the network. Functionalities will include among others: control test

execution from command line and web based user interface, transfer test log files

and other test results to the central test station. The framework shall be multi-

Page 10: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

platform (Linux, Windows), easily extensible and implementation of new test

scenarios and test cases shall be convenient.

9. Jenei Gábor: Naplóüzenetek feldolgozása statisztikai módszerekkel

• A diplomamunka típusa: BSC szakdolgozat

• Védés dátuma: 2012 június

• A téma rövid leírása

A naplókezelésben az egyik legkritikusabb probléma a születő hatalmas

adatmennyiség feldolgozása, amelyet különösen nehézzé tesz, ha a naplóüzenet

egyszerű strukturálatlan szövegként jelenik meg. Bár léteznek naplózó technikák,

melyekkel strukturált üzeneteket továbbíthatunk – megkönnyítve a későbbi

feldolgozást –, ezek használata többnyire körülményes és csak szűk területen

terjedtek el, a jellemző naplózási forma még mindig az egyszerű szöveges üzenet.

A syslog-ng-hez létezik "patternize" néven egy klaszteranalízis technikán alapuló

megoldás. Ez a syslog-ng-hez használható minta-adatbázist képes előállítani egy

naplóüzenet-halmaz alapján, melynek segítségével effektíven csoportokba tudjuk

sorolni az üzeneteket időigényes kézi feldolgozás nélkül, ezzel jelentősen

megkönnyítve a későbbi naplókezelést.

Ez a megoldás azonban még nagyon gyerekcipőben jár. Az egyik lehetséges

javítási irány a felhasznált klaszteranalizáló algoritmuselemzése, vizsgálata. A

jelenleg használt algoritmus Risto Vaarandi SLCT programjához kifejlesztett

megoldás, azonban léteznek más klaszterező algoritmusok is, melyek

alkalmazhatóak lehetnek naplóüzenet-jellegű adathalmaz csoportosítására. A

dolgozat egyik feladata ennek felderítése, és egy vagy több egyéb algoritmus

implementálása, valamint a létező keretrendszerbe történő beillesztése, az

eredmények összehasonlítása, vizsgálata.

10. Juhász Attila: Objektumközpontú programtervezési minták katalógusa

• A diplomamunka típusa: MSC diplomamunka

• Védés dátuma: 2011 június

• A téma rövid leírása

Egy főként .NET, illtve C# alapú programkódokkal kapcsolatos tervezési minták

katalógusát tartalmazza a dolgozat. Részletesen áttekinti, rendszerezi az egyes

mintákat, példakódokkal ellátva. Ezen minták egy-egy ismétlődő szoftver-

tervezési probléma megnevezett, újrafelhasználható megoldásai, melyek

kísérletet tesznek arra, hogy lerögzítsék, újrafelhasználhatóvá tegyék a jól bevált

objektumorientált terveket, architektúrákat. A részletesen kifejtett tervezési

minták leírása lehetővé teszi, hogy a tervezők rugalmasabb, újrahasznosítható

programterveket készítsenek, felhasználva a katalógusba foglalt minták elemeit.

Page 11: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

Ezen minták használatával olyan (objektumorientált) programkódot lehet

készíteni, mely egyrészről felhasználja más fejlesztőknek egy adott problémára

kidolgozott vázlatát, ráadásul a kész kód rugalmassága, különböző helyzetekhez

idomítása is rutinmunkának számít. Először bemutatásra kerülnek a létező

minták, illetve, hogy ezek miként segítenek az objektumközpontú rendszerekben

újra és újra visszatérő problémák megoldásában. Az egyes minták értékelésre

kerülnek a dolgozatban. Bemutatásra kerül, hogy ezek a minták hogyan

illeszkednek a szoftverfejlesztés folyamatába, és hogyan oldhatóak meg velük a

leghatékonyabban saját egyéni tervezési gondjaink. Minden mintánál leírásra

kerül, hogy milyen körülmények között alkalmazható, milyen más tervezési

megkötéseket kell figyelembe venni, illetve hogy az adott minta nagyobb terv

részeként való felhasználásánál milyen következményekkel és mellékhatásokkal

kell számolni. Minden minta létező rendszeren, valós életből vett példákon alapul.

Mindegyikhez tartozik kód is, amely bemutatja, hogyan valósítható meg a minta

az olyan objektumközpontú nyelveken, mint a C#, vagy a VB.NET. A dolgozat

választ ad arra a kérdésre, hogy „Miért hatékonyabb egy tapasztalt tervezési

mintákat használó programozó, amit egy kezdő, aki nem használ ilyen

elemeket?”, illetve hogy „Hogyan lesz valakiből profi rendszertervező?”

Megválaszolásra kerül az is, hogy „hogyan segít a tervezésben a DP”.

• Témavezetői vélemény

A diplomamunka célja az objektumközpontú tervminták általános bemutatása

mellett C# programkód részletekkel bemutatni azok .NET környezetben történő

használatát, és egy konkrét vállalati alkalmazás esetében demonstrálni

alkalmazhatóságukat. A dolgozat első, bevezető fejezete az objektum-orientált

alapfogalmakat, a tervminták magyarázatát, előnyeit tartalmazza. A második

fejezet a GOF minták katalógusát taglalja: Létrehozási minták

• Gyártófüggvény (factory)

• Egyke (singleton)

• Elvont gyár (abstract factory)

• Prototípus (prototype)

• Építő (builder)

Strukturális minták

• Illesztő (adapter)

• Híd (bridge)

• Összetétel (composite)

• Dekorátor

• Homlokzat (facade)

• Pehelysúlyú (flyweight)

• Helyettes (proxy)

Viselkedési minták

Page 12: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

• Felelősség lánc (chain of responsibility)

• Parancs (command)

• Értelmező (interpreter)

• Bejáró (iterátor)

• Közvetítő (mediátor)

• Emlékező (memento)

• Megfigyelő (obserever)

• Állapot (state)

• Stratégia (strategy)

• Sablon függvény (template method)

• Látogató (visitor) A harmadik fejezet az anti-tervmintákkal foglalkozik. A leírások érthetőek,

korrektek, a példák szemléletesek. Említést érdemel, hogy a szerző saját vállalati

tapasztalatából merít példát a tervminták gyakorlati alkalmazhatóságára.

11. Kasza Péter: Képek távolságmértékei

• A diplomamunka típusa: MSC diplomamunka

• Védés dátuma: 2011 június

• A téma rövid leírása Napjainkban egyre fontosabb szerepet játszanak a képfeldolgozásra épülő

eszközök és alkalmazások. Alapvető probléma a képfeldolgozási alkalmazások

terén az emberi szemléletnek megfelelő távolságmértékek kialakítása.A dolgozat

célja az elterjedt módszerek ismertetése és matematikai jellemzése. Emellett

célom egy robusztus és gyorsan számítható mérték konstruálása, amelyet egy

gyakorlati problémán keresztül is szeretnék bemutatni.

• Témavezetői vélemény

A diplomamunka témája képek közötti távolságok mérésének vizsgálata volt,

különös tekintettel a mátrixnormák, térkitöltő görbék és momentumok

tanulmányozására. A dolgozat négy fejezetből áll. Az első fejezet tartalmazza a

probléma felvetését, a jelölésrendszert, és a vizsgálandó képleíró

tulajdonságokat. A metrikus posztulátumok Tversky kritikáinak ismertetését

illetően ([1]) hiányoltam annak vizsgálatát, hogy vajon milyen képtávolság-

függvény lehet pszeudometrika, szemimetrika, és kvázimetrika. A háromszög-

egyenlőtlenség elemzésekor a dolgozat lineáris terek szeminormáinak

vizsgálatára tér át, amit előtte definiálni kellett volna (másrészt leírni, hogy

mindezt miért lehet megtenni). A második fejezet mátrixnormákról szól. Az

ismertetés érthető és korrekt, néhány helyen apró elírásokkal (pl. a 21. oldalon 3

elírás). Az a teszteredmény, miszerint az adott telítettség-függvény mellett a

mátrixnormával definiált távolság nem tartja szem előtt a képek topológiai

tulajdonságait, valamint a p normák esetén a p növekedtével a távolságfüggvény

Page 13: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

emelkedő mértékben büntet a különböző pixelek száma és az eltérések mértéke

szerint, helytálló, kár hogy minderről nem készült alaposabb statisztikai elemzés a

vizsgált 2000 elemű kínai karakterkészleten. A harmadik fejezet a térkitöltő

görbékkel megadható távolságfüggvényeket elemzi. Az ismertetés világos és

érthető, de helyenként túlzottan tömör. A Hilbert, Peano és Lebesgue görbék

mellett említést érdemelt volna a Hilbert görbe Moore-variánsa, amikor a kezdő

és a végpont azonosan a (½,0) pont:

A Peano görbéket illetően is ismertesek variánsok:

, , , stb.

Lényeges észrevétel volt, hogy amíg a Hilbert és Peano görbék közös

tulajdonsága, hogy sehol sem differenciálhatóak, addig a Lebesgue-féle térkitöltő

görbe erre ellenpélda (3.4.2. tétel). Továbbá, a Hilbert görbével ellentétben,

melynek bármelyik része újra térkitöltő görbe, a Lebesgue görbe esetére az állítás

nem igaz. Fontos megjegyezni, hogy nem létezik mindenhol differenciálható

térkitöltő görbe. A szekvenciákra vonatkozó metrikákról a dolgozat nagyon

szűkszavú. Hiányoltam a sztringek távolságmetrikáinak alaposabb ismertetését.

Mindazonáltal korrekt a szerző azon megjegyzése, miszerint térkitöltő görbékkel

az invariáns tulajdonságokat (geometriai transzformációk) nehéz kezelni. A

negyedik fejezet a momentumokat tárgyalja, elsősorban a momentumok alapján

történő képrekonstrukcióra fókuszálva. Ismert, hogy a képek végtelen számú

momentumukból teljesen rekonstruálhatóak. A kérdés az, hogy adott hosszúságú

momentumlistából milyen paraméterek mentén milyen minőségű kép

rekonstruálható. A geometriai momentumok (a többi nem ortogonális

momentummal egyetemben) rekonstrukciója általában nehéz. A szerző [2]

alapján ismertet egy lehetséges megoldást. A probléma továbbra is az, hogy a

folytonos ortogonális momentumok lényegesen rövidebb momentumsorozatból

képesek az eredetihez nagyon hasonló kép visszaállítására. Újabb eredmények azt

mutatják [3], hogy a geometriai momentumok {xpyq : pϵN, qϵN} bázisának

exponenciális tagjaira alkalmazott Schlick approximációval a rekonstrukció

gyorsítható. Lényeges megjegyzés a dolgozatban, hogy geometriai momentumok

segítségével (a kép súlypontjának felhasználásával centrális momentumok

számíthatók) eltolásra és forgatásra történő invariancia is elérhető. Ortogonális

momentumokat alkalmazva rövid momentumsorozatból is jó minőségű kép

rekonstruálható. Hátrányuk, hogy korlátos tartományon definiáltak ([-1,1] a

Legendre momentumoknál, egységsugarú körlemez a Zernike és pszeudo-Zernike

momentumoknál), a koordináta-transzformációk számítási költsége magas,

Page 14: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

továbbá geometriai és approximációs hibák is felléphetnek. Sajnos az elméleti

ismertetés mellet a dolgozat konkrét megvalósítást és azokról elemzéseket nem

tartalmaz. A dolgozat említés szintjén foglalkozik a Fourier transzformációval és a

wavelet transzformációval, mint lehetséges egyéb megközelítésekkel. Hasonlóan,

a dolgozat megemlíti az iterált függvényrendszerekkel történő fraktál-

képtömörítések lehetőségét is. A referenciák a témában való alapos elmélyülésre

utalnak, ámbár megadásuk helyenként hiányos. A vállalt robusztus és gyorsan

számítható mérték konstruálása elmaradt.

[1] Tversky, A: Features of Similarity, Psychological Review, 84, pp. 327-352, 1977.

[2] Ghorbel, F, Dhahbi, S, Mezhoud, R: Reconstructing with geometric moments,

Proc. Int. Conf. Machine Intelligence: ACIDCA-ICMI’05, 2005.

[3] Mukundan, R: Fast Computation of Geometric Momemts and Invariants Using

Schlick’s Approximation, International Journal of Pattern Recognition and

Artificial Intelligence, IJPRAI, vol. 22, no. 7, pp. 1363-1377, 2008.

12. Kovács Krisztina Magdolna: Kockázatelemző alkalmazás

• A diplomamunka típusa: BSC szakdolgozat

• Védés dátuma: 2011 június

• A téma rövid leírása

A szakdolgozat témáját képező program célja egy újszerű kockázatelemzési

módszertan alkalmazásszintű megvalósítása. Könnyen értelmezhető, és a

mindennapos munkavégzést támogató eszközt kíván nyújtani. A program

jellegéből fakadóan alkalmas kell, hogy legyen nagy mennyiségű adat tárolására és

kezelésére, mely adatbázis használatát kívánja meg. Képesnek kell lennie

kockázatok paraméterek által történő felvételére és ezek alapján számítások

végzésére, melyek révén megtudható, hogy az adott eredmények fényében szükség

van-e intézkedésre. A felhasználók által alkalmazott és megadott, illetve

kockázatelemzéshez nélkülözhetetlen adatok tárolásához szükség lehet

reprodukálható, sémaként szolgáló adatbázis struktúra kialakítására, mely lehetővé

teszi az adatcsoportok kategorizálását. Amennyiben az adatbázis rendelkezésre áll,

és a felhasználók rendelkeznek írási, olvasási és végrehajtási jogokkal is, az

alkalmazás felületén keresztül elérhető funkcióknak támogatniuk, gyorsítaniuk kell

a munkavégzés folyamatát. A szakdolgozat feladata tehát a fentiekben tervezett

program megvalósítása, mely a következő feladatok elvégzését jelenti:

• adatbázis struktúra tervezése, felépítése MySQL Server 5.5 segítségével,

melynek révén a program futási időben, igény szerint képes olyan adatbázisok

létrehozására és feltöltésére, melyek a program alapvető működéséhez

Page 15: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

szükséges adatokat tartalmazzák.

• kapcsolati osztály megvalósítása, mely az adatbázisszerver és az alkalmazás

közti kommunikációt szolgálja.

• felhasználói felület megvalósítása, melyen keresztül elérhetőek a kívánt

funkciók.

13. Kovács Márton: RUNtime - mintaprojekt megvalósítása és elemzése

• A diplomamunka típusa: MSC diplomamunka

• Védés dátuma: 2011 június

• A téma rövid leírása

A diplomamunka célja egy mintaprojekt keretei között megmutatni és elemezni a

szoftverfejlesztés és tesztelés különböző módszereit, eszközeit, különös

tekintettel a minőségi aspektusokra. A mintaprojekt egy futóverseny

lebonyolításának szoftveres támogatását jelenti (webes portál a regisztrációhoz,

szponzorációhoz; riport generátor, kommunikációs szerver GPS szatellit

támogatással, CRM, számlázó-rendszer). A minőségbiztosítás – tesztelés tárgyalja

a menedzsment vonatkozásokat, a specifikáció-alapú tesztelési technikákat, a

struktúra-alapú technikákat, de érintőlegesen a defektus és tapasztalati

technikákat is. Külön részt szentelünk a statikus és dinamikus elemzésnek, a

funkcionális, használhatósági, elérhetőségi, hatékonysági, biztonsági,

megbízhatósági, karbantarthatósági tesztelésnek. Mindezekhez konkrét eszközök

támogatását is igénybe vesszük.

• Témavezetői vélemény

A diplomamunka célja néhány szoftvertesztelési módszertan egy mintaprojekten

keresztüli bemutatása volt. A bevezető után a dolgozat második fejezete rövid

áttekintést ad a tesztelés alapjairól. A harmadik fejezet néhány tesztelési

módszert ismertet. A jelölt először a teszttervezést és tesztdokumentálást (IEEE

829), a követelménydokumentálást (FURFS) és az átvizsgálásokat mutatja be,

utóbbi kettőt konkrét, átgondolt példákkal. A 3.2 alfejezet az egységtesztelésről

szól, majd a cxxtest alkalmazáson keresztül láthatunk konkrét teszteseteket. A 3.3

alfejezet a funkcionális tesztelést tárgyalja. A szerző szerint „az elnevezés azért

megtévesztő, mert minden teszt, ami elsősorban a funkcionalitást vizsgálja,

funkcionális tesztnek minősül, például az egységtesztelés is a funkcionális

tesztelés egy fajtája.”. Valójában ISTQB szerinti megközelítésben specifikáció-

alapú és struktúra alapú módszerek léteznek, függetlenül attól, hogy mi a SUT. A

fejezetben a szerző ír a teszt-vezérelt fejlesztésről, tesztautomatizálásról. A 48.

oldalon említett folyamatos integrációs szerver elnevezés helyesen folytonos

integrációt támogató szerver. A funkcionális tesztmódszertanra adott példa

ötletes, a python nyelvű környezet a célnak megfelelő. A teljesítménytesztek

Page 16: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

tervezése és ismertetése szintén korrekt. A 3.4 fejezet a statikus tesztelésről szól,

amit a szerző a Cppcheck és a Flexlint eszközök segítségével mutat be. Formai

oldalról megjegyezzük, hogy a tartalomjegyzékben lévő és a valódi oldalszámok

nincsenek összhangban. A dolgozat egészének megítélésekor egyrészt egy magas

szintű C++ ismertekkel rendelkező fejlesztőt és átlagos módszertani ismeretekkel

rendelkező tesztelőt ismerhettünk meg. A jelölt a vállalt célkitűzéseket sikeresen

megvalósította.

14. Madarász János: Oktatási segédanyag készítése diszkrét matematikához

Sage támogatással

• A diplomamunka típusa: MSC diplomamunka

• Védés dátuma: 2011 június

• A téma rövid leírása

A Sage egy olyan nyílt forráskódú (GNU GPL) programcsomag, ami a modern

matematikai programozás számos aspektusát támogatja: algebra, kombinatorika,

numerikus matematika (alapja a GSL, SciPy, NumPy), kalkulus (alapja a Maxima és

a SymPy), stb. Néhány lényeges jellemvonás:

• Notebook interfész grafikával, szöveg annotációs lehetőséggel, böngésző támogatással – Firefox, Opera, Konqueror, Safari, https protokollal. IPython-ra épülő parancssoros interfész.

• Az alapul szolgáló Python programozási nyelv egyaránt támogatja a procedurális, funkcionális és objektumorientált technikákat. Lehetőség van többmagos processzorok használatára, a párhuzamos és az elosztott programozásra.

• 2D és 3D grafika adatokra és függvényekre. Ritka mátrixreprezentációk. Többváltozós statisztkia (R, SciPy). Képfeldolgozást támogató eszközök. Gráfok megjelenítése és gráfalgoritmusok. Számelméleti függvények. Komplex számok, tetszőleges pontosságú aritmetika, szimbolikus számítási lehetőségek.

• Import és export adatszűrők adatokhoz, képekhez, videóhoz, hanghoz, CAD, GIS, dokumentum és biomedikai formátumok. Formulaszerkesztés, LaTeX-be ágyazhatóság.

• Twisted-del támogatott hálózati hozzáférés alapvető kiszolgálókhoz: SQL, Java, .NET, C++, FORTRAN. Protokollok: HTTP, NNTP, IMAP, SSH, IRC, FTP stb.

• Interfész az ismert komputeralgebra rendszerekhez: Mathematica, Magma, Maple.

A diplomamunka a diszkrét matematika oktatásához készített mintaprogramokon

keresztül mutatná be a nyelvi lehetőségeket.

• Témavezetői vélemény

Page 17: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

A diplomamunka célja az informatikus BSc és részben az MSc képzés során a

diszkrét matematika gondolatvilágához tartozó területekhez oktatást támogató

példaprogramok készítése volt Sage nyelven. A Sage egy ingyenes, nyílt

forráskódú komputeralgebra rendszer. Kiválóan alkalmas a BSc képzésben

előforduló mindennemű algoritmikus probléma vizsgálatára, megoldásának

demonstrálására. A dolgozat az alábbi területekhez kapcsolódó példákat,

algoritmusokat tartalmaz:

• Logika (ítéletkalkulus, rezolúció)

• Kombinatorika (permutáció, variáció, kombináció, ismétléssel és anélkül)

• Számelmélet (osztók száma, lineáris diofantikus egyenletek, Euler-féle φ függvény, gyors hatványozás, lineáris kongruenciák, kínai maradéktétel, maradékrendszerek, lánctörtek, diofantikus approximáció)

• Számítási modellek (Turing-gép, RAM gép)

• Gráfok (Euler-kör, Hamilton-kör, de Bruijn gráf, Kruskal algoritmus, Dijkstra algoritmus, véges állapotterű problémák modelljei, Prüfer kód)

• Polinomok (Maradékos osztás, lnko, Horner elrendezés, Lagrange interpoláció, titokmegosztás)

• Számfogalom (komplex számok, algebrai, trigonometrikus alak, mátrix reprezentáció, forgatás, kvaterniók, gyors kvaternió szorzás)

• Algebra (véges félcsoportok, csoportok, gyűrűk tulajdonságainak vizsgálatai)

• Kódolás (Polinomkód, Reed-Solomon kód, Huffman kód, Shannon kód, LZW, RSA kód)

A dolgozatban számos kisebb elírást találtam, a munka igazi ereje a

példaprogramokban rejlik. Különösen tetszett a rezolúció, a Turing-gép

szimulátor, a RAM-gép szimulátor és az LZW algoritmus megvalósítása.

15. Mészáros Zsófia: Java alkalmazások minőségellenőrzése

• A diplomamunka típusa: MSC diplomamunka

• Védés dátuma: 2012 június

• A téma rövid leírása

Bármilyen termék esetén – legyen szó egy egyszerű mp3 lejátszótól kezdve, egy

többfunkciós okostelefonig – elfogadhatatlan az az eljárás, hogy a gyártó gyenge

minőségű terméket adjon át a vásárló/megrendelő számára.

A szoftver is egy termék, tehát átadás előtt fontos minőségének ellenőrzése.

Kihagyhatatlan ez a lépés olyan szoftvereknél, ahol az üzembe helyezés után

felmerült hibák és hiányosságok következményei egyáltalán nem

elhanyagolhatóak, mint például egy orvosi vagy energetikai alkalmazás esetében.

A minőségellenőrzés kérdése nem csak egy új szoftver átadásakor merülhet fel.

Manapság a szoftverfejlesztési projektekben népszerű tendencia, hogy meglévő

rendszerek, komponensek adaptálásával történik a fejlesztés, mivel így a

Page 18: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

projektek költségei és nem utolsó sorban a rájuk szánt idő is jelentős mértékben

redukálható. Azonban egy szoftver minősége nem állandó, így szükség van

utólagos ellenőrzésre.

Egy szoftver esetén különböző minőségi szempontokat vizsgálhatunk, mint

funkcionalitás, megbízhatóság, karbantarthatóság, stb. A szoftver, mint termék

minőségi aspektusait az ISO/IEC 9126 szabvány tárgyalja. Természetesen nem

utolsó szempont a megrendelő elégedettsége sem.

A diplomamunka egyik célja bemutatni és összehasonlítani azokat a piacon

található és ingyenes eszközöket, amelyek segítségével egy Java alkalmazás

minősége mérhető, vizsgálható, meghatározható. Másik cél különböző, nyílt

forráskódú Java alkalmazások minőségi elemzése, az ehhez szükséges mérések

automatizálási lehetőségeinek vizsgálata, egyfajta minőségi kockázati profil

elkészítése.

• Témavezetői vélemény

A szoftverek minőségének biztosítása elkerülhetetlen ráfordítást jelent a

szoftveripari vállalkozásoknak és az informatikára épülő vállalatoknak egyaránt. A

diplomamunka célja Java alkalmazások statikus minőségellenőrzése volt:

• néhány ingyenes eszköz bemutatása és összehasonlítása,

• kérdőív tervezése minőségi kockázati profil elkészítéséhez,

• nyílt forráskódú Java alkalmazás minőségi elemzése.

A diplomamunka felépítése követi a kitűzött célokat. Az első rész az

alapfogalmakat tárgyalja: a minőség fogalmát, a szoftverkövetelmények és a

minőség kapcsolatát, az ISO/IEC 9126 és ISO/IEC 25010 szabványokat, a minőségi

karakterisztikák mérésének módozatait, a statikus elemző eszközöket ‒ PMD,

CheckStyle, FindBugs. A leírások világosak és korrektek. A minőségi profil

meghatározására szolgáló kérdőív a mellékletben található. A konkrét termékek

mérési eredményeinek ismertetésére a 3. fejezetben került sor.

• JSignPdf: a 47. oldalon található összegzés korrekt. Nagyon tetszett a

verziókon átívelő mérések eredményeinek bemutatása.

• aTunes: a mérések bemutatása itt is megfelelő, az ábrák nagyon

szemléletesek.

• ImageEditor: egy saját fejlesztésű eszköz, az előbbiektől eltérően több

minőségi sérülékenységgel.

Az összegzésben leírtakkal teljesen egyetértek.

Page 19: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

16. Pfeff Ákos György: Szoftverprojektek termékminőségének vizsglata

• A diplomamunka típusa: MSC diplomamunka

• Védés dátuma: 2011 június

• A téma rövid leírása

A dolgozat célja főbb pontokban:

• Minőségellenőrzést támogató program fejlesztése szoftveripari kliens elvárt

minőségi profiljának rögzítéséhez ISO 9126 szabvány alapján.

• Segédprogram fejlesztése a kliens vizsgált .NET/C# nyelven készülő, vagy kész

termékének forráskódja alapján történő minőségi analízis támogatásához.

• Adatbázis tervezése a hívási gráf, és az abból nyert információk, valamint a

minőségi analízis eredményeinek összekötéséhez.

• Felület fejlesztése a mérési eredmények, az analízis eredményeinek, a hívási

gráf részleteinek, valamint az ezekből következő ajanlások infografikus

megjelenítéséhez szofverfejlesztő szakértő számára.

• Felület fejlesztése a készülő, vagy kész termék minőségi attribútumainak az

elvárt minőségi profiltól való eltérések infografikus megjelenítéséhez

döntéshozó személy számára.

Az említett szofverrendszert oly módon tervezzük megvalósítani, hogy a .NET/C#-

specifikus részek könnyen cserélhetőek legyenek, lehetővé téve a szotverrendszer

alkalmazását Java nyelven fejlesztett termék vizsgálatához.

• Témavezetői vélemény

A diplomamunka célja az ISO/IEC 9126-os szabvány alapján szoftvertermékek

forráskód alapú minőségi jellemzését támogató szoftver prototípus készítése volt.

A bevezető részek után a problémakör áttekintésekor a jelölt a szabvány elemeit

és az FxCop 10.0 elemzőt tagalja. Kiemelendő az FxCop kritikája alfejezet, ami

általában véve bármely statikus kódelemző kritikájaként is felfogható. A

diplomamunka egyik leglényegesebb része az ISO 9126 és az FxCop

szabályhalmaza közötti megfeleltetések létrehozása volt. Itt a jelölt kiemelkedő

szakmai hozzáértésről tett tanúbizonyságot. Az eredményt egy táblázatban

foglalta össze (28. oldal). Meg kell jegyezzük, hogy 2011 őszén a 9126-os

szabványt felváltotta az ISO/IEC 20510 szabvány, ami 6 helyett 8 fő jellemzőt,

összesen 39 részjellemzőt tartalmaz. A diplomamunka következő része egy

vállalati minőségi profil felállítását célzó kérdőívet tartalmaz, majd az FxCop-hoz

köthető hívási gráf kinyerését, az eredmények összekapcsolását és elemzését

taglalja (JTreeMap). Az ötödik fejezet két konkrét projekt, az NUnit és a Poseidon

2.0 minőségi vizsgálatát tárgyalja. Az ismertetések korrektek, érdekesek, az

eredmények értékelései helytállóak. A hatodik fejezet a fejlesztett alkalmazásokat

dokumentálja. A hetedik fejezet a feladat megoldása során tapasztalt

Page 20: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

nehézségeket, és a nem megvalósított kihívásokat összegzi. A jelölt a célul

kitűzött feladatot önállóan, magas színvonalon oldotta meg. Bár az elkészült

prototípus nem teljes, továbbfejleszthető lenne.

17. Sótér Péter: A felsőoktatásba felvételizők intézményválasztásának

szimulációs modellezése

• A diplomamunka típusa: MSC diplomamunka

• Védés dátuma: 2012 június

• A téma rövid leírása

A diplomamunka célja a felsőoktatásba felvételizők intézményválasztásának

szimulációs modellezése. A szimuláció a globális és lokális változások hatásait

hivatott felmérni, bemutatni, esetleg előre jelezni.

Az első feladat a felsőoktatási intézmény kiválasztását befolyásoló tényezők

feltérképezése. A felmérés célja ezen tényezők hiteles súlyozása, valamint egyéb

kiegészítő információk kinyerése internetes technológiákkal. Ezt követi a

begyűjtött adatok feldolgozása, ami majd egy ágens alapú rendszer

paraméterezését szolgálja.

A feladat második része a szimulációhoz szükséges ágens alapú technológiák

bemutatása és alkalmazása lesz. Olyan programot készítek, ami képes modellezni,

hogy a változtatások milyen hatást gyakorolnak a hallgatók döntésére. A

szimulációk validálását és eredményeinek bemutatását egy adott szakra vetítve

valósítom meg.

• Témavezetői vélemény

A diplomamunka célja egy olyan szimulációs modell megtervezése és

megvalósítása volt, ami a felsőoktatásba felvételizők intézményválasztását, a

döntést befolyásoló tényezők feltérképezését, súlyozását, és végül ágensek

segítségével történő elemzését vizsgálja.

A dolgozat 7 fejezetből áll. A bevezetés utáni második fejezet irodalmi áttekintést

tartalmaz a Bayes-hálókról, a rajtuk futó döntési algoritmusokról, az ágensek

működtetéséhez szükséges hálózati topológiákról. A harmadik fejezet a döntési

modell elemeit, a külső és belső tényezőket, a modell tudását megalapozó

kérdőíves felmérés részleteit taglalja. A felmérés megtervezése és lebonyolítása

nagyon komoly kihívás volt, amit a jelölt önállóan, precízen, nagyfokú

alapossággal hajtott végre. Az eredmények a későbbiekben is fontosak lehetnek a

karunk számára. A fejezet második része a konkrét Bayes-háló szerkezeti

felépítését ismerteti. A negyedik fejezet a szimulációs modellel foglalkozik: a

topológia generálásával, a hálózat tanításával. A jelölt a GeNIe ingyenes

alkalmazást választotta eszközül. A szimuláció paraméterei az alábbiak voltak: a

topológia adatai, szimulációs futamok száma, globális hatások jelenléte, súlya, a

topológián belüli hatások valószínűségi eloszlásai, a felhasználható szálak száma,

és egyéb kimeneti beállítások. A jelölt külön foglalkozik a külső hatásokkal (tandíj

Page 21: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

lehetséges mértéke, kollégium, nyílt nap, felvi.hu statisztikák, egyetemi státusz

változása), a párhuzamos futtatás lehetőségével. Az ismertetések korrektek,

átgondoltak. Az ötödik fejezet tartalmazza a szimulációkat. Az eredményeket

illetően jelölt a hatalmas paramétertér miatt csak bizonyos konstellációkat

futtatott, komolyabb eredményt csak nagy számítógépes támogatással lehetett

volna (talán) elérni. A hatodik és hetedik fejezet az összefoglalást és a

mellékleteket tartalmazza.

Összességében a diplomamunka mind tartalmilag, mind formailag messzemenően

kielégíti a kívánt követelményeket.

18. Vidman Viktor: Szoftverek statikus minőségelemzése

• A diplomamunka típusa: MSC diplomamunka

• Védés dátuma: 2011 január

• A téma rövid leírása

A nagyobb méretű és hosszabb életciklusú szoftvertermékek esetén gyakori

probléma, hogy a több éven és számos változaton átívelő programírás során az

eredeti követelmények megváltoznak, a kezdeti rendszerterv elavulttá válik, a

funkcionalitás és a programhierarchia átalakul. Mindez megnehezíti a

programhibák javítását, az igényelt változtatások kódba integrálását, valamint a

tesztesetek karbantartását. Az egyes komponensek módosítása a program más

részeire is hatással lehet, ami magasabb költséggel és kockázattal jár. A

diplomamunka célja egy olyan prototípus specifikációja és részbeni

megvalósítása, amelynek segítségével (elsősorban objektumorientált)

szoftvertemékek statikus minősége elemezhető, kockázatai és fenntartási

költségei becsülhetők, a tesztelési folyamat pedig hatékonyabbá tehető. A

diplomamunka eredménye egy olyan prototípus, amely a szoftvertermék forrás és

bináris kódjából kiindulva a kód minőségét jellemző mérési eredményeket

adatbázisba gyűjti, az adatokat statisztikai módszerekkel elemzi, majd a kapott

értékeket igény szerint a fejlesztő, tesztelő csapat vagy a menedzsment számára

releváns információkat tartalmazó nyomtatható jelentés és/vagy interaktívan

böngészhető vizuális megjelenítés formájában tálalja. Amennyiben a kiemelt

kockázatot jelentő komponenseket sikerül azonosítani, azok felülvizsgálatával,

esetleges újraírásával a szoftvertemék fenntarthatósága javul, a változtatások

biztonságosabbá és olcsóbbá tehetők. Végül, az egyes komponensek belső

jellemzőinek és a többi komponenssel való kapcsolatrendszerének ismeretében a

minőségi jellemzők nemcsak izoláltan, hanem globálian is értelmezhetővé

tehetők.

• Témavezetői vélemény

Nagy szoftverrendszerek fejlesztésére és karbantartására fordított erőforrások

jelentős részét tesztelésre és hibajavításra kell fordítani, amelynek oka részben a

szoftverfejlesztési projektek gyenge követelményvizsgálata, nem megfelelő

Page 22: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

tervezése, a nem megfelelően kivitelezett kódolás. A folyamatos hibajavítások a

szoftverkódok állandó változását idézik elő, újabb problémákat generálnak,

amelyek hosszabb távon a szoftver minőségének romlásához vezetnek. A statikus

kódelemző technikák segítségével a fejlesztések kezdetétől korai hiba- és eltérés

felismerést lehet megvalósítani:

• ellenőrizni lehet kódolási szabálysértéseket,

• „rossz előjeleket”,

• bekódolt sérülékenységeket.

A jelölt feladata egy Java fejlesztést támogató statikus minőségellenőrzést

biztosító szoftver prototípus tervezése és fejlesztése volt. A diplomamunka első

része az alapfogalmakat tekinti át: a minőség megközelítéseit, a termék és

folyamatmodelleket, továbbá a statikus elemzéshez használt PMD eszközt. A

harmadik fejezet a felhasználói és a fejlesztői dokumentációt tartalmazza. Az

eszköz először egy vállalati profilt készít, amelyet felhasználva előállíthatók az ISO

9126 szoftvertermék-minőséget jellemző attribútumok és a PMD szabályhalmaza

közötti megfeleltetések adott projektre vonatkozó aspektusai; a mérések után az

eredmények több szempontból is megjeleníthetőek. A megfeleltetések pontos

leírásával a 4. fejezet első része foglalkozik. A fejezet hátralévő része konkrét

projektek vizsgálatát tartalmazza:

• Apache ant (alkalmazás-építés)

• Geoserver (szerver oldali webalkalmazás)

• Vuze (kliens oldali webalkalmazás)

• TripleA (játékprogram)

• JarBuilder (kisalkalmazás)

• toString (kisalkalmazás 2 verzióban)

A kapott eredmények és következtetések korrektek, a fejlesztett prototípus

hatékonyan segíti a fejlesztőket a kritikus komponensek azonosításában,

támogatja a menedzsmentet a kockázatok felmérésében.

Page 23: Projekteredmények Kovács Attila témavezetésével készült ...compalg.inf.elte.hu/tanszek/farkasg/tamop_10/Diplomamunkak_KA.pdf · megadható. A konfigurációkezelés SVN, az

19. Vránics Ferenc: Web application vulnerability scanners based on TTCN-3

• A diplomamunka típusa: BSC szakdolgozat

• Védés dátuma: 2012 június

• A téma rövid leírása

The goal of this project is to create a tool for scanning a website for common

vulnerabilities.

The code will be mostly written in TTCN-3 language, a programming language

specialized for testing purposes. The TITAN executor compiles TTCN-3 into C++,

and controls the test components. It also provides distributed execution of the

program and connection via HTTP/HTTPS.

The scanner program will be able to run a collection of static and dynamic

testcases on a given webpage, that are configured by the user via an easy-to-use

user interface, or given in a configuration file. The two basic categories of the

tests will be Cross Site Scripting (XSS), and SQL injection.

After starting the application with the desired parameters, the application will

build up a connection with the webpage, and starts to analyze the behaviour of

the webpage on manipulated input strings/queries. After all tests have finished,

log files will be generated as output, containing the verdicts of the tests.