Mummunan zunubai na tsaron gidan yanar gizo: abin da muka koya daga kididdigar na'urar daukar hoto mai rauni na shekara

Kusan shekara guda da ta gabata, mu a DataLine ƙaddamar sabis don bincika da kuma nazarin lahani a cikin aikace-aikacen IT. Sabis ɗin yana dogara ne akan maganin girgije na Qualys, game da aikin wanda mun riga mun fada. A cikin tsawon shekara guda na yin aiki tare da maganin, mun gudanar da bincike na 291 don shafuka daban-daban da kuma tattara kididdiga game da lahani na kowa a cikin aikace-aikacen yanar gizo. 

A cikin labarin da ke ƙasa zan nuna muku ainihin ramukan tsaro na gidan yanar gizon da ke ɓoye a bayan matakan mahimmanci daban-daban. Bari mu ga irin raunin da na'urar daukar hotan takardu ta samu musamman sau da yawa, dalilin da yasa zasu iya faruwa, da kuma yadda zaku kare kanku. 

Mummunan zunubai na tsaron gidan yanar gizo: abin da muka koya daga kididdigar na'urar daukar hoto mai rauni na shekara

Qualys ya raba duk raunin aikace-aikacen yanar gizo zuwa matakai uku na mahimmanci: ƙananan, matsakaici da babba. Idan ka dubi rarraba ta hanyar "tsanani", yana da alama cewa duk abin da ba daidai ba ne. Akwai ƙananan lahani tare da babban matakin mahimmanci, galibi duka ba su da mahimmanci: 

Mummunan zunubai na tsaron gidan yanar gizo: abin da muka koya daga kididdigar na'urar daukar hoto mai rauni na shekara

Amma rashin zargi baya nufin mara lahani. Hakanan suna iya haifar da mummunar lalacewa. 

Babban raunin "marasa mahimmanci" rauni

  1. Haɗaɗɗen abun ciki rauni.

    Ma'auni don tsaron gidan yanar gizo shine canja wurin bayanai tsakanin abokin ciniki da uwar garken ta hanyar ka'idar HTTPS, wanda ke goyan bayan ɓoyewa da kare bayanai daga shiga tsakani. 

    Wasu rukunin yanar gizon suna amfani abun ciki gauraye: Ana canjawa wasu bayanai ta hanyar ƙa'idar HTTP mara tsaro. Wannan shine yadda ake yawan isar da shi m abun ciki - bayanin da ke shafar nunin rukunin yanar gizon kawai: hotuna, salon css. Amma wani lokacin haka ake yada ta abun ciki mai aiki: rubutun da ke sarrafa halayen rukunin yanar gizon. A wannan yanayin, ta amfani da software na musamman, zaku iya bincika bayanai tare da abun ciki mai aiki da ke fitowa daga uwar garken, gyara martanin ku akan tashi da sanya injin yayi aiki ta hanyar da ba masu yin ta suka yi niyya ba. 

    Sabbin nau'ikan masu bincike suna gargaɗi masu amfani cewa rukunin yanar gizo masu gauraya abun ciki ba su da aminci kuma suna toshe abun ciki. Masu haɓaka gidan yanar gizon kuma suna karɓar gargaɗin mai lilo a cikin na'ura wasan bidiyo. Misali, wannan shine yadda yake kallon cikin Firefox

    Mummunan zunubai na tsaron gidan yanar gizo: abin da muka koya daga kididdigar na'urar daukar hoto mai rauni na shekara

    Me yasa yake da haɗari?: Maharan suna amfani da ƙa'idar da ba ta da tsaro don shiga bayanan mai amfani, maye gurbin rubutun da aika buƙatun zuwa rukunin yanar gizon a madadinsa. Ko da maziyartan rukunin yanar gizon bai shigar da bayanai ba, hakan ba zai kare shi ba phishing - samun bayanan sirri ta amfani da hanyoyin yaudara. Misali, ta amfani da rubutun, zaku iya tura mai amfani zuwa wani rukunin yanar gizo mara tsaro wanda ke bayyana a matsayin wanda ya saba da mai amfani. A wasu lokuta, rukunin yanar gizon yana da kyau fiye da na asali, kuma mai amfani zai iya cika fom ɗin da kansa kuma ya ƙaddamar da bayanan sirri. 

    Abin da mai haɓaka gidan yanar gizo ya kamata ya tuna: Ko da ma'aikacin gidan yanar gizon ya shigar kuma ya saita takardar shaidar SSL/TLS, lahani na iya tasowa saboda kuskuren ɗan adam. Misali, idan a daya daga cikin shafukan ba ku sanya mahaɗin dangi ba, amma cikakkiyar hanyar haɗin yanar gizo daga http, kuma ƙari ba ku saita turawa daga http zuwa https ba. 

    Kuna iya gano gaurayawan abun ciki akan rukunin yanar gizo ta amfani da burauza: bincika lambar tushen shafin, karanta sanarwa a cikin na'ura mai haɓakawa. Koyaya, mai haɓakawa dole ne ya yi tinker tare da lambar na dogon lokaci kuma a hankali. Kuna iya hanzarta aiwatarwa tare da kayan aikin bincike na atomatik, misali: Tabbatar da SSL, software na Haske na kyauta ko software da aka biya Screaming Frog SEO Spider.

    Hakanan, raunin na iya tasowa saboda matsaloli tare da lambar gado - lambar da aka gada. Misali, idan an samar da wasu shafuka ta amfani da tsohon samfuri, wanda baya la'akari da canjin shafuka zuwa https.    

  2. Kukis ba tare da tutocin "HTTPOnly" da "amintattu" ba.

    Siffar "HTTPOnly" tana kare kukis daga sarrafa su ta hanyar rubutun da maharan ke amfani da su don satar bayanan mai amfani. Tutar "amintaccen" baya ƙyale a aika kukis a cikin madaidaicin rubutu. Za a ba da izinin sadarwa kawai idan an yi amfani da amintacciyar yarjejeniya ta HTTPS don aika kuki. 

    Duk waɗannan halayen an ƙayyadad da su a cikin kaddarorin kuki:

    Set-Cookie: Secure; HttpOnly

    Me yasa yake da haɗari?: Idan mai haɓaka rukunin yanar gizon bai fayyace waɗannan sifofin ba, mai hari zai iya satar bayanan mai amfani daga kuki kuma yayi amfani da shi. Idan ana amfani da kukis don tantancewa da izini, zai iya sace zaman mai amfani da yin ayyuka a rukunin yanar gizon a madadinsa. 

    Abin da mai haɓaka gidan yanar gizo ya kamata ya tuna: A matsayinka na mai mulki, a cikin shahararrun tsarin ana saita waɗannan halayen ta atomatik. Amma har yanzu duba tsarin sabar gidan yanar gizo kuma saita tuta: Set-Cookie HttpOnly; Amintacce.

    A wannan yanayin, sifa ta "HTTPOnly" za ta sa kukis ba su ganuwa ga JavaScript naka.  

  3. Lalacewar Tushen Tafarki.

    Na'urar daukar hotan takardu tana ba da rahoton irin wannan raunin idan ta sami fayil mai isa ga jama'a ko adireshin gidan yanar gizo tare da yuwuwar bayanin sirri. Misali, yana gano fayilolin daidaitawar tsarin mutum ɗaya ko samun dama ga tsarin fayil gabaɗaya. Wannan yanayin yana yiwuwa idan an saita haƙƙin shiga ba daidai ba akan rukunin yanar gizon.

    Me yasa yake da haɗari?: Idan tsarin fayil "ya tsaya," mai hari zai iya fada cikin tsarin tsarin aiki kuma yayi ƙoƙarin nemo manyan fayiloli tare da kalmomin shiga idan an adana su a cikin rubutu mai haske (kada ku yi haka!). Ko kuma za ku iya satar hashes na kalmar sirri da kuma tilasta kalmar sirri, sannan kuma kuyi ƙoƙarin haɓaka gata a cikin tsarin kuma ku zurfafa cikin abubuwan more rayuwa.  

    Abin da mai haɓaka gidan yanar gizo ya kamata ya tuna: Kar a manta game da haƙƙin samun dama kuma saita dandamali, sabar yanar gizo, aikace-aikacen yanar gizo don ba shi yiwuwa a "gujewa" kundin adireshin gidan yanar gizon.

  4. Siffofin shigar da bayanai masu mahimmanci tare da kunna cikawa ta atomatik.

    Idan mai amfani akai-akai yana cika fom akan gidajen yanar gizo, mai binciken su yana adana wannan bayanin ta amfani da fasalin autofill. 

    Fom akan gidajen yanar gizo na iya haɗawa da filaye masu mahimman bayanai, kamar kalmomin shiga ko lambobin katin kiredit. Don irin waɗannan filayen, yana da daraja musaki aikin sigar autofill akan rukunin yanar gizon kanta. 

    Me yasa yake da haɗari?: Idan burauzar mai amfani ya adana bayanai masu mahimmanci, mai hari zai iya tsangwama shi daga baya, misali ta hanyar phishing. A zahiri, mai haɓaka gidan yanar gizo wanda ya manta game da wannan nuance yana saita masu amfani da shi. 

    Abin da mai haɓaka gidan yanar gizo ya kamata ya tuna: A wannan yanayin, muna da wani classic rikici: saukaka vs tsaro. Idan mai haɓaka gidan yanar gizo yana tunanin ƙwarewar mai amfani, zai iya zaɓar autocomplete da sani. Misali, idan yana da mahimmanci a bi Jagororin Samun Hanyoyin Yanar Gizo - shawarwari don samun damar abun ciki don masu amfani da nakasa. 

    Ga yawancin masu bincike, zaku iya kashe autocompete tare da sifa ta autocompete = "kashe", misali:

     <body>
        <form action="/ha/form/submit" method="get" autocomplete="off">
          <div>
            <input type="text" placeholder="First Name">
          </div>
          <div>
            <input type="text" id="lname" placeholder="Last Name" autocomplete="on">
          </div>
          <div>
            <input type="number" placeholder="Credit card number">
          </div>
          <input type="submit">
        </form>
      </body>

    Amma ba zai yi aiki ga Chrome ba. Ana kewaye wannan ta amfani da JavaScript, ana iya samun bambance-bambancen girke-girke a nan

  5. Ba a saita taken X-Frame-Options a cikin lambar rukunin yanar gizon ba. 

    Wannan taken yana rinjayar firam, iframe, cushe, ko alamun abu. Tare da taimakonsa, zaku iya hana gabaɗaya saka rukunin yanar gizon ku a cikin firam. Don yin wannan, kuna buƙatar ƙayyade ƙimar X-Frame-Options: ƙi. Ko za ku iya saka X-Frame-Options: sameorigin, sannan saka a cikin iframe zai kasance kawai a yankinku.

    Me yasa yake da haɗari?: Rashin irin wannan rubutun ana iya amfani da shi akan shafuka masu lalata zuwa clickjacking. Don wannan harin, maharin yana ƙirƙirar firam na zahiri a saman maɓallan kuma yana yaudarar mai amfani. Misali: masu zamba suna tsara shafukan sada zumunta a gidan yanar gizo. Mai amfani yana tsammanin yana danna maɓalli akan wannan rukunin yanar gizon. Madadin haka, ana katse dannawa kuma ana aika buƙatar mai amfani zuwa hanyar sadarwar zamantakewa inda akwai zama mai aiki. Wannan shine yadda maharan ke aika spam a madadin mai amfani ko samun masu biyan kuɗi da abubuwan so. 

    Idan baku kashe wannan fasalin ba, mai hari zai iya sanya maɓallin aikace-aikacenku akan rukunin yanar gizo mara kyau. Wataƙila yana sha'awar shirin ku ko masu amfani da ku.  

    Abin da mai haɓaka gidan yanar gizo ya kamata ya tuna: Rashin lahani na iya faruwa idan an saita X-Frame-Options tare da ƙima mai cin karo da juna akan sabar gidan yanar gizo ko ma'aunin nauyi. A wannan yanayin, uwar garken da ma'auni za su sake rubuta rubutun kawai, tun da suna da fifiko mafi girma idan aka kwatanta da lambar baya.  

    Ƙin ƙaryata da asali iri ɗaya na taken X-Frame-Options zai tsoma baki tare da aikin mai duba gidan yanar gizon Yandex. Don ba da izinin amfani da iframes don mai duba gidan yanar gizo, kuna buƙatar rubuta wata doka daban a cikin saitunan. Misali, don nginx zaku iya saita shi kamar haka:

    http{
    ...
     map $http_referer $frame_options {
     "~webvisor.com" "ALLOW-FROM http://webvisor.com";
     default "SAMEORIGIN";
     }
     add_header X-Frame-Options $frame_options;
    ...
    }
    
    

  6. PRSSI (shigo da takardar salo na dangi na hanya) rashin lahani.  

    Wannan lahani ne a cikin salo na shafin. Yana faruwa idan an yi amfani da hanyoyin haɗin yanar gizo kamar href="/ha/somefolder/styles.css/" don samun damar fayilolin salo. Mai kai hari zai yi amfani da wannan idan sun sami hanyar tura mai amfani zuwa shafi mara kyau. Shafin zai saka hanyar haɗin dangi a cikin url ɗin sa kuma ya kwaikwayi kiran salo. Za ku sami buƙatu kamar badsite.ru/…/somefolder/styles.css/, wanda zai iya yin munanan ayyuka a ƙarƙashin salon salo. 

    Me yasa yake da haɗari?: Mai zamba na iya yin amfani da wannan raunin idan sun sami wani rami na tsaro. Sakamakon haka, yana yiwuwa a saci bayanan mai amfani daga kukis ko alamu.

    Abin da mai haɓaka gidan yanar gizo ya kamata ya tuna: Saita taken X-Content-Nau'in-Zaɓuɓɓuka zuwa: nosniff. A wannan yanayin, mai bincike zai duba nau'in abun ciki don salo. Idan nau'in banda rubutu/css, mai binciken zai toshe buƙatar.

Mummunan rauni

  1. Ana watsa shafin da ke da filin kalmar sirri daga uwar garken a kan tashar da ba ta da tsaro (nau'in HTML mai ɗauke da filin(s) na kalmar wucewa akan HTTP).

    Amsa daga uwar garken akan tashar da ba a ɓoye ba yana da rauni ga hare-haren "Mutum a tsakiya". Mai kai hari zai iya katse zirga-zirgar zirga-zirga kuma ya raba kansa tsakanin abokin ciniki da uwar garken yayin da shafin ke tafiya daga uwar garken zuwa abokin ciniki. 

    Me yasa yake da haɗari?: Mai zamba zai iya maye gurbin shafin kuma ya aika mai amfani da fom don bayanan sirri, wanda zai je uwar garken maharin. 

    Abin da mai haɓaka gidan yanar gizo ya kamata ya tuna: Wasu rukunin yanar gizon suna aika masu amfani da lambar lokaci ɗaya ta imel/waya maimakon kalmar sirri. A wannan yanayin, raunin ba shi da mahimmanci, amma tsarin zai dagula rayuwar masu amfani.

  2. Aika fom tare da shiga da kalmar wucewa akan tashar da ba ta da tsaro (Ba a ƙaddamar da Fom ɗin Shiga ta HTTPS ba).

    A wannan yanayin, ana aika fom tare da shiga da kalmar sirri daga mai amfani zuwa uwar garken ta tashar da ba a ɓoye ba.

    Me yasa yake da haɗari?: Ba kamar shari'ar da ta gabata ba, wannan ya riga ya zama mummunan rauni. Yana da sauƙi don kutse bayanan sirri saboda ba kwa buƙatar rubuta lamba don yin su. 

  3. Amfani da dakunan karatu na JavaScript tare da sanannun lahani.

    Yayin binciken, ɗakin karatu da aka fi amfani dashi shine jQuery tare da adadi mai yawa na iri. Kowace sigar tana da aƙalla ɗaya, ko ma fiye da haka, sanannun lahani. Tasirin na iya bambanta sosai dangane da yanayin rauni.

    Me yasa yake da haɗari?: Akwai fa'idodi don sanannun raunin da ya faru, misali:

    Mummunan zunubai na tsaron gidan yanar gizo: abin da muka koya daga kididdigar na'urar daukar hoto mai rauni na shekara

    Abin da mai haɓaka gidan yanar gizo ya kamata ya tuna: Komawa akai-akai zuwa zagayowar: bincika sanannun raunin - gyara - duba. Idan kun yi amfani da dakunan karatu na gado da gangan, misali don tallafawa tsofaffin masu bincike ko don adana kuɗi, nemi damar gyara wani sanannen rauni. 

  4. Rubutun giciye (XSS). 
    Rubutun Rubutun Yanar Gizo (XSS), ko rubutun giciye, hari ne akan aikace-aikacen gidan yanar gizo wanda ke haifar da shigar da malware a cikin bayanan. Idan Qualys ya sami irin wannan rauni, yana nufin cewa mai yuwuwar maharin zai iya ko ya riga ya gabatar da nasa rubutun js a cikin lambar rukunin yanar gizon don yin munanan ayyuka.

    An adana XSS ya fi haɗari, tun da an saka rubutun akan uwar garken kuma ana aiwatar da shi a duk lokacin da aka buɗe shafin da aka kai hari a cikin mai bincike.

    Nuna XSS mafi sauƙin aiwatarwa tunda ana iya shigar da rubutun mugunta cikin buƙatun HTTP. Aikace-aikacen za ta karɓi buƙatun HTTP, ba za ta inganta bayanan ba, za ta tattara ta, kuma ta aika nan da nan. Idan maharin ya katse zirga-zirga kuma ya sanya rubutun kamar

    <script>/*+что+то+плохое+*/</script> 

    sa'an nan za a aika da mugun bukata a madadin abokin ciniki.

    Misali mai ban mamaki na XSS: js sniffers wanda ke kwatanta shafuka don shigar da CVC, ranar karewa katin, da sauransu. 

    Abin da mai haɓaka gidan yanar gizo ya kamata ya tuna: A cikin maƙasudin-Tsaro-Tsaro-Manufa, yi amfani da sifa ta script-src don tilasta mai binciken abokin ciniki don saukewa kawai da aiwatar da lamba daga amintaccen tushe. Misali, script-src 'self' yana ba da izini ga duk rubutun daga rukunin yanar gizon mu kawai. 
    Mafi kyawun aiki shine lambar layi: ba da izinin javascript na layi kawai ta amfani da ƙimar layin layi mara aminci. Wannan ƙimar tana ba da damar yin amfani da js/css na layi, amma baya hana haɗa fayilolin js. A hade tare da script-src 'kai' muna hana rubutun waje daga aiwatarwa.

    Tabbatar shigar da komai ta amfani da report-uri kuma duba ƙoƙarin aiwatar da shi a cikin rukunin yanar gizon.

  5. SQL injections.
    Rashin lahani yana nuna yuwuwar shigar da lambar SQL cikin gidan yanar gizon da ke shiga rumbun adana bayanan gidan yanar gizon kai tsaye. Allurar SQL yana yiwuwa idan ba a duba bayanan mai amfani ba: ba a bincika don daidaito kuma ana amfani da shi nan da nan a cikin tambayar. Misali, wannan yana faruwa idan wani fom a gidan yanar gizon bai bincika ko shigarwar ta yi daidai da nau'in bayanan ba. 

    Me yasa yake da haɗari?: Idan maharin ya shigar da tambayar SQL a cikin wannan fom, zai iya lalata rumbun adana bayanai ko bayyana bayanan sirri. 

    Abin da mai haɓaka gidan yanar gizo ya kamata ya tuna: Kar a yarda da abin da ke fitowa daga mai binciken. Kuna buƙatar kare kanku a gefen abokin ciniki da gefen uwar garke. 

    A gefen abokin ciniki, rubuta ingantaccen filin ta amfani da JavaScript. 

    Ayyukan da aka gina a cikin mashahuran ginshiƙai kuma suna taimakawa don tserewa haruffa masu shakka akan sabar. Hakanan ana ba da shawarar yin amfani da tambayoyin bayanai masu ma'ana akan sabar.

    Ƙayyade inda ainihin hulɗa tare da bayanan ke faruwa akan aikace-aikacen yanar gizo. 

    Ma'amala yana faruwa lokacin da muka karɓi kowane bayani: buƙatu tare da id (canjin id), ƙirƙirar sabon mai amfani, sabon sharhi, ko sabbin shigarwar a cikin bayanan. Wannan shi ne inda SQL injections zai iya faruwa. Ko da mun share rikodin daga bayanan bayanai, allurar SQL yana yiwuwa.

Janar shawarwari

Kar a sake ƙirƙira dabaran - yi amfani da ingantaccen tsarin aiki. Gabaɗaya, shahararrun tsarin tsarin sun fi tsaro. Don NET - ASP.NET MVC da ASP.NET Core, don Python - Django ko Flask, don Ruby - Ruby akan Rails, don PHP - Symfony, Laravel, Yii, don JavaScript - Node.JS-Express.js, don Java - Spring MVC.

Bi sabuntawar dillali kuma sabunta akai-akai. Za su sami rauni, sa'an nan rubuta wani amfani, sa shi a fili samuwa, kuma kome zai sake faruwa. Biyan kuɗi zuwa sabuntawa zuwa tsayayyen sigogi daga mai siyar da software.

Duba haƙƙin shiga. A gefen uwar garken, koyaushe ku ɗauki lambar ku kamar dai, daga farkon wasiƙar har zuwa ta ƙarshe, makiyin ku mafi ƙiyayya ne ya rubuta shi, wanda ke son karya rukunin yanar gizonku, keta amincin bayanan ku. Bugu da ƙari, wani lokacin wannan gaskiya ne.

Yi amfani da clones, wuraren gwaji, sannan amfani da su don samarwa. Wannan zai taimaka, da farko, don kauce wa kuskure da kuskure a cikin yanayi mai amfani: yanayi mai amfani yana kawo kudi, yanayi mai sauƙi mai mahimmanci yana da mahimmanci. Lokacin ƙarawa, gyarawa ko rufe kowace matsala, yana da daraja aiki a cikin yanayin gwaji, sa'an nan kuma bincika ayyuka da raunin da aka samu, sannan kuma shirin yin aiki tare da yanayin samarwa. 

Kare aikace-aikacen gidan yanar gizon ku da Firewall aikace-aikacen gidan yanar gizo da kuma haɗa rahotanni daga na'urar daukar hoto mai rauni da shi. Misali, DataLine yana amfani da Qualys da FortiWeb azaman tarin ayyuka.

source: www.habr.com

Add a comment