🔐 소프트웨어 개발 보안 구축 #9 - API 오용

2020. 7. 14. 16:37컴퓨터언어/소프트웨어공학

728x90
반응형

 

👍 API 오용이란?

 

API : 프로그래머가 라이브러리가 제공하는 여러 함수를 이용하여 프로그램을 작성할 때, 해당 함수의 내부 구조는 알 필요없이, 단순히 API 명세서에 정의된 값을 입력하면 반환되는 결과를 이용할 수 있도록 만든 매개체

 

API 오용이란, 소프트웨어 "구현" 단계에서 API를 잘못 사용하거나 보안에 취약한 API를 사용하는 것을 말하며, 이를 방지하기 위한 보안검증항목 역시 같은 이름으로 사용한다.

 

다음은 API 오용으로 인한 보안약점이다.

DNS Lookup에 의존한 보안 결정 ❗️ 도메인명에 의존하여 인증이나 접근통제 등 보안결정을 내린다면, 공격자는 DNS 엔트리를 속여 동일한 도메인에 속한 서버인 것처럼 위장하거나, 사용자와 서버 간 네트워크 트래픽을 유도하여 악성 사이트를 경유하도록 조작할 수 있다. 또한 DNS Lookup을 악용하여 인증이나 접근통제를 우회하는 수법으로 권한을 탈취할 수 있다.

✅ DNS 검색을 통해 도메인 이름으로 비교하는 것이 아니라, IP 주소를 직접 입력하여 접근함으로써 방지
취약한 API 사용 ❗️ 보안문제로 사용이 금지된 API를 사용하거나, 잘못된 방식으로 API를 사용하거나, 자원에 대한 직접 연결이나 네트워크 소켓을 통한 직접호출과 같은 인터페이스를 사용하면 보안에 위협을 줄 수 있음
✅ 보안문제로 금지된 함수는 안전한 함수로 대체하고, API 메뉴얼을 참고하여 보안이 보장되는 인터페이스를 사용함으로써 방지
728x90
반응형