Бернштейн суров к студентам. Хотя я подумал - если бы у меня был шанс взять курс у Бернштейна, я бы пошёл, даже будучи уверенным, что провалюсь. Интересная личность, всё же. Хотя его coding style - кошмарен до невозможности.
Я бы не записывался на классы к подобному профессоры несмотря ни на какой звёздный статус. Его целью, очевидно, не является научить чему-либо, а самоутведиться.
Я не уверен, что это так. Судя по описанию курса, там учат многим интересным вещам. Хотя многие из них я уже знаю, а некоторые - мог бы узнать, например, из архивов phrack, если бы у меня было на это время - тема, безусловно, небезынтересная и Бернштейн, похоже, ей таки учит. То есть, возможно, его требования действительно слишком суровы. Хотя, по правде говоря, мне кажется, найти 10 дырок во всём множестве софта для юникса - софта, честно говоря, в большинстве своём крайне дрянного - что там говорить, если даже gdb - отладчик! - у меня регулярно падает раз десять на дню - так вот, найти в этой куче десяток иголок мне кажется не такой уж ужасно большой проблемой. Но, возможно, я переоцениваю свои силы. Сама идея мне нравится - заодно и security audit коду сделать можно :) - но возможно он действительно слишком суров. Но я был бы готов помириться с этой суровостью ради интереса к курсу.
Нахождение дырок, по моему, фундаментально зависит от удачи ищущего, таким образом делая задачу нахождения 10 дырок приниципиально неограниченной по времени сверху. Посему, на мой взгляд, заваливать студентов ( кстати, платящих дофига денег в этом университете) при невыполнении такого задания, является верхом несправедливости. Я бы из-за именно отношения к студентам, потенциального разочарования и траты денег без получения оценки на этот класс не пошёл. Особеннно в ситуации когда известно где этим вещам самому можно научиться.
Нахождение дырок, по моему, фундаментально зависит от удачи ищущего,
Если полагаться на удачу - то да. Если же сесть, потратить 2 часа на список наиболее часто используемых дырявых функций (из первых трёх примеров у Бернтейна, которые я посмотрел, все три дырки были в одной и той же функции, испольозанной одним и тем же неправильным образом), потом сгрузить сотню программ, запустить автоматический поиск и потратить часов 10 на просмотр результатов - я думаю, штучек 5 как минимум набрать можно. Я могу предложить ещё пару методов - например, натравить выход генератора случайных чисел на десяток-другой программ по обработке изображений, поставить их бежать пару дней в таком виде и посмотреть, сколько из них подохнет. При нынешнем уровне развития безопасности, думаю, сильно больше половины. Каждое такое падение - потенциальная дырка. Ну да, это несколько дней работы, а то и пару недель - ну так финальное задание по универитетскому курсу и не обязано быть прогулкой в парке.
Посему, на мой взгляд, заваливать студентов ( кстати, платящих дофига денег в этом университете) траты денег без получения оценки на этот класс не пошёл
Я уже прошёл тот возраст, когда я учился, чтобы получить бумажку. Теперь я предпочитаю учиться - чтобы получить интересные мне знания. И плачу за то же. То есть могу, конечно, и ради бумажки, если эта бумажка будет выгодна - но это не тут случай. Я бы пошёл, не чтобы купить оценку - а чтобы купить курс.
при невыполнении такого задания, является верхом несправедливости.
Я не очень понимаю, какой смысл вы вкладываете тут в понятие "справедливость". Если вы считаете, что справедливо человеку за его деньги давать оценку, то не стоит останавливаться на полпути - в США существует множество мест, где можно за вполне скромные деньги получить отличный, honest-to-God, диплом бакалавра, ни разу не оскорбив свой взор видом хоть одного профессора :) Если же вы считаете, что понятие Бернштейна о том, что значит успешное окончание курса "компьютерная безопасность", слишком строго - то давайте оставим в стороне деньги, и тогда я с вами уже практически согласен - я с этого, собственно, и начал :)
Ну что ж, если плотность дырок на килобайт кода в существующих программах достаточно велика, то может и деиствительно среднее плюс, скажем, стандартное отклонение времени их нахождения является разумным. Не буду спорить. Под справедливостью же я понимаю не быть заваленным за то, что домашнее задание было потенциально нерешаемым.
Не совсем так. Есть методики, есть стандартные пути security audit и поиска уязвимостей, которым и обучаются на курсе. Ну слишком явный пример - локальные массивы, хранящие любой ввод - очевидная 100%-ная дыра buffer overflow. Нахождение узких мест в состояниях внутренней security state machine программы, ошибки установки/планирования с непродуманными mode-ами и owner-ами, слабые алгоритмы шифрования важных credentials и т.д. и т.п. Так что удачи здесь мало, просто относительно длительная, но вполне выполнимая работа, согласен со Стасом. В юниксе много программ :). А еще не стоит забывать, что работа-то академическая, следовательно большинство exploits будут представлять только академический интерес.
Удача нужна в тот момент, когда Вы пытаетесь найти программу, содержщую ошибку в одном из стандартных мест. Но, опять же, как я сказал Стасу, если таких программ достаточно много, то может и время их поиска не чересчур велико.
Вообще для этого существуют стандартные методы, подробно описанные в Phrack много лет назад и с тех пор доступные в интернете из бесчисленного множества мест.
Я бы не сказал автоматический, но поддающийся автоматизации до некоторой степени. Не во всех потенциальных местах для дырок будут реальные, но 10 штук на достаточно большом корпусе программ - стажем, пару сотен - вполне можно накопать.
В принципе да, хотя хорошей может стать любая дырка - если представить, что кто-нибудь в NASA запускает такой хитрый mp3 или xls под нужной программой и вот вам аршинные заголовки газет "Хакеры проникли в святая святых НАСА!!!". Можно, конечно, потребовать найти новый класс дырок или новый вид эксплоита - типа как в 2000м нашли дыру, использующую передачу пользовательских данных как формата в printf - но это уже будет не сурово, а просто зверство :) А кроме этого действительно мало что интересного можно придумать - большинство дырок ведь и вправду тупы до банальности - где-то буфера не хватило, где-то возврат не проверили, где-то на единичку ошиблись...
Ну я скорей о том, что в софте, который обрабатывает какие-то загадочные форматы файлов и переводит в другие, просто по определению должны быть сотни багов. Круто -- это найти экспойтируемый баг в коде, в котором его ищут все (типа в OpenSSH или Apache) Во всяком случае насколько я знаю американскую систему образования, все, кто хоть что-то нашёл получат А, а остальные получат B :)
no subject
no subject
no subject
no subject
Если полагаться на удачу - то да. Если же сесть, потратить 2 часа на список наиболее часто используемых дырявых функций (из первых трёх примеров у Бернтейна, которые я посмотрел, все три дырки были в одной и той же функции, испольозанной одним и тем же неправильным образом), потом сгрузить сотню программ, запустить автоматический поиск и потратить часов 10 на просмотр результатов - я думаю, штучек 5 как минимум набрать можно. Я могу предложить ещё пару методов - например, натравить выход генератора случайных чисел на десяток-другой программ по обработке изображений, поставить их бежать пару дней в таком виде и посмотреть, сколько из них подохнет. При нынешнем уровне развития безопасности, думаю, сильно больше половины. Каждое такое падение - потенциальная дырка. Ну да, это несколько дней работы, а то и пару недель - ну так финальное задание по универитетскому курсу и не обязано быть прогулкой в парке.
Посему, на мой взгляд, заваливать студентов ( кстати, платящих дофига денег в этом университете)
траты денег без получения оценки на этот класс не пошёл
Я уже прошёл тот возраст, когда я учился, чтобы получить бумажку. Теперь я предпочитаю учиться - чтобы получить интересные мне знания. И плачу за то же. То есть могу, конечно, и ради бумажки, если эта бумажка будет выгодна - но это не тут случай. Я бы пошёл, не чтобы купить оценку - а чтобы купить курс.
при невыполнении такого задания, является верхом несправедливости.
Я не очень понимаю, какой смысл вы вкладываете тут в понятие "справедливость". Если вы считаете, что справедливо человеку за его деньги давать оценку, то не стоит останавливаться на полпути - в США существует множество мест, где можно за вполне скромные деньги получить отличный, honest-to-God, диплом бакалавра, ни разу не оскорбив свой взор видом хоть одного профессора :)
Если же вы считаете, что понятие Бернштейна о том, что значит успешное окончание курса "компьютерная безопасность", слишком строго - то давайте оставим в стороне деньги, и тогда я с вами уже практически согласен - я с этого, собственно, и начал :)
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
Во всяком случае насколько я знаю американскую систему образования, все, кто хоть что-то нашёл получат А, а остальные получат B :)
no subject