- PVSM.RU - https://www.pvsm.ru -
Сегодня в России очень модной стала тема SOC и SIEM. Все их строят и пишут. Вы знали, что в России уже около десятка собственных систем мониторинга событий безопасности (SIEM)? Эту цифру перевалило и число коммерческих SOCов, предлагающих свои услуги заказчикам, которые попадут под требования 187-ФЗ о безопасности критической информационной инфраструктуры и вынуждены будут оперативно отдавать данные об инцидентах в ГосСОПКУ. Но какую бы цель не преследовали создатели SIEM и SOC, и на каком бы уровне зрелости они не находились, они все равно сталкиваются с базовой задачей — сбора событий безопасности и журналов регистрации от разрозненных средств защиты информации.
Согласно данным компании Canalys (а она единственная кто продолжает оценивать российский рынок решений по ИБ), лидером отечественного рынка продолжает оставаться компания Cisco. Поэтому вполне разумно предположить, что одной из первых задач, которая должна стоять перед разработчиками SIEM/SOC, — это интеграция с решениями нашей компании. Но вокруг такой интеграции бытует множество мифов и заблуждений, которые можно описать диалогом, который у меня недавно случился с одним из отечественных производителей SIEM:
— А почему вы не интегрируетесь с решениями Cisco?
— Так у вас уже все проприетарное?
— Нет, это не так!
— Да? А мне говорили, что у вас закрытые API и доступ к ним стоит денег.
— Нет, и это не так!

Поэтому я решил сегодня вкратце описать те API, которые существуют у компании Cisco, и с помощью которых можно подключиться к ее решениям по кибербезопасности. Их можно разделить на несколько типов:
К первому типу API относятся:
Давайте посмотрим пример работы с API для AMP for Endpoints [1], решением, которое ставится на персональные и мобильные устройства под управлением Windows, Linux, iOS, Android, MacOS, и которое защищает от широкого спектра угроз. Допустим мы хотим получить события безопасности, произошедшие в последнее время. Для этого используется запрос «GET /v1/events», который имеет множество дополнительных опций, позволяющих делать выборки по конкретному узлу или группе узлов, хешу интересующего файла, типу события, времени и т.п. Например, нас могут заинтересовать события по конкретному узлу и тогда запрос через AMP for Endpoints API будет выглядеть так:
GET /v1/events?connector_guid[]=af73d9d5-ddc5-4c93-9c6d-d5e6b5c5eb01&limit=1
Ответ же будет следующим:
{
"version": "v1.2.0",
"metadata": {
"links": {
"self": "https://api.amp.cisco.com/v1/events?connector_guid[]=af73d9d5-ddc5-4c93-9c6d-d5e6b5c5eb01&limit=1",
"next": "https://api.amp.cisco.com/v1/events?connector_guid%5B%5D=af73d9d5-ddc5-4c93-9c6d-d5e6b5c5eb01&limit=1&offset=1"
},
"results": {
"total": 41,
"current_item_count": 1,
"index": 0,
"items_per_page": 1
}
},
"data": [
{
"id": 6455442249407791000,
"timestamp": 1503024774,
"timestamp_nanoseconds": 98000000,
"date": "2017-08-18T02:52:54+00:00",
"event_type": "Threat Detected",
"event_type_id": 1090519054,
"detection": "benign_qa_testware7",
"detection_id": "6455442249407791109",
"group_guids": [
"b077d6bc-bbdf-42f7-8838-a06053fbd98a"
],
"computer": {
"connector_guid": "af73d9d5-ddc5-4c93-9c6d-d5e6b5c5eb01",
"hostname": "WIN-S1AC1PI6L5L",
"external_ip": "10.200.65.31",
"user": "johndoe@WIN-S1AC1PI6L5L",
"active": true,
"network_addresses": [
{
"ip": "10.0.2.15",
"mac": "08:00:27:85:28:61"
}
],
"links": {
"computer": "https://api.amp.cisco.com/v1/computers/af73d9d5-ddc5-4c93-9c6d-d5e6b5c5eb01",
"trajectory": "https://api.amp.cisco.com/v1/computers/af73d9d5-ddc5-4c93-9c6d-d5e6b5c5eb01/trajectory",
"group": "https://api.amp.cisco.com/v1/groups/b077d6bc-bbdf-42f7-8838-a06053fbd98a"
}
},
"file": {
"disposition": "Unknown",
"file_name": ".zip",
"file_path": "\\?\C:\Users\johndoe\Downloads\.zip",
"identity": {
"sha256": "f8a6a244138cb1e2f044f63f3dc42beeb555da892bbd7a121274498cbdfc9ad5",
"sha1": "20eeee16345e0c1283f7b500126350cb938b8570",
"md5": "6853839cde69359049ae6f7bd3ae86d7"
},
"archived_file": {
"disposition": "Malicious",
"identity": {
"sha256": "46679a50632d05b99683a14b91a69ce908de1673fbb71e9cd325e5685fcd7e49"
}
},
"parent": {
"process_id": 3416,
"disposition": "Clean",
"file_name": "explorer.exe",
"identity": {
"sha256": "80ef843fa78c33b511394a9c7535a9cbace1deb2270e86ee4ad2faffa5b1e7d2",
"sha1": "ea97227d34b8526055a543ade7d18587a927f6a3",
"md5": "15bc38a7492befe831966adb477cf76f"
}
}
}
}
]
}
Ко второму типу API относятся:
В качестве примера API второго типа посмотрим как используется Threat Grid API [2]. Допустим мы хотим проверить статус ранее загруженного для анализа файла. Такой запрос может выглядеть следующим образом:
https://panacea.threatgrid.com/api/v2/search/submissions?q=23aea7cf60fca3c6527c2b5255c6036f2dc414f8368196e198df091cf03dd95f&api_key=llgtslnd5cvb14h4p8m6e6s27f&before=2017-02-28&limit=1
а ответ:
{
"api_version": 2,
"id": 7589645,
"data": {
"index": 0,
"total": 3,
"took": 416,
"timed_out": false,
"items_per_page": 1,
"current_item_count": 1,
"items": [
{
"item": {
"properties": {
"metadata": null
},
"tags": [
"Kovter"
],
"vm_runtime": 300,
"md5": "f3247e81cc3474559d0e14e2f15837d0",
"private": false,
"organization_id": 1,
"state": "succ",
"login": "adminharry",
"sha1": "bfafd7f2cd9adff7782f4854bc712bf134ad56f6",
"sample": "9b7ad0711262b31219ea1d41119868d8",
"filename": "23aea7cf60fca3c6527c2b5255c6036f2dc414f8368196e198df091cf03dd95f",
"analysis": {
"metadata": {
"malware_desc": [
{
"sha1": "bfafd7f2cd9adff7782f4854bc712bf134ad56f6",
"magic": "PE32 executable (GUI) Intel 80386 (stripped to external PDB), for MS Windows",
"filename": "23aea7cf60fca3c6527c2b5255c6036f2dc414f8368196e198df091cf03dd95f.exe",
"size": 369566,
"sha256": "23aea7cf60fca3c6527c2b5255c6036f2dc414f8368196e198df091cf03dd95f",
"type": "exe",
"md5": "f3247e81cc3474559d0e14e2f15837d0"
}
],
"sandcastle_env": {
"controlsubject": "winxp-x86-intel-2017.01.17",
"vm": "winxp-x86",
"vm_id": "9b7ad0711262b31219ea1d41119868d8",
"sample_executed": 1487231873,
"analysis_end": "2017-02-16T08:03:48Z",
"analysis_start": "2017-02-16T07:57:01Z",
"run_time": 300,
"sandcastle": "3.4.36.10823.577ea7a-1",
"current_os": "2600.xpsp.080413-2111"
},
"general_details": {
"report_created": "2017-02-16T08:03:57Z",
"sandbox_version": "pilot-d",
"sandbox_id": "car-work-074"
}
},
"behaviors": [
{
"name": "excessive-suspicious-activity",
"threat": 90
},
{
"name": "pe-encrypted-section",
"threat": 9
},
{
"name": "process-check-virtualbox",
"threat": 90
},
{
"name": "memory-execute-readwrite",
"threat": 25
},
{
"name": "registry-autorun-key-bat-file",
"threat": 95
},
{
"name": "ie-proxy-disabled",
"threat": 49
},
{
"name": "malware-kovter-registry",
"threat": 95
},
{
"name": "registry-large-data-entry",
"threat": 40
},
{
"name": "service-dll-registration",
"threat": 25
},
{
"name": "files-created-batch",
"threat": 25
},
{
"name": "file-handler-registration",
"threat": 85
},
{
"name": "antivirus-service-flagged-artifact",
"threat": 95
},
{
"name": "registry-detection-productid",
"threat": 42
},
{
"name": "registry-script-detected",
"threat": 25
},
{
"name": "registry-ie-zone-settings-modified",
"threat": 49
},
{
"name": "modified-file-in-user-dir",
"threat": 56
},
{
"name": "registry-modified-rootcerts",
"threat": 36
},
{
"name": "registry-detection-bios",
"threat": 42
},
{
"name": "mshta-in-registry",
"threat": 95
},
{
"name": "registry-autorun-key-modified",
"threat": 48
}
],
"threat_score": 95
},
"status": "job_done",
"submitted_at": "2017-02-16T07:57:00Z",
"sha256": "23aea7cf60fca3c6527c2b5255c6036f2dc414f8368196e198df091cf03dd95f"
},
"score": 0.7660416,
"matches": null
}
]
}
}
Мы видим, что Threat Grid API возвращает нам значение уровня угрозы (threat) по стобалльной шкале для различных типов поведения файла (Threat Grid может оценивать до 800 различных параметров в зависимости от загруженного файла). Итоговое значение (threat_score) равно 95, что означает, что анализируемый файл является вредоносным.
Можно привести пример работы с еще одним API, позволяющим оценивать безопасность доменов, информацию о которых мы можем получать от МСЭ, почтовых шлюзов, прокси, средств контроля доступа в Интернет и т.п. С помощью OpenDNS Investigate API мы можем сформулировать запрос на проверку интересующего нас домена:
curl --include
--header "Authorization: Bearer %YourToken%"
https://investigate.api.opendns.com/security/name/{name}.json
А в ответе мы получим значения различных параметров, по которым OpenDNS оценивает безопасность доменов, IP-адресов, автономных систем и т.п.:
{
"dga_score": 38.301771886101335,
"perplexity": 0.4540313302593146,
"entropy": 2.5216406363433186,
"securerank2": -1.3135141095601992,
"pagerank": 0.0262532,
"asn_score": -29.75810625887133,
"prefix_score": -64.9070502788884,
"rip_score": -75.64720536038982,
"popularity": 25.335450495507196,
"fastflux": false,
"geodiversity": [
[
"UA",
0.24074075
],
[ "IN",
0.018518519
]
],
"geodiversity_normalized": [
[ "AP",
0.3761535390278368
],
[ "US",
0.0005015965168831449
]
],
"tld_geodiversity": [],
"geoscore": 0,
"ks_test": 0,
"found": true
}
К третьему типу API относятся:

К четвертому типу относятся
Возникает закономерный вопрос: а как получить доступ к этим API? Все очень просто. В Cisco существует специальная программа Cisco Security Technical Alliance Program, которая состоит из двух больших разделов:

Для того, чтобы интегрировать свои SIEMы и SOCи с решениями Cisco достаточно просто зарегистрироваться на DevNet и, получив примеры кода, доработать свои решения, оснастив их соответствующими компонентами и программными вызовами через API. В принципе, уже этого достаточно для того, чтобы взаимодействовать с решениями Cisco по безопасности. Это полностью бесплатно (исключая оплату труда ваших программистов). Если же ваша задача выйти на международный рынок, продемонстрировать свои продукты широкой аудитории, доказать серьезные намерения по интеграции с Cisco, являющейся мировым лидером на рынке кибербезопасности, то необходимы определенные инвестиции и вступление в программу SPP. Именно по этому пути пошли такие компании как Check Point, ThreatQuotient, Anomali, Symantec и т.п.

Надеюсь, после такого краткого экскурса уже ни о кого не останется сомнений в том, что решения Cisco открыты как никто для интеграции с внешними продуктами и сервисами по безопасности. В этом направлении компания движется уже несколько лет, подтверждая ранее выдвинутый лозунг, которому следует подразделение Cisco по кибербезопасности, — «Open. Simple. Automation» (Открытость. Простота. Автоматизация).
Автор: Алексей Лукацкий
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/266447
Ссылки в тексте:
[1] API для AMP for Endpoints: https://api-docs.amp.cisco.com
[2] Threat Grid API: https://panacea.threatgrid.com/doc/main/api.html
[3] DevNet Sandbox: https://developer.cisco.com/site/devnet/home/index.gsp
[4] DevNet Learning Labs: https://learninglabs.cisco.com
[5] каталог: https://marketplace.cisco.com/catalog
[6] Источник: https://habrahabr.ru/post/340788/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.