5 октября я участвовал в круглом столе "Тесты на проникновение с точки зрения бизнеса" вместе с коллегой из Digital Security. Скажу лишь пару слов о том, как это происходило, ибо грустно вспоминать. Формат события у нас "круглый стол", о чем я неоднократно упомянул, чтобы хоть как-то расшевелить аудиторию. Конечно, у меня есть что сказать, у меня даже была презентация, содержащая очевидные вещи (что ее не хочется даже публиковать), но мне действительно интересно мнение других, чего я к сожалению так и не узнал. Сначала я, было, решил, что в аудитории сидят менеджеры, и семинар стоит склонять в сторону бизнес-выгоды, оправдания ожиданий и т.п., но, спустя несколько минут, мне показалось, что людям не интересно и я стал пытаться шутить "техническим жаргоном" про MS03-026 и Metasploit, - людям не было весело, как мне. Я решил, что из меня плохой ведущий и больше не пытался раскачать аудиторию :-(
Мне понравился доклад Александра Полякова. Не потому что там было что-то для меня новое или он был как-то особенно изложен, а потому, что я в очередной раз задумался о данной проблематике и не как прежде.
За те долгие годы, которые прошли с момента как компания в которой я работаю в первый раз заказала пентест, многое изменилось. В двух словах - пентест стало модно: уже все знают что это такое, только ленивый интегратор не пытается это продать, как и с помощью чего это делается тоже многие понимают. На семинаре у меня с Сашей возник "спор" (скорее, обмен рассуждениями) на тему пентест - это Искусство или Ремесло. Разница, думаю, понятна, но грань размыта, поскольку выдающиеся люди потому и "выдающиеся", поскольку умеют из Ремесла сделать Искусство. Но не будем думать о великих, ибо в большинстве своем, к несчастью, нас окружают не дарования. Ну а мы, заказчики, все равно не сожем заочно определить кто среди претендентов гений, так как лично я не знаю какие придумать формальные критерии для его определения. Но не суть, как говориться: "И каждый пошел своею дорогой, а поезд пошел своей", каждый из нас остался при своем мнении.
Я вот о чем подумал, слушая Сашин доклад "Эволюция тестов на проникновение", - мне кажется, что подобные тесты исчезнут как класс, так как в них пропадет необходимость. Современные контроли безопасности нацелены на проактивность и перестраховку. Первое означает, что мы пытаемся предупреждать возможные уязвимости, второе, что наша оборона - многослойна: если где-то мы не можем закрыть уязвимость, то наш следующий контроль ее закроет. Что делает пентест? Находит уязвимости и эксплуатирует их! Уязвимости бывают: архитектурные, конфигурационные и программные. Архитектурные и конфигурационные снимаются выполнением рекомендаций производителей, которые заключают в себя многолетний опыт наступания на различного рода грабли, - не надо наступать на грабли, на которые уже кто-то наступал, следуйте этим рекомендациям.
Программные - это про то, что программисты ошибаются. Вот тут посложнее, но никто не снимал со счетов чисто системы безопасности: антивирусы, IPS/IDS, мониторинг, self-assessment в конце концов.
Я не считаю себя совсем уж прям оптимистом, но я склонен считать, что с безопасностью ситуация улучшается (где результат нашей многолетней работы!) и, если все правильно делать, пентесты будут не нужны. Вернее, эффективность от них будет ниже затрат на них.
Приведу пример. В старые добрые времена запчасти на автомобилях заменяли по мере их выхода из строя. За долгие годы производители набрали статистику, провели какие-то исследования, и получили достаточно точные сроки службы каждого узла. Исходя из этого составили карты периодического технического обслуживания, где отслужившие свое узлы заблаговременно заменяются на новые. Да, это дороже, так как я меняю детали, которые еще не сломались и, может, их хватило бы еще на такой же срок службы, но это страхует меня от неожиданностей в пути.
Задача пентеста - именно выдать неожиданность, показать фокус. Если я буду проактивно подходить к своей защите, никаких фокусов не будет.
Monday, October 11, 2010
Эволюция тестов на проникновение
Posted by
Sergey Soldatov
1 comments
Labels: Audit
Wednesday, October 6, 2010
Windows SNP, окончание
В потоке дней и суматохе дел я совсем забыл написать об окончании этой истории.Трафик мне действительно крайне-необходимо было снифать. Я обратился в поддержку Microsoft. Инженер техподдержки сильно удивился тому, что трафик не снифается и предложил мне использовать для этого Microsoft Network Monitor. И... netmon прекрасно заработал, в отличие от wareshark. Ну и что я должен подумать?! Я подумал об Oracle, Symantec и прочем не-Microsoft, работающем на Microsoft. Никто не застрахован от случайных побочных последствий светлых идей.
Posted by
Sergey Soldatov
0
comments
Labels: Microsoft
Monday, September 13, 2010
Microsoft Windows Server 2003 Scalable Networking Pack
Пытаясь разобраться почему у меня не работает Autoenrollment, я заметил, что мой верный wireshark ничего не видит. Бред какой-то. 10 лет ловил трафик libpcap-ом. А тут какая-то мистика - одни SYN-ы и SYN-ACK-и. Оказывается MS снова всех обманул - изобрел Scalable Networking Pack. Идея, как бы позитивная, - разгрузить процессор, но лично меня слова типа "DMA" крайне беспокоят, думаю скоро это будут весьма успешно эксплуатировать горячие головы.
Коротенький раздел "Windows Server 2003 Scalable Networking Pack open issues", вызвал у меня улыбку умиления - при всем этом бардаке, у меня в сети на продуктивном сервере это чудо "SNP" стоит, установленное вместе с сервиспаком!
Posted by
Sergey Soldatov
0
comments
Labels: Microsoft
Friday, September 10, 2010
Бог решает...
К моему величайшему сожалению, я не знал этого Человека. И не имею права считать себя байкером. Но я всю жазнь в дороге и живу в этой стране. Душой я с ними.
Posted by
Sergey Soldatov
0
comments
Labels: Russia
Wednesday, September 8, 2010
Еще 5 лет жизни
Почему-то все эту новость крайне негативно. Но почему? Лично я после того как ПФРФ много раз воровали, наблюдая за тем как живут мои родители на пенсии, изучая текущие "реформы" пенсионного фонда, вспоминая о том, как в "кризис" латали дыры в бюджете в т.ч. и пенсионным фондом и это не помешало в 2010-м посткризисном году России удвоить количество своих миллиардеров, а также прочих любопытных знаний, которые даже никто не пытается скрывать, от чего становится особенно обидно, для себя решил, что в РФ до пенсии доживать не надо и это:
- Позволит мне остаться патриотом, так как государству не нужны пенсионеры, что ж, поможем Родине.
- Позволит мне не быть обузой своим многочисленным детям.
Posted by
Sergey Soldatov
2
comments
Labels: Russia
Wednesday, September 1, 2010
Классификация информации и DLP
Я решил повнедрять DLP. На данном этапе (весьма и весьма начальном) выяснил, что несмотря на то, что тема "модная" и внедрятели рассказывают о том, что это успешно делается, все далеко не так просто. Не буду тратить время на рассказ как работают системы DLP, перейду сразу к проблемам "стандартного" подхода к внедрению.
- У меня есть классификация информации, допустим: Коммерческая тайна (КТ), Для служебного использования (ДСП) и Открытая (О). Крайне сложно понять какие типы информации попадают в какие классы, так как: а) это невозможно сделать без заинтересованности бизнес-подразделений, чего добиться крайне сложно, б) сами бизнес-подрездения не имеют представления какие типы информации у них в обращении.
- Даже если я, с горем пополам, определил какие типы информации попали в какие категории, крайне сложно научить DLP распознавать эти типы информации с нужной степенью достоверности, а низкая достоверность крайне неблагоприятно влияет на стоимость владения.
- Такой подход к категоризации опять же решит задачу, так как один и тот же тип информации (например, договор) в разных случаях может иметь различную категорию. Как эти исключения "запрограммировать", я не знаю.
Сразу оговорюсь, что подобый "стандартный" подход с большой степенью вероятности применим в сильно заформализованных предприятиях, например государственных, где четко определены категории документов и даны требования к их оформлению (например, на них обязательно проставление грифов). Тут все будет просто и красиво.
Подискутировав данную тематику с коллегами родился следующий подход, который я и предлагаю на ваш суд, уважаемые читатели, любые мысли относительно изъянов данного подхода крайне интересны. Для предметности и понятности я буду давать пояснения на примере файлов в сетевых папках.
Задача DLP - предотвратить компрометацию данных, т.е. чтобы неавторизованные пользоватли не получили доступ к информации. Пока, на данном, начальном, этапе предлагаю единицей информации банально считать файл (в дальнейшем можно поиграться с цифровыми отпечатками, ключевыми словами с весами и прочими инструментами, которые предоставляет DLP для классификации данных "на лету", но давайте есть слона по частям) Аналогична и задача контроля доступа.
Процедура получения доступа к информационному ресурсу формализована, не важно используется MAC, DAC или RBAC. В любом случае есть роль, которая выполняет согласование уровня доступа к реусурсу желающим. Идея заключается в распростаранении такого же подхода на отдельные файлы. Идентифицировать конкретные файлы можно, например по хешу или как-то по принадлежности к сетевому ресурсу (по тому, в какой сетевой папке лежит), если такая возможность у DLP имеется. Соответственно, будет две политики использования: только чтение или чтение и изменение, аналогично тому, как это настраивается для сетевого ресурса: доступ в папку только по чтению или по чтению и записи. Можно подумать о введение дополнительных прав, например, запрет удаления. При этом, основная цель недопущения компрометации документа будет достигнута - пользователь не получит доступ к файлу, если у него нет членства в группах доступа к сетевому ресурсу, где этот файл хранится, независимо от того, как пользователь этот файл получил: по почте от коллеги, через съемный носитель или еще как. Доступ к файлу он получает на основании членства в группе доступа к сетевому ресурсу, которое появляется после отработки процедуры предоставления доступа в сетевой ресурс, через согласующего.
Отвязывание политики доступа к файлу "как к его сетевому ресурсу" должно согласовываться аналогичным предосталвленю доступа образом через назначенного согласующего.
Проблемы, что я тут вижу:
- Политик использования файлов у меня будет столько сколько сетевых ресурсов и типов доступа к ним у меня есть, т.е. тьма.
- Вместо "похожих" по цифровым отпечаткам у меня одинаковой политикой использования будут обладать непохожие документы, имеющие фиксированый хеш и принадлежность к одной папке (вот единственный критерий "похожести").
Posted by
Sergey Soldatov
11
comments
Labels: DLP and DRM/IRM, Enterprise Security
Tuesday, April 27, 2010
В бой идут старики?
Друг и коллега предполагал, что антивирусные производители немного халтурят, выкидывая из своих антивирусных баз "старые" сигнатуры. В целом, понятно, а что им делать? Обыватель, выбирая антивирус, при компромиссе полнота сигнатурной базы - производительность, очевидно, выберет более производительное решение. Логично, что чем меньше база сигнатур, тем производительность - выше (я помню то светлое время, когда я впервые услышал о cureit, это было где-то в 2005, тогда ее размер был ~5Mb, а что сейчас - 38Mb! Всего-то 5 лет прошло.)
Вот и мне стало казаться, что старые сигнатуры все-таки выкидывают.
Смотрел в логи интернет-прокси и обнаружил тьму обращений на следующие сайты:
www.riyadh-cables.com
www.sabic.com
www.savola.com
Я так и не понял, что это за сайты, но чтобы не погубить прокси закрыл доступ к ним.
Затем посетил компьютер, с которого это все летело. Увидел примерно следующее (привожу реальный фрагмент, заменив IP-адреса):
....
TCP X.Y.Z.A:1071 112.9.10.0:80 FIN_WAIT_2
TCP X.Y.Z.A:1072 85.158.165.102:80 FIN_WAIT_2
TCP X.Y.Z.A:1073 85.158.165.102:80 FIN_WAIT_2
TCP X.Y.Z.A:1074 85.158.165.102:80 FIN_WAIT_2
TCP X.Y.Z.A:1075 85.158.165.102:80 FIN_WAIT_2
TCP X.Y.Z.A:1076 77.95.217.15:80 TIME_WAIT
TCP X.Y.Z.A:1077 85.158.165.102:80 FIN_WAIT_2
TCP X.Y.Z.A:1078 136.9.10.0:80 FIN_WAIT_2
TCP X.Y.Z.A:1079 85.158.165.102:80 SYN_SENT TCP X.Y.Z.A:1080 213.210.229.148:80 FIN_WAIT_2
TCP X.Y.Z.A:1081 213.210.229.148:80 FIN_WAIT_2
...
И такого безобразия ~ 5000 строк. IPS генерил кучу SYN_Flood-ов на те же адреса.
Название процесса мне так и не показали ни netstat -ano, ни tcpview. TcpView показало "неизвестный процесс". При перезагрузке все повторилось, решил, что оно где-то в авторане записано. Запустил autoruns, и после недолгого изучения нашел подозрительный сервис "Microsoft security update service", затем файлик mssrv32.exe в system32. Файлик сразу не удалился, так как был занят. Поубивал все "неизвестные процессы" вручную через TCPView, файлик стал дотупен. По дате и времени создания файлика понял, что это то, что я ищу:
Послал этот файлик на Virustotal.com, жаль отчет не сохранил (не до этого было), - из всего набора движков, только 4 в нем что-то нашли. Я сразу решил, что я на пороге "великого" открытия: мой пользователь словил вирус, о котром никому из великих не известно, ибо ни Kaspersky, ни DrWeb, ни McAfee не входили в перечень четырех.
Но... я поискал в Google, и увидел, что проблема эта - старая и, очевидно, сигнатура под это безобразие тогда же и была создана (Наместников Юрий из Лаборатории Касперского 15.09.2007 04:20 пишет: "mssrv32.exe_ - Backdoor.Win32.Kbot.d. Детектирование файла будет добавлено в следующее обновление."). Тем не менее, по мотивам высылки нами "образца" mssrv32.exe, сигнатура появилась в Kaspersky вместе с описанием.
Сегодня Virustotal вернул уже не 4, а 20.
Выводы, которые я для себя сделал:
- Антивирусы умрут рано или поздно. Чем заменить - системами "белых списков", - уже давно перечислить все хорошее и разрешить его проще, чем все плохое - и запретить.
- Антивирусные вендоры как-то обмениваются информацией. Мы послали "образец" только в McAfee, DrWeb и Kaspersky, но сигнатуры появились и у многих других участников Virustotal.com. Учитывая то, что проблема известна с 2007 года, у меня нет объяснений, почему многие другие именно сейчас "заопределяли" этот "образец".
- Если у вас есть антивирус, или даже три разных (оборона должна быть эшелонированной :-) ), вы не защищены от вредоносного ПО.
Posted by
Sergey Soldatov
0
comments
Labels: Malware