Dit artikel sil nuttich wêze foar dyjingen dy't bekend binne mei technology Check Point troch triem emulaasje (Threat Emulation) en pro-aktive triem skjinmeitsjen (Threat Extraction) en wol in stap nimme om dizze taken te automatisearjen. Check Point hat
Basis ôfkoartings
De Threat Prevention API wurket mei trije haadkomponinten, dy't yn 'e API wurde neamd fia de folgjende tekstwearden:
av - Anti-Virus-komponint, ferantwurdlik foar hantekeninganalyse fan bekende bedrigingen.
te - Threat Emulation-komponint, ferantwurdlik foar it kontrolearjen fan bestannen yn 'e sânbak, en it meitsjen fan in kwea-aardich / goedaardige oardiel nei emulaasje.
ekstraksje - Component Threat Extraction, ferantwurdlik foar it fluch omsette fan kantoardokuminten yn in feilige foarm (wêryn alle potensjeel kweade ynhâld wurdt fuortsmiten), om se fluch te leverjen oan brûkers / systemen.
API struktuer en wichtichste beheinings
Threat Prevention API brûkt mar 4 fersiken - upload, query, download en kwota. Yn 'e koptekst foar alle fjouwer oanfragen moatte jo de API-kaai trochjaan mei de parameter Machtiging. Op it earste each kin de struktuer folle ienfâldiger lykje as yn
Op it stuit is de ienige ferzje fan 'e Threat Prevention API frijjûn - 1.0 de URL foar API-oproppen moat befetsje v1 yn it diel wêr't jo de ferzje moatte opjaan. Oars as de Management API is it nedich om de API-ferzje yn 'e URL oan te jaan, oars sil it fersyk net wurde útfierd.
De anty-firus-komponint, as oproppen sûnder oare komponinten (te, ekstraksje), stipet op it stuit allinich query-oanfragen mei md5-hash-summen. Threat Emulation en Threat Extraction stypje ek sha1 en sha256 hash summen.
It is heul wichtich om gjin flaters te meitsjen yn fragen! It fersyk kin sûnder flater útfierd wurde, mar net folslein. In bytsje foarút sjen, litte wy sjen wat der kin barre as der flaters/typfouten binne yn queries.
Fersyk mei in typflater mei it wurd rapporten (rapporten)
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
reportss: ["tar", "pdf", "xml"]
}
}
]
}
Der sil gjin flater yn it antwurd, mar der sil gjin ynformaasje oer de rapporten op alle
{
"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."
}
}
}
]
}
Mar foar in fersyk sûnder in typflater yn de rapporten kaai
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
reports: ["tar", "pdf", "xml"]
}
}
]
}
Wy krije in antwurd dat al id befettet foar it downloaden fan rapporten
{
"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."
}
}
}
]
}
As wy in ferkearde / ferrûne API-kaai stjoere, krije wy in 403-flater as antwurd.
SandBlast API: yn 'e wolk en op lokale apparaten
API-oanfragen kinne stjoerd wurde nei Check Point-apparaten dy't de Threat Emulation-komponint (blade) ynskeakele hawwe. As adres foar oanfragen moatte jo de ip/url fan it apparaat en poarte 18194 brûke (bygelyks https://10.10.57.19:18194/tecloud/api/v1/file/query). Jo moatte ek soargje dat it befeiligingsbelied op it apparaat dizze ferbining lit. Autorisaasje fia API-kaai op lokale apparaten standert út en de autorisaasjekaai yn fersykkoppen meie hielendal net stjoerd wurde.
API-oanfragen nei de CheckPoint-wolk moatte wurde stjoerd nei te.checkpoint.com (bygelyks - https://te.checkpoint.com/tecloud/api/v1/file/query). De API-kaai kin wurde krigen as proeflisinsje foar 60 dagen troch kontakt op te nimmen mei Check Point-partners of it lokale kantoar fan it bedriuw.
Op lokale apparaten wurdt Threat Extraction noch net as standert stipe.
Lokale apparaten stypje it kwotafersyk net.
Oars binne d'r gjin ferskillen tusken oanfragen nei lokale apparaten en nei de wolk.
Upload API oprop
Brûkte metoade - PEAL
Beladres - https:///tecloud/api/v1/file/upload
It fersyk bestiet út twa dielen (formulier-gegevens): in triem bedoeld foar emulaasje/skjinmeitsjen en in fersyk lichem mei tekst.
It tekstfersyk kin net leech wêze, mar it kin gjin konfiguraasje befetsje. Om it fersyk suksesfol te meitsjen, moatte jo op syn minst de folgjende tekst yn it fersyk stjoere:
Minimum nedich foar in upload fersyk
HTTP POST
https:///tecloud/api/v1/file/upload
Headers:
Machtiging:
Body
{
"request": {
}
}
file
file
Yn dit gefal sil it bestân wurde ferwurke yn oerienstimming mei de standertparameters: komponint - te, OS-ôfbyldings - Win XP en Win 7, sûnder in rapport te generearjen.
Opmerkings oer de haadfjilden yn it tekstfersyk:
Bestânsnamme и file_type Jo kinne se leech litte of se hielendal net ferstjoere, om't dit net bysûnder nuttige ynformaasje is by it opladen fan in bestân. Yn it API-antwurd wurde dizze fjilden automatysk ynfolle op basis fan de namme fan it ynladen bestân, en de ynformaasje yn 'e cache sil noch moatte wurde socht mei md5/sha1/sha256-hashbedragen.
Foarbyld fersyk mei lege file_name en file_type
{
"request": {
"file_name": "",
"file_type": "",
}
}
features - in list dy't de nedige funksjonaliteit oanjout by it ferwurkjen yn 'e sânbak - av (Anti-Virus), te (Threat Emulation), ekstraksje (Threat Extraction). As dizze parameter hielendal net trochjûn wurdt, sil allinich de standertkomponint brûkt wurde - te (Threat Emulation).
Om it kontrolearjen fan de trije beskikbere komponinten yn te skeakeljen, moatte jo dizze komponinten opjaan yn it API-fersyk.
Foarbyld fan in fersyk mei check yn av, te en winning
{ "request": [
{
"sha256": {{sha256}},
"features": ["av", "te", "extraction"]
}
]
}
Keys yn de te seksje
bylden - in list mei wurdboeken mei id en revyzjenûmer fan de bestjoeringssystemen wêryn de kontrôle sil wurde útfierd. ID's en revyzjenûmers binne itselde foar alle lokale apparaten en de wolk.
List fan bestjoeringssystemen en ferzjes
Beskikbere OS Image ID
Revyzje
Ofbylding OS en applikaasje
e50e99f3-5963-4573-af9e-e3f4750b55e2
1
Microsoft Windows: XP - 32bit SP3
Kantoar: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash Player 9 r115 en ActiveX 10.0
Java Runtime: 1.6.0u22
7e6fe36e-889e-4c25-8704-56378f0830df
1
Microsoft Windows: 7 - 32 bit
Kantoar: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash Player: 10.2r152 (Ynstekke& ActiveX)
Java Runtime: 1.6.0u0
8d188031-1010-4466-828b-0cd13d4303ff
1
Microsoft Windows: 7 - 32 bit
Kantoar: 2010
Adobe Acrobat Reader: 9.4
Flash Player: 11.0.1.152 (Ynstekke & ActiveX)
Java Runtime: 1.7.0u0
5e5de275-a103-4f67-b55b-47532918fa59
1
Microsoft Windows: 7 - 32 bit
Kantoar: 2013
Adobe Acrobat Reader: 11.0
Flash Player: 15 (Ynstekke & ActiveX)
Java Runtime: 1.7.0u9
3ff3ddae-e7fd-4969-818c-d5f1a2be336d
1
Microsoft Windows: 7 - 64 bit
Kantoar: 2013 (32bit)
Adobe Acrobat Reader: 11.0.01
Flash Player: 13 (Ynstekke & ActiveX)
Java Runtime: 1.7.0u9
6c453c9b-20f7-471a-956c-3198a868dc92
1
Microsoft Windows: 8.1 - 64 bit
Kantoar: 2013 (64bit)
Adobe Acrobat Reader: 11.0.10
Flash Player: 18.0.0.160 (Ynstekke & ActiveX)
Java Runtime: 1.7.0u9
10b4a9c6-e414-425c-ae8b-fe4dd7b25244
1
Microsoft Windows: 10
Kantoar: Professional Plus 2016 en-us
Adobe Acrobat Reader: DC 2015 MUI
Flash Player: 20 (Ynstekke & ActiveX)
Java Runtime: 1.7.0u9
As de byldkaai hielendal net oantsjutte is, sil emulaasje plakfine yn bylden oanrikkemandearre troch Check Point (op it stuit Win XP en Win 7). Dizze ôfbyldings wurde oanrikkemandearre op basis fan ôfwagings fan 'e bêste balâns fan prestaasjes en fangrate.
rapporten - in list mei rapporten dy't wy oanfreegje foar it gefal dat it bestân kwealik blykt te wêzen. De folgjende opsjes binne beskikber:
-
gearfetting - .tar.gz argyf mei dêryn in rapport oer emulaasje troch foar allegear oanfrege ôfbyldings (sawol in html-side as komponinten lykas in fideo fan 'e emulator OS, in netwurkferkeardump, in rapport yn json, en it foarbyld sels yn in wachtwurdbeskerme argyf). Wy sykje de kaai yn it antwurd - gearfetting_rapport foar it folgjende downloaden fan it rapport.
-
pdf - dokumint oer emulaasje yn ien ôfbylding, dy't in protte binne wend te ûntfangen fia de Smart Console. Wy sykje de kaai yn it antwurd - pdf_rapport foar it folgjende downloaden fan it rapport.
-
xml - dokumint oer emulaasje yn ien ôfbylding, handich foar it folgjende parsearjen fan parameters yn it rapport. Wy sykje de kaai yn it antwurd - xml_rapport foar it folgjende downloaden fan it rapport.
-
tar - .tar.gz argyf mei dêryn in rapport oer emulaasje yn ien oanfrege ôfbyldings (sawol in html-side as komponinten lykas in fideo fan 'e emulator OS, in netwurkferkeardump, in rapport yn json, en it foarbyld sels yn in wachtwurdbeskerme argyf). Wy sykje de kaai yn it antwurd - folslein_rapport foar it folgjende downloaden fan it rapport.
Wat is binnen de gearfetting rapport
De kaaien full_report, pdf_report, xml_report binne yn it wurdboek foar elk 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."
}
}
}
]
}
Mar de summary_report-kaai - d'r is ien foar emulaasje yn 't algemien
{
"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."
}
}
}
]
}
Jo kinne tar- en xml- en pdf-rapporten tagelyk oanfreegje, jo kinne gearfetting en tar en xml oanfreegje. It sil net mooglik wêze om tagelyk in gearfettingrapport en in pdf op te freegjen.
Kaaien yn 'e ekstraksje seksje
Foar bedrigingsekstraksje wurde mar twa kaaien brûkt:
metoade - pdf (konvertearje nei pdf, standert brûkt) of skjin (aktive ynhâld skjinmeitsje).
extracted_parts_codes - list mei koades foar it fuortheljen fan aktive ynhâld, allinich fan tapassing foar de skjinne metoade
Koades foar it fuortsmiten fan ynhâld út triemmen
Koade
Beskriuwing
1025
Keppele objekten
1026
Makro's en koade
1034
Gefoelige hyperlinks
1137
PDF GoToR-aksjes
1139
PDF-startaksjes
1141
PDF URI Aksjes
1142
PDF Lûdaksjes
1143
PDF-filmaksjes
1150
PDF JavaScript Actions
1151
PDF Submit Form Actions
1018
Databankfragen
1019
Ynbêde objekten
1021
Gegevens fluch bewarje
1017
Oanpaste Eigenskippen
1036
Statistyske eigenskippen
1037
Gearfetting Eigenskippen
Om in skjinmakke kopy te downloaden, moatte jo ek nei in pear sekonden in query-oanfraach meitsje (dy't hjirûnder wurdt besprutsen), en spesifisearje it hashbedrach fan it bestân en de ekstraksjekomponint yn 'e fersyktekst. Jo kinne it skjinmakke bestân ophelje mei de id fan it antwurd op 'e fraach - extracted_file_download_id. Nochris, in bytsje foarút sjoch, jou ik foarbylden fan in fersyk en in query-antwurd om te sykjen nei in id foar it downloaden fan in wiske dokumint.
Query fersyk om te sykjen nei de extracted_file_download_id kaai
{ "request": [
{
"sha256": "9a346005ee8c9adb489072eb8b5b61699652962c17596de9c326ca68247a8876",
"features": ["extraction"] ,
"extraction": {
"method": "pdf"
}
}
]
}
Antwurd op fraach (sykje foar extracted_file_download_id-kaai)
{
"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."
}
}
}
]
}
Algemiene ynformaasje
Yn ien API-oprop kinne jo mar ien bestân stjoere foar ferifikaasje.
De av-komponint fereasket gjin ekstra seksje mei kaaien, it is genôch om it oan te jaan yn it wurdboek features.
Query API oprop
Brûkte metoade - PEAL
Beladres - https:///tecloud/api/v1/file/query
Foardat jo in bestân ferstjoere foar download (fersyk foar upload), is it oan te rieden om de sânbox-cache te kontrolearjen (query-fersyk) om de lading op 'e API-tsjinner te optimalisearjen, om't de API-tsjinner al ynformaasje en in oardiel hat oer it ynladen bestân. De oprop bestiet allinnich út in tekstdiel. It fereaske diel fan it fersyk is sha1/sha256/md5 hash bedrach fan it bestân. Trouwens, jo kinne it krije yn it antwurd op it uploadfersyk.
Minimum fereaske foar query
HTTP POST
https:///tecloud/api/v1/file/query
Headers:
Machtiging:
Body
{
"request": {
"sha256":
}
}
In foarbyld fan in antwurd op in oplaadfersyk, wêrby't sha1/md5/sha256 hash bedraggen sichtber binne
{
"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."
}
}
}
}
It query-fersyk, neist it hashbedrach, soe ideaal itselde wêze moatte as it uploadfersyk wie (of is pland te wêzen), of sels "al" (befette minder fjilden yn 'e query-fersyk dan yn 'e upload-fersyk). Yn it gefal dêr't de query fersyk befettet mear fjilden as wiene yn de upload fersyk, Jo krije net alle fereaske ynformaasje yn it antwurd.
Hjir is in foarbyld fan in antwurd op in query dêr't net alle fereaske gegevens waarden fûn
{
"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."
}
}
}
]
}
Jou omtinken oan de fjilden code и etiket. Dizze fjilden komme trije kear foar yn statuswurdboeken. Earst sjogge wy de globale kaai "koade": 1006 en "label": "PARTIALLY_FOUND". Folgjende, dizze kaaien wurde fûn foar elke yndividuele komponint dat wy oanfrege - te en ekstraksje. En as foar te dúdlik is dat de gegevens fûn binne, dan is der foar ekstraksje gjin ynformaasje.
Dit is hoe't de query der útseach foar it foarbyld hjirboppe
{ "request": [
{
"sha256": {{sha256}},
"features": ["te", "extraction"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"reports": [
"xml", "pdf"
]
}
}
]
}
As jo stjoere in query fersyk sûnder de ekstraksje komponint
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"reports": [
"xml", "pdf"
]
}
}
]
}
Dan sil it antwurd folsleine ynformaasje befetsje ("koade": 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."
}
}
}
]
}
As d'r hielendal gjin ynformaasje yn 'e cache is, dan sil it antwurd "label" wêze: "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."
}
}
}
]
}
Yn ien API-oprop kinne jo ferskate hashbedragen tagelyk stjoere foar ferifikaasje. It antwurd sil gegevens weromjaan yn deselde folchoarder as it waard ferstjoerd yn it fersyk.
Foarbyld query fersyk mei ferskate sha256 bedraggen
{ "request": [
{
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd81"
},
{
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd82"
}
]
}
Antwurd op in fraach mei meardere sha256 bedraggen
{
"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."
}
}
}
]
}
It oanfreegjen fan ferskate hash-summen tagelyk yn in query-fersyk sil ek in foardielich effekt hawwe op de prestaasjes fan 'e API-tsjinner.
Download API-oprop
Brûkte metoade - PEAL (neffens dokumintaasje), KRIJE wurket ek (en kin logysker lykje)
Beladres - https:///tecloud/api/v1/file/download?id=
De koptekst fereasket dat de API-kaai trochjûn wurdt, it lichem fan it fersyk is leech, de download-id wurdt trochjûn yn it URL-adres.
As antwurd op in fraachfraach, as de emulaasje foltôge is en rapporten waarden oanfrege by it downloaden fan it bestân, sil de id foar it downloaden fan rapporten sichtber wêze. As in skjinmakke kopy wurdt oanfrege, moatte jo sykje nei de id om it skjinmakke dokumint te downloaden.
Yn totaal kinne de kaaien yn it antwurd op 'e query mei de id-wearde foar it laden wêze:
-
gearfetting_rapport
-
folslein_rapport
-
pdf_rapport
-
xml_rapport
-
extracted_file_download_id
Fansels, om dizze kaaien te ûntfangen yn antwurd op it fraachfersyk, moatte se wurde spesifisearre yn it fersyk (foar rapporten) of tink om in fersyk te meitsjen mei de ekstraksjefunksje (foar skjinmakke dokuminten)
Quota API oprop
Brûkte metoade - PEAL
Beladres - https:///tecloud/api/v1/file/quota
Om it oerbleaune kwota yn 'e wolk te kontrolearjen, brûk de kwotafraach. It fersyk lichem is leech.
Foarbyld antwurd op in kwota fersyk
{
"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 foar Security Gateway
Dizze API is ûntwikkele foar de Threat Prevention API en is allinich bedoeld foar lokale apparaten. Foar no kin it allinich nuttich wêze as jo de Threat Extraction API nedich binne. Foar Threat Emulation is it better om de reguliere Threat Prevention API te brûken. Oansette TP API foar SG en konfigurearje de API-kaai dy't jo moatte folgje de stappen fan
Litte wy no de funksjes fan tichterby besjen te и ekstraksje yn dizze API.
Foar komponint te wurdboek foarsjoen te_opsjes yn upload / query fersiken, en de kaaien yn dit fersyk falle folslein oerien mei de te toetsen yn
Foarbyld fersyk foar triememulaasje yn Win10 mei rapporten
{
"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"]
}
}
]
}
Foar komponint ekstraksje wurdboek foarsjoen scrub_opsjes. Dit fersyk spesifiseart de skjinmakmetoade: konvertearje nei PDF, wiskje aktive ynhâld, of selektearje in modus yn oerienstimming mei it profyl fan Threat Prevention (de profylnamme wurdt oanjûn). It geweldige ding oer it reagearjen op in ekstraksje API-fersyk foar in bestân is dat jo in skjinmakke kopy krije yn it antwurd op dat fersyk as in base64-fersifere tekenrige (jo hoege gjin query-fersyk te meitsjen en de id op te sykjen om de dokumint)
Foarbyld fan in fersyk om in triem te wiskjen
{
"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
}
}]
}
Antwurdzje op in fersyk
{
"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": ""
}
}]
}
Nettsjinsteande it feit dat minder API-oanfragen nedich binne om in wiske kopy te krijen, fyn ik dizze opsje minder foarkar en handich dan it formulier-gegevensfersyk dat brûkt wurdt yn
Postman Samlingen
Ik makke kolleksjes yn Postman foar sawol de Threat Prevention API as de Threat Prevention API foar Security Gateway, dy't de meast foarkommende API-oanfragen fertsjintwurdigje. Om de server ip / url API en kaai automatysk te ferfangen yn fersiken, en it sha256 hash bedrach te ûnthâlden nei it downloaden fan it bestân, binne trije fariabelen makke binnen de kolleksjes (jo kinne se fine troch te gean nei de kolleksje ynstellings Bewurkje -> Fariabelen): te_api (ferplicht), api_key (ferplicht yn te foljen, útsein by it brûken fan TP API mei lokale apparaten), sha256 (lit leech, net brûkt yn TP API foar SG).
Foarbylden fan gebrûk
Yn de mienskip
Boarne: www.habr.com