Самые опасные ошибки при создании программ
Институт SANS (SysAdmin, Audit, Network,
Security), совместно с организацией MITRE и ведущими экспертами по
компьютерной безопасности, подготовил
новую редакцию рейтинга 25 самых опасных ошибок, приводящих к
возникновению серьезных уязвимостей. Рейтинг построен на основе анализа
уязвимостей, обнаруженных в течение 2010 года. Ошибки были отобраны с
учетом их распространенности, трудоемкости обнаружения и простоты
эксплуатации уязвимости. В опубликованном документе подробно разбирается
каждый из 25 видов ошибок, приводятся примеры уязвимостей и
рекомендации для разработчиков по предотвращению появления подобных
ошибок.
Степень важности ошибки определена с учетом легкости обнаружения
проблемы, простоты эксплуатации уязвимости и степени опасности в случае
поражения системы (например, полный контроль над ОС, утечка данных или
вызов отказа в обслуживании). По сравнению с прошлогодним рейтингом, в
этом году ошибки, приводящие к подстановке SQL-запроса, обогнали по
степени важности проблемы, связанные с запуском команд злоумышленника
через подстановку некорректных аргументов при вызове внешних команд. Из
добавленных в очередном рейтинге ошибок, актуальность которых возросла в
последнее время, отмечаются проблемы с некорректной проверкой
параметров авторизации, ошибки форматирования строк, использование
потенциально опасных функций, отсутствие ограничения попыток
авторизации, предоставление излишних привилегий и некорректный расчет
хэшей.
Общий рейтинг:
|
Выяснили: Может ли программист ничего не понимать в своем деле?
Заглавие в высшей степени странное. Читатель явно недоумевает.
А что, вообще, означает «программист»?
Естественно, человек, который пишет программы. От последнего слова и
возник этот термин. Но сейчас в него вкладывают несколько более широкое
понятие. Программистами называют и системщиков, и сетевиков, и
администраторов. Сами они программы не пишут, но программистами
считаются. А программирование управляющих программ для станков с
числовым программным управлением? Программист УП для станков с ЧПУ. Так
это звучит. Даже просто периодическое ухаживание за компьютерами,
поддержание их работоспособности тоже относят к разновидности работы
программиста.
Вернемся к истокам, когда вычислительная
техника делала только первые шаги. Не было языков высокого уровня.
Мизерная память, и всегда недостаточно места. Программы писались в
машинных кодах. Гораздо позже появился язык ассемблера,
приближенный к этим кодам, но уже язык! Более легкий для понимания и
требующий транслятора в эти коды. Когорта программистов резко
расширилась. Знание кодов конкретной машины перестало быть актуальным,
а работа с ними из ранга искусства превратилась в ненужный хлам.
Новый виток ознаменовался появлением языков высокого уровня. Они
требовали больше памяти и места, но то и другое было уже в избытке. Я
помню, как сам возился с операторами ассемблера, выискивая, как бы
сократить память хотя бы на несколько байтов. За скорость тоже шла
непрерывная борьба. И за место. Ох, уж это место на диске! Приходилось
удалять все лишнее и не только, чтобы отладить новую программу.
...
Читать дальше »
|
По словам Google, даже чайники смогут программировать Android
00:01 14.07.2010 Jungle
Google
сегодня представила набор для разработчиков, ориентированный на всех,
кто "желает создавать программы для Android легко и быстро".
Представленный набор можно отдаленно сравнить с конструктором Lego, так
как в системе App Inventor пользователи пишут программы по принципу
drag&drop, то есть просто сбрасывают готовые блоки приложений
буквально друг на друга и создают программы.
В Google говорят, что работали над "системой программирования для
чайников" около года и всегда на протяжении создания системы думали о
том, как будут создавать программы пользователи, которые не имеют опыта
программирования. Сейчас компания сообщает, что новинка прежде всего
ориентирована для школьников и студентов, которые лишь постигают самые
азы программирования.
В данной программе написание кодов идет подобно планированию в
Microsoft Visio, когда каждый блок или элемент представляет собой
визуальную интерпретацию той или иной возможности программы для
смартфона.
К примеру, в App Inventor можно создать программы для GPS-навигации,
таймеры, простые базы данных и представить свое творчество друзьям или
преподавателям буквально за 15 минут. В Google говорят, что над
программной они работали в сотрудничестве с Массачусетским
технологическим институтом, где ранее команда инженеров и психологов
уже создала похожую систему программирования Open Blocks.
По материалам: "Cybersecurity.
...
Читать дальше »
|
Может ли программист ничего не понимать в своем деле?
08.07.2010 13:10, Рубрика: Жизнь
Заглавие в высшей степени странное. Читатель явно недоумевает. Мне, кстати, делали такой комплимент.
Сначала я расстроился. Как же так? Опыт длительный.
Начинал еще с ЕС ЭВМ. Масса сменяющей друг друга техники прошло через
мои руки, разные системы, языки – и я вдруг «ничего не понимаю». Потом
призадумался. А что, вообще, означает
«программист»? Естественно, человек, который пишет программы. От
последнего слова и возник этот термин. Но сейчас в него вкладывают
несколько более широкое понятие. Программистами называют и системщиков,
и сетевиков, и администраторов. Сами они программы не пишут, но
программистами считаются. А программирование управляющих программ для
станков с числовым программным управлением? Программист УП для станков
с ЧПУ. Так это звучит. Даже просто периодическое ухаживание за
компьютерами, поддержание их работоспособности тоже относят к
разновидности работы программиста. Вернемся к
истокам, когда вычислительная техника делала только первые шаги. Не
было языков высокого уровня. Мизерная память, и всегда недостаточно
места. Программы писались в машинных кодах. Гораздо позже появился язык
ассемблера, приближенный к этим кодам, но уже язык! Более легкий для
понимания и требующий транслятора в эти коды. Когорта программистов
резко расширилась. Зна
...
Читать дальше »
|
Язык Си на первом месте в рейтинге популярности языков программирования
Компания TIOBE Software представила
результаты очередного исследования популярности языков
программирования. Апрельская редакций рейтинга интересна тем, что
сменился лидер - более 4 лет на первом месте в списке держался язык
Java, который теперь вытеснен языком Си. За последние 10 лет
популярность языка Си сильно менялась, наблюдались моменты триумфа,
когда Си занимал 20% рынка, также фиксировались спады, когда
популярность Си падала до 15%. Например, в 2000 году Си занимал 4 место
рейтинга, уступая Java, VisualBasic и Perl. Что касается Java, то
последнее время данный язык постепенно теряет свои позиции, в основном
за счет появления новых языков (например, JavaFX), базирующихся на
использовании JVM.
Из других интересных тенденций можно отметить включение в рейтинг
языка Vala, который пока занимает 122 место. Значительный рост
популярности отмечен для языков Go и Objective-C: Objective-C за год
переместился с 42 на 11 место рейтинга, а Go просуществовав менее года
оказался на 15 позиции. На одно место вверх поднялись языки Perl и C#.
На две позиции упала популярность языков JavaScript, Ruby и PL/SQL. На
одну позицию вниз сдвинулись языки Python, Pascal и Lua. Языки PHP, C++
и (Visual)Basic сохранили прежние места в рейтинге.
Первые 10 позиций рейтинга (третья колонка - занимаемая языком доля
рынка, четвертая - изменение популярности с января прошлого года):
...
Читать дальше »
| |