У комп'ютерній безпеці виконання довільного коду (ACE) — це здатність зловмисника запускати будь-які команди або код на вибір зловмисника на цільовій машині або в цільовому процесі. Вразливість виконання довільного коду — це недолік безпеки у програмному забезпеченні або апаратному забезпеченні, що дозволяє виконувати довільний код. Програма, призначена для використання такої вразливості, називається експлойт для виконання довільного коду (експлойт). Можливість ініціювати виконання довільного коду через мережу (особливо через глобальну мережу, таку як Інтернет) часто називають віддаленим виконанням коду (RCE або RCX).
Виконання довільного коду означає, що якщо хтось надішле спеціально розроблений набір даних до комп'ютера, він зможе змусити його виконувати будь-які дії. Хоча ця конкретна вразливість може не призводити до реальних проблем у реальному світі, дослідники обговорюють, чи вказує вона на природну схильність комп'ютерів мати вразливості, які дозволяють несанкціоноване виконання коду.
Типи вразливостей
Існує кілька класів вразливостей, які можуть призвести до здатності зловмисника виконувати довільні команди або код. Наприклад:
- Вразливості безпеки пам'яті, такі як переповнення буфера або .
- Вразливості десеріалізації
- Вразливості через плутанину типів
- Виконання довільного коду в GNU
Методи
Виконання довільного коду зазвичай досягається через контроль над лічильником команд (таким як стрибок або гілка) в процесі, що виконується. Вказівник інструкцій вказує на наступну інструкцію, яка буде виконана. Контроль над значенням вказівника інструкцій надає контроль над тим, яка інструкція буде виконана далі. Для виконання довільного коду багато експлойтів ін'єктують код у процес (наприклад, шляхом надсилання введення, яке зберігається у вхідному буфері в оперативній пам'яті) і використовують вразливість для зміни вказівника інструкцій так, щоб він вказував на ін'єктований код. Після цього ін'єктований код автоматично виконується. Цей тип атаки використовує той факт, що більшість комп'ютерів (які використовують архітектуру фон Неймана) не розрізняють , тому шкідливий код може бути замаскований під безпечні вхідні дані. Багато новіших процесорів мають механізми, які ускладнюють це, наприклад, біт заборони виконання.
Поєднання з підвищенням привілеїв
Сам по собі експлойт для виконання довільного коду надає зловмиснику ті ж самі , що й у цільового процесу, який є вразливим. Наприклад, при використанні вразливості в веббраузері, зловмисник може діяти від імені користувача, виконуючи дії, такі як зміна файлів на комп'ютері або доступ до банківської інформації, але не зможе виконувати системні дії (якщо тільки користувач не має таких прав).
Щоб обійти це обмеження, коли зловмисник отримує можливість виконувати довільний код на цільовій системі, часто намагаються використати експлойт для Підвищення привілеїв з метою отримання додаткового контролю. Це може включати доступ до самого ядра або облікового запису, такого як Адміністратор, SYSTEM або root. Незалежно від того, чи вдалося отримати підвищені привілеї, експлойти можуть завдати серйозної шкоди або перетворити комп'ютер на — однак підвищення привілеїв допомагає приховати атаку від легітимного адміністратора системи.
Приклади
Хобісти змогли знайти вразливості в класичних відеоіграх, що дозволяють їм виконувати довільний код, зазвичай використовуючи точну послідовність натискань кнопок у для виклику переповнення буфера, що дозволяє їм записувати в захищену пам'ять. На заході група ентузіастів спідрану змогла закодувати та запустити версії ігор Pong і Snake в копії Super Mario World, використовуючи вихід за межі функціонального покажчика, що вказує на буфер, контрольований користувачем, для виконання довільного коду.
12 червня 2018 року боснійський дослідник безпеки Жан-Ів Авенар з Mozilla виявив вразливість для виконання довільного коду (ACE) в Windows 10.
1 травня 2018 року дослідник безпеки виявив вразливість ACE у 7-Zip архіваторі файлів.
PHP став об'єктом численних вразливостей ACE.
9 грудня 2021 року була виявлена вразливість RCE під назвою "Log4Shell" у популярному фреймворку логування Log4j, що вплинула на багато сервісів, включаючи iCloud, Minecraft: Java Edition та Steam, і була охарактеризована як "найбільша та найкритичніша вразливість останнього десятиліття".
Див. також
- Комп'ютерна безпека
- (Follina (вразливість безпеки))
Примітки
- Team, KernelCare (25 січня 2021). Remote code execution attack: what it is, how to protect your systems. blog.kernelcare.com (англ.). Процитовано 22 вересня 2021.
- Johnson, Pontus (2021). Intrinsic Propensity for Vulnerability in Computers? Arbitrary Code Execution in the Universal Turing Machine. arXiv:2105.02124.
- Deserialization of untrusted data. owasp.org.
- Understanding type confusion vulnerabilities: CVE-2015-0336. microsoft.com. 18 червня 2015.
- Exploiting CVE-2018-19134: remote code execution through type confusion in Ghostscript. lgtm.com. 5 лютого 2019.
- LDD arbitrary code execution.
- Gilreath, William F.; Laplante, Phillip A. (31 березня 2003). Computer Architecture: A Minimalist Perspective (англ.). Springer Science & Business Media. ISBN .
- Reilly, Edwin D. (2003). Milestones in Computer Science and Information Technology (англ.). Greenwood Publishing Group. с. 245. ISBN .
- Tech Insight: Execute Disable Bit (XD-Bit) (PDF). Toshiba Polska. 2005. Архів оригіналу (PDF) за 31 жовтня 2018. Процитовано 31 жовтня 2018.
- AMD has you covered (PDF). AMD. 2012. Архів оригіналу (PDF) за 5 березня 2019.
- Remote Code Execution - an overview. ScienceDirect Topics. Процитовано 5 грудня 2021.
- Orland, Kyle (14 January 2014). How an emulator-fueled robot reprogrammed Super Mario World on the fly. Ars Technica. Процитовано 27 July 2016.
- Microsoft Windows CVE-2018-8213 Arbitrary Code Execution Vulnerability. Symantec (англ.). Архів оригіналу за 31 жовтня 2018. Процитовано 31 жовтня 2018.
- Вразливість у 7-Zip може дозволити виконання довільного коду. Управління інформаційних технологій штату Нью-Йорк (укр.). Архів оригіналу за 15 серпня 2021. Процитовано 31 жовтня 2018.
- NVD - CVE-2017-12934. nvd.nist.gov. Процитовано 31 жовтня 2018.
- Виконання операцій файлів, що викликає незворотне десеріалізацію через потік "phar://" (PDF). Secarma Labs. 2018.
- NVD - CVE-2017-12933. nvd.nist.gov. Процитовано 31 жовтня 2018.
- Zero-day у всепроникному інструменті Log4j становить серйозну загрозу для Інтернету. . 9 грудня 2021 року. Процитовано 11 грудня 2021.
- Нещодавно виявлена вразливість у програмному забезпеченні 'найкритичніша вразливість останнього десятиліття'. The Guardian. 11 грудня 2021. Процитовано 11 грудня 2021.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Nemaye perevirenih versij ciyeyi storinki jmovirno yiyi she ne pereviryali na vidpovidnist pravilam proektu U komp yuternij bezpeci vikonannya dovilnogo kodu ACE ce zdatnist zlovmisnika zapuskati bud yaki komandi abo kod na vibir zlovmisnika na cilovij mashini abo v cilovomu procesi Vrazlivist vikonannya dovilnogo kodu ce nedolik bezpeki u programnomu zabezpechenni abo aparatnomu zabezpechenni sho dozvolyaye vikonuvati dovilnij kod Programa priznachena dlya vikoristannya takoyi vrazlivosti nazivayetsya eksplojt dlya vikonannya dovilnogo kodu eksplojt Mozhlivist iniciyuvati vikonannya dovilnogo kodu cherez merezhu osoblivo cherez globalnu merezhu taku yak Internet chasto nazivayut viddalenim vikonannyam kodu RCE abo RCX Informacijna bezpeka Kriteriyi ocinki informacijnoyi bezpeki Cilisnist Dostupnist Konfidencijnist Sposterezhnist Nevidmovnist Normativni dokumenti COBIT ITIL ISO IEC 27001 2013 Zabezpechennya Politika SUIB KSZI SZI Zahist informaciyi Tehnichnij zahist informaciyi Inzhenernij zahist informaciyi Kriptografichnij zahist informaciyi Organizacijnij zahist informaciyi pr Vikonannya dovilnogo kodu oznachaye sho yaksho htos nadishle specialno rozroblenij nabir danih do komp yutera vin zmozhe zmusiti jogo vikonuvati bud yaki diyi Hocha cya konkretna vrazlivist mozhe ne prizvoditi do realnih problem u realnomu sviti doslidniki obgovoryuyut chi vkazuye vona na prirodnu shilnist komp yuteriv mati vrazlivosti yaki dozvolyayut nesankcionovane vikonannya kodu Tipi vrazlivostejIsnuye kilka klasiv vrazlivostej yaki mozhut prizvesti do zdatnosti zlovmisnika vikonuvati dovilni komandi abo kod Napriklad Vrazlivosti bezpeki pam yati taki yak perepovnennya bufera abo Vrazlivosti deserializaciyi Vrazlivosti cherez plutaninu tipiv Vikonannya dovilnogo kodu v GNUMetodiVikonannya dovilnogo kodu zazvichaj dosyagayetsya cherez kontrol nad lichilnikom komand takim yak stribok abo gilka v procesi sho vikonuyetsya Vkazivnik instrukcij vkazuye na nastupnu instrukciyu yaka bude vikonana Kontrol nad znachennyam vkazivnika instrukcij nadaye kontrol nad tim yaka instrukciya bude vikonana dali Dlya vikonannya dovilnogo kodu bagato eksplojtiv in yektuyut kod u proces napriklad shlyahom nadsilannya vvedennya yake zberigayetsya u vhidnomu buferi v operativnij pam yati i vikoristovuyut vrazlivist dlya zmini vkazivnika instrukcij tak shob vin vkazuvav na in yektovanij kod Pislya cogo in yektovanij kod avtomatichno vikonuyetsya Cej tip ataki vikoristovuye toj fakt sho bilshist komp yuteriv yaki vikoristovuyut arhitekturu fon Nejmana ne rozriznyayut tomu shkidlivij kod mozhe buti zamaskovanij pid bezpechni vhidni dani Bagato novishih procesoriv mayut mehanizmi yaki uskladnyuyut ce napriklad bit zaboroni vikonannya Poyednannya z pidvishennyam privileyiv Dokladnishe Pidvishennya privileyiv Sam po sobi eksplojt dlya vikonannya dovilnogo kodu nadaye zlovmisniku ti zh sami sho j u cilovogo procesu yakij ye vrazlivim Napriklad pri vikoristanni vrazlivosti v vebbrauzeri zlovmisnik mozhe diyati vid imeni koristuvacha vikonuyuchi diyi taki yak zmina fajliv na komp yuteri abo dostup do bankivskoyi informaciyi ale ne zmozhe vikonuvati sistemni diyi yaksho tilki koristuvach ne maye takih prav Shob obijti ce obmezhennya koli zlovmisnik otrimuye mozhlivist vikonuvati dovilnij kod na cilovij sistemi chasto namagayutsya vikoristati eksplojt dlya Pidvishennya privileyiv z metoyu otrimannya dodatkovogo kontrolyu Ce mozhe vklyuchati dostup do samogo yadra abo oblikovogo zapisu takogo yak Administrator SYSTEM abo root Nezalezhno vid togo chi vdalosya otrimati pidvisheni privileyi eksplojti mozhut zavdati serjoznoyi shkodi abo peretvoriti komp yuter na odnak pidvishennya privileyiv dopomagaye prihovati ataku vid legitimnogo administratora sistemi PrikladiHobisti zmogli znajti vrazlivosti v klasichnih videoigrah sho dozvolyayut yim vikonuvati dovilnij kod zazvichaj vikoristovuyuchi tochnu poslidovnist natiskan knopok u dlya vikliku perepovnennya bufera sho dozvolyaye yim zapisuvati v zahishenu pam yat Na zahodi grupa entuziastiv spidranu zmogla zakoduvati ta zapustiti versiyi igor Pong i Snake v kopiyi Super Mario World vikoristovuyuchi vihid za mezhi funkcionalnogo pokazhchika sho vkazuye na bufer kontrolovanij koristuvachem dlya vikonannya dovilnogo kodu 12 chervnya 2018 roku bosnijskij doslidnik bezpeki Zhan Iv Avenar z Mozilla viyaviv vrazlivist dlya vikonannya dovilnogo kodu ACE v Windows 10 1 travnya 2018 roku doslidnik bezpeki viyaviv vrazlivist ACE u 7 Zip arhivatori fajliv PHP stav ob yektom chislennih vrazlivostej ACE 9 grudnya 2021 roku bula viyavlena vrazlivist RCE pid nazvoyu Log4Shell u populyarnomu frejmvorku loguvannya Log4j sho vplinula na bagato servisiv vklyuchayuchi iCloud Minecraft Java Edition ta Steam i bula oharakterizovana yak najbilsha ta najkritichnisha vrazlivist ostannogo desyatilittya Div takozhKomp yuterna bezpeka Follina vrazlivist bezpeki PrimitkiTeam KernelCare 25 sichnya 2021 Remote code execution attack what it is how to protect your systems blog kernelcare com angl Procitovano 22 veresnya 2021 Johnson Pontus 2021 Intrinsic Propensity for Vulnerability in Computers Arbitrary Code Execution in the Universal Turing Machine arXiv 2105 02124 Deserialization of untrusted data owasp org Understanding type confusion vulnerabilities CVE 2015 0336 microsoft com 18 chervnya 2015 Exploiting CVE 2018 19134 remote code execution through type confusion in Ghostscript lgtm com 5 lyutogo 2019 LDD arbitrary code execution Gilreath William F Laplante Phillip A 31 bereznya 2003 Computer Architecture A Minimalist Perspective angl Springer Science amp Business Media ISBN 9781402074165 Reilly Edwin D 2003 Milestones in Computer Science and Information Technology angl Greenwood Publishing Group s 245 ISBN 9781573565219 Tech Insight Execute Disable Bit XD Bit PDF Toshiba Polska 2005 Arhiv originalu PDF za 31 zhovtnya 2018 Procitovano 31 zhovtnya 2018 AMD has you covered PDF AMD 2012 Arhiv originalu PDF za 5 bereznya 2019 Remote Code Execution an overview ScienceDirect Topics Procitovano 5 grudnya 2021 Orland Kyle 14 January 2014 How an emulator fueled robot reprogrammed Super Mario World on the fly Ars Technica Procitovano 27 July 2016 Microsoft Windows CVE 2018 8213 Arbitrary Code Execution Vulnerability Symantec angl Arhiv originalu za 31 zhovtnya 2018 Procitovano 31 zhovtnya 2018 Vrazlivist u 7 Zip mozhe dozvoliti vikonannya dovilnogo kodu Upravlinnya informacijnih tehnologij shtatu Nyu Jork ukr Arhiv originalu za 15 serpnya 2021 Procitovano 31 zhovtnya 2018 NVD CVE 2017 12934 nvd nist gov Procitovano 31 zhovtnya 2018 Vikonannya operacij fajliv sho viklikaye nezvorotne deserializaciyu cherez potik phar PDF Secarma Labs 2018 NVD CVE 2017 12933 nvd nist gov Procitovano 31 zhovtnya 2018 Zero day u vseproniknomu instrumenti Log4j stanovit serjoznu zagrozu dlya Internetu 9 grudnya 2021 roku Procitovano 11 grudnya 2021 Neshodavno viyavlena vrazlivist u programnomu zabezpechenni najkritichnisha vrazlivist ostannogo desyatilittya The Guardian 11 grudnya 2021 Procitovano 11 grudnya 2021