Как крадут данные с компьютера

Обновлено: 03.07.2024

Чем больше информации о себе вы храните в цифровом виде и чем активнее пользуетесь интернетом, тем выше вероятность, что ваши данные попадут в руки к недоброжелателям. Сегодня разбираемся в приёмах и уловках кибермошенников и рассказываем, как себя от них защитить.

Что могут украсть хакеры? Если коротко – всё, что находится у вас на цифровых устройствах либо проходит через них, хранится онлайн в мессенджерах, облаках, электронной почте.

Данные банковской карты

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

Основу фишинга составляет использование психологических слабостей человека либо его невнимательности для того, чтобы он собственноручно передал мошенникам данные своей карты либо аккаунта в интернет-банке.

Классический вид фишинга – рассылка писем со ссылкой на вредоносный сайт или вирус по e-mail. Письмо может быть замаскировано под рабочее и ссылаться на заражённую страницу либо иметь прикреплённый заражённый файл для скачивания. Если вирус попадёт на ваш компьютер, он сможет передать всю информацию о сохранённых логинах и паролях (лог-файлы) мошенникам. Естественно, там могут оказаться и пароли от онлайн-кошельков или итернет-банкинга.

Логины и пароли

Выше частично мы уже описали, как мошенники могут украсть данные всех ваших учётных записей через фишинговое письмо. Однако это не единственный способ. Вирус, передающий регистрационные данные, может попасть на ваш компьютер и без фишеров.

Если вы используете один пароль на многих сайтах, то при взломе одного из них мошенники смогут получить доступ и к другим вашим страницам. Взломанные аккаунты могут использоваться для рассылки спама, мошеннического выманивания денег из ваших друзей и коллег в соцсетях, для восстановления и изменения паролей к интернет-банкингу и для многого другого.

Использование мощностей вашего устройства

Зловредная программа может майнить на вашем компьютере или даже телефоне криптовалюту. Объём получаемой «крипты» с одного устройства невелик, но целая сеть заражённых гаджетов может с лихвой это компенсировать.

Информация со смартфона

Как вы уже поняли, заражены могут быть не только компьютеры, но и любые гаджеты, в которых есть процессор и память. Смартфоны – не исключение. Через них проходят многие банковские операции, в них также хранится много паролей и заметок. При этом обычный пользователь чаще обращает гораздо меньше внимания на защиту телефона, чем на защиту компьютера.

Вирус можно схватить, установив непроверенную программу даже из официального магазина приложений. Также в потенциальной опасности те, кто устанавливает взломанные программы. Переход по фишинговым ссылкам тоже можно отнести сюда. Способы заражения телефона похожи на те, какими вирус попадает и на компьютер. Однако подконтрольный киберпреступникам смартфон открывает для них немного иные возможности.

Сюда можно отнести обход двухфакторной аутентификации (3D-secure) при оплате с банковской карты – мошенники могут видеть, что происходит на вашем экране либо иметь полное управление телефоном и легко получить одноразовый банковский пароль, пользуясь уже украденными ранее данными карты. Также становится доступной слежка, ведь смартфон чаще всего при нас и имеет как встроенные камеры и микрофон, так и систему геопозиционирования.

Документы

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

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

Не стоит выкладывать в открытый доступ фото билетов на что бы то ни было – от концерта до самолёта. Покрасоваться перед подписчиками многим может быть приятно, но ещё приятнее будет мошенникам найти такие фото. Выудив информацию, преступники могут сделать многое: скопировать билет, отменить его, получить личные данные и телефон, узнать время, когда вас не будет дома.

Как защитить себя?

Многие правила цифровой безопасности читаются уже между строк в самих способах работы кибермошенников. Однако не все из них могут быть очевидны, поэтому опишем по порядку:

Современные проблемы требуют современных решений. А кибермошенничество – одна из самых ярких проблем нашего времени. Но равно так же, как мошенники постоянно обучаются новым технологиям, чтобы красть ваши деньги и данные, вы можете обучаться в ответ, чтобы защитить своё цифровое имущество. Чтобы обеспечить свою безопасность, нужно всегда быть начеку и не отставать от развития технологий. Желаем вам оставаться в недоступности для хакеров.

Мы производим множество данных ― делаем отчеты, личные фото, проводим онлайн-платежи. Эту информацию легко могут украсть хакеры. Есть ли способы защититься? Отвечаем вместе с выпускником ИТМО, капитаном одной из топовых команд по спортивному хакингу Владом Росковым.


Иллюстрация: Дмитрий Лисовский, ITMO.NEWS




Вирусы не заражают сами. Чтобы получить данные или доступ, преступнику нужна ошибка. Фишинг — когда ошибся человек. Это просто обман: письмо от имени YouTube «Поступила жалоба, войдите, чтобы восстановить канал», файл на флешке «ЦДО 5сем ответы.docx.exe». Расчет на то, что человек поверит и сам отдаст данные или разрешит доступ. Эксплоиты — когда ошибка в программе. Программист ошибся, программа кладет в массив больше данных, чем выделила памяти. Если аккуратно смастерить данные, попадающие за выделенные пределы — создать эксплоит, — можно захватить управление программой и, например, заставить ее скачать и запустить троян. Когда такие ошибки находят в популярном софте, злоумышленники стремятся раздобыть эксплоит, чтобы всех заражать. Именно так можно перейти по присланной ссылке и заразиться из-за ошибки в Chrome, или открыть презентацию с эксплоитом и заразиться из-за ошибки в PowerPoint. К счастью, опасные эксплоиты попадают к широким массам злоумышленников редко, а ошибки в софте закрываются быстро. Рядовые заражения обычно происходят через обман.


Несмотря на то, что вы не банк, у вас наверняка можно украсть что-то ценное: перечислить 30 тыс. рублей с карточки, зашифровать файлы в надежде на выкуп 10 тыс. рублей, перепродать аккаунт Steam с купленными играми за 3 тыс. рублей, попытаться с вашего компьютера пробраться в сеть работодателя — вдруг это банк. Даже если ценностей на компьютере нет совсем, можно украсть аккаунт в соцсети и писать с него комментарии за деньги или использовать ваш IP для прикрытия своих преступных дел. Целенаправленно атаковать вас ради такой мелочи никто не будет, но вы можете попасть под массовую атаку. Случайно проникший троян начнет отправлять хозяину все, до чего сможет дотянуться, и как-нибудь потом хозяин отфильтрует из базы наворованного все аккаунты VK, упакует по сто штук в пачке, и выставит на продажу за 1 тыс. рублей.



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


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


Во-вторых, вирус должен как-то заразить. От эксплоитов — автообновления: операционка, Chrome, Office. В обновлениях исправляют ошибки, и эксплоиты перестают работать. Подозрительные документы также можно открывать в Google Docs, так у эксплоита нет шансов сработать на вашем компьютере. От фишинга — осмотрительность. Обращайте внимание, когда вас просят предоставить данные или что-то запустить в странных обстоятельствах. Перешли по ссылке в письме, а у вас просят пароль от почты. Прислали документ, у которого расширение не .docx, а .scr. Позвонили от имени банка и просят установить приложение на телефон. Пишет знакомый с просьбой, а прошлой переписки в диалоге нет.


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


И наконец, украденным нужно как-то воспользоваться. Затрудните вход в аккаунты: поставьте пароль, который нигде не повторяется, включите двухфакторный вход (SMS или Google Authenticator). Злоумышленнику станет недостаточно доступа к компьютеру, чтобы распоряжаться аккаунтом. В первую очередь защитите почту, на которую можно запросить сброс пароля других сервисов. Возьмите на вооружение эти четыре пункта, чтобы подпортить преступнику доход.

Я занимаюсь поиском уязвимостей в различных системах безопасности. В определённый момент мне стало понятно, что мои клиенты недостаточно хорошо знакомы (если вообще знакомы) с базовыми приёмами «хакинга». Ключи к API, пароли, SSH-ключи, сертификаты — всё это отличные механизмы защиты. Но это так до тех пор, пока их держат в секрете. После того, как подобные данные оказываются доступными тем, у кого доступа к ним быть не должно, оказывается, что сложность паролей и продвинутость алгоритмов хеширования уже значения не имеют. В этом материале я хочу рассказать о концепциях, методах и инструментах, применяемых исследователями систем безопасности для нахождения секретных данных. Такие данные используются для взлома систем. Я, кроме того, расскажу тут о простых последовательностях действий, которые помогут снизить риск успешной хакерской атаки.


Важно отметить то, что «игра» в нападение и защиту, в которую играют хакеры и владельцы компьютерных систем, это — нечестная игра. Атакующему достаточно, чтобы проникнуть в систему, выиграть лишь раз. А тому, кто защищается, выиграть можно лишь всегда побеждая. Главная сложность тут — знать о том, на что надо обращать внимание. Но после того, как защитник будет знать о том, через какие именно виртуальные «двери» в его систему может проникнуть хакер, эти «двери» можно защитить с помощью достаточно простых механизмов. Я полагаю, что простота этих механизмов иногда принижает их важность и является причиной того, что многие защитники компьютерных систем упускают эти механизмы из виду.

  • Включайте многофакторную аутентификацию (multi-factor authentication, MFA) везде, где это возможно. Защищайте с её помощью учётные записи Google и GitHub, аккаунты облачных провайдеров, личные кабинеты VPN-сервисов. Если используемая вами система не предусматривает использование MFA — подумайте о переходе на другую систему.
  • Выполняйте ротацию паролей и ключей, применяйте политики ротации паролей.
  • Регулярно проверяйте код на наличие в нём того, чего в нём быть не должно. Лучше всего сделать такие проверки частью процесса проверки кода перед публикацией.
  • Делегируйте одной центральной системе задачи по работе с профилями регистрации и по управлению доступом к другим системам. Эта система должна находится под вашим контролем, вы должны постоянно за ней наблюдать.

Как же действуют хакеры, находя пароли и секретные ключи? Какими инструментами они пользуются?

Хакеры находят секретные данные в JavaScript-файлах

Ключи к API разбросаны по всему интернету. Воспользоваться ими может кто угодно. Это — факт. Часто у того, что ключи оказываются в общем доступе, нет каких-то особых причин. Разработчики просто повсюду их забывают. Например, ключи попадают в код по следующим причинам:

  • Для отладочных целей.
  • Для целей локальной разработки.
  • В виде комментариев, предназначенных для тех, кто будет поддерживать проект позже.


Хотя многие хакеры самостоятельно читают код JavaScript-файлов, такие файлы, в основном, ищут с помощью инструментов вроде meg, а потом проверяют то, что нашли, на наличие там соответствующих паттернов.

Как они это делают? После использования сканера вроде meg они ищут в найденных файлах строки, соответствующие различным шаблонам. Тот же, кто создал meg , написал ещё одну отличную программу, именно для этого и предназначенную. Она называется gf и представляет собой улучшенный вариант grep . В данном случае использование при запуске gf опции truffleHog или, в другом варианте её написания, trufflehog , позволяет инструменту находить высокоэнтропийные строки, представляющие собой ключи к API. То же самое касается и поиска строки API_KEY . Результаты поиска по такой строке часто (слишком часто) оказываются успешными.

Нередко у того, что ключи появляются в коде, есть совершенно нормальные причины, но такие ключи не защищены от посторонних. Приведу пример. Один клиент, с которым я работал, пользовался внешним сервисом картографической информации. Так делается во многих проектах. Для того чтобы загружать картографическую информацию и работать с ней, нужно было выполнять обращения к соответствующему API с использованием ключа. Но мой клиент забыл настроить применяемый им сервис так, чтобы ограничить источники, с которых в этот сервис могут поступать запросы, использующие этот конкретный ключ. Несложно представить себе простую атаку, которая заключается в том, чтобы истощить квоту на использование ресурсов картографического сервиса путём отправки к нему множества запросов. Это может стоить пользователю такого сервиса больших денег. Или, что ещё «лучше» (с точки зрения атакующего), такая атака может привести к тому, что те части проекта клиента, которые завязаны на картах, попросту «упадут».

JS-файлы используются хакерами не только для поиска секретных данных. Ведь такие файлы — это код вашего приложения, который может увидеть любой, кому этот код интересен. Хороший хакер может, внимательно прочтя код, разобраться в используемом в нём подходе к именованию сущностей, выяснить пути к API, может обнаружить ценные комментарии. Подобные находки оформляются в виде списка слов, передаваемого автоматическим сканерам. Это — то, что называется «интеллектуальным автоматизированным сканированием» («intelligent automated scan»), когда хакер комбинирует автоматические инструменты и собранную им информацию о конкретном проекте.

Вот реальный комментарий с домашней страницы одного проекта, в котором открытым текстом говорится о незащищённых API, данные из которых может получить кто угодно:

▍Что делать?

  • Минифицируйте код. Благодаря этому код обфусцируется. Подобная обработка кода обратима, но благодаря ей можно обойти многие автоматические сканеры, что уменьшает потенциальные возможности атаки.
  • Оставляйте в коде только абсолютный минимум ключей и путей к API. В то время как без некоторых из них обойтись не получится, о большинстве из них сказать того же самого нельзя. Оставляйте в коде только те ключи, которым совершенно необходимо в нём присутствовать.
  • Понизьте разрешения, связанные с ключами, до абсолютного минимума. Если вспомнить пример с сервисом картографической информации, то можно сказать, что ключи должны быть такими, чтобы с их помощью можно было бы делать только то, для чего они предназначены, и чтобы пользоваться ими можно было бы только там, где они должны использоваться. Удостоверьтесь в том, что эти ключи нельзя использовать для атаки на систему.
  • Используйте те же инструменты для автоматического сканирования кода, которые используют хакеры. Включайте их в системы непрерывной интеграции. Особенно это касается средств для поиска строковых паттернов, которые работают очень быстро. Используйте простые инструменты вроде grep или gf для поиска строк. Такая проверка кода сродни тестам. Она позволяет убедиться в том, что разработчики не оставляют в коде дыр, которыми может воспользоваться злоумышленник для взлома системы.
  • Внедрите у себя практику код-ревью. Всегда полезно, когда кто-то проверяет ваш код. Все автоматические сканеры мира не способны выявить 100% возможных проблем. Код-ревью — это отличный способ повышения качества и защищённости кода.

Хакеры анализируют информацию из прошлого, пользуясь интернет-архивами

Архив Интернета (известный ещё как «Wayback Machine») хранит периодически создаваемые снимки веб-сайтов. Этот проект позволяет увидеть то, каким был интернет многие годы тому назад. Данные архива представляют немалый интерес для хакеров, которым нужно собрать сведения о некоем проекте. Сканировать файлы старых вариантов веб-сайтов можно с помощью инструментов наподобие waybackurls (он основан на waybackurls.py). Это значит, что даже если вы нашли в коде сайта ключ и убрали его оттуда, но не произвели ротацию ключей, хакеры могут найти этот ключ в старой версии сайта и воспользоваться этим ключом для взлома системы.

Вот что нужно сделать в том случае, если вы нашли ключ там, где его быть не должно:

  1. Создайте ключ, предназначенный для замены скомпрометированного ключа.
  2. Выпустите новую версию кода, в которой используется новый ключ. Этот код должен быть переписан так, чтобы в нём не было бы строк, позволяющих легко идентифицировать ключ.
  3. Удалите или деактивируйте старый ключ.

▍Архив Интернета — это не единственное место, где можно найти ключи

Старый код даёт злоумышленникам самую разную интересующую их информацию.

Хакеры пользуются GitHub

GitHub — это настоящая золотая жила для хакеров. Если знать о том, где искать, то, воспользовавшись простыми инструментами поиска, можно найти много всего интересного. Если учётная запись вашей организации на GitHub не защищена механизмом многофакторной аутентификации, то все без исключения сотрудники организации представляют собой ходячие дыры системы безопасности. Вполне реально то, что некоторые из сотрудников используют везде один и тот же пароль, и то, что этот пароль уже был украден у них через какую-то другую систему. Хакер, которого интересует некая организация, может легко автоматизировать поиск скомпрометированных паролей, да что там говорить, он может найти такие пароли и вручную.

Список сотрудников организации можно создать, воспользовавшись методами разведки, основанной на открытых источниках (Open source intelligence, OSINT). Помочь в этом злоумышленнику может LinkedIn или общедоступный список сотрудников компании с GitHub.

Если, например, кто-то решил взломать компанию Tesla, то он вполне может начать изучение компании с этой страницы:


А даже если компания не использует GitHub в качестве git-платформы, на GitHub, всё равно, можно найти что-то ценное. Достаточно, чтобы этой платформой пользовался хотя бы один из сотрудников компании, например, для домашнего проекта. Если в коде этого проекта (или в истории git) появится что-то секретное, относящееся к компании, этого будет достаточно для того чтобы проникнуть в системы этой компании.

Отслеживание полной истории изменений, вносимых в каждый проект, это — природа git. В свете вопросов безопасности этот факт играет огромную роль. Другими словами, каждое изменение, внесённое в код любым, кто имеет доступ к каким-либо системам некоей организации, подвергает эту организацию опасности.

▍Почему это происходит?

  • Компании не проверяют свои системы на предмет наличия в них уязвимостей.
  • Те компании, которые выполняют подобные проверки, обычно не обращают внимания на общедоступные учётные записи своих сотрудников.
  • Те компании, которые проверяют и свои системы, и учётные записи сотрудников (а таких, по грубым оценкам, менее 1%), часто слишком сильно полагаются на автоматические сканеры и не проверяют историю коммитов (то есть — анализируют не всё дерево git, а лишь то, что лежит на поверхности, представленное самой свежей версией кода).
  • И наконец, достаточно часто компании не выполняют ротацию ключей и не применяют двухфакторную аутентификацию. Два этих приёма способны закрыть большинство вышеупомянутых брешей систем безопасности.

▍Основы использования особых поисковых запросов в GitHub

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

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


А если попробуете искать определённые файлы, используя запросы вроде filename:.npmrc _auth или filename:.htpasswd , то вы сможете фильтровать результаты поиска по типам утечек данных. Вот ещё один хороший материал на эту тему.

▍Меры по снижению рисков, связанных с GitHub

Применяйте везде, где используется парольный вход в систему, сложные и уникальные пароли. Но учитывайте то, что сложный пароль — это не обязательно такой, который представляет собой таинственную мешанину из букв, цифр и специальных символов. Сейчас лучшей стратегией считается использование в качестве паролей длинных фраз. Мне хотелось бы сделать одно примечание по поводу менеджеров паролей. Хотя, определённо, такими программами пользоваться стоит, всё равно лучше использовать пароли, представляющие собой фразы, которые пользователи помнят и могут вводить самостоятельно.

Вот что говорит пользователь @corymcdonald:

Там, где я работаю, всем выдают аппаратные средства многофакторной аутентификации. У каждого имеется по 2 устройства YubiKey. Кроме того, каждая команда пользуется менеджером паролей 1Password, для каждой команды создано собственное хранилище паролей. Когда некий сотрудник покидает компанию, команда техподдержки выполняет ротацию паролей в каждом хранилище, к которому был доступ у этого сотрудника. Лично я, например, совершил непростительную ошибку, выложив на GitHub ключи для доступа к AWS. Рекомендовано, перед выполнением коммитов, проверять материалы с использованием git-secrets. Это позволит не дать уйти в общий доступ тому, что напоминает секретные сведения.

Хакеры используют Google

Теперь, когда мы в общих чертах познакомились с дорками, мы можем поговорить о применении особых поисковых запросов в Google. Тут с их помощью можно найти просто невероятные вещи. Google — мощная поисковая система, которая позволяет строить запросы, описывая строки, которые должны и не должны присутствовать в искомых данных. Google, кроме прочего, позволяет искать файлы с определёнными расширениями, умеет выполнять поиск по заданным доменам, по URL. Взгляните на следующую поисковую строку:


Эта строка рассчитана на поиск файлов с расширением yml , причём, это должны быть файлы docker-compose , в которых разработчики нередко хранят пароли. Не особенно уникальные пароли. Попробуйте запустить в Google поиск по этой строке. Вас удивит то, что вы найдёте.

Другие интересные поисковые строки могут быть рассчитаны на поиск RSA-ключей или учётных данных AWS. Вот ещё один пример:


Тут перед нами открываются безграничные возможности. Качество поиска зависит лишь от уровня креативности исследователя и от того, насколько хорошо он знаком с различными системами. Вот, если хотите поэкспериментировать, большой список Google-дорков.

Хакеры тщательно изучают интересующие их системы

Когда некая система очень интересует исследователя безопасности (или мотивированного хакера), он приступает к глубокому изучению этой системы. Он близко знакомится с ней. Его интересуют конечные точки API, соглашения по именованию сущностей, особенности взаимодействия внутренних частей систем, наличие доступа к разным версиям системы в том случае, если одновременно используются её разные версии.

Не очень хороший подход к защите API заключается в том, чтобы усложнять пути доступа к ним, скрывать их с использованием чего-то вроде генератора случайных символов. Это не заменяет реальных механизмов обеспечения безопасности. Исследователи безопасности пытаются найти незащищённые пути доступа к системам, конечные точки API, например, пользуясь инструментами для «нечёткого» поиска уязвимостей. Такие инструменты используют списки слов, строят из них пути и проверяют эти пути, анализируя получаемые при попытке обращения к ним ответы. Подобный сканер не найдёт конечную точку, путь к которой представлен совершенно случайным набором символов. Но такие инструменты прекрасно показывают себя в деле идентификации паттернов и в нахождении конечных точек, о которых владельцы системы либо забыли, либо никогда и не знали.

Помните о том, что «безопасность через неясность» («security through obscurity») — это не лучший способ защиты систем (хотя полностью игнорировать его не стоит).

Но и у «случайных строк», тем не менее, есть своё место в системах. Их применение всегда лучше, чем использование в путях к API последовательностей из идентификаторов ресурсов, строк вроде users и orders .

Вот — потрясающий репозиторий SecLists, который содержит множество строк, используемых при именовании сущностей. Им пользуются практически все, имеющие отношение к индустрии защиты данных. Часто эти материалы модифицируют под конкретную систему. Ещё один инструмент, который можно использовать для поиска «зашифрованных» путей, это FFuf — чрезвычайно быстрая программа, основанная на нечёткой логике, написанная на Go.

Итоги

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

В этом материале я попытался показать вам то, как строки, которые, как кажется, защищены тем, что хранятся в закрытом репозитории, могут легко уйти в общий доступ. То же касается и клона репозитория, сделанного сотрудником из лучших побуждений и не предназначенного для чужих глаз, но оказавшегося общедоступным. Но можно создать базу для безопасной работы, воспользовавшись инструментом для организации безопасного совместного использования паролей, применив централизованное хранилище секретных данных, настроив политики безопасности паролей и многофакторную аутентификацию. Это позволит, не игнорируя безопасность, не замедлить скорость работы над проектом.

Если говорить о защите информации, то тут не очень хорошо работает идея, в соответствии с которой скорость — это самое главное.

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

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

Если не подключать компьютер к Интернету, то информацию никто не сможет украсть, правда же? На самом деле это не совсем так.


Нет подключения — нет проблем, верно? На самом деле это не совсем так: известно довольно много способов незаметно вытащить информацию даже с физически изолированного устройства.

В израильском Университете Бен-Гуриона есть особый отряд исследователей во главе с Мордехаем Гури, специализирующийся как раз на изучении таких способов кражи данных. Сейчас мы расскажем, чего они за последнее время наисследовали и нужно ли вам (и нам) по этому поводу беспокоиться.

Как можно прорваться через физическую изоляцию

То, что системы за воздушным зазором уязвимы, несмотря на изоляцию, не новость: атаки через цепочку поставок или с помощью инсайдеров никто не отменял. Самый простой способ — зараженная флешка. Именно с этого, например, началось распространение великого и ужасного Stuxnet. Окей, заражение произошло — но как можно вытащить данные наружу, если подключения к Интернету нет?

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

Ультразвук

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

Электромагнетизм

Также никто не отменял старого доброго электромагнетизма. В основе таких методов — простая идея, что электрический ток создает электромагнитное поле, которое можно улавливать и преобразовывать обратно в электрический сигнал. Контролируя ток, можно контролировать и это поле. Дальше следите за руками: злоумышленники с помощью зловреда отправляют на дисплей специальную последовательность сигналов и превращают кабель монитора в своеобразную антенну. Манипулируя количеством и частотой отправки байт, они могут сделать так, чтобы отправленный сигнал можно было принимать с помощью FM-приемника. Так, господа, работает метод под названием AirHopper.

Еще один способ называется GSMem и основан на излучении компьютерной шины памяти. Как и в предыдущем случае, специальный зловред отправляет по шине некий набор нулей и единиц, благодаря которому вызываются изменения в ее излучении. В этих изменениях можно закодировать информацию, а уловить их можно обычным мобильным телефоном, даже без встроенного FM-радиоприемника, причем работающим на частотах как GSM, так и UMTS или LTE.

Общий принцип метода понятен, а в качестве передающей антенны может использоваться практически любой компонент компьютера. Помимо уже перечисленных, известны и исследованы способы передачи данных с помощью излучения шины USB, интерфейса GPIO и кабелей питания компьютера.

Магнетизм

Особенность этого способа в том, что в некоторых случаях он сработает даже в клетке Фарадея, которая блокирует электромагнитное излучение и потому считается надежным способом защиты даже среди матерых параноиков.

Метод основан на высокочастотном магнитном излучении, которое генерирует компьютерный процессор и которое успешно просачивается сквозь металлическую оболочку. Похожим образом в клетках Фарадея работает, например, компас. Исследователи выяснили, что если найти способ программно манипулировать нагрузкой ядер процессора, то можно управлять и его магнитным излучением. Расположите улавливающее устройство неподалеку от клетки (Гури с коллегами утверждают, что способ работает на расстоянии до полутора метров), и дело в шляпе. В процессе эксперимента исследователи использовали для приема информации специальный магнитный датчик, подключенный к серийному порту соседнего компьютера.

Оптика

Тут все довольно просто: любой компьютер моргает окружающей среде как минимум несколькими лампочками, и если заставить его моргать по вашему усмотрению, он будет передавать всю нужную информацию.

Улавливать эти данные можно, например, взломав камеру наблюдения в помещении. Так устроены способы LED-it-GO или xLED. А если посмотреть на aIR-Jumper, то окажется, что и сама камера может стать дырой: она способна как излучать, так и улавливать инфракрасное излучение, неразличимое человеческим глазом.

Термодинамика

Еще один неожиданный канал передачи данных из изолированной системы — через тепло. Воздух в компьютере нагревают процессор, видеокарта, жесткий диск, многочисленные периферийные устройства — проще сказать, какой компонент этого не делает. Также в любом компьютере установлены температурные датчики, которые следят, чтобы ничего не перегрелось.

И если один (изолированный) компьютер по указанию зловреда начинает произвольно менять температуру, то второй (подключенный к Интернету) может эти изменения регистрировать, переводить их в понятную информацию и отправлять данные наружу. Правда, для того чтобы компьютеры смогли общаться между собой такими тепловыми сигналами, они должны быть довольно близко расположены — не далее 40 сантиметров друг от друга. Пример такого способа: BitWhisper.

Сейсмические волны

Или, проще говоря, вибрация. Это последний на сегодня вид излучения, которым заинтересовались исследователи, и его тоже можно использовать для передачи данных. Вредонос в этом случае манипулирует опять же скоростью вентиляторов, но так, чтобы информация кодировалась не в звуках, а в вибрации, которую они производят.

Она передается через поверхность, где стоит компьютер, и улавливается лежащим на этой поверхности смартфоном с помощью акселерометра. Недостаток способа в том, что скорость сколько-то надежной передачи данных очень невысока — около половины бита в секунду. Поэтому на передачу даже скромного объема информации в несколько килобайт может уйти пара-тройка дней. Впрочем, если взломщик никуда не торопится, то метод вполне рабочий.

Насколько это все опасно?

Как от этого защититься?

Простой как топор, но очень эффективный способ обезопасить себя от кражи секретной информации — запрет на территории предприятия любых посторонних устройств, включая кнопочные телефоны. Если же это по каким-либо причинам невозможно или хочется дополнительных гарантий, можно прибегнуть к следующим методам:

Кроме того, сами исследователи в своих работах отмечают, что почти во всех случаях более тщательной изоляции помогает защита на уровне софта: то есть, проще говоря, хорошо бы пользоваться надежными защитными решениями, которые смогут уловить вредоносную активность. Если изолированная машина работает со стандартными задачами (а в случае с машинами за воздушным зазором это достаточно распространенная ситуация), то, возможно, защиту стоит переключить в режим запрета по умолчанию (Default Deny), в котором посторонние программы не смогут выполняться.

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

Последствия умышленных утечек такого рода могут быть самыми разными — от потери деловой репутации до серьезных межправительственных скандалов, хотя чаще всего кража информации в конечном итоге означает потерю денег.

Классификация и способы кражи данных

Кража физического носителя

Самый прямой и грубый способ. Большинство современных устройств — ноутбуки, смартфоны, планшеты, подключаемые внешние диски и флешки — достаточно малы, чтобы можно было украсть их мимоходом, пройдя рядом со столом, где они лежат (например, если владелец отлучился на минуту от рабочего места).

Кража данных

У крупных компьютеров можно похитить жесткие диски, причем не обязательно безвозвратно. Весьма легко вообразить злоумышленника, который извлечет диск после окончания рабочего дня, скопирует всю интересующую его информацию и вернет накопитель на место ранним утром следующего дня. В таком сценарии владелец устройства даже не догадается о несанкционированном доступе к его данным.

Кража при доступе к носителю

К этой же категории относится возможность подсмотреть информацию. Распространены случаи, когда множество сотрудников работает в одном большом помещении без перегородок, и соседям хорошо видно, кто что делает. Соответственно, преступник может как наблюдать лично, так и установить небольшую камеру, которая запишет все, что выводилось на экран чужого монитора.

Удаленная кража по сети

Если машина подключена к проводной или беспроводной сети, то прямой физический доступ к ней необязателен. В интернете доступно множество вирусов, троянских программ, бекдоров и прочих вредоносных агентов, которые злоумышленник может внедрить разными способами (скажем, путем эксплуатации уязвимостей). Также данные могут быть перехвачены при помощи снифферов, если каналы связи плохо защищены.

Кража данных с внешних серверов

Наконец, если данные хранятся в интернете (в облачном хранилище, на почтовом сервере и т.п.), то преступники могут осуществить несанкционированный доступ к этим ресурсам. Для пользователей такой сценарий опасен тем, что помимо установки хорошего пароля у них нет никакой другой возможности повлиять на сохранность информации — всё программное обеспечение и все настройки доступа осуществляет владелец сервиса.

Объекты воздействия

Объекты краж данных можно разделить на два основных типа: физические носители информации и логические (виртуальные) сущности.

Доступ к физическим носителям возможен путем прямой кражи, временного выноса за периметр, обращения с просьбой к владельцу компьютера о возможности недолго поработать на его машине. Также злоумышленник может установить с внешнего носителя вредоносные программы, которые крадут и передают данные по сети на внешний сервер.

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

Причины кражи данных

В голливудских фильмах кражи совершают команды профессионалов, где каждый выполняет свою задачу, а сложнейший план рассчитан по секундам. В реальной жизни подавляющее большинство хищений вызвано в первую очередь не мастерством злоумышленника, а беспечностью владельца. Кражи информации — не исключение: в ряде случаев пользователь сам предоставляет доступ к своим активам.

В первую очередь это касается отношения к носителям данных, которые нередко оказываются вне видимости и досягаемости владельца, отлучившегося за чашкой кофе или по вызову начальства, так что украсть их может любой проходящий мимо субъект. Соответственно, смартфоны, флешки, внешние диски лучше всегда носить при себе, ноутбук — оставлять под присмотром надежных друзей, а стационарный компьютер — держать в комнате с физической защитой.

Используемые программы должны своевременно обновляться, антивирус обязателен. По возможности следует избегать любых сомнительных ресурсов — содержащих взрослый либо любой другой запрещенный контент, нелегально распространяющих фильмы, книги, программы, музыку. Многих привлекает идея борьбы с авторским правом, однако далеко не все сторонники свободного распространения информации трудятся бесплатно: скрытый в модифицированном файле вирус обойдется пользователям намного дороже официальной покупки.

Также не стоит переходить по ссылкам, особенно тем, которые поступают с незнакомого адреса. Как правило, они ведут на фишинговые сайты. Ссылки на сайты мобильного банкинга и электронных платежных систем лучше вообще игнорировать, где бы они ни размещались — безопаснее просто набрать нужный адрес прямо в браузере.

Наконец, нельзя поддаваться методам психологического манипулирования (социальной инженерии). Если вам звонит незнакомый человек, представляется сотрудником банка или еще кем-то, просит назвать номер счета, PIN-код, CVC или другую конфиденциальную информацию, то ничего сообщать ему не следует, даже если он будет пугать блокировкой счета, потерей денег и т.п. В таких случаях необходимо связаться с банком по официальным каналам.

Анализ риска кражи данных

Как уже отмечалось, большинство краж обусловлены не хитроумными планами злоумышленников, а беспечностью пользователей. Не оставляйте без присмотра флешку и смартфон, защищайте сложным паролем ноутбук и компьютер, выходите из системы, даже отлучаясь лишь на пару минут — и вероятность успеха преступников заметно снизится.

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

В идеальной ситуации каждое рабочее место должно быть огорожено. Если такой возможности нет, отдельные ячейки должны получить хотя бы те машины, где обрабатывается важная и конфиденциальная информация. Не должно быть никаких общих, универсальных аккаунтов и кодов доступа: для каждого сотрудника — персональный логин и пароль. Учетные данные должен выдавать администратор, во избежание появления простых и примитивных комбинаций. Нужно также следить за тем, чтобы на рабочем месте не было стикеров с паролями. Если сотрудник неспособен запомнить пароль, то пусть он хотя бы носит записку с ним в бумажнике: сохранности кошелька должное внимание уделяют все люди.

Желательно приучить всех работников к мысли, что если они разрешают коллеге временно поработать на своей машине, то им лучше выйти из системы: пусть сотрудник входит под своим именем. Это позволяет избежать получения чужих прав доступа и отследить, кто проявляет подозрительную активность.

Важные и конфиденциальные данные на серверах должны быть защищены паролем; желательно, чтобы их видели только те, кому разрешен доступ к ним.

Впрочем, разрабатывая правила защиты информации, нельзя чрезмерно усердствовать. Если данные о закупках туалетной бумаги засекречены подобно устройству ядерной бомбы, сотрудники начинают воспринимать такие меры не как политику информационной безопасности, а как самодурство начальников — и, следовательно, нарушать правила везде, где нет прямого надзора.

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

Читайте также: