Bu məqalə texnologiya ilə tanış olanlar üçün faydalı olacaqdır Point yoxlayın fayl emulyasiyası ilə (Təhdid Emulyasiyası) və proaktiv fayl təmizlənməsi (Təhlükənin çıxarılması) və bu vəzifələrin avtomatlaşdırılması istiqamətində addım atmaq istəyir. Check Point var
Əsas abbreviaturalar
Threat Prevention API API-də aşağıdakı mətn dəyərləri vasitəsilə çağırılan üç əsas komponentlə işləyir:
av — Məlum təhlükələrin imza analizinə cavabdeh olan Anti-Virus komponenti.
te - Təhdid Emulyasiyası komponenti, qum qutusundakı faylların yoxlanılması və emulyasiyadan sonra zərərli/yaxşı qərarın verilməsi üçün cavabdehdir.
hasilat - Təhlükələrin çıxarılması komponenti, ofis sənədlərini tez bir zamanda istifadəçilərə/sistemlərə çatdırmaq üçün təhlükəsiz formaya (bütün potensial zərərli məzmunun silindiyi) çevrilməsinə cavabdehdir.
API strukturu və əsas məhdudiyyətlər
Threat Prevention API yalnız 4 sorğudan istifadə edir - yükləmə, sorğu, yükləmə və kvota. Bütün dörd sorğu üçün başlıqda parametrdən istifadə edərək API açarını ötürməlisiniz Icazə. İlk baxışdan quruluş əvvəlkindən daha sadə görünə bilər
Hazırda təhlükənin qarşısının alınması API-nin yeganə versiyası buraxılmışdır - 1.0; API zəngləri üçün URL daxil edilməlidir v1 versiyanı göstərməyiniz lazım olan hissədə. İdarəetmə API-dən fərqli olaraq, URL-də API versiyasını göstərmək lazımdır, əks halda sorğu yerinə yetirilməyəcək.
Anti-Virus komponenti digər komponentlər olmadan (te, çıxarış) çağırıldıqda, hazırda yalnız md5 hash məbləğləri ilə sorğu sorğularını dəstəkləyir. Təhdid Emulyasiyası və Təhdid Çıxarışı da sha1 və sha256 hash məbləğlərini dəstəkləyir.
Sorğularda səhv etməmək çox vacibdir! Sorğu səhvsiz yerinə yetirilə bilər, lakin tam deyil. Bir az irəliyə baxaraq, sorğularda səhvlər/yazı xətləri olduqda nələrin baş verə biləcəyinə baxaq.
Hesabatlar (reportss) sözü ilə yazı səhvi ilə sorğu
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
reportss: ["tar", "pdf", "xml"]
}
}
]
}
Cavabda heç bir səhv olmayacaq, lakin hesabatlar haqqında ümumiyyətlə məlumat olmayacaq
{
"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."
}
}
}
]
}
Lakin hesabat açarında yazı xətası olmayan sorğu üçün
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
reports: ["tar", "pdf", "xml"]
}
}
]
}
Hesabatları endirmək üçün artıq id ehtiva edən cavab alırıq
{
"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."
}
}
}
]
}
Yanlış/müddəti bitmiş API açarı göndərsək, cavab olaraq 403 xətası alacağıq.
SandBlast API: buludda və yerli cihazlarda
API sorğuları Təhdid Emulyasiya komponenti (bıçaq) aktivləşdirilmiş Check Point cihazlarına göndərilə bilər. Sorğular üçün ünvan kimi cihazın ip/url-indən və 18194 portundan istifadə etməlisiniz (məsələn, https://10.10.57.19:18194/tecloud/api/v1/file/query). Siz həmçinin cihazdakı təhlükəsizlik siyasətinin belə bir əlaqəyə icazə verdiyinə əmin olmalısınız. Defolt olaraq yerli cihazlarda API açarı vasitəsilə avtorizasiya off və sorğu başlıqlarında Avtorizasiya açarı ümumiyyətlə göndərilə bilməz.
CheckPoint buluduna API sorğuları göndərilməlidir te.checkpoint.com (məsələn - https://te.checkpoint.com/tecloud/api/v1/file/query). API açarını Check Point tərəfdaşları və ya şirkətin yerli ofisi ilə əlaqə saxlamaqla 60 gün müddətinə sınaq lisenziyası kimi əldə etmək olar.
Yerli cihazlarda Təhdidlərin çıxarılması standart olaraq hələ dəstəklənmir.
Yerli cihazlar kvota sorğusunu dəstəkləmir.
Əks halda, yerli cihazlar və bulud sorğuları arasında heç bir fərq yoxdur.
API çağırışını yükləyin
İstifadə olunan üsul - POST
Zəng ünvanı - https:///tecloud/api/v1/file/upload
Sorğu iki hissədən (forma-data) ibarətdir: emulyasiya/təmizləmə üçün nəzərdə tutulmuş fayl və mətni olan sorğu orqanı.
Mətn sorğusu boş ola bilməz, lakin heç bir konfiqurasiyaya malik olmaya bilər. Sorğunun uğurlu olması üçün sorğuda ən azı aşağıdakı mətni göndərməlisiniz:
Yükləmə sorğusu üçün minimum tələb olunur
HTTP POST
https:///tecloud/api/v1/file/upload
Başlıqlar:
Avtorizasiya:
Bodi
{
"istək": {
}
}
fayl
fayl
Bu halda, fayl standart parametrlərə uyğun olaraq işlənəcək: komponent - te, OS şəkilləri - Win XP və Win 7, hesabat yaratmadan.
Mətn sorğusunda əsas sahələr üzrə şərhlər:
fayl adı и fayl_növü Onları boş qoya və ya ümumiyyətlə göndərməyə bilərsiniz, çünki bu, fayl yükləyərkən xüsusilə faydalı məlumat deyil. API cavabında bu sahələr endirilmiş faylın adına əsasən avtomatik doldurulacaq və keşdəki məlumat hələ də md5/sha1/sha256 hash məbləğlərindən istifadə etməklə axtarılmalıdır.
Boş fayl_adı və fayl_tipi ilə nümunə sorğu
{
"request": {
"file_name": "",
"file_type": "",
}
}
xüsusiyyətləri — qum qutusunda emal edərkən lazımi funksionallığı göstərən siyahı - av (Anti-Virus), te (Təhlükə Emulyasiyası), çıxarma (Threat Extraction). Əgər bu parametr ümumiyyətlə qəbul edilmirsə, onda yalnız standart komponent istifadə olunacaq - te (Threat Emulation).
Üç mövcud komponentin yoxlanılmasını aktivləşdirmək üçün API sorğusunda bu komponentləri göstərməlisiniz.
Av, te və çıxarışların yoxlanılması ilə sorğu nümunəsi
{ "request": [
{
"sha256": {{sha256}},
"features": ["av", "te", "extraction"]
}
]
}
Te bölməsində açarlar
şəkillər — yoxlamanın aparılacağı əməliyyat sistemlərinin id və reviziya nömrəsi olan lüğətlərdən ibarət siyahı. İdentifikatorlar və təftiş nömrələri bütün yerli cihazlar və bulud üçün eynidir.
Əməliyyat sistemlərinin və düzəlişlərin siyahısı
Mövcud OS Image ID
Təftiş
Şəkil ƏS və Tətbiq
e50e99f3-5963-4573-af9e-e3f4750b55e2
1
Microsoft Windows: XP - 32 bit SP3
Ofis: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash Player 9r115 və ActiveX 10.0
Java icra müddəti: 1.6.0u22
7e6fe36e-889e-4c25-8704-56378f0830df
1
Microsoft Windows: 7 - 32 bit
Ofis: 2003, 2007
Adobe Acrobat Reader: 9.0
flash player: 10.2r152 (Plugin& ActiveX)
Java icra müddəti: 1.6.0u0
8d188031-1010-4466-828b-0cd13d4303ff
1
Microsoft Windows: 7 - 32 bit
Ofis: 2010
Adobe Acrobat Reader: 9.4
flash player: 11.0.1.152 (Plugin & ActiveX)
Java icra müddəti: 1.7.0u0
5e5de275-a103-4f67-b55b-47532918fa59
1
Microsoft Windows: 7 - 32 bit
Ofis: 2013
Adobe Acrobat Reader: 11.0
flash player: 15 (Plugin & ActiveX)
Java icra müddəti: 1.7.0u9
3ff3ddae-e7fd-4969-818c-d5f1a2be336d
1
Microsoft Windows: 7 - 64 bit
Ofis: 2013 (32 bit)
Adobe Acrobat Reader: 11.0.01
flash player: 13 (Plugin & ActiveX)
Java icra müddəti: 1.7.0u9
6c453c9b-20f7-471a-956c-3198a868dc92
1
Microsoft Windows: 8.1 - 64 bit
Ofis: 2013 (64 bit)
Adobe Acrobat Reader: 11.0.10
flash player: 18.0.0.160 (Plugin & ActiveX)
Java icra müddəti: 1.7.0u9
10b4a9c6-e414-425c-ae8b-fe4dd7b25244
1
Microsoft Windows: 10
Ofis: Professional Plus 2016 en-us
Adobe Acrobat Reader: DC 2015 MUI
flash player: 20 (Plugin & ActiveX)
Java icra müddəti: 1.7.0u9
Şəkillər açarı ümumiyyətlə göstərilməyibsə, emulyasiya Check Point tərəfindən tövsiyə olunan şəkillərdə baş verəcək (hazırda Win XP və Win 7). Bu şəkillər ən yaxşı performans və tutma nisbəti mülahizələrinə əsasən tövsiyə olunur.
hesabat — faylın zərərli olduğu ortaya çıxdıqda tələb etdiyimiz hesabatların siyahısı. Aşağıdakı seçimlər mövcuddur:
-
xülasə - tərəfindən emulyasiya haqqında hesabatı ehtiva edən .tar.gz arxivi bütün tələb olunan şəkillər (həm html səhifəsi, həm də emulator ƏS-dən video, şəbəkə trafikinin boşaldılması, json-da hesabat və parolla qorunan arxivdəki nümunənin özü kimi komponentlər). Cavabda açar axtarırıq - xülasə_hesabat hesabatın sonrakı yüklənməsi üçün.
-
pdf - emulyasiya haqqında sənəd bir çoxlarının Smart Console vasitəsilə almağa adət etdiyi görüntü. Cavabda açar axtarırıq - pdf_hesabat hesabatın sonrakı yüklənməsi üçün.
-
xml - emulyasiya haqqında sənəd bir hesabatda parametrlərin sonrakı təhlili üçün əlverişli olan şəkil. Cavabda açar axtarırıq - xml_report hesabatın sonrakı yüklənməsi üçün.
-
tar - .tar.gz arxivində təqlid haqqında hesabat var bir tələb olunan şəkillər (həm html səhifəsi, həm də emulator ƏS-dən video, şəbəkə trafikinin boşaldılması, json-da hesabat və parolla qorunan arxivdəki nümunənin özü kimi komponentlər). Cavabda açar axtarırıq - tam_hesabat hesabatın sonrakı yüklənməsi üçün.
Xülasə hesabatında nə var
full_report, pdf_report, xml_report düymələri hər bir ƏS üçün lüğətdədir
{
"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."
}
}
}
]
}
Ancaq summary_report açarı - ümumiyyətlə emulyasiya üçün bir var
{
"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 eyni zamanda tar və xml və pdf hesabatlarını istəyə bilərsiniz, xülasə və tar və xml tələb edə bilərsiniz. Eyni zamanda xülasə hesabatı və pdf tələb etmək mümkün olmayacaq.
Çıxarma bölməsində açarlar
Təhlükənin çıxarılması üçün yalnız iki açar istifadə olunur:
üsul — pdf (pdf-ə çevirin, standart olaraq istifadə olunur) və ya təmiz (aktiv məzmunun təmizlənməsi).
çıxarılan_hissələrin_kodları - aktiv məzmunu silmək üçün kodların siyahısı, yalnız təmiz metod üçün tətbiq olunur
Fayllardan məzmunu silmək üçün kodlar
Kodu
təsvir
1025
Əlaqədar Obyektlər
1026
Makrolar və Kod
1034
Həssas Hiperlinklər
1137
PDF GoToR hərəkətləri
1139
PDF başlatma hərəkətləri
1141
PDF URI hərəkətləri
1142
Pdf səs hərəkətləri
1143
Pdf film hərəkətləri
1150
PDF JavaScript hərəkətləri
1151
PDF Göndərmə Forması Əməliyyatları
1018
Verilənlər bazası sorğuları
1019
Daxili Obyektlər
1021
Məlumatları Sürətli Saxla
1017
Xüsusi Xüsusiyyətlər
1036
Statistika Xüsusiyyətləri
1037
Xülasə Xüsusiyyətləri
Təmizlənmiş nüsxəni yükləmək üçün siz həmçinin bir neçə saniyədən sonra sorğu mətnində faylın hash miqdarını və çıxarış komponentini göstərərək sorğu sorğusu (bu barədə aşağıda müzakirə olunacaq) etməli olacaqsınız. Təmizlənmiş faylı sorğuya cavabdan id-dən istifadə edərək götürə bilərsiniz - extracted_file_download_id. Bir daha, bir az irəliyə baxaraq, təmizlənmiş sənədi yükləmək üçün id axtarmaq üçün sorğu və sorğu cavabı nümunələri verirəm.
Extracted_file_download_id açarını axtarmaq üçün sorğu sorğusu
{ "request": [
{
"sha256": "9a346005ee8c9adb489072eb8b5b61699652962c17596de9c326ca68247a8876",
"features": ["extraction"] ,
"extraction": {
"method": "pdf"
}
}
]
}
Sorğuya cavab (extracted_file_download_id açarını axtarın)
{
"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."
}
}
}
]
}
Baxış
Bir API çağırışında siz yoxlama üçün yalnız bir fayl göndərə bilərsiniz.
Av komponenti düymələri olan əlavə bölmə tələb etmir, onu lüğətdə qeyd etmək kifayətdir xüsusiyyətləri.
Sorğu API çağırışı
İstifadə olunan üsul - POST
Zəng ünvanı - https:///tecloud/api/v1/file/query
Faylı yükləmək üçün göndərməzdən əvvəl (yükləmə sorğusu), API serverindəki yükü optimallaşdırmaq üçün sandbox keşini (sorğu sorğusu) yoxlamaq məsləhətdir, çünki API serverində artıq yüklənmiş fayl haqqında məlumat və hökm ola bilər. Zəng yalnız mətn hissəsindən ibarətdir. Sorğunun tələb olunan hissəsi faylın sha1/sha256/md5 hash miqdarıdır. Yeri gəlmişkən, onu yükləmə sorğusuna cavabda əldə edə bilərsiniz.
Sorğu üçün minimum tələb olunur
HTTP POST
https:///tecloud/api/v1/file/query
Başlıqlar:
Avtorizasiya:
Bodi
{
"istək": {
"sha256":
}
}
Sha1/md5/sha256 hash məbləğlərinin göründüyü yükləmə sorğusuna cavab nümunəsi
{
"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."
}
}
}
}
Sorğu sorğusu, hash məbləğindən əlavə, ideal olaraq yükləmə sorğusu ilə eyni olmalıdır (və ya olması planlaşdırılır) və ya hətta “artıq” (sorğu sorğusunda yükləmə sorğusundan daha az sahə ehtiva edir). Sorğu sorğusunda yükləmə sorğusunda olduğundan daha çox sahə varsa, siz cavabda bütün tələb olunan məlumatları qəbul etməyəcəksiniz.
Bütün tələb olunan məlumatların tapılmadığı bir sorğuya cavab nümunəsidir
{
"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."
}
}
}
]
}
Sahələrə diqqət yetirin kod и etiket. Bu sahələr status lüğətlərində üç dəfə görünür. Əvvəlcə qlobal açar "kodu" görürük: 1006 və "etiket": "PARTIALLY_FOUND". Sonra, bu açarlar tələb etdiyimiz hər bir fərdi komponent üçün tapılır - te və çıxarış. Əgər məlumatların tapıldığı aydındırsa, çıxarış üçün heç bir məlumat yoxdur.
Yuxarıdakı nümunə üçün sorğu belə görünürdü
{ "request": [
{
"sha256": {{sha256}},
"features": ["te", "extraction"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"reports": [
"xml", "pdf"
]
}
}
]
}
Çıxarış komponenti olmadan sorğu sorğusu göndərsəniz
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"reports": [
"xml", "pdf"
]
}
}
]
}
Daha sonra cavabda tam məlumat olacaq (“kod”: 1001, “etiket”: “TAPADI”)
{
"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."
}
}
}
]
}
Keşdə ümumiyyətlə məlumat yoxdursa, cavab "etiket" olacaq: "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."
}
}
}
]
}
Bir API çağırışında siz yoxlama üçün eyni anda bir neçə hash məbləği göndərə bilərsiniz. Cavab məlumatları sorğuda göndərildiyi qaydada qaytaracaq.
Bir neçə sha256 məbləği ilə nümunə sorğu sorğusu
{ "request": [
{
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd81"
},
{
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd82"
}
]
}
Çox sayda sha256 məbləği olan sorğuya cavab
{
"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."
}
}
}
]
}
Sorğu sorğusunda eyni anda bir neçə hash məbləğinin tələb edilməsi də API serverinin işinə faydalı təsir göstərəcək.
API zəngi yükləyin
İstifadə olunan üsul - POST (sənədlərə görə), GET da işləyir (və daha məntiqli görünə bilər)
Zəng ünvanı - https:///tecloud/api/v1/file/download?id=
Başlıq API açarının ötürülməsini tələb edir, sorğunun əsas hissəsi boşdur, yükləmə id-si URL ünvanına ötürülür.
Sorğu sorğusuna cavab olaraq, emulyasiya tamamlanıbsa və faylı endirərkən hesabatlar tələb olunubsa, hesabatların endirilməsi üçün id görünəcək. Təmizlənmiş nüsxə tələb olunarsa, təmizlənmiş sənədi yükləmək üçün id-ni axtarmalısınız.
Ümumilikdə, yükləmə üçün id dəyərini ehtiva edən sorğuya cavabda olan düymələr ola bilər:
-
xülasə_hesabat
-
tam_hesabat
-
pdf_hesabat
-
xml_report
-
çıxarılmış_fayl_download_id
Əlbəttə ki, sorğu sorğusuna cavab olaraq bu açarları almaq üçün onlar sorğuda göstərilməlidir (hesabatlar üçün) və ya çıxarma funksiyasından istifadə edərək sorğu verməyi unutmayın (təmizlənmiş sənədlər üçün)
Kvota API çağırışı
İstifadə olunan üsul - POST
Zəng ünvanı - https:///tecloud/api/v1/file/quota
Buludda qalan kvotanı yoxlamaq üçün kvota sorğusundan istifadə edin. Sorğunun əsas hissəsi boşdur.
Kvota sorğusuna cavab nümunəsi
{
"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"
}
]
}
Təhlükəsizlik Gateway üçün Təhdidlərin qarşısının alınması API
Bu API Təhdidlərin qarşısının alınması API-dən əvvəl hazırlanmışdır və yalnız yerli cihazlar üçün nəzərdə tutulub. Hələlik o, yalnız Threat Extraction API ehtiyacınız olduqda faydalı ola bilər. Təhlükə Emulyasiyası üçün adi Təhlükənin qarşısının alınması API-dən istifadə etmək daha yaxşıdır. Yandırmaq üçün SG üçün TP API və addımları izləmək üçün lazım olan API açarını konfiqurasiya edin
İndi funksiyalara daha yaxından nəzər salaq te и hasilat bu API-də.
Komponent üçün te lüğət təmin edilmişdir te_seçimlər yükləmə/sorğu sorğularında və bu sorğudakı düymələr in te düymələri ilə tamamilə üst-üstə düşür
Hesabatlarla Win10-da fayl emulyasiyası üçün nümunə sorğusu
{
"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 üçün hasilat lüğət təmin edilmişdir skrub_seçimləri. Bu sorğu təmizləmə üsulunu müəyyən edir: PDF-ə çevirin, aktiv məzmunu təmizləyin və ya Təhlükənin qarşısının alınması profilinə uyğun rejim seçin (profil adı göstərilir). Fayl üçün hasilat API sorğusuna cavab vermənin ən yaxşı tərəfi odur ki, bu sorğuya cavab olaraq base64 şifrəli sətir kimi təmizlənmiş surət əldə edirsiniz (sizə sorğu sorğusu göndərmək və faylı yükləmək üçün id-yə baxmaq lazım deyil) sənəd)
Faylı təmizləmək üçün sorğu nümunəsi
{
"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
}
}]
}
Sorğuya cavab verin
{
"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": ""
}
}]
}
Təmizlənmiş nüsxə əldə etmək üçün daha az API sorğusu tələb olunmasına baxmayaraq, mən bu seçimi istifadə edilən forma-data sorğusundan daha az üstünlüklü və əlverişli hesab edirəm.
Poçtalyon kolleksiyaları
Mən ən çox yayılmış API sorğularını təmsil edən Təhlükənin Qarşısının Alınması API və Təhlükəsizlik Gateway üçün Təhlükənin qarşısının alınması API üçün Postman-da kolleksiyalar yaratdım. Server ip/url API və açarının avtomatik olaraq sorğularda əvəzlənməsi və faylı endirdikdən sonra sha256 hash məbləğinin yadda qalması üçün kolleksiyaların daxilində üç dəyişən yaradılıb (onları kolleksiya parametrlərinə keçməklə tapa bilərsiniz) Redaktə et -> Dəyişənlər): te_api (tələb olunur), api_key (yerli cihazlarla TP API istifadə halları istisna olmaqla, doldurulması tələb olunur), sha256 (boş buraxın, SG üçün TP API-də istifadə edilmir).
İstifadə nümunələri
Cəmiyyətdə
Mənbə: www.habr.com