Перейти до вмісту

Ексклюзивне інтерв’ю: Злом iPhone через SMS

    1652314862

    Вступ

    Нещодавно ми спілкувалися з експертом з безпеки Чарлі Міллером з Independent Security Evaluators про нещодавно викриту вразливість iPhone, яка дозволила б зловмисникові отримати контроль над iPhone за допомогою серії ретельно розроблених SMS-повідомлень.

    Алан: Дякую, Чарлі, що знайшов час для спілкування. Чому б вам не розповісти нам трохи про вразливість SMS?

    Чарлі: Помилка iPhone пов’язана з повідомленням телефону про наявність певної кількості даних, а потім не надсиланням їх стільки, скільки ви хотіли б. Функція, яка зчитує дані, починає повертати -1, щоб вказати на помилку, але інші частини програми не перевіряють цю помилку і насправді вважають -1 даними з повідомлення. Це показує, наскільки складним може бути написання безпечного коду, оскільки кожна частина програми окремо виглядає правильно, але спосіб їх взаємодії небезпечний!

    У всякому разі, залежно від того, що ви надсилаєте, можуть статися різні погані речі. У якийсь момент ви можете змусити його вийти, оскільки він збирається виділити -1 байт (що розглядається як 0xffffffff – дуже велика кількість). Це відмова в обслуговуванні, яка тимчасово відключає телефон від мережі.  

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

    Алан: Примітка для наших читачів: щоразу, коли Чарлі каже, що йому потрібен волонтер, не встановлюйте зоровий контакт. Отже, як ви надіслали повідомлення? Ви надсилали його через SMS-інтерфейс іншого iPhone або робили щось на кшталт електронної пошти за підходом «telephone number@attwireless »?

    Чарлі: Щоб надіслати SMS через мережу оператора, у нас була невелика програма на нашому атакуючому iPhone, яка спілкувалася з модемом за допомогою команд GSM AT. Для тестування та пошуку помилок ми використали цей дійсно крутий фреймворк для ін’єкцій, який написав мій співдоповідач Коллін Маллінер, який дозволяє тестувати реалізації SMS-повідомлень, надсилаючи дані лише через TCP. Це позбавляє вас від необхідності надсилати дані через мережу оператора і нічого не коштує, а також дозволяє дуже швидко перевірити багато повідомлень.

    Алан: Тож як перейти від відмови в обслуговуванні до повноцінного експлойту?

    Чарлі: Найгірший випадок пов’язаний із тим, як програма обробляє з’єднані повідомлення. Це спосіб надіслати більше 140 байт за раз. Ви можете надіслати довге повідомлення в серії повідомлень, і телефон відновить його в один довгий рядок. Він отримує доступ до масиву на основі значення з даних. У випадку, коли він думає, що читає -1, він насправді звертається до пам’яті перед масивом, а не в масиві. Налаштувавши все правильно і будучи складним, ви дійсно можете використовувати це, щоб отримати повний контроль над пристроєм.

    Уся атака займає трохи більше 500 повідомлень, хоча жертва не знає, що вони надсилаються, тому що вони не з’являються на телефоні. Більшість із цих повідомлень пов’язані з налаштуванням «правильно». Шістнадцять із них фактично отримують доступ до масиву поза межами.

    0 0 голосів
    Rating post
    Підписатися
    Сповістити про
    guest
    0 comments
    Вбудовані Відгуки
    Переглянути всі коментарі
    0
    Ми любимо ваші думки, будь ласка, прокоментуйте.x