Haruskah Anda merilis sesuatu yang bisa Anda retas sendiri?

12

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?

Morgan Herlocker
sumber
7
Tentu, NSA melakukan ini sepanjang waktu :)
Jaap
3
@ Jaap: NSA dituduh ini sepanjang waktu. Dalam satu kasus saya mengetahui di mana orang menemukan apa yang sebenarnya terjadi, bahwa menjadi standar enkripsi DES, ternyata modifikasi NSA sebenarnya membuat enkripsi lebih kuat , bukan lebih lemah, membuatnya lebih kecil kemungkinannya diretas oleh suatu teknik. yang belum ditemukan oleh siapa pun kecuali NSA, karena mereka tahu bahwa orang lain pada akhirnya akan mengetahuinya.
Mason Wheeler
6
@MasonWheeler Saya pikir acara baru-baru ini telah membuat komentar Anda, di sini mulai 2012, ketinggalan zaman.
aceinthehole

Jawaban:

6

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.

FrustratedWithFormsDesigner
sumber
3
Saya hanya berharap saya tahu semua lubang dalam perangkat lunak yang saya tulis. Lalu saya bisa memanfaatkan itu untuk menemukan semua bug, dan akan jauh lebih mudah untuk mendapatkan barang yang ditulis dengan benar.
David Thornley
1
@ David: Oke, banyak ...
FrustratedWithFormsDesigner
31

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.

lubang di lubang
sumber
21
+1 untuk DOKUMEN SEGALA SESUATU !!! Ketika bencana besar terjadi dan pekerjaan manajer ada di jalur, ia akan melakukan APA SAJA untuk mengalihkan kesalahan dengan cara APAPUN yang mereka bisa. Jika Anda mendokumentasikan masalah, email, pemberitahuan, memo, dan dokumentasi lain yang terkait dengan keputusan tersebut, maka Anda melindungi diri Anda dari situasi yang buruk.
maple_shaft
11
Af cking-men. Siapa pun yang cukup curang untuk secara sengaja mengirimkan produk yang cacat serius dapat, dan akan, melakukan * apa pun untuk menghindari peluru akhirnya.
Peter Rowell
Harap berhati-hati BCC alamat rumah Anda.
jasonk
2
@jasonk: Mengapa Anda mengatakan itu? BCC berarti penerima lain tidak dapat melihatnya ...
Mason Wheeler
3
@ Alasan: Penerima tidak bisa, tetapi TI bisa, dan jika Anda mengirim informasi sensitif (yang paling pasti kerentanan keamanannya) di luar kantor, Anda cenderung masuk ke dunia yang terluka.
Eclipse
12

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.

DaveE
sumber
+1: Anda tahu cara kerja program saya dan sampai batas tertentu hanya berpikir untuk menggunakannya seperti itu. Memiliki seseorang yang tidak tahu cara "benar" untuk menggunakan program ini adalah salah satu tes terbaik yang dapat Anda lakukan.
unholysampler
Sebagai seseorang yang relatif baru untuk QA, saya datang ke pekerjaan mengharapkan bug "cacat keamanan" dipenuhi dengan gravitasi yang ekstrim. Tetapi saya telah menemukan bahwa label "keamanan" tidak selalu merupakan kebutuhan untuk respons nol toleransi. Beberapa perusahaan sangat senang mengambil risiko keamanan jika kerentanan tersebut tampaknya tidak membahayakan reputasi merek, atau menawarkan sedikit peretas untuk memperoleh, dan rilis di masa mendatang cenderung menyertakan perbaikan (atau perubahan fitur).
Greg Gauthier
4

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.

PeterAllenWebb
sumber
+1 Untuk konteks, saya akan menambahkan bahwa data apa pun yang mencakup nomor jaminan sosial, nomor identifikasi, atau nomor kartu kredit juga harus memperhatikan keamanan. Sistem yang tidak menyimpan informasi ini dan bukan sistem yang kritis memiliki data risiko rendah dan Anda tidak perlu terlalu khawatir tentang keamanan.
maple_shaft
3

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.

maple_shaft
sumber
4
Di AS, setidaknya, itu bukan masalah kewajiban yang berpotensi besar, karena kira-kira tidak ada perangkat lunak yang dilengkapi dengan jaminan apa pun. Perangkat lunak perangkat medis merupakan pengecualian, dan mungkin ada yang lain, tetapi sebagian besar perangkat lunak dan layanan berbasis perangkat lunak pada dasarnya didasarkan pada "tidak ada jaminan".
David Thornley
1
Tidak ada jaminan Mengapa Anda tidak memberi tahu itu kepada jutaan pelanggan Sony yang nomor keamanan sosialnya dan data sensitif lainnya dicuri karena secara tepat lubang keamanan seperti yang disarankan OP.
maple_shaft
2
Meskipun David benar, kurangnya tanggung jawab sipil yang dapat ditegakkan mungkin merupakan kenyamanan yang dingin ketika reputasi perusahaan Anda hancur, atau perusahaan kecil Anda secara hukum dihilangkan keberadaannya oleh perusahaan yang lebih besar.
PeterAllenWebb
@maple_shaft: Dan kewajiban apa yang dimiliki Sony? Mereka telah menawarkan satu tahun layanan perlindungan kredit, tapi saya rasa mereka tidak memiliki kewajiban hukum. Ini adalah hit bagi reputasi mereka, tetapi mereka telah bertahan seperti itu sebelumnya.
David Thornley
1
@Rory: Mari kita lihat dua tahun dari sekarang. Saya ingin berpikir bahwa kegagalan rootkit, penghapusan OtherOS yang sewenang-wenang, dan kebocoran ini akan membuat Sony kurang populer dalam jangka panjang, tetapi saya sama sekali tidak percaya diri.
David Thornley