Поиск и замена SSL-сертификата в памяти во время выполнения - PullRequest
0 голосов
/ 21 декабря 2011

Я занимаюсь разработкой проприетарного протокола, чтобы создать бесплатный и открытый клиент.Запустив проприетарную клиентскую программу и наблюдая за трафиком, я до сих пор наметил большую часть протокола.Однако аутентификация зашифрована с помощью SSL.Это моя следующая цель.

Я знаю, что обычным способом продвижения вперед является маршрутизация всего трафика через прокси-сервер под моим контролем, по сути, выполняющий человека в средней атаке.По этой причине мне нужна рассматриваемая программа, чтобы принять мой самозаверяющий сертификат SSL.Вот где я рискну на неизвестную территорию: Программа написана на Adobe Flash и использует среду выполнения AIR.Мне не удалось найти отпечаток SSL в программных файлах, и даже если бы я мог это сделать, я ничего не знаю о Flash и, вероятно, что-то напортачу, когда бинарно исправляю программу.Таким образом, у меня остается возможность изменять память во время выполнения.Сброс памяти программы подтверждает существование подписывающего органа в нескольких местах.

Кто-нибудь знает методику автоматического определения в памяти всего, что похоже на сертификат SSL?У кого-нибудь есть какие-либо советы для меня?

Я использую Linux, поэтому до сих пор я запускал программу под Wine и использовал GDB, а также проверял / proc / n / mem, но Windows-конкретные советы также приветствуются.

1 Ответ

1 голос
/ 21 декабря 2011

Проверка сертификатов на стороне сервера обычно выполняется не путем сравнения двоичных файлов сертификатов (которые можно заменить), а путем комплексного анализа представленного сертификата. Следовательно, самый простой подход состоит в том, чтобы найти место, где будет вынесен окончательный вердикт о достоверности сертификата (скорее всего, во время выполнения AIR, а не в сценарии) и исправить это место.

...