Search
Write a publication
Pull to refresh
10
0
Виктор @VictorAl

Разработчик АСУНО

Send message

19 советов по повседневной работе с Git

Reading time14 min
Views289K


Если вы регулярно используете Git, то вам могут быть полезны практические советы из этой статьи. Если вы в этом пока новичок, то для начала вам лучше ознакомиться с Git Cheat Sheet. Скажем так, данная статья предназначена для тех, у кого есть опыт использования Git от трёх месяцев. Осторожно: траффик, большие картинки!

Содержание:
  1. Параметры для удобного просмотра лога
  2. Вывод актуальных изменений в файл
  3. Просмотр изменений в определённых строках файла
  4. Просмотр ещё не влитых в родительскую ветку изменений
  5. Извлечение файла из другой ветки
  6. Пара слов о ребейзе
  7. Сохранение структуры ветки после локального мержа
  8. Исправление последнего коммита вместо создания нового
  9. Три состояния в Git и переключение между ними
  10. Мягкая отмена коммитов
  11. Просмотр диффов для всего проекта (а не по одному файлу за раз) с помощью сторонних инструментов
  12. Игнорирование пробелов
  13. Добавление определённых изменений из файла
  14. Поиск и удаление старых веток
  15. Откладывание изменений определённых файлов
  16. Хорошие примечания к коммиту
  17. Автодополнения команд Git
  18. Создание алиасов для часто используемых команд
  19. Быстрый поиск плохого коммита

Читать дальше →

Microsoft добавил средство сбора телеметрии в Windows 7/8/8.1

Reading time1 min
Views301K
Сегодня на MS Windows 7 и 8.1 прилетели обновления KB3080149 и KB3075249. Телеметрическая информация передаётся на следующие сервера:
vortex-win.data.microsoft.com
settings-win.data.microsoft.com

Передача осуществляется через TCP по порту 443 с использованием SSL.
Для параноиков людей, беспокоящихся о несанкционированной передаче информации Microsoft (далее возможно и третьим лицам), предлагаю добавить сервера в список исключений маршрутизатора, а следующие строчки в файл hosts (%windir%\System32\drivers\etc\hosts):
127.0.0.1 vortex-win.data.microsoft.com
127.0.0.1 settings-win.data.microsoft.com

Компания D-Link по ошибке опубликовала секретные ключи для подписи прошивок

Reading time4 min
Views28K


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

Пользователь под ником bartvbl приобрел камеру видеонаблюдения D-Link DCS-5020L и скачал обновление прошивки. Данный софт выпускается под свободной лицензией GPL, что дает возможность изучения исходного кода. Пользователь изучил код прошивки для своего устройства и обнаружил в нем четыре «зашитых» ключа шифрования для создания подписи. Некоторые файлы прошивки содержали сами ключи для подписи кода, а в некоторых даже были скрипты с необходимыми командами и паролями.
Читать дальше →

Блок-схема для выбора STL-алгоритма

Reading time1 min
Views28K


Третьего дня, во время сортировки старых закладок, попалась мне на глаза блок-схема с алгоритмом выбора STL-контейнера. «Почему же для контейнеров есть, а для стандартных алгоритмов нет? — подумал я. — Это необходимо исправить». Подумано — сделано. Сперва планировалось за пару часов нарисовать нечто простенькое, но в дальнейшем обнаружилось, что алгоритмы никак не хотят умещаться в простенькую схему. Я слегка увлекся, и спустя два вечера схема вобрала в себя 84 алгоритма, а также немного дополнительной информации. Под катом можно увидеть, что получилось в итоге.
Долой велосипеды!

Анализ одной из модификаций шифровальщика VaultCrypt

Reading time116 min
Views25K
Привет, хаб!

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

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

TL;DR: под катом — практически построчный разбор довольно большого и муторного BAT-файла. Код, картинки, минимум мыслей.

ATTENTION: некоторые антивирусы (в частности, мой Avast!) очень негативно реагируют на приведенные фрагменты JS-кода. При включенном Avast! у меня вместо статьи отображалась пустая страница с сообщением «Соединение было сброшено». Учтите это, если захотите почитать.

NB:
В попытках понять, что происходит, я провел несколько экспериментов, в результате чего стал счастливым обладателем пятидесяти черновиков постов. И я слишком поздно осознал, что удалить на Хабре черновик невозможно.)
Отключите Avast!

PE (Portable Executable): На странных берегах

Reading time18 min
Views165K


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

Быстрый security-oriented fuzzing c AFL

Reading time5 min
Views20K
Многие слышали, а некоторые успешно применяют в своих процессах разработки такую вещь, как статический анализ кода — эффективный, относительно быстрый и зачастую удобный способ контроля качества кода.
Для тех, кто уже использует статический анализ кода, на этапе тестирования может быть интересно также попробовать динамический анализ. Об отличиях данных методик написано достаточно, напомню лишь, что статический анализ делается без выполнения кода (например, на этапе компиляции), а динамический соответственно, — в процессе выполнения. При анализе компилируемого кода с точки зрения безопасности, под динамическим анализом часто подразумевают именно фаззинг. Преимуществом фаззинга является практически полное отсутствие ложных срабатываний, что довольно часто встречается при использовании статических анализаторов.

«Фаззинг – методика тестирования, при которой на вход программы подаются невалидные, непредусмотренные или случайные данные.» © Habrahabr



Читать дальше →

Автоматическое тестирование программ

Reading time9 min
Views48K

Введение


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

Читать дальше

OpenVPN: создание полноценного openVPN gateway

Reading time5 min
Views241K
OpenVPN — это система, позволяющая создавать шифрованные туннели между компьютерами по технологии VPN (Virtual Private Network, виртуальная частная сеть).

Основные плюсы такой модели:

  • Просто: настройка занимает менее часа и не требует специальных знаний.
  • Экономно: трафик сжимается lzo.
  • Безопасно: весь трафик шифруется, а клиенты разделены между собой.
  • Иногда по-другому просто никак. :)


Несмотря на эти пункты, нормальной статьи о настройке OpenVPN на Хабрахабре я не нашел. Чтож, попытаюсь исправить это своими силами.

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

За основу возьмем OpenVPN-2.0.9 и Gentoo Linux в качестве сервера и Linux либо Windows в качестве клиента.

Нырнуть глубже

Руководство по установке и настройке OpenVPN

Reading time34 min
Views1.6M



Когда у нас появились сотрудники, работающие удаленно, пришлось думать над тем, как обеспечить им защищенный доступ к нашим хостинговым серверам, виртуальным выделенным серверам разработчиков Virtual Dedicated Server (VDS), сайтам обеспечения и сопровождения разработки и к другим ресурсам.



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



Выход нашелся довольно быстро — это использование технологии виртуальных частных сетей Virtual Private Network (VPN) и ее свободной реализации OpenVPN. Эта реализация доступна практически для всех распространенных платформ, в том числе для планшетов и смартфонов. История развития OpenVPN насчитывает уже 12 лет (компания OpenVPN Technologies, Inc. была создана Francis Dinha и James Yona в 2002 году), так что это надежное и проверенное временем решение.



В нашей компании сеть VPN позволила предоставить защищенный доступ сотрудников к VDS, играющей роль сервера OpenVPN. И уже для фиксированного IP этого сервера был разрешен доступ к другим ресурсам компании. Попутно на сервере OpenVPN был установлен прокси Squid, что решило все проблемы доступа сотрудников с динамическими IP к защищенным ресурсам компании.



Теме OpenVPN посвящены многочисленные статьи и сообщения на форумах. Тем не менее, нужную информацию мне пришлось собирать по частям из разных мест. Попутно приходилось разбираться с многочисленными терминами и технологиями. В качестве серверов OpenVPN были использованы VDS на базе FreeBSD и Debian Linux, в качестве клиентов — рабочие станции FreeBSD, Debian Linux, Ubuntu и Microsoft Windows.



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


Читать дальше →

Обзор инструментов для визуального сравнения и разрешения конфликтов слияния

Reading time6 min
Views144K
На хабре уже было много статей о распределенных системах управления версиями (DVCS), их сравнений, а также сравнений GUI-клиентов для них. Также были обсуждения плагинов к IDE для работы с git и mercurial. Но практически не было информации об инструментах визуального сравнения и разрешения конфликтов слияния.

diff and merge
Недавно я «перескочил» с mercurial (который до сих пор считаю более удобным и логичным) на git, потому что, подавляющее большинство проектов, которые мне интересны, используют git и хостятся на github. В связи с этим, встал вопрос о пересмотре арсенала инструментов, в частности вопрос выбора инструмента визуального сравнения и слияния (diff and merge). Дабы восполнить недостаток информации на хабре, я решил написать этот мини-обзор. Как говориться — по горячим следам.

Под катом Вы также найдете примеры настроек Git для использования с DiffMerge и WinMerge под Windows. Думаю многим сэкономит время.
Читать дальше →

Музыка из кейгенов. Как это работает?

Reading time4 min
Views36K
Еще давно очень многих интересовал один вопрос: «Эта программа занимает всего 100 кб, что за музыку она воспроизводит? Как это работает?»

Так вот, называется это чудо – Трекерная музыка. И что самое главное – она занимает очень мало места, в отличие от .mp3 или .wav. В современных популярных ОС трекерные файлы (MOD, XM, S3M, IT и пр.) проигрываются большинством медиаплееров, например, Winamp, VLC, Amarok, Audacious и другими.

Скачать такую музыку можно, например отсюда — keygenmusic.net, или отсюда www.modarchive.org. Это отнюдь не единственные ресурсы, стоит только обратиться к поиску.

Для того, чтобы воспроизвести такую музыку в своей программе, нам потребуется минимальное знание C++, а также minifmod, доступный в исходниках. Как заявляют разработчики, minifmod добавит всего 50 кб к вашему exe-файлу (без учета сжатия).

читать дальше

Простая реализация шифрования и расшифровывания файлов в Qt

Reading time4 min
Views28K
Приветствую, почтенное хабрасообщество.

Недавно столкнулся с необходимостью шифровать и расшифровывать файлы в Qt проекте. Основное условие – простота и прозрачность, так как, по сути, нужно заменить работу с файлами через QFile на что-то, что может писать данные в зашифрованном виде и читать их из зашифрованного файла. В итоге родился небольшой класс. Затем появилось желание поделиться с общественностью им, может кому-то пригодится и сэкономит время, а может кто-то доработает его и изменит жизнь к лучшему.
Читать дальше →

Походная аптечка сисадмина. Минимальный набор утилит для максимально эффективного решения проблем

Reading time8 min
Views150K
image

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

ESET CrackMe – CONFidence 2o1o

Reading time3 min
Views14K
Компания Eset уже на протяжении нескольких лет выступает спонсором конференции, посвящённой практическим аспектам информационной безопасности — CONFidence. И каждый год мы предлагаем задание в виде crackme, за быстрое решение которого выдаются ценные призы. В этом году наш польский офис, официальное открытие которого состоялось в начале года, подготовил весьма оригинальное задание. Ведь конференция проходила в их родном городе, в Кракове.

image

Если вы хотите попробовать свои силы, тогда не читайте информацию подкатом, так как там мы опубликовали описание алгоритма проверки регистрационного кода. Скачать crackme можно здесь.
Читать дальше →

Руткит Avatar: детальный анализ

Reading time8 min
Views37K
В феврале 2013 г. появилась информация о новом рутките Avatar, которая, судя по-всему, имеет происхождение с одного из подпольных форумов. В частности, на сервисе pastebin было опубликовано описание его возможностей. Информация о новом рутките горячо обсуждалась в security-сообществе, поскольку описываемые возможности этого руткита действительно впечатлали. Среди них, например, возможности загрузки драйвера без участия жесткого диска, заражение бут-драйверов ОС, новые схемы защиты ботнета и другие. Также заявлялся обход нескольких security/AV-продуктов и известных антируткитов.

Читать дальше →

Win64/Expiro – кроссплатформенный файловый инфектор

Reading time5 min
Views14K
Файловые вирусы уже хорошо известны и давно изучены, но подобные инфекторы, в абсолютном большинстве случаев, нацелены на модификацию 32-битных файлов. Одно из таких семейств — Expiro (Xpiro) было обнаружено достаточно давно и мало чем может удивить сегодня. Однако недавно нашей антивирусной лабораторией была обнаружена новая модификация Expiro, которая способна заражать 64-битные файлы. Кроме того, тело этой модификации является универсальным и полностью кроссплатформенным, так как может заражать 32-битные и 64-битные файлы (и наоборот, т. е. из зараженных 32-битных файлов заражать 64-битные). В нашей системе именований вирус получил название Win64/Expiro.A (aka W64.Xpiro или W64/Expiro-A). При этом 32-разрядные зараженные файлы обнаруживаются как Win32/Expiro.NBF.

Инфектор нацелен на получение максимального деструктивного профита и выполняет заражение исполняемых файлов как на локальных, так и на сетевых дисках. В полезную нагрузку этой вредоносной программы входит установка расширений для браузеров Google Chrome и Mozilla Firefox. Вредоносный код похищает хранимые на компьютере цифровые сертификаты и пароли браузера Internet Explorer, Microsoft Outlook, FTP-клиента FileZilla. Такие расширения служат для перенаправления пользователя на вредоносные URL, а также похищение различной конфиденциальной информации. Вирус отключает ряд сервисов на скомпрометированном компьютере, включая Windows Defender и центр обеспечения безопасности (Windows Security Center), а также может завершать ряд процессов.

Читать дальше →

ntdll!LdrHotPatchRoutine & DEP/ASLR bypass (MS13-063)

Reading time2 min
Views6.8K
Вчера компания Microsoft выпустила набор security-обновлений для своих продуктов, среди которых было обновление MS13-063, которое исправляет возможность обхода таких «смягчающих» механизмов эксплуатирования как DEP & ASLR. Техника обхода этих механизмов в эксплойтах была продемонстрирована ресерчерами NSFocus Security Labs на конференции CanSecWest и VUPEN на Pwn2Own 2013.

Мы уже писали про механизмы EMET v4, в котором появилась возможность противодействия к использованию метода ntdll!LdrHotPatchRoutine для загрузки кода нужной библиотеки в памяти, обходя т. о. ограничения накладываемые DEP&ASLR. LdrHotPatchRoutine используется ОС как часть «хот патчинга» (исправления компонентов без применения перезагрузки) и позволяет загружать динамические библиотеки из различных мест, включая сеть (через UNC адреса). MS13-063 вводит для ОС исправление, аналогичное по возможностям тому, что было продемонстрировано в EMET.



Эксплуатирование LdrHotPatchRoutine тесно связано с обходом ASLR при использовании всем известной структуры UserSharedData (KUSER_SHARED_DATA), которая проецируется по жестко заданным адресам в режиме пользователя (0x7ffe0000) и в режиме ядра (0xffdf0000). Структура используется для быстрого доступа компонентов ОС, работающих в режиме пользователя и ядра к некоторым разделяемым служебным данным (информация отладки, таймера, версия ОС и др.). При использовании некоторых указателей на функции в UserSharedData атакующий может быстро выяснить адрес необходимой функции. В частности, 64-битные версии Windows до Windows 8 хранили в этой структуре указатели на функции 32-битной версии ntdll, которую ОС использует для WoW64.

Читать дальше →

EMET v4 Release

Reading time5 min
Views26K
На прошлой неделе бета-версия тулкита EMET v4 вышла в релиз. Мы уже писали о некоторых новых возможностях 4-й версии и хотели бы остановиться более подробно на самом релизе, поскольку этот инструмент действительно заслуживает внимания. Повторимся, что Enhanced Mitigation Experience Toolkit (EMET) использует превентивные методы по блокированию различных действий эксплойтов для защиты приложений от атак, которые имеют целью эксплуатирование flaws (или уязвимостей) в ПО и изменение потока выполнения кода. Несмотря на то, что современные Windows 7 и Windows 8 имеют встроенные, включенные по-умолчанию, возможности DEP и ASLR, направленные на смягчение (mitigation) последствий эксплуатирования, EMET позволяет ввести новые возможности блокирования действий эксплойтов, а также включить DEP или ASLR по-умолчанию, например, для устаревшей Windows XP.

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

Читать дальше →

Анализ CPL malware, часть 2

Reading time6 min
Views5.7K
Тот факт, что в большинстве случаев URL-адреса хранятся в виде простого текста, либо ключ для их расшифровки располагается в самой функции расшифровки, позволяет нам извлекать эти URL-адреса автоматически из многих образцов CPL malware с использованием специального скрипта. В случае семпла, который хранит строки в виде открытого текста, строка с адресом может быть извлечена напрямую из CPL-файла. В противном случае, т. е. в случае, когда строка с адресом зашифрована, скрипт подвергает анализу функцию расшифровки, в которой хранится ключ. Исключение составили некоторые семплы вредоносного ПО, для которых скрипт не смог расшифровать зашифрованные строки. В таких семплах ключ расшифровки не был доступен в функции, а располагался в ресурсах CPL-файла. Для извлечения ключа оттуда вредоносный код использует стандартные API для работы с ресурсами: FindResource, LoadResource, SizeofResource and LockResource. Сам ресурс, в котором располагается ключ расшифровки, является зашифрованным.
Читать дальше →

Information

Rating
Does not participate
Location
Саратов, Саратовская обл., Россия
Date of birth
Registered
Activity