{"id":1916,"date":"2026-06-01T02:00:41","date_gmt":"2026-06-01T02:00:41","guid":{"rendered":"https:\/\/news.jurskitech.pl\/blog\/uncategorized\/security-by-design-3-bledy-ktore-kosztuja-wiecej-niz-atak\/"},"modified":"2026-06-01T02:00:41","modified_gmt":"2026-06-01T02:00:41","slug":"security-by-design-3-bledy-ktore-kosztuja-wiecej-niz-atak","status":"publish","type":"post","link":"https:\/\/news.jurskitech.pl\/blog\/warto-wiedziec\/security-by-design-3-bledy-ktore-kosztuja-wiecej-niz-atak\/","title":{"rendered":"Security by Design: 3 b\u0142\u0119dy, kt\u00f3re kosztuj\u0105 wi\u0119cej ni\u017c atak"},"content":{"rendered":"<h1 id=\"securitybydesign3bdyktrekosztujwicejniatak\">Security by Design: 3 b\u0142\u0119dy, kt\u00f3re kosztuj\u0105 wi\u0119cej ni\u017c atak<\/h1>\n<p>Wi\u0119kszo\u015b\u0107 firm wci\u0105\u017c my\u015bli o bezpiecze\u0144stwie jako o warstwie nak\u0142adanej na gotow\u0105 aplikacj\u0119. To tak, jakby budowa\u0107 dom bez zamk\u00f3w, a potem dokleja\u0107 je na zewn\u0105trz. Efekt? Dziury, kt\u00f3re przest\u0119pcy wykorzystuj\u0105 zanim zd\u0105\u017cymy zareagowa\u0107. W tym artykule poka\u017c\u0119 trzy typowe b\u0142\u0119dy w podej\u015bciu do security by design, kt\u00f3re kosztuj\u0105 \u015brednie firmy nawet kilkaset tysi\u0119cy z\u0142otych \u2013 nie tylko w wyniku ataku, ale przez spowolnienie rozwoju, utrat\u0119 zaufania klient\u00f3w i koszty napraw.<\/p>\n<h2 id=\"bd1traktowaniebezpieczestwajakchecklisty\">B\u0142\u0105d 1: Traktowanie bezpiecze\u0144stwa jak checklisty<\/h2>\n<p>Cz\u0119sto s\u0142ysz\u0119 od founder\u00f3w: \u201eMamy SSL, u\u017cywamy HTTPS, has\u0142a haszujemy \u2013 jeste\u015bmy bezpieczni\u201d. To tak, jakby twierdzi\u0107, \u017ce auto jest bezpieczne, bo ma pasy \u2013 ale nie ma poduszek powietrznych ani ABS. Security by design to nie lista rzeczy do odhaczenia, tylko spos\u00f3b my\u015blenia przenikaj\u0105cy ca\u0142y cykl \u017cycia aplikacji.<\/p>\n<p><strong>Przyk\u0142ad z \u017cycia:<\/strong><br \/>\nPracowa\u0142em z klientem, kt\u00f3ry mia\u0142 platform\u0119 SaaS dla ma\u0142ych sklep\u00f3w. Ich zesp\u00f3\u0142 uwa\u017ca\u0142, \u017ce bezpiecze\u0144stwo maj\u0105 opanowane \u2013 u\u017cywali gotowego frameworka, kt\u00f3ry domy\u015blnie chroni\u0142 przed SQL injection i XSS. Problem pojawi\u0142 si\u0119, gdy zacz\u0119li integrowa\u0107 zewn\u0119trzne API do p\u0142atno\u015bci. Nie sprawdzili, czy API weryfikuje to\u017csamo\u015b\u0107 webhook\u00f3w. Skutek? Atakuj\u0105cy wys\u0142a\u0142 fa\u0142szywe powiadomienie o p\u0142atno\u015bci, a system automatycznie aktywowa\u0142 subskrypcj\u0119. Klient straci\u0142 15 tys. z\u0142 w ci\u0105gu jednej nocy, a nasi klienci stracili zaufanie.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong><br \/>\nBezpiecze\u0144stwo trzeba wbudowa\u0107 w ka\u017cdy etap \u2013 od projektowania architektury, przez code review, po testy penetracyjne. Nie chodzi o to, by wszystko by\u0142o idealne od razu, ale by \u015bwiadomie identyfikowa\u0107 ryzyka. Przyk\u0142adowo, przed integracj\u0105 API, warto zada\u0107 sobie pytania: \u201eCzy to API wymaga podpisu?\u201d; \u201eCzy weryfikujemy \u017ar\u00f3d\u0142o \u017c\u0105dania?\u201d; \u201eCo si\u0119 stanie, je\u015bli kto\u015b przechwyci nasz klucz?\u201d.<\/p>\n<h2 id=\"bd2zaniedbywaniezarzdzaniatajemnicamisecretsmanagement\">B\u0142\u0105d 2: Zaniedbywanie zarz\u0105dzania tajemnicami (secrets management)<\/h2>\n<p>Kiedy\u015b audytowa\u0142em aplikacj\u0119 start-upu, kt\u00f3ry przechowywa\u0142 klucze API do AWS w pliku konfiguracyjnym wrzuconym do repozytorium. Deweloperzy t\u0142umaczyli, \u017ce \u201erepo jest prywatne, a my ufamy zespo\u0142owi\u201d. Problem w tym, \u017ce ka\u017cdy, kto mia\u0142 dost\u0119p do repozytorium \u2013 a po czasie okaza\u0142o si\u0119, \u017ce dost\u0119p mia\u0142y osoby z zewn\u0105trz (np. byli pracownicy) \u2013 m\u00f3g\u0142 wykra\u015b\u0107 te dane.<\/p>\n<p><strong>Statystyka:<\/strong> Wed\u0142ug raportu GitGuardian z 2024 roku, w publicznych repozytoriach wykryto ponad 10 milion\u00f3w wyciekaj\u0105cych sekret\u00f3w. Prywatne repozytoria nie s\u0105 bezpieczne \u2013 wystarczy jeden z\u0142o\u015bliwy committer lub przeciek tokena CI\/CD.<\/p>\n<p><strong>Konsekwencje:<\/strong><br \/>\nWyciek klucza API mo\u017ce kosztowa\u0107 firm\u0119 nie tylko utrat\u0119 danych, ale te\u017c ogromne rachunki za us\u0142ugi chmurowe (kryptominowanie, u\u017cycie API). Znam przypadek, gdzie start-up dosta\u0142 rachunek na 250 tys. z\u0142 za wyciekni\u0119ty klucz AWS.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong><br \/>\nU\u017cywaj dedykowanych narz\u0119dzi do zarz\u0105dzania sekretami, takich jak HashiCorp Vault, AWS Secrets Manager czy Doppler. Klucze nie powinny trafia\u0107 do repozytorium \u2013 nawet zaszyfrowane. A je\u015bli ju\u017c musz\u0105, to z u\u017cyciem szyfrowania i zarz\u0105dzania dost\u0119pem. Warto te\u017c regularnie rotowa\u0107 sekrety i monitorowa\u0107 ich u\u017cycie.<\/p>\n<h2 id=\"bd3pomijaniebezpieczestwawfazieprojektowaniaapi\">B\u0142\u0105d 3: Pomijanie bezpiecze\u0144stwa w fazie projektowania API<\/h2>\n<p>API to dzi\u015b krwioobieg wi\u0119kszo\u015bci aplikacji. Problem w tym, \u017ce wiele firm projektuje API pod k\u0105tem funkcjonalno\u015bci, a bezpiecze\u0144stwo traktuje jako dodatek. Efekt? Endpointy, kt\u00f3re wyciekaj\u0105 dane, autoryzacja oparta tylko na tokenie w nag\u0142\u00f3wku, brak rate limitingu czy walidacji wej\u015bcia.<\/p>\n<p><strong>Przyk\u0142ad:<\/strong><br \/>\nWsp\u00f3\u0142pracowa\u0142em z firm\u0105 e-commerce, kt\u00f3ra zbudowa\u0142a API do zarz\u0105dzania zam\u00f3wieniami. Endpoint <code>GET \/orders\/:id<\/code> zwraca\u0142 szczeg\u00f3\u0142y zam\u00f3wienia \u2013 dla ka\u017cdego, kto poda\u0142 poprawny token. Niestety, token by\u0142 generowany po zalogowaniu, ale nie weryfikowano, do kt\u00f3rego u\u017cytkownika nale\u017cy zam\u00f3wienie. Ka\u017cdy klient m\u00f3g\u0142 podejrze\u0107 dane innych (adresy, numery kart). Wystarczy\u0142o zmieni\u0107 id w URL. B\u0142\u0105d wykry\u0142 przypadkowy u\u017cytkownik, kt\u00f3ry zg\u0142osi\u0142 go dopiero po miesi\u0105cu \u2013 w tym czasie wyciek\u0142y setki zam\u00f3wie\u0144.<\/p>\n<p><strong>Konsekwencje:<\/strong><br \/>\nUtrata zaufania, kary RODO (do 20 mln euro), kosztowny audyt i poprawki. W tym przypadku firma musia\u0142a zap\u0142aci\u0107 50 tys. z\u0142 grzywny i straci\u0142a 30% klient\u00f3w w ci\u0105gu kwarta\u0142u.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong><br \/>\nProjektuj API z my\u015bl\u0105 o bezpiecze\u0144stwie od pocz\u0105tku:<\/p>\n<ul>\n<li>U\u017cywaj autoryzacji opartej na rolach (RBAC) lub claimach.<\/li>\n<li>Nie ufaj \u017cadnemu wej\u015bciu \u2013 waliduj wszystko.<\/li>\n<li>Stosuj rate limiting i throttling, by uniemo\u017cliwi\u0107 brute force.<\/li>\n<li>Wdra\u017caj logowanie i monitorowanie podejrzanych \u017c\u0105da\u0144.<\/li>\n<li>Testuj API automatycznie pod k\u0105tem podatno\u015bci (OWASP Top 10).<\/li>\n<\/ul>\n<h2 id=\"podsumowanie\">Podsumowanie<\/h2>\n<p>Security by design to nie koszt, tylko inwestycja. Koszt naprawy b\u0142\u0119du bezpiecze\u0144stwa po wdro\u017ceniu jest \u015brednio 30 razy wy\u017cszy ni\u017c wykrycie go na etapie projektowania (dane z IBM Cost of a Data Breach). W \u015brednich firmach ten rachunek mo\u017ce wynie\u015b\u0107 setki tysi\u0119cy z\u0142otych \u2013 nie tylko w pieni\u0105dzach, ale w reputacji i czasie.<\/p>\n<p>Jako JurskiTech w ka\u017cdym projekcie k\u0142adziemy nacisk na bezpiecze\u0144stwo architektury od samego pocz\u0105tku. Nie doklejamy lock\u00f3w do gotowego domu \u2013 budujemy go z my\u015bl\u0105 o ochronie. Zastan\u00f3w si\u0119, czy Tw\u00f3j zesp\u00f3\u0142 nie wpada w kt\u00f3ry\u015b z tych trzech b\u0142\u0119d\u00f3w. Je\u015bli tak, warto jak najszybciej wdro\u017cy\u0107 poprawki \u2013 zanim zrobi to kto\u015b inny.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Security by Design: 3 b\u0142\u0119dy, kt\u00f3re kosztuj\u0105 wi\u0119cej ni\u017c atak Wi\u0119kszo\u015b\u0107 firm wci\u0105\u017c my\u015bli o bezpiecze\u0144stwie jako o warstwie nak\u0142adanej na gotow\u0105 aplikacj\u0119. To tak, jakby budowa\u0107 dom bez zamk\u00f3w, a potem dokleja\u0107 je na zewn\u0105trz. Efekt? Dziury, kt\u00f3re przest\u0119pcy wykorzystuj\u0105 zanim zd\u0105\u017cymy zareagowa\u0107. W tym artykule poka\u017c\u0119 trzy typowe b\u0142\u0119dy w podej\u015bciu do security<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[414,116,9,336,657],"class_list":["post-1916","post","type-post","status-publish","format-standard","hentry","category-warto-wiedziec","tag-bezpieczenstwo-api","tag-bledy-it","tag-jurskitech","tag-modern-web-development","tag-security-by-design"],"_links":{"self":[{"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/posts\/1916","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/comments?post=1916"}],"version-history":[{"count":0,"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/posts\/1916\/revisions"}],"wp:attachment":[{"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/media?parent=1916"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/categories?post=1916"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/tags?post=1916"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}