FilozofĂ«t e OpenSSH vazhduan ndarjen e sshd nĂ« disa skedarĂ« ekzekutivĂ« tĂ« veçantĂ«. NĂ« fazĂ«n e pare tĂ« ndarjes, e realizuar nĂ« maj, funksionet e lidhura me menaxhimin e seancave u transferuan nga sshd nĂ« njĂ« proces tĂ« veçantĂ«, sshd-session, ndĂ«rsa nĂ« sshd mbeti vetĂ«m funksionaliteti i nevojshĂ«m pĂ«r pranim tĂ« njĂ« lidhjeje tĂ« re rrjeti dhe pĂ«r nisjen e sshd-session pĂ«r çdo seancĂ« tĂ« re. Dje u bĂ« njĂ« ndryshim nĂ« bazĂ«n e kodit tĂ« OpenSSH, i cili shtoi njĂ« proces tjetĂ«r â sshd-auth, nĂ« tĂ« cilin u transferua kodi i autentifikimit nga sshd-session.
Procesi sshd-auth nis nga sshd-session dhe lejon izolimin e të dhënave të lidhura me autentifikimin në hapësirën adresuese të një procesi të veçantë, që nuk do të lejojë aksesin në këto të dhëna në rast se ndodhin sulme ndaj kodit që përdoret për menaxhimin e fazave të lidhjes deri në përfundimin e autentifikimit. Për më tepër, ky ndryshim pakësom konsumimin e memories, pasi kodi i lidhur me autentifikimin tani është i pranishëm në memorie vetëm gjatë procesit të autentifikimit dhe më pas shkarkon kur përfundon procesi sshd-auth.
Sipas analogjisĂ« me sshd, ssh-session dhe ssh-agent, pĂ«r procesin sshd-auth u aplikua operacioni i ri-ndĂ«rtimeve rastĂ«sore tĂ« skedarĂ«ve ekzekutivĂ« gjatĂ« çdo ngarkese tĂ« sistemit operativ. RindĂ«rtimi rastĂ«sor e bĂ«n tĂ« papritur vendndodhjen e funksioneve nĂ« skedarĂ«t ekzekutivĂ« dhe bibliotekat, qĂ« e vĂ«shtirĂ«son krijimin e eksploiteve qĂ« pĂ«rdorin metoda tĂ« programimit tĂ« orientuar ndaj kthimit (ROP â Return-Oriented Programming). Duke pĂ«rdorur teknikĂ«n ROP, sulmuesi nuk pĂ«rpiqet tĂ« vendosĂ« kodin e tij nĂ« memorie, por operon me pjesĂ« tĂ« gatshme tĂ« instruksioneve makinerike, qĂ« pĂ«rfundojnĂ« me njĂ« instruksion kthimi tĂ« kontrollit (nĂ« pĂ«rgjithĂ«si, kĂ«to janĂ« pĂ«rfundimet e funksioneve). Funksionimi i eksploiteve pĂ«rmbledh ndĂ«rtimin e njĂ« zinxhiri thirrjesh tĂ« blloqeve tĂ« tillĂ« ('gadgets') pĂ«r tĂ« arritur funksionalitetin e nevojshĂ«m.
Burimi: opennet.ru
