269
19
장
보안 코드 리뷰
기능성
●
사용자, 멤버, 조정자는 텍스트를 게시할 수 있다.
●
멤버와 조정자는 영상, 게임, 이미지를 게시할 수 있다.
●
조정자는 사용자를 멤버로 승격하는 것과 같은 조정 기능을 사용할 수 있다.
사업적 영향
●
영상, 게임, 이미지를 호스팅하는 데에는 비용이 많이 든다.
●
멤버십에는 무임승차와 봇으로 인한 위험이 따른다 (저장/대역폭 비용 상승 ).
전형적 취약점의 예로 사용자가 올린 게시물에
XSS
가 있을 수 있다. 특정
API
엔드포인트가
부적절하게 코딩되어 사용자가 조정자를 통해 멤버 기능을 얻지 못했음에도 불구하고 영상을
게시하기 위해
isMember
:
true
페이로드를 보내는 것을 허용하는 것과 같은 커스텀 논리 취
약점이 있을 수 있다.
코드 리뷰에서는 전형적 취약점을 찾는 동시에 애플리케이션의 맥락에 대한 깊은 이해가 필요
한 커스텀 논리 취약점을 찾는 시도도 한다.
19.3
보안 리뷰 시작 위치
코드 리뷰는 애플리케이션에서 가장 위험한 컴포넌트부터 시작하는 것이 이상적이다. 하지만
설계에 관여하지 않은 애플리케이션에 대한 보안 리뷰를 요청받았다면 컴포넌트가 무엇인지
인지하지 못할 수 있다. 컨설팅을 하거나 기존 제품에 대해 리뷰를 할 때 이런 일이 흔하다.
따라서 여기서는 보안 코드 리뷰 과정을 단순화하고 보안 리뷰의 시작을 돕는 프레임워크를 제
안하고자 한다. 애플리케이션과 충분히 친숙해질 때까지 이 프레임워크를 이용해 위험도를 근
거로 애플리케이션 기능 평가에 착수할 수 있다.
두 컴포넌트로 ...