Archive for October, 2010

2010-10-29

Friday, October 29th, 2010

Днешната лекция беше за IP, ето първа и втора част.

Беше лекцията с най-много технически проблеми, с проектора и за малко с тока на част от оборудването (ще залепя бутоните на разклонителите). Също така беше лекцията с най-плашещите въпроси досега, както и с откритието, че има хора, които не знаят какво са това побитови операции.

2010-10-27

Wednesday, October 27th, 2010

Записи от лекцията за Wi-Fi, първа и втора част.

Препоръчвам тоя paper за fragmentation атаката като забавно четиво.

2010-10-21

Thursday, October 21st, 2010

Днес свършихме с Ethernet, качени са и записите – втора и трета част на лекцията.

(след странните мисли за ползване на стълба да оправим проектора най-накрая се оказа, че има най-отдолу в таблото един странен бушон точно за проектора – наложи се да се говори с човек, дето не работи там от поне половин година)

Следващата седмица – Wi-fi и вероятно IP.

2010-10-21 лаптоп

Thursday, October 21st, 2010

Гадост.

Тия дни си счупих матрицата на лаптопа, и по някакъв късмет се намери подобна, която да пасне на него (той е от една серия сглобявани в България и от нея почти не са останали части). Новата е с по-малка разделителна способност (но па не се кани да се спука и изтече, което си е предимство). Около цялата ситуация се замислих да си взема нов laptop…

… и след седмица разпитване и търсене съм стигнал до извода, че няма какво да си взема.

Имам следните сравнително прости изисквания: да има над 1000 пиксела вертикална разделителна способност, да е около 15″ (не ми се мъкне 17″), да няма numpad и touchpad-а да му е по средата (аз ползвам лаптопа във всякакви положения, доста време и от леглото и да го ползвам на една страна просто няма да стане), да работи добре с linux (с това май почти всички се справят) и да е с NVidia видео карта (живея в compiz и искам да ми се движи нормално. То изискването е повече да не е ATI, на които драйверите са боклук). Отказал съм се от изискването да е 4:3 дисплея, щото такива просто няма. Също така част от изискването е да не ми искат над 3к лева за него.

Както се оказва, такова животно нема. Или имат numpad (като вариантите от HP), или за свястна матрица ми искат почти два пъти повече пари (Lenovo T610), или като цяло нямат такава матрица. Стигнах до там да погледна и Apple какво предлагат, но и при тях има widescreen проблема и липсата на хубава вертикална разделителна способност…

Странно ми е, аз ли съм последния останал човек на тоя свят, който ползва основно терминали са му важни вертикалния размер и това да може да работи пълноценно и удобно на клавиатурата си в странни положения? Основните предложения, които чух бяха “ами защо не си вземеш docking station, клавиатура и външен монитор и не работиш така” – аз работна станция си имам, благодаря, ползвам лаптопа, за да мога да контролирам точно разстоянието между очите и монитора (което в моя случай при работа над 8 часа на ден на него е от убийствена важност). Не искам да си взимам и стар лаптоп или такъв втора ръка – част от нещата, които правя си искат прилична процесорна мощност и нямам желание да се връщам с няколко години назад.

Някой да може да даде идея?

2010-10-20

Wednesday, October 20th, 2010

Трябва да измисля начин за по-експедитивно encode-ване на лекциите, например да оставям лаптопа включен в кръчмата, докато ядем.

Днес Боян направи един увод в мрежите и първата третина от лекциите за ethernet.

Също така търсим някой наясно с тоците във ФМИ, за да ни каже как точно можем да спрем за малко тока на висящия от тавана проектор, щото най-вероятно има нужда от рестарт. Не сме съвсем събрали желание да го стигнем със стълбата.

2010-10-15 gsm

Saturday, October 16th, 2010

Едно от нещата, които се каня да напиша от известно време е ситуацията със сигурността на GSM мрежите, от гледна точка на разработките, които се правят в последните няколко години от… да го наречем “open-source” обществото.

Преди няколко години нямаше никакъв research, а в момента има два паралелни проекта – OpenBSC и OpenBTS.

OpenBTS е реализация на GSM стек чрез USRP (Universal Software Radio Plugin) и asterisk, която дава възможност човек да си направи сам (сравнително малка) мрежа. Те оперират една такава в последните години на Burning man (сравнително голямо събитие, случващо се по средата на нищото), като успяват да обслужат няколко хиляди човека използвайки едно USRP, един laptop и един генератор. Тук може да се намери един от разказите им, питайте google и четете, много е забавно. Това дава възможност хора с по-малко средства (например африкански страни) да си реализират собствени GSM мрежи и да използват масовите и евтини апарати, които има по света.

Другият паралелен проект може да се каже, че е OpenBSC (което всъщност е една част). Основния движещ човек там е Харалд Велте (познат от всякакви други полезни неща, които е свършил за човечеството). Започнали са от писането на софтуер, който да може да си говори с малки Siemens-ки базови станции (който се използваше на HAR, за да подкара една доста прилична и използваема мрежа, паралелна на DECT-овската), като в момента имат няколко допълнителни неща – софтуер за демодулиране на заслушан от ефира сигнал, декриптиране на A5/1, както и вариант на baseband processing софтуер.

Като малко отклонение и обяснение, всеки телефон има (поне) два процесора – един baseband процесор, който се занимава с GSM частта, модулации, протокол и т.н. и който се контролира основно през сериен интерфейс с AT команди (които трябва да са ви познати, ако някога сте ползвали модем) и процесор(и), които се занимават с останалото (дисплеи, приложения, клавиатура). На света има само няколко производителя на baseband процесори, като няма особено пълна информация за целия им интерфейс и като цяло са доста затворени. Това води до сравнително сложно правенето на по-специфични устройства или изобщо GSM апарати с по-добра функционалност (например да сте сигурни, че се използва криптиране на връзката).

Като още едно отклонение, GSM спецификацията е огромна, сложна за четене, не съвсем ясна на всички и по принцип всичките тези мрежи са доста затворени, хората, които ги разбират работят основно в телекоми и като цяло това води до един опасен вид екосистема, която вероятно ще се окаже много чуплива при всяка една по-сериозна атака. Например понеже целия дизайн на мрежата е телефоните да вярват на всичко, което им се казва, съответно една от най-простите атаки беше да се направи минималистична базова станция, която се прави, че е от дадена мрежа, което водеше до много регистрации на телефони в нея и съответно доста възможности за послушване (например, доколкото си спомням можеше да се пуска повечето трафик и само да се подменят битовете, които определят какво криптиране да се ползват и съответно да се спира).
Разбира се, протокола си има по дизайн вкарани “проблеми” – например има в момента 4 съществуващи режима на криптиране. А5/0 е да няма криптиране, А5/1 е поточен шифър с 64 битов ключ (за който вече има ефективни атаки), А5/2 е поточен шифър с 40 битов ключ, направен за да могат разни правителства по-лесно да декриптират трафика (40 битов ключ се изчерпва спокойно вече и с домашен хардуер), и A5/3, който се използва основно в 3G и който за момента се води сравнително сигурен.

Та, с този baseband процесор (и може би ако не ги хванат) могат да се правят всякакви забавни атаки, например да се направи fuzzing на някоя GSM мрежа (т.е. да се пробват да се пращат random malformed пакети/потоци и да се види какво ще стане), което вероятно ще доведе до страшни резултати (за съжаление тестовете извън много контролирана среда ще са силно незаконни и водещи до затвор), като например срив на базови станции, различни контролери или при малко по-голям късмет – на цялата мобилна мрежа.

Проектите се развиват доста добре и може да се намерят доста видео материали от различни лекции. Като цяло пак се потвърждава правилото, че security through obscurity не работи и затворената екосистема на GSM мрежите може да се окаже податлива на всякакви елементарни атаки, които internet светът е преборил от много години.
Разбира се, проблемите са известни от доста време и разни хора директно продават устройства, които правят различни атаки (подслушване на трафик, man-in-the-middle) – някои са предназначени за правителства, някои може човек да си ги купи сам и да си ги ползва от вкъщи, като последните не са и особено сложни за опериране.

На курса по мрежова сигурност може да разкажем малко повече подробности по темата, но няма да правим демонстрация, заради времето, което ще отнеме, нужния хардуер и защото въпреки че е сравнително законно да се показва с учебни цели, не ни се занимава и с тая част на нещата.

2010-10-14

Friday, October 15th, 2010

Днес приключихме с лекциите по криптография. Имаше малко оплитания, но с общи усилия добутахме.

Записите са на стандартното място – част 1 и част 2.

Качил съм link и на сайта за документите на NSA по проекта TEMPEST (след около 85та страница), който е един от първите примери за изследване на side channel атаки.

А аз прекарах половината време с макетно ножче в ръка, правейки си от дадения за целта USB кабел една high-frequency антена за proxmark3 (устройството за четене на RFID), успя да ми чуе картата от метрото. Тия дни при малко повече желание ще видя какво още може да се прочете от нея, може да го включим някъде из лекциите.

2010-10-13

Wednesday, October 13th, 2010

Днешната лекция беше криптография. Закъсняхме с 15 минути заради проблеми с единия микрофон (които би трябвало да избегнем за в бъдеще) и заради счупения проектор в залата (в началото бяхме без, после в движение инсталирахме един друг).

В началото за 5 миннути обобщихме резултатите от тестовете – накратко, не особено добри, на сайта има доста подробна информация в презентацията на Боян.

Въпреки очакванията не се събрахме в двата часа и ще довършваме следващия път, надявам се да се съберем в един час. Иначе сама лекция беше много добра, Пенчев говори доста ясно и вероятно студентите са го разбрали :)

Записите са качени на стандартното място – част 1 и част 2.

2010-10-12 дървената ваканция на СУ

Tuesday, October 12th, 2010

Тия дни се появи “новината”, че в проекто-мерките, които се канели да предложат на следващото заседание на ректорския съвет на СУ имало университета да излезе в дървена ваканция за месец-два, за да могат да си закърпят бюджета.
Вече има план по въпроса, говорих с Жоро Чорбаджийски и няма да има проблем да излъчим на живо малко лекции (нужния хардуер го имаме). На живо, за да могат да се задават въпроси, тъкмо хората ще могат да си го гледат на спокойствие и на топло.
(
Всъщност, много се изкушавах да предложа само така да си правим лекциите. Представих си как си стоя на стола на топло и сравнително тъмно, говоря на хората и си пия от уискито. Или как правим изпитването в някоя близка кръчма.
Ехххх, размечтах се.
)

Цялата работа изглежда като нагласена, за да се вдигне шум и да дадат още малко бюджет на СУ без те да променят нещо кой-знае какво. Почти очаквах в мерките да има дарителска кампания със SMS-и, да могат бедните студенти да не умрат от студ в каменните зали.
(което е идея за НАП. Вероятно ако събират данъците със SMS-и, спокойно ще закърпят бюджета – “помогнете на бедната държава”…)

А СУ има огромна нужда да се реформира. Пример мога да давам основно с ФМИ, но те са достатъчни – например тия дни си правехме експерименти със някакво озвучаване на залата, в която водим лекции (аудитория 200), като на уводната лекция използвахме моето кубе от баса и микрофона, с който по принцип записвах пияното. След това открихме, че има два кабела при катедрата с моно-жакове на тях, които водят до колоните на стените, и с digger-а проведохме един ден тестове. Освен, че единия кабел беше добре забутан в един куп жици, че усилвателят, който трябва да е там е забутан някъде по последни данни из ректората, колоните от лявата страна на залата не бяха закачени – около смяната на дограмата са им свалили кабелите и са ги зарязали. С помощта на една стълба и известно време reverse-engineering на точния принцип, на който са свързани (последователно с прекъсване на едната жица през колоните) успяхме да подкараме нещата да работят и следващата лекция ще си имаме съвсем изчистен звук, понеже дори с викане не се чува добре на последните редове.
Чрез разни други източници разбрах, че имало и безжичен микрофон (такъв, който се закача по дрехите) и нужния останал хардуер за да се ползва както трябва залата.

… което води до въпроса, ЗАЩО не се използва това? Не съм единственият, който е имал преподаватели, които няма как да чуе, понеже говорят на дъската или основно на себе си, или такива, които преди 30 години са имали достатъчно силен глас, но сега просто няма смисъл да ги караме толкова да се насилват. Нищо сложно няма в цялата работа, щом отне на двама идиоти около час да оправят останалите проблеми и още около половин за началното тестване на setup-а. Не че имам против да свърша малко обществено-полезна работа, но не върви факултета сам да се дърпа назад към 80те години.

Това е само един елементарен пример. Не искам да говоря за това колко малко свестни преподаватели има останали (но то трябва да е очевидно, щом мен ме считат за добър, може да се мисли точно с какви ме сравняват), как основни неща се преподават калпаво (според предварителния тест, който направихме, преподавателя по мрежи трябва да го разстрелят) и колко страшно е, че всъщност тоя факултет е едно от най-добрите места за преподаване на тоя тип науки в България.

Anyway, я да си гледам двата сървъра с по два изгорели диска (в raid5 масив), те са по-малко вбесяващи.

(всъщност, кратка добавка. И някои студенти са не-малки идиоти, има предложение от студентския съвет да се ползват студенти за да правят промени в базата данни със студентите – като мярката да няма възползване от положението щяла да е – студенти от един факултет работят само по студенти от друг. Не мога да си представя, че някой би си повярвал и направил такова предложение без да се захили на идиотизма му.)

Update: Оказва се, че в една от залите (325) техническия проблем с тия неща е решен и по принцип си има всичко нужно да се чуват добре нещата (май има само микрофони, които трябва да се държат, но пак е нещо).

2010-10-08

Friday, October 8th, 2010

Вчера направихме първата лекция по мрежова сигурност – уводната. Записите са качени.

Различното от предишни години е, че сложихме малко озвучителна мощност (един микрофон и мото кубе от баса), за да се чува по-добре назад, поне за сега резултата изглежда ок, и звукът на записите е по-чист.

Направихме един предварителен тест на студентите, резултатите не са от най-хубавите. Ще ги изнесем на сайта в най-скоро време (вече са проверени).

(мен цял ден ме боля главата и го изкарах основно в леглото).

2010-10-05 “Мрежова сигурност 1” – уводна лекция.

Tuesday, October 5th, 2010

Днес направихме първата лекция на “Мрежова сигурност 1”. Обяснихме:
1) как следващия път ще направим един кратък уводен тест, за да си изясним какво е нивото на хората и да си напаснем конспекта;
2) как ще намерим по-голяма зала от 002;
3) че ще измислим решение на въпроса със записването (изглежда в системата на ФМИ има лимит от 100 човека);
4) оценяването е 2 теста (всеки по 30 точки) и курсов проект (40 точки). От 80 точки нагоре е оценката е 6, под 50 е 2. Курсовите проекти са сравнително практически ориентирани и по-голямата част от тях са групови;
5) че курсът няма да е лесен.

За записите още не сме изяснили, вероятно ще има. Трябва да видим в кого е камерата и дали можем да намерим статив.

Вече има mailing list за курса, да можем лесно да spam-ваме студентите. Остана да се запишат :)

Курсът си има и сайт, само трябва да се update-не малко.

Планирали сме разни интересни неща, като например да демонстрираме слушане на GSM мрежа.

Update: Курсът е вторник и четвъртък от 19:00 в зала 200 на ФМИ.

2010-10-03 “зоната на crash-а”

Sunday, October 3rd, 2010

Едно време имаше едно интересно предаване, “Зоната на здрача” – всеки епизод беше някаква странна история (в общи линии horror, но от един по-изчистен вид). Днес, докато гледах как се зарежда един java applet за гледане на отдалечена конзола, на който долу в дясно с червени букви пише “oracle” (само дето кръв не тече от тях), се сетих, че нещо такова може да се направи и за IT-то.

Предаването ще започва с преливане на син екран в kernel panic, който от своя страна преминава в output-а на mkfs (например за minix файлова система), който изгърмява някъде по средата.

Първата идея за епизод е oracle да купят microsoft. Изведнъж ще се появи oracle .NET, и понеже толкова зло на едно място не може да стои, ще колабира до някакъв псевдо-random генератор (псевдо, щото ще генерира само зло). Съответно ще се смеси синтаксиса на c# и java, като на всеки 13ти ден + и – ще си разменят действието, всички reference-и ще се обърнат в указатели и ще се отместят с единица надясно, а всички int-ове ще се занулят. На random пък базите данни ще си разменят две колони от произволна таблица (само като стойности).
Компилаторът на visual studio ще изтрива произволни някой реда от кода, преди да го компилира (по идея от BOFH) и на random ще заменя struct с union.
Oracle базата ще се разпространява под linux като модул на ядрото, който при crash да замазва firmware на каквото успее.

Друга идея за епизод е linux kernel-а да се пренапише на ruby.

Подобна идея е cisco да пуснат router с нов тип ASIC-и, които се програмират на perl. Един пропуснат символ и целия internet се срива.
За сметка на това решават да пренапишат IOS-а си директно на машинен код. Кракерите им писва на първата седмица да report-ват проблеми и започват да report-ват кое работи в SNMP-то.

Изведнъж всички компютри се обръщат на 5тична логика и се налага преписването на всичкия съществуващ софтуер. Епизодът може да се спре на някоя сравнително проста задача, например web сървър.

Изчезва валидацията на входните данни от всичкия софтуер.

Взима се решение целия свят да мине на нов календар.

По странно стечение на обстоятелствата българската държавна администрация печели конкурс за софтуер за контрол на ITER и наема останалите живи специалисти от Чернобил. Хардуерът ще се прави от завода в Правец, който има лицензирани pentium процесори от първите.

Открива се нов проблем с пробиване на всичкия C софтуер, на който може да се пише в последните два байта на string (преди \0) и изведнъж всичко може да се exploit-ва.
(вариация – всички escape функции се оказва, че пропускат определен символ)