Энэ нийтлэл нь технологийг мэддэг хүмүүст хэрэгтэй болно Шалгах цэг файлын эмуляцаар (Аюул заналхийллийн эмуляц) болон идэвхтэй файл цэвэрлэх (Аюулын олборлолт) мөн эдгээр ажлыг автоматжуулах алхам хийхийг хүсч байна. Check Point байна
Үндсэн товчлолууд
Threat Prevention API нь дараах текст утгуудаар дамжуулан API-д дуудагддаг гурван үндсэн бүрэлдэхүүн хэсэгтэй ажилладаг:
av - Вирусын эсрэг бүрэлдэхүүн хэсэг нь мэдэгдэж буй аюулын гарын үсгийн шинжилгээг хариуцдаг.
te - Аюулгүй байдлын эмуляцийн бүрэлдэхүүн хэсэг нь хамгаалагдсан хязгаарлагдмал орчинд байгаа файлуудыг шалгах, эмуляц хийсний дараа хортой/хор хөнөөлтэй шийдвэр гаргах үүрэгтэй.
олборлолт - Хэрэглэгчид/системд хурдан хүргэхийн тулд оффисын баримт бичгүүдийг аюулгүй хэлбэрт (бүх хортой агуулгыг устгадаг) хурдан хөрвүүлэх үүрэгтэй Threat Extraction бүрэлдэхүүн хэсэг.
API бүтэц ба үндсэн хязгаарлалтууд
Threat Prevention API нь зөвхөн 4 хүсэлтийг ашигладаг - байршуулах, асуулга, татаж авах, квот. Бүх дөрвөн хүсэлтийн толгой хэсэгт та параметрийг ашиглан API түлхүүрийг дамжуулах шаардлагатай Зөвшөөрөл. Эхлээд харахад бүтэц нь өмнөхөөсөө хамаагүй хялбар мэт санагдаж магадгүй юм
Одоогийн байдлаар Threat Prevention API-ийн цорын ганц хувилбар гарсан - 1.0; API дуудлагын URL-д оруулах ёстой. v1 хувилбарыг зааж өгөх шаардлагатай хэсэгт. Менежментийн API-ээс ялгаатай нь URL-д API хувилбарыг зааж өгөх шаардлагатай бөгөөд эс тэгвээс хүсэлтийг биелүүлэхгүй.
Антивирусын бүрэлдэхүүн хэсэг нь бусад бүрэлдэхүүн хэсэггүйгээр (te, олборлолт) дуудагдсан үед одоогоор зөвхөн md5 хэш нийлбэртэй асуулгын хүсэлтийг дэмждэг. Threat Emulation болон Threat Extraction нь мөн sha1 болон sha256 хэш нийлбэрийг дэмждэг.
Асуулгад алдаа гаргахгүй байх нь маш чухал юм! Хүсэлтийг алдаагүйгээр гүйцэтгэх боломжтой, гэхдээ бүрэн биш. Цаашид бага зэрэг харвал асуулгад алдаа/үсгийн алдаа гарсан тохиолдолд юу тохиолдож болохыг харцгаая.
Reports (reportss) гэсэн үгтэй үсгийн алдаатай хүсэлт
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
reportss: ["tar", "pdf", "xml"]
}
}
]
}
Хариултанд алдаа гарахгүй, гэхдээ тайлангийн талаар огт мэдээлэл байхгүй болно
{
"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."
}
}
}
]
}
Гэхдээ тайлангийн түлхүүрийн алдаагүй хүсэлтийн хувьд
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
reports: ["tar", "pdf", "xml"]
}
}
]
}
Бид тайланг татаж авах id-г агуулсан хариу хүлээн авдаг
{
"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."
}
}
}
]
}
Хэрэв бид буруу/хугацаа нь дууссан API түлхүүр илгээвэл хариуд нь 403 алдаа хүлээн авна.
SandBlast API: үүлэн болон дотоод төхөөрөмж дээр
API хүсэлтийг Threat Emulation бүрэлдэхүүн хэсэг (ир) идэвхжүүлсэн Check Point төхөөрөмжүүдэд илгээж болно. Хүсэлтийн хаягийн хувьд та төхөөрөмжийн ip/url болон 18194 портыг (жишээ нь, https://) ашиглах шаардлагатай.10.10.57.19:18194/tecloud/api/v1/file/query). Та мөн төхөөрөмж дээрх аюулгүй байдлын бодлого ийм холболтыг зөвшөөрдөг эсэхийг шалгах хэрэгтэй. Өгөгдмөлөөр локал төхөөрөмж дээрх API түлхүүрээр дамжуулан зөвшөөрөл авах унтраах мөн хүсэлтийн толгой хэсэгт байгаа Зөвшөөрлийн түлхүүрийг огт илгээхгүй байж болно.
CheckPoint үүл рүү API хүсэлтийг илгээх ёстой te.checkpoint.com (жишээ нь - https://te.checkpoint.com/tecloud/api/v1/file/query). API түлхүүрийг Check Point-ийн түншүүд эсвэл компанийн орон нутгийн оффистой холбогдож 60 хоногийн турш туршилтын лиценз хэлбэрээр авах боломжтой.
Орон нутгийн төхөөрөмж дээр Threat Extraction стандартыг хараахан дэмжээгүй байна.
Орон нутгийн төхөөрөмжүүд квотын хүсэлтийг дэмждэггүй.
Үгүй бол локал төхөөрөмж болон үүл рүү илгээх хүсэлтийн хооронд ямар ч ялгаа байхгүй.
API дуудлагыг байршуулах
Ашигласан арга - Шуудан
Дуудлагын хаяг - https:///tecloud/api/v1/file/upload
Хүсэлт нь эмуляци/цэвэрлэхэд зориулагдсан файл ба текст бүхий хүсэлтийн хэсэг гэсэн хоёр хэсгээс бүрдэнэ (формат-өгөгдөл).
Текстийн хүсэлт хоосон байж болохгүй, гэхдээ ямар ч тохиргоо агуулаагүй байж болно. Хүсэлтийг амжилттай болгохын тулд та хүсэлтэд дор хаяж дараах текстийг илгээх ёстой.
Байршуулах хүсэлтийн хамгийн бага хэмжээ
HTTP POST
https:///tecloud/api/v1/file/upload
Гарчиг:
Зөвшөөрөл:
Биеийн
{
"хүсэлт": {
}
}
Файлын
Файлын
Энэ тохиолдолд файлыг үндсэн параметрүүдийн дагуу боловсруулна: бүрэлдэхүүн хэсэг - te, OS зураг - Win XP болон Win 7, тайлан үүсгэхгүйгээр.
Текст хүсэлтийн үндсэн талбаруудын тайлбар:
файлын нэр и Файлын төрөл Файл байршуулах үед энэ нь тийм ч ашигтай мэдээлэл биш тул та тэдгээрийг хоосон орхиж эсвэл огт илгээхгүй. API хариултанд эдгээр талбаруудыг татаж авсан файлын нэр дээр үндэслэн автоматаар бөглөх бөгөөд кэш дэх мэдээллийг md5/sha1/sha256 хэш дүнг ашиглан хайх шаардлагатай хэвээр байх болно.
Хоосон файлын нэр болон файлын төрөл бүхий жишээ хүсэлт
{
"request": {
"file_name": "",
"file_type": "",
}
}
онцлог — хамгаалагдсан хязгаарлагдмал орчинд боловсруулахад шаардлагатай функцийг харуулсан жагсаалт - av (Антивирус), te (Аюул эмуляц), олборлолт (Аюул задаргаа). Хэрэв энэ параметрийг огт дамжуулаагүй бол зөвхөн анхдагч бүрэлдэхүүн хэсгийг ашиглах болно - te (Threat Emulation).
Боломжтой гурван бүрэлдэхүүн хэсгийг шалгахыг идэвхжүүлэхийн тулд API хүсэлтэд эдгээр бүрэлдэхүүн хэсгүүдийг зааж өгөх шаардлагатай.
Ав, тэ болон олборлолтыг шалгах хүсэлтийн жишээ
{ "request": [
{
"sha256": {{sha256}},
"features": ["av", "te", "extraction"]
}
]
}
Te хэсэгт байгаа түлхүүрүүд
зургууд - шалгалт хийх үйлдлийн системийн id болон засварын дугаар бүхий толь бичгүүдийг агуулсан жагсаалт. ID болон засварын дугаар нь бүх локал төхөөрөмж болон үүлэнд ижил байна.
Үйлдлийн систем ба засварын жагсаалт
Боломжтой үйлдлийн системийн зургийн ID
Засвар хийсэн
Зургийн үйлдлийн систем ба програм
e50e99f3-5963-4573-af9e-e3f4750b55e2
1
Microsoft Windows: XP - 32 бит SP3
газар: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash тоглуулагч 9r115 ба ActiveX 10.0
Java ажиллах хугацаа: 1.6.0u22
7e6fe36e-889e-4c25-8704-56378f0830df
1
Microsoft Windows: 7 - 32 бит
газар: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash тоглуулагч: 10.2r152 (Залгах& ActiveX)
Java ажиллах хугацаа: 1.6.0u0
8d188031-1010-4466-828b-0cd13d4303ff
1
Microsoft Windows: 7 - 32 бит
газар: 2010
Adobe Acrobat Reader: 9.4
Flash тоглуулагч: 11.0.1.152 (Залгах & ActiveX)
Java ажиллах хугацаа: 1.7.0u0
5e5de275-a103-4f67-b55b-47532918fa59
1
Microsoft Windows: 7 - 32 бит
газар: 2013
Adobe Acrobat Reader: 11.0
Flash тоглуулагч: 15 (Залгах & ActiveX)
Java ажиллах хугацаа: 1.7.0u9
3ff3ddae-e7fd-4969-818c-d5f1a2be336d
1
Microsoft Windows: 7 - 64 бит
газар: 2013 (32 бит)
Adobe Acrobat Reader: 11.0.01
Flash тоглуулагч: 13 (Залгах & ActiveX)
Java ажиллах хугацаа: 1.7.0u9
6c453c9b-20f7-471a-956c-3198a868dc92
1
Microsoft Windows: 8.1 - 64 бит
газар: 2013 (64 бит)
Adobe Acrobat Reader: 11.0.10
Flash тоглуулагч: 18.0.0.160 (Залгах & ActiveX)
Java ажиллах хугацаа: 1.7.0u9
10b4a9c6-e414-425c-ae8b-fe4dd7b25244
1
Microsoft Windows: 10
газар: Professional Plus 2016 en-us
Adobe Acrobat Reader: DC 2015 MUI
Flash тоглуулагч: 20 (Залгах & ActiveX)
Java ажиллах хугацаа: 1.7.0u9
Хэрэв зургийн товчлуурыг огт заагаагүй бол Check Point-аас санал болгосон зургуудад эмуляци явагдана (одоо Win XP болон Win 7). Гүйцэтгэл болон барих хурдын хамгийн сайн тэнцвэрийг харгалзан үзсэний үндсэн дээр эдгээр зургуудыг санал болгож байна.
мэдээ - файл нь хортой болох нь тогтоогдсон тохиолдолд бидний хүсэлт гаргах тайлангийн жагсаалт. Дараах сонголтууд боломжтой.
-
хураангуй - Эмуляцийн талаарх тайланг агуулсан .tar.gz архив бүх хүмүүст хүссэн зургууд (html хуудас болон эмулятор үйлдлийн системээс авсан видео, сүлжээний траффик, json дахь тайлан, нууц үгээр хамгаалагдсан архивт байгаа дээж зэрэг бүрэлдэхүүн хэсгүүд). Бид хариултын түлхүүрийг хайж байна - хураангуй_тайлан тайланг дараа нь татаж авах.
-
PDF - эмуляцийн тухай баримт бичиг нэг нь Ухаалаг консолоор дамжуулан олон хүн хүлээн авч дассан зураг. Бид хариултын түлхүүрийг хайж байна - pdf_тайлан тайланг дараа нь татаж авах.
-
XML - эмуляцийн тухай баримт бичиг нэг нь Тайлан дахь параметрүүдийг дараа нь задлан шинжлэхэд тохиромжтой зураг. Бид хариултын түлхүүрийг хайж байна - xml_report тайланг дараа нь татаж авах.
-
давирхай - .tar.gz архивт эмуляцийн талаарх тайланг агуулсан нэг нь хүссэн зургууд (html хуудас болон эмулятор үйлдлийн системээс авсан видео, сүлжээний траффик, json дахь тайлан, нууц үгээр хамгаалагдсан архивт байгаа дээж зэрэг бүрэлдэхүүн хэсгүүд). Бид хариултын түлхүүрийг хайж байна - бүрэн_тайлан тайланг дараа нь татаж авах.
Хураангуй тайлан дотор юу байна
full_report, pdf_report, xml_report гэсэн түлхүүрүүд нь үйлдлийн систем бүрийн толь бичигт байдаг
{
"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."
}
}
}
]
}
Гэхдээ summary_report түлхүүр - ерөнхийдөө эмуляц хийх нэг түлхүүр байдаг
{
"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."
}
}
}
]
}
Та tar болон xml, pdf тайлангуудыг нэгэн зэрэг хүсэх боломжтой, хураангуй болон tar болон xml хүсэлт гаргах боломжтой. Хураангуй тайлан болон pdf файлыг нэгэн зэрэг хүсэх боломжгүй.
Олборлох хэсгийн түлхүүрүүд
Аюулыг арилгахын тулд зөвхөн хоёр түлхүүрийг ашигладаг:
Арга — pdf (pdf болгон хөрвүүлэх, анхдагчаар ашигладаг) эсвэл цэвэр (идэвхтэй агуулгыг цэвэрлэх).
задалсан_хэсгийн_код - идэвхтэй контентыг устгах кодын жагсаалт, зөвхөн цэвэр аргад хамаарна
Файлаас контент устгах кодууд
код
Тодорхойлолт
1025
Холбогдсон объектууд
1026
Макро ба код
1034
Мэдрэмтгий гипер холбоосууд
1137
PDF GoToR үйлдлүүд
1139
PDF эхлүүлэх үйлдлүүд
1141
PDF URI үйлдлүүд
1142
PDF дууны үйлдлүүд
1143
PDF киноны үйлдлүүд
1150
PDF JavaScript үйлдэл
1151
PDF маягтыг илгээх үйлдлүүд
1018
Мэдээллийн сангийн асуулга
1019
Оруулсан объект
1021
Өгөгдлийг хурдан хадгалах
1017
Захиалгат шинж чанарууд
1036
Статистикийн шинж чанарууд
1037
Хураангуй шинж чанарууд
Цэвэрлэсэн хуулбарыг татаж авахын тулд та мөн хэдхэн секундын дараа хүсэлтийн текст дэх файлын хэш хэмжээ болон задлах бүрэлдэхүүн хэсгийг зааж асуулгын хүсэлт (үүнийг доор хэлэлцэх болно) хийх шаардлагатай болно. Та асуулгад хариулах ID-г ашиглан цэвэрлэсэн файлаа авч болно - extracted_file_download_id. Дахин нэг удаа, бага зэрэг урагшаа харж, би арилгасан баримт бичгийг татаж авах id хайх хүсэлт, асуулгын хариултын жишээг өгөв.
Extract_file_download_id түлхүүрийг хайх хүсэлт
{ "request": [
{
"sha256": "9a346005ee8c9adb489072eb8b5b61699652962c17596de9c326ca68247a8876",
"features": ["extraction"] ,
"extraction": {
"method": "pdf"
}
}
]
}
Асуулгад хариу өгөх (залагдсан_файлын_татаж авах_id түлхүүрийг хай)
{
"response": [
{
"status": {
"code": 1001,
"label": "FOUND",
"message": "The request has been fully answered."
},
"sha256": "9a346005ee8c9adb489072eb8b5b61699652962c17596de9c326ca68247a8876",
"file_type": "",
"file_name": "",
"features": [
"extraction"
],
"extraction": {
"method": "pdf",
"extract_result": "CP_EXTRACT_RESULT_SUCCESS",
"extracted_file_download_id": "b5f2b34e-3603-4627-9e0e-54665a531ab2",
"output_file_name": "kp-20-xls.cleaned.xls.pdf",
"time": "0.013",
"extract_content": "Macros and Code",
"extraction_data": {
"input_extension": "xls",
"input_real_extension": "xls",
"message": "OK",
"output_file_name": "kp-20-xls.cleaned.xls.pdf",
"protection_name": "Potential malicious content extracted",
"protection_type": "Conversion to PDF",
"protocol_version": "1.0",
"risk": 5.0,
"scrub_activity": "Active content was found - XLS file was converted to PDF",
"scrub_method": "Convert to PDF",
"scrub_result": 0.0,
"scrub_time": "0.013",
"scrubbed_content": "Macros and Code"
},
"tex_product": false,
"status": {
"code": 1001,
"label": "FOUND",
"message": "The request has been fully answered."
}
}
}
]
}
Ерөнхий мэдээлэл
Нэг API дуудлагад та баталгаажуулахын тулд зөвхөн нэг файл илгээх боломжтой.
AV бүрэлдэхүүн хэсэг нь товчлуур бүхий нэмэлт хэсэг шаарддаггүй, үүнийг толь бичигт зааж өгөхөд хангалттай онцлог.
API дуудлага хийх
Ашигласан арга - Шуудан
Дуудлагын хаяг - https:///tecloud/api/v1/file/query
Файлыг татаж авахаар (байршуулах хүсэлт) илгээхийн өмнө API сервер дээрх ачааллыг оновчтой болгохын тулд хамгаалагдсан хязгаарлагдмал орчны кэшийг (асуулга хүсэлт) шалгахыг зөвлөж байна, учир нь API сервер нь татаж авсан файлын талаарх мэдээлэл, дүгнэлттэй байж магадгүй юм. Дуудлага нь зөвхөн текст хэсгээс бүрдэнэ. Хүсэлтийн шаардлагатай хэсэг нь файлын sha1/sha256/md5 хэш хэмжээ юм. Дашрамд хэлэхэд, та үүнийг байршуулах хүсэлтийн хариунаас авах боломжтой.
Асуулгад шаардагдах хамгийн бага хэмжээ
HTTP POST
https:///tecloud/api/v1/file/query
Гарчиг:
Зөвшөөрөл:
Биеийн
{
"хүсэлт": {
"sha256":
}
}
Sha1/md5/sha256 хэшийн дүн харагдаж байгаа байршуулах хүсэлтийн хариултын жишээ
{
"response": {
"status": {
"code": 1002,
"label": "UPLOAD_SUCCESS",
"message": "The file was uploaded successfully."
},
"sha1": "954b5a851993d49ef8b2412b44f213153bfbdb32",
"md5": "ac29b7c26e7dcf6c6fdb13ac0efe98ec",
"sha256": "313c0feb009356495b7f4a60e96737120beb30e1912c6d866218cee830aebd90",
"file_type": "",
"file_name": "kp-20-doc.doc",
"features": [
"te"
],
"te": {
"trust": 0,
"images": [
{
"report": {
"verdict": "unknown"
},
"status": "not_found",
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"score": -2147483648,
"status": {
"code": 1002,
"label": "UPLOAD_SUCCESS",
"message": "The file was uploaded successfully."
}
}
}
}
Асуулгын хүсэлт нь хэшийн дүнгээс гадна байршуулах хүсэлттэй (эсвэл хийхээр төлөвлөж байгаа) ижил эсвэл бүр "аль хэдийн" байх ёстой (асуулгад байршуулах хүсэлтээс цөөн талбар агуулна). Асуулгын хүсэлт нь байршуулах хүсэлтээс илүү олон талбар агуулсан тохиолдолд та хариуд шаардлагатай бүх мэдээллийг хүлээн авахгүй.
Бүх шаардлагатай өгөгдөл олдоогүй асуулгад хариу өгөх жишээ энд байна
{
"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."
}
}
}
]
}
Талбайд анхаарлаа хандуулаарай код и хаяг. Статусын толь бичигт эдгээр талбарууд гурван удаа гарч ирдэг. Эхлээд бид "код": 1006 болон "шошго": "PARTIALY_FOUND" гэсэн глобал түлхүүрийг харж байна. Дараа нь эдгээр түлхүүрүүд нь бидний хүссэн бүрэлдэхүүн хэсэг бүрийн хувьд олддог - te болон олборлолт. Хэрэв өгөгдөл олдсон нь тодорхой бол олборлоход ямар ч мэдээлэл байхгүй болно.
Дээрх жишээн дээрх асуулга иймэрхүү харагдаж байна
{ "request": [
{
"sha256": {{sha256}},
"features": ["te", "extraction"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"reports": [
"xml", "pdf"
]
}
}
]
}
Хэрэв та олборлох бүрэлдэхүүн хэсэггүйгээр асуулгын хүсэлт илгээвэл
{ "request": [
{
"sha256": {{sha256}},
"features": ["te"] ,
"te": {
"images": [
{
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"reports": [
"xml", "pdf"
]
}
}
]
}
Дараа нь хариулт нь бүрэн мэдээллийг агуулна ("код": 1001, "шошго": "ОЛСОН")
{
"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."
}
}
}
]
}
Хэрэв кэшэд ямар ч мэдээлэл байхгүй бол хариулт нь "шошго" болно: "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."
}
}
}
]
}
Нэг API дуудлагад та хэд хэдэн хэш дүнг нэг дор илгээж баталгаажуулах боломжтой. Хариулт нь хүсэлтэд илгээсэнтэй ижил дарааллаар өгөгдлийг буцаана.
Хэд хэдэн sha256 дүнтэй хүсэлтийн жишээ
{ "request": [
{
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd81"
},
{
"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd82"
}
]
}
Олон sha256 дүнтэй асуулгад хариулах
{
"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."
}
}
}
]
}
Асуулгын хүсэлтэд нэгэн зэрэг хэд хэдэн хэш нийлбэр хүсэх нь API серверийн гүйцэтгэлд сайнаар нөлөөлнө.
API дуудлагыг татаж авах
Ашигласан арга - Шуудан (баримт бичгийн дагуу), GET бас ажилладаг (мөн илүү логик мэт санагдаж магадгүй)
Дуудлагын хаяг - https:///tecloud/api/v1/file/download?id=
Толгой хэсэг нь API түлхүүрийг дамжуулахыг шаарддаг, хүсэлтийн хэсэг хоосон, татаж авах id нь URL хаягаар дамждаг.
Асуулгын хүсэлтийн хариуд хэрэв эмуляцийг дуусгаж, файлыг татаж авах үед тайланг хүссэн бол тайланг татаж авах id харагдах болно. Хэрэв цэвэрлэсэн хуулбарыг хүссэн бол та цэвэрлэсэн баримтыг татаж авах ID-г хайх хэрэгтэй.
Ачаалах id утгыг агуулсан асуулгад хариулах түлхүүрүүд нь нийтдээ:
-
хураангуй_тайлан
-
бүрэн_тайлан
-
pdf_тайлан
-
xml_report
-
задалсан_файлын_татаж авах_id
Мэдээжийн хэрэг, асуулгын хүсэлтийн хариуд эдгээр түлхүүрүүдийг хүлээн авахын тулд тэдгээрийг хүсэлтэд (тайлангийн хувьд) зааж өгөх ёстой эсвэл олборлох функцийг ашиглан хүсэлт гаргахаа бүү мартаарай (цэвэрлэсэн баримт бичгийн хувьд)
Квотын API дуудлага
Ашигласан арга - Шуудан
Дуудлагын хаяг - https:///tecloud/api/v1/file/quota
Үүлэн дэх үлдсэн квотыг шалгахын тулд квотын асуулга ашиглана уу. Хүсэлтийн хэсэг хоосон байна.
Квотын хүсэлтийн хариултын жишээ
{
"response": [
{
"remain_quota_hour": 1250,
"remain_quota_month": 10000000,
"assigned_quota_hour": 1250,
"assigned_quota_month": 10000000,
"hourly_quota_next_reset": "1599141600",
"monthly_quota_next_reset": "1601510400",
"quota_id": "TEST",
"cloud_monthly_quota_period_start": "1421712300",
"cloud_monthly_quota_usage_for_this_gw": 0,
"cloud_hourly_quota_usage_for_this_gw": 0,
"cloud_monthly_quota_usage_for_quota_id": 0,
"cloud_hourly_quota_usage_for_quota_id": 0,
"monthly_exceeded_quota": 0,
"hourly_exceeded_quota": 0,
"cloud_quota_max_allow_to_exceed_percentage": 1000,
"pod_time_gmt": "1599138715",
"quota_expiration": "0",
"action": "ALLOW"
}
]
}
Аюулгүй байдлын гарцын аюулаас урьдчилан сэргийлэх API
Энэхүү API нь Threat Prevention API-ээс өмнө бүтээгдсэн бөгөөд зөвхөн дотоод төхөөрөмжүүдэд зориулагдсан. Одоохондоо энэ нь танд Threat Extraction API хэрэгтэй үед л хэрэг болно. Threat Emulation-ийн хувьд ердийн Threat Prevention API ашиглах нь дээр. Асаахын тулд SG-д зориулсан TP API мөн алхам алхмуудыг дагах хэрэгтэй API түлхүүрээ тохируулна уу
Одоо функцуудыг нарийвчлан авч үзье te и олборлолт энэ API дээр.
Бүрэлдэхүүн хэсгийн хувьд te толь бичиг өгсөн сонголтууд байршуулах/асуулга хүсэлтэнд байгаа бөгөөд энэ хүсэлтийн түлхүүрүүд нь te товчлууруудтай бүрэн давхцаж байна
Тайлантай Win10 дээрх файлын эмуляцийн жишээ хүсэлт
{
"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"]
}
}
]
}
Бүрэлдэхүүн хэсгийн хувьд олборлолт толь бичиг өгсөн скраб_сонголтууд. Энэ хүсэлт нь цэвэрлэх аргыг зааж өгдөг: PDF болгон хөрвүүлэх, идэвхтэй контентыг арилгах эсвэл аюулаас урьдчилан сэргийлэх профайлын дагуу горимыг сонгох (профайлын нэрийг зааж өгсөн). Файлын олборлолтын API хүсэлтэд хариу өгөх хамгийн сайхан зүйл бол та тухайн хүсэлтийн хариуд цэвэр хуулбарыг base64 шифрлэгдсэн стринг болгон авдаг (та асуулга хүсэлт гаргаж, татаж авахын тулд id хайх шаардлагагүй) юм. бичиг баримт)
Файлыг цэвэрлэх хүсэлтийн жишээ
{
"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
}
}]
}
Хүсэлтэд хариулах
{
"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": ""
}
}]
}
Цэвэрлэсэн хуулбарыг авахын тулд цөөн тооны API хүсэлт шаардагддаг ч энэ сонголт нь энд ашигласан маягт-өгөгдлийн хүсэлтээс илүү тохиромжгүй, тохиромжтой гэж би бодож байна.
Шуудангийн цуглуулгууд
Би хамгийн түгээмэл API хүсэлтүүдийг төлөөлдөг Threat Prevention API болон Security Gateway-д зориулсан Threat Prevention API-д зориулж Postman дээр цуглуулгуудыг үүсгэсэн. Серверийн IP/url API болон түлхүүрийг хүсэлтэд автоматаар сольж, файлыг татаж авсны дараа sha256 хэш хэмжээг санахын тулд цуглуулгууд дотор гурван хувьсагч үүсгэсэн (та цуглуулгын тохиргоо руу орж тэдгээрийг олох боломжтой) Засварлах -> Хувьсагч): te_api (шаардлагатай), api_key (орон нутгийн төхөөрөмжтэй TP API ашиглахаас бусад тохиолдолд бөглөх шаардлагатай), sha256 (хоосон орхи, SG-д зориулсан TP API-д ашиглагдаагүй).
Хэрэглэх жишээ
Нийгэмд
Эх сурвалж: www.habr.com