KONTRIBUSI REGULER
Abstrak
Peretasan situs web adalah jenis serangan yang sering digunakan oleh pelaku jahat untuk mendapatkan informasi rahasia, mengubah integritas halaman
web, atau membuat situs web tidak tersedia. Alat yang digunakan oleh penyerang menjadi semakin otomatis dan canggih, dan agen pembelajaran mesin
berbahaya tampaknya menjadi pengembangan berikutnya di baris ini. Untuk memberikan peretas etis dengan alat serupa, dan untuk memahami dampak
dan keterbatasan agen buatan, kami menyajikan dalam makalah ini sebuah model yang memformalkan tugas peretasan web untuk agen pembelajaran
penguatan. Model kami, bernama Agen Web Model, menganggap peretasan web sebagai tantangan gaya menangkap bendera, dan mendefinisikan masalah
pembelajaran penguatan pada tujuh tingkat abstraksi yang berbeda.
Kami membahas kompleksitas masalah ini dalam hal tindakan dan status yang harus dihadapi agen, dan kami menunjukkan bahwa model seperti itu
memungkinkan untuk mewakili sebagian besar kerentanan web yang relevan. Sadar bahwa pendorong kemajuan dalam pembelajaran penguatan adalah
ketersediaan tantangan standar, kami menyediakan implementasi untuk tiga lapisan abstraksi pertama, dengan harapan komunitas akan mempertimbangkan
tantangan ini untuk mengembangkan agen peretasan web yang cerdas.
Kata Kunci Model Web Agen · Pengujian penetrasi · Menangkap bendera · Pembelajaran penguatan
B László Erdÿodi
laszloe@ifi.uio.no Selain itu, banyak pemindai web dirancang hanya untuk mendeteksi
Fabio Massimo Zennaro kerentanan, tetapi tidak untuk mengeksploitasinya. Alat khusus dapat
fabiomz@ifi.uio.no digunakan untuk mengeksploitasi kerentanan yang ditargetkan dengan
peluang keberhasilan yang moderat [9], dan dengan demikian memajukan
1
Departemen Informatika, Universitas Oslo, 0316 Oslo, pemahaman tentang keamanan keseluruhan sistem yang sedang dipelajari.
Norway
123
Machine Translated by Google
Teknik pembelajaran mesin (ML) yang ditujukan untuk memecahkan tantangan akan mempromosikan dan memajukan penelitian dalam
masalah melalui pembelajaran dan inferensi sekarang sedang diadopsi pengembangan bot merah otomatis yang dapat membantu dalam tugas-tugas
di banyak bidang, termasuk keamanan [39]. Mengikuti kesuksesan mereka pengujian penetrasi.
dalam tugas-tugas yang menantang seperti pengenalan gambar [22] atau Model Web Agen dalam makalah ini menyediakan cara untuk
pemrosesan bahasa alami [41], model jaringan saraf dalam yang diawasi menguraikan masalah pemodelan peretasan web menjadi tingkat abstraksi
telah diadopsi untuk mengatasi masalah terkait keamanan yang berbeda dengan meningkatnya kompleksitas. Dengan ini
masalah dalam konteks statis, seperti deteksi kerentanan program [32] atau dekomposisi, kami berharap dapat membuat langkah penting menuju
deteksi nama domain berbahaya [23]. formalisasi dan implementasi web berbasis ML
Namun, jaringan saraf dalam yang dirancang untuk memecahkan masalah agen peretas dari dua sudut pandang: pertama, dengan menyediakan
statis yang mengeksploitasi kumpulan contoh data yang besar tidak sesuai peta jalan tentatif potensi masalah dengan meningkatnya
ke masalah penetrasi yang lebih kompleks dan dinamis kompleksitas yang harus dipecahkan untuk mengembangkan agen peretasan
pengujian. Sub-bidang ML yang mungkin menawarkan lebih relevan web; dan, kedua, dengan menyarankan Agen Web
paradigma untuk mengatasi masalah seperti pengujian web, adalah Model sebagai antarmuka yang memungkinkan peneliti di komputer
memperkuat pembelajaran. Memang, metode pembelajaran penguatan memungkinkan
keamanan dan pembelajaran mesin untuk berinteraksi dengan lancar dalam
agen untuk belajar dengan sendirinya dalam lingkungan yang dinamis dan definisi masalah dan dalam penyebaran agen RL.
kompleks dengan trial and error dan inferensi. Sukses dalam menantang Makalah ini disusun sebagai berikut. Bagian 2 menyajikan
game seperti Go [37] atau Starcraft II [42] menunjukkan bahwa konsep utama yang terkait dengan peretasan dan penguatan web
algoritma akan segera menemukan penggunaan di dunia pengujian penetrasi. sedang belajar. Bagian 3 membahas bagaimana masalah umum dari
Baru-baru ini, beberapa aplikasi ML dan penguatan peretasan web dapat dikurangi, melalui serangkaian langkah formalisasi,
pembelajaran dalam konteks keamanan ofensif dikembangkan. menjadi masalah pembelajaran penguatan. Bagian 4
Di sisi peretas topi putih, DARPA diselenggarakan pada tahun 2016 menjelaskan model kami sendiri untuk masalah peretasan web dan
Cyber Grand Challenge untuk pengujian penetrasi otomatis [13]. Di sisi menggambarkan contoh masalah pada tingkat abstraksi yang berbeda.
peretas topi hitam, bot jahat adalah Bagian 5 menjelaskan bagaimana masalah peretasan di dunia nyata
disediakan dengan lebih banyak fungsi pembelajaran. dapat dipetakan ke Model Web Agen. Bagian 6 memberikan beberapa
Motivasi utama di balik penelitian saat ini adalah untuk perincian tentang implementasi berdasarkan tantangan
memahami dan menganalisis perilaku agen peretasan web berbasis ML. pada formalisasi kami. Akhirnya, Sek. 7 membahas beberapa etika
Karena tidak dapat dihindari bahwa AI dan ML akan pertimbangan tentang pekerjaan ini, dan Sect. 8 menarik kesimpulan dan
diterapkan dalam keamanan ofensif, mengembangkan pemahaman yang mengilustrasikan kemungkinan arah untuk pekerjaan di masa depan.
baik tentang karakteristik utama dan keterbatasan alat tersebut
akan sangat membantu untuk bersiap menghadapi serangan semacam itu.
Selain itu, agen peretasan web otonom semacam itu akan berguna untuk 2 Latar Belakang
hacker topi putih manusia dalam melakukan penetrasi hukum
menguji tugas dan mengganti yang padat karya dan mahal 2.1 Peretasan web
pekerjaan ahli manusia.
Namun, mengembangkan peretasan web yang sepenuhnya otonom Layanan Internet paling terkenal dan populer, Dunia
agen adalah masalah yang sangat kompleks. Mengganti manusia Wide Web (WWW), telah berjalan selama bertahun-tahun [4].
ahli dengan pengalaman pengujian penetrasi bertahun-tahun tidak bisa Sejak penemuannya pada tahun 1989, telah mengalami banyak
dilakukan dalam satu langkah. Makalah ini bertujuan untuk mendorong ini perkembangan, dan saat ini merupakan salah satu layanan yang paling kompleks
arah penelitian dengan mempelajari cara di mana masalah pengujian di internet. Protokol HTTP [11] yang digunakan oleh web ini
penetrasi dapat dimodelkan dan diuraikan layanan telah dibuat untuk komunikasi dalam klien-
menjadi masalah yang lebih sederhana yang dapat diselesaikan oleh agen model server. Klien web, biasanya browser web, mengirim
pembelajaran penguatan yang terlatih. Upaya pemodelan kami mengikuti dua: permintaan HTTP ke server web; server web, pada gilirannya,
petunjuk: pertama-tama kami memeriksa formalisasi masalah peretasan web menjawab dengan respons HTTP. Pesan HTTP terdiri dari:
menggunakan model standar, dan kemudian, kami membahas dari tiga bagian utama: Uniform Resource Locator (URL),
abstraksi contoh nyata dari masalah peretasan web referensi objek yang diminta; header HTTP, berisi informasi tentang status
dalam model kami. Kami menyebut model generik kami Agen komunikasi; dan
Model Jaringan. Sadar bahwa pendorong yang kuat dan efektif untuk Badan HTTP, berisi muatan komunikasi.
pengembangan agen pembelajaran penguatan baru dan sukses adalah Badan permintaan mungkin berisi parameter POST yang dikirim oleh
ketersediaan tantangan standar dan klien, sedangkan badan jawaban biasanya berisi yang terpanjang
tolok ukur, kami menggunakan formalisasi kami untuk mengimplementasikan seri bagian dari pesan, yaitu konten halaman web dalam format Hypertext Markup
tantangan pada tingkat abstraksi yang berbeda dan dengan Language (HTTP).
meningkatnya kompleksitas. Kami membuat tantangan ini tersedia Komunikasi web didefinisikan dengan baik oleh standar HTTP. Pada
mengikuti standar lapangan. Harapan kami adalah ini waktunya, karena tingginya jumlah komponen
123
Machine Translated by Google
Model Web Agen: memodelkan peretasan web untuk pembelajaran penguatan 295
berpartisipasi dalam komunikasi web, protokol web menjadi semakin 2.3 Pembelajaran penguatan
kompleks, membuka ruang untuk berbagai kerentanan [44]. Kerentanan
dapat dieksploitasi di sisi klien, di sisi server, atau dengan mengorbankan Pembelajaran penguatan (RL) adalah sub-bidang pembelajaran mesin
saluran komunikasi. Misalnya, serangan terhadap sisi server menggunakan yang berfokus pada pelatihan agen di lingkungan tertentu [40]. Dalam
protokol HTTP dapat menargetkan pengaturan server web, skrip sisi lingkungan seperti itu, agen diberi kemungkinan untuk memilih tindakan
server, atau sumber daya lain seperti file lokal atau catatan basis data. dari serangkaian tindakan yang tersedia.
Menggunakan protokol web dengan demikian dapat mengekspos Setelah melakukan suatu tindakan, mereka dapat mengamati konsekuensi
beberapa titik lemah yang dapat ditargetkan oleh aktor jahat. Jenis dari tindakan mereka, baik dalam hal efek pada lingkungan, dan dalam
serangan dapat bervariasi, tetapi dapat dikategorikan menurut triplet hal sinyal penghargaan yang menentukan seberapa baik atau diinginkan
keamanan informasi. hasil dari tindakan itu. Tujuan dari RL adalah untuk menentukan algoritma
yang memungkinkan agen untuk mengembangkan kebijakan tindakan
Beberapa serangan bertujuan untuk memecahkan kerahasiaan dengan yang mengarah ke hadiah setinggi mungkin pada waktunya.
mengakses informasi sensitif atau rahasia; lainnya bertujuan untuk
merusak integritas, baik untuk menyebabkan kerusakan dan gangguan Masalah RL mungkin sangat menantang, karena ruang tindakan untuk
atau sebagai langkah persiapan sebelum melakukan tindakan lebih lanjut; agen mungkin besar, lingkungan mungkin stokastik dan non-stasioner,
dan, akhirnya, serangan dapat menargetkan ketersediaan layanan, dan sinyal hadiah mungkin jarang. Namun, terlepas dari kesulitan tersebut,
misalnya, membebani layanan web dengan banyak permintaan untuk RL telah terbukti berhasil mengatasi berbagai masalah, seperti menguasai
menyebabkan penolakan layanan (DOS). permainan [26,37] atau mengendarai kendaraan otonom [35]. Kemampuan
untuk belajar di lingkungan belajar yang kompleks, seperti Starcraft II [42],
mencerminkan jenis pembelajaran yang diharapkan dilakukan oleh agen
peretasan web. Algoritma RL kemudian dapat menawarkan cara untuk
2.2 Tangkap bendera melatih agen buatan yang mampu melakukan pengujian penetrasi yang
berarti.
Tantangan Capture The Flag (CTF) adalah kompetisi yang dirancang
untuk menawarkan platform kepada peretas etis untuk belajar tentang
pengujian penetrasi dan melatih keterampilan mereka [25]. CTFs diatur 2.4 Pekerjaan terkait
sebagai serangkaian tantangan peretasan yang diformalkan dengan baik
dan terdefinisi dengan baik. Setiap tantangan memiliki satu kerentanan Minat untuk melatih bot merah buatan yang mampu bersaing dalam
yang dapat dieksploitasi (atau, kadang-kadang, rantai kerentanan) dan tantangan CTF telah meningkat setelah DARPA menyelenggarakan Cyber
kondisi kemenangan yang tidak ambigu dalam bentuk bendera, yaitu Grand Challenge Event pada tahun 2016 di Las Vegas [13]. Dalam kontes
token yang membuktikan apakah tantangan tersebut diselesaikan atau seperti CTF yang disederhanakan ini, agen buatan diberi kemungkinan
tidak. Biasanya, CTF membutuhkan keterampilan logis dan teknis murni, untuk berinteraksi dengan sistem yang memperlihatkan sejumlah perintah
terbatas.sosial.
dan mereka mengecualikan ketergantungan pada saluran sampingan seperti rekayasa
Selain itu, tantangan biasanya dirancang untuk membuat penggunaan Namun, minat pada masalah pemodelan dan pemecahan masalah
alat paksa atau otomatis menjadi tidak layak. peretasan atau penetrasi mendahului acara ini. Formalisasi yang berbeda
Pengaturan standar CTF adalah apa yang disebut mode Jeopardy, di dari masalah seperti CTF atau pengujian penetrasi telah disarankan
mana semua pemain menargetkan satu sistem statis. Pengaturan yang dalam literatur. Model standar mengandalkan formalisme dari teori grafik
lebih realistis dapat mencakup penyebaran layanan non-statis dengan (misalnya, proses keputusan Markov [33]), perencanaan (misalnya,
kerentanan yang berkembang, atau partisi pemain dalam tim, biasanya perencanaan klasik [6]), atau teori permainan (misalnya, permainan
tim merah, yang bertugas mengambil bendera dari sistem target, dan tim Stackelberg [38]). Spektrum model yang luas dengan berbagai tingkat
biru, yang bertanggung jawab untuk mencegah penyerang mendapatkan ketidakpastian dan berbagai tingkat struktur dalam ruang aksi disajikan
bendera. dalam [17].
Dalam kasus tantangan web, CTF standar terdiri dari objek hosting
situs web dengan kerentanan berbeda, dan berisi tanda dalam bentuk Pendekatan bebas model di mana agen disediakan dengan informasi
string khusus. Peserta hanya diminta untuk mengumpulkan bendera, dan minimal tentang struktur masalah baru-baru ini dipertimbangkan melalui
tidak diperlukan tindakan eksploitatif lebih lanjut (seperti, menyiapkan adopsi RL [10,15,29,30]. Sementara karya-karya ini fokus pada penerapan
sistem komando dan kontrol). CTFs web bergaya Jeopardy merupakan RL untuk memecahkan tantangan tertentu, dalam makalah ini kami
kumpulan tantangan yang ketat: lingkungan tempat operasi didefinisikan menganalisis masalah bagaimana mendefinisikan masalah CTF yang
dengan baik, tindakan hanya dapat dilakukan di domain digital, dan tujuan relevan dengan cara yang fleksibel dan konsisten untuk RL.
serta kondisi kemenangan dinyatakan dengan jelas. Semua properti ini
membuat studi kasus CTFs menarik untuk mengembangkan agen buatan
untuk pengujian penetrasi. Perbedaan yang relevan antara pendekatan kami dan penelitian lain
yang dipublikasikan adalah tingkat abstraksi tindakan.
123
Machine Translated by Google
Banyak penelitian melakukan pengujian penetrasi model dengan 3 Formalisasi peretasan web
mempertimbangkan tindakan tingkat tinggi seperti pemindaian, sidik jari,
atau eksploitasi kerentanan. Dalam [14] dan [15], set tindakan dibuat dari Di bagian ini, kami mengeksplorasi bagaimana masalah peretasan web yang
tindakan seperti: menyelidiki, mendeteksi, menghubungkan, memindai, sidik tidak jelas dapat diformalkan menggunakan berbagai jenis model standar
jari, penilaian kerentanan, mengeksploitasi, eskalasi hak istimewa, pivot. (Peretasan web ÿ CTF ÿ game ÿ masalah RL).
Tindakan serupa yang mengkodekan eksploitasi kerentanan lengkap
(misalnya, mendapatkan hak istimewa ekstra dengan eksploitasi yang ada 3.1 Dari peretasan web ke CTF
untuk kerentanan yang diidentifikasi oleh kerentanan Umum dan nomor
Eksposur) merupakan ruang tindakan di [8]; algoritma RL berdasarkan Seperti yang dibahas dalam Sect. 2, peretasan web dunia nyata adalah
jaringan Q yang dalam kemudian digunakan untuk mempelajari kebijakan masalah yang sangat kompleks, dengan kondisi keberhasilan yang tidak
optimal untuk melakukan pengujian pen etrasi. Tindakan tingkat tinggi seperti jelas dan menghadirkan beragam kemungkinan tindakan, mulai dari
pemindaian dan eksploitasi siap dipertimbangkan dalam [34]; algoritma Q- eksploitasi kerentanan yang diketahui publik hingga ketergantungan pada
learning RL standar menggunakan tabel dan jaringan saraf diuji untuk saluran samping non-teknis seperti sosial
masalah yang disajikan dalam makalah ini telah dianalisis dan diselesaikan
dengan algoritma RL sederhana di [45] juga. Dalam [45], kelayakan praktis 3.2 Dari CTF ke game
dan keterbatasan agen RL diselidiki dengan menjalankan skenario ad hoc
yang disederhanakan (misalnya, menemukan dan mengeksploitasi Untuk menyempurnakan pemodelan kami, kami dapat mengekspresikan CTFs
kerentanan layanan dengan pemindaian port dan tindakan eksploitasi). dalam istilah teori permainan. CTFs peretasan web dapat didefinisikan sebagai permainan:
Berbeda dari pekerjaan itu, makalah ini berfokus pada eksploitasi web dan
memodelkan tindakan di tingkat yang lebih rendah, seperti permintaan web G = P, A, u ,
sederhana; dengan demikian, tindakan mengirim eksploitasi harus
didekomposisi menjadi beberapa tindakan Model Web Agen dengan di mana,
parameter yang berbeda. Lebih penting lagi, pekerjaan saat ini bertujuan
untuk menyediakan kerangka kerja konseptual untuk berbagai tantangan – P adalah himpunan pemain,
peretasan web. Masalah yang ditangani dalam [45] dapat dipertimbangkan – A adalah himpunan aksi yang tersedia untuk pemain,
kembali sebagai contoh masalah tertentu dalam hierarki Model Web Agen; – u adalah vektor utilitas atau fungsi hasil, sehingga ui adalah fungsi utilitas
dengan demikian, makalah ini memberikan perspektif yang lebih luas dan untuk pemain i, 1 i |P|.
lebih formal untuk menilai dan menghubungkan analisis yang lebih konkret,
seperti yang ditawarkan di [45]. Contoh CTF yang paling sederhana adalah game 2 pemain dengan |P| =
2, di mana satu pemain adalah penyerang dan pemain kedua adalah server
web. Selama tantangan CTF web bersifat statis, server web dapat dianggap
Akhirnya, penelitian lain seperti [24] atau [3] hanya berfokus pada kasus sebagai pemain yang secara pasti bereaksi terhadap tindakan penyerang.
web yang sangat spesifik. Di [24], set tindakan hanya terdiri dari tindakan Seperti yang dijelaskan dalam Sect. 2.2, penyiapan CTF dasar ini dapat
eksploitasi POST yang dilakukan oleh PowerShell. diperluas ke game multipemain adver sarial dengan |P| = N, di mana pemain
Dalam [3], penulis menganalisis firewall aplikasi web dengan pendekatan dipartisi dalam tim merah dan tim biru. Berikut ini, kami akan memusatkan
berbasis pencarian berbasis ML yang menggabungkan ML dan algoritma perhatian dan diskusi kami pada 2-pemain
evolusioner untuk mendeteksi serangan secara otomatis.
123
Machine Translated by Google
Model Web Agen: memodelkan peretasan web untuk pembelajaran penguatan 297
game, meskipun pertimbangan kami berlaku langsung untuk kasus aksi a A tidak hanya bergantung pada aksi itu sendiri, tetapi juga pada
multipemain. keadaan saat ini s S dari sistem. Ini sesuai dengan asumsi sistem stateful .
Untuk pemain mana pun, kami menganggap rangkaian tindakan A Asumsi ini bermakna, karena sistem web nyata mungkin berada dalam
terbatas atau dapat dihitung, sehingga memungkinkan agen buatan untuk status yang berbeda setelah berinteraksi dengan penggunanya. Perhatikan
memilih tindakannya. Perhatikan bahwa asumsi keterbatasan atau bahwa sistem stateless dapat, dengan cara apa pun, dianggap sebagai
kemampuan menghitung ini masuk akal selama CTF berlangsung dalam kasus batas dari sistem stateful dengan satu status tidak berubah. Kedua,
domain digital dan diskrit. kita berasumsi bahwa, secara umum, hasil dari aksi a A, dengan kondisi
Fungsi utilitas ui pemain memungkinkan pengkodean kondisi saat ini s S, mungkin stokastik. Asumsi ini bermakna bahwa sistem web
kemenangan yang dinyatakan oleh tantangan CTF. Fungsi utilitas biner nyata dapat mengandalkan fungsi stokastik. Selain itu, asumsi seperti itu
yang mencolok memungkinkan untuk menetapkan utilitas positif untuk memungkinkan kita untuk memodelkan potensi komunikasi jaringan yang
menangkap bendera, dan utilitas nol untuk yang lainnya. Fungsi utilitas gagal atau upaya sistem untuk mengaburkan logikanya. Perhatikan bahwa
yang lebih halus memungkinkan untuk membentuk perilaku agen yang keadaan deterministik dapat, dengan cara apa pun, dianggap sebagai
dipelajari secara lebih halus. kasus batas dari sistem stokastik dengan fungsi distribusi delta. Singkatnya,
Formalisasi teori permainan kemudian dapat dilihat sebagai langkah kami menyatakan logika server web sebagai fungsi transisi probabilistik T =
lebih lanjut dalam proses formalisasi masalah peretasan web. Kontribusi P s |s, a menentukan distribusi probabilitas atas keadaan masa depan s ,
utama dalam pemodelan formulir ini, dikontraskan dengan model CTF mengingat keadaan saat ini s dan tindakan a. Kami akan menyebut T
generik, adalah definisi dari serangkaian tindakan yang mungkin dapat sebagai transisi
dihitung. Ini memberikan dasar bagi agen untuk memilih tindakan dan
mempelajari kebijakan tindakannya sendiri. Meskipun teori permainan
sudah menyediakan alat untuk menganalisis peretasan web seperti yang
telah kami modelkan, formalisasi ini masih belum ideal karena pemodelan fungsi, logika permainan, atau dinamika lingkungan.
server web sebagai hasil pemain aktif yang terlalu umum. Dalam kasus
yang menarik, di mana kita memiliki penyerang tunggal yang menargetkan Seperti dalam perumusan teori permainan, himpunan aksi A
sistem statis, akan lebih praktis untuk menggambarkan server web sebagai adalah serangkaian tindakan yang dapat dihitung yang tersedia untuk agen.
– S adalah sekumpulan status tempat game berada, Formalisasi RL akhir ini cukup baik menangkap masalah peretasan
– A adalah sekumpulan aksi, web: cukup fleksibel untuk mengakomodasi tantangan peretasan yang
– T : S × A ÿ S adalah fungsi transisi keadaan yang mendefinisikan sangat berbeda, tetapi, pada saat yang sama, cukup dibatasi sehingga
bagaimana keadaan berevolusi mengingat keadaan awal dan tindakan, semua komponennya terdefinisi dengan baik sehingga algoritma RL standar
– R : S ×A ÿ R adalah fungsi reward yang mendefinisikan reward yang dapat digunakan untuk melatih agen buatan. Kami kemudian akan membuat
diperoleh agen setelah melakukan tindakan tertentu formalisasi RL sebagai cetak biru teoretis model kami untuk peretasan web.
negara.
tion menentukan bagaimana sistem bereaksi terhadap aksi agen yang mengkarakterisasi model kami sendiri untuk peretasan web. Kami kemudian
bermain, dan dinamikanya bergantung pada dua asumsi. Pertama, kita mendiskusikan bagaimana model umum ini dapat digunakan untuk mengimplementasikan
asumsikan bahwa, secara umum, hasil dari masalah peretasan web yang sebenarnya pada tingkat abstraksi yang berbeda.
123
Machine Translated by Google
123
Machine Translated by Google
Model Web Agen: memodelkan peretasan web untuk pembelajaran penguatan 299
kasus bendera. Secara praktis, masalah level1 dapat direpresentasikan Tabel 2 Jumlah tindakan dan status di level1
sebagai grafik file yang diarahkan (lihat Gambar 2). Jumlah file Jumlah tindakan Jumlah negara bagian
Kumpulan tindakan hanya terdiri dari dua tindakan parametrik:
N 2N 22Nÿ1
A = {baca(filei), cari(filei)}. Tindakan membaca (filei)
membaca file ke- i dan mengembalikan daftar file yang ditautkan. Tindakan 24 8
Tanpa melatih agen RL, solusi heuristik sederhana pointer implisit yang membutuhkan analisis file yang sebenarnya.
untuk masalah ini adalah membaca file satu per satu di Contoh dunia nyata dari jenis pointer implisit ini mungkin
untuk menemukan semua file, lalu cari bendera di dalamnya be: komentar dalam kode sumber yang merujuk ke file lain
setiap. Jumlah file N yang dihosting situs web
tanpa menyebutkan tautan langsung; kata kunci yang digunakan dalam file yang
pengaruh yang signifikan pada skala masalah. Ukuran sebenarnya merujuk ke jenis atau versi khusus dari aplikasi server web atau CMS,
dari ruang aksi |A| tergantung pada nilai N: agen dan itu menunjukkan adanya file default lainnya; berulang
dapat mengambil hingga 2N tindakan berbeda, yaitu, tindakan read() penampilan sebuah kata, menunjukkan bahwa mungkin ada file atau
dan tindakan search() untuk setiap file. Apalagi seorang agen folder dengan nama yang sama. Praktis, masalah level2 bisa
diperlukan untuk melacak status pengetahuannya sendiri, bahwa direpresentasikan sebagai grafik yang diketik terarah dari file dengan dua jenis
adalah merekam tindakan apa yang telah dilakukan dan apa hasilnya
tepi (lihat Gambar. 3).
diamati. Agen dasar dapat dengan mudah melacak, untuk setiap file, Serangkaian tindakan agen sekarang diperluas menjadi tiga
apakah tindakan read() dicoba (2N status) dan apakah tindakan parametrik A = {baca (filei), cari (filei),
pencarian tindakan () telah dicoba (2N status). Secara total, itu akan memiliki membaca dalam (filei)}. Seperti sebelumnya, tindakan read(filei) membaca
22Nÿ1 menyatakan; Tabel 2 menunjukkan perkiraan jumlah engan file dan mengembalikan daftar file yang terhubung dengan tautan eksplisit ,
tindakan dan status sebagai fungsi dari jumlah file.
sementara pencarian(filei) memeriksa file ke- i untuk keberadaan
bendera. Tindakan deepread(filei) memproses file ke- i
4.2.2 Level2: lapisan tautan tersembunyi dan mengembalikan daftar file yang dihubungkan oleh tautan implisit . Melihat
Tabel 3 untuk ringkasan tindakan, parameternya, dan
Di level2, kami memodelkan lagi situs web sebagai kumpulan statis nilai pengembalian mereka. Perhatikan bahwa pada tingkat abstraksi ini,
file HTML. File masih ditautkan dengan pointer, tapi kita sekarang logika dan algoritma untuk melakukan deepread()
membedakan dua jenis pointer: link yang terlihat secara terbuka secara implisit disediakan dalam game itu sendiri. Pada tingkat yang lebih tinggi
ke penyerang setelah membaca file (seperti di level1), dan abstraksi, tugas untuk benar-benar mem-parsing file HTML dan
mengungkap kemungkinan URL file baru akan didelegasikan
kepada agen pembelajaran; agen seperti itu akan menerima yang sebenarnya
konten file dan dapat menggunakan berbagai algoritme untuk memproses
teks, dari pemetaan kamus sederhana (mis .
Gambar 2 Contoh webserver pada level1. Node mewakili file dan solid
panah mewakili koneksi antar file
123
Machine Translated by Google
123
Machine Translated by Google
Model Web Agen: memodelkan peretasan web untuk pembelajaran penguatan 301
semua kombinasi). Secara total, kita kemudian memiliki 3(N + NMO) dirangkum dalam logika permainan, mulai sekarang adalah
tindakan konkret yang dapat dilakukan agen. Agen sepele yang secara eksplisit tugas agen untuk mengurai dan menganalisis jawaban dari
melacak statusnya dengan merekam, untuk setiap tindakan yang mungkin, jika itu server web untuk menemukan tautan eksplisit dan implisit,
diambil atau tidak, harus berurusan dengan ruang dengan kardinalitas serta bendera itu sendiri. Set tindakan baru adalah: A =
23(N+NMO)ÿ1. Tabel 6 menunjukkan beberapa perkiraan untuk {get(filei, [pname], [pval]), post(filei, [pname], [pval])}.
nilai N, M, dan O yang berbeda. Tindakan Theget() andpost() mengimplementasikan web masing-masing
metode, dan mereka menerima sebagai input file (filei), daftar nama
4.2.4 Level4: lapisan metode web parameter ([pname]) bersama dengan daftar nilai parameter
([pval]). Hasil dari tindakan ini adalah halaman HTTP. Itu
Di level4, kami lebih jauh menskalakan kompleksitas dengan mempertimbangkan flag dianggap diambil ketika agen mendapatkan HTTP
kemungkinan server web menerima permintaan yang menentukan a halaman yang berisi bendera. Lihat Tabel 7 untuk ringkasan dari
Metode web HTTP dan berisi daftar nama parameter tindakan, parameternya, dan nilai pengembaliannya.
dan nilai parameter. Server web selalu dimodelkan sebagai Tujuan dari abstraksi level4 adalah untuk mempertimbangkan dinamis
kumpulan file yang membentuk grafik yang diketik terarah dengan bersarang konten situs web berdasarkan beberapa kombinasi parameter dinamis yang
node (lihat Gambar. 5). dikirim oleh klien dengan cara yang berbeda. Ini lebih
Kumpulan tindakan parametrik sekarang direstrukturisasi. Kita abstraksi lanjutan dari masalah dibandingkan dengan level3,
jatuhkan perbedaan buatan sebelumnya antara read(), di mana file hanya menerima satu parameter dinamis tanpa
deepread(), sedangkan di level abstraksi sebelumnya menentukan cara pengirimannya. Perhatikan bahwa, di sisi lain
tugas mengekstraksi tautan eksplisit dan implisit adalah eksternal Di sisi lain, protokol HTTP mampu melakukan banyak operasi tambahan
seperti menguji jalur ke target dengan
Metode TRACE , atau menerima jawaban tanpa tanggapan
Tabel 6 Jumlah tindakan dan status di level3
tubuh dengan KEPALA. Metode ini tidak memiliki nilai tambah dalam
#file #pars #pval #tindakan #negara bagian
level4, karena tujuannya adalah untuk menangkap badan respons dinamis.
Metode lain memungkinkan memodifikasi konten situs web dengan
NMO 3(N + NMO) 23(N+NMO)ÿ1
membuat objek dengan metode PUT , atau menghapus objek dengan
2 2 2 30 5,4 × 108
HAPUS ; namun, operasi ini hanya dipertimbangkan
2 5 5 156 4,6 × 1046
di lapisan yang lebih tinggi dalam Model Web Agen. Dalam pengertian ini,
5 2 2 75 1,9 × 1022
nama lapisan metode web dapat menyesatkan, tetapi kami memilihnya
5 5 5 390 1,3 × 10117 karena dalam sebagian besar kasus, metode GET dan POST
10 5 5 780 3,2 × 10234 yang paling banyak digunakan dalam komunikasi web.
Dapatkan() Mengajukan
halaman HTTP
123
Machine Translated by Google
M
M
2 · Tidak · ·
saya
saya=0
tindakan file
semua kombinasi
semua
nama param i
panjang daftar
· Oi
semua kombinasi i
param vals
123
Machine Translated by Google
Model Web Agen: memodelkan peretasan web untuk pembelajaran penguatan 303
Gambar 7 Contoh webserver pada level6. Node solid mewakili file, node
bertitik dalam file menggambarkan kemungkinan daftar nama parameter dan
pasangan nilai serta nama sesi dan pasangan nilai yang dapat dikirim ke file
– Memperoleh sumber daya lokal situs web seperti file latar belakang atau
melalui metode web, panah solid mewakili koneksi antara file yang diberikan
catatan basis data latar belakang yang digunakan untuk pengoperasian parameter dan sesi. Garis batas putus-putus memisahkan ruang logis yang
situs web. berbeda, seperti ruang server web dan ruang database. Panah putus-putus
menandai hubungan antara ruang-ruang logis ini
baris.
4.2.7 Level7: lapisan modifikasi server Tindakan penyerangan yang mengarah pada pembuatan objek dapat
dilakukan oleh permintaan web yang telah kita pertimbangkan. Tindakan
Level terakhir yang kami pertimbangkan dalam Model Web Agen kami tidak berubah, tetapi domain parameter meningkat untuk memungkinkan
adalah lapisan modifikasi server. Pada level ini, kami berasumsi bahwa tindakan yang lebih canggih.
agen dapat melakukan tindakan peretasan web yang kompleks dan
bermakna seperti membuat objeknya sendiri, baik di dalam maupun di luar Level7 diasumsikan sebagai level pemodelan tertinggi, menangkap
root web. Dengan kemampuan membuat file sendiri, penyerang dapat semua fitur peretasan yang relevan; dengan demikian, memecahkan
menempatkan skrip perintah yang dapat digunakan untuk melakukan tantangan ini sangat sulit, dan kami berharap bahwa agen yang sukses
serangan lanjutan. Gambar 7 menunjukkan struktur server yang sama akan berkinerja sebaik, atau lebih baik daripada, seorang peretas manusia
seperti pada level6, dan menggambarkan penyerang membuat file sendiri profesional yang benar-benar terlibat dalam proses peretasan situs web.
di server web. Abstraksi Level7 menyediakan
123
Machine Translated by Google
Agen
Web Web Komentar
Kerentanan Model
Lapisan
dan bagaimana parameter Model Web Agen dapat digunakan Gangguan parameter web [19] adalah jenis serangan di mana
untuk mengekspresikan parameter aktual yang diperlukan untuk eksploitasi (misalnya, parameter web yang dipertukarkan oleh klien dan server
bagaimana informasi header HTTP atau objek di luar root web dapat dimodifikasi untuk memiliki akses ke objek tambahan.
dipetakan ke parameter di Model Web Agen). Model Web Agen kami menangkap serangan ini mulai dari level3
Tabel 9 menawarkan ringkasan semua kerentanan, bersama-sama dengan mengizinkan spesifikasi parameter web di URL;
dengan tingkat Model Web Agen di mana mereka dapat di level4 dimungkinkan untuk menambahkan parameter badan HTTP (POST
dimodelkan. pesan); di level5 dimungkinkan untuk mengedit cookie di HTTP
Pengungkapan informasi adalah jenis kerentanan di mana kepala. Dalam semua kasus ini, agen dapat melakukan web
penyerang memperoleh informasi yang berguna dengan menembus sistem. gangguan parameter baik dengan menjelajahi secara bermakna
Mengevaluasi kegunaan dari informasi yang diperoleh adalah ruang nilai yang mungkin dari parameter ini, atau dengan mencoba
tidak sepele, tetapi melalui formalisasi KKP kami membuat paksa mereka.
menyederhanakan asumsi bahwa informasi yang relevan penyerang Serangan skrip lintas situs (XSS) [16] memungkinkan penyerang
mungkin tertarik ke ditandai dengan bendera. Dengan cara ini, itu adalah untuk menyuntikkan kode sisi klien (misalnya, JavaScript) ke dalam halaman web
mungkin untuk menyamakan pengungkapan informasi yang sukses dengan dilihat oleh pengguna lain. Dengan mengeksploitasi kerentanan XSS,
pengambilan bendera. Setiap level abstraksi di Agen kami penyerang dapat menimpa konten halaman di sisi klien,
Model Web menangkap serangan ini: di level1 informasi sensitif (bendera) mengarahkan halaman ke halaman penyerang, atau mencuri yang valid
ada di file tertaut publik di server web; di level2 sesi di dalam cookie. Semua tindakan ofensif ini bisa
informasi sensitif (bendera) dapat berada di dalam file pribadi; dalam diikuti oleh beberapa trik rekayasa sosial jika terjadi
123
Machine Translated by Google
Model Web Agen: memodelkan peretasan web untuk pembelajaran penguatan 305
serangan nyata. Dalam konteks tantangan gaya CTF di mana klien tabel, memerlukan permintaan jenis pencarian biner untuk setiap
tambahan tidak tersedia, tujuan penyerang hanyalah untuk menunjukkan karakter, yang dapat menyebabkan jumlah tindakan yang eksponensial.
keberadaan kerentanan. Bendera dapat digunakan untuk menunjukkan Perhatikan bahwa abstraksi Model Web Agen tidak mempertimbangkan
halaman yang hanya dapat diakses secara tidak langsung dengan waktu respons lingkungan. Dalam kasus yang sangat spesifik seperti
pengalihan. Tugas agen adalah menemukan parameter yang tepat injeksi SQL buta berbasis waktu, penyerang mungkin harus mengukur
untuk mencapai pengalihan. Kode sisi klien yang disuntikkan untuk waktu respons; jenis eksploitasi ini akan memerlukan pertimbangan
XSS harus dikirim melalui parameter web. waktu reaksi server juga.
Serangan XSS dapat disimulasikan dalam Model Web Agen kami Injeksi Xpath [5] adalah kerentanan web di mana penyerang
segera setelah kami dapat berinteraksi dengan parameter: di level3 menyuntikkan kode ke permintaan web, tetapi target serangan
penyerang dapat menambahkan kode di URL; di level4 penyerang bukanlah database (seperti dalam kasus injeksi SQL) tetapi file XML.
dapat mengubah parameter POST; di level5 serangan XSS dapat Dengan memanfaatkan injeksi Xpath, penyerang dapat mengulangi
mempengaruhi header. elemen XML dan mendapatkan ikatan yang tepat dari node satu per
Pemalsuan permintaan lintas situs (CSRF) [36] adalah jenis satu. Operasi ini hanya membutuhkan satu parameter, jadi simulasi
kerentanan di mana penyerang mengirimkan tautan ke pengguna yang injeksi Xpath secara teoritis dimungkinkan di level3. Karena eksploitasi
diautentikasi untuk mengelabui mereka agar menjalankan permintaan injeksi Xpath tidak memerlukan nama file XML, pemetaan file di luar
web dengan rekayasa sosial. Jika pengguna diautentikasi (memiliki webroot tidak diperlukan bahkan jika file XML berada di luar webroot.
sesi), permintaan jahat (misalnya, mentransfer uang, mengubah status) Di sisi lain, parameter rentan dapat berupa parameter POST (level4)
dijalankan oleh server. Eksploitasi ini didasarkan pada rekayasa sosial atau dapat memerlukan sesi tertentu (level5).
dan menyesatkan pengguna. Selain itu, token CSRF dikirim oleh
server untuk menyaring permintaan yang tidak diinginkan; agen dapat
memeriksa keberadaan token CSRF yang sesuai atau mengeksploitasi Injeksi templat sisi server (SSTI) [21] adalah kemampuan
permintaan dengan token CSRF yang lemah. Dalam model kami, kerentanan di mana penyerang menggunakan sintaks templat asli
serangan CSRF harus disederhanakan untuk mempertimbangkan untuk menyuntikkan muatan berbahaya ke templat situs web. Untuk
hanya manipulasi token CSRF di level5. eksploitasi, agen harus menggunakan tindakan tambahan yang spesifik
Injeksi SQL [1] adalah kerentanan di mana pernyataan SQL untuk SSTI, seperti mengirim string seperti ${7*7} bersama dengan
berbahaya dapat dieksekusi oleh server karena kurangnya validasi parameter. Secara teoritis, kerentanan SSTI yang mudah dapat
input di sisi server. Dengan memodifikasi pernyataan SQL asli dari dieksploitasi di level3, tetapi semua lapisan lain di atas dapat digunakan
skrip sisi server, penyerang dapat melewati otentikasi, mengakses untuk mewakili kasus serangan tertentu (parameter rentan di POST di
informasi basis data rahasia atau bahkan menulis skrip serangan di level4, sesi yang diperlukan untuk eksploitasi di level5); dalam kasus
server (pilih ke perintah outfile). Dalam sebagian besar kasus, tertentu, penyerang dapat membuat daftar struktur server (level6) atau
penyerang harus memetakan struktur basis data target dengan dapat membuat file dengan eksekusi kode arbitrer (level7).
menemukan, misalnya, nama tabel yang berbeda beserta nama dan
tipe kolomnya. Dalam Model Web Agen kami, serangan ini dapat Penyertaan file [20] membuat penyerang mampu memasukkan
sepenuhnya disimulasikan pada level6 (di mana kami mempertimbangkan file jarak jauh atau lokal dengan memanfaatkan parameter web yang
keberadaan objek di luar webroot), meskipun versi yang disederhanakan rentan di situs web. Dalam kasus inklusi file jarak jauh (RFI), penyerang
lainnya dapat terjadi pada level yang lebih rendah. Dalam kasus dapat menyertakan skrip penyerang jarak jauhnya sendiri di skrip sisi
termudah, agen hanya membutuhkan satu parameter dinamis tanpa server. Penyertaan file jarak jauh dapat memiliki konsekuensi yang
sesi; hanya melewati otentikasi sederhana atau mengumpulkan data sangat serius, tetapi dalam tantangan CTF tujuannya hanya untuk
dari tabel yang sama yang digunakan skrip sisi server tidak perlu menunjukkan kemungkinan eksploitasi, bukan untuk melakukan
mengetahui nama tabel dan data struktur database lainnya; dalam eksploitasi yang sebenarnya. RFI dapat diwujudkan dengan
kasus ini, bentuk dasar injeksi SQL dapat disimulasikan bahkan di menyediakan file jarak jauh yang mengirimkan tanda jika permintaan
level3 (dengan satu parameter rentan). Kasus kompleks yang terdiri dimulai dari IP situs web target. Mengeksploitasi RFI dimungkinkan di
dari semua parameter database perlu terjadi di level6. Jika penyerang level3 tetapi parameter lain, seperti permintaan dan sesi POST, dapat
menggunakan injeksi SQL untuk melakukan tindakan lebih lanjut relevan (level4 dan level5). Sebagai konsekuensi dari kerentanan RFI,
seperti menulis skrip penyerangan di situs yang disusupi, maka ini penyerang dapat membuat file di situs web untuk serangan lebih lanjut.
harus terjadi di level7, di mana agen dapat memodifikasi server dengan Dalam kasus penyertaan file lokal (LFI), penyerang dapat memasukkan
membuat file. file lokal ke dalam skrip sisi server. Untuk eksploitasi satu parameter
tunggal secara teoritis cukup, tetapi karena biasanya diperlukan untuk
Semua kasus yang disebutkan di atas memerlukan jumlah tindakan membaca file lokal di luar webroot, agen harus memetakan setidaknya
yang sangat tinggi terutama ketika agen harus menjalankan injeksi sebagian dari struktur server (level6). Dalam beberapa skenario
SQL buta berbasis Boolean. Dalam kasus ini, aplikasi yang rentan eksploitasi, penyerang dapat menggunakan file lokal (seperti log atau
hanya memberikan jawaban benar atau salah, sehingga memperoleh file di folder /proc Linux) untuk membuat file sendiri di server (level7).
satu informasi, seperti nama kolom di
123
Machine Translated by Google
Serangan terkait sesi [43] mengeksploitasi pengungkapan sesi menginstansiasi server web dalam bentuk grafik terarah (lihat Gambar
atau kelemahan lain dalam proses pembuatan sesi. Karena kami 9 untuk implementasi sebenarnya dari server web logis yang ditunjukkan
memodelkan lingkungan sebagai server itu sendiri tanpa node jaringan pada Gambar 2). Tindakan diekspos dalam bentuk kamus dengan dua
lain, pengungkapan man in the middle session tidak dapat argumen: perintah bilangan bulat yang menentukan jenis tindakan
dipertimbangkan. Pengungkapan sesi lainnya dapat dimungkinkan, yang akan diambil (sesuai dengan nama tindakan kolom pada Tabel 1)
misalnya, jika sesi disimpan dalam log dan situs web dapat mengakses dan file target bilangan bulat yang menentukan pada file mana tindakan
file log (LFI), seperti yang dimodelkan pada level6. Brute force sesi dilakukan (sesuai dengan kolom parameter umn pada Tabel 1).
juga dimungkinkan di level5, tetapi tindakan brute-force meningkatkan Tanggapan dari server web mengikuti format standar di mana argumen
secara dramatis kompleksitas dan jumlah tindakan yang mungkin. hasil berupa nilai Boolean atau daftar bilangan bulat yang menunjukkan
file (sesuai dengan hasil kolom pada Tabel 1).
Pemisahan respons HTTP [18] adalah kerentanan di mana
penyerang dapat mengontrol konten header HTTP dari permintaan Tingkat kedua dibangun di atas yang pertama, memperkenalkan
web. Kemampuan penyerang untuk membangun tanggapan HTTP jenis koneksi tambahan antara file di server web. Konstruktor env(A,
sewenang-wenang dapat mengakibatkan banyak eksploitasi lain seperti B, flag) sekarang menerima dua matriks kedekatan A dan B, koneksi
keracunan cache atau Cross Site Scripting. Model Web Agen kami langsung pengkodean pertama dan koneksi tidak langsung pengkodean
mempertimbangkan informasi header HTTP di level5, tetapi hanya kedua. Tindakan mempertahankan sintaks yang sama, meskipun
dengan informasi terbatas (pasangan sesi yang berbeda dan seluruh sekarang konstanta perintah menerima satu nilai lagi yang sesuai
header bersama dengan versi yang berbeda). Melatih agen untuk dengan tindakan deepread() (lihat Tabel 3). Tanggapan tetap dalam
mempelajari eksploitasi pemisahan respons HTTP akan memerlukan bentuk yang sama seperti di level1.
untuk membagi header HTTP di beberapa bagian dan memungkinkan
agen untuk mempertimbangkan tindakan pada kombinasi header HTTP Akhirnya, tingkat ketiga merupakan abstraksi non-sepele dari
yang berbeda. tantangan peretasan yang sebenarnya, di mana kami menganggap
server web yang berinteraksi dengan tindakan penyerang dengan cara tertentu.
Konstruktorenv(n_files,n_pnames, n_pvalues, server web) sekarang
6 Implementasi Model Web Agen menerima jumlah file pada n_files server web, serta jumlah nama
parameter yang tersedia n_pnames dan nilai n_pvalues; akhirnya,
Implementasi dari tiga level pertama Model Web Agen telah konstruktor menerima fungsi webserver() yang dipanggil dalam fungsi
dikembangkan sesuai dengan standar yang ditentukan dalam kerangka step() dan yang bertugas memproses tindakan penyerang sesuai
kerja gym OpenAI [7], dan telah tersedia secara online.1 Dengan dengan logikanya sendiri. Perhatikan bahwa, pada level ini, tidak perlu
mengadopsi antarmuka gym Ope nAI standar, kami berharap untuk lagi memasukkan matriks kedekatan eksplisit untuk file; itu
memudahkan peneliti dan praktisi menguji agen dan algoritme mereka
pada tantangan CTF. Secara khusus, kami berharap dapat
menyederhanakan proses penerapan dan pelatihan agen RL yang siap
pakai, serta memberikan masalah menarik yang dapat mendorong
pengembangan algoritme pembelajaran baru.
123
Machine Translated by Google
Model Web Agen: memodelkan peretasan web untuk pembelajaran penguatan 307
struktur internal server web dikodekan dalam fungsi webserver() itu sendiri.
Gambar 10 menunjukkan dinamika pembelajaran. Agen standar mampu dikerahkan dan disesuaikan dengan tujuan menghasilkan kerusakan material
menghubungkan diri mereka sendiri dengan implementasi tantangan KKP atau immaterial. Kami ingin mengulangi bahwa tujuan dari penelitian ini
pada tingkat abstraksi yang berbeda. adalah untuk mengembangkan agen untuk membantu peretas etis dalam
Semua agen dapat belajar: lintasan jangka panjang yang dihaluskan pengujian penetrasi yang sah, dan untuk mengembangkan pemahaman
menunjukkan peningkatan penghargaan akhir yang dicapai oleh agen tentang agen RL hanya untuk tujuan pencegahan. Untuk alasan ini, kami
(perhatikan bahwa varians awal yang tinggi disebabkan oleh tidak adanya menganjurkan pengembangan agen dalam konteks tantangan CTF, di mana
data historis untuk pemulusan). Namun, kualitas pembelajaran bervariasi tujuannya adalah eksploitasi kerentanan yang minimal dan tidak berbahaya
sesuai dengan level simulasi: untuk level1 agen dengan cepat mendekati sebagai bukti konsep (penangkapan bendera), tetapi tidak ada serangan
solusi optimal, sedangkan untuk level3 hadiah akhir sangat rendah (perhatikan lebih lanjut yang dipertimbangkan. Kami menjauhkan diri dan mengutuk
nilai negatif pada sumbu y); dalam kasus terakhir ini, meskipun agen belajar,
itu jauh dari kebijakan yang optimal. aplikasi apa pun dari hasil ini untuk pengembangan alat ofensif, terutama
dalam konteks militer.3
sumber daya komputasi atau agen pembelajaran yang lebih halus. Kekuatan Agen, yang mendefinisikan peretasan web pada tingkat abstraksi yang berbeda.
inti dari Model Web Agen adalah untuk menyediakan paradigma standar bagi Formulasi ini memungkinkan implementasi langsung dari masalah yang
peneliti keamanan komputer untuk memodelkan beragam tantangan cocok untuk agen pembelajaran mesin. Karena tujuan dan jenis serangan
keamanan di web, seperti yang dibahas dalam Bagian. 5. Ini web dapat bermacam-macam, dan metode teknis dan manusia yang berbeda
mungkin terlibat, pertama-tama kami membatasi
2 3
https://stable-baselines.readthedocs.io/en/master/. https://futureoflife.org/open-letter-autonomous-weapons/.
123
Machine Translated by Google
perhatian kami pada masalah peretasan gaya CTF. Kami kemudian Referensi
memodelkan peretasan web bergaya CTF sebagai permainan dan sebagai masalah RL.
Masalah RL menganggap satu pemain berurusan dengan situs web statis yang 1. Anley, C.: Injeksi SQL tingkat lanjut dalam aplikasi server SQL. https://
crypto.stanford.edu/cs155old/cs155-spring11/papers/sql_ injection.pdf. Diakses:
terdiri dari objek yang dengannya agen dapat berinteraksi dengan mengirimkan
12-09-2020 (2002)
permintaan (dengan atau tanpa parameter). 2. Antunes, N., Vieira, M.: Merancang alat pengujian kerentanan untuk layanan web:
Kami memformalkan masalah RL pada 7 tingkat abstraksi yang berbeda, pendekatan, komponen, dan alat. Int. J.Inf. Aman. (2017)
buatan. Sebuah implementasi dari masalah pada tingkat pertama abstraksi World Wide Web oleh Penemunya. Perusahaan Penerbitan DIANE, Darby (2001)
Tantangan keamanan dunia nyata lainnya dapat dimodelkan secara analog, Zaremba, W.: gym Openai. pracetak arXiv arXiv: 1606.01540 (2016)
definisikan. Kami berharap bahwa formalisasi yang disajikan dalam makalah Jaringan (MSN 2020) (2020)
9. Damele, B., Stampar, M.: panduan pengguna sqlmap. http://www.it docs.net/ddata/
ini tidak hanya memungkinkan pengembangan bot merah otomatis yang dapat
4956.pdf. Diakses 09-05-2020 (2011)
membantu dalam tugas pengujian penetrasi etis, tetapi juga mempromosikan 10. Elderman, R., Pater, LJ, Thie, AS: Pembelajaran penguatan permusuhan dalam
interaksi dan penelitian di kedua bidang pembelajaran mesin dan komputer. simulasi keamanan cyber. Tesis PhD, Fakultas Sains dan Teknik (2016)
keamanan: membantu pakar keamanan untuk menentukan tantangan yang
11. Fielding, R., Irivine, UC, Gettys, J., Mogul, J., Frystyk, H.: Permintaan komentar
realistis dan relevan yang memenuhi formalisme pembelajaran mesin, dan
2616, protokol transfer hypertext – http 1/1. https://tools.ietf.org/html/rfc2616.
menawarkan kepada pakar RL masalah yang merangsang yang dapat Diakses: 05-09-2020 (1999)
mendorong kemajuan dalam pembelajaran mesin. 12. Fonseca, J., Vieira, M., Madeira, H.: Menguji dan membandingkan alat pemindaian
kerentanan web untuk injeksi SQL dan serangan XSS. Dalam: Simposium
Internasional Lingkar Pasifik ke-13 tentang Koputing yang Dapat Diandalkan
Pendanaan Pendanaan akses terbuka disediakan oleh Universitas Oslo (termasuk (PRDC 2007) (2020)
Rumah Sakit Universitas Oslo). 13. Fraze, D.: Tantangan besar dunia maya (CGC). https://www.darpa.mil/program/
cyber-grand-challenge . Diakses 09-05-2020 (2016)
14. Ghanem, MC, Chen, TM: Pembelajaran penguatan untuk pengujian penetrasi
cerdas. Dalam: Konferensi Dunia Kedua 2018 tentang Tren Cerdas dalam Sistem,
Deklarasi
Keamanan, dan Keberlanjutan (WorldS4) (2018)
15. Ghanem, MC, Chen, TM: Pembelajaran penguatan untuk pengujian penetrasi
Konflik kepentingan Semua penulis menyatakan bahwa mereka tidak memiliki konflik
jaringan yang efisien. Informasi 11(1), 6 (2020)
kepentingan.
16. Grossman, J., Hansen, R., Petkov, D., Rager, A., Fogie, S.: Serangan XSS:
Eksploitasi dan Pertahanan Scripting Lintas Situs. Syngress (2007)
Hak asasi manusia dan hewan Artikel ini tidak berisi penelitian apapun dengan
partisipan manusia atau hewan yang dilakukan oleh salah satu penulis.
17. Hoffmann, J.: Simulasi pengujian penetrasi: Dari "Dijkstra" ke "Turing test++". Dalam:
Konferensi Internasional Kedua Puluh Lima tentang Perencanaan dan Penjadwalan
Akses Terbuka Artikel ini dilisensikan di bawah Lisensi Internasional Creative Commons Otomatis (2015)
Attribution 4.0, yang mengizinkan penggunaan, berbagi, adaptasi, distribusi, dan 18. Howard, M., LeBlanc, D., Viega, J.: 24 dosa mematikan keamanan perangkat lunak,
reproduksi dalam media atau format apa pun, selama Anda memberikan kredit yang dosa 2: Kerentanan terkait server web (XSS, XSRF, dan pemecahan respons).
sesuai kepada penulis asli dan sumbernya , berikan tautan ke lisensi Creative Commons, http://index-of.es/Miscellanous/24-DEADLY SINS-OF-SOFTWARE-
dan tunjukkan jika ada perubahan. Gambar atau materi pihak ketiga lainnya dalam SECURITY-2010.pdf. Diakses 2020-12-12 (2010)
artikel ini termasuk dalam lisensi Creative Commons artikel, kecuali dinyatakan lain
dalam batas kredit untuk materi tersebut. Jika materi tidak termasuk dalam lisensi 19. Howard, M., LeBlanc, D., Viega, J.: 24 dosa mematikan keamanan perangkat lunak,
Creative Commons artikel dan penggunaan yang Anda maksudkan tidak diizinkan oleh
dosa 4: Penggunaan URL ajaib, cookie yang dapat diprediksi, dan bidang formulir
peraturan perundang-undangan atau melebihi penggunaan yang diizinkan, Anda harus tersembunyi. http://index-of.es/Miscellanous/24-DEADLY SINS-OF-SOFTWARE-
mendapatkan izin langsung dari pemegang hak cipta. Untuk melihat salinan lisensi ini, SECURITY-2010.pdf. Diakses 2020-12-12 (2010)
kunjungi http://creativecomm ons.org/licenses/by/4.0/.
20. Johnson, G.: Inklusi file jarak jauh dan lokal dijelaskan. http://repositori.root-me.org/
Exploitation%20-%20Web/EN%20- _
123
Machine Translated by Google
Model Web Agen: memodelkan peretasan web untuk pembelajaran penguatan 309
%20Remote%20File%20Inclusion%20and%20Local%20File 36. Siddiqui, S., Verma, D.: Pemalsuan permintaan lintas situs: kelemahan
%20Inclusion%20explained.pdf. Diakses 12-09-2020 (2008) aplikasi web yang umum. Dalam: Konferensi Internasional tentang
21. Kettle, J.: Injeksi template sisi server: RCE untuk aplikasi web modern. https:// Perangkat Lunak dan Jaringan Komunikasi, ICCSN (2011)
www.blackhat.com/docs/us-15/materials/us-15- Kettle-Server-Side-Template- 37. Perak, D., Schrittwieser, J., Simonyan, K., Antonoglou, I., Huang, A., Guez,
%Injection-RCE-For-The-Modern Web-App-wp.pdf. Diakses 12-09-2020 A., Hubert, T., Baker, L., Lai, M., Bolton, A ., dkk.: Menguasai permainan
(2015) Go tanpa sepengetahuan manusia. Alam 550(7676), 354 (2017)
22. Krizhevsky, A., Sutskever, I., Hinton, GE: klasifikasi Imagenet dengan
jaringan saraf convolutional dalam. Dalam: Kemajuan dalam Sistem 38. Speicher, P., Steinmetz, M., Hoffmann, J., Backes, M., Künne mann, R.:
Pemrosesan Informasi Saraf, hlm. 1097–1105 (2012) Menuju analisis mitigasi jaringan otomatis. Dalam: Proceedings of the 34th
23. Lison, P., Mavroeidis, V.: Deteksi otomatis domain yang dihasilkan malware ACM/SIGAPP Symposium on Applied Computing, pp. 1971–1978 (2019)
dengan model saraf berulang. pracetak arXiv arXiv:1709.07102 (2017)
39. Stasinopoulos, A., Ntantogian, C., Xenakis, C.: Commix: mengotomatiskan
24. Maeda, R., Mimura, M.: Mengotomatisasi pasca-eksploitasi dengan evaluasi dan eksploitasi kerentanan injeksi perintah dalam aplikasi web.
pembelajaran penguatan yang mendalam. Hitung. Aman. 100, 102108 (2021) Int. J.Inf. Aman. (2019)
25. McDaniel, L., Talvi, E., Ba, H.: Menangkap bendera sebagai pengantar 40. Sutton, RS, Barto, AG: Pembelajaran Penguatan: Sebuah Perkenalan
keamanan siber. Dalam: Konferensi Internasional Hawaii Tahunan tentang tion. MIT Press, Cambridge (2018)
Ilmu Sistem (HICSS) (2016) 41. Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, AN,
26. Mnih, V., Kavukcuoglu, K., Perak, D., Rusu, AA, Veness, J., Bellemare, MG, Kaiser, ., Polosukhin, I.: Perhatian adalah semua yang Anda butuhkan.
Graves, A., Riedmiller, M., Fidjeland, AK, Ostrovski, G., et al.: Kontrol Dalam: Kemajuan dalam Sistem Pemrosesan Informasi Saraf, hlm. 5998–
tingkat manusia melalui pembelajaran penguatan mendalam. Alam 6008 (2017)
518(7540), 529–533 (2015) 42. Vinyals, O., Babuschkin, I., Czarnecki, WM, Mathieu, M., Dudzik, A., Chung,
27. Mnih, V., Badia, AP, Mirza, M., Graves, A., Lillicrap, T., Harley, T., Silver, D., J., Choi, DH, Powell, R., Ewalds, T., Georgiev, P., dkk.: Level Grandmaster
Kavukcuoglu, K.: Metode asinkron untuk pembelajaran penguatan dalam. di Starcraft II menggunakan pembelajaran penguatan multi-agen. Alam
Dalam: Konferensi Internasional tentang Pembelajaran Mesin, PMLR, hlm 575(7782), 350–354 (2019)
1928–1937 (2016) 43. Vlsaggio, CA, Blasio, LC: Kerentanan manajemen sesi di web saat ini.
28. Niculae, S., Dichiu, D., Yang, K., Bäck, T.: Mengotomatiskan pengujian Keamanan dan Privasi IEEE (2010)
etrasi pena menggunakan pembelajaran penguatan. https://stefan. eu/files/ 44. Wichers, D., Williams, J.: Owasp - 10 risiko keamanan aplikasi web teratas.
Automating%20Penetration%20Testing%20using https://owasp.org/www-project-top-ten/. Diakses 2020- 09-05 (2017)
%20Reinforcement%20Learning.pdf (2020)
29. Pettersson, A., Fjordefalk, O.: Menggunakan proses keputusan Markov dan 45. Zennaro, FM, Erdodi, L.: Memodelkan pengujian penetrasi dengan
pembelajaran penguatan untuk memandu penguji penetrasi dalam mencari pembelajaran penguatan menggunakan tantangan tangkap bendera dan
kerentanan web (2019) pembelajaran Q tabular. pracetak arXiv arXiv:2005.12632 (2020)
30. Pozdniakov, K., Alonso, E., Stankovic, V., Tam, K., Jones, K.: Audit
keamanan cerdas: pembelajaran penguatan dengan pendekatan jaringan
saraf dalam. Dalam: Konferensi Internasional 2020 tentang Kesadaran
Catatan Penerbit Springer Nature tetap netral sehubungan dengan klaim yuris
Situasi Siber, Analisis dan Penilaian Data (CyberSA), hlm. 1–8 (2020)
diksi dalam peta yang diterbitkan dan afiliasi institusional.
31. Rogers, R.: Audit Jaringan Nessus, edisi ke-2. Syngress, Burling
ton (2011)
32. Russell, R., Kim, L., Hamilton, L., Lazovich, T., Harer, J., Ozdemir, O.,
Ellingwood, P., McConley, M.: Deteksi kerentanan otomatis dalam kode
sumber menggunakan pembelajaran representasi yang mendalam. Dalam:
Konferensi Internasional IEEE ke-17 2018 tentang Pembelajaran Mesin
dan Aplikasi (ICMLA), IEEE, hlm. 757–762 (2018)
33. Sarraute, C., Buffet, O., Hoffmann, J.: Pengujian penetrasi == Pemecahan
POMDP? pracetak arXiv arXiv:1306.4714 (2013)
34. Schwartz, J., Kurniawati, H.: Pengujian penetrasi otonom menggunakan
pembelajaran penguatan. pracetak arXiv arXiv:1905.05965v1 (2019)
35. Shalev-Shwartz, S., Shammah, S., Shashua, A.: Aman, multi-agen,
pembelajaran penguatan untuk mengemudi otonom. pracetak arXiv
arXiv:1610,03295 (2016)
123