Применение плис. Плис — мои первые шаги. Базовый логический плис cyclone iv

Статья 273 УК РФ – это установленный государством закон, в котором предусматривается наказание за разработку и расширение вредоносных программ. Дестабилизация работы ЭВМ наносит ущерб государственным, промышленным структурам, учреждениям и обыкновенным пользователям. И хотя правоохранительные органы преследуют лиц, создающих вирусы, их не становится меньше. Очень жаль, что талант и способности людей направлены в преступное русло.

Создание, использование и распространение вредоносных компьютерных программ в частых случаях человеком проделывается из-за корысти или простого человеческого любопытства, которое разжигается вседозволенностью. И за это можно поплатиться преследованием правоохранительных органов.

Тем, кто работал над созданием вируса с целью его дальнейшего использования, предусмотрены наказания.

Как гласит часть 1 статьи 273 УК РФ, наказание за деяние предусмотрено в виде:

  1. Ограничения в свободе на срок около 4 лет.
  2. Обязательныхработ на такой же период.
  3. Заключения под стражу на 4 года с выплатой штрафной суммы в размере до 200 тыс. руб. с заработка или иных доходов осуждённого за период до полутора лет.

Если проводилась коллективная работа над созданием вредоносных кодов, затем было их распространение, чем причинялся крупный ущерб, то такой группе людей грозит кара согласно части 2 статьи 273 УК РФ.

Наказание за нарушение части 2 статьи:

  • ограничение в свободном передвижении на 4 года;
  • принудительные работы сроком на 60 месяцев с запретом занимать определённый пост на 3 года или запрет не применяется;
  • заключение под стражу на 5 лет и выплаташтрафной суммы от 100 до 200 тыс. руб. с зарплаты или иных доходов виновного с запретом занимать определённые посты на 3 года или с отменой запрета.

Когда действия по частям 1-2 статьи 273 УК РФ, влекут тяжёлые результаты или создают угрозу их наступления, то виновному грозит заключение под стражей на семь лет.

Компьютерной информацией называются сведения, сообщения, данные, которые представляются в виде электронных сигналов внезависимости от места хранения, обработки, передачи, о чём говорится в примечаниях статьи 272 УК РФ.

В комментируемой статье объектом правонарушения является компьютерное обеспечение или компьютерная информация, с которыми проводят неправомерные действия:

  1. Уничтожение.
  2. Блокировка.
  3. Модификация.
  4. Дублирование компьютерной информации.
  5. Нейтрализация защитных средств ЭВМ.

О данных действиях дано разъяснение статьёй 272 УК РФ и указано наказание.

Известные разновидности программ, носящие вирулентность:

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

Примером может служить:

  • антивирус;
  • программа, устраняющая незаконное дублирование сведений;
  • защита, встроенная в операционную систему.

Нейтрализацию защитных средств следует понимать как устранение данных средств либо уменьшение их воздействия.

Уровень опасности последствия устанавливается индивидуально к каждой ситуации. Тяжким может быть признано любое последствие, которое суд будет рассматривать с учётом индивидуальных особенностей дела.

273 статья Уголовного кодекса РФ содержит состав правонарушения, который характерен признаками:

  1. Субъект преступного действия согласно с частью 1 – это лицо, которое вменяемо, и достигло шестнадцатилетия. Во второй части – это уже субъект, использующий своё профессиональное положение.
  2. В объективную сторону правонарушения включены альтернативные деяния, которые состоят из создания вирусов, уже заранее предназначенных для незаконного устранения, препятствия, изменения, дублирования информации ЭВМ либо устранения её защитных средств. Программное создание – это работа направлена на разработку и подготовку вирусов, которые способны наносить разнообразный вред компьютерной информации. Их распространение подразумевает возможный доступ для посторонних к сведениям, которые считаются недоступными широкому обозрению. Программное использование – это активация вредоносной программы любым человеком. Разъяснение этому даётся как уничтожение, блокировка, дублирование информации. К уничтожению информации относится частичная или полная её непригодность в использовании и не имеет значения возможность восстановления. Если файл переименовывается, перемещается или происходит его автоматическое устранение, то это не считается уничтожением. Блокировка – это совершённые действия, которые привели к ограниченности либо закрыли доступ к компьютеру и ресурсам. Если был целенаправленно затруднён доступ пользователей к ЭВМ, то данное действие не связывают с уничтожением. Видоизменение информации – это когда вносятся изменения в информацию либо параметры компьютера. Законодательством установлена легальная программная модификация, людьми, имеющими к этому доступ. Снятие копий с информации и создание дубликата существующей на другом носителе, не изменяя её первоначальный вид. Может проводиться письменно, снятием фотокопии или считав информацию путём перехвата. В этом случае состав правонарушения по части 1 статьи 273 УК Российской Федерации считается формальностью. Привлечение лица к ответственности не произойдёт, последствия для него не наступят.
  3. Субъективную сторону характеризует вина с прямым умыслом. Виновным должно осознаваться, что созданная или используемая им вредоносная программа рано либо поздно приведут к определённым опасным последствиям. Мотивация и целенаправленность не повлияют на квалификацию правонарушения.

Частью 3 данной статьи предопределён квалифицирующий признак анализируемого преступления – это наступление тяжкого последствия либо сформирование угрозы его наступления.

Надо учитывать, что когда наступают эти опасные результаты, квалификация состава правонарушения является материальной, иначе говоря, действие окончилось в начале общественно опасного последствия.

В случае создания угрозы их наступления, уже его состав становится усечённым.

Опасность последствий определяется комплексностью картины:

  • причинение большогоматериального ущерба;
  • сбои в функционировании производств, учреждений;
  • вызывание аварийных, катастрофических ситуаций;
  • нанесение опасных, средних по тяжести ущерба здоровью действий, которые привели к смертельному исходу массу людей;
  • удаление, блокировка, видоизменение, дублирование информации, обладающей особой ценностью;
  • действительность созданной опасности.

Субъективную сторону данного квалифицированного состава правонарушения характеризуют два вида вины – умысел, относящийся к самому действию, и неосторожное отношение к наступлению последствия.

Когда правонарушитель действовал с умыслом по отношению к опасным последствиям или создавал угрозу их наступления, то берётся во внимание качественная и количественная оценка наступившим опасным последствиям.

Тогда его действие подлежит дополнительной квалификации по комплексности правонарушений, которые предусмотрены надлежащими статьями в Уголовном кодексе.

Статья 273 УК РФ устанавливает ответ за неправомерное действие с компьютерной программой, которую записывают на разные носители и бумагу. Ведь создание компьютерных программ часто начинается с написания текстов, которые впоследствии водятся в ЭВМ.Поэтому имеющиеся исходные тексты вредоносной компьютерной программы уже могут стать основанием, чтобы быть привлечённым к ответу по ст. 273 УК РФ.

Но если вредоносный компьютерный продукт использовался в личных нуждах, уничтожалась личная ЭВМ-информация, то это действие не подлежит наказанию.

Когда воздействие вирусной программы является условием, чтобы совершить иное преступление, это действие квалифицируется совокупностью злодеяний независящих от уровня опасности следующего правонарушения.

Рассматривая судебную практику по данной статье, отмечают в первую очередь её некомплектность и разнотипность. На данный момент Верховный суд не принял никаких законов или решений по вопросам применения статей об ЭВМ правонарушениях.

Выносящиеся вердикты разных судовых инстанций по одинаковым юридическим материалам часто разнятся при квалификации действий злоумышленника и в назначении величины кары.

Некоторые ситуации, происшедшие в жизни:

  1. Южно-сахалинская городская судовая инстанция первой на территории России вынесла обвинение по статьям о компьютерных правонарушениях. Молодым человеком К. учащимся в городском институте экономических прав и информатики, была написана программа, подбиравшая пароли к электронным адресам пользователей и дублировавшая сведения чужих электронных ящиков. Судовой инстанцией вынесен вердикт в виде условного ограничения свободы на 24 месяца и выплаты штрафной суммы в 200 минимальных зарплат.
  2. Следственным управлением ГУВД в Свердловске было возбуждено дело, имеющее признаки злодеяния, определённого по статье 273 УК РФ ч. 1., как распространение вирусных программ для ПК. Созданная электронная доска объявлений была обнаружена следствием, в ней находился набор вирусов, «крэков» для компьютеров. Наряду с доказательной базой по расширению вирусных программ, в обвинительном заключении были указаны лог-файлы, в которых содержались сведения о пользователях, посещавших доску объявления и имевших доступ к вирусным наборам.
  3. Районная судовая инстанция в Нижнем Тагиле рассматривала уголовный материал обвиняемого П. по нескольким статьям 159, 183, 272, 273 УК РФ. С сентября по декабрь 1998 года П. использовал своё профессиональное положение. Он проводил измененияв ведомостях, по которым начислялась зарплата на производстве так, что с сотрудников, получавших начисление больше 100 рублей, снимался один рубль. Поступления шли на определённый счёт, где затем снимались П. Программные видоизменения попали под квалификацию статьёй 273, данные о счетах граждан, внесённых в базу ПК производства по ст. 183, видоизменения сведенийпо ст. 272, финансовые перечисления по ст. 159 УК РФ. П. был приговорён к 5 годам условного ограничения свободы, емуналожили запрет на работу по специальности программист-операторна 24 месяца.
  4. Шадринским городским судомбыл осуждён С. к выплате штрафной суммы 3 тыс. руб. по статьям 272, 165 УК РФ (нанесение имущественного вреда путём обмана или злоупотребление доверием). С. совершенно правонарушение – получение входа к интернету бесплатно. Им использовались чужие имена и пароли, которые заполучил, прислав программу «троянец» на ЭВМ «жертвы». Судовой инстанцией дана квалификация правонарушению по ст. 272, незаконное вторжение в чужой компьютер, целенаправленное на воровство кода, а использование услуги входа в интернет по ст. 165 УК РФ. Данная ситуация имеет отличие в том, что С., давая показания, указывал на факт, что «троянца» он посылал на ЭВМ со специальной страницы,находящейся на сервере, адрес которой забыл. Но скорее предположителен тот факт, что так С. избежал обвинительного приговора ещё по одной статье, касающейся распространения вирусных программ.

В итоге можно констатировать, что данные статьи УК «функционируют», по ним регулярно привлекают компьютерных мошенников и хулиганов. Судя по информации правоохранительных органов фиксируется множество правонарушений по статьям 272, 273.

Однако бывают случаи, когда использование этих статей происходит не по назначению.

Примером служат следующие ситуации:

  • ноябрь 1998 г. УРОПД ГУВД Москвы возбудило юридическое дело, имелся факт содеянного противозаконного входа к охраняемому законодательством компьютерных сведений, находящихся в кассовых аппаратах бизнесмена из Павлова Посада, по ст. 272 УК РФ. В результате следственных действий выявлены изменения в кассовых приспособлениях, в них записывали искусственно заниженную выручку. Следствием кассовые аппараты причислялиськ одному из видов электронно-вычислительных машин. Нередки ситуации, когда вменяются статьи о правонарушениях с ПК в случаях, на первый взгляд, не относящихся к ЭВМ. Эти случаи связаны с мошенническими деяниями с использованием мобильных телефонов;
  • органы предварительного расследования в Ставрополе вменяли виновному ст. 272 УК РФ. Подсудимый использовал мобильный телефон, в котором был доработан сканер, с его помощью можно было звонить за чужой счёт.

И такие ситуации неединичные, когда-то следователем из Воронежа в 1998 году за производство таких «мобилок» на этапе предварительного следствия также вменялась виновному статья 272 УК РФ.

Консультации и комментарии юристов по ст. 273 УК РФ

Многие правонарушения, которые совершаются в интернете, каким-нибудь способом сопряжены с применением вредоносных программ, так что данные действия относят в основном к социально опасным правонарушениям.

Работа над созданием вирусов, а затем их применение всегда приводят к определённым уголовно-правовым последствиям.

(в ред. Федерального закона от 07.12.2011 N 420-ФЗ)

  1. Создание, распространение или использование компьютерных программ либо иной компьютерной информации, заведомо предназначенных для несанкционированного уничтожения, блокирования, модификации, копирования компьютерной информации или нейтрализации средств защиты компьютерной информации, —
    наказываются ограничением свободы на срок до четырех лет, либо принудительными работами на срок до четырех лет, либо лишением свободы на тот же срок со штрафом в размере до двухсот тысяч рублей или в размере заработной платы или иного дохода осужденного за период до восемнадцати месяцев.
  2. Деяния, предусмотренные частью первой настоящей статьи, совершенные группой лиц по предварительному сговору или организованной группой либо лицом с использованием своего служебного положения, а равно причинившие крупный ущерб или совершенные из корыстной заинтересованности, —
    наказываются ограничением свободы на срок до четырех лет, либо принудительными работами на срок до пяти лет с лишением права занимать определенные должности или заниматься определенной деятельностью на срок до трех лет или без такового, либо лишением свободы на срок до пяти лет со штрафом в размере от ста тысяч до двухсот тысяч рублей или в размере заработной платы или иного дохода осужденного за период от двух до трех лет или без такового и с лишением права занимать определенные должности или заниматься определенной деятельностью на срок до трех лет или без такового.
  3. Деяния, предусмотренные частями первой или второй настоящей статьи, если они повлекли тяжкие последствия или создали угрозу их наступления, —
    наказываются лишением свободы на срок до семи лет.

Комментарий к статье 273 УК РФ

1. Объектом комментируемого состава преступления является общественная безопасность и общественный порядок, а также совокупность общественных отношений по правомерному и безопасному использованию информации.
Объективную сторону составляет факт создания компьютерных программ либо иной компьютерной информации, заведомо предназначенных для несанкционированного уничтожения, блокирования, модификации, копирования компьютерной информации или нейтрализации средств защиты компьютерной информации. Наиболее распространенными видами вредоносных программ являются компьютерные вирусы, черви, программы-сканеры, эмуляторы электронных средств защиты, программы управления потоками компьютерной информации, программы-патчеры.
2. Способом совершения данного преступления может быть только действие, выраженное в виде создания вредоносных компьютерных программ, а равно использование либо распространение таких программ либо иной компьютерной информации.
Создание вредоносной программы либо иной компьютерной информации (например, программы-вируса) — это результат деятельности, выразившийся в представлении в объективной форме совокупности данных и команд, предназначенных для функционирования информационно-телекоммуникационных сетей, компьютерных устройств с целью уничтожения, блокирования, модификации, копирования информации, а также с целью нарушения работы информационно-телекоммуникационных сетей.
Использование компьютерных программ — это выпуск в свет, воспроизведение, иные действия по введению таких программ или баз в хозяйственный оборот (в том числе в модифицированной форме).
Распространение программ — это предоставление доступа к воспроизведенной в любой материальной форме компьютерной программе, в том числе сетевыми и иными способами, а также путем продажи, проката, сдачи внаем, предоставления взаймы для любой из этих целей. Одним из самых типичных способов распространения вредоносных программ является их размещение на различных сайтах и страничках информационно-телекоммуникационной сети Интернет.
3. Данный состав является формальным и не требует наступления каких-либо последствий, уголовная ответственность возникает уже в результате создания, использования или распространения программы, независимо от того, наступили ли в результате этого какие-либо общественно опасные последствия. По смыслу комментируемой статьи наличие исходных текстов вирусных программ уже является основанием для привлечения к ответственности. Однако следует учитывать, что в ряде случаев использование подобных программ не будет являться уголовно наказуемым. Это относится к деятельности организаций, осуществляющих разработку антивирусных программ и имеющих лицензию на эту деятельность. Ответственность наступает за любое действие, предусмотренное диспозицией, альтернативно. Например, кто-то может нести ответственность за создание вредоносной программы, другой — за ее использование, третий — за распространение вредоносных программ.
4. С субъективной стороны преступление, предусмотренное ч. 1 комментируемой статьи, характеризуется виной в форме прямого умысла, о чем свидетельствует указание законодателя на заведомый характер деятельности виновного. В этой статье определено, что создание, использование или распространение вредоносных программ заведомо для виновного предназначено для несанкционированного уничтожения, блокирования, модификации, копирования компьютерной информации или нейтрализации средств защиты компьютерной информации.
С субъективной стороны преступление, предусмотренное ч. 1 комментируемой статьи, характеризуется виной в форме прямого умысла, о чем свидетельствует указание законодателя на заведомый характер деятельности виновного.
5. Субъектом данного преступления может быть любое вменяемое лицо, достигшее 16 лет.
6. Часть 2 комментируемой статьи предусматривает повышенную уголовную ответственность за деяния, предусмотренные ч. 1 этой же статьи, совершенные группой лиц по предварительному сговору или организованной группой либо лицом с использованием своего служебного положения, а равно причинившие крупный ущерб или совершенные из корыстной заинтересованности. Содержание этих квалифицирующих признаков соответствует содержанию аналогичных признаков ранее рассмотренных составов преступлений (см. коммент. к ст. 272).
7. Часть 3 данной статьи в отличие от ранее действовавшей редакции (ч. 2 ст. 273, в ред. от 13.06.1996) в качестве квалифицирующего признака предусматривает повышенную уголовную ответственность за деяния, предусмотренные ее ч. ч. 1 или 2, если они повлекли тяжкие последствия или создали угрозу их наступления. Разработка вредоносных программ доступна только квалифицированным программистам, которые в силу своей профессиональной подготовки могут и должны предвидеть возможные последствия использования этих программ. Поэтому повышенная уголовная ответственность установлена при наличии не только умышленной, но и неосторожной формы вины по отношению к наступившим тяжким последствиям.
Степень тяжести последствий устанавливается применительно к конкретной ситуации. Тяжкими могут быть признаны любые последствия, которые суд с учетом конкретных обстоятельств дела может признать таковыми. В качестве таковых могут выступать, например, причинение особо крупного материального ущерба, гибель людей или причинение им тяжкого вреда, аварии и катастрофы и т.д.
8. Состав преступления, предусмотренного комментируемой статьей, имеет некоторые общие черты с составом преступления, предусмотренного ст. 272 УК. Сложность разграничения этих составов преступлений заключается в том, что и неправомерный доступ к компьютерной информации, и создание, использование и распространение вредоносных компьютерных программ ведут к несанкционированному уничтожению, блокированию, модификации либо копированию информации или нейтрализации средств защиты компьютерной информации. Между тем они имеют и много отличий. Предметом преступления, предусмотренного ст. 272 УК, является только та информация, которая охраняется законом. Напротив, предметом создания, использования и распространения вредоносных программ является любая информация, содержащаяся на машинном носителе или в информационно-телекоммуникационных сетях.
Состав преступления, предусмотренный ч. 1 комментируемой статьи, сконструирован как формальный. Для признания преступления оконченным не требуется реального наступления вредных последствий в виде уничтожения, блокирования, модификации либо копирования информации или нейтрализации средств защиты компьютерной информации, что характерно для состава, сконструированного в ст. 272 УК. Состав неправомерного доступа к компьютерной информации сконструирован как материальный.

Уголовный кодекс, N 63-ФЗ | ст. 273 УК РФ

Статья 273 УК РФ. Создание, использование и распространение вредоносных компьютерных программ (действующая редакция)

1. Создание, распространение или использование компьютерных программ либо иной компьютерной информации, заведомо предназначенных для несанкционированного уничтожения, блокирования, модификации, копирования компьютерной информации или нейтрализации средств защиты компьютерной информации, -

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

2. Деяния, предусмотренные частью первой настоящей статьи, совершенные группой лиц по предварительному сговору или организованной группой либо лицом с использованием своего служебного положения, а равно причинившие крупный ущерб или совершенные из корыстной заинтересованности, -

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

3. Деяния, предусмотренные частями первой или второй настоящей статьи, если они повлекли тяжкие последствия или создали угрозу их наступления, -

наказываются лишением свободы на срок до семи лет.

  • BB-код
  • Текст

URL документа [скопировать ]

Комментарий к ст. 273 УК РФ

Судебная практика по статье 273 УК РФ:

  • Решение Верховного суда: Определение N 127-АПУ16-9, Судебная коллегия по уголовным делам, апелляция

    Впоследствии 27 июля 2015 года из Генеральной прокуратуры Республики Узбекистан поступило требование, в котором имеется ссылка на постановление от 17.07.2015 года, согласно которому Темиров привлечен к уголовной ответственности по ч. 5 ст. 273 УК РФ, однако само постановление не направлено...

  • Решение Верховного суда: Определение N 5-АПУ17-98, Судебная коллегия по уголовным делам, апелляция

    Решение национального суда Республики Узбекистан от 17 марта 2017 года об избрании в отношении Исакова меры пресечения в виде заключения под стражу в связи с обвинением его в совершении преступлений, предусмотренных ч.1 ст. 223, п. «в» ч.З ст. 223, ч.5 ст. 273 , ч.2 ст. 246 УК Республики Узбекистан и другие. Сроки давности привлечения к уголовной ответственности Исакова по законодательству Российской Федерации и Республики Узбекистан не истекли За деяния, в совершении которых он обвиняется, Исаков на территории Российской Федерации к уголовной ответственности не привлекается. Как следует из предъявленного обвинения...

  • Решение Верховного суда: Определение N 6-О12-17, Судебная коллегия по уголовным делам, кассация

    Продлен на 5 месяцев, до 15 февраля 2013 года. 24 августа 2012 года Генеральной прокуратурой Российской Федерации принято решение о выдаче Кузовкова А.Е. правоохранительным органам Республики Узбекистан для привлечения к уголовной ответственности по ч. 2 ст. 273 УК РУ. Определением судебной коллегии по уголовным делам Рязанского областного суда от 19 октября 2012 года жалоба Кузовкова А.Е. на решение Генеральной прокуратуры Российской Федерации оставлена без удовлетворения. В кассационной жалобе Кузовков А.Е. просит определение отменить, при этом указывает, что в Российскую Федерацию он приехал на постоянное место жительства и в 2004 году подавал документы на приобретение вида на жительство...

+Еще...

Создание, использование и распространение вредоносных программ для ЭВМ (ст. 273 УК)

Статья предусматривает уголовную ответственность за создание программ для ЭВМ или их модификацию, заведомо приводящее к несанкционированному уничтожению, блокированию и модификации, либо копированию информации, нарушению работы информационных систем, а равно использование таких программ или машинных носителей с такими программами. Статья защищает права владельца компьютерной системы на неприкосновенность находящейся в ней информации.

Под созданием вредоносных программам, ст. 273 УК РФ понимаются программы специально разработанные для нарушения нормального функционирования компьютера. Под нормальным функционированием понимается выполнение операций, для которых эти программы предназначены. Наиболее распространенными видами вредоносных программ являются широко известные компьютерные вирусы и логические бомбы. Данный закон нужно читать так, как он написан. В самой статье речь не о вирусах, а о вредоносных программах - между ними усматривается большая разница. Вирус является лишь одной из таких программ.

В современном мире существует несколько тысяч программ-вирусов, и их количество ежегодно возрастает. По некоторым данным, в мире ежедневно создается от трех до восьми новых вирусных программ.

Вопрос в том, как определить, является ли программа вредоносной, очень сложный, особенно для неспециалиста. Вредоносных для ЭВМ программ существует очень много. Так, к вредоносному программному обеспечению относятся сетевые черви, классические файловые вирусы, троянские программы, хакерские утилиты и прочие программы, наносящие заведомый вред компьютеру, на котором они запускаются на выполнение.

«Сетевые черви»

проникновения на удаленные компьютеры;

запуска своей копии на удаленном компьютере;

дальнейшего распространения на другие компьютеры в сети.

«Классические компьютерные вирусы»

последующего запуска своего кода при каких-либо действиях пользователя;

дальнейшего внедрения в другие ресурсы компьютера.

«Троянские программы»

В данную категорию входят программы, осуществляющие различные несанкционированные пользователем действия: сбор информации и ее передачу злоумышленнику, ее разрушение или злонамеренную модификацию, нарушение работоспособности компьютера, использование ресурсов компьютера в неблаговидных целях.

«Хакерские утилиты и прочие вредоносные программы»

утилиты автоматизации создания вирусов, червей и троянских программ (конструкторы);

программные библиотеки, разработанные для создания вредоносного программного обеспечения;

хакерские утилиты скрытия кода зараженных файлов от антивирусной проверки (шифровальщики файлов);

«злые шутки», затрудняющие работу с компьютером;

программы, сообщающие пользователю заведомо ложную информацию о своих действиях в системе;

прочие программы, тем или иным способом намеренно наносящие прямой или косвенный ущерб данному или удалённым компьютерам.

В начале 1997 года зафиксированы первые случаи создания и распространения троянских программ, ворующих пароли доступа к системе AOL. В 1998 году, с распространением Интернет-услуг в Европе и России, аналогичные троянские программы появляются и для других Интернет-сервисов. До сих пор троянцы, ворующие пароли к dial-up, пароли к AOL, коды доступа к другим сервисам, составляют заметную часть ежедневных «поступлений» в лаборатории антивирусных компаний всего мира.

Троянские программы данного типа, как и вирусы, обычно создаются молодыми людьми, у которых нет средств для оплаты Интернет-услуг. Характерен тот факт, что по мере удешевления Интернет-сервисов уменьшается и удельное количество таких троянских программ.

«Мелкими воришками» также создаются троянские программы других типов: ворующие регистрационные данные и ключевые файлы различных программных продуктов (часто - сетевых игр), использующие ресурсы зараженных компьютеров в интересах своего «хозяина» и т. п.

Для привлечения к ответственности по 273 ст. необязательно наступление каких-либо отрицательных последствий для владельца информации, достаточен сам факт создания программ или внесение изменений в существующие программы, заведомо приводящих к негативным последствиям, перечисленным в статье. Под использованием программы понимается выпуск в свет, воспроизведение, распространение и иные действия по их введению в оборот. Использование может осуществляться путем записи в память ЭВМ, на материальный носитель, распространения по сетям, либо путем иной передачи другим лицам.

Уголовная ответственность по этой статье возникает уже в результате создания программы, независимо от того использовалась эта программа или нет. По смыслу ст. 273 наличие исходных текстов вредоносных программ уже является основанием для привлечения к ответственности. Следует учитывать, что в ряде случаев использование подобных программ не будет являться уголовно наказуемым. Это относится к деятельности организаций, осуществляющих разработку антивирусных программ и имеющих соответствующую лицензию.

Данная статья состоит из двух частей, отличающихся друг от друга признаком отношения преступника к совершаемым действиям. Преступление, предусмотренное частью 1 ст. 273, может быть совершено только умышленно, с сознанием того, что создание, использование или распространение вредоносных программ заведомо должно привести к нарушению неприкосновенности информации. Причем, цели и мотивы не влияют на квалификацию посягательства по данной статье, поэтому самые благородные побуждения (борьба за экологическую чистоту планеты) не исключают ответственности за само по себе преступное деяние. Максимально тяжелым наказанием для преступника в этом случае будет лишение свободы до трех лет.

Часть вторая ст. 273 в качестве дополнительного квалифицирующего признака предусматривает наступление тяжких последствий по неосторожности. При совершении преступления, предусмотренного ч. 2 рассматриваемой статьи, лицо сознает, что создает вредоносную программу, использует, либо распространяет такую программу или ее носители и либо предвидит возможность наступления тяжких последствий, но без достаточных к тому оснований самонадеянно рассчитывает на их предотвращение, либо не предвидит этих последствий, хотя при необходимой внимательности и предусмотрительности должно и могло их предусмотреть. Данная норма закономерна, поскольку разработка вредоносных программ доступна только квалифицированным программистам, которые в силу своей профессиональной подготовки должны предвидеть потенциально возможные последствия использования этих программ, которые могут быть весьма многообразными: смерть человека, вред здоровью, возникновение реальной опасности военной или иной катастрофы, нарушение функционирования транспортных систем. По этой части суд может назначить максимальное наказание в виде семи лет лишения свободы.

Недавно я все-таки сделал свой первый шаг к ПЛИС и призвал вас за собой . Мое фанатическое увлечение ПЛИС и идея о том, что ПЛИС является лучшей платформой для создания любых устройств приобрела религиозный характер. Моя секта ПЛИСоводов проповедует полный отказ от микроконтроллеров, а особо экстремистская ветвь проповедует отказ не только от софт процессоров , но и вообще от последовательных вычислений!

Как всегда, постижению истин помогло решение реальных задач. В сегодняшней проповеди я хотел бы рассказать об испытаниях, которые выпадают на долю молодого ПЛИСовода. Преодолевая испытания мы постигаем истину. Но остаются вопросы, на которые я не нашел ответов. Поэтому я бы очень хотел, чтобы братья-хабровчане - ПЛИСоводы с опытом, поучаствовали в обсуждении, протянули руку помощи своим младшим собратьям.

Эта статья для новичков. В ней я опишу типичные проблемы, вопросы, заблуждения, ошибки, которые могут появиться в самом начале обучения (потому что они появились у меня). Однако, контекст статьи ограничен тем, что разработка ведется на ПЛИС от Altera в среде Quartus на языке Verilog .

Трудно жить ничего не делая, но мы не боимся трудностей!

Одна из причин, по которой многие не начинают изучать Verilog вот прямо сейчас - это отсутствие реальной ПЛИС. Кто-то не может заказать, потому что дорого, а кто-то потому, что не знает, что именно взять (вопрос выбора рассмотрен в предыдущей статье). Кому-то ПЛИС пока еще едет по почте.

Но в своих разработках я пришел к тому, что наличие реальной ПЛИС мне требуется уже на финальном этапе разработки, когда нужно протестировать проект «в железе». Речь о том, что бóльшую часть времени я провожу в отладке своего кода с помощью симуляторов.

Поэтому мой совет: отсутствие ПЛИС - это не повод бездействовать. Пишите и отлаживайте модули для ПЛИС в симуляторах!

Симулятор для Verilog

Итак, чем же развлечь себя скучными длинными рабочими днями (если они таковыми являются)? Конечно же освоеним ПЛИС! Но как же затащить на работу целую среду разработки от Altera, если она весит 3 ежемесячных рабочих лимита интернета? Можно принести на флешке! Но если предметом изучения является Verilog, то можно ограничиться блокнотом, компилятором IcarusVerilog, а результат смотреть в GTK Wave.

Попробовать прямо сейчас

Для начала работы в среде Windows, достаточно скачать по ссылке http://bleyer.org/icarus/ файл установки iverilog-20130827_setup.exe (development snapshot)

Установка трудностей не вызывает. Теперь немного забежим вперед: создадим папку для проекта и в ней пару файлов с пока что не понятным содержимым:

Файл-модуль с кодом для тестирования модулей - bench.v

`timescale 1ns / 100 ps module testbench(); reg clk; initial begin $display("start"); $dumpfile("test.vcd"); $dumpvars(0,testbench); clk <= 0; repeat (100) begin #10; clk <= 1; #10; clk <= 0; end $display("finish"); end


В файле bench.v описан тестовый модуль testbench, в нем создан тестовый источник сигнала clk (меандр). Другие модули будут создаваться в отдельных файлах, либо логику можно протестировать сначала в этом модуле, а потом вынести в отдельный модуль. Потом в модуль testbench будут добавляться экземпляры этих модулей, где мы будем подавать на их входы тестовые сигналы и получать из них результаты. Из модулей мы можем строить иерархию, думаю это понятно всем.

BAT Файл, который скомпилирует и просимулирует главный модуль, добавив другие модули из текущей папки - makev.bat

iverilog -o test -I./ -y./ bench.v vvp test pause


После запуска этого файла мы увидим на экране текст, заданный в $display (это отладочный вывод), значение же сигналов и регистров схемы будут находиться в файле test.vcd. Кликаем по файлу и выбираем программу для просмотра - GTKWave (в моем случае D:\iverilog\gtkwave\bin\gtkwave.exe). Еще пару кликов и мы увидим наш clk.



Практически, каждый свой новый модуль я создаю в блокноте и отлаживаю IcarusVerilog. Следующим этапом после такой отладки идет проверка модулей в Quartus. Хотя в Quartus тоже есть свой симулятор, но я его использую реже. Причина в простоте обновления кода и просмотра результата в IcarusVerilog: сохранил изменения в файле, запустил BAT, нажал кнопку «обновить» в GTKWave - все! В ModelSim для этого требуется чуть больше движений, но он тоже не плох, особенно на данных сложных структур.

После симуляции наступает пора запуска Quartus. Но загружать прошивку в ПЛИС пока еще рано. Нужно убедиться, что божественная вычислительная машина правильно поняла, какую схему мы хотим получить, изложив свои мысли в виде Verilog"а.

Разница между симуляцией и работой в реальном железе

Первое время я, подобно слепому котенку, бился головой об косяки. Казалось бы правильный код, не работает совсем, либо работает не так, как предполагаешь. Либо вот только что работал, а теперь внезапно перестал!

Пытливый котенок, начинает искать взаимосвязь между своими действиями и результатом («голубиное суеверием»).

Самая большая драма
Ниже будет список странностей, но сначала самая большая драма, с которой я столкнулся: не все конструкции Verilog могут быть синтезированы в железе . Это связано с тем, что на Verilog описывается не только аппаратная логика, которая объединяется в модули и работает в железе. На том же Verilog описываются тестовые модули, которые объединяют тестируемые модули, подают на их входы тестовые сигналы и в целом существуют только для проверки на компьютере. Изменение значений сигналов во времени задается конструкциями, содержащим знак "#" в тексте Verilog. Такой знак означает задержку во времени. В примере выше именно так генерируется сигнал CLK. И я грешным делом думал, что таким же образом внутри настоящей ПЛИС можно генерировать, к примеру, последовательность бит для отправки сообщения по RS232. Ведь на вход ПЛИС подан сигнал от генератора 50 МГц! Может быть она как-то на него ориентируется. Как оказалось, я не единственный, кто надеялся на чудо: , , , , . Реальность как всегда оказывается более суровой: ПЛИС это набор логики и временная задержка в ней может появиться при использовании счетчика, значение которого увеличивается тактами от генератора до заданной величины, либо как-то иначе (но всегда аппаратно).
Список найденных странностей
Удивительные вещи, однако, прочтение книг проливает свет на эту бесовщину. Более того, обретается благодать.
Если обозначить reg, то не факт, что он будет создан
Как я пришел к проблеме? Допустим есть один модуль, на вход которого я должен подавать значение (по типу параметра). В перспективе, этот параметр должен будет изменяться во времени в зависимости от каких-то внешних событий. Поэтому значение должно хранится в регистре (reg). Но реализация приема внешних событий пока не реализована, поэтому я регистр не меняю, а просто задаю ему изначальное значение, которое в дальнейшем не меняется.

//задаю 8 битный регистр reg val; //инициирую его значением initial val <= 8"d0240; //wire к которому подключим выход из модуля wire out_data; //неведомый модуль, называется bbox //экземпляр этого модуля называется bb_01 //будем считать, что в модуле есть входной порт in_data и выходной out_data //во входной порт подаем значение с регистра val, а выход подключаем к wire - out_data bbox bb_01(.in_data(val), .out_data(out_data));
Казалось бы в чем подвох? В императивных ЯП мы часто задаем переменные в качестве констант и потом ни разу их не меняем и все работает. Что же мы видим в железе?


Во-первых, мы не видим регистра. Во-вторых, на вход модуля подано 8"hFF вместо наших 8"d0240! И этого уже достаточно для того, чтобы схема заработала не так, как мы планировали. То, что регистра нет - это нормально. В Verilog можно описывать логику разными способами, в то же время, синтезатор всегда оптимизирует аппаратную реализацию. Даже если написать блок always и в нем работать с регистрами, но при этом выходное значение всегда будет определяться входными, то применение регистра тут окажется лишним и синтезатор его не поставит. И наоборот, если при каких то значениях входных данных выходное значение не меняется, то тут никак не обойтись без регистра-защелки и синтезатор его создаст. (Книга 1 стр. 88-89). Что из этого следует? Если мы начнем менять значение регистра, например, в зависимости от нажатии кнопок, то геристр уже будет создан и все будет работать так, как нужно. Если же окажется, что кнопки ничего не меняют, то синтезатор его опять же выкинет и опять все поломается. Что же делать с константой? Нужно подать ее напрямую на вход модуля:

Bbox bb_01(.in_data(8"d0240), .out_data(out_data));
Теперь на входе модуля мы имеем правильное значение:

Остается загадкой, почему при сокращении регистра, его значение в initial не подставляется на вход модуля.

Размерность wire лучше задавать самому.
При разработке в среде Quartus, допускается не задавать линии wire заранее. В этом случае они будут созданы автоматически, но об этом будет выдано предупреждение (warning). Проблема заключается в том, что разрядность wire будет 1-бит, а если порты будут иметь разрядность больше 1 бита, то значение не будет передано.

Bbox bb_01(.in_data(8"d0240), .out_data(int_data)); other_bbox bb_02(.in_data(int_data), .out_data(out_data));
Предупреждение
Warning (10236): Verilog HDL Implicit Net warning at test.v(15): created implicit net for "int_data"
Результат:

Как видим, один бит подключен, а остальные 7 бит получаются не подключены (NC). Чтобы такой проблемы не было - нужно создать wire самостоятельно. Не зря компилятор IcarusVerilog выдает не warning, а ошибку, если wire не задан заранее.

Wire int_data; bbox bb_01(.in_data(8"d0240), .out_data(int_data)); other_bbox bb_02(.in_data(int_data), .out_data(out_data));

Компьютер не будет лазать по модулям, смотреть, какая разрядность портов. К тому же, разрядность может оказаться разной, а на вход модуля или с выхода берутся не все биты, а какие-то определенные.

Нельзя использовать выход логической функции, в качестве тактового сигнала
Иногда в проекте требуется снизить тактовую частоту, либо ввести временную задержку в N тактов. Новичёк может применить счетчик и дополнительную схему определения достижения счетчиком определенного значения (схема сравнения). Однако, если напрямую использовать выход со схемы сравнения в качестве тактового, то могут возникнуть проблемы. Это связано с тем, что логической схеме требуется некоторое время для установки стабильного значения на выходе. Эта задержка смещает фронт сигнала, проходящего через разные части логической схемы относительно тактового, в итоге получаются гонки, метастабильность, асинхронщина. Даже довелось однажды услышать реплику об этом в качестве критики ПЛИС: «с ПЛИС постоянные проблемы - гонки сигналов».

Если прочитать хотя бы парочку статей:
Метастабильность триггера и межтактовая синхронизация
Пару слов о конвейерах в FPGA

То становится ясно, каким образом разрабатываются устройства на ПЛИС: вся задача делится на аппаратные блоки, а данные между ними движутся по конвеерам, синхронно защелкиваясь в регистрах по тактовому сигналу. Таким образом, зная общую тактовую частоту, синтезатор рассчитывает максимальную частоту работы всех комбинаторных схем, определяет, укладывается ли их скорость к период такта и делает вывод - будет или не будет работать схема в ПЛИС. Все это происходит на этапе синтеза. Если схемы укладываются в параметры, то можно прошивать ПЛИС.

Таким образом, для разработчиков устройств на базе ПЛИС созданы все необходимые методологии, и если их придерживаться, то проблем не будет.

А что, если я хочу пойти против системы?
Порядок разработки и поведение синтезатора схем подводит нас к выводу о том, что же такое ПЛИС на аппаратном уровне. Это синхронные схемы. Поэтому, среди целей синтезатора - уложиться во временные интервалы. Для этого он, к примеру, упрощает логические выражения, выбрасывает из синтеза части схем, которые не используются другими схемами и не привязаны к физическим выводам ПЛИС. Асинхронные решения и аналоговые трюки не приветствуются, потому что их работа может быть непредсказуемой и зависеть от чего угодно (напряжение, температура, техпроцесс, партия, поколение ПЛИС), а поэтому не дает гарантированного, повторяемого, переносимого результата. А всем же нужен стабильный результат и общие подходы к проектированию!

Но что же делать, если вы не согласны с мнением синтезатора о том, что нужно выкидывать неизменяемые регистры, сокращать логические схемы? Как быть, если хотите делать схемы с асинхронной логикой? Нужна тонкая настройка? А может быть вы сами хотите собрать схему на низкоуровневых компонентах ПЛИС? Легко! Спасибо разработчикам Altera за такую возможность и подробную документацию!

Как это сделать? Можно попробовать графический редактор схем. Вы, возможно, слышали о том, что Quartus позволяет рисовать схемы? Можно самому выбрать стандартные блоки и соединить их. Но это не решение! Даже нарисованная схема будет оптимизирована синтезатором, если на это будет возможность.

В итоге мы приходим к старой истине: если ничего не помогает - прочитайте инструкцию . А именно «Altera Handbook» часть под названием «Quartus II Synthesis Options» .

Начнем с того, что описывая архитектуру на Verilog определенным образом, можно получить определенный результат. Вот примеры кода для получения синхронного и асинхронного RS триггера:

//модуль синхронного RS триггера module rs(clk, r, s, q); input wire clk, r,s; output reg q; always @(posedge clk) begin if (r) begin q <= 0; end else if (s) begin q <= 1; end end endmodule
В этом случае получится синхронный триггер.

Если не брать во внимание тактовый сигнал и переключаться в зависимости от любых изменений r и s, то в результате получится элемент с асинхронной установной значений - защелка (latch).

//пример модуль асинхронного RS триггера module ModuleTester(clk, r, s, q); input wire clk, r,s; output reg q; always @(r or s) begin if (r) begin q <= 0; end else if (s) begin q <= 1; end end endmodule

Module ModuleTester(clk, r, s, q); input wire clk, r,s; output reg q; DLATCH lt(.q(q), .clrn(~r), .prn(~s)); endmodule

В итоге, весь «обвес» на входе защелки, который синтезатор посчитал нужным, исчезнет и мы получим именно то, что хотели:

Список существующих примитивов можно посмотреть на сайте Altera.

А теперь небольшой пример про асинхронность и сокращение. Задумал я, к примеру, сделать генератор по тому же принципу, как это было принято делать раньше, но только на ПЛИС:

Но для увеличения периода я возьму 4 элемента, но только один из них будет с инверсией:

Module ModuleTester(q); output wire q; wire a,b,c,d; assign a = b; assign b = c; assign c = d; assign d = ~a; assign q = a; endmodule

Но получается сокращение (1 элемент, вместо четырех). Что логично. Но мы то задумывали линию задержки.

Но если поставить синтезатору условие, что линии a,b,c,d не сокращать, то получится то, что мы задумали. Для подсказки синтезатору применяются директивы . Один из способов указания - это текст в комментарии:

Module ModuleTester(q); output wire q; wire a,b,c,d /* synthesis keep */; // ^^^--- это директива для синтезатора assign a = b; assign b = c; assign c = d; assign d = ~a; assign q = a; endmodule
А вот и результат - цепочка из четырех элементов:

И это далеко не все! Оставлю на радость самостоятельного изучения: работу с case и директиву для реализации его в качестве RAM/ROM или логической схемой; работу со встроенными блоками памяти (RAM/ROM); выбор реализации умножения - аппаратным умножителем или логической схемой.



В продолжение темы:
Windows

Часть вторая : "Важнейшие характеристики каждого семейства процессоров Intel Core i3/i5/i7. Какие из этих чипов представляют особый интерес" Введение Сначала мы приведём...

Новые статьи
/
Популярные