პროგრამული უზრუნველყოფა არის ყველგან: ლეპტოპებში და დესკტოპებში, მობილურ ტელეფონებში, ენერგოსისტემაში, ჩვენს მანქანებშიც კი. პროგრამული უზრუნველყოფა არის მანქანა, რომელიც მართავს ეკონომიკას და ჩვენს პირად ცხოვრებას. მაგრამ, პროგრამული უზრუნველყოფის გავრცელებულობა და მისი მნიშვნელობა, მას მრავალი თავდასხმის სამიზნედ აქცევს. ამ კურსში ვნახავთ როგორ შევქმნათ უსაფრთხო პროგრამული უზრუნველყოფა. ჩვენ შევისწავლით პრობლემებს, როგორიცაა ბუფერის გადავსება, პროგრამულ ენებში წარმოდგენილი ხარვეზები, ვნახავთ თუ როგორ შეიძლება გამოიყენოს ეს ხარვეზები ჭკვიანმა თავდამსხმელმა. ასევე გავეცნობით თავდასხმებს პროგრამებზე, რომლებიც მსოფლიო ქსელის ნაწილია მაგ: SQL ინექცია, cross-site scripting, და session hijacking. შევეხებით ასევე side-channel attacks, თავდასხმებს მომხმარებელზე (როგორიცაა გაყალბება), და დიზაინის ნაკლოვანებებს. ამ დეფექტების შესწავლის შემდეგ ვნახავთ თუ როგორ შიძლება მათი თავიდან არიდება, პროგრამული უზრუნველყოფის დიზაინის და მუშაობის გაუმჯობესების გზით. ვნახავთ, რომ უსაფრთხოებას მთავარი ადგილი უნდა ეჭიროს პროგრამის შემუშავების ყველა ეტაპზე. შემდეგ ჩვენ შევისწავლით პროგრამული უსაფრთხოების ტესტირების ინსტრუმენტებს.