Бяспека прыкладанняў і бяспека праграмнага забеспячэння: у чым розніца?

Моніка Чакраборты

Тэрміны "бяспека прыкладанняў" і "бяспека праграмнага забеспячэння" часта выкарыстоўваюцца ўзаемазаменна. Аднак на самай справе ёсць розніца паміж імі. Піянер па інфармацыйнай бяспецы Гэры МакГрау сцвярджае, што бяспека прыкладанняў - гэта рэактыўны падыход, які адбываецца пасля размяшчэння праграмнага забеспячэння. Ахова бяспекі праграмнага забеспячэння, з іншага боку, прадугледжвае актыўны падыход, які адбываецца ў межах этапу перад разгортваннем.
Каб гарантаваць, што частка праграмнага забеспячэння надзейна, неабходна забяспечыць бяспеку ва ўсіх этапах жыццёвага цыкла распрацоўкі праграмнага забеспячэння (SDLC). Такім чынам, праграмная бяспека не з'яўляецца бяспекай прыкладанняў - яна значна большая.

Бяспека прыкладанняў як падмноства праграмнай бяспекі

Як вы можаце ведаць, прыкладанні ўяўляюць сабой сувязь паміж дадзенымі і карыстальнікам (ці іншым дадаткам).
Напрыклад, калі карыстальнік хоча правесці складаны аналіз медыцынскай інфармацыі пацыента, гэта можа быць лёгка выканана дадаткам, каб пазбегнуць складаных, працаёмкіх разлікаў уручную. Сапраўды гэтак жа інтэрнэт-банкаўская аперацыя ажыццяўляецца праз вэб-прыкладанні або мабільныя прыкладанні, а недзяржаўныя фінансавыя дадзеныя апрацоўваюцца, перадаюцца і захоўваюцца ў гэтым працэсе.
Праграмнае забеспячэнне не прызнае адчувальнасць або канфідэнцыяльнасць дадзеных, якія яны апрацоўваюць і перадаюць праз Інтэрнэт. Такім чынам, праграмнае забеспячэнне павінна быць распрацавана і распрацавана на аснове адчувальнасці дадзеных, якія ён апрацоўвае. Калі дадзеныя класіфікуюцца як "агульнадаступныя", то да іх можна атрымаць доступ, не патрабуючы ад карыстальніка аўтэнтыфікацыі. Адным з прыкладаў служыць інфармацыя, змешчаная на старонцы кантактаў альбо на старонцы палітыкі. Аднак, калі праграмнае забеспячэнне ажыццяўляе адміністраванне карыстальніка, для атрымання гэтай інфармацыі, як чакаецца, існуе шматфактарны спосаб аўтэнтыфікацыі. На падставе класіфікацыі дадзеных, якія апрацоўваюцца прыкладаннем, для прыкладання ў дадатак да бяспечнага кадавання павінны быць распрацаваны адпаведныя праверкі сапраўднасці, аўтарызацыі і абароны дадзеных у сховішчах ці транзіце.
Каб абараніць праграмнае забеспячэнне і звязаныя з ім адчувальныя дадзеныя, неабходна праводзіць вымярэнне на кожнай фазе SDLC. Гэта вымярэнне шырока падзяляе пытанні на этапы развіцця да і пасля разгортвання. Зноў жа, праграмная бяспека займаецца праблемамі перад разгортваннем, а бяспека прыкладанняў клапоціцца пра праблемы пасля разгортвання.

Дзейнасць па забеспячэнні праграмнай бяспекі (перад разгортваннем) ўключае:

- Бяспечны дызайн праграмнага забеспячэння
 - Распрацоўка бяспечных правілаў кадавання для распрацоўшчыкаў
 - Распрацоўка бяспечных працэдур канфігурацыі і стандартаў на этапе разгортвання
 - Бяспечнае кадаванне, якое адпавядае ўстаноўленым рэкамендацыям
 - Праверка ўводу карыстальніка і рэалізацыя адпаведнай стратэгіі кадавання
 - Аўтэнтыфікацыя карыстальніка
 - Кіраванне сеансам карыстальніка
 - Функцыянальны ўзровень кантролю доступу
 - Выкарыстанне моцнай крыптаграфіі для забеспячэння бяспекі дадзеных у стане спакою і транзіту
 - Праверка іншых кампанентаў
 - Арышт любых недахопаў у дызайне / архітэктуры праграмнага забеспячэння

Дзейнасць у галіне бяспекі прыкладанняў (пасля разгортвання) ўключае:

- Размясціць тэсты бяспекі разгортвання
 - Ухіленне недахопаў у канфігурацыі праграмнага асяроддзя
 - выяўленне шкоднаснага кода (рэалізавана распрацоўнікам для стварэння бэкдор-тайм-бомбы)
 - Патч / мадэрнізацыя
 - IP-фільтраванне
 - Зафіксуйце выкананыя файлы
 - Маніторынг праграм падчас выканання для выканання палітыкі выкарыстання праграмнага забеспячэння

Для атрымання дадатковых указанняў праглядзіце дзейнасць па будаўнічай бяспецы ў мадэлі сталасці (BSIMM).

Сцэнарый № 1: Бяспека вэб-прыкладанняў
 
Вэб-прыкладанні часцей за ўсё кліент-серверныя прыкладанні, у якіх браўзэр выступае ў якасці кліента, адпраўляючы запыты і атрымліваць адказы з сервера, каб прадставіць інфармацыю карыстачу. Таму праблемы бяспекі вэб-прыкладанняў звязаны з праблемамі на боку кліента, абаронай на серверы і абаронай дадзеных у стане спакою і транзіту.
Пытанні, звязаныя з кліентам, складаней выправіць, калі не прадуманы меры засцярогі пры распрацоўцы карыстацкага інтэрфейсу. Адным з прыкладаў з'яўляецца сцэнарны сцэнарый на базе DOM, у якім значэнне аб'екта DOM усталёўваецца з іншага аб'екта DOM, які можна змяняць з дапамогай Javascript. Сучасныя браўзары больш абараняюць прыкладанні, але многія праграмы ўсё яшчэ падтрымліваюць сумяшчальнасць, якая ўключае больш шырокае кола карыстальнікаў, старыя версіі браўзэраў і небяспечныя кліенцкія кампутары. Такім чынам, кампаненты на базе кліента павінны ўкараняць бяспеку на этапе распрацоўкі пры разглядзе гэтых праблем.
Кампаненты на баку сервера могуць быць абаронены, ужываючы меры супрацьдзеяння падчас этапаў распрацоўкі і кадавання распрацоўкі прыкладанняў. Для гэтага неабходна ўсталяваць бяспечнае сістэмнае / сервернае праграмнае забеспячэнне. Састарэлае сервернае праграмнае забеспячэнне, такое як Apache Tomcat (3.1 і раней), афіцыйна не падтрымліваецца, і для гэтых версій могуць узнікнуць недакладныя ўразлівасці. Яны павінны быць неадкладна абноўлены да апошняй версіі.

Іншыя агульныя ўразлівасці бяспекі інфраструктуры ўключаюць:

- Шматслоўны банэр сервера
 - Кэшаванне старонак дазваляе захоўваць дадзеныя лакальна і ў дарозе
 - Слабыя пакеты шыфраў, якія падтрымліваюцца серверам
 - Унутраныя сеткавыя адрасы, якія падвяргаюцца кукі
 - Бяспеку печыва

Сцэнарый № 2: Бяспека мабільных дадаткаў

Мабільныя сістэмы, такія як смартфоны і планшэты, якія выкарыстоўваюць розныя аперацыйныя сістэмы і канструкцыі бяспекі, больш распаўсюджаныя, чым вэб-прыкладанні. Гэтыя прылады і прыкладанні, якія працуюць на гэтых прыладах, могуць прадстаўляць вялікую рызыку для канфідэнцыйных дадзеных, якія яны захоўваюць. Дзелавыя электронныя лісты і асабістыя кантакты могуць трапляць у неправераныя сеткі. Гэтыя прыкладанні таксама ўзаемадзейнічаюць з многімі дапаможнымі службамі. Прыборы могуць быць выкрадзены. Можна ўсталёўваць шкоднасныя праграмы. Мабільныя прыкладанні могуць быць разроблены зваротным шляхам для доступу да важных карпаратыўных дадзеных. Гэта толькі некалькі магчымасцей. Акрамя таго, некаторыя маркетынгавыя прыкладанні, якія працуюць на мабільных прыладах, могуць збіраць асабістую або прафесійна адчувальную інфармацыю, напрыклад, тэкставыя паведамленні, гісторыю тэлефонных званкоў і кантакты.

Фактары рызыкі ў праграмным забеспячэнні для мабільных прылад ўключаюць:

- Кадаванне прыкладання
 - Размеркаванне прыкладанняў
 - Канфігурацыя прыкладання
 - Канфігурацыя прылады

Мабільныя прыкладанні павінны быць распрацаваны з убудаванымі магчымасцямі выяўлення Root / Jailbreak, супрацьдзеяння фальсіфікацыі супраць зваротнай інжынерыі, шматслаёвай праверкі сапраўднасці, выкарыстоўваючы голас, адбітка пальцаў, малюнак і геолокацию. Не кажучы ўжо пра тое, што яны павінны прытрымлівацца правілаў бяспечнага кадавання.
У крамах прыкладанняў для розных вытворцаў мабільных прылад выкарыстоўваюцца розныя працэсы праверкі бяспекі. Важна пераканацца, што ў працэсе распаўсюду прыкладання не пашкоджаны. Супраціў фальсіфікацый асабліва важны на гэтай фазе.
Прылады, на якіх гэтыя праграмы працуюць, выкарыстоўваюць праграмнае забеспячэнне ўласнай сістэмы і могуць быць настроены няўпэўнена. Канфігурацыі прылад, звязаныя з абаронай кода прыкладання, выяўленнем каранёвых / шкоднасных праграм, аўтэнтыфікацыяй і праверкай каналаў, павінны ажыццяўляцца ў адпаведнасці са стандартамі канфігурацыі мабільных прылад. Тут важна адзначыць не толькі прыкладанне; праграмнае забеспячэнне для мабільных прылад таксама павінна быць распрацавана з улікам усіх гэтых магчымасцей і настроена ў бяспечнай форме.
Рэалізацыя мер бяспекі ў мабільных дадатках складаней у параўнанні з вэб-прыкладаннямі. Такія меры, як затуханне кода і выяўленне фальсіфікацый (каб пазбегнуць фальсіфікацыі кода), патрабуюцца ў мабільных дадатках больш, чым у вэб-дадатках.

Віды тэставання прыкладанняў

Тэставанне прызначана для выяўлення памылак у рэалізацыі, недахопаў дызайну і архітэктуры і небяспечных канфігурацый. Вось некалькі эфектыўных відаў тэставання бяспекі прыкладанняў:

  1. Статычнае тэставанне бяспекі прыкладанняў (SAST) сканцэнтравана на зыходным кодзе.
  2. Дынамічнае тэставанне бяспекі прыкладанняў (DAST) сканцэнтравана на выяўленні ўразлівасцей, прысутных у дадатку і інфраструктуры.
  3. Інтэрактыўнае тэставанне бяспекі прыкладанняў (IAST) выкарыстоўвае камбінацыю як DAST, так і SAST, а таксама праводзіць паводніцкі аналіз для выяўлення патоку дадзеных, уводу / вываду і г.д.
  4. Самаабарона прыкладання падчас выканання (RASP) дазваляе прыкладанням абараніць сябе, выкарыстоўваючы функцыі бяспекі рухавіка прыкладання падчас працы прыкладання, такія як спыненне сесіі, спыненне дадатку, апавяшчэнне аб адмове і г.д.

З улікам гэтага важна адзначыць, што бяспека прыкладанняў - толькі адзін з многіх сфер бяспекі праграмнага забеспячэння.

Праграмныя рызыкі ўключаюць:

- Інтэрнэт / не-вэб-прыкладанне / інфраструктура
 - Небяспечны дызайн
 - Няправільныя канфігурацыі
 - Абмежаванні тэхналогіі
 - Шыфраванне перадачы
 - Бэк-энд бяспекі базы дадзеных

Як відаць у двух сцэнарыях, прадстаўленых вышэй, тэставанне прыкладанняў у фазе пасля разгортвання ў Інтэрнэце і мабільных дадатках шмат у чым адрозніваецца. Мабільныя прыкладанні больш схільныя да фальсіфікацыі, чым вэб-прыкладанні. Акрамя таго, бяспека абсталявання мабільных прылад з'яўляецца асноўным фактарам бяспекі мабільных прыкладанняў.

Дзе бяспека сеткі ўпісваецца ва ўсё гэта?

Існуе распаўсюджанае няправільнае ўяўленне аб забеспячэнні бяспекі праграмнага забеспячэння, што перыферыйныя меры супрацьдзеяння, такія як брандмаўэр, дастаткова добрыя, каб абмежаваць выкананне прыкладання або апрацоўку дадзеных пэўнымі прыкладаннямі. Прадпрыемствы марнуюць значную колькасць сродкаў на правядзенне супрацьдзеянняў па сеткавай бяспецы (напрыклад, маршрутызатары, якія могуць прадухіліць непасрэднае прагляданне Інтэрнэт-адраса асобнага кампутара ў Інтэрнэце).

Іншыя распаўсюджаныя меры супрацьдзеяння ўключаюць:

- Звычайныя брандмаўэры
 - Праграмы шыфравання / дэшыфравання
 - Антывірусныя праграмы
 - Праграмы выяўлення / выдалення шпіёнскіх праграм
 - Сістэмы біяметрычнай аўтэнтыфікацыі
 - Інструменты аналізу і прадухілення страт дадзеных

Справаздача аб парушэнні дадзеных Verizon 2015 паказвае толькі 9,4% атак на вэб-прыкладанні сярод розных відаў здарэнняў. Ініцыятывы арганізацыі бяспекі праграмнага забеспячэння арганізацыі (SSI) павінны выходзіць за рамкі бяспекі прыкладанняў і прымаць цэласны падыход - цыкла для ўсіх тыпаў праграмнага забеспячэння.

[tweetthis remove_hidden_hashtags = "true"] # Appsec і #Swsec часта выкарыстоўваюцца ўзаемазаменна. Але ёсць вялікая розніца. Вось чаму: [/ tweetthis]

Бяспека прыкладанняў і бяспека праграмнага забеспячэння: падвядзенне вынікаў

Надзейнае праектаванне і кадаванне прыкладанняў - не адзіны спосаб бяспекі прыкладання. Інфраструктура, на якой працуе дадатак, а таксама серверы і сеткавыя кампаненты павінны быць надзейна настроены. Каб праграма была максімальна бяспечнай, варта ўлічваць канфігурацыі прыкладанняў і сервераў, шыфраванне перадачы, захоўванне ўліковых дадзеных аўтэнтыфікацыі і кантроль доступу да базы дадзеных, дзе захоўваюцца ўліковыя дадзеныя і ключы шыфравання.
Праграмнае забеспячэнне і інфраструктура, на якой працуе праграмнае забеспячэнне, павінны быць абаронены для падтрымання высокага ўзроўню бяспекі праграмнага забеспячэння. Гэта прадугледжвае як бяспеку праграмнага забеспячэння (на этапах распрацоўкі, кадавання, так і тэставання) і бяспеку прыкладанняў (тэставанне пасля разгортвання, маніторынг, выпраўленне, мадэрнізацыя і г.д.). Праграмнае забеспячэнне бяспекі прадугледжвае цэласны падыход у арганізацыі для паляпшэння паставы інфармацыйнай бяспекі, аховы актываў і забеспячэння прыватнасці непублічнай інфармацыі; у той час як бяспека прыкладанняў з'яўляецца толькі адным даменам на працягу ўсяго працэсу.

Бяспека прыкладанняў - гэта толькі першы крок у шляху бяспекі праграмнага забеспячэння. Даведайцеся больш.