Den här artikeln kommer att vara användbar för dem som är bekanta med teknik Check Point genom filemulering (Hotemulering) och proaktiv filrensning (Utvinning av hot) och vill ta ett steg mot att automatisera dessa uppgifter. Check Point har
Grundläggande förkortningar
Threat Prevention API fungerar med tre huvudkomponenter, som anropas i API:t genom följande textvärden:
av — Antiviruskomponent, ansvarig för signaturanalys av kända hot.
te - Threat Emulation-komponent, ansvarig för att kontrollera filer i sandlådan och göra en skadlig/godartad dom efter emulering.
extraktion - Threat Extraction-komponent, ansvarig för att snabbt konvertera kontorsdokument till en säker form (i vilken allt potentiellt skadligt innehåll tas bort), för att snabbt kunna leverera dem till användare/system.
API-struktur och huvudsakliga begränsningar
Threat Prevention API använder endast 4 förfrågningar - ladda upp, fråga, ladda ner och kvotera. I rubriken för alla fyra förfrågningar måste du skicka API-nyckeln med parametern Tillstånd. Vid första anblicken kan strukturen verka mycket enklare än i
För närvarande har den enda versionen av Threat Prevention API släppts - 1.0; URL:en för API-anrop bör inkludera v1 i den del där du behöver ange version. Till skillnad från Management API är det nödvändigt att ange API-versionen i URL:en, annars kommer begäran inte att exekveras.
Antiviruskomponenten, när den anropas utan andra komponenter (te, extraktion), stöder för närvarande endast frågeförfrågningar med md5-hashsummor. Threat Emulation och Threat Extraction stöder också sha1 och sha256 hashsummor.
Det är mycket viktigt att inte göra fel i frågor! Begäran kan utföras utan fel, men inte helt. Tittar vi lite framåt, låt oss titta på vad som kan hända när det finns fel/stavfel i frågor.
Begäran med ett stavfel med ordet reports(reportss)
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
reportss: ["tar", "pdf", "xml"]
}
}
]
}
Det blir inga fel i svaret, men det kommer ingen information om rapporterna alls
{
"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."
}
}
}
]
}
Men för en förfrågan utan stavfel i rapporttangenten
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
reports: ["tar", "pdf", "xml"]
}
}
]
}
Vi får ett svar som redan innehåller id för nedladdning av rapporter
{
"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."
}
}
}
]
}
Om vi skickar en felaktig/förfallen API-nyckel får vi ett 403-fel som svar.
SandBlast API: i molnet och på lokala enheter
API-förfrågningar kan skickas till Check Point-enheter som har Threat Emulation-komponenten (bladet) aktiverad. Som adress för förfrågningar måste du använda enhetens ip/url och port 18194 (till exempel https://10.10.57.19:18194/tecloud/api/v1/file/query). Du bör också se till att säkerhetspolicyn på enheten tillåter en sådan anslutning. Auktorisering via API-nyckel på lokala enheter som standard av och auktoriseringsnyckeln i förfrågningshuvuden kanske inte skickas alls.
API-förfrågningar till CheckPoint-molnet ska skickas till te.checkpoint.com (till exempel - https://te.checkpoint.com/tecloud/api/v1/file/query). API-nyckeln kan erhållas som en testlicens i 60 dagar genom att kontakta Check Point-partners eller företagets lokala kontor.
På lokala enheter stöds ännu inte Threat Extraction som standard.
Lokala enheter stöder inte kvotbegäran.
Annars finns det inga skillnader mellan förfrågningar till lokala enheter och till molnet.
Ladda upp API-anrop
Metod som används − POST
Ring adress - https:///tecloud/api/v1/file/uppladdning
Begäran består av två delar (form-data): en fil avsedd för emulering/rengöring och en förfrågningstext med text.
Textbegäran kan inte vara tom, men den kanske inte innehåller någon konfiguration. För att begäran ska lyckas måste du skicka minst följande text i begäran:
Minimum krävs för en uppladdningsbegäran
HTTP POST
https:///tecloud/api/v1/file/uppladdning
rubriker:
Tillstånd:
Kaross
{
"request": {
}
}
Fil
Fil
I det här fallet kommer filen att bearbetas i enlighet med standardparametrarna: komponent - te, OS-bilder - Vinn XP och Win 7utan att skapa en rapport.
Kommentarer till huvudfälten i textförfrågan:
filnamn и filtyp Du kan lämna dem tomma eller inte skicka dem alls, eftersom detta inte är särskilt användbar information när du laddar upp en fil. I API-svaret kommer dessa fält att fyllas i automatiskt baserat på namnet på den nedladdade filen, och informationen i cachen kommer fortfarande att behöva sökas med md5/sha1/sha256 hash-mängder.
Exempelförfrågan med tomt filnamn och filtyp
{
"request": {
"file_name": "",
"file_type": "",
}
}
pass — en lista som anger nödvändig funktionalitet vid bearbetning i sandlådan - av (Anti-Virus), te (Threat Emulation), extraction (Threat Extraction). Om denna parameter inte skickas alls, kommer bara standardkomponenten att användas - te (Threat Emulation).
För att aktivera incheckning av de tre tillgängliga komponenterna måste du ange dessa komponenter i API-begäran.
Exempel på förfrågan med incheckning av, te och extraktion
{ "request": [
{
"sha256": {{sha256}},
"features": ["av", "te", "extraction"]
}
]
}
Knappar i te-sektionen
bilder — En lista som innehåller ordböcker med id och revisionsnummer för de operativsystem där kontrollen kommer att utföras. ID:n och revisionsnummer är desamma för alla lokala enheter och molnet.
Lista över operativsystem och revisioner
Tillgängligt OS Image ID
Revision
Bild OS och applikation
e50e99f3-5963-4573-af9e-e3f4750b55e2
1
Microsoft Windows: XP - 32bit SP3
Office: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash Player 9r115 och ActiveX 10.0
Java Runtime: 1.6.0u22
7e6fe36e-889e-4c25-8704-56378f0830df
1
Microsoft Windows: 7 - 32 bitar
Office: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash spelare: 10.2r152 (Insticksmodulen& ActiveX)
Java Runtime: 1.6.0u0
8d188031-1010-4466-828b-0cd13d4303ff
1
Microsoft Windows: 7 - 32 bitar
Office: 2010
Adobe Acrobat Reader: 9.4
Flash spelare: 11.0.1.152 (Insticksmodulen & ActiveX)
Java Runtime: 1.7.0u0
5e5de275-a103-4f67-b55b-47532918fa59
1
Microsoft Windows: 7 - 32 bitar
Office: 2013
Adobe Acrobat Reader: 11.0
Flash spelare: 15 (Insticksmodulen & ActiveX)
Java Runtime: 1.7.0u9
3ff3ddae-e7fd-4969-818c-d5f1a2be336d
1
Microsoft Windows: 7 - 64 bitar
Office: 2013 (32bit)
Adobe Acrobat Reader: 11.0.01
Flash spelare: 13 (Insticksmodulen & ActiveX)
Java Runtime: 1.7.0u9
6c453c9b-20f7-471a-956c-3198a868dc92
1
Microsoft Windows: 8.1 - 64 bitar
Office: 2013 (64bit)
Adobe Acrobat Reader: 11.0.10
Flash spelare: 18.0.0.160 (Insticksmodulen & ActiveX)
Java Runtime: 1.7.0u9
10b4a9c6-e414-425c-ae8b-fe4dd7b25244
1
Microsoft Windows: 10
Office: Professional Plus 2016 sv-us
Adobe Acrobat Reader: DC 2015 MUI
Flash spelare: 20 (Insticksmodulen & ActiveX)
Java Runtime: 1.7.0u9
Om bildnyckeln inte är specificerad alls, kommer emulering att ske i bilder som rekommenderas av Check Point (för närvarande Win XP och Win 7). Dessa bilder rekommenderas baserat på överväganden om den bästa balansen mellan prestanda och fångsthastighet.
rapporter — en lista över rapporter som vi begär om filen skulle visa sig vara skadlig. Följande alternativ är tillgängliga:
-
sammanfattning - .tar.gz-arkiv som innehåller en rapport om emulering av alla efterfrågade bilder (både en HTML-sida och komponenter som en video från emulatorns operativsystem, en nätverkstrafikdump, en rapport i json och själva provet i ett lösenordsskyddat arkiv). Vi letar efter nyckeln i svaret - sammanfattande rapport för senare nedladdning av rapporten.
-
pdf - dokument om emulering i ett bild, som många är vana vid att få via Smart Console. Vi letar efter nyckeln i svaret - pdf_rapport för senare nedladdning av rapporten.
-
xml - dokument om emulering i ett bild, bekvämt för efterföljande analys av parametrar i rapporten. Vi letar efter nyckeln i svaret - xml_report för senare nedladdning av rapporten.
-
tjära - .tar.gz-arkiv som innehåller en rapport om emulering i ett efterfrågade bilder (både en HTML-sida och komponenter som en video från emulatorns operativsystem, en nätverkstrafikdump, en rapport i json och själva provet i ett lösenordsskyddat arkiv). Vi letar efter nyckeln i svaret - fullständig_rapport för senare nedladdning av rapporten.
Vad finns i den sammanfattande rapporten
Nycklarna full_report, pdf_report, xml_report finns i ordlistan för varje operativsystem
{
"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."
}
}
}
]
}
Men summary_report-nyckeln - det finns en för emulering i allmänhet
{
"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."
}
}
}
]
}
Du kan begära tar- och xml- och pdf-rapporter samtidigt, du kan begära sammanfattning och tar och xml. Det kommer inte att vara möjligt att begära en sammanfattande rapport och en pdf samtidigt.
Knappar i extraktionssektionen
För hotextraktion används endast två nycklar:
metod — pdf (konvertera till pdf, används som standard) eller ren (rensar aktivt innehåll).
extraherade_delar_koder - lista över koder för att ta bort aktivt innehåll, endast tillämplig för den rena metoden
Koder för att ta bort innehåll från filer
Koda
Beskrivning
1025
Länkade objekt
1026
Makron och kod
1034
Känsliga hyperlänkar
1137
PDF GoToR-åtgärder
1139
PDF-startåtgärder
1141
PDF URI-åtgärder
1142
PDF Ljudåtgärder
1143
PDF-filmåtgärder
1150
PDF JavaScript-åtgärder
1151
PDF Skicka formuläråtgärder
1018
Databasfrågor
1019
Inbäddade objekt
1021
Snabbt spara data
1017
Anpassade egenskaper
1036
Statistiska egenskaper
1037
Sammanfattningsegenskaper
För att ladda ner en rensad kopia måste du också göra en frågeförfrågan (som kommer att diskuteras nedan) efter några sekunder, och specificera hash-mängden för filen och extraktionskomponenten i begäranstexten. Du kan hämta den rensade filen med id:t från svaret på frågan - extracted_file_download_id. Återigen, när jag ser lite framåt, ger jag exempel på en förfrågan och ett frågesvar för att söka efter ett id för att ladda ner ett rensat dokument.
Fråga för att söka efter nyckeln extracted_file_download_id
{ "request": [
{
"sha256": "9a346005ee8c9adb489072eb8b5b61699652962c17596de9c326ca68247a8876",
"features": ["extraction"] ,
"extraction": {
"method": "pdf"
}
}
]
}
Svar på fråga (leta efter nyckel för 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."
}
}
}
]
}
Översikt
I ett API-anrop kan du bara skicka en fil för verifiering.
Av-komponenten kräver inte en extra sektion med nycklar, det räcker med att ange den i ordboken pass.
Fråga API-anrop
Metod som används − POST
Ring adress - https:///tecloud/api/v1/file/query
Innan du skickar en fil för nedladdning (uppladdningsbegäran) är det lämpligt att kontrollera sandlådecachen (förfrågansbegäran) för att optimera belastningen på API-servern, eftersom API-servern redan kan ha information och ett omdöme om den nedladdade filen. Samtalet består endast av en textdel. Den nödvändiga delen av begäran är sha1/sha256/md5 hash-mängd av filen. Du kan förresten få det i svaret på uppladdningsförfrågan.
Minimum krävs för fråga
HTTP POST
https:///tecloud/api/v1/file/query
rubriker:
Tillstånd:
Kaross
{
"request": {
"sha256":
}
}
Ett exempel på ett svar på en uppladdningsbegäran, där sha1/md5/sha256 hashbelopp är synliga
{
"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."
}
}
}
}
Frågeförfrågan, utöver hashbeloppet, bör helst vara densamma som uppladdningsbegäran var (eller planeras att vara), eller till och med "redan" (innehålla färre fält i frågeförfrågan än i uppladdningsbegäran). I det fall då frågeförfrågan innehåller fler fält än vad som fanns i uppladdningsbegäran, kommer du inte att få all nödvändig information i svaret.
Här är ett exempel på ett svar på en fråga där inte alla nödvändiga data hittades
{
"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."
}
}
}
]
}
Var uppmärksam på fälten koda и etikett. Dessa fält visas tre gånger i statusordböcker. Först ser vi den globala nyckeln "code": 1006 och "label": "PARTIALLY_FOUND". Därefter hittas dessa nycklar för varje enskild komponent som vi begärde - te och extraktion. Och om det är tydligt att data har hittats, så finns det ingen information för utvinning.
Så här såg frågan ut för exemplet ovan
{ "request": [
{
"sha256": {{sha256}},
"features": ["te", "extraction"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"reports": [
"xml", "pdf"
]
}
}
]
}
Om du skickar en förfrågan utan extraktionskomponenten
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"reports": [
"xml", "pdf"
]
}
}
]
}
Då kommer svaret att innehålla fullständig information ("kod": 1001, "etikett": "FOUND")
{
"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."
}
}
}
]
}
Om det inte finns någon information i cachen alls, kommer svaret att vara "label": "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."
}
}
}
]
}
I ett API-anrop kan du skicka flera hashbelopp samtidigt för verifiering. Svaret kommer att returnera data i samma ordning som det skickades i begäran.
Exempel på frågeförfrågan med flera sha256-belopp
{ "request": [
{
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd81"
},
{
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd82"
}
]
}
Svar på en fråga med flera sha256-belopp
{
"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."
}
}
}
]
}
Att begära flera hashsummor samtidigt i en frågeförfrågan kommer också att ha en gynnsam effekt på API-serverns prestanda.
Ladda ner API-anrop
Metod som används − POST (enligt dokumentation), FÅ fungerar också (och kan verka mer logiskt)
Ring adress - https:///tecloud/api/v1/file/download?id=
Rubriken kräver att API-nyckeln skickas, brödtexten i begäran är tom, nedladdnings-ID:t skickas i URL-adressen.
Som svar på en frågeförfrågan, om emuleringen är klar och rapporter begärdes när filen laddades ner, kommer ID:t för nedladdning av rapporter att vara synligt. Om en rensad kopia efterfrågas bör du leta efter id:t för att ladda ner det rensade dokumentet.
Totalt kan nycklarna i svaret på frågan som innehåller id-värdet för laddning vara:
-
sammanfattande rapport
-
fullständig_rapport
-
pdf_rapport
-
xml_report
-
extraherad_fil_nedladdnings-id
Naturligtvis, för att ta emot dessa nycklar som svar på frågeförfrågan måste de anges i begäran (för rapporter) eller komma ihåg att göra en begäran med hjälp av extraheringsfunktionen (för rensade dokument)
Quota API-anrop
Metod som används − POST
Ring adress - https:///tecloud/api/v1/file/quota
För att kontrollera den återstående kvoten i molnet, använd kvotfrågan. Begäran är tom.
Exempel på svar på en kvotförfrågan
{
"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 för Security Gateway
Detta API utvecklades före Threat Prevention API och är endast avsett för lokala enheter. För närvarande kan det bara vara användbart om du behöver Threat Extraction API. För Threat Emulation är det bättre att använda det vanliga Threat Prevention API. Att slå på TP API för SG och konfigurera API-nyckeln du behöver följa stegen från
Låt oss nu titta närmare på funktionerna te и extraktion i detta API.
För komponent te ordbok tillhandahålls te_alternativ i uppladdnings-/frågaförfrågningar, och nycklarna i denna begäran sammanfaller helt med te-nycklarna
Exempelbegäran för filemulering i Win10 med rapporter
{
"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"]
}
}
]
}
För komponent extraktion ordbok tillhandahålls scrub_options. Denna begäran anger rengöringsmetoden: konvertera till PDF, rensa aktivt innehåll eller välj ett läge i enlighet med profilen för förebyggande av hot (profilnamnet anges). Det fantastiska med att svara på en extraktions-API-begäran för en fil är att du får den rensade kopian i svaret på den begäran som en base64-krypterad sträng (du behöver inte göra en frågeförfrågan och slå upp id:t för att ladda ner dokumentet)
Exempel på en begäran om att rensa en fil
{
"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
}
}]
}
Svara på begäran
{
"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": ""
}
}]
}
Trots det faktum att färre API-förfrågningar krävs för att få en godkänd kopia, tycker jag att det här alternativet är mindre föredraget och bekvämt än formulärdatabegäran som används i
Postman Samlingar
Jag skapade samlingar i Postman för både Threat Prevention API och Threat Prevention API för Security Gateway, som representerar de vanligaste API-förfrågningarna. För att serverns ip/url API och nyckel automatiskt ska ersättas med förfrågningar, och sha256 hash-mängden ska komma ihåg efter nedladdning av filen, har tre variabler skapats inuti samlingarna (du kan hitta dem genom att gå till samlingsinställningarna Redigera -> Variabler): te_api (obligatoriskt), api_key (krävs att fyllas i, förutom när du använder TP API med lokala enheter), sha256 (lämna tomt, används inte i TP API för SG).
Exempel på användning
I samhället
Källa: will.com