Ĉi tiu artikolo estos utila al tiuj, kiuj konas teknologion Kontroli Punkton per dosiera emulado (Emulado de Minaco) kaj iniciatema dosierpurigado (Minaco Eltiro) kaj volas fari paŝon por aŭtomatigi ĉi tiujn taskojn. Check Point havas
Bazaj mallongigoj
La Threat Prevention API funkcias kun tri ĉefaj komponentoj, kiuj estas nomitaj en la API per la sekvaj tekstaj valoroj:
av — Kontraŭvirusa komponanto, respondeca pri subskriba analizo de konataj minacoj.
te - Emulado de Minaco, respondeca por kontroli dosierojn en la sablokesto, kaj fari malican/bonan verdikton post kopiado.
eltiro - Threat Extraction-komponento, respondeca pri rapide konvertado de oficejaj dokumentoj en sekuran formon (en kiu ĉiu potenciale malica enhavo estas forigita), por rapide liveri ilin al uzantoj/sistemoj.
API-strukturo kaj ĉefaj limigoj
Threat Prevention API uzas nur 4 petojn − alŝuto, konsulto, elŝuto kaj kvoto. En la kaplinio por ĉiuj kvar petoj vi devas pasi la API-ŝlosilon uzante la parametron Rajtigo. Unuavide, la strukturo povas ŝajni multe pli simpla ol en
Nuntempe, la nura versio de la API-Preventado de Minacoj estis publikigita - 1.0; la URL por API-vokoj devus inkluzivi v1 en la parto, kie vi devas specifi la version. Male al la Administra API, necesas indiki la API-version en la URL, alie la peto ne estos plenumita.
La Antivirusa komponanto, kiam vokita sen aliaj komponantoj (te, eltiro), nuntempe nur subtenas petojn kun md5 hash-sumoj. Minaco-Emulado kaj Minaco-Eltiro ankaŭ subtenas sha1 kaj sha256 hash-sumojn.
Estas tre grave ne fari erarojn en demandoj! La peto povas esti plenumita sen eraro, sed ne tute. Rigardante iom antaŭen, ni rigardu, kio povas okazi kiam estas eraroj/tajpereraroj en demandoj.
Peto kun tajperaro kun la vorto raportoj(raportoj)
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
reportss: ["tar", "pdf", "xml"]
}
}
]
}
Ne estos eraro en la respondo, sed tute ne estos informoj pri la raportoj
{
"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."
}
}
}
]
}
Sed por peto sen tajperaro en la raportŝlosilo
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
reports: ["tar", "pdf", "xml"]
}
}
]
}
Ni ricevas respondon, kiu jam enhavas identigilon por elŝuti raportojn
{
"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."
}
}
}
]
}
Se ni sendas malĝustan/eksvaliditan API-ŝlosilon, ni ricevos 403-eraron kiel respondo.
SandBlast API: en la nubo kaj sur lokaj aparatoj
API-petoj povas esti senditaj al Check Point-aparatoj, kiuj havas la komponenton (klingo) de Emulado de Minaco ebligita. Kiel adreson por petoj, vi devas uzi la ip/url de la aparato kaj haveno 18194 (ekzemple, https://10.10.57.19:18194/tecloud/api/v1/file/query). Vi ankaŭ devas certigi, ke la sekureca politiko de la aparato permesas ĉi tiun konekton. Rajtigo per API-ŝlosilo en lokaj aparatoj defaŭlte for kaj la Rajtigo-ŝlosilo en petaj kaplinioj eble tute ne estas sendita.
API-petoj al la CheckPoint-nubo estu senditaj al te.checkpoint.com (ekzemple - https://te.checkpoint.com/tecloud/api/v1/file/query). La API-ŝlosilo povas esti akirita kiel prova permesilo dum 60 tagoj kontaktante Check Point-partnerojn aŭ la lokan oficejon de la firmao.
Sur lokaj aparatoj, Threat Extraction ankoraŭ ne estas subtenata kiel norma.
Lokaj aparatoj ne subtenas la kvotan peton.
Alie, ne estas diferencoj inter petoj al lokaj aparatoj kaj al la nubo.
Alŝutu API-vokon
Metodo uzata − POST
Voka adreso - https:///tecloud/api/v1/file/upload
La peto konsistas el du partoj (form-datumoj): dosiero destinita por kopiado/purigado kaj petokorpo kun teksto.
La tekstopeto ne povas esti malplena, sed ĝi eble ne enhavas ajnan agordon. Por ke la peto sukcesu, vi devas sendi almenaŭ la jenan tekston en la peto:
Minimumo necesa por alŝuta peto
HTTP POST
https:///tecloud/api/v1/file/upload
Kapoj:
Rajtigo:
korpo
{
"peto": {
}
}
dosiero
dosiero
En ĉi tiu kazo, la dosiero estos procesita laŭ la defaŭltaj parametroj: komponanto - te, OS-bildoj - Gajnu XP kaj Gajnu 7, sen generi raporton.
Komentoj pri la ĉefaj kampoj en la teksta peto:
dosiernomo и dosiero_tipo Vi povas lasi ilin malplenaj aŭ tute ne sendi ilin, ĉar ĉi tio ne estas precipe utila informo dum alŝuto de dosiero. En la API-respondo, ĉi tiuj kampoj estos aŭtomate plenigitaj surbaze de la nomo de la elŝutita dosiero, kaj la informoj en la kaŝmemoro ankoraŭ devos esti serĉataj per md5/sha1/sha256 hash-kvantoj.
Ekzempla peto kun malplena dosiernomo kaj dosiertipo
{
"request": {
"file_name": "",
"file_type": "",
}
}
Trajtoj — listo, kiu indikas la necesajn funkciojn dum prilaborado en la sablokesto - av (Anti-Virus), te (Threat Emulation), eltiro (Threat Extraction). Se ĉi tiu parametro tute ne estas preterpasita, tiam nur la defaŭlta komponanto estos uzata - te (Threat Emulation).
Por ebligi kontrolon de la tri disponeblaj komponantoj, vi devas specifi ĉi tiujn komponantojn en la API-peto.
Ekzemplo de peto kun kontrolo en av, te kaj eltiro
{ "request": [
{
"sha256": {{sha256}},
"features": ["av", "te", "extraction"]
}
]
}
Ŝlosiloj en la te sekcio
bildoj — listo enhavanta vortarojn kun id kaj revizia numero de la operaciumoj en kiuj la kontrolo estos farita. ID-oj kaj reviziaj nombroj estas la samaj por ĉiuj lokaj aparatoj kaj la nubo.
Listo de operaciumoj kaj revizioj
Disponebla OS Bilda ID
revizio
Bildo OS kaj Apliko
e50e99f3-5963-4573-af9e-e3f4750b55e2
1
Vindozo: XP - 32bit SP3
oficejo2003, 2007
Adobe Acrobat Reader: 9.0
Ekbrila Ludisto 9r115 kaj Aktiva X 10.0
Java Rultempo: 1.6.0u22
7e6fe36e-889e-4c25-8704-56378f0830df
1
Vindozo: 7 - 32 bitoj
oficejo2003, 2007
Adobe Acrobat Reader: 9.0
Flash Player: 10.2r152 (Konekti& Aktiva X)
Java Rultempo: 1.6.0u0
8d188031-1010-4466-828b-0cd13d4303ff
1
Vindozo: 7 - 32 bitoj
oficejo: 2010
Adobe Acrobat Reader: 9.4
Flash Player: 11.0.1.152 (Konekti & Aktiva X)
Java Rultempo: 1.7.0u0
5e5de275-a103-4f67-b55b-47532918fa59
1
Vindozo: 7 - 32 bitoj
oficejo: 2013
Adobe Acrobat Reader: 11.0
Flash Player: 15 (Konekti & Aktiva X)
Java Rultempo: 1.7.0u9
3ff3ddae-e7fd-4969-818c-d5f1a2be336d
1
Vindozo: 7 - 64 bitoj
oficejo: 2013 (32 bitoj)
Adobe Acrobat Reader: 11.0.01
Flash Player: 13 (Konekti & Aktiva X)
Java Rultempo: 1.7.0u9
6c453c9b-20f7-471a-956c-3198a868dc92
1
Vindozo: 8.1 - 64 bitoj
oficejo: 2013 (64 bitoj)
Adobe Acrobat Reader: 11.0.10
Flash Player: 18.0.0.160 (Konekti & Aktiva X)
Java Rultempo: 1.7.0u9
10b4a9c6-e414-425c-ae8b-fe4dd7b25244
1
Vindozo: 10
oficejo: Profesia Plus 2016 en-us
Adobe Acrobat Reader: DC 2015 MUI
Flash Player: 20 (Konekti & Aktiva X)
Java Rultempo: 1.7.0u9
Se la bildŝlosilo tute ne estas specifita, tiam kopiado okazos en bildoj rekomenditaj de Check Point (nuntempe Win XP kaj Win 7). Ĉi tiuj bildoj estas rekomenditaj surbaze de konsideroj de la plej bona ekvilibro de rendimento kaj kapta indico.
raportoj — listo de raportoj, kiujn ni petas, se la dosiero montriĝas malica. La jenaj opcioj disponeblas:
-
resumo - .tar.gz-arkivo enhavanta raporton pri kopiado de al ĉiuj petitaj bildoj (kaj html-paĝo kaj komponantoj kiel video de la emulilo OS, rettrafika rubejo, raporto en json, kaj la specimeno mem en pasvorte protektita arkivo). Ni serĉas la ŝlosilon en la respondo - resumo_raporto por posta elŝuto de la raporto.
-
pdf - dokumento pri emulado en unu bildo, kiun multaj kutimas ricevi per la Inteligenta Konzolo. Ni serĉas la ŝlosilon en la respondo - pdf_raporto por posta elŝuto de la raporto.
-
xml - dokumento pri emulado en unu bildo, oportuna por posta analizo de parametroj en la raporto. Ni serĉas la ŝlosilon en la respondo - xml_raporto por posta elŝuto de la raporto.
-
gudro - .tar.gz-arkivo enhavanta raporton pri kopiado en unu petitaj bildoj (kaj html-paĝo kaj komponantoj kiel video de la emulilo OS, rettrafika rubejo, raporto en json, kaj la specimeno mem en pasvorte protektita arkivo). Ni serĉas la ŝlosilon en la respondo - plena_raporto por posta elŝuto de la raporto.
Kio estas ene de la resuma raporto
La klavoj full_report, pdf_report, xml_report estas en la vortaro por ĉiu OS
{
"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."
}
}
}
]
}
Sed la resumo_raporto ŝlosilo - ekzistas unu por emulado ĝenerale
{
"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."
}
}
}
]
}
Vi povas peti tar kaj xml kaj pdf-raportojn samtempe, vi povas peti resumon kaj tar kaj xml. Ne eblos peti resuman raporton kaj pdf-on samtempe.
Ŝlosiloj en la eltira sekcio
Por minaca eltiro, nur du ŝlosiloj estas uzataj:
metodo — pdf (konverti al pdf, uzata defaŭlte) aŭ purigi (purigi aktivan enhavon).
ĉerpitaj_partoj_kodoj - listo de kodoj por forigi aktivan enhavon, aplikebla nur por la pura metodo
Kodoj por forigi enhavon de dosieroj
Kodo
Priskribo
1025
Ligitaj Objektoj
1026
Makrooj kaj Kodo
1034
Sentemaj Hiperligiloj
1137
PDF GoToR Agoj
1139
PDF Lanĉaj Agoj
1141
PDF URI-Agoj
1142
PDF Sonaj Agoj
1143
PDF Filmaj Agoj
1150
PDF JavaScript Agoj
1151
PDF Sendi Formulajn Agojn
1018
Datumbazaj Demandoj
1019
Enkorpigitaj Objektoj
1021
Rapida Konservu Datumojn
1017
Propraj Propraĵoj
1036
Statistikaj Propraĵoj
1037
Resumaj Propraĵoj
Por elŝuti purigitan kopion, vi ankaŭ devos fari demandan peton (kiu estos diskutita sube) post kelkaj sekundoj, specifante la hashkvanton de la dosiero kaj la eltiran komponanton en la peta teksto. Vi povas preni la purigitan dosieron uzante la id el la respondo al la demando - extracted_file_download_id. Denove, iomete rigardante antaŭen, mi donas ekzemplojn de peto kaj demandrespondo por serĉi identigilon por elŝuti purigitan dokumenton.
Demandu peton serĉi la extracted_file_download_id-ŝlosilon
{ "request": [
{
"sha256": "9a346005ee8c9adb489072eb8b5b61699652962c17596de9c326ca68247a8876",
"features": ["extraction"] ,
"extraction": {
"method": "pdf"
}
}
]
}
Respondo al demando (serĉu extracted_file_download_id-ŝlosilon)
{
"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."
}
}
}
]
}
Ĝenerala informo
En unu API-voko, vi povas sendi nur unu dosieron por konfirmo.
La av-komponento ne postulas plian sekcion kun klavoj, sufiĉas specifi ĝin en la vortaro Trajtoj.
Demandu API-vokon
Metodo uzata − POST
Voka adreso - https:///tecloud/api/v1/file/query
Antaŭ sendi dosieron por elŝuto (alŝuta peto), estas konsilinde kontroli la sablokeston-kaŝmemoron (peto de konsulto) por optimumigi la ŝarĝon sur la API-servilo, ĉar la API-servilo eble jam havas informojn kaj verdikton pri la elŝutita dosiero. La alvoko konsistas nur el tekstparto. La postulata parto de la peto estas sha1/sha256/md5 hash-kvanto de la dosiero. Cetere, vi povas ricevi ĝin en la respondo al la alŝuta peto.
Minimumo necesa por konsulto
HTTP POST
https:///tecloud/api/v1/file/query
Kapoj:
Rajtigo:
korpo
{
"peto": {
"sha256":
}
}
Ekzemplo de respondo al alŝuta peto, kie sha1/md5/sha256 hashkvantoj estas videblaj
{
"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."
}
}
}
}
La demandpeto, krom la hashkvanto, devus ideale esti la sama kiel la alŝuta peto estis (aŭ estas planita esti), aŭ eĉ "jam" (enhavu malpli da kampoj en la demandpeto ol en la alŝuta peto). En la kazo kie la demandpeto enhavas pli da kampoj ol estis en la alŝuta peto, vi ne ricevos ĉiujn postulatajn informojn en la respondo.
Jen ekzemplo de respondo al demando, kie ne ĉiuj bezonataj datumoj estis trovitaj
{
"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."
}
}
}
]
}
Atentu la kampojn kodo и etikedo. Tiuj ĉi kampoj aperas trifoje en statusaj vortaroj. Unue ni vidas la tutmondan ŝlosilon "kodo": 1006 kaj "etikedo": "PARTIALLY_FOUND". Poste, ĉi tiuj ŝlosiloj troviĝas por ĉiu individua komponanto, kiun ni petis - te kaj eltiro. Kaj se por te estas klare, ke la datumoj estas trovitaj, tiam por eltiro ne estas informo.
Jen kiel aspektis la demando por la supra ekzemplo
{ "request": [
{
"sha256": {{sha256}},
"features": ["te", "extraction"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"reports": [
"xml", "pdf"
]
}
}
]
}
Se vi sendas demandpeton sen la eltira komponanto
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"reports": [
"xml", "pdf"
]
}
}
]
}
Tiam la respondo enhavos kompletajn informojn ("kodo": 1001, "etikedo": "TROVITA")
{
"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."
}
}
}
]
}
Se tute ne estas informoj en la kaŝmemoro, tiam la respondo estos "etikedo": "NETROVITA"
{
"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."
}
}
}
]
}
En unu API-voko, vi povas sendi plurajn hashkvantojn samtempe por konfirmo. La respondo resendos datumojn en la sama ordo kiel ĝi estis sendita en la peto.
Ekzempla demandpeto kun pluraj sha256-kvantoj
{ "request": [
{
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd81"
},
{
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd82"
}
]
}
Respondo al demando kun multoblaj sha256 sumoj
{
"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."
}
}
}
]
}
Peti plurajn hash-sumojn samtempe en demanda peto ankaŭ havos utilan efikon al la agado de la API-servilo.
Elŝutu API-vokon
Metodo uzata − POST (laŭ dokumentado), GET ankaŭ funkcias (kaj eble ŝajnas pli logike)
Voka adreso - https:///tecloud/api/v1/file/download?id=
La kaplinio postulas la API-ŝlosilon esti pasita, la korpo de la peto estas malplena, la elŝuta id estas transdonita en la URL-adreso.
Responde al demanda peto, se la kopiado estas kompletigita kaj raportoj estis petitaj dum elŝuto de la dosiero, la id por elŝutado de raportoj estos videbla. Se purigita kopio estas petita, vi devus serĉi la identigilon por elŝuti la purigitan dokumenton.
Entute, la ŝlosiloj en la respondo al la demando enhavanta la id-valoron por ŝarĝo povas esti:
-
resumo_raporto
-
plena_raporto
-
pdf_raporto
-
xml_raporto
-
eltirita_dosiero_elŝuta_id
Kompreneble, por ricevi ĉi tiujn ŝlosilojn en respondo al la peto de demando, ili devas esti specifitaj en la peto (por raportoj) aŭ memori fari peton uzante la eltiran funkcion (por purigitaj dokumentoj)
Quota API-voko
Metodo uzata − POST
Voka adreso - https:///tecloud/api/v1/file/quota
Por kontroli la restantan kvoton en la nubo, uzu la kvotan demandon. La petokorpo estas malplena.
Ekzempla respondo al kvotopeto
{
"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"
}
]
}
Threat Prevention API por Sekureca Enirejo
Ĉi tiu API estis evoluigita antaŭ la API de Threat Prevention kaj estas destinita nur por lokaj aparatoj. Nuntempe ĝi nur povas esti utila se vi bezonas la Threat Extraction API. Por Emulado de Minaco estas pli bone uzi la regulan Threat Prevention API. Por ŝalti TP API por SG kaj agordu la API-ŝlosilon, de kiu vi devas sekvi la paŝojn
Nun ni rigardu pli detale la funkciojn te и eltiro en ĉi tiu API.
Por komponanto te vortaro provizita te_opcioj en alŝutaj/demandaj petoj, kaj la ŝlosiloj en ĉi tiu peto tute koincidas kun la te-ŝlosiloj en
Ekzempla peto por dosiermulado en Win10 kun raportoj
{
"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"]
}
}
]
}
Por komponanto eltiro vortaro provizita scrub_opcioj. Ĉi tiu peto precizigas la purigan metodon: konverti al PDF, malplenigi aktivan enhavon aŭ elektu reĝimon laŭ la profilo de Minaco-Preventado (la nomo de profilo estas indikita). La bonega afero pri respondado al eltira API-peto por dosiero estas, ke vi ricevas purigitan kopion en la respondo al tiu peto kiel baz64 ĉifrita ĉeno (vi ne bezonas fari demandopeton kaj serĉi la identigilon por elŝuti la dokumento)
Ekzemplo de peto forigi dosieron
{
"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
}
}]
}
Respondu al peto
{
"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": ""
}
}]
}
Malgraŭ tio, ke malpli da API-petoj estas bezonataj por akiri purigitan kopion, mi trovas ĉi tiun opcion malpli preferinda kaj oportuna ol la formular-datuma peto uzata en
Poŝtisto-Kolektoj
Mi kreis kolektojn en Postman por kaj la Threat Prevention API kaj la Threat Prevention API por Security Gateway, kiuj reprezentas la plej oftajn API-petojn. Por ke la servilo ip/url API kaj ŝlosilo estu aŭtomate anstataŭigitaj en petojn, kaj la sha256 hash-kvanto estu memorita post elŝuto de la dosiero, tri variabloj estis kreitaj ene de la kolektoj (vi povas trovi ilin irante al la kolekto-agordoj. Redakti -> Variabloj): te_api (postulata), api_key (postulata esti plenigita, krom kiam vi uzas TP API kun lokaj aparatoj), sha256 (lasu malplena, ne uzata en TP API por SG).
Uzaj Ekzemploj
En la komunumo
fonto: www.habr.com