이 강의에서는 Java의 이진 직렬화가 가지는 위험을 다룹니다. 신뢰할 수 없는 소스에서의 역직렬화가 왜 위험한지(“가젯 체인”, RCE),
readObject 및
readResolve 같은 특수 메서드가 어떤 문제를 일으킬 수 있는지, 그리고 어떻게 방어할지(허용 목록(whitelisting),
JSON/
XML로의 전환,
Jackson 같은 안전한 라이브러리) 등을 설명합니다. 또한 클래스 버전 호환성과
serialVersionUID의 역할,
InvalidClassException 발생 시 동작,
transient/
static의 제약, 성능, 모범 사례와 흔한 실수까지 자세히 살펴봅니다.