Новости мира информационной безопасности. Расследование и реагирование на инциденты. Кибербезопасность.

Новости информационной безопасности




В Google Play нашли 87 вредоносных модов для Minecraft

Эксперты компании ESET сообщили, что в официальном каталоге приложений Googleinfo-icon Play было обнаружено 87 вредоносных приложений, замаскированных под моды для игры Minecraft. Вместо модов пользователи получали всевозможную adware, а также ссылки на скамерские сайты. Суммарно приложения были загружены более 990 000 раз.

Исследователи разделили вредоносные приложения на две категории: навязчивая реклама (adware) и скам. В первую категорию попали 14 приложений, загруженные более 80 000 раз. Почти все они имели плохой рейтинг и отзывы, так что опытные пользователи могли избежать их без особенного труда. Эту партию приложений уже удалили из каталога стараниями Androidinfo-icon Security Team, пишет xakep.ru.

 

 

 

Во вторую категорию попали 73 приложения, загруженные 910 000 раз. Почти все они появились в Google Play в период с января по март 2017 года. После запуска эти приложения предлагали пользователю загрузить некий мод, но нажатие на кнопку Download лишь запускало браузер и открывало в нем ссылки на сайты с рекламой или мошенническими контентом (поддельные обновления безопасности, порно, предупреждения о несуществующих вирусах, якобы бесплатные купоны и так далее). Причем сообщения отображались на разных языках, опираясь на IP-адрес пользователя. Пока эти приложения еще проходят проверку, но явно скоро будут удалены.

 

 

 

Дата: 2017-03-24 20:30:37

Источник: https://www.anti-malware.ru/news/2017-03-24/22581



Новая волна Cerber-спама

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

По свидетельству наблюдателей из ISC SANS, до недавних пор эти спам-рассылки использовались для раздачи вымогателей Sage 2.0 и Locky, однако в настоящее время основной полезной нагрузкой Blank Slate является Cerber.

По словам ИБ-исследователя Брэда Дункана (Brad Duncan), Blank Slate как обособленная кампания была идентифицирована в июле прошлого года. С тех пор было предпринято несколько попыток ее ликвидации, но Blank Slate успешно их пережила, так как ее авторы постоянно поднимают у хостинг-провайдеров новые серверы для размещения вредоносного ПО.

Свое имя (blank slate – «чистая доска») эта спам-кампания получила из-за отсутствия текста в строке Subject: и теле письма. Email-сообщения содержат лишь вложенный zip-файл, внутри которого находится такой же архив с JavaScript и вредоносным документом Word. По мнению Дункана, подобные письма-ловушки слишком очевидны, однако злоумышленники, по всей видимости, убеждены, что этого достаточно для эффективного обхода защитных решений.

Схема доставки зловреда в данном случае вполне обычна: если двойным щелчком открыть JavaScript-файл или активировать макрос в документе, на машину загрузится (с сервера) Cerber. За последний год этот вымогатель превратился в серьезную угрозу, постоянно совершенствуясь и опробуя новые трюки. Так, в начале текущей недели исследователи из Deep Instinct сообщили, что текущая модификация Cerber успешно избегает детектирования с помощью новой инфраструктуры, позволяющей использовать NSIS-инсталлятор (эту систему установки использует Windows).

Как обнаружили в ISC SANS, аппетиты хозяев Cerber выросли: если ранее они взимали за ключ расшифровки 500 долларов, то теперь требуют вдвое больше (1 биткойн).

Blank Slate отличает от прочих хорошо налаженная ротация услуг хостинг-провайдеров, помогающая продлить время жизни вредоносных серверов. В феврале исследователи из Palo Alto Networks выявили 500 доменов, связанных с этой спам-кампанией. «Эти вредоносные домены были быстро заблокированы, однако авторы Blank Slate немедленно зарегистрировали новые, обнаружив цикличность злоупотреблений легитимными услугами хостинг-провайдеров», – пишет Дункан.

Для Threatpost исследователь пояснил: «Заявку на создание аккаунта у хостинг-провайдера оформить легко. Злоумышленнику нужно лишь указать действительные email, номер телефона и номер кредитной карты. Это дает право на создание новых серверов; появляются жалобы, хостинг-провайдер отключает серверы, а злоумышленники создают новые».

Расходы на поддержание этого цикла незначительны. «Новый email-аккаунт можно создать бесплатно, – пишет Дункан. – Одноразовые телефоны стоят дешево, всего $20». Краденые номера кредитных карт можно купить на черном рынке за $5.

Palo Alto полагает, что в рассылке спама в рамках Blank Slate задействовано множество хостов, разбросанных по всему миру и, по всей видимости, объединенных в ботнет.

Тестирование JavaScript-файла обнаружило запрос HTTP GET на бинарник вымогателя. «Постинфекционный трафик оказался таким же, как и у других недавних образцов Cerber, – пишет Дункан в блоге ISC SANS. – Вначале наблюдался UDP-трафик на порту 6892 зараженного хоста. Затем последовал HTTP-трафик в домен, начинающийся с p27dokhpz2n7nvgr и оканчивающийся на .top. IP-адреса для UDP-трафика сменяются раз в 1-2 недели (или больше). HTTP-домены, используемые после заражения, меняются чаще».

Инструкции по расшифровке, по словам исследователя, появляются на рабочем столе в виде трех разных файлов: текстового, графического и HTA. Во всех случаях имя файла начинается с _READ_THIS_FILE_.

«Домены и IP-адреса, ассоциированные с компанией Blank Slate, постоянно меняются, – заключает Дункан свою запись в блоге  Palo Alto. – Пока программы-вымогатели в ходу, вредоносные спам-рассылки будут ежедневным явлением, как целевые, так и широкомасштабные».

Дата: 2017-03-24 16:54:36

Источник: https://threatpost.ru/blank-slate-spam-campaign-spreads-cerber-ransomware/21160/



Security Week 12: опасная фича в Windows, китайские хакеры сломали все вокруг, инспектировать HTTPS надо с умом

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

Началось
все с того, что исследователь Александр Корзников опубликовал в своем блоге пост о найденной им возможности перехвата чужой сессии. Все рассказал и показал в видеороликах, доступно и наглядно. Если коротко, утилита Windows tscon.exe позволяет подключаться к чужой сессии. Возможность штатная. Пароль пользователя знать надо. Но если запустить tscon из-под пользователя SYSTEM, пароль другого юзера уже не запрашивается! Ты просто заходишь в чужую сессию like a boss. Для выполнения этого трюка, правда, нужна дополнительная админская утилита вроде psexec или аналогичной, словом, установить такое локальному админу не составит труда.

Автор эксплойта не стал оповещать Microsoft до публикации, так как проблема глубинная, и фикса пришлось бы ждать минимум полгода, а прославиться не терпелось. Однако неожиданно он обнаружил пост от 2011 года, где исследователь Бенджамин Делпи описывает все ту же проблему. Получается, Microsoft давно в курсе дела. Кстати, представитель компании добровольно подтвердил журналисту Threatpost, что «это вообще не уязвимость, так как эксплуатация требует прав администратора».

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

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

Так что отчасти Microsoft права: да, это не уязвимость. Это зияющая дыра в модели безопасности Windows. И нам, кстати, с этим жить. На десерт – список версий, в которых квартирует наша гостеприимная фича:
— Windows 2016
— Windows 2012 R2
— Windows 2008
— Windows 10
— Windows 7.

Китайская команда сбежала из виртуальной машины
Заголовок получился неоднозначный – никто, конечно, не запирал китайцев в виртуальном пространстве, до этого техника пока не дошла, а жаль. Просто ребята из команды Qihoo’s 360 Security отхватили $105 тыс. на хакерском конкурсе Pwn2Own, который прошел на конференции CanSecWest в Ванкувере. Они сумели разработать метод выхода за границы виртуальной рабочей станции VMware, для чего им хватило трех конкурсных дней.

Эксплойт коварные азиаты сварганили на основе цепочки из трех багов: переполнение динамической области (heap overflow) в Microsoft Edge, некорректная проверка типа (type confusion) в ядре Windows и ошибка неинициализации буфера у VMware. Между прочим, в прошлом году эта номинация осталась без победителя, ввиду чего приз вырос с $75 тыс. до $100 тыс.

Разогнавшись, китайцы уже не могли остановиться – они походя взломали Adobe Reader с Adobe Flash и оттоптались на MacOS, разработав метод эскалации привилегий. В итоге парни получили первый приз Master of Pwn. Вспомните об этом, если вдруг захочется пошутить на тему квалификации китайских хакеров.

Контроль за HTTPS может сделать канал небезопасным
Капитан Очевидность вновь пришел на помощь недогадливым. US-CERT выпустил бумагу, в которой ответственно заявил, что использование средств исследования HTTPS-трафика снижает защищенность канала. Э-хе-хе, а для чего ж они нам, как не для этого самого?

Посыл US-CERT на самом деле в том, что при наличии в сети такого инструмента пользователь не может контролировать валидность сертификата сервера и стойкость шифрования канала. Железка, инспектирующая HTTPS-трафик, ставится на позицию «человек посередине». Пользователь может проверить сертификаты этого самого шпионского аппарата, а уж сам аппарат – сертификаты сервера. Теоретически схема работает.

На практике средство контроля HTTPS может быть устаревшим и плохо настроенным, и пользователь со своей стороны никак не сможет узнать, что его трафик идет, к примеру, по уязвимому протоколу SSL3, или что сертификат сервера выдан непонятно кем. Это создает возможность для хакера стать тем самым «человеком посередине» и перехватывать весь якобы защищенный траф.

Авторы исследования, послужившего основой для оповещения US-CERT, выявили пониженный уровень безопасности в 62% контролируемых TLS-каналов. Давайте пошлем немножко лучей здравомыслия всем тем, кто отвалил за брендовую железку много долларов США и считает себя неуязвимым.

Древности


«Perfume»

Резидентный очень опасный вирус, стандартно поражает .COM-файлы (COMMAND.COM поражается при старте вируса). Создает свою TSR-копию, ничего не изменяя в блоках MCB, чем может вызвать зависание системы. Периодически стирает случайные секторы на диске A:. При 80-й попытке заражения уже инфицированного файла начинает какой-то диалог с оператором (в моем образце вируса текст стерт). Перехватывает int 21h.

Цитата по книге «Компьютерные вирусы в MS-DOS» Евгения Касперского. 1992 год. Страницa 78.

Disclaimer: Данная колонка отражает лишь частное мнение ее автора. Оно может совпадать с позицией компании «Лаборатория Касперского», а может и не совпадать. Тут уж как повезет.

Дата: 2017-03-24 16:36:20

Источник: https://habrahabr.ru/post/324820/



FalconGate - A smart gateway to stop hackers and Malware attacks


A smart gateway to stop hackers, Malware and more...

Motivation
Cyber attacks are on the raise. Hacker and cyber criminals are continuously improving their methods and building new tools and Malware with the purpose of hacking your network, spying on you and stealing valuable data. Recently a new business model has become popular among hackers: the use of Ransomware to encrypt your data and ask for a ransom to unlock it. These attacks have extended also to the Internet of Things (IoT) devices since many of them are vulnerable by design and hackers can leverage them to compromise other devices in your network or launch DDoS attacks towards other targets. Traditionally securing a network against such attacks has been an expensive item which could be afforded just by medium to large companies. With FalconGate we're aiming to change this and bring "out of the box" security for free to people, small businesses and anyone else in need.

Features
FalconGate is an open source smart gateway which can protect your home devices against hackers, Malware like Ransomeware and other threats. It detects and alerts on hacker intrusions on your home network as well as other devices misbehaving and attacking targets within your network or in the Internet.
Currently FalconGate is able to:


Getting Started
FalconGate was built on top of other open source software so it has multiple dependencies which must be configured correctly for it to work. The fastest way to get FalconGate up and running is to deploy one of the supported system images from our downloads page .

Supported Platforms
Currently FalconGate has been successfully tested and implemented on Raspberry Pi (RPi 2 model B) and Banana Pi (BPI-M2+) using Raspian Jessie Lite as base image.
Jessie Lite for RPi
Jessie Lite for BPi
It should be compatible with other Debian ARM images as well but this has not been tested yet.

Prerequisites
FalconGate has a number of software dependencies:

It depends also on several Python modules (see requirements.txt file for details)

Other dependencies
The devices's malware detection can be enhanced with the utilization of VirusTotal's personal free API
Currently FalconGate uses have i been pwned public API to detect whether credentials and/or other data from personal accounts have been stolen by hackers from third party sites.

Deploying FalconGate from a supported image
This is the fastest way to get FalconGate up and running in your network.

You can use the guides below as reference for Raspberry Pi:
Linux
Mac OS
Windows
https://[FalconGate IP address]
Username: admin
Password: falcongate
Usually FalconGate will assign to its administration interface an IP ending in ".2" (e.g. 192.168.0.2) which is derived from the network's gateway IP Change the default password after the first logon to the application
This configuration it's not mandatory but highly desired if you want to unleash FalconGate's full power. In order to obtain a free VirusTotal API key you must register at ( https://www.virustotal.com/ ).

Installing FalconGate from source
Follow the steps below to configure your device and install FalconGate from this repository.

This is well documented in multiple sources out there.
$ ssh pi@<IP assigned to your RPi>
$ sudo apt-get update
$ sudo apt-get install git
$ cd /opt
$ sudo git clone https://github.com/A3sal0n/FalconGate.git
$ cd FalconGate/
$ sudo python install.py
Now you can go for a walk and prepare a coffee or any other beverage of your choice because the installation usually takes some time. The script will print the progress to the console.
The script should finish without issues if you're using the supported platforms. If you're attempting to install FalconGate experimentally to a new hardware platform/OS and you get some errors during the installation you could try to correct the issues manually and continue to execute the steps listed in the installation script.
FalconGate was designed to work connected to a router over ethernet. It does not replaces the functions of your router. Instead it becomes a layer of security between your devices and your router. Disabling your router's DHCP allows FalconGate to become the new gateway for all the devices connected to the same router in your VLAN.

Deployment
Some important considerations to keep in mind when deploying FalconGate to a real environment: home or production network.

Limitations
Currently the RPi 2 model B and the Banana Pi M2+ have both a single ethernet interface so the traffic forwarding in the gateway it's done using this single interface. This has an impact in networks with fast Internet connection (e.g. > 50Mb/s). However it's still good enough for the home networks of many people's and even some small businesses.

Дата: 2017-03-24 14:54:01

Источник: http://www.kitploit.com/2017/03/falcongate-smart-gateway-to-stop.html



Google исключила 30 тысяч HTTPS-сертификатов Symantec

Компания Googleinfo-icon намерена применить в Chrome блокировку для достаточно большой порции HTTPS-сертификатов, выданных удостоверяющим центром Symantecinfo-icon. Причиной блокировки стали выявленные злоупотребления при выдаче сертификатов уровня EV (Extended Validation).

В итоге, под сомнение поставлена валидность более 30 тысяч EV-сертификатов Symantec, выданных за последние несколько лет. EV-сертификаты подтверждают заявленные параметры идентификации и по правилам для их получения требуется проведение проверки документов о принадлежности домена и физическое присутствие владельца ресурса. В случае Symantec подобная проверка не проводилась должным образом, т.е. нет гарантии, что полномочия владельца всегда проверялись. Google обращает внимание на то, что Symantec предоставил доступ к инфраструктуре удостоверяющего центра как минимум четырём сторонним организациям, которым предоставлены полномочия по выдаче сертификатов. При этом компания Symantec не обеспечила должный уровень надзора за ними и допустила несоблюдение ими установленных стандартов обслуживания, пишет opennet.ru.

В ответ на запросы, компания Symantec также не могла предоставить в установленные сроки отчёты с разбором имевшихся инцидентов. В частности, исследователями безопасности было выявлено, что в январе удостоверяющим центром Symantec были сгенерированы 108 неправильно выданных сертификатов. Ранее, компания Symantec уже была вовлечена в скандал, связанный с выдачей сертификатов посторонним на чужие домены, в частности осенью 2015 года было уволено несколько сотрудников, которые были уличены в выдаче тестовых сертификатов на домены (в том числе на домены google.com, gmail.com и gstatic.com), без получения согласия владельцев доменов.

В пик своей активности, после покупки бизнеса аутентификации у VeriSign, доля выданных Symantec сертификатов превышала 30%, а по данным телеметрии Firefox в около 42% всех проверок фигурируют сертификаты Symantec. Оценив соразмерность имеющихся рисков и негативный эффект от удара по владельцам сайтов, использующих сертификаты Symantec, в Chrome намерены провести поэтапную блокировку. В первую очередь планируется отозвать EV-статус для всех сертификатов Symantec, т.е. данные сертификаты продолжат работу, но как сертификаты DV (Domain validation, верификация по домену), без отображения индикатора расширенной аутентификации и имени владельца. В дальнейшем постепенно все проблемные сертификаты будут заблокированы путём сокращения максимального срока их действия.

Symantec будет дано время на перепроверку и замену сертификатов. При этом EV-сертифиткаты от Symantec не будут распознаваться до тех пор, пока сообщество не убедится, что процесс выдачи EV-сертификатов не приведен к требованиям правил, но эмбарго на EV-сертификаты будет снято не раньше чем через год. В Chrome 59 значение максимального срока действия сертификатов Symantec планируется ограничить 33 месяцами, Chrome 60 - 27 месяцами, Chrome 61 - 21,.... Chrome 64 - 9 месяцами. Кроме того, для всех новых сертификатов предлагается сразу ограничить срок действия 9 месяцами. 

Дата: 2017-03-24 13:59:19

Источник: https://www.anti-malware.ru/news/2017-03-24/22578



Хакеры похитили данные пользователей Android Forums

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

По словам представителей Neverstill Media, которая осуществляет поддержку Android Forums, хакеры смогли получить доступ только к 2,5% активных пользователей. Скомпрометированные данные включают адреса электронной почты и хэшированные пароли.

Также Neverstill Media отметила, что имена пользователей и финансовые данные не были доступны хакерам. Более половины скомпрометированных учетных записей никогда не размещали что-либо на Android Forums, разработчики полагают, что они могут являться ботами. Помимо этого, есть информация о том, что утечка затронула учетную запись одного сотрудника и 40 пользователей, которые зарегистрировали учетные записи в 2016 и 2017 годах.

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

«За этим может стоять кто-то, кто недоволен нашей дейятельности. А полученную информацию могут попытаться использовать для шантажа» - сообщает Android Forums пользователям.

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

Дата: 2017-03-24 13:38:19

Источник: https://www.anti-malware.ru/news/2017-03-24/22577



Дефекты безопасности, которые устранила команда PVS-Studio на этой неделе: выпуск N3

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

Для тех, кто ещё не знаком с инструментом PVS-Studio


PVS-Studio
— это инструмент, который выявляет в коде многие разновидности ошибок и уязвимостей. PVS-Studio выполняет статический анализ кода и рекомендует программисту обратить внимание на участки программы, в которых с большой вероятностью содержатся ошибки. Наилучший эффект достигается тогда, когда статический анализ выполняется регулярно. Идеологически предупреждения анализатора подобны предупреждениям компилятора. Но в отличии от компиляторов, PVS-Studio выполняет более глубокий и разносторонний анализ кода. Это позволяет ему находить ошибки в том числе и в компиляторах: GCC; LLVM 1, 2, 3; Roslyn.

Поддерживается анализ кода на языках C, C++ и C#. Анализатор работает под управлением Windows и Linux. В Windows анализатор может интегрироваться как плагин в Visual Studio.

Для дальнейшего знакомства с анализатором, предлагаем изучить следующие материалы:


Потенциальные уязвимости (weaknesses)


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

1. MSBuild. CWE-476 (NULL Pointer Dereference)

protected bool FileMatchesAssemblyName
(
  AssemblyNameExtension assemblyName,
  ....
  ResolutionSearchLocation searchLocation
)
{
  searchLocation.FileNameAttempted =  // <=
    pathToCandidateAssembly;
  ....
  if (String.Compare(assemblyName.Name, ....) != 0)  // <=
  {
    ....
  }
  ....
  if (searchLocation != null)
  {
    ....
  }
  ....
  bool isSimpleAssemblyName = assemblyName == null ? 
    false : assemblyName.IsSimpleName;
  ....
  searchLocation.Reason =  // <=
    NoMatchReason.ProcessorArchitectureDoesNotMatch;
  ....
  if (searchLocation != null)
  {
    ....
  }
  ....
}

Report: https://github.com/Microsoft/msbuild/pull/1891

2. MSBuild. CWE-476 (NULL Pointer Dereference)

V3095 The 'e' object was used before it was verified against null. Check lines: 165, 170. MSBuild InitializationException.cs 165

internal static void Throw(string messageResourceName,
  string invalidSwitch, Exception e, bool showStackTrace)
{
  ....
  if (showStackTrace)
  {
    errorMessage += Environment.NewLine + e.ToString();  // <=
  }
  else
  {
    errorMessage = ResourceUtilities.FormatString(errorMessage, 
      ((e == null) ? String.Empty : e.Message));
  }
  ....
}

Report: https://github.com/Microsoft/msbuild/pull/1891

3. Entity Framework. CWE-670 (Always-Incorrect Control Flow Implementation)

V3014 It is likely that a wrong variable is being incremented inside the 'for' operator. Consider reviewing 'i'. EFCore ExpressionEqualityComparer.cs 214

V3015 It is likely that a wrong variable is being compared inside the 'for' operator. Consider reviewing 'i' EFCore ExpressionEqualityComparer.cs 214

var memberInitExpression = (MemberInitExpression)obj;
....
for (var i = 0; i < memberInitExpression.Bindings.Count; i++)
{
  var memberBinding = memberInitExpression.Bindings[i];
  .... 
  switch (memberBinding.BindingType)
  {
    case ....
    case MemberBindingType.ListBinding:
      var memberListBinding = (MemberListBinding)memberBinding;
      for(var j=0; 
              i < memberListBinding.Initializers.Count;    // <=
              i++)                                         // <=
      {
        hashCode += (hashCode * 397) ^
        GetHashCode(memberListBinding.Initializers[j].Arguments);
      }
      break;
    ....
   }
}

Report: https://github.com/aspnet/EntityFramework/pull/7909

4. Entity Framework. CWE-670 (Always-Incorrect Control Flow Implementation)

V3081 The 'j' counter is not used inside a nested loop. Consider inspecting usage of 'i' counter. EFCore.Specification.Tests ComplexNavigationsQueryTestBase.cs 2393

for (var i = 0; i < result.Count; i++)
{
  var expectedElement = expected
    .Single(e => e.Name == result[i].Name);
    
  var expectedInnerNames = expectedElement
    .OneToMany_Optional.Select(e => e.Name)
    .ToList();
    
  for (var j = 0; j < expectedInnerNames.Count; j++)    // <=
  {
    Assert.True
    (
      result[i]
      .OneToMany_Optional.Select(e => e.Name)
      .Contains(expectedInnerNames[i])                  // <=
    );
  }
}

Report: https://github.com/aspnet/EntityFramework/pull/7909

5. CoreCLR. CWE-188 (Reliance on Data/Memory Layout)

V557 Array overrun is possible. The value of 'dwCode — 1' index could reach 8. cordbdi rsmain.cpp 67

const char * GetDebugCodeName(DWORD dwCode)
{
  if (dwCode < 1 || dwCode > 9)
  {
    return "!Invalid Debug Event Code!";
  }

  static const char * const szNames[] = {
    "(1) EXCEPTION_DEBUG_EVENT",
    "(2) CREATE_THREAD_DEBUG_EVENT",
    ....
    "(8) OUTPUT_DEBUG_STRING_EVENT"         // <=
    "(9) RIP_EVENT",
  };

  return szNames[dwCode - 1];
}

Report: https://github.com/dotnet/coreclr/pull/10417

6. FreeBSD. CWE-561 (Unreachable code detected)

V779 Unreachable code detected. It is possible that an error is present. mps.c 1306

static int
mps_alloc_requests(struct mps_softc *sc)
{
  ....
    else {
      panic("failed to allocate command %d\n", i);
      sc->num_reqs = i;
      break;
    }
  ....
}

Report: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=218002

7. FreeBSD. CWE-561 (Unreachable code detected)

V779 Unreachable code detected. It is possible that an error is present. efx_mcdi.c 910

void
efx_mcdi_ev_death(
  __in    efx_nic_t *enp,
  __in    int rc)
{
  ....
  efx_mcdi_raise_exception(enp, emrp, rc);

  if (emrp != NULL && ev_cpl)
   emtp->emt_ev_cpl(emtp->emt_context);
}

Report: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=218004

8. FreeBSD. CWE-561 (Unreachable code detected)

V779 Unreachable code detected. It is possible that an error is present. sctp_pcb.c 183

struct sctp_vrf *
sctp_allocate_vrf(int vrf_id)
{
  ....
  if (vrf->vrf_addr_hash == NULL) {
    /* No memory */
#ifdef INVARIANTS
    panic("No memory for VRF:%d", vrf_id);
#endif
    SCTP_FREE(vrf, SCTP_M_VRF);
    return (NULL);
  }
  ....
}

Report: bugs.freebsd.org/bugzilla/show_bug.cgi?id=218005

10. FreeBSD. CWE-570 (Expression is Always False)

V547 Expression 'value < 0' is always false. Unsigned type value is never < 0. ar9300_xmit.c 450

HAL_BOOL
ar9300_reset_tx_queue(struct ath_hal *ah, u_int q)
{
  u_int32_t cw_min, chan_cw_min, value;
  ....
  value = (ahp->ah_beaconInterval * 50 / 100)
    - ah->ah_config.ah_additional_swba_backoff
    - ah->ah_config.ah_sw_beacon_response_time
    + ah->ah_config.ah_dma_beacon_response_time;
  if (value < 10)
    value = 10;
  if (value < 0)
    value = 10;
  ....
}

Report: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=218007

11. FreeBSD. CWE-571 (Expression is Always True)

V617 Consider inspecting the condition. The '0x00000080' argument of the '|' bitwise operation contains a non-zero value. mac_bsdextended.c 128

#define  MBO_TYPE_DEFINED 0x00000080

static int
ugidfw_rule_valid(struct mac_bsdextended_rule *rule)
{
  ....
  if ((rule->mbr_object.mbo_neg | MBO_TYPE_DEFINED) &&      // <=
      (rule->mbr_object.mbo_type | MBO_ALL_TYPE) != MBO_ALL_TYPE)
    return (EINVAL);
  if ((rule->mbr_mode | MBI_ALLPERM) != MBI_ALLPERM)
    return (EINVAL);
  return (0);
}

Report: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=218039

Прочие ошибки


1. FreeBSD

V646 Consider inspecting the application's logic. It's possible that 'else' keyword is missing. if_em.c 1944

static int
em_if_msix_intr_assign(if_ctx_t ctx, int msix) 
{
  ....
  if (adapter->hw.mac.type < igb_mac_min) {
    tx_que->eims = 1 << (22 + i);
    adapter->ims |= tx_que->eims;
    adapter->ivars |= (8 | tx_que->msix) << (8 + (i * 4));
  } if (adapter->hw.mac.type == e1000_82575)                // <=
    tx_que->eims =
      E1000_EICR_TX_QUEUE0 << (i %  adapter->tx_num_queues);
  else
    tx_que->eims = 1 << (i %  adapter->tx_num_queues);
  ....
}

Report: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=218041

2. CoreCLR

V534 It is likely that a wrong variable is being compared inside the 'for' operator. Consider reviewing 'i'. ildasm mdinfo.cpp 1421

void MDInfo::DisplayFields(mdTypeDef inTypeDef,
                           COR_FIELD_OFFSET *rFieldOffset,
                           ULONG cFieldOffset)
 {
  ....
  for (ULONG i = 0; i < count; i++, totalCount++)
  {
    ....
    for (ULONG iLayout = 0; i < cFieldOffset; ++iLayout)  // <=
    {
      if (RidFromToken(rFieldOffset[iLayout].ridOfField) ==
          RidFromToken(fields[i]))
      {
        ....
      }
    }
  }
  ....
}

Report: https://github.com/dotnet/coreclr/pull/10414

Заключение


Предлагаем скачать анализатор PVS-Studio и попробовать проверить ваш проект:
Для снятия ограничения демонстрационной версии, вы можете написать нам, и мы отправим вам временный ключ.

Для быстрого знакомства с анализатором, вы можете воспользоваться утилитами, отслеживающими запуски компилятора и собирающие для проверки всю необходимую информацию. См. описание утилиты CLMonitoring и pvs-studio-analyzer. Если вы работаете с классическим типом проекта в Visual Studio, то всё ещё проще: достаточно выбрать в меню PVS-Studio команду «Check Solution».

Если хотите поделиться этой статьей с англоязычной аудиторией, то прошу использовать ссылку на перевод: Andrey Karpov. Weaknesses detected by PVS-Studio this week: episode N3

Дата: 2017-03-24 13:21:15

Источник: https://habrahabr.ru/post/324802/



Cisco обнаружила критическую уязвимость в промышленных маршрутизаторах

В среду Ciscoinfo-icon сообщила, что некоторые из ее промышленных маршрутизаторов имеют критическую уязвимость удаленного выполнения кода в среде IOx.

Брешь, известная под идентификатором CVE-2017-3853, влияет на процесс Data-in-Motion (DMo) IOx и вызвана отсутствием надлежащей проверки. Удаленный, не прошедший проверку злоумышленник может использовать эту уязвимость для переполнения стека путем отправки специально созданных пакетов, которые перенаправляются для оценки в процесс DMo.

Успешная эксплуатация бреши может позволить злоумышленнику выполнить произвольный код с привилегиями root в виртуальной машине, запущенной на уязвимом устройстве. Однако Cisco объяснила, что сам маршрутизатор уязвимость не затрагивает.

В список затронутых продуктов вошли маршрутизаторы IR809 и IR829, с запущенными версиями IOx 1.0.0.0 и 1.1.0.0. Пользователи могут узнать, какая версия установлена на их устройствах через интерфейс IOx Local Manager.

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

Дата: 2017-03-24 13:10:22

Источник: https://www.anti-malware.ru/news/2017-03-24/22576



Новая вредоносная кампания нацелена на посетителей сайтов для взрослых

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

Ведущий аналитик вредоносных программ Malwarebytes Джером Сегура (Jerome Segura) сообщает, что кампания, использующая рекламную сеть ExoClick, стремилась инфицировать жертв вредоносом, похищающим информацию.

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

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

Еще одним способом противостоять такого ода угрозам является использование современно антивирусного продукта. По сути, одно решение не должно заменять другое, и эксперты настоятельно рекомендуют пользователям использовать как блокировщики рекламы, так и антивирус с актуальными базами.

Дата: 2017-03-24 12:38:48

Источник: https://www.anti-malware.ru/news/2017-03-24/22575



Google удалила из Play Store свыше десяти приложений с рекламным ПО

Злоумышленники пытались заставить пользователей дать приложениям права администратора.

Google удалила из Play Store более десяти приложений, маскирующихся под легитимные программы и предназначенные для отображения навязчивой рекламы. Злоумышленники выдавали приложения за игры, фоторедактор, сканер QR-кодов и компас. Четыре из них были загружены от 10 тыс. до 50 тыс. раз.

Как сообщают исследователи компании Zscaler, злоумышленники пытались обманным образом заставить пользователей дать приложениям права администратора. Повышенные привилегии позволяли им отображать рекламу на весь экран, открывать ссылки в браузере, запускать YouTube-видео, открывать установленные на устройствах программы и добавлять короткие URL-адреса на домашние экраны.

Как показал анализ приложений, большинство из них были созданы на основе краденых кодов легитимных программ. К примеру, одно из приложений с пакетом com.ndk.taskkiller представляет собой пиратскую версию легитимной программы Battery Saver HD and Task Killer. Пиратские продукты являются точными копиями настоящих, за исключением вредоносного кода, позволяющего получать команды от подконтрольного злоумышленникам C&C-сервера.

Для обхода различных механизмов проверок Play Store злоумышленники внедрили вредоносный пакет в подлинный пакет для Google Mobile Services (GMS). По словам исследователей, все строки кода являются обфусцированными с использованием довольно простого метода шифрования.

Дата: 2017-03-24 12:22:40

Источник: http://www.securitylab.ru/news/485666.php