Видео: Get to know the Shortcuts app for iPhone and iPad — Apple Support (Ноябрь 2024)
Вы уже слышали о том, что Apple объявила о новой программе вознаграждений за ошибки на недавней конференции Black Hat. Иван Крстич, глава службы безопасности и архитектуры Apple, сделал это необычное выступление. Но это были только последние 10 минут 50-минутной презентации. В течение первых 40 минут Крстик совершил беспрецедентное глубокое погружение в три компонента безопасности iOS. И под глубоким я имею в виду батисферический.
Мое общее впечатление было от страха, насколько тщательно эти системы защищают пользовательские данные, даже от самой Apple. Я постараюсь передать то, что было сказано, не получая слишком технической информации.
Укрепленный WebKit JIT Mapping
Извините, это так и называется. JIT расшифровывается как Just In Time и относится к тому, как код Javascript компилируется как раз во время его выполнения. «Это необходимо для высокопроизводительного JavaScript», - объяснил Крстич. «Но политика подписи кода должна быть смягчена. Компилятор JIT генерирует новый неподписанный код. Злоумышленник, который управлял атакой с записью в любом месте, мог разрешить выполнение произвольного кода».
Для небольшого фона области памяти могут быть помечены с правами на чтение, запись и выполнение. Это различие, введенное давным-давно, подавило атаки, которые выполняли код в областях, посвященных данным. Вкратце, решение Apple включает технику, помещающую скомпилированный JavaScript в область памяти, которая разрешает только выполнение. Процессы не могут прочитать то, что там или записать новые данные. Это нечто большее, но это изменение, специфичное для iOS 10, уничтожает целый ряд возможных атак.
Secure Enclave Processor
Приложения на устройстве Apple запускаются в процессоре, называемом процессором приложений или AP. Современные устройства Apple имеют совершенно отдельный процессор, называемый процессором Secure Enclave, или SEP. «SEP защищен надежным криптографическим мастер-ключом от пароля пользователя», - сказал Крстич. «Атака в автономном режиме невозможна. Она обходит поверхность атаки AP, даже когда AP была скомпрометирована. Она разрешает доступ всех пользователей и управляет собственной зашифрованной памятью. При первой инициализации для создания уникального генератора случайных чисел используется Ключ устройства внутри процессора. Он не подлежит экспорту и хранится в неизменяемом защищенном ПЗУ."
Далее Крстич объяснил, как устройство использует четыре типа внутренних ключей безопасности с различными характеристиками. Тип А существует только тогда, когда устройство разблокировано. Тип B - это всегда присутствующий открытый ключ плюс закрытый ключ, который существует, когда устройство разблокировано. Тип C появляется в первый раз, когда устройство разблокируется после загрузки. И тип D всегда доступен.
Презентация перешла к ряду серьезно запутанных диаграмм. Один из них прошел процесс загрузки и разблокировки устройства, показывая, как каждый тип ключа был создан и сохранен. Каждый файл на вашем устройстве имеет свой уникальный ключ шифрования; другая диаграмма показала сложный танец, который позволяет SEP аутентифицировать и дешифровать этот файл, сохраняя при этом необходимые ключи безопасности внутри себя. Другой объяснил сложный процесс, который позволяет вам выбрать «Обновить позже». И еще один прошел через процесс, который позволяет разблокировать с помощью Touch ID, не оставляя мастер-ключ видимым в любом случае.
Ключевым выводом из этой части разговора является то, что Apple действительно действительно продумала, что требуется для полного управления шифрованием в процессоре Secure Enclave, не заставляя пользователя вообще сильно беспокоиться. Если вы хотите увидеть эти диаграммы для себя, посмотрите полную презентацию Krstic.
Синхронизация секретов
Это очень удобно, что вы можете синхронизировать данные между несколькими устройствами Apple. HomeKit позволяет управлять устройствами IoT, функция AutoUnlock позволяет разблокировать ваш Mac, когда ваши Apple Watch находятся рядом, ваши фотографии синхронизируются через iCloud и т. Д. Но с точки зрения безопасности синхронизация является проблемой.
«Традиционные подходы не годятся», - сказал Крстич. «Один из способов - заставить пользователя ввести надежный« ключ от носка »на всех устройствах; потерять его и утратить доступ к секретам. Другой способ - обернуть данные в производный ключ, который оставляет данные открытыми для поставщик аккаунта."
«У нас здесь было несколько целей», - продолжил Крстич. «Секреты должны быть доступны всем устройствам, защищенным надежной криптографией. Пользователи могут восстанавливать секреты, даже если они потеряют все подключенные устройства. Данные не подвергаются Apple, и нет возможности атаки методом перебора».
Аутентификация в базовой системе iCloud Keychain проста. Каждое устройство имеет свою собственную пару ключей, и для добавления нового устройства в круг синхронизации необходимо одобрить его с одного из существующих устройств. Бэкэнд Apple не участвует; это не имеет никаких привилегий. Если пользователь теряет доступ ко всем устройствам, доступ можно восстановить с помощью ключа безопасности iCloud и пароля iCloud.
Крстич очень подробно объяснил, как Apple управляет этой системой, не оставляя открытой ни малейшей возможности, что кто-либо, включая кого-либо в Apple, сможет получить доступ к данным из серверной части. Система включает в себя так называемые админ-карты, созданные во время ввода в эксплуатацию нового парка криптосерверов. «Админ-карты создаются на безопасной церемонии при вводе в эксплуатацию флота и хранятся в отдельных физических сейфах, находящихся под стражей трех различных организаций Apple, в защищенных от несанкционированного использования пакетах доказательств», - сказал Крстич.
Такая ситуация длится только до тех пор, пока флот фактически не введен в эксплуатацию. В то время, сказал Крстич, «мы помещаем карточки администратора в новую одностороннюю хэш-функцию». Вытащив из подиума явно используемый блендер, он продолжил: «Да, поездка через блендер». Когда парк криптографических серверов активен, он не может быть обновлен или изменен каким-либо образом, даже Apple, поскольку карты администратора были уничтожены. Если случается, что обновление действительно требуется, Apple должна ускорить новый парк и отправить обновление программного обеспечения, которое позволяет подключать пользовательские устройства к новому парку.
«Зачем мы это делаем», сказал Крстич. «Почему мы предпринимаем этот последний шаг, который чрезвычайно необычен? Мы делаем все возможное, чтобы спроектировать системы безопасности для обеспечения доверия. Когда данные покидают устройство, ставки еще выше. Нам необходимо поддерживать это доверие. Если мы сохраняем эти карты администратора, есть вероятность, что это неправда. Вот как серьезно мы относимся к нашей миссии в отношении пользовательских данных ".
На вопрос: «Вы сделали это из-за запросов ФБР о предоставлении информации?» Крстич ответил: «Я инженер. Я могу отвечать только на вопросы о том, почему я выступил сегодня». ОК, достаточно справедливо. Но я думаю, что спрашивающий был прав. Создание автономной системы, которую вы даже не можете изменить самостоятельно, - это довольно хороший способ удержать кого-то от внесения нежелательных изменений.
Надеюсь, я передал уровень детализации в разговоре Крстика, не заставляя глаз тёмно глазеть. Судя по болтовне, когда группа рассеялась, истинные фанаты защиты на уровне байтов в комнате были очень впечатлены.