Zabezpečení aplikací a zabezpečení softwaru: Jaký je rozdíl?

Monica Chakraborti

Pojmy „zabezpečení aplikací“ a „zabezpečení softwaru“ se často používají zaměnitelně. Ve skutečnosti je však mezi nimi rozdíl. Průkopník v oblasti informační bezpečnosti Gary McGraw tvrdí, že softwarová bezpečnost je reaktivní přístup, ke kterému dochází po instalaci softwaru. Na druhé straně zabezpečení softwaru zahrnuje aktivní přístup ve fázi před nasazením. Zabezpečení musí být stanoveno ve všech fázích životního cyklu vývoje softwaru (SDLC), aby byla zajištěna bezpečnost softwaru. Zabezpečení softwaru tedy není zabezpečení aplikací - je to obrovské.

Zabezpečení aplikací jako podmnožina softwarového zabezpečení

Jak víte, aplikace jsou odkazy mezi daty a uživatelem (nebo jinou aplikací). Pokud chce uživatel například komplexní analýzu zdravotních dat pacienta, lze jej snadno provést pomocí aplikace, aby se zabránilo složitým a časově náročným manuálním výpočtům. Podobně se online bankovnictví provádí prostřednictvím webových aplikací nebo mobilních aplikací a nefinanční informace se zpracovávají, přenášejí a ukládají do procesu. Software neuznává důvěrnost ani důvěrnost informací přenášených nebo přenášených přes internet. Software by proto měl být navržen a vyvíjen na základě citlivosti zpracovávaných údajů. Pokud jsou data klasifikována jako „veřejná“, lze k nim přistupovat bez nutnosti ověření uživatele. Jedním příkladem jsou informace nalezené na kontaktní stránce webu nebo na stránce zásad. Pokud však aplikace provádí správu uživatelů, musí k přístupu k těmto datům existovat metoda vícefaktorové autentizace. Podle klasifikace dat zpracovávaných v aplikaci je kromě provádění bezpečného kódování vyžadováno ověření, ověření, autorizace a ochrana dat v úložišti nebo tranzitu. Mělo by být měřeno v každém kroku SDLC, aby byl chráněn software a související citlivé informace. Toto opatření rozděluje problémy do fáze před a po vývoji. Zabezpečení softwaru se však zabývá problémy před nasazením a problémy se zabezpečením softwaru s problémy po distribuci.

Mezi činnosti související s bezpečností softwaru (předběžnou distribucí) patří:

- bezpečný návrh softwaru - vývoj pokynů pro bezpečné kódování pro vývojáře - vývoj bezpečných konfiguračních postupů a standardů pro distribuční fázi - bezpečné kódování v souladu s pokyny - kontrola vstupů uživatelů a souvisejících implementace strategií kódování - autentizace uživatelů - správa relací uživatelů - řízení přístupu na funkční úrovni - použití silné kryptografie k ochraně dat během odpočinku a přenosu - kontrola součástí třetích stran - zadržení případných softwarových vad

Činnosti týkající se zabezpečení aplikací (po přiřazení) zahrnují:

- Testy zabezpečení po hostování - Zjištění nedostatků v konfiguraci softwarového prostředí - Zjištění škodlivého kódu (vytvořeného na pozadí, časovaná bomba) - Oprava / Modernizace - Filtrování IP - Odstranění použitých souborů - Implementace softwarové politiky Sledování runtime programů pro zvýšení výkonu

Další informace naleznete v modelu Building Security Maturity Model (BSIMM).

Scénář 1: Zabezpečení webových aplikací Webové aplikace jsou často aplikace založené na klientském serveru, kde prohlížeč funguje jako klient, odešle uživateli žádosti o poskytnutí informací a obdrží odpovědi ze serveru. Proto je zabezpečení webových aplikací spojeno s problémy klientů, ochranou serveru a ochranou dat během odpočinku a přenosu. Pokud nejsou při navrhování uživatelského rozhraní přijata opatření, je obtížnější řešit problémy na straně klienta. Jedním příkladem jsou skripty založené na DOM, kde je možné objekt DOM upravit z jiného objektu DOM pomocí Javascriptu. Moderní prohlížeče poskytují větší ochranu aplikací, ale mnoho programů podporuje pokročilou kompatibilitu, která zahrnuje širokou škálu uživatelů, starší verze prohlížečů a nezabezpečené počítače. Při řešení těchto problémů by proto měl být během fáze návrhu proveden klient. Během vývojové a kódovací fáze aplikace mohou být komponenty na straně serveru chráněny pomocí protějšků. To vyžaduje instalaci zabezpečeného softwaru systému / serveru. Zastaralý serverový software, jako je Apache Tomcat (3.1 a starší), již není podporován a pro tyto verze mohou existovat určité nepředvídané chyby. Měly by být okamžitě aktualizovány na nejnovější verzi.

Další běžné chyby zabezpečení infrastruktury:

- Podrobný serverový banner - Ukládání do mezipaměti stránky, které ukládají data lokálně a v tranzitu - šifrované svazky zálohované serverem - síťové adresy domény ovlivněné cookies - zabezpečení cookies

Scénář 2: Zabezpečení mobilních aplikací

Různé operační systémy a mobilní systémy, jako jsou chytré telefony a tablety používající návrh zabezpečení, jsou dnes běžnější než webové aplikace. Tato zařízení a aplikace spuštěné na těchto zařízeních mohou představovat vážné ohrožení citlivých informací, které ukládají. Firemní e-maily a osobní kontakty mohou být vystaveny nespolehlivým sítím. Tyto programy spolupracují s mnoha podpůrnými službami. Zařízení mohou být odcizena. Je možné nainstalovat malware. Mobilní aplikace lze vytvářet obráceně pro přístup k důvěrným informacím. To je jen několik možností. Některé marketingové aplikace v mobilních zařízeních mohou navíc shromažďovat osobní nebo profesionální informace, jako jsou textové zprávy, historie telefonních hovorů a kontakty.

Mezi rizikové faktory v mobilním softwaru patří:

- Kódování aplikace - Nasazení aplikace - Konfigurace aplikace - Konfigurace zařízení

Mobilní aplikace by měly být schopné interních detekčních schopností Root / Jailbreak, úplné odolnosti proti zpětnému inženýrství, autentizace v mnoha obličejích, otisků prstů, detekce obrazu a geolokace. Nemluvě o nutnosti dodržovat pokyny pro bezpečné kódování. U různých prodejců mobilních zařízení používají obchody aplikací různé kontroly zabezpečení. Ujistěte se, že aplikace nejsou během procesu distribuce poškozeny. V této fázi je obzvláště důležitý plný odpor. Zařízení, která tyto programy spouštějí, používají svůj software a lze je bezpečně nakonfigurovat. Konfigurace zařízení souvisejících s ochranou aplikačního kódu, detekcí root / malware, ověřováním a skenováním kanálů by měla být prováděna v souladu s konfiguračními standardy mobilních zařízení. Nejde jen o program, který je třeba zdůraznit; mobilní software musí být také navržen a bezpečně upraven pro všechny tyto schopnosti. Implementace zabezpečení v mobilních aplikacích je obtížnější než webové aplikace. Opatření, jako je dešifrování a dešifrování (pro porušení kódu), jsou vyžadována v mobilních aplikacích více než webové aplikace.

Typy testování aplikací

Testování je navrženo tak, aby detekovalo chyby výkonu, konstrukční a architektonické nedostatky a nespolehlivé konfigurace. Některé účinné aplikace pro bezpečnostní kontroly jsou:

  1. Statické testování zabezpečení softwaru (SAST) se zaměřuje na zdrojový kód.
  2. Dynamické testování zabezpečení aplikací (DAST) je určeno k identifikaci zranitelných míst v softwaru a infrastruktuře.
  3. Interaktivní praktický bezpečnostní test (IAST) používá kombinaci DAST a SAST a provádí behaviorální analýzu k určení toku dat, vstupu / výstupu atd.
  4. Runtimova sebeobrana (RASP) umožňuje aplikacím, aby se chránily pomocí funkcí zabezpečení modulu runtime, jako je ukončení relace, vypnutí programu, hlášení havárií atd. .

Je důležité si uvědomit, že zabezpečení aplikací je jednou z mnoha oblastí softwarového zabezpečení.

Softwarová rizika zahrnují:

- Žádná webová / webová aplikace / infrastruktura - Bezpečný design - Nesprávné nastavení - Omezení technologie - šifrování přenosu - Zabezpečení databáze back-end

Jak vidíte ve výše uvedených dvou scénářích, testování aplikací ve fázi nasazení webových a mobilních aplikací se liší mnoha způsoby. Mobilní aplikace bývají rušivější než webové aplikace. Kromě toho je zabezpečení mobilních zařízení důležitým faktorem v zabezpečení mobilních aplikací.

Kde do toho všeho zapadá zabezpečení sítě?

Existuje rozšířená mylná představa o zabezpečení softwaru, jako jsou brány firewall, které omezují výkon programů nebo programů, jako jsou brány firewall. Podniky utrácejí spoustu peněz za zabezpečení sítí (například směrovače, které zabraňují prohlížení IP adresy přímo na internetu).

Další běžná protiopatření zahrnují:

- Typické brány firewall - Programy šifrování / dešifrování - Antivirové programy - Programy detekce / deaktivace spywaru - Biometrické autentizační systémy - nástroje pro analýzu a prevenci ztráty dat

Zpráva Verizon Data Breach Report z roku 2015 ukazuje pouze 9,4% útoků webové aplikace mezi různými incidenty. Iniciativa pro zabezpečení softwaru organizace (SSI) by měla být chápána nad rámec zabezpečení aplikací a měla by být integrována do všech typů softwaru.

[tweetthis remove_hidden_hashtags = "true"] # Appsec a #Swsec se často používají zaměnitelně. Ale je tu velký rozdíl. Zde je důvod: [/ tweetthis]

Zabezpečení aplikací a zabezpečení softwaru: jeho dokončení

Bezpečné navrhování a kódování aplikace není jediný způsob, jak tuto aplikaci zabezpečit. Infrastruktura, servery a síťové komponenty, které běží v aplikaci, musí být nastaveny bezpečně. Aby byla aplikace co nejbezpečnější, je důležité zvážit všechny z nich, včetně konfigurace aplikace a serveru, šifrování přenosu, ukládání autentizačních dat a přístupu k databázi, kde jsou uloženy databáze a šifrovací klíče. Software a infrastruktura provozovaná softwarem musí být chráněny, aby byla zajištěna maximální bezpečnost. To zahrnuje zabezpečení softwaru (ve fázi návrhu, kódování a testování) a praktické zabezpečení (testy po umístění, monitorování, ladění, aktualizace atd.). Zabezpečení softwaru zahrnuje holistický přístup ke zlepšení bezpečnosti informací v organizaci, ochrany aktiv a důvěrnosti neveřejných informací; zatímco zabezpečení aplikací je v rámci celého procesu pouze jednou doménou.

Zabezpečení aplikace je prvním krokem na cestě k zabezpečení softwaru. Další informace.