Peristiwa Memandu Sistem
desain Event driven menggunakan waktu nyata I/O untuk
melengkapi atau pengatur waktu sebagai pemicu penjadwalan tugas. Banyak waktu
nyata pada sistem Linux yang mengikuti model ini.
Tugas
yang dapat dijalankan lebih dulu adalah sebagai berikut:
·
Prioritas harus ditentukan oleh batasan
waktu (misalnya., ratemonotonic atau tugas prioritas monoton pada kebijakan batas
waktu).
·
Prioritas tugas juga dapat bergantung
kepada kepentingan ilmu semantik (tapi pendekatan ini akan menyebabkan masalah
schedulability).
Untuk
menghsilkan concurrency diperlukan sinkronisasi (misalnya., mutex, semaphor,
dsb.).
·
Untuk tanggapan yang dapat diramalkan,
mekanisme sinkronisasi harus menghindari prioritas balikan yang tak terhingga.
·
Untuk memelihara tanggapan yang dapat
diramalkan, peristiwa aperiodik harus memelihara batas pemanfaatan.
Semua
ilmu pengetahuan tentang teknik analisa monoton rate didiskusikan di pedoman
ini
berlaku
bagi peristiwa memandu sistem tanpa modifikasi apapun.
PENGANTAR
Pengertian Sistem event driven menurut [ Berson,
1992 ] adalah satu sistem objek yang saling berinteraksi satu dengan yang lain dengan
menggunakan mekanisme pesan. Mekanisme ini dikontrol oleh satu komponen berbeda
yang biasanya disebut event dispatcher.
Data yang dikomunikasikan disebut event dan data
tersebut dapat dimulai dari masukan yang tidak diproses di raw event (peristiwa
mentah) atau data tersebut mendapatkan hasil komunikasi di antara objek.
Objek dapat menerima event yang berbentuk pesan event, secara khusus panjang ditetapkan
yang disusun dari jenis event dan parameter event.
3.
PEKERJAAN TERKAIT
Di[ Forrester dan Pengilang, 2000
, et al. pengilang, 1995 ] ini terlihat
itu ketika
peristiwa memandu aplikasi diberi
makan dengan urutan acak dari peristiwa, mereka cenderung
ke kegagalan pemakaian. Pada
kenyataan, semua aplikasi yang diuji di[ Forrester dan Pengilang,
2000 ] ditemukan rentan ke pesan
peristiwa acak. Antara aplikasi
diuji, mereka mengatur untuk
menemukan kode membagi-bagi dimana parameter
dari pesan peristiwa diandalkan
cukup biasanya tongkat penunjuk dereference
yaitu satu sangat jaminan
sekuritas berbahaya berlatih. Pada keadaan lain, identifikasi
dari satu aplikasi yang didapat
pada satu pesan diandalkan ke derajat
bahwa ini dipergunakan secara
langsung tanpa meverifikasi ketepatan dari nilai.
Perbedaan di antara[ Forrester
dan Pengilang, 2000 , et al. pengilang,
1995 ] dan
kertas ini adalah itu terdahulu
menguji sebagian besar masalah di peristiwa memandu sistem
sebagai satu emisi keandalan
perangkat lunak. Di kertas ini kita menguji mereka pada
perspektif jaminan sekuritas.
Di[ Ghosh dan Voas, 1999 , 38–44
halaman], masalah dari keandalan perangkat lunak
dengan hormat ke batal yang
komersil kulit (RANJANG) perangkat lunak diuji
dan satu cara inokulasi perangkat
lunak disajikan. Mempergunakan satu inokulasi demikian
ilmu pengetahuan tentang teknik,
satu lapisan penapisan diletakkan pada tempatnya yang melindungi sistem operasi
panggil sistem dari doa dengan
parameter cacat.
4.
PERISTIWA MEMANDU KETIDAK-KEBALAN SISTEM
Kita menyajikan konvensi spesifik
untuk membantu pada analisa dari satu peristiwa memandu
ketidak-kebalannya sistem. Selain
itu, dimana ini adalah sesuai, kita menyediakan contoh
mempergunakan peristiwa GUI
memandu sistem.
4.1.
Konvensi
Penggunaan dari peristiwa yang
memandu sistem adalah untuk mengatur secara efisien objek kelipatan
yang melaksanakan pada waktu yang
sama dan saling berinteraksi dengan satu sama lain dan dengan
lingkungan. Korban dan penyerang
dapat objek dari event5 yang sama
memandu banyak tugas sistem.
Bagaimanapun, dengan kedatangan dengan sistem terdistribusi,
ini adalah kemungkinan untuk ini
dua kesatuan objek dengan peristiwa berbeda memandu banyak tugas
sistem. Sepanjang sistem
terdistribusi mendukung hantaran dari
peristiwa di antara membagikan
objek, statis bahasan ini terapkan. Penyerang
juga dapat satu alat perangkat
keras mampu dari pesan peristiwa kirim untuk tolak.
Ini dapat dicapai dengan
memanipulasi alat masukan.
Satu pesan peristiwa adat
didefinisikan sebagai satu pesan peristiwa itu mungkin punyai
dari bidang ini mulai apapun
nilai. Lebih dari itu, seperti tolak penghitungan kita mendeskripsikan
perolehan kembali dengan data
deskriptif dari objek tersedia pada satu peristiwa memandu sistem.
Data ini harus menjadi cukup
untuk mengidentifikasi aplikasi yang adalah berlari. Selain itu,
mereka harus berisi keterangan
sesuai untuk mengijinkan objek lain
untuk mengirimkan peristiwa
untuknya.
Korban dapat satu aplikasi telah
berlari atau sesuatu memulai oleh
penyerang dan terkontrol oleh
kirim menyesuaikan pesan peristiwa.
Sistem operasi modern menyediakan
seperangkat hak istimewa yang mungkin diberikan ke
pengguna. Secara khas, pengurus
menggenggam beberapa hak istimewa sementara pengguna lain punya
jauh kurang. Objek, di proses
skenario ini, yang dilaksanakan di bawah masing-masing pengguna
secara normal mewariskan hak
istimewa mereka. Dengan demikian sesuatu dapat membuat perbandingan di antara
memproses seperti menjadi kurang
lebih istimewa dibandingkan yang lain bergantung kepada apakah
mereka menguasai atau kekurangan
satu hak istimewa. Satu pelanggaran jaminan sekuritas dapat mengambil tempat
kalau satu serang
objek dapat mengambil keuntungan
dari hak istimewa yang dimiliki oleh objek korban.
Ini dapat dilakukan oleh
pemanfaatan satu ketidak-kebalan jaminan sekuritas.
4.2.
Kondisi
Peristiwa berbeda memandu sistem
mempunyai karakteristik berbeda dengan hormat ke
penanganan dari peristiwa. Karena
kami tidak dapat menangkap semua sistem di group tunggal,
kita memikirkan seperangkat kondisi
atau kebutuhan dari keberadaan dari karakteristik.
Sementara mendeskripsikan
ketidak-kebalan di bagian 4.4 , kita menyajikan kondisi yang mana
harus dijumpai sangat bahwa
mereka dapat mulai berpengaruh.
Penghitungan kondisi perlukan objek itu harus mampu
untuk sebut satu persatu
objek dari peristiwa yang memandu
sistem dan mendapat kembali keterangan deskriptif
itu dapat tolong untuk menaiki
satu gempuran.
Penghitungan dari objek adalah
satu fasilitas umum dan di situ umumnya
tidak ada pembatasan memaksakan
seperti kemana objek dapat disebut satu persatu.
Kirim kondisi perlukan objek itu harus mampu
untuk mengirimkan pesan peristiwa,
mungkin sesuatu kebiasaan, ke
objek lain. Ini liputi, tapi bukan
dibatasi ke, tidak peristiwa
istimewa kirim objek untuk paling tidak jenis sesuatu dari
objek dari hak istimewa lebih
tinggi.
Kemampuan untuk mengirimkan
peristiwa untuk apapun penerima tanpa apapun kontrol akses adalah
umum di peristiwa memandu sistem
dan secara khas sehubungan dengan architec6 mereka
ture. Ini diamati ketika
pengarang yang terapkan satu multithreaded sederhana
peristiwa memandu sistem.
Terperinci, untuk mengirimkan satu peristiwa ke lain
objek, satu aplikasi memohon satu
prosedur diekspor dari dispatcher peristiwa
itu tempat peristiwa pada
peristiwa di mana antri dari sistem. Peristiwa
dispatcher mencek antri ini untuk
tidak pesan kirimkan dan membagikan
mereka ke individu menolak antri.
Cara untuk menempatkan pesan
pada antri pesan dari peristiwa
dispatcher tidak mempertimbangkan satu
efisien dan mekanisme foolproof
untuk mengidentifikasi sumber.
Pintasan kondisi perlukan objek itu harus mampu
untuk jegal
pesan peristiwa dari objek lain.
Ini meliputi tidak objek istimewa
menginterupsi peristiwa dari
objek dengan hak istimewa lebih tinggi.
Fasilitas pintasan secara normal
terpakai untuk penggunaan debugging dan ke
bantu perangkat lunak otomoatis
menguji.
4.3.
Referensi praktis
Sebagai satu contoh, kita
mendeskripsikan kondisi yang mana dideskripsikan di 4.2 ada tersedia
pada peristiwa khas memandu
sistem. Kita mendaftarkan Windows9x / NT / 2000 beroperasi
Java sistem dan umum implementasi
Mesin Maya.
Tabel
1. Acuan Kondisi dan Peristiwa memandu alam lingkungan
Windows
kondisi 9x Window NT / 2K Fitur Tambahan Java 3
Ya
penghitungan Ya Tidak Ada 2 Tidak ada 3
Mengirimkan
Ya Tidak Ada 2 Tidak ada 3
Ya
pintasan Tidak Ada 1 Tidak ada 2
Tidak
ada 3
Di Windows 9x tidak ada mekanisme
kontrol akses terpaksa dan alhasil
ada tidak ada ketetapan untuk
perlindungan dari hantaran dari peristiwa di antara
proses. Di Window NT / 2000 di
situ adalah satu mekanisme kontrol akses dan
proses tidak dapat menginterupsi
pesan yang diperuntukkan ke satu proses dengan lain
pengguna.
Kita menyediakan kode contoh
untuk tiga kondisi menyajikan di 4.2 penggunaan
Sistem operasi Windows sebagai
satu referensi.
Penghitungan kondisi
EnumWindows( (WNDENUMPROC)lpMyEnumFunc, (LPARAM)myarray);
1
Ini
ada tersedia ketika penyerang dan korban berjalan kepunyaan pengguna yang sama.
2
Ini
ada tersedia ke applets memulai dari basis kode yang sama.
3
Karena
masing-masing applet dilaksanakan pada satu JVM terpisah.
7
Perintah ini membuat satu
callback berfungsi dipanggil lpEnumFunc dan lewati
ini ke sistem untuk melaksanakan
iteratively ini untuk masing-masing jendela tersedia. Ini
fungsi dapat mempergunakan
argumen detik untuk mengembalikan kembali program utama
keterangan identifikasi dari
tunjangan Windows.
Kirim kondisi
PostMessage (hWnd_victim, WM_CLOSE, 0, MEMASUKI );
Perintah ini mengirimkan satu
pesan peristiwa ke proses korban itu di sini
contoh memaksa ini untuk akhiri.
Pintasan kondisi
g_hExistingHook = SetWindowsHookEx( WH_KEYBOARD,
(HOOKPROC)g_HookProc,
g_hInstance, MEMASUKI );
Setelan perintah ini satu
cangkuk, satu prosedur itu akan mampu untuk mendapat semua
papan tombol berhubungan pesan
sebelum penerima nyata.
Sebagai satu catatan sisi, di
Windows 2000 satu pengguna dapat melaksanakan satu aplikasi dengan
identitas lain dengan memohon runas
perintah garis perintah.
Pada kasus dari Java saat ini ada
tersedia di software penjelajah, Java applets mampu untuk
berlari pada mesin maya yang sama
kejadian dan hubungan dengan satu sama lain.
Bagaimanapun, komunikasi ini
adalah sangat terbatas, ancaman minimal bersikap. Untuk
contoh, beberapa software
penjelajah memerlukan bahwa applets memulai dari server yang sama
atau mulai selain itu dari direktori
yang sama alur pada server. Lebih baru
software penjelajah tidak
mempunyai Java internal mendukung dan mereka mengatur jalankan applets Java
dengan membuat penggunaan dari
satu plugin memanggil Fitur Tambahan Java. Secara khas, masing-masing applet
dari
halaman web yang sama
dioperasikan pada satu mesin maya berbeda, membuat inter applet
peristiwa penggunaan komunikasi
infeasible.
4.4.
Jenis dari ketidak-kebalan
Kita memberikan daftar dari jenis
dari ketidak-kebalan itu dapat memunculkan oleh eksploitasi dari
peristiwa di peristiwa memandu
sistem. Jenis ini digolongkan oleh jaminan sekuritas akibat
dari eksploitasi, dan seiring
dengan uraian yang kita sediakan kondisi
itu kebutuhan dijumpai sangat itu
masing-masing gempuran adalah kemungkinan.
4.4. 1 Pengingkaran jasa. Penghitungan
kondisi dan Kirim harus
dijumpai agar melaksanakan satu
pengingkaran gempuran jasa. Satu urutan peristiwa adat
pesan dikirimkan ke korban oleh
penyerang. Kegagalan pemakaian korban, pimpinan
ke rugi dari availabilitas ke
korban sendiri dan mungkin ke peristiwa yang memandu sistem
juga.
Dengan jelas, objek korban harus
peka ke roboh satu kali seperti itu
urutan dari pesan peristiwa
didapat. Bagaimanapun, seperti[ Forrester dan Pengilang,
2000 , et al. pengilang, 1995 ] telah perlihatkan,
ini adalah sangat umum.
8
Pada satu aplikasi gambar,
pengguna dapat menggambar satu baris dengan menekan
mouse tombol, menyeret mouse
kemudian melepaskan mouse tombol. Di sini
tiga prosedur langkah, aplikasi
gambar mendapat pesan berikut
dari alat mouse.
WM_LBUTTONDOWN WM_MOUSEMOVE WM_LBUTTONUP WM_MOUSEMOVE
Penyerang dapat mengirimkan satu
detik WM LBUTTONDOWN sebelum mouse
tombol penekan sebenarnya
diangkat. Keadaan seperti itu melihat sangat mau tidak mau untuk terjadi
dan juru program akan mungkin
tidak mencek kebenaran dari program source kalau
ini terjadi. Kalau satu alat
cacah (dari pada satu bendera) adalah dipergunakan untuk jejaki apakah
mouse tombol turun atau menaiki,
kemudian aplikasi dapat semakin rancu dan
akan mempertimbangkan bahwa mouse
tombol ditekan bulu halus sejak semula.
Perangkat lunak mouse dari satu
pabrikan populer alat tikus menawarkan hak suara
untuk menirukan mengklik dobel
pesan mempergunakan satu klik-tunggal dari pertengahan
mouse tombol. Yang, untuk
mengirimkan dua peristiwa WM LBUTTONDOWN, masing-masing pengambilan
menempatkan dengan cepat satu
demi satu. Dengan demikian, pengguna dapat menekan tombol kiri
dan klik tombol penekan
pertengahan menghasilkan pada tiga pesan pengklikan bawah
sebelum tombol kiri dilepaskan.
Lagipula, ini telah teruji itu di semua
versi dari Windows dimana
perangkat lunak tikus ini didukung (yang, dari
Windows awal 3.1 sampai Windows
2000), pengguna mampu untuk penggunaan tengah
kancingkan fasilitas untuk
mengacaukan komponen scrollbar pada apapun aplikasi. Pengguna
hanya punyai untuk klik yang manapun
salah satu tombol penekan panah dan mouse seret berlalu
scrollbar, posisikan mouse pada
scrollbar dan akhirnya klik pertengahan
tombol penekan. Hasil adalah satu
terlihat scrollbar terubah-bentuk.
4.4. 2 Modifikasi dari aplikasi
berlari. Penghitungan kondisi
dan Kirim harus dijumpai agar
memodifikasi satu aplikasi berlari.
Modifikasi ini adalah praktek
umum bahkan pada aplikasi sah. Kalau
aplikasi mau mengubah status dari
satu kotak teks dari memperbolehkan untuk lumpuhkan
sehingga yang adalah pertunjukan
yang ini adalah tidak lagi di penggunaan, ini mengirimkan satu lumpuhkan pesan
ke
komponen spesifik. Seyogyanya,
mekanisme yang sama biasanya berganti satu
teks bertinju dari hanya dapat
dibaca ke satu sesuatu yang dapat diubah dan bolak balik.
Bagaimanapun, terpisah dari
kelayakan teknis untuk memodifikasi satu aplikasi berlari,
satu penyerang dapat menemukan
penggunaan lain. Antara lain, ketika menginstal satu aplikasi,
pengguna secara khas satu pemakai
akhir terlihat kesepakatan lisensi (EULA) bahwa dia
atau dia yang harus menantikan
untuk agar berlanjut dengan instalasi. Kesepakatan ini
diperlihatkan pada satu kotak
teks yang secara normal hanya baca sangat bahwa ini tidak dapat dimodifikasi.
Agar berlanjut dengan instalasi,
pengguna yang punya tak lain hak suara dibandingkan ke
pilih Terima tombol
penekan radio, secara implisit menerima lisensi terlihat. Bagaimanapun,
satu penyerang dapat dengan mudah
mengirimkan satu peristiwa pesan crafted ke teks EULA bertinju
itu akan mengonversi ini ke satu
sesuatu yang dapat diubah. Kemudian, ini dapat teredit sesuka hati sebelum
memilih Terima dan
lanjutan. Keberadaan dari modifikasi seperti itu proce9
dure tidak membuat tidak berlaku
lisensi sejak penyerang dengan sengaja memodifikasi
materi lisensi. Bagaimanapun, ini
sepertinya mudah bagi penyerang peristiwa kebetulan ke
yakini bahwa dia atau dia sedang
membypass lisensi. Dalam hal keadaan dari kebingungan,
penjual harus menolak apapun
mungkin modifikasi.
4.4. 3 akses tanpa otorisasi
untuk tolak. Ketika Penghitungan Kondisi
dan Kirim dijumpai, apapun objek
dapat mengirimkan peristiwa untuk lain objek. Dengan demikian, satu
tidak objek istimewa dapat
memanipulasi satu objek istimewa dengan mengirimkan peristiwa.
Pada sistem operasi Windows, satu
kuda unpriviledged trojan dapat kirimkan
satu urutan sesuai dari peristiwa
untuk menambahkan satu rekening lagi administratif, kalau
Pengurus login. Jika tidak, kuda
trojan dapat sebentar lagi melumpuhkan
satu pribadi firewall agar mengomunikasikan
dengan Internet.
Sebagai alternatif, penyerang
dapat menginterupsi kata sandi dari pengurus
sementara belakangan sedang
mencoba untuk membuktikan keaslian sendiri ke satu jasa. Pengesahan
memprosedur umumnya melibatkan
masuk dari satu username dan kata sandi pada dua
textboxes. Kata sandi textbox
yang punya satu setelan hak milik pertunjukan itu asterik di
tempat dari masing-masing
karakter dari kata sandi diketik. Satu hak milik selanjutnya adalah tersebut
tidaklah mungkin untuk melaksanakan
satu operasi salinan dan pasta di sini textbox.
ketidakbecusan untuk melaksanakan
satu operasi salinan dan pasta sehubungan dengan yang pertama hak milik
tersebut
sembunyikan input pengguna. Kalau
di situ adalah tidak ada perlindungan demikian, penyerang dapat kirimkan
pesan
PostMessage (hWnd_victim, EM_SETSEL, 0, -1 );
PostMessage (hWnd_victim, WM_COPY, 0, MEMASUKI );
untuk memilih teks kata sandi dan
salinan ke papan tulis kecil lokal.
Bagaimanapun, penyerang dapat
membypass perlindungan ini dengan melumpuhkan passwordhiding
hak milik sebentar lagi agar
melaksanakan operasi salinan dan pasta
dan sesudah itu pemungkinnya lagi
dengan pesan ini
PostMessage (hWnd_victim, EM_SETPASSWORDCHAR, 0, MEMASUKI );
... perforn salin dan lekatkan operasi sebagai di atas...
PostMessage (hWnd_victim, EM_SETPASSWORDCHAR, '*', MEMASUKI );
PostMessage (hWnd_victim, EM_SETSEL, 0, MEMASUKI );
Operasi ini mengambil tempat
dengan cepat cukup sangat itu korban tidak mengamati
satu perubahan visuil.
4.4. 4 Pelaksanaan dengan kode
dengki. Penghitungan kondisi dan Kirim
harus dijumpai agar melaksanakan
kode berubah-ubah atau dengki.
Pesan peristiwa adalah satu
struktur dengan panjang tetap dan terbatas dan sesuatu akan
harapkan bahwa ini tidak
mengijinkan kode dengki disampaikan ke korban.
penyerang harus meletakkan kode
dengki pada ruang alamat dari penggunaan korban
satu metode tak langsung seperti
memaksa untuk baca satu file. Dengan demikian, mempergunakan satu peristiwa
adat
urutan kode ini dapat
dilaksanakan.
10
Skenario lain adalah sebagai
kombinasi dengan over produksi penyangga. Penyerang
kirimkan urutan kebiasaan dari
pesan peristiwa sangat itu satu over produksi penyangga dapat
oleh penuhi.
Satu contoh dengan sistem operasi
Windows adalah sebagai penggunaan dari
PENGATUR WAKTU pesan WM untuk
melaksanakan kode adat. Di Windows 2000, satu aplikasi
tidak dapat melaksanakan kode itu
tidak bercokol di dalamnya ruang alamat. Dengan demikian,
penyerang harus menemukan satu
telah fungsi tersedia pada aplikasi korban dan
laksanakan ini. Perintah
diperlihatkan di bawah.
PostMessage (hwnd_Victim, WM_TIMER, (WPARAM)0, (LPARAM)0x76f7a3);
Ini adalah sangat penting agar
mampu menyediakan satu prosedur sah menunjuk sebagai
parameter ke-empat. Ini telah
diuji dengan alamat dari PostQuitMessage()
berfungsi tutup itu aplikasi
berlari dan dengan alamat dari satu internal
berfungsi pada aplikasi korban.
4.4. 5 Pintasan Peristiwa. Penghitungan
kondisi dan Pintasan
harus dijumpai agar
mengidentifikasi objek korban dan menginterupsi peristiwa
diperuntukkan ke ini. Mampu untuk
jegal peristiwa yang mengirimkan ke satu objek mengijinkan
penyerang untuk melanggar
kerahasiaan dari hanyalah arah sesuatu dari komunikasi objek
dengan sistem.
Pada satu lingkungan GUI,
menginterupsi peristiwa papan tombol dapat dengan mudah mengungkapkan
pengesahan memperinci yang telah
diketik dengan papan tombol.
Pada satu keadaan lain randomness
pada pasangan kunci generasi dari satu umum
mengunci algoritma adalah
berlandaskan mouse bergerak pengguna pada arah acak pada
layar. Menginterupsi gerakan
mouse dapat pimpin ke hitungan dari
kunci pribadi.
4.4. 6 Satu jalan lebar tambahan
dari gempuran. Ini menunjuk ke Penghitungan
Kondisi,
Mengirimkan dan Pintasan dan
kemampuan untuk menyerang alat perangkat keras
sukai kartu cerdas atau peristiwa
terjamin yang lain memandu alat.
Dalam hal alat, penyerang dapat
menghasilkan peristiwa mentah tiruan itu dapat
sesudah itu menjadi disemprot
secara elektronis ke dalam peristiwa yang memandu alat. Ini dapat
sebabkan alat perangkat keras ke
kegagalan pemakaian, membypass halangan jaminan sekuritas atau bahkan
ungkapkan informasi rahasia. Area
ini adalah satu jalan lebar alternatif belum diselidiki
untuk mengarahkan gempuran
melawan kartu cerdas atau alat serupa.
Alat perangkat keras lain yang
dapat korban dari gempuran ini dapat Titik
Dari Penjualan sistem. Ini secara khas
menawarkan berbagai alat masukan seperti touchscreens,
tikus-tikus atau papan tombol.
Lagi, ini kemungkinan untuk menyemprot secara elektronis kebiasaan
peristiwa mentah. Antara lain,
ini adalah umum di beberapa konfigurasi dari sistem tersebut
buat penggunaan dari mouse untuk
melumpuhkan tombol kanan (itu biasanya menyediakan satu
menu dari hak suara)
mempergunakan perubahan mekanik ke alat sendiri. Satu penyerang
dapat tentang memperbolehkan
kemampuan ini. Tombol kanan biasanya memperlihatkan
11
hak milik dan aksi sah dari
komponen layar. Ini biasanya
mohon kulit sistem dan
mengijinkan akses penuh ke alat.
Pada bandar udara dari satu kota
Orang Eropa utama di situ adalah kios Internet yang memperbolehkan
pengguna untuk melayari Internet
untuk bebas dan pembelian perbuatan. Ini kemungkinan ke
restart atau bekukan sistem hanya
dengan menyeret dan menjatuhkan satu komponen
dari Windows dari proses yang
ditempatkan pada area lebih rendah dari layar ke
jendela dari proses yang
menempatkan ada di puncak. Sesudah itu, ini dapat menjadi kemungkinan
untuk campur tangan pada
pengebotan proses dan ambil alih sistem. Alasan
aplikasi menyebabkan sistem untuk
merestart adalah karena salah satu kedua-duanya aplikasi
mengoperasikan kelihatannya tidak
pengkodean dengan benar ketika ini mendapat WM LEKATKAN
pesan.
Akhirnya, di secara elektris alam
lingkungan tidak stabil, gangguan elektrik mungkin
jadilah menerjemahkan ke dalam
peristiwa mentah adat dan kegagalan pemakaian cetus.
5.
ANALISA
Ketidak-kebalan yang disajikan di
4.4 terjadi untuk dua alasan-alasan.
Pertama-tama, ada umumnya tidak
ada mekanisme kontrol akses dengan hormat ke
penghitungan dari objek, kirim
dari peristiwa dan pintasan dari peristiwa
di peristiwa memandu sistem. Ini
sebagian besar sehubungan dengan keaiban kinerja oleh
menambahkan kontrol akses dan
kompleksitas penanganan dari ketentuan kontrol akses.
Yang kedua, umumnya disepakati
sulit ke kontrol dampak dengan peristiwa berbentuk tidak sempurna
dikirimkan ke satu objek. Satu
status perubahan objek melalui interaksi dengan
lingkungan. Kalau jaminan
sekuritas ini memperoleh compromised, kemudian ini sehubungan dengan
internalnya
logika tidak mampu untuk saring
secara efisien input.
Ketidakbecusan untuk mengontrol
secara efisien input ke satu objek dijelma
pada over produksi penyangga 2
[ Gollmann, 1999
, Sesuatu alif, 1996 , Empu, 1997 ] ketidak-kebalan.
Di jenis ini dari
ketidak-kebalan, batas tidak pantas pengecekan dari
penyangga internal dapat
menyebabkan struktur data lain dari korban ditimpa
dengan data adat, memimpin ke satu
berkompromi jaminan sekuritas.
Kita memperlihatkan persamaan di
antara penyangga membanjiri dan ketidak-kebalan di
peristiwa memandu sistem.
Kedua mereka umumnya timbul pada
tahap implementasi. Sementara mendisain
satu aplikasi, ahli analisa
perangkat lunak sedang mengerjakan satu taraf tinggi
dari pengecekan that do not
abstrak batas array pada semua input data
atau lindungi peristiwa yang
memandu objek dari mendapat peristiwa pada satu adat
urutan. Seperti terlihat di
Bagian 3 , emisi ini ditinggalkan ke keterampilan dari
juru program dan bantuan dari
bahasa atau mengembangkan lingkungan ke
tangkap mereka. Sementara di
aplikasi kekecilan ini secara relatif mudah untuk hindari
kesalahan, di sesuatu besar
kompleksitas tampak meliputi.
2
Juga
ketahui saat penyangga luapi.
12
Kedua mereka dapat membuat
aplikasi ke kegagalan pemakaian. Ini telah
diukur di keduanya penyangga
banjiri[ Dawson et al., 1997 , Forrester
dan
Pengilang, 2000 , et al. pengilang, 1995 , Shelton et al., 2000 ], dan peristiwa memandu
ketidak-kebalan sistem[ Forrester
dan Pengilang, 2000 , et al. pengilang,
1995 ].
Kedua mereka harus memanfaatkan
beberapa berbagai dengan aplikasi istimewa dalam urutan
yang dipertimbangkan bahwa mereka
mengikis jaminan sekuritas. Di keduanya skenario berada
aplikasi mengoperasikan dengan
hak istimewa berbeda. Sementara ketidak-kebalan ini
hadir di semua jenis dari
aplikasi, mereka terlihat seperti mempertimbangkan
bukan kritis untuk penjual
mereka[ et al. pengilang, 1995 ].
Kedua mereka memberikan satu
ukuran relatif dari mutu dari perangkat lunak, ketika
dicheck-in rasio besar dari tidak
objek istimewa.
Kedua mereka memimpin ke
pengingkaran dari jasa itu ketika menyelidiki mungkin ijinkan
pelaksanaan kode dengki.
Sekarang ini, penyangga
membanjiri jadilah lebih meneliti dibandingkan ketidak-kebalan di
peristiwa yang memandu sistem.
6.
TINDAKAN BALASAN
Apapun tindakan balasan harus
memfokuskan pada kedua kelemahan dari eventdriven
sistem. Ketidakbecusan untuk
menentukan asal dari satu peristiwa dan kesulitan
untuk memastikan bahwa satu objek
akan berfungsi dengan benar bagi seluruh kombinasi dari
diterima peristiwa.
Dalam urutan untuk satu objek
dengki untuk menyerang satu peristiwa memandu sistem, ini harus
mampu untuk lakukan satu
penghitungan dari objek tersedia kemudian mengirimkan peristiwa ke mereka.
Satu mekanisme pada sistem harus
membatasi penghitungan objek dan kirim
dari peristiwa untuk objek yang
terperinci meminta ini. Yang, satu objek harus
mampu untuk menjadi secara
parsial tak kelihatan ke objek lain. Aplikasi sendiri
harus menjadi tampak untuk
menghindari sembunyi dari trojan mengudai objek, bagaimanapun kritis
komponen harus dapat menjadi
tersembunyi. Sembunyi ini harus menjadi tidak dapat dibatalkan dan
tersisa semasa seumur hidup dari
objek.
Selain itu, di sana harus menjadi
satu ulasan keamanan dari jenis tersedia dari
peristiwa dan itu yang berpotensi
berbahaya, seperti itu yang referensi kartu tanda lewat
ke ingatan, harus flagged seperti
halnya. Kemudian, selama inspeksi jaminan sekuritas
dari program source, jenis
peristiwa ini harus dicek apakah mereka
dapat dimanfaatkan.
Lagipula, peristiwa dispatcher
harus mengidentifikasi yang peristiwa tersebut
dikirimkan dari menolak berbeda
dengan peristiwa yang mengirimkan dari sumber lain menyukai input
alat atau sistem sendiri.
Prosedur sistem dipergunakan oleh objek untuk kirimkan
pesan dapat bendera mereka
sebagai tidak kuat dan maju mereka ke satu komponen firewalling.
Sebagai alternatif, aplikasi
sendiri dapat mengambil pemberitahuan bendera istimewa
dan tangani peristiwa ini
bersesuaian.
13
Lebih dari itu, di evaluasi
jaminan sekuritas dari alat penghitung, seperti itu otomoatis
machinces tukang cerita (ATMs),
di sana harus menguji untuk ancaman untuk menyemprot
peristiwa dengki.
Akhirnya, cara dari inokulasi
seperti itu disajikan di[ Ghosh dan Voas,
1999 ] dapat menyediakan taraf
suatu dari jaminan sekuritas dengan menyaring pesan peristiwa dengki.
Walau ini menurunkan pangkat
kinerja, ini adalah satu solusi ke perangkat lunak RANJANG.
7.
KESIMPULAN
Kita menyajikan seperangkat
ketidak-kebalan pengaruh itu peristiwa memandu sistem dan mengikis
jaminan sekuritas mereka.
Ketidak-kebalan ini disebabkan oleh dua utama alasan.
Pertama-tama, ini sulit untuk
menentukan asal dan integritas dari peristiwa
dikirimkan ke satu aplikasi,
dengan demikian pemungkin bukan kirim bersifat membatasi dari peristiwa yang
mengijinkan
sangat kontrol kuat dari objek
korban. Yang kedua, ini adalah sangat sulit
untuk memastikan perilaku benar
dari satu objek ketika ini mendapat secara khusus crafted
peristiwa.
Kita menggolongkan
ketidak-kebalan berlandaskan dampak mereka yang punya pada korban
objek. Masing-masing
ketidak-kebalan memerlukan keberadaan dari primitif spesifik oleh
peristiwa yang memandu sistem.
Untuk masing-masing kategori, kita mendaftarkan dibutuhkan yang primitif.
Menyelesaikan ketidak-kebalan di
peristiwa memandu sistem memerlukan aksi pada dua arah.
Pertama-tama, mengidentifikasi
asal dari kontrol akses peristiwa dan penerapan.
Yang kedua, meverifikasi bahwa
objek mengatur untuk berfungsi dengan baik ketika secara khusus
peristiwa crafted dikirimkan.
Kegagalan pemakaian dari aplikasi
sehubungan dengan dahan gelap dari peristiwa adat punya
persamaan dengan penyangga
membanjiri dan mengikuti prinsip yang sama yang mana mengatakan tersebut
satu objek terjaminnya harus
mampu untuk pegangan semua masuki pada satu cara disanitasi.
Jika tidak, penyerang dapat
menyebabkan pengingkaran dari jasa, pelaksanaan dengan dengki
kode, modifikasi dari aplikasi
berlari, akses tanpa otorisasi untuk menolak dan
pintasan peristiwa.
Lagipula, ketidak-kebalan ini di
peristiwa memandu sistem dapat dipertimbangkan
sebagai jalan lebar lain untuk
penyerang untuk eksploitasi dan derajat lain dari
kompleksitas untuk pengembang
perangkat lunak untuk menyediakan jaminan sekuritas.
Akhirnya, sejak ini sedang
menjadi umum lagi untuk mempunyai peristiwa multi-user pandu
sistem dan peristiwa memandu
sistem menjadi terdistribusi, kita meyakini bahwa eventdriven
ketidak-kebalan sistem akan mulai
mempunyai akibat negatif sangat segera di
jaminan sekuritas perangkat
lunak.
PENGAKUAN
Keinginan pengarang untuk
mengucapkan terima kasih Chris Mitchell, Burung Martin Keith, Dieter Gollman
dan Robert Carolina untuk input
mereka ke kertas ini.
3 komentar:
terimakasih...
sangat...sangaaaat...sangaaat bermanfaat... :)
terimakasih...
sangat...sangaaaat...sangaaat bermanfaat... :)
kembali kasih :)
Posting Komentar