Читаем Взломать всё. Как сильные мира сего используют уязвимости систем в своих интересах полностью

● В период с 1982 по 1984 г. к нескольким законопроектам об ассигнованиях, подлежащих обязательному прохождению, был внесен ряд дополнений, названных поправкой Боланда; поправка ограничивала помощь США подразделениям «Контрас» в Никарагуа.

● В 2016 г. в законопроект о расходах на сельское хозяйство и продовольствие была включена поправка, запрещающая Управлению по санитарному надзору за качеством пищевых продуктов регулировать «сигары большого размера и сигары премиум-класса».

● В 2021 г. законодатели внедрили три законопроекта об авторском праве на интеллектуальную собственность в совершенно не связанный с ними Закон о консолидированных ассигнованиях. Рассмотрение этих мер зачахло на фоне активных протестов со стороны сторонников технологического прогресса и технологических компаний, но они были приняты, оказавшись в одном пакете с гораздо более крупным, сложным и обязательным к прохождению законопроектом.

Этот вид хака использует очевидный факт, что президент не может наложить вето на отдельные статьи законопроекта: он либо накладывает вето на весь законопроект, либо принимает его как есть, со всеми поправками и райдерами. Хак также использует уязвимость на уровне комитетов конгресса. Законодательное собрание в полном составе не может голосовать по законопроекту, если он не был одобрен соответствующими комитетами. Это означает, что члены комитетов могут просто вписывать райдеры в законопроект – тайно или даже открыто.

Попытки ограничить эту практику в основном оканчивались ничем. В 1996 г. конгресс предоставил президенту Клинтону право вето на отдельные пункты законопроекта, но уже в 1998 г. оно было признано неконституционным. За тот год, что оно работало, президент накладывал точечное вето 82 раза, после чего группой производителей картофеля, которые возражали против наложения вето на выгодный им райдер, был подан иск.

В модульном компьютерном коде каждый его независимый сегмент выполняет одну функцию. Такая структура делает программы отказоустойчивыми, удобными в обслуживании и диагностируемыми. Законодательство, которое по аналогии имеет дело с меньшим количеством дискретных вопросов, будет и менее подвержено описанному выше хаку. Эта логика стоит за концепцией узконаправленных законов и конституционных положений{160}, которые требуют, чтобы законы касались только одной темы. Законопроект, получивший в 2021 г. рабочее название «Одна тема за раз», регулярно предлагался в конгрессе, но так и не был принят.

На уровне штатов усилия по противодействию райдерам оказались более эффективными. На сегодняшний день конституции 43 штатов требуют, чтобы каждый новый законодательный акт был ограничен одной темой. Конституция Миннесоты гласит{161}: «Законы должны охватывать только одну тему. Ни один закон не должен охватывать более одной темы, которая должна быть отображена в его названии». Однако даже эти ограничения могут легко взламываться. Как пишет профессор права Колумбийского университета Ричард Брифо, ответ на вопрос о том, «ограничен закон одной темой или нет, часто находится в глазах смотрящего». С одной стороны, как пояснил Верховный суд штата Мичиган, «нет практически ни одного закона, который нельзя было бы разделить и принять в виде нескольких законопроектов». С другой стороны, как сказано в одном из старых дел Верховного суда Пенсильвании{162}, «не существует двух настолько далеких друг от друга тем, что их нельзя было бы привести к общему знаменателю, отодвинув точку зрения достаточно далеко».

Еще один метод безопасности в этом вопросе – устойчивость системы. Законодательство, которое должно быть принято, особенно уязвимо для райдеров из-за крайне негативных последствий, связанных с непрохождением родительского закона. Однако некоторые из этих последствий, такие как остановка работы правительства из-за блокирования законопроекта об ассигнованиях, являются абсолютно искусственными и могут быть смягчены с помощью разумной политики. К примеру, несколько организаций предложили конгрессу{163} повысить устойчивость правительственных операций путем создания процесса автоматического принятия резолюций. В соответствии с ним, государственное финансирование будет продолжаться на сопоставимом уровне, если конгресс не сможет принять регулярный законопроект об ассигнованиях. Смягчая последствия отсрочки принятия законов, обязательных к прохождению, эта реформа облегчит противникам райдеров голосование против проекта бюджета до тех пор, пока райдеры не будут удалены из него.

<p>37</p><p>Делегирование и отсрочка принятия законов</p>
Перейти на страницу:

Похожие книги

Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT
Фундаментальные алгоритмы и структуры данных в Delphi
Фундаментальные алгоритмы и структуры данных в Delphi

Книга "Фундаментальные алгоритмы и структуры данных в Delphi" представляет СЃРѕР±РѕР№ уникальное учебное и справочное РїРѕСЃРѕР±ие по наиболее распространенным алгоритмам манипулирования данными, которые зарекомендовали себя как надежные и проверенные многими поколениями программистов. По данным журнала "Delphi Informant" за 2002 год, эта книга была признана сообществом разработчиков прикладных приложений на Delphi как «самая лучшая книга по практическому применению всех версий DelphiВ».Р' книге РїРѕРґСЂРѕР±но рассматриваются базовые понятия алгоритмов и основополагающие структуры данных, алгоритмы сортировки, поиска, хеширования, синтаксического разбора, сжатия данных, а также многие другие темы, тесно связанные с прикладным программированием. Р

Джулиан М. Бакнелл

Программирование, программы, базы данных