Interaksi karo Check Point SandBlast liwat API

Interaksi karo Check Point SandBlast liwat API

Artikel iki bakal migunani kanggo wong sing wis kenal karo teknologi Check Point dening emulasi file (Emulasi Ancaman) lan reresik file proaktif (Ekstraksi Ancaman) lan pengin njupuk langkah kanggo ngotomatisasi tugas kasebut. Check Point wis API Nyegah Ancaman, sing mlaku ing mΓ©ga lan ing piranti lokal, lan fungsine identik karo mriksa file ing aliran lalu lintas web/smtp/ftp/smb/nfs. Artikel iki minangka sebagian interpretasi penulis saka kumpulan artikel saka dokumentasi resmi, nanging adhedhasar pengalaman operasi lan contoku dhewe. Uga ing artikel sampeyan bakal nemokake koleksi Postman penulis kanggo nggarap API Pencegahan Ancaman.

Cekakan dhasar

API Pencegahan Ancaman dianggo karo telung komponen utama, sing diarani ing API liwat nilai teks ing ngisor iki:

av - Komponen Anti-Virus, tanggung jawab kanggo analisis tandha ancaman sing dikenal.

te - Komponen Emulation Ancaman, tanggung jawab kanggo mriksa file ing kothak wedhi, lan nggawe putusan angkoro / entheng sawise emulasi.

ekstraksi - Komponen Ekstraksi Ancaman, tanggung jawab kanggo ngowahi dokumen kantor kanthi cepet dadi formulir sing aman (sing kabeh konten sing bisa dicopot), supaya bisa dikirim menyang pangguna / sistem kanthi cepet.

struktur API lan watesan utama

API Pencegahan Ancaman mung nggunakake 4 panjalukan βˆ’ upload, pitakon, download lan kuota. Ing header kanggo kabeh panjalukan papat sampeyan kudu pass tombol API nggunakake parameter wewenang. Sepisanan, struktur kasebut bisa uga katon luwih gampang tinimbang ing API Manajemen, nanging jumlah kolom ing panjalukan unggahan lan pitakon lan struktur panjalukan kasebut cukup rumit. Iki bisa dibandhingake kanthi fungsional karo profil Pencegahan Ancaman ing kabijakan keamanan gateway / kothak wedhi.

Saiki, siji-sijine versi API Pencegahan Ancaman wis dirilis - 1.0; URL kanggo panggilan API kudu kalebu v1 ing bagean ngendi sampeyan kudu nemtokake versi. Ora kaya API Manajemen, perlu kanggo nunjukake versi API ing URL, yen panjaluk kasebut ora bakal ditindakake.

Komponen Anti-Virus, nalika diarani tanpa komponen liyane (te, extraction), saiki mung ndhukung panjalukan pitakon kanthi jumlah hash md5. Emulasi Ancaman lan Ekstraksi Ancaman uga ndhukung jumlah hash sha1 lan sha256.

Penting banget supaya ora nggawe kesalahan ing pitakon! Panjaluk kasebut bisa ditindakake tanpa kesalahan, nanging ora rampung. Nggoleki sethithik, ayo ndeleng apa sing bisa kedadeyan nalika ana kesalahan / typo ing pitakon.

Panjaluk kanthi salah ketik nganggo tembung laporan (laporan)

{ "request":  [  

		{	
			"sha256": {{sha256}},
			"features": ["te"] , 
			"te": {
				"images": [
                    {
                        "id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
                        "revision": 1
                    }
                ],
                reportss: ["tar", "pdf", "xml"]
            }
		}
	] 
}

Ora bakal ana kesalahan ing respon, nanging ora bakal ana informasi babagan laporan kasebut

{
  "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."
        }
      }
    }
  ]
}

Nanging kanggo panjalukan tanpa typo ing tombol laporan

{ "request":  [  

		{	
			"sha256": {{sha256}},
			"features": ["te"] , 
			"te": {
				"images": [
                    {
                        "id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
                        "revision": 1
                    }
                ],
                reports: ["tar", "pdf", "xml"]
            }
		}
	] 
}

Kita nampa respon sing wis ngemot id kanggo ngundhuh laporan

{
  "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."
        }
      }
    }
  ]
}

Yen kita ngirim salah / kunci API kadaluwarsa, kita bakal nampa kesalahan 403 nanggepi.

SandBlast API: ing mΓ©ga lan ing piranti lokal

Panjalukan API bisa dikirim menyang piranti Check Point sing nduweni komponen Emulation Ancaman (blade) aktif. Minangka alamat kanggo panjalukan, sampeyan kudu nggunakake ip / url piranti lan port 18194 (contone, https: //10.10.57.19:18194/tecloud/api/v1/file/query). Sampeyan uga kudu nggawe manawa kabijakan keamanan ing piranti ngidini sambungan iki. Wewenang liwat kunci API ing piranti lokal kanthi gawan mati lan kunci wewenang ing header panjalukan bisa uga ora dikirim.

Panjaluk API menyang maya CheckPoint kudu dikirim menyang te.checkpoint.com (contone - https: //te.checkpoint.com/tecloud/api/v1/file/query). Kunci API bisa dipikolehi minangka lisensi uji coba sajrone 60 dina kanthi ngubungi mitra Check Point utawa kantor lokal perusahaan.

Ing piranti lokal, Ekstraksi Ancaman durung didhukung minangka standar. API Nyegah Ancaman lan kudu digunakake API Nyegah Ancaman kanggo Gateway Keamanan (kita bakal ngomong babagan iki kanthi luwih rinci ing pungkasan artikel).

Piranti lokal ora ndhukung panjalukan kuota.

Yen ora, ora ana bedane antarane panjalukan menyang piranti lokal lan menyang awan.

Upload telpon API

Cara sing digunakake βˆ’ POST

Alamat telpon- https:///tecloud/api/v1/file/upload

Panjaluk kasebut dumadi saka rong bagean (formulir-data): file sing dimaksudake kanggo emulasi / reresik lan awak panyuwunan kanthi teks.

Panjaluk teks ora bisa kosong, nanging bisa uga ora ngemot konfigurasi. Supaya panyuwunan bisa sukses, sampeyan kudu ngirim paling ora teks ing ngisor iki ing panyuwunan:

Minimal dibutuhake kanggo panjalukan upload

HTTP POST

https:///tecloud/api/v1/file/upload

Headers:

Wewenang:

Body

{

"njaluk": {

}

}

file

file

Ing kasus iki, file bakal diproses sesuai karo paramèter standar: komponen - te, gambar OS - Win XP lan Win 7, tanpa nggawe laporan.

Komentar ing kolom utama ing panjalukan teks:

jeneng file ΠΈ file_type Sampeyan bisa ninggalake kosong utawa ora ngirim kabeh, amarga iki dudu informasi sing migunani nalika ngunggah file. Ing respon API, kolom iki bakal diisi kanthi otomatis adhedhasar jeneng file sing diundhuh, lan informasi ing cache isih kudu digoleki nggunakake jumlah hash md5/sha1/sha256.

Tuladha panyuwunan nganggo file_name lan file_type

{

"request": {

"file_name": "",

"file_type": "",

}

}

fitur - dhaptar sing nuduhake fungsi perlu nalika proses ing kothak wedhi - av (Anti-Virus), te (Emulation Ancaman), extraction (Ancaman Extraction). Yen parameter iki ora dilewati, mung komponen standar sing bakal digunakake - te (Emulation Ancaman).

Kanggo ngaktifake mriksa ing telung komponen kasedhiya, sampeyan kudu nemtokake komponen iki ing request API.

Conto panjalukan karo mriksa ing av, te lan extraction

{ "request":  [  

		{	
			"sha256": {{sha256}},
			"features": ["av", "te", "extraction"]  
		}
	] 
}

Tombol ing bagean te

images - dhaptar sing ngemot kamus kanthi id lan nomer revisi sistem operasi sing bakal ditindakake mriksa. ID lan nomer revisi padha kanggo kabeh piranti lokal lan awan.

Dhaptar sistem operasi lan revisi

Kasedhiya ID Gambar OS

rèvisi

Gambar OS lan Aplikasi

e50e99f3-5963-4573-af9e-e3f4750b55e2

1

Microsoft Windows: XP - 32 bit SP3
Kantor: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash Player 9r115 ugi ActiveX 10.0
Java Runtime: 1.6.0u22

7e6fe36e-889e-4c25-8704-56378f0830df

1

Microsoft Windows: 7 - 32 bit
Kantor: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash Player: 10.2r152 (pluginActiveX)
Java Runtime: 1.6.0u0

8d188031-1010-4466-828b-0cd13d4303ff

1

Microsoft Windows: 7 - 32 bit
Kantor: 2010
Adobe Acrobat Reader: 9.4
Flash Player: 11.0.1.152 (plugin & ActiveX)
Java Runtime: 1.7.0u0

5e5de275-a103-4f67-b55b-47532918fa59

1

Microsoft Windows: 7 - 32 bit
Kantor: 2013
Adobe Acrobat Reader: 11.0
Flash Player: 15 (plugin & ActiveX)
Java Runtime: 1.7.0u9

3ff3ddae-e7fd-4969-818c-d5f1a2be336d

1

Microsoft Windows: 7 - 64 bit
Kantor: 2013 (32 bit)
Adobe Acrobat Reader: 11.0.01
Flash Player: 13 (plugin & ActiveX)
Java Runtime: 1.7.0u9

6c453c9b-20f7-471a-956c-3198a868dc92 

 

Microsoft Windows: 8.1 - 64 bit
Kantor: 2013 (64 bit)
Adobe Acrobat Reader: 11.0.10
Flash Player: 18.0.0.160 (plugin & ActiveX)
Java Runtime: 1.7.0u9

10b4a9c6-e414-425c-ae8b-fe4dd7b25244 

 

1

Microsoft Windows: 10
Kantor: Professional Plus 2016 en-us  
Adobe Acrobat Reader: DC 2015 MUI
Flash Player: 20 (plugin & ActiveX)
Java Runtime: 1.7.0u9

Yen tombol gambar ora ditemtokake, mula emulasi bakal ditindakake ing gambar sing disaranake Check Point (saiki Win XP lan Win 7). Gambar kasebut disaranake adhedhasar pertimbangan keseimbangan kinerja lan tingkat tangkapan sing paling apik.

laporan - dhaptar laporan sing dijaluk yen file kasebut dadi ala. Pilihan ing ngisor iki kasedhiya:

  1. ringkesan - .tar.gz arsip ngemot laporan emulation dening kanggo kabeh gambar sing dijaluk (loro kaca html lan komponen kayata video saka OS emulator, dump lalu lintas jaringan, laporan ing json, lan sampel dhewe ing arsip sing dilindhungi sandi). Kita nggoleki kunci ing jawaban - ringkesan_laporan kanggo ngundhuh laporan sabanjure.

  2. pdf - dokumen babagan emulasi ing siji gambar, kang akeh rakulino kanggo nampa liwat Smart Console. Kita nggoleki kunci ing jawaban - pdf_laporan kanggo ngundhuh laporan sabanjure.

  3. xml - dokumen babagan emulasi ing siji gambar, trep kanggo parsing sakteruse saka paramèter ing laporan. Kita nggoleki kunci ing jawaban - xml_laporan kanggo ngundhuh laporan sabanjure.

  4. tar - arsip .tar.gz ngemot laporan babagan emulasi ing siji gambar sing dijaluk (loro kaca html lan komponen kayata video saka OS emulator, dump lalu lintas jaringan, laporan ing json, lan sampel dhewe ing arsip sing dilindhungi sandi). Kita nggoleki kunci ing jawaban - laporan_lengkap kanggo ngundhuh laporan sabanjure.

Apa sing ana ing laporan ringkesanInteraksi karo Check Point SandBlast liwat API

Tombol full_report, pdf_report, xml_report ana ing kamus kanggo saben 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."
        }
      }
    }
  ]
}

Nanging kunci summary_report - ana siji kanggo emulasi umume

{
  "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."
        }
      }
    }
  ]
}

Sampeyan bisa njaluk laporan tar lan xml lan pdf bebarengan, sampeyan bisa njaluk ringkesan lan tar lan xml. Ora bakal bisa njaluk laporan ringkesan lan pdf bebarengan.

Tombol ing bagean extraction

Kanggo ekstraksi ancaman, mung rong tombol sing digunakake:

cara - pdf (ngowahi dadi pdf, digunakake minangka standar) utawa resik (ngresiki konten aktif).

extracted_parts_codes - dhaptar kode kanggo mbusak konten aktif, mung ditrapake kanggo cara sing resik

Kode kanggo mbusak isi saka file

kode

Description

1025

Obyek sing disambung

1026

Macro lan Kode

1034

Hyperlinks Sensitif

1137

Tindakan GoToR PDF

1139

Tindakan Bukak PDF

1141

Tindakan URI PDF

1142

Tindakan Swara PDF

1143

Tindakan Film PDF

1150

Tindakan JavaScript PDF

1151

Tindakan Formulir Kirim PDF

1018

Pitakon Basis Data

1019

Obyek sing ditempelake

1021

Cepet Simpen Data

1017

Properti Custom

1036

Properti Statistik

1037

Ringkesan Properties

Kanggo ngundhuh salinan sing wis diresiki, sampeyan uga kudu nggawe panjalukan pitakon (sing bakal dibahas ing ngisor iki) sawise sawetara detik, nemtokake jumlah hash file lan komponen ekstraksi ing teks panyuwunan. Sampeyan bisa njupuk file sing wis di resiki nggunakake id saka respon pitakon - extracted_file_download_id. Sawise maneh, looking ahead sethitik, aku menehi conto panjalukan lan respon pitakonan kanggo nggoleki id kanggo ngundhuh document dibusak.

Panjaluk pitakon kanggo nggoleki kunci extracted_file_download_id

{ "request":  [  

		{	
			"sha256": "9a346005ee8c9adb489072eb8b5b61699652962c17596de9c326ca68247a8876",
			"features": ["extraction"] , 
			"extraction": {
		        "method": "pdf"
            }
		}
	] 
}

Respon kanggo pitakon (goleki extracted_file_download_id key)

{
    "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."
                }
            }
        }
    ]
}

Informasi umum

Ing siji telpon API, sampeyan bisa ngirim mung siji file kanggo verifikasi.

Komponen av ora mbutuhake bagean tambahan karo tombol, iku cukup kanggo nemtokake ing kamus fitur.

Telpon API pitakon

Cara sing digunakake βˆ’ POST

Alamat telpon- https:///tecloud/api/v1/file/query

Sadurunge ngirim file kanggo diundhuh (panyuwunan upload), disaranake mriksa cache kothak wedhi (query request) supaya bisa ngoptimalake beban ing server API, amarga server API bisa uga duwe informasi lan putusan babagan file sing diundhuh. Telpon kalebu mung bagean teks. Bagian sing dibutuhake saka panyuwunan yaiku jumlah hash sha1 / sha256 / md5 file. Miturut cara, sampeyan bisa njaluk iku ing nanggepi panjalukan upload.

Minimal dibutuhake kanggo pitakon

HTTP POST

https:///tecloud/api/v1/file/query

Headers:

Wewenang:

Body

{

"njaluk": {

"sha256":

}

}

Conto respon kanggo panjalukan unggahan, ing ngendi jumlah hash sha1/md5/sha256 katon

{
  "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."
      }
    }
  }
}

Panyuwunan pitakon, saliyane jumlah hash, saenipun kudu padha karo panjalukan upload (utawa wis direncanakake), utawa malah "wis" (ngemot kolom sing luwih sithik ing panyuwunan pitakon tinimbang ing panyuwunan unggahan). Yen panyuwunan pitakon ngemot kolom luwih akeh tinimbang ing panyuwunan unggahan, sampeyan ora bakal nampa kabeh informasi sing dibutuhake ing tanggapan kasebut.

Iki minangka conto respon kanggo pitakon sing ora kabeh data sing dibutuhake ditemokake

{
  "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."
        }
      }
    }
  ]
}

Pay manungsa waΓ© menyang sawah kode ΠΈ label. Kolom kasebut katon kaping telu ing kamus status. Kaping pisanan, kita ndeleng "kode" kunci global: 1006 lan "label": "PARTIALLY_FOUND". Sabanjure, tombol kasebut ditemokake kanggo saben komponen sing dijaluk - te lan ekstraksi. Lan yen kanggo te jelas yen data wis ditemokake, mula kanggo ekstraksi ora ana informasi.

Iki kaya pitakon kanggo conto ing ndhuwur

{ "request":  [  

		{	
			"sha256": {{sha256}},
			"features": ["te", "extraction"] , 
			"te": {
				"images": [
                    {
                        "id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
                        "revision": 1
                    }
                ],
                "reports": [
                    "xml", "pdf"
                ]
            }
		}
	] 
}

Yen sampeyan ngirim panjalukan pitakon tanpa komponen ekstraksi

{ "request":  [  

		{	
			"sha256": {{sha256}},
			"features": ["te"] , 
			"te": {
				"images": [
                    {
                        "id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
                        "revision": 1
                    }
                ],
                "reports": [
                    "xml", "pdf"
                ]
            }
		}
	] 
}

Banjur jawaban bakal ngemot informasi lengkap ("kode": 1001, "label": "TEMU")

{
  "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."
        }
      }
    }
  ]
}

Yen ora ana informasi ing cache, respon bakal dadi "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."
        }
      }
    }
  ]
}

Ing siji telpon API, sampeyan bisa ngirim sawetara jumlah hash bebarengan kanggo verifikasi. Tanggepan bakal ngasilake data kanthi urutan sing padha kaya sing dikirim ing panyuwunan.

Conto panyuwunan pitakon kanthi sawetara jumlah sha256

{ "request":  [  

		{	
			"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd81"
        },
        		{	
			"sha256": "b84531d3829bf6131655773a3863d6b16f6389b7f4036aef9b81c0cb60e7fd82"
        }
	] 
}

Respon kanggo pitakon kanthi jumlah 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."
        }
      }
    }
  ]
}

Njaluk sawetara jumlah hash bebarengan ing panjalukan pitakon uga bakal duwe efek sing bermanfaat ing kinerja server API.

Download telpon API

Cara sing digunakake βˆ’ POST (miturut dokumentasi), Njaluk uga bisa (lan bisa uga katon luwih logis)

Alamat telpon- https:///tecloud/api/v1/file/download?id=

Header mbutuhake kunci API kanggo dilewati, awak panyuwunan kosong, id download dilewati ing alamat URL.

Nanggepi panjalukan pitakon, yen emulasi wis rampung lan laporan dijaluk nalika ngundhuh file, id kanggo ngundhuh laporan bakal katon. Yen salinan sing wis diresiki dijaluk, sampeyan kudu nggoleki id kanggo ngundhuh dokumen sing wis diresiki.

Secara total, kunci kanggo nanggepi pitakon sing ngemot nilai id kanggo dimuat bisa dadi:

  • ringkesan_laporan

  • laporan_lengkap

  • pdf_laporan

  • xml_laporan

  • extracted_file_download_id

Mesthine, kanggo nampa kunci kasebut kanggo nanggepi panjaluk pitakon, kudu kasebut ing panyuwunan (kanggo laporan) utawa elinga njaluk panjaluk nggunakake fungsi ekstraksi (kanggo dokumen sing wis diresiki).

Telpon kuota API

Cara sing digunakake βˆ’ POST

Alamat telpon- https:///tecloud/api/v1/file/quota

Kanggo mriksa kuota sing isih ana ing awan, gunakake pitakon kuota. Badan panyuwunan kosong.

Tuladha respon kanggo panjalukan kuota

{
  "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 Nyegah Ancaman kanggo Gateway Keamanan

API iki dikembangake sadurunge API Nyegah Ancaman lan mung kanggo piranti lokal. Saiki mung bisa migunani yen sampeyan butuh API Ekstraksi Ancaman. Kanggo Emulation Ancaman luwih apik nggunakake API Nyegah Ancaman biasa. Kanggo nguripake TP API kanggo SG lan ngatur tombol API sampeyan kudu tindakake langkah saka sk113599. Aku nyaranake menehi perhatian menyang langkah 6b lan mriksa aksesibilitas kaca kasebut https://<IPAddressofSecurityGateway>/UserCheck/TPAPI amarga yen ana asil negatif, konfigurasi luwih ora ana gunane. Kabeh panggilan API bakal dikirim menyang url iki. Jinis telpon (unggahan/kueri) diatur ing tombol awak telpon βˆ’ request_name. Ana uga tombol sing dibutuhake - kunci_api (sampeyan kudu ngelingi sak proses konfigurasi) lan protokol_versi (versi saiki yaiku 1.1). Sampeyan bisa nemokake dokumentasi resmi kanggo API iki ing sk137032. Kauntungan relatif kalebu kemampuan kanggo ngirim sawetara file sekaligus kanggo emulasi nalika ngemot, amarga file kasebut dikirim minangka string teks base64. Kanggo encode/decode file menyang/saka base64 sampeyan bisa nggunakake konverter online ing Postman kanggo tujuan demonstrasi, contone - https://base64.guru. Kanggo tujuan praktis, sampeyan kudu nggunakake metode encode lan decode sing dibangun nalika nulis kode.

Saiki ayo goleki kanthi luwih rinci babagan fungsi kasebut te ΠΈ ekstraksi ing API iki.

Kanggo komponen te kamus kasedhiya te_options ing panjalukan upload / query, lan tombol ing panjalukan iki rampung pas karo tombol te ing API Nyegah Ancaman.

Conto panyuwunan kanggo emulasi file ing Win10 kanthi laporan

{
"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"]
    }
    }
    ]
}

Kanggo komponen ekstraksi kamus kasedhiya scrub_options. Panjaluk iki nemtokake cara ngresiki: ngowahi dadi PDF, mbusak konten aktif, utawa pilih mode sing cocog karo profil Nyegah Ancaman (jeneng profil dituduhake). Sing paling apik babagan nanggapi panjaluk API ekstraksi kanggo file yaiku sampeyan entuk salinan sing wis diresiki kanggo nanggepi panjaluk kasebut minangka string terenkripsi base64 (sampeyan ora perlu nggawe panjaluk pitakon lan goleki id kanggo ndownload file kasebut. dokumen)

Tuladha panyuwunan kanggo mbusak file

    {
	"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
		}
	}]
}

Mbales panjalukan

{
	"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": ""
		}
	}]
} 

Senadyan kasunyatan manawa panjaluk API luwih sithik dibutuhake kanggo entuk salinan sing wis diresiki, aku nemokake pilihan iki kurang luwih disenengi lan trep tinimbang panjaluk data-formulir sing digunakake ing API Nyegah Ancaman.

Koleksi Tukang Pos

Aku nggawe koleksi ing Postman kanggo loro API Nyegah Ancaman lan API Nyegah Ancaman kanggo Gateway Keamanan, sing makili panjalukan API sing paling umum. Supaya API lan kunci ip / url server kanthi otomatis diganti dadi panjalukan, lan jumlah hash sha256 kudu dieling-eling sawise ndownload file kasebut, telung variabel wis digawe ing koleksi kasebut (sampeyan bisa nemokake kanthi pindhah menyang setelan koleksi Sunting -> Variabel): te_api (wajib), api_key (dibutuhake kanggo diisi, kajaba nalika nggunakake TP API karo piranti lokal), sha256 (kosongake, ora digunakake ing TP API kanggo SG).

Download koleksi Postman kanggo API Nyegah Ancaman

Download koleksi Postman kanggo Ancaman Nyegah kanggo Keamanan Gateway API

Tuladha Dianggo

Ing masyarakat Priksa Mates Tulisan sing ditulis ing Python diwenehi sing mriksa file saka direktori sing dikarepake liwat TP APIlan TP API kanggo SG. Liwat interaksi karo API Pencegahan Ancaman, kemampuan kanggo mindhai file saya tambah akeh, amarga saiki sampeyan bisa mindhai file ing sawetara platform sekaligus (mriksa VirusTotal API, banjur ing kothak wedhi Check Point), lan nampa file ora mung saka lalu lintas jaringan, nanging uga njupuk saka sembarang drive jaringan lan, contone, sistem CRM.

Source: www.habr.com

Add a comment