Ushbu maqola texnologiya bilan tanish bo'lganlar uchun foydali bo'ladi kabinetga narxlarning fayl emulyatsiyasi bo'yicha (Tahdid emulyatsiyasi) va proaktiv fayllarni tozalash (Tahdid chiqarish) va bu vazifalarni avtomatlashtirish sari qadam tashlamoqchi. Tekshirish nuqtasi mavjud
Asosiy qisqartmalar
Threat Prevention API uchta asosiy komponent bilan ishlaydi, ular APIda quyidagi matn qiymatlari orqali chaqiriladi:
av — Antivirus komponenti, maʼlum tahdidlarning imzo tahlili uchun javobgardir.
te - Tahdid emulyatsiyasi komponenti, sinov muhitidagi fayllarni tekshirish va emulyatsiyadan so'ng zararli/xavfsiz hukm chiqarish uchun javobgardir.
qazib olish - Threat Extraction komponenti, ofis hujjatlarini foydalanuvchilar/tizimlarga tezkorlik bilan yetkazib berish uchun ularni xavfsiz shaklga (barcha potentsial zararli kontent o'chiriladi) tezkor konvertatsiya qilish uchun javobgardir.
API tuzilishi va asosiy cheklovlari
Threat Prevention API faqat 4 ta so'rovdan foydalanadi - yuklash, so'rov, yuklab olish va kvota. Barcha to'rtta so'rovning sarlavhasida siz parametr yordamida API kalitini o'tkazishingiz kerak ruxsat. Bir qarashda, struktura avvalgisidan ancha sodda ko'rinishi mumkin
Ayni paytda Threat Prevention API ning yagona versiyasi chiqdi - 1.0; API qo'ng'iroqlari uchun URL o'z ichiga olishi kerak v1 versiyani ko'rsatishingiz kerak bo'lgan qismda. Management API dan farqli o'laroq, URLda API versiyasini ko'rsatish kerak, aks holda so'rov bajarilmaydi.
Anti-Virus komponenti boshqa komponentlarsiz (te, ekstraktsiya) chaqirilganda, hozirda faqat md5 xesh summalari bilan so'rov so'rovlarini qo'llab-quvvatlaydi. Tahdid emulyatsiyasi va tahdidni chiqarish sha1 va sha256 xesh summalarini ham qo'llab-quvvatlaydi.
So'rovlarda xato qilmaslik juda muhim! So'rov xatosiz bajarilishi mumkin, lekin to'liq emas. Biroz oldinga qarab, so'rovlarda xatolar/matbaa xatolari mavjud bo'lganda nima bo'lishi mumkinligini ko'rib chiqaylik.
Reports (reportss) so‘zi bilan xato bilan so‘rov
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
reportss: ["tar", "pdf", "xml"]
}
}
]
}
Javobda xato bo'lmaydi, lekin hisobotlar haqida umuman ma'lumot bo'lmaydi
{
"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."
}
}
}
]
}
Lekin hisobotlar kalitida xatosiz so'rov uchun
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
reports: ["tar", "pdf", "xml"]
}
}
]
}
Biz hisobotlarni yuklab olish uchun identifikatorni o'z ichiga olgan javob olamiz
{
"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."
}
}
}
]
}
Agar biz noto'g'ri/muddati o'tgan API kalitini yuborsak, javobda biz 403 xatosini olamiz.
SandBlast API: bulutda va mahalliy qurilmalarda
API so'rovlari Threat Emulation komponenti (pichoq) yoqilgan Check Point qurilmalariga yuborilishi mumkin. So'rovlar uchun manzil sifatida siz qurilmaning ip/url manzilidan va 18194 portidan foydalanishingiz kerak (masalan, https://10.10.57.19:18194/tecloud/api/v1/file/query). Shuningdek, qurilmadagi xavfsizlik siyosati ushbu ulanishga ruxsat berishiga ishonch hosil qilishingiz kerak. Sukut bo'yicha mahalliy qurilmalarda API kaliti orqali avtorizatsiya o'chirilgan va so'rov sarlavhalaridagi Avtorizatsiya kaliti umuman yuborilmasligi mumkin.
CheckPoint bulutiga API so'rovlari yuborilishi kerak te.checkpoint.com (masalan - https://te.checkpoint.com/tecloud/api/v1/file/query). API kalitini 60 kunlik sinov litsenziyasi sifatida Check Point hamkorlari yoki kompaniyaning mahalliy ofisiga murojaat qilish orqali olish mumkin.
Mahalliy qurilmalarda tahdidlarni chiqarish hali standart sifatida qo'llab-quvvatlanmaydi.
Mahalliy qurilmalar kvota so'rovini qo'llab-quvvatlamaydi.
Aks holda, mahalliy qurilmalar va bulutga so'rovlar o'rtasida hech qanday farq yo'q.
API chaqiruvini yuklash
Amaldagi usul - POST
Qo'ng'iroq manzili - https:///tecloud/api/v1/file/upload
So'rov ikki qismdan (forma-ma'lumotlardan) iborat: emulyatsiya/tozalash uchun mo'ljallangan fayl va matnli so'rov tanasi.
Matn so'rovi bo'sh bo'lishi mumkin emas, lekin unda hech qanday konfiguratsiya bo'lmasligi mumkin. So'rov muvaffaqiyatli bo'lishi uchun so'rovda kamida quyidagi matnni yuborishingiz kerak:
Yuklash soʻrovi uchun minimal talab
HTTP POST
https:///tecloud/api/v1/file/upload
Sarlavhalar:
Avtorizatsiya:
badan
{
"so'rov": {
}
}
Fayl
Fayl
Bunday holda, fayl standart parametrlarga muvofiq qayta ishlanadi: komponent - te, OS tasvirlari - Win XP va Win 7, hisobot yaratmasdan.
Matn so'rovidagi asosiy maydonlar bo'yicha sharhlar:
Fayl nomi и fayl_turi Siz ularni bo'sh qoldirishingiz yoki umuman yubormasligingiz mumkin, chunki bu faylni yuklashda juda foydali ma'lumot emas. API javobida ushbu maydonlar yuklab olingan fayl nomi asosida avtomatik ravishda to'ldiriladi va keshdagi ma'lumotlar hali ham md5/sha1/sha256 xesh miqdori yordamida izlanishi kerak bo'ladi.
Bo'sh fayl_name va fayl_turi bilan so'rovga misol
{
"request": {
"file_name": "",
"file_type": "",
}
}
Xususiyatlari — sandboxda ishlov berishda kerakli funksionallikni ko'rsatadigan ro'yxat - av (Anti-Virus), te (Threat Emulation), ekstraksiya (Threat Extraction). Agar bu parametr umuman o'tkazilmasa, u holda faqat standart komponent ishlatiladi - te (Threat Emulation).
Mavjud uchta komponentni tekshirishni yoqish uchun API so'rovida ushbu komponentlarni ko'rsatishingiz kerak.
Av, te va ekstraktsiyani tekshirish bilan so'rovga misol
{ "request": [
{
"sha256": {{sha256}},
"features": ["av", "te", "extraction"]
}
]
}
Te bo'limidagi kalitlar
tasvirlar — tekshirish amalga oshiriladigan operatsion tizimlarning id va revizion raqami ko'rsatilgan lug'atlarni o'z ichiga olgan ro'yxat. Identifikatorlar va tahrir raqamlari barcha mahalliy qurilmalar va bulut uchun bir xil.
Operatsion tizimlar va tahrirlar ro'yxati
Mavjud OS Image ID
taftish
Image OS va ilova
e50e99f3-5963-4573-af9e-e3f4750b55e2
1
Microsoft Windows: XP - 32 bit SP3
idora: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash Player 9r115 va ActiveX 10.0
Java ish vaqti: 1.6.0u22
7e6fe36e-889e-4c25-8704-56378f0830df
1
Microsoft Windows: 7 - 32 bit
idora: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash Player: 10.2r152 (plagin& ActiveX)
Java ish vaqti: 1.6.0u0
8d188031-1010-4466-828b-0cd13d4303ff
1
Microsoft Windows: 7 - 32 bit
idora: 2010
Adobe Acrobat Reader: 9.4
Flash Player: 11.0.1.152 (plagin & ActiveX)
Java ish vaqti: 1.7.0u0
5e5de275-a103-4f67-b55b-47532918fa59
1
Microsoft Windows: 7 - 32 bit
idora: 2013
Adobe Acrobat Reader: 11.0
Flash Player: 15 (plagin & ActiveX)
Java ish vaqti: 1.7.0u9
3ff3ddae-e7fd-4969-818c-d5f1a2be336d
1
Microsoft Windows: 7 - 64 bit
idora: 2013 (32 bit)
Adobe Acrobat Reader: 11.0.01
Flash Player: 13 (plagin & ActiveX)
Java ish vaqti: 1.7.0u9
6c453c9b-20f7-471a-956c-3198a868dc92
1
Microsoft Windows: 8.1 - 64 bit
idora: 2013 (64 bit)
Adobe Acrobat Reader: 11.0.10
Flash Player: 18.0.0.160 (plagin & ActiveX)
Java ish vaqti: 1.7.0u9
10b4a9c6-e414-425c-ae8b-fe4dd7b25244
1
Microsoft Windows: 10
idora: Professional Plus 2016 en-us
Adobe Acrobat Reader: DC 2015 MUI
Flash Player: 20 (plagin & ActiveX)
Java ish vaqti: 1.7.0u9
Agar tasvirlar kaliti umuman ko'rsatilmagan bo'lsa, emulyatsiya Check Point tomonidan tavsiya etilgan tasvirlarda amalga oshiriladi (hozirda Win XP va Win 7). Bu tasvirlar ishlash va ushlash tezligining eng yaxshi muvozanatiga asoslangan holda tavsiya etiladi.
hisobotlar — fayl zararli ekanligi aniqlansa, biz so'raladigan hisobotlar ro'yxati. Quyidagi variantlar mavjud:
-
xulosa - .tar.gz arxivi tomonidan emulyatsiya haqida hisobot mavjud hamma uchun so'ralgan tasvirlar (ham html sahifasi, ham emulyator operatsion tizimidagi video, tarmoq trafigini yig'ish, json-dagi hisobot va parol bilan himoyalangan arxivdagi namunaning o'zi kabi komponentlar). Biz javobda kalitni qidirmoqdamiz - xulosa_hisobot hisobotni keyingi yuklab olish uchun.
-
pdf - emulyatsiya haqidagi hujjat biri ko'pchilik Smart Console orqali olishga odatlangan tasvir. Biz javobda kalitni qidirmoqdamiz - pdf_hisobot hisobotni keyingi yuklab olish uchun.
-
XML - emulyatsiya haqidagi hujjat biri hisobotdagi parametrlarni keyingi tahlil qilish uchun qulay tasvir. Biz javobda kalitni qidirmoqdamiz - xml_report hisobotni keyingi yuklab olish uchun.
-
tar - .tar.gz arxivida emulyatsiya haqida hisobot mavjud biri so'ralgan tasvirlar (ham html sahifasi, ham emulyator operatsion tizimidagi video, tarmoq trafigini yig'ish, json-dagi hisobot va parol bilan himoyalangan arxivdagi namunaning o'zi kabi komponentlar). Biz javobda kalitni qidirmoqdamiz - to'liq_hisobot hisobotni keyingi yuklab olish uchun.
Xulosa hisobotida nima bor
full_report, pdf_report, xml_report kalitlari har bir OT uchun lug'atda mavjud
{
"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."
}
}
}
]
}
Ammo summary_report kaliti - umuman emulyatsiya uchun bitta kalit mavjud
{
"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."
}
}
}
]
}
Siz bir vaqtning o'zida tar va xml va pdf hisobotlarini so'rashingiz mumkin, siz xulosa va tar va xml so'rovlarini so'rashingiz mumkin. Bir vaqtning o'zida xulosa hisoboti va pdf so'rash mumkin bo'lmaydi.
Chiqarish bo'limidagi kalitlar
Tahdidni aniqlash uchun faqat ikkita kalit ishlatiladi:
usul — pdf (pdfga aylantirish, sukut bo'yicha ishlatiladi) yoki toza (faol tarkibni tozalash).
chiqarilgan_qismlar_kodlari - faol tarkibni o'chirish uchun kodlar ro'yxati, faqat toza usul uchun amal qiladi
Fayllardan tarkibni olib tashlash uchun kodlar
Code
Tavsif
1025
Bog'langan ob'ektlar
1026
Makroslar va kodlar
1034
Nozik giperhavolalar
1137
PDF GoToR amallari
1139
PDF ishga tushirish harakatlari
1141
PDF URI harakatlari
1142
Pdf ovozli harakatlar
1143
Pdf kino harakatlari
1150
PDF JavaScript harakatlar
1151
PDF shaklini yuborish harakatlari
1018
Ma'lumotlar bazasi so'rovlari
1019
O'rnatilgan ob'ektlar
1021
Ma'lumotlarni tez saqlash
1017
Maxsus xususiyatlar
1036
Statistik xususiyatlar
1037
Xulosa xususiyatlari
Tozalangan nusxani yuklab olish uchun, shuningdek, bir necha soniyadan so'ng, so'rov matnida faylning xesh miqdori va ekstraktsiya komponentini ko'rsatgan holda so'rov so'rovini (bu quyida muhokama qilinadi) qilishingiz kerak bo'ladi. So'rovga javobdan identifikator yordamida tozalangan faylni olishingiz mumkin - extracted_file_download_id. Yana bir bor, biroz oldinga qarab, men tozalangan hujjatni yuklab olish uchun identifikatorni qidirish uchun so'rov va so'rov javobiga misollar keltiraman.
Extracted_file_download_id kalitini qidirish uchun so'rov so'rovi
{ "request": [
{
"sha256": "9a346005ee8c9adb489072eb8b5b61699652962c17596de9c326ca68247a8876",
"features": ["extraction"] ,
"extraction": {
"method": "pdf"
}
}
]
}
So'rovga javob (extracted_file_download_id kalitini qidiring)
{
"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."
}
}
}
]
}
Umumiy ma'lumot
Bitta API chaqiruvida siz tekshirish uchun faqat bitta faylni yuborishingiz mumkin.
AV komponenti kalitlarga ega qo'shimcha bo'limni talab qilmaydi, uni lug'atda ko'rsatish kifoya Xususiyatlari.
API chaqiruvini so'rash
Amaldagi usul - POST
Qo'ng'iroq manzili - https:///tecloud/api/v1/file/query
Faylni yuklab olish uchun yuborishdan oldin (yuklash so'rovi), API serveridagi yukni optimallashtirish uchun sandbox keshini (so'rov so'rovi) tekshirish tavsiya etiladi, chunki API serverida yuklab olingan fayl bo'yicha allaqachon ma'lumot va hukm bo'lishi mumkin. Qo'ng'iroq faqat matnli qismdan iborat. So'rovning talab qilinadigan qismi faylning sha1/sha256/md5 xesh miqdoridir. Aytgancha, siz uni yuklash so'roviga javobda olishingiz mumkin.
So'rov uchun minimal talab qilinadi
HTTP POST
https:///tecloud/api/v1/file/query
Sarlavhalar:
Avtorizatsiya:
badan
{
"so'rov": {
"sha256":
}
}
Sha1/md5/sha256 xesh miqdori ko'rinadigan yuklash so'roviga javob misoli
{
"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."
}
}
}
}
So'rov so'rovi, xesh miqdoriga qo'shimcha ravishda, ideal tarzda yuklash so'rovi bilan bir xil bo'lishi kerak (yoki bo'lishi rejalashtirilgan) yoki hatto "allaqachon" (so'rov so'rovida yuklash so'roviga qaraganda kamroq maydonlarni o'z ichiga oladi). Agar so'rovda yuklash so'rovidagidan ko'proq maydonlar mavjud bo'lsa, siz javobda barcha kerakli ma'lumotlarni olmaysiz.
Bu erda barcha kerakli ma'lumotlar topilmagan so'rovga javob misoli keltirilgan
{
"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."
}
}
}
]
}
Maydonlarga e'tibor bering kodi и belgi. Status lug'atlarida bu maydonlar uch marta ko'rinadi. Avval global kalit "kod" ni ko'ramiz: 1006 va "yorliq": "PARTIALLY_FOUND". Keyinchalik, bu kalitlar biz so'ragan har bir alohida komponent uchun topiladi - te va ekstraktsiya. Va agar siz uchun ma'lumotlar topilganligi aniq bo'lsa, unda qazib olish uchun hech qanday ma'lumot yo'q.
Yuqoridagi misol uchun so'rov shunday ko'rinadi
{ "request": [
{
"sha256": {{sha256}},
"features": ["te", "extraction"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"reports": [
"xml", "pdf"
]
}
}
]
}
Agar siz ekstraktsiya komponentisiz so'rov so'rovini yuborsangiz
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"reports": [
"xml", "pdf"
]
}
}
]
}
Keyin javob to'liq ma'lumotni o'z ichiga oladi ("kod": 1001, "yorliq": "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."
}
}
}
]
}
Agar keshda umuman ma'lumot bo'lmasa, javob "yorliq" bo'ladi: "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."
}
}
}
]
}
Bitta API chaqiruvida siz tekshirish uchun bir vaqtning o'zida bir nechta xesh miqdorini yuborishingiz mumkin. Javob ma'lumotlarni so'rovda yuborilgan tartibda qaytaradi.
Bir nechta sha256 miqdori bilan so'rov so'roviga misol
{ "request": [
{
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd81"
},
{
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd82"
}
]
}
Bir nechta sha256 miqdori bilan so'rovga javob
{
"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."
}
}
}
]
}
So'rov so'rovida bir vaqtning o'zida bir nechta xesh summalarini so'rash API serverining ishlashiga ham foydali ta'sir ko'rsatadi.
API chaqiruvini yuklab oling
Amaldagi usul - POST (hujjatlarga ko'ra), OLING ham ishlaydi (va mantiqiyroq ko'rinishi mumkin)
Qo'ng'iroq manzili - https:///tecloud/api/v1/file/download?id=
Sarlavha API kalitini o'tkazishni talab qiladi, so'rovning asosiy qismi bo'sh, yuklab olish identifikatori URL manzilida uzatiladi.
So'rov so'roviga javoban, agar emulyatsiya tugallangan bo'lsa va faylni yuklab olishda hisobotlar so'ralgan bo'lsa, hisobotlarni yuklab olish uchun identifikator ko'rinadi. Agar tozalangan nusxa so'ralsa, tozalangan hujjatni yuklab olish uchun identifikatorni izlashingiz kerak.
Umuman olganda, yuklash uchun id qiymatini o'z ichiga olgan so'rovga javobdagi kalitlar quyidagilar bo'lishi mumkin:
-
xulosa_hisobot
-
to'liq_hisobot
-
pdf_hisobot
-
xml_report
-
chiqarilgan_fayl_download_id
Albatta, so'rov so'roviga javoban ushbu kalitlarni olish uchun ular so'rovda ko'rsatilishi kerak (hisobotlar uchun) yoki ekstraksiya funktsiyasidan foydalangan holda so'rov qilishni unutmang (tozalangan hujjatlar uchun)
Kvota API chaqiruvi
Amaldagi usul - POST
Qo'ng'iroq manzili - https:///tecloud/api/v1/file/quota
Bulutdagi qolgan kvotani tekshirish uchun kvota so'rovidan foydalaning. So‘rov matni bo‘sh.
Kvota so'roviga javob namunasi
{
"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"
}
]
}
Xavfsizlik shlyuzi uchun tahdidlarning oldini olish API
Ushbu API Threat Prevention API-dan oldin ishlab chiqilgan va faqat mahalliy qurilmalar uchun mo'ljallangan. Hozircha u faqat Threat Extraction API kerak bo'lsa foydali bo'lishi mumkin. Tahdid taqlid qilish uchun oddiy tahdidlarning oldini olish API dan foydalanish yaxshiroqdir. Yoqish uchun SG uchun TP API va amallarni bajarishingiz kerak bo'lgan API kalitini sozlang
Endi funksiyalarni batafsil ko'rib chiqamiz te и qazib olish ushbu APIda.
Komponent uchun te lug'at taqdim etilgan te_options yuklash/so'rov so'rovlarida va bu so'rovdagi kalitlar te kalitlari bilan to'liq mos keladi
Hisobotlar bilan Win10-da fayl emulyatsiyasi uchun namuna so'rovi
{
"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"]
}
}
]
}
Komponent uchun qazib olish lug'at taqdim etilgan scrub_options. Ushbu so'rov tozalash usulini belgilaydi: PDF-ga aylantirish, faol tarkibni tozalash yoki tahdidlarning oldini olish profiliga muvofiq rejimni tanlash (profil nomi ko'rsatilgan). Fayl uchun ekstraksiya API soʻroviga javob berishning ajoyib tomoni shundaki, siz ushbu soʻrovga javoban base64 shifrlangan qator sifatida tozalangan nusxani olasiz (siz soʻrov soʻrovini yuborishingiz va faylni yuklab olish uchun identifikatorni qidirishingiz shart emas). hujjat)
Faylni tozalash uchun so'rovga misol
{
"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
}
}]
}
So'rovga javob berish
{
"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": ""
}
}]
}
O'chirilgan nusxani olish uchun kamroq API so'rovlari talab qilinishiga qaramay, men ushbu variantni ma'lumotlar formasi so'roviga qaraganda kamroq afzalroq va qulay deb bilaman.
Pochtachilar to'plamlari
Men eng keng tarqalgan API so‘rovlarini ifodalovchi Threat Prevention API va Threat Prevention API for Security Gateway uchun Postman-da to‘plamlar yaratdim. Serverning IP/url API va kaliti avtomatik ravishda so'rovlarga almashtirilishi va faylni yuklab olgandan keyin sha256 xesh miqdori eslab qolishi uchun to'plamlar ichida uchta o'zgaruvchi yaratilgan (ularni yig'ish sozlamalariga o'tish orqali topishingiz mumkin). Tahrirlash -> O'zgaruvchilar): te_api (majburiy), api_key (mahalliy qurilmalar bilan TP API ishlatilmagan hollar bundan mustasno), sha256 (bo'sh qoldiring, SG uchun TP API da ishlatilmaydi).
Foydalanish misollar
Jamiyatda
Manba: www.habr.com