Vuorovaikutus Check Point SandBlastin kanssa API:n kautta

Vuorovaikutus Check Point SandBlastin kanssa API:n kautta

Tämä artikkeli on hyödyllinen tekniikan tunteville Check Point tiedostoemulaatiolla (Uhkaemulointi) ja ennakoiva tiedostojen puhdistus (Uhkien poistaminen) ja haluaa ottaa askeleen kohti näiden tehtävien automatisointia. Check Pointilla on Threat Prevention API, joka toimii sekä pilvessä että paikallisissa laitteissa, ja toiminnallisesti se on identtinen web/smtp/ftp/smb/nfs-liikennevirtojen tiedostojen tarkistamisen kanssa. Tämä artikkeli on osittain kirjoittajan tulkinta virallisen dokumentaation artikkelisarjasta, mutta perustuu omaan käyttökokemukseeni ja omiin esimerkeihini. Artikkelista löydät myös kirjoittajan Postman-kokoelmat Threat Prevention API:n kanssa työskentelemiseen.

Peruslyhenteet

Threat Prevention API toimii kolmen pääkomponentin kanssa, joita kutsutaan API:ssa seuraavien tekstiarvojen kautta:

av — Virustorjuntakomponentti, joka vastaa tunnettujen uhkien allekirjoitusanalyysistä.

te - Threat Emulation -komponentti, joka vastaa hiekkalaatikossa olevien tiedostojen tarkistamisesta ja haitallisen/hyvänlaatuisen päätöksen tekemisestä emuloinnin jälkeen.

uuttaminen - Threat Extraction -komponentti, joka vastaa toimistoasiakirjojen nopeasta muuntamisesta turvalliseen muotoon (jossa kaikki mahdollisesti haitallinen sisältö poistetaan), jotta ne toimitetaan nopeasti käyttäjille/järjestelmille.

API-rakenne ja tärkeimmät rajoitukset

Threat Prevention API käyttää vain 4 pyyntöä − lataa, tee kysely, lataa ja kiintiö. Kaikkien neljän pyynnön otsikossa sinun on välitettävä API-avain parametrilla Lupa. Ensi silmäyksellä rakenne voi tuntua paljon yksinkertaisemmalta kuin sisällä Management API, mutta lataus- ja kyselypyyntöjen kenttien määrä ja näiden pyyntöjen rakenne ovat melko monimutkaisia. Näitä voidaan toiminnallisesti verrata yhdyskäytävän/hiekkalaatikon suojauskäytännön uhkien ehkäisyprofiileihin.

Tällä hetkellä Threat Prevention API:n ainoa versio on julkaistu - 1.0; API-kutsujen URL-osoitteen tulee sisältää v1 kohdassa, jossa sinun on määritettävä versio. Toisin kuin Management API:ssa, URL-osoitteessa on ilmoitettava API-versio, muuten pyyntöä ei suoriteta.

Viruksentorjuntakomponentti, kun sitä kutsutaan ilman muita komponentteja (te, purku), tukee tällä hetkellä vain kyselypyyntöjä md5-hajasummalla. Threat Emulation ja Threat Extraction tukevat myös sha1- ja sha256-hash-summia.

On erittäin tärkeää olla tekemättä virheitä kyselyissä! Pyyntö voidaan suorittaa ilman virhettä, mutta ei täysin. Katsotaan hieman eteenpäin, katsotaanpa, mitä voi tapahtua, kun kyselyissä on virheitä/kirjoitusvirheitä.

Pyyntö kirjoitusvirheellä sanalla reports(reportss)

{ "request":  [  

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

Vastauksessa ei tule virhettä, mutta raporteista ei tule tietoa ollenkaan

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

Mutta pyyntö ilman kirjoitusvirhettä raporttiavaimessa

{ "request":  [  

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

Saamme vastauksen, joka sisältää jo tunnuksen raporttien lataamista varten

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

Jos lähetämme virheellisen/vanhentuneen API-avaimen, saamme vastauksena 403-virheilmoituksen.

SandBlast API: pilvessä ja paikallisilla laitteilla

API-pyynnöt voidaan lähettää Check Point -laitteisiin, joissa on uhkaemulointikomponentti (blade) käytössä. Pyyntöjen osoitteena sinun on käytettävä laitteen ip/url-osoitetta ja porttia 18194 (esimerkiksi https://10.10.57.19:18194/tecloud/api/v1/file/query). Varmista myös, että laitteen suojauskäytäntö sallii tämän yhteyden. Valtuutus API-avaimen kautta paikallisilla laitteilla oletuksena vinossa ja pyyntöotsikoissa olevaa valtuutusavainta ei ehkä lähetetä ollenkaan.

API-pyynnöt CheckPoint-pilveen tulee lähettää osoitteeseen te.checkpoint.com (esimerkiksi - https://te.checkpoint.com/tecloud/api/v1/file/query). API-avaimen voi hankkia 60 päivän kokeilulisenssinä ottamalla yhteyttä Check Pointin kumppaneihin tai yrityksen paikalliseen toimistoon.

Paikallisissa laitteissa uhkien purkamista ei vielä tueta vakiona. Threat Prevention API ja sitä tulee käyttää Threat Prevention API for Security Gateway (puhumme siitä yksityiskohtaisemmin artikkelin lopussa).

Paikalliset laitteet eivät tue kiintiöpyyntöä.

Muuten paikallisille laitteille ja pilveen lähetettävien pyyntöjen välillä ei ole eroja.

Lataa API-kutsu

Käytetty menetelmä − POST

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

Pyyntö koostuu kahdesta osasta (form-data): emulointiin/puhdistukseen tarkoitetusta tiedostosta ja pyynnön rungosta, jossa on tekstiä.

Tekstipyyntö ei voi olla tyhjä, mutta se ei saa sisältää asetuksia. Jotta pyyntö onnistuisi, sinun tulee lähettää pyynnössä vähintään seuraava teksti:

Latauspyyntöön vaadittava vähimmäismäärä

HTTP POST

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

otsikot:

Valtuutus:

elin

{

"pyyntö": {

}

}

filee

filee

Tässä tapauksessa tiedosto käsitellään oletusparametrien mukaisesti: komponentti - te, käyttöjärjestelmäkuvat - Win XP ja Win 7, luomatta raporttia.

Kommentteja tekstipyynnön pääkentistä:

tiedostonimi и tiedostotyyppi Voit jättää ne tyhjiksi tai olla lähettämättä niitä ollenkaan, koska tämä ei ole erityisen hyödyllistä tiedostoa ladattaessa. API-vastauksessa nämä kentät täytetään automaattisesti ladatun tiedoston nimen perusteella, ja välimuistissa olevia tietoja on edelleen haettava md5/sha1/sha256 hash-määrillä.

Esimerkkipyyntö tyhjällä tiedoston_nimi ja tiedostotyyppi

{

"request": {

"file_name": "",

"file_type": "",

}

}

piirteet — luettelo, joka osoittaa tarvittavat toiminnallisuudet käsiteltäessä hiekkalaatikossa - av (Virustorjunta), te (Threat Emulation), purkaminen (Threat Extraction). Jos tätä parametria ei välitetä ollenkaan, käytetään vain oletuskomponenttia - te (Uhan emulointi).

Jotta voit tarkistaa kolme saatavilla olevaa komponenttia, sinun on määritettävä nämä komponentit API-pyynnössä.

Esimerkki pyynnöstä, jossa on sisäänkirjautuminen av, te ja poisto

{ "request":  [  

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

Avaimet te-osiossa

kuvien — luettelo, joka sisältää sanakirjoja niiden käyttöjärjestelmien tunnuksella ja versionumerolla, joissa tarkistus suoritetaan. Tunnukset ja versionumerot ovat samat kaikille paikallisille laitteille ja pilvelle.

Luettelo käyttöjärjestelmistä ja versioista

Käytettävissä oleva käyttöjärjestelmän kuvatunnus

Tarkistus

Kuvan käyttöjärjestelmä ja sovellus

e50e99f3-5963-4573-af9e-e3f4750b55e2

1

Microsoft Windows: XP - 32-bittinen SP3
Office: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash Player 9r115 ja ActiveX 10.0
Java-ajoaika: 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 (KytkeäActiveX)
Java-ajoaika: 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 (Kytkeä & ActiveX)
Java-ajoaika: 1.7.0u0

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

1

Microsoft Windows: 7 - 32 bittiä
Office: 2013
Adobe Acrobat Reader: 11.0
Flash Player: 15 (Kytkeä & ActiveX)
Java-ajoaika: 1.7.0u9

3ff3ddae-e7fd-4969-818c-d5f1a2be336d

1

Microsoft Windows: 7 - 64 bittiä
Office: 2013 (32-bittinen)
Adobe Acrobat Reader: 11.0.01
Flash Player: 13 (Kytkeä & ActiveX)
Java-ajoaika: 1.7.0u9

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

 

Microsoft Windows: 8.1 - 64 bittiä
Office: 2013 (64-bittinen)
Adobe Acrobat Reader: 11.0.10
Flash Player: 18.0.0.160 (Kytkeä & ActiveX)
Java-ajoaika: 1.7.0u9

10b4a9c6-e414-425c-ae8b-fe4dd7b25244 

 

1

Microsoft Windows: 10
Office: Professional Plus 2016 fi-fi  
Adobe Acrobat Reader: DC 2015 MUI
Flash Player: 20 (Kytkeä & ActiveX)
Java-ajoaika: 1.7.0u9

Jos images-avainta ei ole määritetty ollenkaan, emulointi suoritetaan Check Pointin suosittelemissa kuvissa (tällä hetkellä Win XP ja Win 7). Näitä kuvia suositellaan suorituskyvyn ja sieppausnopeuden parhaan tasapainon perusteella.

raportit — luettelo raporteista, joita pyydämme, jos tiedosto osoittautuu haitalliseksi. Seuraavat vaihtoehdot ovat käytettävissä:

  1. yhteenveto - .tar.gz-arkisto, joka sisältää raportin emuloinnista kaikille pyydetyt kuvat (sekä html-sivu että komponentit, kuten video emulaattorin käyttöjärjestelmästä, verkkoliikennevedos, raportti json-muodossa ja itse näyte salasanalla suojatussa arkistossa). Etsimme avainta vastauksessa - yhteenvetoraportti raportin myöhempää lataamista varten.

  2. pdf - dokumentti emuloinnista sisään yksi kuvan, jonka monet ovat tottuneet vastaanottamaan Smart Consolen kautta. Etsimme avainta vastauksessa - pdf_raportti raportin myöhempää lataamista varten.

  3. xml - dokumentti emuloinnista sisään yksi kuva, kätevä parametrien myöhempää jäsentämistä varten raportissa. Etsimme avainta vastauksessa - xml_report raportin myöhempää lataamista varten.

  4. terva - .tar.gz-arkisto, joka sisältää emuloinnin raportin yksi pyydetyt kuvat (sekä html-sivu että komponentit, kuten video emulaattorin käyttöjärjestelmästä, verkkoliikennevedos, raportti json-muodossa ja itse näyte salasanalla suojatussa arkistossa). Etsimme avainta vastauksessa - täysi_raportti raportin myöhempää lataamista varten.

Mitä yhteenvetoraportin sisällä onVuorovaikutus Check Point SandBlastin kanssa API:n kautta

Avaimet full_report, pdf_report, xml_report ovat kunkin käyttöjärjestelmän sanakirjassa

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

Mutta summary_report-avain - on yksi emulointia varten yleensä

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

Voit pyytää tar- ja xml- ja pdf-raportteja samanaikaisesti, voit pyytää yhteenvetoa ja tar- ja xml-tiedostoja. Yhteenvetoraporttia ja pdf-tiedostoa ei voi pyytää samanaikaisesti.

Avaimet poisto-osiossa

Uhkien poimimiseen käytetään vain kahta avainta:

menetelmä — pdf (muuntaa pdf:ksi, oletuksena käytössä) tai puhdas (aktiivisen sisällön puhdistaminen).

puretut_osat_koodit - luettelo aktiivisen sisällön poistamiseen tarkoitetuista koodeista, koskee vain puhdasta menetelmää

Koodit sisällön poistamiseen tiedostoista

Koodi

Kuvaus

1025

Linkitetyt objektit

1026

Makrot ja koodi

1034

Arkaluonteiset hyperlinkit

1137

PDF GoToR-toiminnot

1139

PDF-käynnistystoiminnot

1141

PDF-URI-toiminnot

1142

PDF Äänitoiminnot

1143

PDF-elokuvatoiminnot

1150

PDF JavaScript-toiminnot

1151

PDF-lähetyslomakkeen toiminnot

1018

Tietokantakyselyt

1019

Sulautetut objektit

1021

Nopea tietojen tallennus

1017

Mukautetut ominaisuudet

1036

Tilastolliset ominaisuudet

1037

Yhteenvetoominaisuudet

Jos haluat ladata puhdistetun kopion, sinun on myös tehtävä kyselypyyntö (jota käsitellään alla) muutaman sekunnin kuluttua ja määritettävä tiedoston tiivistemäärä ja purkukomponentti pyyntötekstissä. Voit noutaa puhdistetun tiedoston tunnuksella kyselyn vastauksesta - purettu_tiedosto_lataustunnus. Jälleen kerran katsoen hieman eteenpäin, annan esimerkkejä pyynnöstä ja kyselyvastauksesta tunnuksen etsimiseksi tyhjennetyn asiakirjan lataamista varten.

Kyselypyyntö puretun_tiedoston_lataustunnus-avaimen etsimiseksi

{ "request":  [  

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

Vastaus kyselyyn (etsi avainta 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."
                }
            }
        }
    ]
}

Yleiskatsaus

Yhdessä API-kutsussa voit lähettää vain yhden tiedoston varmennettavaksi.

Av-komponentti ei vaadi ylimääräistä osiota avaimilla, riittää, kun määrität sen sanakirjassa piirteet.

Kysely API-kutsu

Käytetty menetelmä − POST

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

Ennen kuin lähetät tiedoston ladattavaksi (latauspyyntö), on suositeltavaa tarkistaa hiekkalaatikon välimuisti (kyselypyyntö) API-palvelimen kuormituksen optimoimiseksi, koska API-palvelimella voi jo olla tietoa ja tuomio ladatusta tiedostosta. Puhelu koostuu vain tekstiosasta. Pyynnön vaadittava osa on tiedoston sha1/sha256/md5 hash-määrä. Muuten, saat sen vastauksena latauspyyntöön.

Kyselyyn vaadittava vähimmäismäärä

HTTP POST

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

otsikot:

Valtuutus:

elin

{

"pyyntö": {

"sha256":

}

}

Esimerkki vastauksesta latauspyyntöön, jossa sha1/md5/sha256 hash-määrät näkyvät

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

Hajautetun määrän lisäksi kyselypyynnön tulisi mieluiten olla sama kuin latauspyyntö oli (tai suunnitellaan olevan) tai jopa "jo" (sisältää vähemmän kenttiä kyselypyynnössä kuin latauspyynnössä). Jos kyselypyyntö sisältää enemmän kenttiä kuin latauspyynnössä oli, et saa kaikkia vaadittuja tietoja vastauksessa.

Tässä on esimerkki vastauksesta kyselyyn, josta ei löytynyt kaikkia vaadittuja tietoja

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

Kiinnitä huomiota kenttiin koodi и etiketti. Nämä kentät näkyvät tilasanakirjoissa kolme kertaa. Ensin näemme globaalin avaimen "koodin": 1006 ja "etiketin": "PARTIALLY_FOUND". Seuraavaksi nämä avaimet löytyvät jokaiselle yksittäiselle osalle, jota pyysimme - te ja purku. Ja jos sinulle on selvää, että tiedot on löydetty, poimimista varten ei ole tietoa.

Tältä kysely näytti yllä olevassa esimerkissä

{ "request":  [  

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

Jos lähetät kyselypyynnön ilman purkukomponenttia

{ "request":  [  

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

Sitten vastaus sisältää täydelliset tiedot ("koodi": 1001, "etiketti": "FOUND"

{
  "response": [
    {
      "status": {
        "code": 1001,
        "label": "FOUND",
        "message": "The request has been fully answered."
      },
      "sha256": "313c0feb009356495b7f4a60e96737120beb30e1912c6d866218cee830aebd90",
      "file_type": "doc",
      "file_name": "",
      "features": [
        "te"
      ],
      "te": {
        "trust": 10,
        "images": [
          {
            "report": {
              "verdict": "malicious",
              "pdf_report": "4e9cddaf-03a4-489f-aa03-3c18f8d57a52",
              "xml_report": "9c18018f-c761-4dea-9372-6a12fcb15170"
            },
            "status": "found",
            "id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
            "revision": 1
          }
        ],
        "score": -2147483648,
        "combined_verdict": "malicious",
        "severity": 4,
        "confidence": 1,
        "status": {
          "code": 1001,
          "label": "FOUND",
          "message": "The request has been fully answered."
        }
      }
    }
  ]
}

Jos välimuistissa ei ole tietoa ollenkaan, vastaus on "etiketti": "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."
        }
      }
    }
  ]
}

Yhdessä API-kutsussa voit lähettää useita hajautusmääriä kerralla vahvistusta varten. Vastaus palauttaa tiedot samassa järjestyksessä kuin se lähetettiin pyynnössä.

Esimerkkikyselypyyntö, jossa on useita sha256-summia

{ "request":  [  

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

Vastaus kyselyyn, jossa on useita sha256-summia

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

Useiden hash-summien pyytäminen kerralla kyselypyynnössä vaikuttaa myös suotuisasti API-palvelimen suorituskykyyn.

Lataa API-kutsu

Käytetty menetelmä − POST (dokumentaation mukaan), SAA toimii myös (ja saattaa tuntua loogisemmalta)

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

Otsikko vaatii API-avaimen välityksen, pyynnön runko on tyhjä, lataustunnus välitetään url-osoitteessa.

Vastauksena kyselypyyntöön, jos emulointi on valmis ja raportteja pyydettiin tiedostoa ladattaessa, raporttien lataamisen tunnus tulee näkyviin. Jos pyydetään puhdistettua kopiota, sinun tulee etsiä id, jotta voit ladata puhdistetun asiakirjan.

Yhteensä avaimet vastauksessa kyselyyn, joka sisältää id-arvon latausta varten, voivat olla:

  • yhteenvetoraportti

  • täysi_raportti

  • pdf_raportti

  • xml_report

  • purettu_tiedoston_lataustunnus

Tietysti, jotta nämä avaimet saadaan vastauksena kyselypyyntöön, ne on määritettävä pyynnössä (raportteja varten) tai muista tehdä pyyntö poimintatoiminnolla (puhdistetuille asiakirjoille)

Quota API -kutsu

Käytetty menetelmä − POST

Soittoosoite - https:///tecloud/api/v1/file/quota

Voit tarkistaa pilvessä jäljellä olevan kiintiön käyttämällä kiintiökyselyä. Pyynnön teksti on tyhjä.

Esimerkki vastauksesta kiintiöpyyntöön

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

Tämä API kehitettiin ennen Threat Prevention API:ta ja on tarkoitettu vain paikallisille laitteille. Toistaiseksi siitä voi olla hyötyä vain, jos tarvitset Threat Extraction API:n. Threat Emulation -sovelluksessa on parempi käyttää tavallista Threat Prevention API -sovellusliittymää. Käynnistää TP API SG:lle ja määritä API-avain, jonka vaiheita sinun on noudatettava sk113599. Suosittelen kiinnittämään huomiota kohtaan 6b ja tarkistamaan sivun saavutettavuuden https://<IPAddressofSecurityGateway>/UserCheck/TPAPI koska negatiivisen tuloksen tapauksessa lisäkonfiguraatiossa ei ole järkeä. Kaikki API-kutsut lähetetään tähän URL-osoitteeseen. Puhelutyyppiä (lataus/kysely) säädellään puhelun runko-avaimella − pyynnön_nimi. Myös tarvittavat avaimet ovat - api_avain (sinun on muistettava se määritysprosessin aikana) ja protokolla_versio (nykyinen versio on 1.1). Löydät tämän API:n viralliset asiakirjat osoitteessa sk137032. Suhteellisia etuja ovat mahdollisuus lähettää useita tiedostoja kerralla emulointia varten niitä ladattaessa, koska tiedostot lähetetään base64-tekstijonona. Jos haluat koodata/purkaa tiedostoja base64:ään/pohjalta, voit käyttää Postmanin online-muunninta esittelytarkoituksiin, esimerkiksi - https://base64.guru. Käytännön syistä sinun tulee käyttää sisäänrakennettuja koodaus- ja dekoodausmenetelmiä koodia kirjoittaessasi.

Katsotaanpa nyt tarkemmin toimintoja te и uuttaminen tässä API:ssa.

Komponenttia varten te sanakirja tarjotaan te_optiot lataus-/kyselypyynnöissä, ja tämän pyynnön avaimet ovat täysin yhtenevät sisään tulevien avainten kanssa Threat Prevention API.

Esimerkkipyyntö tiedostoemulointiin Win10:ssä raporteilla

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

Komponenttia varten uuttaminen sanakirja tarjotaan scrub_optiot. Tämä pyyntö määrittää puhdistusmenetelmän: muunna PDF-muotoon, tyhjennä aktiivinen sisältö tai valitse tila Uhkien ehkäisyprofiilin mukaisesti (profiilin nimi näkyy). Hieno asia vastaamisessa tiedoston purkamis-API-pyyntöön on, että saat puhdistetun kopion vastauksena tähän pyyntöön base64-salatuna merkkijonona (sinun ei tarvitse tehdä kyselypyyntöä ja etsiä tunnusta ladataksesi asiakirja)

Esimerkki tiedoston tyhjennyspyynnöstä

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

Vastaa pyyntöön

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

Huolimatta siitä, että tyhjennetyn kopion saamiseksi vaaditaan vähemmän API-pyyntöjä, tämä vaihtoehto on mielestäni vähemmän parempi ja kätevä kuin lomakkeessa käytetty lomaketietopyyntö. Threat Prevention API.

Postimiehen kokoelmat

Tein Postmanissa kokoelmia sekä Threat Prevention API:lle että Threat Prevention API for Security Gatewaylle, jotka edustavat yleisimpiä API-pyyntöjä. Jotta palvelimen ip/url API ja avain korvautuvat automaattisesti pyyntöihin ja sha256 hash-määrä muistetaan tiedoston lataamisen jälkeen, kokoelmiin on luotu kolme muuttujaa (löydät ne siirtymällä kokoelmaasetuksiin Muokkaa -> Muuttujat): te_api (pakollinen), api_key (pakollinen täytettävä, paitsi käytettäessä TP-sovellusliittymää paikallisten laitteiden kanssa), sha256 (jätä tyhjäksi, ei käytetä SG:n TP API:ssa).

Lataa Postman-kokoelma Threat Prevention API:lle

Lataa Postman-kokoelma Threat Prevention for Security Gateway API:lle

Esimerkkejä käytöstä

Yhteisössä Tarkista kaverit Pythonissa kirjoitetut skriptit esitetään, jotka tarkistavat tiedostot halutusta hakemistosta kautta TP APIJa TP API SG:lle. Vuorovaikutus Threat Prevention API:n kanssa laajentaa kykyäsi tarkistaa tiedostoja merkittävästi, koska nyt voit skannata tiedostoja useilla alustoilla kerralla (kirjautuminen sisään VirusTotal APIja sitten Check Point -hiekkalaatikossa) ja vastaanota tiedostoja paitsi verkkoliikenteestä, myös ota ne kaikista verkkoasemista ja esimerkiksi CRM-järjestelmistä.

Lähde: will.com

Lisää kommentti