บทความนี้จะเป็นประโยชน์กับผู้ที่คุ้นเคยกับเทคโนโลยี Check Point โดยการจำลองไฟล์ (การจำลองภัยคุกคาม) และการทำความสะอาดไฟล์เชิงรุก (การสกัดภัยคุกคาม) และต้องการก้าวไปสู่การทำงานเหล่านี้โดยอัตโนมัติ เช็คพอยท์ก็มี
คำย่อพื้นฐาน
Threat Prevention API ทำงานร่วมกับองค์ประกอบหลักสามส่วน ซึ่งถูกเรียกใน API ผ่านค่าข้อความต่อไปนี้:
av — องค์ประกอบแอนติไวรัส รับผิดชอบในการวิเคราะห์ลายเซ็นของภัยคุกคามที่ทราบ
te - องค์ประกอบการจำลองภัยคุกคาม รับผิดชอบในการตรวจสอบไฟล์ในแซนด์บ็อกซ์ และทำการตัดสินที่เป็นอันตราย/เป็นพิษเป็นภัยหลังจากการจำลอง
การสกัด - องค์ประกอบการแยกภัยคุกคาม ซึ่งรับผิดชอบในการแปลงเอกสารสำนักงานให้อยู่ในรูปแบบที่ปลอดภัยอย่างรวดเร็ว (ซึ่งเนื้อหาที่อาจเป็นอันตรายจะถูกลบออก) เพื่อส่งมอบให้กับผู้ใช้/ระบบอย่างรวดเร็ว
โครงสร้าง API และข้อจำกัดหลัก
Threat Prevention API ใช้เพียง 4 คำขอเท่านั้น อัปโหลด สอบถาม ดาวน์โหลด และโควต้า. ในส่วนหัวของคำขอทั้งสี่คุณจะต้องส่งคีย์ API โดยใช้พารามิเตอร์ การอนุญาต. เมื่อมองแวบแรก โครงสร้างอาจดูง่ายกว่าในมาก
ในขณะนี้ Threat Prevention API เวอร์ชันเดียวเปิดตัวแล้ว - 1.0 โดย URL สำหรับการเรียก API ควรมี v1 ในส่วนที่คุณต้องระบุเวอร์ชัน ต่างจาก API การจัดการตรงที่จำเป็นต้องระบุเวอร์ชัน API ใน URL ไม่เช่นนั้นคำขอจะไม่ได้รับการดำเนินการ
ส่วนประกอบ Anti-Virus เมื่อถูกเรียกโดยไม่มีส่วนประกอบอื่นๆ (te, extraction) ปัจจุบันรองรับเฉพาะคำขอสืบค้นที่มีผลรวมแฮช md5 เท่านั้น การจำลองภัยคุกคามและการแยกภัยคุกคามยังรองรับผลรวมแฮช sha1 และ sha256 อีกด้วย
เป็นสิ่งสำคัญมากที่จะไม่ทำผิดพลาดในการสืบค้น! คำขอสามารถดำเนินการได้โดยไม่มีข้อผิดพลาด แต่ไม่สมบูรณ์ มองไปข้างหน้าเล็กน้อย มาดูสิ่งที่จะเกิดขึ้นเมื่อมีข้อผิดพลาด/การพิมพ์ผิดในข้อความค้นหา
คำขอพิมพ์ผิดคำว่ารายงาน(รายงาน)
{ "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"]
}
}
]
}
เราได้รับการตอบกลับที่มีรหัสสำหรับการดาวน์โหลดรายงานอยู่แล้ว
{
"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 ไปยังอุปกรณ์ Check Point ที่เปิดใช้งานองค์ประกอบ Threat Emulation (เบลด) ได้ ในฐานะที่อยู่สำหรับคำขอ คุณต้องใช้ ip/url ของอุปกรณ์และพอร์ต 18194 (เช่น https://10.10.57.19:18194/tecloud/api/v1/file/query) คุณควรตรวจสอบให้แน่ใจด้วยว่านโยบายความปลอดภัยบนอุปกรณ์อนุญาตการเชื่อมต่อนี้ การอนุญาตผ่านคีย์ API บนอุปกรณ์ท้องถิ่นตามค่าเริ่มต้น ปิด และรหัสการอนุญาตในส่วนหัวของคำขออาจไม่ถูกส่งเลย
ควรส่งคำขอ API ไปยังคลาวด์ CheckPoint ไปที่ te.checkpoint.com (เช่น - https://te.checkpoint.com/tecloud/api/v1/file/query) สามารถรับคีย์ API เป็นใบอนุญาตทดลองใช้งานได้ 60 วันโดยติดต่อพันธมิตรของ Check Point หรือสำนักงานในพื้นที่ของบริษัท
บนอุปกรณ์ภายในเครื่อง Threat Extraction ยังไม่รองรับเป็นมาตรฐาน
อุปกรณ์ภายในไม่รองรับคำขอโควต้า
มิฉะนั้น จะไม่มีความแตกต่างระหว่างคำขอไปยังอุปกรณ์ภายในและไปยังระบบคลาวด์
อัปโหลดการเรียก API
วิธีที่ใช้ - POST
ที่อยู่ที่โทร - https:///tecloud/api/v1/file/upload
คำขอประกอบด้วยสองส่วน (ฟอร์ม-ข้อมูล): ไฟล์สำหรับการจำลอง/การทำความสะอาด และเนื้อหาคำขอพร้อมข้อความ
คำขอข้อความต้องไม่ว่างเปล่า แต่อาจไม่มีการกำหนดค่าใดๆ เพื่อให้คำขอประสบความสำเร็จ คุณต้องส่งข้อความต่อไปนี้ในคำขอเป็นอย่างน้อย:
ขั้นต่ำที่จำเป็นสำหรับการร้องขอการอัปโหลด
โพสต์ HTTP
https:///tecloud/api/v1/file/upload
ส่วนหัว:
อนุญาต:
ร่างกาย
{
"ขอ": {
}
}
เนื้อไม่มีมัน
เนื้อไม่มีมัน
ในกรณีนี้ ไฟล์จะถูกประมวลผลตามพารามิเตอร์เริ่มต้น: องค์ประกอบ - te, อิมเมจระบบปฏิบัติการ - วิน XP และวิน 7โดยไม่ต้องสร้างรายงาน
ความคิดเห็นเกี่ยวกับฟิลด์หลักในคำขอข้อความ:
ชื่อไฟล์ и file_type คุณสามารถปล่อยว่างไว้หรือไม่ส่งได้เลย เนื่องจากข้อมูลนี้อาจไม่เป็นประโยชน์อย่างยิ่งเมื่ออัปโหลดไฟล์ ในการตอบกลับของ API ช่องเหล่านี้จะถูกกรอกโดยอัตโนมัติตามชื่อของไฟล์ที่ดาวน์โหลด และข้อมูลในแคชจะยังคงต้องถูกค้นหาโดยใช้จำนวนแฮช md5/sha1/sha256
ตัวอย่างคำขอที่มี file_name และ file_type ว่างเปล่า
{
"request": {
"file_name": "",
"file_type": "",
}
}
คุณสมบัติ — รายการที่ระบุฟังก์ชันการทำงานที่จำเป็นเมื่อประมวลผลในแซนด์บ็อกซ์ - av (Anti-Virus), te (การจำลองภัยคุกคาม), การแยก (การแยกภัยคุกคาม) หากไม่ส่งพารามิเตอร์นี้เลย ระบบจะใช้เฉพาะองค์ประกอบเริ่มต้นเท่านั้น - te (การจำลองภัยคุกคาม)
หากต้องการเปิดใช้งานการตรวจสอบองค์ประกอบทั้งสามที่มีอยู่ คุณจะต้องระบุองค์ประกอบเหล่านี้ในคำขอ API
ตัวอย่างคำขอที่มีการเช็คอิน av, te และการแยกข้อมูล
{ "request": [
{
"sha256": {{sha256}},
"features": ["av", "te", "extraction"]
}
]
}
ปุ่มในส่วนเต
ภาพ — รายการที่มีพจนานุกรมพร้อมรหัสและหมายเลขการแก้ไขของระบบปฏิบัติการที่จะดำเนินการตรวจสอบ รหัสและหมายเลขการแก้ไขจะเหมือนกันสำหรับอุปกรณ์ภายในเครื่องและระบบคลาวด์ทั้งหมด
รายชื่อระบบปฏิบัติการและการแก้ไข
รหัสอิมเมจระบบปฏิบัติการที่มีอยู่
Revision
ระบบปฏิบัติการรูปภาพและแอปพลิเคชัน
e50e99f3-5963-4573-af9e-e3f4750b55e2
1
Microsoft Windows: XP - 32 บิต SP3
Office: 2003, 2007
โปรแกรม Adobe Acrobat Reader: 9.0
flash Player 9r115 และ ActiveX 10.0
รันไทม์ของจาวา: 1.6.0u22
7e6fe36e-889e-4c25-8704-56378f0830df
1
Microsoft Windows: 7 - 32บิต
Office: 2003, 2007
โปรแกรม Adobe Acrobat Reader: 9.0
แฟลชเพลเยอร์: 10.2r152 (เสียบเข้าไป& ActiveX)
รันไทม์ของจาวา: 1.6.0u0
8d188031-1010-4466-828b-0cd13d4303ff
1
Microsoft Windows: 7 - 32บิต
Office: 2010
โปรแกรม Adobe Acrobat Reader: 9.4
แฟลชเพลเยอร์: 11.0.1.152 (เสียบเข้าไป & ActiveX)
รันไทม์ของจาวา: 1.7.0u0
5e5de275-a103-4f67-b55b-47532918fa59
1
Microsoft Windows: 7 - 32บิต
Office: 2013
โปรแกรม Adobe Acrobat Reader: 11.0
แฟลชเพลเยอร์: 15 (เสียบเข้าไป & ActiveX)
รันไทม์ของจาวา: 1.7.0u9
3ff3ddae-e7fd-4969-818c-d5f1a2be336d
1
Microsoft Windows: 7 - 64บิต
Office: 2013 (32 บิต)
โปรแกรม Adobe Acrobat Reader: 11.0.01
แฟลชเพลเยอร์: 13 (เสียบเข้าไป & ActiveX)
รันไทม์ของจาวา: 1.7.0u9
6c453c9b-20f7-471a-956c-3198a868dc92
1
Microsoft Windows: 8.1 - 64บิต
Office: 2013 (64 บิต)
โปรแกรม Adobe Acrobat Reader: 11.0.10
แฟลชเพลเยอร์: 18.0.0.160 (เสียบเข้าไป & ActiveX)
รันไทม์ของจาวา: 1.7.0u9
10b4a9c6-e414-425c-ae8b-fe4dd7b25244
1
Microsoft Windows: 10
Office: Professional Plus 2016 กับเรา
โปรแกรม Adobe Acrobat Reader: DC 2015 มอย
แฟลชเพลเยอร์: 20 (เสียบเข้าไป & ActiveX)
รันไทม์ของจาวา: 1.7.0u9
หากไม่ได้ระบุคีย์รูปภาพเลย การจำลองจะเกิดขึ้นในรูปภาพที่แนะนำโดย Check Point (ปัจจุบันคือ Win XP และ Win 7) แนะนำให้ใช้รูปภาพเหล่านี้โดยพิจารณาจากความสมดุลระหว่างประสิทธิภาพและอัตราการจับภาพที่ดีที่สุด
รายงาน — รายการรายงานที่เราร้องขอในกรณีที่ไฟล์กลายเป็นอันตราย มีตัวเลือกต่อไปนี้:
-
สรุป - ไฟล์เก็บถาวร .tar.gz ที่มีรายงานการจำลองโดย ทั้งหมด รูปภาพที่ร้องขอ (ทั้งหน้า html และส่วนประกอบ เช่น วิดีโอจากระบบปฏิบัติการจำลอง, ดัมพ์การรับส่งข้อมูลเครือข่าย, รายงานใน json และตัวอย่างในไฟล์เก็บถาวรที่มีการป้องกันด้วยรหัสผ่าน) เรากำลังมองหากุญแจในคำตอบ - รายงานสรุป เพื่อดาวน์โหลดรายงานต่อไป
-
รูปแบบไฟล์ PDF - เอกสารเกี่ยวกับการจำลองใน หนึ่ง รูปภาพซึ่งหลายคนคุ้นเคยกับการรับผ่าน Smart Console เรากำลังมองหากุญแจในคำตอบ - pdf_รายงาน เพื่อดาวน์โหลดรายงานต่อไป
-
XML - เอกสารเกี่ยวกับการจำลองใน หนึ่ง รูปภาพ สะดวกสำหรับการแยกวิเคราะห์พารามิเตอร์ในรายงานในภายหลัง เรากำลังมองหากุญแจในคำตอบ - xml_report เพื่อดาวน์โหลดรายงานต่อไป
-
น้ำมันดิน - ไฟล์เก็บถาวร .tar.gz ที่มีรายงานเกี่ยวกับการจำลอง หนึ่ง รูปภาพที่ร้องขอ (ทั้งหน้า html และส่วนประกอบ เช่น วิดีโอจากระบบปฏิบัติการจำลอง, ดัมพ์การรับส่งข้อมูลเครือข่าย, รายงานใน json และตัวอย่างในไฟล์เก็บถาวรที่มีการป้องกันด้วยรหัสผ่าน) เรากำลังมองหากุญแจในคำตอบ - full_report เพื่อดาวน์โหลดรายงานต่อไป
มีอะไรอยู่ในรายงานสรุป
คีย์ 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 ซึ่งใช้เป็นค่าเริ่มต้น) หรือล้าง (ล้างเนื้อหาที่ใช้งานอยู่)
extracted_parts_codes - รายการรหัสสำหรับการลบเนื้อหาที่ใช้งานอยู่ ใช้ได้กับวิธีการล้างเท่านั้น
รหัสสำหรับการลบเนื้อหาออกจากไฟล์
รหัส
รายละเอียด
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
คุณสมบัติสรุป
หากต้องการดาวน์โหลดสำเนาที่ล้างแล้ว คุณจะต้องส่งคำขอสืบค้น (ซึ่งจะกล่าวถึงด้านล่าง) หลังจากนั้นไม่กี่วินาที โดยระบุจำนวนแฮชของไฟล์และองค์ประกอบการแยกข้อมูลในข้อความคำขอ คุณสามารถรับไฟล์ที่ล้างแล้วโดยใช้รหัสจากการตอบกลับแบบสอบถาม - extracted_file_download_id อีกครั้ง เมื่อมองไปข้างหน้าเล็กน้อย ฉันให้ตัวอย่างคำขอและการตอบกลับเพื่อค้นหารหัสสำหรับการดาวน์โหลดเอกสารที่เคลียร์แล้ว
คำขอค้นหาเพื่อค้นหาคีย์ extracted_file_download_id
{ "request": [
{
"sha256": "9a346005ee8c9adb489072eb8b5b61699652962c17596de9c326ca68247a8876",
"features": ["extraction"] ,
"extraction": {
"method": "pdf"
}
}
]
}
ตอบสนองต่อคำถาม (มองหาคีย์ extracted_file_download_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
วิธีที่ใช้ - POST
ที่อยู่ที่โทร - https:///tecloud/api/v1/file/query
ก่อนที่จะส่งไฟล์เพื่อดาวน์โหลด (คำขออัปโหลด) ขอแนะนำให้ตรวจสอบแคชแซนด์บ็อกซ์ (คำขอสอบถาม) เพื่อเพิ่มประสิทธิภาพการโหลดบนเซิร์ฟเวอร์ API เนื่องจากเซิร์ฟเวอร์ API อาจมีข้อมูลและคำตัดสินเกี่ยวกับไฟล์ที่ดาวน์โหลดอยู่แล้ว การโทรประกอบด้วยส่วนข้อความเท่านั้น ส่วนที่จำเป็นของคำขอคือจำนวนแฮช sha1/sha256/md5 ของไฟล์ อย่างไรก็ตาม คุณสามารถรับมันได้ตามคำขออัปโหลด
ขั้นต่ำที่จำเป็นสำหรับการค้นหา
โพสต์ HTTP
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 และ "ป้ายกำกับ": "PARTIALLY_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"
]
}
}
]
}
จากนั้นคำตอบจะมีข้อมูลที่ครบถ้วน (“code”: 1001, “label”: “FOUND”)
{
"response": [
{
"status": {
"code": 1001,
"label": "FOUND",
"message": "The request has been fully answered."
},
"sha256": "313c0feb009356495b7f4a60e96737120beb30e1912c6d866218cee830aebd90",
"file_type": "doc",
"file_name": "",
"features": [
"te"
],
"te": {
"trust": 10,
"images": [
{
"report": {
"verdict": "malicious",
"pdf_report": "4e9cddaf-03a4-489f-aa03-3c18f8d57a52",
"xml_report": "9c18018f-c761-4dea-9372-6a12fcb15170"
},
"status": "found",
"id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
"revision": 1
}
],
"score": -2147483648,
"combined_verdict": "malicious",
"severity": 4,
"confidence": 1,
"status": {
"code": 1001,
"label": "FOUND",
"message": "The request has been fully answered."
}
}
}
]
}
หากไม่มีข้อมูลในแคชเลย การตอบสนองจะเป็น "label": "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
วิธีที่ใช้ - POST (ตามเอกสาร) GET ใช้งานได้ (และอาจดูสมเหตุสมผลมากกว่า)
ที่อยู่ที่โทร - https:///tecloud/api/v1/file/download?id=
ส่วนหัวกำหนดให้ต้องส่งคีย์ API ส่วนเนื้อหาของคำขอว่างเปล่า รหัสการดาวน์โหลดจะถูกส่งไปในที่อยู่ URL
เพื่อตอบสนองต่อคำขอสอบถาม หากการจำลองเสร็จสิ้นและมีการร้องขอรายงานเมื่อดาวน์โหลดไฟล์ รหัสสำหรับการดาวน์โหลดรายงานจะมองเห็นได้ หากมีการร้องขอสำเนาที่ล้างแล้ว คุณควรมองหารหัสเพื่อดาวน์โหลดเอกสารที่ล้างแล้ว
โดยรวมแล้ว คีย์ในการตอบสนองต่อแบบสอบถามที่มีค่า id สำหรับการโหลดสามารถเป็น:
-
รายงานสรุป
-
full_report
-
pdf_รายงาน
-
xml_report
-
extracted_file_download_id
แน่นอนว่าเพื่อที่จะรับคีย์เหล่านี้เพื่อตอบสนองต่อคำขอสืบค้น จะต้องระบุคีย์เหล่านี้ในคำขอ (สำหรับรายงาน) หรืออย่าลืมส่งคำขอโดยใช้ฟังก์ชันการแยกข้อมูล (สำหรับเอกสารที่ล้างแล้ว)
การเรียกโควต้า API
วิธีที่ใช้ - POST
ที่อยู่ที่โทร - 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 ปกติจะดีกว่า เปิด TP API สำหรับสิงคโปร์ และกำหนดค่าคีย์ API ที่คุณต้องทำตามขั้นตอน
ทีนี้เรามาดูฟังก์ชั่นต่างๆ กันดีกว่า te и การสกัด ใน API นี้
สำหรับส่วนประกอบ te พจนานุกรมที่ให้มา te_options ในคำขออัปโหลด/สืบค้น และคีย์ในคำขอนี้ตรงกับคีย์ 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, ล้างเนื้อหาที่ใช้งานอยู่ หรือเลือกโหมดตามโปรไฟล์ Threat Prevention (ระบุชื่อโปรไฟล์) สิ่งที่ยอดเยี่ยมเกี่ยวกับการตอบกลับคำขอ API การแตกไฟล์คือคุณได้รับสำเนาที่ล้างแล้วในการตอบสนองต่อคำขอนั้นเป็นสตริงที่เข้ารหัส base64 (คุณไม่จำเป็นต้องสร้างคำขอสืบค้นและค้นหารหัสเพื่อดาวน์โหลด เอกสาร)
ตัวอย่างการร้องขอให้เคลียร์ไฟล์
{
"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 น้อยลงเพื่อให้ได้สำเนาที่เคลียร์แล้ว แต่ฉันพบว่าตัวเลือกนี้เป็นที่นิยมและสะดวกน้อยกว่าคำขอข้อมูลแบบฟอร์มที่ใช้ใน
คอลเลกชันบุรุษไปรษณีย์
ฉันสร้างคอลเลกชันในบุรุษไปรษณีย์สำหรับทั้ง Threat Prevention API และ Threat Prevention API สำหรับ Security Gateway ซึ่งแสดงถึงคำขอ API ที่พบบ่อยที่สุด เพื่อให้เซิร์ฟเวอร์ ip/url API และคีย์ถูกแทนที่ในคำขอโดยอัตโนมัติ และจำนวนแฮช sha256 ที่ต้องจดจำหลังจากดาวน์โหลดไฟล์ ตัวแปรสามตัวได้ถูกสร้างขึ้นภายในคอลเลกชัน (คุณสามารถค้นหาได้โดยไปที่การตั้งค่าคอลเลกชัน แก้ไข -> ตัวแปร): te_api (จำเป็น), api_key (ต้องกรอก ยกเว้นเมื่อใช้ TP API กับอุปกรณ์ในเครื่อง), sha256 (เว้นว่างไว้ ไม่ใช้ใน TP API สำหรับ SG).
ตัวอย่างการใช้งาน
ในสังคม
ที่มา: will.com