Оваа статија ќе биде корисна за оние кои се запознаени со технологијата Check Point со емулација на датотека (Емулација на закани) и проактивно чистење на датотеки (Екстракција на закана) и сака да направи чекор кон автоматизирање на овие задачи. Check Point има
Основни кратенки
API за спречување закани работи со три главни компоненти, кои се повикуваат во API преку следните текстуални вредности:
av — Анти-вирусна компонента, одговорна за анализа на потпис на познати закани.
te - Компонента Threat Emulation, одговорна за проверка на датотеките во песокот и донесување злонамерна/бенигна пресуда по емулација.
екстракција - Компонента за екстракција на закани, одговорна за брзо конвертирање на канцелариски документи во безбедна форма (во која се отстрануваат сите потенцијално злонамерни содржини), со цел брзо да се достават до корисниците/системите.
Структура на API и главни ограничувања
Threat Prevention API користи само 4 барања − испратите, побарајте, преземете и квотите. Во заглавието за сите четири барања треба да го предадете копчето API користејќи го параметарот Овластување. На прв поглед, структурата може да изгледа многу поедноставна отколку во
Во моментов, единствената верзија на API за спречување закани е објавена - 1.0; URL-адресата за повици API треба да содржи v1 во делот каде што треба да ја наведете верзијата. За разлика од API за управување, неопходно е да се наведе верзијата на API во URL-то, во спротивно барањето нема да се изврши.
Анти-вирусната компонента, кога се повикува без други компоненти (te, екстракција), моментално поддржува само барања за пребарување со md5 хаш суми. Емулација на закани и екстракција на закани исто така поддржуваат збирови на хаш sha1 и sha256.
Многу е важно да не се прават грешки во прашањата! Барањето може да се изврши без грешка, но не целосно. Гледајќи малку напред, ајде да погледнеме што може да се случи кога има грешки/печатни грешки во барањата.
Барање со печатна грешка со зборот извештаи (извештаи)
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
reportss: ["tar", "pdf", "xml"]
}
}
]
}
Нема да има грешка во одговорот, но воопшто нема да има информации за извештаите
{
"response": [
{
"status": {
"code": 1001,
"label": "FOUND",
"message": "The request has been fully answered."
},
"sha256": "9cc488fa6209caeb201678f8360a6bb806bd2f85b59d108517ddbbf90baec33a",
"file_type": "pdf",
"file_name": "",
"features": [
"te"
],
"te": {
"trust": 10,
"images": [
{
"report": {
"verdict": "malicious"
},
"status": "found",
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"score": -2147483648,
"combined_verdict": "malicious",
"severity": 4,
"confidence": 3,
"status": {
"code": 1001,
"label": "FOUND",
"message": "The request has been fully answered."
}
}
}
]
}
Но, за барање без печатна грешка во извештаите клуч
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
reports: ["tar", "pdf", "xml"]
}
}
]
}
Добиваме одговор кој веќе содржи ID за преземање извештаи
{
"response": [
{
"status": {
"code": 1001,
"label": "FOUND",
"message": "The request has been fully answered."
},
"sha256": "9cc488fa6209caeb201678f8360a6bb806bd2f85b59d108517ddbbf90baec33a",
"file_type": "pdf",
"file_name": "",
"features": [
"te"
],
"te": {
"trust": 10,
"images": [
{
"report": {
"verdict": "malicious",
"full_report": "b684066e-e41c-481a-a5b4-be43c27d8b65",
"pdf_report": "e48f14f1-bcc7-4776-b04b-1a0a09335115",
"xml_report": "d416d4a9-4b7c-4d6d-84b9-62545c588963"
},
"status": "found",
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"score": -2147483648,
"combined_verdict": "malicious",
"severity": 4,
"confidence": 3,
"status": {
"code": 1001,
"label": "FOUND",
"message": "The request has been fully answered."
}
}
}
]
}
Ако испратиме неточен/истечен клуч API, ќе добиеме грешка 403 како одговор.
SandBlast API: во облак и на локални уреди
Барањата за API може да се испратат до уредите Check Point кои имаат овозможена компонента за емулација на закани (сечило). Како адреса за барања, треба да ја користите ip/url-от на уредот и портата 18194 (на пример, https://10.10.57.19:18194/tecloud/api/v1/file/query). Исто така, треба да бидете сигурни дека безбедносната политика на уредот ја дозволува оваа врска. Стандардно овластување преку клуч API на локални уреди исклучен а клучот за авторизација во заглавијата на барањата може воопшто да не се испраќа.
Барањата за API до облакот CheckPoint треба да се испратат до te.checkpoint.com (на пример - https://te.checkpoint.com/tecloud/api/v1/file/query). Клучот API може да се добие како пробна лиценца за 60 дена со контактирање на партнерите на Check Point или локалната канцеларија на компанијата.
На локалните уреди, Извлекувањето закани сè уште не е поддржано како стандардно.
Локалните уреди не го поддржуваат барањето за квота.
Инаку, нема разлики помеѓу барањата до локалните уреди и до облакот.
Поставете повик API
Употребен метод − ПОСТ
Адреса на повик - https:///tecloud/api/v1/file/upload
Барањето се состои од два дела (образец-податоци): датотека наменета за емулација/чистење и тело за барање со текст.
Текстуалното барање не може да биде празно, но може да не содржи никаква конфигурација. За да може барањето да биде успешно, мора да го испратите барем следниот текст во барањето:
Минимум потребен за барање за прикачување
HTTP POST
https:///tecloud/api/v1/file/upload
Заглавија:
Овластување:
Тело
{
"молба": {
}
}
датотека
датотека
Во овој случај, датотеката ќе се обработи во согласност со стандардните параметри: компонента - te, слики од ОС - Победи XP и Win 7, без да се генерира извештај.
Коментари на главните полиња во барањето за текст:
име на датотека и датотека_тип Можете да ги оставите празни или воопшто да не ги испраќате, бидејќи ова не е особено корисна информација кога поставувате датотека. Во одговорот на API, овие полиња ќе се пополнат автоматски врз основа на името на преземената датотека, а информациите во кешот сè уште ќе треба да се пребаруваат со користење на md5/sha1/sha256 хаш-количини.
Пример барање со празен file_name и file_type
{
"request": {
"file_name": "",
"file_type": "",
}
}
карактеристики — список што ја означува потребната функционалност при обработка во песок - av (Anti-Virus), te (Threat Emulation), екстракција (Threat Extraction). Доколку овој параметар воопшто не се помине, тогаш ќе се користи само стандардната компонента - te (Threat Emulation).
За да овозможите проверка на трите достапни компоненти, треба да ги наведете овие компоненти во барањето API.
Пример за барање со проверка во av, te и екстракција
{ "request": [
{
"sha256": {{sha256}},
"features": ["av", "te", "extraction"]
}
]
}
Клучеви во делот te
слики — список што содржи речници со идентификационен број и број на ревизија на оперативните системи во кои ќе се изврши проверката. Идентификаторите и броевите за ревизија се исти за сите локални уреди и облакот.
Список на оперативни системи и ревизии
Достапен ID на слика на ОС
Ревизија
ОС на слика и апликација
e50e99f3-5963-4573-af9e-e3f4750b55e2
1
Microsoft Windows: XP - 32 битен SP3
канцеларија: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash Player, 9r115 и ActiveX 10.0
Јава траење: 1.6.0u22
7e6fe36e-889e-4c25-8704-56378f0830df
1
Microsoft Windows: 7 - 32 битни
канцеларија: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash Player: 10.2r152 (Вклучи, Поврзи& ActiveX)
Јава траење: 1.6.0u0
8d188031-1010-4466-828b-0cd13d4303ff
1
Microsoft Windows: 7 - 32 битни
канцеларија: 2010
Adobe Acrobat Reader: 9.4
Flash Player: 11.0.1.152 (Вклучи, Поврзи & ActiveX)
Јава траење: 1.7.0u0
5e5de275-a103-4f67-b55b-47532918fa59
1
Microsoft Windows: 7 - 32 битни
канцеларија: 2013
Adobe Acrobat Reader: 11.0
Flash Player: 15 (Вклучи, Поврзи & ActiveX)
Јава траење: 1.7.0u9
3ff3ddae-e7fd-4969-818c-d5f1a2be336d
1
Microsoft Windows: 7 - 64 битни
канцеларија: 2013 (32 битна)
Adobe Acrobat Reader: 11.0.01
Flash Player: 13 (Вклучи, Поврзи & ActiveX)
Јава траење: 1.7.0u9
6c453c9b-20f7-471a-956c-3198a868dc92
1
Microsoft Windows: 8.1 - 64 битни
канцеларија: 2013 (64 битна)
Adobe Acrobat Reader: 11.0.10
Flash Player: 18.0.0.160 (Вклучи, Поврзи & ActiveX)
Јава траење: 1.7.0u9
10b4a9c6-e414-425c-ae8b-fe4dd7b25244
1
Microsoft Windows: 10
канцеларија: Professional Plus 2016 en-us
Adobe Acrobat Reader: DC 2015 MUI
Flash Player: 20 (Вклучи, Поврзи & ActiveX)
Јава траење: 1.7.0u9
Ако клучот за слики воопшто не е наведен, тогаш емулацијата ќе се одвива на сликите препорачани од Check Point (во моментов Win XP и Win 7). Овие слики се препорачуваат врз основа на размислувањата за најдобрата рамнотежа на перформансите и стапката на улов.
извештаи — список на извештаи што ги бараме во случај датотеката да се покаже дека е злонамерна. Достапни се следните опции:
-
резиме - .tar.gz архива која содржи извештај за емулација од сите побарани слики (и html-страница и компоненти како што се видео од оперативниот систем емулатор, депонијата на мрежниот сообраќај, извештај во json и самиот примерок во архива заштитена со лозинка). Го бараме клучот во одговорот - резиме_извештај за последователно преземање на извештајот.
-
PDF - документ за емулација во еден слика, која многумина се навикнати да ја добиваат преку Smart Console. Го бараме клучот во одговорот - pdf_извештај за последователно преземање на извештајот.
-
XML - документ за емулација во еден слика, погодна за последователно парсирање на параметрите во извештајот. Го бараме клучот во одговорот - xml_report за последователно преземање на извештајот.
-
катран - .tar.gz архива која содржи извештај за емулација во еден побарани слики (и html-страница и компоненти како што се видео од оперативниот систем емулатор, депонијата на мрежниот сообраќај, извештај во json и самиот примерок во архива заштитена со лозинка). Го бараме клучот во одговорот - целосен_извештај за последователно преземање на извештајот.
Што има внатре во збирниот извештај
Копчињата full_report, pdf_report, xml_report се наоѓаат во речникот за секој ОС
{
"response": [
{
"status": {
"code": 1001,
"label": "FOUND",
"message": "The request has been fully answered."
},
"sha256": "9e6f07d03b37db0d3902bde4e239687a9e3d650e8c368188c7095750e24ad2d5",
"file_type": "html",
"file_name": "",
"features": [
"te"
],
"te": {
"trust": 10,
"images": [
{
"report": {
"verdict": "malicious",
"full_report": "8d18067e-b24d-4103-8469-0117cd25eea9",
"pdf_report": "05848b2a-4cfd-494d-b949-6cfe15d0dc0b",
"xml_report": "ecb17c9d-8607-4904-af49-0970722dd5c8"
},
"status": "found",
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
},
{
"report": {
"verdict": "malicious",
"full_report": "d7c27012-8e0c-4c7e-8472-46cc895d9185",
"pdf_report": "488e850c-7c96-4da9-9bc9-7195506afe03",
"xml_report": "e5a3a78d-c8f0-4044-84c2-39dc80ddaea2"
},
"status": "found",
"id": "6c453c9b-20f7-471a-956c-3198a868dc92",
"revision": 1
}
],
"score": -2147483648,
"combined_verdict": "malicious",
"severity": 4,
"confidence": 3,
"status": {
"code": 1001,
"label": "FOUND",
"message": "The request has been fully answered."
}
}
}
]
}
Но, клучот summary_report - постои еден за емулација воопшто
{
"response": [
{
"status": {
"code": 1001,
"label": "FOUND",
"message": "The request has been fully answered."
},
"sha256": "d57eadb7b2f91eea66ea77a9e098d049c4ecebd5a4c70fb984688df08d1fa833",
"file_type": "exe",
"file_name": "",
"features": [
"te"
],
"te": {
"trust": 10,
"images": [
{
"report": {
"verdict": "malicious",
"full_report": "c9a1767b-741e-49da-996f-7d632296cf9f",
"xml_report": "cc4dbea9-518c-4e59-b6a3-4ea463ca384b"
},
"status": "found",
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
},
{
"report": {
"verdict": "malicious",
"full_report": "ba520713-8c0b-4672-a12f-0b4a1575b913",
"xml_report": "87bdb8ca-dc44-449d-a9ab-2d95e7fe2503"
},
"status": "found",
"id": "6c453c9b-20f7-471a-956c-3198a868dc92",
"revision": 1
}
],
"score": -2147483648,
"combined_verdict": "malicious",
"severity": 4,
"confidence": 3,
"summary_report": "7e7db12d-5df6-4e14-85f3-2c1e29cd3e34",
"status": {
"code": 1001,
"label": "FOUND",
"message": "The request has been fully answered."
}
}
}
]
}
Можете да барате извештаи за tar и xml и pdf во исто време, можете да барате резиме и tar и xml. Нема да може да се бара збирен извештај и pdf во исто време.
Клучеви во делот за екстракција
За извлекување закани, се користат само два клуча:
метод — pdf (конвертирај во pdf, стандардно се користи) или чист (чистење активна содржина).
извлечени_делови_шифри - список на шифри за отстранување на активна содржина, применлив само за чист метод
Кодови за отстранување содржина од датотеки
Код
Опис
1025
Поврзани објекти
1026
Макроа и код
1034
Чувствителни хиперврски
1137
PDF GoToR дејства
1139
Акции за стартување на PDF
1141
Акции на PDF URI
1142
PDF Звучни дејства
1143
PDF Movie Actions
1150
PDF JavaScript дејства
1151
Акции на формуларот за поднесување PDF
1018
Барања за базата на податоци
1019
Вградени објекти
1021
Брзо зачувување податоци
1017
Прилагодени својства
1036
Статистички својства
1037
Резиме Својства
За да преземете исчистена копија, исто така ќе треба да направите барање за барање (за кое ќе се дискутира подолу) по неколку секунди, наведувајќи ја количината на хаш на датотеката и компонентата за екстракција во текстот на барањето. Можете да ја подигнете исчистената датотека со помош на ID од одговорот на барањето - extracted_file_download_id. Уште еднаш, гледајќи малку напред, давам примери на барање и одговор на барање за пребарување на ид за преземање на исчистен документ.
Барање барање за пребарување на клучот extracted_file_download_id
{ "request": [
{
"sha256": "9a346005ee8c9adb489072eb8b5b61699652962c17596de9c326ca68247a8876",
"features": ["extraction"] ,
"extraction": {
"method": "pdf"
}
}
]
}
Одговор на барање (побарајте го клучот extracted_file_download_id)
{
"response": [
{
"status": {
"code": 1001,
"label": "FOUND",
"message": "The request has been fully answered."
},
"sha256": "9a346005ee8c9adb489072eb8b5b61699652962c17596de9c326ca68247a8876",
"file_type": "",
"file_name": "",
"features": [
"extraction"
],
"extraction": {
"method": "pdf",
"extract_result": "CP_EXTRACT_RESULT_SUCCESS",
"extracted_file_download_id": "b5f2b34e-3603-4627-9e0e-54665a531ab2",
"output_file_name": "kp-20-xls.cleaned.xls.pdf",
"time": "0.013",
"extract_content": "Macros and Code",
"extraction_data": {
"input_extension": "xls",
"input_real_extension": "xls",
"message": "OK",
"output_file_name": "kp-20-xls.cleaned.xls.pdf",
"protection_name": "Potential malicious content extracted",
"protection_type": "Conversion to PDF",
"protocol_version": "1.0",
"risk": 5.0,
"scrub_activity": "Active content was found - XLS file was converted to PDF",
"scrub_method": "Convert to PDF",
"scrub_result": 0.0,
"scrub_time": "0.013",
"scrubbed_content": "Macros and Code"
},
"tex_product": false,
"status": {
"code": 1001,
"label": "FOUND",
"message": "The request has been fully answered."
}
}
}
]
}
Преглед
Во еден повик API, можете да испратите само една датотека за потврда.
Компонентата av не бара дополнителен дел со копчиња, доволно е да го наведете во речникот карактеристики.
Повик за пребарување на API
Употребен метод − ПОСТ
Адреса на повик - https:///tecloud/api/v1/file/query
Пред да испратите датотека за преземање (барање за поставување), препорачливо е да го проверите кешот на песокот (барање за пребарување) за да го оптимизирате оптоварувањето на серверот API, бидејќи серверот API можеби веќе има информации и пресуда за преземената датотека. Повикот се состои само од текстуален дел. Потребниот дел од барањето е sha1/sha256/md5 хаш количина на датотеката. Патем, можете да го добиете во одговорот на барањето за поставување.
Минимум потребен за барање
HTTP POST
https:///tecloud/api/v1/file/query
Заглавија:
Овластување:
Тело
{
"молба": {
"sha256":
}
}
Пример за одговор на барање за прикачување, каде што се видливи износите на хашот sha1/md5/sha256
{
"response": {
"status": {
"code": 1002,
"label": "UPLOAD_SUCCESS",
"message": "The file was uploaded successfully."
},
"sha1": "954b5a851993d49ef8b2412b44f213153bfbdb32",
"md5": "ac29b7c26e7dcf6c6fdb13ac0efe98ec",
"sha256": "313c0feb009356495b7f4a60e96737120beb30e1912c6d866218cee830aebd90",
"file_type": "",
"file_name": "kp-20-doc.doc",
"features": [
"te"
],
"te": {
"trust": 0,
"images": [
{
"report": {
"verdict": "unknown"
},
"status": "not_found",
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"score": -2147483648,
"status": {
"code": 1002,
"label": "UPLOAD_SUCCESS",
"message": "The file was uploaded successfully."
}
}
}
}
Барањето за барање, покрај износот на хаш, идеално треба да биде исто како што било (или се планира да биде) барањето за поставување или дури и „веќе“ (содржи помалку полиња во барањето за барање отколку во барањето за прикачување). Во случај кога барањето за барање содржи повеќе полиња отколку што беа во барањето за поставување, нема да ги добиете сите потребни информации во одговорот.
Еве пример за одговор на барање каде што не се пронајдени сите потребни податоци
{
"response": [
{
"status": {
"code": 1006,
"label": "PARTIALLY_FOUND",
"message": "The request cannot be fully answered at this time."
},
"sha256": "313c0feb009356495b7f4a60e96737120beb30e1912c6d866218cee830aebd90",
"file_type": "doc",
"file_name": "",
"features": [
"te",
"extraction"
],
"te": {
"trust": 10,
"images": [
{
"report": {
"verdict": "malicious",
"pdf_report": "4e9cddaf-03a4-489f-aa03-3c18f8d57a52",
"xml_report": "9c18018f-c761-4dea-9372-6a12fcb15170"
},
"status": "found",
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"score": -2147483648,
"combined_verdict": "malicious",
"severity": 4,
"confidence": 1,
"status": {
"code": 1001,
"label": "FOUND",
"message": "The request has been fully answered."
}
},
"extraction": {
"method": "pdf",
"tex_product": false,
"status": {
"code": 1004,
"label": "NOT_FOUND",
"message": "Could not find the requested file. Please upload it."
}
}
}
]
}
Обрнете внимание на полињата код и етикета. Овие полиња се појавуваат три пати во речниците за статус. Прво го гледаме глобалниот клуч „код“: 1006 и „етикета“: „PARTIALLY_FOUND“. Следно, овие клучеви се наоѓаат за секоја поединечна компонента што ја побаравме - te и екстракција. И ако за тебе е јасно дека податоците се пронајдени, тогаш за екстракција нема информации.
Вака изгледаше барањето за примерот погоре
{ "request": [
{
"sha256": {{sha256}},
"features": ["te", "extraction"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"reports": [
"xml", "pdf"
]
}
}
]
}
Ако испратите барање за барање без компонента за екстракција
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"reports": [
"xml", "pdf"
]
}
}
]
}
Тогаш одговорот ќе содржи целосни информации („шифра“: 1001, „етикета“: „НАЈДЕНО“)
{
"response": [
{
"status": {
"code": 1001,
"label": "FOUND",
"message": "The request has been fully answered."
},
"sha256": "313c0feb009356495b7f4a60e96737120beb30e1912c6d866218cee830aebd90",
"file_type": "doc",
"file_name": "",
"features": [
"te"
],
"te": {
"trust": 10,
"images": [
{
"report": {
"verdict": "malicious",
"pdf_report": "4e9cddaf-03a4-489f-aa03-3c18f8d57a52",
"xml_report": "9c18018f-c761-4dea-9372-6a12fcb15170"
},
"status": "found",
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"score": -2147483648,
"combined_verdict": "malicious",
"severity": 4,
"confidence": 1,
"status": {
"code": 1001,
"label": "FOUND",
"message": "The request has been fully answered."
}
}
}
]
}
Ако воопшто нема информации во кешот, тогаш одговорот ќе биде „етикета“: „NOT_FOUND“
{
"response": [
{
"status": {
"code": 1004,
"label": "NOT_FOUND",
"message": "Could not find the requested file. Please upload it."
},
"sha256": "313c0feb009356495b7f4a60e96737120beb30e1912c6d866218cee830aebd91",
"file_type": "",
"file_name": "",
"features": [
"te"
],
"te": {
"trust": 0,
"images": [
{
"report": {
"verdict": "unknown"
},
"status": "not_found",
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"score": -2147483648,
"status": {
"code": 1004,
"label": "NOT_FOUND",
"message": "Could not find the requested file. Please upload it."
}
}
}
]
}
Во еден повик API, можете да испратите неколку хаш износи одеднаш за потврда. Одговорот ќе ги врати податоците по истиот редослед како што е испратен во барањето.
Пример барање за барање со неколку sha256 износи
{ "request": [
{
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd81"
},
{
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd82"
}
]
}
Одговор на барање со повеќе износи sha256
{
"response": [
{
"status": {
"code": 1001,
"label": "FOUND",
"message": "The request has been fully answered."
},
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd81",
"file_type": "dll",
"file_name": "",
"features": [
"te"
],
"te": {
"trust": 10,
"images": [
{
"report": {
"verdict": "malicious"
},
"status": "found",
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"score": -2147483648,
"combined_verdict": "malicious",
"severity": 4,
"confidence": 3,
"status": {
"code": 1001,
"label": "FOUND",
"message": "The request has been fully answered."
}
}
},
{
"status": {
"code": 1004,
"label": "NOT_FOUND",
"message": "Could not find the requested file. Please upload it."
},
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd82",
"file_type": "",
"file_name": "",
"features": [
"te"
],
"te": {
"trust": 0,
"images": [
{
"report": {
"verdict": "unknown"
},
"status": "not_found",
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"score": -2147483648,
"status": {
"code": 1004,
"label": "NOT_FOUND",
"message": "Could not find the requested file. Please upload it."
}
}
}
]
}
Барањето неколку хаш суми одеднаш во барањето за барање, исто така, ќе има корисен ефект врз перформансите на серверот API.
Преземете го повикот на API
Употребен метод − ПОСТ (според документацијата), ГЕТ исто така работи (и може да изгледа пологично)
Адреса на повик - https:///tecloud/api/v1/file/download?id=
Заглавјето бара да се пренесе клучот API, телото на барањето е празно, идентификаторот за преземање се пренесува во URL адресата.
Како одговор на барањето за барање, ако емулацијата е завршена и се побарани извештаи при преземањето на датотеката, ID за преземање извештаи ќе биде видлив. Ако се бара исчистена копија, треба да го побарате ID за да го преземете исчистениот документ.
Севкупно, клучевите во одговорот на барањето што ја содржи вредноста на id за вчитување може да бидат:
-
резиме_извештај
-
целосен_извештај
-
pdf_извештај
-
xml_report
-
извлечена_датотека_преземање_ид
Се разбира, за да ги добиете овие клучеви како одговор на барањето за барање, тие мора да бидат наведени во барањето (за извештаи) или не заборавајте да направите барање користејќи ја функцијата за извлекување (за исчистени документи)
Повик за квота API
Употребен метод − ПОСТ
Адреса на повик - https:///tecloud/api/v1/file/quota
За да ја проверите преостанатата квота во облакот, користете го барањето за квота. Телото на барањето е празно.
Пример одговор на барање за квота
{
"response": [
{
"remain_quota_hour": 1250,
"remain_quota_month": 10000000,
"assigned_quota_hour": 1250,
"assigned_quota_month": 10000000,
"hourly_quota_next_reset": "1599141600",
"monthly_quota_next_reset": "1601510400",
"quota_id": "TEST",
"cloud_monthly_quota_period_start": "1421712300",
"cloud_monthly_quota_usage_for_this_gw": 0,
"cloud_hourly_quota_usage_for_this_gw": 0,
"cloud_monthly_quota_usage_for_quota_id": 0,
"cloud_hourly_quota_usage_for_quota_id": 0,
"monthly_exceeded_quota": 0,
"hourly_exceeded_quota": 0,
"cloud_quota_max_allow_to_exceed_percentage": 1000,
"pod_time_gmt": "1599138715",
"quota_expiration": "0",
"action": "ALLOW"
}
]
}
API за спречување закани за безбедносен портал
Овој API е развиен пред API за спречување закани и е наменет само за локални уреди. Засега може да биде корисно само ако ви треба API за екстракција на закани. За емулација на закани, подобро е да се користи редовниот API за спречување закани. За да се вклучи TP API за SG и конфигурирајте го клучот API од кој треба да ги следите чекорите
Сега да ги разгледаме подетално функциите te и екстракција во овој API.
За компонента te обезбеден речник te_options во барањата за поставување/прашање, и клучевите во ова барање целосно се совпаѓаат со копчињата te во
Пример барање за емулација на датотеки во Win10 со извештаи
{
"request": [{
"protocol_version": "1.1",
"api_key": "<api_key>",
"request_name": "UploadFile",
"file_enc_data": "<base64_encoded_file>",
"file_orig_name": "<filename>",
"te_options": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"reports": ["summary", "xml"]
}
}
]
}
За компонента екстракција обезбеден речник scrub_options. Ова барање го одредува методот на чистење: претворете во PDF, исчистете ја активна содржина или изберете режим во согласност со профилот за спречување закани (името на профилот е означено). Најдоброто нешто за одговарање на барање за API за екстракција за датотека е тоа што добивате исчистена копија во одговорот на тоа барање како шифрирана низа од базата 64 (не треба да правите барање за барање и да го барате идентификаторот за да ја преземете документ)
Пример за барање за чистење датотека
{
"request": [{
"protocol_version": "1.1",
"api_key": "<API_KEY>",
"request_name": "UploadFile",
"file_enc_data": "<base64_encoded_file>",
"file_orig_name": "hi.txt",
"scrub_options": {
"scrub_method": 2
}
}]
}
Одговори на барање
{
"response": [{
"protocol_version": "1.1",
"src_ip": "<IP_ADDRESS>",
"scrub": {
"file_enc_data": "<base64_encoded_converted_to_PDF_file>",
"input_real_extension": "js",
"message": "OK",
"orig_file_url": "",
"output_file_name": "hi.cleaned.pdf",
"protection_name": "Extract potentially malicious content",
"protection_type": "Conversion to PDF",
"real_extension": "txt",
"risk": 0,
"scrub_activity": "TXT file was converted to PDF",
"scrub_method": "Convert to PDF",
"scrub_result": 0,
"scrub_time": "0.011",
"scrubbed_content": ""
}
}]
}
И покрај фактот дека се потребни помалку барања за API за да се добие исчистена копија, сметам дека оваа опција е помалку претпочитана и удобна од барањето за форма-податоци што се користи во
Колекции на поштарот
Создадов колекции во Postman и за API за спречување закани и за API за спречување закани за безбедносен портал, кои ги претставуваат најчестите барања за API. За да може ip/url API-то и клучот на серверот автоматски да се заменат во барања и да се запомни sha256 хашот по преземањето на датотеката, во збирките се креирани три променливи (можете да ги најдете со одење во поставките за собирање Уреди -> Променливи): te_api (задолжително), api_key (потребно е да се пополни, освен кога се користи TP API со локални уреди), sha256 (оставете празно, не се користи во TP API за SG).
Примери на употреба
Во заедницата
Извор: www.habr.com