Szkwał,
Oprogramowanie jest z natury trudne do zrobienia. Aby rzucić okiem na to, dlaczego, polecam artykuł Cem Kanera, eksperta testera oprogramowania. Artykuł nazywa się „ Niemożność pełnego przetestowania ”. Przeczytaj także jego artykuł na temat „ Zaniedbania oprogramowania i pokrycia testowe ”
Krótka odpowiedź brzmi: oprogramowanie jest skomplikowane, wymaga perfekcji, a ludzie są niedoskonali. Przy ograniczonych zasobach, konkurencji i ograniczonej wiedzy wielu programistów robi wszystko, co w ich mocy. Ci, którzy starają się produkować jeszcze bezpieczniejsze oprogramowanie, nigdy nie będą w stanie konkurować - ich produkty będą droższe, spóźnią się z wprowadzeniem na rynek, będą miały mniej funkcji itp. Z drugiej strony bezpieczeństwo staje się ważnym czynnikiem dla klienta; podczas gdy klienci (i większość programistów) nie są w stanie stwierdzić, co jest bezpieczne, patrząc na to, istnieją eksperci, analitycy i trendy historyczne, którzy uczą nas o bezpieczeństwie i pomagają nam podejmować lepsze decyzje dotyczące kupowanych i używanych produktów.
Czasami bardziej bezpieczne produkty będą droższe lub będą pozbawione innych pożądanych cech poza kosztem (funkcje, użyteczność, wydajność itp.).
W świecie bezpieczeństwa oprogramowania ogólnie akceptujemy fakt, że jeśli przeciwnik ma wystarczające środki finansowe, motywację i / lub zasoby, nic nie jest naprawdę bezpieczne.
Bezpieczeństwo kosztuje pieniądze i jest to kompromis.