Во-первых, не всё начинается с файла. Тот же ваннакрай пробирался через дырки в системе, а значит, с точки зрения предложенных продуктов, находился в доверенных.
Во-вторых, действительно, проактивная защита появилась стопицот лет назад.
В-третьих, как только антивирус сообщает, как он будет ловить вирусы, вирмейкеры начинают это обходить. Одна из сил антивируса — обновление, причём не только сигнатурных баз. А в тексте статьи я не увидел ничего про обновление софта.
В-четвёртых, антивирус — это привелигированный процесс часто с драйверами ядра. Вы уверены, что предложенные продукты не содержат уязвимостей и/или не являются вредоносными сами по себе?
Ну и в-пятых. Многабукав про программы. Сравнительная таблица была бы более полезной, но это имхо. Как, впрочем, и весь коммент.
Говоря о моём видении индустрии защиты, от известных вирусов защищают обновляющиеся антивири; от новых файловых — гигиена; от новых, распространяющихся через уязвимости, ничего. Разве что обновление всего и вся.
Если кто-то, как и я, заинтересовался, воспользовался ли кто-то ещё этим методом, то на 210 страницах (это всё) пока что два имени со скриптом, Евгений Колчин и Савелий Баженов.
> Вас на вмк взяли с 78 баллами только потому, что никто с бОльшими баллами не пришел
Это утверждение неверно. Меня взяли не по ЕГЭ (олимпиада + медаль).
> вмк, это не мехмат. там — почему бы и не 78
Спасибо, повеселили.
> что делать?
Не использовать ЕГЭ как мерило всему. Количество баллов на ЕГЭ описыват способности весьма посредственно. Вот Вы меня оценили по моим 78 баллам как неспособного для мехмата, и были неправы (я мог пройти на мехмат, не сдавая никаких экзаменов, но выбрал ВМК).
Указатель на строку argv[2] является небезопасным источником данных, так как это аргумент командной строки. При формировании строки в буфере temp может произойти выход за границу массива.
Что argv[2] может быть любым, понятно. Но там же snprintf с правильным размером буфера. Как можно выйти за границу temp?
https://geektimes.ru/post/290761/#comment_10172845 Тот, кто принёс лазерный гравёр на выставку, отвечает за безопасность для окружающих. Если эта крышка — картонный кожух, который может сдуть ветром \ можно открыть незаметно, всё плохо. If anything can go wrong, it will. Особенно когда в системе есть Class 3+ лазер.
Автор вряд ли полезет открывать крышку, когда там что-то гравируется. Если, конечно, понимает опасность лазера в достаточной степени. Особенно оптического диапазона, особенно синего.
Кому именно прилетит в глаз неудачное отражение от плавящегося пластика — неизвестно.
NOHD синего лазера на 2Вт — сотни метров. Зацепить может много кого.
> Ее оптимизационная версия является NP-трудной, поэтому оптимальное решение можно получить либо полным перебором, либо оптимизированным полным перебором — методом ветвей и границ.
1. ScenarioAsync2 00:00:00.0670000 в SSD для Минимальный размер файла (байты): 1001 почему не жирное?
2. Сравнение миллисекунд — неблагодарное дело. Было бы здорово, если бы тесты работали хотя бы секунду, а то и десяток.
3. OOM не должно быть ни при каком раскладе. Вы складируете всё прочитанное в память? Тогда на время повлияет уборка мусора. Может быть, стоит складировать всё время в один и тот же byte[], если не ReadAllText?
4. Для больших файлов, разбросанных по диску (видео, например), последовательное чтение должно быть существенно быстрее на HDD, в предположении о дефрагментированном харде.
5. Использование существующих файлов на харде — плохая идея, имхо. Доступы к ним со стороны системы непредсказуемы. Лучше создать некоторую тестовую папку с таким набором файлов, который Вам интересен. Минус в том, что они все создаются примерно одновременно и вряд ли оказываются размазанными. Но, с другой стороны, в реальных условиях программа тоже устанавливается за ограниченное время.
А вот две долины, в которых спины электронов могут принимать разное значение, представляют собой двухбитовую конструкцию, кодирующую уже четыре значения. Волитроника обещает увеличение быстродействия, высокую помехоустойчивость и меньшую потребляемую мощность.
Так что же такое волитроника?
Ну и да, я увидел, что люди сделали способ разделения уровней, но не понял, как это поможет. Правильно ли я думаю, что расположение электронов с разными спинами в качестве самостоятельной информации позволит закодировать в два раза больше бит? Это удвоит память одной ячейки? Как это влияет на число транзисторов?
И последнее: было бы здорово дать ссылки на материалы по волитронике, а не на свои публикации, которые и так доступны в Вашем блоге. ИМХО, конечно.
А вот это очень интересно. Вы отправили письмо, используя описанную технологию или просто рандомный SMTP сервер, который не убеждается, что такой from: допустим?
Если используя рандомный сервер, то это не то же самое (нет подписи).
Если используя рамблер, тогда предупреждение gmail'а неадекватно — отправил rambler, но не admin@rambler.ru.
С помощью этого дела можно забанить рандомного пользователя, хотя он ни в чём не виноват? Да. Значит, уязвимость.
С помощью этого дела можно отправить письмо забаненным пользователем? Да. Значит, уязвимость.
теория однозначно утверждает, что взяв 12 правильных 5-угольников и 1 правильный 6-угольник с равной длиной ребра, вы склеите гомеоморф сферы
Вы заставляете меня цитировать :)
А правильный пятиугольник и шестиугольник, насколько я помню школьную программу, рисуются без знания об i :) Вот только как сделать их с совпадающей длиной стороны я не знаю.
Выполнение условий теоремы Эйлера ведь не является достаточным условием существования многогранника? Существование чисел В, Г, Р из условия не гарантирует существования многогранника с таким числом вершин, граней, ребёр (В = 3, Г = 2, Р = 2).
То есть, теория утверждает, что с числом пятиугольников, не равным 12, Вы гомеоморф сферы из пятиугольников и шестиугольников не сделаете. Обратное, вообще говоря, не утверждается — нужно пробовать. Или есть какая-то ещё теория, которой Вы пользуетесь?
P.S. зачем Вам корни из комплексных чисел?
Раздавать каждому свой алгоритм — это security through obscurity. То есть, надо упирать на неотличимость сообщений от шума. Поток картинок в одно и то же место в любом случае отличим от шума. Не так много народу постоянно спамит картинками.
Да, и ещё — если бы я был всесильным MITMом и знал хоть что-то про картиночную стеганографию, я бы во все картинки добавлял свой шум.
ИМХО, реальный способ маскировать трафик — это делать его очень похожим на трафик живого человека или какой-нибудь автоматики. Например, шуметь в IP-камерном видео. Куча камер же наружу трафик выдаёт. Или, скажем, под вирусню косить. Или ещё что-то, главное, чтобы не было нетрадиционного трафика, даже если он со всех сторон законный.
Правильно ли я понимаю, что хочется сделать так, чтобы всякие MITMы не поняли, что идёт обмен сообщениями? Тогда как только они находят Ваш алгоритм, они запускают его на всех подряд картинках и смотрят, получается ли из них HTML. Тем более, что такой поток картинок сам по себе слегка подозрителен.
Кажется, это заработает только если данные, которые стеганографией включаются в картинку, шифровать и делать неотличимыми от шума. Иначе, если будут отличия, методами ТРКА алгоритм шифрования и ключ получат.
Ну и да, ещё можно закосить под существующий протокол с шифрованием. Кажется, что простой ssh на удалённый хост будет менее подозрителен. С проверкой серверного и клиентского сертификатов, конечно.
Какой же это страшный кошмар. Это, кажется, не выстрел себе в ногу, а добровольный прыжок в сверхновую.
Расскажите пожалуйста, есть ли хотя бы один пример in the wild самоспасения в финализаторе? Откуда может возникнуть необходимость не дать себя удалить только когда тебя уже собрались удалять?
> Больше всего информации о том, как прервать какую-нибудь блокирующую функцию есть у автора этой функции.
Ну, тогда нужно сделать класс cancelable_function<...>, который будет знать, что выполнять, и как это остановить. Тогда мой cancel_aware_thread будет принимать её в конструктор и запоминать, как её остановить.
В Вашем коде, кажется, токен отмены пытается решить все проблемы — отмена ожиданий (системных и плюсовых), выставление флага. Тут тоже надо знать, что безопасно для той или иной функции в том или ином контексте. В частности, если функция, которая запускается в потоке, не известна программисту, нужно будет от автора получить или cancellation_handler, который потом использовать при создании токена, или просто мою cancelable_function. Кажется, второе нативнее. Код будет каким-то таким:
cancel_aware_thread(get_cancelable_function());
И это решит сразу все проблемы — и исключения в конструкторах, и перед деструктором.
Архитектурно, токен (вернее, хендлер) — это разрыв логики работы функции и её прерывания, на мой взгляд.
Google Drive
Надеюсь, он не уйдёт в небытие.
Заодно — скетч
Во-первых, не всё начинается с файла. Тот же ваннакрай пробирался через дырки в системе, а значит, с точки зрения предложенных продуктов, находился в доверенных.
Во-вторых, действительно, проактивная защита появилась стопицот лет назад.
В-третьих, как только
антивирус
сообщает, как он будет ловить вирусы, вирмейкеры начинают это обходить. Одна из сил антивируса — обновление, причём не только сигнатурных баз. А в тексте статьи я не увидел ничего про обновление софта.В-четвёртых, антивирус — это привелигированный процесс часто с драйверами ядра. Вы уверены, что предложенные продукты не содержат уязвимостей и/или не являются вредоносными сами по себе?
Ну и в-пятых. Многабукав про программы. Сравнительная таблица была бы более полезной, но это имхо. Как, впрочем, и весь коммент.
Говоря о моём видении индустрии защиты, от известных вирусов защищают обновляющиеся антивири; от новых файловых — гигиена; от новых, распространяющихся через уязвимости, ничего. Разве что обновление всего и вся.
Это утверждение неверно. Меня взяли не по ЕГЭ (олимпиада + медаль).
> вмк, это не мехмат. там — почему бы и не 78
Спасибо, повеселили.
> что делать?
Не использовать ЕГЭ как мерило всему. Количество баллов на ЕГЭ описыват способности весьма посредственно. Вот Вы меня оценили по моим 78 баллам как неспособного для мехмата, и были неправы (я мог пройти на мехмат, не сдавая никаких экзаменов, но выбрал ВМК).
78 баллов на ЕГЭ по математике. Меня не должны были брать?
Фаллометрия — это плохо, особенно по такому шумному показателю, как ЕГЭ. А уж написанное Вами — не просто фаллометрия, а бахвальство.
//Прошу прощения за нескромную первую строку сообщения. Но иначе бы не получилось обоснования.
Поясните, пожалуйста, одну:
Что argv[2] может быть любым, понятно. Но там же snprintf с правильным размером буфера. Как можно выйти за границу temp?
Тот, кто принёс лазерный гравёр на выставку, отвечает за безопасность для окружающих. Если эта крышка — картонный кожух, который может сдуть ветром \ можно открыть незаметно, всё плохо. If anything can go wrong, it will. Особенно когда в системе есть Class 3+ лазер.
Пусть P != NP.
2. Сравнение миллисекунд — неблагодарное дело. Было бы здорово, если бы тесты работали хотя бы секунду, а то и десяток.
3. OOM не должно быть ни при каком раскладе. Вы складируете всё прочитанное в память? Тогда на время повлияет уборка мусора. Может быть, стоит складировать всё время в один и тот же byte[], если не ReadAllText?
4. Для больших файлов, разбросанных по диску (видео, например), последовательное чтение должно быть существенно быстрее на HDD, в предположении о дефрагментированном харде.
5. Использование существующих файлов на харде — плохая идея, имхо. Доступы к ним со стороны системы непредсказуемы. Лучше создать некоторую тестовую папку с таким набором файлов, который Вам интересен. Минус в том, что они все создаются примерно одновременно и вряд ли оказываются размазанными. Но, с другой стороны, в реальных условиях программа тоже устанавливается за ограниченное время.
Ну и да, я увидел, что люди сделали способ разделения уровней, но не понял, как это поможет. Правильно ли я думаю, что расположение электронов с разными спинами в качестве самостоятельной информации позволит закодировать в два раза больше бит? Это удвоит память одной ячейки? Как это влияет на число транзисторов?
И последнее: было бы здорово дать ссылки на материалы по волитронике, а не на свои публикации, которые и так доступны в Вашем блоге. ИМХО, конечно.
Если используя рандомный сервер, то это не то же самое (нет подписи).
Если используя рамблер, тогда предупреждение gmail'а неадекватно — отправил rambler, но не admin@rambler.ru.
С помощью этого дела можно отправить письмо забаненным пользователем? Да. Значит, уязвимость.
Вы заставляете меня цитировать :)
А правильный пятиугольник и шестиугольник, насколько я помню школьную программу, рисуются без знания об i :) Вот только как сделать их с совпадающей длиной стороны я не знаю.
То есть, теория утверждает, что с числом пятиугольников, не равным 12, Вы гомеоморф сферы из пятиугольников и шестиугольников не сделаете. Обратное, вообще говоря, не утверждается — нужно пробовать. Или есть какая-то ещё теория, которой Вы пользуетесь?
P.S. зачем Вам корни из комплексных чисел?
Да, и ещё — если бы я был всесильным MITMом и знал хоть что-то про картиночную стеганографию, я бы во все картинки добавлял свой шум.
ИМХО, реальный способ маскировать трафик — это делать его очень похожим на трафик живого человека или какой-нибудь автоматики. Например, шуметь в IP-камерном видео. Куча камер же наружу трафик выдаёт. Или, скажем, под вирусню косить. Или ещё что-то, главное, чтобы не было нетрадиционного трафика, даже если он со всех сторон законный.
Кажется, это заработает только если данные, которые стеганографией включаются в картинку, шифровать и делать неотличимыми от шума. Иначе, если будут отличия, методами ТРКА алгоритм шифрования и ключ получат.
Ну и да, ещё можно закосить под существующий протокол с шифрованием. Кажется, что простой ssh на удалённый хост будет менее подозрителен. С проверкой серверного и клиентского сертификатов, конечно.
Расскажите пожалуйста, есть ли хотя бы один пример in the wild самоспасения в финализаторе? Откуда может возникнуть необходимость не дать себя удалить только когда тебя уже собрались удалять?
Ну, тогда нужно сделать класс cancelable_function<...>, который будет знать, что выполнять, и как это остановить. Тогда мой cancel_aware_thread будет принимать её в конструктор и запоминать, как её остановить.
В Вашем коде, кажется, токен отмены пытается решить все проблемы — отмена ожиданий (системных и плюсовых), выставление флага. Тут тоже надо знать, что безопасно для той или иной функции в том или ином контексте. В частности, если функция, которая запускается в потоке, не известна программисту, нужно будет от автора получить или cancellation_handler, который потом использовать при создании токена, или просто мою cancelable_function. Кажется, второе нативнее. Код будет каким-то таким:
И это решит сразу все проблемы — и исключения в конструкторах, и перед деструктором.
Архитектурно, токен (вернее, хендлер) — это разрыв логики работы функции и её прерывания, на мой взгляд.