Tabula I · isim-kökeni referansı
The Nomenclature of Exploitation
Adların da bir tabiî tarihi vardır. Bu eksen exploit terimlerinin ne olduğunu değil, neden öyle adlandırıldığını toplar: kökenlerini ailelere göre ayırır, birkaçının birbirinden nasıl türediğini not eder. Sangin † işareti, terimin KB'de kendi teknik atomu olduğunu ve bağlı olduğunu gösterir.
Descriptivabetimleyici
Bug1947
'bug' = arıza/kusur — böcek → yazılım kusuru
Kelime bilgisayardan eskidir: telgraf ve elektrik mühendisleri arızalara 'bug' derdi; Edison 1878 mektuplarında bu anlamda kullanmıştı. Terimi bilgisayar folkloruna perçinleyen olay, 9 Eylül 1947'de Grace Hopper ekibinin Harvard Mark II'nin röleleri arasında bulup deftere yapıştırdığı gerçek güvedir: «First actual case of bug being found.» 'Debug' fiili de buradan gelir.
Buffer Overflow1988
buffer = tampon · overflow = taşma — tampon taşıp komşu belleği ezer
'buffer', darbeyi/akışı yumuşatan tampon depodur ('buff' = darbe emmek); sabit boyutludur. Sınırının ötesine yazmak bitişik belleği — özellikle yığın üzerindeki dönüş adresini — ezer ve kontrolü ele geçirmeye açar. Sınıfı meşhur eden olay 1988 Morris Worm'un fingerd'deki taşmayı sömürmesiydi; o günden beri bellek bozulmasının arketipidir.
Shellcodec. 1996
shell açmak — amacı bir kabuk açmak
Adı amacından doğdu: klasik payload'un hedefi hedef makinede etkileşimli bir kabuk (shell) açmaktı — genelde execve("/bin/sh"). Zamanla amaç değişse bile enjekte edilen her makine-kodu payload'a 'shellcode' denir oldu; ad, işlevi değil o ilk niyeti taşır.
‹ Smashing the Stack'den türedi · usus
Ex Chartismakale-kaynaklı
Fuzzing1988
'fuzz' = gürültü/parazit — rastgele parazitle besleme
Barton Miller, Wisconsin Üniversitesi'nde (1988; yayın 1990) terimi ortaya attı: fırtınalı bir gecede modem hattındaki line-noise girdilerini bozup UNIX araçlarını çökertince, programları kasıtlı olarak rastgele ('fuzzy', gürültülü) girdiyle besleyip kırma fikri doğdu. Onlarca util'in bu şekilde çöktüğünü göstermesiyle 'fuzz' bütün bir disiplinin adı oldu.
Smashing the Stack1996
'stack'i parçalamak' — dönüş adresini ezmek
Aleph One (Elias Levy), 1996'da Phrack #49'daki «Smashing the Stack for Fun and Profit» yazısıyla yığın-taşması sömürüsünü öğretilebilir bir zanaate çevirdi. 'Smashing' (parçalamak), kaydedilmiş dönüş adresini ezip kontrol akışını kaçırmayı anlatır; başlık, alanın kanonik deyimi hâline geldi.
‹ Buffer Overflow'den türedi · fundamentum
'gadget' + ret-zinciri — gadget'ları ret ile zincirlemek
Hovav Shacham (2007), return-to-libc'i genelleştirdi: kod enjekte etmeden, hâlihazırda var olan ve ret ile biten kısa komut dizilerini — gadget'ları — zincirleyerek keyfi hesaplama yapılabileceğini gösterdi; böylece DEP / W^X aşılır. 'Return-oriented' ret-güdümlü akışı, 'gadget' ise gündelik dildeki 'küçük, amaca özel parça' anlamını ödünç alır.
Metaphorametafor
kömür madeni kanaryası — taşmanın erken-uyarısı
Metafor, madencinin kafesteki kanaryasından gelir: zehirli gaz kuşu önce öldürür ve madenciyi uyarırdı. StackGuard (Crispin Cowan, 1998) dönüş adresinden önce bilinen bir 'canary' değeri koyar; bir taşma onu bozarsa program, geri dönmeden önce durur — kanaryanın ölümü tehlikenin işaretidir.
NOP Sledc. 1997
NOP + 'sled' (kızak) — NOP'lar üstünde payload'a kaymak
Payload'dan önce uzun bir NOP (no-operation) dizisi yerleştirilir. Tahmin edilen dönüş adresi bu dizinin herhangi bir yerine düşerse, işlemci hiçbir şey yapmadan NOP'ların üstünden payload'a kadar 'kayar' — kızakla (sled) inmek gibi. Kesin adresin bilinmediği durumlarda sömürünün güvenilirliğini artırır.
Heap Feng Shui2007
feng shui — düzen sanatı — heap'i istenen yerleşime sokmak
Alexander Sotirov (2007, Black Hat Europe) tekniğini, mekânı uğurlu biçimde düzenleme sanatı olan feng shui'ye benzeterek adlandırdı. Burada 'düzenlenen' şey heap'tir: tahsisleri, saldırganın işine yarayacak hassas bir yerleşime oturtacak şekilde şekillendirmek.
hammer = çekiç · DRAM row = satır — komşu satırda bit çevirmek
Bir DRAM satırına tek bir tazeleme aralığında on binlerce kez erişmek ('çekiçlemek'), fiziksel olarak komşu satırlara şarj sızdırır ve hiç dokunmadığınız bitleri çevirir. Kim ve ark. (ISCA 2014) bu bozulma etkisini belgeledi; Google Project Zero (2015) onu çekirdek yetki yükseltmesine çevirerek bir donanım kusurunu silaha dönüştürdü.
Argotscene argosu
Phreaking1971
phone + freak — 'ph-' yazımının atası
'phone' + 'freak' (telefon tutkunu/hacker'ı), oyunbaz bir 'ph-' yazımıyla. 1960-70'lerde phreaker'lar telefon şebekesini manipüle etti — 2600 Hz tonunu üreten blue box'lar (John «Cap'n Crunch» Draper) bedava/gizli erişim sağlıyordu. Bu 'ph-', sonradan başka terimlere de bulaşacaktı.
Phishingc. 1996
fishing + 'ph-' — sahte yemle oltaya düşürmek
Kurbanları 'oltalamak' (fishing) fikri, phreaker'ların 'ph-' yazımıyla yeniden hecelendi. 1990'ların ortasındaki AOL warez/kimlik-avı sahnesinde (kayıtlar ~1996) doğdu: sahte yemle kullanıcıları parolalarını teslim etmeye kandırmak. Yazımını doğrudan phreaking'den miras alır.
‹ Phreaking'den türedi · hereditas
Zero-day1990'lar
warez '0-day' — yaması sıfır-gün açık
Terim warez/crack sahnesinden gelir: '0-day', bir yazılımın resmî çıkışının tam o gün kırılıp dağıtılması — azami tazelik — demekti. Güvenlikte anlamı kaydı: üreticinin henüz bilmediği, dolayısıyla yaması sıfır gündür var olan açık.
Ex Fabulabilimkurgu
Worm1982
'tapeworm' — Brunner (1975) — ağda sürünerek yayılan kod
Adı kurmacada doğdu: John Brunner'ın The Shockwave Rider (1975) romanında ağda yayılan bir 'tapeworm' (şerit solucan) programı vardır. Shoch & Hupp (Xerox PARC, 1982) terimi kendi dağıtık programları için Brunner'a atıfla benimsedi; 1988 Morris Worm ise onu herkesin bildiği bir kelime yaptı.
Virus1983
Latince virus = zehir — host'a bulaşıp çoğalan kod
Latince virus = zehir/ağı; analoji, bir host programa bulaşıp o çalışınca çoğalan kod parçasıdır. Kurmaca terimi önce kullandı (Gerrold, 1972); akademik tanımı Fred Cohen (1983-85) formelleştirdi — adı ise danışmanı Leonard Adleman önerdi.
Acrostichonbackronym
POODLE2014
Padding Oracle On Downgraded Legacy Encryption — zoraki kısaltma
Bir backronym: «Padding Oracle On Downgraded Legacy Encryption». 2014'te Google'ın (Möller, Duong, Kotowicz) SSL 3.0'ın padding'ini protokol düşürmesiyle sömüren saldırısı. Güvenliğin, anlamlı bir cümleyi akılda kalıcı (çoğu kez hayvan) bir kısaltmaya zorlama modasının tipik örneği; kaniş tümüyle maskottur.
Iocuspun / şaka
Heartbleed2014
heartbeat + bleed — bellek sızdıran kalp atışı
OpenSSL'in TLS heartbeat uzantısı + 'bleed' (kanama): eksik bir sınır denetimi, heartbeat isteğinin bitişik sunucu belleğini (anahtarlar, veriler) fazladan okuyup sızdırmasına izin verdi (CVE-2014-0160). Google'dan Neel Mehta ile Codenomicon bağımsızca buldu; adı ve logoyu Codenomicon verdi — kalp kanıyor.
Shellshock2014
shell (Bash) + shock — kabuğu şoklayan açık
'shell' (Bash kabuğu) + 'shock'; aynı zamanda savaş travması deyimi 'shell shock'a göz kırpar. Bash'in, ortam değişkenlerindeki fonksiyon tanımlarını ayrıştırma biçimindeki kusur komut çalıştırmaya izin veriyordu (2014, Stéphane Chazelas). Diğer adı 'Bashdoor'.
Copy-On-Write + dirty page — COW race'i, kelime oyunu
Copy-On-Write (COW) ile 'dirty' (değiştirilmiş) bellek sayfalarının birleşiminden çıkan bir kelime oyunu: 'kirli inek'. Çekirdeğin, özel eşlemelerin COW işleyişindeki bir race'i (CVE-2016-5195, 2016), yetkisiz bir kullanıcının salt-okunur belleğe yazmasına — yani yetki yükseltmesine — izin veriyordu.
Mythus & Litteraemitolojik / edebî
Trojan Horse1972
Truva Atı — İlyada/Aeneis — gizli payload taşıyan hediye
İlyada ve Aeneis'teki Truva Atı'ndan: Yunanlıların askerleri Truva'ya sokmak için kullandığı içi boş at. Bilgisayara 1970'lerde geçti (Anderson'ın 1972 raporu, erken Multics güvenlik çalışmaları) ve masum görünüp içinde gizli kötücül payload taşıyan programı adlandırdı.
Confused Deputy1988
'deputy' (vekil) + confused — vekilin yetkisini kötüye kullandırma
Terimi Norm Hardy (1988) ortaya attı. 'Deputy' (vekil), devredilmiş bir yetkiyle hareket eden aracıdır; 'confused' olanı ise kandırılıp o yetkiyi başkasının çıkarına kullanmaya sevk edilir — CSRF'in ve pek çok yetki-karışıklığı hatasının özü budur.
Iago Attack2013
Iago — Othello (Shakespeare) — güvenilen katmanın ihaneti
Adı, Shakespeare'in Othello'sunda Othello'nun güvendiği ama onu felakete sürükleyen danışman Iago'dan gelir. Checkoway & Shacham (2013), kötücül bir çekirdeğin (veya syscall katmanının) döndürdüğü özenle hazırlanmış değerlerle, ona güvenen bir uygulamayı yıkabileceğini gösterdi — güvenilen katmandan gelen ihanet.
‹ Confused Deputy'den türedi · generalizatio
Meltdown: erime · Spectre: hayalet — spekülatif yürütme yan-kanalları
2018'in iki spekülatif-yürütme yan-kanalı. Meltdown, kullanıcı ve çekirdek belleği arasındaki donanım bariyerini 'eritir'. Spectre spekülasyonu istismar eder ve kökü CPU tasarımında olduğu için yıllarca 'peşimizi bırakmayacak bir hayalet' gibi kalması beklenir — logosu da bir hayalettir. Google Project Zero ve akademik ekiplerce eşzamanlı açıklandı.
Genişletme adayları: Sandbox · Honeypot · Rootkit · Backdoor · Payload · Malware · TOCTOU · Use-After-Free · Format String · Heap Spray · SROP/BROP · JOP · GHOST · KRACK · Foreshadow · Stagefright. — Her terimin ayrıca sol menüde kendi detay sayfası vardır.