Як ми перевіряємо безпеку мобільних додатків, і чому це непросто. Безпека в Яндексі

    Мене звуть Юрій Леоничев. Я працюю в службі інформаційної безпеки Яндекса, де розробляю цікаві сервіси, що комбінують методи машинного навчання з аналізом BigData. Як ви знаєте, у Яндекса велика кількість мобільних додатків. І якщо безпекою наших веб-додатків ми займаємося вже давно, то мобільним часто приділялося недостатньо уваги. Частково це було пов'язано з тим, що мобільні додатки вважалися продовженням своїх «великих» братів, надбудовами над WEB API.
 
 
 
Але з появою мобільних платформ iOS і Android ситуація кардинально змінилася. Кількість розроблюваних нами додатків росло, складність їх зростала, а деякі з додатків стали окремими великими самостійними проектами. Крім того, ми звпустілі Яндекс.Store, де нам треба було перевіряти безпеку вже сторонніх додатків.
 
Відсутність вразливостей як в додатках Яндекса, так і в сторонніх ми навчилися забезпечувати різними сопособамі, в тому числі і застосувавши машинне навчання. Про те, як у нас влаштована робота в цьому місці я і розповім. Почну з того, як ми перевіряємо свої власні додатки.
 
Читати далі →

Google використовує машинне навчання, щоб підвищити ефективність центрів обробки даних

    Інтернет-гігант застосовує машинне навчання і штучний інтелект для підвищення ефективності своїх дата центрів. Як повідомив Джо Кава, віце-президент напряму ЦОД в Google, компанія почала застосовувати нейронні мережі для аналізу величезної кількості даних, що збираються на серверах, і видачі рекомендацій з удосконалення їх роботи.
 
Фактично, Google збудував комп'ютер, який знає про його дата-центрах навіть більше, ніж самі інженери. Людський ресурс не списується з рахунків, але Кава вважає, що використання нейронної мережі дасть Google можливість досягти нових горизонтів в ефективності роботи серверних ферм завдяки виходу за рамки того, що можуть побачити і проаналізувати інженери.
 
 
Читати далі →

Експеримент в Яндексі. Як ідентифікувати зломщика за допомогою машинного навчання

    На серверах Яндекса зберігається багато потрібної і важливої ​​для людей інформації, тому нам необхідно надійно захищати дані наших користувачів. У цій статті ми хочемо розповісти вам про наших дослідженнях, в яких ми вивчаємо, як відрізнити власника аккаунта від зловмисника. Причому навіть тоді, коли обидва мають логін і пароль від облікового запису. Ми розробили метод, який заснований на аналізі поведінкових характеристик користувачів. Він використовує машинне навчання і дозволяє відрізняти поведінку справжнього власника аккаунта від зловмисника по ряду характеристик.
 
 
 
Такий аналіз базується на математичній статистиці і вивченні даних про використання сервісів Яндекса. Поведінкових характеристик недостатньо, щоб однозначно ідентифікувати користувача і замінити тим самим використання пароля, але це дозволяє визначити злом вже після авторизації. Таким чином, вкрадений пароль від пошти не дасть прикидатися її справжнім власником. Це по-справжньому важливий крок, який дозволить по-іншому поглянути на системи безпеки в інтернеті і вирішити такі складні завдання, як визначення справжнього власника аккаунта, а також моменту і характеру злому.
 
Читати далі →

Weka проект для задачі розпізнавання тональності (сентименту)

    Це переклад моєї публікації англійською мовою .
  
Інтернет повний статтями, нотатками, блогами і успішними історіями застосування машинного навчання (machine learning, ML) для вирішення практичних завдань. Хтось використовує його для користі і просто підняти настрій, як ця картинка:
 
 image
 
Правда, людині, яка не є експертом в цих областях, часом не так просто підібратися до існуючого інструментарію. Є, безумовно, хороші і відносно швидкі шляхи до практичного машинному навчанню, наприклад, Python-бібліотека scikit . До речі, цей проект містить код, написаний в команді SkyNet (автору довелося бути її лідируючим учасником) і ілюструє простоту взаємодії з бібліотекою. Якщо ви Java розробник, є пара хороших інструментів: Weka і Apache Mahout . Обидві бібліотеки універсальні з точки зору застосування до конкретного завдання: від рекомендаційних систем до класифікації текстів. Існує інструментарій і більше заточений під текстове машинне навчання: Mallet і набір бібліотек Stanford . Є й менш відомі бібліотеки, як Java-ML .
 
У цьому пості ми сфокусуємося на бібліотеці Weka і зробимо проект-заготовку або проект-шаблон для текстового машинного навчання на конкретному прикладі: задача розпізнавання тональності або сентименту (sentiment analysis, sentiment detection). Незважаючи на все це, проект повністю робочий і навіть під commercial-friendly ліцензією, тобто при великому бажанні ви можете навіть застосувати код у своїх проектах.
Читати далі →

Як змусити працювати бінарний класифікатор трішки краще

Disclaimer: пост написаний за мотивами даного . Я підозрюю, що більшість читачів прекрасно знає, як працює Наївний Байєсівський класифікатор, тому пропоную лише мигцем хоча б глянути на те, про що там йдеться, перед тим як переходити під кат.
Рішення задач за допомогою алгоритмів машинного навчання давно і міцно увійшло в наше життя. Це відбулося за всіма зрозумілим і об'єктивних причин: дешевше, простіше, швидше, ніж явно кодіть алгоритм вирішення кожної окремої задачі. До нас, звичайно, доходять «чорні ящики» класифікаторів (навряд чи той же ВК запропонує вам свій корпус розмічених імен), що не дозволяє ними керувати повною мірою.
Тут я б хотів розповісти про те, як спробувати домогтися «кращих» результатів роботи бінарного класифікатора, про те які характеристики бінарний класифікатор має, як їх вимірювати, і як визначити, що результат роботи став «краще».
 
Читати далі →

відрізняти автобус від автомобіля по GPS-треках

    
 Фото Artem Svetlov
Для побудови правдоподібною заторної картини проект Карти Mail.Ru обробляє велику кількість інформації з GPS-треках учасників руху. Часто про самому джерелі треків мало що відомо, у тому числі з міркувань безпеки. Але для визначення дійсної ситуації на дорогах мені завжди хотілося знати більше. Хоча б для того, щоб розуміти наскільки швидкість машини джерела відповідає швидкості решти потоку. У даній статті мова піде про метод виділення маршрутних транспортних засобів (автобусів, тролейбусів, маршруток і трамваїв) з ​​необробленого потоку даних GPS.
 
Читати далі →

Як поліпшити сегментацію користувача активності. Семінар в Яндексі

    Відомо, що активність користувачів дає різноманітну корисну інформацію для пошукової системи. Зокрема, вона допомагає зрозуміти, яка інформація необхідна користувачеві, виділити його персональні переваги, контекст теми, якої користувач в даний момент цікавиться. Більшість попередніх досліджень з даної теми або розглядали всі дії користувача за фіксований період часу, або ділили активність на частини (сесії) залежно від заздалегідь визначеного періоду неактивності (таймаута).
 
Такі підходи дозволяють виділити групи сайтів, які відвідуються з однаковою інформаційної потребою. Однак, очевидно, що якість такої простої сегментації обмежена, тому кращу якість може бути досягнуто за допомогою більш складних алгоритмів. Ця доповідь присвячена проблемі автоматичного розділення активності користувачів на логічні сегменти. Спираючись на наявну інформацію, ми пропонуємо метод для автоматичного розділення їх повсякденній діяльності на групи на основі інформаційної потреби. Я розповім про декілька методах сегментації і приведу порівняльний аналіз їх ефективності. Запропоновані алгоритми значно перевершують методи, засновані на поділі залежно від таймаута.
 
  
Призначена для користувача активність в браузері, пошуковику або на конкретному сайті є багатим джерелом корисної інформації: переформулювання запитів, навігація до і після запиту / відвідування порталу. На жаль, ця інформація ніяк не структурована і дуже зашумлена. Основним завданням стає обробка, структуризація і очищення сирих даних. я хотів би запропонувати метод для автоматичного розділення користувача активності на логічно пов'язані компоненти.
 
Читати далі →

Онлайн тепловізор CamIRa

    ÐœÐ¾Ð´ÐµÐ»ÑŒ BПривіт, Хабр! Поспішаємо розповісти про наш проект CamIRa — це онлайн тепловізор на поворотній платформі. Одного разу ми сумісники звичайну камеру і ІК матрицю для зняття термограмм, так вийшов наш проект. Таке поєднання дає цікаві можливості. Про тепловізори вже були пости на Хабре, наприклад: про технологію Тиц або тепловізор для смартфона ІТиц або навіть як самому зібрати тепловізор за $ 100 ЕщеТиц . Тепловізор з останнього поста викликав бурхливу реакцію в інтернеті, багато де публікувався і обговорювалося. В основному всіх цікавило питання збільшення дозволу сенсора. Але про все по порядку.
 
 
Читати далі →

Машинне навчання для інтелектуалізації ваших додатків

  Всім привіт!
 
Відео-версія вступного доповіді на тему машинного навчання на конференції iForum'2014, який також можна було б назвати «Машинне навчання для програмістів». Проводиться огляд принципових завдань машинного навчання і популярних програмних пакетів і бібліотек в цій області, перевагу віддано безкоштовним бібліотекам. Розповідається про досвід використання засобів штучного інтелекту і штучних нейронних мереж та їх застосування в конкретних додатках. Основний упор доповіді зроблений на специфіку процесу розробки та іплементаціі функціоналу, що містить штучний інтелект, в реальні програмні продукти. Наводиться список типових помилок новачків і ряд практичних порад для успішного створення працездатних інтелектуальних додатків.
 
  
Читати далі →

Психологія роботів і розумні комп'ютери: як це працює і де цьому навчитися. Лекція Максима Мусіна в Яндексі

  Машини вже вміють знаходити обличчя на фотографіях, шукати терористів в відео потоці, перекладати тексти і розуміти звукові команди. Нейронні мережі, що копіюють структуру мозку, є елементарним шматочком будь-якого складного алгоритму. З лекції ви дізнаєтесь, як все це пов'язано з рівняннями, нерівностями і похідними, які цікаві відкриття трапилися за останній час, а також на чому варто почати програмувати зараз, щоб одного дня стати експертом в психології роботів.
 
  
 
 
Якщо згадати фільм «Терімінатор» і технології, якими за сюжетом користувалися кіборги, то можна буде виділити і нейронні мережі, і можливість бездротового зв'язку із зовнішнім джерелом інтелекту (Skynet), та комп'ютерне зір, і розпізнавання звуку, розуміння різних мов. На момент виходу фільму на екрани все це було абсолютною фантастикою, технологіями далекого майбутнього. Але сьогодні велика частина цих технологій реалізована в тому чи іншому вигляді. Спробуємо розібратися, що ж з усього перерахованого вже використовується.
 
Читати далі →