Tato diplomová práce pojednává o vývoji bezpečných webových aplikací v ASP.NET. Snaží zasvětit do složitého konceptu bezpečnosti z programátorského hlediska, seznamuje se základními principy implementace zabezpečení aplikace v rámci .NET. Poukazuje na koncepty v oblasti vývoje softwarových aplikací a na potřebu řešení základních bezpečnostních otázek. Zvláště nebezpečným hrozbám typu SQL Injection a Cross Site Scripting jsou věnovány samostatné kapitoly, kde jsou podrobně rozebrány tyto nebezpečné útoky a ochrana před nimi. V praktické části diplomové práce je představena architektura vzorové aplikace naprogramované v jazyku C#. Dále je popsána demonstrace vybraných útoků na aplikaci. Je poukázáno na fakt, že uskutečnění úspěšného útoku při chybné implementaci není něčím nemožným a od útočníka nevyžaduje žádné speciální vybavení. Na závěr je uveden souhrn bezpečnostních doporučení vycházejících z této práce.
Annotation in English
This diploma work deals with the development of safe web applications in ASP.NET. It endeavors to explain the complex concept of safeguarding the application from the programmer’s point of view, it informs about the basic implementation principles of safeguarding of an application within .NET. The work also adverts to concepts within the development of software applications and to the need of solving basic safety questions. Individual chapters are devoted to extra dangerous menace such as SQL Injection and Cross Site. In these chapters are these dangerous attacks and the protection against them analyzed in detail. In the practical part of this work the architecture of an exemplary application programmed in the C# language is presented and a demonstration of selected attack to the application is described. The fact, that realization of a successful attack in case of incorrect implementation is not impossible and that the attacker does not need any special equipment, is pointed out. Finally a summary of safety recommendations coming out of this work is presented.
Keywords
ASP.NET, Bezpečné programování, Bezpečnost, C#, Cross Site Scripting, SQL Injection
Keywords in English
ASP.NET, Safe programming, Safety, C#, Cross Site Scripting, SQL Injection
Length of the covering note
67
Language
CZ
Annotation
Tato diplomová práce pojednává o vývoji bezpečných webových aplikací v ASP.NET. Snaží zasvětit do složitého konceptu bezpečnosti z programátorského hlediska, seznamuje se základními principy implementace zabezpečení aplikace v rámci .NET. Poukazuje na koncepty v oblasti vývoje softwarových aplikací a na potřebu řešení základních bezpečnostních otázek. Zvláště nebezpečným hrozbám typu SQL Injection a Cross Site Scripting jsou věnovány samostatné kapitoly, kde jsou podrobně rozebrány tyto nebezpečné útoky a ochrana před nimi. V praktické části diplomové práce je představena architektura vzorové aplikace naprogramované v jazyku C#. Dále je popsána demonstrace vybraných útoků na aplikaci. Je poukázáno na fakt, že uskutečnění úspěšného útoku při chybné implementaci není něčím nemožným a od útočníka nevyžaduje žádné speciální vybavení. Na závěr je uveden souhrn bezpečnostních doporučení vycházejících z této práce.
Annotation in English
This diploma work deals with the development of safe web applications in ASP.NET. It endeavors to explain the complex concept of safeguarding the application from the programmer’s point of view, it informs about the basic implementation principles of safeguarding of an application within .NET. The work also adverts to concepts within the development of software applications and to the need of solving basic safety questions. Individual chapters are devoted to extra dangerous menace such as SQL Injection and Cross Site. In these chapters are these dangerous attacks and the protection against them analyzed in detail. In the practical part of this work the architecture of an exemplary application programmed in the C# language is presented and a demonstration of selected attack to the application is described. The fact, that realization of a successful attack in case of incorrect implementation is not impossible and that the attacker does not need any special equipment, is pointed out. Finally a summary of safety recommendations coming out of this work is presented.
Keywords
ASP.NET, Bezpečné programování, Bezpečnost, C#, Cross Site Scripting, SQL Injection
Keywords in English
ASP.NET, Safe programming, Safety, C#, Cross Site Scripting, SQL Injection
Research Plan
1. Analyzujte informační zdroje zabývající se technologií ASP.NET společnosti Microsoft
2. Definujte bezpečnostní rizika technologie .NET
3. Realizujte projekt portálového řešení využívajícího technologii ASP.NET s ohledem na datovou bezpečnost.
4. Vyhodnoťte úspěšnost řešení a definujte silná a slabá místa projektu.
Research Plan
1. Analyzujte informační zdroje zabývající se technologií ASP.NET společnosti Microsoft
2. Definujte bezpečnostní rizika technologie .NET
3. Realizujte projekt portálového řešení využívajícího technologii ASP.NET s ohledem na datovou bezpečnost.
4. Vyhodnoťte úspěšnost řešení a definujte silná a slabá místa projektu.
Recommended resources
SZPUSZTA, Mario. MACDONALD, Matthew. ASP.NET 2.0 a C++ profesionálně: Zoner Press , 2006
EVJEN, Bill. HENSELMAN, Scott. MUNHAMMAD, Farhan. SIVAKUMAR, Srinivasa. RADER, Devin. ASP.NET 2.0 Programujeme profesionálně: Computer Press, 2007
DUTHIE, G. Andrew. MS ASP.NET Krok za krokem: Computer Press, 2005
AVERY,James. Microsoft ASP.NET Konfigurace a nastavení: Computer Press, 2004
LACKO, Luboslav. ASP.NET a ADO.NET 2.0: Computer Press, 2006
Microsoft. Vytváříme zabezpečené aplikace v Microsoft ASP.NET: Computer Press, 2004
NAGEL, Christian. C++ 2005 Programujeme profesionálně: Computer Press, 2007
Recommended resources
SZPUSZTA, Mario. MACDONALD, Matthew. ASP.NET 2.0 a C++ profesionálně: Zoner Press , 2006
EVJEN, Bill. HENSELMAN, Scott. MUNHAMMAD, Farhan. SIVAKUMAR, Srinivasa. RADER, Devin. ASP.NET 2.0 Programujeme profesionálně: Computer Press, 2007
DUTHIE, G. Andrew. MS ASP.NET Krok za krokem: Computer Press, 2005
AVERY,James. Microsoft ASP.NET Konfigurace a nastavení: Computer Press, 2004
LACKO, Luboslav. ASP.NET a ADO.NET 2.0: Computer Press, 2006
Microsoft. Vytváříme zabezpečené aplikace v Microsoft ASP.NET: Computer Press, 2004
NAGEL, Christian. C++ 2005 Programujeme profesionálně: Computer Press, 2007
Enclosed appendices
1 CD ROM
Appendices bound in thesis
-
Taken from the library
Yes
Full text of the thesis
Appendices
Reviewer's report
Supervisor's report
Defence procedure record
Obhajoba byla plynulá. Součástí obhajoby byla i praktická ukázka. Po prezentaci následovala diskuse, při níž byly položeny následující dotazy:
1. Nešlo by to, abych autoři měli ID knihy? (Dr. Sysel)
2. Jaké jsou rozdíly mezi relačními a objektovými databázemi? (Dr. Benda)
3. Jak je to s efektivností jednotlivých typů databázi? (prof. Švéda)
4. Na konkrétních příkladech popište, jak by se výsledky Vaší práce daly aplikovat v podnikatelské sféře? (Dr. Benda)
Student na všechny otázky pružně reagoval a všechny zodpověděl.