Безопасность

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

Цифровая подпись

18 комментариев

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

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

  1. мы берем публичный ключ того кому хотим отправить сообщение;
  2. шифруем сообщение с помощью ключа;
  3. передаем сообщение по открытому каналу;
  4. адресат расшифровывает сообщение своим приватным ключом.

Представим что Боб получил зашифрованное сообщение от Алисы. Но от Алисы ли? Да, в конце письма может быть написано «С любовью, Алиса», но откуда нам знать, что это не подлая Ева представляется чужим именем? Читать далее →

Error-Based SQL injection в MySQL

3 комментария

SQL injectionЧто такое SQL инъекцию сегодня наверное знает каждый второй ребенок. Error-Based — уже менее знакомый термин, но все же так же прост для понимания.

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

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

Переехал на HTTPS, включил HTTP/2

20 комментариев

SSL, HSTS, HTTP2 Сегодня перевел свой блог на HTTPS. Зачем? Не знаю, но почему бы и нет?) Наверное это больше связано с популязацией https в интернете в целом. Поправил конфиг SSL, получив A+ в ssllabs. Добавил Strict Transport Security. Обновил nginx до последней версии 1.9.5, подключив HTTP/2. В целом неплохо так получилось.

Под катом подробнее об этом.

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

Осторожно, JoomlaPortal.Ru похоже был взломан!

9 комментариев

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

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

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

Продолжение детектива читайте под катом
Читать далее →

Почему TOR безопасен?

78 комментариев

tor_013Нет, я не работаю в органах и в отделах «К» =)

Для чего эта статья? Для того чтобы популязировать TOR, чем больше участников тем лучше каждому из нас.

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

Самые наблюдательные из вас заметят, что даже в википедии описан способ с помощью которого можно вычислить пользователя… Но есть еще одно НО. Это единственная описанная возможная атака, которая работает лишь в лабораторных условиях. Но об этом дальше.
Читать далее →

Асимметричное шифрование. Как это работает?

182 комментария

cryptoМало кто знает как именно работает асимметричное шифрование. К примеру есть люди которые не считают протокол https какой-либо адекватной защитой передаваемых данных. И как правило на попытку убедить в обратном, они отвечают что-то в духе «если мы передаем зашифрованные данные, то мы должны сказать как их расшифровывать, а эту информацию можно перехватить и, следовательно, расшифровать данные». А на аргументы, что это не так и в основу положено асимметричное шифрование, поступает ответ «Ну и что?».

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

Хочу вынести суть данного поста в эту аннотацию: Запомните, асимметричное шифрование безопасно, естественно при выполнении всех условий. И чтобы доказать это я попробую описать алгоритм понятным языком, чтобы каждый смог понять, что он безопасен. Встречайте Алису, Боба и Еву и передачу их секретного сообщения под катом.
Читать далее →

Необычная защита от PHP Include

7 комментариев

Нестандартное мышлениеДавайте с вами подумаем кто такой хакер? Хакер — это не взломщик! Люди часто путают эти понятия. Хакер — это прежде всего человек с нестандартным мышлением, и в этом его сила, если можно так сказать.

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

Сегодня я предложу вам очень необычный способ защитится от атак типа php include. Подходит он конечно далеко не всем. И если чесно защищает он не от самой атаки, а от ее обнаружения. Заинтриговал?
Читать далее →

Решаем проблему CGI и PHP.ini

3 комментария

phpВспоминаем статью PHP и CGI. Обход ограничений безопасности. Основная мысль:

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

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

Наконец поднял для тестов сервер с fastcgi+php для тестов, и, во-первых, разобрался почему так происходит, а, во-вторых, нашел способ отключить это.
Читать далее →

SQL Injection Netcat 5.0 Extra

6 комментариев

1287749460_netcat_4_logo
Не так давно я уже писал о том что находил уязвимость в CMS NetCat. Но сегодня вот, совершенно случайно нашел еще одну уязвимость класса SQL Injection.

Уязвимость работает только на серверах где PHP работает через CGI (или FastCGI), сервера с PHP подключенным через модуль апача неуязвимы. Также необходима отключенная дирректива magic_quotes_gpc.

Если прикинуть соотношение подключения PHP к апачу через CGI и через mod_php как 50 на 50, и если считать что magic_quotes отключенны тоже в половине случаев, то получаем 25% уязвимых сайтов.

На оффициальном сайте написанно:

в 2012 году сайтов, успешно работающих на нашей CMS, создано более 18 000

Получается около 4500 уязвимых сайтов.

Уязвимость находится в генерации и обработке капчи.
http://netcat/netcat/modules/captcha/img.php?code=1'
Результат эксплуатации уязвимости отображается довольно забавно — на картинке =)

Подробнее о том как оно работает, как эксплуатировать и как защитится, читайте под катом
Читать далее →

Концепт защиты PHP сайта

24 комментария

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

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

Хорошо, или допустим вы из тех кто считает что безопасность и правильная настройка сервера лишней не бывает? Если так то добро пожаловать под кат.

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

Данная идея у меня давно сидела в голове, но наконец у меня дошли руки, хоть ничего сложного тут и нету, и я смог эту систему реализовать и написать статью =)
Читать далее →