271
19
장
보안 코드 리뷰
1
.
클라이언트 측 코드를 평가해 비즈니스 로직을 이해하고 사용자가 사용할 수 있는 기능
을 이해한다.
2
.
클라이언트 리뷰를 통해 얻은 지식을 바탕으로
API
계층을 평가하며 특히 클라이언트 리
뷰에서 찾아낸
API
를 위주로 한다. 이 과정에서
API
계층이 기능을 위해 무엇에 의존하
지 잘 이해할 수 있다.
3
.
API
계층에서 의존성을 추적해 데이터베이스, 헬퍼 라이브러리, 로깅 함수 등을 주의 깊
게 리뷰한다. 이 과정을 통해 사용자가 접하는 기능성을 대부분 다룰 수 있다.
4
.
클라이언트에 연결된
API
구조에 대한 지식을 사용해 의도치 않게 노출되었거나 향후에
릴리스할 의도로 외부에 공개된
API
를 찾으려고 시도한다. 그런 것을 찾았으면 리뷰한다.
5
.
코드베이스의 나머지 부분을 리뷰한다. 이 시점에는 이 작업이 아주 쉬울 것이다. 애플리
케이션 아키텍처를 무턱대고 조사한 것이 아니라 조직적인 방법으로 코드베이스를 들여
다보고 친숙해졌기 때문이다.
이 방법은 보안 리뷰를 할 때뿐만 아니라 특별한 보안 요구사항이 있어 별도 리뷰 경로가 필요
한 애플리케이션에도 적용할 수 있다. 하지만 이 경로를 제안하는 이유는 조직적인 접근을 통
해 애플리케이션을 파악할 수 있으며 사용자가 접하는 기능을 우선으로 하고 위험도가 낮은 기
능은 나중으로 미뤄둘 수 있기 때문이다.
보안 코드 리뷰 과정과 리뷰 대상 애플리케이션에 익숙해짐에 따라 애플리케이션과 그 위험도
에 따라 이러한 지침을 적절히 수정해 적용할 수 있을 것이다.