패스잇
보안 · 심화

안전하지 않은 역직렬화(A08:2021-Software and Data Integrity Failures의 일부) 취약점이 애플리케이션에 미치는 심각한 영향에 대해 설명하고, 이를 방지하기 위한 실제 개발 환경에서의 효과적인 코딩 가이드라인 및 아키텍처적 방어 전략을 제시해 주십시오.

힌트 · 신뢰할 수 없는 소스의 데이터 역직렬화 금지, 화이트리스트 기반 클래스 제한, 서명된/암호화된 데이터 사용, 최신 라이브러리 활용을 고려해야 합니다.

역직렬화객체 그래프코드 실행화이트리스트데이터 무결성

모범답안

면접관님, 안전하지 않은 역직렬화는 애플리케이션에 매우 심각한 영향을 미칠 수 있습니다. 역직렬화 과정에서 악의적인 객체가 생성되어 임의 코드 실행으로 이어질 수 있기 때문입니다. 공격자는 이를 통해 시스템을 완전히 장악할 수도 있습니다.

이를 방지하기 위해 몇 가지 효과적인 방법을 적용할 수 있습니다. 첫째, 신뢰할 수 없는 소스에서 받은 데이터를 역직렬화하는 것을 원칙적으로 금지해야 합니다. 둘째, 역직렬화가 필요한 경우, 허용되는 클래스 목록(화이트리스트)을 엄격하게 관리하여 악성 객체 생성을 차단해야 합니다. 셋째, 데이터 무결성을 보장하기 위해 역직렬화되는 데이터를 서명하거나 암호화하여 변조를 방지할 수 있습니다. 마지막으로, 역직렬화 관련 취약점이 해결된 최신 라이브러리를 사용하는 것이 중요합니다. 이러한 조치들을 통해 안전한 애플리케이션을 개발할 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 OWASP / 취약점 면접 질문

← OWASP / 취약점 면접 질문 전체 보기