Keselamatan

10 Jenis Kerentanan Keselamatan

10 Jenis Kerentanan Keselamatan
Kekurangan yang tidak disengajakan atau tidak sengaja dalam kod perisian atau sistem apa pun yang menjadikannya berpotensi dieksploitasi dari segi akses kepada pengguna yang tidak sah, tingkah laku jahat seperti virus, trojan, worm, atau malware lain disebut kerentanan keselamatan. Penggunaan perisian yang telah dieksploitasi atau penggunaan kata sandi yang lemah dan lalai juga mengakibatkan sistem ini rentan terhadap dunia luar. Jenis kerentanan keselamatan ini memerlukan tambalan untuk mengelakkan penggodam menggunakan eksploitasi yang digunakan sebelumnya pada mereka lagi untuk mendapatkan akses tanpa izin ke sistem. Kerentanan keselamatan yang juga disebut lubang keamanan atau kelemahan adalah cacat, bug, atau kesalahan dalam pelaksanaan kod, reka bentuk, dan seni bina aplikasi web dan pelayan, yang apabila tidak ditangani dapat mengakibatkan kompromi sistem dan membuat seluruh rangkaian terdedah kepada serangan itu. Orang yang akan dijangkiti termasuk pemilik aplikasi, pengguna aplikasi, dan orang lain yang bergantung pada aplikasi tersebut. Mari lihat risiko keselamatan yang paling berbahaya dan biasa untuk aplikasi web.

Isi kandungan

  1. Suntikan Pangkalan Data
  2. Pengesahan Pecah
  3. Pendedahan Data Sensitif
  4. Entiti Luaran XML (XEE)
  5. Kawalan Akses Rosak
  6. Salah Konfigurasi Keselamatan
  7. Skrip Merentas Tapak (XSS)
  8. Deserialisasi tidak selamat
  9. Menggunakan Komponen dengan Kerentanan yang Diketahui
  10. Pembalakan dan Pemantauan Tidak mencukupi

Suntikan Pangkalan Data:

Sekiranya menghantar kepingan data yang tidak dipercayai kepada jurubahasa sebagai bahagian perintah melalui kawasan yang memerlukan input pengguna i.e masukan borang atau kawasan penyerahan data lain, kekurangan suntikan berlaku. Pertanyaan jahat penyerang dapat menipu jurubahasa untuk melaksanakan perintah yang dapat menunjukkan data sulit yang tidak mempunyai kebenaran untuk dilihat oleh pengguna. Contohnya dalam serangan suntikan SQL, ketika input formulir tidak dibersihkan dengan benar, penyerang dapat memasuki pangkalan data SQL dan mengakses isinya tanpa izin, hanya dengan memasukkan kod pangkalan data SQL yang berniat jahat dalam bentuk yang mengharapkan teks biasa. Segala jenis bidang yang memerlukan input pengguna boleh disuntikkan i.parameter, pemboleh ubah persekitaran, semua perkhidmatan web, dll.

Aplikasi ini rentan terhadap serangan suntikan ketika data yang disediakan pengguna tidak dibersihkan dan disahkan, dengan penggunaan pertanyaan dinamis tanpa melarikan diri dari konteks dan penggunaan data bermusuhan secara langsung. Kekurangan suntikan dapat ditemukan dengan mudah melalui pemeriksaan kod dan dengan menggunakan alat automatik seperti pengimbas dan alat pembakar. Untuk mencegah serangan suntikan, ada beberapa ukuran yang dapat diambil seperti memisahkan data dari perintah dan pertanyaan, penggunaan API yang aman yang menyediakan antara muka parameter, penggunaan validasi input sisi pelayan "daftar putih" melalui alat seperti Snort, melarikan diri dari watak khas menggunakan sintaks pelarian tertentu, dll.

Serangan suntikan boleh menyebabkan kehilangan data yang besar, pendedahan maklumat sulit, penolakan akses dan bahkan boleh menyebabkan pengambilalihan aplikasi yang lengkap. Beberapa kawalan SQL seperti LIMIT dapat digunakan untuk mengawal sejumlah besar kehilangan data sekiranya terjadi serangan. Beberapa jenis serangan suntikan adalah serangan suntikan SQL, OS, NoSQL, LDAP.

Pengesahan rosak:

Penyerang dapat mengakses akaun pengguna dan bahkan dapat membahayakan seluruh sistem host melalui akaun pentadbir, dengan menggunakan kelemahan dalam sistem pengesahan. Kekurangan autentikasi membolehkan penyerang mengompromikan kata laluan, token sesi, kunci pengesahan dan dapat dirantai dengan serangan lain yang boleh menyebabkan akses ke akaun pengguna atau sesi lain yang tidak sah untuk sementara waktu dan dalam beberapa kes, secara kekal. Katakan pengguna mempunyai senarai kata atau kamus berjuta-juta nama pengguna dan kata laluan yang sah yang diperoleh semasa pelanggaran. Dia dapat menggunakannya satu per satu dalam waktu yang sangat sedikit dengan menggunakan alat dan skrip automatik pada sistem log masuk untuk melihat apakah ada yang bekerja. Pelaksanaan pengurusan identiti dan kawalan akses yang lemah membawa kepada kelemahan seperti pengesahan yang rosak.

Aplikasi ini rentan terhadap serangan pengesahan apabila membenarkan mencuba nama pengguna dan kata laluan yang berbeza, mengizinkan serangan kamus atau serangan kekerasan tanpa strategi pertahanan, gunakan kata laluan atau kata laluan lalai yang mudah dan bocor dalam sebarang pelanggaran, memaparkan id sesi di URL, penggunaan skema pemulihan kata laluan yang lemah, menggunakan corak kuki. Pengesahan yang rosak dapat dieksploitasi dengan mudah menggunakan alat mudah untuk serangan kekerasan dan serangan kamus dengan kamus yang bagus. Jenis serangan ini dapat dicegah menggunakan sistem pengesahan multi-faktor, dengan melaksanakan pemeriksaan kata sandi yang lemah dengan menjalankan kata sandi melalui pangkalan data kata sandi yang buruk, dengan tidak menggunakan bukti kelayakan lalai, dengan menyelaraskan kebijakan kerumitan kata laluan, dengan penggunaan sisi pelayan yang baik pengurus sesi yang menghasilkan sesi-id rawak baru selepas log masuk, dll.

Kerentanan autentikasi yang rosak boleh mengakibatkan beberapa akaun pengguna dan akaun pentadbir terganggu, itu yang perlu dilakukan oleh penyerang untuk menjejaskan sistem. Jenis serangan ini membawa kepada pencurian identiti, penipuan keselamatan sosial, pengubahan wang haram, dan pendedahan maklumat yang sangat rahsia. Serangan tersebut merangkumi serangan kamus, kekerasan, rampasan sesi, dan serangan pengurusan sesi.

Pendedahan data sensitif:

Kadang kala aplikasi web tidak melindungi data dan maklumat sensitif seperti kata laluan, kelayakan pangkalan data, dll. Penyerang dengan mudah dapat mencuri atau mengubah bukti kelayakan yang dilindungi dengan lemah ini dan menggunakannya untuk tujuan tidak sah. Data sensitif harus dienkripsi ketika dalam keadaan rehat atau dalam perjalanan dan mempunyai lapisan keselamatan tambahan jika tidak, penyerang dapat mencurinya. Penyerang dapat memanfaatkan data yang terdedah sensitif dan mencuri pengguna teks & bukti data yang dicincang atau jelas dari pelayan atau penyemak imbas web. Sebagai contoh, jika pangkalan data kata laluan menggunakan hash yang tidak berlapis atau sederhana untuk menyimpan kata laluan, cacat muat naik fail boleh membolehkan penyerang mengambil pangkalan data kata laluan yang akan menyebabkan pendedahan semua kata laluan dengan jadual pelangi hash yang telah dikira sebelumnya.

Kekurangan utama bukan sahaja data tidak dienkripsi, bahkan jika disulitkan, tetapi penjanaan kunci yang lemah, algoritma hash yang lemah, penggunaan cipher yang lemah juga dapat mengakibatkan jenis ini dari salah satu serangan yang paling biasa. Untuk mencegah jenis serangan ini, pertama, klasifikasikan jenis data yang dapat dianggap sensitif menurut undang-undang privasi dan menerapkan kawalan sesuai klasifikasi. Cuba jangan menyimpan data terperingkat yang tidak anda perlukan, basuh segera setelah anda menggunakannya. Untuk data dalam perjalanan, enkripsi dengan protokol selamat i.e TLS dengan cipher PFS, dll.

Jenis kerentanan ini boleh mengakibatkan pendedahan maklumat yang sangat sensitif seperti bukti kelayakan kad kredit, rekod kesihatan, kata laluan, dan data peribadi lain yang boleh menyebabkan pencurian identiti dan penipuan bank, dll.

Entiti Luaran XML (XEE):

Pemproses XML yang dikonfigurasi dengan buruk memproses rujukan entiti luaran di dalam dokumen XML. Entiti luaran ini boleh digunakan untuk mengambil data fail dalaman seperti / etc / passwd fail atau untuk melakukan tugas-tugas jahat yang lain.  Pemproses XML yang rentan dapat dieksploitasi dengan mudah jika penyerang dapat memuat naik dokumen XML atau memasukkan XML dll. Entiti XML yang rentan ini dapat ditemui dengan menggunakan alat SAST dan DAST atau secara manual dengan memeriksa kebergantungan dan konfigurasi.

Aplikasi web rentan terhadap serangan XEE kerana banyak alasan seperti jika aplikasi menerima input XML langsung dari sumber yang tidak dipercayai, Definisi Jenis Dokumen (DTD) pada aplikasi diaktifkan, aplikasi menggunakan SAML untuk pemprosesan identiti kerana SAML menggunakan XML untuk identiti sisipan, dll. Serangan XEE dapat dikurangkan dengan mengelakkan serialisasi data sensitif, menggunakan format data yang kurang rumit i.e JSON, menambal prosesor XML aplikasi ini terus digunakan dan bahkan perpustakaan, melumpuhkan DTD di semua penghurai XML, pengesahan fungsi muat naik fail XML menggunakan pengesahan XSD, dll.

Aplikasi yang rentan terhadap jenis serangan ini dapat menyebabkan serangan DOS, serangan Billion Laughs, pemindaian sistem dalaman, pemindaian port dalaman, menjalankan perintah jarak jauh yang mengakibatkan mempengaruhi semua data aplikasi.

Kawalan Akses Rosak:

Access Control memberi pengguna hak istimewa untuk melakukan tugas tertentu. Kerentanan kawalan akses rosak berlaku apabila pengguna tidak dibatasi dengan betul pada tugas yang dapat mereka laksanakan. Penyerang dapat memanfaatkan kerentanan ini yang akhirnya dapat mengakses fungsi atau maklumat yang tidak dibenarkan. Katakanlah aplikasi web membolehkan pengguna menukar akaun dari mana dia log masuk hanya dengan menukar URL ke akaun pengguna lain tanpa pengesahan lebih lanjut.  Mengeksploitasi kerentanan kawalan akses adalah serangan dari mana-mana penyerang, kerentanan ini dapat dijumpai secara manual dan juga dengan menggunakan alat SAFT dan DAFT. Kerentanan ini wujud kerana kurangnya pengujian dan pengesanan aplikasi web secara automatik walaupun cara terbaik untuk mencarinya adalah dengan melakukannya secara manual.

Kerentanan mengandungi peningkatan hak istimewa i.e bertindak sebagai pengguna yang bukan atau bertindak sebagai pentadbir semasa anda pengguna, dengan melewati pemeriksaan kawalan akses hanya dengan mengubah URL atau mengubah keadaan aplikasi, manipulasi metadata, memungkinkan kunci utama diubah sebagai kunci utama pengguna lain, dan lain-lain. Untuk mencegah serangan semacam ini, mekanisme kawalan akses mesti dilaksanakan dalam kod sisi pelayan di mana penyerang tidak dapat mengubah kawalan akses. Penguatkuasaan had perniagaan aplikasi yang unik oleh model domain, penyahaktifan direktori penyenaraian pelayan, amaran pentadbir mengenai percubaan log masuk yang gagal berulang, pembatalan token JWT setelah logout mesti dipastikan untuk mengurangkan serangan semacam ini.

Penyerang boleh bertindak sebagai pengguna atau pentadbir lain menggunakan kerentanan ini untuk melakukan tugas jahat seperti membuat, menghapus dan mengubah rekod, dll. Kehilangan data secara besar-besaran boleh berlaku sekiranya data tidak diamankan walaupun setelah berlaku pelanggaran.

Salah konfigurasi keselamatan:

Kerentanan yang paling biasa adalah salah konfigurasi keselamatan. Sebab utama kerentanan adalah penggunaan konfigurasi lalai, konfigurasi tidak lengkap, konfigurasi Adhoc, tajuk HTTP yang tidak dikonfigurasi dengan baik, dan mesej ralat yang mengandungi lebih banyak maklumat daripada yang semestinya diketahui oleh pengguna. Di mana-mana tahap aplikasi web, salah konfigurasi keselamatan boleh berlaku i.pangkalan data, pelayan web, pelayan aplikasi, perkhidmatan rangkaian, dll. Penyerang boleh mengeksploitasi sistem yang tidak ditambal atau mengakses fail dan direktori yang tidak dilindungi untuk menahan sistem yang tidak dibenarkan. Contohnya, aplikasi yang mengandungi mesej ralat berlebihan yang membantu penyerang mengetahui kelemahan dalam sistem aplikasi dan cara kerjanya. Alat dan pengimbas automatik boleh digunakan untuk mengesan kekurangan jenis keselamatan ini.

Aplikasi web mengandungi kerentanan jenis ini jika tidak ada tindakan pengeras keamanan di semua bagian aplikasi, port yang tidak diperlukan terbuka atau memungkinkan fitur yang tidak diperlukan, kata laluan lalai digunakan, pengendalian kesalahan menunjukkan kesalahan maklumat kepada penyerang, ia menggunakan perisian keselamatan yang tidak dipadankan atau ketinggalan zaman, dll. Hal ini dapat dicegah dengan membuang ciri-ciri kod yang tidak perlu, i.platform minimum tanpa ciri-ciri, dokumentasi, dan lain-lain yang tidak perlu, memungkinkan tugas untuk mengemas kini dan memperbaiki lubang keselamatan sebagai sebahagian daripada proses pengurusan tampalan, penggunaan proses untuk mengesahkan keberkesanan langkah-langkah keselamatan yang diambil, penggunaan proses pengerasan berulang untuk membuat senang menggunakan persekitaran lain yang terkunci dengan betul.

Kerentanan atau kelemahan jenis ini memungkinkan penyerang mendapatkan akses tanpa izin ke data sistem yang membawa kepada kompromi sistem sepenuhnya.

Skrip Merentas Tapak (XSS):

Kerentanan XSS terjadi pada saat aplikasi web menggabungkan data yang tidak dipercaya dalam halaman laman web baru tanpa persetujuan atau melarikan diri yang sah, atau menyegarkan halaman laman web terkini dengan data yang disediakan oleh pelanggan, menggunakan API penyemak imbas yang dapat membuat HTML atau JavaScript.  Kekurangan XSS berlaku sekiranya laman web membenarkan pengguna menambahkan kod tersuai ke jalur URL yang dapat dilihat oleh pengguna lain. Kekurangan ini digunakan untuk menjalankan kod JavaScript berbahaya pada penyemak imbas sasaran. Katakan, penyerang boleh menghantar pautan ke mangsa yang mengandungi pautan ke laman web mana-mana syarikat. Sambungan ini mungkin mempunyai beberapa kod JavaScript berbahaya yang disisipkan di dalamnya, Sekiranya laman web bank tidak diamankan dengan tepat terhadap serangan XSS, dengan mengklik pada pautan, kod jahat akan dijalankan pada penyemak imbas mangsa.

Cross-Site Scripting adalah kerentanan keselamatan yang terdapat di hampir ⅔ aplikasi web. Aplikasi rentan terhadap XSS jika aplikasi menyimpan input pengguna yang tidak disenyawakan yang dapat dilihat oleh pengguna lain, dengan menggunakan struktur JavaScript, aplikasi satu halaman, dan API yang menggabungkan informasi terkawal penyerang dengan kuat ke halaman tidak berdaya terhadap DOM XSS. Serangan XSS dapat dikurangkan dengan penggunaan kerangka kerja yang melarikan diri dan membersihkan input XSS secara semula jadi seperti React JS dan lain-lain, mempelajari batasan kerangka kerja dan menutupnya menggunakan kes sendiri, melarikan diri dari data HTML yang tidak perlu dan tidak dipercayai di mana-mana sahaja.e dalam atribut HTML, URI, Javascript, dll, penggunaan pengekodan sensitif konteks sekiranya mengubah dokumen di pihak klien, dll.

Serangan berdasarkan XSS terdiri daripada tiga jenis i.e XSS, DOM XSS, dan XSS Tersimpan. Semua jenis serangan ini mempunyai jumlah kesan yang besar tetapi dalam kes Storan XSS, impaknya lebih besar lagi.e mencuri bukti kelayakan, menghantar perisian hasad kepada mangsa, dll.

Deserialisasi tidak selamat:

Serialisasi data bermaksud mengambil objek dan menukarnya ke format apa pun sehingga data ini dapat digunakan untuk tujuan lain di kemudian hari, sementara deserialisasi data bermaksud kebalikan dari itu. Deserialization membongkar data bersiri ini untuk penggunaan aplikasi. Deserialisasi tidak selamat bermaksud pengubahsuaian data yang telah diselaraskan sebentar sebelum hendak dibongkar atau deserialisasi.  Deserialisasi yang tidak selamat menyebabkan pelaksanaan kod jauh dan ia digunakan untuk melakukan tugas lain untuk tujuan jahat seperti peningkatan hak istimewa, serangan suntikan, serangan ulangan, dll. Terdapat beberapa alat yang tersedia untuk mengetahui kekurangan seperti ini tetapi bantuan manusia sangat diperlukan untuk mengesahkan masalah tersebut. Mengeksploitasi deserialisasi agak sukar kerana eksploitasi tidak akan berfungsi tanpa beberapa perubahan manual.

Apabila aplikasi mendesialisasikan objek jahat yang dibekalkan oleh entiti penyerang. Ini boleh menyebabkan dua jenis serangan i.e serangan yang berkaitan dengan struktur data dan objek di mana penyerang mengubah logik aplikasi atau melaksanakan kod jarak jauh dan serangan gangguan data khas di mana struktur data yang ada digunakan dengan kandungan yang diubahsuai misalnya serangan yang berkaitan dengan kawalan akses.  Serialisasi dapat digunakan dalam komunikasi proses jarak jauh (RPC) atau komunikasi antar proses (IPC), penyimpanan data, perkhidmatan web, pelayan cache pangkalan data, sistem fail, token pengesahan API, kuki HTML, parameter bentuk HTML, dll. Serangan deserialisasi dapat dikurangi dengan tidak menggunakan objek bersiri dari sumber yang tidak dipercaya, melaksanakan pemeriksaan integritas, mengasingkan kod yang berjalan di lingkungan yang istimewa, memantau sambungan jaringan masuk dan keluar dari pelayan yang sering melakukan deserialisasi.

Menggunakan komponen dengan kelemahan yang diketahui:

Komponen yang berbeza seperti perpustakaan, kerangka kerja, dan modul perisian digunakan oleh kebanyakan pembangun dalam aplikasi web. Perpustakaan ini membantu pembangun untuk mengelakkan kerja yang tidak perlu dan menyediakan fungsi yang diperlukan. Penyerang mencari kelemahan dan kerentanan dalam komponen ini untuk mengkoordinasikan serangan. Sekiranya terdapat celah keselamatan dalam komponen dapat menjadikan semua laman web menggunakan komponen yang sama, rentan. Eksploitasi kelemahan ini sudah tersedia semasa menulis eksploitasi khusus dari awal memerlukan banyak usaha. Ini adalah masalah yang sangat umum dan meluas, penggunaan sejumlah besar komponen dalam mengembangkan aplikasi web boleh menyebabkan bahkan tidak mengetahui dan memahami semua komponen yang digunakan, menambal dan mengemas kini semua komponen sudah lama.

Aplikasi rentan jika pengembang tidak mengetahui versi komponen yang digunakan, perisiannya sudah usang i.e sistem operasi, DBMS, perisian berjalan, persekitaran runtime dan perpustakaan, pengimbasan kerentanan tidak dilakukan secara berkala, keserasian perisian yang ditambal tidak diuji oleh pembangun. Hal ini dapat dicegah dengan menghapus pergantungan, file, dokumentasi, dan perpustakaan yang tidak digunakan, memeriksa versi komponen pelanggan dan pelayan secara berkala, mendapatkan komponen dan perpustakaan dari sumber selamat rasmi dan dipercayai, memantau perpustakaan dan komponen yang belum ditambal, memastikan rancangan untuk mengemas kini dan menambal komponen yang rentan secara berkala.

Kerentanan ini membawa kepada kesan kecil tetapi juga boleh menyebabkan gangguan pelayan dan sistem. Banyak pelanggaran besar bergantung pada kelemahan komponen yang diketahui. Penggunaan komponen yang rentan melemahkan pertahanan aplikasi dan boleh menjadi titik permulaan serangan besar.

Pembalakan dan pemantauan tidak mencukupi:

Sebilangan besar sistem tidak mengambil langkah dan langkah yang mencukupi untuk mengesan pelanggaran data. Masa tindak balas rata-rata kejadian adalah 200 hari selepas kejadian, ini banyak masa untuk melakukan semua perkara jahat untuk entiti penyerang. Pembalakan dan pemantauan yang tidak mencukupi memungkinkan penyerang menyerang sistem lebih jauh, mempertahankan pegangan pada sistem, merusak, menahan dan mengekstrak data sesuai keperluan. Penyerang menggunakan kekurangan pemantauan dan respons yang memihak kepada mereka untuk menyerang aplikasi web.
Pembalakan dan pemantauan yang tidak mencukupi berlaku pada bila-bila masa i.e log aplikasi tidak dipantau untuk aktiviti yang tidak biasa, peristiwa yang dapat diaudit seperti percubaan log masuk yang gagal dan nilai transaksi yang tinggi tidak dicatat dengan betul, amaran dan kesilapan menghasilkan mesej ralat yang tidak jelas, tidak ada amaran pencetus sekiranya berlaku pentesting menggunakan alat DAST automatik, tidak dapat mengesan atau amati serangan aktif dengan cepat, dll. Ini dapat dikurangkan dengan memastikan semua log masuk, kegagalan kawalan akses, dan pengesahan input sisi pelayan dapat dicatat untuk mengenal pasti akaun pengguna yang berniat jahat dan disimpan untuk jangka masa yang cukup untuk penyelidikan forensik yang tertunda, dengan memastikan log yang dihasilkan dalam format serasi dengan penyelesaian pengurusan log berpusat, dengan memastikan pemeriksaan integriti pada urus niaga bernilai tinggi, dengan mewujudkan sistem untuk memberi amaran tepat pada masanya mengenai aktiviti yang mencurigakan, dll.

Sebilangan besar serangan yang berjaya dimulakan dengan memeriksa dan menyelidiki kerentanan dalam sistem, yang memungkinkan penyelidikan kerentanan ini dapat mengakibatkan kompromi keseluruhan sistem.

Kesimpulan:

Kerentanan keselamatan dalam aplikasi web mempengaruhi semua entiti yang berkaitan dengan aplikasi tersebut. Kerentanan ini mesti dijaga untuk menyediakan persekitaran yang selamat dan selamat bagi pengguna. Penyerang dapat menggunakan kelemahan ini untuk mengorbankan sistem, menangkapnya, dan meningkatkan hak istimewa. Kesan dari aplikasi web yang dikompromikan dapat dilihat dari bukti kad kredit yang dicuri dan pencurian identiti hingga kebocoran maklumat yang sangat sulit dll. bergantung pada keperluan dan vektor serangan entiti jahat.

Shadow of the Tomb Raider untuk Tutorial Linux
Shadow of the Tomb Raider adalah penambahan kedua belas untuk siri Tomb Raider - francais permainan aksi-pengembaraan yang dibuat oleh Eidos Montreal....
Cara Meningkatkan FPS di Linux?
FPS bermaksud Bingkai sesaat. Tugas FPS adalah mengukur kadar bingkai dalam pemutaran video atau persembahan permainan. Dengan kata mudah bilangan gam...
Permainan Makmal Apl Oculus Teratas
Sekiranya anda adalah pemilik alat dengar Oculus, maka anda mesti mengetahui tentang memuatkan sideload. Sideloading adalah proses memasang kandungan ...