![Фотография](https://secure.gravatar.com/avatar/a1f9a6c93393f0b13e2af01a9dac2271?s=100&d=https%3A%2F%2Fsoftware-testing.ru%2Fforum%2Fpublic%2Fstyle_images%2Fmaster%2Fprofile%2Fdefault_large.png)
Тестирование защищенности десктоп приложений
#1
Отправлено 20 февраля 2012 - 08:58
#2
Отправлено 20 февраля 2012 - 10:05
Здравствуйте. Интересует пример отчета по тестированию защищенности десктоп приложений. По веб приложением более-менее все ясно, а вот что писать про десктоп ума не приложу. Тем более что десктоп сложно защитить, если не сломали сейчас, то могут сломать потом, до какой степени тестировать и искать ошибки?
Перво-наперво нужно определиться от чего конкретно (угрозы, атаки) приложение должно быть защищено. Без этого не то что бы отчет, а само тестирование имеет мало смысла. Короче - какова цель? Что хотим узнать?
#3
Отправлено 20 февраля 2012 - 16:24
Насколько программа подвержена не санкционированному копированию.Короче - какова цель? Что хотим узнать?
#4
Отправлено 24 февраля 2012 - 09:30
Посмотрите отчёты по прохождению различных crackme. Как правило один crackme соответсвует одному способу защиты (приёму для её обхода).Насколько программа подвержена не санкционированному копированию.Короче - какова цель? Что хотим узнать?
Рекомендуемые ресурсы: wasm.ru (а также фоурм ресурса), и другие ресурсы по Assembler, защите, ...
Например, у вас используется следующий комплекс защитных мер:
1. Проверка пароля, записанного в конфигурационный файл, при запуске
- возможно обходится поиском места операции сравнения этого пароля и записью его в конфигурационный файл.
- если же происходит не прямое сравнение строк, а ещё куча криптографии, вривязка к SID, ... то возможно будет проще пропатчить исполняемый файл, чтобы он всегда возвращал положительный результат проверки.
2. Наличие антиотладочных функций (чтобы нельзя было узнать суть защиты)
- проверка, что Olly Debugger 1.0 и 2.0 (+ вариации, как Immunity Debugger) не отлаживают программу, вообще не могут найти точку входа.
- проверка что Hview тоже ничего не видит (точку входа).
- что IDA не мжет дизассемблировать код.
- что Windows Debugger не справился.
3. Возможно для защиты от копировать какие-то данные передаются по сети
- проверка что не сервер передаёт клиенту ключ, а наоборот (такое тоже может быть)
- проверка что непонятно из чего сформирован ключ
- проверка, что у двух разных клиентов на раных машинах, ... будут созбарны разные ключи запроса
4. Вероятно используется криптография:
- проверка что критография надёжная
- что используется для хеширования не CRC32, не MD4 и даже не MD5, а 100-кратный MD5 с солью, SHA, или надёжное шифрование
5. Если используется "отложенная проверка", то:
- проверка, что отложенная провека проверка срабатывает при запуске, при сохранении, при экспорте, ...
- что её сложной обойти
6. Проверка, что у исполняемого файла есть защита от модификации:
- зашифрованные и упакованные критические участки кода (для простоты подойдет даже бесплатные и для .NET и для нативных приложений есть, но можно и самому написать)
- проверка цифровой подписи исполняемого файла
Почитайте, поспрашивайте, выпишите тесты. А потом отчёт - пройден (вот в такой конкретной ситуации)/не пройден/требует дальнейшего изучения (непройден, но большой кровью, стоимость взлома несопоставима со стоимостью ПО).
#5
Отправлено 21 апреля 2012 - 12:16
#6
Отправлено 11 мая 2012 - 15:09
ЗЫ: Этим же вручную занимаются,а не в...тестировании,хотя логично будет использовать это в качестве тестов.
#7
Отправлено 11 мая 2012 - 15:13
Именно IDE.
Насколько мне известно,проверяется чтением исходников,а вот средств тестировщика я таких не встречал
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных