Check Point SandBlast-ekin interakzioa API bidez

Check Point SandBlast-ekin interakzioa API bidez

Artikulu hau teknologiarekin ezagutzen dutenentzat erabilgarria izango da Check Point fitxategien emulazio bidez (Mehatxuen emulazioa) eta fitxategien garbiketa proaktiboa (Mehatxuak erauztea) eta zeregin horiek automatizatzeko urrats bat eman nahi du. Check Point du Mehatxuen Prebentzioko APIa, hodeian zein tokiko gailuetan exekutatzen dena, eta funtzionalki web/smtp/ftp/smb/nfs trafiko korronteetan fitxategiak egiaztatzearen berdina da. Artikulu hau, neurri batean, egileak dokumentazio ofizialeko artikulu multzo baten interpretazioa da, baina nire esperientzia operatiboan eta nire adibideetan oinarrituta. Halaber, artikuluan egilearen Postman bildumak aurkituko dituzu Mehatxuak Prebenitzeko APIarekin lan egiteko.

Oinarrizko laburdurak

Mehatxuen Prebentzioko APIak hiru osagai nagusirekin funtzionatzen du, APIan deitzen direnak testu-balio hauen bidez:

av β€” Birusen aurkako osagaia, ezagunak diren mehatxuen sinadura aztertzeaz arduratzen dena.

te - Threat Emulation osagaia, sandboxeko fitxategiak egiaztatzeaz eta emulazioaren ondoren epai gaizto/onberak egiteaz arduratzen dena.

erauzketa - Mehatxuak erauzteko osagaia, bulegoko dokumentuak modu seguru batean bizkor bihurtzeaz arduratzen dena (horretan gaiztoak izan daitezkeen eduki guztiak kentzen diren), erabiltzaileei/sistemei azkar bidaltzeko.

APIaren egitura eta muga nagusiak

Threat Prevention APIak 4 eskaera baino ez ditu erabiltzen - igo, kontsultatu, deskargatu eta kuota. Lau eskaeren goiburuan API gakoa pasa behar duzu parametroa erabiliz Baimen. Lehen begiratuan, egitura baino askoz sinpleagoa dirudi Kudeaketa APIa, baina igoera- eta kontsulta-eskaeretako eremu-kopurua eta eskaera horien egitura nahiko konplexuak dira. Hauek funtzionalki konpara daitezke Mehatxuen Prebentzioko profilekin atebide/sandbox segurtasun-politika batean.

Momentuz, Mehatxuen Prebentzio APIaren bertsio bakarra kaleratu da - 1.0; API deien URLak sartu beharko luke v1 bertsioa zehaztu behar duzun zatian. Kudeaketa APIa ez bezala, URLan APIaren bertsioa adieraztea beharrezkoa da, bestela ez da eskaera exekutatuko.

Birusaren aurkako osagaiak, beste osagairik gabe deitzen denean (te, erauzketa), gaur egun md5 hash batuketak dituzten kontsulta-eskaerak soilik onartzen ditu. Mehatxuen emulazioa eta mehatxuen erauzketa sha1 eta sha256 hash batuketak ere onartzen dituzte.

Oso garrantzitsua da kontsultetan akatsik ez egitea! Eskaera akatsik gabe exekutatu daiteke, baina ez guztiz. Aurrera begira, ikus dezagun zer gerta daitekeen kontsultetan akatsak/akatsak daudenean.

Eskatu idazketa batekin txostenak(txostenak) hitzarekin

{ "request":  [  

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

Erantzunean ez da errorerik egongo, baina ez da txostenei buruzko informaziorik egongo

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

Txostenen klabean akatsik gabeko eskaera egiteko, ordea

{ "request":  [  

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

Txostenak deskargatzeko IDa duen erantzuna jasotzen dugu

{
  "response": [
    {
      "status": {
        "code": 1001,
        "label": "FOUND",
        "message": "The request has been fully answered."
      },
      "sha256": "9cc488fa6209caeb201678f8360a6bb806bd2f85b59d108517ddbbf90baec33a",
      "file_type": "pdf",
      "file_name": "",
      "features": [
        "te"
      ],
      "te": {
        "trust": 10,
        "images": [
          {
            "report": {
              "verdict": "malicious",
              "full_report": "b684066e-e41c-481a-a5b4-be43c27d8b65",
              "pdf_report": "e48f14f1-bcc7-4776-b04b-1a0a09335115",
              "xml_report": "d416d4a9-4b7c-4d6d-84b9-62545c588963"
            },
            "status": "found",
            "id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
            "revision": 1
          }
        ],
        "score": -2147483648,
        "combined_verdict": "malicious",
        "severity": 4,
        "confidence": 3,
        "status": {
          "code": 1001,
          "label": "FOUND",
          "message": "The request has been fully answered."
        }
      }
    }
  ]
}

API gako okerra/iraungitako bat bidaltzen badugu, 403 errore bat jasoko dugu erantzun moduan.

SandBlast APIa: hodeian eta tokiko gailuetan

API eskaerak Threat Emulation osagaia (blade) gaituta duten Check Point gailuetara bidal daitezke. Eskaeretarako helbide gisa, gailuaren ip/url eta 18194 ataka erabili behar dituzu (adibidez, https://10.10.57.19:18194/tecloud/api/v1/file/query). Gainera, ziurtatu behar duzu gailuko segurtasun-politikak konexio hori onartzen duela. Tokiko gailuetan API gakoaren bidezko baimena lehenespenez itzali eta Baliteke eskaera-goiburuetako Baimen gakoa ez bidaliko.

CheckPoint hodeirako API eskaerak helbidera bidali behar dira te.checkpoint.com (adibidez - https://te.checkpoint.com/tecloud/api/v1/file/query). API gakoa probako lizentzia gisa lor daiteke 60 egunez Check Pointeko bazkideekin edo konpainiaren tokiko bulegoarekin harremanetan jarrita.

Tokiko gailuetan, Threat Extraction ez dago oraindik estandar gisa onartzen. Mehatxuen Prebentzioko APIa eta erabili behar da Mehatxuen Prebentzioaren APIa Security Gatewayrako (artikuluaren amaieran zehatzago hitz egingo dugu).

Tokiko gailuek ez dute kuota eskaera onartzen.

Bestela, ez dago desberdintasunik tokiko gailuei eta hodeiari egindako eskaeren artean.

Kargatu API deia

Erabilitako metodoa βˆ’ POST

Deitu helbidea - https:///tecloud/api/v1/file/upload

Eskaerak bi zati ditu (inprimakia-datuak): emulaziorako/garbiketarako zuzendutako fitxategi bat eta testuarekin eskaeraren gorputz bat.

Testu eskaera ezin da hutsik egon, baina baliteke konfiguraziorik ez edukitzea. Eskaera arrakastatsua izan dadin, gutxienez honako testu hau bidali beharko duzu eskaeran:

Kargatzeko eskaera egiteko gutxieneko behar da

HTTP POST

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

Goiburu:

baimena:

Organoak

{

"eskaera": {

}

}

File

File

Kasu honetan, fitxategia lehenetsitako parametroen arabera prozesatuko da: osagaia - te, OS irudiak - Irabazi XP eta irabazi 7, txostenik sortu gabe.

Testu eskaerako eremu nagusiei buruzko iruzkinak:

fitxategi izena ΠΈ fitxategi_mota Hutsik utz ditzakezu edo ez bidali batere, ez baita informazio bereziki erabilgarria fitxategi bat kargatzean. APIaren erantzunean, eremu hauek automatikoki beteko dira deskargatutako fitxategiaren izenaren arabera, eta cacheko informazioa oraindik bilatu beharko da md5/sha1/sha256 hash zenbatekoak erabiliz.

Fitxategi_izena eta fitxategi_mota hutsik dituen eskaera adibidea

{

"request": {

"file_name": "",

"file_type": "",

}

}

Ezaugarriak β€” sandbox-ean prozesatzen denean beharrezko funtzionalitateak adierazten dituen zerrenda - av (Anti-Virus), te (Threat Emulation), extraction (Threat Extraction). Parametro hau batere pasatzen ez bada, osagai lehenetsia bakarrik erabiliko da - te (Mehatxuen emulazioa).

Eskuragarri dauden hiru osagaiak egiaztatzea gaitzeko, osagai horiek zehaztu behar dituzu API eskaeran.

Av, te eta erauzketa egiaztatzearekin egindako eskaeraren adibidea

{ "request":  [  

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

Giltzak te atalean

irudiak β€” Egiaztapena egingo den sistema eragileen id eta berrikuspen zenbakia duten hiztegiak biltzen dituen zerrenda. IDak eta berrikuspen-zenbakiak berdinak dira tokiko gailu guztietan eta hodeian.

Sistema eragileen eta berrikuspenen zerrenda

Eskuragarri dagoen OS Irudi IDa

Revision

Irudia OS eta Aplikazioa

e50e99f3-5963-4573-af9e-e3f4750b55e2

1

Microsoft Windows: XP - 32 biteko SP3
Bulegoa: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash Player 9r115 eta ActiveX 10.0
Java exekuzioa: 1.6.0u22

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

1

Microsoft Windows: 7 - 32 bit
Bulegoa: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash Player: 10.2r152 (PluginActiveX)
Java exekuzioa: 1.6.0u0

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

1

Microsoft Windows: 7 - 32 bit
Bulegoa: 2010
Adobe Acrobat Reader: 9.4
Flash Player: 11.0.1.152 (Plugin & ActiveX)
Java exekuzioa: 1.7.0u0

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

1

Microsoft Windows: 7 - 32 bit
Bulegoa: 2013
Adobe Acrobat Reader: 11.0
Flash Player: 15 (Plugin & ActiveX)
Java exekuzioa: 1.7.0u9

3ff3ddae-e7fd-4969-818c-d5f1a2be336d

1

Microsoft Windows: 7 - 64 bit
Bulegoa: 2013 (32 bit)
Adobe Acrobat Reader: 11.0.01
Flash Player: 13 (Plugin & ActiveX)
Java exekuzioa: 1.7.0u9

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

 

Microsoft Windows: 8.1 - 64 bit
Bulegoa: 2013 (64 bit)
Adobe Acrobat Reader: 11.0.10
Flash Player: 18.0.0.160 (Plugin & ActiveX)
Java exekuzioa: 1.7.0u9

10b4a9c6-e414-425c-ae8b-fe4dd7b25244 

 

1

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

Irudien gakoa batere zehazten ez bada, emulazioa Check Point-ek gomendatutako irudietan egingo da (gaur egun Win XP eta Win 7). Irudi hauek errendimenduaren eta harrapatzeko tasaren oreka onenaren arabera gomendatzen dira.

txostenak β€” Fitxategia gaiztoa izango balitz, eskatzen ditugun txostenen zerrenda. Aukera hauek daude eskuragarri:

  1. laburpena - .tar.gz artxiboa emulazioari buruzko txostena duen guztiontzat eskatutako irudiak (html orria eta osagaiak, esate baterako, emulatzailearen sistema eragilearen bideo bat, sareko trafiko-iraulketa bat, txosten bat json-n eta lagina bera pasahitzez babestutako artxibo batean). Erantzunaren gakoa bilatzen ari gara - laburpena_txostena txostena gero deskargatzeko.

  2. pdf - Emulazioari buruzko dokumentua bat irudia, asko kontsola adimendunaren bidez jasotzen ohituta daudenak. Erantzunaren gakoa bilatzen ari gara - pdf_txostena txostena gero deskargatzeko.

  3. xml - Emulazioari buruzko dokumentua bat irudia, erosoa txosteneko parametroak gero analizatzeko. Erantzunaren gakoa bilatzen ari gara - xml_txostena txostena gero deskargatzeko.

  4. tar - .tar.gz artxiboa emulazioari buruzko txostena duen bat eskatutako irudiak (html orria eta osagaiak, esate baterako, emulatzailearen sistema eragilearen bideo bat, sareko trafiko-iraulketa bat, txosten bat json-n eta lagina bera pasahitzez babestutako artxibo batean). Erantzunaren gakoa bilatzen ari gara - txosten_osoa txostena gero deskargatzeko.

Zer dago laburpen txostenaren barruanCheck Point SandBlast-ekin interakzioa API bidez

Full_report, pdf_report, xml_report teklak OS bakoitzeko hiztegian daude

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

Baina summary_report gakoa - emulaziorako bat dago orokorrean

{
  "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 eta xml eta pdf txostenak aldi berean eska ditzakezu, laburpena eta tar eta xml eska ditzakezu. Ezin izango da laburpen txostena eta pdf bat aldi berean eskatu.

Erauzketa atalean giltzak

Mehatxuak erauzteko, bi gako bakarrik erabiltzen dira:

metodoa β€” pdf (bihurtu pdf bihurtu, lehenespenez erabiltzen da) edo garbia (eduki aktiboa garbitzen).

ateratako_piezen_kodeak - Eduki aktiboa kentzeko kodeen zerrenda, metodo garbirako soilik aplikagarria

Fitxategietatik edukia kentzeko kodeak

kodea

Deskribapena

1025

Lotutako objektuak

1026

Makroak eta kodea

1034

Hiperesteka sentikorra

1137

PDF GoToR ekintzak

1139

PDF Abiarazteko ekintzak

1141

PDF URI ekintzak

1142

PDF Soinu Ekintzak

1143

PDF Filmeko Ekintzak

1150

PDF JavaScript ekintzak

1151

PDF Bidali formularioaren ekintzak

1018

Datu-basearen kontsultak

1019

Txertatutako objektuak

1021

Azkar Gorde Datuak

1017

Propietate pertsonalizatuak

1036

Propietate estatistikoak

1037

Laburpen Propietateak

Garbitutako kopia bat deskargatzeko, segundo batzuen buruan kontsulta eskaera bat ere egin beharko duzu (behean eztabaidatuko dena), fitxategiaren hash zenbatekoa eta erauzketa osagaia eskaeraren testuan zehaztuz. Garbitutako fitxategia kontsultaren erantzuneko id-a erabiliz jaso dezakezu - extracted_file_download_id. Berriro ere, apur bat aurrera begira, garbitutako dokumentu bat deskargatzeko id bat bilatzeko eskaera eta kontsulta erantzun baten adibideak ematen ditut.

Kontsulta eskaera extracted_file_download_id gakoa bilatzeko

{ "request":  [  

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

Kontsultaren erantzuna (bilatu extracted_file_download_id gakoa)

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

Orokorra

API dei batean, fitxategi bakarra bidali dezakezu egiaztatzeko.

Av osagaiak ez du gakoekin atal gehigarririk behar, nahikoa da hiztegian zehaztea Ezaugarriak.

Kontsultatu API deia

Erabilitako metodoa βˆ’ POST

Deitu helbidea - https:///tecloud/api/v1/file/query

Fitxategi bat deskargatzeko (kargatzeko eskaera) bidali baino lehen, komeni da sandbox-aren cachea egiaztatzea (kontsulta eskaera), API zerbitzariaren karga optimizatzeko, API zerbitzariak deskargatutako fitxategiari buruzko informazioa eta epaia izan dezakeelako. Deiak testu-zati batez bakarrik osatzen du. Eskaeraren beharrezko zatia sha1/sha256/md5 fitxategiaren hash zenbatekoa da. Bide batez, igoera eskaeraren erantzunean lor dezakezu.

Kontsultarako beharrezkoa den gutxienekoa

HTTP POST

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

Goiburu:

baimena:

Organoak

{

"eskaera": {

"sha256":

}

}

Kargatze-eskaera baten erantzun baten adibidea, non sha1/md5/sha256 hash-kopuruak ikusgai dauden

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

Kontsulta-eskaerak, hash-kopuruaz gain, kargatzeko eskaeraren berdina izan behar du (edo aurreikusita dagoena), edo baita "dagoeneko" ere (kontsulta eskaeran kargatzeko eskaeran baino eremu gutxiago edukitzea). Kontsulta eskaerak igoera eskaeran zeuden baino eremu gehiago dituen kasuan, ez duzu erantzunean eskatutako informazio guztia jasoko.

Hona hemen eskatutako datu guztiak aurkitu ez diren kontsulta baten erantzunaren adibide bat

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

Erreparatu soroei kodea ΠΈ etiketa. Eremu hauek hiru aldiz agertzen dira egoera-hiztegietan. Lehenik eta behin, "code" gako globala ikusiko dugu: 1006 eta "label": "PARTIALLY_FOUND". Ondoren, gako hauek eskatu genuen osagai bakoitzerako aurkitzen dira - te eta erauzketa. Eta datuak aurkitu direla argi badago, ateratzeko ez dago informaziorik.

Hauxe da kontsultak goiko adibiderako

{ "request":  [  

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

Kontsulta eskaera bat erauzketa osagairik gabe bidaltzen baduzu

{ "request":  [  

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

Ondoren, erantzunak informazio osoa izango du ("kodea": 1001, "etiketa": "AURKITU")

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

Cachean informaziorik ez badago, erantzuna "etiketa" izango da: "EZ_AURKITU"

{
  "response": [
    {
      "status": {
        "code": 1004,
        "label": "NOT_FOUND",
        "message": "Could not find the requested file. Please upload it."
      },
      "sha256": "313c0feb009356495b7f4a60e96737120beb30e1912c6d866218cee830aebd91",
      "file_type": "",
      "file_name": "",
      "features": [
        "te"
      ],
      "te": {
        "trust": 0,
        "images": [
          {
            "report": {
              "verdict": "unknown"
            },
            "status": "not_found",
            "id": "10b4a9c6-e414-425c-ae8b-fe4dd7b25244",
            "revision": 1
          }
        ],
        "score": -2147483648,
        "status": {
          "code": 1004,
          "label": "NOT_FOUND",
          "message": "Could not find the requested file. Please upload it."
        }
      }
    }
  ]
}

API dei batean, hainbat hash-kopuru bidal ditzakezu aldi berean egiaztatzeko. Erantzunak eskaeran bidalitako ordena berean itzuliko ditu datuak.

Kontsulta eskaera adibidea sha256 zenbateko hainbatekin

{ "request":  [  

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

Sha256 kopuru anitz dituen kontsulta bati erantzuna

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

Kontsulta eskaera batean hainbat hash batuketa aldi berean eskatzeak ere eragin onuragarria izango du API zerbitzariaren errendimenduan.

Deskargatu API deia

Erabilitako metodoa βˆ’ POST (dokumentazioaren arabera), GET ere funtzionatzen du (eta logikoagoa dirudi)

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

Goiburuak API gakoa pasa behar da, eskaeraren gorputza hutsik dago, deskarga IDa URL helbidean pasatzen da.

Kontsulta eskaera bati erantzunez, emulazioa amaitu eta fitxategia deskargatzean txostenak eskatu badira, txostenak deskargatzeko IDa ikusgai egongo da. Garbitu kopia bat eskatzen bada, id-a bilatu beharko zenuke garbitutako dokumentua deskargatzeko.

Guztira, kargatzeko id balioa duen kontsultaren erantzuneko gakoak hauek izan daitezke:

  • laburpena_txostena

  • txosten_osoa

  • pdf_txostena

  • xml_txostena

  • ateratako_fitxategia_deskargatu_id

Jakina, kontsulta-eskaerari erantzuteko gako hauek jasotzeko, eskaeran zehaztu behar dira (txostenetarako) edo gogoratu eskaera egin behar dela erauzketa funtzioa erabiliz (garbitutako dokumentuetarako)

Quota API deia

Erabilitako metodoa βˆ’ POST

Deitu helbidea - https:///tecloud/api/v1/file/quota

Hodeian geratzen den kuota egiaztatzeko, erabili kuota kontsulta. Eskaeraren gorputza hutsik dago.

Kuota eskaera baten erantzunaren adibidea

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

Mehatxuen Prebentzioaren APIa Security Gatewayrako

API hau Mehatxuen Prebentzioaren APIaren aurretik garatu zen eta tokiko gailuetarako soilik dago pentsatuta. Oraingoz Threat Extraction APIa behar baduzu bakarrik izan daiteke erabilgarria. Mehatxuen emulaziorako, hobe da ohiko Mehatxuen Prebentzio APIa erabiltzea. Pizteko SGrako TP APIa eta konfiguratu urratsak jarraitu behar dituzun API gakoa sk113599. 6b urratsean arreta jartzea eta orriaren irisgarritasuna egiaztatzea gomendatzen dut https://<IPAddressofSecurityGateway>/UserCheck/TPAPI izan ere, emaitza negatiboa izanez gero, konfigurazio gehiagok ez du zentzurik. API dei guztiak URL honetara bidaliko dira. Dei-mota (kargatu/kontsulta) deiaren gorputz teklan araututa dago βˆ’ eskaera_izena. Beharrezko giltzak ere badira - api_key (konfigurazio prozesuan gogoratu behar duzu) eta protokolo_bertsioa (gaur egungo bertsioa 1.1 da). API honen dokumentazio ofiziala hemen aurki dezakezu sk137032. Abantaila erlatiboak kargatzerakoan hainbat fitxategi aldi berean bidaltzeko aukera dago, fitxategiak base64 testu-kate gisa bidaltzen baitira. Fitxategiak base64tik kodetzeko/deskodetzeko, Postman-en lineako bihurgailu bat erabil dezakezu erakustaldietarako, adibidez - https://base64.guru. Xede praktikoetarako, kodeketa eta deskodeketa metodo integratuak erabili behar dituzu kodea idaztean.

Orain ikus ditzagun funtzioak hurbilagotik te ΠΈ erauzketa API honetan.

Osagairako te eskainitako hiztegia te_aukerak igoera/kontsulta eskaeretan, eta eskaera honetako gakoak guztiz bat datoz te gakoekin Mehatxuen Prebentzioko APIa.

Win10-n fitxategien emulazio eskaeraren adibidea txostenekin

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

Osagairako erauzketa eskainitako hiztegia scrub_aukerak. Eskaera honek garbiketa-metodoa zehazten du: PDF bihurtu, eduki aktiboa garbitu edo Mehatxuen Prebentzioaren profilaren araberako modu bat hautatu (profilaren izena adierazten da). Fitxategi baten erauzketa API eskaera bati erantzuteko gauza bikaina da eskaera horren erantzunean kopia garbi bat jasotzen duzula base64 enkriptatutako kate gisa (ez duzu kontsulta-eskaerarik egin beharrik eta id-a bilatu deskargatzeko. dokumentua)

Fitxategi bat garbitzeko eskaeraren adibidea

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

Erantzun eskaera bati

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

Garbitutako kopia bat lortzeko API eskaera gutxiago behar diren arren, aukera hau aplikazioan erabiltzen den formulario-datuen eskaera baino hobeagoa eta erosoagoa iruditzen zait. Mehatxuen Prebentzioko APIa.

Postari Bildumak

Postman-en bildumak sortu ditut Threat Prevention APIrako eta Threat Prevention APIrako Security Gateway-rako, API eskaera ohikoenak ordezkatzen dituztenak. Zerbitzariaren ip/url APIa eta gakoa eskaeretan automatikoki ordezkatu ahal izateko, eta fitxategia deskargatu ondoren sha256 hash zenbatekoa gogoratu ahal izateko, hiru aldagai sortu dira bildumetan (bilduma-ezarpenetara joanda aurki ditzakezu). Editatu -> Aldagaiak): te_api (beharrezkoa), api_key (bete behar da, TP APIa tokiko gailuekin erabiltzen denean izan ezik), sha256 (utzi hutsik, ez da erabiltzen TP APIan SGrako).

Deskargatu Postman bilduma Mehatxuak Prebenitzeko APIa

Deskargatu Postman bilduma Security Gateway for Threat Prevention for API

Erabileraren adibideak

Komunitatean Egiaztatu Mates Python-en idatzitako script-ak aurkezten dira, nahi den direktoriotik fitxategiak egiaztatzen dituztenak TP APIaEta SGrako TP APIa. Mehatxuen Prebentzio APIarekin elkarreraginaren bidez, fitxategiak eskaneatzeko gaitasuna nabarmen handitzen da, orain hainbat plataformatako fitxategiak aldi berean eskaneatu ditzakezu eta VirusTotal APIa, eta gero Check Point sandbox-en), eta sareko trafikotik ez ezik, sareko edozein unitatetatik eta, adibidez, CRM sistemetatik ere hartu fitxategiak.

Iturria: www.habr.com

Gehitu iruzkin berria