Interaktsioon Check Point SandBlastiga API kaudu

Interaktsioon Check Point SandBlastiga API kaudu

See artikkel on kasulik neile, kes on tehnikaga tuttavad Check Point faili emuleerimise teel (Ohu emuleerimine) ja ennetav failide puhastamine (Ohu väljatõmbamine) ja soovib astuda sammu nende ülesannete automatiseerimise suunas. Check Pointil on Threat Prevention API, mis töötab nii pilves kui ka kohalikes seadmetes ning funktsionaalselt on see identne veebi/smtp/ftp/smb/nfs liiklusvoogude failide kontrollimisega. See artikkel on osaliselt autori tõlgendus ametlikust dokumentatsioonist pärit artiklite kogumi kohta, kuid põhineb minu enda kasutuskogemusel ja minu enda näidetel. Samuti leiate artiklist autori Postimehe kogud Threat Prevention API-ga töötamiseks.

Põhilised lühendid

Threat Prevention API töötab kolme põhikomponendiga, mida API-s kutsutakse järgmiste tekstiväärtuste kaudu:

av — Viirusetõrjekomponent, mis vastutab teadaolevate ohtude signatuurianalüüsi eest.

te - Ohuemulatsiooni komponent, mis vastutab liivakastis olevate failide kontrollimise ja pärast emuleerimist pahatahtliku/healoomulise otsuse tegemise eest.

kaevandamine - Ohtude eemaldamise komponent, mis vastutab kontoridokumentide kiire teisendamise eest ohutusse vormi (millest eemaldatakse kogu potentsiaalselt pahatahtlik sisu), et need kiiresti kasutajatele/süsteemidele edastada.

API struktuur ja peamised piirangud

Threat Prevention API kasutab ainult 4 päringut − üleslaadimine, päring, allalaadimine ja kvoot. Kõigi nelja päringu päises peate parameetri abil edastama API võtme luba. Esmapilgul võib struktuur tunduda palju lihtsam kui sees Haldamise API, kuid üleslaadimis- ja päringupäringu väljade arv ja nende taotluste struktuur on üsna keerukad. Neid saab funktsionaalselt võrrelda lüüsi/liivakasti turvapoliitika ohuennetuse profiilidega.

Hetkel on välja antud Threat Prevention API ainus versioon – 1.0; API kõnede URL peaks sisaldama v1 osas, kus peate versiooni määrama. Erinevalt haldus API-st tuleb URL-is märkida API versioon, vastasel juhul päringut ei täideta.

Viirusetõrjekomponent, kui seda kutsutakse ilma muude komponentideta (te, ekstraktimine), toetab praegu ainult md5 räsisummadega päringuid. Ohu emuleerimine ja ohu eraldamine toetavad ka sha1 ja sha256 räsisummasid.

Väga oluline on päringutes mitte teha vigu! Taotluse saab täita tõrgeteta, kuid mitte täielikult. Vaadates veidi edasi, vaatame, mis võib juhtuda, kui päringutes on vigu/kirjavigu.

Taotlege kirjaveaga sõnaga reports(reportss)

{ "request":  [  

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

Vastuses tõrget ei tule, kuid aruannete kohta puudub teave üldse

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

Aga päringule ilma kirjavea aruannete võtmes

{ "request":  [  

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

Saame vastuse, mis sisaldab juba ID-d aruannete allalaadimiseks

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

Kui saadame vale/aegunud API võtme, saame vastuseks tõrketeate 403.

SandBlast API: pilves ja kohalikes seadmetes

API päringuid saab saata Check Pointi seadmetele, millel on Threat Emulation komponent (blade) lubatud. Päringute aadressina peate kasutama seadme ip/url-i ja porti 18194 (näiteks https://10.10.57.19:18194/tecloud/api/v1/file/query). Samuti peaksite veenduma, et seadme turvapoliitika lubab seda ühendust. Vaikimisi kohalikes seadmetes autoriseerimine API võtme kaudu väljas ja päringu päises olevat autoriseerimisvõtit ei pruugita üldse saata.

API päringud CheckPointi pilve tuleks saata aadressile te.checkpoint.com (näiteks - https://te.checkpoint.com/tecloud/api/v1/file/query). API-võtme saab hankida proovilitsentsina 60 päevaks, võttes ühendust Check Pointi partneritega või ettevõtte kohaliku kontoriga.

Kohalikes seadmetes ei toetata veel standardina ohtude eraldamist. Threat Prevention API ja seda tuleks kasutada Threat Prevention API for Security Gateway (sellest räägime üksikasjalikumalt artikli lõpus).

Kohalikud seadmed ei toeta kvooditaotlust.

Vastasel juhul pole kohalikele seadmetele ja pilve esitatavate taotluste vahel erinevusi.

Laadige API kõne üles

Kasutatud meetod − POST

Kõneaadress - https:///tecloud/api/v1/file/upload

Päring koosneb kahest osast (vorm-andmed): emuleerimiseks/puhastamiseks mõeldud failist ja päringu kehast koos tekstiga.

Tekstipäring ei tohi olla tühi, kuid see ei tohi sisaldada konfiguratsiooni. Taotluse õnnestumiseks peate päringus saatma vähemalt järgmise teksti:

Üleslaadimistaotluse jaoks vajalik miinimum

HTTP POST

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

Päised:

Luba:

Keha

{

"taotlus": {

}

}

fail

fail

Sel juhul töödeldakse faili vastavalt vaikeparameetritele: komponent - te, OS-i pildid - Win XP ja Win 7, ilma aruannet koostamata.

Kommentaarid tekstipäringu peamiste väljade kohta:

faili nimi и faili tüüp Võite need tühjaks jätta või üldse mitte saata, kuna see pole faili üleslaadimisel eriti kasulik teave. API vastuses täidetakse need väljad automaatselt allalaaditud faili nime alusel ning vahemälust infot tuleb ikkagi otsida md5/sha1/sha256 räsisummade abil.

Näidistaotlus tühja failinimi ja failitüübiga

{

"request": {

"file_name": "",

"file_type": "",

}

}

Omadused — loend, mis näitab liivakastis töötlemisel vajalikke funktsionaalsusi - av (Virusetõrje), te (Threat Emulation), ekstraktsioon (Threat Extraction). Kui seda parameetrit üldse ei edastata, kasutatakse ainult vaikekomponenti - te (Ohu emulatsioon).

Kolme saadaoleva komponendi sisseregistreerimise lubamiseks peate need komponendid API päringus määrama.

Näide päringust koos av, te ja väljatõmbamisega

{ "request":  [  

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

Võtmed sektsioonis

pildid — loend, mis sisaldab sõnastikke koos nende operatsioonisüsteemide ID ja versiooninumbritega, milles kontrolli tehakse. ID-d ja versiooninumbrid on kõigi kohalike seadmete ja pilve jaoks samad.

Operatsioonisüsteemide ja versioonide loend

Saadaval OS-i pildi ID

Redaktsioon

Pildi OS ja rakendus

e50e99f3-5963-4573-af9e-e3f4750b55e2

1

Microsoft Windows: XP – 32-bitine SP3
Office: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash Player 9r115 ja ActiveX 10.0
Java käitusaeg: 1.6.0u22

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

1

Microsoft Windows: 7–32 bitti
Office: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash Player: 10.2r152 (Sisse panemaActiveX)
Java käitusaeg: 1.6.0u0

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

1

Microsoft Windows: 7–32 bitti
Office: 2010
Adobe Acrobat Reader: 9.4
Flash Player: 11.0.1.152 (Sisse panema & ActiveX)
Java käitusaeg: 1.7.0u0

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

1

Microsoft Windows: 7–32 bitti
Office: 2013
Adobe Acrobat Reader: 11.0
Flash Player: 15 (Sisse panema & ActiveX)
Java käitusaeg: 1.7.0u9

3ff3ddae-e7fd-4969-818c-d5f1a2be336d

1

Microsoft Windows: 7–64 bitti
Office: 2013 (32-bitine)
Adobe Acrobat Reader: 11.0.01
Flash Player: 13 (Sisse panema & ActiveX)
Java käitusaeg: 1.7.0u9

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

 

Microsoft Windows: 8.1–64 bitti
Office: 2013 (64-bitine)
Adobe Acrobat Reader: 11.0.10
Flash Player: 18.0.0.160 (Sisse panema & ActiveX)
Java käitusaeg: 1.7.0u9

10b4a9c6-e414-425c-ae8b-fe4dd7b25244 

 

1

Microsoft Windows: 10
Office: Professional Plus 2016 et-ee  
Adobe Acrobat Reader: DC 2015 MUI
Flash Player: 20 (Sisse panema & ActiveX)
Java käitusaeg: 1.7.0u9

Kui piltide võtit pole üldse määratud, siis emuleerimine toimub Check Pointi soovitatud piltidel (praegu Win XP ja Win 7). Neid pilte soovitatakse jõudluse ja püügimäära parima tasakaalu kaalumisel.

aruanded — aruannete loend, mida taotleme juhuks, kui fail osutub pahatahtlikuks. Saadaval on järgmised valikud.

  1. kokkuvõte - .tar.gz arhiiv, mis sisaldab aruannet emuleerimise kohta kõik nõutud pildid (nii html-leht kui ka sellised komponendid nagu emulaatori OS-i video, võrguliikluse tõmmis, aruanne json-vormingus ja näidis ise parooliga kaitstud arhiivis). Otsime vastuse võtit - kokkuvõte_aruanne aruande hilisemaks allalaadimiseks.

  2. pdf - dokument emuleerimise kohta üks pilt, mida paljud on harjunud saama Smart Console'i ​​kaudu. Otsime vastuse võtit - pdf_aruanne aruande hilisemaks allalaadimiseks.

  3. xml - dokument emuleerimise kohta üks pilt, mis on mugav aruande parameetrite hilisemaks sõelumiseks. Otsime vastuse võtit - xml_report aruande hilisemaks allalaadimiseks.

  4. tõrv - .tar.gz arhiiv, mis sisaldab aruannet emuleerimise kohta üks nõutud pildid (nii html-leht kui ka sellised komponendid nagu emulaatori OS-i video, võrguliikluse tõmmis, aruanne json-vormingus ja näidis ise parooliga kaitstud arhiivis). Otsime vastuse võtit - täielik_aruanne aruande hilisemaks allalaadimiseks.

Mis on koondaruande seesInteraktsioon Check Point SandBlastiga API kaudu

Võtmed full_report, pdf_report, xml_report on iga OS-i sõnastikus

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

Aga võti summary_report – emuleerimiseks on see üldiselt olemas

{
  "response": [
    {
      "status": {
        "code": 1001,
        "label": "FOUND",
        "message": "The request has been fully answered."
      },
      "sha256": "d57eadb7b2f91eea66ea77a9e098d049c4ecebd5a4c70fb984688df08d1fa833",
      "file_type": "exe",
      "file_name": "",
      "features": [
        "te"
      ],
      "te": {
        "trust": 10,
        "images": [
          {
            "report": {
              "verdict": "malicious",
              "full_report": "c9a1767b-741e-49da-996f-7d632296cf9f",
              "xml_report": "cc4dbea9-518c-4e59-b6a3-4ea463ca384b"
            },
            "status": "found",
            "id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
            "revision": 1
          },
          {
            "report": {
              "verdict": "malicious",
              "full_report": "ba520713-8c0b-4672-a12f-0b4a1575b913",
              "xml_report": "87bdb8ca-dc44-449d-a9ab-2d95e7fe2503"
            },
            "status": "found",
            "id": "6c453c9b-20f7-471a-956c-3198a868dc92",
            "revision": 1
          }
        ],
        "score": -2147483648,
        "combined_verdict": "malicious",
        "severity": 4,
        "confidence": 3,
        "summary_report": "7e7db12d-5df6-4e14-85f3-2c1e29cd3e34",
        "status": {
          "code": 1001,
          "label": "FOUND",
          "message": "The request has been fully answered."
        }
      }
    }
  ]
}

Tar ja xml ja pdf aruandeid saab nõuda korraga, kokkuvõtet ning tar ja xml. Kokkuvõtvat aruannet ja pdf-i korraga nõuda ei saa.

Võtmed ekstraheerimise jaotises

Ohu eemaldamiseks kasutatakse ainult kahte võtit:

meetod — pdf (teisenda pdf-iks, vaikimisi kasutatav) või puhas (aktiivse sisu puhastamine).

ekstraktitud_osade_koodid - aktiivse sisu eemaldamise koodide loend, mis kehtib ainult puhta meetodi puhul

Koodid failidest sisu eemaldamiseks

kood

Kirjeldus

1025

Seotud objektid

1026

Makrod ja kood

1034

Tundlikud hüperlingid

1137

PDF GoToR toimingud

1139

PDF-i käivitamise toimingud

1141

PDF-URI toimingud

1142

PDF helitoimingud

1143

PDF-filmi toimingud

1150

PDF JavaScripti toimingud

1151

PDF-vormingus esitamise toimingud

1018

Andmebaasipäringud

1019

Manustatud objektid

1021

Kiire andmete salvestamine

1017

Kohandatud omadused

1036

Statistilised omadused

1037

Kokkuvõtte omadused

Puhastatud koopia allalaadimiseks peate mõne sekundi pärast esitama ka päringu (millest tuleb juttu allpool), täpsustades päringu tekstis faili räsikoguse ja ekstraktimise komponendi. Puhastatud faili saate päringu vastusest id abil üles võtta - ekstraktitud_faili_allalaadimise_id. Jällegi veidi ette vaadates toon näiteid päringu ja päringu vastuse kohta, et otsida kustutatud dokumendi allalaadimiseks ID-d.

Päringupäring võtme ekstraheeritud_faili_allalaadimise_id otsimiseks

{ "request":  [  

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

Vastus päringule (otsige võtit ekstrakted_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."
                }
            }
        }
    ]
}

Ülevaade

Ühe API-kõnega saate saata kinnitamiseks ainult ühe faili.

Av-komponent ei vaja täiendavat klahvidega sektsiooni, piisab selle täpsustamisest sõnastikus Omadused.

API-kõne päring

Kasutatud meetod − POST

Kõneaadress - https:///tecloud/api/v1/file/query

Enne faili allalaadimiseks saatmist (üleslaadimistaotlus) on soovitatav kontrollida liivakasti vahemälu (päringupäring), et optimeerida API-serveri koormust, kuna API-serveril võib allalaaditud faili kohta juba teave ja otsus olla. Kõne koosneb ainult tekstiosast. Nõutav osa päringust on faili sha1/sha256/md5 räsikogus. Muide, saate selle üleslaadimistaotluse vastusest.

Päringu jaoks nõutav miinimum

HTTP POST

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

Päised:

Luba:

Keha

{

"taotlus": {

"sha256":

}

}

Näide vastusest üleslaadimistaotlusele, kus on näha sha1/md5/sha256 räsisummad

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

Päringupäring peaks lisaks räsisummale ideaaljuhul olema sama, mis üleslaadimistaotlus oli (või plaanitakse olla) või isegi "juba" (sisaldama päringupäringus vähem välju kui üleslaadimistaotluses). Juhul, kui päringupäring sisaldab rohkem välju kui üleslaadimispäringus, ei saa te vastuses kogu nõutavat teavet.

Siin on näide vastusest päringule, kus kõiki vajalikke andmeid ei leitud

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

Pöörake tähelepanu põldudele kood и etikett. Need väljad ilmuvad olekusõnastikes kolm korda. Kõigepealt näeme globaalset võtit "kood": 1006 ja "silt": "PARTIALLY_FOUND". Järgmisena leitakse need võtmed iga üksiku komponendi jaoks, mida me taotlesime - te ja ekstraheerimine. Ja kui te jaoks on selge, et andmed on leitud, siis kaevandamiseks pole teavet.

Selline nägi päring välja ülaltoodud näite puhul

{ "request":  [  

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

Kui saadate päringupäringu ilma ekstraktsioonikomponendita

{ "request":  [  

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

Siis sisaldab vastus täielikku teavet ("kood": 1001, "silt": "LEITUD"

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

Kui vahemälus pole üldse teavet, on vastuseks "silt": "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."
        }
      }
    }
  ]
}

Ühe API-kõnega saate saata kontrollimiseks mitu räsisummat korraga. Vastus tagastab andmed samas järjekorras, nagu need päringus saadeti.

Näidispäringupäring mitme sha256 summaga

{ "request":  [  

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

Vastus päringule mitme sha256 summaga

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

Päringupäringus mitme räsisumma korraga taotlemine avaldab kasulikku mõju ka API-serveri jõudlusele.

Laadige alla API kõne

Kasutatud meetod − POST (dokumentatsiooni järgi), GET töötab ka (ja võib tunduda loogilisem)

Kõneaadress - https:///tecloud/api/v1/file/download?id=

Päis nõuab API võtme edastamist, päringu sisu on tühi, allalaadimise ID edastatakse URL-aadressis.

Kui emuleerimine on lõpule viidud ja faili allalaadimisel küsiti aruandeid, on vastuseks päringupäringule nähtav aruannete allalaadimise ID. Kui taotletakse puhastatud koopiat, peaksite otsima puhastatud dokumendi allalaadimiseks ID-d.

Kokku võivad laadimise ID-väärtust sisaldava päringu vastuse võtmed olla:

  • kokkuvõte_aruanne

  • täielik_aruanne

  • pdf_aruanne

  • xml_report

  • ekstraktitud_faili_allalaadimise_id

Loomulikult tuleb nende võtmete päringu päringule vastuvõtmiseks need päringus täpsustada (aruannete puhul) või meeles pidada päringu tegemist ekstraheerimisfunktsiooni abil (puhastatud dokumentide puhul)

Kvoodi API kõne

Kasutatud meetod − POST

Kõneaadress - https:///tecloud/api/v1/file/quota

Pilves järelejäänud kvoodi kontrollimiseks kasutage kvoodipäringut. Päringu sisu on tühi.

Vastuse näidis kvooditaotlusele

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

Threat Prevention API for Security Gateway

See API töötati välja enne Threat Prevention API-t ja on mõeldud ainult kohalikele seadmetele. Praegu võib see olla kasulik ainult siis, kui vajate Threat Extraction API-t. Threat Emulation jaoks on parem kasutada tavalist Threat Prevention API-t. Sisselülitamiseks TP API SG jaoks ja konfigureerige API-võti, millest peate järgima juhiseid sk113599. Soovitan pöörata tähelepanu sammule 6b ja kontrollida lehe ligipääsetavust https://<IPAddressofSecurityGateway>/UserCheck/TPAPI sest negatiivse tulemuse korral pole edasisel seadistamisel mõtet. Kõik API kõned saadetakse sellele URL-ile. Kõne tüüpi (üleslaadimine/päring) reguleeritakse kõne põhiklahvis − päringu_nimi. Samuti on vajalikud võtmed - api_võti (peate seda konfigureerimise käigus meeles pidama) ja protokolli_versioon (praegune versioon on 1.1). Selle API ametliku dokumentatsiooni leiate aadressilt sk137032. Suhteliste eeliste hulka kuulub võimalus saata mitu faili korraga emuleerimiseks nende laadimisel, kuna failid saadetakse base64 tekstistringina. Failide kodeerimiseks/dekodeerimiseks base64-sse/st saate kasutada Postmani online-muundurit demonstratsiooni eesmärgil, näiteks - https://base64.guru. Praktilistel eesmärkidel peaksite koodi kirjutamisel kasutama sisseehitatud kodeerimis- ja dekodeerimismeetodeid.

Nüüd vaatame funktsioone lähemalt te и kaevandamine selles API-s.

Komponendi jaoks te sõnastik kaasas te_options üleslaadimis-/päringupäringutes ja selle päringu võtmed langevad täielikult kokku sisestusklahvidega Threat Prevention API.

Näidistaotlus failiemuleerimiseks Win10-s koos aruannetega

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

Komponendi jaoks kaevandamine sõnastik kaasas scrub_options. See päring määrab puhastusmeetodi: teisendage PDF-failiks, tühjendage aktiivne sisu või valige režiim vastavalt ohuennetuse profiilile (profiili nimi on näidatud). Faili ekstraheerimise API päringule vastamise juures on suurepärane see, et saate vastuseks sellele päringule puhastatud koopia base64 krüptitud stringina (te ei pea faili allalaadimiseks päringupäringut tegema ja ID-d üles otsima dokument)

Faili tühjendamise taotluse näide

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

Päringule vastamine

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

Vaatamata asjaolule, et kustutatud koopia saamiseks on vaja vähem API päringuid, leian, et see valik on vähem eelistatum ja mugavam kui vormiandmete päring, mida kasutatakse Threat Prevention API.

Postimehe kogud

Lõin Postmanis kogud nii Threat Prevention API kui ka Threat Prevention API for Security Gateway jaoks, mis esindavad kõige levinumaid API päringuid. Et serveri ip/url API ja võti automaatselt päringuteks asendataks ning sha256 räsisumma pärast faili allalaadimist meelde jääks, on kogude sees loodud kolm muutujat (need leiad kogu seadete alt Redigeerimine -> Muutujad): te_api (nõutav), api_key (nõutav on täita, välja arvatud TP API kasutamisel kohalike seadmetega), sha256 (jätke tühjaks, ei kasutata SG jaoks mõeldud TP API-s).

Laadige alla Postmani kogumik Threat Prevention API jaoks

Laadige alla Postmani kogumik Threat Prevention for Security Gateway API jaoks

Kasutamise näited

Ühiskonnas Kontrollige kaaslaseid Esitatakse Pythonis kirjutatud skriptid, mis kontrollivad faile soovitud kataloogist TP APIJa TP API SG jaoks. Tänu Threat Prevention API-ga suhtlemisele laieneb teie võimalus failide skannimiseks märkimisväärselt laieneda, kuna nüüd saate skannida faile mitmel platvormil korraga (sisseregistreerimine VirusTotal APIja seejärel Check Pointi liivakastis) ja võta faile vastu mitte ainult võrguliiklusest, vaid võta neid ka mis tahes võrgudraividest ja näiteks CRM-süsteemidest.

Allikas: www.habr.com

Lisa kommentaar