Pagdating sa enterprise stack security, ang mga software application ang pinakamahina na link. Sa Ang Estado ng Seguridad ng Application, 2020, sinabi ni Forrester na ang karamihan sa mga panlabas na pag-atake ay nangyayari alinman sa pamamagitan ng pagsasamantala sa isang kahinaan ng software (42%) o sa pamamagitan ng isang web application (35%).
Nasa ilalim ng pressure ang mga developer na maglabas ng mga feature sa lalong madaling panahon habang nagiging mas kumplikado ang mga application at lumiliit ang mga timeline ng development. Upang makamit ang naiiba at nakakahimok na paggana ng application, lalong umaasa ang mga developer sa mga third-party na library.
Ang pagbabagong ito patungo sa mga bahagi ng open source ay gumagawa katiwasayan mga kasanayan na mas kumplikado para sa mga kumpanya. Ang mga bagong framework gaya ng mga container at API ay lalong nagpapagulo sa seguridad ng application.
Dahil napipilitan ang mga developer na patuloy na maglabas ng mga bagong feature, nahaharap ang mga organisasyon sa isang tunay na panganib na hindi makasabay ang seguridad. Maaaring makamit ang seguridad sa pamamagitan ng pagsasama ng pinakamahuhusay na kasanayan sa seguridad ng aplikasyon sa ikot ng buhay ng pagbuo ng software at pagpapatupad ng mga ito.
Bakit Mahalaga ang Pagsubok sa Web Security?
Ang pagsubok sa mga Web application at ang kanilang mga pagsasaayos para sa mga kahinaan sa seguridad ay ang layunin ng pagsubok sa seguridad sa Web. Ang mga pag-atake sa layer ng application (ibig sabihin, pag-target sa mga application na nakabatay sa HTTP) ang mga pangunahing target.
Karaniwang magsumite ng iba't ibang uri ng input sa isang Web application upang makapukaw ng mga error at maging sanhi ng pagkilos nito nang hindi inaasahan. Sa mga tinatawag na "negatibong pagsubok", ang sistema ay siniyasat para sa pag-uugali na hindi nilayon.
Mahalagang tandaan din iyon Pagsubok sa seguridad sa web ay hindi lamang tungkol sa pagsubok sa mga tampok na panseguridad na ipinatupad sa application (hal., pagpapatunay at awtorisasyon).
Kinakailangan din na subukan na ang iba pang mga tampok (hal., lohika ng negosyo at pagpapatunay ng input at output) ay ipinatupad sa isang ligtas na paraan. Ang ligtas na pag-access sa mga function ng Web application ay ang layunin.
Paano Binababa ng Pagsusuri sa Seguridad ng Application ang Panganib ng Iyong Organisasyon?
Karamihan sa mga Pag-atake sa Web Application
- Ang pamamaraan ng SQL injection
- Scripts sa Cross-Site (XSS)
- Pagpapatupad ng mga utos nang malayuan
- Path Traversal
Mga Resulta ng Pag-atake
- Nilalaman na pinaghihigpitan
- Mga account na nakompromiso
- Nakakahamak na pag-install ng software
- Nawala ang kita
- Nawawalan ng tiwala ang mga customer
- Pagkasira ng reputasyon
- Pati na rin ang marami pang iba
Ang kapaligiran sa Web ngayon ay madaling kapitan ng malawak na hanay ng mga problema. Bilang karagdagan sa pag-alam kung paano mapagsamantalahan ang isang application, ang pag-alam sa mga potensyal na resulta ng pag-atake ay makakatulong sa iyong kumpanya na maagang matugunan ang mga kahinaan at tumpak na subukan ang mga ito.
Maaaring ilapat ang mga nagpapagaan na kontrol sa mga unang yugto ng SDLC pagkatapos matukoy ang ugat ng mga kahinaan. Bilang karagdagan, maaaring samantalahin ng isang pagsubok sa seguridad ng Web application ang kaalaman sa kung paano gumagana ang mga pag-atake na ito upang i-target ang mga kilalang punto ng interes.
Upang pamahalaan ang panganib ng iyong kumpanya, dapat mong maunawaan ang epekto ng isang pag-atake, dahil magagamit ito upang masukat ang kabuuang kalubhaan ng kahinaan.
Bilang resulta ng isang pagsubok sa seguridad, ang pagtukoy sa kalubhaan ng mga natukoy na isyu ay makakatulong sa iyong bigyang-priyoridad ang mga pagsisikap sa remediation nang mahusay at epektibo. I-minimize ang panganib ng iyong kumpanya sa pamamagitan ng pagsisimula sa mga isyu ng kritikal na kalubhaan at paglipat sa mga isyu ng mas mababang epekto.
Ang isang potensyal na pagtatasa ng epekto ng bawat aplikasyon sa library ng aplikasyon ng iyong kumpanya bago ang pagtukoy ng isang isyu ay maaaring makatulong sa pagbibigay-priyoridad sa pagsubok sa seguridad ng aplikasyon.
Kapag ang pagsubok sa seguridad sa web ay may itinatag na listahan ng mga high-profile na application, maaari naming iiskedyul ang pagsubok upang i-target muna ang mga kritikal na aplikasyon ng iyong kumpanya upang mabawasan ang panganib laban sa iyong negosyo.
Anong Mga Tampok ang Dapat Suriin Sa Panahon ng Pagsusuri sa Seguridad ng Web Application?
Maraming mga tampok ang dapat suriin sa panahon ng pagsubok sa seguridad ng mga aplikasyon sa Web, ngunit ang listahan ay hindi kumpleto. Maaaring malantad ang iyong organisasyon sa malubhang panganib sa pamamagitan ng hindi naaangkop na pagpapatupad ng bawat isa.
Nangungunang 10 Pinakamahuhusay na Kasanayan Para sa Seguridad ng Web Application
Ang mga sumusunod ay ang nangungunang sampung pinakamahusay na kagawian sa seguridad ng aplikasyon na dapat na ipatupad na ng iyong organisasyon.
#1 Subaybayan ang Iyong Mga Asset
Kung hindi mo alam kung ano ang mayroon ka, hindi mo ito mapoprotektahan.
Para sa aling mga function o app ka gumagamit ng mga partikular na server? Sa aling mga web app ka gumagamit ng mga bahagi ng open source?
Sa tingin mo, hindi ba mahalaga na subaybayan ang iyong mga asset? Napakahalagang tandaan kung aling software ang tumatakbo sa loob ng bawat application – tanungin lamang ang Equifax, na pinagmulta ng $700 milyon dahil sa hindi pagprotekta sa data ng mahigit 145 milyong customer.
Ang isa sa mga web portal ng customer ng credit rating agency ay nakompromiso pagkatapos na hindi na-patch ang isang open-source na bahagi, ang Apache Struts. Sinabi ng kumpanya na hindi nito alam na ginamit ng customer portal ang vulnerable na bahagi ng open source.
Kung mas maaga mong simulan ang pagsubaybay sa iyong mga asset, mas kaunting sakit ng ulo at sakuna ang mararanasan mo mamaya. Habang sinusukat ng mga organisasyon ang kanilang pag-unlad, ang prosesong ito ay maaaring parang isang gawaing Sisyphean.
Dapat mo ring pag-uri-uriin ang iyong mga ari-arian, na binabanggit ang mga kritikal sa mga pag-andar ng iyong negosyo at ang mga hindi gaanong kahalagahan. Pagkatapos, maaari mong tasahin ang mga pagbabanta at ayusin ang mga ito sa ibang pagkakataon.
#2 Magsagawa ng Threat Assessment
Kung gagawa ka ng isang listahan ng kung ano ang kailangan mong protektahan, maaari mong tukuyin ang mga banta na iyong kinakaharap at kung paano sila mapapagaan.
Paano magagawang pasukin ng mga hacker ang iyong application? Anong mga kasalukuyang hakbang sa seguridad ang mayroon ka? Anong mga karagdagang tool ang kinakailangan?
Dapat mong sagutin ang mga ito at ang iba pang mga tanong bilang bahagi ng iyong pagtatasa ng pagbabanta.
Gayunpaman, dapat ka ring maging makatotohanan tungkol sa antas ng seguridad na maaari mong matamasa. Gaano man ka-secure ang iyong system, maaari mo pa rin itong i-hack. Higit pa rito, kailangan mong maging tapat tungkol sa mga hakbang na maaaring panatilihin ng iyong koponan sa paglipas ng panahon.
Maaari mong ipagsapalaran na balewalain ang iyong mga pamantayan at kasanayan sa seguridad sa pamamagitan ng pagtutulak ng labis. Seryosohin ang seguridad at huwag magmadali.
Gamitin ang sumusunod na formula upang suriin ang iyong panganib:
Panganib = Probability ng Pag-atake x Epekto ng Pag-atake.
Ang panganib ay maaari ding isipin bilang ang posibilidad ng isang bagay na nangyayari laban sa kalubhaan ng mga kahihinatnan.
Kahit na magiging sakuna kung ang isang balyena ay mahulog mula sa langit at durugin ka, malamang na hindi ito mangyayari.
Ang isang kagat ng lamok sa paglalakad, sa kabilang banda, ay malamang, ngunit hindi malamang na magdulot ng malaking pinsala sa kabila ng ilang makati na bukol.
#3 Manatili sa Tuktok ng Iyong Patching
Pag-install ng pinakabagong mga patch sa iyong mga operating system? Gumagamit ka ba ng software ng third-party? Ang mga pagkakataon ay nahuhuli ka, ibig sabihin ay nalantad ka.
Isa sa pinakamahalagang hakbang na dapat mong gawin upang matiyak ang seguridad ng iyong software ay ang pag-update ng software, mula sa isang komersyal na vendor o mula sa isang open-source na komunidad.
Kapag natuklasan ang isang kahinaan at responsableng iniulat sa mga may-ari ng produkto o proyekto, ito ay na-publish sa mga site at database ng pagpapayo sa seguridad tulad ng WhiteSource Vulnerability Database.
Kung maaari, ang isang pag-aayos ay dapat gawin at ilabas bago ang publikasyon, na nagbibigay sa mga user ng pagkakataong i-secure ang kanilang software.
Kung, gayunpaman, hindi ka nag-aplay ng patch kapag naging available ang isa, hindi ka makikinabang sa pinahusay na seguridad.
Kung nag-aalala ka na ang pag-update sa pinakabagong bersyon ay maaaring masira ang iyong produkto, mga automated na tool malaki ang maitutulong. Anumang araw ng linggo, dapat mong unahin ang pag-update at pag-patch bilang bahagi ng iyong pinakamahuhusay na kagawian sa seguridad ng aplikasyon.
#4 Pamahalaan ang Iyong Mga Container
Sa mga nakalipas na taon, ang mga container ay naging popular dahil mas maraming organisasyon ang gumagamit ng teknolohiya dahil sa flexibility nito, na nagpapasimple sa proseso ng pagbuo, pagsubok, at pag-deploy ng mga bahagi sa iba't ibang kapaligiran sa buong software development lifecycle (SDLC).
Karaniwang tinatanggap na ang mga lalagyan ay nag-aalok ng mga pakinabang sa seguridad na nagbibigay sa kanila ng kalamangan. Bilang karagdagan, dahil sa kanilang self-contained na kapaligiran sa OS, sila ay na-segment ayon sa disenyo, sa gayon ay nagpapababa ng antas ng panganib.
Gayunpaman, ang mga lalagyan ay patuloy na mahina sa mga pagsasamantala tulad ng pag-atake ng breakout, kung saan nasira ang paghihiwalay. Ang mga container ay maaari ding maglaman ng kahinaan sa code na nakaimbak sa loob ng mga ito.
Para sa seguridad ng pipeline ng CI/CD, dapat mong i-scan ang mga kahinaan mula simula hanggang matapos, kasama ang iyong mga rehistro.
Bilang karagdagan sa mga pag-scan na ito, kasama rin sa pinakamahuhusay na kagawian para sa seguridad ng application sa pagtatrabaho sa mga container ang mahahalagang gawain tulad ng pagpirma sa sarili mong mga larawan gamit ang mga tool gaya ng Docker Content Trust kung gumagamit ka ng Docker Hub, o Shared Access Signature kung gumagamit ang iyong team. Microsoft Azure.
#5 Unahin ang Iyong Remediation Ops
Mayroong dumaraming bilang ng mga kahinaan sa mga nakaraang taon, at ang trend na ito ay hindi nagpapakita ng mga palatandaan ng pagbagal anumang oras sa lalong madaling panahon.
Dahil dito, abala ang mga developer sa remediation. Para sa mga team na umaasang panatilihing secure ang kanilang mga aplikasyon habang nananatiling matino, mahalaga ang pag-prioritize.
Ang mga pagtatasa ng pagbabanta ay isinasagawa batay sa kalubhaan ng isang kahinaan (CVSS rating), ang pagiging kritikal ng naapektuhang aplikasyon, at ilang iba pang mga salik.
Kailangan mong malaman kung ang kahinaan ng open-source ay aktwal na nakakaapekto sa iyong pagmamay-ari na code pagdating sa mga kahinaan sa open source.
Hindi epektibo at hindi mataas ang panganib kahit na kritikal ang rating ng CVSS ng vulnerable component kung hindi ito makatanggap ng mga tawag mula sa iyong produkto.
Ang mga matalinong diskarte ay ang mga una na inuuna ang pinakamahihigpit na pagbabanta, batay sa mga salik na naroroon, at iniiwan ang mga mababang panganib para sa ibang pagkakataon.
#6 I-encrypt, I-encrypt, I-encrypt
Ang OWASP Top 10 ay may kasamang pag-encrypt ng data sa pahinga at sa transit sa loob ng maraming taon, na ginagawa itong kinakailangan para sa anumang listahan ng pinakamahuhusay na kagawian sa seguridad ng aplikasyon.
Maaaring ilantad ng mga man-in-the-middle na pag-atake at iba pang anyo ng panghihimasok ang sensitibong data kapag nabigo kang i-lock nang maayos ang iyong trapiko.
kapag kayo mag-imbak ng mga password at user ID sa plain text, halimbawa, inilalagay mo sa panganib ang iyong mga customer.
Tiyaking gumagamit ka ng SSL na may na-update na certificate bilang bahagi ng iyong pangunahing checklist para sa pag-encrypt. Huwag hayaan ang iyong sarili na maiwan ngayong HTTPS ang pamantayan. Inirerekomenda din ang pag-hash.
Bukod pa rito, hindi mo dapat "i-roll ang iyong sariling crypto" gaya ng sinasabi nila. Isaalang-alang ang mga produktong panseguridad na sinusuportahan ng isang dedikadong team na may karanasang gawin ang trabaho nang tama.
#7 Pamahalaan ang mga Pribilehiyo
Hindi mo kailangang magbigay ng access sa lahat ng lahat sa iyong organisasyon. Ang mga application at data ay maa-access lamang ng mga nangangailangan nito sa pamamagitan ng pagsunod sa pinakamahuhusay na kagawian sa seguridad ng network at pinakamahuhusay na kagawian sa seguridad ng aplikasyon.
Mayroong dalawang dahilan para dito. Ang unang bagay na kailangan mong gawin ay pigilan ang isang hacker na gumamit ng mga kredensyal sa marketing upang makakuha ng access sa isang system na naglalaman ng iba pang mas sensitibong data, gaya ng pananalapi o legal.
Ang mga pagbabanta ng tagaloob ay isa ring alalahanin, maging ito ay hindi sinasadya - tulad ng pagkawala ng isang laptop o pagpapadala ng maling attachment sa isang email - o nakakahamak.
Ang Prinsipyo ng Pinakamababang Pribilehiyo ng pagbibigay sa mga empleyado ng data lamang na kailangan nila pagdating sa pag-access ng data ay maaaring mabawasan ang iyong pagkakalantad kumpara sa walang mga kontrol sa lugar.
#8 Yakapin ang Automation para sa Pamamahala ng Iyong Kahinaan
Ang seguridad ng kanilang mga application ay naging lalong mahalaga sa mga developer sa nakalipas na ilang taon, lalo na pagdating sa mga gawain tulad ng pamamahala sa kahinaan.
Upang matugunan ang pakaliwa na pagbabago ng seguridad, ang mga developer team ay sumusubok nang maaga at madalas, na itinutulak ang marami sa kanilang mga pagsusuri sa seguridad nang maaga sa proseso ng pag-develop kapag ito ay mas madali at mas mura upang ayusin ang mga kahinaan.
Upang pamahalaan ang mahirap gamitin na proseso ng pagsubok dahil sa dami ng mga kahinaan, nangangailangan ang mga developer ng mga awtomatikong tool.
Upang makahanap ng mga potensyal na kahinaan sa seguridad sa iyong proprietary code, maaaring gamitin ang static na application security testing (SAST) at dynamic na application security testing (DAST) sa panahon ng pag-develop.
Ang mga butas sa seguridad ay sarado gamit ang mga SAST at DAST, gayunpaman, ang pagmamay-ari na code ay bumubuo ng medyo maliit na bahagi ng iyong pangkalahatang code.
Sa higit sa 92% ng lahat ng modernong application, ang mga open-source na bahagi ay bumubuo ng 60-80% ng iyong codebase. Dapat unahin ng iyong checklist sa seguridad ng application ang pag-secure ng mga bahagi ng open source.
Gamit ang mga tool sa pagtatasa ng komposisyon ng software, maaaring magpatakbo ang mga team ng mga awtomatikong pagsusuri at ulat ng seguridad sa buong SDLC, na tinutukoy ang bawat bahagi ng open source sa kanilang kapaligiran at ipinapahiwatig kung alin sa kanila ang may kilalang kahinaan na nagdudulot ng panganib sa seguridad sa iyong mga application.
Mas mapapamahalaan mo ang iyong mga kahinaan sa pamamagitan ng paglipat ng iyong awtomatikong pagsubok para sa mga isyu sa seguridad ng open source sa kaliwa.
#9 Pagsubok sa Pagpasok
Ang isang nangungunang listahan ng pinakamahuhusay na kagawian sa seguridad ng application ay hindi kumpleto nang hindi binabanggit ang pagsubok sa panulat, kahit na nakakatulong ang mga automated na tool na mahuli ang karamihan ng mga isyu sa seguridad.
Ang pagsubok gamit ang panulat at papel ay nagbibigay-daan sa iyo na sundutin at itulak ang iyong app upang makahanap ng mga kahinaan. Kung sinubukan ng isang determinadong hacker na pasukin ang iyong aplikasyon, alam ng mahuhusay na tagasubok ng panulat kung anong mga hakbang ang kailangan nilang gawin.
Maaaring kumuha ng mga kumpanya sa pag-hack o ang mga freelancer ay maaaring lumahok sa mga bug bounty program tulad ng BugCrowd at HackerOne. Dapat mag-sponsor ang iyong kumpanya ng bug bounty kung hindi mo pa ito ginagawa.
Kung kukuha ka ng mga pen tester, mas mabuting bayaran sila kaysa harapin ang mga kahihinatnan ng isang tunay na paglabag.
#10 Mag-ingat sa Mga Token
Sa kabila ng katotohanan na ito ay madaling i-secure, maraming mga developer ang hindi maayos na secure ang kanilang mga token para sa mga third party.
Sa pamamagitan ng paghahanap sa mga sikat na website ng developer, madali kang makakahanap ng mga hindi secure na token online. Sa halip na mag-imbak ng mga detalye ng token sa ibang lugar, isinama lang ng mga developer ang mga ito sa kanilang mga open-source na repository.
Ang isang pangunahing kasanayan sa seguridad ng application ay ang wastong pag-secure ng iyong mga token ng third-party. Hindi ka dapat mag-iwan ng mga token na binili mo sa iyong code para kunin ng sinuman.
Pinakamahuhusay na Kasanayan sa Seguridad ng Application bilang Mga Pangunahing Kasanayan
Ang bawat isa sa pinakamahuhusay na kagawian na nakabalangkas dito ay dapat isama sa patuloy na proseso ng pag-unlad ng iyong organisasyon. Ang mga aplikasyon at data ng iyong kumpanya ay nasa panganib kung hindi mo bawasan ang panganib. Sundin ang mga hakbang na ito upang mabawasan ang panganib.
Ang pag-iwas sa mga pagkakamali na malamang na gawin ng iba ay isang paraan upang manatiling nangunguna sa mga hacker, kaya mas mahirap kang mag-target para sa mga pag-atake. Hindi kailanman magkakaroon ng perimeter o application security measure na ganap na hack-proof.
Gayunpaman, ang pagsunod sa mga pangunahing pinakamahuhusay na kagawian na ito ay maaaring makatutulong nang malaki sa pagpapanatiling hindi katumbas ng halaga ng iyong aplikasyon ang problema para sa mga hacker.