TechnoGuideКак это сделатьСам себе админ

Защита программ банкоматов от реверс-инжиниринга глазами ATMIA

Дмитрий Гусев, StarForce Technologies | 07.11.2011

ВКонтакт Facebook Google Plus Одноклассники Twitter Livejournal Liveinternet Mail.Ru

Защита программ банкоматов от реверс-инжиниринга глазами ATMIA

В октябре 2011 года международная некоммерческая организация производителей оборудования и программ для банкоматов ATMIA (Automated Teller Machines Industry Association) выпустила очередной набор рекомендаций по безопасности банкоматов. В этом году документ впервые уделяет серьезное внимание защите программного обеспечения.<br />
<br />
А вы когда-нибудь задумывались, как взламывают такие суперзащищенные сети как например, сеть Пентагона или ФБР? В фильмах нам показывают красивых парней и девчонок, которые ловко стучат по клавиатуре как бы разрушая защитные коды взламываемых систем. А как все это происходит на самом деле? Неужели хакеры сидят и монотонно, байт за байтом исследуют код, чтобы найти в нем уязвимости?<br />
<br />
Компьютерная инфраструктура организации представляет собой  сочетание аппаратных и программных компонентов: серверы, рабочие станции, мобильные устройства, вкупе с соответствующим программным обеспечением. В любом софте, сложном или нет существуют ошибки. Ошибки существуют и в программных системах защиты. И именно, используя такие ошибки, или говоря по-другому уязвимости, хакеры и проникают внутрь. Проштудировать всю систему защиты и найти в ней уязвимость – работа чрезвычайно долгая и монотонная. Хакер редко ломает «в лоб». Он либо знает об уязвимостях заранее, будучи в курсе, что за система установлена и изучая ее спецификацию «факультативно», либо обнаруживает их случайно.<br />
<br />
В интернете достаточно описанных взломов, из которых можно сделать один единственный вывод: проникновение в систему – это взлом программной ее части. Поэтому, для предотвращения пагубных действий злоумышленников, наиболее важным представляется именно защита ПО.<br />
<br />
***<br />
<br />
Банковский сектор – один из секторов, приковывающих наибольшее внимание компьютерных злоумышленников всего мира. Махинации с банковскими картами происходят повсеместно. Тысячи людей ежедневно расстаются со своими кровными деньгами из-за взломов систем безопасности банкоматов. По данным советника президента Ассоциации Российских Банков по вопросам безопасности Олега Казакевича, которые он озвучил на выставке-конференции InfoBez-Expo в Москве, рейтинг угроз выглядит следующим образом:<br />
<br />
1.    Мошенничество в ДБО<br />
2.    DDoS атаки на банковские сети<br />
3.    Несанкционированный доступ<br />
<br />
Причем DDoS, подчас, является отвлекающим маневром, который притягивает к себе внимание технических служб безопасности. А в это время злоумышленник выполняет нужные ему действия уже внутри банковской системы, с помощью ранее внедренных туда вредоносных программ.<br />
<br />
Кроме того, господин Казакевич поделился и некоторыми цифрами ущерба, нанесенного банкам в России в 2011 году:<br />
<br />
•    в 2,5 млрд. руб. оценивается ущерб от мошенничества с банковскими картами<br />
•    55 млн. руб. увели у крупного московского банка в конце сентября<br />
<br />
Если говорить о количестве атак, то по словам советника регистрируется 5-8 атак на системы ДБО в неделю. Цели атак бывают разные - от банального съема денег со счетов граждан, до рэкета и шантажа. Существуют и примеры недобросовестной конкуренции, когда финансовую организацию либо заставляют уйти с рынка, либо принуждают слиться с другой структурой.<br />
<br />
Господин Казакевич отметил, что государство не готово к противодействию угрозам. И поэтому в данный момент АРБ готовит специальный программно-аппаратный комплекс противодействия широкому спектру угроз.<br />
<br />
«Сейчас у нас в стране 150 млн. карт», - говорит советник, - «После принятия закона о национальной платежной системе количество карт вырастет на 90 млн. И их владельцами будут люди, которые ничего не знают о тех опасностях, которые их подстерегают».<br />
<br />
Кроме материальных потерь от действий злоумышленников наиболее значимыми представляются и репутационные риски для банков.<br />
<br />
***<br />
<br />
В мире все тоже самое и даже хуже, потому что денег там больше, карт больше, людей, пользующихся ДБО больше. В связи с этим  ATMIA выпускает специальный доклад, целиком и полностью посвященный безопасности ПО банкоматов. <br />
<br />
Как отмечают специалисты организации, по сути, банкомат это компьютер под управлением операционной системы и некоторым набором установленных программ. Хакер может вторгнуться в систему на программном уровне и заставить банкомат выполнять нужные ему действия. При этом хакер может оставаться незамеченным в течении длительного времени.<br />
<br />
Взлом программы или системы происходит потому, что хакеру удается изучить структуру программы и понять как она работает. Далее – дело техники. Для предотвращения взлома программ, управляющих банкоматами, ATMIA советует использовать защиту от статического и динамического анализа ПО. Под статическим анализом понимается исследование исполняемого кода приложения, под динамическим – изучение алгоритмов работы программы. Техника такого взлома называется реверс-инжиниринг. <br />
<br />
Реверс-инжиниринг отмечается ATMIA как один из наиболее популярных и прогрессирующих на сегодняшний день способов взлома банковских программ. Для защиты от реверс-инжиниринга организация советует использовать опыт профессионалов и применять специализированные средства, направленные на защиту от данной угрозы.<br />
<br />
По словам инженеров StarForce к инструментам защиты относится следующее:<br />
<br />
•    Обфускация программного кода. Обфускация – приведение исходного текста или исполняемого кода программы к виду, сохраняющему ее функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции (по определению Wikipedia.org).<br />
•    Технология виртуальной машины. Виртуальная машина - программная система, эмулирующая аппаратное или программное обеспечение (по материалам Wikipedia.org). Виртуальная машина представляет из себя закрытый, хорошо защищенный контейнер, в котором исполняется часть программного кода.<br />
•    Шифрование статических и динамических данных программ. Для предотвращения хищения персональных данных клиентов, данных счетов и т.п.<br />
•    Шифрование траффика клиент-сервер. Для предотвращения «внедрения» в канал связи и перехвата данных, текущих между банкоматом и сервером банка.<br />
<br />
ATMIA отмечает, что подобные технологии защиты программ широко и успешно используются в других отраслях экономики и зарекомендовали себя, как недорогой и эффективный способ frontline (frontline – в переводе с англ. передний край) защиты от проникновения и перехвата управления хакерами. Время, которое может потратить даже начинающий хакер на изучении НЕЗАЩИЩЕННОЙ программы может исчисляться часами и даже минутами. Однако, изучение запутанного, «размешанного» кода, который написан на собственном языке программирования и скомпилирован индивидуальным компилятором, да кроме того работающего внутри виртуальной машины, является чрезвычайно сложной задачей. Известны случаи, когда злоумышленники тратили годы на взлом хорошо защищенной программы. Часто происходит так, что взломанная программа функционирует неверно, потому что хакеру не удалось проследить все связи внутри алгоритмов и восстановить их.<br />
<br />
Представители ATMIA прогнозируют увеличении интереса банков, компаний и частных лиц, чьи программные системы особо подвержены действиям хакеров, к системам анти реверс-инжиниринга. <br />

Мероприятия