The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

На соревновании Pwn2Own 2019 продемонстрированы взломы Firefox, Edge, Safari, VMware и VirtualBox

22.03.2019 19:37

Подведены итоги второго дня соревнования Pwn2Own 2019, ежегодно проводимого в рамках конференции CanSecWest в Ванкувере. На соревновании были продемонстрированы рабочие техники эксплуатации ранее неизвестных уязвимостей в Firefox, Edge, Safari, VMware Workstation и VirtualBox. Суммарный размер выплат составил 510 тысяч долларов (общий призовой фонд составлял более 2 млн долларов).

Успешно продемонстрированные следующие взломы:

  • $35 тысяч - взлом VirtualBox: целочисленное переполнение + race condition, позволившие из окружения гостевой системы выполнить код на стороне хост-системы;
  • $35 тысяч - взлом VirtualBox: целочисленное переполнение, позволившее получить доступ к базовому системному окружению из гостевой системы;
  • $40 тысяч - взлом Firefox: ошибка в JIT + использование логической ошибки для выхода из sandbox-изоляции;
  • $50 тысяч - взлом Firefox: ошибка в JIT + запись за пределы буфера в ядре Windows для выполнения кода с правами ядра;
  • $45 тысяч - частичный взлом Safari, ошибка в JIT + чтение из области вне буфера с дальнейшей попыткой получения прав root через уязвимость в ядре.
  • $50 тысяч - взлом Microsoft Edge: двойное освобождение блока памяти в процессе отрисовки + выход из sandbox;
  • $55 тысяч - взлом Safari с обходом sandbox-изоляции;
  • $70 тысяч - взлом VMware Workstation: race condition + переполнение буфера в VMware client, позволившие выполнить код на стороне хост-системы;
  • $130 тысяч - взлом Microsoft Edge с последующим выходом из гостевого окружения VMware с выполнением кода на уровне хост-системы.

Взломы ядра Linux и большинства открытых проектов (nginx, OpenSSL, Apache httpd) в этом году исключены из призовых номинаций, а дистрибутив Ubuntu убран из числа окружений для взлома (попытки взломов в данной категории ограничились только демонстрацией в 2017 году 0-day уязвимости в ядре Linux).

На завтра запланированы демонстрации взломов информационных систем автомобиля Tesla Model 3 (взлом компонента VCSEC и встроенного браузера на основе Chromium). Общий размер призового фонда на взломы Tesla составляет более 900 тысяч долларов.

Дополнение: Продемонстрирован взлом информационно-развлекательной системы Tesla Model 3 через уязвимость в JIT-компиляторе системы отрисовки, использующей движок Chromium. Авторы атаки получили $35000. Заявка на взлом компонента VCSEC в Tesla Model 3 была отозвана.

  1. Главная ссылка к новости (https://www.zerodayinitiative....)
  2. OpenNews: В Pwn2Own 2019 убраны номинации за взлом Linux, но добавлены за взлом Tesla
  3. OpenNews: На соревновании Pwn2Own 2018 продемонстрированы взломы Firefox, Edge и Safari
  4. OpenNews: Pwnie Awards 2017: наиболее существенные уязвимости и провалы в безопасности
  5. OpenNews: На соревновании Pwn2Own 2017 продемонстрированы взломы Ubuntu и Firefox
  6. OpenNews: На соревновании Pwn2Own 2015 продемонстрированы взломы Firefox, Chrome, Safari и IE
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/50376-pwn2own
Ключевые слова: pwn2own
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (62) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Stax (ok), 19:43, 22/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +14 +/
    > Взломы ядра Linux и большинства открытых проектов (nginx, OpenSSL, Apache httpd) в этом году исключены из призовых номинаций

    А это почему? Стесняются? Хотят сделать вид, что проблемы только в коммерческих продуктах?

    Нужно платить и за уязвимости в открытых продуктах, так их будут (собственно) показывать публике и исправлять, а не эксплуатировать втихую. А с такой политикой интерес к этому уходит.

     
     
  • 2.5, Аноним84701 (ok), 20:03, 22/03/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >> Взломы ядра Linux и большинства открытых проектов (nginx, OpenSSL, Apache httpd) в этом году исключены из призовых номинаций
    > А это почему? Стесняются? Хотят сделать вид, что проблемы только в коммерческих продуктах?
    > Нужно платить и за уязвимости в открытых продуктах, так их будут (собственно) показывать публике и исправлять, а не эксплуатировать втихую.

    Возможно, нет спроса у клиентов главного организатора - Trend Micro, возможно бюджет не позволяет, возможно (хотя конечно вряд ли) им лучше виднее, как тратить свои деньги?
    Вот если бы Вы связались и предложили профинансировать, а они бы начали юлить и отказываться …

     
  • 2.9, Аноним (9), 21:18, 22/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Дырки там и так находят в большем количестве и латают. Смысл хлеб у людей ядра отнимать?
     
  • 2.55, Аноним (-), 15:08, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    АНБ деньжат подкинули.
     

  • 1.6, Аноним (6), 20:41, 22/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зачем ломать Edge, если он уже почти Chrome?
     
     
  • 2.7, имя (?), 20:52, 22/03/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Корпоративных слоупоков никто не отменял.
     
     
  • 3.58, Аноним (-), 15:12, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Кoпpoрации должны страдать.
     
     
  • 4.72, vedronim (?), 10:01, 24/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Страдают не корпорации, а простые работники.
     

  • 1.8, Аноним (-), 20:52, 22/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Во днища. Вобщем всем досталось!
     
  • 1.10, Аноним (9), 21:21, 22/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Блин, ребята. Ладно еще race condition, многопоточность - это очень сложно и трудно воспроизводимо. Но! Целочисленное переполнение. Переполнение буфера. Двойное освобождение. Как нам уже избавиться от этих проклятий? Как в NASA умудряются писать, что 40 лет работают космические аппараты (те же Вояджеры, например)?
     
     
  • 2.11, segesg (?), 21:57, 22/03/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    c++20, статический анализ, санитейзеры, новые тесты, улучшения компиляторов, постепенное переписывание кода на rust
     
     
  • 3.36, Аноним (9), 07:44, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Rust нас спасёт? Если да, то почему на него льют ушаты критики?
     
     
  • 4.52, Аноним (-), 13:02, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Критику на что угодно льют, не знал? Это нормально.
    И особенно на то, что меняет положение дел и заставляет что-то учить или переписывать, даже если в итоге это убирает бардак, устаканивает апи и сообщество выигрывает. См. системд.
     
     
  • 5.68, Аноним (68), 21:22, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так системд же вносит бардак и сообщество проигрывает, давно доказали. Не?
     
  • 2.12, AS (??), 21:57, 22/03/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    так аппараты то далеко и не в инете.. и там юзверь 1 - админ. поэтому и не ломает никто.
     
     
  • 3.29, Аноним (9), 00:30, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В том и дело, что далеко. Если у сервака ты можешь в случае чего нажать кнопочку Reset, то там если ошиьочка какая - то уже есть риск вообще потерять корабль

    Хотя, к слову, факапы были у NASA, читал на хабре перевод о том, как они дебажили New Horizons после сбоя, причём было 5 дней на это, а сигнал до аппарата летит 9 часов в одну сторону. Жесть, конечно, не позавидуешь ребятам, но спасли миссию, молодцы!

     
     
  • 4.44, microcoder (ok), 09:32, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Если у сервака ты можешь в случае чего нажать кнопочку Reset

    Ну прилепить реле по триггеру которое будет дергать кнопочку Reset на аппарате не сложно наверное. Например, расположить в основном компутере какой-нибудь модуль вайфай. Если он не отвечает, файлик ОС которая его обслуживает не принимает - включаем на дополнительном устройстве "механическую руку" и жмём кнопочку "Reset".
    Т.е. резервирование, дублирование - основные методы борьбы с "багами". Вот и все секреты.

     
     
  • 5.51, Аноним (9), 12:58, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну да, там есть обычно резервный бортовой компьютер и всякие watchdog-таймеры. Хотя потерянные корабли были таки
     
  • 2.14, Аноним84701 (ok), 22:41, 22/03/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Целочисленное переполнение

    Там не все так просто, простенькая демка:



    % cat overflow.c
    #include <stdio.h>
    #include <stdlib.h>
    #include <stdint.h>
    int main(int argc , char* argv[argc +1]) {
        if (argc < 2) return EXIT_FAILURE;
        
        int32_t x = strtol(argv[1], NULL, 10); // это чтобы нам компилятор еще на начальной стадии не соптимизировал все до return 0
        while (x > 0) x++;
        printf("result %dl\n",x);
        return EXIT_SUCCESS;
    }
    % gcc8 -Wall -Wextra -std=c11 -S -g overflow.c
    .L5:
            .loc 1 8 20 discriminator 2
            addl    $1, -4(%rbp)
    .L4:
            .loc 1 8 11 discriminator 1
            cmpl    $0, -4(%rbp)
            jg      .L5



    Вроде как все ожидаемо, но:



    % gcc8 -Wall -Wextra -std=c11 -g -O2 overflow.c
    .L4:
            .loc 1 8 19 is_stmt 1 discriminator 2 view .LVU10
            .loc 1 8 19 discriminator 2 view .LVU11
            .loc 1 8 19 is_stmt 0 discriminator 2 view .LVU12
            jmp     .L4



    Компилятор здорово "оптимизнул" UB (если мне не изменяет память - лезть в спеки сейчас совсем неохота), т.е. без всяких варнингов мы поймали вечный цикл "на ровном" месте.

    Ну и классическое (не)знание, это ж типа "Дорогая (даже на x86, угу) проверка! Мы точно знаем! Без нее в 100500 раз быстрее"  ;)


    >  Как в NASA умудряются писать, что 40 лет работают космические аппараты (те же Вояджеры,
    > например)?

    Mariner1, Delta 3,  Mars Lander, Mars Orbiter :)

     
     
  • 3.15, Аноним84701 (ok), 22:47, 22/03/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так как пятница, да и самому стало интересно, наовноко^W набросал по быстрому макет:



    % gcc8 -Wall -Wextra -std=c11 -g -O3 overflow.c -o overflow
    % cat overflow.c
    #include <stdio.h>
    #include <stdlib.h>
    #include <stdint.h>
    int main(int argc , char* argv[argc +1]) {
        if (argc < 3) return EXIT_FAILURE;
        
        int64_t x = strtol(argv[1], NULL, 10);
        int64_t y = strtol(argv[2], NULL, 10);
        while (x > y) {x += 0xFFFFFFF;}
        printf("result %ld\n",x);
        return EXIT_SUCCESS;
    }

    % time ./overflow 4 2
    result -9223372036586340477
    ./overflow 4 2  30,27s user 0,01s system 99% cpu 30,295 total
    % time ./overflow 4 2
    result -9223372036586340477
    ./overflow 4 2  30,00s user 0,00s system 99% cpu 30,041 total



    и



    % cat overflow_checked.c
    #include <stdio.h>
    #include <stdlib.h>
    #include <stdint.h>
    int main(int argc , char* argv[argc +1]) {
        if (argc < 3) return EXIT_FAILURE;
        
        int64_t x = strtol(argv[1], NULL, 10);
        int64_t y = strtol(argv[2], NULL, 10);
        while (x > y) {
            if (__builtin_add_overflow(x, 0xFFFFFFF, &x)){
                    printf("overflow detected %ld\n", x);
                    break;
            }
        }
        printf("result %ld\n",x);
        return EXIT_SUCCESS;
    }
    % gcc8 -Wall -Wextra -std=c11 -g -O3 overflow_checked.c -o overflow_checked
    % time ./overflow_checked 4 2
    overflow detected -9223372036586340477
    result -9223372036586340477
    ./overflow_checked 4 2  30,63s user 0,00s system 99% cpu 30,662 total
    % time ./overflow_checked 4 2
    overflow detected -9223372036586340477
    result -9223372036586340477
    ./overflow_checked 4 2  29,79s user 0,00s system 99% cpu 29,835 total



     
     
  • 4.17, Michael Shigorin (ok), 22:50, 22/03/2019 [^] [^^] [^^^] [ответить]  
  • –17 +/
    > Так как пятница, да и самому стало интересно

    Слушайте, а черкните мне на mike@altlinux.org -- нам нужны такие люди. :)

     
     
  • 5.34, Ivan_83 (ok), 02:13, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Люди нужны всем, не все могут себе это позволить.
     
     
  • 6.45, microcoder (ok), 09:42, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Люди нужны всем, не все могут себе это позволить.

    А Вы почему за него решили, может он позволить или нет? Мне интересно, а что Вы видите плохого в прямых предложениях которое сделал "альтлинуксовец" выше?

     
     
  • 7.63, Ivan_83 (ok), 18:52, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это ваши фантазии, можете ответить сами себе.
     
  • 6.65, Michael Shigorin (ok), 19:32, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Люди нужны всем, не все могут себе это позволить.

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

     
     
  • 7.75, анон (?), 00:10, 25/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > с подобными особенностями характера

    типа тебя? кто тебе заплатил за антипиар?

     
  • 5.74, анон (?), 00:09, 25/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    иди проспись
     
  • 4.35, Аноним (35), 07:20, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >         if (__builtin_add_overflow(x, 0xFFFFFFF, &x)){

    Зато портабельно. "Ассемблер никому не нужен" (с) Carry Flag

     
     
  • 5.53, Аноним84701 (ok), 13:57, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >>         if (__builtin_add_overflow(x, 0xFFFFFFF, &x)){
    > Зато портабельно. "Ассемблер никому не нужен" (с) Carry Flag

    Э-э … и куда VB уже успели с х86 портировать?
    Скорее, исторически сложившиеся костылики и священная корова обратной совместимости.
    А сказка о "портабельности" – для всего, что чуть больше привета миру обычно не выдерживает столкновения с реальностью, зато последствия проявляются чуть ли не каждый день …

     
     
  • 6.64, Michael Shigorin (ok), 19:27, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А сказка о "портабельности" – для всего, что чуть больше привета миру
    > обычно не выдерживает столкновения с реальностью, зато последствия
    > проявляются чуть ли не каждый день …

    Сгущаете краски, судя по e2k (не-x86, не-RISC, да ещё и не-gcc).  Не то чтоб "всё не так", но всё-таки далеко не так плохо, по моим наблюдениям до сих пор :-)

     
     
  • 7.71, Аноним (71), 08:57, 24/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В случае e2k есть такое слово "надо", а вот на "x32" как-то не очень портируется с amd64, при том что разница лишь в размере указателей.
     
  • 6.70, Аноним (71), 08:52, 24/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    На "х86" ассемблере проверка переполнения естественна и производится одной командой. На Сях приходится городить огород (который компилятор ещё должен суметь редуцировать до проверки флага), либо применять интринсик. Похоже, немножко через чур "абстрагировались".
     
  • 3.27, Аноним (9), 00:21, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Да, с целочиселкой хороший пример. На хабре, помню, был перевод статьи, которая, кажись, называлась "UB is so undefined" или как-то так, там про это было.

    И спрашивается, а кто тут виноват? Компилятор, который оптимизирует такое и не предупреждает? Стандарт, который не мог сделать переполнение не-UB? Программист, который посмел надеяться на переполнение?

     
  • 3.30, Аноним (30), 00:39, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > while (x > 0) x++;

    Этот цикл либо вечный, либо не выполняется в соответствии с правилами C/C++.

     
     
  • 4.33, Аноним84701 (ok), 01:24, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >> while (x > 0) x++;
    > Этот цикл либо вечный,

    см. выхлоп -S для -O2
    > либо не выполняется в соответствии с правилами C/C++.

    Вообще-то это UB. Причем "вроде работает как задуманно" (т.е. выполняется) для -On, n<2, c -O2 "оптимизируется" в вечный цикл.  
    "Четкие правила" - это про unsigned:
    > A computation involving unsigned operands can never overflow

    Вот другая демка (не мое -- когда-то наткнулся):



    #include <stdio.h>                                                                      
    #include <stdlib.h>                                                                      
    #include <stdint.h>                                                                      
    int main(int argc , char* argv[argc +1]) {                                              
            if (argc < 2) return EXIT_FAILURE;                                              
                                                                                            
            int32_t x = strtol(argv[1], NULL, 16);                                          
            int32_t y = x + 1;                                                              
            if (y < x) {                                                                    
                printf("overflow detected %d\n",x);                                          
            } else {                                                                        
                puts("no overflow");                                                        
            }                                                                                
            return EXIT_SUCCESS;                                                            
    }


    % gcc8 -Wall -Wextra -Woverflow -std=c99 -g -O0 over.c && ./a.out 0x7fffffff  [1]
    overflow detected 2147483647
    % gcc8 -Wall -Wextra -Woverflow -std=c99 -g -O1 over.c && ./a.out 0x7fffffff
    no overflow


     
     
  • 5.47, Аноним (30), 12:07, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Вообще-то это UB. Причем "вроде работает как задуманно" (т.е. выполняется) для -On, n<2, c -O2 "оптимизируется" в вечный цикл.

    Да, UB, так и есть. Я имел ввиду что цикл вечный в том плане, что по правилам языка переполнение знаковых целых в корректной программе не происходит, а значит компилятор вправе считать, что этот цикл вечный. Т.к. модификация x в этом цикле не приводит к наблюдаемому поведению, его можно попросту исключить и оставить "while (true);".

     
  • 5.77, Аноним (77), 23:31, 26/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Что-то я не понял открытий.
    Результат следующих строк секрет что-ли был?

        int32_t i = INT_MAX, j = i++;
        printf("i: %" PRIi32 " j: %" PRIi32 "\n", i, j);

        uint32_t ui = UINT_MAX, uj = ui++;
        printf("ui: %" PRIu32 " uj: %" PRIu32 "\n", ui, uj);

    А это "argv[argc +1]" какое-то расширение в gcc8?
    Что sizeof argv показывает?

     
     
  • 6.78, Аноним84701 (ok), 00:29, 27/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Что-то я не понял открытий.
    > Результат следующих строк секрет что-ли был?

    Демка неочевидности UB, очевидно же.
    Если не подводит память, то видел в блоге PVS-иков "частые неочевидные факапы-ошибки" (как-то так по смыслу)
    > А это "argv[argc +1]" какое-то расширение в gcc8?

    Угу. "Расширение". Жуется  gcc5 -std=c89
    Обычный синтактический выверт ушами "читабельная запись для человеков" (т.е. никаких стат. проверок компилятора - хотя оно и понятно, т.к. тут нужен libastral наисвежей версии)
    Из ModernC, Jens Gustedt, если что.
    > Что sizeof argv показывает?

    то же самое, что и sizeof(char**), что же еще :)

     
     
  • 7.79, Аноним (79), 00:12, 29/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Обычный синтактический выверт ушами

    Я уж подумал - массивы переменной длины в параметрах функций.

    Что-то типа:

    gcc -x c -std=c99 - -o opennet << EOF
    #include <stdio.h>
    #include <stdlib.h>

    int main(int argc, char *argv[])
    {
        char arr[ atoi(argv[1]) ];

        printf("sizeof arr: %u\n", sizeof arr);

        return 0;
    }
    EOF

     
  • 2.16, Michael Shigorin (ok), 22:48, 22/03/2019 [^] [^^] [^^^] [ответить]  
  • –11 +/
    > Как нам уже избавиться от этих проклятий?

    Возможно, поздно.

    > Как в NASA умудряются писать, что 40 лет работают космические аппараты
    > (те же Вояджеры, например)?

    Слетайте в семидесятые и спросите...

    А так http://drakon.su и сейчас доступен.

     
     
  • 3.28, Аноним (9), 00:24, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Возможно, поздно?

    Почему?

    > Слетайте в семидесятые и спросите

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

     
  • 3.32, ffirefox (?), 00:56, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ДРАКОН это не NASA. ;)
    Просто программы создавали не программисты, а инженеры. Соответственные требования предъявлялись к ПО как к любому изделию. Там к каждой строчке различной документации по несколько страниц.
     
  • 2.31, ffirefox (?), 00:49, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так они писали на Ada. Когда этот язык приняли, то он считался очень сложным и перегруженным. Но, суде по последним стандартам C++ и развитию Rust, разработчики языков не успокоются пока всё оттуда не перетаскают. Интересно, стандарт C++ уже обогнал по объему Ada?
     
  • 2.46, Аноним (46), 11:37, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >Как в NASA умудряются писать, что 40 лет работают космические аппараты (те же Вояджеры, например)?

    На Fortran писали.
    И таки, по крайней мере, один раз косяк случился, препод рассказывал. Вместо точки-разделителя целой-дробной части поставили запятую. Транслятор Фортрана воспринял это как два числа. В результате аппарат пролетел мимо Венеры.
    Но, всё же, это не то, что сплошные проблемы с указателями.

     
     
  • 3.50, Аноним (9), 12:57, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну не всегда же на Фортране. Там были потом и Ада, и Си (поныне там)
     
     
  • 4.60, Аноним (-), 15:14, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Пора изобретать язык тёти Раи. :)
     
  • 2.54, Аноним (-), 15:07, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Если ты понимаешь лучше них, организуй свои соревнования!
     
     
  • 3.66, Аноним (9), 20:11, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Причём здесь соревнования? С ними все как раз нормально - нужное мероприятие, демонстрирующее наше несовершенство в кодинге. Ну и непосредственно полезное, ибо ошибки исправляются
     
  • 2.67, MINIX (?), 20:18, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Поставить Assert-ов на все входные/выходные данные (не обязательно контракты полностью реализовывать). Весь код покрыт самыми изощренными тестыми. Каждое принятое решение взвешивается и перевешивается, потом рефакторинг и по новой. Без исключений. Каждый метод, каждую строчку, каждый объект. Полная статистика всех созданных "обеъктов" (на что, когда и для каких целей выделена память).
    Запретить работать с памятью напрямую, полностью задействовать все фичи прав доступа на современных процессорах (многопоточность и состояние гонки).
    И...
    Что и? Нифига не поможет в некоторых случаях, если имбицилы пишут код.
     

  • 1.13, Аноним (13), 22:20, 22/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Не зря так долго коробку не обновляют. Страшенные баги месяцами висят, реактось от дополнений 6.0.4 синюшит сразу на установке ещё...Если даже после этого не обновят, то я не знаю куда .
     
     
  • 2.19, Аноним (19), 23:06, 22/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    QEMU хороший вариант. Только надо уметь думать.
     
     
  • 3.41, пох (?), 09:12, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • –5 +/
    о чем вы там думаете? Вызубрить командную строчку из миллиона закорючек (и менять раз в неделю, потому что авторы никак не успокоятся, меняя синтаксис в каждой версии) - это у вас "думать"?

    А об эффективности (и надежности) этого (по первоначальной задумке)_эмулятора_, в сочетании с kvm/libvirt (в виде спагетти взаимозавязанных механизмов, запутанных так что вообще не разберешь, кто там на ком стоял) - вам явно думать нечем.

     

  • 1.18, Аноним (18), 22:51, 22/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Ubuntu убран из числа окружений для взлома

    Слишком сложно или просто?

     
     
  • 2.26, BlackRot (?), 00:11, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Никому не нужно
     
     
  • 3.43, пох (?), 09:18, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    бросьте, и нужно, и ломают только в путь (благо векторов у непохаканной на корню - мильен). Но деньги за это платить - действительно, ненужно. Во-первых, у ломающих и так все в шоколаде - там от финорганизаций до инфраструктурных компаний ;-) во-вторых, лучше от этого бубунточка не станет - потому что там для начала надо уволить всю команду, и нанять вменяемых (а где их взять, если наверху - тот-кого-нельзя-тут-называть?)
    потом выкинуть на помойку зависимость от инфраструктуры и разработчиков дебиllian, заодно заменив невменяемый apt-десять-лет-unstable-cli чем-то вроде zypper, а потом окажется что вы обратно suse изобрели, только не на базе шлак-вари, а на базе дебиана.
    А она у нас и так есть. Ну, пока еще есть, завтра, небось, банкрот, не зря ж ее выкинули.

     
     
  • 4.73, Аноним (9), 20:35, 24/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А я-то думал, что старый-добрый apt и дебиан - нерушимы как скалы
     
     
  • 5.76, пох (?), 17:48, 25/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    ну так вам - головой биться, или в работе применять?

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

     
  • 3.59, Аноним (-), 15:13, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как и ты. :(
     
  • 2.37, An (??), 08:18, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Видимо пришло время отдельное соревнование для опенсорса делать  
     

  • 1.56, Аноним (56), 15:09, 23/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Молодцы. Но много бесполезных проектов вроде Edge и Safari. Только деньги на ветер!
     
     
  • 2.69, НяшМяш (ok), 22:24, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Почему же? Всякие бизнесьмены пользуют вышеназванные продукты. А денежки как раз у них и эти браузеры приходится знать, чтобы и себе пенсию обеспечить. Одно непонятно - где хромиум и его поделия.
     

  • 1.62, Аноним (62), 15:19, 23/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В Virtualbox так то ошибки опасненькие.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру