본문 바로가기
Security/보안 일반 || 관리

API 보안

by jino22 2022. 5. 16.

틀린 부분이 있다면 언제든지 댓글 남겨주세요! 


API (Application Platform Interface)

: 응용프로그램 개발시 운영체제나 프로그래밍 언어(C, java, python 등)에 있는 라이브러리(Library)를 이용할 수 있도록 정의해놓은 인터페이스.

 

점차 표준 API를 이용해 프로그램을 개발하는 기업이 증가함에 따라 의존도가 높아지고 있음.

API를 이용해 데이터를 전송하고 서비스를 연결하는 경우가 많아져 API가 손상되거나 해킹되면 데이터 유출이 발생할 수 있음. 이에 따라 앞으로 보안 상 API가 주요 공격 대상이 됨.

특히 내부 시스템을 이용하는 것이 아니라 인터넷을 통해 호출하는 REST API는 더욱 보안이 필요함.

 

API 접근 방식

- Open API: 백엔드에 서버를 만들고 외부에서 데이터를 가져옴 ex) 지도

- Internal API: 내부 개발자의 편의를 위한 API

 

API 프로토콜

- REST(Representational State Transfer): HTTP 프로토콜 기반, 메소드와 URI를 조합해 예측 가능하고 일정한 정보 요청 및 응답

- SOAP(Simple Object Access Protocol): XML프로토콜 기반, XML암호화 및 서명, SAML토콘을 이용해 메시지 전송시의 보안사항 처리

- GraphQL: REST한계를 극복하기 위해 페이스북이 만듦. 한번의 요청으로 원하는 정보를 얻거나 수정

 

API보안

- 인증 (Authentication): 데이터 암호화(SSL/TLS 등), 지정 사용자 외에 암호 해제 및 수정이 불가능하도록 서명 요구

- JWT (JSON Web Token): BruteForce 공격이 어렵게 하기 위해 랜덤한 키 값을 사용. 즉 신뢰할 수 있는 여러 Identity를 설정한 후 해당 Identity에 할당된 토큰을 이용해 액세스 제어

  * key=의미없는 난수, 고유한 값 / token=사용자 정보 등 추가적인 정보를 담은 값 

- OAuth: 무결성 확인, 허용된 URL만 받기 위해 서버단에서 redirect uri 유효성 검증

- 요청(Input): 각 요청의 연산에 맞는 적정한 HTTP 메소드 사용

- 응답(output): 각 작업에 맞는 상태코드 반환

- 접근(Access): 할당량 및 제한을 사용하여 API호출 빈도에 따라 할당량을 설정하고 사용 기록 추적 (Rate limiting, throttling)   > DoS 공격과 같은 트래픽 증가 공격으로부터 보호 가능

- 서버 처리: 모든 엔드포인트가 인증 프로세스 뒤에서 보호되고 있는지 확인

- CI&CD: 단위, 통합 테스트 범위로 설계 및 구현 검토

- API 게이트웨이 사용: 안전한 게이트웨이를 이용해 트래픽을 인증하고 API사용 방식 제어 및 분석

 

 

 

 

 

 

참조:  https://www.boannews.com/media/view.asp?idx=106762 

 

[카드뉴스] API 보안 점검하기

API는 운영 체제, 프로그래밍 언어 등에 있는 라이브러리를 응용 프로그램 개발시 이용할 수 있도록 규칙들을 정의해 놓은 인터페이스다.

www.boannews.com

https://blog.lgcns.com/2529

 

[RED팀] 지피지기면 백전불태, API보안 이해로 개인정보 철통방어!

앱 중심의 세상 속에서 혁신의 기본 요소는 API(Application Programming Interface)입니다. API는 클라우드, IoT, 모바일 등 다양한 환경에서 널리 활용되고 있는데요. 특히 API를 통해 전달되는 개인식별정보

blog.lgcns.com

 

728x90
반응형

댓글