Tavis Ormandy () indagator securitatis apud Google qui exertus enucleat , Π½Π°ΡΠ΅Π»Π΅Π½Π½ΡΠΉ Π½Π° ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΠ°Π½Π½ΡΡ Π΄Π»Ρ Windows Bibliothecae DLL ad usum in applicationibus pro Linux. ΠΡΠΎΠ΅ΠΊΡΠΎΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°-ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠ°, ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ DLL-ΡΠ°ΠΉΠ» Π² ΡΠΎΡΠΌΠ°ΡΠ΅ PE/COFF ΠΈ Π²ΡΠ·Π²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ Π² Π½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ°Π³ΡΡΠ·ΡΠΈΠΊ PE/COFF ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΊΠΎΠ΄Π΅ . Project code licentiatus sub GPLv2.
LoadLibrary Π±Π΅ΡΡΡ Π½Π° ΡΠ΅Π±Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² ΠΏΠ°ΠΌΡΡΡ ΠΈ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ Linux-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ API Π² ΡΡΠΈΠ»Π΅ dlopen. ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ gdb, ASAN ΠΈ Valgrind. ΠΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΡΠΊΠΎΠ² ΠΈ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΡΠ΅ΠΉ (runtime patching). ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΎΡΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΡΠ°Π·ΠΌΠΎΡΠΊΠ° (unwinding) ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ C++.
Π¦Π΅Π»ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ fuzzing-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ DLL-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ Π½Π° Π±Π°Π·Π΅ Linux. Quod Windows ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ fuzzing- ΠΈ coverage-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±ΠΈΡΡΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΈ ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Windows, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π°Π½Π°Π»ΠΈΠ·Π° ΡΡΠ»ΠΎΠΆΠ½ΡΠ½Π½ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ½ΠΎΠ΅ ΠΠ, ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡΠΈΡ ΡΠ°Π±ΠΎΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΄ΡΠ° ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ LoadLibrary ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΈΠ· Google Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΠΏΠΎΠΈΡΠΊΠΎΠΌ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π² Π²ΠΈΠ΄Π΅ΠΎΠΊΠΎΠ΄Π΅ΠΊΠ°Ρ , Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ½ΡΡ ΡΠΊΠ°Π½Π΅ΡΠ°Ρ , Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ , Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Ρ.ΠΏ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ LoadLibrary ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π² Linux Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ½ΡΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Windows Defender. ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ mpengine.dll, ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Ρ Windows Defender, Π΄Π°Π»ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΠ½Π½ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ², ΡΠΌΡΠ»ΡΡΠΎΡΠΎΠ² Π€Π‘ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΠ·ΡΠΊΠΎΠ², ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ Π²Π΅ΠΊΡΠΎΡΡ Π΄Π»Ρ .
LoadLibrary etiam usus est ad recognoscendas in sarcina antivirus Avast. Cum ex hoc antiviro studebat DLL, revelatum est clavem processus privilegiati intuens includere JavaScript plenus-accola interpres ad aemulandum effectum codicis tertiae partis JavaScript. Processus hic in ambitu sandbox non segregatur, privilegia non reponit, et notitias externas e ratiocinatione tabellariorum sine verificatione analyses et commercii network intercipit. Cum quaevis vulnerabilitas in hoc complexu et indefenso processu potentia ad remotum totius systematis compromissum ducere posset, Testa peculiaris in LoadLibrary evoluta est. Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π² Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ½ΠΎΠΌ ΡΠΊΠ°Π½Π΅ΡΠ΅ Avast Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ Π½Π° Π±Π°Π·Π΅ Linux.
Source: opennet.ru
