Pemindaian kerentanan lan pangembangan aman. Bagean 1

Pemindaian kerentanan lan pangembangan aman. Bagean 1

Minangka bagéan saka aktivitas profesional, pangembang, pentester, lan spesialis keamanan kudu ngatasi proses kayata Vulnerability Management (VM), (Secure) SDLC.
Ing ngisor frasa kasebut ana macem-macem praktik lan alat sing digunakake sing saling gegandhengan, sanajan pangguna beda-beda.

Kemajuan teknis durung tekan titik ing ngendi siji alat bisa ngganti wong kanggo nganalisa keamanan infrastruktur lan piranti lunak.
Iku menarik kanggo ngerti apa iki lan apa masalah sing ngadhepi.

Pangolahan

Proses Manajemen Kerentanan dirancang kanggo terus ngawasi keamanan infrastruktur lan manajemen patch.
Proses SDLC Aman ("siklus pangembangan aman") dirancang kanggo njaga keamanan aplikasi sajrone pangembangan lan operasi.

Bagean sing padha saka proses kasebut yaiku proses Assessment Kerentanan - penilaian kerentanan, pindai kerentanan.
Bentenipun utama antarane mindhai VM lan SDLC yaiku ing kasus sing sepisanan, tujuane kanggo ndeteksi kerentanan sing dikenal ing piranti lunak utawa konfigurasi pihak katelu. Contone, versi Windows lawas utawa string komunitas standar kanggo SNMP.
Ing kasus kapindho, tujuane kanggo ndeteksi kerentanan ora mung ing komponen pihak katelu (dependensi), nanging utamane ing kode produk anyar.

Iki nggawe beda ing alat lan pendekatan. Mratelakake panemume, tugas nemokake kerentanan anyar ing aplikasi luwih menarik, amarga ora ana ing versi sidik jari, ngumpulake spanduk, sandhi sing meksa kasar, lsp.
Kanggo pemindaian otomatis saka kerentanan aplikasi sing berkualitas tinggi, algoritma dibutuhake sing nimbang semantik aplikasi, tujuane, lan ancaman tartamtu.

Pemindai infrastruktur asring bisa diganti karo timer, kaya sing dakkandhakake avleonov. Intine, kanthi statistik, sampeyan bisa nganggep infrastruktur sampeyan rawan yen sampeyan durung nganyari, ujare, sajrone sewulan.

Piranti

Pindai, kaya analisis keamanan, bisa ditindakake kanthi nggunakake kothak ireng utawa kothak putih.

Black Box

Nalika mindhai kothak ireng, alat kasebut kudu bisa nggarap layanan kasebut liwat antarmuka sing padha karo pangguna.

Pemindai infrastruktur (Tenable Nessus, Qualys, MaxPatrol, Rapid7 Nexpose, lan sapiturute) nggoleki port jaringan sing mbukak, ngumpulake "spanduk", nemtokake versi piranti lunak sing diinstal, lan goleki basis pengetahuan kanggo informasi babagan kerentanan ing versi kasebut. Dheweke uga nyoba ndeteksi kesalahan konfigurasi kayata sandhi standar utawa akses data mbukak, cipher SSL sing lemah, lsp.

Scanner aplikasi web (Acunetix WVS, Netsparker, Burp Suite, OWASP ZAP, etc.) uga bisa ngenali komponen dikenal lan versi (contone, CMS, frameworks, perpustakaan JS). Langkah utama pemindai yaiku crawling lan fuzzing.
Sajrone crawling, scanner ngumpulake informasi babagan antarmuka aplikasi lan paramèter HTTP sing wis ana. Sajrone fuzzing, data sing dimutasi utawa digawe dilebokake menyang kabeh parameter sing dideteksi supaya bisa nyebabake kesalahan lan ndeteksi kerentanan.

Pemindai aplikasi kasebut kalebu kelas DAST lan IAST - Pengujian Keamanan Aplikasi Dinamis lan Interaktif.

Kothak Putih

Ana liyane beda karo whitebox mindhai.
Minangka bagéan saka proses VM, scanner (Vulners, Incsecurity Couch, Vuls, Tenable Nessus, etc.) asring diwenehi akses menyang sistem dening nindakake scan asli. Mangkono, scanner bisa ndownload versi paket sing diinstal lan paramèter konfigurasi langsung saka sistem, tanpa ngira saka spanduk layanan jaringan.
Pindai luwih akurat lan lengkap.

Yen kita ngomong babagan pemindaian whitebox (CheckMarx, HP Fortify, Coverity, RIPS, FindSecBugs, lan liya-liyane) saka aplikasi, mula kita biasane ngomong babagan analisis kode statis lan panggunaan alat sing cocog saka kelas SAST - Pengujian Keamanan Aplikasi Statis.

Masalah

Ana akeh masalah karo mindhai! Aku kudu ngatasi umume wong-wong mau kanthi pribadi minangka bagean saka nyedhiyakake layanan kanggo mindhai bangunan lan proses pangembangan sing aman, uga nalika nindakake karya analisis keamanan.

Aku bakal nyorot 3 kelompok utama masalah, sing dikonfirmasi dening obrolan karo insinyur lan kepala layanan keamanan informasi ing macem-macem perusahaan.

Masalah Scanning Aplikasi Web

  1. Kesulitan implementasine. Scanner kudu disebarake, diatur, selaras kanggo saben aplikasi, diparengake lingkungan test kanggo mindai lan dileksanakake ing CI / proses CD supaya iki efektif. Yen ora, bakal dadi prosedur formal sing ora ana guna sing mung bakal ngasilake positip palsu
  2. Durasi scan. Malah ing taun 2019, pemindai nindakake tugas sing ora apik kanggo nyuda antarmuka lan bisa ngentekake pirang-pirang dina kanggo mindhai sewu halaman kanthi 10 paramèter ing saben, nganggep beda-beda, sanajan kode sing padha tanggung jawab. Ing wektu sing padha, keputusan babagan penyebaran menyang produksi ing siklus pangembangan kudu digawe kanthi cepet
  3. Rekomendasi sing ora apik. Scanner menehi rekomendasi sing cukup umum, lan pangembang ora bisa ngerti kanthi cepet babagan carane nyuda tingkat risiko, lan sing paling penting, apa sing kudu ditindakake saiki, utawa durung medeni.
  4. Dampak ngrusak ing aplikasi. Scanner uga bisa nindakake serangan DoS ing sawijining aplikasi, lan uga bisa nggawe akeh entitas utawa ngganti sing wis ana (contone, nggawe puluhan ewu komentar ing blog), dadi sampeyan ora kudu mikir tanpa mikir babagan produksi.
  5. Kurang kualitas deteksi kerentanan. Scanner biasane nggunakake Uploaded tetep saka payloads lan bisa gampang kantun kerentanan sing ora pas karo skenario prilaku dikenal aplikasi.
  6. Pemindai ora ngerti fungsi aplikasi kasebut. Pemindai dhewe ora ngerti apa "Internet banking", "pembayaran", "komentar". Kanggo wong-wong mau, mung ana pranala lan paramèter, saéngga lapisan ageng saka kerentanan logika bisnis tetep ora bisa ditemokake; dheweke ora bakal mikir nggawe double write-off, spying data wong liya kanthi ID, utawa nambah imbangan liwat rounding.
  7. Pemindai ora ngerti semantik kaca. Scanner ora bisa maca FAQs, ora bisa ngenali captchas, lan dhewe ora bakal ngerti carane ndhaftar banjur mlebu maneh, sampeyan ora bisa ngeklik "logout", lan carane mlebu panjalukan nalika ngganti parameter. nilai-nilai. Akibaté, umume aplikasi bisa uga ora dipindai.

Masalah mindhai kode sumber

  1. Positif palsu. Analisis statis minangka tugas rumit sing kalebu akeh trade-off. Akurasi asring kudu dikorbanake, lan malah scanner perusahaan sing larang ngasilake akeh positip palsu
  2. Kesulitan implementasine. Kanggo nambah akurasi lan nggenepi analisis statis, perlu kanggo nyaring aturan mindhai, lan nulis aturan iki bisa banget pegawe-intensif. Kadhangkala luwih gampang nemokake kabeh panggonan ing kode kanthi sawetara jinis bug lan ndandani tinimbang nulis aturan kanggo ndeteksi kasus kasebut.
  3. Kurang dhukungan ketergantungan. Proyèk-proyèk gedhe gumantung marang perpustakaan lan kerangka sing akeh banget sing ngluwihi kemampuan basa pamrograman. Yen basis kawruh pemindai ora duwe informasi babagan "sink" ing kerangka kasebut, mula bakal dadi titik wuta lan pemindai mung ora ngerti kode kasebut.
  4. Durasi scan. Nemokake kerentanan ing kode minangka tugas sing rumit babagan algoritma. Mula, proses kasebut bisa uga mbutuhake wektu sing suwe lan mbutuhake sumber daya komputasi sing signifikan.
  5. Jangkoan kurang. Sanajan konsumsi sumber daya lan wektu mindhai, pangembang alat SAST isih kudu nggawe kompromi lan nganalisa ora kabeh nyatakake yen program kasebut ana ing
  6. Reproducibility saka temonan. Nuding menyang baris tartamtu lan tumpukan telpon sing ndadékaké kanggo kerentanan gedhe, nanging ing kasunyatan, asring scanner ora nyedhiyani informasi cukup kanggo mriksa anané kerentanan saka njaba. Sawise kabeh, cacat bisa uga ana ing kode mati, sing ora bisa digayuh panyerang

Masalah scanning infrastruktur

  1. Persediaan sing ora cukup. Ing prasarana gedhe, utamane sing dipisahake kanthi geografis, asring paling angel ngerti host sing bakal dipindai. Ing tembung liya, tugas mindhai raket banget karo tugas manajemen aset
  2. Prioritas sing ora apik. Pemindai jaringan asring ngasilake akeh asil kanthi cacat sing ora bisa dimanfaatake ing praktik, nanging kanthi resmi tingkat risiko kasebut dhuwur. Konsumen nampa laporan sing angel diinterpretasikake, lan ora jelas apa sing kudu didandani dhisik.
  3. Rekomendasi sing ora apik. Basis kawruh scanner asring mung ngemot informasi sing umum banget babagan kerentanan lan cara ndandani, mula para admin kudu nyengkuyung Google. Kahanan luwih apik karo pemindai whitebox, sing bisa ngetokake prentah tartamtu kanggo ndandani
  4. gawenan tangan. Infrastruktur bisa duwe akeh simpul, sing tegese akeh cacat, laporan sing kudu diurai lan dianalisis kanthi manual ing saben pengulangan
  5. Jangkoan sing ora apik. Kualitas pemindaian infrastruktur langsung gumantung saka ukuran basis kawruh babagan kerentanan lan versi piranti lunak. Ing endi, pranyata metu, malah pimpinan pasar ora duwe basis kawruh sing komprehensif, lan database solusi gratis ngemot akeh informasi sing ora diduweni para pimpinan.
  6. Masalah karo patching. Paling asring, kerentanan infrastruktur patch kalebu nganyari paket utawa ngganti file konfigurasi. Masalah gedhe ing kene yaiku sistem, utamane warisan, bisa tumindak ora bisa ditebak amarga nganyari. Intine, sampeyan kudu nganakake tes integrasi babagan infrastruktur langsung ing produksi.

Nyedhaki

Carane dadi?
Aku bakal pitutur marang kowe luwih akeh babagan conto lan carane ngatasi akeh masalah sing kadhaptar ing bagean ing ngisor iki, nanging saiki aku bakal nuduhake pituduh utama sing bisa digunakake:

  1. Agregasi saka macem-macem alat scan. Kanthi nggunakake sawetara scanner sing bener, sampeyan bisa nambah basis pengetahuan lan kualitas deteksi. Sampeyan bisa nemokake kerentanan luwih akeh tinimbang kabeh scanner sing diluncurake kanthi kapisah, nalika sampeyan bisa netepake tingkat risiko kanthi luwih akurat lan menehi saran luwih akeh.
  2. Integrasi saka SAST lan DAST. Sampeyan bisa nambah jangkoan DAST lan akurasi SAST kanthi ijol-ijolan informasi ing antarane. Saka sumber sampeyan bisa entuk informasi babagan rute sing ana, lan nggunakake DAST sampeyan bisa mriksa manawa kerentanan kasebut katon saka njaba.
  3. Machine Learning™. Ing 2015 I marang (lan luwih akeh) babagan nggunakake statistik kanggo menehi scanner intuisi hacker lan nyepetake. Iki mesthi feed kanggo pangembangan analisis keamanan otomatis ing mangsa ngarep.
  4. Integrasi IAST karo autotes lan OpenAPI. Ing pipeline CI/CD, sampeyan bisa nggawe proses mindhai adhedhasar alat sing bisa digunakake minangka proxy HTTP lan tes fungsional sing bisa digunakake liwat HTTP. Tes lan kontrak OpenAPI/Swagger bakal menehi scanner informasi sing ilang babagan aliran data lan bisa mindhai aplikasi ing macem-macem negara.
  5. Konfigurasi sing bener. Kanggo saben aplikasi lan prasarana, sampeyan kudu nggawe profil pemindaian sing cocog, kanthi nimbang nomer lan sifat antarmuka lan teknologi sing digunakake.
  6. Kustomisasi scanner. Asring aplikasi ora bisa dipindai tanpa ngowahi scanner. Conto minangka gateway pembayaran, ing ngendi saben panyuwunan kudu ditandatangani. Tanpa nulis konektor menyang protokol gateway, scanner bakal ngebom panjalukan kanthi teken sing salah. Sampeyan uga kudu nulis scanner khusus kanggo jinis cacat tartamtu, kayata Referensi Obyek Langsung Ora Aman
  7. Manajemen risiko. Panggunaan macem-macem scanner lan integrasi karo sistem eksternal kayata Manajemen Aset lan Manajemen Ancaman bakal ngidini nggunakake akeh paramèter kanggo netepake tingkat risiko, supaya manajemen bisa entuk gambaran sing nyukupi babagan kahanan keamanan pembangunan utawa infrastruktur saiki.

Tetep dirungokake lan ayo ngganggu pemindaian kerentanan!

Source: www.habr.com

Add a comment