Избирательную систему Швеции пытались взломать с помощью кода, написанного на бумаге ручкой

отметили
79
человек
в архиве
Избирательную систему Швеции пытались взломать с помощью кода, написанного на бумаге ручкой
В результатах недавних выборов, прошедших в Швеции, обнаружены следы попытки взлома. Дело в том, что шведские законы о выборах позволяют избирателям вписывать свой вариант от руки. Кроме того, анонимный список всех ответов, которые дали избиратели, публикуется в открытых источниках. Любопытный блоггер Йонас Эльфстрeм (Jonas Elfstr?m) обнаружил, по меньшей мере, одну попытку взлома системы подсчета голосов – некий технически подкованный избиратель внес в бюллетень специальный запрос на языке управления базами данных SQL.

В большинстве стран на выборах используются готовые бюллетени с фиксированным списком вариантов – избиратель может лишь поставить галочку или другую отметку в поле напротив нужного варианта. Швеция в этом смысле является исключением – здесь можно вписать любой свой вариант от руки. Судя по всему, кому-то в голову пришла мысль о потенциальной уязвимости системы учета голосов к так называемой «SQL-инъекции». В результате в открытом доступе была обнаружена такая строка, вписанная анонимным избирателем: ";13;Hallands l?n;80;Halmstad;01;Halmstads v?stra valkrets;0904;S?ndrum 4;pwn DROP TABLE VALJ;1". Само интересное в этой строке – команда «DROP TABLE», которая, если попадет в интерпретатор SQL-команд, вызовет полное уничтожение таблицы. В данном случае, это таблица под названием «VALJ».

Интересно, что атака на базы данных с использованием такого рода фрагментов кода на языке SQL в шутливой форме была описана в одном из комиксов из серии XKCD, где герой назвал своего ребенка именем «); DROP TABLE Students; —». При малейшей небрежности разработчиков системы такое имя привело бы к удалению таблицы Students во всех системах, где встречалось бы подобное имя.

Кроме SQL-атак в последних шведских выборах встретилась и еще одна атака, правда, столь же безуспешная. На этот раз злоумышленник или шутник вставил вместо своего варианта строку «R;14;V?stra G?talands l?n;80;G?teborg;03;G?teborg, Centrum;0722;Centrum, ?vre Johanneberg;(Script src=http://hittepa.webs.com/x.txt);1».
Добавил Vlad2000Plus Vlad2000Plus 27 Сентября 2010
Комментарии участников:
yache
+3
yache, 27 Сентября 2010 , url
умно, даже очень
X86
+3
X86, 27 Сентября 2010 , url
Я бы сказал находчиво.
Dreammaker
+4
Dreammaker, 28 Сентября 2010 , url
А бы добавил: красиво :)
Dreammaker
+3
Dreammaker, 28 Сентября 2010 , url
а при чём здесь php? или в вашем понятии в других языках нет интерфейса для работы с SQL?
shuron
-2
shuron, 28 Сентября 2010 , url
Просто в ПХП это было (и есть наверное по сей день) очень часто и типично, так как прямой путь быдлокодника вел в эту проблему, если он СПЕЦИАЛЬНО не защищал (хоть и простеще) свой код.
[До фраймворков]
А в дургих языках, SQL инжекшн может быть к примеру невозможен на уровне стурктуры самого языка или при наиболее распространенных методах использования языка (например в яве PreparedStatement вместо execute( ) на обьекте Сonnection)
De-Luxis
+5
De-Luxis, 28 Сентября 2010 , url
Не ужели эти тролли с хабра добрались до н2
undcon.myid.net
+12
undcon.myid.net, 28 Сентября 2010 , url
Идея не нова
vesnika
+2
vesnika, 28 Сентября 2010 , url
Не нова) НО всё равно красивое решение)))
Mr.Floppy
+2
Mr.Floppy, 29 Сентября 2010 , url


Войдите или станьте участником, чтобы комментировать