KR102230272B1 - 프론트엔드와 백엔드 사이의 api 중계방법 - Google Patents

프론트엔드와 백엔드 사이의 api 중계방법 Download PDF

Info

Publication number
KR102230272B1
KR102230272B1 KR1020200171139A KR20200171139A KR102230272B1 KR 102230272 B1 KR102230272 B1 KR 102230272B1 KR 1020200171139 A KR1020200171139 A KR 1020200171139A KR 20200171139 A KR20200171139 A KR 20200171139A KR 102230272 B1 KR102230272 B1 KR 102230272B1
Authority
KR
South Korea
Prior art keywords
api
request
received
backend
result value
Prior art date
Application number
KR1020200171139A
Other languages
English (en)
Inventor
이교택
Original Assignee
주식회사 이글루시큐리티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 이글루시큐리티 filed Critical 주식회사 이글루시큐리티
Priority to KR1020200171139A priority Critical patent/KR102230272B1/ko
Application granted granted Critical
Publication of KR102230272B1 publication Critical patent/KR102230272B1/ko

Links

Images

Classifications

    • H04L67/2819
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • H04L67/2809
    • H04L67/2842
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Abstract

본 발명은 프론트엔드 및 백엔드와 통신가능한 API(Application Programming Interface) 중계서버에 의해 수행되는 방법으로서, 상기 프론트엔드로부터 API 검색요청을 수신하고, 수신된 API 검색요청과 대응되는 공개 API 리스트를 상기 프론트엔드로 전송하는 단계; 상기 프론트엔드로부터 API 요청을 수신하는 단계; 수신된 API 요청에 포함된 API에 대한 차단 또는 승인여부를 판단하는 단계; 상기 API가 승인되는 경우, 상기 백엔드로 API 요청을 전송하고, 전송한 API 요청에 대한 결과값을 수신하는 단계; 수신된 결과값을 캐싱(Caching)하는 단계; 및 수신된 결과값을 상기 프론트엔드로 전송하는 단계를 포함한다.

Description

프론트엔드와 백엔드 사이의 API 중계방법{APPLICATION PROGRAMMING INTERFACE RELAY METHOD BETWEEN FRONTEND AND BACKEND}
본 발명은 프론트엔드와 백엔드 사이의 API 중계방법에 관한 것으로서, 구체적으로, 프론트엔드 및 백엔드와 통신가능한 API 중계서버에 의해 수행되는 API 중계 방법에 관한 것이다.
백엔드와 프론트엔드 사이의 정보교환은 API(Application Programming Interface)에 의해 수행된다.
프론트엔드에서 백엔드로 API를 요청하면, 백엔드에서 요청된 API에 대응되는 결과값을 프론트엔드로 전송한다.
다만, 백엔드의 API가 공개되는 경우 보안 위험이 발생될 수 있으며, 이로 인해 프론트엔드에서 API를 요청하는 사용자는 백엔드의 API에 대해 미리 숙지하고 있는 경우가 많다.
다른 제품(혹은, 다른 프론트엔드)에서 백엔드의 API를 사용해야 하는 경우가 발생되는데, 이 경우 해당 백엔드의 자산관리자 또는 해당 백엔드를 사용하던 프론트엔드의 사용자에게 API에 대한 정보를 요청해야하는 불편이 발생되고 있다.
상술한 바와 같은 문제점을 해결하기 위한 본 발명은, 복수의 백엔드 각각에 대한 공개 API 리스트를 저장하고, 요청된 백엔드에 대한 공개 API 리스트를 제공하는 API 중계서버 및 API 중계방법을 제공하는 것을 일 목적으로 한다.
또한, 본 발명은, 프론트엔드로부터 요청된 API에 대한 승인 또는 차단 여부를 판단하는 API 중계서버 및 API 중계방법을 제공하는 것을 일 목적으로 한다.
또한, 본 발명은, 백엔드로 API 요청을 전송하고, 수신받은 결과값을 프론트엔드로 전송하는 API 중계서버 및 API 중계방법을 제공하는 것을 일 목적으로 한다.
또한, 본 발명은, 백엔드로부터 수신한 결과값을 캐싱하고, 프론트엔드로부터 기존과 동일한 API 요청이 수신된 경우, 캐싱된 결과값을 프론트엔드에 제공하는 API 중계서버 및 API 중계방법을 제공하는 것을 일 목적으로 한다.
또한, 본 발명은, 요청빈도가 기 설정된 횟수 미만인 API를 탐지하고, 탐지된 API에 대해 보안검사를 수행하며, 미사용?怜킬? 보안 위협이 존재하는 API에 대한 조치를 수행하는 API 중계서버 및 API 중계방법을 제공하는 것을 일 목적으로 한다.
또한, 본 발명은, API 요청빈도에 대한 요청순위를 산출하고, 산출된 요청순위에 따라 리스팅된 공개 API 리스트를 제공하는 API 중계서버 및 API 중계방법을 제공하는 것을 일 목적으로 한다.
또한, 본 발명은, API에 대한 평점을 수신하여 평균평점을 산출하고, 산출된 평균평점에 따라 리스팅된 공개 API 리스트를 제공하는 API 중계서버 및 API 중계방법을 제공하는 것을 일 목적으로 한다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 API 중계방법은, 프론트엔드 및 백엔드와 통신가능한 API(Application Programming Interface) 중계서버에 의해 수행되는 방법으로서, 상기 프론트엔드로부터 API 검색요청을 수신하고, 수신된 API 검색요청과 대응되는 공개 API 리스트를 상기 프론트엔드로 전송하는 단계; 상기 프론트엔드로부터 API 요청을 수신하는 단계; 수신된 API 요청에 포함된 API에 대한 차단 또는 승인여부를 판단하는 단계; 상기 API가 승인되는 경우, 상기 백엔드로 API 요청을 전송하고, 전송한 API 요청에 대한 결과값을 수신하는 단계; 수신된 결과값을 캐싱(Caching)하는 단계; 및 수신된 결과값을 상기 프론트엔드로 전송하는 단계를 포함한다.
또한, 수신된 API 요청에 포함된 API에 대한 차단 또는 승인여부를 판단하는 단계는, 상기 API와 매칭되는 데이터에 대하여 기 설정된 접근가능 API 리스트를 검색하고, 검색된 접근가능 API 리스트와 상기 API를 비교하는 단계; 및 검색된 접근가능 API 리스트에 상기 API가 포함되는 경우, 수신된 API 요청을 승인하는 단계를 포함한다.
또한, 수신된 API 요청과 동일한 API 요청을 수신하는 단계; 및 캐싱된 결과값을 상기 프론트엔드로 전송하는 단계를 더 포함한다.
또한, 상기 캐싱된 결과값을 상기 프론트엔드로 전송하는 단계는, 수신된 동일한 API 요청이 결과값을 중복적으로 호출하는 경우, 하나의 캐싱된 결과값을 상기 프론트엔드로 전송하는 것이다.
또한, 기 설정된 시간동안 API의 요청빈도를 카운팅하는 단계를 더 포함한다.
또한, 요청빈도가 기 설정된 횟수 미만인 API를 탐지하는 단계; 탐지된 API에 대한 보안위험의 존재여부를 판단하는 단계; 및 기 설정된 기간동안 요청되지 않았거나 보안위험이 존재하는 API를 제한 API로 판별하고, 제한 API에 대한 조치를 수행하는 단계를 더 포함한다.
또한, 상기 제한 API에 대한 조치를 수행하는 단계는, 상기 제한 API를 삭제하거나 상기 공개 API 리스트에서 제외하는 것이다.
또한, 기 설정된 기간동안 카운팅된 요청빈도에 기초하여 API에 대한 요청순위를 도출하는 단계; 및 상기 공개된 API 리스트에 포함된 복수의 API의 순서를 도출된 상기 요청순위에 기초하여 재구성하는 단계를 더 포함한다.
또한, 상기 프론트엔드로부터 결과값이 제공된 API에 대한 평점을 수신하는 단계; 기 설정된 기간동안 수신된 평점에 기초하여 API에 대한 평균평점을 도출하는 단계; 및 상기 공개된 API 리스트에 포함된 복수의 API의 순서를 상기 평균평점에 기초하여 재구성하는 단계를 더 포함한다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.
상기와 같은 본 발명에 따르면, 각각의 백엔드에 대한 공개 API 리스트가 제공되므로, 각각의 백엔드의 자산관리자에게 연락할 필요없이, 각각의 프론트엔드의 사용자는 모든 백엔드로부터 데이터를 요청할 수 있다.
또한, 본 발명에 따르면, 접근권한이 없는 API에 대해 미리 차단함으로서, 백엔드에 보안위협이 발생되는 것을 예방할 수 있다.
또한, 본 발명에 따르면, 기존에 승인되었던 API 요청이 재요청되는 경우, 캐싱된 결과값이 제공되므로, 결과값을 프론트엔드에 전송하기까지 소요되는 시간이 단축될 수 있다. 즉, 처리속도가 향상될 수 있다.
또한, 사용되지 않거나 사용빈도가 적은 API에 대해서는 관리가 소홀해질 수 있으므로, 이러한 API들은 공격자들의 타켓이 되어 백엔드에 손상을 발생시킬 수 있다. 다만, 본 발명에 따르면, 보안위험을 발생시킬 수 있는 API에 대한 공개가 제한되거나 삭제되므로, 공격자들에 의해 백엔드에 손상이 발생되는 것을 예방할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시 예에 따른 API 중계서버의 구성을 도시하는 블록도이다.
도 2는 본 발명에 따른 API 중계방법의 일부 과정을 도시하는 흐름도이다.
도 3은 도 2에 따른 S12단계의 구체적인 과정을 도시하는 흐름도이다.
도 4는 본 발명에 따른 API 중계방법의 일부 과정을 도시하는 흐름도이다.
도 5는 본 발명에 따른 API 중계방법의 일부 과정을 도시하는 흐름도이다.
도 6은 본 발명에 따른 API 중계방법의 일부 과정을 도시하는 흐름도이다.
도 7은 본 발명에 따른 API 중계방법의 일부 과정을 도시하는 흐름도이다.
도 8은 도 7에 따른 S32단계의 구체적인 과정을 도시하는 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 1을 참조하면, 본 발명에 따른 API(Application Programming Interface) 중계서버(20)는 프론트엔드(10) 및 백엔드(30)와 통신 가능하도록 연결된다.
프론트엔드(10) 및 백엔드(30)는 서로 다른 복수 개로 구비될 수 있다.
일 실시 예에서, 프론트엔드(10), API 중계서버(20) 및 백엔드(30)는 정보처리를 위한 제어부, 통신부 및 메모리를 구비할 수 있다.
제어부는, 하드웨어적으로, ASICs(applicationspecific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
또한, 소프트웨어적으로, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수
있다. 소프트웨어 코드는 적절한 프로그램 언어로 쓰여진 소프트웨어 애플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 메모리에 저장되고, 제어부에 의해 실행될 수 있다.
통신부는 유선통신모듈, 무선통신모듈 및 근거리통신모듈 중 적어도 하나를 통해 구현될 수 있다. 무선 인터넷 모듈은 무선 인터넷 접속을 위한 모듈을 말하는 것으로 각 장치에 내장되거나 외장될 수 있다. 무선 인터넷 기술로는 WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), LTE(long term evolution), LTE-A(Long Term Evolution-Advanced) 등이 이용될 수 있다.
메모리는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard
disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(random access memory; RAM), SRAM(static random access memory), 롬(read-only memory; ROM), EEPROM(electrically erasable programmable read-only memory), PROM(programmable read-only memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
API 중계서버(20)의 메모리에는 각각의 백엔드(30)에 대한 공개 API 리스트가 저장된다. 공개 API 리스트는 백엔드(30)에서 사용되는 전체 API 중 보안위험이 존재하는 API를 제외한 나머지 API로 구성될 수 있다.
또한, 공개 API 리스트는 백엔드(30) 별로 다르게 구성될 수 있다. 일 실시 예에서, 제1 백엔드(31)의 공개 API 리스트와 제2 백엔드(32)의 공개 API 리스트는 서로 다르게 구성될 수 있다.
API 중계서버(20)는 프론트엔드(10)의 요청에 따라 공개 API 리스트를 제공할 수 있다.
또한, API 중계서버(20)는 프론트엔드(10)로부터 API 요청을 수신하고, 수신된 API 요청을 백엔드(30)로 전달하며, 백엔드(30)로부터 결과값을 수신하고, 수신된 결과값을 프론트엔드(10)에 제공한다.
아래에서는, 본 발명의 실시 예에 따른 API 중계서버(20)에 대하여 구체적으로 설명한다.
1. 본 발명의 실시 예에 따른 API 중계서버(20)의 설명
도 1를 참조하면, API 중계서버(20)는 API의 중계를 위하여, 프론트엔드(10) 및 백엔드(30)와 통신 가능하게 연결된다.
또한, API 중계서버(20)는 API 검색부(21), API 차단부(22), API 승인부(23), API 캐싱부(24) 및 API 관리부(25)를 포함한다.
API 검색부(21)
API 검색부(21)는, 프론트엔드(10)로부터 백엔드(30)에 대한 API 검색 요청이 수신되면, 메모리에서 해당 백엔드(30)에 대한 공개 API 리스트를 검색하고, 검색된 공개 API 리스트를 프론트엔드(10)로 제공한다.
일 실시 예에서, 제1 프론트엔드(11)로부터의 제1 백엔드(31) 및 제2 백엔드(32)에 대한 API 검색 요청이 수신되면, API 검색부(21)는 제1 백엔드(31) 및 제2 백엔드(32) 각각에 대한 공개 API 리스트를 제1 프론트엔드(11)로 전송한다.
공개 API 리스트를 수신한 프론트엔드(10)는 데이터를 요청할 백엔드(30)에서 사용되는 API에 대한 정보를 파악하고, 이를 토대로 백엔드(30)에 데이터를 요청할 수 있다.
각각의 백엔드(30)에 대한 공개 API 리스트가 API 검색부(21)에 의해 제공되므로, 각각의 백엔드(30)의 자산관리자에게 연락할 필요없이, 각각의 프론트엔드(10)의 사용자는 모든 백엔드(30)로부터 데이터를 요청할 수 있다.
API 차단부(22)
API 차단부(22)는 프론트엔드(10)에서 요청된 API에 대한 차단여부를 결정한다. API 차단부(22)는 요청된 API에 의해 요청되는 데이터를 확인하고, 메모리에서 해당 데이터에 대응되는 접근가능 API 리스트를 검색한다.
일 실시 예에서, API 중계서버(20)의 메모리에는 각각의 백엔드(30)의 데이터와 매칭되는 접근가능 API 리스트가 저장될 수 있다.
API 차단부(22)는 API 요청의 대상이 되는 데이터와 매칭되는 접근가능 API 리스트를 검색하고, 검색된 접근가능 API 리스트에 API가 포함되는지 여부를 판단한다.
요청된 API가 데이터와 대응되는 접근가능 API 리스트에 포함되지 않는 경우, API 차단부(22)는 백엔드(30)로 수신된 API 요청을 전송하지 않고 차단한다.
프론트엔드(10)로부터 공개 API 리스트에 포함되지 않는 API에 대한 요청이 수신될 수 있으며, 수신된 API의 종류에 따라 백엔드(30)에 보안위험이 발생될 수 있다.
본 발명에 따르면, 보안위협이 존재하는 API가 API 중계서버(20)에서 미리 차단되므로, 백엔드(30)에 보안위험이 발생되는 것을 예방할 수 있다.
API 승인부(23)
요청된 API가 접근가능 API 리스트에 포함되는 경우, API 승인부(23)는 수신된 API 요청을 백엔드(30)로 전송하도록 승인한다.
즉, 승인된 API에 대한 요청은 API 승인부(23)에 의해 백엔드(30)로 전송된다. 또한, API 승인부(23)는 백엔드(30)로부터 API 요청에 대하여 반환되는 값인 결과값(API에 의해 요청된 데이터)을 수신한다.
메모리에는 백엔드(30) 사이의 연계정보가 저장될 수 있다. 서로 연계된 백엔드(30)는 동일한 데이터를 포함하고 동일한 API를 사용하는 백엔드(30)를 가리킨다.
특정 API가 승인된 경우, API 승인부(23)는 승인된 API, 승인된 API에 의해 데이터가 요청되는 백엔드(30) 및 해당 백엔드(30)와 연계된 백엔드(30)에 대한 정보를 메모리에 저장할 수 있다.
일 실시 예에서, 제1 백엔드(31)에 대한 데이터를 요청하는 제1 API가 승인된 경우, API 승인부(23)는 제1 API가 승인되었고, 제1 API에 의해 제1 백엔드(31)의 데이터가 요청되었으며, 제1 백엔드(31)와 연계되는 백엔드는 제2 백엔드(32)임을 메모리에 저장할 수 있다.
제1 백엔드(31)에 대하여 승인된 제1 API와 동일한 API가 제2 백엔드(32)에 대하여 요청된 경우, API 승인부(23)는 API 차단여부에 대해 판단하지 않고 해당 API를 승인할 수 있다.
API 캐싱부(24)
API 중계서버(20)에는 캐시메모리가 구비되며, API 캐싱부(24)는 백엔드(30)에서 수신된 결과값을 캐시메모리에 저장한다.
또한, API 캐싱부(24)는 백엔드(30)에서 수신된 결과값을 프론트엔드(10)로 전송한다.
기존에 승인되었던 API와 동일한 API가 동일한 백엔드(30)에 대해 요청되는 경우, API 캐싱부(24)는 캐시메모리에서 캐싱된 결과값을 검색하고, 검색된 결과값을 프론트엔드(10)로 전송한다. 일 실시 예에서, 동일한 API는 API가 입력된 파라미터에만 의존하는 함수(Function)타입에 해당된다.
이를 통해, 기존에 승인되었던 API 요청이 재요청되는 경우, 결과값을 프론트엔드(10)에 전송하기까지 소요되는 시간이 단축될 수 있다. 즉, 처리속도가 향상될 수 있다.
API 관리부(25)
API 관리부(25)는 프론트엔드(10)에 제공되는 공개 API 리스트를 수정하도록 구성된다.
공개 API 리스트를 수정을 위하여, API 관리부(25)는 요청빈도 카운팅모듈(251), 보안 검사모듈(252), 요청순위 산출모듈(253), 평균평점 산출모듈(254) 및 API 갱신모듈(255)을 포함한다.
요청빈도 카운팅모듈(251)은 기 설정된 시간동안 각각의 API에 대해 요청된 빈도를 카운팅한다. 카운팅된 요청빈도에 의해, 기 설정된 기간동안 사용되지 않았거나 요청빈도가 적은 API가 탐지될 수 있다.
또한, 보안 검사모듈(252)은 기 설정된 기간동안 사용되지 않았거나 요청빈도가 적은 API에 대한 보안 검사를 수행한다. 보안 검사에 의해, 해당 API의 사용에 의한 백엔드(30)의 보안위험 발생가능성이 판단될 수 있다.
사용되지 않거나 사용빈도가 적은 API에 대해서는 관리가 소홀해질 수 있으며, 이러한 API들은 공격자들의 타켓이 되어 백엔드(30)에 손상을 발생시킬 수 있다. 따라서, API 갱신모듈(255)은 보안위험을 발생시킬 수 있는 API에 대한 조치를 수행할 수 있다.
일 실시 예에서, 사용빈도가 과도하게 적은 API 또는 보안 검사모듈(252)에서 보안위험이 존재하는 것으로 판단된 API는 제한 API로 판단될 수 있으며, 제한 API는 API 갱신모듈(255)에 의해 공개 API 리스트에서 제외할 수 있다. 이를 통해, 제한 API가 공격자들에 의해 활용되어 백엔드(30)에 손상이 발생되는 것을 예방할 수 있다.
또한, 제한 API는 API 갱신모듈(255)에 의해 메모리에서 삭제될 수 있다. 이를 통해, API 중계서버(20)에 저장되는 데이터량을 절감할 수 있다.
요청순위 산출모듈(253)은 요청빈도 카운팅모듈(251)에서 산출된 요청빈도에 기초하여 API별 요청순위를 산출하며, API 갱신모듈(255)은 산출된 API별 요청순위에 기초하여 공개 API 리스트에 포함된 API의 순서를 재구성할 수 있다.
예를 들어, 제1 백엔드(31)에 대한 공개 API 리스트에 API1, API2, API3, API4가 포함되어 있고, API2, API3, API1, API4 순으로 많이 요청된 경우, API 갱신모듈(255)은 API2, API3, API1, API4 순으로 API가 배치되도록 공개 API 리스트를 수정할 수 있다.
평균평점 산출모듈(254)은 프론트엔드(10)의 사용자들로부터 요청한 API에 대한 평점을 수신할 수 있다. 평점은 기 설정된 숫자 범위로 구성될 수 있다. 예를 들어, 평점은 1이상 5이하의 자연수로 구성될 수 있으며, 숫자가 높아질수록 요청한 사용자의 만족도가 높음을 나타낼 수 있다.
평균평점 산출모듈(254)은 수신된 평점을 이용하여 API별 평균평점을 산출할 수 있다. API 갱신모듈(255)은 산출된 평균평점에 기초하여 공개 API 리스트에 포함된 API의 순위를 재구성할 수 있다.
예를 들어, 제1 백엔드(31)에 대한 공개 API 리스트에 API1, API2, API3, API4가 포함되어 있고, API2, API3, API1, API4 순으로 평점이 높은 경우, API 갱신모듈(255)은 API2, API3, API1, API4 순으로 API가 배치되도록 공개 API 리스트를 수정할 수 있다.
2. 본 발명의 실시 예에 따른 API 중계방법의 설명
아래에서는, 도 2 내지 도 8을 참조하여, 본 발명의 실시 예에 따른 API 중계방법에 대해 설명한다.
도 2를 참조하면, 본 발명의 실시 예에 따른 API 중계방법의 일부 과정이 도시된다.
도 2에서는, 복수의 프론트엔드(10) 중 어느 하나인 제1 프론트엔드(11)와 복수의 백엔드(30) 중 어느 하나인 제1 백엔드(31) 사이에서의 API 중계과정이 도시된다. 다만, 이에 한정되는 것은 아니며, 제1 프론트엔드(11) 이외의 다른 프론트엔드(10)와 제1 백엔드(31) 이외의 다른 백엔드(30) 사이에도 동일하게 적용될 수 있다.
먼저, API 중계서버(20)는 제1 프론트엔드(11)에 제1 백엔드(31)의 공개 API 리스트를 제공할 수 있다.
복수의 프론트엔드(10) 중 어느 하나인, 제1 프론트엔드(11)에서 API 중계서버(20)로 API 검색요청을 전송한다(S1).
도시된 실시 예에서, 복수의 백엔드(30) 중 어느 하나인 제1 백엔드(31)에서 사용되는 API에 대한 검색이 요청된다.
API 검색요청이 수신되면, API 중계서버(20)는 요청된 제1 백엔드(31)에 대한 공개 API 리스트를 검색한다(S2). 구체적으로, API 중계서버(20)는 메모리에서 제1 백엔드(31)의 공개 API 리스트를 검색한다.
요청된 제1 백엔드(31)에 대한 공개 API 리스트가 검색되면, API 중계서버는 검색된 공개 API 리스트를 제1 프론트엔드(11)로 전송한다(S3).
제1 프론트엔드(11)의 사용자는 수신된 공개 API 리스트를 참조하여 제1 백엔드(31)에 대한 API 요청을 API 중계서버(20)로 전송할 수 있다.
도시되지 않은 실시 예에서, 제1 프론트엔드(11)가 아닌 다른 프론트엔드(10)의 사용자도, 제1 백엔드(31) 또는 제1 백엔드(31)가 아닌 다른 백엔드(30)에 대한 API 검색을 요청할 수 있다.
각각의 백엔드(30)에 대한 공개 API 리스트가 API 중계서버(20)에 의해 제공되므로, 각각의 백엔드(30)의 자산관리자에게 연락할 필요없이, 각각의 프론트엔드(10)의 사용자는 제공된 API를 사용하여 모든 백엔드(30)로부터 데이터를 요청할 수 있다.
또한, API 중계서버(20)는 제1 프론트엔드(11)로부터 API 요청을 수신받아 제1 백엔드(31)로 전달한 뒤, 수신받은 결과값(API 요청와 대응되는 데이터)을 제1 프론트엔드(11)로 전달한다.
먼저, API 중계서버(20)는 제1 프론트엔드(11)에서 API 요청을 수신한다(S11).
API 요청에는 API 요청의 대상이 되는 백엔드(30), API의 종류 및 API에 의해 요청되는 데이터에 대한 정보가 포함될 수 있다.
도시된 실시 예에서, 제1 프론트엔드(11)에서 수신된 API 요청은 제1 백엔드(31)의 데이터에 대한 요청이다.
API 요청이 수신되면, API 중계서버(20)는 API의 차단여부를 판단한다(S12).
도 3을 참조하면, S12단계에 대한 구체적인 과정이 도시된다.
API 중계서버(20)가 API를 수신하고(S121), API에 의해 요청되는 데이터를 확인하여 메모리에서 해당 데이터에 대응되는 접근가능 API 리스트를 검색한다(S122).
그런 다음, API 중계서버(20)는 접근가능 API 리스트에 수신된 API가 포함되는지 여부를 판단한다(S123).
접근가능 API 리스트에 API가 포함되지 않는 경우, API 중계서버(20)는 API를 차단하고(S124), 접근가능 API 리스트에 API가 포함된 경우, API 중계서버(20)는 API를 승인한다(S125).
다시 도 2를 참조하면, API가 차단된 경우, API가 차단되었음을 알리는 차단결과를 제1 프론트엔드(11)로 전송한다(S13).
반면에, API가 승인된 경우, API 중계서버(20)는 승인된 API에 대한 API 요청을 제1 백엔드(31)로 전송하고(S14), 제1 백엔드(31)에서 전송한 API 요청에 대한 결과값을 수신한다(S15).
결과값이 수신되면, API 중계서버(20)는 API 요청과 이에 대한 결과값을 매칭하여 캐시메모리에 저장하고(S16), 결과값을 제1 프론트엔드(11)로 전송한다(S17).
또한, 기존에 요청되어 결과값이 제공되었던 API 요청과 동일한 API 요청이 수신된 경우, API 중계서버(20)는 캐싱된 결과값을 제공한다.
먼저, 기존에 요청되어 결과값이 제공되었던 API 요청과 동일한 API 요청이 API 중계서버로 수신되고(S21), API 중계서버(20)는 API 요청과 매칭되는 캐싱된 결과값을 검색한다(S22).
캐싱된 결과값이 검색되면, API 중계서버(20)는 캐싱된 결과값을 제1 프론트엔드(11)로 전송한다(S23).
또한, API 중계서버(20)는 각각의 백엔드(30)에 대하여 제공되는 공개 API 리스트를 수정할 수 있다.
구체적으로, API 중계서버(20)는 공개 API 리스트에 포함된 API의 일부를 제외시키거나 삭제할 수 있다.
도 4를 참조하면, 공개 API 리스트에 포함된 API의 일부를 제외시키거나 삭제시키는 과정의 구체적으로 도시된다.
먼저, API 중계서버(20)는 기 설정된 시간동안 발생된 API의 요청빈도를 카운팅한다(S41). API의 요청빈도가 산출되면, API 중계서버(20)는 요청빈도가 기 설정된 횟수 미만인 API를 탐지한다(S42).
그런 다음, API 중계서버(20)는 탐지된 API에 대한 보안검사를 수행한다(S43).
보안검사가 완료되면, API 중계서버(20)는 사용되지 않았거나 보안위험이 존재하는 API를 제한 API로 설정하고, 제한 API에 대한 조치를 수행한다(S44).
일 실시 예에서, API 중계서버(20)는 제한 API를 공개 API 리스트에서 제외하거나, 메모리에서 삭제할 수 있다.
제한 API가 공개 API 리스트에서 제외되어 공개되지 않음에 따라, 제한 API가 공격자들에 의해 활용되어 백엔드(30)에 손상이 발생되는 것을 예방할 수 있다.
또한, 제한 API가 삭제됨에 따라 API 중계서버(20)에 저장되는 데이터량이 절감될 수 있다.
또한, API 중계서버(20)는 공개 API 리스트에 포함된 API의 배열 순서를 수정할 수 있다.
도 5를 참조하면, API의 평균평점에 기초하여 공개 API 리스트의 배열 순서를 수정하는 과정이 도시된다.
먼저, API 중계서버(20)는 프론트엔드(10)로부터 결과값을 전송한 API에 대한 평점을 수신한다(S51).
그런 다음, 기 설정된 기간동안 수신된 평점에 기초하여 API에 대한 평균평점을 도출한다(S52).
API에 대한 평균평점이 도출되면, API 중계서버(20)는 공개 API 리스트에 포함된 API들의 순서를 산출된 평균평점에 기초하여 재구성한다(S53).
도 6을 참조하면, API의 요청순위에 기초하여 공개 API 리스트의 배열 순서를 수정하는 과정이 도시된다.
먼저, API 중계서버(20)가 기 설정된 시간동안 발생된 API의 요청빈도를 카운팅한다(S61).
그런 다음, 카운팅된 API의 요청빈도에 기초하여 API에 대한 요청순위를 도출하며(S62), 공개된 API 리스트에 포함된 복수의 API의 순서를 도출된 요청순위에 기초하여 재구성한다(S63).
도 7을 참조하면, 본 발명에 따른 API 중계방법의 일부과정이 도시된다.
도 7에 도시된 S1, S2, S3, S11, S12, S13, S14, S16 및 S17 단계는 도 2에 도시된 단계들과 동일하므로, 이에 대한 설명은 생략한다.
제1 프론트엔드(11)에 제1 백엔드(31)에 대한 결과값이 전송된 이후에, 제1 프론트엔드(11)로부터 기존과 유사한 API 요청이 수신된다(S31).
수신된 API 요청에는 기존과 동일한 종류의 API가 포함되고, API에 의해 요청되는 데이터도 동일하지만, 데이터를 요청하는 곳이 제1 백엔드(31)에서 제2 백엔드(32)로 변경된다.
API 요청이 수신되면, API 중계서버(20)는 제2 백엔드에 대한 승인여부를 판단한다(S32).
도 8을 참조하면, S32단계의 구체적인 과정이 도시된다.
API 요청이 수신되면, API 중계서버(20)는 API 요청에 포함된 API가 기존에 승인된 API인지 판단한다(S321).
기존에 승인된 API인 경우, API 중계서버(20)는 기존에 데이터가 요청됐던 제1 백엔드(31)와 현재 데이터가 요청되는 제2 백엔드(32)가 연계되었는지 여부를 판단한다(S322).
제2 백엔드(32)가 제1 백엔드(31)와 연계된 경우, API 중계서버(20)는 수신된 API를 승인한다(S323).
제2 백엔드(32)가 제1 백엔드(31)와 연계되지 않았거나, API 요청에 포함된 API가 기존에 승인된 기록이 없는 경우, API 중계서버(20)는 수신된 API에 대한 차단여부를 판단한다(S324).
수신된 API에 대한 차단여부의 판단은 상술한 S12단계와 동일한 과정으로 수행될 수 있다.
다시 도 7을 참조하면, API 중계서버(20)는 승인된 API에 대한 API 요청을 제2 백엔드(32)로 전송하고(S33), 제2 백엔드(32)로부터 API 요청에 대한 결과값을 전송받는다(S34).
결과값이 수신되면, API 중계서버(20)는 결과값을 캐싱하고(S35), 결과값을 제1 프론트엔드(11)로 전송한다.
이상으로 설명한 본 발명의 실시예에 따른 API 중계방법은 도 1을 통해 설명한 API 중계서버(20)와 발명의 카테고리만 다를 뿐, 동일한 내용이므로 중복되는 설명, 예시는 생략하도록 한다.
이상에서 전술한 본 발명의 일 실시예에 따른 방법은, 하드웨어인 서버와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
10: 프론트엔드
11: 제1 프론트엔드
12: 제2 프론트엔드
20: API 중계서버
21: API 검색부
22: API 차단부
23: API 승인부
24: API 캐싱부
25: API 관리부
251: 요청빈도 카운팅모듈
252: 보안 검사모듈
253: 요청순위 산출모듈
254: 평균평점 산출모듈
255: API 갱신모듈
30: 백엔드
31: 제1 백엔드
32: 제2 백엔드

Claims (10)

  1. 프론트엔드 및 백엔드와 통신가능한 API(Application Programming Interface) 중계서버에 의해 수행되는 방법으로서,
    상기 프론트엔드로부터 API 검색요청을 수신하고, 수신된 API 검색요청과 대응되는 공개 API 리스트를 상기 프론트엔드로 전송하는 단계;
    상기 프론트엔드로부터 API 요청을 수신하는 단계;
    수신된 API 요청에 포함된 API에 대한 차단 또는 승인여부를 판단하는 단계;
    상기 API가 승인되는 경우, 상기 백엔드로 API 요청을 전송하고, 전송한 API 요청에 대한 결과값을 수신하는 단계;
    수신된 결과값을 캐싱(Caching)하는 단계;
    수신된 결과값을 상기 프론트엔드로 전송하는 단계;
    기 설정된 시간동안 API의 요청빈도를 카운팅하는 단계;
    기 설정된 기간동안 카운팅된 요청빈도에 기초하여 API에 대한 요청순위를 도출하는 단계; 및
    상기 공개된 API 리스트에 포함된 복수의 API의 순서를 도출된 상기 요청순위에 기초하여 재구성하는 단계를 포함하는,
    API 중계 방법.
  2. 제1항에 있어서,
    수신된 API 요청에 포함된 API에 대한 차단 또는 승인여부를 판단하는 단계는,
    상기 API와 매칭되는 데이터에 대하여 기 설정된 접근가능 API 리스트를 검색하고, 검색된 접근가능 API 리스트와 상기 API를 비교하는 단계; 및
    검색된 접근가능 API 리스트에 상기 API가 포함되는 경우, 수신된 API 요청을 승인하는 단계를 포함하는,
    API 중계 방법.
  3. 제1항에 있어서,
    수신된 API 요청과 동일한 API 요청을 수신하는 단계; 및
    캐싱된 결과값을 상기 프론트엔드로 전송하는 단계를 더 포함하는,
    API 중계 방법.
  4. 제3항에 있어서,
    상기 캐싱된 결과값을 상기 프론트엔드로 전송하는 단계는,
    수신된 동일한 API 요청이 결과값을 중복적으로 호출하는 경우, 하나의 캐싱된 결과값을 상기 프론트엔드로 전송하는 것인,
    API 중계 방법.
  5. 삭제
  6. 제1항에 있어서,
    요청빈도가 기 설정된 횟수 미만인 API를 탐지하는 단계;
    탐지된 API에 대한 보안위험의 존재여부를 판단하는 단계; 및
    기 설정된 기간동안 요청되지 않았거나 보안위험이 존재하는 API를 제한 API로 판별하고, 제한 API에 대한 조치를 수행하는 단계를 더 포함하는,
    API 중계 방법.
  7. 제6항에 있어서,
    상기 제한 API에 대한 조치를 수행하는 단계는,
    상기 제한 API를 삭제하거나 상기 공개 API 리스트에서 제외하는 것인,
    API 중계 방법.
  8. 삭제
  9. 제1항에 있어서,
    상기 프론트엔드로부터 결과값이 제공된 API에 대한 평점을 수신하는 단계;
    기 설정된 기간동안 수신된 평점에 기초하여 API에 대한 평균평점을 도출하는 단계; 및
    상기 공개된 API 리스트에 포함된 복수의 API의 순서를 상기 평균평점에 기초하여 재구성하는 단계를 더 포함하는,
    API 중계방법.
  10. 하드웨어인 컴퓨터와 결합되어, 제1항 내지 제4항, 제6항, 제7항 및 제9항 중 어느 한 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장된,
    프로그램.
KR1020200171139A 2020-12-09 2020-12-09 프론트엔드와 백엔드 사이의 api 중계방법 KR102230272B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200171139A KR102230272B1 (ko) 2020-12-09 2020-12-09 프론트엔드와 백엔드 사이의 api 중계방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200171139A KR102230272B1 (ko) 2020-12-09 2020-12-09 프론트엔드와 백엔드 사이의 api 중계방법

Publications (1)

Publication Number Publication Date
KR102230272B1 true KR102230272B1 (ko) 2021-03-19

Family

ID=75262085

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200171139A KR102230272B1 (ko) 2020-12-09 2020-12-09 프론트엔드와 백엔드 사이의 api 중계방법

Country Status (1)

Country Link
KR (1) KR102230272B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110027411A (ko) * 2009-09-10 2011-03-16 광운대학교 산학협력단 오픈 api 제공 프록시 서버 및 이를 이용한 위젯 서비스 제공방법
KR20140119240A (ko) * 2013-03-27 2014-10-10 삼성전자주식회사 다중 오픈 api 처리장치 및 방법
CN106295330A (zh) * 2016-07-29 2017-01-04 努比亚技术有限公司 调用api的控制装置及方法
KR20190104846A (ko) * 2018-03-02 2019-09-11 주식회사 제이비금융지주 Api를 생성하는 전자 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
JP2019164465A (ja) * 2018-03-19 2019-09-26 株式会社エヌ・ティ・ティ・データ 情報処理装置および情報処理方法
US10831511B2 (en) * 2017-04-04 2020-11-10 Adp, Llc Customized application programming interface presentation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110027411A (ko) * 2009-09-10 2011-03-16 광운대학교 산학협력단 오픈 api 제공 프록시 서버 및 이를 이용한 위젯 서비스 제공방법
KR20140119240A (ko) * 2013-03-27 2014-10-10 삼성전자주식회사 다중 오픈 api 처리장치 및 방법
CN106295330A (zh) * 2016-07-29 2017-01-04 努比亚技术有限公司 调用api的控制装置及方法
US10831511B2 (en) * 2017-04-04 2020-11-10 Adp, Llc Customized application programming interface presentation
KR20190104846A (ko) * 2018-03-02 2019-09-11 주식회사 제이비금융지주 Api를 생성하는 전자 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
JP2019164465A (ja) * 2018-03-19 2019-09-26 株式会社エヌ・ティ・ティ・データ 情報処理装置および情報処理方法

Similar Documents

Publication Publication Date Title
US10868673B2 (en) Network access control based on distributed ledger
US10164993B2 (en) Distributed split browser content inspection and analysis
US11223637B2 (en) Detecting attacks on web applications using server logs
US9047463B2 (en) Method and system for protecting data flow at a mobile device
US9253204B2 (en) Generating accurate preemptive security device policy tuning recommendations
EP2860657B1 (en) Determining a security status of potentially malicious files
US20140201841A1 (en) Client Security Scoring
US11824878B2 (en) Malware detection at endpoint devices
US11223602B2 (en) IP address access based on security level and access history
US8813229B2 (en) Apparatus, system, and method for preventing infection by malicious code
US10819731B2 (en) Exception remediation logic rolling platform
US20240143734A1 (en) RESTRICTING ACCESS TO APPLICATION PROGRAMMING INTERFACES (APIs)
US11275842B2 (en) Systems and methods for evaluating security of third-party applications
US11606386B2 (en) Secure restore
US20230050771A1 (en) Method for determining risk level of instance on cloud server, and electronic device
US20190005252A1 (en) Device for self-defense security based on system environment and user behavior analysis, and operating method therefor
US11947678B2 (en) Systems and methods for evaluating data access signature of third-party applications
US20220201016A1 (en) Detecting malicious threats via autostart execution point analysis
US11886350B2 (en) System memory context determination for integrity monitoring and related techniques
US9465752B2 (en) Systems and/or methods for policy-based access to data in memory tiers
KR102230272B1 (ko) 프론트엔드와 백엔드 사이의 api 중계방법
US11394748B2 (en) Authentication method for anonymous account and server
CN112528339A (zh) 一种基于Caché数据库的数据脱敏方法及电子设备
US20210084070A1 (en) Systems and methods for detecting changes in data access pattern of third-party applications
CN114499998B (zh) 安全防护方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant