Zabezpečení kódu je postup, při kterém se ochrana zapracuje do softwaru a infrastruktury jako kódu (IaC) od prvního řádku kódu až po nasazení a provozování v prostředí runtime, přičemž se bere v úvahu, že rizika zavedená během vývoje mohou vést k chybné konfiguraci, vystaveným prostředkům a zranitelným úlohám v cloudových prostředích. Včasné omezení ohrožení zabezpečení a rizik konfigurace pomáhá omezit cesty k útokům a podporuje silnější stav zabezpečení cloudu při škálování aplikací.
Co je zabezpečení kódu?
- Zabezpečení kódu snižuje riziko v celém životním cyklu softwaru, včetně ohrožení zabezpečení a chybných konfigurací, které mají vliv na cloudová prostředí. Tím, že organizace řeší zranitelná místa již ve fázi vývoje, mohou předejít problémům, jejichž náprava je po nasazení složitější a nákladnější.
- Zabezpečené programování je pro moderní cloudové aplikace zásadní. Protože útočníci stále častěji cílí na nezabezpečený kód, pomáhá vkládat ochranu přímo do softwaru chránit aplikace, data a služby ve velkém měřítku.
- Principy zabezpečení řídí bezpečnější vývoj. Postupy, jako je princip nejnižšího oprávnění, bezpečné výchozí nastavení a víceúrovňová ochrana, pomáhají omezit zranitelnost a snížit dopad potenciálních útoků.
- Automatizace posiluje pracovní postupy DevSecOps. Integrace testování zabezpečení do kanálů kontinuální integrace a průběžného doručování (CI/CD) pomáhá týmům včas identifikovat ohrožení zabezpečení bez zpomalení doručování.
- Zabezpečení kódu podporuje dodržování předpisů a důvěryhodnost. Důsledné postupy zabezpečeného programování pomáhají organizacím plnit požadavky na zásady správného řízení a dlouhodobě udržovat důvěru zákazníků.
Definice zabezpečení kódu
Zabezpečení znamená snižovat riziko tím, že se ochrana buduje do softwaru a infrastruktury jako kódu (IaC) hned od začátku. Místo toho, aby se zabezpečením pracovalo jako se závěrečnou kontrolou, zaměřuje se na prevenci problémů v kódu aplikací a konfiguračních definicích, které útočníci běžně zneužívají – a pomáhá organizacím snížit vystavení riziku v rámci vývoje i nasazených cloudových prostředí. V prostředích nativních pro cloud sem patří rizika vyplývající ze šablon IaC, konfigurací kontejnerů a definic služeb, které přímo ovlivňují míru ohrožení v prostředí runtime.
Jako součást zabezpečení aplikací a řízení rizik funguje zabezpečení kódu společně s ochranou identit, infrastruktury a dat, aby se omezil dopad kybernetických hrozeb. Včasné řešení rizik snižuje pravděpodobnost narušení zabezpečení, snižuje náklady na nápravu a posiluje celkovou úroveňkybernetické bezpečnosti při rozšiřování aplikací.
Zabezpečení kódu pomáhá chránit aplikace a cloudová prostředí tím, že řeší rizika, jako jsou:
Technická ohrožení zabezpečení
- Útoky prostřednictvím injektáže, ke kterým dochází, když se nedůvěryhodný vstup zpracuje jako spustitelný kód.
- Přetečení vyrovnávací paměti způsobené nezabezpečenou prací s pamětí, která může útočníkům umožnit přepsat paměť.
- Nesprávné ověřování a autorizace, které vystavují citlivé funkce nebo data.
- Rizikové závislosti třetích stran, včetně knihoven se známými zranitelnostmi.
Rizika v cloudu a konfiguraci
- Nezabezpečená infrastruktura jako kód (IaC), která může do cloudových prostředí zavádět chybně nakonfigurované nastavení úložiště, sítě nebo identity.
- Příliš široká nastavení identity a přístupu, která zvyšují riziko laterálního pohybu.
- Nesprávně sladěné pracovní postupy vývoje a zabezpečení cloudu, v důsledku čehož se ohrožení zabezpečení přenášejí z kódu do prostředí runtime.
- Izolovaná spolupráce mezi týmy zodpovědnými za kód a zabezpečení cloudu, která může zpomalit nápravu a umožnit, aby ohrožení zabezpečení přenášela z vývoje do prostředí runtime.
Kromě prevence ohrožení zabezpečení klade zabezpečení kódu také důraz na integritu kódu – tedy na zajištění toho, že software nebyl pozměněn ani zmanipulován – a na prevenci ohrožení zabezpečení, místo toho, aby se spoléhalo výhradně na jejich detekci až po nasazení.
Při integraci napříč životním cyklem vývoje softwaru pomáhá zabezpečení kódu týmům identifikovat a řešit rizika při psaní, testování a vydání kódu, takže problémy zjištěné v kódu a kanálech se později nezobrazí jako riziko v prostředí runtime v cloudových prostředích. Tento proaktivní přístup podporuje rychlejší inovace v cloudu a zároveň zachovává pevné základy založené na principu „zabezpečení jako základní princip“.
Proč záleží na zabezpečení kódu
Nezabezpečený kód vytváří riziko dávno předtím, než se aplikace dostane do produkce. Když se ohrožení zabezpečení dostanou do softwaru, můžou vést k úniku citlivých údajů, narušení provozu a zpomalení inovací. V cloudových prostředích tato rizika často vznikají v kódu nebo v definicích konfigurace a mohou se v prostředí projevit jako zpřístupněné úložiště, příliš široké identity nebo veřejně dostupné služby. Ohrožení zabezpečení v kódu a IaC můžou zvýšit vystavení hrozbám, jako je ransomware, porušení zabezpečení dat a neoprávněný přístup, zejména v případě, že se chybné konfigurace přenášejí do cloudových úloh.
Stejně důležité je, že mnoho týmů pociťuje tyto potíže v každodenním pracovním postupu: bezpečnostní týmy sice mohou identifikovat problémy, ale jsou to vývojáři, kdo je musí opravit – často bez dostatečných informací o rizicích během běhu aplikace nebo o obchodním dopadu. Když jsou procesy izolované, náprava se zpomaluje a rizika se mohou přenášet z kódu do nasazených cloudových úloh. Právě kvůli odstranění této mezery funguje zabezpečení kódu nejlépe, když je integrováno do pracovních postupů v oblasti zabezpečení cloudu.
- Chrání firmu: Snižování zranitelností včas pomáhá předcházet únikům dat, finančním ztrátám, sankcím za nedodržení předpisů a právní odpovědnosti.
- Omezuje technické riziko: Zabezpečený kód pomáhá zabránit útočníkům ve zneužití nezabezpečených závislostí nebo řetězení zranitelností, aby se dostali hlouběji do prostředí.
- Udržuje DevOps v pohybu: Řešení problémů zabezpečení včas zabraňuje opravám na poslední chvíli, které narušují kanály CI/CD, zpožďují vydání a zvyšují množství přepracování.
- Snižuje dlouhodobé náklady: Oprava ohrožení zabezpečení během vývoje je mnohem levnější než reakce na incidenty po vydání.
- Zachovává důvěryhodnost a reputaci: Zabezpečený software pomáhá chránit důvěru zákazníků a podporuje dlouhodobou důvěryhodnost značky.
Osvědčené postupy zabezpečení kódu
Efektivní zabezpečení kódu spočívá v včasném snížení rizika, včetně ohrožení zabezpečení a chybných konfigurací, které mají vliv na nasazené cloudové prostředky, a zároveň v posilování aplikací v průběhu celého vývoje a udržování ochrany v produkčním prostředí. Tyto osvědčené postupy pomáhají týmům předcházet ohrožením zabezpečení, omezovat jejich vystavení a podporovat zabezpečené inovace s tím, jak se software vyvíjí.
Silné postupy zabezpečení kódu se zaměřují na:
- Bezpečné zpracování vstupů. Ověřování a sanitizace uživatelských a systémových vstupů pomáhá předcházet útokům prostřednictvím injektáže a dalším zneužitím, než se dostanou do aplikační logiky.
- Používání důvěryhodných komponent. Použití zabezpečených, dobře udržovaných knihoven, imagí kontejnerů a modulů infrastruktury a odebrání zastaralých nebo nepodporovaných komponent snižuje riziko známých ohrožení zabezpečení a chybných konfigurací.
- Průběžné testování, ne jen občasné. Automatizované testování zabezpečení, včetně statického (SAST), dynamické analýzy (DAST) a analýzy kompozice softwaru, pomáhá řešit problémy v rané fázi a v průběhu životního cyklu vývoje.
- Omezení přístupu už při návrhu. Použití nejnižších oprávnění a bezpečných výchozích nastavení zajišťuje, že aplikace zpřístupňují jenom to, co je potřeba, a snižuje dopad zneužití ohrožení zabezpečení.
- Návrh pro bezpečné selhání. Když nastanou chyby, aplikace by měly přejít do bezpečného chování. Zabezpečené zpracování chyb pomáhá zabránit úniku citlivých informací a předchází vzniku nových možností útoku.
- Ochrana tajných kódů a přihlašovacích údajů. Bezpečné ukládání klíčů API, tokenů a přihlašovacích údajů – namísto jejich pevného zakódování – pomáhá zabránit jejich náhodnému odhalení a neoprávněnému přístupu.
- Zachování zabezpečení i po vydání. Monitorování aplikací v produkčním prostředí a opravování nově zjištěných ohrožení zabezpečení pomáhá spravovat průběžná rizika při změnách hrozeb a prostředí.
Principy zabezpečení kódu
Zabezpečení kódu je založené na dobře zavedených principech zabezpečení, které pomáhají snižovat riziko, omezit vystavení a podporovat zásady správného řízení napříč moderními aplikacemi. Když se tyto principy uplatní během vývoje, formují to, jak se software navrhuje, vytváří a udržuje.
Pět klíčových principů zabezpečení kódu
- Nejnižší oprávnění. Kód by měl udělovat pouze takový přístup, který je nutný pro jeho fungování. Omezení oprávnění pro uživatele, služby a rozhraní API pomáhá zajistit, aby napadené komponenty nemohly zbytečně přistupovat k citlivým datům nebo systémům.
- Hloubková obrana. Zabezpečený software závisí na několika vrstvách ochrany. Ověřování vstupu, kontroly ověřování, šifrování a monitorování fungují společně, takže jedna chyba nezpřístupní celou aplikaci.
- Bezpečné selhání. Aplikace by měly při výskytu chyb ve výchozím nastavení přejít na bezpečné chování. Zabezpečené zpracování chyb zabraňuje odhalení citlivých informací a předchází vzniku nových útočných cest během selhání.
- Bezpečné výchozí nastavení. Zabezpečení by mělo být ve výchozím nastavení povolené, nemělo by se přidávat později. Kód by měl předpokládat restriktivní konfigurace – například omezený přístup, silné ověřování a šifrovaná připojení – pokud nejsou výslovně změněny.
- Jednoduchost. Jednoduchý a dobře strukturovaný kód se snadněji zabezpečuje a udržuje. Snížení složitosti snižuje riziko skrytých ohrožení zabezpečení a zvyšuje efektivitu kontrol zabezpečení.
Uplatnění principu nejnižších oprávnění v rozhraních API
Nejnižší úroveň oprávnění je obzvláště důležitá v rozhraních API a službách, kde nulová důvěra (Zero Trust) a správa identit a přístupu (IAM) pomáhá definovat, kdo nebo co může přistupovat ke konkrétním akcím a datům. Koncový bod rozhraní API by měl zpřístupňovat pouze data a akce nezbytné pro svou konkrétní funkci, nikoli široký přístup k backendovým systémům. To omezuje dopad zneužití přihlašovacích údajů a pomáhá potlačit šíření úniků dat.
Abyste porozuměli tomu, jak princip nejnižších oprávnění funguje v praxi, podívejte se na několik běžných scénářů pro rozhraní API:
- Přístup jen pro čtení pro uživatelské profily. Rozhraní API, které načítá informace o profilu uživatele, získá oprávnění číst základní údaje profilu, ale ne aktualizovat záznamy ani přistupovat k citlivým polím. Tím se zajistí, že rozhraní API může vykonávat svou funkci, aniž by odhalilo zbytečná data v případě napadení přihlašovacích údajů.
- Oprávnění služby pro konkrétní úkoly. Služba běžící na pozadí, která zpracovává objednávky, může vytvářet a aktualizovat záznamy o objednávkách, nemá však přístup k platebním údajům ani k údajům o identitě zákazníků. Omezení oprávnění pomáhá potlačit potenciální porušení zabezpečení jedné funkce.
- Vymezený přístup pro akce správy. Rozhraní API používané pro úlohy správy je omezeno na konkrétní operace, jako je resetování přihlašovacích údajů, místo úplného přístupu k systému. Tím se snižuje dopad chyb nesprávného použití nebo konfigurace.
- Oddělte přístup pro interní a externí rozhraní API. Veřejně přístupná rozhraní API zpřístupňují pouze koncové body potřebné pro externí uživatele, zatímco interní rozhraní API ponechávají širší přístup důvěryhodným službám. Toto oddělení pomáhá snižovat potenciální oblast útoku bez zpomalení interních pracovních postupů.
Jak se zabezpečení kódu promítá do jednotlivých oblastí zabezpečení
Zabezpečení kódu nefunguje izolovaně. Tím, že snižuje riziko už u zdroje, podporuje a posiluje kontrolní mechanismy napříč aplikacemi, cloudovými prostředími, sítěmi a koncovými body.
- Zabezpečení aplikací: Zabraňuje chybám zabezpečení, jako jsou útoky prostřednictvím injektáže, nezabezpečené ověřování a logiky, přímo v základu kódu.
- Zabezpečení cloudu: Pomáhá chránit aplikace nativní pro cloud omezením chybných konfigurací a ohrožení zabezpečení před nasazením.
- Zabezpečení sítě: Funguje společně se síťovými kontrolními mechanismy tím, že zajišťuje, aby aplikace nevystavovaly nepotřebné služby ani porty.
- Zabezpečení koncových bodů: Snižuje riziko tím, že brání nezabezpečenému kódu zavádět hrozby pro uživatelská zařízení nebo připojené systémy.
Zásady správného řízení, dodržování předpisů a důvěra
Postupy zabezpečeného kódování podporují požadavky na dodržování předpisů a zásady správného řízení tím, že vynucují konzistentní kontroly v celém životním cyklu vývoje softwaru. Uplatňování principů, jako je nejnižší oprávnění a bezpečná výchozí nastavení, pomáhá organizacím zajistit soulad s regulačními standardy, prokázat náležitou péči a snížit riziko auditu. Tyto postupy také podporují širší strategie zabezpečení dat tím, že pomáhají zajistit, aby byl přístup k citlivým informacím, jejich zpracování i ochrana prováděny náležitým způsobem.
Stejně důležité je, že zabezpečení kódu chrání důvěru zákazníků. Díky včasnému zabránění ohrožení zabezpečení se organizace vyhýbají nákladným incidentům, chrání citlivá data a udržují důvěru v aplikace, na které uživatelé spoléhají.
Standardy a kontrolní mechanismy zabezpečení kódu
Zabezpečení kódu spojuje řadu kontrolních mechanismů a postupů, které pomáhají snižovat rizika napříč moderními vývojovými prostředími. Místo toho, aby se spoléhalo na jedinou ochranu, kombinuje ochranu, která omezuje, co kód může dělat, jak komunikuje a jak se rizika identifikují a spravují v průběhu času.
Zabezpečení přístupu ke kódu hraje důležitou roli v prostředích .NET tím, že řídí, jak aplikace, knihovny a služby přistupují k prostředkům. Omezením oprávnění pomáhá snížit dopad ohrožení zabezpečení nebo ohrožených komponent.
Kontrolní mechanismy zabezpečení sítě hrají důležitou roli při zabezpečení komunikace tím, že vynucují protokoly, šifrování a logiku ověřování. Zabezpečené zpracování přenosových protokolů pomáhá zabránit zachytávání, manipulaci a neoprávněnému přístupu při přesunu dat mezi systémy.
Standardy bezpečného programování poskytují konzistentní pokyny pro vytváření bezpečnějšího softwaru. Architektury jako Open Web Application Security Project (OWASP) a ISO/IEC 27034 popisují postupy pro identifikaci ohrožení zabezpečení, použití kontrolních mechanismů zabezpečení a vkládání ochrany během celého procesu vývoje. V cloudových prostředích se tyto standardy také rozšiřují na IaC, čímž pomáhají zajistit, aby konfigurace identit, sítí a úložišť před nasazením odpovídaly bezpečným výchozím nastavením.
Modelování hrozeb pomáhá týmům proaktivně identifikovat místa, kde mohou být aplikace ohrožené. Díky včasnému vyhodnocení cest útoků a potenciálních slabých míst mohou organizace řešit rizika dříve, než se ohrožení zabezpečení dostanou do produkčního prostředí.
Bezpečné zacházení s tajnými kódy a přihlašovacími údaji je pro ochranu aplikací zásadní. Bezpečné ukládání, rotace a přístup ke klíčům, tokenům a přihlašovacím údajům pomáhá zabránit jejich neúmyslnému odhalení a zneužití.
Jednotný přístup k zabezpečení kódu
Zabezpečení kódu je nejúčinnější, když se na něj pohlíží jako na kontrolu v rané fázi životního cyklu v rámci jednotné strategie zabezpečení cloudu – chrání aplikace od prvního řádku kódu až po nasazení a prostředí runtime.
Zabezpečení ve společnosti Microsoft není samostatným úkolem, ale je nedílnou součástí procesu navrhování, vývoje, testování a nasazování softwaru, což týmům pomáhá snižovat rizika, aniž by to brzdilo inovace.
Propojení zabezpečení kódu s ochranou životního cyklu
V cloudových prostředích nezůstane problém zavedený v kódu aplikace a IaC izolovaný – přímo formují vystavení modulu runtime a stav zabezpečení cloudu. Ohrožení zabezpečení a chybné konfigurace zavedené v kódu nebo IaC, jako jsou nezabezpečená oprávnění identity nebo vystavené služby, e mohou přenést do nasazených pracovních úloh a způsobit bezpečnostní riziko v prostředí runtime. Propojení zabezpečení kódu s širší ochranou v rámci životního cyklu pomáhá týmům pochopit, jak se problémy vznikající ve fázi vývoje promítají do reálných rizik v cloudu – díky tomu mohou upřednostnit to nejdůležitější, rychleji řešit problémy a předcházet opakujícím se problémům v průběhu celého životního cyklu aplikace.
Zabezpečení jako základní princip napříč životním cyklem vývoje
Zabezpečení je integrované v rámci celého cyklu SDL (Secure Development Lifecycle) a pomáhá týmům včas identifikovat a řešit rizika– od plánování a kódování až po nasazení a průběžné operace. Tento přístup upřednostňuje proaktivní snižování rizika místo reaktivních oprav.
Stanovení priorit a náprava reálného rizika (v kontextu od kódu po runtime)
Místo toho, aby se zabezpečení kódu zaměřovalo jenom na detekci, klade důraz na výsledky. Díky překlenutí kontextové mezery mezi týmy zabezpečení a DevOps pomáhají pracovní postupy překlenující psaní kódu až po prostředí runtime týmům pochopit, které problémy představují skutečné riziko pro produkční prostředí, jasně přiřadit odpovědnost a odstranit zranitelnosti přímo u zdroje – ještě předtím, než se dostanou do prostředí runtime.
Vkládání zabezpečení do DevOps a kanálů CI/CD
Kontroly zabezpečení se integrují přímo do kanálů DevOps a umožňují automatizované testování a vynucování zásad bez narušení cyklů vydávání verzí. Vkládání zabezpečení do CI/CD pomáhá týmům identifikovat problémy dříve, redukovat přepracování a pokračovat v doručování a současně snižovat riziko, že by se včas odhalené problémy promítly do zranitelností při nasazení nebo během provozu.
Podpora zásad správného řízení, dodržování předpisů a odpovědnosti
Postupy zabezpečeného kódování podporují zásady správného řízení a dodržování předpisů tím, že vynucují konzistentní kontroly v celém životním cyklu softwaru. To pomáhá organizacím plnit regulační požadavky, prokázat náležitou péči a udržovat přehled o rizicích spojených s aplikacemi.
Použití osvědčených postupů ve velkém měřítku
Tyto zásady bezpečného programování se uplatňují napříč platformami a službami společnosti Microsoft, kde se neustále zdokonalují v rozsáhlých cloudových prostředích. Praktické zkušenosti v tomto měřítku pomáhají při tvorbě pokynů a nástrojů, jejichž cílem je podporovat přísnější postupy v oblasti zabezpečení kódu napříč organizacemi.
Nové trendy v zabezpečení kódu
Zabezpečení kódu se neustále vyvíjí, protože aplikace jsou stále více distribuované, nativně cloudové a podporované umělou inteligencí. Nové přístupy se zaměřují na identifikaci rizik dříve, automatizaci ochrany a zachování nepřetržitého zabezpečení v průběhu životního cyklu softwaru.
Umělá inteligence se stále častěji používá k analýze vzorů kódu, identifikaci ohrožení zabezpečení a označení rizikového chování ve velkém měřítku. Nástroje využívající AI pomáhají týmům rychleji odhalovat problémy a upřednostňovat opravy podle skutečného rizika, ne jen podle statických pravidel.
Zabezpečení „shift-left“ v kanálech DevSecOps
Díky postupům „shift-left“, které integrují testování přímo do procesů CI/CD, se zabezpečení začleňuje do vývoje v mnohem ranější fázi. Díky identifikaci ohrožení zabezpečení během fází kódování a sestavování týmům daří omezovat nutnost oprav, zabránit zpožděním při vydávání verzí a snižovat náklady na nápravu.
Automatizace a strojové učení v zabezpečeném kódování
Automatizace hraje rostoucí roli při vynucování standardů zabezpečeného kódování, kontrole závislostí a ověřování konfigurací. Strojové učení zlepšuje přesnost tím, že se učí z minulých ohrožení zabezpečení a pomáhá týmům soustředit se na nejdůležitější rizika.
Průběžné zabezpečení a vývojová prostředí s nulovou důvěrou (Zero Trust)
Budoucnost zabezpečení kódu klade důraz na průběžné vyhodnocování místo jednorázových kontrol. Principy nulové důvěry (Zero Trust) se rozšiřují i do vývoje tím, že ověřují integritu kódu, vynucují minimální oprávnění a monitorují aplikace od vývoje až po runtime.
Microsoft a řešení zabezpečení cloudu
Zabezpečení kódu je nezbytné pro moderní firmy vytvářející aplikace nativní pro cloud s podporou AI. V rámci širší strategie zabezpečení cloudu pomáhá integrace zabezpečení do životního cyklu vývoje softwaru organizacím snížit riziko, vyhnout se nákladným chybám zabezpečení a chránit důvěru v době růstu.
Dodržování osvědčených postupů zabezpečeného kódování, jako je ověřování vstupů, vynucování nejnižších oprávnění a automatizace testování zabezpečení, pomáhá týmům zachytit problémy dříve a pracovat s větší jistotou. Osvědčené principy, jako jsou bezpečná výchozí nastavení a hloubková ochrana, poskytují pevný základ pro dlouhodobou odolnost.
Posílením zabezpečení na úrovni kódu vylepšují organizace svůj celkový stav zabezpečení cloudu – propojují tak rozhodnutí učiněná ve fázi vývoje s ochranou při nasazení a v prostředí runtime. Tento integrovaný přístup pomáhá týmům rychleji inovovat bez zvýšení rizika, takže zabezpečení kódu je zásadním základem pro zabezpečení moderních cloudových aplikací.
Další informace o zabezpečení od Microsoftu
Časté otázky
- Ohrožení zabezpečení zdrojového kódu je slabinou v kódu aplikace, kterou útočníci mohou zneužít k získání neoprávněného přístupu, narušení systémů nebo odcizení dat. Tato ohrožení zabezpečení jsou často důsledkem nezabezpečené logiky, nesprávného zpracování vstupů, zastaralých závislostí nebo chybějících kontrolních mechanismů zabezpečení. Pokud se nevyřeší, mohou se ohrožení zabezpečení zdrojového kódu přenést do produkčního prostředí a zvýšit riziko úniků dat a provozních výpadků.
- Zabezpečení kódu pomáhá zabezpečit zdrojový kód tím, že identifikuje a snižuje rizika během životního cyklu vývoje softwaru. Postupy zabezpečeného kódování, jako je ověřování vstupů, vynucování nejnižších oprávnění a používání důvěryhodných knihoven, snižují pravděpodobnost ohrožení zabezpečení. Automatizované testování zabezpečení a analýza kódu dále pomáhají týmům zjišťovat problémy v rané fázi, než se nezabezpečený kód dostane do produkčního prostředí.
- Zdrojový kód se zabezpečuje dodržováním postupů bezpečného kódování, ověřováním vstupů, používáním důvěryhodných knihoven, uplatňováním minimálních oprávnění a integrací automatizovaného testování zabezpečení do vývojových kanálů.
- K útokům přetečení vyrovnávací paměti obvykle dochází, když aplikace nedokážou správně ověřit velikost vstupu. Když aplikace zapíše do vyrovnávací paměti více dat, než může bezpečně uložit, útočníci mohou přepsat paměť a potenciálně spustit malware. Tato ohrožení zabezpečení jsou často výsledkem chybějící kontroly mezí nebo nebezpečného zpracování paměti v kódu aplikace.
- Ohrožení zabezpečení útoku prostřednictvím injektáže jsou nejčastěji způsobeny neověřenými nebo neočištěnými uživatelskými vstupy. Když aplikace zpracovávají vstup přímo, například databázové dotazy, příkazy nebo skripty, bez řádného ověření, můžou útočníci vložit malware. Pro prevenci útoků prostřednictvím injektáže je nezbytné zabezpečené zpracování vstupů a silné kontrolní mechanismy ověřování.
Sledujte zabezpečení od Microsoftu