Nangungunang 10 Panganib sa Seguridad ng OWASP | Pangkalahatang-ideya

Talaan ng nilalaman

Pangkalahatang-ideya ng OWASP Top 10

Ano ang OWASP?

Ang OWASP ay isang non-profit na organisasyon na nakatuon sa edukasyon sa seguridad ng web app. 

Ang OWASP learning materials ay maa-access sa kanilang website. Ang kanilang mga tool ay kapaki-pakinabang para sa pagpapabuti ng seguridad ng mga web application. Kabilang dito ang mga dokumento, tool, video, at forum.

Ang OWASP Top 10 ay isang listahan na nagha-highlight sa mga nangungunang alalahanin sa seguridad para sa mga web app ngayon. Inirerekomenda nila na isama ng lahat ng kumpanya ang ulat na ito sa kanilang mga proseso upang mabawasan ang mga panganib sa seguridad. Nasa ibaba ang isang listahan ng mga panganib sa seguridad na kasama sa OWASP Top 10 2017 na ulat.

SQL Injection

Nangyayari ang SQL injection kapag nagpadala ang isang attacker ng hindi naaangkop na data sa isang web app upang masira ang program sa application.

Isang halimbawa ng isang SQL Injection:

Ang umaatake ay maaaring magpasok ng isang SQL query sa isang input form na nangangailangan ng isang username plaintext. Kung ang input form ay hindi secure, ito ay magreresulta sa pagpapatupad ng isang SQL query. Ito ay tinukoy sa bilang SQL injection.

Para protektahan ang mga web application mula sa pag-iniksyon ng code, tiyaking gumagamit ang iyong mga developer ng input validation sa data na isinumite ng user. Ang pagpapatunay dito ay tumutukoy sa pagtanggi sa mga di-wastong input. Ang isang database manager ay maaari ding magtakda ng mga kontrol upang bawasan ang halaga ng impormasyon na maaari isiwalat sa isang pag-atake ng iniksyon.

Upang maiwasan ang SQL injection, inirerekomenda ng OWASP na panatilihing hiwalay ang data sa mga command at query. Ang mas mainam na opsyon ay gumamit ng secure API upang pigilan ang paggamit ng isang interpreter, o upang lumipat sa Object Relational Mapping Tools (ORMs).

Sirang Authentication

Ang mga kahinaan sa pagpapatotoo ay maaaring magbigay-daan sa isang umaatake na ma-access ang mga user account at ikompromiso ang isang system gamit ang isang admin account. Ang isang cybercriminal ay maaaring gumamit ng script upang subukan ang libu-libong kumbinasyon ng password sa isang system upang makita kung alin ang gumagana. Kapag nakapasok na ang cybercriminal, maaari nilang pekein ang pagkakakilanlan ng user, na nagbibigay sa kanila ng access sa kumpidensyal na impormasyon.

Ang isang sirang kahinaan sa pagpapatotoo ay umiiral sa mga web application na nagbibigay-daan sa mga awtomatikong pag-login. Ang isang popular na paraan upang itama ang kahinaan sa pagpapatotoo ay ang paggamit ng multifactor na pagpapatotoo. Gayundin, maaaring magkaroon ng limitasyon sa rate ng pag-log in isama sa web app para maiwasan ang mga brute force na pag-atake.

Sensitibong Pagkakalantad ng Data

Kung hindi pinoprotektahan ng mga web application ang mga sensitibong umaatake ay maaaring ma-access at gamitin ang mga ito para sa kanilang pakinabang. Ang on-path attack ay isang popular na paraan para sa pagnanakaw ng sensitibong impormasyon. Ang panganib ng pagkakalantad ay minimal kapag ang lahat ng sensitibong data ay naka-encrypt. Dapat tiyakin ng mga web developer na walang sensitibong data ang nakalantad sa browser o naiimbak nang hindi kinakailangan.

XML External Entity (XEE)

Ang isang cybercriminal ay maaaring makapag-upload o magsama ng nakakahamak na XML na nilalaman, mga utos, o code sa loob ng isang XML na dokumento. Ito ay nagpapahintulot sa kanila na tingnan ang mga file sa application server file system. Kapag mayroon na silang access, maaari silang makipag-ugnayan sa server upang magsagawa ng mga pag-atake sa server-side request forgery (SSRF)..

Ang mga pag-atake ng panlabas na entity ng XML ay maaari mapipigilan ng na nagpapahintulot sa mga web application na tumanggap ng hindi gaanong kumplikadong mga uri ng data gaya ng JSON. Ang hindi pagpapagana sa pagpoproseso ng panlabas na entity ng XML ay binabawasan din ang mga pagkakataon ng pag-atake ng XEE.

Sirang Access Control

Ang kontrol sa pag-access ay isang protocol ng system na naghihigpit sa mga hindi awtorisadong gumagamit sa sensitibong impormasyon. Kung nasira ang isang access control system, maaaring i-bypass ng mga attacker ang authentication. Nagbibigay ito sa kanila ng access sa sensitibong impormasyon na parang may pahintulot sila. Maaaring ma-secure ang Access Control sa pamamagitan ng pagpapatupad ng mga authorization token sa user login. Sa bawat kahilingang gagawin ng user habang pinapatotohanan, ang token ng pahintulot sa user ay mabe-verify, na nagpapahiwatig na ang user ay awtorisado na gawin ang kahilingang iyon.

Maling pagsasaayos ng Security

Ang maling configuration sa seguridad ay isang karaniwang isyu na cybersecurity nagmamasid ang mga espesyalista sa mga web application. Nangyayari ito bilang resulta ng mga maling na-configure na HTTP header, sirang mga kontrol sa pag-access, at ang pagpapakita ng mga error na naglalantad ng impormasyon sa isang web app. Maaari mong iwasto ang isang Security Misconfiguration sa pamamagitan ng pag-alis ng mga hindi nagamit na feature. Dapat mo ring i-patch o i-upgrade ang iyong mga software package.

Scripts sa Cross-Site (XSS)

Ang kahinaan ng XSS ay nangyayari kapag ang isang umaatake ay nagmamanipula sa DOM API ng isang pinagkakatiwalaang website upang magsagawa ng malisyosong code sa browser ng isang user. Ang pagpapatupad ng malisyosong code na ito ay kadalasang nangyayari kapag nag-click ang isang user sa isang link na mukhang mula sa isang pinagkakatiwalaang website.. Kung ang website ay hindi protektado mula sa XSS vulnerability, maaari itong makompromiso. Ang malicious code na ay pinaandar nagbibigay ng access sa attacker sa session ng pag-login ng mga user, mga detalye ng credit card, at iba pang sensitibong data.

Upang maiwasan ang Cross-site Scripting (XSS), tiyaking maayos ang iyong HTML. Maaari ito makamit ng pagpili ng mga pinagkakatiwalaang balangkas depende sa wikang pinili. Maaari kang gumamit ng mga wika tulad ng .Net, Ruby on Rails, at React JS dahil makakatulong ang mga ito sa pag-parse at paglilinis ng iyong HTML code. Ang pagtrato sa lahat ng data mula sa mga napatotohanan o hindi na-authenticate na mga user bilang hindi pinagkakatiwalaan ay maaaring mabawasan ang panganib ng mga pag-atake ng XSS.

Hindi secure na Deserialization

Ang deserialization ay ang pagbabago ng serialized na data mula sa isang server patungo sa isang bagay. Ang deserialization ng data ay isang pangkaraniwang pangyayari sa pagbuo ng software. Ito ay hindi ligtas kapag ang data ay deserialized mula sa hindi pinagkakatiwalaang pinagmulan. Maaari itong potensyal ilantad ang iyong aplikasyon sa mga pag-atake. Ang hindi secure na deserialization ay nangyayari kapag ang deserialized na data mula sa isang hindi pinagkakatiwalaang pinagmulan ay humahantong sa mga pag-atake ng DDOS, mga pag-atake ng remote code execution, o mga bypass sa pagpapatotoo.

Upang maiwasan ang hindi secure na deserialization, ang panuntunan ng thumb ay huwag magtiwala sa data ng user. Ang bawat data ng input ng user ay dapat magamot as potensyal may masamang hangarin. Iwasan ang deserialization ng data mula sa hindi pinagkakatiwalaang pinagmulan. Tiyaking gumagana ang deserialization sa magamit sa iyong web application ay ligtas.

Paggamit ng Mga Bahaging May Kilalang Mga Kahinaan

Pinabilis ng Mga Aklatan at Framework ang pagbuo ng mga web application nang hindi na kailangang muling likhain ang gulong. Binabawasan nito ang redundancy sa pagsusuri ng code. Binibigyan nila ng daan ang mga developer na tumuon sa mas mahahalagang aspeto ng mga application. Kung matuklasan ng mga umaatake ang mga pagsasamantala sa mga framework na ito, gagawin ng bawat codebase na gumagamit ng framework makompromiso.

Ang mga developer ng bahagi ay madalas na nag-aalok ng mga patch ng seguridad at mga update para sa mga library ng bahagi. Upang maiwasan ang mga kahinaan sa bahagi, dapat mong matutunang panatilihing napapanahon ang iyong mga application sa pinakabagong mga patch sa seguridad at pag-upgrade. Ang mga hindi nagamit na bahagi ay dapat matanggal mula sa application upang i-cut ang mga vector ng pag-atake.

Hindi Sapat na Pag-log At Pagsubaybay

Ang pag-log at pagsubaybay ay mahalaga upang ipakita ang mga aktibidad sa iyong web application. Ginagawang madali ng pag-log ang pagsubaybay sa mga error, monitor mga login ng user, at aktibidad.

Ang hindi sapat na pag-log at pagsubaybay ay nangyayari kapag ang mga kaganapang kritikal sa seguridad ay hindi naka-log maayos. Pinapakinabangan ito ng mga umaatake upang magsagawa ng mga pag-atake sa iyong aplikasyon bago magkaroon ng anumang kapansin-pansing tugon.

Makakatulong ang pag-log sa iyong kumpanya na makatipid ng pera at oras dahil magagawa ng iyong mga developer madali maghanap ng mga bug. Nagbibigay-daan ito sa kanila na mas tumutok sa paglutas ng mga bug kaysa sa paghahanap sa kanila. Sa katunayan, ang pag-log ay maaaring makatulong na panatilihing gumagana ang iyong mga site at server sa bawat oras nang hindi sila nakakaranas ng anumang downtime.

Konklusyon

Ang magandang code ay hindi m tungkol sa functionality, ito ay tungkol sa pagpapanatiling ligtas sa iyong mga user at application. Ang OWASP Top 10 ay isang listahan ng pinakamahalagang panganib sa seguridad ng application ay isang mahusay na libreng mapagkukunan para sa mga developer na magsulat ng mga secure na web at mobile app. Ang pagsasanay sa mga developer sa iyong team na mag-assess at mag-log ng mga panganib ay makakatipid sa oras at pera ng iyong team sa katagalan. Kung gusto mo matuto nang higit pa tungkol sa kung paano sanayin ang iyong koponan sa OWASP Top 10 click dito.