
253
18
장
안전한 애플리케이션 아키텍처
안전한 애플리케이션 아키텍처
CHAPTER
18
웹 애플리케이션을 보호하는 첫걸음은 아키텍처 단계에서 시작한다.
제품을 개발할 때 소프트웨어 공학자와 제품 관리자로 구성된 교차 기능
cross
-
functional
팀은 매우
구체적인 사업적 목표를 효율적으로 달성하는 기술적 모델을 찾기 위해 협업한다. 소프트웨어
공학에서 아키텍트의 역할은 모듈을 고수준에서 설계하고 모듈들이 서로 통신하는 최선의 방
식을 평가하는 것이다. 이것은 데이터를 저장하는 최선의 방식이 무엇인지, 어느 서드파티 의
존성에 기댈 것인지, 코드베이스에 어떤 프로그래밍 패러다임을 주로 적용할 것인지와 같은 결
정으로 이어질 수 있다.
건축 설계와 마찬가지로 소프트웨어 아키텍처는 상당한 위험이 따르는 정교한 과정이다. 일단
구축된 애플리케이션에 대한 재설계와 리팩터링은 비용이 많이 소요되는 과정이기 때문이다.
보안 아키텍처는 소프트웨어 또는 건축 아키텍처와 비슷한 위험 프로파일을 포함한다. 주의 깊
은 계획과 평가를 통해 취약점을 아키텍처 단계에서 쉽게 방지할 수 있는 경우가 종종 있다. 하
지만 계획성이 부족하면 애플리케이션 코드의 재설계와 리팩터링이 필요하다. 그래서 사업적
으로 큰 비용을 치르곤 한다.
NIST
는 유명한 웹 애플리케이션들에 대한 조사를 바탕으로 ...