
یہ مضمون ان لوگوں کے لیے مفید ہو گا جو ٹیکنالوجی سے واقف ہیں۔ پوائنٹ چیک کریں فائل ایمولیشن کے ذریعے (خطرہ ایمولیشن) اور فعال فائل کی صفائی (خطرہ نکالنا) اور ان کاموں کو خودکار کرنے کی طرف ایک قدم اٹھانا چاہتا ہے۔ چیک پوائنٹ ہے۔ ، جو کلاؤڈ اور مقامی آلات دونوں پر چلتا ہے، اور فعال طور پر یہ ویب/smtp/ftp/smb/nfs ٹریفک اسٹریمز میں فائلوں کو چیک کرنے کے مترادف ہے۔. یہ مضمون جزوی طور پر مصنف کی سرکاری دستاویزات سے مضامین کے ایک سیٹ کی تشریح ہے، لیکن میرے اپنے آپریٹنگ تجربے اور میری اپنی مثالوں پر مبنی ہے۔ اس کے علاوہ مضمون میں آپ کو Threat Prevention API کے ساتھ کام کرنے کے لیے مصنف کے پوسٹ مین کے مجموعے ملیں گے۔
بنیادی مخففات
Threat Prevention API تین اہم اجزاء کے ساتھ کام کرتا ہے، جنہیں API میں درج ذیل متنی اقدار کے ذریعے بلایا جاتا ہے۔
av - اینٹی وائرس جزو، معلوم خطرات کے دستخطی تجزیہ کے لیے ذمہ دار۔
te - تھریٹ ایمولیشن جزو، سینڈ باکس میں فائلوں کی جانچ پڑتال کے لیے ذمہ دار، اور ایمولیشن کے بعد بدنیتی پر مبنی/معمولی فیصلہ کرنے کا ذمہ دار ہے۔
نکالنے - تھریٹ ایکسٹریکشن کا جزو، جو دفتری دستاویزات کو فوری طور پر ایک محفوظ شکل میں تبدیل کرنے کے لیے ذمہ دار ہے (جس میں تمام ممکنہ طور پر بدنیتی پر مبنی مواد کو ہٹا دیا جاتا ہے)، تاکہ انہیں صارفین/سسٹم تک تیزی سے پہنچایا جا سکے۔
API ڈھانچہ اور اہم حدود
Threat Prevention API صرف 4 درخواستیں استعمال کرتا ہے۔ اپ لوڈ، استفسار، ڈاؤن لوڈ اور کوٹہ. چاروں درخواستوں کے ہیڈر میں آپ کو پیرامیٹر کا استعمال کرتے ہوئے API کلید کو پاس کرنے کی ضرورت ہے۔ کا اجازت. پہلی نظر میں، ساخت میں سے کہیں زیادہ آسان لگ سکتا ہے ، لیکن اپ لوڈ اور استفسار کی درخواستوں میں فیلڈز کی تعداد اور ان درخواستوں کی ساخت کافی پیچیدہ ہے۔ ان کا عملی طور پر گیٹ وے/سینڈ باکس سیکیورٹی پالیسی میں تھریٹ پریوینشن پروفائلز سے موازنہ کیا جا سکتا ہے۔
اس وقت، Threat Prevention API کا واحد ورژن جاری کیا گیا ہے - 1.0؛ API کالز کے URL میں شامل ہونا چاہیے v1 اس حصے میں جہاں آپ کو ورژن کی وضاحت کرنے کی ضرورت ہے۔ مینجمنٹ API کے برعکس، URL میں API ورژن کی نشاندہی کرنا ضروری ہے، ورنہ درخواست پر عمل نہیں کیا جائے گا۔
اینٹی وائرس جزو، جب دوسرے اجزاء (te، ایکسٹرکشن) کے بغیر کہا جاتا ہے، فی الحال صرف 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 کی درخواستیں چیک پوائنٹ ڈیوائسز پر بھیجی جا سکتی ہیں جن میں تھریٹ ایمولیشن جزو (بلیڈ) فعال ہے۔ درخواستوں کے لیے ایڈریس کے طور پر، آپ کو ڈیوائس کا ip/url اور پورٹ 18194 استعمال کرنے کی ضرورت ہے (مثال کے طور پر، https://10.10.57.19:18194/tecloud/api/v1/file/query)۔ آپ کو یہ بھی یقینی بنانا چاہیے کہ ڈیوائس پر سیکیورٹی پالیسی اس کنکشن کی اجازت دیتی ہے۔ پہلے سے طے شدہ طور پر مقامی آلات پر API کلید کے ذریعے اجازت بند اور درخواست ہیڈر میں اجازت کی کلید بالکل بھی نہیں بھیجی جاسکتی ہے۔
چیک پوائنٹ کلاؤڈ پر API کی درخواستیں بھیجی جانی چاہئیں te.checkpoint.com (مثال کے طور پر - https://te.checkpoint.com/tecloud/api/v1/file/query)۔ API کلید کو چیک پوائنٹ پارٹنرز یا کمپنی کے مقامی دفتر سے رابطہ کر کے 60 دنوں کے لیے آزمائشی لائسنس کے طور پر حاصل کیا جا سکتا ہے۔
مقامی آلات پر، Threat Extraction ابھی تک معیاری کے طور پر تعاون یافتہ نہیں ہے۔ اور استعمال کیا جانا چاہئے (ہم مضمون کے آخر میں اس کے بارے میں مزید تفصیل سے بات کریں گے)۔
مقامی آلات کوٹہ کی درخواست کی حمایت نہیں کرتے ہیں۔
بصورت دیگر، مقامی آلات اور کلاؤڈ کی درخواستوں میں کوئی فرق نہیں ہے۔
API کال اپ لوڈ کریں۔
استعمال شدہ طریقہ - POST
کال ایڈریس - https:///tecloud/api/v1/file/upload
درخواست دو حصوں (فارم-ڈیٹا) پر مشتمل ہے: ایمولیشن/صفائی کے لیے ایک فائل اور متن کے ساتھ درخواست کا باڈی۔
متن کی درخواست خالی نہیں ہوسکتی ہے، لیکن اس میں کوئی ترتیب نہیں ہوسکتی ہے۔ درخواست کے کامیاب ہونے کے لیے، آپ کو درخواست میں کم از کم درج ذیل متن ضرور بھیجنا چاہیے:
اپ لوڈ کی درخواست کے لیے کم از کم درکار ہے۔
HTTP پوسٹ
https:///tecloud/api/v1/file/upload
ہیڈرز:
اختیار:
جسم
{
"درخواست": {
}
}
فائل
فائل
اس صورت میں، فائل پر پہلے سے طے شدہ پیرامیٹرز کے مطابق کارروائی کی جائے گی: component - te, OS تصاویر - XP اور Win 7 جیتیں۔رپورٹ بنائے بغیر۔
متن کی درخواست میں اہم شعبوں پر تبصرے:
فائل کا نام и فائل کی قسم آپ انہیں خالی چھوڑ سکتے ہیں یا انہیں بالکل بھی نہیں بھیج سکتے، کیونکہ فائل اپ لوڈ کرتے وقت یہ خاص طور پر مفید معلومات نہیں ہے۔ API کے جواب میں، یہ فیلڈز ڈاؤن لوڈ کی گئی فائل کے نام کی بنیاد پر خود بخود پُر ہو جائیں گے، اور کیشے میں موجود معلومات کو md5/sha1/sha256 ہیش کی مقدار کا استعمال کرتے ہوئے تلاش کرنا پڑے گا۔
خالی فائل_نام اور فائل_ٹائپ کے ساتھ مثال کی درخواست
{
"request": {
"file_name": "",
"file_type": "",
}
}خصوصیات - ایک فہرست جو سینڈ باکس میں پروسیسنگ کے دوران ضروری فعالیت کی نشاندہی کرتی ہے - اے وی (اینٹی وائرس)، ٹی (تھریٹ ایمولیشن)، نکالنے (خطرہ نکالنا)۔ اگر یہ پیرامیٹر بالکل پاس نہیں ہوتا ہے، تو صرف ڈیفالٹ جزو استعمال کیا جائے گا - te (Threat Emulation)۔
تین دستیاب اجزاء میں چیکنگ کو فعال کرنے کے لیے، آپ کو API کی درخواست میں ان اجزاء کی وضاحت کرنے کی ضرورت ہے۔
اے وی، ٹی اور نکالنے میں چیکنگ کے ساتھ درخواست کی مثال
{ "request": [
{
"sha256": {{sha256}},
"features": ["av", "te", "extraction"]
}
]
}ٹی سیکشن میں چابیاں
تصاویر - ایک فہرست جس میں آپریٹنگ سسٹمز کے آئی ڈی اور نظرثانی نمبر کے ساتھ لغات ہوں جس میں چیک کیا جائے گا۔ IDs اور نظرثانی نمبر تمام مقامی آلات اور کلاؤڈ کے لیے یکساں ہیں۔
آپریٹنگ سسٹمز اور نظرثانی کی فہرست
دستیاب OS تصویری ID
ترمیمی
امیج OS اور ایپلیکیشن
e50e99f3-5963-4573-af9e-e3f4750b55e2
1
مائیکروسافٹ ونڈوز: XP - 32bit SP3
دفتر: 2003، 2007
ایڈوب ایکروبیٹ ریڈر: 9.0
فلیش پلیئر 9r115 اور ActiveX 10.0
جاوا رن ٹائم: 1.6.0U22
7e6fe36e-889e-4c25-8704-56378f0830df
1
مائیکروسافٹ ونڈوز: 7 - 32 بٹ
دفتر: 2003، 2007
ایڈوب ایکروبیٹ ریڈر: 9.0
فلیش پلیئر: 10.2r152 (پلگ ان& ActiveX)
جاوا رن ٹائم: 1.6.0U0
8d188031-1010-4466-828b-0cd13d4303ff
1
مائیکروسافٹ ونڈوز: 7 - 32 بٹ
دفتر: 2010
ایڈوب ایکروبیٹ ریڈر: 9.4
فلیش پلیئر: 11.0.1.152 (پلگ ان & ActiveX)
جاوا رن ٹائم: 1.7.0U0
5e5de275-a103-4f67-b55b-47532918fa59
1
مائیکروسافٹ ونڈوز: 7 - 32 بٹ
دفتر: 2013
ایڈوب ایکروبیٹ ریڈر: 11.0
فلیش پلیئر: 15 (پلگ ان & ActiveX)
جاوا رن ٹائم: 1.7.0U9
3ff3ddae-e7fd-4969-818c-d5f1a2be336d
1
مائیکروسافٹ ونڈوز: 7 - 64 بٹ
دفتر: 2013 (32 بٹ)
ایڈوب ایکروبیٹ ریڈر: 11.0.01
فلیش پلیئر: 13 (پلگ ان & ActiveX)
جاوا رن ٹائم: 1.7.0U9
6c453c9b-20f7-471a-956c-3198a868dc92
1
مائیکروسافٹ ونڈوز: 8.1 - 64 بٹ
دفتر: 2013 (64 بٹ)
ایڈوب ایکروبیٹ ریڈر: 11.0.10
فلیش پلیئر: 18.0.0.160 (پلگ ان & ActiveX)
جاوا رن ٹائم: 1.7.0U9
10b4a9c6-e414-425c-ae8b-fe4dd7b25244
1
مائیکروسافٹ ونڈوز: 10
دفتر: پروفیشنل پلس 2016 en-us
ایڈوب ایکروبیٹ ریڈر: DC 2015 MUI
فلیش پلیئر: 20 (پلگ ان & ActiveX)
جاوا رن ٹائم: 1.7.0U9
اگر امیجز کی کلید بالکل بھی متعین نہیں ہے، تو ایمولیشن چیک پوائنٹ (فی الحال Win XP اور Win 7) کی تجویز کردہ تصاویر میں ہو گی۔ کارکردگی اور کیچ ریٹ کے بہترین توازن کی بنیاد پر ان تصاویر کی سفارش کی گئی ہے۔
کی رپورٹ - ان رپورٹس کی ایک فہرست جن کی ہم درخواست کرتے ہیں اگر فائل بدنیتی پر مبنی نکلے۔ درج ذیل اختیارات دستیاب ہیں:
سمری - .tar.gz آرکائیو جس میں ایمولیشن پر ایک رپورٹ شامل ہے۔ تمام درخواست کی گئی تصاویر (دونوں ایک HTML صفحہ اور اجزاء جیسے ایمولیٹر OS سے ایک ویڈیو، نیٹ ورک ٹریفک ڈمپ، json میں ایک رپورٹ، اور نمونہ خود پاس ورڈ سے محفوظ شدہ آرکائیو میں)۔ ہم جواب میں کلید تلاش کر رہے ہیں - سمری رپورٹ رپورٹ کے بعد میں ڈاؤن لوڈ کرنے کے لیے۔
پی ڈی ایف - میں ایمولیشن کے بارے میں دستاویز ایک تصویر، جسے بہت سے لوگ سمارٹ کنسول کے ذریعے حاصل کرنے کے عادی ہیں۔ ہم جواب میں کلید تلاش کر رہے ہیں - pdf_report رپورٹ کے بعد میں ڈاؤن لوڈ کرنے کے لیے۔
XML - میں ایمولیشن کے بارے میں دستاویز ایک تصویر، رپورٹ میں پیرامیٹرز کی بعد میں تجزیہ کرنے کے لیے آسان ہے۔ ہم جواب میں کلید تلاش کر رہے ہیں - xml_report رپورٹ کے بعد میں ڈاؤن لوڈ کرنے کے لیے۔
ٹار - .tar.gz آرکائیو جس میں ایمولیشن پر رپورٹ ہے۔ ایک درخواست کی گئی تصاویر (دونوں ایک HTML صفحہ اور اجزاء جیسے ایمولیٹر OS سے ایک ویڈیو، نیٹ ورک ٹریفک ڈمپ، json میں ایک رپورٹ، اور نمونہ خود پاس ورڈ سے محفوظ شدہ آرکائیو میں)۔ ہم جواب میں کلید تلاش کر رہے ہیں - مکمل_رپورٹ رپورٹ کے بعد میں ڈاؤن لوڈ کرنے کے لیے۔
خلاصہ رپورٹ کے اندر کیا ہے۔
کلیدیں full_report، pdf_report، xml_report ہر OS کے لیے ڈکشنری میں ہیں
{
"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."
}
}
}
]
}لیکن سمری_رپورٹ کلید - عام طور پر ایمولیشن کے لیے ایک ہے۔
{
"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."
}
}
}
]
}آپ ایک ہی وقت میں ٹار اور ایکس ایم ایل اور پی ڈی ایف رپورٹس کی درخواست کر سکتے ہیں، آپ سمری اور ٹار اور ایکس ایم ایل کی درخواست کر سکتے ہیں۔ ایک ہی وقت میں سمری رپورٹ اور پی ڈی ایف کی درخواست کرنا ممکن نہیں ہوگا۔
نکالنے والے حصے میں چابیاں
خطرہ نکالنے کے لیے، صرف دو کلیدیں استعمال کی جاتی ہیں:
طریقہ - پی ڈی ایف (پی ڈی ایف میں تبدیل، بطور ڈیفالٹ استعمال کیا جاتا ہے) یا صاف (فعال مواد کو صاف کرنا)۔
extracted_parts_codes - فعال مواد کو ہٹانے کے لیے کوڈز کی فہرست، صرف صاف طریقہ کے لیے قابل اطلاق
فائلوں سے مواد کو ہٹانے کے کوڈز
ضابطے
تفصیل
1025
منسلک آبجیکٹ
1026
میکرو اور کوڈ
1034
حساس ہائپر لنکس
1137
PDF GoToR ایکشنز
1139
پی ڈی ایف لانچ ایکشنز
1141
PDF URI ایکشنز
1142
پی ڈی ایف ساؤنڈ ایکشن
1143
پی ڈی ایف مووی ایکشن
1150
PDF JavaScript ایکشن
1151
پی ڈی ایف جمع کروائیں فارم ایکشن
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 کال میں، آپ تصدیق کے لیے صرف ایک فائل بھیج سکتے ہیں۔
اے وی جزو کو چابیاں کے ساتھ اضافی حصے کی ضرورت نہیں ہے، لغت میں اس کی وضاحت کرنا کافی ہے۔ خصوصیات.
استفسار 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"
]
}
}
]
}پھر جواب مکمل معلومات پر مشتمل ہوگا ("کوڈ": 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 کال ڈاؤن لوڈ کریں۔
استعمال شدہ طریقہ - POST (دستاویزات کے مطابق) حاصل کریں بھی کام کرتا ہے (اور زیادہ منطقی لگ سکتا ہے)
کال ایڈریس - https:///tecloud/api/v1/file/download?id=
ہیڈر کو پاس کرنے کے لیے API کلید کی ضرورت ہوتی ہے، درخواست کا باڈی خالی ہے، ڈاؤن لوڈ آئی ڈی کو URL ایڈریس میں پاس کیا جاتا ہے۔
استفسار کی درخواست کے جواب میں، اگر ایمولیشن مکمل ہو جاتی ہے اور فائل ڈاؤن لوڈ کرتے وقت رپورٹس کی درخواست کی گئی تھی، تو رپورٹس ڈاؤن لوڈ کرنے کے لیے آئی ڈی نظر آئے گی۔ اگر صاف شدہ کاپی کی درخواست کی جاتی ہے، تو آپ کو صاف شدہ دستاویز کو ڈاؤن لوڈ کرنے کے لیے آئی ڈی کو تلاش کرنا چاہیے۔
مجموعی طور پر، لوڈنگ کے لیے ID قدر پر مشتمل استفسار کے جواب میں کلیدیں ہو سکتی ہیں:
سمری رپورٹ
مکمل_رپورٹ
pdf_report
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 استعمال کریں۔ آن کرنے کے لیے SG کے لیے TP API اور API کلید کو کنفیگر کریں جس سے آپ کو اقدامات کی پیروی کرنے کی ضرورت ہے۔ . میں مرحلہ 6b پر توجہ دینے اور صفحہ کی رسائی کو جانچنے کی تجویز کرتا ہوں۔ https://<IPAddressofSecurityGateway>/UserCheck/TPAPI کیونکہ منفی نتیجہ کی صورت میں، مزید ترتیب کا کوئی مطلب نہیں ہے۔ تمام API کالز اس url پر بھیجی جائیں گی۔ کال کی قسم (اپ لوڈ/استفسار) کو کال باڈی کی - میں ریگولیٹ کیا جاتا ہے۔ درخواست_نام. مطلوبہ چابیاں بھی ہیں۔ - api_key (آپ کو ترتیب کے عمل کے دوران اسے یاد رکھنے کی ضرورت ہے) اور protocol_version (فی الحال موجودہ ورژن 1.1 ہے)۔ آپ اس API کے لیے سرکاری دستاویزات یہاں پر حاصل کر سکتے ہیں۔ . متعلقہ فوائد میں متعدد فائلوں کو لوڈ کرتے وقت ایمولیشن کے لیے ایک ساتھ بھیجنے کی صلاحیت شامل ہے، کیونکہ فائلیں بیس 64 ٹیکسٹ سٹرنگ کے طور پر بھیجی جاتی ہیں۔ بیس 64 سے فائلوں کو انکوڈ/ڈی کوڈ کرنے کے لیے آپ پوسٹ مین میں ایک آن لائن کنورٹر کو مظاہرے کے مقاصد کے لیے استعمال کر سکتے ہیں، مثال کے طور پر - . عملی مقاصد کے لیے، آپ کو کوڈ لکھتے وقت بلٹ ان انکوڈ اور ڈی کوڈ کے طریقے استعمال کرنے چاہئیں۔
اب آئیے افعال کو قریب سے دیکھیں 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"]
}
}
]
}جزو کے لیے نکالنے ڈکشنری فراہم کی scrub_options. یہ درخواست صفائی کا طریقہ بتاتی ہے: پی ڈی ایف میں تبدیل کریں، فعال مواد کو صاف کریں، یا خطرے سے بچاؤ کے پروفائل کے مطابق موڈ منتخب کریں (پروفائل کا نام اشارہ کیا گیا ہے)۔ فائل کے لیے نکالنے والی API کی درخواست کا جواب دینے کے بارے میں بڑی بات یہ ہے کہ آپ کو اس درخواست کے جواب میں ایک صاف شدہ کاپی مل جاتی ہے بطور بیس 64 انکرپٹڈ سٹرنگ (آپ کو استفسار کی درخواست کرنے کی ضرورت نہیں ہے اور اسے ڈاؤن لوڈ کرنے کے لیے آئی ڈی کو تلاش کرنے کی ضرورت نہیں ہے۔ دستاویز)
فائل کو صاف کرنے کی درخواست کی مثال
{
"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 برائے سیکورٹی گیٹ وے دونوں کے لیے مجموعے بنائے ہیں، جو سب سے عام API کی درخواستوں کی نمائندگی کرتے ہیں۔ سرور ip/url API اور کلید کو خود بخود درخواستوں میں تبدیل کرنے کے لیے، اور فائل کو ڈاؤن لوڈ کرنے کے بعد sha256 ہیش کی رقم کو یاد رکھنے کے لیے، کلیکشن کے اندر تین متغیرات بنائے گئے ہیں (آپ انہیں کلیکشن سیٹنگز میں جا کر تلاش کر سکتے ہیں۔ ترمیم کریں -> متغیرات): te_api (ضروری), api_key (مقامی آلات کے ساتھ TP API استعمال کرنے کے علاوہ اسے بھرنے کی ضرورت ہے), sha256 (خالی چھوڑ دیں، SG کے لیے TP API میں استعمال نہیں کیا گیا).
استعمال کی مثالیں
کمیونٹی میں Python میں لکھی گئی اسکرپٹس پیش کی جاتی ہیں جو مطلوبہ ڈائریکٹری سے فائلوں کو بذریعہ چیک کرتی ہیں۔ اور . Threat Prevention API کے ساتھ تعامل کے ذریعے، فائلوں کو اسکین کرنے کی آپ کی صلاحیت میں نمایاں اضافہ ہوا ہے، کیونکہ اب آپ ایک ساتھ کئی پلیٹ فارمز میں فائلوں کو اسکین کرسکتے ہیں (چیک ان ، اور پھر چیک پوائنٹ سینڈ باکس میں)، اور فائلیں نہ صرف نیٹ ورک ٹریفک سے وصول کریں، بلکہ انہیں کسی بھی نیٹ ورک ڈرائیوز اور مثال کے طور پر، CRM سسٹم سے بھی لیں۔
ماخذ: www.habr.com
