Microsoft открыла код BASIC 6502, запустившего Commodore и Apple II

Microsoft открыла код BASIC 6502, запустившего Commodore и Apple II

Microsoft открыла код BASIC 6502, запустившего Commodore и Apple II

Microsoft выложила на GitHub полный исходный код Microsoft BASIC для процессора 6502 — версии 1.1 от 1978 года, на которой работали такие легендарные машины, как Commodore PET, VIC-20, Commodore 64 и Apple II. Теперь 6 955 строк ассемблерного кода доступны под лицензией MIT — каждый может изучать, использовать и даже изменять софт, с которого фактически начиналась революция персональных компьютеров.

Написанный Биллом Гейтсом и Риком Вейландом интерпретатор BASIC стал для миллионов людей в конце 70-х и начале 80-х первой возможностью «поговорить» с компьютером напрямую.

Простейшие команды вроде 10 PRINT "HELLO" и 20 GOTO 10 превращались в бесконечный поток текста на экране — и в первый опыт программирования для целого поколения.

Особенность кода в том, что он умещался в смешные по нынешним меркам объёмы памяти, когда каждый килобайт стоил сотни долларов. Процессор MOS 6502 обходился всего в $25, а его конкуренты — в восемь раз дороже. Поэтому именно этот чип стал сердцем домашних компьютеров и игровых приставок, от Atari 2600 до NES.

Интересная деталь из истории: Commodore в 1977 году заплатила Microsoft всего $25 000 за бессрочную лицензию на использование BASIC — без отчислений за каждую проданную машину. Учитывая миллионы Commodore PET и C64, выпущенные позже, в Redmond наверняка вспоминают этот контракт с лёгкой грустью.

В опубликованной версии 1.1 уже есть исправления и оптимизации, сделанные в 1978-м совместно инженером Commodore Джоном Фигансом и самим Гейтсом. Код поддерживал условную компиляцию — по сути, из одной кодовой базы собирались варианты и для Apple II (Applesoft BASIC), и для KIM-1, и для других систем.

Зачем это всё сегодня? Для энтузиастов ретрокомпьютеров — это шанс прикоснуться к «чистому» историческому артефакту, увидеть, как программисты выжимали максимум из железа с минимальными ресурсами. Эти приёмы до сих пор актуальны, когда речь идёт об оптимизации — будь то смарт-часы или спутники.

Microsoft в последние годы регулярно открывает старый код: раньше компания публиковала исходники GW-BASIC, MS-DOS 4.0 и даже самого первого Altair BASIC. Для корпорации, которая когда-то называла Linux «раковой опухолью» и «коммунизмом», это настоящая метаморфоза. А теперь — ещё и красивый жест: в Git-репозитории у исходников BASIC стоят фиктивные временные метки коммитов от июля 1978 года.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

Защита ядра Linux не спасает от эксплуатации CVE-2024-50264

Исследователи нашли новый способ эксплуатации уязвимости в ядре Linux — CVE-2024-50264. Этот баг в подсистеме AF_VSOCK позволяет вызвать use-after-free в объекте virtio_vsock_sock во время операций соединения. Уязвимость существует ещё с версии ядра 4.8 и опасна тем, что её можно эксплуатировать без привилегий пользовательских пространств.

До недавнего времени считалось, что из-за механизмов защиты ядра — вроде рандомизации slab-кешей и защиты от состояния гонки (race condition) — эксплуатация крайне затруднена.

Но исследователи смогли обойти эти барьеры и показали, что атака вполне реальна. За это уязвимость даже получила премию Pwnie Award 2025 в номинации «Лучшая эскалация привилегий».

Ключ к успеху — нестандартные техники. В частности, уязвимость удаётся стабильно воспроизводить с помощью «бессмертного» POSIX-сигнала, прерывающего системный вызов connect() и создающего состояние гонки.

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

В процессе удаётся повредить критические объекты ядра, например msg_msg и pipe_buffer. Это открывает доступ к утечкам информации и чтению / записи произвольных адресов в памяти ядра. Для этого эксплойт задействует очередь сообщений, позволяя вытащить чувствительные указатели, включая данные об учётных записях.

 

Разработчики отметили, что новые техники напоминают известные эксплойты вроде Dirty Pipe, но приспособлены для более жёстких условий. В итоге появляется относительно «прямая» дорожка для повышения привилегий на современных Linux-системах.

Эксперты подчёркивают: CVE-2024-50264 — это критическая уязвимость, требующая срочного патча и внимательного анализа мер защиты ядра. Проект kernel-hack-drill, с помощью которого исследователи отрабатывали эксплойты, теперь используют как платформу для изучения подобных атак.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

RSS: Новости на портале Anti-Malware.ru