Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1 2 След.
RSS
уязвимости умрут?
 
Программлю на с# ,и вижу что система сама распределяет где находятся данные, защищает границы массивов и тд..
Если так будет дальше, то эксплойты дающие контроль, будут невозможны (я про heap/stack overflow)?
Хочу послушать мысли на эту тему =) Можно еще жаву затронуть, если не в лом =))
 
Не все пишется на С, да и бывают такие участки кода(заведомо не содержащие overflow`ов), что можно подступится другими способами, напривер повышение привелегий атакой Symlink, тем более нельзя думать однобоко, пусть даже потеряют смысл сплойты дающие root`а на уд/машине, всегда можно придумать, что-либо другое...
 
конечно не все пишется на С.
но если на уровне runtime идет контроль ошибок и тд (а к этому идут проги для виндов, и vm жавы), то надо будет искать совершенно другой принцип атаки,и еще не известно будет ли возможна такая ситуация (только не надо кричать что баги были,есть и будут есть).
Тоесть мой вопрос сводится к следующему - будут ли атаки переполнения для вин платформ (а потом и юникс), в будущем, лишь огласки былых дел?
 


Уйдут в небытие передача параметров через стек?
Или С# не будет формировать Seh фрейм на стэке?
Как будет обрабатываться Exception?
Получается что C# написан на чистом ассемблере?
значит будем расплачиваться потерей быстродействия?

Был раньше Fig-83 forth.. не летал но и не ползал, но русские программеры посмотрели и сказали чего это программер может уйти по стеку данных куда хочет... давайте контролировать "рамки дозволенности" Так родилась одна из версий Astra-forth которая ползала как черепаха и которой никто не пользовался!
Кароче куча вопросов!
 
Нифига не понял из того что ты написал =))
вопросы это гут, а ответы еще гутней. Но покачто я ставлю перед фактом
пробовал переполнить стэк в c# ?
выкинуло исключение
усё =)
 
Все это хорошо, пока не нашли дыр в виртуальной машине, которая написана на C++ :-)
Вспомни Java - все чудесно, памятью рулит сама, переполнений _быть не может_. Но сколько было проблем связаных с ошибками в VM.
 
Да виртуальная машина это тема которую надо изучать.
Кстати по поводу дыр мне кажеться хоть и много кодеров которые допускают ошибки но всё же старые дыры изживают себя появляються новые способы нахождения их все дыры не смогут закрыть и писать без дыр вообще по крайней мере в ближайшие лет 5.
 
Сама распределяет где находятся данные? НЕ ЕСТЬ ХОРОШО ДЛЯ ПРОГРАММЕРА!

контроль за выхождения за рамки массива? НЕ ЕСТЬ ХОРОШО ДЛЯ СКОРОСТИ ЛИБО ДЛЯ РАЗМЕРА! Получается к каждому массиву мы должны поставить в соответствие дескриптор либо вставлять на ассемблере (проверочную лабуду)

Все таки я предполагаю (т.к С# у меня нет) что переписаны только часть функций например mem*** и str***

а когда ты будешь делать
for(i=0;*(srs+i)!=0;i++,*(dst+i)=*(srs+i))

 то переполнение все таки произойдет, если же не произойдет , то напиши одну и ту же програмку на С++ и C#

int main()
{
int array[1000];
long st=GetTickCount();
// tuppo ciklim))
for(k=0;k<1000;k++)
for(i=0;i<1000;i++)
 for(j=0;j<1000;j++)
   array[I]=array[j];

printf("Total miliseconds-%d",GetTickCount()-st);
return 0;
}

и сравни время! Буду очень признателен так как не верю в чудеса!
 
Цитата
Гость пишет:

int main()
{
int array[1000];
long st=GetTickCount();
// tuppo ciklim))
for(k=0;k<1000;k++)
for(i=0;i<1000;i++)
 for(j=0;j<1000;j++)
   array[I]=array[j];

printf("Total miliseconds-%d",GetTickCount()-st);
return 0;
}

А это на каком языке написано?
 
на Cи)))

просто я хочу узнать.... чем пожертвовали в С# ради контроля
 
А каким компиляторам данная программа будет собрана?
 
Попробовать собрать обоими.... (специально не давал инклуды
и там конечно
array[_zdes_i]=array[j];
      ^-форум жует эту часть
но и это не главное.... главное-большое количесвто операций на массиве.... я считал что C# это "тормоз" в сравнении с MSVC... хочу что бы люди меня разубедили
 
ага. тормозит он точно по сравнению с спп и уж с асмом тем более, но дело в том, что для большинства прикладнух производительность определяется не этим, а например временем запроса к базе данных или там файловыми операциями.

А что касается безопасности:обявлять переменные st, k, i, j будет папа римский? В тривиальной программе 5 ошибок. Ну и далее по тексту...
 
offtopic))))

 
а может вы еще смысл программы поставите под сомнение....

вы чистописанием не увлекались?

то что с арифметикой у вас плохо это ежу понятно!
не 5 а 3, по вашему заказу
for(int k=0;k<1000;k++)
for(int i=0;i<1000;i++)
for(int j=0;j<1000;j++)
думаю теперь ваше Эго выше плинтуса?
 
Цитата
offtopic пишет:
ага. тормозит он точно по сравнению с спп и уж с асмом тем более, но дело в том, что для большинства прикладнух производительность определяется не этим, а например временем запроса к базе данных или там файловыми операциями.

...

Ах !!! Сразу видно человека не затронутого реализацией алгоритмов на длинных графах, не затронутого алгоритмами сортировки не затронутого мыслей о реализации шашек или ну худой конец тиктак Шарман))
 
Точно.
Я затронут реализацией безопасности корпоративных сетей. И _оптимизящие_ программеры пищущие софт работающий только из под админа и допускающией в 3х строчках 5ть переполнений буфера - одни из моих первейших друзей.
 
В моем примере нет 5-ть переполнений))))

... по поводу же отношений админа и программера! Не противоставляйте чтоб не выглядеть убого!

Ну вообщем то раз вы просто специалист а не программист вам этого и не нада!
 
Цитата
offtopic пишет:
Точно.
Я затронут реализацией безопасности корпоративных сетей. И _оптимизящие_ программеры пищущие софт работающий только из под админа и допускающией в 3х строчках 5ть переполнений буфера - одни из моих первейших друзей.
Кстати у меня большая сеть где я работаю так вот тут софт народ сам писал, я тут столько уязвимостей находил и не только переполнение буфера а также безпарольные записи и они писали базу данных так я смог влёгкую из безпарольной учётной записи смотреть таблицу с паролями всех пользователей в том числе admin. Так что просто очень мало программеров думают о безопастности когда создают своё творение.
 
Цитата
FuzzMachine пишет:
Программлю на с#, и вижу что система сама распределяет где находятся данные, защищает границы массивов и тд..
извините, а каким образом Вы "видите" как система защищает границы массивов? Мне интересен сам способ. Я в С шарп не разбираюсь.
 
согласен на 100% что программисты как делали ошибки так и будут делать! Это человеческий фактор! Так же согласен что и админы делают ошибки или опаздывают с патчами !  

Нет идеала не среди одних не среди других!
Страницы: 1 2 След.
Читают тему