Що таке вразливість Shellshock?

click fraud protection

Shellshock — це збірна назва для низки проблем безпеки Linux в оболонці bash. Bash є терміналом за замовчуванням у багатьох дистрибутивах Linux, що означало, що наслідки помилок були особливо поширені.

Примітка. Уразливість не вплинула на системи Windows, оскільки Windows не використовує оболонку Bash.

У вересні 2014 року Стефан Шазелас, дослідник безпеки, виявив першу проблему в Bash і приватно повідомив про це особі, яка підтримує Bash. Він працював з розробником, відповідальним за підтримку Bash, і був розроблений патч, який вирішив цю проблему. Після того, як патч був випущений і доступний для завантаження, характер помилки був опублікований для громадськості близько кінця вересня.

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

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

Уразливості виникли з різних факторів, включаючи неправильну обробку системних викликів веб-сервера на основі CGI. Сервер OpenSSH дозволив підвищити привілеї з обмеженої оболонки до необмеженої оболонки. Шкідливі DHCP-сервери змогли виконати код на вразливих клієнтах DHCP. Під час обробки повідомлень Qmail дозволив експлуатацію. Обмежена оболонка IBM HMC може бути використана для отримання доступу до повної оболонки bash.

Через широку природу помилки, а також серйозність вразливостей і порив експлуатації, Shellshock часто порівнюють з «Heartbleed». Heartbleed була вразливістю в OpenSSL, яка витікала вміст пам'яті без будь-якої взаємодії з користувачем.