247
17
장
현대 웹 애플리케이션 보안
17.2
완전한 코드 리뷰
이미 보안 아키텍처로 평가한 웹 애플리케이션을 실제로 작성하는 과정에서 다음으로 할 일은
코드베이스에 릴리스하기 전에 각 커밋을 주의 깊게 평가하는 것이다. 대부분의 회사는 이미
품질 보증 개선, 기술 부채 감소, 쉽게 발견할 수 있는 프로그래밍 실수 제거를 위해 코드 리뷰
를 의무적으로 거친다.
코드 리뷰는 릴리스된 코드가 보안 표준에 부합하는지 확인하는 데도 중요한 절차다. 이해의
충돌을 줄이기 위해, 소스 코드 버전 제어에 대한 커밋은 커미터가 속한 팀원뿐 아니라 관련
(특히 보안과 관계된 ) 팀도 리뷰해야 한다.
커밋에 대한 코드 리뷰 수준에서 보안 허점을 찾는 것은 생각보다 쉽다. 주로 살펴볼 점은 다음
과 같다.
●
데이터를
A
지점에서
B
지점으로 어떻게 전송하는가 (일반적으로 네트워크를 통해 특정
포맷으로 전송함 )?
●
데이터를 어떻게 저장하는가?
●
데이터가 클라이언트가 도착하면 사용자에게 어떻게 표현되는가?
●
데이터가 서버에 도착하면 어떤 조작이 발생하며 어떻게 저장되는가?
이후의 내용들에서 좀 더 구체적인 보안 코드 리뷰 방법을 평가하겠지만 보안을 위한 리뷰를
시작하는 누구나 이러한 체크리스트를 기초로 삼을 수 있다.
17.3
취약점 탐색
조직 및 코드베이스가 코드 작성 이전 (아키텍처 )과 개발 과정 (코드 리뷰 )에서 보안 평가 단계
를 이미 거쳤다고 가정하면 다음 단계는 코드 리뷰 과정에서 찾기 힘든(또는 놓친) 버그의 결
과로 발생하는 코드의 취약점을 ...