Studi Tentang Web Race Condition Sebagai Acuan Pembuatan Sebuah Modul Praktikum
DOI:
https://doi.org/10.56706/ik.v15i1.4Keywords:
aplikasi web, locking, modul praktikum, one-group pretest-posttest, race condition, TOCTOUAbstract
Serangan race condition dapat dilakukan pada aplikasi yang berjalan secara paralel maupun aplikasi sekuensial. Race condition pada aplikasi web dapat memberikan dampak yang merugikan, namun studi terkait race condition pada web masih terbilang minim. Pada penelitian ini, dilakukan serangan race condition pada aplikasi sekuensial berupa aplikasi transaksi perbankan sederhana yang memiliki sebuah basis data. Serangan dilakukan dengan mengirimkan shell script yang berisi perintah curl secara paralel. Dengan menggunakan konsep time-of-check time-of-use (TOCTOU), serangan berhasil mengeksploitasi delay waktu dan menyebabkan aplikasi menghasilkan output yang tidak sesuai. Aplikasi kemudian diberikan mitigasi berupa table-level locking dan row-level locking. Hasil studi kemudian dijadikan suatu modul praktikum untuk membantu mahasiswa memahami bagaimana cara kerja web race condition dan langkah mitigasinya. Modul disimulasikan dengan menggunakan metode pre-eksperimen one-group pretest-posttest. Hasil simulasi menunjukkan bahwa simulasi berhasil meningkatkan pemahaman mahasiswa mengenai race condition pada web.
References
OWASP. Testing for Race Conditions
(OWASP-AT-010). [Online]. www.owasp.org/index.php/Testing_for_Race_ Conditions_(OWASPAT-010)
M. Abadi, C. Flanagan, and S. N. Freund, "Types for Safe Locking," ACM Transactions on Programming Languages and Systems, pp. 207-255, 2006.
B. Petrov, M. Vechev, M. Sridharan, and J. Dolby, "Race Detection for Web Applications," ACM SIGPLAN Notices, pp. 251-262, 2012.
J. Franjković. (2015) Race conditions on
Facebook, DigitalOcean and others (fixed). [Online]. https://josipfranjkovic.blogspot.com/2015/04/ra ce-conditions -on-facebook.html
K. Sathiyamurthy, S. A. Sophia, A. Asthalatha, and P. Sujitha, "Automated Reasoning Tool for the Detection of Race Conditions of Web Services," International Conference on Computational Intelligence and Multimedia Applications (ICCIMA 2007) , 2007.
C. Flanagan and S. N. Freund, "FastTrack," Communications of the ACM, 2010.
N. J. Salkind, Encyclopedia of Research Design. Los Angeles, California: SAGE, 2010.
R. F. Baumeister, "Writing a Literature Review," in The Portable Mentor. New York: Kluwer Academic/Plenum Publishers, 2012, pp. 119-132.
R. J. van Emous, "Towards Systematic Black-box Testing for Exploitable Race," Master's Thesis, University of Twente, 2019.
D. Stenberg, Everything curl.: Alibris UK, 2018.
Wenliang Du. (2016) SEED Labs - Race Condition Vulnerability Lab. [Online]. http://www.cis.syr.edu/~wedu/seed/Labs_12.04 /Software/Race_Condition/
R. Paleari, D. Marrone, D. Bruschi, and M. Monga, "One Race Vulnerabilities in Web Applications," Detection of Intrusions and Malware, and Vulnerability Assessment Lecture Notes in Computer Science, pp. 126-142, 2008.
Jim Gray and Andreas Reuter, Distributed Transaction Processing: Concepts and Techniques.: Morgan Kauffman, 1993.
MySQL 8.0 Reference Manual : 13.3.6 LOCK TABLES and UNLOCK TABLES Statements. [Online]. https://dev.mysql.com/doc/refman/8.0/en/lock-tables.html