틀린 부분이 있다면 언제든지 댓글 남겨주세요!
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
'Security > 보안 일반 || 관리' 카테고리의 다른 글
정보보안관리 법규 / CPPG (0) | 2022.08.09 |
---|---|
DoS / DDoS / DRDoS (0) | 2022.05.18 |
System Exploitation Fundamental #1 (0) | 2021.04.19 |
침투 테스터를 위한 파이썬 오픈소스 도구 (0) | 2020.09.27 |
Sniffing vs Spoofing vs Snooping (0) | 2020.09.17 |
댓글