Samskipti við Check Point SandBlast í gegnum API

Samskipti við Check Point SandBlast í gegnum API

Þessi grein mun nýtast þeim sem þekkja til tækni Check Point með skráarlíkingu (Threat Emulation) og fyrirbyggjandi skráahreinsun (Útdráttur ógnar) og vill stíga skref í átt að því að gera þessi verkefni sjálfvirk. Check Point hefur Forritaskil ógnavarna, sem keyrir bæði í skýinu og á staðbundnum tækjum, og virknilega er það eins og að athuga skrár í vef/smtp/ftp/smb/nfs umferðarstraumum. Þessi grein er að hluta til túlkun höfundar á safni greina úr opinberu skjölunum, en byggð á eigin rekstrarreynslu og eigin dæmum. Einnig í greininni finnur þú Postman söfn höfundar til að vinna með ógnarvarnarforritaskilum.

Grunn skammstafanir

The Threat Prevention API vinnur með þremur meginþáttum, sem eru kallaðir í API með eftirfarandi textagildum:

av — Vírusvarnarhlutur, ábyrgur fyrir undirskriftargreiningu á þekktum ógnum.

te - Threat Emulation hluti, ábyrgur fyrir því að athuga skrár í sandkassanum og gera illgjarnan/góðkynja dóm eftir líkingu.

útdráttur - Threat Extraction hluti, ábyrgur fyrir því að fljótt umbreyta skrifstofuskjölum í öruggt form (þar sem allt hugsanlega skaðlegt efni er fjarlægt), til að koma þeim fljótt til notenda/kerfa.

API uppbygging og helstu takmarkanir

Threat Prevention API notar aðeins 4 beiðnir - hlaða upp, spyrjast fyrir, hlaða niður og kvóta. Í hausnum fyrir allar fjórar beiðnirnar þarftu að senda API lykilinn með því að nota færibreytuna Heimildin. Við fyrstu sýn kann uppbyggingin að virðast miklu einfaldari en í Stjórnunarforritaskil, en fjöldi reita í upphleðslu- og fyrirspurnarbeiðnum og uppbygging þessara beiðna er nokkuð flókin. Þetta er hægt að bera saman við snið fyrir varnir gegn ógnum í öryggisstefnu gáttar/sandkassa.

Í augnablikinu hefur eina útgáfan af Threat Prevention API verið gefin út - 1.0; slóðin fyrir API símtöl ætti að innihalda v1 í hlutanum þar sem þú þarft að tilgreina útgáfuna. Ólíkt Management API er nauðsynlegt að tilgreina API útgáfuna í vefslóðinni, annars verður beiðnin ekki framkvæmd.

Vírusvarnarhlutinn, þegar kallaður er á hann án annarra íhluta (te, útdráttur), styður sem stendur aðeins fyrirspurnabeiðnir með md5 kjötkássaupphæðum. Threat Emulation og Threat Extract styðja einnig sha1 og sha256 kjötkássaupphæðir.

Það er mjög mikilvægt að gera ekki mistök í fyrirspurnum! Hægt er að framkvæma beiðnina án villu, en ekki að fullu. Þegar litið er aðeins fram á veginn skulum við skoða hvað getur gerst þegar villur/innsláttarvillur eru í fyrirspurnum.

Beiðni með prentvillu með orðinu reports(reportss)

{ "request":  [  

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

Engar villur verða í svarinu en engar upplýsingar verða að finna um skýrslurnar

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

En fyrir beiðni án innsláttarvillu í skýrslulyklinum

{ "request":  [  

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

Við fáum svar sem inniheldur nú þegar auðkenni til að hlaða niður skýrslum

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

Ef við sendum rangan/útrunninn API lykil fáum við 403 villu sem svar.

SandBlast API: í skýinu og á staðbundnum tækjum

Hægt er að senda API beiðnir til Check Point tæki sem hafa Threat Emulation hluti (blað) virkan. Sem heimilisfang fyrir beiðnir þarftu að nota ip/url tækisins og tengi 18194 (til dæmis https://10.10.57.19:18194/tecloud/api/v1/file/query). Þú ættir líka að ganga úr skugga um að öryggisstefna tækisins leyfi þessa tengingu. Heimild með API lykli á staðbundnum tækjum sjálfgefið af og Heimildarlykill í beiðnihausum má alls ekki senda.

API beiðnir til CheckPoint skýsins ætti að senda til te.checkpoint.com (til dæmis - https://te.checkpoint.com/tecloud/api/v1/file/query). API lykilinn er hægt að fá sem prufuleyfi í 60 daga með því að hafa samband við Check Point samstarfsaðila eða staðbundna skrifstofu fyrirtækisins.

Í staðbundnum tækjum er Threat Extraction ekki enn stutt sem staðalbúnaður. Forritaskil ógnavarna og ætti að nota Threat Prevention API fyrir öryggisgátt (Við munum ræða það nánar í lok greinarinnar).

Staðbundin tæki styðja ekki kvótabeiðnina.

Annars er enginn munur á beiðnum til staðbundinna tækja og til skýsins.

Hladdu upp API símtali

Aðferð notuð - POST

Símtals heimilisfang - https:///tecloud/api/v1/file/upload

Beiðnin samanstendur af tveimur hlutum (form-gögn): skrá sem er ætluð til eftirlíkingar/hreinsunar og meginmáli beiðninnar með texta.

Textabeiðnin má ekki vera tóm, en hún gæti ekki innihaldið neina uppsetningu. Til þess að beiðnin nái fram að ganga verður þú að senda að minnsta kosti eftirfarandi texta í beiðninni:

Lágmarks krafist fyrir upphleðslubeiðni

HTTP POST

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

Fyrirsagnir:

Heimild:

Body

{

"beiðni": {

}

}

File

File

Í þessu tilviki verður skráin unnin í samræmi við sjálfgefnar færibreytur: hluti - te, OS myndir - Vinna XP og Win 7, án þess að búa til skýrslu.

Athugasemdir við helstu reiti textabeiðnarinnar:

Skráarnafn и skráargerð Þú getur skilið þær eftir auðar eða alls ekki sent þær, þar sem þetta eru ekki sérstaklega gagnlegar upplýsingar þegar þú hleður upp skrá. Í API-svarinu verða þessir reitir fylltir út sjálfkrafa út frá nafni niðurhalaðrar skráar og enn verður að leita að upplýsingum í skyndiminni með því að nota md5/sha1/sha256 kjötkássaupphæðir.

Dæmi um beiðni með tómu skráarnafni og skráargerð

{

"request": {

"file_name": "",

"file_type": "",

}

}

Lögun — listi sem gefur til kynna nauðsynlega virkni við vinnslu í sandkassanum - av (vírusvarnar), te (ógnarhermi), útdráttur (ógnarútdráttur). Ef þessi færibreyta er alls ekki samþykkt, þá verður aðeins sjálfgefinn hluti notaður - te (Threat Emulation).

Til að virkja innritun á þrjá tiltæka íhluti þarftu að tilgreina þessa íhluti í API beiðninni.

Dæmi um beiðni með innritun av, te og útdráttur

{ "request":  [  

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

Lyklar í te hlutanum

myndir — lista sem inniheldur orðabækur með auðkenni og endurskoðunarnúmeri yfir stýrikerfin þar sem athugunin verður framkvæmd. Auðkenni og endurskoðunarnúmer eru þau sömu fyrir öll staðbundin tæki og skýið.

Listi yfir stýrikerfi og endurskoðun

Tiltækt OS Image ID

Endurskoðun

Image OS og forrit

e50e99f3-5963-4573-af9e-e3f4750b55e2

1

Microsoft Windows: XP - 32bita SP3
Skrifstofa: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash Player 9r115 og Virkur X 10.0
Java Runtime: 1.6.0u22

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

1

Microsoft Windows: 7 - 32 bita
Skrifstofa: 2003, 2007
Adobe Acrobat Reader: 9.0
Flash Player: 10.2r152 (Stinga innVirkur X)
Java Runtime: 1.6.0u0

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

1

Microsoft Windows: 7 - 32 bita
Skrifstofa: 2010
Adobe Acrobat Reader: 9.4
Flash Player: 11.0.1.152 (Stinga inn & Virkur X)
Java Runtime: 1.7.0u0

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

1

Microsoft Windows: 7 - 32 bita
Skrifstofa: 2013
Adobe Acrobat Reader: 11.0
Flash Player: 15 (Stinga inn & Virkur X)
Java Runtime: 1.7.0u9

3ff3ddae-e7fd-4969-818c-d5f1a2be336d

1

Microsoft Windows: 7 - 64 bita
Skrifstofa: 2013 (32bita)
Adobe Acrobat Reader: 11.0.01
Flash Player: 13 (Stinga inn & Virkur X)
Java Runtime: 1.7.0u9

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

 

Microsoft Windows: 8.1 - 64 bita
Skrifstofa: 2013 (64bita)
Adobe Acrobat Reader: 11.0.10
Flash Player: 18.0.0.160 (Stinga inn & Virkur X)
Java Runtime: 1.7.0u9

10b4a9c6-e414-425c-ae8b-fe4dd7b25244 

 

1

Microsoft Windows: 10
Skrifstofa: Professional Plus 2016 en-us  
Adobe Acrobat Reader: DC 2015 MUI
Flash Player: 20 (Stinga inn & Virkur X)
Java Runtime: 1.7.0u9

Ef myndalykillinn er alls ekki tilgreindur mun líkja eftir myndum sem Check Point mælir með (nú Win XP og Win 7). Mælt er með þessum myndum út frá sjónarmiðum um besta jafnvægi afkasta og aflahlutfalls.

skýrslur — Listi yfir skýrslur sem við óskum eftir ef skráin reynist illgjarn. Eftirfarandi valkostir eru í boði:

  1. Yfirlit - .tar.gz skjalasafn sem inniheldur skýrslu um eftirlíkingu eftir til allra umbeðnar myndir (bæði html síðu og íhlutir eins og myndband frá stýrikerfishermi, netumferðardump, skýrsla í json og sýnishornið sjálft í skjalasafni sem er varið með lykilorði). Við erum að leita að lyklinum í svarinu - yfirlitsskýrsla fyrir síðari niðurhal á skýrslunni.

  2. pdf - skjal um eftirlíkingu í einn mynd, sem margir eru vanir að fá í gegnum Smart Console. Við erum að leita að lyklinum í svarinu - pdf_skýrsla fyrir síðari niðurhal á skýrslunni.

  3. xml- - skjal um eftirlíkingu í einn mynd, þægilegt fyrir síðari þáttun á breytum í skýrslunni. Við erum að leita að lyklinum í svarinu - xml_skýrsla fyrir síðari niðurhal á skýrslunni.

  4. tar - .tar.gz skjalasafn sem inniheldur skýrslu um eftirlíkingu í einn umbeðnar myndir (bæði html síðu og íhlutir eins og myndband frá stýrikerfishermi, netumferðardump, skýrsla í json og sýnishornið sjálft í skjalasafni sem er varið með lykilorði). Við erum að leita að lyklinum í svarinu - full_skýrsla fyrir síðari niðurhal á skýrslunni.

Hvað er inni í yfirlitsskýrslunniSamskipti við Check Point SandBlast í gegnum API

Lyklarnir full_report, pdf_report, xml_report eru í orðabókinni fyrir hvert stýrikerfi

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

En summary_report lykillinn - það er einn til eftirlíkingar almennt

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

Hægt er að biðja um tar og xml og pdf skýrslur á sama tíma, hægt er að biðja um samantekt og tar og xml. Ekki verður hægt að biðja um yfirlitsskýrslu og pdf samtímis.

Lyklar í útdráttarhlutanum

Til að draga úr hættu eru aðeins tveir lyklar notaðir:

aðferð — pdf (breyta í pdf, notað sjálfgefið) eða hreint (hreinsar virkt efni).

útdrættir_hluta_kóðar - listi yfir kóða til að fjarlægja virkt efni, á aðeins við um hreinu aðferðina

Kóðar til að fjarlægja efni úr skrám

code

Lýsing

1025

Tengdir hlutir

1026

Fjölvi og kóða

1034

Viðkvæmir hlekkir

1137

PDF GoToR aðgerðir

1139

PDF ræsingaraðgerðir

1141

PDF URI aðgerðir

1142

PDF hljóðaðgerðir

1143

PDF kvikmyndaaðgerðir

1150

PDF JavaScript aðgerðir

1151

PDF Senda eyðublaðsaðgerðir

1018

Gagnasafnsfyrirspurnir

1019

Innbyggðir hlutir

1021

Hratt vistun gagna

1017

Sérsniðnar eignir

1036

Tölfræðieiginleikar

1037

Samantekt Eiginleikar

Til að hlaða niður hreinsuðu afriti þarftu einnig að leggja fram fyrirspurnarbeiðni (sem verður fjallað um hér að neðan) eftir nokkrar sekúndur, tilgreina kjötkássamagn skráarinnar og útdráttarhlutann í beiðnitextanum. Þú getur sótt hreinsuðu skrána með því að nota auðkennið úr svarinu við fyrirspurninni - extracted_file_download_id. Enn og aftur, þegar ég lít aðeins fram í tímann, gef ég dæmi um beiðni og fyrirspurnarsvar til að leita að auðkenni til að hlaða niður hreinsuðu skjali.

Fyrirspurnarbeiðni um að leita að lyklinum extracted_file_download_id

{ "request":  [  

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

Svar við fyrirspurn (leitaðu að lykli fyrir 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."
                }
            }
        }
    ]
}

Yfirlit

Í einu API símtali er aðeins hægt að senda eina skrá til staðfestingar.

Av hluti þarf ekki viðbótarhluta með lyklum; það er nóg að tilgreina hann í orðabókinni Lögun.

Fyrirspurnar API símtal

Aðferð notuð - POST

Símtals heimilisfang - https:///tecloud/api/v1/file/query

Áður en þú sendir skrá til niðurhals (upphleðslubeiðni) er ráðlegt að athuga sandkassaskyndiminni (fyrirspurnarbeiðni) til að hámarka álagið á API-þjóninn, þar sem API-þjónninn gæti þegar haft upplýsingar og úrskurð um niðurhalaða skrá. Símtalið samanstendur aðeins af textahluta. Nauðsynlegur hluti beiðninnar er sha1/sha256/md5 kjötkássamagn skráarinnar. Við the vegur, þú getur fengið það í svari við upphleðslubeiðninni.

Lágmarks krafist fyrir fyrirspurn

HTTP POST

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

Fyrirsagnir:

Heimild:

Body

{

"beiðni": {

"sha256":

}

}

Dæmi um svar við upphleðslubeiðni, þar sem sha1/md5/sha256 kjötkássaupphæðir eru sýnilegar

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

Fyrirspurnarbeiðnin, auk kjötkássaupphæðarinnar, ætti helst að vera sú sama og upphleðslubeiðnin var (eða fyrirhuguð er), eða jafnvel „þegar“ (innihalda færri reiti í fyrirspurnarbeiðninni en í upphleðslubeiðninni). Ef fyrirspurnarbeiðnin inniheldur fleiri reiti en voru í upphleðslubeiðninni færðu ekki allar nauðsynlegar upplýsingar í svarinu.

Hér er dæmi um svar við fyrirspurn þar sem ekki fundust öll nauðsynleg gögn

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

Gefðu gaum að reitunum kóða и merki. Þessir reitir birtast þrisvar sinnum í stöðuorðabókum. Fyrst sjáum við alþjóðlega lykilinn „kóða“: 1006 og „merki“: „PARTIALLY_FOUND“. Næst eru þessir lyklar að finna fyrir hvern einstakan íhlut sem við óskuðum eftir - te og útdráttur. Og ef það er ljóst að gögnin hafa fundist, þá eru engar upplýsingar til útdráttar.

Svona leit fyrirspurnin út fyrir dæmið hér að ofan

{ "request":  [  

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

Ef þú sendir fyrirspurn án útdráttarhluta

{ "request":  [  

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

Þá mun svarið innihalda allar upplýsingar („kóði“: 1001, „merki“: „FUNDIN“)

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

Ef það eru engar upplýsingar í skyndiminni, þá verður svarið „merki“: „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."
        }
      }
    }
  ]
}

Í einu API símtali geturðu sent nokkrar kjötkássaupphæðir í einu til staðfestingar. Svarið mun skila gögnum í sömu röð og þau voru send í beiðninni.

Dæmi um fyrirspurnarbeiðni með nokkrum sha256 upphæðum

{ "request":  [  

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

Svar við fyrirspurn með mörgum sha256 upphæðum

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

Að biðja um nokkrar kjötkássaupphæðir í einu í fyrirspurnarbeiðni mun einnig hafa jákvæð áhrif á afköst API netþjónsins.

Sækja API símtal

Aðferð notuð - POST (samkvæmt skjölum), virkar líka (og kann að virðast rökréttara)

Símtals heimilisfang - https:///tecloud/api/v1/file/download?id=

Hausinn krefst þess að API lykillinn sé samþykktur, meginmál beiðninnar er tóm, niðurhalsauðkennið er sent í vefslóðinni.

Til að bregðast við fyrirspurnarbeiðni, ef eftirlíkingunni er lokið og beðið var um skýrslur þegar skránni var hlaðið niður, mun auðkennið fyrir niðurhal skýrslna vera sýnilegt. Ef beðið er um hreinsað afrit ættirðu að leita að auðkenninu til að hlaða niður hreinsaðri skjalinu.

Alls geta lyklarnir í svarinu við fyrirspurninni sem inniheldur auðkennisgildið fyrir hleðslu verið:

  • yfirlitsskýrsla

  • full_skýrsla

  • pdf_skýrsla

  • xml_skýrsla

  • auðkenni_útdráttar_skráar_niðurhals

Auðvitað, til að fá þessa lykla sem svar við fyrirspurnarbeiðninni, verða þeir að vera tilgreindir í beiðninni (fyrir skýrslur) eða muna að leggja fram beiðni með því að nota útdráttaraðgerðina (fyrir hreinsuð skjöl)

Kvóta API símtal

Aðferð notuð - POST

Símtals heimilisfang - https:///tecloud/api/v1/skrá/kvóti

Til að athuga eftirstandandi kvóta í skýinu, notaðu kvótafyrirspurnina. Meginmál beiðninnar er tóm.

Dæmi um svar við kvótabeiðni

{
  "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 fyrir öryggisgátt

Þetta API var þróað fyrir forritaskilin fyrir ógnavarnir og er eingöngu ætlað fyrir staðbundin tæki. Í bili getur það aðeins verið gagnlegt ef þú þarft Threat Extraction API. Fyrir Threat Emulation er betra að nota venjulega Threat Prevention API. Að kveikja á TP API fyrir SG og stilltu API lykilinn sem þú þarft til að fylgja skrefunum frá sk113599. Ég mæli með að fylgjast með skrefi 6b og athuga aðgengi síðunnar https://<IPAddressofSecurityGateway>/UserCheck/TPAPI vegna þess að ef um neikvæða niðurstöðu er að ræða er frekari uppsetning ekki skynsamleg. Öll API símtöl verða send á þessa slóð. Gerð símtals (hleðsla/fyrirspurn) er stjórnað í meginlykli símtals − beiðni_nafn. Einnig eru nauðsynlegir lyklar - api_lykill (þú þarft að muna það meðan á stillingarferlinu stendur) og protocol_version (núverandi útgáfa er 1.1). Þú getur fundið opinber skjöl fyrir þetta API á sk137032. Hlutfallslegir kostir fela í sér möguleikann á að senda nokkrar skrár í einu til að líkja eftir þegar þær eru hlaðnar, þar sem skrárnar eru sendar sem base64 textastrengur. Til að umrita/afkóða skrár til/frá base64 geturðu notað netbreytir í Postman í sýnikennsluskyni, til dæmis - https://base64.guru. Í hagnýtum tilgangi ættir þú að nota innbyggðu umkóðun og afkóða aðferðir þegar þú skrifar kóða.

Nú skulum við skoða aðgerðirnar nánar te и útdráttur í þessu API.

Fyrir íhlut te orðabók útveguð te_valkostir í upphleðslu-/fyrirspurnarbeiðnum, og lyklarnir í þessari beiðni falla algjörlega saman við te-lyklana inn Forritaskil ógnavarna.

Dæmi um beiðni um skráarlíkingu í Win10 með skýrslum

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

Fyrir íhlut útdráttur orðabók útveguð skrúbb_valkostir. Þessi beiðni tilgreinir hreinsunaraðferðina: umbreyttu í PDF, hreinsaðu virkt efni eða veldu stillingu í samræmi við ógnarforvarnir (prófílnafnið er gefið upp). Það frábæra við að bregðast við útdráttar-API beiðni um skrá er að þú færð hreinsað afrit í svari við þeirri beiðni sem base64 dulkóðaðan streng (þú þarft ekki að gera fyrirspurn og fletta upp auðkenninu til að hlaða niður skjal)

Dæmi um beiðni um að hreinsa skrá

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

Svaraðu beiðni

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

Þrátt fyrir þá staðreynd að færri API beiðnir eru nauðsynlegar til að fá hreinsað afrit, finnst mér þessi valkostur síður æskilegri og þægilegri en eyðublaðsgagnabeiðnin sem notuð er í Forritaskil ógnavarna.

Póstmannssöfn

Ég bjó til söfn í Postman fyrir bæði Threat Prevention API og Threat Prevention API fyrir öryggisgátt, sem tákna algengustu API beiðnirnar. Til þess að ip/url API og lykill þjónsins sé sjálfkrafa skipt út í beiðnir og sha256 kjötkássamagnið verði munað eftir að skránni hefur verið hlaðið niður, hafa þrjár breytur verið búnar til inni í söfnunum (þú getur fundið þær með því að fara í safnstillingar Breyta -> Breytur): te_api (krafist), api_key (þarf að fylla út, nema þegar TP API er notað með staðbundnum tækjum), sha256 (skilið eftir autt, ekki notað í TP API fyrir SG).

Sæktu Postman safnið fyrir ógnarvarnir API

Sæktu Postman safnið fyrir Threat Prevention for Security Gateway API

Dæmi um notkun

Í samfélaginu Athugaðu félagar forskriftir skrifaðar í Python eru kynntar sem athuga skrár úr viðkomandi möppu í gegnum TP APIOg TP API fyrir SG. Með samskiptum við Threat Prevention API eykst getu þín til að skanna skrár verulega, þar sem nú geturðu skannað skrár á nokkrum kerfum í einu (skráðu þig inn VirusTotal API, og síðan í Check Point sandkassann), og taka á móti skrám ekki aðeins frá netumferð, heldur taka þær einnig frá hvaða netdrifum sem er og til dæmis CRM kerfi.

Heimild: www.habr.com

Bæta við athugasemd