Kod cangkerang: Perbezaan antara semakan

Kandungan dihapus Kandungan ditambah
Kekacang (bincang | sumb.)
Kurniasan (bincang | sumb.)
kerangka -> cangkerang; NUL kepada ->null; huruf Null -> aksara null; rantaian -> rentetan
Baris 1:
Dalam [[keselamatan komputer|keselamatan komputer (''computer security'')]], '''kod kerangkacangkerang (''shellcode'')''' merupakan [[kod mesin]] [[pengisi program|boleh alih]] yang digunakan sebagai bebanan dalam mempergunakan pepijat perisian. Ia dikenali sebagai "kod kerangkacangkerang" kerana ia biasanya melaksanakan kerangkacangkerang perintah (''command shell'') yang membolehkan penyerang mengawal mesin yang terdedah. Disebabkan fungsi bebanan tidak terhad kepada sekadar menyalin dalam kerangkacangkerang, sesetengah pihak berpendapat bahawa nama kod kerangkacangkerang tidak tepat.<ref>''Sockets, Shellcode, Porting, & Coding: Reverse Engineering Exploits and Tool Coding for Security Professionals.'' by James C. Foster and Stuart McClure (April 12, 2005). ISBN 1-59749-005-9</ref> Bagaimanapun, usaha menggantikan istilah ini tidak diterima ramai.
 
Kod kerangkacangkerang boleh disimpan dalam proses ruang ingatan dan kemudiannya dilaksanakan menyebabkan penyerang mendapat kawalan [[penghintung perisian|penghintung perisian (''program counter'')]] dengan menggunakan kelemahan seperti [[peruntukan ingatan berasaskan tindanan|peruntukan ingatan berasaskan tindanan (''stack-based memory allocation'')]] dan [[Peruntukan ingatan dinamik|Peruntukan ingatan dinamik (''Dynamic memory allocation'')]] -berasaskan [[limpahan penimbal]], atau [[serangan format rantaianrentetan|serangan format rantaianrentetan (''format string attacks'')]]. Terdapat beberapa kaedah mengawal [[penghintung perisian]] yang berbeza antara sistem pengendalian dan seni bina pemproses termasuk tulis tindan (''overwriting'') [[alamat kembali]] yang tersimpan dalam kerangkacangkerang tindan (''stack frame'') dan menindan [[pengendalian pengecualian|pengendalian pengecualian (''exception handlers'')]].
 
==Strategi perlaksanaan kod kerangkacangkerang==
 
Sebahagian besar kod kerangkacangkerang ditulis tanpa penggunaan bait penamat [[hurufaksara Nullnull|NULnull]] kerana ia bertujuan untuk dimasukkan ke dalam jujukan huruf (''character arrays'').
 
 
Bait [[hurufaksara Nullnull|NULnull]] yang terdapat dalam rantaianrentetan akan menamatkan perlaksanaan kod kerangkacangkerang sebelum tiba masanya. Untuk menghasilkan kod kerangkacangkerang sedemikian, seseorang boleh mengkompil aturcara bebanan dengan [[pengkompil]] (sering kali [[bahasa pengaturcaraan C|C]]) dan kemudiannya menggantikan perintah dengan yang mengandungi sifar dengan perintah lain yang mempunyai kesan yang sama tetapi tanpa bait sifar. Sebagai contoh, melalui perintah sistem [[32-bit]] [[x86]]:
[[MOV (x86 instruction)|mov]] eax, 1
mengandungi sifar sebagai sebahagian dari harafian (<tt>1</tt> dikembangkan kepada <tt>0x00000001</tt>), dengan itu menamatkan rantaianrentetan. Ini boleh ditulis sebagai dua perintah:
xor eax, eax
inc eax
Baris 16:
 
==Lihat juga==
* [[kerangkacangkerang (komputerpengkomputeran)]]
* [[limpahan penimbal|limpahan penimbal (''Buffer overflow'')]]
* [[limpahan Heap overflow]]
Baris 26:
 
==Pautan luar==
* [http://www.phrack.org/archives/49/P49-14 Pengenalan kepada limpahan bufer dan kod kerangkacangkerang]
*[http://www.infosecwriters.com/text_resources/pdf/basics_of_shellcoding.pdf Asas kepada mengenkod kerangkacangkerang (''Shellcoding'')] (PDF) An overview of [[x86]] shellcoding by [http://www.rosiello.org/ Angelo Rosiello]
* [http://www.shellcode.com.ar/docz/bof/Writing_shellcode.html Pengenalan kepada pembangunan kod kerangkacangkerang.]
* [http://www.metasploit.com/shellcode.html Contains x86 and non-x86 shellcode samples and an online interface for automatic shellcode generation and encoding, from the Metasploit Project]
* [http://www.shellcode.org/ Contains x86 and non-x86 shellcode samples]
* [http://www.linux-secure.com/endymion/shellcodes/ a shellcode archive, sorted by Operating system].
* [http://www.milw0rm.com/papers/11 Microsoft Windows and Linux shellcode design tutorial going from basic to advanced].
* [http://www.vividmachines.com/shellcode/shellcode.html Panduan kod kerangkacangkerang Windows dan Linux dengan contoh langkah demi langkah].
* [http://www.enderunix.org/docs/en/sc-en.txt Menghilangkan mitos mereka kod kerangkacangkerang]
 
[[Kategori:Keselamatan komputer]]