Как защитить канал связи SSL и iOS Установка сертификата Просмотр сертификата 12
К чему ведут ошибки защиты канала В данном разделе мы рассмотрим, какие проблемы существуют при взаимодействии между клиентским приложением (в нашем случае приложением для мобильного банкинга) и сервером. Все примеры, приведенные здесь, — реальные, данную информацию мы получили в процессе аудитов защищенности приложений для мобильного банкинга. Отсутствие HTTPS (SSL) Как бы удивительно это ни звучало, еще год назад мы встречали приложения для мобильного банкинга, в которых все общение, включая финансовые операции, происходило по HTTP-протоколу: аутентификация, данные о переводах, — все было в открытом виде. Это значит, что злоумышленнику для получения финансовой выгоды необходимо было просто находиться с жертвой в одной сети и обладать минимальной квалификацией. Тогда для успешной атаки было достаточно исправлять номера счетов назначения и, при желании, суммы. Что касается взаимодействия приложения со сторонними сервисами, по сравнению с прошлым годом ситуация стала немного лучше, но по-прежнему большинство из них ходит за дополнительной информацией для своего функционирования по открытому каналу, на который легко может влиять злоумышленник. Как правило, эта информация связана: С новостями банка С расположением банкоматов С курсом валют С социальными сетями Со статистикой программы для разработчиков С рекламой В лучшем случае, злоумышленник может просто дезинформировать жертву, а в худшем — внедрить собственный код, который выполнится на устройстве жертвы, что в дальнейшем поможет похитить аутентификационные данные или деньги. Причина в том, что ОС Android позволяет подгружать код из Интернета, а затем выполнять его. Такой код злоумышленник может при определенных обстоятельствах внедрить в открытый канал. Собственное шифрование Данный вариант нам также встречался как на практике, так и в процессе исследования. Использование его нам непонятно, но, по нашим предположениям, оно может быть связано с устоявшимися внутренними процессами банка. При этом трафик в SSL дополнительно разработчиком не заворачивается. Как показывает наша практика, использование собственного шифрования до добра не доводит. Порой это даже не шифрование, а просто свой бинарный протокол, который на первый взгляд кажется непонятным, зашифрованным. 13