Программное обеспечение с вредоносным намерением привязано к исполняемому файлу?

371
Doktoro Reichard

У меня было какое-то программное обеспечение, созданное для меня программистом за границей. Я немного подозрительна, так как программное обеспечение является исполняемым. Я начал думать о том, что они могли связать регистратор ключей с приложением, которое они сделали для меня, или с любым программным обеспечением со злым умыслом. Как я могу узнать?

5
Вы можете попробовать подключить анализатор пакетов и посмотреть, отправляет ли программа пакеты TCP или UDP. Кроме того, я бы сказал, что важно иметь доверительные отношения с зарубежными партнерами. Robert Harvey 14 лет назад 1
@closers: Если вы заключаете контракт с кем-то за границей, чтобы написать программное обеспечение для вас, как это связано с SuperUser? Robert Harvey 14 лет назад 0
Он спрашивает, как определить, есть ли в программном обеспечении средство регистрации ключей, а это не вопрос программирования. Тот факт, что программное обеспечение было написано для OP по контракту, в основном не имеет значения. David Z 14 лет назад 1
Что за софт? David Thornley 14 лет назад 0

6 ответов на вопрос

11
cHao

Для справки: когда у вас есть кто-то, кто создает собственную программу для вас, вы должны настаивать на получении исходного кода - все это в состоянии, когда вы (или кто-то, кому вы доверяете) можете перекомпилировать его с помощью соответствующих инструментов. Это единственный способ быть ближе к тому, что делает любой бинарный exe, если не считать изучения языка ассемблера.

5
Sniggerfardimungus

Если вы заключили с ними договор, лучше всего получить источник. Если вы заплатили за это, ваш контракт должен читаться так или иначе. Затем вы просто проверяете код самостоятельно, прежде чем использовать его.

Если нет никакого способа получить источник, это действительно сводится к проблеме доверия. Если вы им не доверяете, вам, вероятно, следует найти альтернативное решение. И ради любви ко всему, что есть FSM, НЕ выпускайте продукт, основанный на этом коде. Помните, что в зависимости от того, где вы находитесь и кто ваши клиенты, вы можете нести ответственность за любой ущерб, нанесенный системой.

3
BlueRaja - Danny Pflughoeft

Не могу поверить, что никто еще не упомянул об этом: запустить антивирусный сканер, нелегко обмануть их эвристику.

Кроме того, потребуйте исходный код и (попросите кого-нибудь) проверить его.

1
jeffamaphone

Вы должны были заключить контракт на получение исходного кода и создать его самостоятельно после проверки исходного кода.

0
DanJ

Вот несколько идей:

  • Запустите его с монитором процесса и посмотрите, записывает ли он данные на диск, в реестр и т. Д.
  • Профилируйте это через зависимость и посмотрите, загружает ли он какие-то странные библиотеки, которых вы не ожидали.
  • Запустите его на виртуальной машине и посмотрите, какие системные изменения внесены.

Убедитесь, что у вас есть хороший антивирус.

Если вы не доверяете этому, я бы предпочел запустить его на виртуальной машине без доступа к сети - таким образом, ваша машина не подвергается риску, и нет никаких шансов, что она сможет позвонить домой с любой полезной информацией. SqlRyan 14 лет назад 2
Анализ черного ящика никогда не является достаточным исследованием системы. Если вам не нравятся трехкилтонные взрывы: http://en.wikipedia.org/wiki/Siberian_pipeline_sabotage. (Вредоносная логика была разработана таким образом, чтобы уклоняться от тестирования и выходить из спящего состояния только тогда, когда он работал в полную силу.) 14 лет назад 2
0
Aaron

На каком языке был написан код? Например, если он написан на .NET, вы можете разобрать Reflector и посмотреть, что на самом деле делает код.

Похожие вопросы