Sebuah penemuan yang mencengangkan dari peneliti keamanan Ian Carroll dan Sam Curry menunjukkan bahwa sistem keamanan bandara milik pemerintah Amerika Serikat rentan terhadap serangan SQL injection. Menurut laporan dari ian.sh, celah kritis ini ditemukan di FlyCASS, sebuah sistem yang digunakan oleh Transportation Security Administration (TSA) untuk mengelola program Known Crewmember (KCM) dan Cockpit Access Security System (CASS). Temuan ini memungkinkan penyerang untuk melewati pemeriksaan keamanan bandara sepenuhnya dan bahkan mengakses cockpit pesawat komersial.
Program Known Crewmember (KCM) adalah inisiatif TSA yang memungkinkan pilot dan pramugari melewati pemeriksaan keamanan saat bepergian domestik untuk keperluan pribadi. Prosesnya sederhana: karyawan menggunakan jalur khusus, menunjukkan barcode KCM atau memberikan nomor karyawan dan maskapai kepada petugas TSA. Petugas kemudian memverifikasi status kepegawaian melalui laptop yang terhubung ke sistem maskapai. Jika berhasil, karyawan dapat masuk ke area steril tanpa pemeriksaan sama sekali. Sistem serupa, CASS, digunakan untuk memverifikasi pilot yang mengakses cockpit melalui jumpseat.
ARINC, anak perusahaan Collins Aerospace, dikontrak oleh TSA untuk mengoperasikan sistem Known Crewmember. ARINC berfungsi sebagai hub yang merutekan permintaan verifikasi antara TSA dan berbagai maskapai. Saat ini ada 77 maskapai yang berpartisipasi dalam KCM. Maskapai besar kemungkinan membangun sistem mereka sendiri, tetapi bagaimana dengan maskapai kecil? Di sinilah FlyCASS.com masuk, menawarkan antarmuka web untuk sistem CASS kepada maskapai-maskapai kecil.
Dalam investigasi mereka, Carroll dan Curry menemukan bahwa setiap maskapai memiliki halaman login terpisah di FlyCASS. Ketika mereka mencoba memasukkan single quote di field username, sistem langsung mengembalikan error MySQL. Ini adalah tanda bahaya yang jelas bahwa input pengguna langsung diinterpolasi ke dalam query SQL tanpa sanitasi. Menggunakan sqlmap untuk konfirmasi, mereka berhasil mengeksploitasi SQL injection dengan payload \' or \'1\'=\'1 di username dan \) OR MD5(\'1\')=MD5(\'1 di password. Hasilnya? Mereka login sebagai administrator Air Transport International.
Yang lebih mengejutkan, FlyCASS juga mengoperasikan KCM dan CASS untuk maskapai yang berpartisipasi. Sebagai administrator, mereka dapat mengelola daftar pilot dan pramugari tanpa adanya verifikasi tambahan. Tidak ada check atau autentikasi lebih lanjut untuk menambahkan karyawan baru. Mereka langsung membuat karyawan fiktif bernama Test TestOnly dengan foto pilihan mereka sendiri dan mengotorisasi akses KCM serta CASS. Query ke sistem menunjukkan bahwa pengguna test ini telah disetujui untuk menggunakan kedua sistem tersebut.
Ini berarti siapa pun dengan pengetahuan dasar SQL injection dapat login ke situs tersebut dan menambahkan siapa pun ke daftar KCM dan CASS. Implikasinya sangat serius: kemampuan untuk melewati pemeriksaan keamanan bandara dan mengakses cockpit pesawat komersial. Carroll dan Curry segera memulai proses responsible disclosure. Pada 23 April 2024, mereka melaporkan temuan ke Department of Homeland Security (DHS) melalui CISA. DHS mengakui masalah tersebut dan mengonfirmasi bahwa mereka menganggapnya sangat serius. FlyCASS kemudian diputuskan dari KCM/CASS dan masalahnya tampaknya telah diperbaiki.
Namun, proses disclosure mengalami hambatan. Setelah masalah diperbaiki, DHS berhenti merespons komunikasi dari para peneliti. Kantor pers TSA bahkan mengeluarkan pernyataan yang secara berbahaya salah, menyangkal bahwa kerentanan tersebut dapat digunakan untuk mengakses checkpoint KCM. Alasan mereka? TSA melakukan proses vetting sebelum menerbitkan barcode KCM. Masalahnya, barcode KCM tidak diperlukan untuk menggunakan checkpoint KCM karena petugas TSO dapat memasukkan nomor karyawan maskapai secara manual. Setelah para peneliti memberitahu TSA, bagian FAQ di website mykcmsupport.com yang menyebutkan input manual dihapus tanpa tanggapan koreksi.
Serangan tambahan juga dimungkinkan. Karena kerentanan memungkinkan pengeditan anggota KCM yang sudah ada, penyerang dapat mengubah foto dan nama pengguna yang terdaftar, yang kemungkinan besar akan melewati proses vetting. Selain itu, jika penyerang memperoleh barcode KCM yang belum terdaftar, mereka dapat mendaftarkannya sendiri ke nomor karyawan di website KCM.
Bagi para developer dan profesional keamanan di Indonesia, kasus ini adalah reminder bahwa even critical infrastructure yang menyangkut keselamatan nasional dapat memiliki basic vulnerabilities seperti SQL injection. Sanitasi input dan parameterized queries adalah fundamental security practices yang tidak boleh diabaikan, terlepas dari seberapa penting atau sensitif sistem tersebut. Lebih dari itu, proses disclosure yang tidak transparan dan pernyataan menyesatkan dari pihak berwenang menunjukkan bahwa respons terhadap kerentanan keamanan seringkali menjadi isu politik dan birokratis, bukan sekadar teknis.
Source: ian.sh
Dapatkan feedback, users, dan eksposur dari komunitas kreator, developer, dan entrepreneur digital Indonesia.
Submit Produk → Pelajari Dulu