Denne artikkelen vil være nyttig for de som er kjent med teknologi Check Point ved filemulering (Trusselemulering) og proaktiv filrensing (Trusselutvinning) og ønsker å ta et skritt mot å automatisere disse oppgavene. Check Point har
Grunnleggende forkortelser
The Threat Prevention API fungerer med tre hovedkomponenter, som kalles opp i APIen gjennom følgende tekstverdier:
av — Anti-Virus-komponent, ansvarlig for signaturanalyse av kjente trusler.
te - Threat Emulation-komponent, ansvarlig for å sjekke filer i sandkassen, og lage en ondsinnet/godartet dom etter emulering.
utdrag - Threat Extraction-komponent, ansvarlig for raskt å konvertere kontordokumenter til en sikker form (der alt potensielt skadelig innhold fjernes), for raskt å kunne levere dem til brukere/systemer.
API-struktur og hovedbegrensninger
Threat Prevention API bruker bare 4 forespørsler - laste opp, spørre, laste ned og kvote. I overskriften for alle fire forespørslene må du sende inn API-nøkkelen ved hjelp av parameteren autorisasjon. Ved første øyekast kan strukturen virke mye enklere enn i
For øyeblikket er den eneste versjonen av Threat Prevention API utgitt - 1.0 URL-en for API-kall skal inneholde v1 i delen der du må spesifisere versjonen. I motsetning til Management API, er det nødvendig å angi API-versjonen i URL-en, ellers vil ikke forespørselen bli utført.
Antivirus-komponenten, når den kalles uten andre komponenter (te, utvinning), støtter foreløpig bare spørringsforespørsler med md5-hash-summer. Threat Emulation og Threat Extraction støtter også sha1- og sha256-hash-summer.
Det er veldig viktig å ikke gjøre feil i spørsmål! Forespørselen kan utføres uten feil, men ikke fullstendig. Ser vi litt fremover, la oss se på hva som kan skje når det er feil/tastefeil i spørringer.
Forespørsel med en skrivefeil med ordet reports(reportss)
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
reportss: ["tar", "pdf", "xml"]
}
}
]
}
Det vil ikke være feil i svaret, men det vil ikke være informasjon om rapportene i det hele tatt
{
"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 forespørsel uten skrivefeil i rapporttasten
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
reports: ["tar", "pdf", "xml"]
}
}
]
}
Vi mottar et svar som allerede inneholder id for nedlasting 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."
}
}
}
]
}
Hvis vi sender en feil/utløpt API-nøkkel, vil vi motta en 403-feil som svar.
SandBlast API: i skyen og på lokale enheter
API-forespørsler kan sendes til Check Point-enheter som har Threat Emulation-komponenten (bladet) aktivert. Som adresse for forespørsler må du bruke ip/url til enheten og port 18194 (for eksempel https://10.10.57.19:18194/tecloud/api/v1/fil/query). Du bør også sørge for at sikkerhetspolicyen på enheten tillater denne tilkoblingen. Autorisasjon via API-nøkkel på lokale enheter som standard av og autorisasjonsnøkkelen i forespørselshodene sendes kanskje ikke i det hele tatt.
API-forespørsler til CheckPoint-skyen skal sendes til te.checkpoint.com (for eksempel - https://te.checkpoint.com/tecloud/api/v1/file/query). API-nøkkelen kan fås som en prøvelisens i 60 dager ved å kontakte Check Point-partnere eller selskapets lokale kontor.
På lokale enheter støttes ikke Threat Extraction som standard ennå.
Lokale enheter støtter ikke kvoteforespørselen.
Ellers er det ingen forskjeller mellom forespørsler til lokale enheter og til skyen.
Last opp API-anrop
Metode brukt − POST
Anropsadresse - https:///tecloud/api/v1/file/opplasting
Forespørselen består av to deler (skjema-data): en fil beregnet på emulering/rensing og en forespørselstekst med tekst.
Tekstforespørselen kan ikke være tom, men den kan ikke inneholde noen konfigurasjon. For at forespørselen skal bli vellykket, må du sende minst følgende tekst i forespørselen:
Minimum nødvendig for en opplastingsforespørsel
HTTP POST
https:///tecloud/api/v1/file/opplasting
overskrifter:
Autorisasjon:
Body
{
"be om": {
}
}
filet
filet
I dette tilfellet vil filen bli behandlet i samsvar med standardparametrene: komponent - te, OS-bilder - Vinn XP og Win 7uten å generere en rapport.
Kommentarer til hovedfeltene i tekstforespørselen:
filnavn и filtype Du kan la dem stå tomme eller ikke sende dem i det hele tatt, siden dette ikke er spesielt nyttig informasjon når du laster opp en fil. I API-svaret vil disse feltene fylles ut automatisk basert på navnet på den nedlastede filen, og informasjonen i cachen vil fortsatt måtte søkes ved hjelp av md5/sha1/sha256 hash-mengder.
Eksempelforespørsel med tomt filnavn og filtype
{
"request": {
"file_name": "",
"file_type": "",
}
}
egenskaper — en liste som indikerer nødvendig funksjonalitet ved behandling i sandkassen - av (Anti-Virus), te (trusselemulering), utvinning (trusselsutvinning). Hvis denne parameteren ikke passeres i det hele tatt, vil bare standardkomponenten bli brukt - te (trusselsemulering).
For å aktivere innsjekking av de tre tilgjengelige komponentene, må du spesifisere disse komponentene i API-forespørselen.
Eksempel på forespørsel med innsjekk av, te og uttrekk
{ "request": [
{
"sha256": {{sha256}},
"features": ["av", "te", "extraction"]
}
]
}
Taster i te-delen
bilder — en liste som inneholder ordbøker med id og revisjonsnummer for operativsystemene der kontrollen skal utføres. IDer og revisjonsnumre er de samme for alle lokale enheter og skyen.
Liste over operativsystemer og revisjoner
Tilgjengelig OS Image ID
Revisjon
Bilde OS og applikasjon
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 kjøretid: 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 kjøretid: 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 kjøretid: 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 kjøretid: 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 kjøretid: 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 kjøretid: 1.7.0u9
10b4a9c6-e414-425c-ae8b-fe4dd7b25244
1
Microsoft Windows: 10
Office: Professional Plus 2016 no
Adobe Acrobat Reader: DC 2015 MUI
Flash Player: 20 (Plugin & ActiveX)
Java kjøretid: 1.7.0u9
Hvis bildenøkkelen ikke er spesifisert i det hele tatt, vil emulering finne sted i bilder anbefalt av Check Point (for øyeblikket Win XP og Win 7). Disse bildene anbefales basert på betraktninger om den beste balansen mellom ytelse og fangsthastighet.
rapporter — en liste over rapporter som vi ber om i tilfelle filen viser seg å være skadelig. Følgende alternativer er tilgjengelige:
-
sammendrag - .tar.gz-arkiv som inneholder en rapport om emulering av alle forespurte bilder (både en HTML-side og komponenter som en video fra emulator-operativsystemet, en nettverkstrafikkdump, en rapport i json og selve prøven i et passordbeskyttet arkiv). Vi leter etter nøkkelen i svaret - sammendrags rapport for senere nedlasting av rapporten.
-
pdf - dokument om emulering i en bilde, som mange er vant til å motta gjennom Smart Console. Vi leter etter nøkkelen i svaret - pdf_rapport for senere nedlasting av rapporten.
-
xml - dokument om emulering i en bilde, praktisk for påfølgende parsing av parametere i rapporten. Vi leter etter nøkkelen i svaret - xml_report for senere nedlasting av rapporten.
-
tjære - .tar.gz-arkiv som inneholder en rapport om emulering i en forespurte bilder (både en HTML-side og komponenter som en video fra emulator-operativsystemet, en nettverkstrafikkdump, en rapport i json og selve prøven i et passordbeskyttet arkiv). Vi leter etter nøkkelen i svaret - full_rapport for senere nedlasting av rapporten.
Hva er inne i sammendragsrapporten
Nøklene full_report, pdf_report, xml_report er i ordboken for hvert 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-nøkkelen - det er en for 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 be om tar- og xml- og pdf-rapporter samtidig, du kan be om sammendrag og tar og xml. Det vil ikke være mulig å be om en sammendragsrapport og en pdf samtidig.
Taster i ekstraksjonsdelen
For trusselutvinning brukes bare to nøkler:
metode — pdf (konverter til pdf, brukt som standard) eller clean (renser aktivt innhold).
utpakkede_deler_koder - liste over koder for fjerning av aktivt innhold, gjelder kun for den rene metoden
Koder for å fjerne innhold fra filer
Kode
Beskrivelse
1025
Koblede objekter
1026
Makroer og kode
1034
Sensitive hyperkoblinger
1137
PDF GoToR-handlinger
1139
PDF-lanseringshandlinger
1141
PDF URI-handlinger
1142
PDF-lydhandlinger
1143
PDF-filmhandlinger
1150
PDF JavaScript-handlinger
1151
PDF Send inn skjemahandlinger
1018
Databasespørsmål
1019
Innebygde objekter
1021
Rask lagring av data
1017
Egendefinerte egenskaper
1036
Statistiske egenskaper
1037
Sammendragsegenskaper
For å laste ned en renset kopi, må du også lage en spørringsforespørsel (som vil bli diskutert nedenfor) etter noen sekunder, og spesifisere hash-mengden til filen og uttrekkskomponenten i forespørselsteksten. Du kan hente den rensede filen ved å bruke ID-en fra svaret på spørringen - extracted_file_download_id. Nok en gang, når jeg ser litt fremover, gir jeg eksempler på en forespørsel og et spørringssvar for å søke etter en id for nedlasting av et godkjent dokument.
Spørreforespørsel om å søke etter nøkkelen extracted_file_download_id
{ "request": [
{
"sha256": "9a346005ee8c9adb489072eb8b5b61699652962c17596de9c326ca68247a8876",
"features": ["extraction"] ,
"extraction": {
"method": "pdf"
}
}
]
}
Svar på forespørsel (se etter nøkkel for 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."
}
}
}
]
}
Oversikt
I ett API-kall kan du bare sende én fil for verifisering.
Av-komponenten krever ikke en ekstra seksjon med nøkler, det er nok å spesifisere det i ordboken egenskaper.
Spør API-kall
Metode brukt − POST
Anropsadresse - https:///tecloud/api/v1/file/query
Før du sender en fil for nedlasting (opplastingsforespørsel), er det tilrådelig å sjekke sandbox-cachen (query request) for å optimalisere belastningen på API-serveren, siden API-serveren allerede kan ha informasjon og en dom på den nedlastede filen. Samtalen består kun av en tekstdel. Den nødvendige delen av forespørselen er sha1/sha256/md5 hash-mengde av filen. Du kan forresten få det i svaret på opplastingsforespørselen.
Minimum nødvendig for spørring
HTTP POST
https:///tecloud/api/v1/file/query
overskrifter:
Autorisasjon:
Body
{
"be om": {
"sha256":
}
}
Et eksempel på et svar på en opplastingsforespørsel, der sha1/md5/sha256 hash-beløp 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."
}
}
}
}
Spørringsforespørselen, i tillegg til hash-beløpet, bør ideelt sett være den samme som opplastingsforespørselen var (eller er planlagt å være), eller til og med "allerede" (inneholde færre felt i spørringsforespørselen enn i opplastingsforespørselen). I tilfellet der spørringsforespørselen inneholder flere felt enn det var i opplastingsforespørselen, vil du ikke motta all nødvendig informasjon i svaret.
Her er et eksempel på et svar på en spørring der ikke alle nødvendige data ble funnet
{
"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 oppmerksom på feltene kode и etikett. Disse feltene vises tre ganger i statusordbøker. Først ser vi den globale nøkkelen "code": 1006 og "label": "PARTIALLY_FOUND". Deretter blir disse nøklene funnet for hver enkelt komponent som vi har bedt om - te og utvinning. Og hvis det for deg er klart at dataene er funnet, så er det ingen informasjon for utvinning.
Slik så spørringen ut for eksempelet ovenfor
{ "request": [
{
"sha256": {{sha256}},
"features": ["te", "extraction"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"reports": [
"xml", "pdf"
]
}
}
]
}
Hvis du sender en spørringsforespørsel uten utvinningskomponenten
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"reports": [
"xml", "pdf"
]
}
}
]
}
Da vil svaret inneholde fullstendig informasjon ("kode": 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."
}
}
}
]
}
Hvis det ikke er noen informasjon i hurtigbufferen i det hele tatt, 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 ett API-kall kan du sende flere hashbeløp samtidig for verifisering. Svaret vil returnere data i samme rekkefølge som det ble sendt i forespørselen.
Eksempel på spørringsforespørsel med flere sha256-beløp
{ "request": [
{
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd81"
},
{
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd82"
}
]
}
Svar på en forespørsel med flere sha256-beløp
{
"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."
}
}
}
]
}
Å be om flere hash-summer på en gang i en spørringsforespørsel vil også ha en gunstig effekt på ytelsen til API-serveren.
Last ned API-anrop
Metode brukt − POST (ifølge dokumentasjon), GET fungerer også (og kan virke mer logisk)
Anropsadresse - https:///tecloud/api/v1/file/download?id=
Overskriften krever at API-nøkkelen sendes, brødteksten i forespørselen er tom, nedlastings-IDen sendes i url-adressen.
Som svar på en spørringsforespørsel, hvis emuleringen er fullført og rapporter ble bedt om ved nedlasting av filen, vil ID-en for nedlasting av rapporter være synlig. Hvis en renset kopi blir bedt om, bør du se etter ID-en for å laste ned det rensede dokumentet.
Totalt kan nøklene i svaret på spørringen som inneholder id-verdien for lasting være:
-
sammendrags rapport
-
full_rapport
-
pdf_rapport
-
xml_report
-
extracted_file_download_id
Selvfølgelig, for å motta disse nøklene som svar på spørringsforespørselen, må de spesifiseres i forespørselen (for rapporter) eller huske å gjøre en forespørsel ved å bruke uttrekksfunksjonen (for rensede dokumenter)
Quota API-kall
Metode brukt − POST
Anropsadresse - https:///tecloud/api/v1/file/kvote
For å sjekke den gjenværende kvoten i skyen, bruk kvotespørringen. Forespørselsteksten er tom.
Eksempel på svar på en kvoteforespørsel
{
"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 for Security Gateway
Denne API-en ble utviklet før Threat Prevention API og er kun beregnet på lokale enheter. Foreløpig kan det bare være nyttig hvis du trenger Threat Extraction API. For Threat Emulation er det bedre å bruke den vanlige Threat Prevention API. Å skru på TP API for SG og konfigurer API-nøkkelen du trenger for å følge trinnene fra
La oss nå se nærmere på funksjonene te и utdrag i denne APIen.
For komponent te ordbok levert te_alternativer i opplastings-/spørringsforespørsler, og nøklene i denne forespørselen faller fullstendig sammen med te-tastene inn
Eksempelforespørsel 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"]
}
}
]
}
For komponent utdrag ordbok levert skrubbe_alternativer. Denne forespørselen spesifiserer rengjøringsmetoden: konverter til PDF, slett aktivt innhold, eller velg en modus i samsvar med Threat Prevention-profilen (profilnavnet er angitt). Det fine med å svare på en utvinnings-API-forespørsel for en fil er at du får en renset kopi i svaret på den forespørselen som en base64-kryptert streng (du trenger ikke å lage en spørringsforespørsel og slå opp id-en for å laste ned dokument)
Eksempel på en forespørsel om å slette 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
}
}]
}
Svar på forespørsel
{
"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": ""
}
}]
}
Til tross for at det kreves færre API-forespørsler for å få en klarert kopi, synes jeg dette alternativet er mindre foretrukket og praktisk enn skjemadataforespørselen som brukes i
Postmann Samlinger
Jeg opprettet samlinger i Postman for både Threat Prevention API og Threat Prevention API for Security Gateway, som representerer de vanligste API-forespørslene. For at serverens ip/url API og nøkkel automatisk skal erstattes med forespørsler, og sha256 hash-beløpet skal huskes etter nedlasting av filen, er det opprettet tre variabler inne i samlingene (du kan finne dem ved å gå til samlingsinnstillingene Rediger -> Variabler): te_api (påkrevd), api_key (kreves å fylles ut, bortsett fra når du bruker TP API med lokale enheter), sha256 (la stå tomt, ikke brukt i TP API for SG).
Eksempler på bruk
I samfunnet
Kilde: www.habr.com