Panyeken kerentanan sareng pamekaran aman. Bagian 1

Panyeken kerentanan sareng pamekaran aman. Bagian 1

Salaku bagian tina kagiatan profésionalna, pamekar, pentesters, sareng spesialis kaamanan kedah ngurus prosés sapertos Vulnerability Management (VM), (Secure) SDLC.
Di handapeun frasa ieu aya sababaraha set prakték sareng alat anu dianggo anu aya hubunganana, sanaos panggunana béda.

Kamajuan teknis henteu acan dugi ka titik dimana hiji alat tiasa ngagentos jalma pikeun nganalisis kaamanan infrastruktur sareng parangkat lunak.
Éta metot pikeun ngarti naha ieu kitu jeung naon masalah hiji Nyanghareupan.

Proses dina prosés

Prosés Manajemén Kerentanan dirancang pikeun ngawaskeun kontinyu kaamanan infrastruktur sareng manajemén patch.
Prosés SDLC Aman ("siklus pamekaran aman") dirancang pikeun ngajaga kaamanan aplikasi salami pangwangunan sareng operasi.

Bagian anu sami tina prosés ieu nyaéta prosés Penilaian Kerentanan - penilaian kerentanan, scanning kerentanan.
Beda utama antara scanning VM sareng SDLC nyaéta dina kasus anu munggaran tujuanana nyaéta pikeun ngadeteksi kerentanan anu dipikanyaho dina parangkat lunak atanapi konfigurasi pihak katilu. Contona, versi Windows anu luntur atanapi string komunitas standar pikeun SNMP.
Dina kasus kadua, tujuanana pikeun ngadeteksi kerentanan henteu ngan ukur dina komponén pihak katilu (dependensi), tapi utamina dina kode produk anyar.

Ieu nyiptakeun bédana dina alat sareng pendekatan. Dina pamanggih kuring, tugas milarian kerentanan anyar dina aplikasi langkung narik, sabab henteu turun kana versi sidik jari, ngumpulkeun spanduk, kecap konci anu maksakeun, jsb.
Pikeun nyeken otomatis kualitas luhur tina kerentanan aplikasi, algoritma diperyogikeun anu merhatikeun semantik aplikasi, tujuanana, sareng ancaman khusus.

Panyeken infrastruktur sering tiasa diganti ku timer, sakumaha anu kuring nahan avleonov. Intina nyaéta, sacara statistik, anjeun tiasa nganggap infrastruktur anjeun rentan upami anjeun teu acan diropéa, sebutkeun, salami sabulan.

instrumen

Nyeken, sapertos analisa kaamanan, tiasa dilakukeun nganggo kotak hideung atanapi kotak bodas.

hideung Box

Nalika nyeken kotak hideung, alatna kedah tiasa damel sareng jasa ngalangkungan antarmuka anu sami anu dianggo ku pangguna.

Infrastruktur scanner (Tenable Nessus, Qualys, MaxPatrol, Rapid7 Nexpose, jeung sajabana) neangan palabuhan jaringan kabuka, ngumpulkeun "spanduk," nangtukeun versi software dipasang, sarta néangan basis pangaweruh maranéhna pikeun informasi ngeunaan kerentanan dina versi ieu. Éta ogé nyobian ngadeteksi kasalahan konfigurasi sapertos kecap akses standar atanapi aksés data kabuka, ciphers SSL lemah, jsb.

Scanner aplikasi wéb (Acunetix WVS, Netsparker, Burp Suite, OWASP ZAP, jsb) ogé tiasa ngaidentipikasi komponén anu dipikanyaho sareng versina (Contona, CMS, kerangka, perpustakaan JS). Léngkah-léngkah utama panyeken nyaéta ngorondang sareng fuzzing.
Salila ngorondang, panyeken ngumpulkeun inpormasi ngeunaan antarmuka aplikasi anu tos aya sareng parameter HTTP. Salila fuzzing, data mutated atanapi dihasilkeun diselapkeun kana sadaya parameter nu dideteksi guna ngangsonan kasalahan sarta ngadeteksi kerentanan a.

Scanner aplikasi sapertos kalebet kelas DAST sareng IAST - Tés Kaamanan Aplikasi Dinamis sareng Interaktif, masing-masing.

Kotak bodas

Aya deui bédana sareng panyeken whitebox.
Salaku bagian tina prosés VM, scanner (Vulners, Incsecurity Couch, Vuls, Tenable Nessus, jeung sajabana) mindeng dibéré aksés ka sistem ku ngajalankeun hiji scan dioténtikasi. Ku kituna, scanner bisa ngundeur versi pakét dipasang na parameter konfigurasi langsung ti sistem, tanpa guessing aranjeunna tina spanduk layanan jaringan.
Scanna langkung akurat sareng lengkep.

Lamun urang ngobrol ngeunaan scanning whitebox (CheckMarx, HP Fortify, Coverity, RIPS, FindSecBugs, jsb) tina aplikasi, mangka urang biasana ngobrol ngeunaan analisis kode statik sarta pamakéan parabot luyu tina kelas SAST - Static Application Security Testing.

Anu jadi masalah

Aya seueur masalah sareng scanning! Kuring kudu nungkulan kalobaannana pribadi salaku bagian tina nyadiakeun layanan pikeun scanning wangunan jeung prosés ngembangkeun aman, kitu ogé nalika ngalakonan analisis kaamanan.

Kuring baris nyorot 3 grup utama masalah, nu dikonfirmasi ku paguneman jeung insinyur sarta kapala jasa kaamanan informasi dina rupa-rupa pausahaan.

Masalah Nyeken Aplikasi Wéb

  1. Kasesahan palaksanaan. Scanners kudu deployed, ngonpigurasi, ngaropéa pikeun tiap aplikasi, alokasi lingkungan test pikeun scan sarta dilaksanakeun dina CI / prosés CD pikeun ieu éféktif. Upami teu kitu, éta bakal janten prosedur formal anu teu aya gunana anu ngan ukur ngahasilkeun positip palsu
  2. Durasi scan. Malahan dina taun 2019, panyeken ngalakukeun padamelan anu goréng pikeun nyéépkeun antarmuka sareng tiasa nyéépkeun dinten-dinten nyeken sarébu halaman kalayan 10 parameter dina masing-masing, nganggap éta béda, sanaos kode anu sami nanggung jawabna. Dina waktos anu sami, kaputusan ngeunaan panyebaran kana produksi dina siklus pangembangan kedah dilakukeun gancang
  3. Rekomendasi goréng. Scanner masihan saran anu cukup umum, sareng pamekar henteu tiasa gancang ngartos kumaha carana ngirangan tingkat résiko, sareng anu paling penting, naha éta kedah dilakukeun ayeuna, atanapi henteu pikasieuneun acan.
  4. Dampak ngaruksak kana aplikasi. Scanner ogé tiasa ngalakukeun serangan DoS dina aplikasi, sareng ogé tiasa nyiptakeun sajumlah ageung éntitas atanapi ngarobih anu tos aya (contona, nyiptakeun puluhan rébu koméntar dina blog), ku kituna anjeun henteu kedah mikirkeun scan dina produksi.
  5. Kualitas low tina deteksi kerentanan. Panyeken biasana ngagunakeun asép Sunandar Sunarya tetep tina payloads sarta bisa kalayan gampang sono hiji kerentanan nu teu cocog kana skenario kabiasaan aplikasi urang dipikawanoh.
  6. Panyeken teu ngartos fungsi aplikasi. The scanner sorangan teu nyaho naon "Internet banking", "payment", "comment". Pikeun aranjeunna, ngan ukur aya tautan sareng parameter, janten lapisan ageung kamungkinan kerentanan logika bisnis tetep teu katutupan; aranjeunna moal mikiran ngadamel panyabutan ganda, spionase data batur ku ID, atanapi ningkatkeun kasaimbangan ngaliwatan rounding.
  7. Scanner henteu ngartos semantik halaman. Scanner henteu tiasa maca FAQs, henteu tiasa ngenal captchas, sareng nyalira aranjeunna moal terang kumaha cara ngadaptarkeun teras login deui, yén anjeun henteu tiasa ngaklik "logout," sareng kumaha ngadaptarkeun pamundut nalika ngarobih parameter. nilai-nilai. Hasilna, lolobana aplikasi bisa jadi teu discan pisan.

Masalah nyeken kode sumber

  1. positip palsu. Analisis statik mangrupikeun tugas anu kompleks anu ngalibatkeun seueur trade-off. Akurasi sering kedah dikorbankeun, bahkan scanner perusahaan anu mahal ngahasilkeun sajumlah ageung positip palsu
  2. Kasesahan palaksanaan. Pikeun ngaronjatkeun akurasi sarta completeness analisis statik, perlu nyaring aturan scanning, sarta nulis aturan ieu tiasa teuing kuli-intensif. Kadang-kadang langkung gampang pikeun mendakan sadaya tempat dina kodeu sareng sababaraha jinis bug sareng ngalereskeunana tibatan nyerat aturan pikeun ngadeteksi kasus sapertos kitu.
  3. Kurangna rojongan kagumantungan. Proyék ageung gumantung kana sajumlah ageung perpustakaan sareng kerangka anu manjangkeun kamampuan basa pamrograman. Upami basa pangaweruh panyeken teu gaduh inpormasi ngeunaan "tilep" dina kerangka ieu, éta bakal janten titik buta sareng panyeken ngan saukur moal ngartos kodeu.
  4. Durasi scan. Milarian kerentanan dina kode mangrupikeun tugas anu rumit dina hal algoritma. Ku alatan éta, prosésna tiasa nyandak waktos anu lami sareng peryogi sumber komputasi anu signifikan.
  5. sinyalna low. Sanaos konsumsi sumber daya sareng waktos scanning, pamekar alat SAST masih kedah ngadamel kompromi sareng nganalisa henteu sadayana nyatakeun yén program éta tiasa aya.
  6. Reproducibility tina papanggihan. Nunjuk ka garis husus sarta tumpukan panggero anu ngabalukarkeun kerentanan anu hébat, tapi kanyataanana, mindeng scanner teu nyadiakeun informasi cukup pikeun mariksa ayana kerentanan ti luar. Barina ogé, cacadna ogé aya dina kode paéh, anu henteu tiasa dicapai pikeun panyerang

Masalah scanning infrastruktur

  1. Inventory henteu cekap. Dina infrastruktur anu ageung, khususna anu dipisahkeun sacara geografi, sering anu paling hese pikeun terang host mana anu kedah diseken. Dina basa sejen, tugas scanning raket patalina jeung tugas manajemén asset
  2. Prioritas goréng. scanner jaringan mindeng ngahasilkeun loba hasil kalawan flaws nu teu bisa dieksploitasi dina prakna, tapi formal tingkat résiko maranéhanana nyaéta luhur. Konsumén nampi laporan anu hese diinterpretasi, sareng teu jelas naon anu kedah dilereskeun heula.
  3. Rekomendasi goréng. Basis pangaweruh panyeken sering ngan ukur ngandung inpormasi umum ngeunaan kerentanan sareng cara ngalereskeunana, ku kituna para admin kedah nyayogikeun diri sareng Google. Kaayaanana langkung saé kalayan panyeken whitebox, anu tiasa ngaluarkeun paréntah khusus pikeun ngalereskeun
  4. Buatan tangan. Infrastruktur tiasa gaduh seueur titik, anu hartosna seueur cacad, laporan anu kedah diurai sareng dianalisis sacara manual dina unggal iterasi.
  5. Liputan goréng. Kualitas scanning infrastruktur langsung gumantung kana ukuran dasar pangaweruh ngeunaan kerentanan sareng versi parangkat lunak. Dimana, tétéla, malah pamimpin pasar henteu gaduh basis pangaweruh anu komprehensif, sareng basis data solusi gratis ngandung seueur inpormasi anu para pamimpin henteu gaduh.
  6. Masalah sareng patching. Paling sering, patching kerentanan infrastruktur ngawengku ngamutahirkeun pakét atawa ngarobah hiji file konfigurasi. Masalah anu ageung di dieu nyaéta yén sistem, khususna warisan, tiasa berperilaku teu diprediksi salaku hasil tina pembaruan. Intina, anjeun kedah ngalaksanakeun tés integrasi dina infrastruktur langsung dina produksi.

Ngadeukeutan

Kumaha tiasa?
Kuring bakal nyarioskeun langkung seueur ngeunaan conto sareng cara nungkulan seueur masalah anu didaptarkeun dina bagian-bagian ieu, tapi ayeuna kuring bakal nunjukkeun arah utama dimana anjeun tiasa damel:

  1. Aggregation rupa parabot scanning. Kalayan ngagunakeun sababaraha scanner anu leres, anjeun tiasa ngahontal paningkatan anu signifikan dina dasar pangaweruh sareng kualitas deteksi. Anjeun tiasa mendakan langkung seueur kerentanan tibatan jumlah sadaya panyeken anu diluncurkeun nyalira, sedengkeun anjeun tiasa langkung akurat ngira-ngira tingkat résiko sareng ngadamel langkung seueur saran.
  2. Integrasi SAST sareng DAST. Kasebut nyaéta dimungkinkeun pikeun ningkatkeun cakupan DAST sareng katepatan SAST ku cara tukeur inpormasi antara aranjeunna. Tina sumber anjeun tiasa kéngingkeun inpormasi ngeunaan rute anu tos aya, sareng nganggo DAST anjeun tiasa pariksa naha kerentananna katingali ti luar.
  3. Pangajaran Mesin™. Dina 2015 I ngawartoskeun (jeung deui) ngeunaan ngagunakeun statistik pikeun masihan scanner intuisi hacker sarta nyepetkeun aranjeunna. Ieu pasti kadaharan pikeun ngembangkeun analisis kaamanan otomatis dina mangsa nu bakal datang.
  4. Integrasi IAST sareng autotes sareng OpenAPI. Dina jalur pipa CI/CD, tiasa waé nyiptakeun prosés scanning dumasar kana alat anu dianggo salaku proxy HTTP sareng tés fungsional anu dianggo dina HTTP. Tes sareng kontrak OpenAPI/Swagger bakal masihan scanner inpormasi anu leungit ngeunaan aliran data sareng ngamungkinkeun pikeun nyeken aplikasi di sababaraha nagara bagian.
  5. Konfigurasi anu leres. Pikeun unggal aplikasi sareng prasarana, anjeun kedah nyiptakeun profil scanning anu cocog, kalayan ngitung jumlah sareng sifat antarmuka sareng téknologi anu dianggo.
  6. Kustomisasi scanner. Mindeng hiji aplikasi teu bisa discan tanpa ngarobah scanner. Conto nyaéta gateway pamayaran, dimana unggal pamundut kedah ditandatanganan. Tanpa nulis panyambung kana protokol gateway, scanner bakal ngabombardir sacara teu kahaja kalayan pamenta kalayan tanda tangan anu salah. Éta ogé kedah nyerat scanner khusus pikeun jinis cacad khusus, sapertos Rujukan Objék Langsung Teu Aman
  7. Manajemén risiko. Pamakéan rupa-rupa scanner sareng integrasi sareng sistem éksternal sapertos Manajemén Aset sareng Manajemén Ancaman bakal ngijinkeun pamakean seueur parameter pikeun meunteun tingkat résiko, ku kituna manajemén tiasa nampi gambaran anu nyukupan ngeunaan kaayaan kaamanan ayeuna pangwangunan atanapi infrastruktur.

Tetep katala sareng hayu urang ngaganggu scanning kerentanan!

sumber: www.habr.com

Tambahkeun komentar