Wednesday, September 8, 2010

Еще 5 лет жизни

Почему-то все эту новость крайне негативно. Но почему? Лично я после того как ПФРФ много раз воровали, наблюдая за тем как живут мои родители на пенсии, изучая текущие "реформы" пенсионного фонда, вспоминая о том, как в "кризис" латали дыры в бюджете в т.ч. и пенсионным фондом и это не помешало в 2010-м посткризисном году России удвоить количество своих миллиардеров, а также прочих любопытных знаний, которые даже никто не пытается скрывать, от чего становится особенно обидно, для себя решил, что в РФ до пенсии доживать не надо и это:

  1. Позволит мне остаться патриотом, так как государству не нужны пенсионеры, что ж, поможем Родине.
  2. Позволит мне не быть обузой своим многочисленным детям.

Wednesday, September 1, 2010

Классификация информации и DLP

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

  1. У меня есть классификация информации, допустим: Коммерческая тайна (КТ), Для служебного использования (ДСП) и Открытая (О). Крайне сложно понять какие типы информации попадают в какие классы, так как: а) это невозможно сделать без заинтересованности бизнес-подразделений, чего добиться крайне сложно, б) сами бизнес-подрездения не имеют представления какие типы информации у них в обращении.
  2. Даже если я, с горем пополам, определил какие типы информации попали в какие категории, крайне сложно научить DLP распознавать эти типы информации с нужной степенью достоверности, а низкая достоверность крайне неблагоприятно влияет на стоимость владения.
  3. Такой подход к категоризации опять же решит задачу, так как один и тот же тип информации (например, договор) в разных случаях может иметь различную категорию. Как эти исключения "запрограммировать", я не знаю.
... да и вообще, поддерживать эту типизационно-классификационную модель в актуальном состоянии с нужной степенью полезности мне представляется крайне тяжелым.

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

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

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

Процедура получения доступа к информационному ресурсу формализована, не важно используется MAC, DAC или RBAC. В любом случае есть роль, которая выполняет согласование уровня доступа к реусурсу желающим. Идея заключается в распростаранении такого же подхода на отдельные файлы. Идентифицировать конкретные файлы можно, например по хешу или как-то по принадлежности к сетевому ресурсу (по тому, в какой сетевой папке лежит), если такая возможность у DLP имеется. Соответственно, будет две политики использования: только чтение или чтение и изменение, аналогично тому, как это настраивается для сетевого ресурса: доступ в папку только по чтению или по чтению и записи. Можно подумать о введение дополнительных прав, например, запрет удаления. При этом, основная цель недопущения компрометации документа будет достигнута - пользователь не получит доступ к файлу, если у него нет членства в группах доступа к сетевому ресурсу, где этот файл хранится, независимо от того, как пользователь этот файл получил: по почте от коллеги, через съемный носитель или еще как. Доступ к файлу он получает на основании членства в группе доступа к сетевому ресурсу, которое появляется после отработки процедуры предоставления доступа в сетевой ресурс, через согласующего.

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

Проблемы, что я тут вижу:
  1. Политик использования файлов у меня будет столько сколько сетевых ресурсов и типов доступа к ним у меня есть, т.е. тьма.
  2. Вместо "похожих" по цифровым отпечаткам у меня одинаковой политикой использования будут обладать непохожие документы, имеющие фиксированый хеш и принадлежность к одной папке (вот единственный критерий "похожести").
Решение имеет крайний, но рабочий вариант: все найденные в сетевых ресурсах документы объявить ДСП и привязать политику, разрешающую доступ только корпоративных пользователей. Все-таки защитимся от утечки информации внешним пользователям. Дальнейшая проработка политик - уже в процессе эксплуатации в аккуратном диалоге с бизнес-подразделениями. Уверен, найдутся подразделения и информация, которую не захотят распространять даже внутри Компании.


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.

Выводы, которые я для себя сделал:

  1. Антивирусы умрут рано или поздно. Чем заменить - системами "белых списков", - уже давно перечислить все хорошее и разрешить его проще, чем все плохое - и запретить.
  2. Антивирусные вендоры как-то обмениваются информацией. Мы послали "образец" только в McAfee, DrWeb и Kaspersky, но сигнатуры появились и у многих других участников Virustotal.com. Учитывая то, что проблема известна с 2007 года, у меня нет объяснений, почему многие другие именно сейчас "заопределяли" этот "образец".
  3. Если у вас есть антивирус, или даже три разных (оборона должна быть эшелонированной :-) ), вы не защищены от вредоносного ПО.

Friday, April 16, 2010

Каша из топора

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


Итак, я подрядчик на сложный проект, вы - заказчик, для простоты, - некого программного обеспечения. У меня нет ресурсов генерить хорошие привильные идеи, ну, например, у меня нет квалифицированных разрабочиков и вообще штата, а под каждый проект я иду в государственный институт и набираю студентов первого курса за соответствующую плату. В качестве решения я выдаю то, что мне выгоднее (действительно, - это же бизнес!). Теперь уже это ваша головная боль показать мне почему то, что я сделал, нехорошо. Очевидно, что мне выгоднее делать негибкое решение: его делать банально дешевле, к тому же, легкие изменения, которые в случае настраиваемого решения можно было бы выполнить конфигурацией, для вас обернутся необходимостью разработки, на которой, очевидно, я могу заработать. А куда вам деваться, если я уже выбран? Если вы ничего не понимаете и/или не хотите разбираться/думать, вы согласуете мой вариант "наименьших затрат". Если вы разбираетесь в вопросе (хотя бы на уровне фильтрации бреда), вы будете вынуждены тратить время на проработку со мной предлагаемых мною вариантов: объективно доказывать, что они не соответствуют каким-то там стандартам/практикам (просто сказать, что так "плохо" не получится, так как предложение будет воспринято мною как "дополнительное требование", которое "out of scope"), тратить время на детальное объяснение своих требований, поскольку я, прикрываясь словами "наша работа используется во всем мире (!), и только у вас такие требования", буду поначалу "не понимать" все о чем вы меня просите (особенно здорово, если мы с вами банально говорим на разных языках, это - небольшое, но преимущество, опять же мое). В конечном счете ваша деталлизация спустится до уровня работы моего архитектора, и вы сами за него сделаете его работу. Как видите, в любом случае вы в проигрыше. Что плохого для вас:
- вы тратите свои ресурсы. Поскольку очевидно, что это - моя работа, вы их в таком объеме не планировали;
- как бы ни был я плох как подрядчик, в любом случае я более профессионален в предметной области (ибо я все-таки успешен на рынке, иначе вы бы меня не выбрали), а обмануть любителя профессионалу проще;
- свои непрофессиональные решения я буду потом оправдывать вашими же согласованиями.


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

Вы ссылаетесь на требования международных стандартов (вам повезло и свой "здарвый смысл" вы можете объективно подтвердить), я легко обосную вам то, как дорого мне (собственно, вам) дорабатывать мой продукт до общепризнанных "Security in depth" (ибо в depth залазить не хочется, например, студенты которые раньше у меня работали и которых я увлоил после проекта уже бородатые дядьки и покупать их уже отнюдь не дешево) и т.п. В итоге, вы снова вынуждены разбираться в предлагаемых мною компромиссных вариантах.


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


Как же вам со мной бороться? Лучше вам, конечно, меня не выбирать, но как это можно сделать:
1. Я должен выбираться в объективном тендере, исключающем коррупцию.
2. Я должен иметь подтвержденный опыт, иметь в штате нужных вам специалистов с подтвержденными компетенциями.
3. Мои подходы к разработке должны соответствовать имеющимся практикам и стандартам, впрочем как и продукты, которые я делаю.
4. Я не должен быть уникальным в каком-либо виде, должна быть настоящая конкуренция. Идеально, если вы как-то проверите, что я не "договорился" со своими конкурентами. Следствие: берите лучше коробочные варианты, а не заказывайте мне разработку, либо держите своих разработчиков и обспечивайте среди них отсутствие "ключевых" фигур.
5. Четко разделяйте ответственность меня и свою. Контролируйте это разделение постоянно.
6. Четко формируйте свои требования, чтобы они не допускали хоть сколько-нибудь свободного толкования. Четко определите что входит в объем проекта и убедитесь в том, что я с этим согласен.
7. Имейте четкое представление о том, что хотите получить. Будьте уверены, что вашими требованиями это покрывается. Можете нанять какого-нибудь стороннего эксперта, обязательно квалификацией не ниже меня и имеющего аналогичный опыт, который поможет вам сформирвоать требования, покрывающие ваши желания, а так же быть экспертом с вашей стороны.
8. Позаботьтесь о том, чтобы у вас были рычаги давления на меня.


Как это не прискорбно сознавать, бизнес циничен. Нам всем нужно смотреть в корень.

Thursday, March 25, 2010

Социальная инженерия, как уровень здоровья общества

Спросите у любого о методах борьбы с атаками, основанными на социальной инженерии. Ответ будет очевидным: обучение пользователей. Логичен тогда вопрос об эффективности этих мер. Полагаю, что мало кто подтвердит их высокий эффект (см. #5). Почему? Мое мнение, что проблема кроется в непонимании причин, делающих социальную инженерию возможной.

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

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

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

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

Monday, March 22, 2010

Об авторском праве и не только

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

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

Я уверен, что все текущие проблемы общества в целом, в конечном счете имеют отображение в пороки людей в частности. Именно потому, что мы алчны, завистливы и т.п. общество, в котором мы живем, такое, какое оно есть. Уже давно я склонен считать, что люди поступают «нехорошо» не потому что они по природе «злые», совсем нет, они просто невежественны – они не знают что творят или… общество создало такие условия, что нельзя иначе.

Побороть недостаток знаний можно очевидным средством – обеспечить полный доступ к информации, чтобы люди обладали равными возможностями для получения информации, любой. Очевидно, что посадить человека в Интернет, сказав: «Читай Википедию!» недостаточно, идеально, чтобы он желал сам получать знания. Здесь уже вопрос воспитания и общественной обстановки: воспитание закладывает основы желания развиваться (во всех смыслах этого слова), а общество обеспечивает возможность реализации человеком своего права на развитие.

Но, к моему великому сожалению, в современности все не совсем так (а может, и совсем не так, но хочется быть оптимистом). Хорошее образование, как очевидный способ развития человека, стоит хороших денег, что делает его уже недоступным для любого желающего. Также небесплатно можно пользоваться новым достижениями в различных областях науки и техники... Грустных примеров о недоступности знаний/информации можно приводить великое множество, печально осознавать, что все это далеко не на пользу общества. Я уверен в том, что мировые достижения в какой бы то ни было области науки и/или искусства – достояние не кого-то конкретно, а Человечества в целом. Будучи общедоступным, оно сослужит значительно большую пользу обществу, чем средство заработка кого-либо. Еще Ньютон сказал: «Мы видим дальше, потому что стоим на плечах гигантов», каждое достижение индивидуума – шаг на пути развития всего Человечества. Зачем это прятать? Свобода доступа к информации – обязательное условие развития Человечества.

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

Но мне отрадно осознавать, что то, о чем я тут пытался рассказать, не для всех – пустой звук. Есть люди, как Григорий Яковлевич Перельман, которые не превращают науку – основное оружие борьбы с невежеством, а, следовательно, и с болезнями общества, в средство наживы. Которые не прячут свои достижения с желанием продать, и не продают их даже если есть покупатели, дабы не закрепить в умах окружающих стереотипы о том, что выбирать себе занятие нужно исходя из возможности хорошо продавать его плоды, а делают их доступными всему Человечеству абсолютно свободно. Отрадно понимать, что не только возможность заработать может стимулировать людей к творчеству, но и вера в здоровое светлое будущее нашего общества.

Wednesday, March 3, 2010

Cloud Computing killed The Reich :)

Озабочен написанием стандарта по поводу использования Интернет-сервисов (в простонародье Cloud Computing), и вот наткнулся очень кстати:


"Your 'compensating controls' couldn't even stop Stalin's script kiddies!"
"You said there was a '.4 risk'!! What does that ever mean?!"
"Maybe we should just outsource fixing this problem to another cloud service?"
"You said their 'firewall + SSL' were better than our Enigma coding machine!"

Сплошное ржунимагу :)))