Ovaj će članak biti koristan onima koji su upoznati s tehnologijom Check Point emulacijom datoteke (Emulacija prijetnji) i proaktivno čišćenje datoteka (Ekstrakcija prijetnji) i želi napraviti korak prema automatizaciji ovih zadataka. Check Point ima
Osnovne kratice
Threat Prevention API radi s tri glavne komponente koje se u API-ju pozivaju putem sljedećih tekstualnih vrijednosti:
av — Antivirusna komponenta, odgovorna za analizu potpisa poznatih prijetnji.
te - Komponenta emulacije prijetnji, odgovorna za provjeru datoteka u sandboxu i donošenje zlonamjerne/benigne presude nakon emulacije.
izvlačenje - Komponenta Threat Extraction, zadužena za brzo pretvaranje uredskih dokumenata u siguran oblik (u kojem se uklanjaju svi potencijalno maliciozni sadržaji), kako bi se brzo isporučili korisnicima/sustavima.
API struktura i glavna ograničenja
Threat Prevention API koristi samo 4 zahtjeva − prijenos, upit, preuzimanje i kvota. U zaglavlju za sva četiri zahtjeva trebate proslijediti API ključ pomoću parametra Autorizacija. Na prvi pogled struktura se može činiti mnogo jednostavnijom nego u
Trenutačno je izdana jedina verzija Threat Prevention API-ja - 1.0; URL za API pozive trebao bi uključivati v1 u dijelu gdje trebate navesti verziju. Za razliku od API-ja za upravljanje, u URL-u je potrebno naznačiti verziju API-ja, inače zahtjev neće biti izvršen.
Antivirusna komponenta, kada se pozove bez drugih komponenti (te, ekstrakcija), trenutno podržava samo zahtjeve za upite s md5 hash zbrojevima. Threat Emulation i Threat Extraction također podržavaju sha1 i sha256 hash zbrojeve.
Vrlo je važno ne pogriješiti u upitima! Zahtjev se može izvršiti bez greške, ali ne u potpunosti. Gledajući malo unaprijed, pogledajmo što se može dogoditi kada u upitima postoje pogreške/tipske pogreške.
Zahtjev s pravopisnom pogreškom s riječju izvješća(izvješća)
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
reportss: ["tar", "pdf", "xml"]
}
}
]
}
Neće biti pogreške u odgovoru, ali neće biti nikakvih informacija o izvješćima
{
"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."
}
}
}
]
}
Ali za zahtjev bez tipfelera u ključu izvješća
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
reports: ["tar", "pdf", "xml"]
}
}
]
}
Primamo odgovor koji već sadrži ID za preuzimanje izvješća
{
"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."
}
}
}
]
}
Ako pošaljemo netočan/istekao API ključ, kao odgovor ćemo dobiti grešku 403.
SandBlast API: u oblaku i na lokalnim uređajima
API zahtjevi mogu se slati na Check Point uređaje koji imaju uključenu komponentu Threat Emulation (blade). Kao adresu za zahtjeve potrebno je koristiti ip/url uređaja i port 18194 (npr. https://10.10.57.19:18194/tecloud/api/v1/file/upit). Također biste trebali provjeriti dopuštaju li sigurnosna pravila na uređaju ovu vezu. Autorizacija putem API ključa na lokalnim uređajima prema zadanim postavkama isključeno a autorizacijski ključ u zaglavljima zahtjeva možda uopće neće biti poslan.
API zahtjeve za CheckPoint oblak treba slati na te.checkpoint.com (na primjer - https://te.checkpoint.com/tecloud/api/v1/file/upit). API ključ se može dobiti kao probna licenca za 60 dana kontaktiranjem Check Point partnera ili lokalnog ureda tvrtke.
Na lokalnim uređajima izdvajanje prijetnji još nije standardno podržano.
Lokalni uređaji ne podržavaju zahtjev za kvotom.
Inače, nema razlike između zahtjeva lokalnim uređajima i oblaku.
Upload API poziv
Korištena metoda − POST
Nazovite adresu - https:///tecloud/api/v1/file/upload
Zahtjev se sastoji od dva dijela (forma-data): datoteke namijenjene emulaciji/čišćenju i tijela zahtjeva s tekstom.
Tekstualni zahtjev ne može biti prazan, ali ne smije sadržavati nikakvu konfiguraciju. Da bi zahtjev bio uspješan potrebno je u zahtjevu poslati minimalno sljedeći tekst:
Minimum potreban za zahtjev za učitavanje
HTTP POST
https:///tecloud/api/v1/file/upload
zaglavlja:
Autorizacija:
Tijelo
{
"zahtjev": {
}
}
file
file
U ovom slučaju, datoteka će biti obrađena u skladu sa zadanim parametrima: komponenta - te, OS slike - Win XP i Win 7, bez generiranja izvješća.
Komentari na glavna polja u tekstualnom zahtjevu:
naziv datoteke и Vrsta datoteke Možete ih ostaviti prazne ili ih uopće ne slati, budući da to nisu osobito korisne informacije prilikom učitavanja datoteke. U odgovoru API-ja, ova će se polja automatski popuniti na temelju naziva preuzete datoteke, a informacije u predmemoriji i dalje će se morati pretraživati pomoću md5/sha1/sha256 hash iznosa.
Primjer zahtjeva s praznim file_name i file_type
{
"request": {
"file_name": "",
"file_type": "",
}
}
značajke — popis koji označava potrebnu funkcionalnost prilikom obrade u sandboxu - av (Anti-Virus), te (Threat Emulation), ekstrakcija (Threat Extraction). Ako se ovaj parametar uopće ne proslijedi, koristit će se samo zadana komponenta - te (Emulacija prijetnje).
Kako biste omogućili provjeru triju dostupnih komponenti, trebate navesti te komponente u API zahtjevu.
Primjer zahtjeva s provjerom av, te i ekstrakcijom
{ "request": [
{
"sha256": {{sha256}},
"features": ["av", "te", "extraction"]
}
]
}
Ključevi u odjeljku te
slika — popis koji sadrži rječnike s ID-om i brojem revizije operativnih sustava u kojima će se izvršiti provjera. ID-ovi i brojevi revizije isti su za sve lokalne uređaje i oblak.
Popis operativnih sustava i revizija
Dostupni ID slike OS-a
Revizija
Slika OS i aplikacija
e50e99f3-5963-4573-af9e-e3f4750b55e2
1
Microsoft Windows: XP - 32-bitni SP3
Office: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash Player 9r115 i ActiveX 10.0
Java Runtime: 1.6.0u22
7e6fe36e-889e-4c25-8704-56378f0830df
1
Microsoft Windows: 7 - 32 bita
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 bita
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 bita
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 bita
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 bita
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
Ako ključ slike uopće nije naveden, emulacija će se odvijati u slikama koje preporučuje Check Point (trenutno Win XP i Win 7). Ove se slike preporučuju na temelju razmatranja najbolje ravnoteže performansi i stope ulova.
izvješća — popis izvješća koja tražimo u slučaju da se ispostavi da je datoteka zlonamjerna. Dostupne su sljedeće opcije:
-
rezime - .tar.gz arhiva koja sadrži izvješće o emulaciji autora svima tražene slike (i html stranica i komponente kao što su video iz OS-a emulatora, ispis mrežnog prometa, izvješće u jsonu i sam uzorak u arhivi zaštićenoj lozinkom). Tražimo ključ u odgovoru - sažeto izvješće za naknadno preuzimanje izvješća.
-
pdf - dokument o emulaciji u jedan sliku koju su mnogi navikli primati putem Smart konzole. Tražimo ključ u odgovoru - pdf_izvješće za naknadno preuzimanje izvješća.
-
xML - dokument o emulaciji u jedan slika, pogodna za naknadnu analizu parametara u izvješću. Tražimo ključ u odgovoru - xml_izvješće za naknadno preuzimanje izvješća.
-
katran - .tar.gz arhiva koja sadrži izvješće o emulaciji u jedan tražene slike (i html stranica i komponente kao što su video iz OS-a emulatora, ispis mrežnog prometa, izvješće u jsonu i sam uzorak u arhivi zaštićenoj lozinkom). Tražimo ključ u odgovoru - puni_izvješće za naknadno preuzimanje izvješća.
Što je unutar sažetog izvješća
Ključevi full_report, pdf_report, xml_report nalaze se u rječniku za svaki 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."
}
}
}
]
}
Ali ključ summary_report - postoji jedan za emulaciju općenito
{
"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."
}
}
}
]
}
Možete zatražiti tar i xml i pdf izvješća u isto vrijeme, možete zatražiti sažetak i tar i xml. Neće biti moguće zatražiti zbirno izvješće i pdf u isto vrijeme.
Ključevi u odjeljku za ekstrakciju
Za izdvajanje prijetnji koriste se samo dva ključa:
način — pdf (pretvori u pdf, koristi se prema zadanim postavkama) ili očisti (čišćenje aktivnog sadržaja).
ekstrahirani_kodovi_dijelova - popis kodova za uklanjanje aktivnog sadržaja, primjenjiv samo za čistu metodu
Kodovi za uklanjanje sadržaja iz datoteka
Kodirati
Opis
1025
Povezani objekti
1026
Makronaredbe i kod
1034
Osjetljive hiperveze
1137
PDF GoToR radnje
1139
Akcije pokretanja PDF-a
1141
PDF URI radnje
1142
PDF zvučne radnje
1143
Radnje PDF filmova
1150
PDF JavaScript radnje
1151
Radnje obrasca za slanje PDF-a
1018
Upiti u bazu podataka
1019
Ugrađeni objekti
1021
Brzo spremanje podataka
1017
Prilagođena svojstva
1036
Statistička svojstva
1037
Sažetak svojstava
Da biste preuzeli očišćenu kopiju, također ćete morati napraviti zahtjev za upit (o čemu će biti riječi u nastavku) nakon nekoliko sekundi, navodeći iznos hash datoteke i komponentu ekstrakcije u tekstu zahtjeva. Možete pokupiti očišćenu datoteku koristeći ID iz odgovora na upit - extracted_file_download_id. Još jednom, gledajući malo unaprijed, dajem primjere zahtjeva i odgovora na upit za traženje ID-a za preuzimanje odobrenog dokumenta.
Zahtjev upita za traženje ključa extracted_file_download_id
{ "request": [
{
"sha256": "9a346005ee8c9adb489072eb8b5b61699652962c17596de9c326ca68247a8876",
"features": ["extraction"] ,
"extraction": {
"method": "pdf"
}
}
]
}
Odgovor na upit (potražite ključ 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."
}
}
}
]
}
Pregled
U jednom API pozivu možete poslati samo jednu datoteku na provjeru.
Komponenta av ne zahtijeva dodatnu sekciju s ključevima, dovoljno ju je navesti u rječniku značajke.
Query API poziv
Korištena metoda − POST
Nazovite adresu - https:///tecloud/api/v1/file/query
Prije slanja datoteke na preuzimanje (zahtjev za upload), preporučljivo je provjeriti predmemoriju sandboxa (zahtjev za upit) kako bi se optimiziralo opterećenje API poslužitelja, budući da API poslužitelj možda već ima informacije i presudu o preuzetoj datoteci. Poziv se sastoji samo od tekstualnog dijela. Obavezni dio zahtjeva je sha1/sha256/md5 hash iznos datoteke. Usput, možete ga dobiti u odgovoru na zahtjev za učitavanje.
Minimum potreban za upit
HTTP POST
https:///tecloud/api/v1/file/query
zaglavlja:
Autorizacija:
Tijelo
{
"zahtjev": {
"sha256":
}
}
Primjer odgovora na zahtjev za prijenos, gdje su vidljivi hash iznosi sha1/md5/sha256
{
"response": {
"status": {
"code": 1002,
"label": "UPLOAD_SUCCESS",
"message": "The file was uploaded successfully."
},
"sha1": "954b5a851993d49ef8b2412b44f213153bfbdb32",
"md5": "ac29b7c26e7dcf6c6fdb13ac0efe98ec",
"sha256": "313c0feb009356495b7f4a60e96737120beb30e1912c6d866218cee830aebd90",
"file_type": "",
"file_name": "kp-20-doc.doc",
"features": [
"te"
],
"te": {
"trust": 0,
"images": [
{
"report": {
"verdict": "unknown"
},
"status": "not_found",
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"score": -2147483648,
"status": {
"code": 1002,
"label": "UPLOAD_SUCCESS",
"message": "The file was uploaded successfully."
}
}
}
}
Zahtjev za upit, uz iznos hashiranja, idealno bi trebao biti isti kao što je zahtjev za učitavanje bio (ili se planira biti), ili čak "već" (sadržati manje polja u zahtjevu za upit nego u zahtjevu za učitavanje). U slučaju da zahtjev za upit sadrži više polja nego što je bilo u zahtjevu za učitavanje, u odgovoru nećete dobiti sve potrebne informacije.
Ovdje je primjer odgovora na upit gdje nisu pronađeni svi potrebni podaci
{
"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."
}
}
}
]
}
Obratite pozornost na polja kod и oznaka. Ova se polja pojavljuju tri puta u rječnicima statusa. Prvo vidimo globalni ključ "code": 1006 i "label": "PARTIALLY_FOUND". Zatim se ovi ključevi nalaze za svaku pojedinačnu komponentu koju smo tražili - te i ekstrakcija. I ako je za vas jasno da su podaci pronađeni, onda za izvlačenje nema informacija.
Ovako je izgledao upit za gornji primjer
{ "request": [
{
"sha256": {{sha256}},
"features": ["te", "extraction"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"reports": [
"xml", "pdf"
]
}
}
]
}
Ako pošaljete zahtjev za upit bez komponente ekstrakcije
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"reports": [
"xml", "pdf"
]
}
}
]
}
Tada će odgovor sadržavati potpune informacije (“šifra”: 1001, “oznaka”: “PRONAĐENO”)
{
"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."
}
}
}
]
}
Ako u predmemoriji uopće nema informacija, tada će odgovor biti “oznaka”: “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."
}
}
}
]
}
U jednom API pozivu možete poslati nekoliko hash iznosa odjednom na provjeru. Odgovor će vratiti podatke istim redoslijedom kojim su poslani u zahtjevu.
Primjer zahtjeva za upit s nekoliko sha256 iznosa
{ "request": [
{
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd81"
},
{
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd82"
}
]
}
Odgovor na upit s više sha256 iznosa
{
"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."
}
}
}
]
}
Zahtjev za nekoliko hash zbrojeva odjednom u zahtjevu za upit također će imati povoljan učinak na performanse API poslužitelja.
Preuzmite API poziv
Korištena metoda − POST (prema dokumentaciji), GET također radi (i može se činiti logičnijim)
Nazovite adresu - https:///tecloud/api/v1/file/download?id=
Zaglavlje zahtijeva prosljeđivanje API ključa, tijelo zahtjeva je prazno, ID preuzimanja prosljeđuje se u URL adresi.
Kao odgovor na zahtjev za upit, ako je emulacija dovršena i izvješća su zatražena prilikom preuzimanja datoteke, bit će vidljiv ID za preuzimanje izvješća. Ako se traži očišćena kopija, trebali biste potražiti ID za preuzimanje očišćenog dokumenta.
Ukupno, ključevi u odgovoru na upit koji sadrži id vrijednost za učitavanje mogu biti:
-
sažeto izvješće
-
puni_izvješće
-
pdf_izvješće
-
xml_izvješće
-
id_preuzimanja_izvađene_datoteke
Naravno, da biste primili ove ključeve kao odgovor na zahtjev za upit, oni moraju biti navedeni u zahtjevu (za izvješća) ili se sjetite napraviti zahtjev pomoću funkcije izdvajanja (za očišćene dokumente)
Kvota API poziv
Korištena metoda − POST
Nazovite adresu - https:///tecloud/api/v1/file/quota
Kako biste provjerili preostalu kvotu u oblaku, upotrijebite upit o kvoti. Tijelo zahtjeva je prazno.
Primjer odgovora na zahtjev za kvotom
{
"response": [
{
"remain_quota_hour": 1250,
"remain_quota_month": 10000000,
"assigned_quota_hour": 1250,
"assigned_quota_month": 10000000,
"hourly_quota_next_reset": "1599141600",
"monthly_quota_next_reset": "1601510400",
"quota_id": "TEST",
"cloud_monthly_quota_period_start": "1421712300",
"cloud_monthly_quota_usage_for_this_gw": 0,
"cloud_hourly_quota_usage_for_this_gw": 0,
"cloud_monthly_quota_usage_for_quota_id": 0,
"cloud_hourly_quota_usage_for_quota_id": 0,
"monthly_exceeded_quota": 0,
"hourly_exceeded_quota": 0,
"cloud_quota_max_allow_to_exceed_percentage": 1000,
"pod_time_gmt": "1599138715",
"quota_expiration": "0",
"action": "ALLOW"
}
]
}
API za sprječavanje prijetnji za sigurnosni pristupnik
Ovaj API razvijen je prije Threat Prevention API-ja i namijenjen je samo lokalnim uređajima. Za sada može biti korisno samo ako trebate Threat Extraction API. Za emulaciju prijetnji bolje je koristiti regularni API za sprječavanje prijetnji. Upaliti TP API za SG i konfigurirajte API ključ iz kojeg trebate slijediti korake
Pogledajmo sada pobliže funkcije te и izvlačenje u ovom API-ju.
Za komponentu te rječnik osiguran te_opcije u zahtjevima za prijenos/upit, a ključevi u ovom zahtjevu potpuno se podudaraju s ključevima te
Primjer zahtjeva za emulaciju datoteke u Win10 s izvješćima
{
"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"]
}
}
]
}
Za komponentu izvlačenje rječnik osiguran opcije_ribanja. Ovaj zahtjev navodi metodu čišćenja: pretvaranje u PDF, brisanje aktivnog sadržaja ili odabir načina rada u skladu s profilom za sprječavanje prijetnji (naveden je naziv profila). Sjajna stvar kod odgovaranja na zahtjev API-ja za ekstrakciju za datoteku je da dobijete očišćenu kopiju u odgovoru na taj zahtjev kao base64 šifrirani niz (ne morate napraviti zahtjev za upit i tražiti ID da biste preuzeli dokument)
Primjer zahtjeva za brisanje datoteke
{
"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
}
}]
}
Odgovorite na zahtjev
{
"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": ""
}
}]
}
Unatoč činjenici da je potrebno manje API zahtjeva za dobivanje očišćene kopije, smatram da je ova opcija manje poželjna i prikladna od zahtjeva za podatke obrasca koji se koristi u
Zbirke poštara
Stvorio sam zbirke u Postmanu za API za sprječavanje prijetnji i API za sprječavanje prijetnji za sigurnosni pristupnik, koji predstavljaju najčešće API zahtjeve. Kako bi se ip/url API i ključ poslužitelja automatski zamijenili u zahtjeve, a sha256 hash iznos bio zapamćen nakon preuzimanja datoteke, unutar kolekcija su stvorene tri varijable (možete ih pronaći ako odete na postavke zbirke Uredi -> Varijable): te_api (obavezno), api_key (obavezno popuniti, osim kada koristite TP API s lokalnim uređajima), sha256 (ostavite prazno, ne koristi se u TP API-ju za SG).
Primjeri upotrebe
U zajednici
Izvor: www.habr.com