Interaksi sareng Check Point SandBlast via API

Interaksi sareng Check Point SandBlast via API

Artikel ieu bakal mangpaat pikeun jalma anu wawuh jeung téhnologi Pariksa Point ku emulasi file (Emulation Anceman) jeung beberesih file proaktif (Ekstraksi Ancaman) sareng hoyong nyandak léngkah pikeun ngajadikeun otomatis tugas ieu. Check Point boga API Pencegahan Ancaman, anu dijalankeun dina awan sareng dina alat lokal, sareng Fungsina sami sareng mariksa file dina aliran lalu lintas wéb / smtp / ftp / smb / nfs. Artikel ieu sabagean interpretasi panulis ngeunaan susunan artikel tina dokuméntasi resmi, tapi dumasar kana pangalaman operasi kuring sorangan jeung conto kuring sorangan. Ogé dina tulisan anjeun bakal mendakan koléksi Postman panulis pikeun damel sareng API Pencegahan Ancaman.

Singgetan dasar

API Pencegahan Ancaman jalan kalawan tilu komponén utama, nu disebut dina API ngaliwatan nilai téks handap:

av - Komponén Anti-Virus, jawab analisa tanda tangan tina ancaman anu dipikanyaho.

te - Komponén Emulation Ancaman, tanggung jawab pikeun mariksa file dina kotak pasir, sareng ngadamel putusan jahat/benign saatos émulasi.

ékstraksi - Ancaman komponén ékstraksi, jawab gancang ngarobah dokumén kantor kana formulir aman (nu sagala eusi berpotensi jahat dihapus), guna gancang nganteurkeun ka pamaké / sistem.

Struktur API jeung watesan utama

API Pencegahan Ancaman ngan ngagunakeun 4 pamundut − unggah, query, ngundeur tur kuota. Dina lulugu pikeun sakabéh opat requests anjeun kudu lulus konci API ngagunakeun parameter mieun kuwasa. Dina glance kahiji, struktur bisa sigana leuwih basajan ti di API manajemén, tapi jumlah widang dina unggah jeung pamundut pamundut jeung struktur requests ieu rada kompleks. Ieu tiasa sacara fungsional dibandingkeun sareng profil Pencegahan Ancaman dina kawijakan kaamanan gateway / sandbox.

Ayeuna, hiji-hijina versi API Pencegahan Ancaman parantos dileupaskeun - 1.0; URL pikeun nelepon API kedah kalebet v1 di bagian mana anjeun kudu nangtukeun versi. Beda sareng Manajemén API, peryogi nunjukkeun versi API dina URL, upami henteu, pamundutna moal dieksekusi.

Komponén Anti-Virus, nalika disebut tanpa komponén séjén (te, ékstraksi), ayeuna ngan ngarojong pamundut query kalawan jumlah hash md5. Emulation Ancaman sareng Ekstraksi Ancaman ogé ngadukung jumlah hash sha1 sareng sha256.

Hal ieu kacida penting ulah nyieun kasalahan dina queries! Paménta tiasa dieksekusi tanpa kasalahan, tapi henteu lengkep. Ningali payun sakedik, hayu urang tingali naon anu tiasa kajantenan nalika aya kasalahan / typo dina patarosan.

Nyuhunkeun salah ketik kalayan kecap laporan (laporan)

{ "request":  [  

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

Moal aya kasalahan dina réspon, tapi moal aya inpormasi ngeunaan laporan éta

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

Tapi pikeun pamundut tanpa typo dina konci laporan

{ "request":  [  

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

Kami nampi réspon anu parantos ngandung id pikeun ngaunduh 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."
        }
      }
    }
  ]
}

Lamun urang ngirim hiji lepat / konci API kadaluwarsa, urang bakal nampa hiji 403 kasalahan dina respon.

SandBlast API: dina awan sareng dina alat lokal

Paménta API tiasa dikirim ka alat Check Point anu gaduh komponén Anceman Emulation (sabeulah) diaktipkeun. Salaku alamat pikeun pamundut, anjeun kedah nganggo ip / url alat sareng port 18194 (contona, https: //10.10.57.19:18194/tecloud/api/v1/file/query). Anjeun ogé kedah mastikeun yén kawijakan kaamanan dina alat ngamungkinkeun sambungan sapertos kitu. Otorisasina via konci API dina alat lokal sacara standar peureum jeung konci Otorisasi dina headers pamundut bisa jadi teu dikirim pisan.

requests API ka awan CheckPoint kudu dikirim ka te.checkpoint.com (contona - https: //te.checkpoint.com/tecloud/api/v1/file/query). Konci API tiasa didapet salaku lisénsi percobaan salami 60 dinten ku ngahubungi mitra Check Point atanapi kantor lokal perusahaan.

Dina alat lokal, Ekstraksi Ancaman teu acan dirojong salaku standar. API Pencegahan Ancaman sarta kudu dipaké API Pencegahan Ancaman pikeun Gateway Kaamanan (urang bakal ngobrol ngeunaan eta dina leuwih jéntré di ahir artikel).

Alat lokal henteu ngadukung pamundut kuota.

Upami teu kitu, teu aya bédana antara pamundut ka alat lokal sareng ka méga.

Unggah panggero API

Métode anu digunakeun − POST

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

Pamundut diwangun ku dua bagian (formulir-data): file dimaksudkeun pikeun emulation / beberesih sarta awak pamundut kalawan téks.

Paménta téks teu tiasa kosong, tapi tiasa waé henteu ngandung konfigurasi. Pikeun pamenta suksés, anjeun kedah ngirim sahenteuna téks di handap ieu dina pamundut:

Minimum diperlukeun pikeun pamundut unggah

HTTP POST

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

lulugu:

otorisasina:

awak

{

"kahoyong": {

}

}

file

file

Dina hal ieu, file bakal diolah saluyu sareng parameter standar: komponén - te, gambar OS - Win XP sareng Win 7, tanpa ngahasilkeun laporan.

Koméntar kana widang utama dina pamundut téks:

nami file и file_type Anjeun tiasa ngantepkeun kosong atanapi henteu ngirimkeunana, sabab ieu sanés inpormasi anu mangpaat nalika unggah file. Dina respon API, widang ieu bakal dieusian otomatis dumasar kana nami file diundeur, sarta informasi dina cache tetep kudu searched ngagunakeun jumlah hash md5 / sha1 / sha256.

Conto pamundut sareng file_name sareng file_type kosong

{

"request": {

"file_name": "",

"file_type": "",

}

}

Fitur - daptar nu nunjukkeun pungsionalitas diperlukeun nalika ngolah dina sandbox nu - av (Anti-Virus), te (Anceman Emulation), ékstraksi (Ancaman ékstraksi). Upami parameter ieu henteu lulus, maka ngan ukur komponén standar anu bakal dianggo - te (Threat Emulation).

Pikeun ngaktipkeun pariksa dina tilu komponén sadia, anjeun kudu nangtukeun komponén ieu dina pamundut API.

Conto pamundut kalawan dipariksa di av, te jeung ékstraksi

{ "request":  [  

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

Konci dina bagian te

gambar — список, внутри которого должны быть указаны словари с id и номером ревизии операционных систем, в которых будет выполняться проверка. ID и номера ревизий одинаковые для всех локальных устройств и облака.

Daptar sistem operasi sarta révisi

Sadia OS Gambar ID

harita

Gambar OS sareng Aplikasi

e50e99f3-5963-4573-af9e-e3f4750b55e2

1

Microsoft Windows: XP - 32bit SP3
kantor: 2003, 2007
Adobe Acrobat Reader: 9.0
flash Player 9r115 oge AktipX 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 (pluginAktipX)
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 & AktipX)
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 & AktipX)
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 & AktipX)
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 & AktipX)
Java Runtime: 1.7.0u9

10b4a9c6-e414-425c-ae8b-fe4dd7b25244 

 

1

Microsoft Windows: 10
kantor: Profesional Ditambah 2016 en-urang  
Adobe Acrobat Reader: DC 2015 MUI
Flash Player: 20 (plugin & AktipX)
Java Runtime: 1.7.0u9

Upami konci gambar henteu dieusian pisan, teras émulasi bakal lumangsung dina gambar anu disarankeun ku Check Point (ayeuna Win XP sareng Win 7). Gambar ieu dianjurkeun dumasar kana tinimbangan kasaimbangan pangalusna kinerja sarta laju nyekel.

laporan - daptar laporan anu kami nyuhunkeun upami filena janten jahat. Pilihan di handap ieu sayogi:

  1. singgetan - arsip .tar.gz ngandung laporan ngeunaan emulation ku ka sadaya Gambar anu dipénta (duanana halaman html sareng komponén sapertos pidéo tina OS émulator, dump lalu lintas jaringan, laporan dina json, sareng conto sorangan dina arsip anu ditangtayungan ku sandi). Kami milarian konci dina jawaban - summary_report pikeun ngundeur salajengna laporan.

  2. pdf - dokumén ngeunaan emulation di hiji gambar, nu loba anu biasa narima ngaliwatan Smart konsol. Kami milarian konci dina jawaban - pdf_report pikeun ngundeur salajengna laporan.

  3. XML - dokumén ngeunaan emulation di hiji gambar, merenah pikeun parsing saterusna parameter dina laporan. Kami milarian konci dina jawaban - xml_report pikeun ngundeur salajengna laporan.

  4. aspal - arsip .tar.gz ngandung laporan ngeunaan emulation di hiji Gambar anu dipénta (duanana halaman html sareng komponén sapertos pidéo tina OS émulator, dump lalu lintas jaringan, laporan dina json, sareng conto sorangan dina arsip anu ditangtayungan ku sandi). Kami milarian konci dina jawaban - full_report pikeun ngundeur salajengna laporan.

Naon di jero laporan kasimpulanInteraksi sareng Check Point SandBlast via API

Konci full_report, pdf_report, xml_report aya dina kamus pikeun unggal 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."
        }
      }
    }
  ]
}

Tapi konci summary_report - aya hiji pikeun emulation sacara umum

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

Anjeun tiasa nyuhunkeun laporan tar sareng xml sareng pdf dina waktos anu sami, anjeun tiasa nyuhunkeun kasimpulan sareng tar sareng xml. Éta moal tiasa nyuhunkeun laporan kasimpulan sareng pdf dina waktos anu sami.

Konci dina bagian ékstraksi

Pikeun ékstraksi ancaman, ngan ukur dua konci anu dianggo:

metode - pdf (ngarobih kana pdf, dianggo sacara standar) atanapi bersih (ngabersihkeun eusi aktip).

extracted_parts_codes - daptar kode pikeun nyoplokkeun eusi aktip, lumaku ngan pikeun metoda bersih

Kodeu pikeun ngahapus eusi tina file

Code

gambaran

1025

Objék numbu

1026

Macro jeung Kode

1034

Hyperlinks sénsitip

1137

PDF GoToR Actions

1139

Laku lampah PDF

1141

PDF URI Aksi

1142

Tindakan Sora PDF

1143

Aksi Pilem PDF

1150

PDF JavaScript Laku lampah

1151

PDF Kirimkeun Bentuk Tindakan

1018

Patarosan Database

1019

Objék Dipasang

1021

Gancang Simpen Data

1017

Pasipatan custom

1036

Pasipatan statistik

1037

Ringkesan Pasipatan

Pikeun ngaunduh salinan anu dibersihkeun, anjeun ogé kedah ngadamel pamundut pamundut (anu bakal dibahas di handap) saatos sababaraha detik, netepkeun jumlah hash file sareng komponén ékstraksi dina téks pamundut. Anjeun tiasa nyandak file anu dibersihkeun nganggo id tina réspon kana pamundut - extracted_file_download_id. Sakali deui, ningali payun sakedik, kuring masihan conto pamundut sareng réspon pamundut pikeun milarian id pikeun ngaunduh dokumen anu diberesihan.

Ménta pamundut pikeun milarian konci extracted_file_download_id

{ "request":  [  

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

Tanggapan kana pamundut (pilari konci 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."
                }
            }
        }
    ]
}

gambaran

Dina hiji panggero API, Anjeun ngan bisa ngirim hiji file pikeun verifikasi.

Komponén av teu merlukeun hiji bagian tambahan kalayan konci, éta cukup pikeun nangtukeun eta dina kamus Fitur.

Query API panggero

Métode anu digunakeun − POST

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

Sateuacan ngirim file pikeun diunduh (paménta unggah), disarankeun pikeun pariksa cache sandbox (paménta pamundut) pikeun ngaoptimalkeun beban dina server API, sabab pangladén API tiasa gaduh inpormasi sareng putusan dina file anu diunduh. Telepon ngan ukur diwangun ku bagian téks. Bagian anu diperyogikeun tina pamundut nyaéta sha1 / sha256 / md5 jumlah hash file. Ku jalan kitu, anjeun bisa meunangkeun eta dina respon kana pamundut unggah.

Minimum diperlukeun pikeun query

HTTP POST

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

lulugu:

otorisasina:

awak

{

"kahoyong": {

"sha256":

}

}

Conto réspon kana pamundut unggah, dimana jumlah hash sha1/md5/sha256 katingali

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

Paménta query, sajaba jumlah hash, ideally kudu sarua jeung pamundut unggah éta (atawa rencanana jadi), atawa malah "geus" (ngandung saeutik widang dina pamundut query ti dina pamundut unggah). Dina kasus dimana pamundut query ngandung leuwih widang ti éta dina pamundut unggah, anjeun moal nampi sagala informasi diperlukeun dina respon.

Ieu mangrupikeun conto réspon kana pamundut dimana henteu sadayana data anu diperyogikeun kapanggih

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

Nengetan sawah code и etiket. Widang ieu muncul tilu kali dina kamus status. Mimiti urang ningali konci global "kode": 1006 sareng "label": "PARTIALLY_FOUND". Salajengna, konci ieu kapanggih pikeun tiap komponén individu nu urang dipénta - te jeung ékstraksi. Sareng upami pikeun écés yén datana parantos kapendak, maka pikeun ékstraksi henteu aya inpormasi.

Ieu naon query kasampak kawas pikeun conto di luhur

{ "request":  [  

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

Upami anjeun ngirim pamundut pamundut tanpa komponén ékstraksi

{ "request":  [  

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

Lajeng jawaban bakal ngandung émbaran lengkep ("kode": 1001, "label": "KApanggih")

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

Upami teu aya inpormasi dina cache, maka résponna bakal "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."
        }
      }
    }
  ]
}

Dina hiji panggero API, Anjeun bisa ngirim sababaraha jumlah hash sakaligus pikeun verifikasi. Responna bakal ngabalikeun data dina urutan anu sami sareng anu dikirim dina pamundut.

Conto pamundut pamundut sareng sababaraha jumlah sha256

{ "request":  [  

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

Tanggapan kana pamundut sareng sababaraha 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."
        }
      }
    }
  ]
}

Nyuhunkeun sababaraha jumlah hash sakaligus dina pamundut pamundut ogé bakal gaduh pangaruh anu mangpaat pikeun kinerja server API.

Unduh panggero API

Métode anu digunakeun − POST (nurutkeun dokuméntasi), meunangkeun ogé tiasa dianggo (sareng sigana langkung logis)

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

Lulugu merlukeun konci API bisa diliwatan, awak pamundut kosong, id download diliwatan dina alamat URL.

Pikeun ngaréspon pamundut pamundut, upami émulasi parantos réngsé sareng laporan dipénta nalika ngaunduh file, id pikeun ngaunduh laporan bakal katingali. Upami salinan anu dibersihkeun dipénta, anjeun kedah milarian id pikeun ngaunduh dokumen anu dibersihkeun.

Dina total, konci dina réspon kana pamundut anu ngandung nilai id pikeun loading tiasa:

  • summary_report

  • full_report

  • pdf_report

  • xml_report

  • extracted_file_download_id

Tangtosna, pikeun nampi konci-konci ieu pikeun ngaréspon kana pamundut pamundut, aranjeunna kedah disebatkeun dina pamundut (pikeun laporan) atanapi émut ngadamel pamundut nganggo fungsi ékstraksi (pikeun dokumén anu dibersihkeun).

Kuota API panggero

Métode anu digunakeun − POST

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

Pikeun pariksa kuota sésana dina méga, paké query kuota. Awak ménta kosong.

Conto respon kana pamundut 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 Pencegahan Ancaman pikeun Gateway Kaamanan

API ieu dikembangkeun saméméh API Pencegahan Ancaman sarta dimaksudkeun ukur pikeun alat lokal. Pikeun ayeuna éta ngan tiasa mangpaat upami anjeun peryogi API Ekstraksi Ancaman. Pikeun Emulation Ancaman éta hadé ngagunakeun API Pencegahan Ancaman biasa. Pikeun ngahurungkeun TP API pikeun SG tur ngonpigurasikeun konci API anjeun kudu nuturkeun léngkah tina sk113599. Abdi nyarankeun nengetan lengkah 6b sareng mariksa aksésibilitas halaman https://<IPAddressofSecurityGateway>/UserCheck/TPAPI sabab bisi hasil négatip, konfigurasi salajengna teu make akal pikiran. Sadaya telepon API bakal dikirim ka url ieu. Jinis telepon (unggah/kueri) diatur dina konci badan telepon − request_name. Ogé diperlukeun konci téh - konci_api (Anjeun kudu apal eta salila prosés konfigurasi) jeung protocol_version (versi ayeuna nyaéta 1.1). Anjeun tiasa mendakan dokuméntasi resmi pikeun API ieu di sk137032. Kaunggulan relatif kaasup kamampuhan pikeun ngirim sababaraha file sakaligus pikeun emulation nalika loading aranjeunna, saprak file dikirim salaku string téks base64. Pikeun encode/decode file ka/ti base64 anjeun tiasa nganggo konverter online di Postman pikeun tujuan démo, contona - https://base64.guru. Pikeun tujuan praktis, anjeun kedah nganggo metode encode sareng decode anu diwangun nalika nyerat kode.

Ayeuna hayu urang nempo leuwih jéntré fungsi te и ékstraksi dina API ieu.

Pikeun komponén te kamus disadiakeun te_options di unggah / pamundut pamundut, sarta konci dina pamundut ieu sagemblengna coincide jeung konci te di API Pencegahan Ancaman.

Conto pamundut pikeun émulasi file dina Win10 kalayan 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"]
    }
    }
    ]
}

Pikeun komponén ékstraksi kamus disadiakeun scrub_options. Paménta ieu netepkeun metode beberesih: ngarobah kana PDF, écés eusi aktip, atanapi pilih mode anu luyu sareng profil Pencegahan Ancaman (nami profil dituduhkeun). Hal anu hébat ngeunaan ngaréspon kana pamundut API ékstraksi pikeun file nyaéta anjeun kéngingkeun salinan anu dibersihkeun dina ngaréspon kana pamundut éta salaku string énkripsi base64 (anjeun henteu kedah ngadamel pamundut sareng milarian id pikeun ngaunduh éta. dokumén)

Conto pamundut pikeun mupus 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
		}
	}]
}

Ngawalon hiji pamundut

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

Sanajan kanyataan yén pangsaeutikna requests API diperlukeun pikeun ménta salinan diberesihan, abdi manggihan pilihan ieu kirang pikaresep tur merenah ti pamundut formulir-data dipaké dina. API Pencegahan Ancaman.

Koléksi tukang pos

Kuring nyieun kumpulan di tukang pos boh pikeun API Pencegahan Ancaman jeung API Pencegahan Ancaman pikeun Gateway Kaamanan, nu ngagambarkeun requests API paling umum. Supados server ip / url API sareng konci sacara otomatis digentoskeun kana pamundut, sareng jumlah hash sha256 émut saatos ngaunduh file, tilu variabel parantos didamel di jero koléksi (anjeun tiasa mendakanana ku angkat ka setélan koleksi. Édit -> Variabel): te_api (diperlukeun), api_key (diperlukeun dieusian, iwal mun maké TP API jeung alat lokal), sha256 (ninggalkeun kosong, henteu dianggo dina TP API pikeun SG).

Unduh kumpulan Tukang Pos pikeun API Pencegahan Ancaman

Unduh kumpulan Tukang Pos pikeun Pencegahan Ancaman pikeun API Gateway Kaamanan

Conto ngagunakeun

Di masarakat Pariksa Babaturan Aksara ditulis dina Python dibere nu pariksa file ti diréktori nu dipikahoyong via TP APIjeung TP API pikeun SG. Ngaliwatan interaksi sareng API Pencegahan Ancaman, kamampuan anjeun pikeun nyeken file sacara signifikan dilegaan, sabab ayeuna anjeun tiasa nyeken file dina sababaraha platform sakaligus (mariksa VirusTotal API, lajeng dina kotak pasir Check Point), sarta nampa file teu ukur ti lalulintas jaringan, tapi ogé nyandak eta tina sagala drive jaringan jeung, contona, sistem CRM.

sumber: www.habr.com

Tambahkeun komentar