Coders Conquer Security OWASP Top 10 API 시리즈 - 과도한 데이터 노출

과도한 데이터 노출 취약점은 매우 구체적인 유형의 데이터를 다룬다는 점에서 OWASP 목록의 다른 API 문제들과 구별됩니다. 이 취약점의 실제 작동 방식은 다른 취약점들과 유사하지만, 이 경우 과도한 데이터 노출은 법적으로 보호받거나 매우 민감한 데이터를 포함하는 것으로 정의됩니다. 여기에는 흔히 PII라고 불리는 개인 식별 정보가 포함될 수 있습니다. 또는 결제 카드 산업 정보인 PCI와 관련될 수도 있습니다. 마지막으로, 과도한 데이터 노출에는 유럽의 일반 데이터 보호 규정(GDPR)이나 미국의 건강 보험 이동성 및 책임법(HIPAA)과 같이 개인정보 보호법의 적용을 받는 모든 정보가 포함될 수 있습니다.
짐작하시겠지만, 이는 매우 우려스러운 문제이며 유능한 개발자라면 가능한 한 이러한 버그를 해결하는 방법을 반드시 익혀야 합니다. 데이터 노출이라는 난관을 헤쳐 나갈 준비가 되셨다면, 저희의 게임화된 챌린지에 도전해 보세요:
점수는 몇 점이었나요? 계속 읽으며 더 자세히 알아보세요:
과도한 데이터 노출의 예로는 어떤 것들이 있을까요?
과도한 데이터 노출이 발생하는 주된 이유 중 하나는 개발자와 코더들이 애플리케이션에서 사용하는 데이터의 종류를 충분히 파악하지 못하기 때문입니다. 이로 인해 개발자들은 모든 객체 속성을 최종 사용자에게 노출하는 일반적인 프로세스를 사용하는 경향이 있습니다.
또한 개발자들은 때때로 프론트엔드 구성 요소가 사용자에게 정보를 표시하기 전에 데이터를 필터링할 것이라고 가정하기도 합니다. 대부분의 일반적인 데이터의 경우 이는 거의 문제가 되지 않습니다. 하지만 예를 들어 세션 ID의 일부로 법적으로 보호받거나 민감한 데이터를 사용자에게 노출하는 것은 보안 및 법적 관점에서 큰 문제를 야기할 수 있습니다.
민감한 데이터가 얼마나 쉽게 의도치 않게 공유될 수 있는지 보여주는 예로, OWASP 보고서는 보안 요원이 시설 내 특정 IoT 기반 카메라에 접근 권한을 부여받는 시나리오를 제시합니다. 아마도 그 카메라는 봉인되고 보안이 유지된 구역을 감시하고 있을 수 있지만, 사람을 비추는 다른 카메라는 더 높은 권한을 가진 요원이나 관리자에게만 제한되어야 할 것입니다.
요원에게 승인된 카메라에 대한 접근 권한을 부여하기 위해 개발자는 다음과 같은 API 호출을 사용할 수 있습니다.
/api/sites/111/cameras
이에 대한 응답으로 앱은 요원이 볼 수 있는 카메라에 대한 세부 정보를 다음 형식으로 전송합니다:
{ "id":"xxx","live_access_token":"xxxxbbbbb","building_id":"yyy"}
표면적으로는 이것이 잘 작동하는 것처럼 보일 것입니다. 앱의 그래픽 사용자 인터페이스를 사용하는 요원은 자신이 볼 권한이 있는 카메라 피드만 보게 됩니다. 문제는 사용된 일반적인 코드 때문에 실제 API 응답에는 시설 전체의 모든 카메라 목록이 포함된다는 점입니다. 네트워크를 스니핑하여 해당 데이터를 캡처하거나 요원의 계정을 탈취한 사람은 누구나 네트워크에 있는 모든 카메라의 위치와 명칭을 알아낼 수 있습니다. 그러면 그들은 제한 없이 해당 데이터에 접근할 수 있게 됩니다.
과도한 데이터 노출 제거하기
과도한 데이터 노출을 방지하는 가장 중요한 열쇠는 데이터와 그 데이터를 둘러싼 보호 조치를 이해하는 것입니다. 일반적인 API를 만들고 사용자에게 표시하기 전에 데이터를 분류하는 작업을 클라이언트에게 맡기는 것은 많은 예방 가능한 보안 침해로 이어지는 위험한 선택입니다.
관련 데이터 보호 조치를 이해하는 것 외에도, 일반적인 API를 사용하여 모든 것을 사용자에게 전송하는 프로세스를 중단하는 것도 중요합니다. 예를 들어, to_json() 및 to_string()과 같은 코드는 피해야 합니다. 대신, 코드는 승인된 사용자에게 반환해야 하는 속성을 구체적으로 선택하여 해당 정보만 전송해야 합니다.
보호된 데이터가 실수로 과도하게 공유되지 않도록 하기 위해, 조직은 추가적인 보안 계층으로 스키마 기반 응답 검증 메커니즘을 구현하는 것을 고려해야 합니다. 이는 오류 보고 규칙을 포함하여 모든 API 메서드에 의해 반환되는 데이터를 정의하고 강제해야 합니다.
마지막으로, PII나 PCI를 포함하는 것으로 분류된 모든 데이터 또는 GDPR이나 HIPAA와 같은 규정에 의해 보호되는 정보는 강력한 암호화를 사용하여 보호해야 합니다. 그렇게 하면 과도한 데이터 노출 취약점으로 인해 해당 데이터의 위치가 유출되더라도, 악의적인 사용자나 위협 행위자의 손에 데이터가 넘어가더라도 데이터를 보호할 수 있는 훌륭한 2차 방어선이 마련될 것입니다.
이 취약점에 대한 더 많은 통찰력과 다른 보안 결함의 피해로부터 조직과 고객을 보호하는 방법에 대해 알아보려면 Secure Code Warrior 블로그 페이지를 확인하세요. 또한 데모를 체험하여 Secure Code Warrior 교육 플랫폼을 통해 모든 사이버 보안 기술을 연마하고 최신 상태로 유지할 수 있습니다.
배포 전 AI 기반 개발 거버넌스 확보
AI 기반 위험을 측정하고, 커밋 시점에 보안 코딩 정책을 적용하며, SDLC 전반에 걸쳐 안전한 소프트웨어 제공 속도를 높이세요.
더 많은 블로그 살펴보기
보안 코딩, AI 거버넌스, 소프트웨어 리스크 관리에 관한 전문가 콘텐츠를 확인해 보세요.
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed
배포 전 AI 기반 개발 보안 확보
소프트웨어 개발 수명 주기 전반에서 개발자 리스크를 파악하고, 정책을 시행하며, 취약점을 예방하세요.



.avif)