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