Blogs

Всі на екзамен!

Є в Штатах такий собі інститут SANS Software Security Institute , котрий, як видно з назви, займається проблемами написання безпечного коду. Проаналізувавши біля 7 тисяч різних вразливостей вони вирішили написати на базі цього екзамени з 4 напрямків програмування -- C/C++, Java/J2EE, Perl/PHP, .NET/ASP . Екзамени випробують у Вашингтоні і після цього будуть розповсюдять по світу. Питання в основному складатимуться із шматків коду, де потрібно буде ліквідувати вразливість. Після успішного складання іспиту буде видаватися сертифікат. Можливо це знайде поширення і в нас, особливо y software компаніях та програмістах які прагнуть підвищити свою самокваліфікацію. Особисто я вважаю, що кращого засобу при написанні якісного коду ніж презeрватив не існує. Мережі не потрібні аматори, котрі прочитавши брошурку чи якусь книжку, роблять із себе великих програмерів, а якість їхньої роботи бажає тільки кращого.

Про банківський домен

Продовжуючи доменну тему, Європа запропонувала ICANN створити для банків та фінансових організацій окремий домен -- .bank, .safe, .sure . Основну ціль яку ставлять банки, так це уберігання клієнта від шахраїв. Домен будуть видавати тільки після проходження певної процедури. Фактично, схема буде такою самою як і з .gov .
Це вже наступна спроба банків перейти на наступний рівень безпеки роботи з клієнтами в Інтернет. Спочатку висувалась ідея модифікації веб-браузера – при відвідуванні безпечних сайтів фінансових структур, адресна стрічка браузера забарвлюється у зелений колір. Але щось ідея заглохла. Тепер банки хочуть мати окремий домен. ICANN наразі не подає жодних коментарів на цю тему. Особисто мені ця ідея сподобалась. Цей хід може значно скоротити кількість шахраїв. Оскільки, Україна теоретично рухається в Європу то напевне нам такого домену давати не будуть, ну це за умови що взагалі буде створено такий домен.

lg.ua - суттєва колізія доменних імен в ua

Нарешті ми дочекалися досить серйозної колізії, яка вже давно прогнозувалася. Суть проста - два різні правила регламентують появу доменів 2-го рівня в ua. Це або домен географічної області (обл центру), або торгова марка. Зазначу, що напевно всі назви обл центрів є торговими марками (типу горілки "Львів")
У конкретній ситуації стикнулися LG та Луганськ. Як результат - www.lg.ua - сайт LG, а решта сайтів в зоні lg.ua - географічні сайти Луганська.
Список таких сайтів можна побачити наприклад тут - http://www.google.com/search?num=100&hl=en&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&q=site%3Alg.ua&bt nG=Search

Таким чином, усі сайти з луганської зони виглядають тепер ніби з доменного адресного простору LG (субдомени). Для комерційних сайтів компаній такі субдомени однозначно розглядаються спільнотою як афілійовані або просто окремо виділені проекти компанії.
Зазначу, що серед "субдоменів" LG можна знайти тепер і відверту порнуху. З чим я LG і щиро вітаю.

FreeBSD 6.1 + MYSQL 4.0 != ERROR 2002

Якось вчора так склалось життя, що довелось мені згадувати своє раннє дитинство і встановлювати сервер FreeBSD 6.1 . От ніби і в садок ходив, і в школі вчився, але після встановлення MYSQL 4.0.25 не міг його запустити. Встановив потім 5 версію – те саме. А в принципі, судячи із відгуків різних маньяків 4-й MYSQL працює значно стабільніше. Я ще зі свого народження підсів на нього і на 5-й ще переходити не збираюсь. В матеріалі мова піде про те, що мені довелось пережити щоб підняти MYSQL.
А почну із того, що встановлював я не з портів. Після встановлення спершу потрібно залізти у /usr/local/share/mysql і знайти 3 файли : mysql-small.cnf , mysql – medium.cnf, mysql-large.cnf . Як сі можна здогадати це типові конфігураційні файли для MYSQL . З назви видно, що кожен містить налаштування в залежності від схеми використання СУБД. Я особисто, вибрав 2-й файл та перейменував його у my.cnf. Щоб ці налаштування зробити глобальними потрібно скопіювати файл у /etc. Далі, через текстовий редактор проглядаємо налаштування. Єдине, що потрібно там змінити, так це розкоментувати стрічки: log-bin=mysql-bin; server-id=1. Ці стрічки відповідають за схему використання серверу – master чи slave. В даному випадку я визначив використання MYSQL у master режимі. Починаючи з freebsd 5 сокет mysql розміщений у файлі /tmp, тому його потрібно відкрити для запису(chmod 777 /tmp). Заходимо у /etc/rc.conf і прописуємо стрічку mysql_enable=”YES”( це автоматичний запуск СУБД після перезавантаження). Ну і в кінці потрібно змінити власника /var/db/mysql ( chown –R mysql:mysql /var/db/mysql). При встановленні MYSQL створюється користувач mysql та група до якої він належить mysql . Коли ми створюємо базу даних, то відповідно створюється файл з такою ж назвою ( поняття каталога у freebsd не існує!) у /var/db/mysql. Оскільки mysql запускається під користувачем mysql, то він повинен мати права на запис у цей файл. Перезавантажуємся і працюємо в СУБД. В даному матеріалі я упустив ті ерори , що видавала мені система і ті матюки, які я давав їй у відповідь. Фактично у таких випадках весь аналіз здійснюється по логах, які формує система. MYSQL записує всі свої помилки у /var/db/mysql/.err. Я вже близько року бавлюся із серверами і найгірше, те що не існує повноціного матеріалу, який би дозволив побувати сервер. Офіційна документація тільки до якогось демона зазвичай складає кілька десятків сторінок і не завжди є час її читати. Ще літом в мене виникла ідея написання такої книжки, але мені просто ліньки це робити, а особливо набирати. Тому шукаю привабливу дівчину, котра б могла це для мене зробити

Рух життя або динамо. За Подерв’янським.

У даному матеріалі мова піде про загальні алгоритми проектування розподіленої обчислювальної мережі з повністю визначеною інформацією про її об’єкти. Метою написання матеріалу є виключення можливості роботи алгоритмів віддаленого пошуку.
Однією із причин успішної атаки на розподілену обчислювальну мережу (ОМ) є відсутність інформації про доступ до віддаленого об’єкту. І тому, якщо на початку створення ОМ таку інформацію повність визначити, то це може суттєво скоротити серію атак на цю мережу. Але при високій кількості таких об’єктів, таку мережу побудувати практично не реально.
Сцена поступово освічується місячним сяйвом. Так, що становиться видно перший алгоритм, що базується на використанні інформаційно-пошукового сервера, та другий із використанням широкомовного запиту. Раптом зверху падає кінець і по ньому швидко з’їжджає хакер і дає _____ другому алгоритму. Хакер:

True чи False? Ось запитання.

Пригадується, ще за часів життя короля Косяка, саме того який віддав свою Маріхуанну-Прекрасну і півцарства за Івана-Наркомана, був тоді галімий Інтернет без DNS серверів. І означало се, що доводилось тоді користуватись 32-розрядними ІР-адресами. Але знайшлися мудреці, котрі створили текстовий файл із відповідністю імен комп’ютерів до їх ІР-адрес – так званий host file. І абгрейдився цей файл кожного разу і передавався він від одного компа до іншого і тільки заради того, щоб юзер міг собі замість 127.0.0.1 набрати у стрічці браузера чарівне слово localhost. Але мережа росла, наркомани розмножувались і постала тоді необхідність у створенні єдиного інформаційного сервісу котрий б здійснював перевід мнемонічно зрозумілих імен у ІР-адреси та навпаки. І постала тоді доменна служба імен DNS (Domain Name Server) зі своїм спеціяльно створеним протоколом. Тоді всі зібрались, ширку прийняли, димедрол ковтнули, траву скурили та й вирішили, що буде працювати тоді цей DNS та ще й за таким алгоритмом :

UML: історія, специфікація, бібліографія

Буй Д.Б., доктор фізико-математичних наук, старший науковий співробітник
Шишацька О.В., інженер-програміст, що виконує науково-технічні розробки
Київський національний університет імені Тараса Шевченка
кафедра теорії та технології програмування
Зроблено стислий екскурс в історію виникнення та розвитку UML, наведено короткий огляд мови та зроблено спробу систематизувати велику кількість навчально-наукової літератури, присвяченої цій мові.
Ключові слова: UML, об’єктно-орієнтоване проектування, мова моделювання, специфікація, семантика.
Останнім часом великої популярності набула мова моделювання UML (Unified Modeling Language), яка стала “стандартом де-факто” в області розробки програмного забезпечення та застосовується для розв’язання задач інших галузей, наприклад, бізнес-моделювання. У роботі зроблено стислий екскурс в історію виникнення та розвитку UML, наведено короткий огляд мови та зроблено спробу систематизувати велику кількість навчальної та наукової літератури, присвяченої цій мові.
Виникнення та призначення мови

Форум Міністерства науки та освіти. Український досвід

Натрапив на форум офіційного сайту Міністерства науки та освіти України http://www.mon.gov.ua/phpbb/index.php
У перший момент не повірив - один з двох розділів - "Хабарництво у навчальних закладах". Якщо чесно, ситуація мене зацікавила, а навіть і вразила. Я вже п'ять років адмініструю досить популярний форум http://misto.ridne.net і знаю, як важко буває, коли на форумі зявляється компрометуючий когось допис (особливо про корупцію).
А тут - цілий розділ. Та ще й на офіційному сайті міністерства. А тепер питання - навіщо воно їм? Адже по анонімному допису якось складно вживати заходів, з другого боку - інформація з форуму не видаляється. І так виходить, що на офіційному сайті міністерства висить повідомлення, що "такий-то директор садочку взяв у мене 100 баксів". Для більшості людей, що не близькі до інтернету, різниці між форумом та сайтом нема жодної. Як і для юристів (до речі, можна переглянути наприклад, ось цей матеріал про відповідальність власників та модераторів форумів http://it.ridne.net/moderators-law).
Зразу моделюю ситуацію - хтось на замовлення кидає повідомлення, де "жертва" виступає як "хабарник", далі дається відмашка для проведення комплексної перевірки і пішло-поїхало...
Думаю, форум МОНУ - це помилка. Форуми при державних органах можуть і повинні існувати, але не в форматі Гайд-Парку, а в форматі "громадської приймальні" та "бази знань"
P.S.Не думайте, що тут щось особисте. Форум переглянув, жодного знайомого прізвища чи закладу не знайшов.

Holidays in Greece
HDR and 4K TV Review

Google + наука = 120 терабайт даних

Компанія Google розпочинає створення програми, що здатна перекачувати величезні масиви даних. Перше застосування вона знайде для передавання інформації об’ємом до 120 терабайт на базі вже прокладених (створених) мереж. Програма буде відкритою і розрахована на застосування у науковій сфері. Наразі буде розроблятися клієнтська версія, а згодом і серверна. Компанія вже надіслала сотні вінчестерів у наукові заклади для збору інформації. Передбачається, що найбільше застосування програма отримає у сфері біології, генетики, географії. Можливо у подальшому, зібрана інформація буде доступною всім бажаючим.
Це колосальний прорив у сфері ІТ. Маючи єдине сховище даних, що стосується якоїсь проблеми, наукові заклади можуть вирішувати ці проблеми спільно. Врешті вся інформація буде міститися в одному місці. Пригадуються ті часи, коли ходив з дискетою у 5 дюймів і дивився на неї, як зараз на флешку у 8 Гб. Навіть старий анекдот пригадався: « У моєї бабці досі є Євангеліє 1800 року випуску, - Супер! Певно ще на 5-дюймових дискетах.»

Байка про експлойти 80 порта

[13:31] ВОНО: піпл, дайте ай-пі якогось придурка!!
[13:32] Хтось: 127.0.0.1
[13:32] ВОНО: дякую!
[13:32] ВОНО: зараз він здохне
[13:33] ** ВОНО вийшло з чату
А щоб вияснити прізвище та ім’я ВОНО необхідно прочитати даний матеріал до кінця. Я наведу перелік простих сигнатур котрі залишаються в логах після спроб взлому веб-сервера. Вони охоплюють перелік поширених дір сервера apache, а також можуть використовуватись для аналізу захищеності веб-проектів.

А почну я мабуть із найбільш поширеної вразливості – переповнення буферу. При такій вразливості стрічка може мати вигляд : http://ip-host/cgi-bin/test?type= 1111111111(256 разів).

Якщо веб-сервер запущений під root то зловмисник може отримати повний доступ до системи. Тобто, якщо у логах знайдете стрічку такого типу, значить сервер тестувався на предмет переповнення буферу.
Використання «<?»
Передбачає спробу внесення РНР коду. Наприклад : http://ір-host/andr.php=<? passthru("id");?> , при чому запит може бути написаний у 16-й системі числення.

Використання «<» та « >»
Символи передбачають перенаправлення вводу-виводу у файл. Приклад : "http://ip-host/andr.php=Hello" . Це належить до атаки типу SSI (Server Side Include).

Використання «!». Може статися халепа, якщо користувач натисне на таке посилання http://ip-host1/andr.php= . У такому разі файли зільються докупи andr.php та andr-bad.php, стануть одним цілим. Це також SSI.
При такій стрічці : http://ір-host/andr.php= зловмисник запустить команду id . А при такій http://ip-host/andr.php= взагалі приєднає файл із паролями .htpasswd. За замовчуванням apache не повинен бачити і мати доступ до файлів, що починаються із .ht . Проте тут ситуація трохи інша і SSI обходить цю заборону.

Використання «|». В Юнікс ця команда передбачає виконання кількох команд одночасно. Команду можна використати, наприклад, так : http://ip-host/cgi-bin/andr.cgi?page=cat%20access_log|grep%20-i%20"andr"
Використання «%00»
Це є 16-ве представлення нульового байту. Використувається для емуляції запиту іншого файлу : http://ip-host/cgi-bin/andr.cgi?page=../../../../etc/motd%00.html . Вразливість використвується при дозволених запитах виду http://ip-host/cgi-bin/andr.cgi?page=index.html .
Використання «.» «..» «...»
Ця сигнатура використовується для зміни директорії на сайті. Її найчастіше використовують у CGI дірах. Наприклад http://ip-host/cgi-bin/andr.cgi?file=../../../../etc/mount

Більшість систем-аналізаторів запитів досліджує їх «прямо», пропускаючи семантичне навантаження. Тобто, якщо представити запит у 16-й системі числення то більшість IDS можуть такий запит пропустити. І в результаті получається як в тім анекдоті : «Один процесор іншому – Які ті люди є тупими. Бешкетуємо ми, а гримають вони по моніторам.»

Тобто при створенні веб-проектів не варто використовувати тільки засоби захисту, які пропонує сервер. Цей комплект необхідно доповнити ще й своєю системою захисту. І нехай connect буде з вами ...

Нові технології кешування в Windows Vista

В кінці 2006-го року всіма нами шанована компанія Microsoft випустила в продаж  давно очікувану нову операційну систему Windows Vista, що покликана прийти на зміну Windows XP. Зразу ж в Інтернеті почалися дискусії на тему – чи є Windows Vista дійсно краща за Windows XP? Чи це лише спроба компанії збільшити власні прибутки за рахунок продажу недосконалої ОС кінцевому користувачу, який власне кажучи вже майже 6 років чекає від Microsoft чогось кращого за ОС Windows XP?

Давайте розберемося, що нового і цікавого може запропонувати Microsoft у своїй новій ОС. Безперечно зміни у новій системі значні, я не маю на увазі тільки новий візуальний інтерфейс AeroGlass. Користувачі бета-версій нової ОС безперечно помітили якісні зміни в інтерфейсі взаємодії з ОС, покращення мережевих та інших функцій. Але тут розмова піде не про це. Перш за все нас цікавлять нові технології кешування даних, анонсовані в Vista - SuperFetch і ReadyBoot. Попробуємо розібратися що це таке.

AJAX - новий підхід до побудови інтерактивних веб-сайтів

AJAX (від англ. Asynchronous JavaScript and XML — «асинхронний JavaScript і XML») — це підхід до побудови інтерактивних користувацьких інтерфейсів веб-додатків. При використанні AJAX веб-сторінка не перезавантажується повністю при взаємодії з користувачем. Замість цього з веб-сервера довантажуються тільки необхідні користувачу дані.

Для того щоб дана концепція працювала необхідно між клієнтом і сервером створити так званий Ajax-движок. Який би виконував функції асинхронного доступу користувача до даних на сервері. Як же ж працює модель Ajax?

  • Користувач заходить на веб-сторінку і натискає на якийсь її елемент.
  • Скрипт (на мові JavaScript, якраз той самий Ajax-движок) визначає, яка інформація необхідна для оновлення сторінки.
  • Браузер відправляє необхідний запит на сервер.
  • Сервер повертає лише ту частину документа, яка була запрошена.
  • Скрипт вносить зміни у веб-сторінку, враховуючи отримані результати (без повної перезагрузки сторінки).

Як було сказано вище Ajax – це лише підхід, а не технологія. Він базується на ряді технологій:

Djuice піариться на Джинсі

Якщо пошукати "Джинс" на google.com, то у блоці контекстної реклами висить реклама DJUICE - його основного конкурента.
Про подібні способи реклами на чужих брендах ми уже говорили на сторінках цього сайту. Очевидно, значних витрат Київстар на таку рекламу не матиме, адже конкурентів там нема, очевидно ціна за клік мінімальна, та й клікатимуть рідко - реклама іміджева

Наукові дослідження торгівлі на еBay

Таке явище як Інтернет-аукціони стали сферою досліджень багатьох вчених різних напрямків.
Такий величезний аукціон як eBay дає багато інформації для наукових досліджень та роздумів. Професори маректингу, економіки, менеджменту і психології опублікували десятки наукових праць, які стосуються роботи на eBay.
Журнал BusinessWeek зробив "екстракт" з усіх наукових праць і навів короткий список основних порад по ефективній торгівлі на інтернет-аукціонах.
Це деякі нюанси, які дозволяют продати дорожче і купити дешевше.

1. Низька стартова ціна лоту приваблює учасників аукціону, яки психологічно готові придбати товар, навіть після суттєвого зростання вартості лоту. Британські вчен-економісти дослідили, що товари, виставлені з стартовою ціною 1 цент, продаються за ціною, вищою за середню. Чим нижча стартова ціна - тим кращий результат торгів

Для чого потрібний брандмауер?

Брандмауер (Firewall) – це захисна стіна, що стоїть між мережним адаптером та операційною системою. Будь-який IP-пакет, перш ніж потрапити на обробку операційної системи (наприклад, для маршрутизації або передачі його web-серверу) проходить через строгий контроль. Будь-який вихідний пакет також натрапляє на цю стіну, і може бути пропущений, відкинутий, підрахований або змінений. Якщо пакет проходить через операційну систему наскрізь (маршрутизується), то його перевірка відбувається як на вході, так і на виході. При складній обробці пакету він може проходити через брандмауер і більшу кількість разів.
Брандмауер дозволяє заборонити доступ до певних портів системи, з певних хостів або по деяких протоколах. Він може запобігти переважній більшості атак, пропускаючи тільки ті пакети, які адміністратор визнав допустимими. За допомогою брандмауера можна робити дві речі. По-перше, фільтрувати пакети по заданих критеріях і, по-друге, вести облік, зберігаючи статистичну інформацію про використання системи, стежачи за тим, які об'єми інформації і звідки надходять.

XSS-ін’єкція

В даній статті розглянемо методи захисту від такого типу вразливості Веб-додатків як XSS ін’єкція. Що ж таке XSS ін’єкція?

XSS - (англ. Сross Site Sсriрting) - міжсайтовий скриптинг, тип вразливості комп’ютерної системи. Особливістю даного типу атак є те, що замість безпосередньої атаки сервера, використовується вразливий сервер в якості засобу для атаки на клієнта.

Cross-site scripting - це одна з найбільш поширених вразливості Веб-додатків. При такому типу атаки, атакуючий розміщує шкідливий JavaScript або інший вміст на Веб-сторінці (наприклад повідомлення на форумі), який пізніше може бути виконаний цим Веб-додатком. Тут ми говоримо про скрипти, які можуть бути вставлені в HTML-код, і потім виконані браузером користувача.
Розрізняють п’ять найбільш поширених таких скриптів:

  • <script>: часто використовується для вставки JavaScript або VBScript;
  • <object>: часто використовується для вставки Flash, ActiveX-компонентів та ін;
  • <applet>: використовується тільки для Java applets; все частіше замінюється на <object>;
  • <iframe>: використовується для вставки фреймів;
  • <embed>: використовується для програвання медіа файлів; все частіше замінюється на <object>;

Варто зазначити, що картинка обробляється браузером з використанням тегу <img>, і є особливою формою <object>, а отже теж може використовуватися для XSS-ін’єкції.

Не бійтеся цієї гранати – вона ручна.

Складається враження, що MYSQL хоче відмовитись від принципів вільного ПЗ. Після версії 5.0.27 ( а зараз є 5.0.30) вже не можна скачати бінарники. Інтернетом поповзли чутки, про те що компанія по трохи переводить користувачів на платну версію БД ( а це щорічно 5000 дол) . Що тут цікаво, так це те, що обидві версії (платна та безкоштовна) компілюються з одного і того ж коду. Тільки як запевняють, розробники, платна версія працює значно стабільніше. Компанія також поширила авторське право на весь програмний код, що дозволяє їй у будь-яку хвилину змінювати умови ліцензії. То як в тім анекдоті: «Вам каву чи чай?»,- «Каву», -«Не вгадали – чай».

Знову біометрія: робота з відбитками пальців

На сьогодні виділяють 3 базові класи для роботи із відбитками пальців. Перший клас базується на порівнянні візерунку відбитків. Алгоритм працює за наступною схемою. Відскановане зображення розбивається на множину секцій ( чим менша секція, тим вища точність). Місцезнаходження папіляру у цій секції описується певною синусоїдою ( початковий зсув фази, напрям поширення). Потім порівнюються хвильове представлення відповідних секцій шаблону та відсканованого зображення.
Другим класом є кореляційне порівняння. Коли два відбитки накладаються один на інший та проводиться розрахунок кореляції між відповідними пікселями. Зображення можна зміщати та повертати.

Біометричні системи доступу

Цього разу я спробую провести короткий огляд біометричних систем.

На перше місце я б поставив сканери сітківки ока. Інфрачервоний промінь малої інтенсивності скеровується на зіницю для фотографування малюнку, який утворюють кровоносні судини. Коштує така цяця біля 500 дол. Сканери такого типу вважаються найкращими. З цього ж класу можна придбати трохи таньші системи (десь 300 дол), але менш надійніші. Такі системи записують картинку плям та прожилок поверхні ока. Вони є менш надійними. Якщо зробити фотографію ока з високим розширенням, то такий сканер можна обійти. Пригадується, як у якомусь фільмі для того, щоб обійти сканер злочинцю довелось виколупати очі авторизованій особі.

Справа Поносова: "підстава" року?

Все більшого розголосу набуває справа простого директора сільської школи в російській глубинці, якого "злий майкрософт" хоче засадити на 5 років за використання в комп'ютерному класі неліцензійного Віндовса.
Чим раз, тим ця історія стає вже драматичнішою, уже розгорнуто масовий суспільний рух за врятування Поносова, "правильні" політичні сили та молодіжні рухи Росії пікетують американську компанію, освітяни проклинають авторське право і терміново переставляють софт по школах і ВУЗах.
Проте, усе це чим раз тим більше починає нагадувати якусь комедію, де почесна роль "офірного козла" відведена Майкрософту.

Якось вже дуже нелогічно виглядає наїзд за неліцензійність на дуже глубоку сільську школу в Пермській області.
От у мене і народилася інша версія подій. Хтось у Росії вирішив підготувати ідеологічний грунт для певних змін у питанні інтелектуальної власності, можливо і в питанні регламентації використання ліцензійного програмного забезпечення у сенсі поступового переводу держави на вільновживане ПЗ.
От і "зробили людську жертву". Зверніть увагу на вибір – директор сільської школи на просторах колишнього союзу – постать майже сакральна (заледве не заміна священнику). Та й прізвище у нього таке "народне", що саме по собі викликає співчуття. А тут злі "америкоси" заганяють його в тюрму, залишаючи сільських діток без освіти, державу без майбутнього… Жах…
А тепер зверніть увагу на російські форуми та блоги. Вони всі переповнені благородним гнівом дописувачів, зазвичай дуже недурних і передових людей в сторону Майкрософта, і того всього, що фірма символізує.
А тут ще і Путін нарешті висловився. І висловився однозначно на підтримку Поносова, але як і слід було чекати – набагато ширше: "работа по защите интеллектуальных прав «не должна проводиться формально". Розумій як хочеш – чи не повинна така робота проводитися взагалі, чи повинна проводитися "неформально"…

Syndicate content

© Інформаційні технології. Аналітика , Рідна Мережа