Дослідники виявили в Java, Rust, C++, Python та інших мовах програмування вразливість, яка приховує шкідливий код

Вразливість торкається практично всіх сучасних компіляторів вихідного коду

Дослідники виявили в Java, Rust, C++, Python та інших мовах програмування вразливість, яка приховує шкідливий код

Дослідники Кембриджського університету опублікували інформацію про небезпечну вразливість (CVE-2021-42574). Ця вразливість стосується багатьох мов програмування і дозволяє хакерам приховати шкідливий код у вихідному коді різних програм.

Про це повідомляє Інформатор із посиланням на TrojanSource .

Цю вразливість виявила робоча група Rust Security Response (WG) і надала їй номер CVE-2021-42574. Слабкість полягає в алгоритмі Unicode Bidi, який дозволяє використовувати разом слова, написані з права наліво, та зліва направо.

"Оскільки це Unicode, ця помилка зачіпає не тільки Rust, але й інші популярні мови, такі як Java, JavaScript, Python, мови на основі C та код, написаний іншими сучасними мовами", - каже дослідник безпеки Росс Андерсон .

Проекти з відкритим кодом, такі як операційні системи, часто покладаються на людський аналіз всього нового коду для виявлення будь-яких потенційно шкідливих частин. Але дослідники безпеки з Кембриджського університету заявили, що вони виявили способи маніпулювання кодуванням файлів вихідного коду, які показують людям, що перевіряють, і компіляторам різні фрагменти коду. 

«Ми виявили способи маніпулювання кодуванням файлів вихідного коду, щоб люди-глядачі та компілятори бачили різну логіку. Один метод використовує спрямованість Unicode для визначення символів для відображення коду як анаграми його справжньої логіки. Ми переконалися, що ця атака працює проти C, C++, C#, JavaScript, Java, Rust, Go та Python, і підозрюю, що вона працюватиме проти більшості інших сучасних мов програмування», -  пише Андерсон. .

Розробка програмного забезпечення носить міжнародний характер, і Unicode - основа для тексту та емодзі - підтримує мови з листом зліва направо, наприклад англійська, та мови з листом з права наліво, наприклад арабська. Він робить це за допомогою «двонаправленого перевизначення», невидимої функції, яка називається кодовою точкою, яка дозволяє вбудовувати слова з написанням зліва направо у речення з написанням з права наліво та навпаки. 

Хоча вони зазвичай використовуються для вставляння слова у речення, побудоване у зворотному напрямку, Андерсон та дослідник безпеки Microsoft Ніколас Баучер виявили, що їх можна використовувати для зміни способу відображення вихідного коду в деяких редакторах та інструментах перевірки коду. Це означає, що перевірений людиною код може відрізнятися від скомпільованого коду, і показує, як організації можуть зазнати злому за допомогою підробленого відкритого вихідного коду. За допомогою цієї вразливості також можна зробити так, щоб рядки, які виглядають як коментарі, працювали як код, що виконується. Rust вже попросила всіх розробників оновитись до версії 1.56.1.

Раніше ми повідомляли, що у Харкові 17-річний хлопець підробив «Дію» та створив найбільший канал збуту підроблених документів. Також писали про те, що Microsoft запустить свій метавсесвіт із пакетом Office .

Підписуйтесь на наш Telegram-канал, щоб не пропустити важливих новин. За новинами в режимі онлайн прямо в месенджері стежте на нашому Telegram-каналі  Інформатор Live . Підписатися на канал у Viber можна тут

 

Головна Актуально Informator.ua Україна на часі Youtube