Bagaimana mencegah serangan zero day

21

Secara tradisional, semua program anti-virus dan sistem IPS bekerja menggunakan teknik berbasis tanda tangan. Namun, ini tidak banyak membantu untuk mencegah serangan zero-day .

Karena itu, apa yang bisa dilakukan untuk mencegah serangan zero-day?

ashmish2
sumber
1
Selain poin dalam jawaban yang saya sarankan di bawah, bahkan jika Anda menjalankan beberapa perangkat lunak dengan exploit nol hari. Jika Anda tidak menjalankan sistem itu di internet publik, maka Anda tidak rentan secara langsung. Oleh karena itu firewall adalah teman Anda, dan jika Anda benar-benar ingin menjalankan beberapa perangkat lunak risiko keamanan yang ketinggalan jaman, maka Anda dapat mengaturnya di beberapa jaringan lain di cloud, di mana firewall dapat diretas dan tidak mempengaruhi sistem lain.
Tom H
Ancaman 0 hari dan tidak dikenal adalah alasan utama mengapa heuristik digunakan dalam perangkat lunak antivirus / anti-malware apa pun yang layak disebut. Sayangnya heuristik sering dinonaktifkan karena hit kinerja.
John Gardeniers
0days hanyalah sebuah kategori, setiap anggota dari kategori ini sangat berbeda dari yang lain. Anda tidak dapat memiliki pendekatan di mana Anda mempertimbangkan menerapkan keamanan terhadap 0 hari. Kualitas sistem keamanan Anda yang pada akhirnya akan membuat perbedaan antara intrusi diam-diam yang berhasil dan eksploitasi yang tidak berfungsi atau eksploitasi yang terdeteksi. Seperti kata seseorang, fokuslah pada deteksi dan waktu respons cepat. Pantau setiap sistem, lalu lintas, dan ikuti perkembangan pembaruan keamanan. Ini adalah pekerjaan penuh waktu, atau setidaknya, seharusnya begitu.
Aki
Mungkin mendapatkan beberapa jawaban yang bagus dari sini juga - security.stackexchange.com
Bratch
linux di mana-mana. tidak ada jendela. tanya google.
Neil McGuigan

Jawaban:

37

Saya pikir Anda mengakui kebenaran sys-admin yang menarik di sana, yaitu itu

kecuali jika Anda dapat mengurangi kemungkinan hacked ke nol kemudian akhirnya , di beberapa titik, Anda akan mendapatkan hacked .

Ini hanyalah kebenaran dasar dari matematika dan probabilitas, bahwa untuk setiap probabilitas kejadian nol. Acara akhirnya terjadi ...

Jadi 2 aturan emas untuk mengurangi dampak dari peristiwa "yang akhirnya diretas" ini adalah ini;

  1. Prinsip hak istimewa yang paling rendah

    Anda harus mengonfigurasi layanan untuk dijalankan sebagai pengguna dengan hak sekecil mungkin yang diperlukan untuk menyelesaikan tugas layanan. Ini dapat berisi peretas bahkan setelah mereka masuk ke mesin.

    Sebagai contoh, seorang hacker membobol sistem menggunakan eksploitasi nol hari dari layanan webserver Apache sangat mungkin terbatas hanya pada memori sistem dan sumber daya file yang dapat diakses oleh proses itu. Peretas akan dapat mengunduh file sumber html dan php Anda, dan mungkin melihat ke dalam database mysql Anda, tetapi mereka seharusnya tidak bisa mendapatkan root atau memperluas intrusi mereka di luar file yang dapat diakses apache.

    Banyak instalasi server web Apache default membuat pengguna dan grup 'apache' secara default dan Anda dapat dengan mudah mengkonfigurasi file konfigurasi Apache utama (httpd.conf) untuk menjalankan apache menggunakan grup-grup itu.

  2. Prinsip pemisahan hak istimewa

    Jika situs web Anda hanya perlu akses baca-saja ke basis data, maka buat akun yang hanya memiliki izin baca-saja, dan hanya ke basis data itu.

    SElinux adalah pilihan yang baik untuk menciptakan konteks untuk keamanan, aplikasi-armor adalah alat lain. Bastille adalah pilihan sebelumnya untuk pengerasan.

    Kurangi konsekuensi dari serangan apa pun, dengan memisahkan kekuatan layanan yang telah dikompromikan ke dalam sendiri "Kotak".

Aturan Perak juga bagus.

Gunakan alat yang tersedia. (Sangat tidak mungkin bahwa Anda dapat melakukan serta orang-orang yang ahli keamanan, jadi gunakan bakat mereka untuk melindungi diri Anda sendiri.)

  1. enkripsi kunci publik memberikan keamanan yang sangat baik. Gunakan. dimana mana.
  2. pengguna adalah idiot, menegakkan kompleksitas kata sandi
  3. pahami mengapa Anda membuat pengecualian terhadap aturan di atas. tinjau pengecualian Anda secara teratur.
  4. meminta seseorang untuk bertanggung jawab atas kegagalan. itu membuat Anda berada di ujung jari Anda.
Tom H
sumber
Saya pikir ini adalah kebenaran - menurut definisi, tidak banyak yang dapat Anda lakukan untuk mencegah eksploitasi 0 hari. Jika Anda memiliki perangkat lunak yang rentan, Anda memiliki perangkat lunak yang rentan - karena itu, satu-satunya tindakan adalah mengurangi dampak dan menyerang permukaan. Poin bagus tentang firewall, meskipun perlu diingat bahwa eksploitasi 0 hari untuk MS Outlook dapat dikirim melalui email, misalnya.
Dan
2
Yap, poin yang diambil tentang produk MS mail. Tetapi ada analogi dengan firewall untuk surat, misalnya siapa pun dengan semua VBscript, ActiveX, ekstensi tipe OLE dinonaktifkan akan melewatkan semua peretasan sepenuhnya, sangat tidak menyadari pembantaian ... ;-)
Tom H
1
+1 tetapi merujuk ke Aturan Perak 1 "Siapa pun yang berpikir masalahnya dapat diselesaikan dengan menggunakan kriptografi, tidak memahami masalahnya dan tidak memahami kriptografi." - Needham / Lampson;)
Kacang
@Peanut Saya suka kunci publik karena ia menghindari penggunaan kata sandi. Setelah intrusi teoretis, tidak perlu mengatur ulang kata sandi karena, tidak ada kata sandi untuk diatur ulang, dan hanya kunci publik yang dikompromikan. Bahkan basis data kata sandi hash dapat digunakan untuk memverifikasi, atau memecahkan akun secara offline.
Tom H
@TomH Komentar saya tidak jelas :) Menarik, jadi di sistem Anda agaknya server mengirim klien + data lain untuk ditandatangani dan klien menggunakan nama pengguna + data yang ditandatangani untuk masuk?
Kacang
16

Daftar putih, jangan daftar hitam

Anda sedang menggambarkan pendekatan daftar hitam. Pendekatan daftar putih akan jauh lebih aman.

Klub eksklusif tidak akan pernah mencoba membuat daftar semua orang yang tidak bisa masuk; mereka akan membuat daftar semua orang yang bisa masuk dan mengecualikan mereka yang tidak ada dalam daftar.

Demikian pula, mencoba mendaftar segala sesuatu yang seharusnya tidak mengakses mesin akan hancur. Membatasi akses ke daftar pendek program / alamat IP / pengguna akan lebih efektif.

Tentu saja, seperti yang lainnya, ini melibatkan beberapa pertukaran. Secara khusus, daftar putih sangat tidak nyaman dan membutuhkan pemeliharaan yang konstan.

Untuk melangkah lebih jauh dalam pengorbanan, Anda bisa mendapatkan keamanan yang hebat dengan memutuskan sambungan mesin dari jaringan.

Nathan Long
sumber
+1 Ini adalah tambahan yang bagus untuk jawaban Tom H.
Chad Harrison
1
Bahayanya adalah dalam aturan seperti itu tumbuh menjadi ukuran di mana ia tidak dapat dipahami, dipelihara, dijelaskan, diaudit. Yang mematikan.
rackandboneman
11

Deteksi Lebih Mudah (dan Lebih Andal) Daripada Pencegahan

Menurut definisi Anda tidak dapat mencegah serangan zero day. Seperti yang telah ditunjukkan orang lain, Anda dapat melakukan banyak hal untuk mengurangi dampak serangan zero day, dan Anda harus melakukannya, tetapi itu bukan akhir dari cerita.

Izinkan saya menunjukkan bahwa selain itu, Anda harus mencurahkan sumber daya untuk mendeteksi kapan serangan telah terjadi, apa yang dilakukan penyerang, dan bagaimana penyerang melakukannya. Pencatatan yang komprehensif dan aman atas semua kegiatan yang mungkin dilakukan oleh peretas akan membuatnya lebih mudah untuk mendeteksi serangan dan, yang lebih penting, menentukan kerusakan yang dilakukan dan perbaikan yang diperlukan untuk pulih dari serangan.

Dalam banyak konteks jasa keuangan, biaya keamanan dalam hal keterlambatan dan overhead dalam melakukan transaksi sangat tinggi sehingga lebih masuk akal untuk memfokuskan sumber daya pada mendeteksi dan membalikkan transaksi penipuan daripada mengambil langkah-langkah luas yang dirancang untuk mencegah mereka di tempat pertama. . Teorinya adalah bahwa jumlah tindakan tidak akan 100% efektif, sehingga mekanisme deteksi dan pembalikan perlu dibangun. Selain itu, pendekatan ini telah bertahan dalam ujian waktu.

Pro tua
sumber
1
+1 Yap, saya kira Anda tidak bisa menjawab jika Anda tidak tahu itu terjadi ... diberi kesempatan lain untuk menjawab saya mungkin akan terjebak dalam sesuatu tentang SANS 6 langkah ...
Tom H
+1, sangat benar. Pencegahan akan membutuhkan audit. Dan audit tidak dapat membuktikan bahwa suatu sistem tidak memiliki kesalahan.
Aki
@ Tom, Anda selalu dapat mengedit jawaban Anda.
Old Pro
4

Zero day tidak berarti bahwa tanda tangan tidak diketahui. Ini berarti bahwa tidak ada tambalan yang tersedia untuk pengguna perangkat lunak, yang menutup kerentanan. Jadi IPS berguna untuk melindungi dari mengeksploitasi kerentanan zero-day. Tetapi Anda tidak harus hanya mengandalkan itu. Membuat dan mengikuti kebijakan keamanan yang solid, mengeraskan server Anda, memperbarui perangkat lunak, dan selalu memiliki 'Paket B'

DukeLion
sumber
3

Grsecurity atau SELinux bagus dalam membantu mencegah serangan 0 hari dengan mengeraskan kernel.

Mengutip dari situs web "Hanya grsecurity yang memberikan perlindungan terhadap zero-day dan ancaman lanjutan lainnya yang memberi waktu berharga kepada administrator sementara perbaikan kerentanan membuat jalan keluar ke distribusi dan pengujian produksi."

h00j
sumber
2

Jika Anda menggunakan Apache, modul seperti mod_security dapat membantu Anda mencegah vektor serangan umum. Dengan mod_security Anda bisa

  • blokir permintaan yang tampak seperti serangan injeksi SQL
  • blokir klien yang alamat IPnya masuk daftar hitam di beberapa RBL
  • redirect permintaan ke tempat lain jika beberapa kondisi yang Anda tetapkan terpenuhi
  • blokir permintaan berdasarkan negara klien
  • mendeteksi & memblokir bot jahat umum secara otomatis

... dan masih banyak lagi. Tentu saja, menggunakan modul kompleks seperti mod_security sangat mungkin juga memblokir klien Anda yang sebenarnya, dan di sisi server mod_security menambahkan beberapa overhead.

Anda juga wajib memperbarui perangkat lunak server dan memastikan Anda telah menonaktifkan setiap modul & daemon yang tidak akan Anda gunakan.

Kebijakan firewall yang ketat adalah suatu keharusan dan dalam banyak kasus peningkatan keamanan tambahan seperti SELinux atau grsecurity mungkin menghentikan serangan.

Tapi, apa pun yang Anda lakukan, orang jahat sangat sabar, sangat kreatif dan sangat terampil. Punya rencana terperinci apa yang harus dilakukan ketika Anda diretas.

Janne Pikkarainen
sumber
1

Saya ingin menambahkan beberapa aturan perunggu:

  1. Jika terbuka, jangan jalankan apa yang tidak perlu dijalankan.

  2. Jangan menjadikan diri Anda target yang layak untuk serangan yang berdedikasi dan ditargetkan.

  3. Mengamankan terhadap serangan yang ditargetkan semacam itu mungkin seringkali tidak ekonomis / tidak praktis. Periksa siapa yang bisa memiliki minat serius untuk memecahkan apa dan mulai dari sana.

  4. Mempertimbangkan "meminimalkan informasi yang tersedia secara eksternal" dan "menjauh dari standar yang diketahui" sebagai tidak lebih dari keamanan oleh ketidakjelasan (sering disalahpahami sebagai "tidak berharga" sebagai kebalikan dari "lapisan yang dengan sendirinya tidak mencukupi") dan mengabaikannya adalah kesombongan yang berbahaya. Kunci yang dapat diretas di pintu tidak akan membuat si pencuri keluar, tetapi mungkin akan mencegah serigala.

pemeras
sumber
1

Mesin kembung dengan suite keamanan besar sering membuat PC yang biasa-biasa saja menjadi dinosaurus dan Quad Cores menjadi komputer lama yang biasa. Saya telah memperbaiki cukup (ribuan) untuk memahami bahwa sebagian besar benar. Jika Anda memahami tidak ada keamanan 100% dan biaya kinerja turun secara eksponensial sebagai keamanan sementara kemungkinan infeksi hanya turun secara linear. Sebagian besar hasil ketika saya berhenti melihat perbandingan adalah 90% maks pada tes dunia nyata dari ribuan risiko, yang berarti 10% dari infeksi tidak terdeteksi atau terlambat. sedangkan latensi PC telah meningkat 200 hingga 900%. OSX memiliki situasi yang ideal di mana itu penting tidak lebih baik dalam keamanan tetapi risiko serangan lebih kecil karena menjadi target yang lebih kecil dengan hanya 4% pangsa pasar di produk non-telepon / pad pada tahun 2010. Itu akan berubah tetapi saya tidak akan berubah filosofi saya menjaga OS saya bersih, ramping & kejam. Saya melakukan hal yang sama untuk XP dan Win7. Saya memiliki gudang alat perbaikan tetapi hanya perlu satu aplikasi untuk memperbaiki semua orang yang terinfeksi dan hanya membutuhkan waktu 10 hingga 20 menit bukan berjam-jam atau berhari-hari.

Metode saya yang berhasil;

  1. Mendidik pengguna, jangan klik peringatan keamanan kecuali Anda benar-benar tahu apa yang mereka lawan ratusan ROgues yang merupakan salinan karbon peringatan baik. Mereka yang tidak dapat dilatih dengan mudah mendapatkan akun non-admin dan browser kotak pasir dengan java dan JS dinonaktifkan. Tetapi jika saya mengaktifkannya untuk mereka, jangan khawatir, hanya 15 ~ 20 menit untuk memulihkan atau memperbaiki.

    1. SYstem Restore baik, tetapi memiliki banyak keterbatasan, salah satunya adalah item di folder Documents dan folder User Temp dilindungi di mana driver jahat dapat diinstal dan mulai dan menginfeksi Anda pada boot berikutnya.

    2. UAC berguna untuk banyak hal tetapi PITA sedemikian rupa sehingga saya tidak pernah menggunakan dan mengandalkan alat yang lebih baik untuk mendeteksi startup dan / atau proses baru, termasuk tetapi tidak terbatas pada;

      • Winpatrol.com masih merupakan investasi terbaik yang saya buat untuk keamanan dan masih gratis untuk orang lain. Ini mencakup 80% dari masalah di mana startup ditambahkan sebelum dieksekusi dan dapat dideteksi dan dinonaktifkan atau dihapus oleh pengguna prompt. Namun jika Anda adalah tipe orang yang cemas yang tidak dapat mengambil keputusan mengambil pil atau hanya menggunakan Windows Defender . Bukan yang terbaik untuk pertanggungan tetapi salah satu yang tertinggi untuk rasio bang / buck .. preteksi / kehilangan kinerja atau kenaikan rasio latensi.

      • Utilitas startup Mike Lin adalah pencegat teringan dari startup yang disimpan di lebih dari selusin lokasi registri

      • Script Guard adalah pencegat skrip yang berguna untuk skrip anak kecil

      • ProcessGuard program lama yang mati yang berfungsi seperti firewall untuk setiap exectuable baru, tetapi mengganggu Anda untuk disetujui, namun program ini aman dan miring setelah Anda menerima sumber tepercaya atau mengabaikan atau memblokir sumber yang tidak dipercaya.

      • Add-on Blacklist untuk browser Anda bagus seperti Web of trust (WOT) , tetapi Chrome memiliki bagian yang termasuk dalam cara yang serupa tetapi pada tingkat yang lebih kecil.

      • daftar hitam bisa menjadi besar untuk file HOSTS dan jika Anda menggunakan ini (> 1MB sangat besar ketika dipindai dalam potongan 4KB setiap 10 menit., tetapi jika Anda melakukannya, saya sangat menyarankan menonaktifkan layanan caching DNS untuk mengurangi pemindaian berkala yang redundan oleh setiap Aplikasi yang aktif dengan hadiah firewall.

      • Nonaktifkan Pengindeksan File jika Anda benar-benar tidak menggunakannya untuk email dan hal-hal lain, karena ini memunculkan suite AV Anda untuk memindai setiap file yang diakses setiap waktu, berulang-ulang .. betapa mubazirnya.

Beberapa mungkin mengambil pengecualian untuk daftar parsial ini dari atas kepala saya, tetapi saya menghemat waktu mengamankan PC saya dan beroperasi di lingkungan lean. Audit rutin untuk mengonfirmasi keamanan saya dilakukan pada malam hari membuktikan praktik bebas kekhawatiran saya dibenarkan. Saya masih memiliki seribu log HJT, log combofix.txt, dan Runscanner log untuk mendukung pendapat saya tentang penyembuhan dan keseimbangan keamanan / kinerja yang lebih baik.

  • Hindari pengunduhan / pemasangan file media Windows atau exe yang ceroboh yang dapat mengeksekusi scipts (mis. WMA, .WMV) tidak seperti .mp3 atau .avi.

  • Hindari semua iklan yang menargetkan tombol besar untuk mengunduh atau memperbarui keamanan Anda yang dapat mengalihkan perhatian Anda pada pembaruan gratis pada agregator unduhan seperti hippo dot com .. cnet tidak buruk. Berhati-hatilah. Beberapa situs menggunakan iklan pihak ketiga dan tidak memiliki kontrol konten.

  • Saya mendokumentasikan satu contoh sempurna dalam presentasi powerpoint 10 halaman, jika ada yang tertarik, tanyakan. Cara mudah mengabaikan iklan di atas dapat membuat Anda terinfeksi.

Semua untuk sekarang.

Tony Stewart EE sejak 1975.

Tony Stewart Sunnyskyguy EE75
sumber