Re[12]: Сказка о циничном ученом, простреленных ногах разраб
От: IID Россия  
Дата: 31.10.08 02:30
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>>>Успешных атак (повлекших за собой ущерб) за рассматриваемый период не было.


V>>либо вы о них не знаете


KV>Т.е. ты хочешь сказать, что мы потеряли некоторую часть своих финансовых средств и не знаем об этом?


А как вы можете об этом знать ? Финансовые потери это ведь не только дебет-кредит в компе главбуха. Скажем, если у вас сперли кусок абоненской базы — потеря ли это ? А когда её в паблик выложат ?

[offtop]
В бытность пользования пчелайн-GPRSом на мой комп постоянно ломились заражённые машины других пчелайн-абонентов. Польза от доступности абонентов друг другу кажется мне сомнительной. Интересно, почему не разделили абонентов между собой, а-ля VLans ?
[/offtop]
kalsarikännit
Re[13]: Сказка о циничном ученом, простреленных ногах разраб
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 31.10.08 05:48
Оценка:
Здравствуйте, IID, Вы писали:

IID>Здравствуйте, kochetkov.vladimir, Вы писали:


KV>>>>Успешных атак (повлекших за собой ущерб) за рассматриваемый период не было.


V>>>либо вы о них не знаете


KV>>Т.е. ты хочешь сказать, что мы потеряли некоторую часть своих финансовых средств и не знаем об этом?


IID>А как вы можете об этом знать ?

IID>Финансовые потери это ведь не только дебет-кредит в компе главбуха.

А что еще? Мы ведь сейчас не о потенциальных потерях говорим, а о фактических?

IID>Скажем, если у вас сперли кусок абоненской базы — потеря ли это ?


Безусловно, это потеря. Но реальный ущерб она начнет наносить тогда,

IID>А когда её в паблик выложат ?

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

IID>[offtop]

IID>В бытность пользования пчелайн-GPRSом на мой комп постоянно ломились заражённые машины других пчелайн-абонентов. Польза от доступности абонентов друг другу кажется мне сомнительной.

Ну вот тебе сомнительной, а многие абоненты ее активно используют

IID>Интересно, почему не разделили абонентов между собой, а-ля VLans ?


А зачем?

IID>[/offtop]

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[11]: Сказка о циничном ученом, простреленных ногах разраб
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 31.10.08 05:48
Оценка:
Здравствуйте, Andir, Вы писали:

Я постараюсь не нарушая NDA объяснить причину такого перекоса.

Если брать только нашу страну, то в 7 ее регионах мы имеем:

1. Одну штаб-квартиру всея компании внутри пределов МКАДа
2. 7 региональных штаб-квартир, по одной в каждом регионе (я работаю в одной из них)
3. Около сотни конечных филиалов по всей стране

Что касается внешних систем (т.е. систем с внешними IP-адресами, либо расположенных в ДМЗ), то:

1. В конечных филиалах таковых ровно по одной (аппаратный FW для офисного интернета), причем прокси, используемый для доступа в интернет, "одноногий" (только со внутренним интерфейсом).

2. В региональных штаб-квартирах, таких систем уже две, т.к. помимо офисного интернета, именно там обслуживаются каналы доступа в интернет через GPRS/EDGE/3G для всего региона.

Никаких интернет веб-серверов ни там, ни там нет. Вообще никаких других внешних систем, в принципе.

3. В столичной штаб-квартире есть все то, что есть в перечисленных выше пунктах (причем далеко не в единственном экземпляре, как это сделано в регионах), плюс внешние VPN-шлюзы для удаленного доступа к сети, почтовые шлюзы, веб-серверы и т.п., вынесенные в ДМЗ.

Интранет системы у нас используются весьма широко, т.к. большая часть централизованных приложений (биллинг, ERP, CRM и т.п.) имеет веб-интерфейс + всякие бэкофисы микрософтовского барахла, систем мониторинга, той же IDS и системы корреляции событий IDS и т.п. Поэтому количество внешних веб серверов у нас примерно в сотню раз меньше чем внутренних. Причем внутренние "размазаны" по всей стране, тогда как внешние сосредоточены в столичной ШК.

Теперь самое главное (что узнал только вчера), сканирование портов 10 внешних систем с одного хоста в интернете — это одна атака на ДМЗ. Сканирование одним внутренним хостом 10 внутренних серверов — это 10 атак. Ибо доступа к данным сенсоров, установленных на внешних системах у меня нет Иными словами "атака на внешнюю систему" != "атака на внутреннюю систему", отсюда и перекос и без того перекошенной статистики, обусловенной архитектурой нашей инфры. Посему признаю: был неправ относительно количественной оценки внешних и внутренних атак, ок. Хотя внутренних все равно много :-Р

Еще хочу заметить, что скепсис относительно того, что все пользователи внутри компании работают на одно дело и вредить не должны — ошибочно. Во-первых, я лично сталкивался с теми, кто вполне осознанно пытались получить доступ к некоторым системам ради собственной наживы, и с теми, кто, легально имея такой доступ, воспользовался им для нанесения ущерба конторе. Таких людей на моей памяти было около 20 за последние три года и трое из них, совершенно точно АТАКОВАЛИ (в техническом смысле) наши системы изнутри.

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

У нас был реальный случай в 2004-ом (я тогда еще не работал в ИБ), когда из-за одного личного ноута, воткнутого технарем, в сети (по всей стране) началась эпидемия helkern/slammer, т.к. MSDE, широко-использовавшийся другими технарями на своих рабочих местах практически во всех филиалах был, как правило, с пустым паролем sa. helkern — это такая вещь, при эпидемии которой достаточно пары-тройки зараженных компов в подсети, чтобы она напрочь легла. В итоге, часть подсетей у нас (в т.ч. серверных) были недоступны несколько часов, прежде чем удалось справиться с активностью червя в них. Прямые финансовые потери от отказа в обслуживании звонков абонентов и доп.сервисов исчислялись сотнями тысяч в каждом регионе. Поэтому от технарей и ИТшников с тех пор, мы стараемся фиксировать как можно больше событий, чтобы не повторилась эта история.

A>[сарказм]Чем же они заняты? Пишут отчёты о конкретных атаках и статьи о некомпетентых программистах?[/сарказм]


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

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re: Сказка о циничном ученом, простреленных ногах разработчи
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 31.10.08 06:36
Оценка: -4
Отвечу не только eao197 но и остальным кому не ответил относительно "исходных посылов" и замечательности .NET:

Посылы были (|| появились по ходу этой ветки) следующие:

1. Особенность (а отнюдь не просчет) фон-Неймановской архитектуры обусловила существование вирусов и атак инъекций бинарного кода на современных платформах. Особенностью она является именно потому что, благодаря ей эта архитектура приобрела такую популярность. И про вирусы народ узнал еще задолго до того, как появились персональные ПК, построенные по предложенным фон-Нейманом принципам. Т.е. задолго до пика популярности его архитектуры. Интересующимся стоит почитать о работах Фреда Коэна и истории создания Core Wars.

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

3. Исходя из п.1 и 2, программисты, желающие чтобы их код был работающим, должны предпринимать дополнительные телодвижения для достижения этой цели.

4. Эти телодвижения возможны в трех позах:

а) следить за своим кодом самостоятельно и кодить аккуратно и без ошибок ( — все мы люди)
б) использовать костыли типа DEP для intel, SAL для C++, контроля стека/кучи и т.п. (у SAL еще есть шанс, остальное как-то не прижилось и ломалось/обходилось)
в) перейти на управляемую платформу и позволить ей заняться исправлением "особенностей архитектуры"


В любых других случаях, ваш код не будет работающим.

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

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[3]: Сказка о циничном ученом, простреленных ногах разрабо
От: Pavel Dvorkin Россия  
Дата: 31.10.08 06:39
Оценка:
Здравствуйте, Lloyd, Вы писали:


L>Можно ссылки на прецендерты таких хаков? А то я не слышал о таком, интересно почитать.


Насчет прецедентов — не знаю, а вмешаться в процесс — раз плюнуть. Вот тебе простой пример.

Создаем WinForms приложение, бросаем на форму листбокс, в него добавляем 2 строки — "Hello" и "World". Имя формы меняем на "CrackTest". Запускаем. имеем листбокс с этими двумя строчками

Создаем консольное Win32 приложение и пишем в нем, например, так


int _tmain(int argc, _TCHAR* argv[])
{
    HWND hFormWnd = FindWindow(NULL, L"CrackTest");
    HWND hWndLB = GetWindow(hFormWnd, GW_CHILD);
    SendMessage(hWndLB, LB_RESETCONTENT, 0, 0);
    SendMessage(hWndLB, LB_ADDSTRING,0, (LPARAM)L"What's");
    SendMessage(hWndLB, LB_ADDSTRING,0, (LPARAM)L"Matter");
    SendMessage(hWndLB, LB_ADDSTRING,0, (LPARAM)L"With me ?");
    return 0;
}


Смотрим на листбокс и обнаруживаем там нечто интересное

Между прочим, в коллекции айтемов листбокса строки прежние, и их только 2, хотя в самом листбоксе их 3.

Чтобы поменять строчки в коллекции, мне придется потрудиться немного больше. Поставить хук, открыть процесс, остановить его , просканировать его память и поменять там то, что надо. За 5 минут не напишу, но, в общем, ничего сложного нет.

Встречный вопрос. Зачем в .Net есть класс SecureString ? А вот чтобы не давать таким любителям копаться в чужих процессах
With best regards
Pavel Dvorkin
Re[12]: Сказка о циничном ученом, простреленных ногах разраб
От: Andir Россия
Дата: 31.10.08 07:01
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

Большое, однако, хозяйство. Спасибо за рассказ. А какой профиль компании, если не секрет?

KV>Теперь самое главное (что узнал только вчера), сканирование портов 10 внешних систем с одного хоста в интернете — это одна атака на ДМЗ. Сканирование одним внутренним хостом 10 внутренних серверов — это 10 атак. Ибо доступа к данным сенсоров, установленных на внешних системах у меня нет Иными словами "атака на внешнюю систему" != "атака на внутреннюю систему", отсюда и перекос и без того перекошенной статистики, обусловенной архитектурой нашей инфры. Посему признаю: был неправ относительно количественной оценки внешних и внутренних атак, ок. Хотя внутренних все равно много :-Р


Ну вот, уже хорошо. Хотя сам факт скана — это тоже ещё не атака, так "подозрительное событие".

KV>Еще хочу заметить, что скепсис относительно того, что все пользователи внутри компании работают на одно дело и вредить не должны — ошибочно. Во-первых, я лично сталкивался с теми, кто вполне осознанно пытались получить доступ к некоторым системам ради собственной наживы, и с теми, кто, легально имея такой доступ, воспользовался им для нанесения ущерба конторе. Таких людей на моей памяти было около 20 за последние три года и трое из них, совершенно точно АТАКОВАЛИ (в техническом смысле) наши системы изнутри.


Тут был не скепсис, а игра слов. Те кто атакует системы изнутри должны болеть чем-то существенным — вроде жёстких мер от ИБ предприятия, а не только за общее дело

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


Ну и разве это атаки? Это лишь события, хотя в случае статистики это неважно, равнозначных событий снаружи всегда больше.

KV>У нас был реальный случай в 2004-ом (я тогда еще не работал в ИБ), когда из-за одного личного ноута, воткнутого технарем, в сети (по всей стране) началась эпидемия helkern/slammer, т.к. MSDE, широко-использовавшийся другими технарями на своих рабочих местах практически во всех филиалах был, как правило, с пустым паролем sa. helkern — это такая вещь, при эпидемии которой достаточно пары-тройки зараженных компов в подсети, чтобы она напрочь легла. В итоге, часть подсетей у нас (в т.ч. серверных) были недоступны несколько часов, прежде чем удалось справиться с активностью червя в них. Прямые финансовые потери от отказа в обслуживании звонков абонентов и доп.сервисов исчислялись сотнями тысяч в каждом регионе. Поэтому от технарей и ИТшников с тех пор, мы стараемся фиксировать как можно больше событий, чтобы не повторилась эта история.


Вот это то, о чём я говорил насчёт компетенции. Если в сети висит куча MSDE без паролей к sa, то это ответственность ИБ в самой её подлинной форме. (А сетевиков за несанкционированные пакеты пингов надо вообще лишать премии! )

A>>[сарказм]Чем же они заняты? Пишут отчёты о конкретных атаках и статьи о некомпетентых программистах?[/сарказм]

KV>Они сидят на больничном и им безумно грустно и скучно , а тут еще всякие разработчики со своими сарказмами



С Уважением, Andir!
using( RSDN@Home 1.2.0 alpha 4 rev. 1111 ) { /* Работаем */ }
Re[10]: Сказка о циничном ученом, простреленных ногах разраб
От: Andir Россия
Дата: 31.10.08 07:34
Оценка: +1
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Я попробовал себе представить внешний вид данной "строки", чтобы на программерском форуме человек не увидел подвоха и "вставил" бы это дело в калькулятор


Ходила помнится строчка из Perl по интернету (даже на RSDN была), которая трансформировалась в удаление корневого каталога (rm -rf /). Так даже админы её копировали и запускали

С Уважением, Andir!
using( RSDN@Home 1.2.0 alpha 4 rev. 1111 ) { /* Работаем */ }
Re[10]: Сказка о циничном ученом, простреленных ногах разраб
От: Aikin Беларусь kavaleu.ru
Дата: 31.10.08 07:44
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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


ВВ>Я попробовал себе представить внешний вид данной "строки", чтобы на программерском форуме человек не увидел подвоха и "вставил" бы это дело в калькулятор

+1
Но форум-то может быть и не программерский. Кроме того, кроме эксплойта можно зашить и само "пасхальное яйцо", тогда это сообщение будет распространятся без твоейго участия
Re[11]: Сказка о циничном ученом, простреленных ногах разраб
От: minorlogic Украина  
Дата: 31.10.08 07:53
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Если честно, то после этого сообщения я вообще потерял нить твоих рассуждений о добросовестности использования ПО


Я говорю , что при проектировании калькулятора не расматривалась задача проверять чек сумму бинаря или другим способом защищать целостность программы.
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[13]: Сказка о циничном ученом, простреленных ногах разраб
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 31.10.08 08:26
Оценка:
Здравствуйте, Andir, Вы писали:

A>Здравствуйте, kochetkov.vladimir, Вы писали:


A>Большое, однако, хозяйство. Спасибо за рассказ. А какой профиль компании, если не секрет?


Да нет, не секрет. Оператор сотовой (а с недавнего момента, после приобретения соответствующих компаний, еще и фиксированной широкополосной и беспроводной вай-файной) полосатой связи

KV>>У нас был реальный случай в 2004-ом (я тогда еще не работал в ИБ), когда из-за одного личного ноута, воткнутого технарем, в сети (по всей стране) началась эпидемия helkern/slammer, т.к. MSDE, широко-использовавшийся другими технарями на своих рабочих местах практически во всех филиалах был, как правило, с пустым паролем sa. helkern — это такая вещь, при эпидемии которой достаточно пары-тройки зараженных компов в подсети, чтобы она напрочь легла. В итоге, часть подсетей у нас (в т.ч. серверных) были недоступны несколько часов, прежде чем удалось справиться с активностью червя в них. Прямые финансовые потери от отказа в обслуживании звонков абонентов и доп.сервисов исчислялись сотнями тысяч в каждом регионе. Поэтому от технарей и ИТшников с тех пор, мы стараемся фиксировать как можно больше событий, чтобы не повторилась эта история.


A>Вот это то, о чём я говорил насчёт компетенции. Если в сети висит куча MSDE без паролей к sa, то это ответственность ИБ в самой её подлинной форме. (А сетевиков за несанкционированные пакеты пингов надо вообще лишать премии! )


Да тогда в регионах ИБ еше вообще не было Собственно, почти после этого инцидента и появилась, и я перешел туда, строить это направление в регионе.

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[11]: Сказка о циничном ученом, простреленных ногах разраб
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 31.10.08 08:26
Оценка:
Здравствуйте, Aikin, Вы писали:

A>Здравствуйте, Воронков Василий, Вы писали:


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


ВВ>>Я попробовал себе представить внешний вид данной "строки", чтобы на программерском форуме человек не увидел подвоха и "вставил" бы это дело в калькулятор

A>+1
A>Кроме того, кроме эксплойта можно зашить и само "пасхальное яйцо"

А фото Гейтса с размазанным тортом я по-твоему, почему упомянул?

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[3]: security и safety - разные вещи!
От: gear nuke  
Дата: 31.10.08 08:35
Оценка: 2 (2) +4
Здравствуйте, kochetkov.vladimir,

KV>1. Если и можно будет хакнуть (а если бы это было так просто, то прецеденты бы уже давно были известны)


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

KV>то только благодаря наличию в данной цепочке неуправляемого кода, о чем я тут всю тему и твержу.


Скорее, когда возникнет необходимость. Много ли известно малвари под "правильные" ОС? Нет, но это благодаря тому, что у подовляющего большенства стоит Виндос.

KV>На случай, если возникнут иллюзии, что весь код (и ОС и рантайма) не может быть верифицированным, стоит внимательно изучить архитектуру singularity.


Самое смешное, что пресловутое переполнение буфера тоже верифицируется тестами. (*)

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

Вернёмся к (*). Переполнение буфера — следствие ошибки в логике работы с ним. Оно не обязательно приведет к выполнению шеллкода, может быть и просто DoS. Может быть еще что-то. Какие проблемы из этих решает предлагаемая серебрянная пуля?

В общем, дотнет — это хорошо. Действительно не позволяет выстрелить себе в ноги, но зачем это преподносить, как невозможность прострела ног кем-то еще? Подобные допущения в secutity могут оказаться серьёзной ошибкой.

KV>Но что еще более важно:


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


Ага, пример уже есть — подписывание драйверов и PatchGuard в Vista 64. Маркетологи лихо подменили "обход DRM" на "malware".

KV>Наивно полагать, что в общем случае, разработчик приложения сможет организовать меры по обеспечению ИБ ХОТЯ БЫ на таком же уровне, на котором это делает данная конкретная "серьезная компания". Тем более, что ему и так есть чем заняться, помимо обеспечения безопасности своего продукта.


Значит пусть занимается своим делом — разработкой, а не security. Никого же не удивляет, что usability занимаются специально подготовленные люди? Вот и безопасностью (где, кстати, самое слабое звено всегда было и будет — человеческий фактор, а не дыры в софте) пусть занимаются специалисты. Ты, похоже, уже начал, но этот крик души больше похож на premature optimization и наезд на Морфеусов, чем взвешенный анализ векторов атак на конкретный софт. Это к тому, что есть задачи, где безопасность не важна. Как и есть вещи
Автор: gear nuke
Дата: 30.10.08
, где важно homoiconicity.
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Re[12]: Сказка о циничном ученом, простреленных ногах разраб
От: Aikin Беларусь kavaleu.ru
Дата: 31.10.08 08:41
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

ВВ>>>Я попробовал себе представить внешний вид данной "строки", чтобы на программерском форуме человек не увидел подвоха и "вставил" бы это дело в калькулятор

A>>+1
A>>Кроме того, кроме эксплойта можно зашить и само "пасхальное яйцо"

KV>А фото Гейтса с размазанным тортом я по-твоему, почему упомянул?

Тупанул
Re[14]: Сказка о циничном ученом, простреленных ногах разраб
От: IID Россия  
Дата: 31.10.08 08:51
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Здравствуйте, IID, Вы писали:


IID>>Здравствуйте, kochetkov.vladimir, Вы писали:


KV>>>>>Успешных атак (повлекших за собой ущерб) за рассматриваемый период не было.


V>>>>либо вы о них не знаете


KV>>>Т.е. ты хочешь сказать, что мы потеряли некоторую часть своих финансовых средств и не знаем об этом?


IID>>А как вы можете об этом знать ?

IID>>Финансовые потери это ведь не только дебет-кредит в компе главбуха.

KV>А что еще? Мы ведь сейчас не о потенциальных потерях говорим, а о фактических?


Почему же только о фактических ? С твоих же слов: Успешных атак, повлекших за собой ущерб. Потенциальный ущерб — тоже ущерб.


IID>>Скажем, если у вас сперли кусок абоненской базы — потеря ли это ?


KV>Безусловно, это потеря. Но реальный ущерб она начнет наносить тогда,

Тем не менее говорить что не было успешной атаки — неверно.

KV>IID>А когда её в паблик выложат ?


KV>Либо не в паблик, но когда эту информацию начнут использовать в каких-либо целях.

А как определить, начали или ещё ждут ? Мобильные мошенники используют такую информацию ? Нет ? А откуда такая уверенность ?

IID>>[offtop]

IID>>В бытность пользования пчелайн-GPRSом на мой комп постоянно ломились заражённые машины других пчелайн-абонентов. Польза от доступности абонентов друг другу кажется мне сомнительной.

KV>Ну вот тебе сомнительной, а многие абоненты ее активно используют

Ага, согласен. Особенно насчёт активно. Наверное, в большинстве своём даже не подозревая о ней (возможности локального соединения). Как транспорт для червей а-ля бластер-сассер использовали.

IID>>Интересно, почему не разделили абонентов между собой, а-ля VLans ?


KV>А зачем?


Чтобы черви не ползали. В 2006ом году трафика червей было просто нереально много. Кстати, у меня есть версия, почему не стоит ограничивать внутренний трафик. Если он платный, конечно.

IID>>[/offtop]
kalsarikännit
Re[2]: Сказка о циничном ученом, простреленных ногах разрабо
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 31.10.08 08:51
Оценка: 22 (5)
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>1. Особенность (а отнюдь не просчет) фон-Неймановской архитектуры обусловила существование вирусов и атак инъекций бинарного кода на современных платформах.


Где-то в 1990-м году вышла книга Николая Безрукова [http://vx.netlux.org/lib/anb00.html]"Компьютерная вирусология"[/url], в которой он дал очень подробный и интересный рассказ о становлении вирусов. Одна из первых программ такого рода получилась случайно:

Другим примером вирусоподобных программ была игра Animal (Животное), разработанная примерно в 1975 г. для Univac 1108. Суть этой игры состояла в том, что человек задумывал некоторое животное, и программа, задавая вопросы, пыталась определить, какое животное загадал человек. Программист, написавший игру, предусмотрел в ней возможность саморазмножения. Когда программа угадывала неправильно, она просила пользователя предложить вопрос, который позволил бы улучшить ее способности к отгадыванию данного животного. Запомнив этот вопрос, программа не только модифицировала себя, но и пыталась переписать свою обновленную (улучшенную) копию в другой каталог. Если там уже была программа Animal, то она стиралась. В противном случае создавалась новая копия. Оказалось, что через некоторое время все каталоги файловой системы содержали копию Animal. Более того, если пользователь переходил с машины на машину, то он переносил и свой каталог, и в результате во всех каталогах этой ЭВМ также появлялась Animal. При этом совокупность копий Animal занимала значительное файловое пространство, что в те времена воспринималось как проблема.

Что является хорошим примером того, как вирус способен распространятся, мутировать и наносить ущерб без инъекций бинарного кода, за счет использования только обычных средств ОС.

Так же показательны примеры вирусов Christmas Tree и Морриса, которые распространялись без использования иньекций бинарного кода.

KV>Интересующимся стоит почитать о работах Фреда Коэна и истории создания Core Wars.


Почему тогда уже сразу к Darvin не обратиться?

KV>2. Код, позволяющий произвольно и недетерминированно изменять собственную логику выполнения через передачу ему неожидаемые входных данных, не является работающим кодом.


Это сильно зависит от условий и обстоятельств.
Три примера:

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

2. Работает какое-то трейдинговое ПО, вроде обсуждаемого здесь
Автор: Cyberax
Дата: 26.10.08
. Это ПО подключено к конкретным серверам по защищенным соединениям и работает в условиях жесткого реального времени. Теоритически можно представить себе ситуацию, когда злоумышленники подставят свой сервер вместо реального и начнут гнать в трейдинговые приложения какой-то мусор.

3. Работает ПО класса АСУТП на каком-то технологическом процессе. Часть компьютеров выполняют управление оборудованием, часть являются управляющими работчими станциями, за которыми сидят операторы. Компоненты системы АСУТП общаются между собой по некоторому протоколу. Опять же теоритически можно представить себе, что злоумышленник на какой-то рабочей станции подключит вредоносное ПО, которое будет отсылать мусор в компоненты управления оборудованием.

Считаете ли вы, что для всех этих классов приложений нужно использовать серьезную защиту от вредоносных данных?

KV>4. Эти телодвижения возможны в трех позах:


KV> а) следить за своим кодом самостоятельно и кодить аккуратно и без ошибок ( — все мы люди)

KV> б) использовать костыли типа DEP для intel, SAL для C++, контроля стека/кучи и т.п. (у SAL еще есть шанс, остальное как-то не прижилось и ломалось/обходилось)
KV> в) перейти на управляемую платформу и позволить ей заняться исправлением "особенностей архитектуры"

KV>В любых других случаях, ваш код не будет работающим.


Почему нет варианта об использовании языков с более прозрачной семантикой, чем у C/C++, но компилирующихся в нативный код? Да еще обеспечивающих тотальный контроль за Например, Modula-2, Eiffel, Ada, OCaml, Haskell?

Опять же, если обратиться к книге Безрукова, то там есть интересная цитата из тьюринговской лекции Кена Томпсона:

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


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

Если вспоминать историю вирусных эпидемий на ПК под управлением ранних версий Макинтошей и Досов, то вирусу нужно было сначала запуститься вручную -- через зараженную программу (или произвести загрузку системы с зараженного носителя). Только после этого вирус мог модифицировать код ОС в памяти (если он был резидентным) или другие файлы/загрузочные сектора. И даже в таких условиях, когда WWW еще не было и основным способом передачи программ были дискеты (по крайней мере в Союзе), вирусы все равно умудрялись устраивать эпидемии.

Насколько я могу судить, ситуация сильно лучше не стала -- для большой части вирусов до сих пор требуется, чтобы пользователь запустил на исполнение зараженный файл. А дальше вирус может заняться модификацией файлов на диске. И здесь могут не помочь даже электронные подписи, т.к. существуют примеры, когда даже сертификаты умудрялись подменять, сохраняя MD5 подписи. А чтобы исполняемые файлы нельзя было изменить, нужна строгая политика ОС. И если ОС ее не обеспечивает, то переход с C++ на .NET является всего лишь временным улучшением, но не лекарством.

KV>Из внимательного чтения данной темы следует, что существуют разработчики, которые не хотят делать свой код работающим, но при этом и не позволяют изолировать себя в управляемую среду, а следовательно наносят вред окружающим своим тлетворным влиянием и дырявыми продуктами


А я вот хочу задать дилетанский вопрос: почему вообще на x86 под управлением Windows возможны такие вещи, как иньекции бинарного кода? Вроде как давно используется защищенный режим процессора, и управление доступом к страницам памяти. Почему страницы с кодом не защищены от записи и переполнением буфера можно передать управление на иньектированный вредоносный код?


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[5]: Сказка о циничном ученом, простреленных ногах разрабо
От: CreatorCray  
Дата: 31.10.08 09:15
Оценка: 1 (1) +3
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Но ОК, одна уязвимость засчитана Но она была закрыта 10.07.2007 и теперь ее, увы — нет.

Но одного этого факта достаточно чтобы перестать считать, что managed среда не подвержена атакам, свойственным unmanaged среде.

Т.е. посыл из самого первого сообщения темы про "И оказалось, что находясь в такой матрице, разработчику уже не нужны костыли, т.к. там его ноги оказываются совершенно не простреленными!" — неверен.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: Сказка о циничном ученом, простреленных ногах разрабо
От: vayerx  
Дата: 31.10.08 09:35
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, vayerx, Вы писали:

V>>начнем с "банального" sql injection — никак не зависит от архитектуры фон-Неймана. реализация значительно проще code injection.
L>ну вообще-то sql injection — это тоже в своем роде code injection ;)

вы еще скажите, что она жестко завязанна на фон-Неймана ;)
Re[9]: Сказка о циничном ученом, простреленных ногах разрабо
От: vayerx  
Дата: 31.10.08 09:43
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Это-то так, но суть как раз в том, что разрабатывая под неуправляемую платформу, разработчикам приходится думать И об инъекциях бинарного кода, И о более "прикладных" атаках. Честно говоря, я это уже устал повторять.


аналогично устал повторять, что защита от атак через code injection — пренебрежимая фигня в сопопставлении с другими проблемами. в "общем" случае, разумеется.


V>>чтобы оставить на "сервере закладку" именно code injection не обязателен.

KV>Но если был code injection, то можно оставить на сервере закладку, в отличии от DoS атаки.

а что, кроме DoS'а — никак? ;)


KV>>>хз, к чему этот вопрос?

V>>вопрос к портируемости.
KV>Это не ко мне.

как это не к тебе? ты же ратуешь за эту серебрянную пулю.


KV>>>После этого, мы идем в "Коллеги улыбнитесь" и еще на десяток подобных ресурсов и постим там подготовленную нами строку.

V>>а зачем так сложно-то? рассылаем коллегам ссылочку "ой! какая классная программка: url" ;)
KV>От коллег потом можно и в дыню получить, если что ;)

зачем же отправлять своим непосредственным коллегам? ;) я, вообще, имел в виду коллег из "коллеги улыбнитесь"
Re[4]: security и safety - разные вещи!
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 31.10.08 09:44
Оценка:
Здравствуйте, gear nuke, Вы писали:

GN>В общем, дотнет — это хорошо. Действительно не позволяет выстрелить себе в ноги, но зачем это преподносить, как невозможность прострела ног кем-то еще? Подобные допущения в secutity могут оказаться серьёзной ошибкой.


Где я преподносил выделенное? Можно меня ткнуть в мое же сообщение, из которого следует такой вывод? На будущее, чтобы научился более понятно свои мысли высказывать.

KV>>Но что еще более важно:


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


GN>Ага, пример уже есть — подписывание драйверов и PatchGuard в Vista 64. Маркетологи лихо подменили "обход DRM" на "malware".


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

KV>>Наивно полагать, что в общем случае, разработчик приложения сможет организовать меры по обеспечению ИБ ХОТЯ БЫ на таком же уровне, на котором это делает данная конкретная "серьезная компания". Тем более, что ему и так есть чем заняться, помимо обеспечения безопасности своего продукта.


GN>Значит пусть занимается своим делом — разработкой, а не security.


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

GN>Никого же не удивляет, что usability занимаются специально подготовленные люди? Вот и безопасностью (где, кстати, самое слабое звено всегда было и будет — человеческий фактор, а не дыры в софте) пусть занимаются специалисты.


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

GN>Ты, похоже, уже начал,


Это не моя специфика вообще-то. Это я так. Для общего развития упражняюсь

GN>но этот крик души больше похож на premature optimization и наезд на Морфеусов,


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

GN>чем взвешенный анализ векторов атак на конкретный софт.


Это действительно интересно многим здесь? Мне не трудно написать на эту тему пару статей, но мне показалось, что это тут нафиг никому "не упало".

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[15]: Сказка о циничном ученом, простреленных ногах разраб
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 31.10.08 09:44
Оценка:
Здравствуйте, IID, Вы писали:

KV>>А что еще? Мы ведь сейчас не о потенциальных потерях говорим, а о фактических?


IID>Почему же только о фактических ? С твоих же слов: Успешных атак, повлекших за собой ущерб. Потенциальный ущерб — тоже ущерб.


Ок, "повлекших за собой нанесение ущерба". Так лучше?

IID>>>Скажем, если у вас сперли кусок абоненской базы — потеря ли это ?


KV>>Ну вот тебе сомнительной, а многие абоненты ее активно используют

IID>Ага, согласен. Особенно насчёт активно. Наверное, в большинстве своём даже не подозревая о ней (возможности локального соединения). Как транспорт для червей а-ля бластер-сассер использовали.

Да нет, я имел ввиду как раз-таки осознанное использование.

IID>>>Интересно, почему не разделили абонентов между собой, а-ля VLans ?

KV>>А зачем?

IID>Чтобы черви не ползали. В 2006ом году трафика червей было просто нереально много. Кстати, у меня есть версия, почему не стоит ограничивать внутренний трафик. Если он платный, конечно.


У нас и в сотовой и в фиксе — не платный, AFAIK Но в сотовой действительно есть планы прикрыть его нафиг.

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.