Социальная инженерия и социальные хакеры - Игорь Симдянов
Шрифт:
Интервал:
Закладка:
Основные отличия социальной инженерии от социального программирования
Кроме социальной инженерии, мы будем еще употреблять термин "социальное программирование", которое, хотя и кажется на первый взгляд похожим на социальную инженерию, на самом деле от нее очень отличается. Тому, чтобы прекратить эту путаницу в терминах, и посвящен этот раздел.
Социальную инженерию можно определить как манипулирование человеком или группой людей с целью взлома систем безопасности и похищения важной информации. Социальное программирование же может применяться безотносительно от какого-либо взлома, а для чего угодно, к примеру, для обуздания агрессивной толпы или обеспечения победы какого-либо кандидата на очередных выборах, или наоборот, для очернения кандидата и для того, чтобы миролюбивую толпу сделать агрессивной. Важно то, что здесь уже речи о той или иной ЭВМ нет и в помине. Таким образом, термин социальная инженерия мы будем употреблять тогда, когда речь идет об атаке на человека, который является частью компьютерной системы, как это показано на рис. 1.1.
Примечание
Иногда кроме термина социальная инженерия употребляется также термин обратная социальная инженерия. Суть в том, что при обратной социальной инженерии вы человека напрямую ни к чему не принуждаете, а создаете такие условия, что он сам к вам обращается. К примеру, если вам нужно прийти в организацию под видом телефонного мастера, вы можете просто прийти и начать проверять телефонные коробки. Это в данной терминологии – социальная инженерия. А можно поступить и по-другому. Вы создаете такую ситуацию, при которой в какой-то конкретной организации вас знают как телефонного мастера. После этого вы ждете, когда что-то случиться с телефонами, или сами делаете с ними что-то, и спокойно ждете, когда вам позвонят и попросят прийти. Это и есть обратная социальная инженерия. Таким образом, не вы сами куда-то ни с того ни с сего приходите, а вас просят прийти. Конечно, второй случай намного предпочтительнее, т. к. снимает с вас вообще все подозрения. Грамотные социоинженерные подходы именно так и строятся, поэтому этот термин мы считаем излишним, и его употреблять не будем.
Социальное программирование можно назвать наукой, которая изучает методы целенаправленного воздействия на человека или группу лиц с целью изменения или удержания их поведения в нужном направлении. Таким образом, по сути, социальный программист ставит перед собой целью овладение искусством управления людьми. Основная концепция социального программирования состоит в том, что многие поступки людей и их реакции на то или иное внешнее воздействие во многих случаях предсказуемы. Вещь, вообще говоря, очень интересная. Но в большинстве своем это действительно так. Общая схема методов работы социальных программистов представлена на рис. 1.3.
Рис. 1.3. Общая схема методов работы социальных программистов
В социальном программировании разработка схемы воздействия идет с конца, т. е. от нужного итога. Приведу один очень простой и очень нехороший пример. Пускай есть некто, к примеру, заместитель, которому ну очень мешает начальник. Допустим, этот заместитель знает, что у его начальника больное сердце и слабые сосуды, и тот, у которого больное сердце, очень любит "приложиться к рюмочке". Родственники, конечно, чуть не по пятам ходят и эту рюмочку отбирают, и это даже действует. А наш зам. начальника теми или иными способами начинает того, у которого больное сердце, целенаправленно спаивать. В конце концов, сосуды не выдерживают. Геморрагический инсульт. Зам. начальника стал начальником. На похоронах рыдал больше всех, да и потом остался самым близким другом семьи. Несмотря на то, что фактически убил главу семейства.
Чем методы социального программирования прекрасны для преступников, что о них либо вообще никто никогда не узнает, как в вышеописанном примере, либо даже если кто-то о чем-то догадывается, привлечь к ответственности такого деятеля очень сложно. Ну нет у нас в уголовном кодексе статьи "Доведение до инсульта". А если б и была – пойди, докажи, что все так и было, ведь "доведенный" все делал сугубо добровольно, будучи дееспособным, в гипноз его никто не вводил, электромагнитными лучами никакими не облучал…
Это мы рассмотрели достаточно классическую и очень простую схему отрицательного применения социального программирования. В разных вариациях эта схема действует с глубокой древности, если вспомнить историю. В данном случае нужный итог – физическое устранение соперника. Итак, цель сформулирована. Дальше проработаны психофизические характеристики, в результате которой выяснена склонность к выпивке и наличие хронических сердечно-сосудистых заболеваний. Затем разрабатывается мера воздействия (чрезмерное употребление алкоголя), которая при правильном применении и дает запланированный результат. Очень важно то, что поведение человека естественно для него самого. Что и интересно. Для этого и производится расчет психофизических характеристик. Потому что иначе это было бы не социальное программирование. Ведь, когда маньяк-убийца, к примеру, уже выбрал себе жертву и собирается ее убить, он тоже знает о будущем поведении жертвы того, что она еще сама о себе не знает (что ее скоро не будет на этом свете). Но, согласитесь, поведение жертвы в этом случае вряд ли можно называть естественным: сложно представить, что встречи с маньяками это ее естественное времяпрепровождение. Таким образом, социальное программирование, это когда вы искусственно моделируете ситуацию под конкретного человека, в которой вы знаете, как этот человек поступит, исходя из знания психотипа этого человека. То же самое относится и к группе людей.
Примечание
В главе 3 мы рассмотрим еще несколько примеров именно социального программирования, например, проанализируем, какими способами можно усмирить агрессивную толпу, а также подумаем о том, каким образом с помощью методов социального программирования можно было учинить скандально известный недавний "соляной кризис".
Социальное программирование базируется на следующих психологических концепциях:
• трансактном анализе (см. главу 6);
• социологии (науке о поведении людей в группах) (см. главу 8);
• нейролингвистическом программировании (см. главу 7);
• сценарном программировании (см. главу 6);
• психологической типологии (см. приложение 2).
Социальное программирование, в отличие от социальной инженерии, имеет более обширную область применения, т. к. работает со всеми категориями людей, независимо от того, частью какой системы они являются. Социальная же инженерия всегда работает только с человеком, который является частью компьютерной системы, хотя методы в том и другом случае используются аналогичные.
Другое важное различие состоит в том, что социальная инженерия – это почти всегда отрицательная область применения, социальное программирование же, как и любая область знания, имеет и положительную и отрицательную область применения. Одним из примеров отрицательной области применения социального программирования является как раз социальная инженерия.
Поэтому, когда мы будем говорить о манипулировании человеком в том случае, когда он является частью компьютерной системы, или просто носителем секретной информации, которую требуется похитить, мы будем говорить о социальной инженерии, а в том случае, когда будет идти речь об управлении людьми вообще, мы будем говорить о социальном программировании. Наша книга – о социальной инженерии, но иногда, чтобы лучше была понятна суть многих методов, мы будем делать набеги в социальное программирование.
В заключение разговора о социальном программировании приведем известный пример о том, как искусно можно манипулировать людьми.
Однажды один гроссмейстер получил по почте письмо, в котором неизвестный ему человек, представившись молодым начинающим шахматистом, предложил сыграть дистанционную партию в шахматы. Дистанционную, потому что ходы отправлялись по почте. За выигрыш гроссмейстеру была обещана очень большая сумма денег, а если будет ничья, или, упаси бог, гроссмейстер проиграет, то деньги платит он. Правда, в два раза меньшую сумму, чем ту, которую получит он сам, если проиграет молодой шахматист. Гроссмейстер, не долго думая, согласился. Заключили пари, и стали играть. Уже с первых ходов знаменитый гроссмейстер понял, что "на халяву" заработать денежку не удастся, потому что уже первые ходы выдавали в молодом шахматисте перспективного мастера. В середине мачта гроссмейстер потерял покой и сон, постоянно просчитывая следующие ходы противника, который оказался не просто перспективным мастером, а очень большим мастером. В конце концов, через немалое время, гроссмейстеру едва удалось свести партию вничью, после чего он обрушил на молодого человека кучу комплиментов и предложил ему не деньги, а свою поддержку, сказав, что с такими талантами сделает его чемпионом мира. Но молодой шахматист сказал, что всемирная слава ему не нужна, и что просит всего лишь выполнить условия пари, т. е. выслать выигранные им деньги. Что гроссмейстер и сделал, скрепя сердце. А где же здесь манипулирование, спросите вы? А манипуляция здесь в том, что против гроссмейстера играл не молодой человек, а …другой великий гроссмейстер, который получил от молодого человека точно такое же письмо и точно так же согласился "быстренько подзаработать". На точно таких же условиях: за выигрыш ему платит большую сумму молодой человек, а за проигрыш или ничью платит гроссмейстер молодому человеку. В результате два великих шахматиста около полугода сражались между собой, а молодой "талантливый шахматист", выражаясь современным языком, работал почтовым ретранслятором, т. е. лишь пересылал их письма друг другу. А потом, в результате ничьи, оба гроссмейстера отправили деньги …этому молодому человеку.