Согласен с данным комментарием, что ноль очень важен. Но определение классов эквивалентов это отдельная тема, в принципе, автор данной статьи в заключение это и сказал.
А так для целочисленных значений, в диапазоне от 10 до 20, классами эквивалентности будут:
А для диапазона от -10 до 10, классами эквивалентности будут:
Для строковых типов данных все еще интереснее) Есть различные символы, включая и спецсимволы, есть кодировки (например, ASCII и UTF-8), также есть XSS инъекции и прочее. В данном случае начинает работать принцип "тестирование зависит от контекста", классы эквивалентности будет завесить от того, куда попадает текст, например, записан в базу данных или это имя файла (в ОС и файловых систем есть свои особенности).
В приведенных Вами примерах используется один сценарий - есть мощный источник цифрового сигнала и приемник этого сигнала.
С БПЛА ситуация немного иная, необходимо не только принимать сигнал, но и отправлять его, при этом есть ряд ограничений в части стоимости, массогабаритных показателей, условий эксплуатации, вычислительных возможностей и потребляемой мощности электронными компонентами.
Текст петиции хорошо так нагнетает и рисует все в черных тонах.
На протяжении всей петиции автор сетует на недостаточный цифровой контроль со стороны государства, а в конце раскрыл еще одну цель:
Только повсеместный запрет использования протокола TCP/IP позволит нашей стране сохранить контроль над умами своих граждан. Других способов не существует.
Видно автор петиции разочаровался в других способах воздействия на общество)
Все зависит от задач, если нужно один раз получить отчет выполнения тестов или запуск производится в полу-ручном режиме то вполне достаточно отчета от pytest. Если же строится CI, то конечно нужно использовать более сложные инструменты: для сборки проектов, разворачивания, запуска тестов (например jenkins), ну и соответственно систему для агрегации результатов тестов в качестве которой можно использовать allure.
Возможно, только я не разобрался как сделать chroot для локального пользователя (по ssh без проблем), буду признателен если подскажите как это лучше сделать.
один whitelist лист, к сожалению не поможет, можно использовать такую комбинацию:
cat /home/zuser/../../etc/passwd
Данную угрозу можно конечно снизить совместив blacklist и whitelist, но как Вы правильно заметили, всех возможностей учесть достаточно сложно.
Согласен, изначально идея была дать оболочку которая ничего не умеет и только после этого добавлять в нее инструменты и тут кроется камень преткновения безопасности — эти инструменты пользователь может использовать для выхода за пределы оболочки.
т.е. Для пользователя создана металлическая коробка и он в нее помещен, но для работы ему нужна болгарка, ты ему ее даешь, и вместо того что бы пилить детали внутри коробки, он начинает пилить саму коробку.
Да действительно он не обеспечивает 100% защиту. Статья немного изменила вектор: инструкция превратилась в анализ безопасности данного способа, что очень важно.
Задача передать готовую систему, что бы пользователь мог ее контролировать и выполнять минимальные действия. Дело в том, что уровень знания пользователя неизвестен и он может что-то сломать. Искать что он сломал трудоемко, быстро починить можно только откатив систему, что бы минимизировать данные риски решили урезать возможности пользователю.
1. Скорей всего, все можно обойти) По тем способам, которые я знаю мы немного защитились, а по остальным нужно смотреть
2. Примеры использование:
— дать доступ к системе людям со стороны, что бы не сломали и можно было контроллированно ограничить их действия
— передача настроенной системе пользователям, что бы могли ее использовать и не сломали (ограничить доступ к критическим файлам и директориям)
Данная задача возникает, если мы считаем что пользователь системы может ее сломать)
Спасибо за вопрос, он действителен важен.
На сколько я знаю основные атаки заключается в следующем:
— изменить переменную PATH
Для блокировки данной уязвимости мы добавляем alias в файл .bashrc:
alias set=':'
alias uset=':'
alias export=':'
alias typeset=':'
alias declare=':'
alias alias=':'
alias unalias=':'
— переход в полноценную оболочку через скрипт или через утилиты vi, vim, nano, awk и т.д
Так же можно защитится через alias в файле .bashrc:
alias bin=':'
alias sh=':'
alias ln=':'
— также, для дополнительной защиты все команды через которые можно получить доступ к файлу или выполнить скрипты необходимо делать через обертки (п.8, п.9)
Если есть еще варианты взлома, напишите пожалуйста.
Согласен с данным комментарием, что ноль очень важен. Но определение классов эквивалентов это отдельная тема, в принципе, автор данной статьи в заключение это и сказал.
А так для целочисленных значений, в диапазоне от 10 до 20, классами эквивалентности будут:
А для диапазона от -10 до 10, классами эквивалентности будут:
Для строковых типов данных все еще интереснее) Есть различные символы, включая и спецсимволы, есть кодировки (например, ASCII и UTF-8), также есть XSS инъекции и прочее. В данном случае начинает работать принцип "тестирование зависит от контекста", классы эквивалентности будет завесить от того, куда попадает текст, например, записан в базу данных или это имя файла (в ОС и файловых систем есть свои особенности).
Согласен с замечанием, текст статьи поправил. Болты, шестерни, подшипники и сельсины в большей части имеют типовую конструкцию.
Спасибо за комментарий, полностью с ним согласен.
Таблицу из статьи я удалил, поскольку не имеет смысла сравнивать аналоговый и цифровой сигнал в отрыве от прочих характеристик и технологий.
В приведенных Вами примерах используется один сценарий - есть мощный источник цифрового сигнала и приемник этого сигнала.
С БПЛА ситуация немного иная, необходимо не только принимать сигнал, но и отправлять его, при этом есть ряд ограничений в части стоимости, массогабаритных показателей, условий эксплуатации, вычислительных возможностей и потребляемой мощности электронными компонентами.
Текст петиции хорошо так нагнетает и рисует все в черных тонах.
На протяжении всей петиции автор сетует на недостаточный цифровой контроль со стороны государства, а в конце раскрыл еще одну цель:
Видно автор петиции разочаровался в других способах воздействия на общество)
cat /home/zuser/../../etc/passwd
Данную угрозу можно конечно снизить совместив blacklist и whitelist, но как Вы правильно заметили, всех возможностей учесть достаточно сложно.
т.е. Для пользователя создана металлическая коробка и он в нее помещен, но для работы ему нужна болгарка, ты ему ее даешь, и вместо того что бы пилить детали внутри коробки, он начинает пилить саму коробку.
Спасибо.
2. Примеры использование:
— дать доступ к системе людям со стороны, что бы не сломали и можно было контроллированно ограничить их действия
— передача настроенной системе пользователям, что бы могли ее использовать и не сломали (ограничить доступ к критическим файлам и директориям)
Данная задача возникает, если мы считаем что пользователь системы может ее сломать)
На сколько я знаю основные атаки заключается в следующем:
— изменить переменную PATH
Для блокировки данной уязвимости мы добавляем alias в файл .bashrc:
alias set=':'
alias uset=':'
alias export=':'
alias typeset=':'
alias declare=':'
alias alias=':'
alias unalias=':'
— переход в полноценную оболочку через скрипт или через утилиты vi, vim, nano, awk и т.д
Так же можно защитится через alias в файле .bashrc:
alias bin=':'
alias sh=':'
alias ln=':'
— также, для дополнительной защиты все команды через которые можно получить доступ к файлу или выполнить скрипты необходимо делать через обертки (п.8, п.9)
Если есть еще варианты взлома, напишите пожалуйста.