Denne artikel vil være nyttig for dem, der er fortrolige med teknologi Check Point ved fil emulering (Trusselsemulering) og proaktiv filrensning (Trusselsudtrækning) og ønsker at tage et skridt i retning af at automatisere disse opgaver. Check Point har
Grundlæggende forkortelser
Threat Prevention API fungerer med tre hovedkomponenter, som kaldes i API'et gennem følgende tekstværdier:
av — Anti-Virus-komponent, ansvarlig for signaturanalyse af kendte trusler.
te - Threat Emulation-komponent, ansvarlig for at tjekke filer i sandkassen og lave en ondsindet/godartet dom efter emulering.
udvinding - Threat Extraction-komponent, ansvarlig for hurtigt at konvertere office-dokumenter til en sikker form (hvori alt potentielt skadeligt indhold fjernes), for hurtigt at kunne levere dem til brugere/systemer.
API-struktur og hovedbegrænsninger
Threat Prevention API bruger kun 4 anmodninger − upload, forespørg, download og kvote. I overskriften for alle fire anmodninger skal du sende API-nøglen ved hjælp af parameteren Tilladelse. Ved første øjekast kan strukturen virke meget enklere end i
I øjeblikket er den eneste version af Threat Prevention API blevet frigivet - 1.0; URL'en til API-kald skal indeholde v1 i den del, hvor du skal angive versionen. I modsætning til Management API er det nødvendigt at angive API-versionen i URL'en, ellers vil anmodningen ikke blive eksekveret.
Antivirus-komponenten, når den kaldes uden andre komponenter (te, udtrækning), understøtter i øjeblikket kun forespørgselsanmodninger med md5-hash-summer. Threat Emulation og Threat Extraction understøtter også sha1 og sha256 hash-summer.
Det er meget vigtigt ikke at lave fejl i forespørgsler! Anmodningen kan udføres uden fejl, men ikke fuldstændigt. Ser vi lidt fremad, så lad os se på, hvad der kan ske, når der er fejl/tastefejl i forespørgsler.
Anmodning med en tastefejl med ordet reports(reportss)
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
reportss: ["tar", "pdf", "xml"]
}
}
]
}
Der vil ikke være fejl i svaret, men der vil slet ikke være oplysninger om indberetningerne
{
"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 for en anmodning uden tastefejl i rapporttasten
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
reports: ["tar", "pdf", "xml"]
}
}
]
}
Vi modtager et svar, der allerede indeholder id til download af 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."
}
}
}
]
}
Hvis vi sender en forkert/udløbet API-nøgle, vil vi modtage en 403-fejl som svar.
SandBlast API: i skyen og på lokale enheder
API-anmodninger kan sendes til Check Point-enheder, der har Threat Emulation-komponenten (blade) aktiveret. Som adresse for anmodninger skal du bruge enhedens ip/url og port 18194 (f.eks. https://10.10.57.19:18194/tecloud/api/v1/fil/forespørgsel). Du bør også sørge for, at sikkerhedspolitikken på enheden tillader denne forbindelse. Godkendelse via API-nøgle på lokale enheder som standard af og autorisationsnøglen i anmodningsoverskrifter sendes muligvis slet ikke.
API-anmodninger til CheckPoint-skyen skal sendes til te.checkpoint.com (for eksempel - https://te.checkpoint.com/tecloud/api/v1/fil/forespørgsel). API-nøglen kan fås som en prøvelicens i 60 dage ved at kontakte Check Point-partnere eller virksomhedens lokale kontor.
På lokale enheder er Threat Extraction endnu ikke understøttet som standard.
Lokale enheder understøtter ikke kvoteanmodningen.
Ellers er der ingen forskelle mellem anmodninger til lokale enheder og til skyen.
Upload API-kald
Anvendt metode − POST
Opkaldsadresse - https:///tecloud/api/v1/file/upload
Anmodningen består af to dele (form-data): en fil beregnet til emulering/rensning og en anmodningstekst med tekst.
Tekstanmodningen må ikke være tom, men den indeholder muligvis ikke nogen konfiguration. For at anmodningen skal lykkes, skal du som minimum sende følgende tekst i anmodningen:
Minimum påkrævet for en uploadanmodning
HTTP POST
https:///tecloud/api/v1/file/upload
headers:
Bemyndigelse:
Fylde
{
"anmodning": {
}
}
File (Felt)
File (Felt)
I dette tilfælde vil filen blive behandlet i overensstemmelse med standardparametrene: komponent - te, OS billeder - Vind XP og Win 7uden at generere en rapport.
Kommentarer til hovedfelterne i tekstanmodningen:
filnavn и filtype Du kan lade dem være tomme eller slet ikke sende dem, da dette ikke er særlig nyttig information, når du uploader en fil. I API-svaret vil disse felter blive udfyldt automatisk baseret på navnet på den downloadede fil, og oplysningerne i cachen skal stadig søges ved hjælp af md5/sha1/sha256 hash-mængder.
Eksempelanmodning med tomt filnavn og filtype
{
"request": {
"file_name": "",
"file_type": "",
}
}
funktioner — en liste, der angiver den nødvendige funktionalitet ved behandling i sandkassen - av (Anti-Virus), te (Trusselsemulering), udvinding (Trusselsekstraktion). Hvis denne parameter slet ikke videregives, vil kun standardkomponenten blive brugt - te (Trusselsemulering).
For at aktivere indtjekning af de tre tilgængelige komponenter, skal du angive disse komponenter i API-anmodningen.
Eksempel på en anmodning med indtjekning av, te og udtræk
{ "request": [
{
"sha256": {{sha256}},
"features": ["av", "te", "extraction"]
}
]
}
Taster i te-sektionen
billeder — en liste med ordbøger med id og revisionsnummer for de operativsystemer, hvori kontrollen vil blive udført. ID'er og revisionsnumre er de samme for alle lokale enheder og skyen.
Liste over operativsystemer og revisioner
Tilgængeligt OS Image ID
Revision
Image OS og applikation
e50e99f3-5963-4573-af9e-e3f4750b55e2
1
Microsoft Windows: XP - 32bit SP3
Office: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash Player 9r115 og ActiveX 10.0
Java Runtime: 1.6.0u22
7e6fe36e-889e-4c25-8704-56378f0830df
1
Microsoft Windows: 7 - 32 bit
Office: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash Player: 10.2r152 (Plugin& ActiveX)
Java Runtime: 1.6.0u0
8d188031-1010-4466-828b-0cd13d4303ff
1
Microsoft Windows: 7 - 32 bit
Office: 2010
Adobe Acrobat Reader: 9.4
Flash Player: 11.0.1.152 (Plugin & ActiveX)
Java Runtime: 1.7.0u0
5e5de275-a103-4f67-b55b-47532918fa59
1
Microsoft Windows: 7 - 32 bit
Office: 2013
Adobe Acrobat Reader: 11.0
Flash Player: 15 (Plugin & ActiveX)
Java Runtime: 1.7.0u9
3ff3ddae-e7fd-4969-818c-d5f1a2be336d
1
Microsoft Windows: 7 - 64 bit
Office: 2013 (32bit)
Adobe Acrobat Reader: 11.0.01
Flash Player: 13 (Plugin & ActiveX)
Java Runtime: 1.7.0u9
6c453c9b-20f7-471a-956c-3198a868dc92
1
Microsoft Windows: 8.1 - 64 bit
Office: 2013 (64bit)
Adobe Acrobat Reader: 11.0.10
Flash Player: 18.0.0.160 (Plugin & ActiveX)
Java Runtime: 1.7.0u9
10b4a9c6-e414-425c-ae8b-fe4dd7b25244
1
Microsoft Windows: 10
Office: Professional Plus 2016 en-us
Adobe Acrobat Reader: DC 2015 MUI
Flash Player: 20 (Plugin & ActiveX)
Java Runtime: 1.7.0u9
Hvis billednøglen slet ikke er angivet, vil emulering finde sted i billeder anbefalet af Check Point (i øjeblikket Win XP og Win 7). Disse billeder anbefales baseret på overvejelser om den bedste balance mellem ydeevne og fangsthastighed.
rapporter — en liste over rapporter, som vi anmoder om, hvis filen viser sig at være skadelig. Følgende muligheder er tilgængelige:
-
resumé - .tar.gz arkiv indeholdende en rapport om emulering af til alle anmodede billeder (både en html-side og komponenter såsom en video fra emulator-operativsystemet, et netværkstrafikdump, en rapport i json og selve prøven i et adgangskodebeskyttet arkiv). Vi leder efter nøglen i svaret - opsummerende rapport til efterfølgende download af rapporten.
-
pdf - dokument om emulering i en billede, som mange er vant til at modtage gennem Smart Console. Vi leder efter nøglen i svaret - pdf_rapport til efterfølgende download af rapporten.
-
xml - dokument om emulering i en billede, praktisk til efterfølgende parsing af parametre i rapporten. Vi leder efter nøglen i svaret - xml_rapport til efterfølgende download af rapporten.
-
tjære - .tar.gz-arkiv, der indeholder en rapport om emulering i en anmodede billeder (både en html-side og komponenter såsom en video fra emulator-operativsystemet, et netværkstrafikdump, en rapport i json og selve prøven i et adgangskodebeskyttet arkiv). Vi leder efter nøglen i svaret - fuld_rapport til efterfølgende download af rapporten.
Hvad er inde i den sammenfattende rapport
Nøglerne full_report, pdf_report, xml_report er i ordbogen for hvert 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."
}
}
}
]
}
Men summary_report nøglen - der er en til emulering generelt
{
"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 anmode om tar- og xml- og pdf-rapporter på samme tid, du kan anmode om resumé og tar og xml. Det vil ikke være muligt at rekvirere en sammenfattende rapport og en pdf på samme tid.
Taster i ekstraktionssektionen
Til trusselsudtrækning bruges kun to nøgler:
metode — pdf (konverter til pdf, bruges som standard) eller clean (renser aktivt indhold).
ekstraherede_dele_koder - liste over koder til fjernelse af aktivt indhold, kun gældende for den rene metode
Koder til at fjerne indhold fra filer
Kode
Beskrivelse
1025
Sammenkædede objekter
1026
Makroer og kode
1034
Følsomme hyperlinks
1137
PDF GoToR-handlinger
1139
PDF-starthandlinger
1141
PDF URI-handlinger
1142
PDF lydhandlinger
1143
PDF film handlinger
1150
PDF JavaScript-handlinger
1151
PDF-indsend formularhandlinger
1018
Databaseforespørgsler
1019
Indlejrede objekter
1021
Hurtig gem data
1017
Brugerdefinerede egenskaber
1036
Statistiske egenskaber
1037
Oversigtsegenskaber
For at downloade en renset kopi skal du også lave en forespørgselsanmodning (som vil blive diskuteret nedenfor) efter et par sekunder, idet du angiver hash-mængden af filen og udtrækskomponenten i anmodningsteksten. Du kan hente den rensede fil ved hjælp af id'et fra svaret på forespørgslen - extracted_file_download_id. Endnu en gang, ser jeg lidt fremad, giver jeg eksempler på en anmodning og et forespørgselssvar for at søge efter et id til at downloade et ryddet dokument.
Forespørgselsanmodning om at søge efter nøglen extracted_file_download_id
{ "request": [
{
"sha256": "9a346005ee8c9adb489072eb8b5b61699652962c17596de9c326ca68247a8876",
"features": ["extraction"] ,
"extraction": {
"method": "pdf"
}
}
]
}
Svar på forespørgsel (se efter nøglen 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."
}
}
}
]
}
Oversigt
I et API-kald kan du kun sende én fil til verifikation.
Av-komponenten kræver ikke en ekstra sektion med nøgler, det er nok at angive det i ordbogen funktioner.
Forespørg API-kald
Anvendt metode − POST
Opkaldsadresse - https:///tecloud/api/v1/fil/query
Før du sender en fil til download (upload-anmodning), er det tilrådeligt at tjekke sandbox-cachen (forespørgselsanmodning) for at optimere belastningen på API-serveren, da API-serveren muligvis allerede har information og en dom om den downloadede fil. Opkaldet består kun af en tekstdel. Den påkrævede del af anmodningen er sha1/sha256/md5 hash-mængde af filen. Det kan du i øvrigt få i svaret på uploadanmodningen.
Minimum påkrævet for forespørgsel
HTTP POST
https:///tecloud/api/v1/fil/query
headers:
Bemyndigelse:
Fylde
{
"anmodning": {
"sha256":
}
}
Et eksempel på et svar på en uploadanmodning, hvor sha1/md5/sha256 hash-beløb er synlige
{
"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."
}
}
}
}
Forespørgselsanmodningen, ud over hash-beløbet, skal ideelt set være den samme som uploadanmodningen var (eller er planlagt til at være), eller endda "allerede" (indeholde færre felter i forespørgselsanmodningen end i uploadanmodningen). I det tilfælde, hvor forespørgselsanmodningen indeholder flere felter, end der var i uploadanmodningen, vil du ikke modtage alle de nødvendige oplysninger i svaret.
Her er et eksempel på et svar på en forespørgsel, hvor ikke alle nødvendige data blev fundet
{
"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."
}
}
}
]
}
Vær opmærksom på felterne kode и label. Disse felter vises tre gange i statusordbøger. Først ser vi den globale nøgle "kode": 1006 og "label": "PARTIALLY_FOUND". Dernæst findes disse nøgler for hver enkelt komponent, som vi har anmodet om - te og ekstraktion. Og hvis det for dig er klart, at dataene er fundet, så er der ingen information til udvinding.
Sådan så forespørgslen ud for eksemplet ovenfor
{ "request": [
{
"sha256": {{sha256}},
"features": ["te", "extraction"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"reports": [
"xml", "pdf"
]
}
}
]
}
Hvis du sender en forespørgsel uden ekstraktionskomponenten
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"reports": [
"xml", "pdf"
]
}
}
]
}
Så vil svaret indeholde fuldstændig information ("kode": 1001, "label": "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."
}
}
}
]
}
Hvis der slet ikke er nogen information i cachen, vil svaret være "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 et API-kald kan du sende flere hash-beløb på én gang til verifikation. Svaret vil returnere data i samme rækkefølge, som det blev sendt i anmodningen.
Eksempel på forespørgselsanmodning med flere sha256-beløb
{ "request": [
{
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd81"
},
{
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd82"
}
]
}
Svar på en forespørgsel med flere sha256-beløb
{
"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."
}
}
}
]
}
At anmode om flere hash-summer på én gang i en forespørgselsanmodning vil også have en gavnlig effekt på API-serverens ydeevne.
Download API-kald
Anvendt metode − POST (ifølge dokumentation), GET virker også (og kan virke mere logisk)
Opkaldsadresse - https:///tecloud/api/v1/file/download?id=
Headeren kræver, at API-nøglen sendes, brødteksten i anmodningen er tom, download-id'et sendes i URL-adressen.
Som svar på en forespørgsel, hvis emuleringen er fuldført, og der blev anmodet om rapporter ved download af filen, vil id'et for download af rapporter være synligt. Hvis der anmodes om en renset kopi, skal du kigge efter id'et for at downloade det rensede dokument.
I alt kan nøglerne i svaret på forespørgslen indeholdende id-værdien til indlæsning være:
-
opsummerende rapport
-
fuld_rapport
-
pdf_rapport
-
xml_rapport
-
extracted_file_download_id
For at modtage disse nøgler som svar på forespørgselsanmodningen skal de naturligvis angives i anmodningen (for rapporter) eller huske at lave en anmodning ved hjælp af udtræksfunktionen (for rensede dokumenter)
Kvote API-kald
Anvendt metode − POST
Opkaldsadresse - https:///tecloud/api/v1/file/kvote
For at kontrollere den resterende kvote i skyen skal du bruge kvoteforespørgslen. Anmodningsteksten er tom.
Eksempel på svar på en kvoteanmodning
{
"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 til Security Gateway
Denne API blev udviklet før Threat Prevention API og er kun beregnet til lokale enheder. For nu kan det kun være nyttigt, hvis du har brug for Threat Extraction API. Til Threat Emulation er det bedre at bruge den almindelige Threat Prevention API. At tænde TP API til SG og konfigurer den API-nøgle, du skal følge trinene fra
Lad os nu se nærmere på funktionerne te и udvinding i denne API.
Til komponent te ordbog leveret te_indstillinger i upload-/forespørgselsanmodninger, og nøglerne i denne anmodning falder fuldstændig sammen med te-tasterne
Eksempel på anmodning om 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"]
}
}
]
}
Til komponent udvinding ordbog leveret scrub_options. Denne anmodning specificerer rensemetoden: konverter til PDF, ryd aktivt indhold, eller vælg en tilstand i overensstemmelse med profilen til forebyggelse af trusler (profilnavnet er angivet). Det fantastiske ved at svare på en ekstraktions-API-anmodning for en fil er, at du får en renset kopi i svaret på den anmodning som en base64-krypteret streng (du behøver ikke at lave en forespørgselsanmodning og slå id'et op for at downloade dokument)
Eksempel på en anmodning om at rydde 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
}
}]
}
Besvar en anmodning
{
"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": ""
}
}]
}
På trods af, at der kræves færre API-anmodninger for at opnå en ryddet kopi, finder jeg denne mulighed mindre at foretrække og bekvem end formulardataanmodningen, der bruges i
Postmands Samlinger
Jeg oprettede samlinger i Postman til både Threat Prevention API og Threat Prevention API for Security Gateway, som repræsenterer de mest almindelige API-anmodninger. For at serverens ip/url API og nøgle automatisk skal erstattes med anmodninger, og sha256 hash beløbet skal huskes efter download af filen, er der oprettet tre variabler inde i samlingerne (du kan finde dem ved at gå til samlingsindstillingerne Rediger -> Variabler): te_api (påkrævet), api_key (skal udfyldes, undtagen ved brug af TP API med lokale enheder), sha256 (lad tom, ikke brugt i TP API for SG).
Eksempler på anvendelse
I samfundet
Kilde: www.habr.com