Egy 2021-es internetbiztonsági tanulmány szerzői hívták fel a figyelmet arra a tényre, hogy hackerek az utóbbi időben előszeretettel használnak ritka, úgynevezett egzotikus programozási nyelveket. Így próbálják elkerülni biztonsági szakemberek és közösségek figyelmét, viszonylagos nyugalomban űzni tevékenységüket, és természetesen minél hatékonyabb vírusokat írni.
Ezek részben – de tényleg csak részben – kapcsolódnak az úgynevezett ezoterikus programozási nyelvekhez, amelyeket eredetileg a programozásinyelv-tervezés határainak tesztelésére írták. Elméleteket bizonyítottak be velük, a szoftvert, mint művészi alkotást, más, főként funkcionális és procedurális nyelvekhez kapcsolódó hacker-interfészt, vagy egyszerűen csak tréfát láttak bennük.
Már – a sarlatánságot, vajákosságot, áltudományokat idéző – ezoterikus szó árulkodó, arra utal, hogy a nyelvek mások, mint amelyeken fejlesztők szoftvereket írnak. Az „ezoterikus” fejlesztőknek eleve nem célja munkájuk mainstream programozói felhasználása, a nyelvek egyes jegyei viszont hatással vannak a művészetekre, hobbistákra és természetesen hackerekre is.
Az ezotéria mögé persze nem kell mindig hozzá nem értést feltételezni. Realistább megközelítés, hogy ezek a nyelvek ritkák, egzotikusak, ennélfogva ezoterikusak is. A felhasználhatóság, az ergonómia ritkán fejlesztői cél, sőt, a design sokszor pont az ellenkezője. Általában hagyományos programozásinyelv-elemeket akarnak helyettesíteni, viszont nem áll szándékukban kilépni a nyelv keretei közül.
Az egyik legkorábbi ezoterikus nyelvet, az INTERCAL-t Don Woods és James M. Lyon írta 1972-ben, teljesen másvalamit akartak vele megvalósítani, mint az akkor használatban lévő nyelvekkel. Másrészt, parodizálták is azokat (Fortran, COBOL stb.). A nyelv azonban sokáig csak papíron létezett, 1990-es C-re történő implementációja viszont komoly érdeklődést váltott ki, és ezoterikusnyelv-írási hullámot indított el.
1993-ban Walter van Oortmerssen veremalapú programozási nyelve, a mindössze egy kilobájt méretű fordítóval rendelkező FALSE olvashatatlan mondattanával keltette fel a figyelmet, a kód direkt megtévesztő, összezavaró, kezelhetetlen volt. (A verem véges számú, azonos méretű adat tárolására alkalmas adatszerkezet.)
A FALSE hatására Urban Müller megírta a ma széles körben ismert, még kisebb méretű brainfuck-ot. A jelenlegi másik legismertebb a szintén 1993-ban feltűnt és a legkisebb fordítóval dolgozó Befunge.
Ezeket a nyelveket eleve úgy írták, hogy nehezen vagy egyáltalán ne lehessen használni őket. De nem minden szokatlan, ezoterikus programozási nyelv szórakoztat, űz tréfát valamiből, mert az alapkoncepciót továbbgondolva, akár vírusok is írhatók nagyon szokatlan, egzotikus nyelveken. A hackerek azért is szeretik őket, mert a támadások későbbi szakaszaiban használt betöltő, telepítő megoldásoknál nagyszerűen kísérletezhetnek velük.
Jelentősen megnehezítik biztonsági szakemberek visszafejtő-munkáját, megkerülik az aláírás-alapú detektálást, összességében egyelőre eredményesebbek, mint az ismert nyelveken írt rokonaik.
Frissítve: 2023. december 27.