API๋ฅผ ํ†ตํ•œ Check Point SandBlast์™€์˜ ์ƒํ˜ธ ์ž‘์šฉ

API๋ฅผ ํ†ตํ•œ Check Point SandBlast์™€์˜ ์ƒํ˜ธ ์ž‘์šฉ

์ด ๊ธฐ์‚ฌ๋Š” ๊ธฐ์ˆ ์— ์ต์ˆ™ํ•œ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์œ ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฒดํฌ ํฌ์ธํŠธ ํŒŒ์ผ ์—๋ฎฌ๋ ˆ์ด์…˜๋ณ„(์œ„ํ˜‘ ์—๋ฎฌ๋ ˆ์ด์…˜) ๋ฐ ์‚ฌ์ „ ํŒŒ์ผ ์ •๋ฆฌ(์œ„ํ˜‘ ์ถ”์ถœ) ๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์ž๋™ํ™”ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๋‚˜์•„๊ฐ€๊ณ  ์‹ถ์–ดํ•ฉ๋‹ˆ๋‹ค. ์ฒดํฌํฌ์ธํŠธ๋Š” ์œ„ํ˜‘ ์˜ˆ๋ฐฉ API, ํด๋ผ์šฐ๋“œ์™€ ๋กœ์ปฌ ์žฅ์น˜ ๋ชจ๋‘์—์„œ ์‹คํ–‰๋˜๋ฉฐ ๊ธฐ๋Šฅ์ ์œผ๋กœ๋Š” web/smtp/ftp/smb/nfs ํŠธ๋ž˜ํ”ฝ ์ŠคํŠธ๋ฆผ์—์„œ ํŒŒ์ผ์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.. ์ด ๊ธฐ์‚ฌ๋Š” ๋ถ€๋ถ„์ ์œผ๋กœ ๊ณต์‹ ๋ฌธ์„œ์˜ ๊ธฐ์‚ฌ ์„ธํŠธ์— ๋Œ€ํ•œ ์ €์ž์˜ ํ•ด์„์ด์ง€๋งŒ ๋‚ด ์šด์˜ ๊ฒฝํ—˜๊ณผ ๋‚ด ์˜ˆ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ๊ธฐ์‚ฌ์—์„œ๋Š” Threat Prevention API ์ž‘์—…์„ ์œ„ํ•œ ์ž‘์„ฑ์ž์˜ Postman ์ปฌ๋ ‰์…˜์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์•ฝ์–ด

Threat Prevention API๋Š” ๋‹ค์Œ ํ…์ŠคํŠธ ๊ฐ’์„ ํ†ตํ•ด API์—์„œ ํ˜ธ์ถœ๋˜๋Š” ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

av โ€” ์•Œ๋ ค์ง„ ์œ„ํ˜‘์˜ ์‹œ๊ทธ๋‹ˆ์ฒ˜ ๋ถ„์„์„ ๋‹ด๋‹นํ•˜๋Š” ์•ˆํ‹ฐ ๋ฐ”์ด๋Ÿฌ์Šค ๊ตฌ์„ฑ ์š”์†Œ์ž…๋‹ˆ๋‹ค.

te - ์ƒŒ๋“œ๋ฐ•์Šค์˜ ํŒŒ์ผ์„ ํ™•์ธํ•˜๊ณ  ์—๋ฎฌ๋ ˆ์ด์…˜ ํ›„ ์•…์„ฑ/์–‘์„ฑ ํŒ์ •์„ ๋‚ด๋ฆฌ๋Š” ์œ„ํ˜‘ ์—๋ฎฌ๋ ˆ์ด์…˜ ๊ตฌ์„ฑ ์š”์†Œ์ž…๋‹ˆ๋‹ค.

์ถ”์ถœ - ์‚ฌ์šฉ์ž/์‹œ์Šคํ…œ์— ์‹ ์†ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ๋ฌด์‹ค ๋ฌธ์„œ๋ฅผ ์•ˆ์ „ํ•œ ํ˜•์‹(์ž ์žฌ์ ์œผ๋กœ ๋ชจ๋“  ์•…์„ฑ ์ฝ˜ํ…์ธ ๊ฐ€ ์ œ๊ฑฐ๋จ)์œผ๋กœ ์‹ ์†ํ•˜๊ฒŒ ๋ณ€ํ™˜ํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋Š” ์œ„ํ˜‘ ์ถ”์ถœ ๊ตฌ์„ฑ ์š”์†Œ์ž…๋‹ˆ๋‹ค.

API ๊ตฌ์กฐ ๋ฐ ์ฃผ์š” ์ œํ•œ์‚ฌํ•ญ

Threat Prevention API๋Š” 4๊ฐœ์˜ ์š”์ฒญ๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. โˆ’ ์—…๋กœ๋“œ, ์ฟผ๋ฆฌ, ๋‹ค์šด๋กœ๋“œ ๋ฐ ํ• ๋‹น๋Ÿ‰. XNUMX๊ฐœ ์š”์ฒญ ๋ชจ๋‘์˜ ํ—ค๋”์—์„œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ API ํ‚ค๋ฅผ ์ „๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ถŒํ•œ ๋ถ€์—ฌ. ์–ผํ• ๋ณด๋ฉด ๊ตฌ์กฐ๊ฐ€ ์ƒ๊ฐ๋ณด๋‹ค ๋‹จ์ˆœํ•ด ๋ณด์ด์ง€๋งŒ ๊ด€๋ฆฌ APIํ•˜์ง€๋งŒ ์—…๋กœ๋“œ ๋ฐ ์ฟผ๋ฆฌ ์š”์ฒญ์˜ ํ•„๋“œ ์ˆ˜์™€ ์ด๋Ÿฌํ•œ ์š”์ฒญ์˜ ๊ตฌ์กฐ๋Š” ์ƒ๋‹นํžˆ ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ฒŒ์ดํŠธ์›จ์ด/์ƒŒ๋“œ๋ฐ•์Šค ๋ณด์•ˆ ์ •์ฑ…์˜ ์œ„ํ˜‘ ์˜ˆ๋ฐฉ ํ”„๋กœํ•„๊ณผ ๊ธฐ๋Šฅ์ ์œผ๋กœ ๋น„๊ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ Threat Prevention API์˜ ์œ ์ผํ•œ ๋ฒ„์ „์ธ 1.0์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. API ํ˜ธ์ถœ์˜ URL์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. v1 ๋ฒ„์ „์„ ์ง€์ •ํ•ด์•ผ ํ•˜๋Š” ๋ถ€๋ถ„์—์„œ ๊ด€๋ฆฌ API์™€ ๋‹ฌ๋ฆฌ URL์— API ๋ฒ„์ „์„ ํ‘œ์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์š”์ฒญ์ด ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ๊ตฌ์„ฑ ์š”์†Œ(te, ์ถ”์ถœ) ์—†์ด ํ˜ธ์ถœ๋˜๋Š” ๊ฒฝ์šฐ ์•ˆํ‹ฐ ๋ฐ”์ด๋Ÿฌ์Šค ๊ตฌ์„ฑ ์š”์†Œ๋Š” ํ˜„์žฌ md5 ํ•ด์‹œ ํ•ฉ๊ณ„๊ฐ€ ์žˆ๋Š” ์ฟผ๋ฆฌ ์š”์ฒญ๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์œ„ํ˜‘ ์—๋ฎฌ๋ ˆ์ด์…˜ ๋ฐ ์œ„ํ˜‘ ์ถ”์ถœ์€ sha1 ๋ฐ sha256 ํ•ด์‹œ ํ•ฉ๊ณ„๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ์—์„œ ์‹ค์ˆ˜๋ฅผ ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค! ์š”์ฒญ์€ ์˜ค๋ฅ˜ ์—†์ด ์‹คํ–‰๋  ์ˆ˜ ์žˆ์ง€๋งŒ ์™„์ „ํžˆ ์‹คํ–‰๋  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์กฐ๊ธˆ ๋” ์•ž์„ ๋‚ด๋‹ค๋ณด๋ฉฐ ์ฟผ๋ฆฌ์— ์˜ค๋ฅ˜/์˜คํƒ€๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์–ด๋–ค ์ผ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ณด๊ณ ์„œ(reportss)๋ผ๋Š” ๋‹จ์–ด์— ์˜คํƒ€๊ฐ€ ์žˆ๋Š” ์š”์ฒญ

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

๋ณด๊ณ ์„œ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ธฐ ์œ„ํ•œ ID๊ฐ€ ์ด๋ฏธ ํฌํ•จ๋œ ์‘๋‹ต์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

{
  "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 ํ‚ค๋ฅผ ๋ณด๋‚ด๋ฉด ์‘๋‹ต์œผ๋กœ 403 ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

SandBlast API: ํด๋ผ์šฐ๋“œ ๋ฐ ๋กœ์ปฌ ์žฅ์น˜

์œ„ํ˜‘ ์—๋ฎฌ๋ ˆ์ด์…˜ ๊ตฌ์„ฑ ์š”์†Œ(๋ธ”๋ ˆ์ด๋“œ)๊ฐ€ ํ™œ์„ฑํ™”๋œ Check Point ์žฅ์น˜๋กœ API ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์š”์ฒญ ์ฃผ์†Œ๋กœ๋Š” ์žฅ์น˜์˜ ip/url๊ณผ ํฌํŠธ 18194๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: https://10.10.57.19:18194/tecloud/api/v1/ํŒŒ์ผ/์ฟผ๋ฆฌ). ๋˜ํ•œ ์žฅ์น˜์˜ ๋ณด์•ˆ ์ •์ฑ…์ด ์ด ์—ฐ๊ฒฐ์„ ํ—ˆ์šฉํ•˜๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋กœ์ปฌ ์žฅ์น˜์—์„œ API ํ‚ค๋ฅผ ํ†ตํ•œ ์ธ์ฆ ๋„๋‹ค ์š”์ฒญ ํ—ค๋”์˜ ์ธ์ฆ ํ‚ค๊ฐ€ ์ „ํ˜€ ์ „์†ก๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CheckPoint ํด๋ผ์šฐ๋“œ์— ๋Œ€ํ•œ API ์š”์ฒญ์€ ๋‹ค์Œ์œผ๋กœ ์ „์†ก๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. te.checkpoint.com (์˜ˆ: https://te.checkpoint.com/tecloud/api/v1/ํŒŒ์ผ/์ฟผ๋ฆฌ). API ํ‚ค๋Š” Check Point ํŒŒํŠธ๋„ˆ ๋˜๋Š” ํšŒ์‚ฌ ํ˜„์ง€ ์‚ฌ๋ฌด์†Œ์— ๋ฌธ์˜ํ•˜์—ฌ 60์ผ ๋™์•ˆ ํ‰๊ฐ€ํŒ ๋ผ์ด์„ ์Šค๋กœ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋กœ์ปฌ ์žฅ์น˜์—์„œ๋Š” ์œ„ํ˜‘ ์ถ”์ถœ์ด ์•„์ง ํ‘œ์ค€์œผ๋กœ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์œ„ํ˜‘ ์˜ˆ๋ฐฉ API ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค ๋ณด์•ˆ ๊ฒŒ์ดํŠธ์›จ์ด์šฉ ์œ„ํ˜‘ ์˜ˆ๋ฐฉ API (๊ธฐ์‚ฌ ๋ ๋ถ€๋ถ„์—์„œ ์ด์— ๋Œ€ํ•ด ๋” ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค).

๋กœ์ปฌ ์žฅ์น˜๋Š” ํ• ๋‹น๋Ÿ‰ ์š”์ฒญ์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋กœ์ปฌ ์žฅ์น˜์— ๋Œ€ํ•œ ์š”์ฒญ๊ณผ ํด๋ผ์šฐ๋“œ์— ๋Œ€ํ•œ ์š”์ฒญ ๊ฐ„์— ์ฐจ์ด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์—…๋กœ๋“œ API ํ˜ธ์ถœ

์‚ฌ์šฉ๋ฐฉ๋ฒ• - POST

์ „ํ™”์ฃผ์†Œ - https:///tecloud/api/v1/ํŒŒ์ผ/์—…๋กœ๋“œ

์š”์ฒญ์€ ์—๋ฎฌ๋ ˆ์ด์…˜/์ •๋ฆฌ์šฉ ํŒŒ์ผ๊ณผ ํ…์ŠคํŠธ๊ฐ€ ํฌํ•จ๋œ ์š”์ฒญ ๋ณธ๋ฌธ์˜ ๋‘ ๋ถ€๋ถ„(์–‘์‹ ๋ฐ์ดํ„ฐ)์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

ํ…์ŠคํŠธ ์š”์ฒญ์€ ๋น„์›Œ๋‘˜ ์ˆ˜ ์—†์ง€๋งŒ ๊ตฌ์„ฑ์„ ํฌํ•จํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์š”์ฒญ์ด ์„ฑ๊ณตํ•˜๋ ค๋ฉด ์š”์ฒญ์— ์ตœ์†Œํ•œ ๋‹ค์Œ ํ…์ŠคํŠธ๋ฅผ ๋ณด๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์—…๋กœ๋“œ ์š”์ฒญ์— ํ•„์š”ํ•œ ์ตœ์†Œ๊ฐ’

HTTP ํฌ์ŠคํŠธ

https:///tecloud/api/v1/ํŒŒ์ผ/์—…๋กœ๋“œ

ํ—ค๋” :

๊ถŒํ•œ ๋ถ€์—ฌ:

์‹ ์ฒด

{

"์š”๊ตฌ": {

}

}

์ž…์–‘ ๋ถ€๋ชจ๋กœ์„œ์˜ ๊ท€ํ•˜์˜ ์ ํ•ฉ์„ฑ์„ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ๋ฏธ๊ตญ ์ด๋ฏผ๊ตญ์—

์ž…์–‘ ๋ถ€๋ชจ๋กœ์„œ์˜ ๊ท€ํ•˜์˜ ์ ํ•ฉ์„ฑ์„ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ๋ฏธ๊ตญ ์ด๋ฏผ๊ตญ์—

์ด ๊ฒฝ์šฐ ํŒŒ์ผ์€ ๊ธฐ๋ณธ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋”ฐ๋ผ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค: ๊ตฌ์„ฑ์š”์†Œ - te, OS ์ด๋ฏธ์ง€ - Win XP ๋ฐ Win 7, ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ .

ํ…์ŠคํŠธ ์š”์ฒญ์˜ ๊ธฐ๋ณธ ํ•„๋“œ์— ๋Œ€ํ•œ ์„ค๋ช…:

ํŒŒ์ผ ์ด๋ฆ„ ะธ ํŒŒ์ผ ์œ ํ˜• ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•  ๋•Œ ํŠน๋ณ„ํžˆ ์œ ์šฉํ•œ ์ •๋ณด๋Š” ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ณต๋ฐฑ์œผ๋กœ ๋‚จ๊ฒจ๋‘๊ฑฐ๋‚˜ ์ „ํ˜€ ๋ณด๋‚ด์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. API ์‘๋‹ต์—์„œ ์ด๋Ÿฌํ•œ ํ•„๋“œ๋Š” ๋‹ค์šด๋กœ๋“œํ•œ ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž๋™์œผ๋กœ ์ฑ„์›Œ์ง€๋ฉฐ ์บ์‹œ์˜ ์ •๋ณด๋Š” ์—ฌ์ „ํžˆ md5/sha1/sha256 ํ•ด์‹œ ์–‘์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

file_name ๋ฐ file_type์ด ๋น„์–ด ์žˆ๋Š” ์š”์ฒญ ์˜ˆ์‹œ

{

"request": {

"file_name": "",

"file_type": "",

}

}

ํ’๋ชจ โ€” ์ƒŒ๋“œ๋ฐ•์Šค์—์„œ ์ฒ˜๋ฆฌํ•  ๋•Œ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ชฉ๋ก - av(์•ˆํ‹ฐ๋ฐ”์ด๋Ÿฌ์Šค), te(์œ„ํ˜‘ ์—๋ฎฌ๋ ˆ์ด์…˜), ์ถ”์ถœ(์œ„ํ˜‘ ์ถ”์ถœ). ์ด ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ ์ „ํ˜€ ์ „๋‹ฌ๋˜์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ ๊ตฌ์„ฑ ์š”์†Œ์ธ te(Threat Emulation)๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์„ธ ๊ฐ€์ง€ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ฒดํฌ์ธํ•˜๋ ค๋ฉด API ์š”์ฒญ์—์„œ ์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

av, te ๋ฐ ์ถ”์ถœ์„ ์ฒดํฌ์ธํ•˜๋Š” ์š”์ฒญ์˜ ์˜ˆ

{ "request":  [  

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

te ์„น์…˜์˜ ํ‚ค

ํ˜•์ƒ โ€” ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ์šด์˜ ์ฒด์ œ์˜ ID ๋ฐ ๊ฐœ์ • ๋ฒˆํ˜ธ๊ฐ€ ํฌํ•จ๋œ ์‚ฌ์ „์ด ํฌํ•จ๋œ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค. ID์™€ ๊ฐœ์ • ๋ฒˆํ˜ธ๋Š” ๋ชจ๋“  ๋กœ์ปฌ ์žฅ์น˜์™€ ํด๋ผ์šฐ๋“œ์—์„œ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

์šด์˜ ์ฒด์ œ ๋ฐ ๊ฐœ์ • ๋ชฉ๋ก

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ OS ์ด๋ฏธ์ง€ ID

๊ฐœ์ •

์ด๋ฏธ์ง€ OS ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

e50e99f3-5963-4573-af9e-e3f4750b55e2

1

๋งˆ์ดํฌ๋กœ ์†Œํ”„ํŠธ ์œˆ๋„์šฐ: XP - 32๋น„ํŠธ SP3
Office: 2003, 2007
Adobe Acrobat Reader๊ฐ€: 9.0
ํ”Œ๋ž˜์‹œ ํ”Œ๋ ˆ์ด์–ด 9r115 ๋ฐ ActiveX 10.0
์ž๋ฐ” ๋Ÿฐํƒ€์ž„: 1.6.0u22

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

1

๋งˆ์ดํฌ๋กœ ์†Œํ”„ํŠธ ์œˆ๋„์šฐ: 7 - 32๋น„ํŠธ
Office: 2003, 2007
Adobe Acrobat Reader๊ฐ€: 9.0
ํ”Œ๋ž˜์‹œ ํ”Œ๋ ˆ์ด์–ด: 10.2r152(ํ”Œ๋Ÿฌ๊ทธ์ธActiveX)
์ž๋ฐ” ๋Ÿฐํƒ€์ž„: 1.6.0u0

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

1

๋งˆ์ดํฌ๋กœ ์†Œํ”„ํŠธ ์œˆ๋„์šฐ: 7 - 32๋น„ํŠธ
Office: 2010
Adobe Acrobat Reader๊ฐ€: 9.4
ํ”Œ๋ž˜์‹œ ํ”Œ๋ ˆ์ด์–ด: 11.0.1.152 (ํ”Œ๋Ÿฌ๊ทธ์ธ & ActiveX)
์ž๋ฐ” ๋Ÿฐํƒ€์ž„: 1.7.0u0

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

1

๋งˆ์ดํฌ๋กœ ์†Œํ”„ํŠธ ์œˆ๋„์šฐ: 7 - 32๋น„ํŠธ
Office: 2013
Adobe Acrobat Reader๊ฐ€: 11.0
ํ”Œ๋ž˜์‹œ ํ”Œ๋ ˆ์ด์–ด: 15 (ํ”Œ๋Ÿฌ๊ทธ์ธ & ActiveX)
์ž๋ฐ” ๋Ÿฐํƒ€์ž„: 1.7.0u9

3ff3ddae-e7fd-4969-818c-d5f1a2be336d

1

๋งˆ์ดํฌ๋กœ ์†Œํ”„ํŠธ ์œˆ๋„์šฐ: 7 - 64๋น„ํŠธ
Office: 2013๋…„ (32๋น„ํŠธ)
Adobe Acrobat Reader๊ฐ€: 11.0.01
ํ”Œ๋ž˜์‹œ ํ”Œ๋ ˆ์ด์–ด: 13 (ํ”Œ๋Ÿฌ๊ทธ์ธ & ActiveX)
์ž๋ฐ” ๋Ÿฐํƒ€์ž„: 1.7.0u9

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

 

๋งˆ์ดํฌ๋กœ ์†Œํ”„ํŠธ ์œˆ๋„์šฐ: 8.1 - 64๋น„ํŠธ
Office: 2013๋…„ (64๋น„ํŠธ)
Adobe Acrobat Reader๊ฐ€: 11.0.10
ํ”Œ๋ž˜์‹œ ํ”Œ๋ ˆ์ด์–ด: 18.0.0.160 (ํ”Œ๋Ÿฌ๊ทธ์ธ & ActiveX)
์ž๋ฐ” ๋Ÿฐํƒ€์ž„: 1.7.0u9

10b4a9c6-e414-425c-ae8b-fe4dd7b25244 

 

1

๋งˆ์ดํฌ๋กœ ์†Œํ”„ํŠธ ์œˆ๋„์šฐ: 10
Office: Professional Plus 2016 en-us  
Adobe Acrobat Reader๊ฐ€: DC 2015 MUI
ํ”Œ๋ž˜์‹œ ํ”Œ๋ ˆ์ด์–ด: 20 (ํ”Œ๋Ÿฌ๊ทธ์ธ & ActiveX)
์ž๋ฐ” ๋Ÿฐํƒ€์ž„: 1.7.0u9

์ด๋ฏธ์ง€ ํ‚ค๊ฐ€ ์ „ํ˜€ ์ง€์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ Check Point(ํ˜„์žฌ Win XP ๋ฐ Win 7)์—์„œ ๊ถŒ์žฅํ•˜๋Š” ์ด๋ฏธ์ง€์—์„œ ์—๋ฎฌ๋ ˆ์ด์…˜์ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ด๋ฏธ์ง€๋Š” ์„ฑ๋Šฅ๊ณผ ํฌํš๋ฅ ์˜ ์ตœ์ƒ์˜ ๊ท ํ˜•์„ ๊ณ ๋ คํ•˜์—ฌ ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค.

๋ณด๊ณ ์„œ โ€” ํŒŒ์ผ์ด ์•…์„ฑ์ธ ๊ฒƒ์œผ๋กœ ํŒ๋ช…๋  ๊ฒฝ์šฐ ์š”์ฒญํ•˜๋Š” ๋ณด๊ณ ์„œ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ์˜ต์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ๊ฐœ์š” - ์—๋ฎฌ๋ ˆ์ด์…˜ ๋ณด๊ณ ์„œ๊ฐ€ ํฌํ•จ๋œ .tar.gz ์•„์นด์ด๋ธŒ ๋ชจ๋‘ ์š”์ฒญ๋œ ์ด๋ฏธ์ง€(HTML ํŽ˜์ด์ง€์™€ ์—๋ฎฌ๋ ˆ์ดํ„ฐ OS์˜ ๋น„๋””์˜ค, ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ๋คํ”„, json ๋ณด๊ณ ์„œ, ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ๋ณดํ˜ธ๋œ ์•„์นด์ด๋ธŒ์˜ ์ƒ˜ํ”Œ ์ž์ฒด์™€ ๊ฐ™์€ ๊ตฌ์„ฑ ์š”์†Œ ๋ชจ๋‘). ์šฐ๋ฆฌ๋Š” ๋‹ต์—์„œ ์—ด์‡ ๋ฅผ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค - ์š”์•ฝ_๋ณด๊ณ ์„œ ๋ณด๊ณ ์„œ์˜ ํ›„์† ๋‹ค์šด๋กœ๋“œ๋ฅผ ์œ„ํ•ด.

  2. PDF - ์—๋ฎฌ๋ ˆ์ด์…˜์— ๊ด€ํ•œ ๋ฌธ์„œ ํ•˜๋‚˜ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด Smart Console์„ ํ†ตํ•ด ์ˆ˜์‹ ํ•˜๋Š” ๋ฐ ์ต์ˆ™ํ•œ ์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋‹ต์—์„œ ์—ด์‡ ๋ฅผ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค - pdf_๋ณด๊ณ ์„œ ๋ณด๊ณ ์„œ์˜ ํ›„์† ๋‹ค์šด๋กœ๋“œ๋ฅผ ์œ„ํ•ด.

  3. XML - ์—๋ฎฌ๋ ˆ์ด์…˜์— ๊ด€ํ•œ ๋ฌธ์„œ ํ•˜๋‚˜ ๋ณด๊ณ ์„œ์˜ ์ดํ›„ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ตฌ๋ฌธ ๋ถ„์„์— ํŽธ๋ฆฌํ•œ ์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋‹ต์—์„œ ์—ด์‡ ๋ฅผ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค - xml_report ๋ณด๊ณ ์„œ์˜ ํ›„์† ๋‹ค์šด๋กœ๋“œ๋ฅผ ์œ„ํ•ด.

  4. ํƒ€๋ฅด - ์—๋ฎฌ๋ ˆ์ด์…˜ ๋ณด๊ณ ์„œ๊ฐ€ ํฌํ•จ๋œ .tar.gz ์•„์นด์ด๋ธŒ ํ•˜๋‚˜ ์š”์ฒญ๋œ ์ด๋ฏธ์ง€(HTML ํŽ˜์ด์ง€์™€ ์—๋ฎฌ๋ ˆ์ดํ„ฐ OS์˜ ๋น„๋””์˜ค, ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ๋คํ”„, json ๋ณด๊ณ ์„œ, ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ๋ณดํ˜ธ๋œ ์•„์นด์ด๋ธŒ์˜ ์ƒ˜ํ”Œ ์ž์ฒด์™€ ๊ฐ™์€ ๊ตฌ์„ฑ ์š”์†Œ ๋ชจ๋‘). ์šฐ๋ฆฌ๋Š” ๋‹ต์—์„œ ์—ด์‡ ๋ฅผ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค - ์ „์ฒด ๋ณด๊ณ ์„œ ๋ณด๊ณ ์„œ์˜ ํ›„์† ๋‹ค์šด๋กœ๋“œ๋ฅผ ์œ„ํ•ด.

์š”์•ฝ ๋ณด๊ณ ์„œ ๋‚ด์šฉAPI๋ฅผ ํ†ตํ•œ Check Point SandBlast์™€์˜ ์ƒํ˜ธ ์ž‘์šฉ

full_report, pdf_report, xml_report ํ‚ค๋Š” ๊ฐ OS์˜ ์‚ฌ์ „์— ์žˆ์Šต๋‹ˆ๋‹ค.

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

๊ทธ๋Ÿฌ๋‚˜ summary_report ํ‚ค - ์ผ๋ฐ˜์ ์œผ๋กœ ์—๋ฎฌ๋ ˆ์ด์…˜์„ ์œ„ํ•œ ํ‚ค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

{
  "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์™€ xml ๋ฐ pdf ๋ณด๊ณ ์„œ๋ฅผ ๋™์‹œ์— ์š”์ฒญํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์š”์•ฝ๊ณผ tar ๋ฐ xml์„ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์š”์•ฝ ๋ณด๊ณ ์„œ์™€ PDF๋ฅผ ๋™์‹œ์— ์š”์ฒญํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.

์ถ”์ถœ ์„น์…˜์˜ ํ‚ค

์œ„ํ˜‘ ์ถ”์ถœ์—๋Š” ๋‘ ๊ฐœ์˜ ํ‚ค๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋ฐฉ๋ฒ• โ€” pdf(pdf๋กœ ๋ณ€ํ™˜, ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ๋จ) ๋˜๋Š” clean(ํ™œ์„ฑ ์ฝ˜ํ…์ธ  ์ •๋ฆฌ).

์ถ”์ถœ_๋ถ€ํ’ˆ_์ฝ”๋“œ - ํ™œ์„ฑ ์ฝ˜ํ…์ธ  ์ œ๊ฑฐ ์ฝ”๋“œ ๋ชฉ๋ก, ์ •๋ฆฌ ๋ฐฉ๋ฒ•์—๋งŒ ์ ์šฉ ๊ฐ€๋Šฅ

ํŒŒ์ผ์—์„œ ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ

์•”ํ˜ธ

์ƒํ’ˆ ์„ค๋ช…

1025

์—ฐ๊ฒฐ๋œ ๊ฐœ์ฒด

1026

๋งคํฌ๋กœ ๋ฐ ์ฝ”๋“œ

1034

๋ฏผ๊ฐํ•œ ํ•˜์ดํผ๋งํฌ

1137

PDF GoToR ์ž‘์—…

1139

PDF ์‹คํ–‰ ์ž‘์—…

1141

PDF URI ์ž‘์—…

1142

PDF ์‚ฌ์šด๋“œ ์•ก์…˜

1143

PDF ์˜ํ™” ์•ก์…˜

1150

PDF JavaScript ์ž‘์—…

1151

PDF ์ œ์ถœ ์–‘์‹ ์ž‘์—…

1018

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ

1019

ํฌํ•จ๋œ ๊ฐœ์ฒด

1021

๋น ๋ฅธ ๋ฐ์ดํ„ฐ ์ €์žฅ

1017

์‚ฌ์šฉ์ž ์ •์˜ ์†์„ฑ

1036

ํ†ต๊ณ„ ์†์„ฑ

1037

์š”์•ฝ ์†์„ฑ

์ •๋ฆฌ๋œ ๋ณต์‚ฌ๋ณธ์„ ๋‹ค์šด๋กœ๋“œํ•˜๋ ค๋ฉด ๋ช‡ ์ดˆ ํ›„์— ์ฟผ๋ฆฌ ์š”์ฒญ(์•„๋ž˜์—์„œ ์„ค๋ช…)์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ์š”์ฒญ ํ…์ŠคํŠธ์— ํŒŒ์ผ์˜ ํ•ด์‹œ ์–‘๊ณผ ์ถ”์ถœ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ์‘๋‹ต์˜ ID์ธ extract_file_download_id๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์น˜๋ฃŒ๋œ ํŒŒ์ผ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ํ•œ ๋ฒˆ ์กฐ๊ธˆ ์•ž์„ ๋‚ด๋‹ค๋ณด๋ฉฐ, ์ •๋ฆฌ๋œ ๋ฌธ์„œ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ธฐ ์œ„ํ•œ ID๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ์š”์ฒญ ๋ฐ ์ฟผ๋ฆฌ ์‘๋‹ต์˜ ์˜ˆ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

extract_file_download_id ํ‚ค๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ์ฟผ๋ฆฌ ์š”์ฒญ

{ "request":  [  

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

์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ์‘๋‹ต(extract_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."
                }
            }
        }
    ]
}

๊ฐœ์š”

ํ•œ ๋ฒˆ์˜ API ํ˜ธ์ถœ์—์„œ๋Š” ํ™•์ธ์„ ์œ„ํ•ด ํ•˜๋‚˜์˜ ํŒŒ์ผ๋งŒ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

av ๊ตฌ์„ฑ ์š”์†Œ์—๋Š” ํ‚ค๊ฐ€ ์žˆ๋Š” ์ถ”๊ฐ€ ์„น์…˜์ด ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ ์‚ฌ์ „์— ์ง€์ •ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ํ’๋ชจ.

์ฟผ๋ฆฌ API ํ˜ธ์ถœ

์‚ฌ์šฉ๋ฐฉ๋ฒ• - POST

์ „ํ™”์ฃผ์†Œ - https:///tecloud/api/v1/file/query

๋‹ค์šด๋กœ๋“œํ•  ํŒŒ์ผ(์—…๋กœ๋“œ ์š”์ฒญ)์„ ๋ณด๋‚ด๊ธฐ ์ „์— API ์„œ๋ฒ„์˜ ๋กœ๋“œ๋ฅผ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ƒŒ๋“œ๋ฐ•์Šค ์บ์‹œ(์ฟผ๋ฆฌ ์š”์ฒญ)๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. API ์„œ๋ฒ„์—๋Š” ๋‹ค์šด๋กœ๋“œํ•œ ํŒŒ์ผ์— ๋Œ€ํ•œ ์ •๋ณด์™€ ๊ฒฐ๊ณผ๊ฐ€ ์ด๋ฏธ ์žˆ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํ†ตํ™”๋Š” ํ…์ŠคํŠธ ๋ถ€๋ถ„์œผ๋กœ๋งŒ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์š”์ฒญ์˜ ํ•„์ˆ˜ ๋ถ€๋ถ„์€ ํŒŒ์ผ์˜ sha1/sha256/md5 ํ•ด์‹œ ์–‘์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , ์—…๋กœ๋“œ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ์— ํ•„์š”ํ•œ ์ตœ์†Œ๊ฐ’

HTTP ํฌ์ŠคํŠธ

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

ํ—ค๋” :

๊ถŒํ•œ ๋ถ€์—ฌ:

์‹ ์ฒด

{

"์š”๊ตฌ": {

"sha256":

}

}

sha1/md5/sha256 ํ•ด์‹œ ์–‘์ด ํ‘œ์‹œ๋˜๋Š” ์—…๋กœ๋“œ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์˜ ์˜ˆ

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

๋ถ„์•ผ์— ์ฃผ๋ชฉํ•˜๋ผ ์•”ํ˜ธ ะธ ์ƒํ‘œ. ์ด๋Ÿฌํ•œ ํ•„๋“œ๋Š” ์ƒํƒœ ์‚ฌ์ „์— ์„ธ ๋ฒˆ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๋จผ์ € ์ „์—ญ ํ‚ค "code": 1006 ๋ฐ "label": "PARTIALLY_FOUND"๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ, ์ด๋Ÿฌํ•œ ํ‚ค๋Š” ์šฐ๋ฆฌ๊ฐ€ ์š”์ฒญํ•œ ๊ฐ ๊ฐœ๋ณ„ ๊ตฌ์„ฑ์š”์†Œ(te ๋ฐ ์ถ”์ถœ)์— ๋Œ€ํ•ด ๋ฐœ๊ฒฌ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐœ๊ฒฌ๋œ ๊ฒƒ์ด ๋ถ„๋ช…ํ•˜๋‹ค๋ฉด ์ถ”์ถœ์„ ์œ„ํ•œ ์ •๋ณด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์œ„ ์˜ˆ์˜ ์ฟผ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

{ "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, โ€œ๋ ˆ์ด๋ธ”โ€: โ€œFOUNDโ€).

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

์บ์‹œ์— ์ •๋ณด๊ฐ€ ์ „ํ˜€ ์—†์œผ๋ฉด ์‘๋‹ต์€ "label": "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."
        }
      }
    }
  ]
}

ํ•œ ๋ฒˆ์˜ API ํ˜ธ์ถœ๋กœ ๊ฒ€์ฆ์„ ์œ„ํ•ด ์—ฌ๋Ÿฌ ํ•ด์‹œ ๊ธˆ์•ก์„ ํ•œ ๋ฒˆ์— ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‘๋‹ต์€ ์š”์ฒญ์—์„œ ์ „์†ก๋œ ๊ฒƒ๊ณผ ๋™์ผํ•œ ์ˆœ์„œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ sha256 ๊ธˆ์•ก์ด ํฌํ•จ๋œ ์ฟผ๋ฆฌ ์š”์ฒญ ์˜ˆ์‹œ

{ "request":  [  

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

์—ฌ๋Ÿฌ sha256 ๊ธˆ์•ก์ด ํฌํ•จ๋œ ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ์‘๋‹ต

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

์ฟผ๋ฆฌ ์š”์ฒญ์—์„œ ํ•œ ๋ฒˆ์— ์—ฌ๋Ÿฌ ํ•ด์‹œ ํ•ฉ๊ณ„๋ฅผ ์š”์ฒญํ•˜๋Š” ๊ฒƒ๋„ API ์„œ๋ฒ„ ์„ฑ๋Šฅ์— ์œ ์ตํ•œ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

API ํ˜ธ์ถœ ๋‹ค์šด๋กœ๋“œ

์‚ฌ์šฉ๋ฐฉ๋ฒ• - POST (๋ฌธ์„œ์— ๋”ฐ๋ฅด๋ฉด), ๋ฐ”๋กœ ๋˜ํ•œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค(๋” ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋ณด์ผ ์ˆ˜ ์žˆ์Œ).

์ „ํ™”์ฃผ์†Œ - https:///tecloud/api/v1/file/download?id=

ํ—ค๋”์—๋Š” API ํ‚ค๊ฐ€ ์ „๋‹ฌ๋˜์–ด์•ผ ํ•˜๋ฉฐ ์š”์ฒญ ๋ณธ๋ฌธ์€ ๋น„์–ด ์žˆ์œผ๋ฉฐ ๋‹ค์šด๋กœ๋“œ ID๋Š” URL ์ฃผ์†Œ๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ ์—๋ฎฌ๋ ˆ์ด์…˜์ด ์™„๋ฃŒ๋˜๊ณ  ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ ์‹œ ๋ณด๊ณ ์„œ๋ฅผ ์š”์ฒญํ•œ ๊ฒฝ์šฐ ๋ณด๊ณ ์„œ ๋‹ค์šด๋กœ๋“œ์šฉ ID๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ •๋ฆฌ๋œ ์‚ฌ๋ณธ์„ ์š”์ฒญํ•˜๋Š” ๊ฒฝ์šฐ ์ •๋ฆฌ๋œ ๋ฌธ์„œ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๋ ค๋ฉด ID๋ฅผ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ „์ฒด์ ์œผ๋กœ ๋กœ๋“œํ•  id ๊ฐ’์ด ํฌํ•จ๋œ ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ์‘๋‹ต์˜ ํ‚ค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์š”์•ฝ_๋ณด๊ณ ์„œ

  • ์ „์ฒด ๋ณด๊ณ ์„œ

  • pdf_๋ณด๊ณ ์„œ

  • xml_report

  • extract_file_download_id

๋ฌผ๋ก , ์ฟผ๋ฆฌ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ ์ด๋Ÿฌํ•œ ํ‚ค๋ฅผ ๋ฐ›์œผ๋ ค๋ฉด ์š”์ฒญ์— ์ง€์ •ํ•˜๊ฑฐ๋‚˜(๋ณด๊ณ ์„œ์˜ ๊ฒฝ์šฐ) ์ถ”์ถœ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์š”์ฒญํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ •๋ฆฌ๋œ ๋ฌธ์„œ์˜ ๊ฒฝ์šฐ).

ํ• ๋‹น๋Ÿ‰ API ํ˜ธ์ถœ

์‚ฌ์šฉ๋ฐฉ๋ฒ• - POST

์ „ํ™”์ฃผ์†Œ - https:///tecloud/api/v1/file/quota

ํด๋ผ์šฐ๋“œ์— ๋‚จ์€ ํ• ๋‹น๋Ÿ‰์„ ํ™•์ธํ•˜๋ ค๋ฉด ํ• ๋‹น๋Ÿ‰ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. ์š”์ฒญ ๋ณธ๋ฌธ์ด ๋น„์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ• ๋‹น๋Ÿ‰ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต ์˜ˆ์‹œ

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

๋ณด์•ˆ ๊ฒŒ์ดํŠธ์›จ์ด์šฉ ์œ„ํ˜‘ ์˜ˆ๋ฐฉ API

์ด API๋Š” Threat Prevention API ์ด์ „์— ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ ๋กœ์ปฌ ์žฅ์น˜ ์ „์šฉ์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ๋กœ์„œ๋Š” Threat Extraction API๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„ํ˜‘ ์—๋ฎฌ๋ ˆ์ด์…˜์˜ ๊ฒฝ์šฐ ์ผ๋ฐ˜ ์œ„ํ˜‘ ์˜ˆ๋ฐฉ API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ผœ๋ ค๋ฉด SG์šฉ TP API ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ API ํ‚ค๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. sk113599. 6b๋‹จ๊ณ„์— ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์ด๊ณ  ํŽ˜์ด์ง€์˜ ์ ‘๊ทผ์„ฑ์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. https://<IPAddressofSecurityGateway>/UserCheck/TPAPI ๊ฒฐ๊ณผ๊ฐ€ ๋ถ€์ •์ ์ผ ๊ฒฝ์šฐ ์ถ”๊ฐ€ ๊ตฌ์„ฑ์ด ์˜๋ฏธ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  API ํ˜ธ์ถœ์€ ์ด URL๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ํ˜ธ์ถœ ์œ ํ˜•(์—…๋กœ๋“œ/์ฟผ๋ฆฌ)์€ ํ˜ธ์ถœ ๋ณธ๋ฌธ ํ‚ค์—์„œ ๊ทœ์ œ๋ฉ๋‹ˆ๋‹ค. ์š”์ฒญ_์ด๋ฆ„. ๋˜ํ•œ ํ•„์ˆ˜ ํ‚ค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. - api_key (๊ตฌ์„ฑ ํ”„๋กœ์„ธ์Šค ์ค‘์— ์ด๋ฅผ ๊ธฐ์–ตํ•ด์•ผ ํ•จ) ๋ฐ ํ”„๋กœํ† ์ฝœ_๋ฒ„์ „ (ํ˜„์žฌ ์ตœ์‹  ๋ฒ„์ „์€ 1.1์ž…๋‹ˆ๋‹ค.) ์ด API์— ๋Œ€ํ•œ ๊ณต์‹ ๋ฌธ์„œ๋Š” ๋‹ค์Œ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. sk137032. ์ƒ๋Œ€์ ์ธ ์žฅ์ ์€ ํŒŒ์ผ์ด base64 ํ…์ŠคํŠธ ๋ฌธ์ž์—ด๋กœ ์ „์†ก๋˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ๋กœ๋“œํ•  ๋•Œ ์—๋ฎฌ๋ ˆ์ด์…˜์„ ์œ„ํ•ด ํ•œ ๋ฒˆ์— ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. base64์—์„œ ํŒŒ์ผ์„ ์ธ์ฝ”๋”ฉ/๋””์ฝ”๋”ฉํ•˜๋ ค๋ฉด ๋ฐ๋ชจ ๋ชฉ์ ์œผ๋กœ Postman์˜ ์˜จ๋ผ์ธ ๋ณ€ํ™˜๊ธฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. https://base64.guru. ์‹ค์šฉ์ ์ธ ๋ชฉ์ ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ๋‚ด์žฅ๋œ ์ธ์ฝ”๋”ฉ ๋ฐ ๋””์ฝ”๋”ฉ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ ๊ธฐ๋Šฅ์„ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. te ะธ ์ถ”์ถœ ์ด API์—์„œ.

๋ถ€ํ’ˆ์šฉ te ์‚ฌ์ „ ์ œ๊ณต te_options ์—…๋กœ๋“œ/์ฟผ๋ฆฌ ์š”์ฒญ์—์„œ ์ด ์š”์ฒญ์˜ ํ‚ค๋Š” ๋‹ค์Œ์˜ te ํ‚ค์™€ ์™„์ „ํžˆ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค. ์œ„ํ˜‘ ์˜ˆ๋ฐฉ API.

๋ณด๊ณ ์„œ๊ฐ€ ํฌํ•จ๋œ Win10์˜ ํŒŒ์ผ ์—๋ฎฌ๋ ˆ์ด์…˜ ์š”์ฒญ ์˜ˆ์‹œ

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

๋ถ€ํ’ˆ์šฉ ์ถ”์ถœ ์‚ฌ์ „ ์ œ๊ณต ์Šคํฌ๋Ÿฝ ์˜ต์…˜. ์ด ์š”์ฒญ์€ ์น˜๋ฃŒ ๋ฐฉ๋ฒ•์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, PDF๋กœ ๋ณ€ํ™˜, ํ™œ์„ฑ ์ฝ˜ํ…์ธ  ์ง€์šฐ๊ธฐ, ์œ„ํ˜‘ ์˜ˆ๋ฐฉ ํ”„๋กœํ•„(ํ”„๋กœํ•„ ์ด๋ฆ„์ด ํ‘œ์‹œ๋จ)์— ๋”ฐ๋ผ ๋ชจ๋“œ ์„ ํƒ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ์— ๋Œ€ํ•œ ์ถ”์ถœ API ์š”์ฒญ์— ์‘๋‹ตํ•  ๋•Œ ๊ฐ€์žฅ ์ข‹์€ ์ ์€ ํ•ด๋‹น ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ base64 ์•”ํ˜ธํ™”๋œ ๋ฌธ์ž์—ด๋กœ ์ •๋ฆฌ๋œ ๋ณต์‚ฌ๋ณธ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฌธ์„œ)

ํŒŒ์ผ ์ง€์šฐ๊ธฐ ์š”์ฒญ์˜ ์˜ˆ

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

๋ช…ํ™•ํ•œ ์‚ฌ๋ณธ์„ ์–ป๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ API ์š”์ฒญ ์ˆ˜๊ฐ€ ์ ๋‹ค๋Š” ์‚ฌ์‹ค์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ด ์˜ต์…˜์€ ๋‹ค์Œ์—์„œ ์‚ฌ์šฉ๋œ ์–‘์‹ ๋ฐ์ดํ„ฐ ์š”์ฒญ๋ณด๋‹ค ๋œ ์„ ํ˜ธ๋˜๊ณ  ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์œ„ํ˜‘ ์˜ˆ๋ฐฉ API.

์šฐํŽธ ๋ฐฐ๋‹ฌ๋ถ€ ์ปฌ๋ ‰์…˜

๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ API ์š”์ฒญ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์œ„ํ˜‘ ์˜ˆ๋ฐฉ API์™€ ๋ณด์•ˆ ๊ฒŒ์ดํŠธ์›จ์ด์šฉ ์œ„ํ˜‘ ์˜ˆ๋ฐฉ API ๋ชจ๋‘์— ๋Œ€ํ•ด Postman์—์„œ ์ปฌ๋ ‰์…˜์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„ ip/url API ๋ฐ ํ‚ค๊ฐ€ ์ž๋™์œผ๋กœ ์š”์ฒญ์œผ๋กœ ๋Œ€์ฒด๋˜๊ณ  sha256 ํ•ด์‹œ ์–‘์ด ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ ํ›„ ๊ธฐ์–ต๋˜๋„๋ก ์ปฌ๋ ‰์…˜ ๋‚ด๋ถ€์— ์„ธ ๊ฐ€์ง€ ๋ณ€์ˆ˜๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์ปฌ๋ ‰์…˜ ์„ค์ •์œผ๋กœ ์ด๋™ํ•˜์—ฌ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค). ํŽธ์ง‘ -> ๋ณ€์ˆ˜): te_api (ํ•„์ˆ˜), api_key (๋กœ์ปฌ ์žฅ์น˜์—์„œ TP API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ  ํ•„์ˆ˜ ์ž…๋ ฅ), sha256(๋น„์›Œ ๋‘์„ธ์š”. SG์šฉ TP API์—์„œ๋Š” ์‚ฌ์šฉ๋˜์ง€ ์•Š์Œ).

Threat Prevention API์šฉ Postman ์ปฌ๋ ‰์…˜ ๋‹ค์šด๋กœ๋“œ

Security Gateway API์šฉ ์œ„ํ˜‘ ์˜ˆ๋ฐฉ์„ ์œ„ํ•œ Postman ์ปฌ๋ ‰์…˜ ๋‹ค์šด๋กœ๋“œ

์‚ฌ์šฉ ์˜ˆ

์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๋ฉ”์ดํŠธ ํ™•์ธ Python์œผ๋กœ ์ž‘์„ฑ๋œ ์Šคํฌ๋ฆฝํŠธ๋Š” ๋‹ค์Œ์„ ํ†ตํ•ด ์›ํ•˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ํŒŒ์ผ์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. TP API๊ณผ SG์šฉ TP API. Threat Prevention API์™€์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ํ†ตํ•ด ํŒŒ์ผ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์ด ํฌ๊ฒŒ ํ™•์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์—ฌ๋Ÿฌ ํ”Œ๋žซํผ์˜ ํŒŒ์ผ์„ ํ•œ ๋ฒˆ์— ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค(์ฒดํฌ์ธ). ๋ฐ”์ด๋Ÿฌ์Šคํ† ํƒˆ API, Check Point ์ƒŒ๋“œ๋ฐ•์Šค์—์„œ) ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์—์„œ ํŒŒ์ผ์„ ๋ฐ›์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ๋“œ๋ผ์ด๋ธŒ, ์˜ˆ๋ฅผ ๋“ค์–ด CRM ์‹œ์Šคํ…œ์—์„œ๋„ ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€