Sebuah projek penyumberan luar perisian telah mendedahkan bahaya penyelesaian keselamatan buatan sendiri apabila pasukan pembangunan luar negara mencipta perlindungan SQL injection mereka sendiri yang secara tidak sengaja menyekat pengguna dengan nama-nama biasa tertentu. Insiden ini menyerlahkan kebimbangan yang semakin meningkat mengenai kualiti dan risiko keselamatan yang berkaitan dengan kerja pembangunan luar pesisir.
Pendekatan Keselamatan Yang Cacat
Daripada mengikuti amalan standard industri untuk mencegah serangan SQL injection, pasukan luar negara tersebut membangunkan sistem penapisan tersuai yang mengimbas input pengguna untuk kata kunci SQL yang mencurigakan. Penyelesaian mereka menyekat sebarang teks yang mengandungi perkataan seperti select, update, delete, dan yang penting sekali, set - yang menjelaskan mengapa pengguna bernama Seth tidak dapat menggunakan sistem tersebut. Begitu juga, Amanda dan George disekat kerana nama mereka mengandungi and dan or masing-masing, kedua-duanya merupakan operator SQL biasa yang ditandakan oleh penapis sebagai berbahaya.
SQL injection adalah sejenis serangan siber di mana kod berniat jahat dimasukkan ke dalam pertanyaan pangkalan data melalui medan input pengguna.
Nama-nama yang Disekat dan Sebab-sebabnya:
- Seth → Mengandungi "set" (kata kunci SQL)
- Amanda → Mengandungi "and" (operator SQL)
- George → Mengandungi "or" (operator SQL)
Mengapa Penyelesaian Yang Betul Penting
Komuniti pembangunan menekankan bahawa jenis penapisan berasaskan kata kunci ini mewakili salah faham asas mengenai prinsip keselamatan. Aplikasi moden sepatutnya menggunakan kenyataan berparameter atau pertanyaan yang disediakan, yang memisahkan data pengguna daripada arahan SQL sepenuhnya. Pendekatan ini menghapuskan keperluan untuk penapisan yang kompleks sambil memberikan perlindungan yang jauh lebih kuat terhadap serangan.
Pendekatan penapis tersuai menunjukkan apa yang pakar keselamatan panggil sebagai membetulkan dari luar dan bukannya menangani punca masalah. Ini mewujudkan rasa selamat yang palsu sambil memperkenalkan masalah baru, seperti yang dibuktikan oleh diskriminasi terhadap pengguna dengan nama-nama tertentu.
Kata Kunci SQL yang Ditapis oleh Sistem yang Cacat:
- Operasi pangkalan data: create, database, table, insert, update, delete, drop, truncate
- Operasi pertanyaan: select, where, or, and, values, set
- Operasi lain: rename, replace, handler
Kos Tersembunyi Pembangunan Murah
Kes kajian ini mencerminkan isu yang lebih luas dengan penyumberan luar kerja pembangunan berdasarkan terutamanya kepada penjimatan kos. Walaupun pasukan luar negara mengenakan bayaran kurang daripada separuh kadar setiap jam pembangun dalaman, mereka akhirnya mengebil lebih daripada tiga kali ganda jam yang dianggarkan. Projek tersebut memerlukan kerja tambahan yang meluas daripada pasukan pembangunan asal untuk mengenal pasti dan membetulkan masalah-masalah tersebut.
Orang kedekut membayar dua kali ganda. Saya syak bahawa kos projek 'luar negara' ini boleh dengan mudahnya menelan kos 20 kali ganda daripada harga rendah yang diiklankan.
Insiden ini menggariskan bahawa penyumberan luar yang berjaya memerlukan lebih daripada sekadar kadar setiap jam yang lebih rendah. Ia memerlukan komunikasi yang jelas, pengawasan teknikal yang betul, dan pembangun yang memahami prinsip keselamatan asas. Apabila elemen-elemen ini tiada, penjimatan kos yang sepatutnya boleh dengan cepat bertukar menjadi kegagalan mahal yang memerlukan pengerjaan semula yang lengkap.
Impak Kos Projek:
- Kadar setiap jam luar negara: Kurang daripada 50% berbanding pembangun dalaman
- Pengebilan sebenar: 3 kali ganda daripada anggaran jam
- Penyelesaian akhir: Memerlukan campur tangan pasukan dalaman
Pengajaran Untuk Projek Masa Depan
Kisah ini berfungsi sebagai peringatan bahawa keselamatan tidak boleh menjadi renungan kemudian atau sesuatu yang perlu diimprovisasi. Sama ada bekerja dengan pasukan dalaman atau kontraktor luaran, organisasi perlu memastikan bahawa amalan keselamatan asas difahami dan dilaksanakan dengan betul dari awal. Kos untuk membetulkan masalah keselamatan selepas fakta - dari segi wang dan pengalaman pengguna - jauh melebihi pelaburan dalam melakukan perkara dengan betul pada mulanya.
Rujukan: INJECTION REJECTION