Интеракција са Цхецк Поинт СандБласт преко АПИ-ја

Интеракција са Цхецк Поинт СандБласт преко АПИ-ја

Овај чланак ће бити користан онима који су упознати са технологијом Цхецк Поинт емулацијом датотеке (Емулација претње) и проактивно чишћење датотека (Извлачење претње) и жели да направи корак ка аутоматизацији ових задатака. Цхецк Поинт има АПИ за превенцију претњи, који ради и у облаку и на локалним уређајима, и функционално је идентично проверавању датотека у веб/смтп/фтп/смб/нфс токовима саобраћаја. Овај чланак је делимично ауторска интерпретација скупа чланака из званичне документације, али заснована на мом сопственом оперативном искуству и сопственим примерима. Такође у чланку ћете пронаћи ауторове колекције Постман за рад са АПИ-јем за превенцију претњи.

Основне скраћенице

АПИ за превенцију претњи ради са три главне компоненте, које се у АПИ-ју позивају преко следећих текстуалних вредности:

av — Анти-Вирус компонента, одговорна за анализу потписа познатих претњи.

te - Компонента Тхреат Емулатион, одговорна за проверу датотека у сандбок-у и доношење злонамерне/бенигне пресуде након емулације.

вађење - Компонента Тхреат Ектрацтион, одговорна за брзо претварање канцеларијских докумената у безбедну форму (у којој се уклања сав потенцијално злонамерни садржај), како би се брзо испоручили корисницима/системима.

Структура АПИ-ја и главна ограничења

АПИ за превенцију претњи користи само 4 захтева − отпремање, упит, преузимање и квота. У заглављу за сва четири захтева потребно је да проследите АПИ кључ помоћу параметра овлашћење. На први поглед, структура може изгледати много једноставнија него у АПИ за управљање, али број поља у захтевима за отпремање и упите и структура ових захтева су прилично сложени. Они се могу функционално упоредити са профилима за превенцију претњи у безбедносној политици мрежног пролаза/заштићеног окружења.

Тренутно је објављена једина верзија АПИ-ја за превенцију претњи – 1.0 УРЛ за АПИ позиве треба да садржи v1 у делу где треба да наведете верзију. За разлику од АПИ-ја за управљање, потребно је у УРЛ-у навести верзију АПИ-ја, иначе се захтев неће извршити.

Компонента Анти-Вирус, када се позове без других компоненти (те, екстракција), тренутно подржава само захтеве за упите са мд5 хеш сумама. Емулација претње и екстракција претње такође подржавају сха1 и сха256 хеш суме.

Веома је важно да не правите грешке у упитима! Захтев се може извршити без грешке, али не у потпуности. Гледајући мало унапред, хајде да погледамо шта се може десити када постоје грешке/грешке у куцању у упитима.

Захтев са грешком у куцању са речју извештаји (извештаји)

{ "request":  [  

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

Неће бити грешке у одговору, али уопште неће бити информација о извештајима

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

Али за захтев без грешке у куцању у кључу извештаја

{ "request":  [  

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

Добијамо одговор који већ садржи ИД за преузимање извештаја

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

Ако пошаљемо нетачан/истекао АПИ кључ, добићемо грешку 403 као одговор.

СандБласт АПИ: у облаку и на локалним уређајима

АПИ захтеви се могу послати на Цхецк Поинт уређаје који имају омогућену компоненту емулације претње (бладе). Као адресу за захтеве потребно је да користите ип/урл уређаја и порт 18194 (на пример, хттпс://10.10.57.19:18194/тецлоуд/апи/в1/филе/куери). Такође треба да се уверите да безбедносна политика на уређају дозвољава ову везу. Ауторизација преко АПИ кључа на локалним уређајима подразумевано ван а ауторизациони кључ у заглављима захтева се можда уопште не шаље.

АПИ захтеве за ЦхецкПоинт облак треба да се шаљу на те.цхецкпоинт.цом (на пример - хттпс://те.цхецкпоинт.цом/тецлоуд/апи/в1/филе/куери). АПИ кључ се може добити као пробна лиценца на 60 дана тако што ћете контактирати Цхецк Поинт партнере или локалну канцеларију компаније.

На локалним уређајима екстракција претњи још није стандардно подржана. АПИ за превенцију претњи и треба да се користи АПИ за превенцију претњи за безбедносни пролаз (о томе ћемо детаљније говорити на крају чланка).

Локални уређаји не подржавају захтев за квоту.

Иначе, нема разлике између захтева ка локалним уређајима и облаку.

Уплоад АПИ позив

Коришћени метод − ПОСТ

Адреса позива - https:///тецлоуд/апи/в1/филе/уплоад

Захтев се састоји из два дела (форма-подаци): датотеке намењене емулацији/чишћењу и тела захтева са текстом.

Текстуални захтев не може бити празан, али можда не садржи никакву конфигурацију. Да би захтев био успешан, у захтеву морате послати најмање следећи текст:

Минимум потребан за захтев за отпремање

ХТТП ПОСТ

https:///тецлоуд/апи/в1/филе/уплоад

Заглавља:

Овлашћење:

Тело

{

"захтев": {

}

}

Фајл

Фајл

У овом случају, датотека ће бити обрађена у складу са подразумеваним параметрима: компонента - te, ОС слике - Вин КСП и Вин 7, без генерисања извештаја.

Коментари на главна поља у текстуалном захтеву:

назив документа и филе_типе Можете их оставити празне или их уопште не слати, јер ово није нарочито корисна информација приликом отпремања датотеке. У одговору АПИ-ја, ова поља ће се аутоматски попунити на основу имена преузете датотеке, а информације у кешу ће и даље морати да се претражују користећи мд5/сха1/сха256 хеш количине.

Пример захтева са празним филе_наме и филе_типе

{

"request": {

"file_name": "",

"file_type": "",

}

}

Карактеристике — листа која указује на неопходну функционалност приликом обраде у сандбоку - ав (Анти-Вирус), те (Емулација претње), екстракција (Извлачење претње). Ако се овај параметар уопште не проследи, тада ће се користити само подразумевана компонента - те (Емулација претње).

Да бисте омогућили проверу у три доступне компоненте, потребно је да наведете ове компоненте у захтеву за АПИ.

Пример захтева са провером ав, те и екстракцијом

{ "request":  [  

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

Кључеви у одељку те

слике — листа која садржи речнике са ИД-ом и бројем ревизије оперативних система у којима ће се провера извршити. ИД-ови и бројеви ревизија су исти за све локалне уређаје и облак.

Списак оперативних система и ревизија

Доступан ИД слике ОС-а

Ревизија

Слика ОС и апликација

e50e99f3-5963-4573-af9e-e3f4750b55e2

1

Виндовс: КСП - 32-бит СП3
Kанцеларија: КСНУМКС, КСНУМКС
Адобе Ацробат Реадер: КСНУМКС
Фласх Плаиер 9р115 и АцтивеКс 10.0
Јава Рунтиме: КСНУМКСуКСНУМКС

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

1

Виндовс: 7 - 32 бит
Kанцеларија: КСНУМКС, КСНУМКС
Адобе Ацробат Реадер: КСНУМКС
Фласх Плаиер: 10.2р152 (ПовезатиАцтивеКс)
Јава Рунтиме: КСНУМКСуКСНУМКС

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

1

Виндовс: 7 - 32 бит
Kанцеларија: КСНУМКС
Адобе Ацробат Реадер: КСНУМКС
Фласх Плаиер: КСНУМКС (Повезати & АцтивеКс)
Јава Рунтиме: КСНУМКСуКСНУМКС

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

1

Виндовс: 7 - 32 бит
Kанцеларија: КСНУМКС
Адобе Ацробат Реадер: КСНУМКС
Фласх Плаиер: КСНУМКС (Повезати & АцтивеКс)
Јава Рунтиме: КСНУМКСуКСНУМКС

3ff3ddae-e7fd-4969-818c-d5f1a2be336d

1

Виндовс: 7 - 64 бит
Kанцеларија: 2013 (32бит)
Адобе Ацробат Реадер: КСНУМКС
Фласх Плаиер: КСНУМКС (Повезати & АцтивеКс)
Јава Рунтиме: КСНУМКСуКСНУМКС

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

 

Виндовс: 8.1 - 64 бит
Kанцеларија: 2013 (64бит)
Адобе Ацробат Реадер: КСНУМКС
Фласх Плаиер: КСНУМКС (Повезати & АцтивеКс)
Јава Рунтиме: КСНУМКСуКСНУМКС

10b4a9c6-e414-425c-ae8b-fe4dd7b25244 

 

1

Виндовс: КСНУМКС
Kанцеларија: Профессионал Плус 2016 ср-ус  
Адобе Ацробат Реадер: ДЦ 2015 МУИ
Фласх Плаиер: КСНУМКС (Повезати & АцтивеКс)
Јава Рунтиме: КСНУМКСуКСНУМКС

Ако кључ за слике уопште није наведен, онда ће се емулација одвијати у сликама које препоручује Цхецк Поинт (тренутно Вин КСП и Вин 7). Ове слике се препоручују на основу разматрања најбољег баланса перформанси и стопе хватања.

Извештаји — списак извештаја које тражимо у случају да се покаже да је датотека злонамерна. Доступне су следеће опције:

  1. резиме - .тар.гз архива која садржи извештај о емулацији од стране свима захтеване слике (и хтмл страница и компоненте као што је видео из ОС-а емулатора, думп мрежног саобраћаја, извештај у јсон-у и сам узорак у архиви заштићеној лозинком). Тражимо кључ у одговору - Резиме извештај за накнадно преузимање извештаја.

  2. pDF - документ о емулацији у један слику, коју су многи навикли да примају преко Смарт Цонсоле. Тражимо кључ у одговору - пдф_репорт за накнадно преузимање извештаја.

  3. xML - документ о емулацији у један слика, погодна за накнадно рашчлањивање параметара у извештају. Тражимо кључ у одговору - кмл_репорт за накнадно преузимање извештаја.

  4. катран - .тар.гз архива која садржи извештај о емулацији у један захтеване слике (и хтмл страница и компоненте као што је видео из ОС-а емулатора, думп мрежног саобраћаја, извештај у јсон-у и сам узорак у архиви заштићеној лозинком). Тражимо кључ у одговору - фулл_репорт за накнадно преузимање извештаја.

Шта је унутар сажетог извештајаИнтеракција са Цхецк Поинт СандБласт преко АПИ-ја

Кључеви фулл_репорт, пдф_репорт, кмл_репорт су у речнику за сваки ОС

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

Али кључ суммари_репорт - постоји један за емулацију уопште

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

Можете захтевати тар и кмл и пдф извештаје у исто време, можете захтевати резиме и тар и кмл. Неће бити могуће захтевати збирни извештај и пдф у исто време.

Кључеви у одељку за екстракцију

За екстракцију претњи користе се само два кључа:

метод — пдф (претвори у пдф, подразумевано се користи) или цлеан (чишћење активног садржаја).

извучени кодови_делова - листа кодова за уклањање активног садржаја, применљива само за чисту методу

Кодови за уклањање садржаја из датотека

код

Opis

1025

Повезани објекти

1026

Макрои и код

1034

Осетљиве хипервезе

1137

ПДФ ГоТоР акције

1139

Радње покретања ПДФ-а

1141

ПДФ УРИ акције

1142

ПДФ Звучне акције

1143

ПДФ филмске акције

1150

ПДФ ЈаваСцрипт Акције

1151

Радње обрасца за слање ПДФ-а

1018

Упити за базе података

1019

Ембеддед Објецтс

1021

Брзо чување података

1017

Прилагођена својства

1036

Статистичка својства

1037

Суммари Пропертиес

Да бисте преузели очишћену копију, такође ћете морати да направите захтев за упит (о чему ће бити речи у наставку) након неколико секунди, наводећи хеш количину датотеке и компоненту за екстракцију у тексту захтева. Можете преузети очишћену датотеку помоћу ИД-а из одговора на упит - ектрацтед_филе_довнлоад_ид. Још једном, гледајући мало унапред, дајем примере захтева и одговора на упит за тражење ИД-а за преузимање очишћеног документа.

Захтев за упит за претрагу кључа ектрацтед_филе_довнлоад_ид

{ "request":  [  

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

Одговор на упит (потражите екстрактед_филе_довнлоад_ид кључ)

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

Преглед

У једном АПИ позиву можете послати само једну датотеку на верификацију.

Компонента ав не захтева додатни одељак са кључевима, довољно је навести га у речнику Карактеристике.

Позив АПИ-ја упита

Коришћени метод − ПОСТ

Адреса позива - https:///тецлоуд/апи/в1/филе/куери

Пре слања датотеке на преузимање (захтев за отпремање), препоручљиво је да проверите сандбок кеш (захтев за упит) како бисте оптимизовали оптерећење на АПИ серверу, пошто АПИ сервер можда већ има информације и пресуду о преузетој датотеци. Позив се састоји само од текстуалног дела. Потребан део захтева је сха1/сха256/мд5 хеш количина датотеке. Узгред, можете га добити у одговору на захтев за отпремање.

Минимум потребан за упит

ХТТП ПОСТ

https:///тецлоуд/апи/в1/филе/куери

Заглавља:

Овлашћење:

Тело

{

"захтев": {

"сха256":

}

}

Пример одговора на захтев за отпремање, где су видљиви хеш износи сха1/мд5/сха256

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

Захтев за упит, поред хеш количине, идеално би требало да буде исти као што је био захтев за отпремање (или се планира да буде), или чак „већ“ (садржати мање поља у захтеву за упит него у захтеву за отпремање). У случају да захтев за упит садржи више поља него што је било у захтеву за отпремање, нећете добити све потребне информације у одговору.

Ево примера одговора на упит где нису пронађени сви потребни подаци

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

Обратите пажњу на поља код и налепница. Ова поља се појављују три пута у речницима статуса. Прво видимо глобални кључ „цоде“: 1006 и „лабел“: „ПАРТИАЛЛИ_ФОУНД“. Затим се ови кључеви налазе за сваку појединачну компоненту коју смо тражили - те и екстракцију. И ако је за те јасно да су подаци пронађени, онда за екстракцију нема информација.

Овако је изгледао упит за горњи пример

{ "request":  [  

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

Ако пошаљете захтев за упит без компоненте екстракције

{ "request":  [  

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

Тада ће одговор садржати потпуне информације („шифра“: 1001, „ознака“: „ПРОНАЂЕНО“)

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

Ако уопште нема информација у кешу, онда ће одговор бити „ознака“: „НОТ_ФОУНД“

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

У једном АПИ позиву можете послати неколико хеш износа одједном на верификацију. Одговор ће вратити податке истим редоследом како су послани у захтеву.

Пример захтева за упит са неколико сха256 износа

{ "request":  [  

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

Одговор на упит са више сха256 износа

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

Захтевање неколико хеш сума одједном у захтеву за упит ће такође имати повољан ефекат на перформансе АПИ сервера.

Преузмите АПИ позив

Коришћени метод − ПОСТ (према документацији), ГЕТ такође ради (и може изгледати логичније)

Адреса позива - https:///тецлоуд/апи/в1/филе/довнлоад?ид=

Заглавље захтева да се проследи АПИ кључ, тело захтева је празно, ид преузимања се прослеђује у УРЛ адреси.

Као одговор на захтев упита, ако је емулација завршена и извештаји су захтевани приликом преузимања датотеке, ИД за преузимање извештаја ће бити видљив. Ако се захтева очишћена копија, требало би да потражите ИД за преузимање очишћеног документа.

Укупно, кључеви у одговору на упит који садржи вредност ид-а за учитавање могу бити:

  • Резиме извештај

  • фулл_репорт

  • пдф_репорт

  • кмл_репорт

  • извађен_филе_довнлоад_ид

Наравно, да бисте добили ове кључеве као одговор на захтев упита, они морају бити наведени у захтеву (за извештаје) или не заборавите да направите захтев помоћу функције екстракције (за очишћене документе)

Куота АПИ позив

Коришћени метод − ПОСТ

Адреса позива - https:///тецлоуд/апи/в1/филе/куота

Да бисте проверили преосталу квоту у облаку, користите упит за квоту. Тело захтева је празно.

Пример одговора на захтев за квоту

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

АПИ за превенцију претњи за безбедносни пролаз

Овај АПИ је развијен пре АПИ-ја за превенцију претњи и намењен је само за локалне уређаје. За сада може бити корисно само ако вам је потребан АПИ за екстракцију претњи. За емулацију претње боље је користити обичан АПИ за превенцију претњи. Да бисте укључили ТП АПИ за СГ и конфигуришите АПИ кључ од којег морате да пратите кораке скКСНУМКС. Препоручујем да обратите пажњу на корак 6б и проверите доступност странице https://<IPAddressofSecurityGateway>/UserCheck/TPAPI јер у случају негативног резултата даље конфигурисање нема смисла. Сви АПИ позиви ће бити послати на овај УРЛ. Тип позива (отпремање/упит) је регулисан тастером тела позива − име_захтева. Такође су потребни кључеви - апи_кеи (треба да га запамтите током процеса конфигурације) и верзија_протокола (тренутно актуелна верзија је 1.1). Званичну документацију за овај АПИ можете пронаћи на скКСНУМКС. Релативне предности укључују могућност слања неколико датотека одједном ради емулације приликом њиховог учитавања, пошто се датотеке шаљу као басе64 текстуални низ. Да бисте кодирали/декодирали датотеке у/из басе64, можете користити онлајн конвертор у Постман-у у сврху демонстрације, на пример - https://base64.guru. У практичне сврхе, требало би да користите уграђене методе кодирања и декодирања када пишете код.

Хајде сада да детаљније погледамо функције te и вађење у овом АПИ-ју.

За компоненту te обезбеђен речник те_оптионс у захтевима за отпремање/упит, а кључеви у овом захтеву се потпуно поклапају са те кључевима у АПИ за превенцију претњи.

Пример захтева за емулацију датотеке у Вин10 са извештајима

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

За компоненту вађење обезбеђен речник сцруб_оптионс. Овај захтев наводи метод чишћења: конвертујте у ПДФ, обришите активни садржај или изаберите режим у складу са профилом за спречавање претњи (назив профила је назначен). Одлична ствар у вези са одговором на захтев АПИ-ја за екстракцију за датотеку је то што добијате очишћену копију у одговору на тај захтев као басе64 шифровани низ (не морате да шаљете захтев за упит и тражите ИД да бисте преузели документ)

Пример захтева за брисање датотеке

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

Одговорите на захтев

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

Упркос чињеници да је потребно мање АПИ захтева за добијање очишћене копије, сматрам да је ова опција мање пожељна и згодна од захтева за податке обрасца који се користи у АПИ за превенцију претњи.

Постман Цоллецтионс

Направио сам колекције у Постман-у и за АПИ за превенцију претњи и за АПИ за превенцију претњи за безбедносни пролаз, који представљају најчешће захтеве за АПИ. Да би серверски ип/урл АПИ и кључ били аутоматски замењени захтевима, а количина сха256 хеша која би се памтила након преузимања датотеке, унутар колекција су креиране три варијабле (можете их пронаћи тако што ћете отићи у подешавања колекције Уреди -> Променљиве): те_апи (обавезно), апи_кеи (обавезно попунити, осим када користите ТП АПИ са локалним уређајима), сха256 (оставите празно, не користи се у ТП АПИ-ју за СГ).

Преузмите колекцију Постман за АПИ за превенцију претњи

Преузмите колекцију Постман за АПИ за превенцију претњи за безбедносни пролаз

Примери употребе

У заједници Цхецк Матес представљене су скрипте написане у Питхон-у које проверавају датотеке из жељеног директоријума преко ТП АПИИ ТП АПИ за СГ. Кроз интеракцију са АПИ-јем за превенцију претњи, ваша могућност скенирања датотека је значајно проширена, јер сада можете скенирати датотеке на неколико платформи одједном (чекирање у ВирусТотал АПИ, а затим у Цхецк Поинт сандбок) и примате датотеке не само из мрежног саобраћаја, већ их преузимате и са свих мрежних дискова и, на пример, ЦРМ система.

Извор: ввв.хабр.цом

Додај коментар