Aspect-oriented programming and security. A comparison between implementing JAAS with AOP and OOP.
Master thesis
Permanent lenke
http://hdl.handle.net/11250/143906Utgivelsesdato
2004Metadata
Vis full innførselSamlinger
Sammendrag
NORSK:
God programmering er essensielt hvis vi ønsker sikker programvare. Sikkerhetshull kan oppstå i alle fasene i et programs livssyklus, and god design og riktig konfigurering er viktige elementer for å unngå dette. Men mange sikkerhetshull introduseres av slurvete programmerere og usikker programmering. Aspekt-orientert programmering (AOP) er et forholdsvis nytt programmeringsparadigme som blant annet får anerkjennelse for at det virker lovende når det gjelder å sikre kode. Vi har implementert en sikkerhetsløsning både med AOP og vanlig objekt-orientert programmering (OOP) for å måle hvor bra AOP er til å legge autentisering og autorisering til en eksisterende applikasjon. Vi har definert et sett metrikker som kan brukes til å male forskjellene på de to fremgangsmåtene og avgjøre hvilken som er best. Resultatene våre viser at det er vanskelig å bruke vanlige OOP metrikker for å måle fordelene AOP gir. Likevel viser resultatene våre at AOP gir kode som er mer pålitelig og enklere å vedlikeholde. ENGELSK:
Good programming is essential if we want secure software. Security flaws can occur in all phases of software’s lifecycle, and proper design and sound configuration and environment are all important elements. But many security-holes are introduced by sloppy programmers and insecure programming. Aspect-Oriented Programming (AOP) is a new programming paradigm that among many things has been recognized as showing great promise when it comes to applying security. We have implemented a security framework into an existing application to measure how good AOP is to add authentication and authorization to existing applications. We define a set of metrics that can be used to test the different approaches and determine which one is most effective. Our results show that it is difficult to use standard OOP metrics to measure the advantage AOP gives you, even after adaptation. Our results still show that AOP show merit when it comes to making code reliable and maintainable.