Menjadi pencipta suatu program, Anda mungkin berada dalam posisi yang lebih baik daripada siapa pun untuk mengetahui kerentanan keamanan dan potensi peretasan. Jika Anda mengetahui kerentanan dalam sistem yang Anda tulis, apakah itu tanda bahwa peningkatan keamanan HARUS ditambahkan sebelum rilis, atau haruskah ini dievaluasi berdasarkan kasus per kasus untuk menentukan tingkat keparahan celah keamanan?
12
Jawaban:
Saya akan mengatakan itu harus dilakukan berdasarkan kasus per kasus. Anda adalah penulisnya, Anda tahu banyak lubangnya. Beberapa kerentanan mungkin hanya diketahui oleh Anda. Tentu saja itu berarti bahwa jika salah satu dari mereka dieksploitasi, Anda mungkin memiliki beberapa pertanyaan sulit untuk dijawab sehingga mungkin ide yang baik untuk mengurangi kerentanan ini jika memungkinkan. Yang lebih penting adalah jika seseorang dapat dengan mudah meretasnya sebagai sistem blackbox.
sumber
Saya pernah mengalami malapetaka berada dalam situasi dua kali. Bisnis dalam kedua kasus itu mengeluarkan produk dengan masalah keamanan serius dengan data yang sangat sensitif.
Dalam kedua kasus itu, bisnis itu tampaknya tidak peduli, meskipun upaya terbaik saya untuk membuat mereka sadar akan risiko yang mereka ambil.
Satu-satunya hal yang dapat Anda lakukan adalah memprotes dengan keras * (dan secara profesional) mungkin, sejelas mungkin tentang konsekuensi yang mungkin terjadi, dan saat Anda melakukan itu, dokumentasikan semuanya . Cetak email Anda yang relevan ke PDF dan simpan file-file itu di rumah, atau bcc alamat email pribadi Anda, atau bagaimanapun Anda melakukannya. Ini adalah satu-satunya solusi ketika sesuatu yang buruk tak terhindarkan terjadi.
Anda akan berharap bahwa manajemen akan menghormati Anda untuk saran teknis Anda, dan memperhitungkannya tetapi sayangnya, Anda harus menghormati siapa pun pembuat keputusan pada akhir hari. Keputusan bisnis yang buruk dibuat setiap hari.
Sunting: jasonk menyebutkan "Harap berhati-hati BCC alamat rumah Anda", dan saya sangat setuju. Tolong jangan melanggar kebijakan perusahaan, dan berisiko menempatkan kerentanan keamanan lebih terbuka daripada yang sudah ada.
sumber
Saya berpendapat sebaliknya - sebagai pencipta, Anda sering terlalu dekat dengan kode untuk melihat kerentanan.
Jika Anda tahu atau diberi tahu tentang kerentanan, mereka seperti bug lainnya - evaluasi, prioritaskan, lalu perbaiki.
sumber
Saya pikir jawabannya tergantung pada tingkat kerusakan yang akan terjadi jika sistem dikompromikan oleh peretas jahat. Jelas seorang insinyur sipil tidak dapat menyetujui desain jembatan yang tidak aman dengan hati nurani yang baik. Pembangunan jembatan semacam itu dapat mengakibatkan cedera atau kematian. Itu juga akan ilegal bagi insinyur untuk secara sadar melakukan ini, tetapi fakta bahwa insinyur perangkat lunak (setidaknya di AS) tidak terikat secara hukum dengan cara yang sama tidak membebaskan mereka dari tugas profesional untuk mengambil sikap terhadap sistem yang salah. Sayangnya, perusahaan Anda mungkin tidak memerlukan tanda tangan Anda untuk merilis perangkat lunak.
Anda tidak menentukan sifat pasti dari sistem yang sedang Anda kerjakan. Jika itu terkait dengan rekam medis, perbankan, kontrol lalu lintas udara, atau infrastruktur lain yang sangat penting, saya akan mengatakan Anda akan dibenarkan dalam bersikeras pada tingkat keamanan tertinggi yang mungkin sebelum rilis.
sumber
Ya, Anda HARUS memperbaikinya sebelum rilis. Jangan pernah meremehkan kecerdikan seorang hacker. Apakah Anda akan pergi berlibur selama seminggu dengan pintu belakang Anda terbuka lebar? Apakah alasan Anda,
"Oh itu ada di belakang dan tidak menghadap ke jalan secara langsung. Tidak ada yang akan melihatnya terbuka lebar .."
Mungkin tidak.
Tapi saya mengerti hari ini dengan PM yang tidak mengerti bagaimana tanggal rilis paling suci lebih penting daripada masalah kewajiban yang berpotensi besar dengan keamanan. Jika ini adalah kasus Anda, maka saya sarankan memanggilnya untuk diperhatikan, mencatat masalah tersebut, pastikan itu terdokumentasi dengan baik, diketahui dengan baik dan risikonya jelas dan biarkan PM memutuskan apa yang harus dilakukan.
Jika PM membuat keputusan yang buruk dan memutuskan untuk mengabaikan ini dan teruskan dengan jadwal tepat maka Anda dibebaskan dari tanggung jawab karena Anda meniup peluit.
Kalau tidak, jika Anda menemukan ini dan menyimpannya untuk diri Anda sendiri dan sesuatu terjadi maka ANDA dapat secara pribadi bertanggung jawab atas konsekuensinya.
Pilihan ada padamu.
sumber