<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Оптимизация кода компилятором может привести к появлению про...</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/92366.html</link>
    <description>Группа исследователей из Массачусетского технологического университета (MIT) опубликовала (http://www.itworld.com/security/380406/how-your-compiler-may-be-compromising-application-security) (PDF (http://pdos.csail.mit.edu/~xi/papers/stack-sosp13.pdf), 240 Кб) результаты изучения особенностей работы систем оптимизации кода современных компиляторов, способных привести к понижению безопасности приложений. В итоге, выявлены многочисленные факты, когда в процессе компиляции в машинный код из приложения исключаются блоки, бессмысленные с точки зрения оптимизатора, но важные для обеспечения безопасности.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Например, компилятор исключает неопределённые или нестабильные участки кода, которые на деле могут выступать проверками на появление нулевого указателя или выхода за границы области памяти. В итоге, данные проверки не включаются в исполняемый файл и безопасное на уровне исходных текстов приложение, становится подвержено уязвимостям на уровне исполняемого кода. Проблеме подвержено большинство современных компил</description>

<item>
    <title>Оптимизация кода компилятором может привести к появлению про... (IRASoldier)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/92366.html#337</link>
    <pubDate>Mon, 18 Jun 2018 09:15:10 GMT</pubDate>
    <description>Компилятор выкидывает из кода костыли и грязные хаки (&quot; неопределённые или нестабильные участки кода&quot;) - виноват компилятор, а не писатель костылей и грязных хаков, мда.&lt;br&gt;</description>
</item>

<item>
    <title>Оптимизация кода компилятором может привести к появлению про... (IRASoldier)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/92366.html#336</link>
    <pubDate>Mon, 18 Jun 2018 09:11:50 GMT</pubDate>
    <description>&amp;gt;&quot;американские ученые&quot;&lt;br&gt;&lt;br&gt;Кавычки лишние. Работают и живут в США, значит американские. Что, бомбит?&lt;br&gt;</description>
</item>

<item>
    <title>Оптимизация кода компилятором может привести к появлению про... (rihad)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/92366.html#335</link>
    <pubDate>Wed, 06 Nov 2013 12:41:12 GMT</pubDate>
    <description>Код сам неосторожно написан. Компилятор просто следует стандарту, а стандарт гласит, что любая арифметика на указателях должна ссылаться на один и тот же массив, выходя не больше, чем на 1 элемент после него. Поведение программы в противном случае не определено.&lt;br&gt;&lt;br&gt;   char *buf = ...;&lt;br&gt;   char *buf_end = ...;&lt;br&gt;   unsigned int len = ...;&lt;br&gt;   if (buf + len &amp;gt;= buf_end) &lt;br&gt;      return;  /* len too large */&lt;br&gt;   if (buf + len &amp;lt; buf) &lt;br&gt;      return; /* overflow, buf+len wrapped around write to buf&#091;0..len-1&#093; */&lt;br&gt;&lt;br&gt;Во второй проверке, результат сложения в случае переполнения ссылался бы до объекта, поэтому поведение было бы не определено. Значит компилятор избегает неопределенного поведения.&lt;br&gt;Лучше было бы вместо обоих условий простое if (buf_end - buf &amp;lt;= len) return;&lt;br&gt;&lt;br&gt;Во втором примере&lt;br&gt;   struct tun_struct *tun = ...;&lt;br&gt;   struct sock *sk = tun-&amp;gt;sk;&lt;br&gt;   if (!tun)&lt;br&gt;      return POLLERR; /* write to address based on tun */&lt;br&gt;&lt;br&gt;Если бы tun было NULL, обращение tun-&amp;gt;sk не определено. Опять же, компилятор избегает не опр</description>
</item>

<item>
    <title>Оптимизация кода компилятором может привести к появлению про... (Led)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/92366.html#334</link>
    <pubDate>Sat, 02 Nov 2013 23:53:20 GMT</pubDate>
    <description>&amp;gt;&amp;gt; Очень жаль что тебе не вкатили двойку в &quot;четверди&quot; по русскому языку.&lt;br&gt;&amp;gt; с чего ты взял что такого не случалось?&lt;br&gt;&amp;gt; как раз такое бывало :-) ..&lt;br&gt;&lt;br&gt;И ещё будет&lt;br&gt;</description>
</item>

<item>
    <title>Оптимизация кода компилятором может привести к появлению... (pavlinux)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/92366.html#333</link>
    <pubDate>Sat, 02 Nov 2013 22:08:38 GMT</pubDate>
    <description>&amp;gt; если предполагается, что примитивы могут косячить, то не поверишь &amp;#8212; сначала проверяют &lt;br&gt;&amp;gt; примитивы.&lt;br&gt;&lt;br&gt;Ну вот слава яйца, хоть народ до компилятора добрался и отловили описанные в новости баги.&lt;br&gt;</description>
</item>

<item>
    <title>Оптимизация кода компилятором может привести к появлению... (arisu)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/92366.html#332</link>
    <pubDate>Sat, 02 Nov 2013 21:54:38 GMT</pubDate>
    <description>&amp;gt; с чего ты взял что такого не случалось?&lt;br&gt;&amp;gt; как раз такое бывало :-) ..&lt;br&gt;&lt;br&gt;причём постоянно, судя по твоим текстам.&lt;br&gt;</description>
</item>

<item>
    <title>Оптимизация кода компилятором может привести к появлению про... (Xasd)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/92366.html#331</link>
    <pubDate>Sat, 02 Nov 2013 20:50:50 GMT</pubDate>
    <description>&amp;gt; Очень жаль что тебе не вкатили двойку в &quot;четверди&quot; по русскому языку. &lt;br&gt;&lt;br&gt;с чего ты взял что такого не случалось?&lt;br&gt;&lt;br&gt;как раз такое бывало :-) ..&lt;br&gt;&lt;br&gt;всё равно не понимаю почему моя школьная биография так интересна. обычная школьная биография&lt;br&gt;</description>
</item>

<item>
    <title>Оптимизация кода компилятором может привести к появлению... (arisu)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/92366.html#330</link>
    <pubDate>Sat, 02 Nov 2013 17:17:30 GMT</pubDate>
    <description>&amp;gt; Ха! Шаблоны существовали уже тогда, когда маркетолухи ещё и слово то такое, &lt;br&gt;&amp;gt; генерики, не придумали.&lt;br&gt;&lt;br&gt;угу-угу. правда, в Аде их придумали в районе 1978-го года, а первый cfront ни о каких&lt;br&gt;шаблонах не знал, AFAIR. но если факты мешают фанбоям &amp;#8212; то тем хуже для фактов.&lt;br&gt;</description>
</item>

<item>
    <title>Оптимизация кода компилятором может привести к появлению... (Vkni)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/92366.html#329</link>
    <pubDate>Sat, 02 Nov 2013 16:47:05 GMT</pubDate>
    <description>Я, честно говоря, тоже в своё время восхищался шаблонами, пока не узнал, что вывод типов появился в 1969-м и переоткрыт в 1978-м.&lt;br&gt;&lt;br&gt;Поэтому можно было сделать всё значительно красивее и приятнее.&lt;br&gt;</description>
</item>

</channel>
</rss>
