Ang Application Programming Interface (API) ay isang paraan na nagbibigay-daan sa mga application na makipag-ugnayan sa isa't isa. Nagbibigay ito ng paraan para sa mga developer na bumuo ng mga software application habang pinapagana ang pagkuha at pagbabahagi ng data sa isang madaling paraan.
Maaaring gamitin ang mga API upang mapadali ang mga cyberattack dahil malawakang ginagamit ang mga API para sa pagbabago ng impormasyong maaaring sensitibo. Ang mga kahinaan tulad ng mahinang pagpapatotoo, kakulangan ng encryption, mga lohikal na depekto, at mga hindi secure na endpoint ay ginagawang mahina ang mga API sa mga pag-atake.
Ang ilan sa mga pangunahing pag-atake na kadalasang nangyayari dahil sa kakulangan ng mga hakbang sa seguridad habang nagpapatupad ng mga API ay:
Man-In-The-Middle (MITM)
Upang makakuha ng sensitibong impormasyon, hinarang ng isang nanghihimasok ang trapiko sa pagitan ng mga nakikipag-usap na partido sa pamamagitan ng pag-relay at pagharang sa komunikasyon na kinabibilangan ng mga palitan ng API.
Mga iniksyon ng API (XSS at SQLi)
Sa isang pag-atake ng iniksyon ng code, ipinapasok ang malisyosong code sa isang mahinang software program upang magsagawa ng pag-atake gaya ng cross-site scripting (XSS) at SQL injection (SQLi).
Ang isang salarin ay maaaring mag-inject ng isang nakakahamak na script sa isang mahina na API, ibig sabihin, isa na nabigong magsagawa ng wastong filter input at escape output (FIEO) upang maglunsad ng isang XSS attack na nagta-target sa mga browser ng mga end-user. Gayundin, ang malisyosong code ay ipinapasok sa isang mensahe ng API, hal, mga utos na nagtatanggal ng mga bagay, mga talaan mula sa isang database.
Ibinahagi ang pagtanggi sa serbisyo (DDoS)
Sa isang distributed denial-of-service (DDoS) na pag-atake, maraming system ang bumabaha sa bandwidth ng isang naka-target na system, karaniwang mga web server. Ang isang pag-atake ng DDoS sa isang API ay sumusubok na lampasan ang memorya at kapasidad nito sa pamamagitan ng pagbaha dito ng mga kasabay na koneksyon, o sa pamamagitan ng pagpapadala/paghiling ng malaking halaga ng impormasyon sa bawat kahilingan. Ang isang pag-atake ng DDoS sa website ng FCC noong unang bahagi ng 2017 ay gumamit ng mga komersyal na serbisyo sa cloud upang mag-isyu ng napakalaking dami ng mga kahilingan sa API sa isang sistema ng pagkomento. Kinain nito ang mga magagamit na mapagkukunan ng makina at pinarami ang mga tao na nagkokomento, sa kalaunan ay naging sanhi ng pag-crash ng website.
Pag-hijack ng DNS
Ang pag-hijack ng Domain Name Server (DNS) na kilala rin bilang DNS redirection ay isang uri ng pag-atake kung saan ang mga query sa DNS ay hindi inaasahang na-redirect sa mga nakakahamak na site.
Ang isang halimbawa ng DNS Hijacking ay kapag ikaw ay nasa Internet at ang isang website na gusto mong i-access ay nagre-redirect sa iyo sa isang nakakahamak na isa na puno ng mga hindi gustong pop-up at ad. Ang pangunahing motibo sa likod nito ay upang makabuo ng kita.
Maaari ring gamitin ang DNS hijacking para sa phishing —sa phishing, tinatarget ang mga biktima at tinatangka ng mga umaatake na linlangin sila para ibunyag ang sensitibong impormasyon tulad ng kanilang mga kredensyal sa pagbabayad. Ang pinakakaraniwang senaryo na nakikita natin sa phishing ay ang pagpapadala ng email bilang pain na nagdidirekta sa mga user sa isang website na tila isang lehitimong website sa pagproseso ng pagbabayad at mula doon, nakawin ang kanilang impormasyon.
Paano namin sa Quick Heal ang pag-secure ng aming mga API
HTTPS sa HTTP
Ang Transport Layer Security (TLS) ay isang pamantayan na nagpapanatili ng isang koneksyon sa Internet na pribado at sinusuri kung ang data na ipinadala sa pagitan ng dalawang system ay naka-encrypt at hindi binago. Ang isang website ay sinasabing protektado ng TLS kung ang URL ay nagsisimula sa "HTTPS" (HyperText Transfer Protocol Secure).
Ang TLS sa isang pakikipag-ugnayan na batay sa API ay mahalaga. Ang transport layer encryption ay isa sa mga 'dapat-haves' para ma-secure ang mga API. Kung walang TLS, ang panganib ng 'Man-In-The-Middle' na pag-atake ay nananatiling napakataas. Ginagamit namin ang parehong TLS sa aming mga API, lalo na kapag pumupunta sa publiko gamit ang mga API. Mahigpit naming ginagamit ang HTTPS sa HTTP.
Pagpapatunay
Upang matukoy ang pagkakakilanlan ng isang end-user (tumatawag) sa isang API, maaaring ipatupad ang pangunahing pagpapatotoo gamit ang TLS protocol. Gayunpaman, ang OAuth 2 at OpenID Connect ay mas secure na mga alternatibo.
Huwag kailanman ilantad ang impormasyon sa mga URL
Huwag kailanman ilantad ang anumang sensitibo o mahinang impormasyon sa mga URL
Pagpapatunay ng Parameter ng Input
I-validate ang mga parameter ng kahilingan sa pinakaunang hakbang, bago ito umabot sa aktwal na lohika ng negosyo sa pagpoproseso ng serbisyo. Naglalagay kami ng matibay na pagsusuri sa pagpapatunay at tinatanggihan kaagad ang kahilingan kung nabigo ang pagpapatunay.
Encryption
Ang paggamit ng malakas na pag-encrypt para sa sensitibo at pribadong impormasyon habang ang pagbabago sa mga API ay lubos na inirerekomenda.
Gumagamit kami ng malakas at magaan na algorithm ng pag-encrypt – AES256
AES256:
Ang Advanced Encryption Standard (AES) ay ang una at tanging publicly accessible na cypher na inaprubahan ng US National Security Agency (NSA) para sa pagprotekta sa top-secret na impormasyon.
Sa ngayon, kakaunti ang mga pag-atake na naiulat laban sa 256 na pagpapatupad ng AES. Karamihan sa mga ito ay mga pag-atake sa side-channel (ang pag-atake ay ginawa sa pagpapatupad ng cypher sa system at hindi sa pinagbabatayan na cypher mismo). Ito ay pinaniniwalaan na ang disenyo at lakas ng haba ng susi ay nagpoprotekta sa AES algorithm at ang 256-bit na haba ng key ay perpekto para sa pinakalihim na impormasyon. Pagdating sa seguridad ng data walang gustong ikompromiso, at ang AES-256 ay isa sa mga pinakasecure na paraan ng pag-encrypt ng data na magagamit sa merkado ngayon.
Mga Key Exchange Algorithm
Gumamit ng Strong Key Exchange Algorithms upang palitan ang mga Authentication o Encryption key. Dapat itong gamitin kaysa sa hardcoded o static secret.
Para sa lihim na pagpapalitan ng key, ginagamit namin ang pinakamalakas na paraan ng Public Key Exchange na tinatawag na Diffie Hellman Secured key-exchange.
Diffie Hellman Secured key-exchange:
Ang Diffie-Hellman key exchange ay kumplikado. Gumagamit ito ng napakalaking numero at maraming matematika. Ang Diffie-Hellman key exchange ay umaasa sa mga one-way na function bilang batayan para sa seguridad nito. Ang mga kalkulasyon na ito ay simple at one-way, ngunit napakahirap kalkulahin sa isang reverse na paraan.
Ang ilang mga pakinabang ng Diffie-Hellman:
- Ang nagpadala at tagatanggap ay hindi nangangailangan ng anumang paunang kaalaman sa isa't isa.
- Kapag ang mga susi ay ipinagpapalit, ang komunikasyon ng data ay maaaring gawin sa pamamagitan ng isang hindi secure na channel nang ligtas.
- Ang pagbabahagi ng sikretong susi ay ligtas.
Pagpapatunay na nakabatay sa Token
Ang bentahe ng pagpapatunay na nakabatay sa token ay inaalis nito ang mga pagkakataon ng mahinang kredensyal sa pag-log in. Ang token ay isang napaka-secured na piraso ng data na ginagamit upang magpadala ng sensitibong impormasyon sa pagitan ng dalawang partido sa isang compact at self-contained na paraan. Ang mga token ay kadalasang ginagamit upang palakasin ang mga proseso ng pagpapatunay, maging ito sa loob ng isang website o application.
Gumagamit kami ng komunikasyong nakabatay sa JWT Token na binubuo ng:
- Isang header na tumutukoy sa uri ng token at algorithm na ginamit.
- Isang payload na naglalaman ng impormasyon tungkol sa user at iba pang metadata.
- Isang lagda na nagpapatunay sa pagkakakilanlan ng nagpadala at sa pagiging tunay ng mensahe.
Mga URL
Ang mga URL ay hindi naglalantad ng anumang sensitibong impormasyon habang iniiwasan namin ang paggamit ng mga parameter ng query at walang impormasyon na nakalantad sa pamamagitan ng mga URL.
Pagpapatunay ng Parameter ng Input
Mayroon kaming malakas na pagpapatunay ng parameter ng input sa pinakaunang yugto bago maisakatuparan ang lohika ng negosyo at tinatanggihan namin ang lahat ng potensyal na di-wastong kahilingan.
Seguridad vs Pagganap
Ang pagganap ay isang tampok at ang seguridad ay isang kakanyahan sa kasalukuyan, kaya napakahalaga na makamit ang pareho nang hindi nakompromiso ang isa pa. Upang matugunan ang mga kinakailangan sa seguridad na ito nang hindi nakompromiso ang pagganap, maaari kang pumili ng isang magaan na diskarte sa pagpapatupad na may mga hakbang na may mataas na seguridad.
Co-authored ni Prafulla Prakash Ranadive



