Apple пытается подружиться с хакерами или хотя бы установить с ними какие-то контакты. Компания впервые за 15 лет собирается выступить с презентацией на хакерской конференции Black Hat. Презентация назначена на 26 июля. Даллас Де Этли (Dallas De Atley), руководитель подразделения Platform Security в Apple, расскажет о ключевых механизмах безопасности, которые используются в iOS.

Это довольно символичное событие, потому что Apple традиционно использовала метод “security by obscurity”, то есть старалась разглашать как можно меньше информации о механизмах защиты в операционных системах, за что неоднократно подвергалась критике со стороны специалистов. «Например, когда в iOS появился новый механизм защиты памяти ASLR (Address Space Layout Randomization), компания Apple никому об этом не сказала. Они не объяснили, как работает система подписи кода», — говорит известный хакер Чарли Миллер (Charlie Miller). В последнее время политика компании начала меняться. Например, пару месяцев назад Apple выпустила руководство по безопасности iOS, в котором раскрывается системная архитектура, возможности защиты данных и функции сетевой безопасности iOS.

Вполне вероятно, что изменение политики Apple связано с тем, что прежний подход дискредитировал себя. Джейлбрейк каждой новой версии iOS давно стал нормальным явлением, а в этом году миф о безопасности платформы Apple был полностью развенчан в связи с появлением масштабного ботнета из заражённых компьютеров Mac. После этого компания была вынуждена изъять фразу о том, что «на Mac нет вирусов» из рекламных лозунгов на своём сайте.

Отличным примером неэффективности подхода “security by obscurity” является недавний реверс-инжиниринг протокола, используемого для подтверждения InApp-покупок в App Store, осуществлённый российским хакером Алексеем Бородиным, В комментариях к своей работе Алексей написал:

Очень порадовал и сам AppStore. Покупка приложения — это вам не хухры-мухры. Как минимум 5 запросов, а с валидацией и все 7. И еще, у Apple просто свалка из всех возможных технологий XML (aka PLIST) via gzip. XML-PLIST просто как plain. JSON под gzip, NSDictionary под gzip и в base64. JSON в base64. Ужас! Это ещё не всё! Часть AppStore управляется чисто POST/GET заголовками, часть работает через HTTPS. Часть через HTTP. Вот скажем получить список покупок — HTTP. Купить что-то — HTTPS. Проверить покупку, при том получив ту же информацию, за исключением подписи, — уже HTTP! Такие дела.

Ещё интересно, что они игнорируют стандарты построения POST-запросов. Application/x-www-form-urlencoded у них в некоторых запросах тупо идет PLIST-ом. Никакого urlencode, никакого построения ссылок, что вы? Не, не слышали. Так и отправляются POST-ом целые XML-документы без компрессии.

А как зашифрован чек? Встречайте JSON->base64->NSDictionary->base64->NSDictionary.

Очевидно, что такого провала не случилось бы, если бы Apple использовала открытый подход в разработке технологий, тестируя их на уязвимости. Конечно, появление представителей Apple на конференции Black Hat не значит, что компания кардинально меняет свою политику. Но ясно, что они хотя бы понимают проблему.

Microsoft впервые появилась на конференции Black Hat в 1998 году, Google — в 2010-м.



Оставить мнение