API orqali Check Point SandBlast bilan o'zaro aloqa

API orqali Check Point SandBlast bilan o'zaro aloqa

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 Tahdidlarni oldini olish API, bulutda ham, mahalliy qurilmalarda ham ishlaydi va Funktsional jihatdan bu web/smtp/ftp/smb/nfs trafik oqimlaridagi fayllarni tekshirish bilan bir xil.. Ushbu maqola qisman muallifning rasmiy hujjatlardagi maqolalar to'plamining sharhidir, lekin o'z tajribam va o'z misollarimga asoslangan. Shuningdek, maqolada siz Threat Prevention API bilan ishlash uchun muallifning Postman to'plamlarini topasiz.

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 Boshqaruv API, lekin yuklash va soʻrov soʻrovlaridagi maydonlar soni va bu soʻrovlarning tuzilishi ancha murakkab. Bularni funktsional jihatdan shlyuz/sandbox xavfsizlik siyosatidagi tahdidlarning oldini olish profillari bilan solishtirish 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. Tahdidlarni oldini olish API va ishlatilishi kerak Xavfsizlik shlyuzi uchun tahdidlarning oldini olish API (bu haqda maqolaning oxirida batafsilroq gaplashamiz).

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 (plaginActiveX)
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 

 

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:

  1. 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.

  2. pdf - emulyatsiya haqidagi hujjat biri ko'pchilik Smart Console orqali olishga odatlangan tasvir. Biz javobda kalitni qidirmoqdamiz - pdf_hisobot hisobotni keyingi yuklab olish uchun.

  3. XML - emulyatsiya haqidagi hujjat biri hisobotdagi parametrlarni keyingi tahlil qilish uchun qulay tasvir. Biz javobda kalitni qidirmoqdamiz - xml_report hisobotni keyingi yuklab olish uchun.

  4. 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 borAPI orqali Check Point SandBlast bilan o'zaro aloqa

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 sk113599. Men 6b-bosqichga e'tibor berishni va sahifaning mavjudligini tekshirishni tavsiya qilaman https://<IPAddressofSecurityGateway>/UserCheck/TPAPI chunki salbiy natija bo'lsa, keyingi konfiguratsiya mantiqiy emas. Barcha API qo'ng'iroqlari ushbu URL manziliga yuboriladi. Qo'ng'iroq turi (yuklash/so'rov) qo'ng'iroq asosiy kalitida tartibga solinadi - so'rov_nomi. Bundan tashqari, kerakli kalitlar mavjud - api_key (konfiguratsiya jarayonida uni eslab qolishingiz kerak) va protokol_versiyasi (hozirgi versiya 1.1). Ushbu API uchun rasmiy hujjatlarni quyidagi manzilda topishingiz mumkin sk137032. Nisbiy afzalliklarga bir nechta fayllarni yuklashda emulyatsiya qilish uchun bir vaqtning o'zida yuborish imkoniyati kiradi, chunki fayllar base64 matn qatori sifatida yuboriladi. Base64 dan fayllarni kodlash/dekodlash uchun siz Postman-dagi onlayn konvertorni namoyish qilish uchun ishlatishingiz mumkin, masalan - https://base64.guru. Amaliy maqsadlarda kod yozishda siz o'rnatilgan kodlash va dekodlash usullaridan foydalanishingiz kerak.

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 Tahdidlarni oldini olish API.

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. Tahdidlarni oldini olish API.

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).

Threat Prevention API uchun Postman to'plamini yuklab oling

Security Gateway API uchun tahdidlarning oldini olish uchun Postman to'plamini yuklab oling

Foydalanish misollar

Jamiyatda Matnlarni tekshiring orqali kerakli katalogdagi fayllarni tekshiradigan Python-da yozilgan skriptlar taqdim etiladi TP API, va SG uchun TP API. Threat Prevention API bilan o'zaro hamkorlik orqali fayllarni skanerlash qobiliyati sezilarli darajada kengaytirildi, chunki endi siz bir vaqtning o'zida bir nechta platformalarda fayllarni skanerlashingiz mumkin (tekshirish) VirusTotal API, va keyin Check Point sandboxida) va fayllarni nafaqat tarmoq trafigidan qabul qiling, balki ularni har qanday tarmoq drayverlaridan va, masalan, CRM tizimlaridan ham oling.

Manba: www.habr.com

a Izoh qo'shish